ludic/selfhost/ludicc.seed.ll
Orkuncakilkaya 4eef5ebbce
All checks were successful
bootstrap / cfree-fixpoint (push) Successful in 18s
ci / build-and-test (push) Successful in 1m25s
commit-lint / conventional-commits (push) Successful in 5s
docs / build-and-deploy (push) Successful in 20s
feat(audio): Audio.* standard library over a native AVAudioPlayer backend (#22)
Adds the Audio.* namespace and its platform backend, the audio subsystem #22 was
blocked on.

- runtime/native/audio.ll: the macOS backend, AVAudioPlayer driven through the
  objc runtime C ABI (no ObjC/C source), same style as cocoa.ll — snd_load /
  play / stop / playing / set_volume / set_rate. Spliced and linked with
  AVFoundation only when a windowed build actually uses Audio.* (needed_framework,
  since AVAudioPlayer is reached by name).
- runtime/native/audio.ludic: the Audio.* runtime — a handle table, master
  volume/pitch, a single music channel. load/play/play_sound/play_music/stop/
  stop_music/stop_all/volume/pitch/is_playing. Every native call is
  is_windowed()-guarded, so a headless build carries the API as no-ops (load
  returns 0, is_playing false) and needs no audio device.
- compiler: Audio.* namespace dispatch, g_uses_audio splice, snd_* intrinsics +
  declarations, and the conditional AVFoundation link in both the canonical
  (main.ludic) and dev-runner (x app) paths.
- docs: a full docs/language/audio section (10 method pages); check-impl green.
- test: examples/library/audio.ludic self-asserts the headless no-op path.

Playback is out-of-band and never feeds the deterministic sim, but triggers are
frame-driven so replays fire the same sounds. Reseeded; suites green (80 + 29).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-08-31 17:52:31 +03:00

77257 lines
2.8 MiB

; Ludic (self-hosted) -> LLVM IR
declare i32 @printf(ptr, ...)
declare ptr @malloc(i64)
declare ptr @realloc(ptr, i64)
declare void @free(ptr)
declare ptr @fopen(ptr, ptr)
declare i64 @fread(ptr, i64, i64, ptr)
declare i64 @fwrite(ptr, i64, i64, ptr)
declare i32 @fseek(ptr, i64, i32)
declare i64 @ftell(ptr)
declare i32 @fclose(ptr)
declare void @exit(i32)
declare i32 @system(ptr)
declare ptr @getenv(ptr)
declare ptr @memcpy(ptr, ptr, i64)
declare ptr @memset(ptr, i32, i64)
declare i64 @strlen(ptr)
declare i32 @strncmp(ptr, ptr, i64)
declare ptr @strstr(ptr, ptr)
declare i32 @atoi(ptr)
declare i32 @getchar()
declare i32 @putchar(i32)
declare i64 @time(ptr)
declare void @win_open(i32, i32, i32, ptr)
declare i32 @win_poll()
declare void @win_present(ptr, i32, i32)
declare i32 @win_running()
declare void @win_close()
declare void @win_held(ptr)
declare void @win_mouse(ptr)
declare void @win_pad(ptr)
declare void @win_touch(ptr)
declare 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)
@__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 }
%Cmp_Tok = type { i32, ptr, i32, i32 }
%Cmp_Val = type { ptr, ptr }
@g_toks = internal global ptr null
@g_pi = internal global i32 0
@g_prog = internal global ptr null
@g_g_game_name = internal global ptr null
@g_loaded_paths = internal global ptr null
@g_cur_dir = internal global ptr null
@g_g_uses_regex = 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_reflect_io = internal global i32 0
@g_g_uses_esys = internal global i32 0
@g_g_uses_input = 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_audio = internal global i32 0
@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_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_unicodert = internal global i32 0
@g_g_uses_fsrt = internal global i32 0
@g_g_uses_datert = internal global i32 0
@g_g_uses_expect = internal global i32 0
@g_g_uses_panic = internal global i32 0
@g_g_uses_result = internal global i32 0
@g_g_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_computed = internal global ptr null
@g_g_onspawn = internal global ptr null
@g_g_ondespawn = internal global ptr null
@g_g_onattach = internal global ptr null
@g_g_ondetach = internal global ptr null
@g_g_onenable = internal global ptr null
@g_g_ondisable = internal global ptr null
@g_g_events = internal global ptr null
@g_g_onlisten = internal global ptr null
@g_g_cancel_addr = internal global ptr null
@g_g_toggled_layers = internal global ptr null
@g_g_addr_ty = internal global ptr null
@g_g_intrin_ok = internal global i32 0
@g_g_windowed = internal global i32 0
@g_g_iok = internal global i32 0
@g_g_snap_mode = internal global ptr null
@g_g_off = internal global ptr null
@g_g_uses_loopback = internal global i32 0
@g_uiw = internal global ptr null
@g_uiw_parent = internal global ptr null
@g_ui_roots = internal global ptr null
@.str0 = private unnamed_addr constant [3 x i8] c"rb\00"
@.str1 = private unnamed_addr constant [28 x i8] c"ludicc(self): parse error: \00"
@.str2 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str3 = private unnamed_addr constant [20 x i8] c"expected identifier\00"
@.str4 = private unnamed_addr constant [2 x i8] c"[\00"
@.str5 = private unnamed_addr constant [2 x i8] c"]\00"
@.str6 = private unnamed_addr constant [2 x i8] c"(\00"
@.str7 = private unnamed_addr constant [2 x i8] c")\00"
@.str8 = private unnamed_addr constant [2 x i8] c":\00"
@.str9 = private unnamed_addr constant [2 x i8] c":\00"
@.str10 = private unnamed_addr constant [2 x i8] c",\00"
@.str11 = private unnamed_addr constant [2 x i8] c")\00"
@.str12 = private unnamed_addr constant [2 x i8] c"+\00"
@.str13 = private unnamed_addr constant [7 x i8] c"string\00"
@.str14 = private unnamed_addr constant [2 x i8] c"(\00"
@.str15 = private unnamed_addr constant [2 x i8] c")\00"
@.str16 = private unnamed_addr constant [2 x i8] c":\00"
@.str17 = private unnamed_addr constant [2 x i8] c",\00"
@.str18 = private unnamed_addr constant [2 x i8] c")\00"
@.str19 = private unnamed_addr constant [5 x i8] c"emit\00"
@.str20 = private unnamed_addr constant [5 x i8] c"true\00"
@.str21 = private unnamed_addr constant [6 x i8] c"false\00"
@.str22 = private unnamed_addr constant [5 x i8] c"null\00"
@.str23 = private unnamed_addr constant [4 x i8] c"new\00"
@.str24 = private unnamed_addr constant [2 x i8] c"{\00"
@.str25 = private unnamed_addr constant [4 x i8] c"try\00"
@.str26 = private unnamed_addr constant [5 x i8] c"else\00"
@.str27 = private unnamed_addr constant [37 x i8] c"try needs an `else { ... }` fallback\00"
@.str28 = private unnamed_addr constant [2 x i8] c"(\00"
@.str29 = private unnamed_addr constant [2 x i8] c")\00"
@.str30 = private unnamed_addr constant [20 x i8] c"expected expression\00"
@.str31 = private unnamed_addr constant [2 x i8] c".\00"
@.str32 = private unnamed_addr constant [6 x i8] c"Regex\00"
@.str33 = private unnamed_addr constant [6 x i8] c"Query\00"
@.str34 = private unnamed_addr constant [8 x i8] c"Reflect\00"
@.str35 = private unnamed_addr constant [6 x i8] c"Light\00"
@.str36 = private unnamed_addr constant [6 x i8] c"Value\00"
@.str37 = private unnamed_addr constant [5 x i8] c"Json\00"
@.str38 = private unnamed_addr constant [8 x i8] c"Reflect\00"
@.str39 = private unnamed_addr constant [10 x i8] c"serialize\00"
@.str40 = private unnamed_addr constant [6 x i8] c"apply\00"
@.str41 = private unnamed_addr constant [6 x i8] c"Input\00"
@.str42 = private unnamed_addr constant [5 x i8] c"bind\00"
@.str43 = private unnamed_addr constant [7 x i8] c"rebind\00"
@.str44 = private unnamed_addr constant [5 x i8] c"poll\00"
@.str45 = private unnamed_addr constant [5 x i8] c"down\00"
@.str46 = private unnamed_addr constant [8 x i8] c"pressed\00"
@.str47 = private unnamed_addr constant [7 x i8] c"record\00"
@.str48 = private unnamed_addr constant [7 x i8] c"replay\00"
@.str49 = private unnamed_addr constant [6 x i8] c"Input\00"
@.str50 = private unnamed_addr constant [9 x i8] c"key_down\00"
@.str51 = private unnamed_addr constant [12 x i8] c"key_pressed\00"
@.str52 = private unnamed_addr constant [13 x i8] c"key_released\00"
@.str53 = private unnamed_addr constant [6 x i8] c"press\00"
@.str54 = private unnamed_addr constant [8 x i8] c"release\00"
@.str55 = private unnamed_addr constant [5 x i8] c"axis\00"
@.str56 = private unnamed_addr constant [7 x i8] c"vector\00"
@.str57 = private unnamed_addr constant [9 x i8] c"strength\00"
@.str58 = private unnamed_addr constant [8 x i8] c"mouse_x\00"
@.str59 = private unnamed_addr constant [8 x i8] c"mouse_y\00"
@.str60 = private unnamed_addr constant [9 x i8] c"mouse_dx\00"
@.str61 = private unnamed_addr constant [9 x i8] c"mouse_dy\00"
@.str62 = private unnamed_addr constant [11 x i8] c"mouse_down\00"
@.str63 = private unnamed_addr constant [6 x i8] c"wheel\00"
@.str64 = private unnamed_addr constant [10 x i8] c"set_mouse\00"
@.str65 = private unnamed_addr constant [14 x i8] c"pad_connected\00"
@.str66 = private unnamed_addr constant [11 x i8] c"pad_button\00"
@.str67 = private unnamed_addr constant [9 x i8] c"pad_axis\00"
@.str68 = private unnamed_addr constant [8 x i8] c"set_pad\00"
@.str69 = private unnamed_addr constant [12 x i8] c"touch_count\00"
@.str70 = private unnamed_addr constant [8 x i8] c"touch_x\00"
@.str71 = private unnamed_addr constant [8 x i8] c"touch_y\00"
@.str72 = private unnamed_addr constant [10 x i8] c"set_touch\00"
@.str73 = private unnamed_addr constant [5 x i8] c"Anim\00"
@.str74 = private unnamed_addr constant [5 x i8] c"play\00"
@.str75 = private unnamed_addr constant [5 x i8] c"clip\00"
@.str76 = private unnamed_addr constant [9 x i8] c"on_frame\00"
@.str77 = private unnamed_addr constant [6 x i8] c"fired\00"
@.str78 = private unnamed_addr constant [7 x i8] c"Motion\00"
@.str79 = private unnamed_addr constant [3 x i8] c"to\00"
@.str80 = private unnamed_addr constant [6 x i8] c"Audio\00"
@.str81 = private unnamed_addr constant [6 x i8] c"Tween\00"
@.str82 = private unnamed_addr constant [3 x i8] c"to\00"
@.str83 = private unnamed_addr constant [6 x i8] c"chain\00"
@.str84 = private unnamed_addr constant [6 x i8] c"delay\00"
@.str85 = private unnamed_addr constant [6 x i8] c"value\00"
@.str86 = private unnamed_addr constant [5 x i8] c"stop\00"
@.str87 = private unnamed_addr constant [9 x i8] c"parallel\00"
@.str88 = private unnamed_addr constant [2 x i8] c"[\00"
@.str89 = private unnamed_addr constant [3 x i8] c"..\00"
@.str90 = private unnamed_addr constant [2 x i8] c"]\00"
@.str91 = private unnamed_addr constant [2 x i8] c"]\00"
@.str92 = private unnamed_addr constant [2 x i8] c"(\00"
@.str93 = private unnamed_addr constant [2 x i8] c"-\00"
@.str94 = private unnamed_addr constant [2 x i8] c"-\00"
@.str95 = private unnamed_addr constant [2 x i8] c"~\00"
@.str96 = private unnamed_addr constant [2 x i8] c"~\00"
@.str97 = private unnamed_addr constant [4 x i8] c"not\00"
@.str98 = private unnamed_addr constant [4 x i8] c"not\00"
@.str99 = private unnamed_addr constant [2 x i8] c"*\00"
@.str100 = private unnamed_addr constant [2 x i8] c"/\00"
@.str101 = private unnamed_addr constant [2 x i8] c"%\00"
@.str102 = private unnamed_addr constant [3 x i8] c"<<\00"
@.str103 = private unnamed_addr constant [3 x i8] c">>\00"
@.str104 = private unnamed_addr constant [2 x i8] c"&\00"
@.str105 = private unnamed_addr constant [2 x i8] c"+\00"
@.str106 = private unnamed_addr constant [2 x i8] c"-\00"
@.str107 = private unnamed_addr constant [2 x i8] c"|\00"
@.str108 = private unnamed_addr constant [2 x i8] c"^\00"
@.str109 = private unnamed_addr constant [2 x i8] c"<\00"
@.str110 = private unnamed_addr constant [3 x i8] c"<=\00"
@.str111 = private unnamed_addr constant [2 x i8] c">\00"
@.str112 = private unnamed_addr constant [3 x i8] c">=\00"
@.str113 = private unnamed_addr constant [3 x i8] c"==\00"
@.str114 = private unnamed_addr constant [3 x i8] c"!=\00"
@.str115 = private unnamed_addr constant [4 x i8] c"and\00"
@.str116 = private unnamed_addr constant [4 x i8] c"and\00"
@.str117 = private unnamed_addr constant [3 x i8] c"or\00"
@.str118 = private unnamed_addr constant [3 x i8] c"or\00"
@.str119 = private unnamed_addr constant [2 x i8] c"{\00"
@.str120 = private unnamed_addr constant [2 x i8] c"}\00"
@.str121 = private unnamed_addr constant [2 x i8] c":\00"
@.str122 = private unnamed_addr constant [2 x i8] c",\00"
@.str123 = private unnamed_addr constant [2 x i8] c"}\00"
@.str124 = private unnamed_addr constant [2 x i8] c"{\00"
@.str125 = private unnamed_addr constant [2 x i8] c"}\00"
@.str126 = private unnamed_addr constant [2 x i8] c"}\00"
@.str127 = private unnamed_addr constant [43 x i8] c"expected newline or ';' between statements\00"
@.str128 = private unnamed_addr constant [2 x i8] c"}\00"
@.str129 = private unnamed_addr constant [4 x i8] c"let\00"
@.str130 = private unnamed_addr constant [4 x i8] c"var\00"
@.str131 = private unnamed_addr constant [4 x i8] c"var\00"
@.str132 = private unnamed_addr constant [2 x i8] c":\00"
@.str133 = private unnamed_addr constant [2 x i8] c"=\00"
@.str134 = private unnamed_addr constant [7 x i8] c"return\00"
@.str135 = private unnamed_addr constant [2 x i8] c"}\00"
@.str136 = private unnamed_addr constant [3 x i8] c"if\00"
@.str137 = private unnamed_addr constant [5 x i8] c"else\00"
@.str138 = private unnamed_addr constant [3 x i8] c"if\00"
@.str139 = private unnamed_addr constant [6 x i8] c"while\00"
@.str140 = private unnamed_addr constant [4 x i8] c"for\00"
@.str141 = private unnamed_addr constant [2 x i8] c"(\00"
@.str142 = private unnamed_addr constant [3 x i8] c"..\00"
@.str143 = private unnamed_addr constant [6 x i8] c"spawn\00"
@.str144 = private unnamed_addr constant [8 x i8] c"machine\00"
@.str145 = private unnamed_addr constant [2 x i8] c"{\00"
@.str146 = private unnamed_addr constant [2 x i8] c"}\00"
@.str147 = private unnamed_addr constant [2 x i8] c"=\00"
@.str148 = private unnamed_addr constant [2 x i8] c"}\00"
@.str149 = private unnamed_addr constant [5 x i8] c"emit\00"
@.str150 = private unnamed_addr constant [7 x i8] c"become\00"
@.str151 = private unnamed_addr constant [8 x i8] c"despawn\00"
@.str152 = private unnamed_addr constant [7 x i8] c"enable\00"
@.str153 = private unnamed_addr constant [8 x i8] c"disable\00"
@.str154 = private unnamed_addr constant [7 x i8] c"enable\00"
@.str155 = private unnamed_addr constant [6 x i8] c"layer\00"
@.str156 = private unnamed_addr constant [6 x i8] c"layer\00"
@.str157 = private unnamed_addr constant [3 x i8] c"on\00"
@.str158 = private unnamed_addr constant [7 x i8] c"attach\00"
@.str159 = private unnamed_addr constant [3 x i8] c"on\00"
@.str160 = private unnamed_addr constant [27 x i8] c"attach needs 'on <entity>'\00"
@.str161 = private unnamed_addr constant [2 x i8] c"{\00"
@.str162 = private unnamed_addr constant [7 x i8] c"detach\00"
@.str163 = private unnamed_addr constant [3 x i8] c"on\00"
@.str164 = private unnamed_addr constant [27 x i8] c"detach needs 'on <entity>'\00"
@.str165 = private unnamed_addr constant [6 x i8] c"break\00"
@.str166 = private unnamed_addr constant [9 x i8] c"continue\00"
@.str167 = private unnamed_addr constant [7 x i8] c"cancel\00"
@.str168 = private unnamed_addr constant [6 x i8] c"match\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 [3 x i8] c"=>\00"
@.str173 = private unnamed_addr constant [2 x i8] c"{\00"
@.str174 = private unnamed_addr constant [2 x i8] c"}\00"
@.str175 = private unnamed_addr constant [2 x i8] c"=\00"
@.str176 = private unnamed_addr constant [3 x i8] c"+=\00"
@.str177 = private unnamed_addr constant [3 x i8] c"-=\00"
@.str178 = private unnamed_addr constant [3 x i8] c"*=\00"
@.str179 = private unnamed_addr constant [3 x i8] c"/=\00"
@.str180 = private unnamed_addr constant [2 x i8] c":\00"
@.str181 = private unnamed_addr constant [2 x i8] c"=\00"
@.str182 = private unnamed_addr constant [2 x i8] c":\00"
@.str183 = private unnamed_addr constant [2 x i8] c"=\00"
@.str184 = private unnamed_addr constant [2 x i8] c"(\00"
@.str185 = private unnamed_addr constant [2 x i8] c")\00"
@.str186 = private unnamed_addr constant [2 x i8] c":\00"
@.str187 = private unnamed_addr constant [2 x i8] c",\00"
@.str188 = private unnamed_addr constant [2 x i8] c")\00"
@.str189 = private unnamed_addr constant [5 x i8] c"void\00"
@.str190 = private unnamed_addr constant [3 x i8] c"->\00"
@.str191 = private unnamed_addr constant [1 x i8] c"\00"
@.str192 = private unnamed_addr constant [2 x i8] c"@\00"
@.str193 = private unnamed_addr constant [7 x i8] c"export\00"
@.str194 = private unnamed_addr constant [7 x i8] c"Public\00"
@.str195 = private unnamed_addr constant [3 x i8] c"On\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 [8 x i8] c"Queries\00"
@.str199 = private unnamed_addr constant [8 x i8] c"OnSpawn\00"
@.str200 = private unnamed_addr constant [2 x i8] c"(\00"
@.str201 = private unnamed_addr constant [2 x i8] c")\00"
@.str202 = private unnamed_addr constant [10 x i8] c"OnDespawn\00"
@.str203 = private unnamed_addr constant [2 x i8] c"(\00"
@.str204 = private unnamed_addr constant [2 x i8] c",\00"
@.str205 = private unnamed_addr constant [2 x i8] c":\00"
@.str206 = private unnamed_addr constant [2 x i8] c")\00"
@.str207 = private unnamed_addr constant [9 x i8] c"OnAttach\00"
@.str208 = private unnamed_addr constant [2 x i8] c"(\00"
@.str209 = private unnamed_addr constant [2 x i8] c")\00"
@.str210 = private unnamed_addr constant [9 x i8] c"OnDetach\00"
@.str211 = private unnamed_addr constant [2 x i8] c"(\00"
@.str212 = private unnamed_addr constant [2 x i8] c")\00"
@.str213 = private unnamed_addr constant [9 x i8] c"OnEnable\00"
@.str214 = private unnamed_addr constant [2 x i8] c"(\00"
@.str215 = private unnamed_addr constant [2 x i8] c")\00"
@.str216 = private unnamed_addr constant [10 x i8] c"OnDisable\00"
@.str217 = private unnamed_addr constant [2 x i8] c"(\00"
@.str218 = private unnamed_addr constant [2 x i8] c")\00"
@.str219 = private unnamed_addr constant [8 x i8] c"OnStart\00"
@.str220 = private unnamed_addr constant [6 x i8] c"Start\00"
@.str221 = private unnamed_addr constant [7 x i8] c"OnQuit\00"
@.str222 = private unnamed_addr constant [7 x i8] c"OnQuit\00"
@.str223 = private unnamed_addr constant [5 x i8] c"Sync\00"
@.str224 = private unnamed_addr constant [6 x i8] c"Owned\00"
@.str225 = private unnamed_addr constant [7 x i8] c"Server\00"
@.str226 = private unnamed_addr constant [7 x i8] c"server\00"
@.str227 = private unnamed_addr constant [10 x i8] c"Predicted\00"
@.str228 = private unnamed_addr constant [10 x i8] c"predicted\00"
@.str229 = private unnamed_addr constant [9 x i8] c"ToServer\00"
@.str230 = private unnamed_addr constant [9 x i8] c"toserver\00"
@.str231 = private unnamed_addr constant [10 x i8] c"ToClients\00"
@.str232 = private unnamed_addr constant [10 x i8] c"toclients\00"
@.str233 = private unnamed_addr constant [2 x i8] c"(\00"
@.str234 = private unnamed_addr constant [2 x i8] c"(\00"
@.str235 = private unnamed_addr constant [2 x i8] c")\00"
@.str236 = private unnamed_addr constant [7 x i8] c"import\00"
@.str237 = private unnamed_addr constant [29 x i8] c"expected \22path\22 after import\00"
@.str238 = private unnamed_addr constant [5 x i8] c"enum\00"
@.str239 = private unnamed_addr constant [6 x i8] c"event\00"
@.str240 = private unnamed_addr constant [9 x i8] c"property\00"
@.str241 = private unnamed_addr constant [6 x i8] c"model\00"
@.str242 = private unnamed_addr constant [6 x i8] c"scene\00"
@.str243 = private unnamed_addr constant [8 x i8] c"handler\00"
@.str244 = private unnamed_addr constant [7 x i8] c"server\00"
@.str245 = private unnamed_addr constant [7 x i8] c"model_\00"
@.str246 = private unnamed_addr constant [7 x i8] c"_spawn\00"
@.str247 = private unnamed_addr constant [7 x i8] c"model_\00"
@.str248 = private unnamed_addr constant [9 x i8] c"_despawn\00"
@.str249 = private unnamed_addr constant [6 x i8] c"prop_\00"
@.str250 = private unnamed_addr constant [8 x i8] c"_attach\00"
@.str251 = private unnamed_addr constant [6 x i8] c"prop_\00"
@.str252 = private unnamed_addr constant [8 x i8] c"_detach\00"
@.str253 = private unnamed_addr constant [6 x i8] c"prop_\00"
@.str254 = private unnamed_addr constant [8 x i8] c"_enable\00"
@.str255 = private unnamed_addr constant [6 x i8] c"prop_\00"
@.str256 = private unnamed_addr constant [9 x i8] c"_disable\00"
@.str257 = private unnamed_addr constant [6 x i8] c"Start\00"
@.str258 = private unnamed_addr constant [14 x i8] c"program_start\00"
@.str259 = private unnamed_addr constant [13 x i8] c"program_quit\00"
@.str260 = private unnamed_addr constant [3 x i8] c"ui\00"
@.str261 = private unnamed_addr constant [4 x i8] c"var\00"
@.str262 = private unnamed_addr constant [6 x i8] c"const\00"
@.str263 = private unnamed_addr constant [9 x i8] c"function\00"
@.str264 = private unnamed_addr constant [7 x i8] c"extern\00"
@.str265 = private unnamed_addr constant [6 x i8] c"entry\00"
@.str266 = private unnamed_addr constant [5 x i8] c"test\00"
@.str267 = private unnamed_addr constant [21 x i8] c"expected declaration\00"
@.str268 = private unnamed_addr constant [36 x i8] c"expected a \22name\22 string after test\00"
@.str269 = private unnamed_addr constant [20 x i8] c"cannot open import \00"
@.str270 = private unnamed_addr constant [1 x i8] c"\00"
@.str271 = private unnamed_addr constant [26 x i8] c"runtime/native/core.ludic\00"
@.str272 = private unnamed_addr constant [1 x i8] c"\00"
@.str273 = private unnamed_addr constant [27 x i8] c"runtime/native/regex.ludic\00"
@.str274 = private unnamed_addr constant [30 x i8] c"runtime/native/regex_vm.ludic\00"
@.str275 = private unnamed_addr constant [1 x i8] c"\00"
@.str276 = private unnamed_addr constant [27 x i8] c"runtime/native/query.ludic\00"
@.str277 = private unnamed_addr constant [1 x i8] c"\00"
@.str278 = private unnamed_addr constant [27 x i8] c"runtime/native/light.ludic\00"
@.str279 = private unnamed_addr constant [1 x i8] c"\00"
@.str280 = private unnamed_addr constant [27 x i8] c"runtime/native/value.ludic\00"
@.str281 = private unnamed_addr constant [1 x i8] c"\00"
@.str282 = private unnamed_addr constant [32 x i8] c"runtime/native/reflect_io.ludic\00"
@.str283 = private unnamed_addr constant [1 x i8] c"\00"
@.str284 = private unnamed_addr constant [26 x i8] c"runtime/native/core.ludic\00"
@.str285 = private unnamed_addr constant [27 x i8] c"runtime/native/input.ludic\00"
@.str286 = private unnamed_addr constant [1 x i8] c"\00"
@.str287 = private unnamed_addr constant [26 x i8] c"runtime/native/core.ludic\00"
@.str288 = private unnamed_addr constant [27 x i8] c"runtime/native/tween.ludic\00"
@.str289 = private unnamed_addr constant [1 x i8] c"\00"
@.str290 = private unnamed_addr constant [27 x i8] c"runtime/native/audio.ludic\00"
@.str291 = private unnamed_addr constant [1 x i8] c"\00"
@.str292 = private unnamed_addr constant [26 x i8] c"runtime/native/core.ludic\00"
@.str293 = private unnamed_addr constant [29 x i8] c"runtime/native/systems.ludic\00"
@.str294 = private unnamed_addr constant [1 x i8] c"\00"
@.str295 = private unnamed_addr constant [11 x i8] c"SpriteAnim\00"
@.str296 = private unnamed_addr constant [7 x i8] c"Motion\00"
@.str297 = private unnamed_addr constant [29 x i8] c"runtime/native/systems.ludic\00"
@.str298 = private unnamed_addr constant [8 x i8] c"Light2D\00"
@.str299 = private unnamed_addr constant [9 x i8] c"Occluder\00"
@.str300 = private unnamed_addr constant [27 x i8] c"runtime/native/light.ludic\00"
@.str301 = private unnamed_addr constant [35 x i8] c"runtime/native/systems_light.ludic\00"
@.str302 = private unnamed_addr constant [6 x i8] c"Ludic\00"
@.str303 = private unnamed_addr constant [7 x i8] c"import\00"
@.str304 = private unnamed_addr constant [2 x i8] c"@\00"
@.str305 = private unnamed_addr constant [2 x i8] c"(\00"
@.str306 = private unnamed_addr constant [2 x i8] c"(\00"
@.str307 = private unnamed_addr constant [2 x i8] c")\00"
@.str308 = private unnamed_addr constant [8 x i8] c"program\00"
@.str309 = private unnamed_addr constant [2 x i8] c"{\00"
@.str310 = private unnamed_addr constant [2 x i8] c"}\00"
@.str311 = private unnamed_addr constant [2 x i8] c"{\00"
@.str312 = private unnamed_addr constant [2 x i8] c"}\00"
@.str313 = private unnamed_addr constant [2 x i8] c"@\00"
@.str314 = private unnamed_addr constant [9 x i8] c"Computed\00"
@.str315 = private unnamed_addr constant [5 x i8] c"Sync\00"
@.str316 = private unnamed_addr constant [2 x i8] c":\00"
@.str317 = private unnamed_addr constant [2 x i8] c"=\00"
@.str318 = private unnamed_addr constant [2 x i8] c",\00"
@.str319 = private unnamed_addr constant [2 x i8] c"}\00"
@.str320 = private unnamed_addr constant [12 x i8] c"cancellable\00"
@.str321 = private unnamed_addr constant [2 x i8] c"{\00"
@.str322 = private unnamed_addr constant [2 x i8] c"}\00"
@.str323 = private unnamed_addr constant [2 x i8] c":\00"
@.str324 = private unnamed_addr constant [2 x i8] c"=\00"
@.str325 = private unnamed_addr constant [2 x i8] c",\00"
@.str326 = private unnamed_addr constant [2 x i8] c"}\00"
@.str327 = private unnamed_addr constant [7 x i8] c"Update\00"
@.str328 = private unnamed_addr constant [2 x i8] c"@\00"
@.str329 = private unnamed_addr constant [2 x i8] c"(\00"
@.str330 = private unnamed_addr constant [2 x i8] c"(\00"
@.str331 = private unnamed_addr constant [2 x i8] c")\00"
@.str332 = private unnamed_addr constant [6 x i8] c"phase\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 [2 x i8] c"}\00"
@.str337 = private unnamed_addr constant [2 x i8] c",\00"
@.str338 = private unnamed_addr constant [2 x i8] c"]\00"
@.str339 = private unnamed_addr constant [6 x i8] c"where\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 [6 x i8] c"query\00"
@.str345 = private unnamed_addr constant [29 x i8] c"expected 'query' in for-loop\00"
@.str346 = private unnamed_addr constant [4 x i8] c"and\00"
@.str347 = private unnamed_addr constant [2 x i8] c"(\00"
@.str348 = private unnamed_addr constant [2 x i8] c")\00"
@.str349 = private unnamed_addr constant [2 x i8] c")\00"
@.str350 = private unnamed_addr constant [2 x i8] c":\00"
@.str351 = private unnamed_addr constant [6 x i8] c"these\00"
@.str352 = private unnamed_addr constant [2 x i8] c"[\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 [2 x i8] c"]\00"
@.str358 = private unnamed_addr constant [3 x i8] c"on\00"
@.str359 = private unnamed_addr constant [2 x i8] c",\00"
@.str360 = private unnamed_addr constant [2 x i8] c")\00"
@.str361 = private unnamed_addr constant [2 x i8] c"{\00"
@.str362 = private unnamed_addr constant [2 x i8] c"}\00"
@.str363 = private unnamed_addr constant [2 x i8] c",\00"
@.str364 = private unnamed_addr constant [2 x i8] c"}\00"
@.str365 = private unnamed_addr constant [6 x i8] c"start\00"
@.str366 = private unnamed_addr constant [7 x i8] c"public\00"
@.str367 = private unnamed_addr constant [6 x i8] c"start\00"
@.str368 = private unnamed_addr constant [7 x i8] c"scene_\00"
@.str369 = private unnamed_addr constant [7 x i8] c"_enter\00"
@.str370 = private unnamed_addr constant [7 x i8] c"scene_\00"
@.str371 = private unnamed_addr constant [6 x i8] c"_exit\00"
@.str372 = private unnamed_addr constant [2 x i8] c"{\00"
@.str373 = private unnamed_addr constant [2 x i8] c"}\00"
@.str374 = private unnamed_addr constant [3 x i8] c"on\00"
@.str375 = private unnamed_addr constant [6 x i8] c"enter\00"
@.str376 = private unnamed_addr constant [5 x i8] c"exit\00"
@.str377 = private unnamed_addr constant [38 x i8] c"expected 'enter' or 'exit' after 'on'\00"
@.str378 = private unnamed_addr constant [6 x i8] c"layer\00"
@.str379 = private unnamed_addr constant [7 x i8] c"public\00"
@.str380 = private unnamed_addr constant [7 x i8] c"layer_\00"
@.str381 = private unnamed_addr constant [6 x i8] c"_show\00"
@.str382 = private unnamed_addr constant [7 x i8] c"layer_\00"
@.str383 = private unnamed_addr constant [6 x i8] c"_hide\00"
@.str384 = private unnamed_addr constant [2 x i8] c"{\00"
@.str385 = private unnamed_addr constant [2 x i8] c"}\00"
@.str386 = private unnamed_addr constant [8 x i8] c"handler\00"
@.str387 = private unnamed_addr constant [28 x i8] c"expected 'handler' in layer\00"
@.str388 = private unnamed_addr constant [2 x i8] c"}\00"
@.str389 = private unnamed_addr constant [39 x i8] c"expected 'on', 'layer' or '}' in scene\00"
@.str390 = private unnamed_addr constant [2 x i8] c"}\00"
@.str391 = private unnamed_addr constant [2 x i8] c"{\00"
@.str392 = private unnamed_addr constant [2 x i8] c"}\00"
@.str393 = private unnamed_addr constant [2 x i8] c",\00"
@.str394 = private unnamed_addr constant [2 x i8] c"}\00"
@.str395 = private unnamed_addr constant [2 x i8] c"{\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 [5 x i8] c"Sync\00"
@.str399 = private unnamed_addr constant [2 x i8] c",\00"
@.str400 = private unnamed_addr constant [2 x i8] c"}\00"
@.str401 = private unnamed_addr constant [2 x i8] c"(\00"
@.str402 = private unnamed_addr constant [2 x i8] c")\00"
@.str403 = private unnamed_addr constant [2 x i8] c":\00"
@.str404 = private unnamed_addr constant [2 x i8] c",\00"
@.str405 = private unnamed_addr constant [2 x i8] c")\00"
@.str406 = private unnamed_addr constant [5 x i8] c"void\00"
@.str407 = private unnamed_addr constant [3 x i8] c"->\00"
@.str408 = private unnamed_addr constant [2 x i8] c"=\00"
@.str409 = private unnamed_addr constant [2 x i8] c":\00"
@.str410 = private unnamed_addr constant [2 x i8] c":\00"
@.str411 = private unnamed_addr constant [2 x i8] c"{\00"
@.str412 = private unnamed_addr constant [2 x i8] c"}\00"
@.str413 = private unnamed_addr constant [2 x i8] c"}\00"
@.str414 = private unnamed_addr constant [2 x i8] c"{\00"
@.str415 = private unnamed_addr constant [2 x i8] c"}\00"
@.str416 = private unnamed_addr constant [3 x i8] c" \00"
@.str417 = private unnamed_addr constant [53 x i8] c" = getelementptr inbounds i32, ptr @L_cov_hits, i32 \00"
@.str418 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str419 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
@.str420 = private unnamed_addr constant [9 x i8] c"add i32 \00"
@.str421 = private unnamed_addr constant [4 x i8] c", 1\00"
@.str422 = private unnamed_addr constant [13 x i8] c" store i32 \00"
@.str423 = private unnamed_addr constant [7 x i8] c", ptr \00"
@.str424 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str425 = private unnamed_addr constant [3 x i8] c"%t\00"
@.str426 = private unnamed_addr constant [3 x i8] c" \00"
@.str427 = private unnamed_addr constant [11 x i8] c" = alloca \00"
@.str428 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str429 = private unnamed_addr constant [3 x i8] c"%t\00"
@.str430 = private unnamed_addr constant [4 x i8] c"int\00"
@.str431 = private unnamed_addr constant [5 x i8] c"bool\00"
@.str432 = private unnamed_addr constant [6 x i8] c"fixed\00"
@.str433 = private unnamed_addr constant [7 x i8] c"entity\00"
@.str434 = private unnamed_addr constant [4 x i8] c"i32\00"
@.str435 = private unnamed_addr constant [5 x i8] c"long\00"
@.str436 = private unnamed_addr constant [4 x i8] c"i64\00"
@.str437 = private unnamed_addr constant [7 x i8] c"Vector\00"
@.str438 = private unnamed_addr constant [4 x i8] c"i64\00"
@.str439 = private unnamed_addr constant [5 x i8] c"byte\00"
@.str440 = private unnamed_addr constant [3 x i8] c"i8\00"
@.str441 = private unnamed_addr constant [6 x i8] c"words\00"
@.str442 = private unnamed_addr constant [7 x i8] c"fixeds\00"
@.str443 = private unnamed_addr constant [9 x i8] c"pointers\00"
@.str444 = private unnamed_addr constant [4 x i8] c"ptr\00"
@.str445 = private unnamed_addr constant [5 x i8] c"void\00"
@.str446 = private unnamed_addr constant [5 x i8] c"void\00"
@.str447 = private unnamed_addr constant [4 x i8] c"ptr\00"
@.str448 = private unnamed_addr constant [6 x i8] c"%Cmp_\00"
@.str449 = private unnamed_addr constant [4 x i8] c"int\00"
@.str450 = private unnamed_addr constant [10 x i8] c"EndReason\00"
@.str451 = private unnamed_addr constant [10 x i8] c"Despawned\00"
@.str452 = private unnamed_addr constant [10 x i8] c"SceneExit\00"
@.str453 = private unnamed_addr constant [5 x i8] c"Quit\00"
@.str454 = private unnamed_addr constant [2 x i8] c".\00"
@.str455 = private unnamed_addr constant [2 x i8] c".\00"
@.str456 = private unnamed_addr constant [7 x i8] c"entity\00"
@.str457 = private unnamed_addr constant [4 x i8] c"int\00"
@.str458 = private unnamed_addr constant [7 x i8] c"reason\00"
@.str459 = private unnamed_addr constant [4 x i8] c"int\00"
@.str460 = private unnamed_addr constant [6 x i8] c"@.str\00"
@.str461 = private unnamed_addr constant [35 x i8] c" = private unnamed_addr constant [\00"
@.str462 = private unnamed_addr constant [10 x i8] c" x i8] c\22\00"
@.str463 = private unnamed_addr constant [6 x i8] c"\5C00\22\0A\00"
@.str464 = private unnamed_addr constant [4 x i8] c"ptr\00"
@.str465 = private unnamed_addr constant [5 x i8] c"null\00"
@.str466 = private unnamed_addr constant [2 x i8] c"0\00"
@.str467 = private unnamed_addr constant [2 x i8] c"-\00"
@.str468 = private unnamed_addr constant [2 x i8] c"-\00"
@.str469 = private unnamed_addr constant [4 x i8] c"ptr\00"
@.str470 = private unnamed_addr constant [5 x i8] c"null\00"
@.str471 = private unnamed_addr constant [2 x i8] c"0\00"
@.str472 = private unnamed_addr constant [34 x i8] c"; Ludic (self-hosted) -> LLVM IR\0A\00"
@.str473 = private unnamed_addr constant [31 x i8] c"declare i32 @printf(ptr, ...)\0A\00"
@.str474 = private unnamed_addr constant [26 x i8] c"declare ptr @malloc(i64)\0A\00"
@.str475 = private unnamed_addr constant [32 x i8] c"declare ptr @realloc(ptr, i64)\0A\00"
@.str476 = private unnamed_addr constant [25 x i8] c"declare void @free(ptr)\0A\00"
@.str477 = private unnamed_addr constant [30 x i8] c"declare ptr @fopen(ptr, ptr)\0A\00"
@.str478 = private unnamed_addr constant [40 x i8] c"declare i64 @fread(ptr, i64, i64, ptr)\0A\00"
@.str479 = private unnamed_addr constant [41 x i8] c"declare i64 @fwrite(ptr, i64, i64, ptr)\0A\00"
@.str480 = private unnamed_addr constant [35 x i8] c"declare i32 @fseek(ptr, i64, i32)\0A\00"
@.str481 = private unnamed_addr constant [25 x i8] c"declare i64 @ftell(ptr)\0A\00"
@.str482 = private unnamed_addr constant [26 x i8] c"declare i32 @fclose(ptr)\0A\00"
@.str483 = private unnamed_addr constant [25 x i8] c"declare void @exit(i32)\0A\00"
@.str484 = private unnamed_addr constant [26 x i8] c"declare i32 @system(ptr)\0A\00"
@.str485 = private unnamed_addr constant [26 x i8] c"declare ptr @getenv(ptr)\0A\00"
@.str486 = private unnamed_addr constant [36 x i8] c"declare ptr @memcpy(ptr, ptr, i64)\0A\00"
@.str487 = private unnamed_addr constant [36 x i8] c"declare ptr @memset(ptr, i32, i64)\0A\00"
@.str488 = private unnamed_addr constant [26 x i8] c"declare i64 @strlen(ptr)\0A\00"
@.str489 = private unnamed_addr constant [37 x i8] c"declare i32 @strncmp(ptr, ptr, i64)\0A\00"
@.str490 = private unnamed_addr constant [31 x i8] c"declare ptr @strstr(ptr, ptr)\0A\00"
@.str491 = private unnamed_addr constant [24 x i8] c"declare i32 @atoi(ptr)\0A\00"
@.str492 = private unnamed_addr constant [24 x i8] c"declare i32 @getchar()\0A\00"
@.str493 = private unnamed_addr constant [27 x i8] c"declare i32 @putchar(i32)\0A\00"
@.str494 = private unnamed_addr constant [24 x i8] c"declare i64 @time(ptr)\0A\00"
@.str495 = private unnamed_addr constant [44 x i8] c"declare void @win_open(i32, i32, i32, ptr)\0A\00"
@.str496 = private unnamed_addr constant [25 x i8] c"declare i32 @win_poll()\0A\00"
@.str497 = private unnamed_addr constant [42 x i8] c"declare void @win_present(ptr, i32, i32)\0A\00"
@.str498 = private unnamed_addr constant [28 x i8] c"declare i32 @win_running()\0A\00"
@.str499 = private unnamed_addr constant [27 x i8] c"declare void @win_close()\0A\00"
@.str500 = private unnamed_addr constant [29 x i8] c"declare void @win_held(ptr)\0A\00"
@.str501 = private unnamed_addr constant [30 x i8] c"declare void @win_mouse(ptr)\0A\00"
@.str502 = private unnamed_addr constant [28 x i8] c"declare void @win_pad(ptr)\0A\00"
@.str503 = private unnamed_addr constant [30 x i8] c"declare void @win_touch(ptr)\0A\00"
@.str504 = private unnamed_addr constant [28 x i8] c"declare ptr @snd_load(ptr)\0A\00"
@.str505 = private unnamed_addr constant [44 x i8] c"declare void @snd_play(ptr, i32, i32, i32)\0A\00"
@.str506 = private unnamed_addr constant [29 x i8] c"declare void @snd_stop(ptr)\0A\00"
@.str507 = private unnamed_addr constant [31 x i8] c"declare i32 @snd_playing(ptr)\0A\00"
@.str508 = private unnamed_addr constant [40 x i8] c"declare void @snd_set_volume(ptr, i32)\0A\00"
@.str509 = private unnamed_addr constant [38 x i8] c"declare void @snd_set_rate(ptr, i32)\0A\00"
@.str510 = private unnamed_addr constant [34 x i8] c"@__stderrp = external global ptr\0A\00"
@.str511 = private unnamed_addr constant [34 x i8] c"@__stdoutp = external global ptr\0A\00"
@.str512 = 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"
@.str513 = 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"
@.str514 = 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"
@.str515 = private unnamed_addr constant [33 x i8] c"@L_argc = internal global i32 0\0A\00"
@.str516 = private unnamed_addr constant [36 x i8] c"@L_argv = internal global ptr null\0A\00"
@.str517 = private unnamed_addr constant [34 x i8] c"@L_clock = internal global i32 0\0A\00"
@.str518 = private unnamed_addr constant [46 x i8] c"@.gametitle = private unnamed_addr constant [\00"
@.str519 = private unnamed_addr constant [10 x i8] c" x i8] c\22\00"
@.str520 = private unnamed_addr constant [6 x i8] c"\5C00\22\0A\00"
@.str521 = private unnamed_addr constant [34 x i8] c"%LSlice = type { ptr, i32, i32 }\0A\00"
@.str522 = private unnamed_addr constant [11 x i8] c" = type { \00"
@.str523 = private unnamed_addr constant [4 x i8] c"i32\00"
@.str524 = private unnamed_addr constant [3 x i8] c", \00"
@.str525 = private unnamed_addr constant [4 x i8] c" }\0A\00"
@.str526 = private unnamed_addr constant [4 x i8] c"@g_\00"
@.str527 = private unnamed_addr constant [20 x i8] c" = internal global \00"
@.str528 = private unnamed_addr constant [2 x i8] c" \00"
@.str529 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str530 = private unnamed_addr constant [9 x i8] c"declare \00"
@.str531 = private unnamed_addr constant [3 x i8] c" @\00"
@.str532 = private unnamed_addr constant [2 x i8] c"(\00"
@.str533 = private unnamed_addr constant [3 x i8] c", \00"
@.str534 = private unnamed_addr constant [3 x i8] c")\0A\00"
@.str535 = private unnamed_addr constant [41 x i8] c"define i32 @fn_str_eq(ptr %a, ptr %b) {\0A\00"
@.str536 = private unnamed_addr constant [25 x i8] c"entry:\0A br label %loop\0A\00"
@.str537 = private unnamed_addr constant [52 x i8] c"loop:\0A %i = phi i32 [ 0, %entry ], [ %i1, %cont ]\0A\00"
@.str538 = private unnamed_addr constant [51 x i8] c" %pa = getelementptr inbounds i8, ptr %a, i32 %i\0A\00"
@.str539 = private unnamed_addr constant [51 x i8] c" %pb = getelementptr inbounds i8, ptr %b, i32 %i\0A\00"
@.str540 = private unnamed_addr constant [51 x i8] c" %ca = load i8, ptr %pa\0A %cb = load i8, ptr %pb\0A\00"
@.str541 = private unnamed_addr constant [66 x i8] c" %df = icmp ne i8 %ca, %cb\0A br i1 %df, label %ret0, label %chk\0A\00"
@.str542 = 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"
@.str543 = private unnamed_addr constant [46 x i8] c"cont:\0A %i1 = add i32 %i, 1\0A br label %loop\0A\00"
@.str544 = private unnamed_addr constant [39 x i8] c"ret1:\0A ret i32 1\0Aret0:\0A ret i32 0\0A}\0A\00"
@.str545 = private unnamed_addr constant [45 x i8] c"define ptr @fn_str_concat(ptr %a, ptr %b) {\0A\00"
@.str546 = private unnamed_addr constant [23 x i8] c"entry:\0A br label %al\0A\00"
@.str547 = private unnamed_addr constant [51 x i8] c"al:\0A %ia = phi i32 [ 0, %entry ], [ %ia1, %alb ]\0A\00"
@.str548 = private unnamed_addr constant [78 x i8] c" %pa = getelementptr inbounds i8, ptr %a, i32 %ia\0A %cca = load i8, ptr %pa\0A\00"
@.str549 = private unnamed_addr constant [64 x i8] c" %za = icmp eq i8 %cca, 0\0A br i1 %za, label %bl0, label %alb\0A\00"
@.str550 = private unnamed_addr constant [45 x i8] c"alb:\0A %ia1 = add i32 %ia, 1\0A br label %al\0A\00"
@.str551 = private unnamed_addr constant [21 x i8] c"bl0:\0A br label %bl\0A\00"
@.str552 = private unnamed_addr constant [49 x i8] c"bl:\0A %ib = phi i32 [ 0, %bl0 ], [ %ib1, %blb ]\0A\00"
@.str553 = private unnamed_addr constant [78 x i8] c" %pb = getelementptr inbounds i8, ptr %b, i32 %ib\0A %ccb = load i8, ptr %pb\0A\00"
@.str554 = private unnamed_addr constant [66 x i8] c" %zb = icmp eq i8 %ccb, 0\0A br i1 %zb, label %alloc, label %blb\0A\00"
@.str555 = private unnamed_addr constant [45 x i8] c"blb:\0A %ib1 = add i32 %ib, 1\0A br label %bl\0A\00"
@.str556 = private unnamed_addr constant [58 x i8] c"alloc:\0A %sum = add i32 %ia, %ib\0A %sz = add i32 %sum, 1\0A\00"
@.str557 = private unnamed_addr constant [83 x i8] c" %sz64 = sext i32 %sz to i64\0A %out = call ptr @malloc(i64 %sz64)\0A br label %c1\0A\00"
@.str558 = private unnamed_addr constant [49 x i8] c"c1:\0A %i = phi i32 [ 0, %alloc ], [ %i1, %c1b ]\0A\00"
@.str559 = private unnamed_addr constant [66 x i8] c" %d1 = icmp slt i32 %i, %ia\0A br i1 %d1, label %c1b, label %c2i\0A\00"
@.str560 = 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"
@.str561 = private unnamed_addr constant [77 x i8] c" %o1 = getelementptr inbounds i8, ptr %out, i32 %i\0A store i8 %v1, ptr %o1\0A\00"
@.str562 = private unnamed_addr constant [38 x i8] c" %i1 = add i32 %i, 1\0A br label %c1\0A\00"
@.str563 = private unnamed_addr constant [21 x i8] c"c2i:\0A br label %c2\0A\00"
@.str564 = private unnamed_addr constant [47 x i8] c"c2:\0A %j = phi i32 [ 0, %c2i ], [ %j1, %c2b ]\0A\00"
@.str565 = private unnamed_addr constant [66 x i8] c" %d2 = icmp slt i32 %j, %ib\0A br i1 %d2, label %c2b, label %fin\0A\00"
@.str566 = 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"
@.str567 = 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"
@.str568 = private unnamed_addr constant [38 x i8] c" %j1 = add i32 %j, 1\0A br label %c2\0A\00"
@.str569 = 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"
@.str570 = private unnamed_addr constant [35 x i8] c"define ptr @fn_int_str(i32 %n0) {\0A\00"
@.str571 = private unnamed_addr constant [42 x i8] c"entry:\0A %buf = call ptr @malloc(i64 24)\0A\00"
@.str572 = private unnamed_addr constant [56 x i8] c" %isneg = icmp slt i32 %n0, 0\0A %neg = sub i32 0, %n0\0A\00"
@.str573 = private unnamed_addr constant [44 x i8] c" %n = select i1 %isneg, i32 %neg, i32 %n0\0A\00"
@.str574 = private unnamed_addr constant [79 x i8] c" %term = getelementptr inbounds i8, ptr %buf, i32 23\0A store i8 0, ptr %term\0A\00"
@.str575 = private unnamed_addr constant [70 x i8] c" %iszero = icmp eq i32 %n0, 0\0A br i1 %iszero, label %zc, label %dl\0A\00"
@.str576 = private unnamed_addr constant [94 x i8] c"zc:\0A %zp = getelementptr inbounds i8, ptr %buf, i32 22\0A store i8 48, ptr %zp\0A ret ptr %zp\0A\00"
@.str577 = private unnamed_addr constant [23 x i8] c"dl:\0A br label %dloop\0A\00"
@.str578 = 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"
@.str579 = private unnamed_addr constant [72 x i8] c" %done = icmp eq i32 %cur, 0\0A br i1 %done, label %sign, label %dbody\0A\00"
@.str580 = 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"
@.str581 = private unnamed_addr constant [80 x i8] c" %pp = getelementptr inbounds i8, ptr %buf, i32 %pos\0A store i8 %ch8, ptr %pp\0A\00"
@.str582 = 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"
@.str583 = private unnamed_addr constant [49 x i8] c"sign:\0A br i1 %isneg, label %addneg, label %fin\0A\00"
@.str584 = 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"
@.str585 = private unnamed_addr constant [60 x i8] c"fin:\0A %fpos = phi i32 [ %pos, %sign ], [ %posn, %addneg ]\0A\00"
@.str586 = private unnamed_addr constant [101 x i8] c" %rpos = add i32 %fpos, 1\0A %res = getelementptr inbounds i8, ptr %buf, i32 %rpos\0A ret ptr %res\0A}\0A\00"
@.str587 = private unnamed_addr constant [36 x i8] c"define ptr @fn_long_str(i64 %n0) {\0A\00"
@.str588 = private unnamed_addr constant [42 x i8] c"entry:\0A %buf = call ptr @malloc(i64 24)\0A\00"
@.str589 = private unnamed_addr constant [56 x i8] c" %isneg = icmp slt i64 %n0, 0\0A %neg = sub i64 0, %n0\0A\00"
@.str590 = private unnamed_addr constant [44 x i8] c" %n = select i1 %isneg, i64 %neg, i64 %n0\0A\00"
@.str591 = private unnamed_addr constant [79 x i8] c" %term = getelementptr inbounds i8, ptr %buf, i32 23\0A store i8 0, ptr %term\0A\00"
@.str592 = private unnamed_addr constant [70 x i8] c" %iszero = icmp eq i64 %n0, 0\0A br i1 %iszero, label %zc, label %dl\0A\00"
@.str593 = private unnamed_addr constant [94 x i8] c"zc:\0A %zp = getelementptr inbounds i8, ptr %buf, i32 22\0A store i8 48, ptr %zp\0A ret ptr %zp\0A\00"
@.str594 = private unnamed_addr constant [23 x i8] c"dl:\0A br label %dloop\0A\00"
@.str595 = 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"
@.str596 = private unnamed_addr constant [72 x i8] c" %done = icmp eq i64 %cur, 0\0A br i1 %done, label %sign, label %dbody\0A\00"
@.str597 = 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"
@.str598 = private unnamed_addr constant [80 x i8] c" %pp = getelementptr inbounds i8, ptr %buf, i32 %pos\0A store i8 %ch8, ptr %pp\0A\00"
@.str599 = 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"
@.str600 = private unnamed_addr constant [49 x i8] c"sign:\0A br i1 %isneg, label %addneg, label %fin\0A\00"
@.str601 = 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"
@.str602 = private unnamed_addr constant [60 x i8] c"fin:\0A %fpos = phi i32 [ %pos, %sign ], [ %posn, %addneg ]\0A\00"
@.str603 = private unnamed_addr constant [101 x i8] c" %rpos = add i32 %fpos, 1\0A %res = getelementptr inbounds i8, ptr %buf, i32 %rpos\0A ret ptr %res\0A}\0A\00"
@.str604 = private unnamed_addr constant [58 x i8] c"define ptr @fn_str_slice(ptr %s, i32 %start, i32 %end) {\0A\00"
@.str605 = private unnamed_addr constant [62 x i8] c"entry:\0A %len = sub i32 %end, %start\0A %sz = add i32 %len, 1\0A\00"
@.str606 = private unnamed_addr constant [85 x i8] c" %sz64 = sext i32 %sz to i64\0A %out = call ptr @malloc(i64 %sz64)\0A br label %loop\0A\00"
@.str607 = private unnamed_addr constant [52 x i8] c"loop:\0A %i = phi i32 [ 0, %entry ], [ %i1, %body ]\0A\00"
@.str608 = private unnamed_addr constant [66 x i8] c" %d = icmp slt i32 %i, %len\0A br i1 %d, label %body, label %fin\0A\00"
@.str609 = 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"
@.str610 = 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"
@.str611 = 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"
@.str612 = private unnamed_addr constant [32 x i8] c"member access on non-aggregate \00"
@.str613 = private unnamed_addr constant [15 x i8] c"no such field \00"
@.str614 = private unnamed_addr constant [3 x i8] c" \00"
@.str615 = private unnamed_addr constant [27 x i8] c" = getelementptr inbounds \00"
@.str616 = private unnamed_addr constant [7 x i8] c", ptr \00"
@.str617 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00"
@.str618 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str619 = private unnamed_addr constant [6 x i8] c"words\00"
@.str620 = private unnamed_addr constant [33 x i8] c"getelementptr inbounds i32, ptr \00"
@.str621 = private unnamed_addr constant [7 x i8] c", i32 \00"
@.str622 = private unnamed_addr constant [4 x i8] c"int\00"
@.str623 = private unnamed_addr constant [7 x i8] c"fixeds\00"
@.str624 = private unnamed_addr constant [33 x i8] c"getelementptr inbounds i32, ptr \00"
@.str625 = private unnamed_addr constant [7 x i8] c", i32 \00"
@.str626 = private unnamed_addr constant [6 x i8] c"fixed\00"
@.str627 = private unnamed_addr constant [9 x i8] c"pointers\00"
@.str628 = private unnamed_addr constant [33 x i8] c"getelementptr inbounds ptr, ptr \00"
@.str629 = private unnamed_addr constant [7 x i8] c", i32 \00"
@.str630 = private unnamed_addr constant [4 x i8] c"ptr\00"
@.str631 = private unnamed_addr constant [32 x i8] c"getelementptr inbounds i8, ptr \00"
@.str632 = private unnamed_addr constant [7 x i8] c", i32 \00"
@.str633 = private unnamed_addr constant [5 x i8] c"byte\00"
@.str634 = private unnamed_addr constant [3 x i8] c" \00"
@.str635 = private unnamed_addr constant [40 x i8] c" = getelementptr inbounds %LSlice, ptr \00"
@.str636 = private unnamed_addr constant [16 x i8] c", i32 0, i32 0\0A\00"
@.str637 = private unnamed_addr constant [3 x i8] c" \00"
@.str638 = private unnamed_addr constant [18 x i8] c" = load ptr, ptr \00"
@.str639 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str640 = private unnamed_addr constant [3 x i8] c" \00"
@.str641 = private unnamed_addr constant [27 x i8] c" = getelementptr inbounds \00"
@.str642 = private unnamed_addr constant [7 x i8] c", ptr \00"
@.str643 = private unnamed_addr constant [7 x i8] c", i32 \00"
@.str644 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str645 = private unnamed_addr constant [7 x i8] c"resize\00"
@.str646 = private unnamed_addr constant [10 x i8] c"file_open\00"
@.str647 = private unnamed_addr constant [10 x i8] c"file_read\00"
@.str648 = private unnamed_addr constant [11 x i8] c"file_write\00"
@.str649 = private unnamed_addr constant [10 x i8] c"file_seek\00"
@.str650 = private unnamed_addr constant [10 x i8] c"file_tell\00"
@.str651 = private unnamed_addr constant [11 x i8] c"file_close\00"
@.str652 = private unnamed_addr constant [10 x i8] c"arg_count\00"
@.str653 = private unnamed_addr constant [4 x i8] c"arg\00"
@.str654 = private unnamed_addr constant [5 x i8] c"exit\00"
@.str655 = private unnamed_addr constant [12 x i8] c"file_stderr\00"
@.str656 = private unnamed_addr constant [12 x i8] c"file_stdout\00"
@.str657 = private unnamed_addr constant [4 x i8] c"run\00"
@.str658 = private unnamed_addr constant [7 x i8] c"getenv\00"
@.str659 = private unnamed_addr constant [3 x i8] c" \00"
@.str660 = private unnamed_addr constant [4 x i8] c" = \00"
@.str661 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str662 = private unnamed_addr constant [7 x i8] c"resize\00"
@.str663 = private unnamed_addr constant [10 x i8] c"zext i32 \00"
@.str664 = private unnamed_addr constant [8 x i8] c" to i64\00"
@.str665 = private unnamed_addr constant [23 x i8] c"call ptr @realloc(ptr \00"
@.str666 = private unnamed_addr constant [7 x i8] c", i64 \00"
@.str667 = private unnamed_addr constant [2 x i8] c")\00"
@.str668 = private unnamed_addr constant [8 x i8] c"pointer\00"
@.str669 = private unnamed_addr constant [10 x i8] c"file_open\00"
@.str670 = private unnamed_addr constant [21 x i8] c"call ptr @fopen(ptr \00"
@.str671 = private unnamed_addr constant [7 x i8] c", ptr \00"
@.str672 = private unnamed_addr constant [2 x i8] c")\00"
@.str673 = private unnamed_addr constant [8 x i8] c"pointer\00"
@.str674 = private unnamed_addr constant [10 x i8] c"file_read\00"
@.str675 = private unnamed_addr constant [11 x i8] c"file_write\00"
@.str676 = private unnamed_addr constant [10 x i8] c"zext i32 \00"
@.str677 = private unnamed_addr constant [8 x i8] c" to i64\00"
@.str678 = private unnamed_addr constant [7 x i8] c"@fread\00"
@.str679 = private unnamed_addr constant [11 x i8] c"file_write\00"
@.str680 = private unnamed_addr constant [8 x i8] c"@fwrite\00"
@.str681 = private unnamed_addr constant [10 x i8] c"call i64 \00"
@.str682 = private unnamed_addr constant [6 x i8] c"(ptr \00"
@.str683 = private unnamed_addr constant [14 x i8] c", i64 1, i64 \00"
@.str684 = private unnamed_addr constant [7 x i8] c", ptr \00"
@.str685 = private unnamed_addr constant [2 x i8] c")\00"
@.str686 = private unnamed_addr constant [11 x i8] c"trunc i64 \00"
@.str687 = private unnamed_addr constant [8 x i8] c" to i32\00"
@.str688 = private unnamed_addr constant [4 x i8] c"int\00"
@.str689 = private unnamed_addr constant [10 x i8] c"file_seek\00"
@.str690 = private unnamed_addr constant [10 x i8] c"sext i32 \00"
@.str691 = private unnamed_addr constant [8 x i8] c" to i64\00"
@.str692 = private unnamed_addr constant [21 x i8] c"call i32 @fseek(ptr \00"
@.str693 = private unnamed_addr constant [7 x i8] c", i64 \00"
@.str694 = private unnamed_addr constant [7 x i8] c", i32 \00"
@.str695 = private unnamed_addr constant [2 x i8] c")\00"
@.str696 = private unnamed_addr constant [4 x i8] c"int\00"
@.str697 = private unnamed_addr constant [10 x i8] c"file_tell\00"
@.str698 = private unnamed_addr constant [21 x i8] c"call i64 @ftell(ptr \00"
@.str699 = private unnamed_addr constant [2 x i8] c")\00"
@.str700 = private unnamed_addr constant [11 x i8] c"trunc i64 \00"
@.str701 = private unnamed_addr constant [8 x i8] c" to i32\00"
@.str702 = private unnamed_addr constant [4 x i8] c"int\00"
@.str703 = private unnamed_addr constant [11 x i8] c"file_close\00"
@.str704 = private unnamed_addr constant [24 x i8] c" call i32 @fclose(ptr \00"
@.str705 = private unnamed_addr constant [3 x i8] c")\0A\00"
@.str706 = private unnamed_addr constant [2 x i8] c"0\00"
@.str707 = private unnamed_addr constant [5 x i8] c"void\00"
@.str708 = private unnamed_addr constant [10 x i8] c"arg_count\00"
@.str709 = private unnamed_addr constant [22 x i8] c"load i32, ptr @L_argc\00"
@.str710 = private unnamed_addr constant [4 x i8] c"int\00"
@.str711 = private unnamed_addr constant [4 x i8] c"arg\00"
@.str712 = private unnamed_addr constant [22 x i8] c"load ptr, ptr @L_argv\00"
@.str713 = private unnamed_addr constant [24 x i8] c"getelementptr ptr, ptr \00"
@.str714 = private unnamed_addr constant [7 x i8] c", i32 \00"
@.str715 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00"
@.str716 = private unnamed_addr constant [7 x i8] c"string\00"
@.str717 = private unnamed_addr constant [5 x i8] c"exit\00"
@.str718 = private unnamed_addr constant [23 x i8] c" call void @exit(i32 \00"
@.str719 = private unnamed_addr constant [3 x i8] c")\0A\00"
@.str720 = private unnamed_addr constant [15 x i8] c" unreachable\0A\00"
@.str721 = private unnamed_addr constant [2 x i8] c"0\00"
@.str722 = private unnamed_addr constant [5 x i8] c"void\00"
@.str723 = private unnamed_addr constant [12 x i8] c"file_stderr\00"
@.str724 = private unnamed_addr constant [25 x i8] c"load ptr, ptr @__stderrp\00"
@.str725 = private unnamed_addr constant [8 x i8] c"pointer\00"
@.str726 = private unnamed_addr constant [12 x i8] c"file_stdout\00"
@.str727 = private unnamed_addr constant [25 x i8] c"load ptr, ptr @__stdoutp\00"
@.str728 = private unnamed_addr constant [8 x i8] c"pointer\00"
@.str729 = private unnamed_addr constant [4 x i8] c"run\00"
@.str730 = private unnamed_addr constant [22 x i8] c"call i32 @system(ptr \00"
@.str731 = private unnamed_addr constant [2 x i8] c")\00"
@.str732 = private unnamed_addr constant [4 x i8] c"int\00"
@.str733 = private unnamed_addr constant [7 x i8] c"getenv\00"
@.str734 = private unnamed_addr constant [22 x i8] c"call ptr @getenv(ptr \00"
@.str735 = private unnamed_addr constant [2 x i8] c")\00"
@.str736 = private unnamed_addr constant [7 x i8] c"string\00"
@.str737 = private unnamed_addr constant [2 x i8] c"0\00"
@.str738 = private unnamed_addr constant [5 x i8] c"void\00"
@.str739 = private unnamed_addr constant [5 x i8] c"free\00"
@.str740 = private unnamed_addr constant [5 x i8] c"fill\00"
@.str741 = private unnamed_addr constant [7 x i8] c"offset\00"
@.str742 = private unnamed_addr constant [10 x i8] c"read_char\00"
@.str743 = private unnamed_addr constant [9 x i8] c"as_fixed\00"
@.str744 = private unnamed_addr constant [7 x i8] c"as_int\00"
@.str745 = private unnamed_addr constant [12 x i8] c"is_windowed\00"
@.str746 = private unnamed_addr constant [11 x i8] c"game_title\00"
@.str747 = private unnamed_addr constant [9 x i8] c"win_open\00"
@.str748 = private unnamed_addr constant [9 x i8] c"win_poll\00"
@.str749 = private unnamed_addr constant [12 x i8] c"win_present\00"
@.str750 = private unnamed_addr constant [12 x i8] c"win_running\00"
@.str751 = private unnamed_addr constant [10 x i8] c"win_close\00"
@.str752 = private unnamed_addr constant [9 x i8] c"win_held\00"
@.str753 = private unnamed_addr constant [10 x i8] c"win_mouse\00"
@.str754 = private unnamed_addr constant [8 x i8] c"win_pad\00"
@.str755 = private unnamed_addr constant [10 x i8] c"win_touch\00"
@.str756 = private unnamed_addr constant [9 x i8] c"snd_load\00"
@.str757 = private unnamed_addr constant [9 x i8] c"snd_play\00"
@.str758 = private unnamed_addr constant [9 x i8] c"snd_stop\00"
@.str759 = private unnamed_addr constant [12 x i8] c"snd_playing\00"
@.str760 = private unnamed_addr constant [15 x i8] c"snd_set_volume\00"
@.str761 = private unnamed_addr constant [13 x i8] c"snd_set_rate\00"
@.str762 = private unnamed_addr constant [5 x i8] c"free\00"
@.str763 = private unnamed_addr constant [23 x i8] c" call void @free(ptr \00"
@.str764 = private unnamed_addr constant [3 x i8] c")\0A\00"
@.str765 = private unnamed_addr constant [2 x i8] c"0\00"
@.str766 = private unnamed_addr constant [5 x i8] c"void\00"
@.str767 = private unnamed_addr constant [5 x i8] c"fill\00"
@.str768 = private unnamed_addr constant [10 x i8] c"zext i32 \00"
@.str769 = private unnamed_addr constant [8 x i8] c" to i64\00"
@.str770 = private unnamed_addr constant [24 x i8] c" call ptr @memset(ptr \00"
@.str771 = private unnamed_addr constant [7 x i8] c", i32 \00"
@.str772 = private unnamed_addr constant [7 x i8] c", i64 \00"
@.str773 = private unnamed_addr constant [3 x i8] c")\0A\00"
@.str774 = private unnamed_addr constant [2 x i8] c"0\00"
@.str775 = private unnamed_addr constant [5 x i8] c"void\00"
@.str776 = private unnamed_addr constant [7 x i8] c"offset\00"
@.str777 = private unnamed_addr constant [3 x i8] c" \00"
@.str778 = private unnamed_addr constant [35 x i8] c" = getelementptr inbounds i8, ptr \00"
@.str779 = private unnamed_addr constant [7 x i8] c", i32 \00"
@.str780 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str781 = private unnamed_addr constant [8 x i8] c"pointer\00"
@.str782 = private unnamed_addr constant [10 x i8] c"read_char\00"
@.str783 = private unnamed_addr constant [20 x i8] c"call i32 @getchar()\00"
@.str784 = private unnamed_addr constant [4 x i8] c"int\00"
@.str785 = private unnamed_addr constant [9 x i8] c"as_fixed\00"
@.str786 = private unnamed_addr constant [6 x i8] c"fixed\00"
@.str787 = private unnamed_addr constant [7 x i8] c"as_int\00"
@.str788 = private unnamed_addr constant [4 x i8] c"int\00"
@.str789 = private unnamed_addr constant [12 x i8] c"is_windowed\00"
@.str790 = private unnamed_addr constant [2 x i8] c"1\00"
@.str791 = private unnamed_addr constant [5 x i8] c"bool\00"
@.str792 = private unnamed_addr constant [2 x i8] c"0\00"
@.str793 = private unnamed_addr constant [5 x i8] c"bool\00"
@.str794 = private unnamed_addr constant [11 x i8] c"game_title\00"
@.str795 = private unnamed_addr constant [12 x i8] c"@.gametitle\00"
@.str796 = private unnamed_addr constant [7 x i8] c"string\00"
@.str797 = private unnamed_addr constant [9 x i8] c"win_poll\00"
@.str798 = private unnamed_addr constant [21 x i8] c"call i32 @win_poll()\00"
@.str799 = private unnamed_addr constant [4 x i8] c"int\00"
@.str800 = private unnamed_addr constant [12 x i8] c"win_running\00"
@.str801 = private unnamed_addr constant [24 x i8] c"call i32 @win_running()\00"
@.str802 = private unnamed_addr constant [5 x i8] c"bool\00"
@.str803 = private unnamed_addr constant [9 x i8] c"win_open\00"
@.str804 = private unnamed_addr constant [27 x i8] c" call void @win_open(i32 \00"
@.str805 = private unnamed_addr constant [7 x i8] c", i32 \00"
@.str806 = private unnamed_addr constant [7 x i8] c", i32 \00"
@.str807 = private unnamed_addr constant [7 x i8] c", ptr \00"
@.str808 = private unnamed_addr constant [3 x i8] c")\0A\00"
@.str809 = private unnamed_addr constant [2 x i8] c"0\00"
@.str810 = private unnamed_addr constant [5 x i8] c"void\00"
@.str811 = private unnamed_addr constant [12 x i8] c"win_present\00"
@.str812 = private unnamed_addr constant [30 x i8] c" call void @win_present(ptr \00"
@.str813 = private unnamed_addr constant [7 x i8] c", i32 \00"
@.str814 = private unnamed_addr constant [7 x i8] c", i32 \00"
@.str815 = private unnamed_addr constant [3 x i8] c")\0A\00"
@.str816 = private unnamed_addr constant [2 x i8] c"0\00"
@.str817 = private unnamed_addr constant [5 x i8] c"void\00"
@.str818 = private unnamed_addr constant [10 x i8] c"win_close\00"
@.str819 = private unnamed_addr constant [26 x i8] c" call void @win_close()\0A\00"
@.str820 = private unnamed_addr constant [2 x i8] c"0\00"
@.str821 = private unnamed_addr constant [5 x i8] c"void\00"
@.str822 = private unnamed_addr constant [9 x i8] c"win_held\00"
@.str823 = private unnamed_addr constant [27 x i8] c" call void @win_held(ptr \00"
@.str824 = private unnamed_addr constant [3 x i8] c")\0A\00"
@.str825 = private unnamed_addr constant [2 x i8] c"0\00"
@.str826 = private unnamed_addr constant [5 x i8] c"void\00"
@.str827 = private unnamed_addr constant [10 x i8] c"win_mouse\00"
@.str828 = private unnamed_addr constant [28 x i8] c" call void @win_mouse(ptr \00"
@.str829 = private unnamed_addr constant [3 x i8] c")\0A\00"
@.str830 = private unnamed_addr constant [2 x i8] c"0\00"
@.str831 = private unnamed_addr constant [5 x i8] c"void\00"
@.str832 = private unnamed_addr constant [8 x i8] c"win_pad\00"
@.str833 = private unnamed_addr constant [26 x i8] c" call void @win_pad(ptr \00"
@.str834 = private unnamed_addr constant [3 x i8] c")\0A\00"
@.str835 = private unnamed_addr constant [2 x i8] c"0\00"
@.str836 = private unnamed_addr constant [5 x i8] c"void\00"
@.str837 = private unnamed_addr constant [10 x i8] c"win_touch\00"
@.str838 = private unnamed_addr constant [28 x i8] c" call void @win_touch(ptr \00"
@.str839 = private unnamed_addr constant [3 x i8] c")\0A\00"
@.str840 = private unnamed_addr constant [2 x i8] c"0\00"
@.str841 = private unnamed_addr constant [5 x i8] c"void\00"
@.str842 = private unnamed_addr constant [9 x i8] c"snd_load\00"
@.str843 = private unnamed_addr constant [24 x i8] c"call ptr @snd_load(ptr \00"
@.str844 = private unnamed_addr constant [2 x i8] c")\00"
@.str845 = private unnamed_addr constant [8 x i8] c"pointer\00"
@.str846 = private unnamed_addr constant [9 x i8] c"snd_play\00"
@.str847 = private unnamed_addr constant [27 x i8] c" call void @snd_play(ptr \00"
@.str848 = private unnamed_addr constant [7 x i8] c", i32 \00"
@.str849 = private unnamed_addr constant [7 x i8] c", i32 \00"
@.str850 = private unnamed_addr constant [7 x i8] c", i32 \00"
@.str851 = private unnamed_addr constant [3 x i8] c")\0A\00"
@.str852 = private unnamed_addr constant [2 x i8] c"0\00"
@.str853 = private unnamed_addr constant [5 x i8] c"void\00"
@.str854 = private unnamed_addr constant [9 x i8] c"snd_stop\00"
@.str855 = private unnamed_addr constant [27 x i8] c" call void @snd_stop(ptr \00"
@.str856 = private unnamed_addr constant [3 x i8] c")\0A\00"
@.str857 = private unnamed_addr constant [2 x i8] c"0\00"
@.str858 = private unnamed_addr constant [5 x i8] c"void\00"
@.str859 = private unnamed_addr constant [12 x i8] c"snd_playing\00"
@.str860 = private unnamed_addr constant [27 x i8] c"call i32 @snd_playing(ptr \00"
@.str861 = private unnamed_addr constant [2 x i8] c")\00"
@.str862 = private unnamed_addr constant [4 x i8] c"int\00"
@.str863 = private unnamed_addr constant [15 x i8] c"snd_set_volume\00"
@.str864 = private unnamed_addr constant [33 x i8] c" call void @snd_set_volume(ptr \00"
@.str865 = private unnamed_addr constant [7 x i8] c", i32 \00"
@.str866 = private unnamed_addr constant [3 x i8] c")\0A\00"
@.str867 = private unnamed_addr constant [2 x i8] c"0\00"
@.str868 = private unnamed_addr constant [5 x i8] c"void\00"
@.str869 = private unnamed_addr constant [13 x i8] c"snd_set_rate\00"
@.str870 = private unnamed_addr constant [31 x i8] c" call void @snd_set_rate(ptr \00"
@.str871 = private unnamed_addr constant [7 x i8] c", i32 \00"
@.str872 = private unnamed_addr constant [3 x i8] c")\0A\00"
@.str873 = private unnamed_addr constant [2 x i8] c"0\00"
@.str874 = private unnamed_addr constant [5 x i8] c"void\00"
@.str875 = private unnamed_addr constant [2 x i8] c"0\00"
@.str876 = private unnamed_addr constant [5 x i8] c"void\00"
@.str877 = private unnamed_addr constant [4 x i8] c"min\00"
@.str878 = private unnamed_addr constant [4 x i8] c"max\00"
@.str879 = private unnamed_addr constant [4 x i8] c"abs\00"
@.str880 = private unnamed_addr constant [6 x i8] c"clamp\00"
@.str881 = private unnamed_addr constant [4 x i8] c"abs\00"
@.str882 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
@.str883 = private unnamed_addr constant [4 x i8] c", 0\00"
@.str884 = private unnamed_addr constant [12 x i8] c"sub i32 0, \00"
@.str885 = private unnamed_addr constant [11 x i8] c"select i1 \00"
@.str886 = private unnamed_addr constant [7 x i8] c", i32 \00"
@.str887 = private unnamed_addr constant [7 x i8] c", i32 \00"
@.str888 = private unnamed_addr constant [4 x i8] c"min\00"
@.str889 = private unnamed_addr constant [4 x i8] c"max\00"
@.str890 = private unnamed_addr constant [4 x i8] c"slt\00"
@.str891 = private unnamed_addr constant [4 x i8] c"max\00"
@.str892 = private unnamed_addr constant [4 x i8] c"sgt\00"
@.str893 = private unnamed_addr constant [6 x i8] c"icmp \00"
@.str894 = private unnamed_addr constant [6 x i8] c" i32 \00"
@.str895 = private unnamed_addr constant [3 x i8] c", \00"
@.str896 = private unnamed_addr constant [11 x i8] c"select i1 \00"
@.str897 = private unnamed_addr constant [7 x i8] c", i32 \00"
@.str898 = private unnamed_addr constant [7 x i8] c", i32 \00"
@.str899 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
@.str900 = private unnamed_addr constant [3 x i8] c", \00"
@.str901 = private unnamed_addr constant [11 x i8] c"select i1 \00"
@.str902 = private unnamed_addr constant [7 x i8] c", i32 \00"
@.str903 = private unnamed_addr constant [7 x i8] c", i32 \00"
@.str904 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00"
@.str905 = private unnamed_addr constant [3 x i8] c", \00"
@.str906 = private unnamed_addr constant [11 x i8] c"select i1 \00"
@.str907 = private unnamed_addr constant [7 x i8] c", i32 \00"
@.str908 = private unnamed_addr constant [7 x i8] c", i32 \00"
@.str909 = private unnamed_addr constant [10 x i8] c"sext i32 \00"
@.str910 = private unnamed_addr constant [8 x i8] c" to i64\00"
@.str911 = private unnamed_addr constant [10 x i8] c"sext i32 \00"
@.str912 = private unnamed_addr constant [8 x i8] c" to i64\00"
@.str913 = private unnamed_addr constant [9 x i8] c"mul i64 \00"
@.str914 = private unnamed_addr constant [3 x i8] c", \00"
@.str915 = private unnamed_addr constant [10 x i8] c"ashr i64 \00"
@.str916 = private unnamed_addr constant [5 x i8] c", 16\00"
@.str917 = private unnamed_addr constant [11 x i8] c"trunc i64 \00"
@.str918 = private unnamed_addr constant [8 x i8] c" to i32\00"
@.str919 = private unnamed_addr constant [10 x i8] c"sext i32 \00"
@.str920 = private unnamed_addr constant [8 x i8] c" to i64\00"
@.str921 = private unnamed_addr constant [9 x i8] c"shl i64 \00"
@.str922 = private unnamed_addr constant [5 x i8] c", 16\00"
@.str923 = private unnamed_addr constant [10 x i8] c"sext i32 \00"
@.str924 = private unnamed_addr constant [8 x i8] c" to i64\00"
@.str925 = private unnamed_addr constant [10 x i8] c"sdiv i64 \00"
@.str926 = private unnamed_addr constant [3 x i8] c", \00"
@.str927 = private unnamed_addr constant [11 x i8] c"trunc i64 \00"
@.str928 = private unnamed_addr constant [8 x i8] c" to i32\00"
@.str929 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
@.str930 = private unnamed_addr constant [3 x i8] c", \00"
@.str931 = private unnamed_addr constant [9 x i8] c"add i32 \00"
@.str932 = private unnamed_addr constant [3 x i8] c", \00"
@.str933 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
@.str934 = private unnamed_addr constant [3 x i8] c", \00"
@.str935 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
@.str936 = private unnamed_addr constant [3 x i8] c", \00"
@.str937 = private unnamed_addr constant [4 x i8] c"min\00"
@.str938 = private unnamed_addr constant [4 x i8] c"max\00"
@.str939 = private unnamed_addr constant [4 x i8] c"abs\00"
@.str940 = private unnamed_addr constant [6 x i8] c"clamp\00"
@.str941 = private unnamed_addr constant [5 x i8] c"sign\00"
@.str942 = private unnamed_addr constant [6 x i8] c"floor\00"
@.str943 = private unnamed_addr constant [5 x i8] c"ceil\00"
@.str944 = private unnamed_addr constant [6 x i8] c"round\00"
@.str945 = private unnamed_addr constant [5 x i8] c"lerp\00"
@.str946 = private unnamed_addr constant [13 x i8] c"inverse_lerp\00"
@.str947 = private unnamed_addr constant [6 x i8] c"remap\00"
@.str948 = private unnamed_addr constant [5 x i8] c"sqrt\00"
@.str949 = private unnamed_addr constant [4 x i8] c"sin\00"
@.str950 = private unnamed_addr constant [4 x i8] c"cos\00"
@.str951 = private unnamed_addr constant [4 x i8] c"tan\00"
@.str952 = private unnamed_addr constant [6 x i8] c"hypot\00"
@.str953 = private unnamed_addr constant [6 x i8] c"atan2\00"
@.str954 = private unnamed_addr constant [5 x i8] c"asin\00"
@.str955 = private unnamed_addr constant [5 x i8] c"acos\00"
@.str956 = private unnamed_addr constant [11 x i8] c"deg_to_rad\00"
@.str957 = private unnamed_addr constant [11 x i8] c"rad_to_deg\00"
@.str958 = private unnamed_addr constant [7 x i8] c"posmod\00"
@.str959 = private unnamed_addr constant [5 x i8] c"wrap\00"
@.str960 = private unnamed_addr constant [10 x i8] c"ping_pong\00"
@.str961 = private unnamed_addr constant [8 x i8] c"snapped\00"
@.str962 = private unnamed_addr constant [12 x i8] c"move_toward\00"
@.str963 = private unnamed_addr constant [11 x i8] c"smoothstep\00"
@.str964 = private unnamed_addr constant [5 x i8] c"dist\00"
@.str965 = private unnamed_addr constant [6 x i8] c"dist2\00"
@.str966 = private unnamed_addr constant [4 x i8] c"exp\00"
@.str967 = private unnamed_addr constant [4 x i8] c"log\00"
@.str968 = private unnamed_addr constant [4 x i8] c"pow\00"
@.str969 = private unnamed_addr constant [4 x i8] c"min\00"
@.str970 = private unnamed_addr constant [4 x i8] c"max\00"
@.str971 = private unnamed_addr constant [4 x i8] c"abs\00"
@.str972 = private unnamed_addr constant [6 x i8] c"clamp\00"
@.str973 = private unnamed_addr constant [5 x i8] c"sign\00"
@.str974 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00"
@.str975 = private unnamed_addr constant [4 x i8] c", 0\00"
@.str976 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
@.str977 = private unnamed_addr constant [4 x i8] c", 0\00"
@.str978 = private unnamed_addr constant [11 x i8] c"select i1 \00"
@.str979 = private unnamed_addr constant [16 x i8] c", i32 -1, i32 0\00"
@.str980 = private unnamed_addr constant [11 x i8] c"select i1 \00"
@.str981 = private unnamed_addr constant [14 x i8] c", i32 1, i32 \00"
@.str982 = private unnamed_addr constant [4 x i8] c"int\00"
@.str983 = private unnamed_addr constant [6 x i8] c"floor\00"
@.str984 = private unnamed_addr constant [10 x i8] c"ashr i32 \00"
@.str985 = private unnamed_addr constant [5 x i8] c", 16\00"
@.str986 = private unnamed_addr constant [4 x i8] c"int\00"
@.str987 = private unnamed_addr constant [5 x i8] c"ceil\00"
@.str988 = private unnamed_addr constant [9 x i8] c"add i32 \00"
@.str989 = private unnamed_addr constant [8 x i8] c", 65535\00"
@.str990 = private unnamed_addr constant [10 x i8] c"ashr i32 \00"
@.str991 = private unnamed_addr constant [5 x i8] c", 16\00"
@.str992 = private unnamed_addr constant [4 x i8] c"int\00"
@.str993 = private unnamed_addr constant [6 x i8] c"round\00"
@.str994 = private unnamed_addr constant [9 x i8] c"add i32 \00"
@.str995 = private unnamed_addr constant [8 x i8] c", 32768\00"
@.str996 = private unnamed_addr constant [10 x i8] c"ashr i32 \00"
@.str997 = private unnamed_addr constant [5 x i8] c", 16\00"
@.str998 = private unnamed_addr constant [4 x i8] c"int\00"
@.str999 = private unnamed_addr constant [5 x i8] c"lerp\00"
@.str1000 = private unnamed_addr constant [6 x i8] c"fixed\00"
@.str1001 = private unnamed_addr constant [13 x i8] c"inverse_lerp\00"
@.str1002 = private unnamed_addr constant [6 x i8] c"fixed\00"
@.str1003 = private unnamed_addr constant [5 x i8] c"sqrt\00"
@.str1004 = private unnamed_addr constant [26 x i8] c"call i32 @fn_fx_sqrt(i32 \00"
@.str1005 = private unnamed_addr constant [2 x i8] c")\00"
@.str1006 = private unnamed_addr constant [6 x i8] c"fixed\00"
@.str1007 = private unnamed_addr constant [4 x i8] c"sin\00"
@.str1008 = private unnamed_addr constant [25 x i8] c"call i32 @fn_fx_sin(i32 \00"
@.str1009 = private unnamed_addr constant [2 x i8] c")\00"
@.str1010 = private unnamed_addr constant [6 x i8] c"fixed\00"
@.str1011 = private unnamed_addr constant [4 x i8] c"cos\00"
@.str1012 = private unnamed_addr constant [9 x i8] c"add i32 \00"
@.str1013 = private unnamed_addr constant [9 x i8] c", 102944\00"
@.str1014 = private unnamed_addr constant [25 x i8] c"call i32 @fn_fx_sin(i32 \00"
@.str1015 = private unnamed_addr constant [2 x i8] c")\00"
@.str1016 = private unnamed_addr constant [6 x i8] c"fixed\00"
@.str1017 = private unnamed_addr constant [4 x i8] c"tan\00"
@.str1018 = private unnamed_addr constant [25 x i8] c"call i32 @fn_fx_sin(i32 \00"
@.str1019 = private unnamed_addr constant [2 x i8] c")\00"
@.str1020 = private unnamed_addr constant [9 x i8] c"add i32 \00"
@.str1021 = private unnamed_addr constant [9 x i8] c", 102944\00"
@.str1022 = private unnamed_addr constant [25 x i8] c"call i32 @fn_fx_sin(i32 \00"
@.str1023 = private unnamed_addr constant [2 x i8] c")\00"
@.str1024 = private unnamed_addr constant [6 x i8] c"fixed\00"
@.str1025 = private unnamed_addr constant [6 x i8] c"atan2\00"
@.str1026 = private unnamed_addr constant [27 x i8] c"call i32 @fn_fx_atan2(i32 \00"
@.str1027 = private unnamed_addr constant [7 x i8] c", i32 \00"
@.str1028 = private unnamed_addr constant [2 x i8] c")\00"
@.str1029 = private unnamed_addr constant [6 x i8] c"fixed\00"
@.str1030 = private unnamed_addr constant [5 x i8] c"asin\00"
@.str1031 = private unnamed_addr constant [16 x i8] c"sub i32 65536, \00"
@.str1032 = private unnamed_addr constant [26 x i8] c"call i32 @fn_fx_sqrt(i32 \00"
@.str1033 = private unnamed_addr constant [2 x i8] c")\00"
@.str1034 = private unnamed_addr constant [27 x i8] c"call i32 @fn_fx_atan2(i32 \00"
@.str1035 = private unnamed_addr constant [7 x i8] c", i32 \00"
@.str1036 = private unnamed_addr constant [2 x i8] c")\00"
@.str1037 = private unnamed_addr constant [6 x i8] c"fixed\00"
@.str1038 = private unnamed_addr constant [5 x i8] c"acos\00"
@.str1039 = private unnamed_addr constant [16 x i8] c"sub i32 65536, \00"
@.str1040 = private unnamed_addr constant [26 x i8] c"call i32 @fn_fx_sqrt(i32 \00"
@.str1041 = private unnamed_addr constant [2 x i8] c")\00"
@.str1042 = private unnamed_addr constant [27 x i8] c"call i32 @fn_fx_atan2(i32 \00"
@.str1043 = private unnamed_addr constant [7 x i8] c", i32 \00"
@.str1044 = private unnamed_addr constant [2 x i8] c")\00"
@.str1045 = private unnamed_addr constant [6 x i8] c"fixed\00"
@.str1046 = private unnamed_addr constant [6 x i8] c"hypot\00"
@.str1047 = private unnamed_addr constant [9 x i8] c"add i32 \00"
@.str1048 = private unnamed_addr constant [3 x i8] c", \00"
@.str1049 = private unnamed_addr constant [26 x i8] c"call i32 @fn_fx_sqrt(i32 \00"
@.str1050 = private unnamed_addr constant [2 x i8] c")\00"
@.str1051 = private unnamed_addr constant [6 x i8] c"fixed\00"
@.str1052 = private unnamed_addr constant [6 x i8] c"dist2\00"
@.str1053 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
@.str1054 = private unnamed_addr constant [3 x i8] c", \00"
@.str1055 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
@.str1056 = private unnamed_addr constant [3 x i8] c", \00"
@.str1057 = private unnamed_addr constant [9 x i8] c"add i32 \00"
@.str1058 = private unnamed_addr constant [3 x i8] c", \00"
@.str1059 = private unnamed_addr constant [6 x i8] c"fixed\00"
@.str1060 = private unnamed_addr constant [5 x i8] c"dist\00"
@.str1061 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
@.str1062 = private unnamed_addr constant [3 x i8] c", \00"
@.str1063 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
@.str1064 = private unnamed_addr constant [3 x i8] c", \00"
@.str1065 = private unnamed_addr constant [9 x i8] c"add i32 \00"
@.str1066 = private unnamed_addr constant [3 x i8] c", \00"
@.str1067 = private unnamed_addr constant [26 x i8] c"call i32 @fn_fx_sqrt(i32 \00"
@.str1068 = private unnamed_addr constant [2 x i8] c")\00"
@.str1069 = private unnamed_addr constant [6 x i8] c"fixed\00"
@.str1070 = private unnamed_addr constant [4 x i8] c"exp\00"
@.str1071 = private unnamed_addr constant [6 x i8] c"94548\00"
@.str1072 = private unnamed_addr constant [26 x i8] c"call i32 @fn_fx_exp2(i32 \00"
@.str1073 = private unnamed_addr constant [2 x i8] c")\00"
@.str1074 = private unnamed_addr constant [6 x i8] c"fixed\00"
@.str1075 = private unnamed_addr constant [4 x i8] c"log\00"
@.str1076 = private unnamed_addr constant [26 x i8] c"call i32 @fn_fx_log2(i32 \00"
@.str1077 = private unnamed_addr constant [2 x i8] c")\00"
@.str1078 = private unnamed_addr constant [6 x i8] c"45426\00"
@.str1079 = private unnamed_addr constant [6 x i8] c"fixed\00"
@.str1080 = private unnamed_addr constant [4 x i8] c"pow\00"
@.str1081 = private unnamed_addr constant [26 x i8] c"call i32 @fn_fx_log2(i32 \00"
@.str1082 = private unnamed_addr constant [2 x i8] c")\00"
@.str1083 = private unnamed_addr constant [26 x i8] c"call i32 @fn_fx_exp2(i32 \00"
@.str1084 = private unnamed_addr constant [2 x i8] c")\00"
@.str1085 = private unnamed_addr constant [6 x i8] c"fixed\00"
@.str1086 = private unnamed_addr constant [11 x i8] c"deg_to_rad\00"
@.str1087 = private unnamed_addr constant [5 x i8] c"1144\00"
@.str1088 = private unnamed_addr constant [6 x i8] c"fixed\00"
@.str1089 = private unnamed_addr constant [11 x i8] c"rad_to_deg\00"
@.str1090 = private unnamed_addr constant [8 x i8] c"3754936\00"
@.str1091 = private unnamed_addr constant [6 x i8] c"fixed\00"
@.str1092 = private unnamed_addr constant [7 x i8] c"posmod\00"
@.str1093 = private unnamed_addr constant [10 x i8] c"srem i32 \00"
@.str1094 = private unnamed_addr constant [3 x i8] c", \00"
@.str1095 = private unnamed_addr constant [9 x i8] c"add i32 \00"
@.str1096 = private unnamed_addr constant [3 x i8] c", \00"
@.str1097 = private unnamed_addr constant [10 x i8] c"srem i32 \00"
@.str1098 = private unnamed_addr constant [3 x i8] c", \00"
@.str1099 = private unnamed_addr constant [4 x i8] c"int\00"
@.str1100 = private unnamed_addr constant [5 x i8] c"wrap\00"
@.str1101 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
@.str1102 = private unnamed_addr constant [3 x i8] c", \00"
@.str1103 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
@.str1104 = private unnamed_addr constant [3 x i8] c", \00"
@.str1105 = private unnamed_addr constant [10 x i8] c"srem i32 \00"
@.str1106 = private unnamed_addr constant [3 x i8] c", \00"
@.str1107 = private unnamed_addr constant [9 x i8] c"add i32 \00"
@.str1108 = private unnamed_addr constant [3 x i8] c", \00"
@.str1109 = private unnamed_addr constant [10 x i8] c"srem i32 \00"
@.str1110 = private unnamed_addr constant [3 x i8] c", \00"
@.str1111 = private unnamed_addr constant [9 x i8] c"add i32 \00"
@.str1112 = private unnamed_addr constant [3 x i8] c", \00"
@.str1113 = private unnamed_addr constant [4 x i8] c"int\00"
@.str1114 = private unnamed_addr constant [10 x i8] c"ping_pong\00"
@.str1115 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
@.str1116 = private unnamed_addr constant [4 x i8] c", 2\00"
@.str1117 = private unnamed_addr constant [10 x i8] c"srem i32 \00"
@.str1118 = private unnamed_addr constant [3 x i8] c", \00"
@.str1119 = private unnamed_addr constant [9 x i8] c"add i32 \00"
@.str1120 = private unnamed_addr constant [3 x i8] c", \00"
@.str1121 = private unnamed_addr constant [10 x i8] c"srem i32 \00"
@.str1122 = private unnamed_addr constant [3 x i8] c", \00"
@.str1123 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
@.str1124 = private unnamed_addr constant [3 x i8] c", \00"
@.str1125 = private unnamed_addr constant [12 x i8] c"sub i32 0, \00"
@.str1126 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
@.str1127 = private unnamed_addr constant [4 x i8] c", 0\00"
@.str1128 = private unnamed_addr constant [11 x i8] c"select i1 \00"
@.str1129 = private unnamed_addr constant [7 x i8] c", i32 \00"
@.str1130 = private unnamed_addr constant [7 x i8] c", i32 \00"
@.str1131 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
@.str1132 = private unnamed_addr constant [3 x i8] c", \00"
@.str1133 = private unnamed_addr constant [4 x i8] c"int\00"
@.str1134 = private unnamed_addr constant [8 x i8] c"snapped\00"
@.str1135 = private unnamed_addr constant [9 x i8] c"add i32 \00"
@.str1136 = private unnamed_addr constant [8 x i8] c", 32768\00"
@.str1137 = private unnamed_addr constant [10 x i8] c"ashr i32 \00"
@.str1138 = private unnamed_addr constant [5 x i8] c", 16\00"
@.str1139 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
@.str1140 = private unnamed_addr constant [3 x i8] c", \00"
@.str1141 = private unnamed_addr constant [6 x i8] c"fixed\00"
@.str1142 = private unnamed_addr constant [12 x i8] c"move_toward\00"
@.str1143 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
@.str1144 = private unnamed_addr constant [3 x i8] c", \00"
@.str1145 = private unnamed_addr constant [12 x i8] c"sub i32 0, \00"
@.str1146 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
@.str1147 = private unnamed_addr constant [4 x i8] c", 0\00"
@.str1148 = private unnamed_addr constant [11 x i8] c"select i1 \00"
@.str1149 = private unnamed_addr constant [7 x i8] c", i32 \00"
@.str1150 = private unnamed_addr constant [7 x i8] c", i32 \00"
@.str1151 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00"
@.str1152 = private unnamed_addr constant [4 x i8] c", 0\00"
@.str1153 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
@.str1154 = private unnamed_addr constant [4 x i8] c", 0\00"
@.str1155 = private unnamed_addr constant [11 x i8] c"select i1 \00"
@.str1156 = private unnamed_addr constant [16 x i8] c", i32 -1, i32 0\00"
@.str1157 = private unnamed_addr constant [11 x i8] c"select i1 \00"
@.str1158 = private unnamed_addr constant [14 x i8] c", i32 1, i32 \00"
@.str1159 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
@.str1160 = private unnamed_addr constant [3 x i8] c", \00"
@.str1161 = private unnamed_addr constant [9 x i8] c"add i32 \00"
@.str1162 = private unnamed_addr constant [3 x i8] c", \00"
@.str1163 = private unnamed_addr constant [14 x i8] c"icmp sle i32 \00"
@.str1164 = private unnamed_addr constant [3 x i8] c", \00"
@.str1165 = private unnamed_addr constant [11 x i8] c"select i1 \00"
@.str1166 = private unnamed_addr constant [7 x i8] c", i32 \00"
@.str1167 = private unnamed_addr constant [7 x i8] c", i32 \00"
@.str1168 = private unnamed_addr constant [6 x i8] c"fixed\00"
@.str1169 = private unnamed_addr constant [11 x i8] c"smoothstep\00"
@.str1170 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
@.str1171 = private unnamed_addr constant [4 x i8] c", 0\00"
@.str1172 = private unnamed_addr constant [11 x i8] c"select i1 \00"
@.str1173 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00"
@.str1174 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00"
@.str1175 = private unnamed_addr constant [8 x i8] c", 65536\00"
@.str1176 = private unnamed_addr constant [11 x i8] c"select i1 \00"
@.str1177 = private unnamed_addr constant [18 x i8] c", i32 65536, i32 \00"
@.str1178 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
@.str1179 = private unnamed_addr constant [4 x i8] c", 2\00"
@.str1180 = private unnamed_addr constant [17 x i8] c"sub i32 196608, \00"
@.str1181 = private unnamed_addr constant [6 x i8] c"fixed\00"
@.str1182 = private unnamed_addr constant [6 x i8] c"fixed\00"
@.str1183 = 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"
@.str1184 = private unnamed_addr constant [34 x i8] c"define i32 @fn_fx_sqrt(i32 %x) {\0A\00"
@.str1185 = 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"
@.str1186 = private unnamed_addr constant [19 x i8] c"ret0:\0A ret i32 0\0A\00"
@.str1187 = private unnamed_addr constant [58 x i8] c"go:\0A %x64 = sext i32 %x to i64\0A %n0 = shl i64 %x64, 16\0A\00"
@.str1188 = private unnamed_addr constant [58 x i8] c" %np = alloca i64\0A %rp = alloca i64\0A %bp = alloca i64\0A\00"
@.str1189 = 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"
@.str1190 = 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"
@.str1191 = 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"
@.str1192 = 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"
@.str1193 = 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"
@.str1194 = 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"
@.str1195 = 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"
@.str1196 = 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"
@.str1197 = 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"
@.str1198 = private unnamed_addr constant [33 x i8] c"define i32 @fn_fx_sin(i32 %x) {\0A\00"
@.str1199 = 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"
@.str1200 = 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"
@.str1201 = private unnamed_addr constant [51 x i8] c" %i1 = add i64 %i0m, 1\0A %i1m = and i64 %i1, 255\0A\00"
@.str1202 = 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"
@.str1203 = 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"
@.str1204 = 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"
@.str1205 = private unnamed_addr constant [43 x i8] c"define i32 @fn_fx_atan2(i32 %y, i32 %x) {\0A\00"
@.str1206 = private unnamed_addr constant [8 x i8] c"entry:\0A\00"
@.str1207 = private unnamed_addr constant [27 x i8] c" %xz = icmp eq i32 %x, 0\0A\00"
@.str1208 = private unnamed_addr constant [27 x i8] c" %yz = icmp eq i32 %y, 0\0A\00"
@.str1209 = private unnamed_addr constant [28 x i8] c" %both0 = and i1 %xz, %yz\0A\00"
@.str1210 = private unnamed_addr constant [37 x i8] c" br i1 %both0, label %z, label %go\0A\00"
@.str1211 = private unnamed_addr constant [4 x i8] c"z:\0A\00"
@.str1212 = private unnamed_addr constant [13 x i8] c" ret i32 0\0A\00"
@.str1213 = private unnamed_addr constant [5 x i8] c"go:\0A\00"
@.str1214 = private unnamed_addr constant [30 x i8] c" %yneg = icmp slt i32 %y, 0\0A\00"
@.str1215 = private unnamed_addr constant [24 x i8] c" %yng = sub i32 0, %y\0A\00"
@.str1216 = private unnamed_addr constant [44 x i8] c" %ay0 = select i1 %yneg, i32 %yng, i32 %y\0A\00"
@.str1217 = private unnamed_addr constant [25 x i8] c" %ay = add i32 %ay0, 1\0A\00"
@.str1218 = private unnamed_addr constant [30 x i8] c" %xpos = icmp sge i32 %x, 0\0A\00"
@.str1219 = private unnamed_addr constant [37 x i8] c" br i1 %xpos, label %xp, label %xn\0A\00"
@.str1220 = private unnamed_addr constant [5 x i8] c"xp:\0A\00"
@.str1221 = private unnamed_addr constant [25 x i8] c" %n1 = sub i32 %x, %ay\0A\00"
@.str1222 = private unnamed_addr constant [25 x i8] c" %d1 = add i32 %x, %ay\0A\00"
@.str1223 = private unnamed_addr constant [16 x i8] c" br label %dv\0A\00"
@.str1224 = private unnamed_addr constant [5 x i8] c"xn:\0A\00"
@.str1225 = private unnamed_addr constant [25 x i8] c" %n2 = add i32 %x, %ay\0A\00"
@.str1226 = private unnamed_addr constant [25 x i8] c" %d2 = sub i32 %ay, %x\0A\00"
@.str1227 = private unnamed_addr constant [16 x i8] c" br label %dv\0A\00"
@.str1228 = private unnamed_addr constant [5 x i8] c"dv:\0A\00"
@.str1229 = private unnamed_addr constant [45 x i8] c" %num = phi i32 [ %n1, %xp ], [ %n2, %xn ]\0A\00"
@.str1230 = private unnamed_addr constant [45 x i8] c" %den = phi i32 [ %d1, %xp ], [ %d2, %xn ]\0A\00"
@.str1231 = private unnamed_addr constant [51 x i8] c" %base = phi i32 [ 51472, %xp ], [ 154416, %xn ]\0A\00"
@.str1232 = private unnamed_addr constant [31 x i8] c" %n64 = sext i32 %num to i64\0A\00"
@.str1233 = private unnamed_addr constant [27 x i8] c" %nsh = shl i64 %n64, 16\0A\00"
@.str1234 = private unnamed_addr constant [31 x i8] c" %d64 = sext i32 %den to i64\0A\00"
@.str1235 = private unnamed_addr constant [30 x i8] c" %rdv = sdiv i64 %nsh, %d64\0A\00"
@.str1236 = private unnamed_addr constant [30 x i8] c" %r = trunc i64 %rdv to i32\0A\00"
@.str1237 = private unnamed_addr constant [30 x i8] c" %r64a = sext i32 %r to i64\0A\00"
@.str1238 = private unnamed_addr constant [30 x i8] c" %r64b = sext i32 %r to i64\0A\00"
@.str1239 = private unnamed_addr constant [30 x i8] c" %rr = mul i64 %r64a, %r64b\0A\00"
@.str1240 = private unnamed_addr constant [27 x i8] c" %rrs = ashr i64 %rr, 16\0A\00"
@.str1241 = private unnamed_addr constant [31 x i8] c" %r2 = trunc i64 %rrs to i32\0A\00"
@.str1242 = private unnamed_addr constant [30 x i8] c" %r2e = sext i32 %r2 to i64\0A\00"
@.str1243 = private unnamed_addr constant [28 x i8] c" %re = sext i32 %r to i64\0A\00"
@.str1244 = private unnamed_addr constant [28 x i8] c" %r3m = mul i64 %r2e, %re\0A\00"
@.str1245 = private unnamed_addr constant [28 x i8] c" %r3s = ashr i64 %r3m, 16\0A\00"
@.str1246 = private unnamed_addr constant [31 x i8] c" %r3 = trunc i64 %r3s to i32\0A\00"
@.str1247 = private unnamed_addr constant [30 x i8] c" %r3e = sext i32 %r3 to i64\0A\00"
@.str1248 = private unnamed_addr constant [29 x i8] c" %c1 = mul i64 %r3e, 12865\0A\00"
@.str1249 = private unnamed_addr constant [27 x i8] c" %c1s = ashr i64 %c1, 16\0A\00"
@.str1250 = private unnamed_addr constant [31 x i8] c" %t1 = trunc i64 %c1s to i32\0A\00"
@.str1251 = private unnamed_addr constant [29 x i8] c" %re2 = sext i32 %r to i64\0A\00"
@.str1252 = private unnamed_addr constant [29 x i8] c" %c2 = mul i64 %re2, 64337\0A\00"
@.str1253 = private unnamed_addr constant [27 x i8] c" %c2s = ashr i64 %c2, 16\0A\00"
@.str1254 = private unnamed_addr constant [31 x i8] c" %t2 = trunc i64 %c2s to i32\0A\00"
@.str1255 = private unnamed_addr constant [28 x i8] c" %poly = sub i32 %t1, %t2\0A\00"
@.str1256 = private unnamed_addr constant [33 x i8] c" %angle = add i32 %poly, %base\0A\00"
@.str1257 = private unnamed_addr constant [31 x i8] c" %angneg = sub i32 0, %angle\0A\00"
@.str1258 = private unnamed_addr constant [51 x i8] c" %res = select i1 %yneg, i32 %angneg, i32 %angle\0A\00"
@.str1259 = private unnamed_addr constant [16 x i8] c" ret i32 %res\0A\00"
@.str1260 = private unnamed_addr constant [3 x i8] c"}\0A\00"
@.str1261 = private unnamed_addr constant [34 x i8] c"define i32 @fn_fx_exp2(i32 %x) {\0A\00"
@.str1262 = 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"
@.str1263 = 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"
@.str1264 = 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"
@.str1265 = 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"
@.str1266 = 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"
@.str1267 = 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"
@.str1268 = private unnamed_addr constant [29 x i8] c" %p = trunc i64 %p1 to i32\0A\00"
@.str1269 = private unnamed_addr constant [30 x i8] c" %ipos = icmp sge i32 %i, 0\0A\00"
@.str1270 = 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"
@.str1271 = private unnamed_addr constant [26 x i8] c" %shl = shl i32 %p, %sa\0A\00"
@.str1272 = 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"
@.str1273 = private unnamed_addr constant [27 x i8] c" %shr = ashr i32 %p, %ra\0A\00"
@.str1274 = private unnamed_addr constant [63 x i8] c" %res = select i1 %ipos, i32 %shl, i32 %shr\0A ret i32 %res\0A}\0A\00"
@.str1275 = private unnamed_addr constant [37 x i8] c"declare i32 @llvm.ctlz.i32(i32, i1)\0A\00"
@.str1276 = private unnamed_addr constant [34 x i8] c"define i32 @fn_fx_log2(i32 %x) {\0A\00"
@.str1277 = 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"
@.str1278 = private unnamed_addr constant [28 x i8] c"neg:\0A ret i32 -2147483648\0A\00"
@.str1279 = 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"
@.str1280 = private unnamed_addr constant [49 x i8] c" %e = sub i32 %pmsb, 16\0A %ef = shl i32 %e, 16\0A\00"
@.str1281 = 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"
@.str1282 = 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"
@.str1283 = private unnamed_addr constant [55 x i8] c" %num = sub i32 %m, 65536\0A %den = add i32 %m, 65536\0A\00"
@.str1284 = 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"
@.str1285 = 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"
@.str1286 = 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"
@.str1287 = 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"
@.str1288 = 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"
@.str1289 = 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"
@.str1290 = 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"
@.str1291 = private unnamed_addr constant [45 x i8] c" %res = add i32 %ef, %l2m\0A ret i32 %res\0A}\0A\00"
@.str1292 = private unnamed_addr constant [10 x i8] c"sext i32 \00"
@.str1293 = private unnamed_addr constant [8 x i8] c" to i64\00"
@.str1294 = private unnamed_addr constant [9 x i8] c"shl i64 \00"
@.str1295 = private unnamed_addr constant [5 x i8] c", 32\00"
@.str1296 = private unnamed_addr constant [10 x i8] c"zext i32 \00"
@.str1297 = private unnamed_addr constant [8 x i8] c" to i64\00"
@.str1298 = private unnamed_addr constant [8 x i8] c"or i64 \00"
@.str1299 = private unnamed_addr constant [3 x i8] c", \00"
@.str1300 = private unnamed_addr constant [10 x i8] c"lshr i64 \00"
@.str1301 = private unnamed_addr constant [5 x i8] c", 32\00"
@.str1302 = private unnamed_addr constant [11 x i8] c"trunc i64 \00"
@.str1303 = private unnamed_addr constant [8 x i8] c" to i32\00"
@.str1304 = private unnamed_addr constant [11 x i8] c"trunc i64 \00"
@.str1305 = private unnamed_addr constant [8 x i8] c" to i32\00"
@.str1306 = private unnamed_addr constant [5 x i8] c"make\00"
@.str1307 = private unnamed_addr constant [5 x i8] c"zero\00"
@.str1308 = private unnamed_addr constant [2 x i8] c"x\00"
@.str1309 = private unnamed_addr constant [2 x i8] c"y\00"
@.str1310 = private unnamed_addr constant [4 x i8] c"add\00"
@.str1311 = private unnamed_addr constant [4 x i8] c"sub\00"
@.str1312 = private unnamed_addr constant [6 x i8] c"scale\00"
@.str1313 = private unnamed_addr constant [4 x i8] c"dot\00"
@.str1314 = private unnamed_addr constant [7 x i8] c"length\00"
@.str1315 = private unnamed_addr constant [9 x i8] c"distance\00"
@.str1316 = private unnamed_addr constant [10 x i8] c"normalize\00"
@.str1317 = private unnamed_addr constant [5 x i8] c"lerp\00"
@.str1318 = private unnamed_addr constant [7 x i8] c"rotate\00"
@.str1319 = private unnamed_addr constant [6 x i8] c"angle\00"
@.str1320 = private unnamed_addr constant [11 x i8] c"from_angle\00"
@.str1321 = private unnamed_addr constant [5 x i8] c"zero\00"
@.str1322 = private unnamed_addr constant [2 x i8] c"0\00"
@.str1323 = private unnamed_addr constant [7 x i8] c"Vector\00"
@.str1324 = private unnamed_addr constant [5 x i8] c"make\00"
@.str1325 = private unnamed_addr constant [7 x i8] c"Vector\00"
@.str1326 = private unnamed_addr constant [2 x i8] c"x\00"
@.str1327 = private unnamed_addr constant [6 x i8] c"fixed\00"
@.str1328 = private unnamed_addr constant [2 x i8] c"y\00"
@.str1329 = private unnamed_addr constant [6 x i8] c"fixed\00"
@.str1330 = private unnamed_addr constant [4 x i8] c"add\00"
@.str1331 = private unnamed_addr constant [9 x i8] c"add i32 \00"
@.str1332 = private unnamed_addr constant [3 x i8] c", \00"
@.str1333 = private unnamed_addr constant [9 x i8] c"add i32 \00"
@.str1334 = private unnamed_addr constant [3 x i8] c", \00"
@.str1335 = private unnamed_addr constant [7 x i8] c"Vector\00"
@.str1336 = private unnamed_addr constant [4 x i8] c"sub\00"
@.str1337 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
@.str1338 = private unnamed_addr constant [3 x i8] c", \00"
@.str1339 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
@.str1340 = private unnamed_addr constant [3 x i8] c", \00"
@.str1341 = private unnamed_addr constant [7 x i8] c"Vector\00"
@.str1342 = private unnamed_addr constant [6 x i8] c"scale\00"
@.str1343 = private unnamed_addr constant [7 x i8] c"Vector\00"
@.str1344 = private unnamed_addr constant [4 x i8] c"dot\00"
@.str1345 = private unnamed_addr constant [9 x i8] c"add i32 \00"
@.str1346 = private unnamed_addr constant [3 x i8] c", \00"
@.str1347 = private unnamed_addr constant [6 x i8] c"fixed\00"
@.str1348 = private unnamed_addr constant [7 x i8] c"length\00"
@.str1349 = private unnamed_addr constant [9 x i8] c"add i32 \00"
@.str1350 = private unnamed_addr constant [3 x i8] c", \00"
@.str1351 = private unnamed_addr constant [26 x i8] c"call i32 @fn_fx_sqrt(i32 \00"
@.str1352 = private unnamed_addr constant [2 x i8] c")\00"
@.str1353 = private unnamed_addr constant [6 x i8] c"fixed\00"
@.str1354 = private unnamed_addr constant [9 x i8] c"distance\00"
@.str1355 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
@.str1356 = private unnamed_addr constant [3 x i8] c", \00"
@.str1357 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
@.str1358 = private unnamed_addr constant [3 x i8] c", \00"
@.str1359 = private unnamed_addr constant [9 x i8] c"add i32 \00"
@.str1360 = private unnamed_addr constant [3 x i8] c", \00"
@.str1361 = private unnamed_addr constant [26 x i8] c"call i32 @fn_fx_sqrt(i32 \00"
@.str1362 = private unnamed_addr constant [2 x i8] c")\00"
@.str1363 = private unnamed_addr constant [6 x i8] c"fixed\00"
@.str1364 = private unnamed_addr constant [10 x i8] c"normalize\00"
@.str1365 = private unnamed_addr constant [9 x i8] c"add i32 \00"
@.str1366 = private unnamed_addr constant [3 x i8] c", \00"
@.str1367 = private unnamed_addr constant [26 x i8] c"call i32 @fn_fx_sqrt(i32 \00"
@.str1368 = private unnamed_addr constant [2 x i8] c")\00"
@.str1369 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00"
@.str1370 = private unnamed_addr constant [4 x i8] c", 0\00"
@.str1371 = private unnamed_addr constant [11 x i8] c"select i1 \00"
@.str1372 = private unnamed_addr constant [18 x i8] c", i32 65536, i32 \00"
@.str1373 = private unnamed_addr constant [6 x i8] c"65536\00"
@.str1374 = private unnamed_addr constant [7 x i8] c"Vector\00"
@.str1375 = private unnamed_addr constant [7 x i8] c"rotate\00"
@.str1376 = private unnamed_addr constant [25 x i8] c"call i32 @fn_fx_sin(i32 \00"
@.str1377 = private unnamed_addr constant [2 x i8] c")\00"
@.str1378 = private unnamed_addr constant [9 x i8] c"add i32 \00"
@.str1379 = private unnamed_addr constant [9 x i8] c", 102944\00"
@.str1380 = private unnamed_addr constant [25 x i8] c"call i32 @fn_fx_sin(i32 \00"
@.str1381 = private unnamed_addr constant [2 x i8] c")\00"
@.str1382 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
@.str1383 = private unnamed_addr constant [3 x i8] c", \00"
@.str1384 = private unnamed_addr constant [9 x i8] c"add i32 \00"
@.str1385 = private unnamed_addr constant [3 x i8] c", \00"
@.str1386 = private unnamed_addr constant [7 x i8] c"Vector\00"
@.str1387 = private unnamed_addr constant [6 x i8] c"angle\00"
@.str1388 = private unnamed_addr constant [27 x i8] c"call i32 @fn_fx_atan2(i32 \00"
@.str1389 = private unnamed_addr constant [7 x i8] c", i32 \00"
@.str1390 = private unnamed_addr constant [2 x i8] c")\00"
@.str1391 = private unnamed_addr constant [6 x i8] c"fixed\00"
@.str1392 = private unnamed_addr constant [11 x i8] c"from_angle\00"
@.str1393 = private unnamed_addr constant [25 x i8] c"call i32 @fn_fx_sin(i32 \00"
@.str1394 = private unnamed_addr constant [2 x i8] c")\00"
@.str1395 = private unnamed_addr constant [9 x i8] c"add i32 \00"
@.str1396 = private unnamed_addr constant [9 x i8] c", 102944\00"
@.str1397 = private unnamed_addr constant [25 x i8] c"call i32 @fn_fx_sin(i32 \00"
@.str1398 = private unnamed_addr constant [2 x i8] c")\00"
@.str1399 = private unnamed_addr constant [7 x i8] c"Vector\00"
@.str1400 = private unnamed_addr constant [7 x i8] c"Vector\00"
@.str1401 = private unnamed_addr constant [7 x i8] c"length\00"
@.str1402 = private unnamed_addr constant [8 x i8] c"char_at\00"
@.str1403 = private unnamed_addr constant [6 x i8] c"slice\00"
@.str1404 = private unnamed_addr constant [7 x i8] c"equals\00"
@.str1405 = private unnamed_addr constant [7 x i8] c"concat\00"
@.str1406 = private unnamed_addr constant [7 x i8] c"to_int\00"
@.str1407 = private unnamed_addr constant [9 x i8] c"from_int\00"
@.str1408 = private unnamed_addr constant [12 x i8] c"starts_with\00"
@.str1409 = private unnamed_addr constant [10 x i8] c"ends_with\00"
@.str1410 = private unnamed_addr constant [9 x i8] c"contains\00"
@.str1411 = private unnamed_addr constant [9 x i8] c"index_of\00"
@.str1412 = private unnamed_addr constant [6 x i8] c"upper\00"
@.str1413 = private unnamed_addr constant [6 x i8] c"lower\00"
@.str1414 = private unnamed_addr constant [5 x i8] c"trim\00"
@.str1415 = private unnamed_addr constant [7 x i8] c"repeat\00"
@.str1416 = private unnamed_addr constant [9 x i8] c"pad_left\00"
@.str1417 = private unnamed_addr constant [10 x i8] c"pad_right\00"
@.str1418 = private unnamed_addr constant [6 x i8] c"split\00"
@.str1419 = private unnamed_addr constant [5 x i8] c"join\00"
@.str1420 = private unnamed_addr constant [8 x i8] c"replace\00"
@.str1421 = private unnamed_addr constant [9 x i8] c"from_int\00"
@.str1422 = private unnamed_addr constant [26 x i8] c"call ptr @fn_int_str(i32 \00"
@.str1423 = private unnamed_addr constant [2 x i8] c")\00"
@.str1424 = private unnamed_addr constant [7 x i8] c"string\00"
@.str1425 = private unnamed_addr constant [6 x i8] c"slice\00"
@.str1426 = private unnamed_addr constant [28 x i8] c"call ptr @fn_str_slice(ptr \00"
@.str1427 = private unnamed_addr constant [7 x i8] c", i32 \00"
@.str1428 = private unnamed_addr constant [7 x i8] c", i32 \00"
@.str1429 = private unnamed_addr constant [2 x i8] c")\00"
@.str1430 = private unnamed_addr constant [7 x i8] c"string\00"
@.str1431 = private unnamed_addr constant [7 x i8] c"equals\00"
@.str1432 = private unnamed_addr constant [25 x i8] c"call i32 @fn_str_eq(ptr \00"
@.str1433 = private unnamed_addr constant [7 x i8] c", ptr \00"
@.str1434 = private unnamed_addr constant [2 x i8] c")\00"
@.str1435 = private unnamed_addr constant [5 x i8] c"bool\00"
@.str1436 = private unnamed_addr constant [7 x i8] c"concat\00"
@.str1437 = private unnamed_addr constant [29 x i8] c"call ptr @fn_str_concat(ptr \00"
@.str1438 = private unnamed_addr constant [7 x i8] c", ptr \00"
@.str1439 = private unnamed_addr constant [2 x i8] c")\00"
@.str1440 = private unnamed_addr constant [7 x i8] c"string\00"
@.str1441 = private unnamed_addr constant [7 x i8] c"length\00"
@.str1442 = private unnamed_addr constant [22 x i8] c"call i64 @strlen(ptr \00"
@.str1443 = private unnamed_addr constant [2 x i8] c")\00"
@.str1444 = private unnamed_addr constant [11 x i8] c"trunc i64 \00"
@.str1445 = private unnamed_addr constant [8 x i8] c" to i32\00"
@.str1446 = private unnamed_addr constant [4 x i8] c"int\00"
@.str1447 = private unnamed_addr constant [8 x i8] c"char_at\00"
@.str1448 = private unnamed_addr constant [32 x i8] c"getelementptr inbounds i8, ptr \00"
@.str1449 = private unnamed_addr constant [7 x i8] c", i32 \00"
@.str1450 = private unnamed_addr constant [14 x i8] c"load i8, ptr \00"
@.str1451 = private unnamed_addr constant [9 x i8] c"zext i8 \00"
@.str1452 = private unnamed_addr constant [8 x i8] c" to i32\00"
@.str1453 = private unnamed_addr constant [4 x i8] c"int\00"
@.str1454 = private unnamed_addr constant [7 x i8] c"to_int\00"
@.str1455 = private unnamed_addr constant [20 x i8] c"call i32 @atoi(ptr \00"
@.str1456 = private unnamed_addr constant [2 x i8] c")\00"
@.str1457 = private unnamed_addr constant [4 x i8] c"int\00"
@.str1458 = private unnamed_addr constant [6 x i8] c"upper\00"
@.str1459 = private unnamed_addr constant [28 x i8] c"call ptr @fn_str_upper(ptr \00"
@.str1460 = private unnamed_addr constant [2 x i8] c")\00"
@.str1461 = private unnamed_addr constant [7 x i8] c"string\00"
@.str1462 = private unnamed_addr constant [6 x i8] c"lower\00"
@.str1463 = private unnamed_addr constant [28 x i8] c"call ptr @fn_str_lower(ptr \00"
@.str1464 = private unnamed_addr constant [2 x i8] c")\00"
@.str1465 = private unnamed_addr constant [7 x i8] c"string\00"
@.str1466 = private unnamed_addr constant [5 x i8] c"trim\00"
@.str1467 = private unnamed_addr constant [27 x i8] c"call ptr @fn_str_trim(ptr \00"
@.str1468 = private unnamed_addr constant [2 x i8] c")\00"
@.str1469 = private unnamed_addr constant [7 x i8] c"string\00"
@.str1470 = private unnamed_addr constant [7 x i8] c"repeat\00"
@.str1471 = private unnamed_addr constant [29 x i8] c"call ptr @fn_str_repeat(ptr \00"
@.str1472 = private unnamed_addr constant [7 x i8] c", i32 \00"
@.str1473 = private unnamed_addr constant [2 x i8] c")\00"
@.str1474 = private unnamed_addr constant [7 x i8] c"string\00"
@.str1475 = private unnamed_addr constant [9 x i8] c"pad_left\00"
@.str1476 = private unnamed_addr constant [26 x i8] c"call ptr @fn_str_pad(ptr \00"
@.str1477 = private unnamed_addr constant [7 x i8] c", i32 \00"
@.str1478 = private unnamed_addr constant [8 x i8] c", i1 1)\00"
@.str1479 = private unnamed_addr constant [7 x i8] c"string\00"
@.str1480 = private unnamed_addr constant [10 x i8] c"pad_right\00"
@.str1481 = private unnamed_addr constant [26 x i8] c"call ptr @fn_str_pad(ptr \00"
@.str1482 = private unnamed_addr constant [7 x i8] c", i32 \00"
@.str1483 = private unnamed_addr constant [8 x i8] c", i1 0)\00"
@.str1484 = private unnamed_addr constant [7 x i8] c"string\00"
@.str1485 = private unnamed_addr constant [8 x i8] c"replace\00"
@.str1486 = private unnamed_addr constant [30 x i8] c"call ptr @fn_str_replace(ptr \00"
@.str1487 = private unnamed_addr constant [7 x i8] c", ptr \00"
@.str1488 = private unnamed_addr constant [7 x i8] c", ptr \00"
@.str1489 = private unnamed_addr constant [2 x i8] c")\00"
@.str1490 = private unnamed_addr constant [7 x i8] c"string\00"
@.str1491 = private unnamed_addr constant [6 x i8] c"split\00"
@.str1492 = private unnamed_addr constant [28 x i8] c"call ptr @fn_str_split(ptr \00"
@.str1493 = private unnamed_addr constant [7 x i8] c", ptr \00"
@.str1494 = private unnamed_addr constant [2 x i8] c")\00"
@.str1495 = private unnamed_addr constant [9 x i8] c"[]string\00"
@.str1496 = private unnamed_addr constant [5 x i8] c"join\00"
@.str1497 = private unnamed_addr constant [27 x i8] c"call ptr @fn_str_join(ptr \00"
@.str1498 = private unnamed_addr constant [7 x i8] c", ptr \00"
@.str1499 = private unnamed_addr constant [2 x i8] c")\00"
@.str1500 = private unnamed_addr constant [7 x i8] c"string\00"
@.str1501 = private unnamed_addr constant [9 x i8] c"contains\00"
@.str1502 = private unnamed_addr constant [9 x i8] c"index_of\00"
@.str1503 = private unnamed_addr constant [22 x i8] c"call ptr @strstr(ptr \00"
@.str1504 = private unnamed_addr constant [7 x i8] c", ptr \00"
@.str1505 = private unnamed_addr constant [2 x i8] c")\00"
@.str1506 = private unnamed_addr constant [9 x i8] c"contains\00"
@.str1507 = private unnamed_addr constant [13 x i8] c"icmp ne ptr \00"
@.str1508 = private unnamed_addr constant [7 x i8] c", null\00"
@.str1509 = private unnamed_addr constant [9 x i8] c"zext i1 \00"
@.str1510 = private unnamed_addr constant [8 x i8] c" to i32\00"
@.str1511 = private unnamed_addr constant [5 x i8] c"bool\00"
@.str1512 = private unnamed_addr constant [13 x i8] c"icmp eq ptr \00"
@.str1513 = private unnamed_addr constant [7 x i8] c", null\00"
@.str1514 = private unnamed_addr constant [14 x i8] c"ptrtoint ptr \00"
@.str1515 = private unnamed_addr constant [8 x i8] c" to i64\00"
@.str1516 = private unnamed_addr constant [14 x i8] c"ptrtoint ptr \00"
@.str1517 = private unnamed_addr constant [8 x i8] c" to i64\00"
@.str1518 = private unnamed_addr constant [9 x i8] c"sub i64 \00"
@.str1519 = private unnamed_addr constant [3 x i8] c", \00"
@.str1520 = private unnamed_addr constant [11 x i8] c"trunc i64 \00"
@.str1521 = private unnamed_addr constant [8 x i8] c" to i32\00"
@.str1522 = private unnamed_addr constant [11 x i8] c"select i1 \00"
@.str1523 = private unnamed_addr constant [15 x i8] c", i32 -1, i32 \00"
@.str1524 = private unnamed_addr constant [4 x i8] c"int\00"
@.str1525 = private unnamed_addr constant [22 x i8] c"call i64 @strlen(ptr \00"
@.str1526 = private unnamed_addr constant [2 x i8] c")\00"
@.str1527 = private unnamed_addr constant [12 x i8] c"starts_with\00"
@.str1528 = private unnamed_addr constant [23 x i8] c"call i32 @strncmp(ptr \00"
@.str1529 = private unnamed_addr constant [7 x i8] c", ptr \00"
@.str1530 = private unnamed_addr constant [7 x i8] c", i64 \00"
@.str1531 = private unnamed_addr constant [2 x i8] c")\00"
@.str1532 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00"
@.str1533 = private unnamed_addr constant [4 x i8] c", 0\00"
@.str1534 = private unnamed_addr constant [9 x i8] c"zext i1 \00"
@.str1535 = private unnamed_addr constant [8 x i8] c" to i32\00"
@.str1536 = private unnamed_addr constant [5 x i8] c"bool\00"
@.str1537 = private unnamed_addr constant [22 x i8] c"call i64 @strlen(ptr \00"
@.str1538 = private unnamed_addr constant [2 x i8] c")\00"
@.str1539 = private unnamed_addr constant [9 x i8] c"sub i64 \00"
@.str1540 = private unnamed_addr constant [3 x i8] c", \00"
@.str1541 = private unnamed_addr constant [4 x i8] c"i32\00"
@.str1542 = private unnamed_addr constant [4 x i8] c"i32\00"
@.str1543 = private unnamed_addr constant [2 x i8] c"0\00"
@.str1544 = private unnamed_addr constant [14 x i8] c"icmp slt i64 \00"
@.str1545 = private unnamed_addr constant [4 x i8] c", 0\00"
@.str1546 = private unnamed_addr constant [7 x i8] c"ew_cmp\00"
@.str1547 = private unnamed_addr constant [7 x i8] c"ew_end\00"
@.str1548 = private unnamed_addr constant [9 x i8] c" br i1 \00"
@.str1549 = private unnamed_addr constant [10 x i8] c", label %\00"
@.str1550 = private unnamed_addr constant [10 x i8] c", label %\00"
@.str1551 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str1552 = private unnamed_addr constant [3 x i8] c":\0A\00"
@.str1553 = private unnamed_addr constant [32 x i8] c"getelementptr inbounds i8, ptr \00"
@.str1554 = private unnamed_addr constant [7 x i8] c", i64 \00"
@.str1555 = private unnamed_addr constant [23 x i8] c"call i32 @strncmp(ptr \00"
@.str1556 = private unnamed_addr constant [7 x i8] c", ptr \00"
@.str1557 = private unnamed_addr constant [7 x i8] c", i64 \00"
@.str1558 = private unnamed_addr constant [2 x i8] c")\00"
@.str1559 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00"
@.str1560 = private unnamed_addr constant [4 x i8] c", 0\00"
@.str1561 = private unnamed_addr constant [9 x i8] c"zext i1 \00"
@.str1562 = private unnamed_addr constant [8 x i8] c" to i32\00"
@.str1563 = private unnamed_addr constant [4 x i8] c"i32\00"
@.str1564 = private unnamed_addr constant [13 x i8] c" br label %\00"
@.str1565 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str1566 = private unnamed_addr constant [3 x i8] c":\0A\00"
@.str1567 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
@.str1568 = private unnamed_addr constant [5 x i8] c"bool\00"
@.str1569 = private unnamed_addr constant [36 x i8] c"define ptr @fn_str_upper(ptr %s) {\0A\00"
@.str1570 = private unnamed_addr constant [8 x i8] c"entry:\0A\00"
@.str1571 = private unnamed_addr constant [33 x i8] c" %n = call i64 @strlen(ptr %s)\0A\00"
@.str1572 = private unnamed_addr constant [23 x i8] c" %sz = add i64 %n, 1\0A\00"
@.str1573 = private unnamed_addr constant [36 x i8] c" %out = call ptr @malloc(i64 %sz)\0A\00"
@.str1574 = private unnamed_addr constant [20 x i8] c" %ip = alloca i64\0A\00"
@.str1575 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %ip\0A\00"
@.str1576 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00"
@.str1577 = private unnamed_addr constant [7 x i8] c"cond:\0A\00"
@.str1578 = private unnamed_addr constant [26 x i8] c" %i = load i64, ptr %ip\0A\00"
@.str1579 = private unnamed_addr constant [28 x i8] c" %d = icmp ult i64 %i, %n\0A\00"
@.str1580 = private unnamed_addr constant [37 x i8] c" br i1 %d, label %body, label %fin\0A\00"
@.str1581 = private unnamed_addr constant [7 x i8] c"body:\0A\00"
@.str1582 = private unnamed_addr constant [42 x i8] c" %sp = getelementptr i8, ptr %s, i64 %i\0A\00"
@.str1583 = private unnamed_addr constant [25 x i8] c" %c = load i8, ptr %sp\0A\00"
@.str1584 = private unnamed_addr constant [28 x i8] c" %ge = icmp uge i8 %c, 97\0A\00"
@.str1585 = private unnamed_addr constant [29 x i8] c" %le = icmp ule i8 %c, 122\0A\00"
@.str1586 = private unnamed_addr constant [25 x i8] c" %in = and i1 %ge, %le\0A\00"
@.str1587 = private unnamed_addr constant [24 x i8] c" %cc = add i8 %c, -32\0A\00"
@.str1588 = private unnamed_addr constant [38 x i8] c" %oc = select i1 %in, i8 %cc, i8 %c\0A\00"
@.str1589 = private unnamed_addr constant [44 x i8] c" %op = getelementptr i8, ptr %out, i64 %i\0A\00"
@.str1590 = private unnamed_addr constant [25 x i8] c" store i8 %oc, ptr %op\0A\00"
@.str1591 = private unnamed_addr constant [23 x i8] c" %i1 = add i64 %i, 1\0A\00"
@.str1592 = private unnamed_addr constant [26 x i8] c" store i64 %i1, ptr %ip\0A\00"
@.str1593 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00"
@.str1594 = private unnamed_addr constant [6 x i8] c"fin:\0A\00"
@.str1595 = private unnamed_addr constant [44 x i8] c" %tp = getelementptr i8, ptr %out, i64 %n\0A\00"
@.str1596 = private unnamed_addr constant [23 x i8] c" store i8 0, ptr %tp\0A\00"
@.str1597 = private unnamed_addr constant [16 x i8] c" ret ptr %out\0A\00"
@.str1598 = private unnamed_addr constant [3 x i8] c"}\0A\00"
@.str1599 = private unnamed_addr constant [36 x i8] c"define ptr @fn_str_lower(ptr %s) {\0A\00"
@.str1600 = private unnamed_addr constant [8 x i8] c"entry:\0A\00"
@.str1601 = private unnamed_addr constant [33 x i8] c" %n = call i64 @strlen(ptr %s)\0A\00"
@.str1602 = private unnamed_addr constant [23 x i8] c" %sz = add i64 %n, 1\0A\00"
@.str1603 = private unnamed_addr constant [36 x i8] c" %out = call ptr @malloc(i64 %sz)\0A\00"
@.str1604 = private unnamed_addr constant [20 x i8] c" %ip = alloca i64\0A\00"
@.str1605 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %ip\0A\00"
@.str1606 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00"
@.str1607 = private unnamed_addr constant [7 x i8] c"cond:\0A\00"
@.str1608 = private unnamed_addr constant [26 x i8] c" %i = load i64, ptr %ip\0A\00"
@.str1609 = private unnamed_addr constant [28 x i8] c" %d = icmp ult i64 %i, %n\0A\00"
@.str1610 = private unnamed_addr constant [37 x i8] c" br i1 %d, label %body, label %fin\0A\00"
@.str1611 = private unnamed_addr constant [7 x i8] c"body:\0A\00"
@.str1612 = private unnamed_addr constant [42 x i8] c" %sp = getelementptr i8, ptr %s, i64 %i\0A\00"
@.str1613 = private unnamed_addr constant [25 x i8] c" %c = load i8, ptr %sp\0A\00"
@.str1614 = private unnamed_addr constant [28 x i8] c" %ge = icmp uge i8 %c, 65\0A\00"
@.str1615 = private unnamed_addr constant [28 x i8] c" %le = icmp ule i8 %c, 90\0A\00"
@.str1616 = private unnamed_addr constant [25 x i8] c" %in = and i1 %ge, %le\0A\00"
@.str1617 = private unnamed_addr constant [23 x i8] c" %cc = add i8 %c, 32\0A\00"
@.str1618 = private unnamed_addr constant [38 x i8] c" %oc = select i1 %in, i8 %cc, i8 %c\0A\00"
@.str1619 = private unnamed_addr constant [44 x i8] c" %op = getelementptr i8, ptr %out, i64 %i\0A\00"
@.str1620 = private unnamed_addr constant [25 x i8] c" store i8 %oc, ptr %op\0A\00"
@.str1621 = private unnamed_addr constant [23 x i8] c" %i1 = add i64 %i, 1\0A\00"
@.str1622 = private unnamed_addr constant [26 x i8] c" store i64 %i1, ptr %ip\0A\00"
@.str1623 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00"
@.str1624 = private unnamed_addr constant [6 x i8] c"fin:\0A\00"
@.str1625 = private unnamed_addr constant [44 x i8] c" %tp = getelementptr i8, ptr %out, i64 %n\0A\00"
@.str1626 = private unnamed_addr constant [23 x i8] c" store i8 0, ptr %tp\0A\00"
@.str1627 = private unnamed_addr constant [16 x i8] c" ret ptr %out\0A\00"
@.str1628 = private unnamed_addr constant [3 x i8] c"}\0A\00"
@.str1629 = private unnamed_addr constant [35 x i8] c"define ptr @fn_str_trim(ptr %s) {\0A\00"
@.str1630 = private unnamed_addr constant [8 x i8] c"entry:\0A\00"
@.str1631 = private unnamed_addr constant [33 x i8] c" %n = call i64 @strlen(ptr %s)\0A\00"
@.str1632 = private unnamed_addr constant [20 x i8] c" %sp = alloca i64\0A\00"
@.str1633 = private unnamed_addr constant [20 x i8] c" %ep = alloca i64\0A\00"
@.str1634 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %sp\0A\00"
@.str1635 = private unnamed_addr constant [25 x i8] c" store i64 %n, ptr %ep\0A\00"
@.str1636 = private unnamed_addr constant [19 x i8] c" br label %lcond\0A\00"
@.str1637 = private unnamed_addr constant [8 x i8] c"lcond:\0A\00"
@.str1638 = private unnamed_addr constant [27 x i8] c" %a0 = load i64, ptr %sp\0A\00"
@.str1639 = private unnamed_addr constant [27 x i8] c" %e0 = load i64, ptr %ep\0A\00"
@.str1640 = private unnamed_addr constant [32 x i8] c" %lt0 = icmp ult i64 %a0, %e0\0A\00"
@.str1641 = private unnamed_addr constant [41 x i8] c" br i1 %lt0, label %lchk, label %rcond\0A\00"
@.str1642 = private unnamed_addr constant [7 x i8] c"lchk:\0A\00"
@.str1643 = private unnamed_addr constant [43 x i8] c" %p0 = getelementptr i8, ptr %s, i64 %a0\0A\00"
@.str1644 = private unnamed_addr constant [26 x i8] c" %c0 = load i8, ptr %p0\0A\00"
@.str1645 = private unnamed_addr constant [36 x i8] c" %ws0 = call i1 @fn_is_ws(i8 %c0)\0A\00"
@.str1646 = private unnamed_addr constant [41 x i8] c" br i1 %ws0, label %linc, label %rcond\0A\00"
@.str1647 = private unnamed_addr constant [7 x i8] c"linc:\0A\00"
@.str1648 = private unnamed_addr constant [24 x i8] c" %a1 = add i64 %a0, 1\0A\00"
@.str1649 = private unnamed_addr constant [26 x i8] c" store i64 %a1, ptr %sp\0A\00"
@.str1650 = private unnamed_addr constant [19 x i8] c" br label %lcond\0A\00"
@.str1651 = private unnamed_addr constant [8 x i8] c"rcond:\0A\00"
@.str1652 = private unnamed_addr constant [27 x i8] c" %a2 = load i64, ptr %sp\0A\00"
@.str1653 = private unnamed_addr constant [27 x i8] c" %e2 = load i64, ptr %ep\0A\00"
@.str1654 = private unnamed_addr constant [32 x i8] c" %lt2 = icmp ult i64 %a2, %e2\0A\00"
@.str1655 = private unnamed_addr constant [41 x i8] c" br i1 %lt2, label %rchk, label %build\0A\00"
@.str1656 = private unnamed_addr constant [7 x i8] c"rchk:\0A\00"
@.str1657 = private unnamed_addr constant [25 x i8] c" %em1 = sub i64 %e2, 1\0A\00"
@.str1658 = private unnamed_addr constant [44 x i8] c" %p1 = getelementptr i8, ptr %s, i64 %em1\0A\00"
@.str1659 = private unnamed_addr constant [26 x i8] c" %c1 = load i8, ptr %p1\0A\00"
@.str1660 = private unnamed_addr constant [36 x i8] c" %ws1 = call i1 @fn_is_ws(i8 %c1)\0A\00"
@.str1661 = private unnamed_addr constant [41 x i8] c" br i1 %ws1, label %rdec, label %build\0A\00"
@.str1662 = private unnamed_addr constant [7 x i8] c"rdec:\0A\00"
@.str1663 = private unnamed_addr constant [27 x i8] c" store i64 %em1, ptr %ep\0A\00"
@.str1664 = private unnamed_addr constant [19 x i8] c" br label %rcond\0A\00"
@.str1665 = private unnamed_addr constant [8 x i8] c"build:\0A\00"
@.str1666 = private unnamed_addr constant [27 x i8] c" %st = load i64, ptr %sp\0A\00"
@.str1667 = private unnamed_addr constant [27 x i8] c" %en = load i64, ptr %ep\0A\00"
@.str1668 = private unnamed_addr constant [27 x i8] c" %len = sub i64 %en, %st\0A\00"
@.str1669 = private unnamed_addr constant [25 x i8] c" %sz = add i64 %len, 1\0A\00"
@.str1670 = private unnamed_addr constant [36 x i8] c" %out = call ptr @malloc(i64 %sz)\0A\00"
@.str1671 = private unnamed_addr constant [44 x i8] c" %src = getelementptr i8, ptr %s, i64 %st\0A\00"
@.str1672 = private unnamed_addr constant [50 x i8] c" call ptr @memcpy(ptr %out, ptr %src, i64 %len)\0A\00"
@.str1673 = private unnamed_addr constant [46 x i8] c" %tp = getelementptr i8, ptr %out, i64 %len\0A\00"
@.str1674 = private unnamed_addr constant [23 x i8] c" store i8 0, ptr %tp\0A\00"
@.str1675 = private unnamed_addr constant [16 x i8] c" ret ptr %out\0A\00"
@.str1676 = private unnamed_addr constant [3 x i8] c"}\0A\00"
@.str1677 = private unnamed_addr constant [30 x i8] c"define i1 @fn_is_ws(i8 %c) {\0A\00"
@.str1678 = private unnamed_addr constant [26 x i8] c" %a = icmp eq i8 %c, 32\0A\00"
@.str1679 = private unnamed_addr constant [25 x i8] c" %b = icmp eq i8 %c, 9\0A\00"
@.str1680 = private unnamed_addr constant [26 x i8] c" %d = icmp eq i8 %c, 10\0A\00"
@.str1681 = private unnamed_addr constant [26 x i8] c" %e = icmp eq i8 %c, 13\0A\00"
@.str1682 = private unnamed_addr constant [22 x i8] c" %ab = or i1 %a, %b\0A\00"
@.str1683 = private unnamed_addr constant [22 x i8] c" %de = or i1 %d, %e\0A\00"
@.str1684 = private unnamed_addr constant [23 x i8] c" %r = or i1 %ab, %de\0A\00"
@.str1685 = private unnamed_addr constant [13 x i8] c" ret i1 %r\0A\00"
@.str1686 = private unnamed_addr constant [3 x i8] c"}\0A\00"
@.str1687 = private unnamed_addr constant [47 x i8] c"define ptr @fn_str_repeat(ptr %s, i32 %n32) {\0A\00"
@.str1688 = private unnamed_addr constant [8 x i8] c"entry:\0A\00"
@.str1689 = private unnamed_addr constant [32 x i8] c" %nneg = icmp slt i32 %n32, 0\0A\00"
@.str1690 = private unnamed_addr constant [42 x i8] c" %nn = select i1 %nneg, i32 0, i32 %n32\0A\00"
@.str1691 = private unnamed_addr constant [28 x i8] c" %n = zext i32 %nn to i64\0A\00"
@.str1692 = private unnamed_addr constant [33 x i8] c" %L = call i64 @strlen(ptr %s)\0A\00"
@.str1693 = private unnamed_addr constant [25 x i8] c" %tot = mul i64 %L, %n\0A\00"
@.str1694 = private unnamed_addr constant [25 x i8] c" %sz = add i64 %tot, 1\0A\00"
@.str1695 = private unnamed_addr constant [36 x i8] c" %out = call ptr @malloc(i64 %sz)\0A\00"
@.str1696 = private unnamed_addr constant [20 x i8] c" %ip = alloca i64\0A\00"
@.str1697 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %ip\0A\00"
@.str1698 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00"
@.str1699 = private unnamed_addr constant [7 x i8] c"cond:\0A\00"
@.str1700 = private unnamed_addr constant [26 x i8] c" %i = load i64, ptr %ip\0A\00"
@.str1701 = private unnamed_addr constant [28 x i8] c" %d = icmp ult i64 %i, %n\0A\00"
@.str1702 = private unnamed_addr constant [37 x i8] c" br i1 %d, label %body, label %fin\0A\00"
@.str1703 = private unnamed_addr constant [7 x i8] c"body:\0A\00"
@.str1704 = private unnamed_addr constant [25 x i8] c" %off = mul i64 %i, %L\0A\00"
@.str1705 = private unnamed_addr constant [47 x i8] c" %dst = getelementptr i8, ptr %out, i64 %off\0A\00"
@.str1706 = private unnamed_addr constant [46 x i8] c" call ptr @memcpy(ptr %dst, ptr %s, i64 %L)\0A\00"
@.str1707 = private unnamed_addr constant [23 x i8] c" %i1 = add i64 %i, 1\0A\00"
@.str1708 = private unnamed_addr constant [26 x i8] c" store i64 %i1, ptr %ip\0A\00"
@.str1709 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00"
@.str1710 = private unnamed_addr constant [6 x i8] c"fin:\0A\00"
@.str1711 = private unnamed_addr constant [46 x i8] c" %tp = getelementptr i8, ptr %out, i64 %tot\0A\00"
@.str1712 = private unnamed_addr constant [23 x i8] c" store i8 0, ptr %tp\0A\00"
@.str1713 = private unnamed_addr constant [16 x i8] c" ret ptr %out\0A\00"
@.str1714 = private unnamed_addr constant [3 x i8] c"}\0A\00"
@.str1715 = private unnamed_addr constant [54 x i8] c"define ptr @fn_str_pad(ptr %s, i32 %w32, i1 %left) {\0A\00"
@.str1716 = private unnamed_addr constant [8 x i8] c"entry:\0A\00"
@.str1717 = private unnamed_addr constant [33 x i8] c" %L = call i64 @strlen(ptr %s)\0A\00"
@.str1718 = private unnamed_addr constant [30 x i8] c" %w0 = sext i32 %w32 to i64\0A\00"
@.str1719 = private unnamed_addr constant [32 x i8] c" %need = icmp ugt i64 %w0, %L\0A\00"
@.str1720 = private unnamed_addr constant [39 x i8] c" br i1 %need, label %do, label %copy\0A\00"
@.str1721 = private unnamed_addr constant [7 x i8] c"copy:\0A\00"
@.str1722 = private unnamed_addr constant [24 x i8] c" %sz0 = add i64 %L, 1\0A\00"
@.str1723 = private unnamed_addr constant [36 x i8] c" %o0 = call ptr @malloc(i64 %sz0)\0A\00"
@.str1724 = private unnamed_addr constant [23 x i8] c" %e0 = add i64 %L, 0\0A\00"
@.str1725 = private unnamed_addr constant [45 x i8] c" call ptr @memcpy(ptr %o0, ptr %s, i64 %L)\0A\00"
@.str1726 = private unnamed_addr constant [43 x i8] c" %t0 = getelementptr i8, ptr %o0, i64 %L\0A\00"
@.str1727 = private unnamed_addr constant [23 x i8] c" store i8 0, ptr %t0\0A\00"
@.str1728 = private unnamed_addr constant [15 x i8] c" ret ptr %o0\0A\00"
@.str1729 = private unnamed_addr constant [5 x i8] c"do:\0A\00"
@.str1730 = private unnamed_addr constant [26 x i8] c" %pad = sub i64 %w0, %L\0A\00"
@.str1731 = private unnamed_addr constant [24 x i8] c" %sz = add i64 %w0, 1\0A\00"
@.str1732 = private unnamed_addr constant [36 x i8] c" %out = call ptr @malloc(i64 %sz)\0A\00"
@.str1733 = private unnamed_addr constant [48 x i8] c" br i1 %left, label %padleft, label %padright\0A\00"
@.str1734 = private unnamed_addr constant [10 x i8] c"padleft:\0A\00"
@.str1735 = private unnamed_addr constant [52 x i8] c" call void @fn_fill_sp(ptr %out, i64 0, i64 %pad)\0A\00"
@.str1736 = private unnamed_addr constant [48 x i8] c" %dstL = getelementptr i8, ptr %out, i64 %pad\0A\00"
@.str1737 = private unnamed_addr constant [47 x i8] c" call ptr @memcpy(ptr %dstL, ptr %s, i64 %L)\0A\00"
@.str1738 = private unnamed_addr constant [18 x i8] c" br label %term\0A\00"
@.str1739 = private unnamed_addr constant [11 x i8] c"padright:\0A\00"
@.str1740 = private unnamed_addr constant [46 x i8] c" call ptr @memcpy(ptr %out, ptr %s, i64 %L)\0A\00"
@.str1741 = private unnamed_addr constant [53 x i8] c" call void @fn_fill_sp(ptr %out, i64 %L, i64 %pad)\0A\00"
@.str1742 = private unnamed_addr constant [18 x i8] c" br label %term\0A\00"
@.str1743 = private unnamed_addr constant [7 x i8] c"term:\0A\00"
@.str1744 = private unnamed_addr constant [45 x i8] c" %tp = getelementptr i8, ptr %out, i64 %w0\0A\00"
@.str1745 = private unnamed_addr constant [23 x i8] c" store i8 0, ptr %tp\0A\00"
@.str1746 = private unnamed_addr constant [16 x i8] c" ret ptr %out\0A\00"
@.str1747 = private unnamed_addr constant [3 x i8] c"}\0A\00"
@.str1748 = private unnamed_addr constant [61 x i8] c"define void @fn_fill_sp(ptr %buf, i64 %start, i64 %count) {\0A\00"
@.str1749 = private unnamed_addr constant [8 x i8] c"entry:\0A\00"
@.str1750 = private unnamed_addr constant [20 x i8] c" %ip = alloca i64\0A\00"
@.str1751 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %ip\0A\00"
@.str1752 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00"
@.str1753 = private unnamed_addr constant [7 x i8] c"cond:\0A\00"
@.str1754 = private unnamed_addr constant [26 x i8] c" %i = load i64, ptr %ip\0A\00"
@.str1755 = private unnamed_addr constant [32 x i8] c" %d = icmp ult i64 %i, %count\0A\00"
@.str1756 = private unnamed_addr constant [38 x i8] c" br i1 %d, label %body, label %done\0A\00"
@.str1757 = private unnamed_addr constant [7 x i8] c"body:\0A\00"
@.str1758 = private unnamed_addr constant [29 x i8] c" %off = add i64 %start, %i\0A\00"
@.str1759 = private unnamed_addr constant [45 x i8] c" %p = getelementptr i8, ptr %buf, i64 %off\0A\00"
@.str1760 = private unnamed_addr constant [23 x i8] c" store i8 32, ptr %p\0A\00"
@.str1761 = private unnamed_addr constant [23 x i8] c" %i1 = add i64 %i, 1\0A\00"
@.str1762 = private unnamed_addr constant [26 x i8] c" store i64 %i1, ptr %ip\0A\00"
@.str1763 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00"
@.str1764 = private unnamed_addr constant [7 x i8] c"done:\0A\00"
@.str1765 = private unnamed_addr constant [12 x i8] c" ret void\0A\00"
@.str1766 = private unnamed_addr constant [3 x i8] c"}\0A\00"
@.str1767 = private unnamed_addr constant [58 x i8] c"define ptr @fn_str_replace(ptr %s, ptr %from, ptr %to) {\0A\00"
@.str1768 = private unnamed_addr constant [8 x i8] c"entry:\0A\00"
@.str1769 = private unnamed_addr constant [37 x i8] c" %lf = call i64 @strlen(ptr %from)\0A\00"
@.str1770 = private unnamed_addr constant [28 x i8] c" %lz = icmp eq i64 %lf, 0\0A\00"
@.str1771 = private unnamed_addr constant [42 x i8] c" br i1 %lz, label %copyall, label %scan\0A\00"
@.str1772 = private unnamed_addr constant [10 x i8] c"copyall:\0A\00"
@.str1773 = private unnamed_addr constant [35 x i8] c" %ls0 = call i64 @strlen(ptr %s)\0A\00"
@.str1774 = private unnamed_addr constant [26 x i8] c" %sz0 = add i64 %ls0, 1\0A\00"
@.str1775 = private unnamed_addr constant [36 x i8] c" %o0 = call ptr @malloc(i64 %sz0)\0A\00"
@.str1776 = private unnamed_addr constant [47 x i8] c" call ptr @memcpy(ptr %o0, ptr %s, i64 %sz0)\0A\00"
@.str1777 = private unnamed_addr constant [15 x i8] c" ret ptr %o0\0A\00"
@.str1778 = private unnamed_addr constant [7 x i8] c"scan:\0A\00"
@.str1779 = private unnamed_addr constant [35 x i8] c" %lt = call i64 @strlen(ptr %to)\0A\00"
@.str1780 = private unnamed_addr constant [34 x i8] c" %ls = call i64 @strlen(ptr %s)\0A\00"
@.str1781 = private unnamed_addr constant [22 x i8] c" %cntp = alloca i64\0A\00"
@.str1782 = private unnamed_addr constant [26 x i8] c" store i64 0, ptr %cntp\0A\00"
@.str1783 = private unnamed_addr constant [22 x i8] c" %curp = alloca ptr\0A\00"
@.str1784 = private unnamed_addr constant [27 x i8] c" store ptr %s, ptr %curp\0A\00"
@.str1785 = private unnamed_addr constant [19 x i8] c" br label %ccond\0A\00"
@.str1786 = private unnamed_addr constant [8 x i8] c"ccond:\0A\00"
@.str1787 = private unnamed_addr constant [30 x i8] c" %cur = load ptr, ptr %curp\0A\00"
@.str1788 = private unnamed_addr constant [48 x i8] c" %hit = call ptr @strstr(ptr %cur, ptr %from)\0A\00"
@.str1789 = private unnamed_addr constant [36 x i8] c" %isnull = icmp eq ptr %hit, null\0A\00"
@.str1790 = private unnamed_addr constant [44 x i8] c" br i1 %isnull, label %csize, label %cinc\0A\00"
@.str1791 = private unnamed_addr constant [7 x i8] c"cinc:\0A\00"
@.str1792 = private unnamed_addr constant [29 x i8] c" %c0 = load i64, ptr %cntp\0A\00"
@.str1793 = private unnamed_addr constant [24 x i8] c" %c1 = add i64 %c0, 1\0A\00"
@.str1794 = private unnamed_addr constant [28 x i8] c" store i64 %c1, ptr %cntp\0A\00"
@.str1795 = private unnamed_addr constant [46 x i8] c" %adv = getelementptr i8, ptr %hit, i64 %lf\0A\00"
@.str1796 = private unnamed_addr constant [29 x i8] c" store ptr %adv, ptr %curp\0A\00"
@.str1797 = private unnamed_addr constant [19 x i8] c" br label %ccond\0A\00"
@.str1798 = private unnamed_addr constant [8 x i8] c"csize:\0A\00"
@.str1799 = private unnamed_addr constant [30 x i8] c" %cnt = load i64, ptr %cntp\0A\00"
@.str1800 = private unnamed_addr constant [29 x i8] c" %delta = sub i64 %lt, %lf\0A\00"
@.str1801 = private unnamed_addr constant [32 x i8] c" %grow = mul i64 %cnt, %delta\0A\00"
@.str1802 = private unnamed_addr constant [32 x i8] c" %newlen = add i64 %ls, %grow\0A\00"
@.str1803 = private unnamed_addr constant [29 x i8] c" %osz = add i64 %newlen, 1\0A\00"
@.str1804 = private unnamed_addr constant [37 x i8] c" %out = call ptr @malloc(i64 %osz)\0A\00"
@.str1805 = private unnamed_addr constant [22 x i8] c" %srcp = alloca ptr\0A\00"
@.str1806 = private unnamed_addr constant [27 x i8] c" store ptr %s, ptr %srcp\0A\00"
@.str1807 = private unnamed_addr constant [22 x i8] c" %dstp = alloca ptr\0A\00"
@.str1808 = private unnamed_addr constant [29 x i8] c" store ptr %out, ptr %dstp\0A\00"
@.str1809 = private unnamed_addr constant [19 x i8] c" br label %bcond\0A\00"
@.str1810 = private unnamed_addr constant [8 x i8] c"bcond:\0A\00"
@.str1811 = private unnamed_addr constant [30 x i8] c" %src = load ptr, ptr %srcp\0A\00"
@.str1812 = private unnamed_addr constant [47 x i8] c" %h2 = call ptr @strstr(ptr %src, ptr %from)\0A\00"
@.str1813 = private unnamed_addr constant [31 x i8] c" %n2 = icmp eq ptr %h2, null\0A\00"
@.str1814 = private unnamed_addr constant [38 x i8] c" br i1 %n2, label %tail, label %seg\0A\00"
@.str1815 = private unnamed_addr constant [6 x i8] c"seg:\0A\00"
@.str1816 = private unnamed_addr constant [34 x i8] c" %si = ptrtoint ptr %src to i64\0A\00"
@.str1817 = private unnamed_addr constant [33 x i8] c" %hi = ptrtoint ptr %h2 to i64\0A\00"
@.str1818 = private unnamed_addr constant [30 x i8] c" %seglen = sub i64 %hi, %si\0A\00"
@.str1819 = private unnamed_addr constant [31 x i8] c" %dst0 = load ptr, ptr %dstp\0A\00"
@.str1820 = private unnamed_addr constant [54 x i8] c" call ptr @memcpy(ptr %dst0, ptr %src, i64 %seglen)\0A\00"
@.str1821 = private unnamed_addr constant [52 x i8] c" %dst1 = getelementptr i8, ptr %dst0, i64 %seglen\0A\00"
@.str1822 = private unnamed_addr constant [49 x i8] c" call ptr @memcpy(ptr %dst1, ptr %to, i64 %lt)\0A\00"
@.str1823 = private unnamed_addr constant [48 x i8] c" %dst2 = getelementptr i8, ptr %dst1, i64 %lt\0A\00"
@.str1824 = private unnamed_addr constant [30 x i8] c" store ptr %dst2, ptr %dstp\0A\00"
@.str1825 = private unnamed_addr constant [46 x i8] c" %src2 = getelementptr i8, ptr %h2, i64 %lf\0A\00"
@.str1826 = private unnamed_addr constant [30 x i8] c" store ptr %src2, ptr %srcp\0A\00"
@.str1827 = private unnamed_addr constant [19 x i8] c" br label %bcond\0A\00"
@.str1828 = private unnamed_addr constant [7 x i8] c"tail:\0A\00"
@.str1829 = private unnamed_addr constant [31 x i8] c" %src3 = load ptr, ptr %srcp\0A\00"
@.str1830 = private unnamed_addr constant [38 x i8] c" %rem = call i64 @strlen(ptr %src3)\0A\00"
@.str1831 = private unnamed_addr constant [31 x i8] c" %dst3 = load ptr, ptr %dstp\0A\00"
@.str1832 = private unnamed_addr constant [28 x i8] c" %remp1 = add i64 %rem, 1\0A\00"
@.str1833 = private unnamed_addr constant [54 x i8] c" call ptr @memcpy(ptr %dst3, ptr %src3, i64 %remp1)\0A\00"
@.str1834 = private unnamed_addr constant [16 x i8] c" ret ptr %out\0A\00"
@.str1835 = private unnamed_addr constant [3 x i8] c"}\0A\00"
@.str1836 = private unnamed_addr constant [45 x i8] c"define ptr @fn_str_join(ptr %h, ptr %sep) {\0A\00"
@.str1837 = private unnamed_addr constant [8 x i8] c"entry:\0A\00"
@.str1838 = private unnamed_addr constant [62 x i8] c" %lp = getelementptr inbounds %LSlice, ptr %h, i32 0, i32 1\0A\00"
@.str1839 = private unnamed_addr constant [30 x i8] c" %len32 = load i32, ptr %lp\0A\00"
@.str1840 = private unnamed_addr constant [33 x i8] c" %len = sext i32 %len32 to i64\0A\00"
@.str1841 = private unnamed_addr constant [62 x i8] c" %dp = getelementptr inbounds %LSlice, ptr %h, i32 0, i32 0\0A\00"
@.str1842 = private unnamed_addr constant [29 x i8] c" %data = load ptr, ptr %dp\0A\00"
@.str1843 = private unnamed_addr constant [38 x i8] c" %lsep = call i64 @strlen(ptr %sep)\0A\00"
@.str1844 = private unnamed_addr constant [22 x i8] c" %totp = alloca i64\0A\00"
@.str1845 = private unnamed_addr constant [26 x i8] c" store i64 0, ptr %totp\0A\00"
@.str1846 = private unnamed_addr constant [20 x i8] c" %ip = alloca i64\0A\00"
@.str1847 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %ip\0A\00"
@.str1848 = private unnamed_addr constant [19 x i8] c" br label %scond\0A\00"
@.str1849 = private unnamed_addr constant [8 x i8] c"scond:\0A\00"
@.str1850 = private unnamed_addr constant [26 x i8] c" %i = load i64, ptr %ip\0A\00"
@.str1851 = private unnamed_addr constant [30 x i8] c" %d = icmp ult i64 %i, %len\0A\00"
@.str1852 = private unnamed_addr constant [40 x i8] c" br i1 %d, label %sbody, label %alloc\0A\00"
@.str1853 = private unnamed_addr constant [8 x i8] c"sbody:\0A\00"
@.str1854 = private unnamed_addr constant [46 x i8] c" %ep = getelementptr ptr, ptr %data, i64 %i\0A\00"
@.str1855 = private unnamed_addr constant [27 x i8] c" %es = load ptr, ptr %ep\0A\00"
@.str1856 = private unnamed_addr constant [35 x i8] c" %el = call i64 @strlen(ptr %es)\0A\00"
@.str1857 = private unnamed_addr constant [29 x i8] c" %t0 = load i64, ptr %totp\0A\00"
@.str1858 = private unnamed_addr constant [26 x i8] c" %t1 = add i64 %t0, %el\0A\00"
@.str1859 = private unnamed_addr constant [28 x i8] c" store i64 %t1, ptr %totp\0A\00"
@.str1860 = private unnamed_addr constant [23 x i8] c" %i1 = add i64 %i, 1\0A\00"
@.str1861 = private unnamed_addr constant [26 x i8] c" store i64 %i1, ptr %ip\0A\00"
@.str1862 = private unnamed_addr constant [19 x i8] c" br label %scond\0A\00"
@.str1863 = private unnamed_addr constant [8 x i8] c"alloc:\0A\00"
@.str1864 = private unnamed_addr constant [30 x i8] c" %nz = icmp ugt i64 %len, 0\0A\00"
@.str1865 = private unnamed_addr constant [26 x i8] c" %lm1 = sub i64 %len, 1\0A\00"
@.str1866 = private unnamed_addr constant [31 x i8] c" %seps = mul i64 %lm1, %lsep\0A\00"
@.str1867 = private unnamed_addr constant [44 x i8] c" %sepsz = select i1 %nz, i64 %seps, i64 0\0A\00"
@.str1868 = private unnamed_addr constant [31 x i8] c" %tot0 = load i64, ptr %totp\0A\00"
@.str1869 = private unnamed_addr constant [32 x i8] c" %tot = add i64 %tot0, %sepsz\0A\00"
@.str1870 = private unnamed_addr constant [26 x i8] c" %osz = add i64 %tot, 1\0A\00"
@.str1871 = private unnamed_addr constant [37 x i8] c" %out = call ptr @malloc(i64 %osz)\0A\00"
@.str1872 = private unnamed_addr constant [22 x i8] c" %dstp = alloca ptr\0A\00"
@.str1873 = private unnamed_addr constant [29 x i8] c" store ptr %out, ptr %dstp\0A\00"
@.str1874 = private unnamed_addr constant [20 x i8] c" %jp = alloca i64\0A\00"
@.str1875 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %jp\0A\00"
@.str1876 = private unnamed_addr constant [19 x i8] c" br label %jcond\0A\00"
@.str1877 = private unnamed_addr constant [8 x i8] c"jcond:\0A\00"
@.str1878 = private unnamed_addr constant [26 x i8] c" %j = load i64, ptr %jp\0A\00"
@.str1879 = private unnamed_addr constant [31 x i8] c" %d2 = icmp ult i64 %j, %len\0A\00"
@.str1880 = private unnamed_addr constant [40 x i8] c" br i1 %d2, label %jbody, label %jfin\0A\00"
@.str1881 = private unnamed_addr constant [8 x i8] c"jbody:\0A\00"
@.str1882 = private unnamed_addr constant [29 x i8] c" %jnz = icmp ugt i64 %j, 0\0A\00"
@.str1883 = private unnamed_addr constant [43 x i8] c" br i1 %jnz, label %putsep, label %putel\0A\00"
@.str1884 = private unnamed_addr constant [9 x i8] c"putsep:\0A\00"
@.str1885 = private unnamed_addr constant [30 x i8] c" %ds0 = load ptr, ptr %dstp\0A\00"
@.str1886 = private unnamed_addr constant [51 x i8] c" call ptr @memcpy(ptr %ds0, ptr %sep, i64 %lsep)\0A\00"
@.str1887 = private unnamed_addr constant [48 x i8] c" %ds1 = getelementptr i8, ptr %ds0, i64 %lsep\0A\00"
@.str1888 = private unnamed_addr constant [29 x i8] c" store ptr %ds1, ptr %dstp\0A\00"
@.str1889 = private unnamed_addr constant [19 x i8] c" br label %putel\0A\00"
@.str1890 = private unnamed_addr constant [8 x i8] c"putel:\0A\00"
@.str1891 = private unnamed_addr constant [47 x i8] c" %ep2 = getelementptr ptr, ptr %data, i64 %j\0A\00"
@.str1892 = private unnamed_addr constant [29 x i8] c" %es2 = load ptr, ptr %ep2\0A\00"
@.str1893 = private unnamed_addr constant [37 x i8] c" %el2 = call i64 @strlen(ptr %es2)\0A\00"
@.str1894 = private unnamed_addr constant [30 x i8] c" %ds2 = load ptr, ptr %dstp\0A\00"
@.str1895 = private unnamed_addr constant [50 x i8] c" call ptr @memcpy(ptr %ds2, ptr %es2, i64 %el2)\0A\00"
@.str1896 = private unnamed_addr constant [47 x i8] c" %ds3 = getelementptr i8, ptr %ds2, i64 %el2\0A\00"
@.str1897 = private unnamed_addr constant [29 x i8] c" store ptr %ds3, ptr %dstp\0A\00"
@.str1898 = private unnamed_addr constant [23 x i8] c" %j1 = add i64 %j, 1\0A\00"
@.str1899 = private unnamed_addr constant [26 x i8] c" store i64 %j1, ptr %jp\0A\00"
@.str1900 = private unnamed_addr constant [19 x i8] c" br label %jcond\0A\00"
@.str1901 = private unnamed_addr constant [7 x i8] c"jfin:\0A\00"
@.str1902 = private unnamed_addr constant [30 x i8] c" %dsf = load ptr, ptr %dstp\0A\00"
@.str1903 = private unnamed_addr constant [24 x i8] c" store i8 0, ptr %dsf\0A\00"
@.str1904 = private unnamed_addr constant [16 x i8] c" ret ptr %out\0A\00"
@.str1905 = private unnamed_addr constant [3 x i8] c"}\0A\00"
@.str1906 = private unnamed_addr constant [46 x i8] c"define ptr @fn_str_split(ptr %s, ptr %sep) {\0A\00"
@.str1907 = private unnamed_addr constant [8 x i8] c"entry:\0A\00"
@.str1908 = private unnamed_addr constant [38 x i8] c" %lsep = call i64 @strlen(ptr %sep)\0A\00"
@.str1909 = private unnamed_addr constant [22 x i8] c" %cntp = alloca i64\0A\00"
@.str1910 = private unnamed_addr constant [26 x i8] c" store i64 1, ptr %cntp\0A\00"
@.str1911 = private unnamed_addr constant [22 x i8] c" %curp = alloca ptr\0A\00"
@.str1912 = private unnamed_addr constant [27 x i8] c" store ptr %s, ptr %curp\0A\00"
@.str1913 = private unnamed_addr constant [19 x i8] c" br label %ccond\0A\00"
@.str1914 = private unnamed_addr constant [8 x i8] c"ccond:\0A\00"
@.str1915 = private unnamed_addr constant [30 x i8] c" %cur = load ptr, ptr %curp\0A\00"
@.str1916 = private unnamed_addr constant [47 x i8] c" %hit = call ptr @strstr(ptr %cur, ptr %sep)\0A\00"
@.str1917 = private unnamed_addr constant [36 x i8] c" %isnull = icmp eq ptr %hit, null\0A\00"
@.str1918 = private unnamed_addr constant [41 x i8] c" br i1 %isnull, label %mk, label %cinc\0A\00"
@.str1919 = private unnamed_addr constant [7 x i8] c"cinc:\0A\00"
@.str1920 = private unnamed_addr constant [29 x i8] c" %c0 = load i64, ptr %cntp\0A\00"
@.str1921 = private unnamed_addr constant [24 x i8] c" %c1 = add i64 %c0, 1\0A\00"
@.str1922 = private unnamed_addr constant [28 x i8] c" store i64 %c1, ptr %cntp\0A\00"
@.str1923 = private unnamed_addr constant [48 x i8] c" %adv = getelementptr i8, ptr %hit, i64 %lsep\0A\00"
@.str1924 = private unnamed_addr constant [29 x i8] c" store ptr %adv, ptr %curp\0A\00"
@.str1925 = private unnamed_addr constant [19 x i8] c" br label %ccond\0A\00"
@.str1926 = private unnamed_addr constant [5 x i8] c"mk:\0A\00"
@.str1927 = private unnamed_addr constant [30 x i8] c" %cnt = load i64, ptr %cntp\0A\00"
@.str1928 = private unnamed_addr constant [35 x i8] c" %hdr = call ptr @malloc(i64 16)\0A\00"
@.str1929 = private unnamed_addr constant [28 x i8] c" %arrsz = mul i64 %cnt, 8\0A\00"
@.str1930 = private unnamed_addr constant [39 x i8] c" %arr = call ptr @malloc(i64 %arrsz)\0A\00"
@.str1931 = private unnamed_addr constant [64 x i8] c" %d0 = getelementptr inbounds %LSlice, ptr %hdr, i32 0, i32 0\0A\00"
@.str1932 = private unnamed_addr constant [27 x i8] c" store ptr %arr, ptr %d0\0A\00"
@.str1933 = private unnamed_addr constant [34 x i8] c" %cnt32 = trunc i64 %cnt to i32\0A\00"
@.str1934 = private unnamed_addr constant [64 x i8] c" %d1 = getelementptr inbounds %LSlice, ptr %hdr, i32 0, i32 1\0A\00"
@.str1935 = private unnamed_addr constant [29 x i8] c" store i32 %cnt32, ptr %d1\0A\00"
@.str1936 = private unnamed_addr constant [64 x i8] c" %d2 = getelementptr inbounds %LSlice, ptr %hdr, i32 0, i32 2\0A\00"
@.str1937 = private unnamed_addr constant [29 x i8] c" store i32 %cnt32, ptr %d2\0A\00"
@.str1938 = private unnamed_addr constant [22 x i8] c" %srcp = alloca ptr\0A\00"
@.str1939 = private unnamed_addr constant [27 x i8] c" store ptr %s, ptr %srcp\0A\00"
@.str1940 = private unnamed_addr constant [20 x i8] c" %ip = alloca i64\0A\00"
@.str1941 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %ip\0A\00"
@.str1942 = private unnamed_addr constant [19 x i8] c" br label %fcond\0A\00"
@.str1943 = private unnamed_addr constant [8 x i8] c"fcond:\0A\00"
@.str1944 = private unnamed_addr constant [26 x i8] c" %i = load i64, ptr %ip\0A\00"
@.str1945 = private unnamed_addr constant [31 x i8] c" %lt = icmp ult i64 %i, %cnt\0A\00"
@.str1946 = private unnamed_addr constant [40 x i8] c" br i1 %lt, label %fbody, label %done\0A\00"
@.str1947 = private unnamed_addr constant [8 x i8] c"fbody:\0A\00"
@.str1948 = private unnamed_addr constant [30 x i8] c" %src = load ptr, ptr %srcp\0A\00"
@.str1949 = private unnamed_addr constant [46 x i8] c" %h2 = call ptr @strstr(ptr %src, ptr %sep)\0A\00"
@.str1950 = private unnamed_addr constant [31 x i8] c" %n2 = icmp eq ptr %h2, null\0A\00"
@.str1951 = private unnamed_addr constant [38 x i8] c" br i1 %n2, label %last, label %mid\0A\00"
@.str1952 = private unnamed_addr constant [6 x i8] c"mid:\0A\00"
@.str1953 = private unnamed_addr constant [34 x i8] c" %si = ptrtoint ptr %src to i64\0A\00"
@.str1954 = private unnamed_addr constant [33 x i8] c" %hi = ptrtoint ptr %h2 to i64\0A\00"
@.str1955 = private unnamed_addr constant [30 x i8] c" %seglen = sub i64 %hi, %si\0A\00"
@.str1956 = private unnamed_addr constant [19 x i8] c" br label %store\0A\00"
@.str1957 = private unnamed_addr constant [7 x i8] c"last:\0A\00"
@.str1958 = private unnamed_addr constant [37 x i8] c" %rem = call i64 @strlen(ptr %src)\0A\00"
@.str1959 = private unnamed_addr constant [19 x i8] c" br label %store\0A\00"
@.str1960 = private unnamed_addr constant [8 x i8] c"store:\0A\00"
@.str1961 = private unnamed_addr constant [53 x i8] c" %seg = phi i64 [ %seglen, %mid ], [ %rem, %last ]\0A\00"
@.str1962 = private unnamed_addr constant [26 x i8] c" %ssz = add i64 %seg, 1\0A\00"
@.str1963 = private unnamed_addr constant [37 x i8] c" %sub = call ptr @malloc(i64 %ssz)\0A\00"
@.str1964 = private unnamed_addr constant [31 x i8] c" %src2 = load ptr, ptr %srcp\0A\00"
@.str1965 = private unnamed_addr constant [51 x i8] c" call ptr @memcpy(ptr %sub, ptr %src2, i64 %seg)\0A\00"
@.str1966 = private unnamed_addr constant [46 x i8] c" %tp = getelementptr i8, ptr %sub, i64 %seg\0A\00"
@.str1967 = private unnamed_addr constant [23 x i8] c" store i8 0, ptr %tp\0A\00"
@.str1968 = private unnamed_addr constant [47 x i8] c" %slot = getelementptr ptr, ptr %arr, i64 %i\0A\00"
@.str1969 = private unnamed_addr constant [29 x i8] c" store ptr %sub, ptr %slot\0A\00"
@.str1970 = private unnamed_addr constant [48 x i8] c" %adv2 = getelementptr i8, ptr %h2, i64 %lsep\0A\00"
@.str1971 = private unnamed_addr constant [30 x i8] c" store ptr %adv2, ptr %srcp\0A\00"
@.str1972 = private unnamed_addr constant [23 x i8] c" %i1 = add i64 %i, 1\0A\00"
@.str1973 = private unnamed_addr constant [26 x i8] c" store i64 %i1, ptr %ip\0A\00"
@.str1974 = private unnamed_addr constant [19 x i8] c" br label %fcond\0A\00"
@.str1975 = private unnamed_addr constant [7 x i8] c"done:\0A\00"
@.str1976 = private unnamed_addr constant [16 x i8] c" ret ptr %hdr\0A\00"
@.str1977 = private unnamed_addr constant [3 x i8] c"}\0A\00"
@.str1978 = private unnamed_addr constant [3 x i8] c"of\00"
@.str1979 = private unnamed_addr constant [6 x i8] c"fnv1a\00"
@.str1980 = private unnamed_addr constant [6 x i8] c"crc32\00"
@.str1981 = private unnamed_addr constant [4 x i8] c"mix\00"
@.str1982 = private unnamed_addr constant [8 x i8] c"combine\00"
@.str1983 = private unnamed_addr constant [5 x i8] c"of64\00"
@.str1984 = private unnamed_addr constant [9 x i8] c"fnv1a_64\00"
@.str1985 = private unnamed_addr constant [6 x i8] c"mix64\00"
@.str1986 = private unnamed_addr constant [10 x i8] c"lshr i32 \00"
@.str1987 = private unnamed_addr constant [5 x i8] c", 16\00"
@.str1988 = private unnamed_addr constant [9 x i8] c"xor i32 \00"
@.str1989 = private unnamed_addr constant [3 x i8] c", \00"
@.str1990 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
@.str1991 = private unnamed_addr constant [14 x i8] c", -2048144789\00"
@.str1992 = private unnamed_addr constant [10 x i8] c"lshr i32 \00"
@.str1993 = private unnamed_addr constant [5 x i8] c", 13\00"
@.str1994 = private unnamed_addr constant [9 x i8] c"xor i32 \00"
@.str1995 = private unnamed_addr constant [3 x i8] c", \00"
@.str1996 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
@.str1997 = private unnamed_addr constant [14 x i8] c", -1028477387\00"
@.str1998 = private unnamed_addr constant [10 x i8] c"lshr i32 \00"
@.str1999 = private unnamed_addr constant [5 x i8] c", 16\00"
@.str2000 = private unnamed_addr constant [9 x i8] c"xor i32 \00"
@.str2001 = private unnamed_addr constant [3 x i8] c", \00"
@.str2002 = private unnamed_addr constant [10 x i8] c"lshr i64 \00"
@.str2003 = private unnamed_addr constant [5 x i8] c", 33\00"
@.str2004 = private unnamed_addr constant [9 x i8] c"xor i64 \00"
@.str2005 = private unnamed_addr constant [3 x i8] c", \00"
@.str2006 = private unnamed_addr constant [9 x i8] c"mul i64 \00"
@.str2007 = private unnamed_addr constant [21 x i8] c", -49064778989728563\00"
@.str2008 = private unnamed_addr constant [10 x i8] c"lshr i64 \00"
@.str2009 = private unnamed_addr constant [5 x i8] c", 33\00"
@.str2010 = private unnamed_addr constant [9 x i8] c"xor i64 \00"
@.str2011 = private unnamed_addr constant [3 x i8] c", \00"
@.str2012 = private unnamed_addr constant [9 x i8] c"mul i64 \00"
@.str2013 = private unnamed_addr constant [23 x i8] c", -4265267296055464877\00"
@.str2014 = private unnamed_addr constant [10 x i8] c"lshr i64 \00"
@.str2015 = private unnamed_addr constant [5 x i8] c", 33\00"
@.str2016 = private unnamed_addr constant [9 x i8] c"xor i64 \00"
@.str2017 = private unnamed_addr constant [3 x i8] c", \00"
@.str2018 = private unnamed_addr constant [3 x i8] c"of\00"
@.str2019 = private unnamed_addr constant [6 x i8] c"fnv1a\00"
@.str2020 = private unnamed_addr constant [29 x i8] c"call i32 @fn_hash_fnv1a(ptr \00"
@.str2021 = private unnamed_addr constant [2 x i8] c")\00"
@.str2022 = private unnamed_addr constant [4 x i8] c"int\00"
@.str2023 = private unnamed_addr constant [5 x i8] c"of64\00"
@.str2024 = private unnamed_addr constant [9 x i8] c"fnv1a_64\00"
@.str2025 = private unnamed_addr constant [32 x i8] c"call i64 @fn_hash_fnv1a_64(ptr \00"
@.str2026 = private unnamed_addr constant [2 x i8] c")\00"
@.str2027 = private unnamed_addr constant [5 x i8] c"long\00"
@.str2028 = private unnamed_addr constant [6 x i8] c"mix64\00"
@.str2029 = private unnamed_addr constant [5 x i8] c"long\00"
@.str2030 = private unnamed_addr constant [6 x i8] c"crc32\00"
@.str2031 = private unnamed_addr constant [29 x i8] c"call i32 @fn_hash_crc32(ptr \00"
@.str2032 = private unnamed_addr constant [2 x i8] c")\00"
@.str2033 = private unnamed_addr constant [4 x i8] c"int\00"
@.str2034 = private unnamed_addr constant [4 x i8] c"mix\00"
@.str2035 = private unnamed_addr constant [4 x i8] c"int\00"
@.str2036 = private unnamed_addr constant [2 x i8] c"0\00"
@.str2037 = private unnamed_addr constant [9 x i8] c"add i32 \00"
@.str2038 = private unnamed_addr constant [14 x i8] c", -1640531527\00"
@.str2039 = private unnamed_addr constant [9 x i8] c"shl i32 \00"
@.str2040 = private unnamed_addr constant [4 x i8] c", 6\00"
@.str2041 = private unnamed_addr constant [10 x i8] c"lshr i32 \00"
@.str2042 = private unnamed_addr constant [4 x i8] c", 2\00"
@.str2043 = private unnamed_addr constant [9 x i8] c"add i32 \00"
@.str2044 = private unnamed_addr constant [3 x i8] c", \00"
@.str2045 = private unnamed_addr constant [9 x i8] c"add i32 \00"
@.str2046 = private unnamed_addr constant [3 x i8] c", \00"
@.str2047 = private unnamed_addr constant [9 x i8] c"xor i32 \00"
@.str2048 = private unnamed_addr constant [3 x i8] c", \00"
@.str2049 = private unnamed_addr constant [4 x i8] c"int\00"
@.str2050 = private unnamed_addr constant [37 x i8] c"define i32 @fn_hash_fnv1a(ptr %s) {\0A\00"
@.str2051 = private unnamed_addr constant [8 x i8] c"entry:\0A\00"
@.str2052 = private unnamed_addr constant [20 x i8] c" %hp = alloca i32\0A\00"
@.str2053 = private unnamed_addr constant [34 x i8] c" store i32 -2128831035, ptr %hp\0A\00"
@.str2054 = private unnamed_addr constant [20 x i8] c" %ip = alloca i64\0A\00"
@.str2055 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %ip\0A\00"
@.str2056 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00"
@.str2057 = private unnamed_addr constant [7 x i8] c"cond:\0A\00"
@.str2058 = private unnamed_addr constant [26 x i8] c" %i = load i64, ptr %ip\0A\00"
@.str2059 = private unnamed_addr constant [41 x i8] c" %p = getelementptr i8, ptr %s, i64 %i\0A\00"
@.str2060 = private unnamed_addr constant [24 x i8] c" %c = load i8, ptr %p\0A\00"
@.str2061 = private unnamed_addr constant [25 x i8] c" %z = icmp eq i8 %c, 0\0A\00"
@.str2062 = private unnamed_addr constant [38 x i8] c" br i1 %z, label %done, label %body\0A\00"
@.str2063 = private unnamed_addr constant [7 x i8] c"body:\0A\00"
@.str2064 = private unnamed_addr constant [27 x i8] c" %ce = zext i8 %c to i32\0A\00"
@.str2065 = private unnamed_addr constant [26 x i8] c" %h = load i32, ptr %hp\0A\00"
@.str2066 = private unnamed_addr constant [24 x i8] c" %x = xor i32 %h, %ce\0A\00"
@.str2067 = private unnamed_addr constant [29 x i8] c" %m = mul i32 %x, 16777619\0A\00"
@.str2068 = private unnamed_addr constant [25 x i8] c" store i32 %m, ptr %hp\0A\00"
@.str2069 = private unnamed_addr constant [23 x i8] c" %i1 = add i64 %i, 1\0A\00"
@.str2070 = private unnamed_addr constant [26 x i8] c" store i64 %i1, ptr %ip\0A\00"
@.str2071 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00"
@.str2072 = private unnamed_addr constant [7 x i8] c"done:\0A\00"
@.str2073 = private unnamed_addr constant [27 x i8] c" %hr = load i32, ptr %hp\0A\00"
@.str2074 = private unnamed_addr constant [15 x i8] c" ret i32 %hr\0A\00"
@.str2075 = private unnamed_addr constant [3 x i8] c"}\0A\00"
@.str2076 = private unnamed_addr constant [40 x i8] c"define i64 @fn_hash_fnv1a_64(ptr %s) {\0A\00"
@.str2077 = private unnamed_addr constant [8 x i8] c"entry:\0A\00"
@.str2078 = private unnamed_addr constant [20 x i8] c" %hp = alloca i64\0A\00"
@.str2079 = private unnamed_addr constant [43 x i8] c" store i64 -3750763034362895579, ptr %hp\0A\00"
@.str2080 = private unnamed_addr constant [20 x i8] c" %ip = alloca i64\0A\00"
@.str2081 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %ip\0A\00"
@.str2082 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00"
@.str2083 = private unnamed_addr constant [7 x i8] c"cond:\0A\00"
@.str2084 = private unnamed_addr constant [26 x i8] c" %i = load i64, ptr %ip\0A\00"
@.str2085 = private unnamed_addr constant [41 x i8] c" %p = getelementptr i8, ptr %s, i64 %i\0A\00"
@.str2086 = private unnamed_addr constant [24 x i8] c" %c = load i8, ptr %p\0A\00"
@.str2087 = private unnamed_addr constant [25 x i8] c" %z = icmp eq i8 %c, 0\0A\00"
@.str2088 = private unnamed_addr constant [38 x i8] c" br i1 %z, label %done, label %body\0A\00"
@.str2089 = private unnamed_addr constant [7 x i8] c"body:\0A\00"
@.str2090 = private unnamed_addr constant [27 x i8] c" %ce = zext i8 %c to i64\0A\00"
@.str2091 = private unnamed_addr constant [26 x i8] c" %h = load i64, ptr %hp\0A\00"
@.str2092 = private unnamed_addr constant [24 x i8] c" %x = xor i64 %h, %ce\0A\00"
@.str2093 = private unnamed_addr constant [34 x i8] c" %m = mul i64 %x, 1099511628211\0A\00"
@.str2094 = private unnamed_addr constant [25 x i8] c" store i64 %m, ptr %hp\0A\00"
@.str2095 = private unnamed_addr constant [23 x i8] c" %i1 = add i64 %i, 1\0A\00"
@.str2096 = private unnamed_addr constant [26 x i8] c" store i64 %i1, ptr %ip\0A\00"
@.str2097 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00"
@.str2098 = private unnamed_addr constant [7 x i8] c"done:\0A\00"
@.str2099 = private unnamed_addr constant [27 x i8] c" %hr = load i64, ptr %hp\0A\00"
@.str2100 = private unnamed_addr constant [15 x i8] c" ret i64 %hr\0A\00"
@.str2101 = private unnamed_addr constant [3 x i8] c"}\0A\00"
@.str2102 = private unnamed_addr constant [37 x i8] c"define i32 @fn_hash_crc32(ptr %s) {\0A\00"
@.str2103 = private unnamed_addr constant [8 x i8] c"entry:\0A\00"
@.str2104 = private unnamed_addr constant [20 x i8] c" %cp = alloca i32\0A\00"
@.str2105 = private unnamed_addr constant [25 x i8] c" store i32 -1, ptr %cp\0A\00"
@.str2106 = private unnamed_addr constant [20 x i8] c" %ip = alloca i64\0A\00"
@.str2107 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %ip\0A\00"
@.str2108 = private unnamed_addr constant [20 x i8] c" %kp = alloca i32\0A\00"
@.str2109 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00"
@.str2110 = private unnamed_addr constant [7 x i8] c"cond:\0A\00"
@.str2111 = private unnamed_addr constant [26 x i8] c" %i = load i64, ptr %ip\0A\00"
@.str2112 = private unnamed_addr constant [41 x i8] c" %p = getelementptr i8, ptr %s, i64 %i\0A\00"
@.str2113 = private unnamed_addr constant [25 x i8] c" %ch = load i8, ptr %p\0A\00"
@.str2114 = private unnamed_addr constant [26 x i8] c" %z = icmp eq i8 %ch, 0\0A\00"
@.str2115 = private unnamed_addr constant [38 x i8] c" br i1 %z, label %done, label %body\0A\00"
@.str2116 = private unnamed_addr constant [7 x i8] c"body:\0A\00"
@.str2117 = private unnamed_addr constant [28 x i8] c" %ce = zext i8 %ch to i32\0A\00"
@.str2118 = private unnamed_addr constant [27 x i8] c" %c0 = load i32, ptr %cp\0A\00"
@.str2119 = private unnamed_addr constant [26 x i8] c" %cx = xor i32 %c0, %ce\0A\00"
@.str2120 = private unnamed_addr constant [26 x i8] c" store i32 %cx, ptr %cp\0A\00"
@.str2121 = private unnamed_addr constant [24 x i8] c" store i32 0, ptr %kp\0A\00"
@.str2122 = private unnamed_addr constant [17 x i8] c" br label %bit\0A\00"
@.str2123 = private unnamed_addr constant [6 x i8] c"bit:\0A\00"
@.str2124 = private unnamed_addr constant [26 x i8] c" %k = load i32, ptr %kp\0A\00"
@.str2125 = private unnamed_addr constant [28 x i8] c" %kd = icmp slt i32 %k, 8\0A\00"
@.str2126 = private unnamed_addr constant [45 x i8] c" br i1 %kd, label %bitbody, label %bitdone\0A\00"
@.str2127 = private unnamed_addr constant [10 x i8] c"bitbody:\0A\00"
@.str2128 = private unnamed_addr constant [27 x i8] c" %c1 = load i32, ptr %cp\0A\00"
@.str2129 = private unnamed_addr constant [24 x i8] c" %lb = and i32 %c1, 1\0A\00"
@.str2130 = private unnamed_addr constant [25 x i8] c" %ls = lshr i32 %c1, 1\0A\00"
@.str2131 = private unnamed_addr constant [29 x i8] c" %ism = icmp eq i32 %lb, 1\0A\00"
@.str2132 = private unnamed_addr constant [47 x i8] c" %px = select i1 %ism, i32 -306674912, i32 0\0A\00"
@.str2133 = private unnamed_addr constant [26 x i8] c" %c2 = xor i32 %ls, %px\0A\00"
@.str2134 = private unnamed_addr constant [26 x i8] c" store i32 %c2, ptr %cp\0A\00"
@.str2135 = private unnamed_addr constant [23 x i8] c" %k1 = add i32 %k, 1\0A\00"
@.str2136 = private unnamed_addr constant [26 x i8] c" store i32 %k1, ptr %kp\0A\00"
@.str2137 = private unnamed_addr constant [17 x i8] c" br label %bit\0A\00"
@.str2138 = private unnamed_addr constant [10 x i8] c"bitdone:\0A\00"
@.str2139 = private unnamed_addr constant [23 x i8] c" %i1 = add i64 %i, 1\0A\00"
@.str2140 = private unnamed_addr constant [26 x i8] c" store i64 %i1, ptr %ip\0A\00"
@.str2141 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00"
@.str2142 = private unnamed_addr constant [7 x i8] c"done:\0A\00"
@.str2143 = private unnamed_addr constant [27 x i8] c" %cf = load i32, ptr %cp\0A\00"
@.str2144 = private unnamed_addr constant [24 x i8] c" %r = xor i32 %cf, -1\0A\00"
@.str2145 = private unnamed_addr constant [14 x i8] c" ret i32 %r\0A\00"
@.str2146 = private unnamed_addr constant [3 x i8] c"}\0A\00"
@.str2147 = private unnamed_addr constant [7 x i8] c"sha256\00"
@.str2148 = private unnamed_addr constant [12 x i8] c"hmac_sha256\00"
@.str2149 = private unnamed_addr constant [12 x i8] c"verify_hmac\00"
@.str2150 = private unnamed_addr constant [4 x i8] c"hex\00"
@.str2151 = private unnamed_addr constant [9 x i8] c"ct_equal\00"
@.str2152 = private unnamed_addr constant [13 x i8] c"random_bytes\00"
@.str2153 = private unnamed_addr constant [11 x i8] c"random_hex\00"
@.str2154 = private unnamed_addr constant [11 x i8] c"random_u32\00"
@.str2155 = private unnamed_addr constant [7 x i8] c"base64\00"
@.str2156 = private unnamed_addr constant [7 x i8] c"sha256\00"
@.str2157 = private unnamed_addr constant [29 x i8] c"call ptr @fn_sha256_hex(ptr \00"
@.str2158 = private unnamed_addr constant [2 x i8] c")\00"
@.str2159 = private unnamed_addr constant [7 x i8] c"string\00"
@.str2160 = private unnamed_addr constant [12 x i8] c"hmac_sha256\00"
@.str2161 = private unnamed_addr constant [34 x i8] c"call ptr @fn_hmac_sha256_hex(ptr \00"
@.str2162 = private unnamed_addr constant [7 x i8] c", ptr \00"
@.str2163 = private unnamed_addr constant [2 x i8] c")\00"
@.str2164 = private unnamed_addr constant [7 x i8] c"string\00"
@.str2165 = private unnamed_addr constant [4 x i8] c"hex\00"
@.str2166 = private unnamed_addr constant [26 x i8] c"call ptr @fn_str_hex(ptr \00"
@.str2167 = private unnamed_addr constant [2 x i8] c")\00"
@.str2168 = private unnamed_addr constant [7 x i8] c"string\00"
@.str2169 = private unnamed_addr constant [9 x i8] c"ct_equal\00"
@.str2170 = private unnamed_addr constant [27 x i8] c"call i32 @fn_ct_streq(ptr \00"
@.str2171 = private unnamed_addr constant [7 x i8] c", ptr \00"
@.str2172 = private unnamed_addr constant [2 x i8] c")\00"
@.str2173 = private unnamed_addr constant [5 x i8] c"bool\00"
@.str2174 = private unnamed_addr constant [13 x i8] c"random_bytes\00"
@.str2175 = private unnamed_addr constant [11 x i8] c"random_hex\00"
@.str2176 = private unnamed_addr constant [10 x i8] c"sext i32 \00"
@.str2177 = private unnamed_addr constant [8 x i8] c" to i64\00"
@.str2178 = private unnamed_addr constant [29 x i8] c"call ptr @fn_random_hex(i64 \00"
@.str2179 = private unnamed_addr constant [2 x i8] c")\00"
@.str2180 = private unnamed_addr constant [7 x i8] c"string\00"
@.str2181 = private unnamed_addr constant [11 x i8] c"random_u32\00"
@.str2182 = private unnamed_addr constant [26 x i8] c"call i32 @fn_random_u32()\00"
@.str2183 = private unnamed_addr constant [4 x i8] c"int\00"
@.str2184 = private unnamed_addr constant [7 x i8] c"base64\00"
@.str2185 = private unnamed_addr constant [25 x i8] c"call ptr @fn_base64(ptr \00"
@.str2186 = private unnamed_addr constant [2 x i8] c")\00"
@.str2187 = private unnamed_addr constant [7 x i8] c"string\00"
@.str2188 = private unnamed_addr constant [34 x i8] c"call ptr @fn_hmac_sha256_hex(ptr \00"
@.str2189 = private unnamed_addr constant [7 x i8] c", ptr \00"
@.str2190 = private unnamed_addr constant [2 x i8] c")\00"
@.str2191 = private unnamed_addr constant [27 x i8] c"call i32 @fn_ct_streq(ptr \00"
@.str2192 = private unnamed_addr constant [7 x i8] c", ptr \00"
@.str2193 = private unnamed_addr constant [2 x i8] c")\00"
@.str2194 = private unnamed_addr constant [5 x i8] c"bool\00"
@.str2195 = 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"
@.str2196 = private unnamed_addr constant [41 x i8] c"define i32 @fn_rotr32(i32 %x, i32 %n) {\0A\00"
@.str2197 = 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"
@.str2198 = private unnamed_addr constant [60 x i8] c"define void @fn_sha256_buf(ptr %msg, i64 %len, ptr %out) {\0A\00"
@.str2199 = private unnamed_addr constant [8 x i8] c"entry:\0A\00"
@.str2200 = private unnamed_addr constant [50 x i8] c" %H = alloca [8 x i32]\0A %W = alloca [64 x i32]\0A\00"
@.str2201 = 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"
@.str2202 = private unnamed_addr constant [39 x i8] c" %ip = alloca i64\0A %bp = alloca i64\0A\00"
@.str2203 = 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"
@.str2204 = private unnamed_addr constant [36 x i8] c" %buf = call ptr @malloc(i64 %pl)\0A\00"
@.str2205 = private unnamed_addr constant [46 x i8] c" call ptr @memset(ptr %buf, i32 0, i64 %pl)\0A\00"
@.str2206 = private unnamed_addr constant [50 x i8] c" call ptr @memcpy(ptr %buf, ptr %msg, i64 %len)\0A\00"
@.str2207 = private unnamed_addr constant [77 x i8] c" %pmark = getelementptr i8, ptr %buf, i64 %len\0A store i8 -128, ptr %pmark\0A\00"
@.str2208 = private unnamed_addr constant [27 x i8] c" %bits = shl i64 %len, 3\0A\00"
@.str2209 = private unnamed_addr constant [41 x i8] c" store i64 0, ptr %ip\0A br label %lenc\0A\00"
@.str2210 = 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"
@.str2211 = private unnamed_addr constant [7 x i8] c"lenb:\0A\00"
@.str2212 = 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"
@.str2213 = 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"
@.str2214 = 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"
@.str2215 = private unnamed_addr constant [8 x i8] c"hinit:\0A\00"
@.str2216 = 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"
@.str2217 = 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"
@.str2218 = 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"
@.str2219 = 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"
@.str2220 = 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"
@.str2221 = 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"
@.str2222 = 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"
@.str2223 = 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"
@.str2224 = 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"
@.str2225 = 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"
@.str2226 = 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"
@.str2227 = private unnamed_addr constant [40 x i8] c" store i64 0, ptr %ip\0A br label %w1c\0A\00"
@.str2228 = 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"
@.str2229 = private unnamed_addr constant [6 x i8] c"w1b:\0A\00"
@.str2230 = private unnamed_addr constant [25 x i8] c" %wi4 = shl i64 %wi, 2\0A\00"
@.str2231 = private unnamed_addr constant [75 x i8] c" %wp0 = getelementptr i8, ptr %base, i64 %wi4\0A %wc0 = load i8, ptr %wp0\0A\00"
@.str2232 = 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"
@.str2233 = 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"
@.str2234 = 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"
@.str2235 = 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"
@.str2236 = 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"
@.str2237 = 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"
@.str2238 = 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"
@.str2239 = 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"
@.str2240 = private unnamed_addr constant [49 x i8] c"w2init:\0A store i64 16, ptr %ip\0A br label %w2c\0A\00"
@.str2241 = 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"
@.str2242 = private unnamed_addr constant [6 x i8] c"w2b:\0A\00"
@.str2243 = 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"
@.str2244 = private unnamed_addr constant [119 x i8] c" %r7 = call i32 @fn_rotr32(i32 %w15, i32 7)\0A %r18 = call i32 @fn_rotr32(i32 %w15, i32 18)\0A %sh3 = lshr i32 %w15, 3\0A\00"
@.str2245 = private unnamed_addr constant [55 x i8] c" %x01 = xor i32 %r7, %r18\0A %s0 = xor i32 %x01, %sh3\0A\00"
@.str2246 = 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"
@.str2247 = private unnamed_addr constant [123 x i8] c" %r17 = call i32 @fn_rotr32(i32 %w2v, i32 17)\0A %r19 = call i32 @fn_rotr32(i32 %w2v, i32 19)\0A %sh10 = lshr i32 %w2v, 10\0A\00"
@.str2248 = private unnamed_addr constant [57 x i8] c" %x02 = xor i32 %r17, %r19\0A %s1 = xor i32 %x02, %sh10\0A\00"
@.str2249 = 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"
@.str2250 = 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"
@.str2251 = 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"
@.str2252 = 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"
@.str2253 = 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"
@.str2254 = private unnamed_addr constant [11 x i8] c"compinit:\0A\00"
@.str2255 = private unnamed_addr constant [53 x i8] c" %cv0 = load i32, ptr %H0\0A store i32 %cv0, ptr %a\0A\00"
@.str2256 = private unnamed_addr constant [53 x i8] c" %cv1 = load i32, ptr %H1\0A store i32 %cv1, ptr %b\0A\00"
@.str2257 = private unnamed_addr constant [53 x i8] c" %cv2 = load i32, ptr %H2\0A store i32 %cv2, ptr %c\0A\00"
@.str2258 = private unnamed_addr constant [53 x i8] c" %cv3 = load i32, ptr %H3\0A store i32 %cv3, ptr %d\0A\00"
@.str2259 = private unnamed_addr constant [53 x i8] c" %cv4 = load i32, ptr %H4\0A store i32 %cv4, ptr %e\0A\00"
@.str2260 = private unnamed_addr constant [53 x i8] c" %cv5 = load i32, ptr %H5\0A store i32 %cv5, ptr %f\0A\00"
@.str2261 = private unnamed_addr constant [53 x i8] c" %cv6 = load i32, ptr %H6\0A store i32 %cv6, ptr %g\0A\00"
@.str2262 = private unnamed_addr constant [53 x i8] c" %cv7 = load i32, ptr %H7\0A store i32 %cv7, ptr %h\0A\00"
@.str2263 = private unnamed_addr constant [39 x i8] c" store i64 0, ptr %ip\0A br label %rc\0A\00"
@.str2264 = 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"
@.str2265 = private unnamed_addr constant [5 x i8] c"rb:\0A\00"
@.str2266 = 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"
@.str2267 = 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"
@.str2268 = private unnamed_addr constant [137 x i8] c" %e6 = call i32 @fn_rotr32(i32 %ev, i32 6)\0A %e11 = call i32 @fn_rotr32(i32 %ev, i32 11)\0A %e25 = call i32 @fn_rotr32(i32 %ev, i32 25)\0A\00"
@.str2269 = private unnamed_addr constant [55 x i8] c" %S1a = xor i32 %e6, %e11\0A %S1 = xor i32 %S1a, %e25\0A\00"
@.str2270 = 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"
@.str2271 = 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"
@.str2272 = 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"
@.str2273 = 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"
@.str2274 = private unnamed_addr constant [138 x i8] c" %a2r = call i32 @fn_rotr32(i32 %av, i32 2)\0A %a13 = call i32 @fn_rotr32(i32 %av, i32 13)\0A %a22 = call i32 @fn_rotr32(i32 %av, i32 22)\0A\00"
@.str2275 = private unnamed_addr constant [56 x i8] c" %S0a = xor i32 %a2r, %a13\0A %S0 = xor i32 %S0a, %a22\0A\00"
@.str2276 = 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"
@.str2277 = private unnamed_addr constant [30 x i8] c" %temp2 = add i32 %S0, %maj\0A\00"
@.str2278 = 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"
@.str2279 = private unnamed_addr constant [57 x i8] c" %newe = add i32 %dv, %temp1\0A store i32 %newe, ptr %e\0A\00"
@.str2280 = 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"
@.str2281 = private unnamed_addr constant [60 x i8] c" %newa = add i32 %temp1, %temp2\0A store i32 %newa, ptr %a\0A\00"
@.str2282 = 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"
@.str2283 = private unnamed_addr constant [7 x i8] c"addH:\0A\00"
@.str2284 = 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"
@.str2285 = 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"
@.str2286 = 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"
@.str2287 = 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"
@.str2288 = 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"
@.str2289 = 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"
@.str2290 = 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"
@.str2291 = 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"
@.str2292 = 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"
@.str2293 = private unnamed_addr constant [45 x i8] c"outp:\0A store i64 0, ptr %ip\0A br label %oc\0A\00"
@.str2294 = 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"
@.str2295 = private unnamed_addr constant [5 x i8] c"ob:\0A\00"
@.str2296 = 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"
@.str2297 = 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"
@.str2298 = 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"
@.str2299 = 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"
@.str2300 = 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"
@.str2301 = 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"
@.str2302 = private unnamed_addr constant [49 x i8] c"freeb:\0A call void @free(ptr %buf)\0A ret void\0A}\0A\00"
@.str2303 = private unnamed_addr constant [35 x i8] c"define i8 @fn_hex_digit(i32 %d) {\0A\00"
@.str2304 = 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"
@.str2305 = private unnamed_addr constant [46 x i8] c"define ptr @fn_hex_encode(ptr %in, i64 %n) {\0A\00"
@.str2306 = private unnamed_addr constant [152 x i8] c"entry:\0A %ip = alloca i64\0A %olen = shl i64 %n, 1\0A %olen1 = add i64 %olen, 1\0A %s = call ptr @malloc(i64 %olen1)\0A store i64 0, ptr %ip\0A br label %c\0A\00"
@.str2307 = 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"
@.str2308 = 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"
@.str2309 = private unnamed_addr constant [127 x i8] c" %hi = lshr i32 %bz, 4\0A %lo = and i32 %bz, 15\0A %hc = call i8 @fn_hex_digit(i32 %hi)\0A %lc = call i8 @fn_hex_digit(i32 %lo)\0A\00"
@.str2310 = 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"
@.str2311 = 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"
@.str2312 = 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"
@.str2313 = private unnamed_addr constant [37 x i8] c"define ptr @fn_sha256_hex(ptr %s) {\0A\00"
@.str2314 = 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"
@.str2315 = private unnamed_addr constant [122 x i8] c" call void @fn_sha256_buf(ptr %s, i64 %len, ptr %dp)\0A %hex = call ptr @fn_hex_encode(ptr %dp, i64 32)\0A ret ptr %hex\0A}\0A\00"
@.str2316 = private unnamed_addr constant [34 x i8] c"define ptr @fn_str_hex(ptr %s) {\0A\00"
@.str2317 = private unnamed_addr constant [95 x i8] c" %n = call i64 @strlen(ptr %s)\0A %h = call ptr @fn_hex_encode(ptr %s, i64 %n)\0A ret ptr %h\0A}\0A\00"
@.str2318 = private unnamed_addr constant [55 x i8] c"define void @fn_xor64(ptr %dst, ptr %src, i32 %pad) {\0A\00"
@.str2319 = 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"
@.str2320 = 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"
@.str2321 = 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"
@.str2322 = private unnamed_addr constant [17 x i8] c"d:\0A ret void\0A}\0A\00"
@.str2323 = private unnamed_addr constant [54 x i8] c"define ptr @fn_hmac_sha256_hex(ptr %key, ptr %msg) {\0A\00"
@.str2324 = private unnamed_addr constant [8 x i8] c"entry:\0A\00"
@.str2325 = 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"
@.str2326 = private unnamed_addr constant [75 x i8] c" %klen = call i64 @strlen(ptr %key)\0A %mlen = call i64 @strlen(ptr %msg)\0A\00"
@.str2327 = 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"
@.str2328 = private unnamed_addr constant [74 x i8] c" %big = icmp ugt i64 %klen, 64\0A br i1 %big, label %hashk, label %copyk\0A\00"
@.str2329 = private unnamed_addr constant [83 x i8] c"hashk:\0A call void @fn_sha256_buf(ptr %key, i64 %klen, ptr %k0p)\0A br label %pads\0A\00"
@.str2330 = 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"
@.str2331 = private unnamed_addr constant [7 x i8] c"pads:\0A\00"
@.str2332 = private unnamed_addr constant [70 x i8] c" %inlen = add i64 64, %mlen\0A %inbuf = call ptr @malloc(i64 %inlen)\0A\00"
@.str2333 = private unnamed_addr constant [53 x i8] c" call void @fn_xor64(ptr %inbuf, ptr %k0p, i32 54)\0A\00"
@.str2334 = 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"
@.str2335 = private unnamed_addr constant [157 x i8] c" %innerp = getelementptr [32 x i8], ptr %inner, i64 0, i64 0\0A call void @fn_sha256_buf(ptr %inbuf, i64 %inlen, ptr %innerp)\0A call void @free(ptr %inbuf)\0A\00"
@.str2336 = private unnamed_addr constant [113 x i8] c" %outp = getelementptr [96 x i8], ptr %outbuf, i64 0, i64 0\0A call void @fn_xor64(ptr %outp, ptr %k0p, i32 92)\0A\00"
@.str2337 = 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"
@.str2338 = private unnamed_addr constant [116 x i8] c" %finp = getelementptr [32 x i8], ptr %fin, i64 0, i64 0\0A call void @fn_sha256_buf(ptr %outp, i64 96, ptr %finp)\0A\00"
@.str2339 = private unnamed_addr constant [70 x i8] c" %hex = call ptr @fn_hex_encode(ptr %finp, i64 32)\0A ret ptr %hex\0A}\0A\00"
@.str2340 = private unnamed_addr constant [43 x i8] c"define i32 @fn_ct_streq(ptr %a, ptr %b) {\0A\00"
@.str2341 = 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"
@.str2342 = private unnamed_addr constant [17 x i8] c"ne:\0A ret i32 0\0A\00"
@.str2343 = 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"
@.str2344 = 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"
@.str2345 = 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"
@.str2346 = 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"
@.str2347 = 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"
@.str2348 = private unnamed_addr constant [66 x i8] c"@.ludic_rbmode = private unnamed_addr constant [3 x i8] c\22rb\5C00\22\0A\00"
@.str2349 = private unnamed_addr constant [126 x i8] c"@.ludic_b64tab = private unnamed_addr constant [64 x i8] c\22ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\22\0A\00"
@.str2350 = private unnamed_addr constant [50 x i8] c"define void @fn_secure_bytes(ptr %out, i64 %n) {\0A\00"
@.str2351 = private unnamed_addr constant [52 x i8] c"entry:\0A call ptr @memset(ptr %out, i32 0, i64 %n)\0A\00"
@.str2352 = private unnamed_addr constant [66 x i8] c" %fp = call ptr @fopen(ptr @.ludic_urandom, ptr @.ludic_rbmode)\0A\00"
@.str2353 = private unnamed_addr constant [75 x i8] c" %isnull = icmp eq ptr %fp, null\0A br i1 %isnull, label %fail, label %ok\0A\00"
@.str2354 = 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"
@.str2355 = private unnamed_addr constant [20 x i8] c"fail:\0A ret void\0A}\0A\00"
@.str2356 = private unnamed_addr constant [37 x i8] c"define ptr @fn_random_hex(i64 %n) {\0A\00"
@.str2357 = private unnamed_addr constant [89 x i8] c"entry:\0A %buf = call ptr @malloc(i64 %n)\0A call void @fn_secure_bytes(ptr %buf, i64 %n)\0A\00"
@.str2358 = private unnamed_addr constant [97 x i8] c" %hex = call ptr @fn_hex_encode(ptr %buf, i64 %n)\0A call void @free(ptr %buf)\0A ret ptr %hex\0A}\0A\00"
@.str2359 = private unnamed_addr constant [31 x i8] c"define i32 @fn_random_u32() {\0A\00"
@.str2360 = 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 @fn_secure_bytes(ptr %bp, i64 4)\0A\00"
@.str2361 = 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"
@.str2362 = 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"
@.str2363 = 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"
@.str2364 = 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"
@.str2365 = 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"
@.str2366 = private unnamed_addr constant [33 x i8] c"define ptr @fn_base64(ptr %s) {\0A\00"
@.str2367 = private unnamed_addr constant [40 x i8] c"entry:\0A %n = call i64 @strlen(ptr %s)\0A\00"
@.str2368 = 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"
@.str2369 = private unnamed_addr constant [93 x i8] c" %olen = mul i64 %grp, 4\0A %olen1 = add i64 %olen, 1\0A %out = call ptr @malloc(i64 %olen1)\0A\00"
@.str2370 = private unnamed_addr constant [136 x i8] c" %inbuf = call ptr @malloc(i64 %bufn)\0A call ptr @memset(ptr %inbuf, i32 0, i64 %bufn)\0A call ptr @memcpy(ptr %inbuf, ptr %s, i64 %n)\0A\00"
@.str2371 = private unnamed_addr constant [60 x i8] c" %gp = alloca i64\0A store i64 0, ptr %gp\0A br label %cond\0A\00"
@.str2372 = 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"
@.str2373 = private unnamed_addr constant [30 x i8] c"body:\0A %i3 = mul i64 %gi, 3\0A\00"
@.str2374 = 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"
@.str2375 = 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"
@.str2376 = 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"
@.str2377 = private unnamed_addr constant [25 x i8] c" %e0 = lshr i32 %b0, 2\0A\00"
@.str2378 = 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"
@.str2379 = 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"
@.str2380 = private unnamed_addr constant [25 x i8] c" %e3 = and i32 %b2, 63\0A\00"
@.str2381 = private unnamed_addr constant [24 x i8] c" %o4 = mul i64 %gi, 4\0A\00"
@.str2382 = 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"
@.str2383 = 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"
@.str2384 = 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"
@.str2385 = 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"
@.str2386 = 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"
@.str2387 = 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"
@.str2388 = 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"
@.str2389 = private unnamed_addr constant [69 x i8] c" %eq = getelementptr i8, ptr %out, i64 %olen\0A store i8 0, ptr %eq\0A\00"
@.str2390 = private unnamed_addr constant [41 x i8] c" br i1 %r1, label %pad1, label %maybe2\0A\00"
@.str2391 = 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"
@.str2392 = private unnamed_addr constant [47 x i8] c"maybe2:\0A br i1 %r2, label %pad2, label %done\0A\00"
@.str2393 = 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"
@.str2394 = private unnamed_addr constant [54 x i8] c"done:\0A call void @free(ptr %inbuf)\0A ret ptr %out\0A}\0A\00"
@.str2395 = private unnamed_addr constant [4 x i8] c"new\00"
@.str2396 = private unnamed_addr constant [3 x i8] c"v4\00"
@.str2397 = private unnamed_addr constant [7 x i8] c"new_v7\00"
@.str2398 = private unnamed_addr constant [3 x i8] c"v7\00"
@.str2399 = private unnamed_addr constant [6 x i8] c"parse\00"
@.str2400 = private unnamed_addr constant [9 x i8] c"is_valid\00"
@.str2401 = private unnamed_addr constant [8 x i8] c"to_text\00"
@.str2402 = private unnamed_addr constant [7 x i8] c"equals\00"
@.str2403 = private unnamed_addr constant [4 x i8] c"nil\00"
@.str2404 = private unnamed_addr constant [4 x i8] c"new\00"
@.str2405 = private unnamed_addr constant [3 x i8] c"v4\00"
@.str2406 = private unnamed_addr constant [23 x i8] c"call ptr @fn_uuid_v4()\00"
@.str2407 = private unnamed_addr constant [7 x i8] c"string\00"
@.str2408 = private unnamed_addr constant [7 x i8] c"new_v7\00"
@.str2409 = private unnamed_addr constant [3 x i8] c"v7\00"
@.str2410 = private unnamed_addr constant [23 x i8] c"call ptr @fn_uuid_v7()\00"
@.str2411 = private unnamed_addr constant [7 x i8] c"string\00"
@.str2412 = private unnamed_addr constant [4 x i8] c"nil\00"
@.str2413 = private unnamed_addr constant [24 x i8] c"call ptr @fn_uuid_nil()\00"
@.str2414 = private unnamed_addr constant [7 x i8] c"string\00"
@.str2415 = private unnamed_addr constant [9 x i8] c"is_valid\00"
@.str2416 = private unnamed_addr constant [29 x i8] c"call i32 @fn_uuid_valid(ptr \00"
@.str2417 = private unnamed_addr constant [2 x i8] c")\00"
@.str2418 = private unnamed_addr constant [5 x i8] c"bool\00"
@.str2419 = private unnamed_addr constant [8 x i8] c"to_text\00"
@.str2420 = private unnamed_addr constant [7 x i8] c"string\00"
@.str2421 = private unnamed_addr constant [7 x i8] c"equals\00"
@.str2422 = private unnamed_addr constant [26 x i8] c"call i32 @fn_uuid_eq(ptr \00"
@.str2423 = private unnamed_addr constant [7 x i8] c", ptr \00"
@.str2424 = private unnamed_addr constant [2 x i8] c")\00"
@.str2425 = private unnamed_addr constant [5 x i8] c"bool\00"
@.str2426 = private unnamed_addr constant [29 x i8] c"call ptr @fn_uuid_parse(ptr \00"
@.str2427 = private unnamed_addr constant [2 x i8] c")\00"
@.str2428 = private unnamed_addr constant [7 x i8] c"string\00"
@.str2429 = private unnamed_addr constant [40 x i8] c"define ptr @fn_uuid_format(ptr %b16) {\0A\00"
@.str2430 = private unnamed_addr constant [93 x i8] c"entry:\0A %hex = call ptr @fn_hex_encode(ptr %b16, i64 16)\0A %out = call ptr @malloc(i64 37)\0A\00"
@.str2431 = private unnamed_addr constant [47 x i8] c" call ptr @memcpy(ptr %out, ptr %hex, i64 8)\0A\00"
@.str2432 = private unnamed_addr constant [66 x i8] c" %o8 = getelementptr i8, ptr %out, i64 8\0A store i8 45, ptr %o8\0A\00"
@.str2433 = 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"
@.str2434 = private unnamed_addr constant [69 x i8] c" %o13 = getelementptr i8, ptr %out, i64 13\0A store i8 45, ptr %o13\0A\00"
@.str2435 = 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"
@.str2436 = private unnamed_addr constant [69 x i8] c" %o18 = getelementptr i8, ptr %out, i64 18\0A store i8 45, ptr %o18\0A\00"
@.str2437 = 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"
@.str2438 = private unnamed_addr constant [69 x i8] c" %o23 = getelementptr i8, ptr %out, i64 23\0A store i8 45, ptr %o23\0A\00"
@.str2439 = 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"
@.str2440 = private unnamed_addr constant [68 x i8] c" %o36 = getelementptr i8, ptr %out, i64 36\0A store i8 0, ptr %o36\0A\00"
@.str2441 = private unnamed_addr constant [46 x i8] c" call void @free(ptr %hex)\0A ret ptr %out\0A}\0A\00"
@.str2442 = private unnamed_addr constant [28 x i8] c"define ptr @fn_uuid_v4() {\0A\00"
@.str2443 = 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 @fn_secure_bytes(ptr %bp, i64 16)\0A\00"
@.str2444 = 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"
@.str2445 = 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"
@.str2446 = private unnamed_addr constant [57 x i8] c" %s = call ptr @fn_uuid_format(ptr %bp)\0A ret ptr %s\0A}\0A\00"
@.str2447 = private unnamed_addr constant [28 x i8] c"define ptr @fn_uuid_v7() {\0A\00"
@.str2448 = 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 @fn_secure_bytes(ptr %bp, i64 16)\0A\00"
@.str2449 = private unnamed_addr constant [58 x i8] c" %t = call i64 @time(ptr null)\0A %ms = mul i64 %t, 1000\0A\00"
@.str2450 = 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"
@.str2451 = 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"
@.str2452 = 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"
@.str2453 = 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"
@.str2454 = 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"
@.str2455 = 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"
@.str2456 = 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"
@.str2457 = 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"
@.str2458 = private unnamed_addr constant [57 x i8] c" %s = call ptr @fn_uuid_format(ptr %bp)\0A ret ptr %s\0A}\0A\00"
@.str2459 = private unnamed_addr constant [29 x i8] c"define ptr @fn_uuid_nil() {\0A\00"
@.str2460 = private unnamed_addr constant [87 x i8] c"entry:\0A %out = call ptr @malloc(i64 37)\0A call ptr @memset(ptr %out, i32 48, i64 36)\0A\00"
@.str2461 = private unnamed_addr constant [66 x i8] c" %o8 = getelementptr i8, ptr %out, i64 8\0A store i8 45, ptr %o8\0A\00"
@.str2462 = private unnamed_addr constant [69 x i8] c" %o13 = getelementptr i8, ptr %out, i64 13\0A store i8 45, ptr %o13\0A\00"
@.str2463 = private unnamed_addr constant [69 x i8] c" %o18 = getelementptr i8, ptr %out, i64 18\0A store i8 45, ptr %o18\0A\00"
@.str2464 = private unnamed_addr constant [69 x i8] c" %o23 = getelementptr i8, ptr %out, i64 23\0A store i8 45, ptr %o23\0A\00"
@.str2465 = 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"
@.str2466 = private unnamed_addr constant [37 x i8] c"define i32 @fn_uuid_valid(ptr %s) {\0A\00"
@.str2467 = 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"
@.str2468 = 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"
@.str2469 = 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"
@.str2470 = 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"
@.str2471 = 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"
@.str2472 = 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"
@.str2473 = 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"
@.str2474 = private unnamed_addr constant [8 x i8] c"ckhex:\0A\00"
@.str2475 = 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"
@.str2476 = 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"
@.str2477 = 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"
@.str2478 = 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"
@.str2479 = 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"
@.str2480 = private unnamed_addr constant [19 x i8] c"good:\0A ret i32 1\0A\00"
@.str2481 = private unnamed_addr constant [20 x i8] c"bad:\0A ret i32 0\0A}\0A\00"
@.str2482 = private unnamed_addr constant [42 x i8] c"define i32 @fn_uuid_eq(ptr %a, ptr %b) {\0A\00"
@.str2483 = 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"
@.str2484 = 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"
@.str2485 = 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"
@.str2486 = 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"
@.str2487 = 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"
@.str2488 = 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"
@.str2489 = private unnamed_addr constant [71 x i8] c" %same = icmp eq i8 %cal, %cbl\0A br i1 %same, label %next, label %ne\0A\00"
@.str2490 = 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"
@.str2491 = private unnamed_addr constant [20 x i8] c"eqret:\0A ret i32 1\0A\00"
@.str2492 = private unnamed_addr constant [19 x i8] c"ne:\0A ret i32 0\0A}\0A\00"
@.str2493 = private unnamed_addr constant [37 x i8] c"define ptr @fn_uuid_parse(ptr %s) {\0A\00"
@.str2494 = private unnamed_addr constant [116 x i8] c"entry:\0A %ok = call i32 @fn_uuid_valid(ptr %s)\0A %isok = icmp ne i32 %ok, 0\0A br i1 %isok, label %dup, label %nilb\0A\00"
@.str2495 = private unnamed_addr constant [99 x i8] c"dup:\0A %out = call ptr @malloc(i64 37)\0A %ip = alloca i64\0A store i64 0, ptr %ip\0A br label %cond\0A\00"
@.str2496 = 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"
@.str2497 = 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"
@.str2498 = 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"
@.str2499 = private unnamed_addr constant [68 x i8] c" %op = getelementptr i8, ptr %out, i64 %i\0A store i8 %cl, ptr %op\0A\00"
@.str2500 = 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"
@.str2501 = 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"
@.str2502 = private unnamed_addr constant [55 x i8] c"nilb:\0A %nn = call ptr @fn_uuid_nil()\0A ret ptr %nn\0A}\0A\00"
@.str2503 = private unnamed_addr constant [7 x i8] c"value2\00"
@.str2504 = private unnamed_addr constant [8 x i8] c"perlin2\00"
@.str2505 = private unnamed_addr constant [9 x i8] c"simplex2\00"
@.str2506 = private unnamed_addr constant [5 x i8] c"fbm2\00"
@.str2507 = private unnamed_addr constant [10 x i8] c"cellular2\00"
@.str2508 = private unnamed_addr constant [13 x i8] c"cellular2_id\00"
@.str2509 = private unnamed_addr constant [5 x i8] c"unit\00"
@.str2510 = private unnamed_addr constant [5 x i8] c"unit\00"
@.str2511 = private unnamed_addr constant [10 x i8] c"ashr i32 \00"
@.str2512 = private unnamed_addr constant [4 x i8] c", 1\00"
@.str2513 = private unnamed_addr constant [9 x i8] c"add i32 \00"
@.str2514 = private unnamed_addr constant [8 x i8] c", 32768\00"
@.str2515 = private unnamed_addr constant [6 x i8] c"fixed\00"
@.str2516 = private unnamed_addr constant [7 x i8] c"value2\00"
@.str2517 = private unnamed_addr constant [31 x i8] c"call i32 @fn_noise_value2(i32 \00"
@.str2518 = private unnamed_addr constant [7 x i8] c", i32 \00"
@.str2519 = private unnamed_addr constant [7 x i8] c", i32 \00"
@.str2520 = private unnamed_addr constant [2 x i8] c")\00"
@.str2521 = private unnamed_addr constant [6 x i8] c"fixed\00"
@.str2522 = private unnamed_addr constant [8 x i8] c"perlin2\00"
@.str2523 = private unnamed_addr constant [32 x i8] c"call i32 @fn_noise_perlin2(i32 \00"
@.str2524 = private unnamed_addr constant [7 x i8] c", i32 \00"
@.str2525 = private unnamed_addr constant [7 x i8] c", i32 \00"
@.str2526 = private unnamed_addr constant [2 x i8] c")\00"
@.str2527 = private unnamed_addr constant [6 x i8] c"fixed\00"
@.str2528 = private unnamed_addr constant [9 x i8] c"simplex2\00"
@.str2529 = private unnamed_addr constant [33 x i8] c"call i32 @fn_noise_simplex2(i32 \00"
@.str2530 = private unnamed_addr constant [7 x i8] c", i32 \00"
@.str2531 = private unnamed_addr constant [7 x i8] c", i32 \00"
@.str2532 = private unnamed_addr constant [2 x i8] c")\00"
@.str2533 = private unnamed_addr constant [6 x i8] c"fixed\00"
@.str2534 = private unnamed_addr constant [5 x i8] c"fbm2\00"
@.str2535 = private unnamed_addr constant [29 x i8] c"call i32 @fn_noise_fbm2(i32 \00"
@.str2536 = private unnamed_addr constant [7 x i8] c", i32 \00"
@.str2537 = private unnamed_addr constant [7 x i8] c", i32 \00"
@.str2538 = private unnamed_addr constant [7 x i8] c", i32 \00"
@.str2539 = private unnamed_addr constant [2 x i8] c")\00"
@.str2540 = private unnamed_addr constant [6 x i8] c"fixed\00"
@.str2541 = private unnamed_addr constant [10 x i8] c"cellular2\00"
@.str2542 = private unnamed_addr constant [34 x i8] c"call i32 @fn_noise_cellular2(i32 \00"
@.str2543 = private unnamed_addr constant [7 x i8] c", i32 \00"
@.str2544 = private unnamed_addr constant [7 x i8] c", i32 \00"
@.str2545 = private unnamed_addr constant [2 x i8] c")\00"
@.str2546 = private unnamed_addr constant [6 x i8] c"fixed\00"
@.str2547 = private unnamed_addr constant [37 x i8] c"call i32 @fn_noise_cellular2_id(i32 \00"
@.str2548 = private unnamed_addr constant [7 x i8] c", i32 \00"
@.str2549 = private unnamed_addr constant [7 x i8] c", i32 \00"
@.str2550 = private unnamed_addr constant [2 x i8] c")\00"
@.str2551 = private unnamed_addr constant [4 x i8] c"int\00"
@.str2552 = private unnamed_addr constant [42 x i8] c"define i32 @fn_nfx_mul(i32 %a, i32 %b) {\0A\00"
@.str2553 = 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"
@.str2554 = private unnamed_addr constant [42 x i8] c"define i32 @fn_nfx_div(i32 %a, i32 %b) {\0A\00"
@.str2555 = private unnamed_addr constant [61 x i8] c" %z = icmp eq i32 %b, 0\0A br i1 %z, label %zero, label %go\0A\00"
@.str2556 = private unnamed_addr constant [19 x i8] c"zero:\0A ret i32 0\0A\00"
@.str2557 = 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"
@.str2558 = private unnamed_addr constant [51 x i8] c"define i32 @fn_nfx_lerp(i32 %a, i32 %b, i32 %t) {\0A\00"
@.str2559 = private unnamed_addr constant [106 x i8] c" %d = sub i32 %b, %a\0A %dt = call i32 @fn_nfx_mul(i32 %d, i32 %t)\0A %r = add i32 %a, %dt\0A ret i32 %r\0A}\0A\00"
@.str2560 = private unnamed_addr constant [38 x i8] c"define i32 @fn_noise_clamp(i32 %v) {\0A\00"
@.str2561 = 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"
@.str2562 = private unnamed_addr constant [58 x i8] c"define i32 @fn_noise_hash(i32 %seed, i32 %xi, i32 %yi) {\0A\00"
@.str2563 = 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"
@.str2564 = 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"
@.str2565 = 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"
@.str2566 = 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"
@.str2567 = private unnamed_addr constant [37 x i8] c"define i32 @fn_noise_fade(i32 %t) {\0A\00"
@.str2568 = private unnamed_addr constant [92 x i8] c" %t2 = call i32 @fn_nfx_mul(i32 %t, i32 %t)\0A %t3 = call i32 @fn_nfx_mul(i32 %t2, i32 %t)\0A\00"
@.str2569 = private unnamed_addr constant [93 x i8] c" %t4 = call i32 @fn_nfx_mul(i32 %t3, i32 %t)\0A %t5 = call i32 @fn_nfx_mul(i32 %t4, i32 %t)\0A\00"
@.str2570 = 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"
@.str2571 = 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"
@.str2572 = private unnamed_addr constant [58 x i8] c"define i32 @fn_noise_value2(i32 %x, i32 %y, i32 %seed) {\0A\00"
@.str2573 = 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"
@.str2574 = private unnamed_addr constant [81 x i8] c" %u = call i32 @fn_noise_fade(i32 %xf)\0A %v = call i32 @fn_noise_fade(i32 %yf)\0A\00"
@.str2575 = private unnamed_addr constant [49 x i8] c" %xi1 = add i32 %xi, 1\0A %yi1 = add i32 %yi, 1\0A\00"
@.str2576 = private unnamed_addr constant [122 x i8] c" %h00 = call i32 @fn_noise_hash(i32 %seed, i32 %xi, i32 %yi)\0A %m00 = and i32 %h00, 131071\0A %n00 = sub i32 %m00, 65536\0A\00"
@.str2577 = private unnamed_addr constant [123 x i8] c" %h10 = call i32 @fn_noise_hash(i32 %seed, i32 %xi1, i32 %yi)\0A %m10 = and i32 %h10, 131071\0A %n10 = sub i32 %m10, 65536\0A\00"
@.str2578 = private unnamed_addr constant [123 x i8] c" %h01 = call i32 @fn_noise_hash(i32 %seed, i32 %xi, i32 %yi1)\0A %m01 = and i32 %h01, 131071\0A %n01 = sub i32 %m01, 65536\0A\00"
@.str2579 = private unnamed_addr constant [124 x i8] c" %h11 = call i32 @fn_noise_hash(i32 %seed, i32 %xi1, i32 %yi1)\0A %m11 = and i32 %h11, 131071\0A %n11 = sub i32 %m11, 65536\0A\00"
@.str2580 = private unnamed_addr constant [115 x i8] c" %a = call i32 @fn_nfx_lerp(i32 %n00, i32 %n10, i32 %u)\0A %b = call i32 @fn_nfx_lerp(i32 %n01, i32 %n11, i32 %u)\0A\00"
@.str2581 = private unnamed_addr constant [109 x i8] c" %n = call i32 @fn_nfx_lerp(i32 %a, i32 %b, i32 %v)\0A %r = call i32 @fn_noise_clamp(i32 %n)\0A ret i32 %r\0A}\0A\00"
@.str2582 = 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"
@.str2583 = private unnamed_addr constant [59 x i8] c"define i32 @fn_noise_grad2(i32 %hash, i32 %dx, i32 %dy) {\0A\00"
@.str2584 = 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"
@.str2585 = 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"
@.str2586 = 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"
@.str2587 = private unnamed_addr constant [134 x i8] c" %px = call i32 @fn_nfx_mul(i32 %gx, i32 %dx)\0A %py = call i32 @fn_nfx_mul(i32 %gy, i32 %dy)\0A %r = add i32 %px, %py\0A ret i32 %r\0A}\0A\00"
@.str2588 = private unnamed_addr constant [59 x i8] c"define i32 @fn_noise_perlin2(i32 %x, i32 %y, i32 %seed) {\0A\00"
@.str2589 = 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"
@.str2590 = private unnamed_addr constant [57 x i8] c" %xf1 = sub i32 %xf, 65536\0A %yf1 = sub i32 %yf, 65536\0A\00"
@.str2591 = private unnamed_addr constant [81 x i8] c" %u = call i32 @fn_noise_fade(i32 %xf)\0A %v = call i32 @fn_noise_fade(i32 %yf)\0A\00"
@.str2592 = private unnamed_addr constant [49 x i8] c" %xi1 = add i32 %xi, 1\0A %yi1 = add i32 %yi, 1\0A\00"
@.str2593 = private unnamed_addr constant [126 x i8] c" %h00 = call i32 @fn_noise_hash(i32 %seed, i32 %xi, i32 %yi)\0A %h10 = call i32 @fn_noise_hash(i32 %seed, i32 %xi1, i32 %yi)\0A\00"
@.str2594 = private unnamed_addr constant [128 x i8] c" %h01 = call i32 @fn_noise_hash(i32 %seed, i32 %xi, i32 %yi1)\0A %h11 = call i32 @fn_noise_hash(i32 %seed, i32 %xi1, i32 %yi1)\0A\00"
@.str2595 = private unnamed_addr constant [126 x i8] c" %g00 = call i32 @fn_noise_grad2(i32 %h00, i32 %xf, i32 %yf)\0A %g10 = call i32 @fn_noise_grad2(i32 %h10, i32 %xf1, i32 %yf)\0A\00"
@.str2596 = private unnamed_addr constant [128 x i8] c" %g01 = call i32 @fn_noise_grad2(i32 %h01, i32 %xf, i32 %yf1)\0A %g11 = call i32 @fn_noise_grad2(i32 %h11, i32 %xf1, i32 %yf1)\0A\00"
@.str2597 = private unnamed_addr constant [115 x i8] c" %a = call i32 @fn_nfx_lerp(i32 %g00, i32 %g10, i32 %u)\0A %b = call i32 @fn_nfx_lerp(i32 %g01, i32 %g11, i32 %u)\0A\00"
@.str2598 = private unnamed_addr constant [158 x i8] c" %n = call i32 @fn_nfx_lerp(i32 %a, i32 %b, i32 %v)\0A %sc = call i32 @fn_nfx_mul(i32 %n, i32 92682)\0A %r = call i32 @fn_noise_clamp(i32 %sc)\0A ret i32 %r\0A}\0A\00"
@.str2599 = private unnamed_addr constant [61 x i8] c"define i32 @fn_noise_scorner(i32 %hash, i32 %dx, i32 %dy) {\0A\00"
@.str2600 = private unnamed_addr constant [95 x i8] c" %xx = call i32 @fn_nfx_mul(i32 %dx, i32 %dx)\0A %yy = call i32 @fn_nfx_mul(i32 %dy, i32 %dy)\0A\00"
@.str2601 = 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"
@.str2602 = private unnamed_addr constant [19 x i8] c"zero:\0A ret i32 0\0A\00"
@.str2603 = private unnamed_addr constant [97 x i8] c"go:\0A %t2 = call i32 @fn_nfx_mul(i32 %t, i32 %t)\0A %t4 = call i32 @fn_nfx_mul(i32 %t2, i32 %t2)\0A\00"
@.str2604 = private unnamed_addr constant [122 x i8] c" %g = call i32 @fn_noise_grad2(i32 %hash, i32 %dx, i32 %dy)\0A %r = call i32 @fn_nfx_mul(i32 %t4, i32 %g)\0A ret i32 %r\0A}\0A\00"
@.str2605 = private unnamed_addr constant [60 x i8] c"define i32 @fn_noise_simplex2(i32 %x, i32 %y, i32 %seed) {\0A\00"
@.str2606 = private unnamed_addr constant [79 x i8] c" %sum0 = add i32 %x, %y\0A %skew = call i32 @fn_nfx_mul(i32 %sum0, i32 23994)\0A\00"
@.str2607 = 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"
@.str2608 = private unnamed_addr constant [51 x i8] c" %ij = add i32 %i, %j\0A %tt = mul i32 %ij, 13849\0A\00"
@.str2609 = private unnamed_addr constant [49 x i8] c" %if0 = shl i32 %i, 16\0A %jf0 = shl i32 %j, 16\0A\00"
@.str2610 = 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"
@.str2611 = 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"
@.str2612 = private unnamed_addr constant [51 x i8] c" %i1f = shl i32 %i1, 16\0A %j1f = shl i32 %j1, 16\0A\00"
@.str2613 = 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"
@.str2614 = 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"
@.str2615 = 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"
@.str2616 = private unnamed_addr constant [187 x i8] c" %gi0 = call i32 @fn_noise_hash(i32 %seed, i32 %i, i32 %j)\0A %gi1 = call i32 @fn_noise_hash(i32 %seed, i32 %i1p, i32 %j1p)\0A %gi2 = call i32 @fn_noise_hash(i32 %seed, i32 %i2, i32 %j2)\0A\00"
@.str2617 = private unnamed_addr constant [190 x i8] c" %n0 = call i32 @fn_noise_scorner(i32 %gi0, i32 %x0, i32 %y0)\0A %n1 = call i32 @fn_noise_scorner(i32 %gi1, i32 %x1, i32 %y1)\0A %n2 = call i32 @fn_noise_scorner(i32 %gi2, i32 %x2, i32 %y2)\0A\00"
@.str2618 = private unnamed_addr constant [51 x i8] c" %sa = add i32 %n0, %n1\0A %sb = add i32 %sa, %n2\0A\00"
@.str2619 = private unnamed_addr constant [81 x i8] c" %sc = mul i32 %sb, 45\0A %r = call i32 @fn_noise_clamp(i32 %sc)\0A ret i32 %r\0A}\0A\00"
@.str2620 = private unnamed_addr constant [66 x i8] c"define i32 @fn_noise_fbm2(i32 %x, i32 %y, i32 %seed, i32 %oct) {\0A\00"
@.str2621 = 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"
@.str2622 = 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"
@.str2623 = 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"
@.str2624 = private unnamed_addr constant [67 x i8] c"body:\0A %freq = load i32, ptr %freqp\0A %amp = load i32, ptr %ampp\0A\00"
@.str2625 = private unnamed_addr constant [97 x i8] c" %fx = call i32 @fn_nfx_mul(i32 %x, i32 %freq)\0A %fy = call i32 @fn_nfx_mul(i32 %y, i32 %freq)\0A\00"
@.str2626 = private unnamed_addr constant [89 x i8] c" %so = add i32 %seed, %o\0A %n = call i32 @fn_noise_simplex2(i32 %fx, i32 %fy, i32 %so)\0A\00"
@.str2627 = private unnamed_addr constant [134 x i8] c" %na = call i32 @fn_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"
@.str2628 = 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"
@.str2629 = private unnamed_addr constant [82 x i8] c" %amp2 = call i32 @fn_nfx_mul(i32 %amp, i32 32768)\0A store i32 %amp2, ptr %ampp\0A\00"
@.str2630 = private unnamed_addr constant [87 x i8] c" %freq2 = call i32 @fn_nfx_mul(i32 %freq, i32 131072)\0A store i32 %freq2, ptr %freqp\0A\00"
@.str2631 = 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"
@.str2632 = private unnamed_addr constant [69 x i8] c"done:\0A %fsum = load i32, ptr %sump\0A %fnorm = load i32, ptr %normp\0A\00"
@.str2633 = private unnamed_addr constant [65 x i8] c" %nz = icmp eq i32 %fnorm, 0\0A br i1 %nz, label %z, label %div\0A\00"
@.str2634 = private unnamed_addr constant [16 x i8] c"z:\0A ret i32 0\0A\00"
@.str2635 = private unnamed_addr constant [112 x i8] c"div:\0A %d = call i32 @fn_nfx_div(i32 %fsum, i32 %fnorm)\0A %r = call i32 @fn_noise_clamp(i32 %d)\0A ret i32 %r\0A}\0A\00"
@.str2636 = private unnamed_addr constant [86 x i8] c"define void @fn_noise_cell_scan(i32 %x, i32 %y, i32 %seed, ptr %d2out, ptr %idout) {\0A\00"
@.str2637 = private unnamed_addr constant [56 x i8] c"entry:\0A %xi = ashr i32 %x, 16\0A %yi = ashr i32 %y, 16\0A\00"
@.str2638 = 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"
@.str2639 = 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"
@.str2640 = 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"
@.str2641 = private unnamed_addr constant [45 x i8] c"yb:\0A store i32 -1, ptr %dxp\0A br label %xc\0A\00"
@.str2642 = 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"
@.str2643 = private unnamed_addr constant [55 x i8] c"xb:\0A %cx = add i32 %xi, %ox\0A %cy = add i32 %yi, %oy\0A\00"
@.str2644 = private unnamed_addr constant [61 x i8] c" %h = call i32 @fn_noise_hash(i32 %seed, i32 %cx, i32 %cy)\0A\00"
@.str2645 = 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"
@.str2646 = 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"
@.str2647 = private unnamed_addr constant [53 x i8] c" %ddx = sub i32 %pxr, %x\0A %ddy = sub i32 %pyr, %y\0A\00"
@.str2648 = private unnamed_addr constant [128 x i8] c" %dxx = call i32 @fn_nfx_mul(i32 %ddx, i32 %ddx)\0A %dyy = call i32 @fn_nfx_mul(i32 %ddy, i32 %ddy)\0A %d2 = add i32 %dxx, %dyy\0A\00"
@.str2649 = 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"
@.str2650 = 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"
@.str2651 = 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"
@.str2652 = 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"
@.str2653 = 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"
@.str2654 = private unnamed_addr constant [61 x i8] c"define i32 @fn_noise_cellular2(i32 %x, i32 %y, i32 %seed) {\0A\00"
@.str2655 = private unnamed_addr constant [116 x i8] c" %d2 = alloca i32\0A %id = alloca i32\0A call void @fn_noise_cell_scan(i32 %x, i32 %y, i32 %seed, ptr %d2, ptr %id)\0A\00"
@.str2656 = private unnamed_addr constant [77 x i8] c" %v = load i32, ptr %d2\0A %r = call i32 @fn_fx_sqrt(i32 %v)\0A ret i32 %r\0A}\0A\00"
@.str2657 = private unnamed_addr constant [64 x i8] c"define i32 @fn_noise_cellular2_id(i32 %x, i32 %y, i32 %seed) {\0A\00"
@.str2658 = private unnamed_addr constant [116 x i8] c" %d2 = alloca i32\0A %id = alloca i32\0A call void @fn_noise_cell_scan(i32 %x, i32 %y, i32 %seed, ptr %d2, ptr %id)\0A\00"
@.str2659 = private unnamed_addr constant [41 x i8] c" %r = load i32, ptr %id\0A ret i32 %r\0A}\0A\00"
@.str2660 = private unnamed_addr constant [6 x i8] c"trace\00"
@.str2661 = private unnamed_addr constant [6 x i8] c"debug\00"
@.str2662 = private unnamed_addr constant [5 x i8] c"info\00"
@.str2663 = private unnamed_addr constant [5 x i8] c"warn\00"
@.str2664 = private unnamed_addr constant [6 x i8] c"error\00"
@.str2665 = private unnamed_addr constant [10 x i8] c"set_level\00"
@.str2666 = private unnamed_addr constant [6 x i8] c"level\00"
@.str2667 = private unnamed_addr constant [4 x i8] c"ptr\00"
@.str2668 = private unnamed_addr constant [4 x i8] c"i64\00"
@.str2669 = private unnamed_addr constant [27 x i8] c"call ptr @fn_long_str(i64 \00"
@.str2670 = private unnamed_addr constant [2 x i8] c")\00"
@.str2671 = private unnamed_addr constant [26 x i8] c"call ptr @fn_int_str(i32 \00"
@.str2672 = private unnamed_addr constant [2 x i8] c")\00"
@.str2673 = private unnamed_addr constant [10 x i8] c"set_level\00"
@.str2674 = private unnamed_addr constant [13 x i8] c" store i32 \00"
@.str2675 = private unnamed_addr constant [20 x i8] c", ptr @L_log_level\0A\00"
@.str2676 = private unnamed_addr constant [2 x i8] c"0\00"
@.str2677 = private unnamed_addr constant [5 x i8] c"void\00"
@.str2678 = private unnamed_addr constant [6 x i8] c"level\00"
@.str2679 = private unnamed_addr constant [27 x i8] c"load i32, ptr @L_log_level\00"
@.str2680 = private unnamed_addr constant [4 x i8] c"int\00"
@.str2681 = private unnamed_addr constant [2 x i8] c"2\00"
@.str2682 = private unnamed_addr constant [8 x i8] c"[INFO] \00"
@.str2683 = private unnamed_addr constant [6 x i8] c"trace\00"
@.str2684 = private unnamed_addr constant [2 x i8] c"0\00"
@.str2685 = private unnamed_addr constant [9 x i8] c"[TRACE] \00"
@.str2686 = private unnamed_addr constant [6 x i8] c"debug\00"
@.str2687 = private unnamed_addr constant [2 x i8] c"1\00"
@.str2688 = private unnamed_addr constant [9 x i8] c"[DEBUG] \00"
@.str2689 = private unnamed_addr constant [5 x i8] c"warn\00"
@.str2690 = private unnamed_addr constant [2 x i8] c"3\00"
@.str2691 = private unnamed_addr constant [8 x i8] c"[WARN] \00"
@.str2692 = private unnamed_addr constant [6 x i8] c"error\00"
@.str2693 = private unnamed_addr constant [2 x i8] c"4\00"
@.str2694 = private unnamed_addr constant [9 x i8] c"[ERROR] \00"
@.str2695 = private unnamed_addr constant [7 x i8] c"string\00"
@.str2696 = private unnamed_addr constant [2 x i8] c"+\00"
@.str2697 = private unnamed_addr constant [7 x i8] c"string\00"
@.str2698 = private unnamed_addr constant [2 x i8] c"+\00"
@.str2699 = private unnamed_addr constant [2 x i8] c" \00"
@.str2700 = private unnamed_addr constant [7 x i8] c"string\00"
@.str2701 = private unnamed_addr constant [2 x i8] c"+\00"
@.str2702 = private unnamed_addr constant [7 x i8] c"string\00"
@.str2703 = private unnamed_addr constant [2 x i8] c"+\00"
@.str2704 = private unnamed_addr constant [2 x i8] c"=\00"
@.str2705 = private unnamed_addr constant [7 x i8] c"string\00"
@.str2706 = private unnamed_addr constant [2 x i8] c"+\00"
@.str2707 = private unnamed_addr constant [7 x i8] c"string\00"
@.str2708 = private unnamed_addr constant [30 x i8] c" call void @fn_log_emit(i32 \00"
@.str2709 = private unnamed_addr constant [7 x i8] c", ptr \00"
@.str2710 = private unnamed_addr constant [3 x i8] c")\0A\00"
@.str2711 = private unnamed_addr constant [2 x i8] c"0\00"
@.str2712 = private unnamed_addr constant [5 x i8] c"void\00"
@.str2713 = private unnamed_addr constant [29 x i8] c"@L_log_level = global i32 0\0A\00"
@.str2714 = private unnamed_addr constant [61 x i8] c"@.log_nl = private unnamed_addr constant [2 x i8] c\22\5C0A\5C00\22\0A\00"
@.str2715 = private unnamed_addr constant [46 x i8] c"define void @fn_log_emit(i32 %lvl, ptr %s) {\0A\00"
@.str2716 = 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"
@.str2717 = private unnamed_addr constant [69 x i8] c"go:\0A %e = load ptr, ptr @__stderrp\0A %n = call i64 @strlen(ptr %s)\0A\00"
@.str2718 = 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"
@.str2719 = private unnamed_addr constant [20 x i8] c"done:\0A ret void\0A}\0A\00"
@.str2720 = private unnamed_addr constant [5 x i8] c"args\00"
@.str2721 = private unnamed_addr constant [10 x i8] c"arg_count\00"
@.str2722 = private unnamed_addr constant [4 x i8] c"arg\00"
@.str2723 = private unnamed_addr constant [4 x i8] c"env\00"
@.str2724 = private unnamed_addr constant [7 x i8] c"env_or\00"
@.str2725 = private unnamed_addr constant [8 x i8] c"has_env\00"
@.str2726 = private unnamed_addr constant [8 x i8] c"set_env\00"
@.str2727 = private unnamed_addr constant [10 x i8] c"unset_env\00"
@.str2728 = private unnamed_addr constant [5 x i8] c"exit\00"
@.str2729 = private unnamed_addr constant [9 x i8] c"platform\00"
@.str2730 = private unnamed_addr constant [5 x i8] c"arch\00"
@.str2731 = private unnamed_addr constant [13 x i8] c"stdout_write\00"
@.str2732 = private unnamed_addr constant [13 x i8] c"stderr_write\00"
@.str2733 = private unnamed_addr constant [9 x i8] c"save_dir\00"
@.str2734 = private unnamed_addr constant [11 x i8] c"config_dir\00"
@.str2735 = private unnamed_addr constant [10 x i8] c"cache_dir\00"
@.str2736 = private unnamed_addr constant [9 x i8] c"temp_dir\00"
@.str2737 = private unnamed_addr constant [10 x i8] c"arg_count\00"
@.str2738 = private unnamed_addr constant [22 x i8] c"load i32, ptr @L_argc\00"
@.str2739 = private unnamed_addr constant [4 x i8] c"int\00"
@.str2740 = private unnamed_addr constant [4 x i8] c"arg\00"
@.str2741 = private unnamed_addr constant [22 x i8] c"load ptr, ptr @L_argv\00"
@.str2742 = private unnamed_addr constant [24 x i8] c"getelementptr ptr, ptr \00"
@.str2743 = private unnamed_addr constant [7 x i8] c", i32 \00"
@.str2744 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00"
@.str2745 = private unnamed_addr constant [7 x i8] c"string\00"
@.str2746 = private unnamed_addr constant [5 x i8] c"exit\00"
@.str2747 = private unnamed_addr constant [23 x i8] c" call void @exit(i32 \00"
@.str2748 = private unnamed_addr constant [3 x i8] c")\0A\00"
@.str2749 = private unnamed_addr constant [15 x i8] c" unreachable\0A\00"
@.str2750 = private unnamed_addr constant [2 x i8] c"0\00"
@.str2751 = private unnamed_addr constant [5 x i8] c"void\00"
@.str2752 = private unnamed_addr constant [4 x i8] c"env\00"
@.str2753 = private unnamed_addr constant [22 x i8] c"call ptr @getenv(ptr \00"
@.str2754 = private unnamed_addr constant [2 x i8] c")\00"
@.str2755 = private unnamed_addr constant [7 x i8] c"string\00"
@.str2756 = private unnamed_addr constant [8 x i8] c"has_env\00"
@.str2757 = private unnamed_addr constant [22 x i8] c"call ptr @getenv(ptr \00"
@.str2758 = private unnamed_addr constant [2 x i8] c")\00"
@.str2759 = private unnamed_addr constant [13 x i8] c"icmp ne ptr \00"
@.str2760 = private unnamed_addr constant [7 x i8] c", null\00"
@.str2761 = private unnamed_addr constant [9 x i8] c"zext i1 \00"
@.str2762 = private unnamed_addr constant [8 x i8] c" to i32\00"
@.str2763 = private unnamed_addr constant [5 x i8] c"bool\00"
@.str2764 = private unnamed_addr constant [13 x i8] c"stdout_write\00"
@.str2765 = private unnamed_addr constant [13 x i8] c"stderr_write\00"
@.str2766 = private unnamed_addr constant [11 x i8] c"@__stdoutp\00"
@.str2767 = private unnamed_addr constant [13 x i8] c"stderr_write\00"
@.str2768 = private unnamed_addr constant [11 x i8] c"@__stderrp\00"
@.str2769 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00"
@.str2770 = private unnamed_addr constant [22 x i8] c"call i64 @strlen(ptr \00"
@.str2771 = private unnamed_addr constant [2 x i8] c")\00"
@.str2772 = private unnamed_addr constant [24 x i8] c" call i64 @fwrite(ptr \00"
@.str2773 = private unnamed_addr constant [14 x i8] c", i64 1, i64 \00"
@.str2774 = private unnamed_addr constant [7 x i8] c", ptr \00"
@.str2775 = private unnamed_addr constant [3 x i8] c")\0A\00"
@.str2776 = private unnamed_addr constant [2 x i8] c"0\00"
@.str2777 = private unnamed_addr constant [5 x i8] c"void\00"
@.str2778 = private unnamed_addr constant [5 x i8] c"args\00"
@.str2779 = private unnamed_addr constant [23 x i8] c"call ptr @fn_os_args()\00"
@.str2780 = private unnamed_addr constant [9 x i8] c"[]string\00"
@.str2781 = private unnamed_addr constant [7 x i8] c"env_or\00"
@.str2782 = private unnamed_addr constant [31 x i8] c"call ptr @fn_os_getenv_or(ptr \00"
@.str2783 = private unnamed_addr constant [7 x i8] c", ptr \00"
@.str2784 = private unnamed_addr constant [2 x i8] c")\00"
@.str2785 = private unnamed_addr constant [7 x i8] c"string\00"
@.str2786 = private unnamed_addr constant [8 x i8] c"set_env\00"
@.str2787 = private unnamed_addr constant [22 x i8] c"call i32 @setenv(ptr \00"
@.str2788 = private unnamed_addr constant [7 x i8] c", ptr \00"
@.str2789 = private unnamed_addr constant [9 x i8] c", i32 1)\00"
@.str2790 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00"
@.str2791 = private unnamed_addr constant [4 x i8] c", 0\00"
@.str2792 = private unnamed_addr constant [9 x i8] c"zext i1 \00"
@.str2793 = private unnamed_addr constant [8 x i8] c" to i32\00"
@.str2794 = private unnamed_addr constant [5 x i8] c"bool\00"
@.str2795 = private unnamed_addr constant [10 x i8] c"unset_env\00"
@.str2796 = private unnamed_addr constant [24 x i8] c"call i32 @unsetenv(ptr \00"
@.str2797 = private unnamed_addr constant [2 x i8] c")\00"
@.str2798 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00"
@.str2799 = private unnamed_addr constant [4 x i8] c", 0\00"
@.str2800 = private unnamed_addr constant [9 x i8] c"zext i1 \00"
@.str2801 = private unnamed_addr constant [8 x i8] c" to i32\00"
@.str2802 = private unnamed_addr constant [5 x i8] c"bool\00"
@.str2803 = private unnamed_addr constant [9 x i8] c"platform\00"
@.str2804 = private unnamed_addr constant [27 x i8] c"call ptr @fn_os_platform()\00"
@.str2805 = private unnamed_addr constant [7 x i8] c"string\00"
@.str2806 = private unnamed_addr constant [5 x i8] c"arch\00"
@.str2807 = private unnamed_addr constant [23 x i8] c"call ptr @fn_os_arch()\00"
@.str2808 = private unnamed_addr constant [7 x i8] c"string\00"
@.str2809 = private unnamed_addr constant [9 x i8] c"save_dir\00"
@.str2810 = private unnamed_addr constant [30 x i8] c"call ptr @fn_os_save_dir(ptr \00"
@.str2811 = private unnamed_addr constant [2 x i8] c")\00"
@.str2812 = private unnamed_addr constant [7 x i8] c"string\00"
@.str2813 = private unnamed_addr constant [11 x i8] c"config_dir\00"
@.str2814 = private unnamed_addr constant [32 x i8] c"call ptr @fn_os_config_dir(ptr \00"
@.str2815 = private unnamed_addr constant [2 x i8] c")\00"
@.str2816 = private unnamed_addr constant [7 x i8] c"string\00"
@.str2817 = private unnamed_addr constant [10 x i8] c"cache_dir\00"
@.str2818 = private unnamed_addr constant [31 x i8] c"call ptr @fn_os_cache_dir(ptr \00"
@.str2819 = private unnamed_addr constant [2 x i8] c")\00"
@.str2820 = private unnamed_addr constant [7 x i8] c"string\00"
@.str2821 = private unnamed_addr constant [27 x i8] c"call ptr @fn_os_temp_dir()\00"
@.str2822 = private unnamed_addr constant [7 x i8] c"string\00"
@.str2823 = private unnamed_addr constant [36 x i8] c"declare i32 @setenv(ptr, ptr, i32)\0A\00"
@.str2824 = private unnamed_addr constant [28 x i8] c"declare i32 @unsetenv(ptr)\0A\00"
@.str2825 = private unnamed_addr constant [25 x i8] c"declare i32 @uname(ptr)\0A\00"
@.str2826 = private unnamed_addr constant [5 x i8] c"HOME\00"
@.str2827 = private unnamed_addr constant [2 x i8] c".\00"
@.str2828 = private unnamed_addr constant [30 x i8] c"/Library/Application Support/\00"
@.str2829 = private unnamed_addr constant [17 x i8] c"/Library/Caches/\00"
@.str2830 = private unnamed_addr constant [7 x i8] c"TMPDIR\00"
@.str2831 = private unnamed_addr constant [5 x i8] c"/tmp\00"
@.str2832 = private unnamed_addr constant [7 x i8] c"Darwin\00"
@.str2833 = private unnamed_addr constant [6 x i8] c"macos\00"
@.str2834 = private unnamed_addr constant [6 x i8] c"Linux\00"
@.str2835 = private unnamed_addr constant [6 x i8] c"linux\00"
@.str2836 = private unnamed_addr constant [51 x i8] c"define ptr @fn_os_getenv_or(ptr %name, ptr %fb) {\0A\00"
@.str2837 = 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"
@.str2838 = private unnamed_addr constant [20 x i8] c"use:\0A ret ptr %fb\0A\00"
@.str2839 = private unnamed_addr constant [21 x i8] c"got:\0A ret ptr %r\0A}\0A\00"
@.str2840 = private unnamed_addr constant [43 x i8] c"define ptr @fn_os_join2(ptr %a, ptr %b) {\0A\00"
@.str2841 = 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"
@.str2842 = private unnamed_addr constant [86 x i8] c" %sum = add i64 %la, %lb\0A %tot = add i64 %sum, 1\0A %m = call ptr @malloc(i64 %tot)\0A\00"
@.str2843 = private unnamed_addr constant [45 x i8] c" call ptr @memcpy(ptr %m, ptr %a, i64 %la)\0A\00"
@.str2844 = 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"
@.str2845 = 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"
@.str2846 = private unnamed_addr constant [51 x i8] c"define ptr @fn_os_join3(ptr %a, ptr %b, ptr %c) {\0A\00"
@.str2847 = private unnamed_addr constant [115 x i8] c"entry:\0A %ab = call ptr @fn_os_join2(ptr %a, ptr %b)\0A %r = call ptr @fn_os_join2(ptr %ab, ptr %c)\0A ret ptr %r\0A}\0A\00"
@.str2848 = private unnamed_addr constant [65 x i8] c"define ptr @fn_os_home() {\0A %r = call ptr @fn_os_getenv_or(ptr \00"
@.str2849 = private unnamed_addr constant [7 x i8] c", ptr \00"
@.str2850 = private unnamed_addr constant [18 x i8] c")\0A ret ptr %r\0A}\0A\00"
@.str2851 = private unnamed_addr constant [111 x i8] c"define ptr @fn_os_save_dir(ptr %app) {\0A %h = call ptr @fn_os_home()\0A %r = call ptr @fn_os_join3(ptr %h, ptr \00"
@.str2852 = private unnamed_addr constant [28 x i8] c", ptr %app)\0A ret ptr %r\0A}\0A\00"
@.str2853 = private unnamed_addr constant [113 x i8] c"define ptr @fn_os_config_dir(ptr %app) {\0A %h = call ptr @fn_os_home()\0A %r = call ptr @fn_os_join3(ptr %h, ptr \00"
@.str2854 = private unnamed_addr constant [28 x i8] c", ptr %app)\0A ret ptr %r\0A}\0A\00"
@.str2855 = private unnamed_addr constant [112 x i8] c"define ptr @fn_os_cache_dir(ptr %app) {\0A %h = call ptr @fn_os_home()\0A %r = call ptr @fn_os_join3(ptr %h, ptr \00"
@.str2856 = private unnamed_addr constant [28 x i8] c", ptr %app)\0A ret ptr %r\0A}\0A\00"
@.str2857 = private unnamed_addr constant [69 x i8] c"define ptr @fn_os_temp_dir() {\0A %r = call ptr @fn_os_getenv_or(ptr \00"
@.str2858 = private unnamed_addr constant [7 x i8] c", ptr \00"
@.str2859 = private unnamed_addr constant [18 x i8] c")\0A ret ptr %r\0A}\0A\00"
@.str2860 = private unnamed_addr constant [28 x i8] c"define ptr @fn_os_args() {\0A\00"
@.str2861 = 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"
@.str2862 = private unnamed_addr constant [33 x i8] c" %h = call ptr @malloc(i64 16)\0A\00"
@.str2863 = 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"
@.str2864 = 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"
@.str2865 = 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"
@.str2866 = private unnamed_addr constant [16 x i8] c" ret ptr %h\0A}\0A\00"
@.str2867 = private unnamed_addr constant [32 x i8] c"define ptr @fn_os_platform() {\0A\00"
@.str2868 = private unnamed_addr constant [72 x i8] c"entry:\0A %buf = call ptr @malloc(i64 8192)\0A call i32 @uname(ptr %buf)\0A\00"
@.str2869 = private unnamed_addr constant [41 x i8] c" %cd = call i32 @strncmp(ptr %buf, ptr \00"
@.str2870 = 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"
@.str2871 = private unnamed_addr constant [16 x i8] c"mac:\0A ret ptr \00"
@.str2872 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str2873 = private unnamed_addr constant [47 x i8] c"chkl:\0A %cl = call i32 @strncmp(ptr %buf, ptr \00"
@.str2874 = 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"
@.str2875 = private unnamed_addr constant [16 x i8] c"lin:\0A ret ptr \00"
@.str2876 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str2877 = private unnamed_addr constant [25 x i8] c"other:\0A ret ptr %buf\0A}\0A\00"
@.str2878 = private unnamed_addr constant [28 x i8] c"define ptr @fn_os_arch() {\0A\00"
@.str2879 = private unnamed_addr constant [72 x i8] c"entry:\0A %buf = call ptr @malloc(i64 8192)\0A call i32 @uname(ptr %buf)\0A\00"
@.str2880 = private unnamed_addr constant [60 x i8] c" %m = getelementptr i8, ptr %buf, i64 1024\0A ret ptr %m\0A}\0A\00"
@.str2881 = private unnamed_addr constant [4 x i8] c"len\00"
@.str2882 = private unnamed_addr constant [9 x i8] c"byte_len\00"
@.str2883 = private unnamed_addr constant [14 x i8] c"is_valid_utf8\00"
@.str2884 = private unnamed_addr constant [8 x i8] c"char_at\00"
@.str2885 = private unnamed_addr constant [6 x i8] c"chars\00"
@.str2886 = private unnamed_addr constant [6 x i8] c"upper\00"
@.str2887 = private unnamed_addr constant [6 x i8] c"lower\00"
@.str2888 = private unnamed_addr constant [9 x i8] c"truncate\00"
@.str2889 = private unnamed_addr constant [13 x i8] c"grapheme_len\00"
@.str2890 = private unnamed_addr constant [9 x i8] c"byte_len\00"
@.str2891 = private unnamed_addr constant [22 x i8] c"call i64 @strlen(ptr \00"
@.str2892 = private unnamed_addr constant [2 x i8] c")\00"
@.str2893 = private unnamed_addr constant [11 x i8] c"trunc i64 \00"
@.str2894 = private unnamed_addr constant [8 x i8] c" to i32\00"
@.str2895 = private unnamed_addr constant [4 x i8] c"int\00"
@.str2896 = private unnamed_addr constant [4 x i8] c"len\00"
@.str2897 = private unnamed_addr constant [26 x i8] c"call i32 @fn_uni_len(ptr \00"
@.str2898 = private unnamed_addr constant [2 x i8] c")\00"
@.str2899 = private unnamed_addr constant [4 x i8] c"int\00"
@.str2900 = private unnamed_addr constant [14 x i8] c"is_valid_utf8\00"
@.str2901 = private unnamed_addr constant [28 x i8] c"call i32 @fn_uni_valid(ptr \00"
@.str2902 = private unnamed_addr constant [2 x i8] c")\00"
@.str2903 = private unnamed_addr constant [5 x i8] c"bool\00"
@.str2904 = private unnamed_addr constant [8 x i8] c"char_at\00"
@.str2905 = private unnamed_addr constant [30 x i8] c"call i32 @fn_uni_char_at(ptr \00"
@.str2906 = private unnamed_addr constant [7 x i8] c", i32 \00"
@.str2907 = private unnamed_addr constant [2 x i8] c")\00"
@.str2908 = private unnamed_addr constant [4 x i8] c"int\00"
@.str2909 = private unnamed_addr constant [6 x i8] c"chars\00"
@.str2910 = private unnamed_addr constant [28 x i8] c"call ptr @fn_uni_chars(ptr \00"
@.str2911 = private unnamed_addr constant [2 x i8] c")\00"
@.str2912 = private unnamed_addr constant [6 x i8] c"[]int\00"
@.str2913 = private unnamed_addr constant [6 x i8] c"upper\00"
@.str2914 = private unnamed_addr constant [27 x i8] c"call ptr @fn_uni_case(ptr \00"
@.str2915 = private unnamed_addr constant [9 x i8] c", i32 1)\00"
@.str2916 = private unnamed_addr constant [7 x i8] c"string\00"
@.str2917 = private unnamed_addr constant [6 x i8] c"lower\00"
@.str2918 = private unnamed_addr constant [27 x i8] c"call ptr @fn_uni_case(ptr \00"
@.str2919 = private unnamed_addr constant [9 x i8] c", i32 0)\00"
@.str2920 = private unnamed_addr constant [7 x i8] c"string\00"
@.str2921 = private unnamed_addr constant [9 x i8] c"truncate\00"
@.str2922 = private unnamed_addr constant [31 x i8] c"call ptr @fn_uni_truncate(ptr \00"
@.str2923 = private unnamed_addr constant [7 x i8] c", i32 \00"
@.str2924 = private unnamed_addr constant [2 x i8] c")\00"
@.str2925 = private unnamed_addr constant [7 x i8] c"string\00"
@.str2926 = private unnamed_addr constant [35 x i8] c"call i32 @fn_uni_grapheme_len(ptr \00"
@.str2927 = private unnamed_addr constant [2 x i8] c")\00"
@.str2928 = private unnamed_addr constant [4 x i8] c"int\00"
@.str2929 = private unnamed_addr constant [34 x i8] c"define i32 @fn_uni_len(ptr %s) {\0A\00"
@.str2930 = 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"
@.str2931 = 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"
@.str2932 = private unnamed_addr constant [61 x i8] c" %z = icmp eq i32 %c, 0\0A br i1 %z, label %done, label %go\0A\00"
@.str2933 = 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"
@.str2934 = 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"
@.str2935 = 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"
@.str2936 = private unnamed_addr constant [47 x i8] c"done:\0A %r = load i32, ptr %np\0A ret i32 %r\0A}\0A\00"
@.str2937 = private unnamed_addr constant [57 x i8] c"define i32 @fn_uni_decode(ptr %s, i32 %i, ptr %cpout) {\0A\00"
@.str2938 = 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"
@.str2939 = private unnamed_addr constant [69 x i8] c" %a1 = icmp ult i32 %c0, 128\0A br i1 %a1, label %one, label %multi\0A\00"
@.str2940 = 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"
@.str2941 = 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"
@.str2942 = 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"
@.str2943 = 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"
@.str2944 = 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"
@.str2945 = 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"
@.str2946 = private unnamed_addr constant [67 x i8] c" %t1z = icmp eq i32 %t1, 0\0A br i1 %t1z, label %tbad, label %tok\0A\00"
@.str2947 = 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"
@.str2948 = 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"
@.str2949 = 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"
@.str2950 = private unnamed_addr constant [67 x i8] c" %r1z = icmp eq i32 %r1, 0\0A br i1 %r1z, label %rbad, label %rc2\0A\00"
@.str2951 = 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"
@.str2952 = 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"
@.str2953 = private unnamed_addr constant [67 x i8] c" %r2z = icmp eq i32 %r2, 0\0A br i1 %r2z, label %rbad, label %rok\0A\00"
@.str2954 = 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"
@.str2955 = 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"
@.str2956 = 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"
@.str2957 = private unnamed_addr constant [67 x i8] c" %f1z = icmp eq i32 %f1, 0\0A br i1 %f1z, label %fbad, label %fc2\0A\00"
@.str2958 = 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"
@.str2959 = 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"
@.str2960 = private unnamed_addr constant [67 x i8] c" %f2z = icmp eq i32 %f2, 0\0A br i1 %f2z, label %fbad, label %fc3\0A\00"
@.str2961 = 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"
@.str2962 = private unnamed_addr constant [67 x i8] c" %f3z = icmp eq i32 %f3, 0\0A br i1 %f3z, label %fbad, label %fok\0A\00"
@.str2963 = 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"
@.str2964 = 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"
@.str2965 = 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"
@.str2966 = private unnamed_addr constant [36 x i8] c"define i32 @fn_uni_valid(ptr %s) {\0A\00"
@.str2967 = 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"
@.str2968 = 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"
@.str2969 = private unnamed_addr constant [60 x i8] c" %z = icmp eq i32 %c, 0\0A br i1 %z, label %good, label %g\0A\00"
@.str2970 = 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"
@.str2971 = 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"
@.str2972 = 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"
@.str2973 = 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"
@.str2974 = 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"
@.str2975 = private unnamed_addr constant [18 x i8] c"bad:\0A ret i32 0\0A\00"
@.str2976 = 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"
@.str2977 = 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"
@.str2978 = 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"
@.str2979 = private unnamed_addr constant [71 x i8] c" %ov2 = icmp ult i32 %cp2, 128\0A br i1 %ov2, label %bad, label %adv2\0A\00"
@.str2980 = 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"
@.str2981 = 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"
@.str2982 = 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"
@.str2983 = 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"
@.str2984 = 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"
@.str2985 = 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"
@.str2986 = private unnamed_addr constant [59 x i8] c" %cp3p = or i32 %e3s, %e3as\0A %cp3 = or i32 %cp3p, %e3bm\0A\00"
@.str2987 = private unnamed_addr constant [72 x i8] c" %ov3 = icmp ult i32 %cp3, 2048\0A br i1 %ov3, label %bad, label %do3d\0A\00"
@.str2988 = 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"
@.str2989 = 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"
@.str2990 = 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"
@.str2991 = 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"
@.str2992 = 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"
@.str2993 = 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"
@.str2994 = 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"
@.str2995 = 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"
@.str2996 = 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"
@.str2997 = 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"
@.str2998 = private unnamed_addr constant [73 x i8] c" %ov4 = icmp ult i32 %cp4, 65536\0A br i1 %ov4, label %bad, label %do4e\0A\00"
@.str2999 = 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"
@.str3000 = 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"
@.str3001 = private unnamed_addr constant [21 x i8] c"good:\0A ret i32 1\0A}\0A\00"
@.str3002 = private unnamed_addr constant [35 x i8] c"define i32 @fn_uni_upcp(i32 %c) {\0A\00"
@.str3003 = 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"
@.str3004 = 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"
@.str3005 = 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"
@.str3006 = private unnamed_addr constant [35 x i8] c"define i32 @fn_uni_locp(i32 %c) {\0A\00"
@.str3007 = 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"
@.str3008 = 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"
@.str3009 = 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"
@.str3010 = private unnamed_addr constant [39 x i8] c"define i32 @fn_uni_cpwidth(i32 %cp) {\0A\00"
@.str3011 = 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"
@.str3012 = 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"
@.str3013 = private unnamed_addr constant [58 x i8] c"define i32 @fn_uni_encode(ptr %dst, i32 %off, i32 %cp) {\0A\00"
@.str3014 = private unnamed_addr constant [111 x i8] c"entry:\0A %w = call i32 @fn_uni_cpwidth(i32 %cp)\0A %is1 = icmp eq i32 %w, 1\0A br i1 %is1, label %e1, label %k2\0A\00"
@.str3015 = 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"
@.str3016 = 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"
@.str3017 = 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"
@.str3018 = 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"
@.str3019 = 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"
@.str3020 = 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"
@.str3021 = 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"
@.str3022 = 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"
@.str3023 = 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"
@.str3024 = 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"
@.str3025 = 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"
@.str3026 = 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"
@.str3027 = 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"
@.str3028 = 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"
@.str3029 = 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"
@.str3030 = 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"
@.str3031 = private unnamed_addr constant [40 x i8] c"define i32 @fn_uni_is_extend(i32 %c) {\0A\00"
@.str3032 = private unnamed_addr constant [60 x i8] c" %r1 = call i32 @fn_uni_inrange(i32 %c, i32 768, i32 879)\0A\00"
@.str3033 = private unnamed_addr constant [62 x i8] c" %r2 = call i32 @fn_uni_inrange(i32 %c, i32 6832, i32 6911)\0A\00"
@.str3034 = private unnamed_addr constant [62 x i8] c" %r3 = call i32 @fn_uni_inrange(i32 %c, i32 7616, i32 7679)\0A\00"
@.str3035 = private unnamed_addr constant [62 x i8] c" %r4 = call i32 @fn_uni_inrange(i32 %c, i32 8400, i32 8447)\0A\00"
@.str3036 = private unnamed_addr constant [64 x i8] c" %r5 = call i32 @fn_uni_inrange(i32 %c, i32 65056, i32 65071)\0A\00"
@.str3037 = private unnamed_addr constant [64 x i8] c" %r6 = call i32 @fn_uni_inrange(i32 %c, i32 65024, i32 65039)\0A\00"
@.str3038 = private unnamed_addr constant [66 x i8] c" %r7 = call i32 @fn_uni_inrange(i32 %c, i32 917760, i32 917999)\0A\00"
@.str3039 = 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"
@.str3040 = private unnamed_addr constant [56 x i8] c"define i32 @fn_uni_inrange(i32 %c, i32 %lo, i32 %hi) {\0A\00"
@.str3041 = 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"
@.str3042 = private unnamed_addr constant [48 x i8] c"define i32 @fn_uni_char_at(ptr %s, i32 %idx) {\0A\00"
@.str3043 = 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"
@.str3044 = 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"
@.str3045 = private unnamed_addr constant [61 x i8] c" %z = icmp eq i32 %c, 0\0A br i1 %z, label %none, label %go\0A\00"
@.str3046 = private unnamed_addr constant [157 x i8] c"go:\0A %ni = call i32 @fn_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"
@.str3047 = private unnamed_addr constant [46 x i8] c"found:\0A %v = load i32, ptr %cp\0A ret i32 %v\0A\00"
@.str3048 = 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"
@.str3049 = private unnamed_addr constant [22 x i8] c"none:\0A ret i32 -1\0A}\0A\00"
@.str3050 = private unnamed_addr constant [36 x i8] c"define ptr @fn_uni_chars(ptr %s) {\0A\00"
@.str3051 = private unnamed_addr constant [76 x i8] c"entry:\0A %n = call i32 @fn_uni_len(ptr %s)\0A %h = call ptr @malloc(i64 16)\0A\00"
@.str3052 = private unnamed_addr constant [93 x i8] c" %nz = zext i32 %n to i64\0A %bytes = mul i64 %nz, 4\0A %data = call ptr @malloc(i64 %bytes)\0A\00"
@.str3053 = 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"
@.str3054 = 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"
@.str3055 = 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"
@.str3056 = 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"
@.str3057 = 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"
@.str3058 = private unnamed_addr constant [61 x i8] c" %z = icmp eq i32 %c, 0\0A br i1 %z, label %done, label %go\0A\00"
@.str3059 = private unnamed_addr constant [112 x i8] c"go:\0A %ni = call i32 @fn_uni_decode(ptr %s, i32 %i, ptr %cp)\0A %v = load i32, ptr %cp\0A %k = load i32, ptr %kp\0A\00"
@.str3060 = 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"
@.str3061 = private unnamed_addr constant [22 x i8] c"done:\0A ret ptr %h\0A}\0A\00"
@.str3062 = private unnamed_addr constant [44 x i8] c"define ptr @fn_uni_case(ptr %s, i32 %up) {\0A\00"
@.str3063 = private unnamed_addr constant [128 x i8] c"entry:\0A %bl = call i64 @strlen(ptr %s)\0A %cap0 = mul i64 %bl, 4\0A %cap = add i64 %cap0, 4\0A %out = call ptr @malloc(i64 %cap)\0A\00"
@.str3064 = 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"
@.str3065 = 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"
@.str3066 = private unnamed_addr constant [61 x i8] c" %z = icmp eq i32 %c, 0\0A br i1 %z, label %done, label %go\0A\00"
@.str3067 = private unnamed_addr constant [87 x i8] c"go:\0A %ni = call i32 @fn_uni_decode(ptr %s, i32 %i, ptr %cp)\0A %v = load i32, ptr %cp\0A\00"
@.str3068 = private unnamed_addr constant [147 x i8] c" %mu = call i32 @fn_uni_upcp(i32 %v)\0A %ml = call i32 @fn_uni_locp(i32 %v)\0A %isup = icmp ne i32 %up, 0\0A %m = select i1 %isup, i32 %mu, i32 %ml\0A\00"
@.str3069 = private unnamed_addr constant [149 x i8] c" %o = load i32, ptr %op\0A %no = call i32 @fn_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"
@.str3070 = 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"
@.str3071 = private unnamed_addr constant [47 x i8] c"define ptr @fn_uni_truncate(ptr %s, i32 %n) {\0A\00"
@.str3072 = 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"
@.str3073 = 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"
@.str3074 = 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"
@.str3075 = private unnamed_addr constant [60 x i8] c" %z = icmp eq i32 %c, 0\0A br i1 %z, label %cut, label %go\0A\00"
@.str3076 = private unnamed_addr constant [149 x i8] c"go:\0A %ni = call i32 @fn_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"
@.str3077 = private unnamed_addr constant [199 x i8] c"cut:\0A %len = load i32, ptr %ip\0A %lz = zext i32 %len to i64\0A %cap = add i64 %lz, 1\0A %out = call ptr @malloc(i64 %cap)\0A %lz2 = zext i32 %len to i64\0A call ptr @memcpy(ptr %out, ptr %s, i64 %lz2)\0A\00"
@.str3078 = 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"
@.str3079 = private unnamed_addr constant [43 x i8] c"define i32 @fn_uni_grapheme_len(ptr %s) {\0A\00"
@.str3080 = 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"
@.str3081 = 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"
@.str3082 = 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"
@.str3083 = private unnamed_addr constant [61 x i8] c" %z = icmp eq i32 %c, 0\0A br i1 %z, label %done, label %go\0A\00"
@.str3084 = private unnamed_addr constant [112 x i8] c"go:\0A %ni = call i32 @fn_uni_decode(ptr %s, i32 %i, ptr %cp)\0A %v = load i32, ptr %cp\0A store i32 %ni, ptr %ip\0A\00"
@.str3085 = private unnamed_addr constant [75 x i8] c" %iszwj = icmp eq i32 %v, 8205\0A br i1 %iszwj, label %zwj, label %notzwj\0A\00"
@.str3086 = 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"
@.str3087 = 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"
@.str3088 = 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"
@.str3089 = 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 @fn_uni_inrange(i32 %v, i32 127462, i32 127487)\0A store i32 %ri0, ptr %rp\0A br label %lp\0A\00"
@.str3090 = 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"
@.str3091 = 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"
@.str3092 = private unnamed_addr constant [129 x i8] c"chkext:\0A %ext = call i32 @fn_uni_is_extend(i32 %v)\0A %isext = icmp ne i32 %ext, 0\0A br i1 %isext, label %joinext, label %chkri\0A\00"
@.str3093 = private unnamed_addr constant [48 x i8] c"joinext:\0A store i32 0, ptr %rp\0A br label %lp\0A\00"
@.str3094 = private unnamed_addr constant [240 x i8] c"chkri:\0A %ri = call i32 @fn_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"
@.str3095 = private unnamed_addr constant [47 x i8] c"joinri:\0A store i32 0, ptr %rp\0A br label %lp\0A\00"
@.str3096 = 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"
@.str3097 = private unnamed_addr constant [47 x i8] c"done:\0A %r = load i32, ptr %np\0A ret i32 %r\0A}\0A\00"
@.str3098 = private unnamed_addr constant [7 x i8] c"exists\00"
@.str3099 = private unnamed_addr constant [7 x i8] c"is_dir\00"
@.str3100 = private unnamed_addr constant [10 x i8] c"read_text\00"
@.str3101 = private unnamed_addr constant [11 x i8] c"write_text\00"
@.str3102 = private unnamed_addr constant [12 x i8] c"append_text\00"
@.str3103 = private unnamed_addr constant [7 x i8] c"remove\00"
@.str3104 = private unnamed_addr constant [5 x i8] c"size\00"
@.str3105 = private unnamed_addr constant [6 x i8] c"mkdir\00"
@.str3106 = private unnamed_addr constant [5 x i8] c"copy\00"
@.str3107 = private unnamed_addr constant [5 x i8] c"list\00"
@.str3108 = private unnamed_addr constant [5 x i8] c"join\00"
@.str3109 = private unnamed_addr constant [4 x i8] c"dir\00"
@.str3110 = private unnamed_addr constant [5 x i8] c"base\00"
@.str3111 = private unnamed_addr constant [4 x i8] c"ext\00"
@.str3112 = private unnamed_addr constant [5 x i8] c"stem\00"
@.str3113 = private unnamed_addr constant [10 x i8] c"normalize\00"
@.str3114 = private unnamed_addr constant [3 x i8] c"of\00"
@.str3115 = private unnamed_addr constant [6 x i8] c"sniff\00"
@.str3116 = private unnamed_addr constant [7 x i8] c"exists\00"
@.str3117 = private unnamed_addr constant [28 x i8] c"call i32 @fn_fs_exists(ptr \00"
@.str3118 = private unnamed_addr constant [2 x i8] c")\00"
@.str3119 = private unnamed_addr constant [5 x i8] c"bool\00"
@.str3120 = private unnamed_addr constant [7 x i8] c"is_dir\00"
@.str3121 = private unnamed_addr constant [28 x i8] c"call i32 @fn_fs_is_dir(ptr \00"
@.str3122 = private unnamed_addr constant [2 x i8] c")\00"
@.str3123 = private unnamed_addr constant [5 x i8] c"bool\00"
@.str3124 = private unnamed_addr constant [10 x i8] c"read_text\00"
@.str3125 = private unnamed_addr constant [31 x i8] c"call ptr @fn_fs_read_text(ptr \00"
@.str3126 = private unnamed_addr constant [2 x i8] c")\00"
@.str3127 = private unnamed_addr constant [7 x i8] c"string\00"
@.str3128 = private unnamed_addr constant [7 x i8] c"remove\00"
@.str3129 = private unnamed_addr constant [28 x i8] c"call i32 @fn_fs_remove(ptr \00"
@.str3130 = private unnamed_addr constant [2 x i8] c")\00"
@.str3131 = private unnamed_addr constant [5 x i8] c"bool\00"
@.str3132 = private unnamed_addr constant [5 x i8] c"size\00"
@.str3133 = private unnamed_addr constant [26 x i8] c"call i32 @fn_fs_size(ptr \00"
@.str3134 = private unnamed_addr constant [2 x i8] c")\00"
@.str3135 = private unnamed_addr constant [4 x i8] c"int\00"
@.str3136 = private unnamed_addr constant [6 x i8] c"mkdir\00"
@.str3137 = private unnamed_addr constant [27 x i8] c"call i32 @fn_fs_mkdir(ptr \00"
@.str3138 = private unnamed_addr constant [2 x i8] c")\00"
@.str3139 = private unnamed_addr constant [5 x i8] c"bool\00"
@.str3140 = private unnamed_addr constant [5 x i8] c"list\00"
@.str3141 = private unnamed_addr constant [26 x i8] c"call ptr @fn_fs_list(ptr \00"
@.str3142 = private unnamed_addr constant [2 x i8] c")\00"
@.str3143 = private unnamed_addr constant [9 x i8] c"[]string\00"
@.str3144 = private unnamed_addr constant [11 x i8] c"write_text\00"
@.str3145 = private unnamed_addr constant [32 x i8] c"call i32 @fn_fs_write_text(ptr \00"
@.str3146 = private unnamed_addr constant [7 x i8] c", ptr \00"
@.str3147 = private unnamed_addr constant [2 x i8] c")\00"
@.str3148 = private unnamed_addr constant [5 x i8] c"bool\00"
@.str3149 = private unnamed_addr constant [12 x i8] c"append_text\00"
@.str3150 = private unnamed_addr constant [33 x i8] c"call i32 @fn_fs_append_text(ptr \00"
@.str3151 = private unnamed_addr constant [7 x i8] c", ptr \00"
@.str3152 = private unnamed_addr constant [2 x i8] c")\00"
@.str3153 = private unnamed_addr constant [5 x i8] c"bool\00"
@.str3154 = private unnamed_addr constant [26 x i8] c"call i32 @fn_fs_copy(ptr \00"
@.str3155 = private unnamed_addr constant [7 x i8] c", ptr \00"
@.str3156 = private unnamed_addr constant [2 x i8] c")\00"
@.str3157 = private unnamed_addr constant [5 x i8] c"bool\00"
@.str3158 = private unnamed_addr constant [4 x i8] c"dir\00"
@.str3159 = private unnamed_addr constant [27 x i8] c"call ptr @fn_path_dir(ptr \00"
@.str3160 = private unnamed_addr constant [2 x i8] c")\00"
@.str3161 = private unnamed_addr constant [7 x i8] c"string\00"
@.str3162 = private unnamed_addr constant [5 x i8] c"base\00"
@.str3163 = private unnamed_addr constant [28 x i8] c"call ptr @fn_path_base(ptr \00"
@.str3164 = private unnamed_addr constant [2 x i8] c")\00"
@.str3165 = private unnamed_addr constant [7 x i8] c"string\00"
@.str3166 = private unnamed_addr constant [4 x i8] c"ext\00"
@.str3167 = private unnamed_addr constant [27 x i8] c"call ptr @fn_path_ext(ptr \00"
@.str3168 = private unnamed_addr constant [2 x i8] c")\00"
@.str3169 = private unnamed_addr constant [7 x i8] c"string\00"
@.str3170 = private unnamed_addr constant [5 x i8] c"stem\00"
@.str3171 = private unnamed_addr constant [28 x i8] c"call ptr @fn_path_stem(ptr \00"
@.str3172 = private unnamed_addr constant [2 x i8] c")\00"
@.str3173 = private unnamed_addr constant [7 x i8] c"string\00"
@.str3174 = private unnamed_addr constant [10 x i8] c"normalize\00"
@.str3175 = private unnamed_addr constant [28 x i8] c"call ptr @fn_path_norm(ptr \00"
@.str3176 = private unnamed_addr constant [2 x i8] c")\00"
@.str3177 = private unnamed_addr constant [7 x i8] c"string\00"
@.str3178 = private unnamed_addr constant [28 x i8] c"call ptr @fn_path_join(ptr \00"
@.str3179 = private unnamed_addr constant [7 x i8] c", ptr \00"
@.str3180 = private unnamed_addr constant [2 x i8] c")\00"
@.str3181 = private unnamed_addr constant [7 x i8] c"string\00"
@.str3182 = private unnamed_addr constant [6 x i8] c"sniff\00"
@.str3183 = private unnamed_addr constant [29 x i8] c"call ptr @fn_mime_sniff(ptr \00"
@.str3184 = private unnamed_addr constant [2 x i8] c")\00"
@.str3185 = private unnamed_addr constant [7 x i8] c"string\00"
@.str3186 = private unnamed_addr constant [26 x i8] c"call ptr @fn_mime_of(ptr \00"
@.str3187 = private unnamed_addr constant [2 x i8] c")\00"
@.str3188 = private unnamed_addr constant [7 x i8] c"string\00"
@.str3189 = private unnamed_addr constant [31 x i8] c"declare i32 @access(ptr, i32)\0A\00"
@.str3190 = private unnamed_addr constant [30 x i8] c"declare i32 @mkdir(ptr, i32)\0A\00"
@.str3191 = private unnamed_addr constant [26 x i8] c"declare i32 @remove(ptr)\0A\00"
@.str3192 = private unnamed_addr constant [31 x i8] c"declare i32 @rename(ptr, ptr)\0A\00"
@.str3193 = private unnamed_addr constant [27 x i8] c"declare ptr @opendir(ptr)\0A\00"
@.str3194 = private unnamed_addr constant [27 x i8] c"declare ptr @readdir(ptr)\0A\00"
@.str3195 = private unnamed_addr constant [28 x i8] c"declare i32 @closedir(ptr)\0A\00"
@.str3196 = private unnamed_addr constant [31 x i8] c"declare i32 @strcmp(ptr, ptr)\0A\00"
@.str3197 = private unnamed_addr constant [41 x i8] c"define ptr @fn_fs_dup(ptr %s, i32 %n) {\0A\00"
@.str3198 = private unnamed_addr constant [133 x i8] c"entry:\0A %nz = zext i32 %n to i64\0A %t = add i64 %nz, 1\0A %m = call ptr @malloc(i64 %t)\0A call ptr @memcpy(ptr %m, ptr %s, i64 %nz)\0A\00"
@.str3199 = 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"
@.str3200 = private unnamed_addr constant [36 x i8] c"define ptr @fn_fs_strdup(ptr %s) {\0A\00"
@.str3201 = 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 @fn_fs_dup(ptr %s, i32 %li)\0A ret ptr %r\0A}\0A\00"
@.str3202 = private unnamed_addr constant [39 x i8] c"define i32 @fn_fs_lastslash(ptr %s) {\0A\00"
@.str3203 = 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"
@.str3204 = 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"
@.str3205 = private unnamed_addr constant [61 x i8] c" %z = icmp eq i32 %c, 0\0A br i1 %z, label %done, label %go\0A\00"
@.str3206 = 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"
@.str3207 = private unnamed_addr constant [45 x i8] c"set:\0A store i32 %i, ptr %rp\0A br label %nx\0A\00"
@.str3208 = 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"
@.str3209 = private unnamed_addr constant [47 x i8] c"done:\0A %r = load i32, ptr %rp\0A ret i32 %r\0A}\0A\00"
@.str3210 = private unnamed_addr constant [44 x i8] c"define ptr @fn_path_join(ptr %a, ptr %b) {\0A\00"
@.str3211 = 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"
@.str3212 = 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"
@.str3213 = private unnamed_addr constant [60 x i8] c"retb:\0A %rb = call ptr @fn_fs_strdup(ptr %b)\0A ret ptr %rb\0A\00"
@.str3214 = 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"
@.str3215 = private unnamed_addr constant [63 x i8] c"retb2:\0A %rb2 = call ptr @fn_fs_strdup(ptr %b)\0A ret ptr %rb2\0A\00"
@.str3216 = 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"
@.str3217 = private unnamed_addr constant [60 x i8] c"reta:\0A %ra = call ptr @fn_fs_strdup(ptr %a)\0A ret ptr %ra\0A\00"
@.str3218 = 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"
@.str3219 = private unnamed_addr constant [189 x i8] c" %sep = select i1 %ends, i32 0, i32 1\0A %tot = add i32 %la, %lb\0A %tot2 = add i32 %tot, %sep\0A %tot3 = add i32 %tot2, 1\0A %totz = zext i32 %tot3 to i64\0A %m = call ptr @malloc(i64 %totz)\0A\00"
@.str3220 = 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"
@.str3221 = private unnamed_addr constant [42 x i8] c" br i1 %ends, label %nosep, label %wsep\0A\00"
@.str3222 = 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"
@.str3223 = private unnamed_addr constant [26 x i8] c"nosep:\0A br label %after\0A\00"
@.str3224 = 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"
@.str3225 = 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"
@.str3226 = private unnamed_addr constant [36 x i8] c"define ptr @fn_path_base(ptr %s) {\0A\00"
@.str3227 = private unnamed_addr constant [121 x i8] c"entry:\0A %ls = call i32 @fn_fs_lastslash(ptr %s)\0A %none = icmp eq i32 %ls, -1\0A br i1 %none, label %whole, label %tail\0A\00"
@.str3228 = private unnamed_addr constant [59 x i8] c"whole:\0A %r = call ptr @fn_fs_strdup(ptr %s)\0A ret ptr %r\0A\00"
@.str3229 = 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 @fn_fs_strdup(ptr %p)\0A ret ptr %r2\0A}\0A\00"
@.str3230 = private unnamed_addr constant [35 x i8] c"define ptr @fn_path_dir(ptr %s) {\0A\00"
@.str3231 = private unnamed_addr constant [119 x i8] c"entry:\0A %ls = call i32 @fn_fs_lastslash(ptr %s)\0A %none = icmp eq i32 %ls, -1\0A br i1 %none, label %dot, label %chk0\0A\00"
@.str3232 = private unnamed_addr constant [66 x i8] c"dot:\0A %d = call ptr @fn_fs_strdup(ptr @fn_str_dot)\0A ret ptr %d\0A\00"
@.str3233 = 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"
@.str3234 = private unnamed_addr constant [69 x i8] c"root:\0A %r = call ptr @fn_fs_strdup(ptr @fn_str_slash)\0A ret ptr %r\0A\00"
@.str3235 = private unnamed_addr constant [67 x i8] c"cut:\0A %r2 = call ptr @fn_fs_dup(ptr %s, i32 %ls)\0A ret ptr %r2\0A}\0A\00"
@.str3236 = private unnamed_addr constant [35 x i8] c"define ptr @fn_path_ext(ptr %s) {\0A\00"
@.str3237 = private unnamed_addr constant [77 x i8] c"entry:\0A %ls = call i32 @fn_fs_lastslash(ptr %s)\0A %bstart = add i32 %ls, 1\0A\00"
@.str3238 = 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"
@.str3239 = 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"
@.str3240 = 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"
@.str3241 = private unnamed_addr constant [44 x i8] c"sd:\0A store i32 %i, ptr %dp\0A br label %nx\0A\00"
@.str3242 = 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"
@.str3243 = 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"
@.str3244 = private unnamed_addr constant [70 x i8] c"empty:\0A %e = call ptr @fn_fs_strdup(ptr @fn_str_empty)\0A ret ptr %e\0A\00"
@.str3245 = 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"
@.str3246 = private unnamed_addr constant [73 x i8] c"empty2:\0A %e2 = call ptr @fn_fs_strdup(ptr @fn_str_empty)\0A ret ptr %e2\0A\00"
@.str3247 = private unnamed_addr constant [102 x i8] c"take:\0A %pp = getelementptr i8, ptr %s, i32 %d\0A %r = call ptr @fn_fs_strdup(ptr %pp)\0A ret ptr %r\0A}\0A\00"
@.str3248 = private unnamed_addr constant [36 x i8] c"define ptr @fn_path_stem(ptr %s) {\0A\00"
@.str3249 = private unnamed_addr constant [88 x i8] c"entry:\0A %base = call ptr @fn_path_base(ptr %s)\0A %ext = call ptr @fn_path_ext(ptr %s)\0A\00"
@.str3250 = 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"
@.str3251 = private unnamed_addr constant [92 x i8] c" %keep = sub i32 %bl, %el\0A %r = call ptr @fn_fs_dup(ptr %base, i32 %keep)\0A ret ptr %r\0A}\0A\00"
@.str3252 = private unnamed_addr constant [36 x i8] c"define ptr @fn_path_norm(ptr %s) {\0A\00"
@.str3253 = 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"
@.str3254 = private unnamed_addr constant [38 x i8] c" %out = call ptr @malloc(i64 %capz)\0A\00"
@.str3255 = private unnamed_addr constant [96 x i8] c" %stz = mul i32 %cap, 4\0A %stzz = zext i32 %stz to i64\0A %segst = call ptr @malloc(i64 %stzz)\0A\00"
@.str3256 = 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"
@.str3257 = 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"
@.str3258 = private unnamed_addr constant [40 x i8] c" br i1 %abs, label %ldr, label %noldr\0A\00"
@.str3259 = 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"
@.str3260 = private unnamed_addr constant [47 x i8] c"noldr:\0A store i32 0, ptr %op\0A br label %seg\0A\00"
@.str3261 = private unnamed_addr constant [23 x i8] c"seg:\0A br label %sksl\0A\00"
@.str3262 = 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"
@.str3263 = 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"
@.str3264 = private unnamed_addr constant [54 x i8] c"segstart:\0A %ss = load i32, ptr %ip\0A br label %scan\0A\00"
@.str3265 = 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"
@.str3266 = 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"
@.str3267 = 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"
@.str3268 = private unnamed_addr constant [11 x i8] c"classify:\0A\00"
@.str3269 = 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"
@.str3270 = 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"
@.str3271 = 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"
@.str3272 = 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"
@.str3273 = 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"
@.str3274 = private unnamed_addr constant [54 x i8] c"chkrel:\0A br i1 %abs, label %contseg, label %keepseg\0A\00"
@.str3275 = 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"
@.str3276 = private unnamed_addr constant [63 x i8] c" %cpp = alloca i32\0A store i32 %ss, ptr %cpp\0A br label %cpy\0A\00"
@.str3277 = 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"
@.str3278 = 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"
@.str3279 = 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"
@.str3280 = 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"
@.str3281 = private unnamed_addr constant [27 x i8] c"atend:\0A br label %finish\0A\00"
@.str3282 = 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"
@.str3283 = 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"
@.str3284 = private unnamed_addr constant [52 x i8] c"trim:\0A store i32 %lasto, ptr %op\0A br label %term\0A\00"
@.str3285 = private unnamed_addr constant [28 x i8] c"fdefault:\0A br label %term\0A\00"
@.str3286 = 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"
@.str3287 = private unnamed_addr constant [114 x i8] c"emptyout:\0A store i8 46, ptr %out\0A %e1 = getelementptr i8, ptr %out, i32 1\0A store i8 0, ptr %e1\0A ret ptr %out\0A\00"
@.str3288 = private unnamed_addr constant [92 x i8] c"putnul:\0A %ep = getelementptr i8, ptr %out, i32 %eo\0A store i8 0, ptr %ep\0A ret ptr %out\0A}\0A\00"
@.str3289 = private unnamed_addr constant [36 x i8] c"define i32 @fn_fs_exists(ptr %p) {\0A\00"
@.str3290 = private unnamed_addr constant [114 x i8] c"entry:\0A %r = call i32 @access(ptr %p, i32 0)\0A %ok = icmp eq i32 %r, 0\0A %z = zext i1 %ok to i32\0A ret i32 %z\0A}\0A\00"
@.str3291 = private unnamed_addr constant [36 x i8] c"define i32 @fn_fs_is_dir(ptr %p) {\0A\00"
@.str3292 = 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"
@.str3293 = private unnamed_addr constant [47 x i8] c"yes:\0A call i32 @closedir(ptr %d)\0A ret i32 1\0A\00"
@.str3294 = private unnamed_addr constant [19 x i8] c"no:\0A ret i32 0\0A}\0A\00"
@.str3295 = private unnamed_addr constant [34 x i8] c"define i32 @fn_fs_size(ptr %p) {\0A\00"
@.str3296 = private unnamed_addr constant [119 x i8] c"entry:\0A %f = call ptr @fopen(ptr %p, ptr @fn_str_rb)\0A %nz = icmp ne ptr %f, null\0A br i1 %nz, label %ok, label %bad\0A\00"
@.str3297 = private unnamed_addr constant [19 x i8] c"bad:\0A ret i32 -1\0A\00"
@.str3298 = 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"
@.str3299 = private unnamed_addr constant [50 x i8] c"define ptr @fn_fs_readall(ptr %p, ptr %lenout) {\0A\00"
@.str3300 = private unnamed_addr constant [146 x i8] c"entry:\0A store i32 0, ptr %lenout\0A %f = call ptr @fopen(ptr %p, ptr @fn_str_rb)\0A %nz = icmp ne ptr %f, null\0A br i1 %nz, label %ok, label %bad\0A\00"
@.str3301 = private unnamed_addr constant [21 x i8] c"bad:\0A ret ptr null\0A\00"
@.str3302 = 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"
@.str3303 = private unnamed_addr constant [144 x i8] c" %cap = add i64 %n64, 1\0A %m = call ptr @malloc(i64 %cap)\0A %rd = call i64 @fread(ptr %m, i64 1, i64 %n64, ptr %f)\0A call i32 @fclose(ptr %f)\0A\00"
@.str3304 = 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"
@.str3305 = private unnamed_addr constant [39 x i8] c"define ptr @fn_fs_read_text(ptr %p) {\0A\00"
@.str3306 = private unnamed_addr constant [90 x i8] c"entry:\0A %lp = alloca i32\0A %r = call ptr @fn_fs_readall(ptr %p, ptr %lp)\0A ret ptr %r\0A}\0A\00"
@.str3307 = private unnamed_addr constant [48 x i8] c"define i32 @fn_fs_write_text(ptr %p, ptr %s) {\0A\00"
@.str3308 = private unnamed_addr constant [185 x i8] c"entry:\0A %tmp = call ptr @fn_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"
@.str3309 = private unnamed_addr constant [18 x i8] c"bad:\0A ret i32 0\0A\00"
@.str3310 = 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"
@.str3311 = private unnamed_addr constant [114 x i8] c" %rr = call i32 @rename(ptr %tmp, ptr %p)\0A %ok2 = icmp eq i32 %rr, 0\0A %z = zext i1 %ok2 to i32\0A ret i32 %z\0A}\0A\00"
@.str3312 = private unnamed_addr constant [48 x i8] c"define ptr @fn_path_join_ext(ptr %a, ptr %b) {\0A\00"
@.str3313 = private unnamed_addr constant [159 x i8] c"entry:\0A %la = call i64 @strlen(ptr %a)\0A %lb = call i64 @strlen(ptr %b)\0A %sum = add i64 %la, %lb\0A %tot = add i64 %sum, 1\0A %m = call ptr @malloc(i64 %tot)\0A\00"
@.str3314 = 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"
@.str3315 = private unnamed_addr constant [49 x i8] c"define i32 @fn_fs_append_text(ptr %p, ptr %s) {\0A\00"
@.str3316 = 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"
@.str3317 = private unnamed_addr constant [18 x i8] c"bad:\0A ret i32 0\0A\00"
@.str3318 = 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"
@.str3319 = private unnamed_addr constant [36 x i8] c"define i32 @fn_fs_remove(ptr %p) {\0A\00"
@.str3320 = 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"
@.str3321 = private unnamed_addr constant [46 x i8] c"define i32 @fn_fs_copy(ptr %src, ptr %dst) {\0A\00"
@.str3322 = private unnamed_addr constant [145 x i8] c"entry:\0A %lp = alloca i32\0A %buf = call ptr @fn_fs_readall(ptr %src, ptr %lp)\0A %nz = icmp ne ptr %buf, null\0A br i1 %nz, label %ok, label %bad\0A\00"
@.str3323 = private unnamed_addr constant [18 x i8] c"bad:\0A ret i32 0\0A\00"
@.str3324 = private unnamed_addr constant [185 x i8] c"ok:\0A %tmp = call ptr @fn_path_join_ext(ptr %dst, ptr @fn_str_dottmp)\0A %f = call ptr @fopen(ptr %tmp, ptr @fn_str_wb)\0A %fnz = icmp ne ptr %f, null\0A br i1 %fnz, label %w, label %bad\0A\00"
@.str3325 = private unnamed_addr constant [255 x i8] c"w:\0A %n = load i32, ptr %lp\0A %nz64 = zext i32 %n to i64\0A call i64 @fwrite(ptr %buf, i64 1, i64 %nz64, ptr %f)\0A call i32 @fclose(ptr %f)\0A %rr = call i32 @rename(ptr %tmp, ptr %dst)\0A %ok2 = icmp eq i32 %rr, 0\0A %z = zext i1 %ok2 to i32\0A ret i32 %z\0A}\0A\00"
@.str3326 = private unnamed_addr constant [35 x i8] c"define i32 @fn_fs_mkdir(ptr %p) {\0A\00"
@.str3327 = private unnamed_addr constant [105 x i8] c"entry:\0A %dup = call ptr @fn_fs_strdup(ptr %p)\0A %ip = alloca i32\0A store i32 1, ptr %ip\0A br label %lp\0A\00"
@.str3328 = 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"
@.str3329 = 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"
@.str3330 = 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"
@.str3331 = 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"
@.str3332 = private unnamed_addr constant [96 x i8] c"fin:\0A call i32 @mkdir(ptr %dup, i32 493)\0A %r = call i32 @fn_fs_is_dir(ptr %p)\0A ret i32 %r\0A}\0A\00"
@.str3333 = private unnamed_addr constant [37 x i8] c"define ptr @fn_fs_list(ptr %path) {\0A\00"
@.str3334 = private unnamed_addr constant [223 x i8] c"entry:\0A %h = call ptr @malloc(i64 16)\0A %d0 = getelementptr inbounds %LSlice, ptr %h, i32 0, i32 0\0A %d1 = getelementptr inbounds %LSlice, ptr %h, i32 0, i32 1\0A %d2 = getelementptr inbounds %LSlice, ptr %h, i32 0, i32 2\0A\00"
@.str3335 = private unnamed_addr constant [182 x i8] c" %datap = alloca ptr\0A %cntp = alloca i32\0A %capp = alloca i32\0A %init = call ptr @malloc(i64 128)\0A store ptr %init, ptr %datap\0A store i32 0, ptr %cntp\0A store i32 16, ptr %capp\0A\00"
@.str3336 = 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"
@.str3337 = 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"
@.str3338 = private unnamed_addr constant [51 x i8] c"ent:\0A %namep = getelementptr i8, ptr %de, i32 21\0A\00"
@.str3339 = 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"
@.str3340 = 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"
@.str3341 = 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"
@.str3342 = 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"
@.str3343 = private unnamed_addr constant [50 x i8] c"keep:\0A %nm = call ptr @fn_fs_strdup(ptr %namep)\0A\00"
@.str3344 = 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"
@.str3345 = private unnamed_addr constant [232 x i8] c"grow:\0A %nc = mul i32 %cap, 2\0A store i32 %nc, ptr %capp\0A %ncz = zext i32 %nc to i64\0A %nb = mul i64 %ncz, 8\0A %old = load ptr, ptr %datap\0A %new = call ptr @realloc(ptr %old, i64 %nb)\0A store ptr %new, ptr %datap\0A br label %put\0A\00"
@.str3346 = 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"
@.str3347 = private unnamed_addr constant [59 x i8] c"closed:\0A call i32 @closedir(ptr %dir)\0A br label %sortit\0A\00"
@.str3348 = private unnamed_addr constant [27 x i8] c"empty:\0A br label %sortit\0A\00"
@.str3349 = 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"
@.str3350 = 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"
@.str3351 = 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"
@.str3352 = 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"
@.str3353 = 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"
@.str3354 = 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"
@.str3355 = 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"
@.str3356 = 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"
@.str3357 = private unnamed_addr constant [4 x i8] c"png\00"
@.str3358 = private unnamed_addr constant [10 x i8] c"image/png\00"
@.str3359 = private unnamed_addr constant [4 x i8] c"jpg\00"
@.str3360 = private unnamed_addr constant [11 x i8] c"image/jpeg\00"
@.str3361 = private unnamed_addr constant [5 x i8] c"jpeg\00"
@.str3362 = private unnamed_addr constant [11 x i8] c"image/jpeg\00"
@.str3363 = private unnamed_addr constant [4 x i8] c"gif\00"
@.str3364 = private unnamed_addr constant [10 x i8] c"image/gif\00"
@.str3365 = private unnamed_addr constant [4 x i8] c"bmp\00"
@.str3366 = private unnamed_addr constant [10 x i8] c"image/bmp\00"
@.str3367 = private unnamed_addr constant [5 x i8] c"webp\00"
@.str3368 = private unnamed_addr constant [11 x i8] c"image/webp\00"
@.str3369 = private unnamed_addr constant [4 x i8] c"svg\00"
@.str3370 = private unnamed_addr constant [14 x i8] c"image/svg+xml\00"
@.str3371 = private unnamed_addr constant [4 x i8] c"txt\00"
@.str3372 = private unnamed_addr constant [11 x i8] c"text/plain\00"
@.str3373 = private unnamed_addr constant [3 x i8] c"md\00"
@.str3374 = private unnamed_addr constant [14 x i8] c"text/markdown\00"
@.str3375 = private unnamed_addr constant [4 x i8] c"csv\00"
@.str3376 = private unnamed_addr constant [9 x i8] c"text/csv\00"
@.str3377 = private unnamed_addr constant [5 x i8] c"html\00"
@.str3378 = private unnamed_addr constant [10 x i8] c"text/html\00"
@.str3379 = private unnamed_addr constant [4 x i8] c"htm\00"
@.str3380 = private unnamed_addr constant [10 x i8] c"text/html\00"
@.str3381 = private unnamed_addr constant [4 x i8] c"css\00"
@.str3382 = private unnamed_addr constant [9 x i8] c"text/css\00"
@.str3383 = private unnamed_addr constant [3 x i8] c"js\00"
@.str3384 = private unnamed_addr constant [16 x i8] c"text/javascript\00"
@.str3385 = private unnamed_addr constant [5 x i8] c"json\00"
@.str3386 = private unnamed_addr constant [17 x i8] c"application/json\00"
@.str3387 = private unnamed_addr constant [4 x i8] c"xml\00"
@.str3388 = private unnamed_addr constant [16 x i8] c"application/xml\00"
@.str3389 = private unnamed_addr constant [4 x i8] c"zip\00"
@.str3390 = private unnamed_addr constant [16 x i8] c"application/zip\00"
@.str3391 = private unnamed_addr constant [4 x i8] c"pdf\00"
@.str3392 = private unnamed_addr constant [16 x i8] c"application/pdf\00"
@.str3393 = private unnamed_addr constant [4 x i8] c"wav\00"
@.str3394 = private unnamed_addr constant [10 x i8] c"audio/wav\00"
@.str3395 = private unnamed_addr constant [4 x i8] c"ogg\00"
@.str3396 = private unnamed_addr constant [10 x i8] c"audio/ogg\00"
@.str3397 = private unnamed_addr constant [4 x i8] c"mp3\00"
@.str3398 = private unnamed_addr constant [11 x i8] c"audio/mpeg\00"
@.str3399 = private unnamed_addr constant [4 x i8] c"ttf\00"
@.str3400 = private unnamed_addr constant [9 x i8] c"font/ttf\00"
@.str3401 = private unnamed_addr constant [4 x i8] c"otf\00"
@.str3402 = private unnamed_addr constant [9 x i8] c"font/otf\00"
@.str3403 = private unnamed_addr constant [6 x i8] c"ludic\00"
@.str3404 = private unnamed_addr constant [13 x i8] c"text/x-ludic\00"
@.str3405 = private unnamed_addr constant [25 x i8] c"application/octet-stream\00"
@.str3406 = private unnamed_addr constant [44 x i8] c"@mime_tbl = private unnamed_addr constant [\00"
@.str3407 = private unnamed_addr constant [19 x i8] c" x { ptr, ptr }] [\00"
@.str3408 = private unnamed_addr constant [3 x i8] c", \00"
@.str3409 = private unnamed_addr constant [20 x i8] c"{ ptr, ptr } { ptr \00"
@.str3410 = private unnamed_addr constant [7 x i8] c", ptr \00"
@.str3411 = private unnamed_addr constant [3 x i8] c" }\00"
@.str3412 = private unnamed_addr constant [3 x i8] c"]\0A\00"
@.str3413 = private unnamed_addr constant [37 x i8] c"define ptr @fn_mime_of(ptr %path) {\0A\00"
@.str3414 = private unnamed_addr constant [146 x i8] c"entry:\0A %ext = call ptr @fn_path_ext(ptr %path)\0A %lc = call ptr @fn_mime_lc(ptr %ext)\0A %ip = alloca i32\0A store i32 0, ptr %ip\0A br label %lp\0A\00"
@.str3415 = private unnamed_addr constant [55 x i8] c"lp:\0A %i = load i32, ptr %ip\0A %lt = icmp slt i32 %i, \00"
@.str3416 = private unnamed_addr constant [39 x i8] c"\0A br i1 %lt, label %body, label %def\0A\00"
@.str3417 = private unnamed_addr constant [30 x i8] c"body:\0A %kp = getelementptr [\00"
@.str3418 = 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"
@.str3419 = private unnamed_addr constant [29 x i8] c"hit:\0A %vp = getelementptr [\00"
@.str3420 = private unnamed_addr constant [131 x i8] c" x { ptr, ptr }], ptr @mime_tbl, i32 0, i32 %i, i32 1\0A %v = load ptr, ptr %vp\0A %r = call ptr @fn_fs_strdup(ptr %v)\0A ret ptr %r\0A\00"
@.str3421 = 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"
@.str3422 = private unnamed_addr constant [40 x i8] c"def:\0A %d = call ptr @fn_fs_strdup(ptr \00"
@.str3423 = private unnamed_addr constant [18 x i8] c")\0A ret ptr %d\0A}\0A\00"
@.str3424 = private unnamed_addr constant [34 x i8] c"define ptr @fn_mime_lc(ptr %s) {\0A\00"
@.str3425 = private unnamed_addr constant [132 x i8] c"entry:\0A %l64 = call i64 @strlen(ptr %s)\0A %l = trunc i64 %l64 to i32\0A %cap = add i64 %l64, 1\0A %out = call ptr @malloc(i64 %cap)\0A\00"
@.str3426 = 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"
@.str3427 = 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"
@.str3428 = 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"
@.str3429 = 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"
@.str3430 = 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"
@.str3431 = private unnamed_addr constant [40 x i8] c"define ptr @fn_mime_sniff(ptr %path) {\0A\00"
@.str3432 = 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"
@.str3433 = private unnamed_addr constant [226 x i8] c"ok:\0A %buf = call ptr @malloc(i64 16)\0A %rd = call i64 @fread(ptr %buf, i64 1, i64 8, ptr %f)\0A call i32 @fclose(ptr %f)\0A %rdi = trunc i64 %rd to i32\0A %has4 = icmp sge i32 %rdi, 4\0A br i1 %has4, label %chk, label %fallback\0A\00"
@.str3434 = 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"
@.str3435 = 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"
@.str3436 = private unnamed_addr constant [72 x i8] c"png:\0A %rpng = call ptr @fn_fs_strdup(ptr @fn_sig_png)\0A ret ptr %rpng\0A\00"
@.str3437 = 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"
@.str3438 = private unnamed_addr constant [72 x i8] c"jpg:\0A %rjpg = call ptr @fn_fs_strdup(ptr @fn_sig_jpg)\0A ret ptr %rjpg\0A\00"
@.str3439 = 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"
@.str3440 = private unnamed_addr constant [72 x i8] c"gif:\0A %rgif = call ptr @fn_fs_strdup(ptr @fn_sig_gif)\0A ret ptr %rgif\0A\00"
@.str3441 = private unnamed_addr constant [234 x i8] c"cp:\0A %q0 = icmp eq i32 %b0i, 37\0A %q1 = icmp eq i32 %b1i, 80\0A %q2 = icmp eq i32 %b2i, 68\0A %q3 = icmp eq i32 %b3i, 70\0A %qa = and i1 %q0, %q1\0A %qb = and i1 %qa, %q2\0A %qc = and i1 %qb, %q3\0A br i1 %qc, label %pdf, label %fallback\0A\00"
@.str3442 = private unnamed_addr constant [72 x i8] c"pdf:\0A %rpdf = call ptr @fn_fs_strdup(ptr @fn_sig_pdf)\0A ret ptr %rpdf\0A\00"
@.str3443 = private unnamed_addr constant [65 x i8] c"fallback:\0A %r = call ptr @fn_mime_of(ptr %path)\0A ret ptr %r\0A}\0A\00"
@.str3444 = private unnamed_addr constant [62 x i8] c"@fn_str_rb = private unnamed_addr constant [3 x i8] c\22rb\5C00\22\0A\00"
@.str3445 = private unnamed_addr constant [62 x i8] c"@fn_str_wb = private unnamed_addr constant [3 x i8] c\22wb\5C00\22\0A\00"
@.str3446 = private unnamed_addr constant [62 x i8] c"@fn_str_ab = private unnamed_addr constant [3 x i8] c\22ab\5C00\22\0A\00"
@.str3447 = private unnamed_addr constant [62 x i8] c"@fn_str_dot = private unnamed_addr constant [2 x i8] c\22.\5C00\22\0A\00"
@.str3448 = private unnamed_addr constant [64 x i8] c"@fn_str_slash = private unnamed_addr constant [2 x i8] c\22/\5C00\22\0A\00"
@.str3449 = private unnamed_addr constant [63 x i8] c"@fn_str_empty = private unnamed_addr constant [1 x i8] c\22\5C00\22\0A\00"
@.str3450 = 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"
@.str3451 = 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"
@.str3452 = 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"
@.str3453 = 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"
@.str3454 = 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"
@.str3455 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00"
@.str3456 = private unnamed_addr constant [24 x i8] c"getelementptr inbounds \00"
@.str3457 = private unnamed_addr constant [7 x i8] c", ptr \00"
@.str3458 = private unnamed_addr constant [7 x i8] c", i32 \00"
@.str3459 = private unnamed_addr constant [4 x i8] c"len\00"
@.str3460 = private unnamed_addr constant [5 x i8] c"push\00"
@.str3461 = private unnamed_addr constant [6 x i8] c"clear\00"
@.str3462 = private unnamed_addr constant [6 x i8] c"first\00"
@.str3463 = private unnamed_addr constant [5 x i8] c"last\00"
@.str3464 = private unnamed_addr constant [4 x i8] c"pop\00"
@.str3465 = private unnamed_addr constant [5 x i8] c"swap\00"
@.str3466 = private unnamed_addr constant [9 x i8] c"contains\00"
@.str3467 = private unnamed_addr constant [9 x i8] c"index_of\00"
@.str3468 = private unnamed_addr constant [8 x i8] c"reverse\00"
@.str3469 = private unnamed_addr constant [7 x i8] c"insert\00"
@.str3470 = private unnamed_addr constant [10 x i8] c"remove_at\00"
@.str3471 = private unnamed_addr constant [7 x i8] c"remove\00"
@.str3472 = private unnamed_addr constant [5 x i8] c"sort\00"
@.str3473 = private unnamed_addr constant [8 x i8] c"sort_by\00"
@.str3474 = private unnamed_addr constant [13 x i8] c"sort_desc_by\00"
@.str3475 = private unnamed_addr constant [10 x i8] c"sort_with\00"
@.str3476 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
@.str3477 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
@.str3478 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00"
@.str3479 = private unnamed_addr constant [3 x i8] c", \00"
@.str3480 = private unnamed_addr constant [3 x i8] c"ig\00"
@.str3481 = private unnamed_addr constant [4 x i8] c"igd\00"
@.str3482 = private unnamed_addr constant [9 x i8] c" br i1 \00"
@.str3483 = private unnamed_addr constant [10 x i8] c", label %\00"
@.str3484 = private unnamed_addr constant [10 x i8] c", label %\00"
@.str3485 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str3486 = private unnamed_addr constant [3 x i8] c":\0A\00"
@.str3487 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
@.str3488 = private unnamed_addr constant [4 x i8] c", 2\00"
@.str3489 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00"
@.str3490 = private unnamed_addr constant [4 x i8] c", 0\00"
@.str3491 = private unnamed_addr constant [11 x i8] c"select i1 \00"
@.str3492 = private unnamed_addr constant [14 x i8] c", i32 8, i32 \00"
@.str3493 = private unnamed_addr constant [10 x i8] c"zext i32 \00"
@.str3494 = private unnamed_addr constant [8 x i8] c" to i64\00"
@.str3495 = private unnamed_addr constant [9 x i8] c"mul i64 \00"
@.str3496 = private unnamed_addr constant [3 x i8] c", \00"
@.str3497 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00"
@.str3498 = private unnamed_addr constant [23 x i8] c"call ptr @realloc(ptr \00"
@.str3499 = private unnamed_addr constant [7 x i8] c", i64 \00"
@.str3500 = private unnamed_addr constant [2 x i8] c")\00"
@.str3501 = private unnamed_addr constant [13 x i8] c" store ptr \00"
@.str3502 = private unnamed_addr constant [7 x i8] c", ptr \00"
@.str3503 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str3504 = private unnamed_addr constant [13 x i8] c" store i32 \00"
@.str3505 = private unnamed_addr constant [7 x i8] c", ptr \00"
@.str3506 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str3507 = private unnamed_addr constant [13 x i8] c" br label %\00"
@.str3508 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str3509 = private unnamed_addr constant [3 x i8] c":\0A\00"
@.str3510 = private unnamed_addr constant [24 x i8] c"getelementptr inbounds \00"
@.str3511 = private unnamed_addr constant [7 x i8] c", ptr \00"
@.str3512 = private unnamed_addr constant [7 x i8] c", i32 \00"
@.str3513 = private unnamed_addr constant [10 x i8] c"icmp slt \00"
@.str3514 = private unnamed_addr constant [2 x i8] c" \00"
@.str3515 = private unnamed_addr constant [3 x i8] c", \00"
@.str3516 = private unnamed_addr constant [14 x i8] c"call i32 @fn_\00"
@.str3517 = private unnamed_addr constant [2 x i8] c"(\00"
@.str3518 = private unnamed_addr constant [2 x i8] c" \00"
@.str3519 = private unnamed_addr constant [3 x i8] c", \00"
@.str3520 = private unnamed_addr constant [2 x i8] c" \00"
@.str3521 = private unnamed_addr constant [2 x i8] c")\00"
@.str3522 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00"
@.str3523 = private unnamed_addr constant [4 x i8] c", 0\00"
@.str3524 = private unnamed_addr constant [6 x i8] c"call \00"
@.str3525 = private unnamed_addr constant [6 x i8] c" @fn_\00"
@.str3526 = private unnamed_addr constant [2 x i8] c"(\00"
@.str3527 = private unnamed_addr constant [2 x i8] c" \00"
@.str3528 = private unnamed_addr constant [2 x i8] c")\00"
@.str3529 = private unnamed_addr constant [6 x i8] c"call \00"
@.str3530 = private unnamed_addr constant [6 x i8] c" @fn_\00"
@.str3531 = private unnamed_addr constant [2 x i8] c"(\00"
@.str3532 = private unnamed_addr constant [2 x i8] c" \00"
@.str3533 = private unnamed_addr constant [2 x i8] c")\00"
@.str3534 = private unnamed_addr constant [10 x i8] c"icmp slt \00"
@.str3535 = private unnamed_addr constant [2 x i8] c" \00"
@.str3536 = private unnamed_addr constant [3 x i8] c", \00"
@.str3537 = private unnamed_addr constant [10 x i8] c"icmp sgt \00"
@.str3538 = private unnamed_addr constant [2 x i8] c" \00"
@.str3539 = private unnamed_addr constant [3 x i8] c", \00"
@.str3540 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00"
@.str3541 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
@.str3542 = private unnamed_addr constant [10 x i8] c"zext i32 \00"
@.str3543 = private unnamed_addr constant [8 x i8] c" to i64\00"
@.str3544 = private unnamed_addr constant [9 x i8] c"mul i64 \00"
@.str3545 = private unnamed_addr constant [3 x i8] c", \00"
@.str3546 = private unnamed_addr constant [22 x i8] c"call ptr @malloc(i64 \00"
@.str3547 = private unnamed_addr constant [2 x i8] c")\00"
@.str3548 = private unnamed_addr constant [4 x i8] c"i32\00"
@.str3549 = private unnamed_addr constant [4 x i8] c"i32\00"
@.str3550 = private unnamed_addr constant [2 x i8] c"1\00"
@.str3551 = private unnamed_addr constant [6 x i8] c"ms_wc\00"
@.str3552 = private unnamed_addr constant [6 x i8] c"ms_wb\00"
@.str3553 = private unnamed_addr constant [6 x i8] c"ms_we\00"
@.str3554 = private unnamed_addr constant [13 x i8] c" br label %\00"
@.str3555 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str3556 = private unnamed_addr constant [3 x i8] c":\0A\00"
@.str3557 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
@.str3558 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
@.str3559 = private unnamed_addr constant [3 x i8] c", \00"
@.str3560 = private unnamed_addr constant [9 x i8] c" br i1 \00"
@.str3561 = private unnamed_addr constant [10 x i8] c", label %\00"
@.str3562 = private unnamed_addr constant [10 x i8] c", label %\00"
@.str3563 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str3564 = private unnamed_addr constant [3 x i8] c":\0A\00"
@.str3565 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
@.str3566 = private unnamed_addr constant [4 x i8] c", 2\00"
@.str3567 = private unnamed_addr constant [4 x i8] c"i32\00"
@.str3568 = private unnamed_addr constant [4 x i8] c"i32\00"
@.str3569 = private unnamed_addr constant [2 x i8] c"0\00"
@.str3570 = private unnamed_addr constant [6 x i8] c"ms_ic\00"
@.str3571 = private unnamed_addr constant [6 x i8] c"ms_ib\00"
@.str3572 = private unnamed_addr constant [6 x i8] c"ms_ie\00"
@.str3573 = private unnamed_addr constant [13 x i8] c" br label %\00"
@.str3574 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str3575 = private unnamed_addr constant [3 x i8] c":\0A\00"
@.str3576 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
@.str3577 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
@.str3578 = private unnamed_addr constant [3 x i8] c", \00"
@.str3579 = private unnamed_addr constant [9 x i8] c" br i1 \00"
@.str3580 = private unnamed_addr constant [10 x i8] c", label %\00"
@.str3581 = private unnamed_addr constant [10 x i8] c", label %\00"
@.str3582 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str3583 = private unnamed_addr constant [3 x i8] c":\0A\00"
@.str3584 = private unnamed_addr constant [9 x i8] c"add i32 \00"
@.str3585 = private unnamed_addr constant [3 x i8] c", \00"
@.str3586 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
@.str3587 = private unnamed_addr constant [3 x i8] c", \00"
@.str3588 = private unnamed_addr constant [11 x i8] c"select i1 \00"
@.str3589 = private unnamed_addr constant [7 x i8] c", i32 \00"
@.str3590 = private unnamed_addr constant [7 x i8] c", i32 \00"
@.str3591 = private unnamed_addr constant [9 x i8] c"add i32 \00"
@.str3592 = private unnamed_addr constant [3 x i8] c", \00"
@.str3593 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
@.str3594 = private unnamed_addr constant [3 x i8] c", \00"
@.str3595 = private unnamed_addr constant [11 x i8] c"select i1 \00"
@.str3596 = private unnamed_addr constant [7 x i8] c", i32 \00"
@.str3597 = private unnamed_addr constant [7 x i8] c", i32 \00"
@.str3598 = private unnamed_addr constant [4 x i8] c"i32\00"
@.str3599 = private unnamed_addr constant [4 x i8] c"i32\00"
@.str3600 = private unnamed_addr constant [4 x i8] c"i32\00"
@.str3601 = private unnamed_addr constant [4 x i8] c"i32\00"
@.str3602 = private unnamed_addr constant [4 x i8] c"i32\00"
@.str3603 = private unnamed_addr constant [4 x i8] c"i32\00"
@.str3604 = private unnamed_addr constant [6 x i8] c"ms_mc\00"
@.str3605 = private unnamed_addr constant [6 x i8] c"ms_mb\00"
@.str3606 = private unnamed_addr constant [8 x i8] c"ms_mend\00"
@.str3607 = private unnamed_addr constant [13 x i8] c" br label %\00"
@.str3608 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str3609 = private unnamed_addr constant [3 x i8] c":\0A\00"
@.str3610 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
@.str3611 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
@.str3612 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
@.str3613 = private unnamed_addr constant [3 x i8] c", \00"
@.str3614 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
@.str3615 = private unnamed_addr constant [3 x i8] c", \00"
@.str3616 = private unnamed_addr constant [8 x i8] c"and i1 \00"
@.str3617 = private unnamed_addr constant [3 x i8] c", \00"
@.str3618 = private unnamed_addr constant [9 x i8] c" br i1 \00"
@.str3619 = private unnamed_addr constant [10 x i8] c", label %\00"
@.str3620 = private unnamed_addr constant [10 x i8] c", label %\00"
@.str3621 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str3622 = private unnamed_addr constant [3 x i8] c":\0A\00"
@.str3623 = private unnamed_addr constant [6 x i8] c"load \00"
@.str3624 = private unnamed_addr constant [7 x i8] c", ptr \00"
@.str3625 = private unnamed_addr constant [6 x i8] c"load \00"
@.str3626 = private unnamed_addr constant [7 x i8] c", ptr \00"
@.str3627 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
@.str3628 = private unnamed_addr constant [9 x i8] c"ms_takeR\00"
@.str3629 = private unnamed_addr constant [9 x i8] c"ms_takeL\00"
@.str3630 = private unnamed_addr constant [9 x i8] c"ms_takeD\00"
@.str3631 = private unnamed_addr constant [9 x i8] c" br i1 \00"
@.str3632 = private unnamed_addr constant [10 x i8] c", label %\00"
@.str3633 = private unnamed_addr constant [10 x i8] c", label %\00"
@.str3634 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str3635 = private unnamed_addr constant [3 x i8] c":\0A\00"
@.str3636 = private unnamed_addr constant [9 x i8] c" store \00"
@.str3637 = private unnamed_addr constant [2 x i8] c" \00"
@.str3638 = private unnamed_addr constant [7 x i8] c", ptr \00"
@.str3639 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str3640 = private unnamed_addr constant [9 x i8] c"add i32 \00"
@.str3641 = private unnamed_addr constant [4 x i8] c", 1\00"
@.str3642 = private unnamed_addr constant [4 x i8] c"i32\00"
@.str3643 = private unnamed_addr constant [13 x i8] c" br label %\00"
@.str3644 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str3645 = private unnamed_addr constant [3 x i8] c":\0A\00"
@.str3646 = private unnamed_addr constant [9 x i8] c" store \00"
@.str3647 = private unnamed_addr constant [2 x i8] c" \00"
@.str3648 = private unnamed_addr constant [7 x i8] c", ptr \00"
@.str3649 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str3650 = private unnamed_addr constant [9 x i8] c"add i32 \00"
@.str3651 = private unnamed_addr constant [4 x i8] c", 1\00"
@.str3652 = private unnamed_addr constant [4 x i8] c"i32\00"
@.str3653 = private unnamed_addr constant [13 x i8] c" br label %\00"
@.str3654 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str3655 = private unnamed_addr constant [3 x i8] c":\0A\00"
@.str3656 = private unnamed_addr constant [9 x i8] c"add i32 \00"
@.str3657 = private unnamed_addr constant [4 x i8] c", 1\00"
@.str3658 = private unnamed_addr constant [4 x i8] c"i32\00"
@.str3659 = private unnamed_addr constant [13 x i8] c" br label %\00"
@.str3660 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str3661 = private unnamed_addr constant [3 x i8] c":\0A\00"
@.str3662 = private unnamed_addr constant [7 x i8] c"ms_dac\00"
@.str3663 = private unnamed_addr constant [7 x i8] c"ms_dab\00"
@.str3664 = private unnamed_addr constant [7 x i8] c"ms_dae\00"
@.str3665 = private unnamed_addr constant [13 x i8] c" br label %\00"
@.str3666 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str3667 = private unnamed_addr constant [3 x i8] c":\0A\00"
@.str3668 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
@.str3669 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
@.str3670 = private unnamed_addr constant [3 x i8] c", \00"
@.str3671 = private unnamed_addr constant [9 x i8] c" br i1 \00"
@.str3672 = private unnamed_addr constant [10 x i8] c", label %\00"
@.str3673 = private unnamed_addr constant [10 x i8] c", label %\00"
@.str3674 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str3675 = private unnamed_addr constant [3 x i8] c":\0A\00"
@.str3676 = private unnamed_addr constant [6 x i8] c"load \00"
@.str3677 = private unnamed_addr constant [7 x i8] c", ptr \00"
@.str3678 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
@.str3679 = private unnamed_addr constant [9 x i8] c" store \00"
@.str3680 = private unnamed_addr constant [2 x i8] c" \00"
@.str3681 = private unnamed_addr constant [7 x i8] c", ptr \00"
@.str3682 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str3683 = private unnamed_addr constant [9 x i8] c"add i32 \00"
@.str3684 = private unnamed_addr constant [4 x i8] c", 1\00"
@.str3685 = private unnamed_addr constant [4 x i8] c"i32\00"
@.str3686 = private unnamed_addr constant [9 x i8] c"add i32 \00"
@.str3687 = private unnamed_addr constant [4 x i8] c", 1\00"
@.str3688 = private unnamed_addr constant [4 x i8] c"i32\00"
@.str3689 = private unnamed_addr constant [13 x i8] c" br label %\00"
@.str3690 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str3691 = private unnamed_addr constant [3 x i8] c":\0A\00"
@.str3692 = private unnamed_addr constant [7 x i8] c"ms_dbc\00"
@.str3693 = private unnamed_addr constant [7 x i8] c"ms_dbb\00"
@.str3694 = private unnamed_addr constant [7 x i8] c"ms_dbe\00"
@.str3695 = private unnamed_addr constant [13 x i8] c" br label %\00"
@.str3696 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str3697 = private unnamed_addr constant [3 x i8] c":\0A\00"
@.str3698 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
@.str3699 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
@.str3700 = private unnamed_addr constant [3 x i8] c", \00"
@.str3701 = private unnamed_addr constant [9 x i8] c" br i1 \00"
@.str3702 = private unnamed_addr constant [10 x i8] c", label %\00"
@.str3703 = private unnamed_addr constant [10 x i8] c", label %\00"
@.str3704 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str3705 = private unnamed_addr constant [3 x i8] c":\0A\00"
@.str3706 = private unnamed_addr constant [6 x i8] c"load \00"
@.str3707 = private unnamed_addr constant [7 x i8] c", ptr \00"
@.str3708 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
@.str3709 = private unnamed_addr constant [9 x i8] c" store \00"
@.str3710 = private unnamed_addr constant [2 x i8] c" \00"
@.str3711 = private unnamed_addr constant [7 x i8] c", ptr \00"
@.str3712 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str3713 = private unnamed_addr constant [9 x i8] c"add i32 \00"
@.str3714 = private unnamed_addr constant [4 x i8] c", 1\00"
@.str3715 = private unnamed_addr constant [4 x i8] c"i32\00"
@.str3716 = private unnamed_addr constant [9 x i8] c"add i32 \00"
@.str3717 = private unnamed_addr constant [4 x i8] c", 1\00"
@.str3718 = private unnamed_addr constant [4 x i8] c"i32\00"
@.str3719 = private unnamed_addr constant [13 x i8] c" br label %\00"
@.str3720 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str3721 = private unnamed_addr constant [3 x i8] c":\0A\00"
@.str3722 = private unnamed_addr constant [4 x i8] c"i32\00"
@.str3723 = private unnamed_addr constant [4 x i8] c"i32\00"
@.str3724 = private unnamed_addr constant [7 x i8] c"ms_cbc\00"
@.str3725 = private unnamed_addr constant [7 x i8] c"ms_cbb\00"
@.str3726 = private unnamed_addr constant [7 x i8] c"ms_cbe\00"
@.str3727 = private unnamed_addr constant [13 x i8] c" br label %\00"
@.str3728 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str3729 = private unnamed_addr constant [3 x i8] c":\0A\00"
@.str3730 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
@.str3731 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
@.str3732 = private unnamed_addr constant [3 x i8] c", \00"
@.str3733 = private unnamed_addr constant [9 x i8] c" br i1 \00"
@.str3734 = private unnamed_addr constant [10 x i8] c", label %\00"
@.str3735 = private unnamed_addr constant [10 x i8] c", label %\00"
@.str3736 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str3737 = private unnamed_addr constant [3 x i8] c":\0A\00"
@.str3738 = private unnamed_addr constant [6 x i8] c"load \00"
@.str3739 = private unnamed_addr constant [7 x i8] c", ptr \00"
@.str3740 = private unnamed_addr constant [9 x i8] c" store \00"
@.str3741 = private unnamed_addr constant [2 x i8] c" \00"
@.str3742 = private unnamed_addr constant [7 x i8] c", ptr \00"
@.str3743 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str3744 = private unnamed_addr constant [9 x i8] c"add i32 \00"
@.str3745 = private unnamed_addr constant [4 x i8] c", 1\00"
@.str3746 = private unnamed_addr constant [4 x i8] c"i32\00"
@.str3747 = private unnamed_addr constant [13 x i8] c" br label %\00"
@.str3748 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str3749 = private unnamed_addr constant [3 x i8] c":\0A\00"
@.str3750 = private unnamed_addr constant [9 x i8] c"add i32 \00"
@.str3751 = private unnamed_addr constant [3 x i8] c", \00"
@.str3752 = private unnamed_addr constant [4 x i8] c"i32\00"
@.str3753 = private unnamed_addr constant [13 x i8] c" br label %\00"
@.str3754 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str3755 = private unnamed_addr constant [3 x i8] c":\0A\00"
@.str3756 = private unnamed_addr constant [4 x i8] c"i32\00"
@.str3757 = private unnamed_addr constant [13 x i8] c" br label %\00"
@.str3758 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str3759 = private unnamed_addr constant [3 x i8] c":\0A\00"
@.str3760 = private unnamed_addr constant [23 x i8] c" call void @free(ptr \00"
@.str3761 = private unnamed_addr constant [3 x i8] c")\0A\00"
@.str3762 = private unnamed_addr constant [6 x i8] c"List.\00"
@.str3763 = private unnamed_addr constant [25 x i8] c" needs (slice, function)\00"
@.str3764 = private unnamed_addr constant [6 x i8] c"List.\00"
@.str3765 = private unnamed_addr constant [46 x i8] c": the second argument must be a function name\00"
@.str3766 = private unnamed_addr constant [6 x i8] c"List.\00"
@.str3767 = private unnamed_addr constant [22 x i8] c": no function named '\00"
@.str3768 = private unnamed_addr constant [2 x i8] c"'\00"
@.str3769 = private unnamed_addr constant [4 x i8] c"len\00"
@.str3770 = private unnamed_addr constant [5 x i8] c"push\00"
@.str3771 = private unnamed_addr constant [6 x i8] c"List.\00"
@.str3772 = private unnamed_addr constant [15 x i8] c" needs a slice\00"
@.str3773 = private unnamed_addr constant [6 x i8] c"clear\00"
@.str3774 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00"
@.str3775 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str3776 = private unnamed_addr constant [2 x i8] c"0\00"
@.str3777 = private unnamed_addr constant [5 x i8] c"void\00"
@.str3778 = private unnamed_addr constant [6 x i8] c"first\00"
@.str3779 = private unnamed_addr constant [2 x i8] c"0\00"
@.str3780 = private unnamed_addr constant [6 x i8] c"load \00"
@.str3781 = private unnamed_addr constant [7 x i8] c", ptr \00"
@.str3782 = private unnamed_addr constant [5 x i8] c"last\00"
@.str3783 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
@.str3784 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
@.str3785 = private unnamed_addr constant [4 x i8] c", 1\00"
@.str3786 = private unnamed_addr constant [6 x i8] c"load \00"
@.str3787 = private unnamed_addr constant [7 x i8] c", ptr \00"
@.str3788 = private unnamed_addr constant [4 x i8] c"pop\00"
@.str3789 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
@.str3790 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
@.str3791 = private unnamed_addr constant [4 x i8] c", 1\00"
@.str3792 = private unnamed_addr constant [6 x i8] c"load \00"
@.str3793 = private unnamed_addr constant [7 x i8] c", ptr \00"
@.str3794 = private unnamed_addr constant [13 x i8] c" store i32 \00"
@.str3795 = private unnamed_addr constant [7 x i8] c", ptr \00"
@.str3796 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str3797 = private unnamed_addr constant [5 x i8] c"swap\00"
@.str3798 = private unnamed_addr constant [6 x i8] c"load \00"
@.str3799 = private unnamed_addr constant [7 x i8] c", ptr \00"
@.str3800 = private unnamed_addr constant [6 x i8] c"load \00"
@.str3801 = private unnamed_addr constant [7 x i8] c", ptr \00"
@.str3802 = private unnamed_addr constant [9 x i8] c" store \00"
@.str3803 = private unnamed_addr constant [2 x i8] c" \00"
@.str3804 = private unnamed_addr constant [7 x i8] c", ptr \00"
@.str3805 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str3806 = private unnamed_addr constant [9 x i8] c" store \00"
@.str3807 = private unnamed_addr constant [2 x i8] c" \00"
@.str3808 = private unnamed_addr constant [7 x i8] c", ptr \00"
@.str3809 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str3810 = private unnamed_addr constant [2 x i8] c"0\00"
@.str3811 = private unnamed_addr constant [5 x i8] c"void\00"
@.str3812 = private unnamed_addr constant [9 x i8] c"contains\00"
@.str3813 = private unnamed_addr constant [9 x i8] c"index_of\00"
@.str3814 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
@.str3815 = private unnamed_addr constant [4 x i8] c"i32\00"
@.str3816 = private unnamed_addr constant [4 x i8] c"i32\00"
@.str3817 = private unnamed_addr constant [3 x i8] c"-1\00"
@.str3818 = private unnamed_addr constant [4 x i8] c"i32\00"
@.str3819 = private unnamed_addr constant [4 x i8] c"i32\00"
@.str3820 = private unnamed_addr constant [2 x i8] c"0\00"
@.str3821 = private unnamed_addr constant [8 x i8] c"lc_cond\00"
@.str3822 = private unnamed_addr constant [8 x i8] c"lc_body\00"
@.str3823 = private unnamed_addr constant [7 x i8] c"lc_hit\00"
@.str3824 = private unnamed_addr constant [8 x i8] c"lc_next\00"
@.str3825 = private unnamed_addr constant [7 x i8] c"lc_end\00"
@.str3826 = private unnamed_addr constant [13 x i8] c" br label %\00"
@.str3827 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str3828 = private unnamed_addr constant [3 x i8] c":\0A\00"
@.str3829 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
@.str3830 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
@.str3831 = private unnamed_addr constant [3 x i8] c", \00"
@.str3832 = private unnamed_addr constant [9 x i8] c" br i1 \00"
@.str3833 = private unnamed_addr constant [10 x i8] c", label %\00"
@.str3834 = private unnamed_addr constant [10 x i8] c", label %\00"
@.str3835 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str3836 = private unnamed_addr constant [3 x i8] c":\0A\00"
@.str3837 = private unnamed_addr constant [6 x i8] c"load \00"
@.str3838 = private unnamed_addr constant [7 x i8] c", ptr \00"
@.str3839 = private unnamed_addr constant [9 x i8] c"icmp eq \00"
@.str3840 = private unnamed_addr constant [2 x i8] c" \00"
@.str3841 = private unnamed_addr constant [3 x i8] c", \00"
@.str3842 = private unnamed_addr constant [9 x i8] c" br i1 \00"
@.str3843 = private unnamed_addr constant [10 x i8] c", label %\00"
@.str3844 = private unnamed_addr constant [10 x i8] c", label %\00"
@.str3845 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str3846 = private unnamed_addr constant [3 x i8] c":\0A\00"
@.str3847 = private unnamed_addr constant [4 x i8] c"i32\00"
@.str3848 = private unnamed_addr constant [13 x i8] c" br label %\00"
@.str3849 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str3850 = private unnamed_addr constant [3 x i8] c":\0A\00"
@.str3851 = private unnamed_addr constant [9 x i8] c"add i32 \00"
@.str3852 = private unnamed_addr constant [4 x i8] c", 1\00"
@.str3853 = private unnamed_addr constant [4 x i8] c"i32\00"
@.str3854 = private unnamed_addr constant [13 x i8] c" br label %\00"
@.str3855 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str3856 = private unnamed_addr constant [3 x i8] c":\0A\00"
@.str3857 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
@.str3858 = private unnamed_addr constant [9 x i8] c"index_of\00"
@.str3859 = private unnamed_addr constant [4 x i8] c"int\00"
@.str3860 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00"
@.str3861 = private unnamed_addr constant [4 x i8] c", 0\00"
@.str3862 = private unnamed_addr constant [9 x i8] c"zext i1 \00"
@.str3863 = private unnamed_addr constant [8 x i8] c" to i32\00"
@.str3864 = private unnamed_addr constant [5 x i8] c"bool\00"
@.str3865 = private unnamed_addr constant [7 x i8] c"insert\00"
@.str3866 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
@.str3867 = private unnamed_addr constant [4 x i8] c"i32\00"
@.str3868 = private unnamed_addr constant [4 x i8] c"i32\00"
@.str3869 = private unnamed_addr constant [5 x i8] c"li_c\00"
@.str3870 = private unnamed_addr constant [5 x i8] c"li_b\00"
@.str3871 = private unnamed_addr constant [5 x i8] c"li_e\00"
@.str3872 = private unnamed_addr constant [13 x i8] c" br label %\00"
@.str3873 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str3874 = private unnamed_addr constant [3 x i8] c":\0A\00"
@.str3875 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
@.str3876 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00"
@.str3877 = private unnamed_addr constant [3 x i8] c", \00"
@.str3878 = private unnamed_addr constant [9 x i8] c" br i1 \00"
@.str3879 = private unnamed_addr constant [10 x i8] c", label %\00"
@.str3880 = private unnamed_addr constant [10 x i8] c", label %\00"
@.str3881 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str3882 = private unnamed_addr constant [3 x i8] c":\0A\00"
@.str3883 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
@.str3884 = private unnamed_addr constant [4 x i8] c", 1\00"
@.str3885 = private unnamed_addr constant [6 x i8] c"load \00"
@.str3886 = private unnamed_addr constant [7 x i8] c", ptr \00"
@.str3887 = private unnamed_addr constant [9 x i8] c" store \00"
@.str3888 = private unnamed_addr constant [2 x i8] c" \00"
@.str3889 = private unnamed_addr constant [7 x i8] c", ptr \00"
@.str3890 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str3891 = private unnamed_addr constant [4 x i8] c"i32\00"
@.str3892 = private unnamed_addr constant [13 x i8] c" br label %\00"
@.str3893 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str3894 = private unnamed_addr constant [3 x i8] c":\0A\00"
@.str3895 = private unnamed_addr constant [9 x i8] c" store \00"
@.str3896 = private unnamed_addr constant [2 x i8] c" \00"
@.str3897 = private unnamed_addr constant [7 x i8] c", ptr \00"
@.str3898 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str3899 = private unnamed_addr constant [9 x i8] c"add i32 \00"
@.str3900 = private unnamed_addr constant [4 x i8] c", 1\00"
@.str3901 = private unnamed_addr constant [13 x i8] c" store i32 \00"
@.str3902 = private unnamed_addr constant [7 x i8] c", ptr \00"
@.str3903 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str3904 = private unnamed_addr constant [2 x i8] c"0\00"
@.str3905 = private unnamed_addr constant [5 x i8] c"void\00"
@.str3906 = private unnamed_addr constant [10 x i8] c"remove_at\00"
@.str3907 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
@.str3908 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
@.str3909 = private unnamed_addr constant [4 x i8] c", 1\00"
@.str3910 = private unnamed_addr constant [4 x i8] c"i32\00"
@.str3911 = private unnamed_addr constant [4 x i8] c"i32\00"
@.str3912 = private unnamed_addr constant [5 x i8] c"lr_c\00"
@.str3913 = private unnamed_addr constant [5 x i8] c"lr_b\00"
@.str3914 = private unnamed_addr constant [5 x i8] c"lr_e\00"
@.str3915 = private unnamed_addr constant [13 x i8] c" br label %\00"
@.str3916 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str3917 = private unnamed_addr constant [3 x i8] c":\0A\00"
@.str3918 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
@.str3919 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
@.str3920 = private unnamed_addr constant [3 x i8] c", \00"
@.str3921 = private unnamed_addr constant [9 x i8] c" br i1 \00"
@.str3922 = private unnamed_addr constant [10 x i8] c", label %\00"
@.str3923 = private unnamed_addr constant [10 x i8] c", label %\00"
@.str3924 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str3925 = private unnamed_addr constant [3 x i8] c":\0A\00"
@.str3926 = private unnamed_addr constant [9 x i8] c"add i32 \00"
@.str3927 = private unnamed_addr constant [4 x i8] c", 1\00"
@.str3928 = private unnamed_addr constant [6 x i8] c"load \00"
@.str3929 = private unnamed_addr constant [7 x i8] c", ptr \00"
@.str3930 = private unnamed_addr constant [9 x i8] c" store \00"
@.str3931 = private unnamed_addr constant [2 x i8] c" \00"
@.str3932 = private unnamed_addr constant [7 x i8] c", ptr \00"
@.str3933 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str3934 = private unnamed_addr constant [4 x i8] c"i32\00"
@.str3935 = private unnamed_addr constant [13 x i8] c" br label %\00"
@.str3936 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str3937 = private unnamed_addr constant [3 x i8] c":\0A\00"
@.str3938 = private unnamed_addr constant [13 x i8] c" store i32 \00"
@.str3939 = private unnamed_addr constant [7 x i8] c", ptr \00"
@.str3940 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str3941 = private unnamed_addr constant [2 x i8] c"0\00"
@.str3942 = private unnamed_addr constant [5 x i8] c"void\00"
@.str3943 = private unnamed_addr constant [7 x i8] c"remove\00"
@.str3944 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
@.str3945 = private unnamed_addr constant [4 x i8] c"i32\00"
@.str3946 = private unnamed_addr constant [4 x i8] c"i32\00"
@.str3947 = private unnamed_addr constant [3 x i8] c"-1\00"
@.str3948 = private unnamed_addr constant [4 x i8] c"i32\00"
@.str3949 = private unnamed_addr constant [4 x i8] c"i32\00"
@.str3950 = private unnamed_addr constant [2 x i8] c"0\00"
@.str3951 = private unnamed_addr constant [5 x i8] c"lv_c\00"
@.str3952 = private unnamed_addr constant [5 x i8] c"lv_b\00"
@.str3953 = private unnamed_addr constant [5 x i8] c"lv_h\00"
@.str3954 = private unnamed_addr constant [5 x i8] c"lv_n\00"
@.str3955 = private unnamed_addr constant [5 x i8] c"lv_e\00"
@.str3956 = private unnamed_addr constant [13 x i8] c" br label %\00"
@.str3957 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str3958 = private unnamed_addr constant [3 x i8] c":\0A\00"
@.str3959 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
@.str3960 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
@.str3961 = private unnamed_addr constant [3 x i8] c", \00"
@.str3962 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
@.str3963 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
@.str3964 = private unnamed_addr constant [4 x i8] c", 0\00"
@.str3965 = private unnamed_addr constant [8 x i8] c"and i1 \00"
@.str3966 = private unnamed_addr constant [3 x i8] c", \00"
@.str3967 = private unnamed_addr constant [9 x i8] c" br i1 \00"
@.str3968 = private unnamed_addr constant [10 x i8] c", label %\00"
@.str3969 = private unnamed_addr constant [10 x i8] c", label %\00"
@.str3970 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str3971 = private unnamed_addr constant [3 x i8] c":\0A\00"
@.str3972 = private unnamed_addr constant [6 x i8] c"load \00"
@.str3973 = private unnamed_addr constant [7 x i8] c", ptr \00"
@.str3974 = private unnamed_addr constant [9 x i8] c"icmp eq \00"
@.str3975 = private unnamed_addr constant [2 x i8] c" \00"
@.str3976 = private unnamed_addr constant [3 x i8] c", \00"
@.str3977 = private unnamed_addr constant [9 x i8] c" br i1 \00"
@.str3978 = private unnamed_addr constant [10 x i8] c", label %\00"
@.str3979 = private unnamed_addr constant [10 x i8] c", label %\00"
@.str3980 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str3981 = private unnamed_addr constant [3 x i8] c":\0A\00"
@.str3982 = private unnamed_addr constant [4 x i8] c"i32\00"
@.str3983 = private unnamed_addr constant [13 x i8] c" br label %\00"
@.str3984 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str3985 = private unnamed_addr constant [3 x i8] c":\0A\00"
@.str3986 = private unnamed_addr constant [9 x i8] c"add i32 \00"
@.str3987 = private unnamed_addr constant [4 x i8] c", 1\00"
@.str3988 = private unnamed_addr constant [4 x i8] c"i32\00"
@.str3989 = private unnamed_addr constant [13 x i8] c" br label %\00"
@.str3990 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str3991 = private unnamed_addr constant [3 x i8] c":\0A\00"
@.str3992 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
@.str3993 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00"
@.str3994 = private unnamed_addr constant [4 x i8] c", 0\00"
@.str3995 = private unnamed_addr constant [6 x i8] c"lv_do\00"
@.str3996 = private unnamed_addr constant [7 x i8] c"lv_end\00"
@.str3997 = private unnamed_addr constant [9 x i8] c" br i1 \00"
@.str3998 = private unnamed_addr constant [10 x i8] c", label %\00"
@.str3999 = private unnamed_addr constant [10 x i8] c", label %\00"
@.str4000 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str4001 = private unnamed_addr constant [3 x i8] c":\0A\00"
@.str4002 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
@.str4003 = private unnamed_addr constant [4 x i8] c", 1\00"
@.str4004 = private unnamed_addr constant [4 x i8] c"i32\00"
@.str4005 = private unnamed_addr constant [4 x i8] c"i32\00"
@.str4006 = private unnamed_addr constant [6 x i8] c"lv_dc\00"
@.str4007 = private unnamed_addr constant [6 x i8] c"lv_db\00"
@.str4008 = private unnamed_addr constant [6 x i8] c"lv_de\00"
@.str4009 = private unnamed_addr constant [13 x i8] c" br label %\00"
@.str4010 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str4011 = private unnamed_addr constant [3 x i8] c":\0A\00"
@.str4012 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
@.str4013 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
@.str4014 = private unnamed_addr constant [3 x i8] c", \00"
@.str4015 = private unnamed_addr constant [9 x i8] c" br i1 \00"
@.str4016 = private unnamed_addr constant [10 x i8] c", label %\00"
@.str4017 = private unnamed_addr constant [10 x i8] c", label %\00"
@.str4018 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str4019 = private unnamed_addr constant [3 x i8] c":\0A\00"
@.str4020 = private unnamed_addr constant [9 x i8] c"add i32 \00"
@.str4021 = private unnamed_addr constant [4 x i8] c", 1\00"
@.str4022 = private unnamed_addr constant [6 x i8] c"load \00"
@.str4023 = private unnamed_addr constant [7 x i8] c", ptr \00"
@.str4024 = private unnamed_addr constant [9 x i8] c" store \00"
@.str4025 = private unnamed_addr constant [2 x i8] c" \00"
@.str4026 = private unnamed_addr constant [7 x i8] c", ptr \00"
@.str4027 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str4028 = private unnamed_addr constant [4 x i8] c"i32\00"
@.str4029 = private unnamed_addr constant [13 x i8] c" br label %\00"
@.str4030 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str4031 = private unnamed_addr constant [3 x i8] c":\0A\00"
@.str4032 = private unnamed_addr constant [13 x i8] c" store i32 \00"
@.str4033 = private unnamed_addr constant [7 x i8] c", ptr \00"
@.str4034 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str4035 = private unnamed_addr constant [13 x i8] c" br label %\00"
@.str4036 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str4037 = private unnamed_addr constant [3 x i8] c":\0A\00"
@.str4038 = private unnamed_addr constant [2 x i8] c"0\00"
@.str4039 = private unnamed_addr constant [5 x i8] c"void\00"
@.str4040 = private unnamed_addr constant [5 x i8] c"sort\00"
@.str4041 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
@.str4042 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
@.str4043 = private unnamed_addr constant [5 x i8] c", 32\00"
@.str4044 = private unnamed_addr constant [9 x i8] c"sort_ins\00"
@.str4045 = private unnamed_addr constant [9 x i8] c"sort_mrg\00"
@.str4046 = private unnamed_addr constant [9 x i8] c"sort_end\00"
@.str4047 = private unnamed_addr constant [9 x i8] c" br i1 \00"
@.str4048 = private unnamed_addr constant [10 x i8] c", label %\00"
@.str4049 = private unnamed_addr constant [10 x i8] c", label %\00"
@.str4050 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str4051 = private unnamed_addr constant [3 x i8] c":\0A\00"
@.str4052 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
@.str4053 = private unnamed_addr constant [4 x i8] c"i32\00"
@.str4054 = private unnamed_addr constant [4 x i8] c"i32\00"
@.str4055 = private unnamed_addr constant [2 x i8] c"1\00"
@.str4056 = private unnamed_addr constant [6 x i8] c"ls_oc\00"
@.str4057 = private unnamed_addr constant [6 x i8] c"ls_ob\00"
@.str4058 = private unnamed_addr constant [6 x i8] c"ls_oe\00"
@.str4059 = private unnamed_addr constant [13 x i8] c" br label %\00"
@.str4060 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str4061 = private unnamed_addr constant [3 x i8] c":\0A\00"
@.str4062 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
@.str4063 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
@.str4064 = private unnamed_addr constant [3 x i8] c", \00"
@.str4065 = private unnamed_addr constant [9 x i8] c" br i1 \00"
@.str4066 = private unnamed_addr constant [10 x i8] c", label %\00"
@.str4067 = private unnamed_addr constant [10 x i8] c", label %\00"
@.str4068 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str4069 = private unnamed_addr constant [3 x i8] c":\0A\00"
@.str4070 = private unnamed_addr constant [6 x i8] c"load \00"
@.str4071 = private unnamed_addr constant [7 x i8] c", ptr \00"
@.str4072 = private unnamed_addr constant [4 x i8] c"i32\00"
@.str4073 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
@.str4074 = private unnamed_addr constant [4 x i8] c", 1\00"
@.str4075 = private unnamed_addr constant [4 x i8] c"i32\00"
@.str4076 = private unnamed_addr constant [6 x i8] c"ls_ic\00"
@.str4077 = private unnamed_addr constant [6 x i8] c"ls_ib\00"
@.str4078 = private unnamed_addr constant [6 x i8] c"ls_ie\00"
@.str4079 = private unnamed_addr constant [13 x i8] c" br label %\00"
@.str4080 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str4081 = private unnamed_addr constant [3 x i8] c":\0A\00"
@.str4082 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
@.str4083 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00"
@.str4084 = private unnamed_addr constant [4 x i8] c", 0\00"
@.str4085 = private unnamed_addr constant [6 x i8] c"load \00"
@.str4086 = private unnamed_addr constant [7 x i8] c", ptr \00"
@.str4087 = private unnamed_addr constant [10 x i8] c"icmp sgt \00"
@.str4088 = private unnamed_addr constant [2 x i8] c" \00"
@.str4089 = private unnamed_addr constant [3 x i8] c", \00"
@.str4090 = private unnamed_addr constant [8 x i8] c"and i1 \00"
@.str4091 = private unnamed_addr constant [3 x i8] c", \00"
@.str4092 = private unnamed_addr constant [9 x i8] c" br i1 \00"
@.str4093 = private unnamed_addr constant [10 x i8] c", label %\00"
@.str4094 = private unnamed_addr constant [10 x i8] c", label %\00"
@.str4095 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str4096 = private unnamed_addr constant [3 x i8] c":\0A\00"
@.str4097 = private unnamed_addr constant [9 x i8] c"add i32 \00"
@.str4098 = private unnamed_addr constant [4 x i8] c", 1\00"
@.str4099 = private unnamed_addr constant [9 x i8] c" store \00"
@.str4100 = private unnamed_addr constant [2 x i8] c" \00"
@.str4101 = private unnamed_addr constant [7 x i8] c", ptr \00"
@.str4102 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str4103 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
@.str4104 = private unnamed_addr constant [4 x i8] c", 1\00"
@.str4105 = private unnamed_addr constant [4 x i8] c"i32\00"
@.str4106 = private unnamed_addr constant [13 x i8] c" br label %\00"
@.str4107 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str4108 = private unnamed_addr constant [3 x i8] c":\0A\00"
@.str4109 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
@.str4110 = private unnamed_addr constant [9 x i8] c"add i32 \00"
@.str4111 = private unnamed_addr constant [4 x i8] c", 1\00"
@.str4112 = private unnamed_addr constant [9 x i8] c" store \00"
@.str4113 = private unnamed_addr constant [2 x i8] c" \00"
@.str4114 = private unnamed_addr constant [7 x i8] c", ptr \00"
@.str4115 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str4116 = private unnamed_addr constant [9 x i8] c"add i32 \00"
@.str4117 = private unnamed_addr constant [4 x i8] c", 1\00"
@.str4118 = private unnamed_addr constant [4 x i8] c"i32\00"
@.str4119 = private unnamed_addr constant [13 x i8] c" br label %\00"
@.str4120 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str4121 = private unnamed_addr constant [3 x i8] c":\0A\00"
@.str4122 = private unnamed_addr constant [13 x i8] c" br label %\00"
@.str4123 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str4124 = private unnamed_addr constant [3 x i8] c":\0A\00"
@.str4125 = private unnamed_addr constant [1 x i8] c"\00"
@.str4126 = private unnamed_addr constant [1 x i8] c"\00"
@.str4127 = private unnamed_addr constant [13 x i8] c" br label %\00"
@.str4128 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str4129 = private unnamed_addr constant [3 x i8] c":\0A\00"
@.str4130 = private unnamed_addr constant [2 x i8] c"0\00"
@.str4131 = private unnamed_addr constant [5 x i8] c"void\00"
@.str4132 = private unnamed_addr constant [10 x i8] c"sort_with\00"
@.str4133 = private unnamed_addr constant [18 x i8] c"List.sort_with: '\00"
@.str4134 = private unnamed_addr constant [26 x i8] c"' must take two arguments\00"
@.str4135 = private unnamed_addr constant [4 x i8] c"i32\00"
@.str4136 = private unnamed_addr constant [2 x i8] c"0\00"
@.str4137 = private unnamed_addr constant [5 x i8] c"void\00"
@.str4138 = private unnamed_addr constant [8 x i8] c"sort_by\00"
@.str4139 = private unnamed_addr constant [13 x i8] c"sort_desc_by\00"
@.str4140 = private unnamed_addr constant [6 x i8] c"List.\00"
@.str4141 = private unnamed_addr constant [8 x i8] c": key '\00"
@.str4142 = private unnamed_addr constant [25 x i8] c"' must take one argument\00"
@.str4143 = private unnamed_addr constant [4 x i8] c"ptr\00"
@.str4144 = private unnamed_addr constant [5 x i8] c"void\00"
@.str4145 = private unnamed_addr constant [6 x i8] c"List.\00"
@.str4146 = private unnamed_addr constant [8 x i8] c": key '\00"
@.str4147 = private unnamed_addr constant [23 x i8] c"' must return a number\00"
@.str4148 = private unnamed_addr constant [13 x i8] c"sort_desc_by\00"
@.str4149 = private unnamed_addr constant [2 x i8] c"0\00"
@.str4150 = private unnamed_addr constant [5 x i8] c"void\00"
@.str4151 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
@.str4152 = private unnamed_addr constant [4 x i8] c"i32\00"
@.str4153 = private unnamed_addr constant [4 x i8] c"i32\00"
@.str4154 = private unnamed_addr constant [2 x i8] c"0\00"
@.str4155 = private unnamed_addr constant [4 x i8] c"i32\00"
@.str4156 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
@.str4157 = private unnamed_addr constant [4 x i8] c", 1\00"
@.str4158 = private unnamed_addr constant [4 x i8] c"i32\00"
@.str4159 = private unnamed_addr constant [8 x i8] c"lr_cond\00"
@.str4160 = private unnamed_addr constant [8 x i8] c"lr_body\00"
@.str4161 = private unnamed_addr constant [7 x i8] c"lr_end\00"
@.str4162 = private unnamed_addr constant [13 x i8] c" br label %\00"
@.str4163 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str4164 = private unnamed_addr constant [3 x i8] c":\0A\00"
@.str4165 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
@.str4166 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
@.str4167 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
@.str4168 = private unnamed_addr constant [3 x i8] c", \00"
@.str4169 = private unnamed_addr constant [9 x i8] c" br i1 \00"
@.str4170 = private unnamed_addr constant [10 x i8] c", label %\00"
@.str4171 = private unnamed_addr constant [10 x i8] c", label %\00"
@.str4172 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str4173 = private unnamed_addr constant [3 x i8] c":\0A\00"
@.str4174 = private unnamed_addr constant [6 x i8] c"load \00"
@.str4175 = private unnamed_addr constant [7 x i8] c", ptr \00"
@.str4176 = private unnamed_addr constant [6 x i8] c"load \00"
@.str4177 = private unnamed_addr constant [7 x i8] c", ptr \00"
@.str4178 = private unnamed_addr constant [9 x i8] c" store \00"
@.str4179 = private unnamed_addr constant [2 x i8] c" \00"
@.str4180 = private unnamed_addr constant [7 x i8] c", ptr \00"
@.str4181 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str4182 = private unnamed_addr constant [9 x i8] c" store \00"
@.str4183 = private unnamed_addr constant [2 x i8] c" \00"
@.str4184 = private unnamed_addr constant [7 x i8] c", ptr \00"
@.str4185 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str4186 = private unnamed_addr constant [9 x i8] c"add i32 \00"
@.str4187 = private unnamed_addr constant [4 x i8] c", 1\00"
@.str4188 = private unnamed_addr constant [4 x i8] c"i32\00"
@.str4189 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
@.str4190 = private unnamed_addr constant [4 x i8] c", 1\00"
@.str4191 = private unnamed_addr constant [4 x i8] c"i32\00"
@.str4192 = private unnamed_addr constant [13 x i8] c" br label %\00"
@.str4193 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str4194 = private unnamed_addr constant [3 x i8] c":\0A\00"
@.str4195 = private unnamed_addr constant [2 x i8] c"0\00"
@.str4196 = private unnamed_addr constant [5 x i8] c"void\00"
@.str4197 = private unnamed_addr constant [3 x i8] c"in\00"
@.str4198 = private unnamed_addr constant [4 x i8] c"out\00"
@.str4199 = private unnamed_addr constant [7 x i8] c"in_out\00"
@.str4200 = private unnamed_addr constant [5 x i8] c"back\00"
@.str4201 = private unnamed_addr constant [7 x i8] c"bounce\00"
@.str4202 = private unnamed_addr constant [8 x i8] c"elastic\00"
@.str4203 = private unnamed_addr constant [7 x i8] c"495616\00"
@.str4204 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
@.str4205 = private unnamed_addr constant [8 x i8] c", 35747\00"
@.str4206 = private unnamed_addr constant [9 x i8] c"add i32 \00"
@.str4207 = private unnamed_addr constant [8 x i8] c", 49152\00"
@.str4208 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
@.str4209 = private unnamed_addr constant [8 x i8] c", 53620\00"
@.str4210 = private unnamed_addr constant [9 x i8] c"add i32 \00"
@.str4211 = private unnamed_addr constant [8 x i8] c", 61440\00"
@.str4212 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
@.str4213 = private unnamed_addr constant [8 x i8] c", 62557\00"
@.str4214 = private unnamed_addr constant [9 x i8] c"add i32 \00"
@.str4215 = private unnamed_addr constant [8 x i8] c", 64512\00"
@.str4216 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
@.str4217 = private unnamed_addr constant [8 x i8] c", 59578\00"
@.str4218 = private unnamed_addr constant [11 x i8] c"select i1 \00"
@.str4219 = private unnamed_addr constant [7 x i8] c", i32 \00"
@.str4220 = private unnamed_addr constant [7 x i8] c", i32 \00"
@.str4221 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
@.str4222 = private unnamed_addr constant [8 x i8] c", 47663\00"
@.str4223 = private unnamed_addr constant [11 x i8] c"select i1 \00"
@.str4224 = private unnamed_addr constant [7 x i8] c", i32 \00"
@.str4225 = private unnamed_addr constant [7 x i8] c", i32 \00"
@.str4226 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
@.str4227 = private unnamed_addr constant [8 x i8] c", 23831\00"
@.str4228 = private unnamed_addr constant [11 x i8] c"select i1 \00"
@.str4229 = private unnamed_addr constant [7 x i8] c", i32 \00"
@.str4230 = private unnamed_addr constant [7 x i8] c", i32 \00"
@.str4231 = private unnamed_addr constant [17 x i8] c"sub i32 131072, \00"
@.str4232 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
@.str4233 = private unnamed_addr constant [4 x i8] c", 3\00"
@.str4234 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
@.str4235 = private unnamed_addr constant [4 x i8] c", 2\00"
@.str4236 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
@.str4237 = private unnamed_addr constant [3 x i8] c", \00"
@.str4238 = private unnamed_addr constant [7 x i8] c"177051\00"
@.str4239 = private unnamed_addr constant [7 x i8] c"111515\00"
@.str4240 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
@.str4241 = private unnamed_addr constant [3 x i8] c", \00"
@.str4242 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
@.str4243 = private unnamed_addr constant [5 x i8] c", 10\00"
@.str4244 = private unnamed_addr constant [12 x i8] c"sub i32 0, \00"
@.str4245 = private unnamed_addr constant [26 x i8] c"call i32 @fn_fx_exp2(i32 \00"
@.str4246 = private unnamed_addr constant [2 x i8] c")\00"
@.str4247 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
@.str4248 = private unnamed_addr constant [8 x i8] c", 49152\00"
@.str4249 = private unnamed_addr constant [7 x i8] c"137258\00"
@.str4250 = private unnamed_addr constant [25 x i8] c"call i32 @fn_fx_sin(i32 \00"
@.str4251 = private unnamed_addr constant [2 x i8] c")\00"
@.str4252 = private unnamed_addr constant [9 x i8] c"add i32 \00"
@.str4253 = private unnamed_addr constant [8 x i8] c", 65536\00"
@.str4254 = private unnamed_addr constant [3 x i8] c"in\00"
@.str4255 = private unnamed_addr constant [6 x i8] c"fixed\00"
@.str4256 = private unnamed_addr constant [4 x i8] c"out\00"
@.str4257 = private unnamed_addr constant [6 x i8] c"fixed\00"
@.str4258 = private unnamed_addr constant [7 x i8] c"in_out\00"
@.str4259 = private unnamed_addr constant [6 x i8] c"fixed\00"
@.str4260 = private unnamed_addr constant [5 x i8] c"back\00"
@.str4261 = private unnamed_addr constant [6 x i8] c"fixed\00"
@.str4262 = private unnamed_addr constant [8 x i8] c"elastic\00"
@.str4263 = private unnamed_addr constant [6 x i8] c"fixed\00"
@.str4264 = private unnamed_addr constant [6 x i8] c"fixed\00"
@.str4265 = private unnamed_addr constant [6 x i8] c"frame\00"
@.str4266 = private unnamed_addr constant [5 x i8] c"once\00"
@.str4267 = private unnamed_addr constant [9 x i8] c"pingpong\00"
@.str4268 = private unnamed_addr constant [9 x i8] c"finished\00"
@.str4269 = private unnamed_addr constant [9 x i8] c"duration\00"
@.str4270 = private unnamed_addr constant [7 x i8] c"cell_x\00"
@.str4271 = private unnamed_addr constant [7 x i8] c"cell_y\00"
@.str4272 = private unnamed_addr constant [10 x i8] c"sext i32 \00"
@.str4273 = private unnamed_addr constant [8 x i8] c" to i64\00"
@.str4274 = private unnamed_addr constant [10 x i8] c"sext i32 \00"
@.str4275 = private unnamed_addr constant [8 x i8] c" to i64\00"
@.str4276 = private unnamed_addr constant [9 x i8] c"mul i64 \00"
@.str4277 = private unnamed_addr constant [3 x i8] c", \00"
@.str4278 = private unnamed_addr constant [10 x i8] c"ashr i64 \00"
@.str4279 = private unnamed_addr constant [5 x i8] c", 16\00"
@.str4280 = private unnamed_addr constant [11 x i8] c"trunc i64 \00"
@.str4281 = private unnamed_addr constant [8 x i8] c" to i32\00"
@.str4282 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
@.str4283 = private unnamed_addr constant [4 x i8] c", 1\00"
@.str4284 = private unnamed_addr constant [11 x i8] c"select i1 \00"
@.str4285 = private unnamed_addr constant [14 x i8] c", i32 1, i32 \00"
@.str4286 = private unnamed_addr constant [6 x i8] c"frame\00"
@.str4287 = private unnamed_addr constant [10 x i8] c"srem i32 \00"
@.str4288 = private unnamed_addr constant [3 x i8] c", \00"
@.str4289 = private unnamed_addr constant [4 x i8] c"int\00"
@.str4290 = private unnamed_addr constant [5 x i8] c"once\00"
@.str4291 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
@.str4292 = private unnamed_addr constant [4 x i8] c", 1\00"
@.str4293 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
@.str4294 = private unnamed_addr constant [3 x i8] c", \00"
@.str4295 = private unnamed_addr constant [11 x i8] c"select i1 \00"
@.str4296 = private unnamed_addr constant [7 x i8] c", i32 \00"
@.str4297 = private unnamed_addr constant [7 x i8] c", i32 \00"
@.str4298 = private unnamed_addr constant [4 x i8] c"int\00"
@.str4299 = private unnamed_addr constant [9 x i8] c"pingpong\00"
@.str4300 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
@.str4301 = private unnamed_addr constant [4 x i8] c", 2\00"
@.str4302 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
@.str4303 = private unnamed_addr constant [4 x i8] c", 2\00"
@.str4304 = private unnamed_addr constant [10 x i8] c"srem i32 \00"
@.str4305 = private unnamed_addr constant [3 x i8] c", \00"
@.str4306 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
@.str4307 = private unnamed_addr constant [3 x i8] c", \00"
@.str4308 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
@.str4309 = private unnamed_addr constant [3 x i8] c", \00"
@.str4310 = private unnamed_addr constant [11 x i8] c"select i1 \00"
@.str4311 = private unnamed_addr constant [7 x i8] c", i32 \00"
@.str4312 = private unnamed_addr constant [7 x i8] c", i32 \00"
@.str4313 = private unnamed_addr constant [4 x i8] c"int\00"
@.str4314 = private unnamed_addr constant [9 x i8] c"finished\00"
@.str4315 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00"
@.str4316 = private unnamed_addr constant [3 x i8] c", \00"
@.str4317 = private unnamed_addr constant [9 x i8] c"zext i1 \00"
@.str4318 = private unnamed_addr constant [8 x i8] c" to i32\00"
@.str4319 = private unnamed_addr constant [5 x i8] c"bool\00"
@.str4320 = private unnamed_addr constant [9 x i8] c"duration\00"
@.str4321 = private unnamed_addr constant [9 x i8] c"shl i32 \00"
@.str4322 = private unnamed_addr constant [5 x i8] c", 16\00"
@.str4323 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00"
@.str4324 = private unnamed_addr constant [3 x i8] c", \00"
@.str4325 = private unnamed_addr constant [6 x i8] c"fixed\00"
@.str4326 = private unnamed_addr constant [7 x i8] c"cell_x\00"
@.str4327 = private unnamed_addr constant [10 x i8] c"srem i32 \00"
@.str4328 = private unnamed_addr constant [3 x i8] c", \00"
@.str4329 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
@.str4330 = private unnamed_addr constant [3 x i8] c", \00"
@.str4331 = private unnamed_addr constant [4 x i8] c"int\00"
@.str4332 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00"
@.str4333 = private unnamed_addr constant [3 x i8] c", \00"
@.str4334 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
@.str4335 = private unnamed_addr constant [3 x i8] c", \00"
@.str4336 = private unnamed_addr constant [4 x i8] c"int\00"
@.str4337 = private unnamed_addr constant [9 x i8] c"progress\00"
@.str4338 = private unnamed_addr constant [5 x i8] c"loop\00"
@.str4339 = private unnamed_addr constant [5 x i8] c"yoyo\00"
@.str4340 = private unnamed_addr constant [5 x i8] c"done\00"
@.str4341 = private unnamed_addr constant [5 x i8] c"ease\00"
@.str4342 = private unnamed_addr constant [7 x i8] c"number\00"
@.str4343 = private unnamed_addr constant [6 x i8] c"round\00"
@.str4344 = private unnamed_addr constant [6 x i8] c"point\00"
@.str4345 = private unnamed_addr constant [5 x i8] c"tint\00"
@.str4346 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00"
@.str4347 = private unnamed_addr constant [4 x i8] c", 0\00"
@.str4348 = private unnamed_addr constant [11 x i8] c"select i1 \00"
@.str4349 = private unnamed_addr constant [7 x i8] c", i32 \00"
@.str4350 = private unnamed_addr constant [12 x i8] c", i32 65536\00"
@.str4351 = private unnamed_addr constant [9 x i8] c"progress\00"
@.str4352 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00"
@.str4353 = private unnamed_addr constant [4 x i8] c", 0\00"
@.str4354 = private unnamed_addr constant [11 x i8] c"select i1 \00"
@.str4355 = private unnamed_addr constant [7 x i8] c", i32 \00"
@.str4356 = private unnamed_addr constant [12 x i8] c", i32 65536\00"
@.str4357 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
@.str4358 = private unnamed_addr constant [4 x i8] c", 0\00"
@.str4359 = private unnamed_addr constant [11 x i8] c"select i1 \00"
@.str4360 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00"
@.str4361 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00"
@.str4362 = private unnamed_addr constant [8 x i8] c", 65536\00"
@.str4363 = private unnamed_addr constant [11 x i8] c"select i1 \00"
@.str4364 = private unnamed_addr constant [18 x i8] c", i32 65536, i32 \00"
@.str4365 = private unnamed_addr constant [11 x i8] c"select i1 \00"
@.str4366 = private unnamed_addr constant [7 x i8] c", i32 \00"
@.str4367 = private unnamed_addr constant [12 x i8] c", i32 65536\00"
@.str4368 = private unnamed_addr constant [6 x i8] c"fixed\00"
@.str4369 = private unnamed_addr constant [5 x i8] c"loop\00"
@.str4370 = private unnamed_addr constant [9 x i8] c"and i32 \00"
@.str4371 = private unnamed_addr constant [8 x i8] c", 65535\00"
@.str4372 = private unnamed_addr constant [6 x i8] c"fixed\00"
@.str4373 = private unnamed_addr constant [5 x i8] c"yoyo\00"
@.str4374 = private unnamed_addr constant [10 x i8] c"srem i32 \00"
@.str4375 = private unnamed_addr constant [9 x i8] c", 131072\00"
@.str4376 = private unnamed_addr constant [17 x i8] c"sub i32 131072, \00"
@.str4377 = private unnamed_addr constant [14 x i8] c"icmp sle i32 \00"
@.str4378 = private unnamed_addr constant [8 x i8] c", 65536\00"
@.str4379 = private unnamed_addr constant [11 x i8] c"select i1 \00"
@.str4380 = private unnamed_addr constant [7 x i8] c", i32 \00"
@.str4381 = private unnamed_addr constant [7 x i8] c", i32 \00"
@.str4382 = private unnamed_addr constant [6 x i8] c"fixed\00"
@.str4383 = private unnamed_addr constant [5 x i8] c"done\00"
@.str4384 = private unnamed_addr constant [29 x i8] c"call i32 @fn_tween_done(i32 \00"
@.str4385 = private unnamed_addr constant [2 x i8] c")\00"
@.str4386 = private unnamed_addr constant [5 x i8] c"bool\00"
@.str4387 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00"
@.str4388 = private unnamed_addr constant [3 x i8] c", \00"
@.str4389 = private unnamed_addr constant [9 x i8] c"zext i1 \00"
@.str4390 = private unnamed_addr constant [8 x i8] c" to i32\00"
@.str4391 = private unnamed_addr constant [5 x i8] c"bool\00"
@.str4392 = private unnamed_addr constant [5 x i8] c"ease\00"
@.str4393 = private unnamed_addr constant [55 x i8] c"Tween.ease: the easing mode must be a literal int 0..6\00"
@.str4394 = private unnamed_addr constant [6 x i8] c"fixed\00"
@.str4395 = private unnamed_addr constant [7 x i8] c"number\00"
@.str4396 = private unnamed_addr constant [6 x i8] c"fixed\00"
@.str4397 = private unnamed_addr constant [6 x i8] c"round\00"
@.str4398 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
@.str4399 = private unnamed_addr constant [3 x i8] c", \00"
@.str4400 = private unnamed_addr constant [10 x i8] c"sext i32 \00"
@.str4401 = private unnamed_addr constant [8 x i8] c" to i64\00"
@.str4402 = private unnamed_addr constant [10 x i8] c"sext i32 \00"
@.str4403 = private unnamed_addr constant [8 x i8] c" to i64\00"
@.str4404 = private unnamed_addr constant [9 x i8] c"mul i64 \00"
@.str4405 = private unnamed_addr constant [3 x i8] c", \00"
@.str4406 = private unnamed_addr constant [9 x i8] c"add i64 \00"
@.str4407 = private unnamed_addr constant [8 x i8] c", 32768\00"
@.str4408 = private unnamed_addr constant [10 x i8] c"ashr i64 \00"
@.str4409 = private unnamed_addr constant [5 x i8] c", 16\00"
@.str4410 = private unnamed_addr constant [11 x i8] c"trunc i64 \00"
@.str4411 = private unnamed_addr constant [8 x i8] c" to i32\00"
@.str4412 = private unnamed_addr constant [9 x i8] c"add i32 \00"
@.str4413 = private unnamed_addr constant [3 x i8] c", \00"
@.str4414 = private unnamed_addr constant [4 x i8] c"int\00"
@.str4415 = private unnamed_addr constant [6 x i8] c"point\00"
@.str4416 = private unnamed_addr constant [7 x i8] c"Vector\00"
@.str4417 = private unnamed_addr constant [3 x i8] c"16\00"
@.str4418 = private unnamed_addr constant [3 x i8] c"16\00"
@.str4419 = private unnamed_addr constant [2 x i8] c"8\00"
@.str4420 = private unnamed_addr constant [2 x i8] c"8\00"
@.str4421 = private unnamed_addr constant [2 x i8] c"0\00"
@.str4422 = private unnamed_addr constant [2 x i8] c"0\00"
@.str4423 = private unnamed_addr constant [4 x i8] c"int\00"
@.str4424 = private unnamed_addr constant [6 x i8] c"rects\00"
@.str4425 = private unnamed_addr constant [11 x i8] c"point_rect\00"
@.str4426 = private unnamed_addr constant [8 x i8] c"circles\00"
@.str4427 = private unnamed_addr constant [12 x i8] c"rect_circle\00"
@.str4428 = private unnamed_addr constant [10 x i8] c"sext i32 \00"
@.str4429 = private unnamed_addr constant [8 x i8] c" to i64\00"
@.str4430 = private unnamed_addr constant [10 x i8] c"sext i32 \00"
@.str4431 = private unnamed_addr constant [8 x i8] c" to i64\00"
@.str4432 = private unnamed_addr constant [9 x i8] c"mul i64 \00"
@.str4433 = private unnamed_addr constant [3 x i8] c", \00"
@.str4434 = private unnamed_addr constant [9 x i8] c"mul i64 \00"
@.str4435 = private unnamed_addr constant [3 x i8] c", \00"
@.str4436 = private unnamed_addr constant [9 x i8] c"add i64 \00"
@.str4437 = private unnamed_addr constant [3 x i8] c", \00"
@.str4438 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
@.str4439 = private unnamed_addr constant [3 x i8] c", \00"
@.str4440 = private unnamed_addr constant [11 x i8] c"select i1 \00"
@.str4441 = private unnamed_addr constant [7 x i8] c", i32 \00"
@.str4442 = private unnamed_addr constant [7 x i8] c", i32 \00"
@.str4443 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00"
@.str4444 = private unnamed_addr constant [3 x i8] c", \00"
@.str4445 = private unnamed_addr constant [11 x i8] c"select i1 \00"
@.str4446 = private unnamed_addr constant [7 x i8] c", i32 \00"
@.str4447 = private unnamed_addr constant [7 x i8] c", i32 \00"
@.str4448 = private unnamed_addr constant [6 x i8] c"rects\00"
@.str4449 = private unnamed_addr constant [9 x i8] c"add i32 \00"
@.str4450 = private unnamed_addr constant [3 x i8] c", \00"
@.str4451 = private unnamed_addr constant [9 x i8] c"add i32 \00"
@.str4452 = private unnamed_addr constant [3 x i8] c", \00"
@.str4453 = private unnamed_addr constant [9 x i8] c"add i32 \00"
@.str4454 = private unnamed_addr constant [3 x i8] c", \00"
@.str4455 = private unnamed_addr constant [9 x i8] c"add i32 \00"
@.str4456 = private unnamed_addr constant [3 x i8] c", \00"
@.str4457 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
@.str4458 = private unnamed_addr constant [3 x i8] c", \00"
@.str4459 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
@.str4460 = private unnamed_addr constant [3 x i8] c", \00"
@.str4461 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
@.str4462 = private unnamed_addr constant [3 x i8] c", \00"
@.str4463 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
@.str4464 = private unnamed_addr constant [3 x i8] c", \00"
@.str4465 = private unnamed_addr constant [8 x i8] c"and i1 \00"
@.str4466 = private unnamed_addr constant [3 x i8] c", \00"
@.str4467 = private unnamed_addr constant [8 x i8] c"and i1 \00"
@.str4468 = private unnamed_addr constant [3 x i8] c", \00"
@.str4469 = private unnamed_addr constant [8 x i8] c"and i1 \00"
@.str4470 = private unnamed_addr constant [3 x i8] c", \00"
@.str4471 = private unnamed_addr constant [9 x i8] c"zext i1 \00"
@.str4472 = private unnamed_addr constant [8 x i8] c" to i32\00"
@.str4473 = private unnamed_addr constant [5 x i8] c"bool\00"
@.str4474 = private unnamed_addr constant [11 x i8] c"point_rect\00"
@.str4475 = private unnamed_addr constant [9 x i8] c"add i32 \00"
@.str4476 = private unnamed_addr constant [3 x i8] c", \00"
@.str4477 = private unnamed_addr constant [9 x i8] c"add i32 \00"
@.str4478 = private unnamed_addr constant [3 x i8] c", \00"
@.str4479 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00"
@.str4480 = private unnamed_addr constant [3 x i8] c", \00"
@.str4481 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
@.str4482 = private unnamed_addr constant [3 x i8] c", \00"
@.str4483 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00"
@.str4484 = private unnamed_addr constant [3 x i8] c", \00"
@.str4485 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
@.str4486 = private unnamed_addr constant [3 x i8] c", \00"
@.str4487 = private unnamed_addr constant [8 x i8] c"and i1 \00"
@.str4488 = private unnamed_addr constant [3 x i8] c", \00"
@.str4489 = private unnamed_addr constant [8 x i8] c"and i1 \00"
@.str4490 = private unnamed_addr constant [3 x i8] c", \00"
@.str4491 = private unnamed_addr constant [8 x i8] c"and i1 \00"
@.str4492 = private unnamed_addr constant [3 x i8] c", \00"
@.str4493 = private unnamed_addr constant [9 x i8] c"zext i1 \00"
@.str4494 = private unnamed_addr constant [8 x i8] c" to i32\00"
@.str4495 = private unnamed_addr constant [5 x i8] c"bool\00"
@.str4496 = private unnamed_addr constant [8 x i8] c"circles\00"
@.str4497 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
@.str4498 = private unnamed_addr constant [3 x i8] c", \00"
@.str4499 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
@.str4500 = private unnamed_addr constant [3 x i8] c", \00"
@.str4501 = private unnamed_addr constant [9 x i8] c"add i32 \00"
@.str4502 = private unnamed_addr constant [3 x i8] c", \00"
@.str4503 = private unnamed_addr constant [10 x i8] c"sext i32 \00"
@.str4504 = private unnamed_addr constant [8 x i8] c" to i64\00"
@.str4505 = private unnamed_addr constant [9 x i8] c"mul i64 \00"
@.str4506 = private unnamed_addr constant [3 x i8] c", \00"
@.str4507 = private unnamed_addr constant [14 x i8] c"icmp sle i64 \00"
@.str4508 = private unnamed_addr constant [3 x i8] c", \00"
@.str4509 = private unnamed_addr constant [9 x i8] c"zext i1 \00"
@.str4510 = private unnamed_addr constant [8 x i8] c" to i32\00"
@.str4511 = private unnamed_addr constant [5 x i8] c"bool\00"
@.str4512 = private unnamed_addr constant [9 x i8] c"add i32 \00"
@.str4513 = private unnamed_addr constant [3 x i8] c", \00"
@.str4514 = private unnamed_addr constant [9 x i8] c"add i32 \00"
@.str4515 = private unnamed_addr constant [3 x i8] c", \00"
@.str4516 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
@.str4517 = private unnamed_addr constant [3 x i8] c", \00"
@.str4518 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
@.str4519 = private unnamed_addr constant [3 x i8] c", \00"
@.str4520 = private unnamed_addr constant [10 x i8] c"sext i32 \00"
@.str4521 = private unnamed_addr constant [8 x i8] c" to i64\00"
@.str4522 = private unnamed_addr constant [9 x i8] c"mul i64 \00"
@.str4523 = private unnamed_addr constant [3 x i8] c", \00"
@.str4524 = private unnamed_addr constant [14 x i8] c"icmp sle i64 \00"
@.str4525 = private unnamed_addr constant [3 x i8] c", \00"
@.str4526 = private unnamed_addr constant [9 x i8] c"zext i1 \00"
@.str4527 = private unnamed_addr constant [8 x i8] c" to i32\00"
@.str4528 = private unnamed_addr constant [5 x i8] c"bool\00"
@.str4529 = private unnamed_addr constant [6 x i8] c"bytes\00"
@.str4530 = private unnamed_addr constant [6 x i8] c"words\00"
@.str4531 = private unnamed_addr constant [5 x i8] c"copy\00"
@.str4532 = private unnamed_addr constant [5 x i8] c"fill\00"
@.str4533 = private unnamed_addr constant [5 x i8] c"peek\00"
@.str4534 = private unnamed_addr constant [5 x i8] c"poke\00"
@.str4535 = private unnamed_addr constant [6 x i8] c"bytes\00"
@.str4536 = private unnamed_addr constant [10 x i8] c"zext i32 \00"
@.str4537 = private unnamed_addr constant [8 x i8] c" to i64\00"
@.str4538 = private unnamed_addr constant [22 x i8] c"call ptr @malloc(i64 \00"
@.str4539 = private unnamed_addr constant [2 x i8] c")\00"
@.str4540 = private unnamed_addr constant [8 x i8] c"pointer\00"
@.str4541 = private unnamed_addr constant [6 x i8] c"words\00"
@.str4542 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
@.str4543 = private unnamed_addr constant [4 x i8] c", 4\00"
@.str4544 = private unnamed_addr constant [10 x i8] c"zext i32 \00"
@.str4545 = private unnamed_addr constant [8 x i8] c" to i64\00"
@.str4546 = private unnamed_addr constant [22 x i8] c"call ptr @malloc(i64 \00"
@.str4547 = private unnamed_addr constant [2 x i8] c")\00"
@.str4548 = private unnamed_addr constant [6 x i8] c"words\00"
@.str4549 = private unnamed_addr constant [5 x i8] c"copy\00"
@.str4550 = private unnamed_addr constant [10 x i8] c"zext i32 \00"
@.str4551 = private unnamed_addr constant [8 x i8] c" to i64\00"
@.str4552 = private unnamed_addr constant [24 x i8] c" call ptr @memcpy(ptr \00"
@.str4553 = private unnamed_addr constant [7 x i8] c", ptr \00"
@.str4554 = private unnamed_addr constant [7 x i8] c", i64 \00"
@.str4555 = private unnamed_addr constant [3 x i8] c")\0A\00"
@.str4556 = private unnamed_addr constant [2 x i8] c"0\00"
@.str4557 = private unnamed_addr constant [5 x i8] c"void\00"
@.str4558 = private unnamed_addr constant [5 x i8] c"fill\00"
@.str4559 = private unnamed_addr constant [10 x i8] c"zext i32 \00"
@.str4560 = private unnamed_addr constant [8 x i8] c" to i64\00"
@.str4561 = private unnamed_addr constant [24 x i8] c" call ptr @memset(ptr \00"
@.str4562 = private unnamed_addr constant [7 x i8] c", i32 \00"
@.str4563 = private unnamed_addr constant [7 x i8] c", i64 \00"
@.str4564 = private unnamed_addr constant [3 x i8] c")\0A\00"
@.str4565 = private unnamed_addr constant [2 x i8] c"0\00"
@.str4566 = private unnamed_addr constant [5 x i8] c"void\00"
@.str4567 = private unnamed_addr constant [5 x i8] c"peek\00"
@.str4568 = private unnamed_addr constant [32 x i8] c"getelementptr inbounds i8, ptr \00"
@.str4569 = private unnamed_addr constant [7 x i8] c", i32 \00"
@.str4570 = private unnamed_addr constant [14 x i8] c"load i8, ptr \00"
@.str4571 = private unnamed_addr constant [9 x i8] c"zext i8 \00"
@.str4572 = private unnamed_addr constant [8 x i8] c" to i32\00"
@.str4573 = private unnamed_addr constant [4 x i8] c"int\00"
@.str4574 = private unnamed_addr constant [32 x i8] c"getelementptr inbounds i8, ptr \00"
@.str4575 = private unnamed_addr constant [7 x i8] c", i32 \00"
@.str4576 = private unnamed_addr constant [11 x i8] c"trunc i32 \00"
@.str4577 = private unnamed_addr constant [7 x i8] c" to i8\00"
@.str4578 = private unnamed_addr constant [12 x i8] c" store i8 \00"
@.str4579 = private unnamed_addr constant [7 x i8] c", ptr \00"
@.str4580 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str4581 = private unnamed_addr constant [2 x i8] c"0\00"
@.str4582 = private unnamed_addr constant [5 x i8] c"void\00"
@.str4583 = private unnamed_addr constant [6 x i8] c"frame\00"
@.str4584 = private unnamed_addr constant [6 x i8] c"delta\00"
@.str4585 = private unnamed_addr constant [8 x i8] c"elapsed\00"
@.str4586 = private unnamed_addr constant [4 x i8] c"now\00"
@.str4587 = private unnamed_addr constant [6 x i8] c"since\00"
@.str4588 = private unnamed_addr constant [6 x i8] c"frame\00"
@.str4589 = private unnamed_addr constant [23 x i8] c"load i32, ptr @L_frame\00"
@.str4590 = private unnamed_addr constant [4 x i8] c"int\00"
@.str4591 = private unnamed_addr constant [6 x i8] c"delta\00"
@.str4592 = private unnamed_addr constant [5 x i8] c"1092\00"
@.str4593 = private unnamed_addr constant [6 x i8] c"fixed\00"
@.str4594 = private unnamed_addr constant [8 x i8] c"elapsed\00"
@.str4595 = private unnamed_addr constant [23 x i8] c"load i32, ptr @L_frame\00"
@.str4596 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
@.str4597 = private unnamed_addr constant [7 x i8] c", 1092\00"
@.str4598 = private unnamed_addr constant [6 x i8] c"fixed\00"
@.str4599 = private unnamed_addr constant [6 x i8] c"since\00"
@.str4600 = private unnamed_addr constant [25 x i8] c"call i64 @time(ptr null)\00"
@.str4601 = private unnamed_addr constant [11 x i8] c"trunc i64 \00"
@.str4602 = private unnamed_addr constant [8 x i8] c" to i32\00"
@.str4603 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
@.str4604 = private unnamed_addr constant [3 x i8] c", \00"
@.str4605 = private unnamed_addr constant [4 x i8] c"int\00"
@.str4606 = private unnamed_addr constant [25 x i8] c"call i64 @time(ptr null)\00"
@.str4607 = private unnamed_addr constant [11 x i8] c"trunc i64 \00"
@.str4608 = private unnamed_addr constant [8 x i8] c" to i32\00"
@.str4609 = private unnamed_addr constant [4 x i8] c"int\00"
@.str4610 = private unnamed_addr constant [8 x i8] c"seconds\00"
@.str4611 = private unnamed_addr constant [8 x i8] c"minutes\00"
@.str4612 = private unnamed_addr constant [6 x i8] c"hours\00"
@.str4613 = private unnamed_addr constant [5 x i8] c"days\00"
@.str4614 = private unnamed_addr constant [11 x i8] c"as_seconds\00"
@.str4615 = private unnamed_addr constant [11 x i8] c"as_minutes\00"
@.str4616 = private unnamed_addr constant [9 x i8] c"as_hours\00"
@.str4617 = private unnamed_addr constant [8 x i8] c"as_days\00"
@.str4618 = private unnamed_addr constant [8 x i8] c"seconds\00"
@.str4619 = private unnamed_addr constant [4 x i8] c"int\00"
@.str4620 = private unnamed_addr constant [8 x i8] c"minutes\00"
@.str4621 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
@.str4622 = private unnamed_addr constant [5 x i8] c", 60\00"
@.str4623 = private unnamed_addr constant [4 x i8] c"int\00"
@.str4624 = private unnamed_addr constant [6 x i8] c"hours\00"
@.str4625 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
@.str4626 = private unnamed_addr constant [7 x i8] c", 3600\00"
@.str4627 = private unnamed_addr constant [4 x i8] c"int\00"
@.str4628 = private unnamed_addr constant [5 x i8] c"days\00"
@.str4629 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
@.str4630 = private unnamed_addr constant [8 x i8] c", 86400\00"
@.str4631 = private unnamed_addr constant [4 x i8] c"int\00"
@.str4632 = private unnamed_addr constant [11 x i8] c"as_seconds\00"
@.str4633 = private unnamed_addr constant [4 x i8] c"int\00"
@.str4634 = private unnamed_addr constant [11 x i8] c"as_minutes\00"
@.str4635 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00"
@.str4636 = private unnamed_addr constant [5 x i8] c", 60\00"
@.str4637 = private unnamed_addr constant [4 x i8] c"int\00"
@.str4638 = private unnamed_addr constant [9 x i8] c"as_hours\00"
@.str4639 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00"
@.str4640 = private unnamed_addr constant [7 x i8] c", 3600\00"
@.str4641 = private unnamed_addr constant [4 x i8] c"int\00"
@.str4642 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00"
@.str4643 = private unnamed_addr constant [8 x i8] c", 86400\00"
@.str4644 = private unnamed_addr constant [4 x i8] c"int\00"
@.str4645 = private unnamed_addr constant [4 x i8] c"i32\00"
@.str4646 = private unnamed_addr constant [4 x i8] c"i32\00"
@.str4647 = private unnamed_addr constant [4 x i8] c"i32\00"
@.str4648 = private unnamed_addr constant [37 x i8] c" call void @fn_civil_from_days(i32 \00"
@.str4649 = private unnamed_addr constant [7 x i8] c", ptr \00"
@.str4650 = private unnamed_addr constant [7 x i8] c", ptr \00"
@.str4651 = private unnamed_addr constant [7 x i8] c", ptr \00"
@.str4652 = private unnamed_addr constant [3 x i8] c")\0A\00"
@.str4653 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
@.str4654 = private unnamed_addr constant [4 x i8] c"new\00"
@.str4655 = private unnamed_addr constant [5 x i8] c"year\00"
@.str4656 = private unnamed_addr constant [6 x i8] c"month\00"
@.str4657 = private unnamed_addr constant [4 x i8] c"day\00"
@.str4658 = private unnamed_addr constant [8 x i8] c"weekday\00"
@.str4659 = private unnamed_addr constant [8 x i8] c"is_leap\00"
@.str4660 = private unnamed_addr constant [14 x i8] c"days_in_month\00"
@.str4661 = private unnamed_addr constant [9 x i8] c"to_epoch\00"
@.str4662 = private unnamed_addr constant [9 x i8] c"add_days\00"
@.str4663 = private unnamed_addr constant [10 x i8] c"diff_days\00"
@.str4664 = private unnamed_addr constant [4 x i8] c"new\00"
@.str4665 = private unnamed_addr constant [34 x i8] c"call i32 @fn_days_from_civil(i32 \00"
@.str4666 = private unnamed_addr constant [7 x i8] c", i32 \00"
@.str4667 = private unnamed_addr constant [7 x i8] c", i32 \00"
@.str4668 = private unnamed_addr constant [2 x i8] c")\00"
@.str4669 = private unnamed_addr constant [4 x i8] c"int\00"
@.str4670 = private unnamed_addr constant [5 x i8] c"year\00"
@.str4671 = private unnamed_addr constant [4 x i8] c"int\00"
@.str4672 = private unnamed_addr constant [6 x i8] c"month\00"
@.str4673 = private unnamed_addr constant [4 x i8] c"int\00"
@.str4674 = private unnamed_addr constant [4 x i8] c"day\00"
@.str4675 = private unnamed_addr constant [4 x i8] c"int\00"
@.str4676 = private unnamed_addr constant [8 x i8] c"weekday\00"
@.str4677 = private unnamed_addr constant [9 x i8] c"add i32 \00"
@.str4678 = private unnamed_addr constant [4 x i8] c", 4\00"
@.str4679 = private unnamed_addr constant [10 x i8] c"srem i32 \00"
@.str4680 = private unnamed_addr constant [4 x i8] c", 7\00"
@.str4681 = private unnamed_addr constant [9 x i8] c"add i32 \00"
@.str4682 = private unnamed_addr constant [4 x i8] c", 7\00"
@.str4683 = private unnamed_addr constant [10 x i8] c"srem i32 \00"
@.str4684 = private unnamed_addr constant [4 x i8] c", 7\00"
@.str4685 = private unnamed_addr constant [4 x i8] c"int\00"
@.str4686 = private unnamed_addr constant [8 x i8] c"is_leap\00"
@.str4687 = private unnamed_addr constant [10 x i8] c"srem i32 \00"
@.str4688 = private unnamed_addr constant [4 x i8] c", 4\00"
@.str4689 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00"
@.str4690 = private unnamed_addr constant [4 x i8] c", 0\00"
@.str4691 = private unnamed_addr constant [10 x i8] c"srem i32 \00"
@.str4692 = private unnamed_addr constant [6 x i8] c", 100\00"
@.str4693 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00"
@.str4694 = private unnamed_addr constant [4 x i8] c", 0\00"
@.str4695 = private unnamed_addr constant [10 x i8] c"srem i32 \00"
@.str4696 = private unnamed_addr constant [6 x i8] c", 400\00"
@.str4697 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00"
@.str4698 = private unnamed_addr constant [4 x i8] c", 0\00"
@.str4699 = private unnamed_addr constant [8 x i8] c"and i1 \00"
@.str4700 = private unnamed_addr constant [3 x i8] c", \00"
@.str4701 = private unnamed_addr constant [7 x i8] c"or i1 \00"
@.str4702 = private unnamed_addr constant [3 x i8] c", \00"
@.str4703 = private unnamed_addr constant [9 x i8] c"zext i1 \00"
@.str4704 = private unnamed_addr constant [8 x i8] c" to i32\00"
@.str4705 = private unnamed_addr constant [5 x i8] c"bool\00"
@.str4706 = private unnamed_addr constant [14 x i8] c"days_in_month\00"
@.str4707 = private unnamed_addr constant [34 x i8] c"call i32 @fn_days_from_civil(i32 \00"
@.str4708 = private unnamed_addr constant [7 x i8] c", i32 \00"
@.str4709 = private unnamed_addr constant [9 x i8] c", i32 1)\00"
@.str4710 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00"
@.str4711 = private unnamed_addr constant [5 x i8] c", 12\00"
@.str4712 = private unnamed_addr constant [9 x i8] c"add i32 \00"
@.str4713 = private unnamed_addr constant [4 x i8] c", 1\00"
@.str4714 = private unnamed_addr constant [11 x i8] c"select i1 \00"
@.str4715 = private unnamed_addr constant [7 x i8] c", i32 \00"
@.str4716 = private unnamed_addr constant [7 x i8] c", i32 \00"
@.str4717 = private unnamed_addr constant [9 x i8] c"add i32 \00"
@.str4718 = private unnamed_addr constant [4 x i8] c", 1\00"
@.str4719 = private unnamed_addr constant [11 x i8] c"select i1 \00"
@.str4720 = private unnamed_addr constant [14 x i8] c", i32 1, i32 \00"
@.str4721 = private unnamed_addr constant [34 x i8] c"call i32 @fn_days_from_civil(i32 \00"
@.str4722 = private unnamed_addr constant [7 x i8] c", i32 \00"
@.str4723 = private unnamed_addr constant [9 x i8] c", i32 1)\00"
@.str4724 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
@.str4725 = private unnamed_addr constant [3 x i8] c", \00"
@.str4726 = private unnamed_addr constant [4 x i8] c"int\00"
@.str4727 = private unnamed_addr constant [9 x i8] c"to_epoch\00"
@.str4728 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
@.str4729 = private unnamed_addr constant [8 x i8] c", 86400\00"
@.str4730 = private unnamed_addr constant [4 x i8] c"int\00"
@.str4731 = private unnamed_addr constant [9 x i8] c"add_days\00"
@.str4732 = private unnamed_addr constant [9 x i8] c"add i32 \00"
@.str4733 = private unnamed_addr constant [3 x i8] c", \00"
@.str4734 = private unnamed_addr constant [4 x i8] c"int\00"
@.str4735 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
@.str4736 = private unnamed_addr constant [3 x i8] c", \00"
@.str4737 = private unnamed_addr constant [4 x i8] c"int\00"
@.str4738 = private unnamed_addr constant [10 x i8] c"srem i32 \00"
@.str4739 = private unnamed_addr constant [8 x i8] c", 86400\00"
@.str4740 = private unnamed_addr constant [9 x i8] c"add i32 \00"
@.str4741 = private unnamed_addr constant [8 x i8] c", 86400\00"
@.str4742 = private unnamed_addr constant [10 x i8] c"srem i32 \00"
@.str4743 = private unnamed_addr constant [8 x i8] c", 86400\00"
@.str4744 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
@.str4745 = private unnamed_addr constant [3 x i8] c", \00"
@.str4746 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00"
@.str4747 = private unnamed_addr constant [8 x i8] c", 86400\00"
@.str4748 = private unnamed_addr constant [5 x i8] c"from\00"
@.str4749 = private unnamed_addr constant [5 x i8] c"date\00"
@.str4750 = private unnamed_addr constant [4 x i8] c"add\00"
@.str4751 = private unnamed_addr constant [5 x i8] c"year\00"
@.str4752 = private unnamed_addr constant [6 x i8] c"month\00"
@.str4753 = private unnamed_addr constant [4 x i8] c"day\00"
@.str4754 = private unnamed_addr constant [8 x i8] c"weekday\00"
@.str4755 = private unnamed_addr constant [5 x i8] c"hour\00"
@.str4756 = private unnamed_addr constant [7 x i8] c"minute\00"
@.str4757 = private unnamed_addr constant [7 x i8] c"second\00"
@.str4758 = private unnamed_addr constant [7 x i8] c"format\00"
@.str4759 = private unnamed_addr constant [6 x i8] c"parse\00"
@.str4760 = private unnamed_addr constant [29 x i8] c"call ptr @fn_str_concat(ptr \00"
@.str4761 = private unnamed_addr constant [7 x i8] c", ptr \00"
@.str4762 = private unnamed_addr constant [2 x i8] c")\00"
@.str4763 = private unnamed_addr constant [47 x i8] c"DateTime.format needs a string-literal pattern\00"
@.str4764 = private unnamed_addr constant [4 x i8] c"i32\00"
@.str4765 = private unnamed_addr constant [4 x i8] c"i32\00"
@.str4766 = private unnamed_addr constant [4 x i8] c"i32\00"
@.str4767 = private unnamed_addr constant [37 x i8] c" call void @fn_civil_from_days(i32 \00"
@.str4768 = private unnamed_addr constant [7 x i8] c", ptr \00"
@.str4769 = private unnamed_addr constant [7 x i8] c", ptr \00"
@.str4770 = private unnamed_addr constant [7 x i8] c", ptr \00"
@.str4771 = private unnamed_addr constant [3 x i8] c")\0A\00"
@.str4772 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
@.str4773 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
@.str4774 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
@.str4775 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00"
@.str4776 = private unnamed_addr constant [7 x i8] c", 3600\00"
@.str4777 = private unnamed_addr constant [10 x i8] c"srem i32 \00"
@.str4778 = private unnamed_addr constant [7 x i8] c", 3600\00"
@.str4779 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00"
@.str4780 = private unnamed_addr constant [5 x i8] c", 60\00"
@.str4781 = private unnamed_addr constant [10 x i8] c"srem i32 \00"
@.str4782 = private unnamed_addr constant [5 x i8] c", 60\00"
@.str4783 = private unnamed_addr constant [10 x i8] c"srem i32 \00"
@.str4784 = private unnamed_addr constant [6 x i8] c", 100\00"
@.str4785 = private unnamed_addr constant [1 x i8] c"\00"
@.str4786 = private unnamed_addr constant [5 x i8] c"YYYY\00"
@.str4787 = private unnamed_addr constant [3 x i8] c"YY\00"
@.str4788 = private unnamed_addr constant [3 x i8] c"MM\00"
@.str4789 = private unnamed_addr constant [3 x i8] c"DD\00"
@.str4790 = private unnamed_addr constant [3 x i8] c"HH\00"
@.str4791 = private unnamed_addr constant [3 x i8] c"mm\00"
@.str4792 = private unnamed_addr constant [3 x i8] c"ss\00"
@.str4793 = private unnamed_addr constant [26 x i8] c"call ptr @fn_dt_pad0(i32 \00"
@.str4794 = private unnamed_addr constant [7 x i8] c", i32 \00"
@.str4795 = private unnamed_addr constant [2 x i8] c")\00"
@.str4796 = private unnamed_addr constant [7 x i8] c"string\00"
@.str4797 = private unnamed_addr constant [46 x i8] c"DateTime.parse needs a string-literal pattern\00"
@.str4798 = private unnamed_addr constant [4 x i8] c"i32\00"
@.str4799 = private unnamed_addr constant [4 x i8] c"i32\00"
@.str4800 = private unnamed_addr constant [2 x i8] c"0\00"
@.str4801 = private unnamed_addr constant [4 x i8] c"i32\00"
@.str4802 = private unnamed_addr constant [4 x i8] c"i32\00"
@.str4803 = private unnamed_addr constant [5 x i8] c"1970\00"
@.str4804 = private unnamed_addr constant [4 x i8] c"i32\00"
@.str4805 = private unnamed_addr constant [4 x i8] c"i32\00"
@.str4806 = private unnamed_addr constant [2 x i8] c"1\00"
@.str4807 = private unnamed_addr constant [4 x i8] c"i32\00"
@.str4808 = private unnamed_addr constant [4 x i8] c"i32\00"
@.str4809 = private unnamed_addr constant [2 x i8] c"1\00"
@.str4810 = private unnamed_addr constant [4 x i8] c"i32\00"
@.str4811 = private unnamed_addr constant [4 x i8] c"i32\00"
@.str4812 = private unnamed_addr constant [2 x i8] c"0\00"
@.str4813 = private unnamed_addr constant [4 x i8] c"i32\00"
@.str4814 = private unnamed_addr constant [4 x i8] c"i32\00"
@.str4815 = private unnamed_addr constant [2 x i8] c"0\00"
@.str4816 = private unnamed_addr constant [4 x i8] c"i32\00"
@.str4817 = private unnamed_addr constant [4 x i8] c"i32\00"
@.str4818 = private unnamed_addr constant [2 x i8] c"0\00"
@.str4819 = private unnamed_addr constant [5 x i8] c"YYYY\00"
@.str4820 = private unnamed_addr constant [3 x i8] c"MM\00"
@.str4821 = private unnamed_addr constant [3 x i8] c"DD\00"
@.str4822 = private unnamed_addr constant [3 x i8] c"HH\00"
@.str4823 = private unnamed_addr constant [3 x i8] c"mm\00"
@.str4824 = private unnamed_addr constant [3 x i8] c"ss\00"
@.str4825 = private unnamed_addr constant [24 x i8] c"call i32 @fn_dt_rd(ptr \00"
@.str4826 = private unnamed_addr constant [7 x i8] c", i32 \00"
@.str4827 = private unnamed_addr constant [7 x i8] c", i32 \00"
@.str4828 = private unnamed_addr constant [7 x i8] c", ptr \00"
@.str4829 = private unnamed_addr constant [2 x i8] c")\00"
@.str4830 = private unnamed_addr constant [4 x i8] c"i32\00"
@.str4831 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
@.str4832 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
@.str4833 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
@.str4834 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
@.str4835 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
@.str4836 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
@.str4837 = private unnamed_addr constant [34 x i8] c"call i32 @fn_days_from_civil(i32 \00"
@.str4838 = private unnamed_addr constant [7 x i8] c", i32 \00"
@.str4839 = private unnamed_addr constant [7 x i8] c", i32 \00"
@.str4840 = private unnamed_addr constant [2 x i8] c")\00"
@.str4841 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
@.str4842 = private unnamed_addr constant [8 x i8] c", 86400\00"
@.str4843 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
@.str4844 = private unnamed_addr constant [7 x i8] c", 3600\00"
@.str4845 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
@.str4846 = private unnamed_addr constant [5 x i8] c", 60\00"
@.str4847 = private unnamed_addr constant [9 x i8] c"add i32 \00"
@.str4848 = private unnamed_addr constant [3 x i8] c", \00"
@.str4849 = private unnamed_addr constant [9 x i8] c"add i32 \00"
@.str4850 = private unnamed_addr constant [3 x i8] c", \00"
@.str4851 = private unnamed_addr constant [9 x i8] c"add i32 \00"
@.str4852 = private unnamed_addr constant [3 x i8] c", \00"
@.str4853 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
@.str4854 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00"
@.str4855 = private unnamed_addr constant [4 x i8] c", 0\00"
@.str4856 = private unnamed_addr constant [11 x i8] c"select i1 \00"
@.str4857 = private unnamed_addr constant [15 x i8] c", i32 -1, i32 \00"
@.str4858 = private unnamed_addr constant [4 x i8] c"int\00"
@.str4859 = private unnamed_addr constant [7 x i8] c"format\00"
@.str4860 = private unnamed_addr constant [6 x i8] c"parse\00"
@.str4861 = private unnamed_addr constant [5 x i8] c"from\00"
@.str4862 = private unnamed_addr constant [34 x i8] c"call i32 @fn_days_from_civil(i32 \00"
@.str4863 = private unnamed_addr constant [7 x i8] c", i32 \00"
@.str4864 = private unnamed_addr constant [7 x i8] c", i32 \00"
@.str4865 = private unnamed_addr constant [2 x i8] c")\00"
@.str4866 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
@.str4867 = private unnamed_addr constant [8 x i8] c", 86400\00"
@.str4868 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
@.str4869 = private unnamed_addr constant [7 x i8] c", 3600\00"
@.str4870 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
@.str4871 = private unnamed_addr constant [5 x i8] c", 60\00"
@.str4872 = private unnamed_addr constant [9 x i8] c"add i32 \00"
@.str4873 = private unnamed_addr constant [3 x i8] c", \00"
@.str4874 = private unnamed_addr constant [9 x i8] c"add i32 \00"
@.str4875 = private unnamed_addr constant [3 x i8] c", \00"
@.str4876 = private unnamed_addr constant [9 x i8] c"add i32 \00"
@.str4877 = private unnamed_addr constant [3 x i8] c", \00"
@.str4878 = private unnamed_addr constant [4 x i8] c"int\00"
@.str4879 = private unnamed_addr constant [5 x i8] c"date\00"
@.str4880 = private unnamed_addr constant [4 x i8] c"int\00"
@.str4881 = private unnamed_addr constant [4 x i8] c"add\00"
@.str4882 = private unnamed_addr constant [9 x i8] c"add i32 \00"
@.str4883 = private unnamed_addr constant [3 x i8] c", \00"
@.str4884 = private unnamed_addr constant [4 x i8] c"int\00"
@.str4885 = private unnamed_addr constant [5 x i8] c"year\00"
@.str4886 = private unnamed_addr constant [4 x i8] c"int\00"
@.str4887 = private unnamed_addr constant [6 x i8] c"month\00"
@.str4888 = private unnamed_addr constant [4 x i8] c"int\00"
@.str4889 = private unnamed_addr constant [4 x i8] c"day\00"
@.str4890 = private unnamed_addr constant [4 x i8] c"int\00"
@.str4891 = private unnamed_addr constant [8 x i8] c"weekday\00"
@.str4892 = private unnamed_addr constant [9 x i8] c"add i32 \00"
@.str4893 = private unnamed_addr constant [4 x i8] c", 4\00"
@.str4894 = private unnamed_addr constant [10 x i8] c"srem i32 \00"
@.str4895 = private unnamed_addr constant [4 x i8] c", 7\00"
@.str4896 = private unnamed_addr constant [9 x i8] c"add i32 \00"
@.str4897 = private unnamed_addr constant [4 x i8] c", 7\00"
@.str4898 = private unnamed_addr constant [10 x i8] c"srem i32 \00"
@.str4899 = private unnamed_addr constant [4 x i8] c", 7\00"
@.str4900 = private unnamed_addr constant [4 x i8] c"int\00"
@.str4901 = private unnamed_addr constant [5 x i8] c"hour\00"
@.str4902 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00"
@.str4903 = private unnamed_addr constant [7 x i8] c", 3600\00"
@.str4904 = private unnamed_addr constant [4 x i8] c"int\00"
@.str4905 = private unnamed_addr constant [7 x i8] c"minute\00"
@.str4906 = private unnamed_addr constant [10 x i8] c"srem i32 \00"
@.str4907 = private unnamed_addr constant [7 x i8] c", 3600\00"
@.str4908 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00"
@.str4909 = private unnamed_addr constant [5 x i8] c", 60\00"
@.str4910 = private unnamed_addr constant [4 x i8] c"int\00"
@.str4911 = private unnamed_addr constant [10 x i8] c"srem i32 \00"
@.str4912 = private unnamed_addr constant [5 x i8] c", 60\00"
@.str4913 = private unnamed_addr constant [4 x i8] c"int\00"
@.str4914 = private unnamed_addr constant [59 x i8] c"define i32 @fn_days_from_civil(i32 %y0, i32 %m, i32 %d) {\0A\00"
@.str4915 = private unnamed_addr constant [30 x i8] c" %mle2 = icmp sle i32 %m, 2\0A\00"
@.str4916 = private unnamed_addr constant [41 x i8] c" %ysub = select i1 %mle2, i32 1, i32 0\0A\00"
@.str4917 = private unnamed_addr constant [27 x i8] c" %y = sub i32 %y0, %ysub\0A\00"
@.str4918 = private unnamed_addr constant [30 x i8] c" %yneg = icmp slt i32 %y, 0\0A\00"
@.str4919 = private unnamed_addr constant [28 x i8] c" %ym399 = sub i32 %y, 399\0A\00"
@.str4920 = private unnamed_addr constant [47 x i8] c" %enum = select i1 %yneg, i32 %ym399, i32 %y\0A\00"
@.str4921 = private unnamed_addr constant [30 x i8] c" %era = sdiv i32 %enum, 400\0A\00"
@.str4922 = private unnamed_addr constant [31 x i8] c" %era400 = mul i32 %era, 400\0A\00"
@.str4923 = private unnamed_addr constant [30 x i8] c" %yoe = sub i32 %y, %era400\0A\00"
@.str4924 = private unnamed_addr constant [30 x i8] c" %mgt2 = icmp sgt i32 %m, 2\0A\00"
@.str4925 = private unnamed_addr constant [44 x i8] c" %mshift = select i1 %mgt2, i32 -3, i32 9\0A\00"
@.str4926 = private unnamed_addr constant [29 x i8] c" %mm = add i32 %m, %mshift\0A\00"
@.str4927 = private unnamed_addr constant [28 x i8] c" %t153 = mul i32 153, %mm\0A\00"
@.str4928 = private unnamed_addr constant [29 x i8] c" %t153b = add i32 %t153, 2\0A\00"
@.str4929 = private unnamed_addr constant [30 x i8] c" %doy0 = sdiv i32 %t153b, 5\0A\00"
@.str4930 = private unnamed_addr constant [29 x i8] c" %doy1 = add i32 %doy0, %d\0A\00"
@.str4931 = private unnamed_addr constant [27 x i8] c" %doy = sub i32 %doy1, 1\0A\00"
@.str4932 = private unnamed_addr constant [31 x i8] c" %yoe365 = mul i32 %yoe, 365\0A\00"
@.str4933 = private unnamed_addr constant [28 x i8] c" %yoe4 = sdiv i32 %yoe, 4\0A\00"
@.str4934 = private unnamed_addr constant [32 x i8] c" %yoe100 = sdiv i32 %yoe, 100\0A\00"
@.str4935 = private unnamed_addr constant [34 x i8] c" %doe0 = add i32 %yoe365, %yoe4\0A\00"
@.str4936 = private unnamed_addr constant [34 x i8] c" %doe1 = sub i32 %doe0, %yoe100\0A\00"
@.str4937 = private unnamed_addr constant [30 x i8] c" %doe = add i32 %doe1, %doy\0A\00"
@.str4938 = private unnamed_addr constant [35 x i8] c" %e146097 = mul i32 %era, 146097\0A\00"
@.str4939 = private unnamed_addr constant [32 x i8] c" %r0 = add i32 %e146097, %doe\0A\00"
@.str4940 = private unnamed_addr constant [28 x i8] c" %r = sub i32 %r0, 719468\0A\00"
@.str4941 = private unnamed_addr constant [14 x i8] c" ret i32 %r\0A\00"
@.str4942 = private unnamed_addr constant [3 x i8] c"}\0A\00"
@.str4943 = private unnamed_addr constant [71 x i8] c"define void @fn_civil_from_days(i32 %z0, ptr %yp, ptr %mp, ptr %dp) {\0A\00"
@.str4944 = private unnamed_addr constant [28 x i8] c" %z = add i32 %z0, 719468\0A\00"
@.str4945 = private unnamed_addr constant [30 x i8] c" %zneg = icmp slt i32 %z, 0\0A\00"
@.str4946 = private unnamed_addr constant [28 x i8] c" %zm = sub i32 %z, 146096\0A\00"
@.str4947 = private unnamed_addr constant [44 x i8] c" %enum = select i1 %zneg, i32 %zm, i32 %z\0A\00"
@.str4948 = private unnamed_addr constant [33 x i8] c" %era = sdiv i32 %enum, 146097\0A\00"
@.str4949 = private unnamed_addr constant [37 x i8] c" %era146097 = mul i32 %era, 146097\0A\00"
@.str4950 = private unnamed_addr constant [33 x i8] c" %doe = sub i32 %z, %era146097\0A\00"
@.str4951 = private unnamed_addr constant [32 x i8] c" %d1460 = sdiv i32 %doe, 1460\0A\00"
@.str4952 = private unnamed_addr constant [34 x i8] c" %d36524 = sdiv i32 %doe, 36524\0A\00"
@.str4953 = private unnamed_addr constant [36 x i8] c" %d146096 = sdiv i32 %doe, 146096\0A\00"
@.str4954 = private unnamed_addr constant [30 x i8] c" %ya = sub i32 %doe, %d1460\0A\00"
@.str4955 = private unnamed_addr constant [30 x i8] c" %yb = add i32 %ya, %d36524\0A\00"
@.str4956 = private unnamed_addr constant [31 x i8] c" %yc = sub i32 %yb, %d146096\0A\00"
@.str4957 = private unnamed_addr constant [28 x i8] c" %yoe = sdiv i32 %yc, 365\0A\00"
@.str4958 = private unnamed_addr constant [31 x i8] c" %era400 = mul i32 %era, 400\0A\00"
@.str4959 = private unnamed_addr constant [31 x i8] c" %yy = add i32 %yoe, %era400\0A\00"
@.str4960 = private unnamed_addr constant [31 x i8] c" %yoe365 = mul i32 %yoe, 365\0A\00"
@.str4961 = private unnamed_addr constant [28 x i8] c" %yoe4 = sdiv i32 %yoe, 4\0A\00"
@.str4962 = private unnamed_addr constant [32 x i8] c" %yoe100 = sdiv i32 %yoe, 100\0A\00"
@.str4963 = private unnamed_addr constant [34 x i8] c" %sub0 = add i32 %yoe365, %yoe4\0A\00"
@.str4964 = private unnamed_addr constant [34 x i8] c" %sub1 = sub i32 %sub0, %yoe100\0A\00"
@.str4965 = private unnamed_addr constant [30 x i8] c" %doy = sub i32 %doe, %sub1\0A\00"
@.str4966 = private unnamed_addr constant [30 x i8] c" %fivedoy = mul i32 5, %doy\0A\00"
@.str4967 = private unnamed_addr constant [35 x i8] c" %fivedoy2 = add i32 %fivedoy, 2\0A\00"
@.str4968 = private unnamed_addr constant [34 x i8] c" %mpv = sdiv i32 %fivedoy2, 153\0A\00"
@.str4969 = private unnamed_addr constant [29 x i8] c" %m153 = mul i32 153, %mpv\0A\00"
@.str4970 = private unnamed_addr constant [29 x i8] c" %m153b = add i32 %m153, 2\0A\00"
@.str4971 = private unnamed_addr constant [31 x i8] c" %m153c = sdiv i32 %m153b, 5\0A\00"
@.str4972 = private unnamed_addr constant [31 x i8] c" %dd0 = sub i32 %doy, %m153c\0A\00"
@.str4973 = private unnamed_addr constant [25 x i8] c" %dd = add i32 %dd0, 1\0A\00"
@.str4974 = private unnamed_addr constant [35 x i8] c" %mplt10 = icmp slt i32 %mpv, 10\0A\00"
@.str4975 = private unnamed_addr constant [29 x i8] c" %mplus3 = add i32 %mpv, 3\0A\00"
@.str4976 = private unnamed_addr constant [30 x i8] c" %mminus9 = sub i32 %mpv, 9\0A\00"
@.str4977 = private unnamed_addr constant [56 x i8] c" %mfin = select i1 %mplt10, i32 %mplus3, i32 %mminus9\0A\00"
@.str4978 = private unnamed_addr constant [34 x i8] c" %mmle2 = icmp sle i32 %mfin, 2\0A\00"
@.str4979 = private unnamed_addr constant [42 x i8] c" %yinc = select i1 %mmle2, i32 1, i32 0\0A\00"
@.str4980 = private unnamed_addr constant [30 x i8] c" %yfin = add i32 %yy, %yinc\0A\00"
@.str4981 = private unnamed_addr constant [28 x i8] c" store i32 %yfin, ptr %yp\0A\00"
@.str4982 = private unnamed_addr constant [28 x i8] c" store i32 %mfin, ptr %mp\0A\00"
@.str4983 = private unnamed_addr constant [26 x i8] c" store i32 %dd, ptr %dp\0A\00"
@.str4984 = private unnamed_addr constant [12 x i8] c" ret void\0A\00"
@.str4985 = private unnamed_addr constant [3 x i8] c"}\0A\00"
@.str4986 = private unnamed_addr constant [42 x i8] c"define ptr @fn_dt_pad0(i32 %v, i32 %w) {\0A\00"
@.str4987 = private unnamed_addr constant [28 x i8] c" %we = zext i32 %w to i64\0A\00"
@.str4988 = private unnamed_addr constant [24 x i8] c" %sz = add i64 %we, 1\0A\00"
@.str4989 = private unnamed_addr constant [36 x i8] c" %buf = call ptr @malloc(i64 %sz)\0A\00"
@.str4990 = private unnamed_addr constant [46 x i8] c" %endp = getelementptr i8, ptr %buf, i32 %w\0A\00"
@.str4991 = private unnamed_addr constant [25 x i8] c" store i8 0, ptr %endp\0A\00"
@.str4992 = private unnamed_addr constant [39 x i8] c" %kp = alloca i32\0A %vp = alloca i32\0A\00"
@.str4993 = 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"
@.str4994 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00"
@.str4995 = 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"
@.str4996 = 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"
@.str4997 = private unnamed_addr constant [69 x i8] c" %cp = getelementptr i8, ptr %buf, i32 %k\0A store i8 %ch8, ptr %cp\0A\00"
@.str4998 = 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"
@.str4999 = private unnamed_addr constant [24 x i8] c"done:\0A ret ptr %buf\0A}\0A\00"
@.str5000 = private unnamed_addr constant [62 x i8] c"define i32 @fn_dt_rd(ptr %s, i32 %off, i32 %w, ptr %failp) {\0A\00"
@.str5001 = 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"
@.str5002 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00"
@.str5003 = 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"
@.str5004 = 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"
@.str5005 = private unnamed_addr constant [70 x i8] c" %zero = icmp eq i32 %c, 0\0A br i1 %zero, label %stop, label %digit\0A\00"
@.str5006 = private unnamed_addr constant [50 x i8] c"stop:\0A store i32 1, ptr %failp\0A br label %done\0A\00"
@.str5007 = 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"
@.str5008 = private unnamed_addr constant [50 x i8] c"fail:\0A store i32 1, ptr %failp\0A br label %next\0A\00"
@.str5009 = 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"
@.str5010 = 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"
@.str5011 = private unnamed_addr constant [49 x i8] c"done:\0A %r = load i32, ptr %accp\0A ret i32 %r\0A}\0A\00"
@.str5012 = private unnamed_addr constant [4 x i8] c"now\00"
@.str5013 = private unnamed_addr constant [4 x i8] c"set\00"
@.str5014 = private unnamed_addr constant [8 x i8] c"advance\00"
@.str5015 = private unnamed_addr constant [6 x i8] c"reset\00"
@.str5016 = private unnamed_addr constant [4 x i8] c"now\00"
@.str5017 = private unnamed_addr constant [23 x i8] c"load i32, ptr @L_clock\00"
@.str5018 = private unnamed_addr constant [4 x i8] c"int\00"
@.str5019 = private unnamed_addr constant [6 x i8] c"reset\00"
@.str5020 = private unnamed_addr constant [29 x i8] c" store i32 0, ptr @L_clock\0A\00"
@.str5021 = private unnamed_addr constant [2 x i8] c"0\00"
@.str5022 = private unnamed_addr constant [5 x i8] c"void\00"
@.str5023 = private unnamed_addr constant [4 x i8] c"set\00"
@.str5024 = private unnamed_addr constant [13 x i8] c" store i32 \00"
@.str5025 = private unnamed_addr constant [16 x i8] c", ptr @L_clock\0A\00"
@.str5026 = private unnamed_addr constant [2 x i8] c"0\00"
@.str5027 = private unnamed_addr constant [5 x i8] c"void\00"
@.str5028 = private unnamed_addr constant [23 x i8] c"load i32, ptr @L_clock\00"
@.str5029 = private unnamed_addr constant [9 x i8] c"add i32 \00"
@.str5030 = private unnamed_addr constant [3 x i8] c", \00"
@.str5031 = private unnamed_addr constant [13 x i8] c" store i32 \00"
@.str5032 = private unnamed_addr constant [16 x i8] c", ptr @L_clock\0A\00"
@.str5033 = private unnamed_addr constant [2 x i8] c"0\00"
@.str5034 = private unnamed_addr constant [5 x i8] c"void\00"
@.str5035 = private unnamed_addr constant [4 x i8] c"rgb\00"
@.str5036 = private unnamed_addr constant [5 x i8] c"rgba\00"
@.str5037 = private unnamed_addr constant [5 x i8] c"lerp\00"
@.str5038 = private unnamed_addr constant [7 x i8] c"darken\00"
@.str5039 = private unnamed_addr constant [8 x i8] c"lighten\00"
@.str5040 = private unnamed_addr constant [11 x i8] c"with_alpha\00"
@.str5041 = private unnamed_addr constant [10 x i8] c"lshr i32 \00"
@.str5042 = private unnamed_addr constant [3 x i8] c", \00"
@.str5043 = private unnamed_addr constant [9 x i8] c"and i32 \00"
@.str5044 = private unnamed_addr constant [6 x i8] c", 255\00"
@.str5045 = private unnamed_addr constant [9 x i8] c"shl i32 \00"
@.str5046 = private unnamed_addr constant [5 x i8] c", 16\00"
@.str5047 = private unnamed_addr constant [9 x i8] c"shl i32 \00"
@.str5048 = private unnamed_addr constant [4 x i8] c", 8\00"
@.str5049 = private unnamed_addr constant [8 x i8] c"or i32 \00"
@.str5050 = private unnamed_addr constant [3 x i8] c", \00"
@.str5051 = private unnamed_addr constant [8 x i8] c"or i32 \00"
@.str5052 = private unnamed_addr constant [3 x i8] c", \00"
@.str5053 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
@.str5054 = private unnamed_addr constant [3 x i8] c", \00"
@.str5055 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
@.str5056 = private unnamed_addr constant [3 x i8] c", \00"
@.str5057 = private unnamed_addr constant [10 x i8] c"ashr i32 \00"
@.str5058 = private unnamed_addr constant [5 x i8] c", 16\00"
@.str5059 = private unnamed_addr constant [9 x i8] c"add i32 \00"
@.str5060 = private unnamed_addr constant [3 x i8] c", \00"
@.str5061 = private unnamed_addr constant [4 x i8] c"rgb\00"
@.str5062 = private unnamed_addr constant [4 x i8] c"int\00"
@.str5063 = private unnamed_addr constant [5 x i8] c"rgba\00"
@.str5064 = private unnamed_addr constant [9 x i8] c"shl i32 \00"
@.str5065 = private unnamed_addr constant [5 x i8] c", 24\00"
@.str5066 = private unnamed_addr constant [8 x i8] c"or i32 \00"
@.str5067 = private unnamed_addr constant [3 x i8] c", \00"
@.str5068 = private unnamed_addr constant [4 x i8] c"int\00"
@.str5069 = private unnamed_addr constant [11 x i8] c"with_alpha\00"
@.str5070 = private unnamed_addr constant [9 x i8] c"and i32 \00"
@.str5071 = private unnamed_addr constant [11 x i8] c", 16777215\00"
@.str5072 = private unnamed_addr constant [9 x i8] c"shl i32 \00"
@.str5073 = private unnamed_addr constant [5 x i8] c", 24\00"
@.str5074 = private unnamed_addr constant [8 x i8] c"or i32 \00"
@.str5075 = private unnamed_addr constant [3 x i8] c", \00"
@.str5076 = private unnamed_addr constant [4 x i8] c"int\00"
@.str5077 = private unnamed_addr constant [5 x i8] c"lerp\00"
@.str5078 = private unnamed_addr constant [3 x i8] c"16\00"
@.str5079 = private unnamed_addr constant [3 x i8] c"16\00"
@.str5080 = private unnamed_addr constant [2 x i8] c"8\00"
@.str5081 = private unnamed_addr constant [2 x i8] c"8\00"
@.str5082 = private unnamed_addr constant [2 x i8] c"0\00"
@.str5083 = private unnamed_addr constant [2 x i8] c"0\00"
@.str5084 = private unnamed_addr constant [4 x i8] c"int\00"
@.str5085 = private unnamed_addr constant [7 x i8] c"darken\00"
@.str5086 = private unnamed_addr constant [16 x i8] c"sub i32 65536, \00"
@.str5087 = private unnamed_addr constant [3 x i8] c"16\00"
@.str5088 = private unnamed_addr constant [2 x i8] c"8\00"
@.str5089 = private unnamed_addr constant [2 x i8] c"0\00"
@.str5090 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
@.str5091 = private unnamed_addr constant [3 x i8] c", \00"
@.str5092 = private unnamed_addr constant [10 x i8] c"ashr i32 \00"
@.str5093 = private unnamed_addr constant [5 x i8] c", 16\00"
@.str5094 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
@.str5095 = private unnamed_addr constant [3 x i8] c", \00"
@.str5096 = private unnamed_addr constant [10 x i8] c"ashr i32 \00"
@.str5097 = private unnamed_addr constant [5 x i8] c", 16\00"
@.str5098 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
@.str5099 = private unnamed_addr constant [3 x i8] c", \00"
@.str5100 = private unnamed_addr constant [10 x i8] c"ashr i32 \00"
@.str5101 = private unnamed_addr constant [5 x i8] c", 16\00"
@.str5102 = private unnamed_addr constant [4 x i8] c"int\00"
@.str5103 = private unnamed_addr constant [3 x i8] c"16\00"
@.str5104 = private unnamed_addr constant [2 x i8] c"8\00"
@.str5105 = private unnamed_addr constant [2 x i8] c"0\00"
@.str5106 = private unnamed_addr constant [14 x i8] c"sub i32 255, \00"
@.str5107 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
@.str5108 = private unnamed_addr constant [3 x i8] c", \00"
@.str5109 = private unnamed_addr constant [10 x i8] c"ashr i32 \00"
@.str5110 = private unnamed_addr constant [5 x i8] c", 16\00"
@.str5111 = private unnamed_addr constant [9 x i8] c"add i32 \00"
@.str5112 = private unnamed_addr constant [3 x i8] c", \00"
@.str5113 = private unnamed_addr constant [14 x i8] c"sub i32 255, \00"
@.str5114 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
@.str5115 = private unnamed_addr constant [3 x i8] c", \00"
@.str5116 = private unnamed_addr constant [10 x i8] c"ashr i32 \00"
@.str5117 = private unnamed_addr constant [5 x i8] c", 16\00"
@.str5118 = private unnamed_addr constant [9 x i8] c"add i32 \00"
@.str5119 = private unnamed_addr constant [3 x i8] c", \00"
@.str5120 = private unnamed_addr constant [14 x i8] c"sub i32 255, \00"
@.str5121 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
@.str5122 = private unnamed_addr constant [3 x i8] c", \00"
@.str5123 = private unnamed_addr constant [10 x i8] c"ashr i32 \00"
@.str5124 = private unnamed_addr constant [5 x i8] c", 16\00"
@.str5125 = private unnamed_addr constant [9 x i8] c"add i32 \00"
@.str5126 = private unnamed_addr constant [3 x i8] c", \00"
@.str5127 = private unnamed_addr constant [4 x i8] c"int\00"
@.str5128 = private unnamed_addr constant [6 x i8] c"White\00"
@.str5129 = private unnamed_addr constant [5 x i8] c"Snow\00"
@.str5130 = private unnamed_addr constant [6 x i8] c"Ivory\00"
@.str5131 = private unnamed_addr constant [14 x i8] c"EggShellWhite\00"
@.str5132 = private unnamed_addr constant [12 x i8] c"FloralWhite\00"
@.str5133 = private unnamed_addr constant [9 x i8] c"SeaShell\00"
@.str5134 = private unnamed_addr constant [6 x i8] c"Linen\00"
@.str5135 = private unnamed_addr constant [13 x i8] c"AntiqueWhite\00"
@.str5136 = private unnamed_addr constant [8 x i8] c"OldLace\00"
@.str5137 = private unnamed_addr constant [6 x i8] c"Beige\00"
@.str5138 = private unnamed_addr constant [6 x i8] c"Cream\00"
@.str5139 = private unnamed_addr constant [9 x i8] c"Honeydew\00"
@.str5140 = private unnamed_addr constant [10 x i8] c"MintCream\00"
@.str5141 = private unnamed_addr constant [6 x i8] c"Azure\00"
@.str5142 = private unnamed_addr constant [10 x i8] c"AliceBlue\00"
@.str5143 = private unnamed_addr constant [11 x i8] c"GhostWhite\00"
@.str5144 = private unnamed_addr constant [11 x i8] c"WhiteSmoke\00"
@.str5145 = private unnamed_addr constant [9 x i8] c"Lavender\00"
@.str5146 = private unnamed_addr constant [5 x i8] c"Bone\00"
@.str5147 = private unnamed_addr constant [10 x i8] c"Parchment\00"
@.str5148 = private unnamed_addr constant [10 x i8] c"Gainsboro\00"
@.str5149 = private unnamed_addr constant [10 x i8] c"LightGray\00"
@.str5150 = private unnamed_addr constant [7 x i8] c"Silver\00"
@.str5151 = private unnamed_addr constant [4 x i8] c"Ash\00"
@.str5152 = private unnamed_addr constant [9 x i8] c"DarkGray\00"
@.str5153 = private unnamed_addr constant [5 x i8] c"Gray\00"
@.str5154 = private unnamed_addr constant [8 x i8] c"DimGray\00"
@.str5155 = private unnamed_addr constant [7 x i8] c"Nickel\00"
@.str5156 = private unnamed_addr constant [6 x i8] c"Slate\00"
@.str5157 = private unnamed_addr constant [10 x i8] c"SlateGray\00"
@.str5158 = private unnamed_addr constant [15 x i8] c"LightSlateGray\00"
@.str5159 = private unnamed_addr constant [9 x i8] c"Gunmetal\00"
@.str5160 = private unnamed_addr constant [9 x i8] c"Charcoal\00"
@.str5161 = private unnamed_addr constant [9 x i8] c"Graphite\00"
@.str5162 = private unnamed_addr constant [5 x i8] c"Onyx\00"
@.str5163 = private unnamed_addr constant [4 x i8] c"Jet\00"
@.str5164 = private unnamed_addr constant [6 x i8] c"Black\00"
@.str5165 = private unnamed_addr constant [11 x i8] c"EerieBlack\00"
@.str5166 = private unnamed_addr constant [12 x i8] c"RaisinBlack\00"
@.str5167 = private unnamed_addr constant [6 x i8] c"Ebony\00"
@.str5168 = private unnamed_addr constant [4 x i8] c"Red\00"
@.str5169 = private unnamed_addr constant [8 x i8] c"Crimson\00"
@.str5170 = private unnamed_addr constant [8 x i8] c"Scarlet\00"
@.str5171 = private unnamed_addr constant [10 x i8] c"Vermilion\00"
@.str5172 = private unnamed_addr constant [10 x i8] c"FireBrick\00"
@.str5173 = private unnamed_addr constant [9 x i8] c"Cinnabar\00"
@.str5174 = private unnamed_addr constant [8 x i8] c"DarkRed\00"
@.str5175 = private unnamed_addr constant [7 x i8] c"Maroon\00"
@.str5176 = private unnamed_addr constant [5 x i8] c"Ruby\00"
@.str5177 = private unnamed_addr constant [9 x i8] c"Cardinal\00"
@.str5178 = private unnamed_addr constant [10 x i8] c"IndianRed\00"
@.str5179 = private unnamed_addr constant [5 x i8] c"Rust\00"
@.str5180 = private unnamed_addr constant [8 x i8] c"Sangria\00"
@.str5181 = private unnamed_addr constant [8 x i8] c"Redwood\00"
@.str5182 = private unnamed_addr constant [7 x i8] c"Cerise\00"
@.str5183 = private unnamed_addr constant [9 x i8] c"Amaranth\00"
@.str5184 = private unnamed_addr constant [8 x i8] c"Carmine\00"
@.str5185 = private unnamed_addr constant [9 x i8] c"Chestnut\00"
@.str5186 = private unnamed_addr constant [6 x i8] c"Brick\00"
@.str5187 = private unnamed_addr constant [11 x i8] c"TerraCotta\00"
@.str5188 = private unnamed_addr constant [5 x i8] c"Pink\00"
@.str5189 = private unnamed_addr constant [10 x i8] c"LightPink\00"
@.str5190 = private unnamed_addr constant [8 x i8] c"HotPink\00"
@.str5191 = private unnamed_addr constant [9 x i8] c"DeepPink\00"
@.str5192 = private unnamed_addr constant [14 x i8] c"PaleVioletRed\00"
@.str5193 = private unnamed_addr constant [5 x i8] c"Rose\00"
@.str5194 = private unnamed_addr constant [6 x i8] c"Blush\00"
@.str5195 = private unnamed_addr constant [7 x i8] c"Salmon\00"
@.str5196 = private unnamed_addr constant [12 x i8] c"LightSalmon\00"
@.str5197 = private unnamed_addr constant [11 x i8] c"DarkSalmon\00"
@.str5198 = private unnamed_addr constant [6 x i8] c"Coral\00"
@.str5199 = private unnamed_addr constant [11 x i8] c"Watermelon\00"
@.str5200 = private unnamed_addr constant [9 x i8] c"Flamingo\00"
@.str5201 = private unnamed_addr constant [10 x i8] c"Bubblegum\00"
@.str5202 = private unnamed_addr constant [8 x i8] c"Fuchsia\00"
@.str5203 = private unnamed_addr constant [8 x i8] c"Magenta\00"
@.str5204 = private unnamed_addr constant [6 x i8] c"Mauve\00"
@.str5205 = private unnamed_addr constant [5 x i8] c"Puce\00"
@.str5206 = private unnamed_addr constant [8 x i8] c"Thistle\00"
@.str5207 = private unnamed_addr constant [7 x i8] c"Orchid\00"
@.str5208 = private unnamed_addr constant [7 x i8] c"Orange\00"
@.str5209 = private unnamed_addr constant [11 x i8] c"DarkOrange\00"
@.str5210 = private unnamed_addr constant [10 x i8] c"Tangerine\00"
@.str5211 = private unnamed_addr constant [8 x i8] c"Pumpkin\00"
@.str5212 = private unnamed_addr constant [8 x i8] c"Apricot\00"
@.str5213 = private unnamed_addr constant [6 x i8] c"Peach\00"
@.str5214 = private unnamed_addr constant [11 x i8] c"Cantaloupe\00"
@.str5215 = private unnamed_addr constant [6 x i8] c"Amber\00"
@.str5216 = private unnamed_addr constant [7 x i8] c"Bronze\00"
@.str5217 = private unnamed_addr constant [7 x i8] c"Copper\00"
@.str5218 = private unnamed_addr constant [9 x i8] c"Marigold\00"
@.str5219 = private unnamed_addr constant [7 x i8] c"Carrot\00"
@.str5220 = private unnamed_addr constant [10 x i8] c"Persimmon\00"
@.str5221 = private unnamed_addr constant [7 x i8] c"Papaya\00"
@.str5222 = private unnamed_addr constant [7 x i8] c"Sunset\00"
@.str5223 = private unnamed_addr constant [7 x i8] c"Yellow\00"
@.str5224 = private unnamed_addr constant [12 x i8] c"LightYellow\00"
@.str5225 = private unnamed_addr constant [5 x i8] c"Gold\00"
@.str5226 = private unnamed_addr constant [10 x i8] c"Goldenrod\00"
@.str5227 = private unnamed_addr constant [6 x i8] c"Lemon\00"
@.str5228 = private unnamed_addr constant [7 x i8] c"Canary\00"
@.str5229 = private unnamed_addr constant [8 x i8] c"Mustard\00"
@.str5230 = private unnamed_addr constant [5 x i8] c"Flax\00"
@.str5231 = private unnamed_addr constant [6 x i8] c"Wheat\00"
@.str5232 = private unnamed_addr constant [5 x i8] c"Corn\00"
@.str5233 = private unnamed_addr constant [10 x i8] c"Dandelion\00"
@.str5234 = private unnamed_addr constant [8 x i8] c"Saffron\00"
@.str5235 = private unnamed_addr constant [6 x i8] c"Khaki\00"
@.str5236 = private unnamed_addr constant [10 x i8] c"DarkKhaki\00"
@.str5237 = private unnamed_addr constant [6 x i8] c"Straw\00"
@.str5238 = private unnamed_addr constant [6 x i8] c"Brown\00"
@.str5239 = private unnamed_addr constant [12 x i8] c"SaddleBrown\00"
@.str5240 = private unnamed_addr constant [7 x i8] c"Sienna\00"
@.str5241 = private unnamed_addr constant [10 x i8] c"Chocolate\00"
@.str5242 = private unnamed_addr constant [5 x i8] c"Peru\00"
@.str5243 = private unnamed_addr constant [4 x i8] c"Tan\00"
@.str5244 = private unnamed_addr constant [10 x i8] c"BurlyWood\00"
@.str5245 = private unnamed_addr constant [5 x i8] c"Sand\00"
@.str5246 = private unnamed_addr constant [7 x i8] c"Coffee\00"
@.str5247 = private unnamed_addr constant [9 x i8] c"Espresso\00"
@.str5248 = private unnamed_addr constant [9 x i8] c"Mahogany\00"
@.str5249 = private unnamed_addr constant [7 x i8] c"Walnut\00"
@.str5250 = private unnamed_addr constant [6 x i8] c"Umber\00"
@.str5251 = private unnamed_addr constant [6 x i8] c"Sepia\00"
@.str5252 = private unnamed_addr constant [6 x i8] c"Taupe\00"
@.str5253 = private unnamed_addr constant [5 x i8] c"Fawn\00"
@.str5254 = private unnamed_addr constant [8 x i8] c"Caramel\00"
@.str5255 = private unnamed_addr constant [6 x i8] c"Cocoa\00"
@.str5256 = private unnamed_addr constant [6 x i8] c"Hazel\00"
@.str5257 = private unnamed_addr constant [6 x i8] c"Wenge\00"
@.str5258 = private unnamed_addr constant [6 x i8] c"Green\00"
@.str5259 = private unnamed_addr constant [5 x i8] c"Lime\00"
@.str5260 = private unnamed_addr constant [10 x i8] c"LimeGreen\00"
@.str5261 = private unnamed_addr constant [10 x i8] c"LawnGreen\00"
@.str5262 = private unnamed_addr constant [11 x i8] c"Chartreuse\00"
@.str5263 = private unnamed_addr constant [12 x i8] c"GreenYellow\00"
@.str5264 = private unnamed_addr constant [12 x i8] c"SpringGreen\00"
@.str5265 = private unnamed_addr constant [10 x i8] c"MintGreen\00"
@.str5266 = private unnamed_addr constant [9 x i8] c"SeaGreen\00"
@.str5267 = private unnamed_addr constant [15 x i8] c"MediumSeaGreen\00"
@.str5268 = private unnamed_addr constant [12 x i8] c"ForestGreen\00"
@.str5269 = private unnamed_addr constant [10 x i8] c"DarkGreen\00"
@.str5270 = private unnamed_addr constant [10 x i8] c"OliveDrab\00"
@.str5271 = private unnamed_addr constant [6 x i8] c"Olive\00"
@.str5272 = private unnamed_addr constant [5 x i8] c"Moss\00"
@.str5273 = private unnamed_addr constant [5 x i8] c"Fern\00"
@.str5274 = private unnamed_addr constant [8 x i8] c"Emerald\00"
@.str5275 = private unnamed_addr constant [5 x i8] c"Jade\00"
@.str5276 = private unnamed_addr constant [10 x i8] c"Malachite\00"
@.str5277 = private unnamed_addr constant [9 x i8] c"Shamrock\00"
@.str5278 = private unnamed_addr constant [10 x i8] c"Pistachio\00"
@.str5279 = private unnamed_addr constant [8 x i8] c"Avocado\00"
@.str5280 = private unnamed_addr constant [5 x i8] c"Pine\00"
@.str5281 = private unnamed_addr constant [5 x i8] c"Sage\00"
@.str5282 = private unnamed_addr constant [6 x i8] c"Kelly\00"
@.str5283 = private unnamed_addr constant [7 x i8] c"Hunter\00"
@.str5284 = private unnamed_addr constant [6 x i8] c"Basil\00"
@.str5285 = private unnamed_addr constant [7 x i8] c"Clover\00"
@.str5286 = private unnamed_addr constant [8 x i8] c"Juniper\00"
@.str5287 = private unnamed_addr constant [5 x i8] c"Neon\00"
@.str5288 = private unnamed_addr constant [5 x i8] c"Cyan\00"
@.str5289 = private unnamed_addr constant [5 x i8] c"Aqua\00"
@.str5290 = private unnamed_addr constant [10 x i8] c"LightCyan\00"
@.str5291 = private unnamed_addr constant [14 x i8] c"PaleTurquoise\00"
@.str5292 = private unnamed_addr constant [11 x i8] c"Aquamarine\00"
@.str5293 = private unnamed_addr constant [10 x i8] c"Turquoise\00"
@.str5294 = private unnamed_addr constant [16 x i8] c"MediumTurquoise\00"
@.str5295 = private unnamed_addr constant [14 x i8] c"DarkTurquoise\00"
@.str5296 = private unnamed_addr constant [5 x i8] c"Teal\00"
@.str5297 = private unnamed_addr constant [9 x i8] c"DarkCyan\00"
@.str5298 = private unnamed_addr constant [10 x i8] c"CadetBlue\00"
@.str5299 = private unnamed_addr constant [7 x i8] c"Lagoon\00"
@.str5300 = private unnamed_addr constant [8 x i8] c"Seafoam\00"
@.str5301 = private unnamed_addr constant [9 x i8] c"Cerulean\00"
@.str5302 = private unnamed_addr constant [13 x i8] c"SkyBlueLight\00"
@.str5303 = private unnamed_addr constant [6 x i8] c"Robin\00"
@.str5304 = private unnamed_addr constant [10 x i8] c"Verdigris\00"
@.str5305 = private unnamed_addr constant [8 x i8] c"Celadon\00"
@.str5306 = private unnamed_addr constant [5 x i8] c"Blue\00"
@.str5307 = private unnamed_addr constant [10 x i8] c"LightBlue\00"
@.str5308 = private unnamed_addr constant [11 x i8] c"PowderBlue\00"
@.str5309 = private unnamed_addr constant [8 x i8] c"SkyBlue\00"
@.str5310 = private unnamed_addr constant [13 x i8] c"LightSkyBlue\00"
@.str5311 = private unnamed_addr constant [12 x i8] c"DeepSkyBlue\00"
@.str5312 = private unnamed_addr constant [11 x i8] c"DodgerBlue\00"
@.str5313 = private unnamed_addr constant [15 x i8] c"CornflowerBlue\00"
@.str5314 = private unnamed_addr constant [10 x i8] c"SteelBlue\00"
@.str5315 = private unnamed_addr constant [10 x i8] c"RoyalBlue\00"
@.str5316 = private unnamed_addr constant [11 x i8] c"MediumBlue\00"
@.str5317 = private unnamed_addr constant [9 x i8] c"DarkBlue\00"
@.str5318 = private unnamed_addr constant [5 x i8] c"Navy\00"
@.str5319 = private unnamed_addr constant [13 x i8] c"MidnightBlue\00"
@.str5320 = private unnamed_addr constant [7 x i8] c"Cobalt\00"
@.str5321 = private unnamed_addr constant [9 x i8] c"Sapphire\00"
@.str5322 = private unnamed_addr constant [6 x i8] c"Denim\00"
@.str5323 = private unnamed_addr constant [7 x i8] c"Indigo\00"
@.str5324 = private unnamed_addr constant [9 x i8] c"Prussian\00"
@.str5325 = private unnamed_addr constant [12 x i8] c"Ultramarine\00"
@.str5326 = private unnamed_addr constant [11 x i8] c"Periwinkle\00"
@.str5327 = private unnamed_addr constant [5 x i8] c"Iris\00"
@.str5328 = private unnamed_addr constant [9 x i8] c"Glaucous\00"
@.str5329 = private unnamed_addr constant [7 x i8] c"Zaffre\00"
@.str5330 = private unnamed_addr constant [6 x i8] c"Berry\00"
@.str5331 = private unnamed_addr constant [7 x i8] c"Purple\00"
@.str5332 = private unnamed_addr constant [7 x i8] c"Violet\00"
@.str5333 = private unnamed_addr constant [11 x i8] c"DarkViolet\00"
@.str5334 = private unnamed_addr constant [11 x i8] c"BlueViolet\00"
@.str5335 = private unnamed_addr constant [13 x i8] c"MediumPurple\00"
@.str5336 = private unnamed_addr constant [9 x i8] c"Amethyst\00"
@.str5337 = private unnamed_addr constant [5 x i8] c"Plum\00"
@.str5338 = private unnamed_addr constant [9 x i8] c"Eggplant\00"
@.str5339 = private unnamed_addr constant [6 x i8] c"Grape\00"
@.str5340 = private unnamed_addr constant [5 x i8] c"Wine\00"
@.str5341 = private unnamed_addr constant [9 x i8] c"Mulberry\00"
@.str5342 = private unnamed_addr constant [6 x i8] c"Lilac\00"
@.str5343 = private unnamed_addr constant [9 x i8] c"Wisteria\00"
@.str5344 = private unnamed_addr constant [11 x i8] c"Heliotrope\00"
@.str5345 = private unnamed_addr constant [10 x i8] c"Byzantium\00"
@.str5346 = private unnamed_addr constant [7 x i8] c"Tyrian\00"
@.str5347 = private unnamed_addr constant [14 x i8] c"RebeccaPurple\00"
@.str5348 = private unnamed_addr constant [8 x i8] c"Orchid2\00"
@.str5349 = private unnamed_addr constant [15 x i8] c"getelementptr \00"
@.str5350 = private unnamed_addr constant [18 x i8] c", ptr null, i32 1\00"
@.str5351 = private unnamed_addr constant [14 x i8] c"ptrtoint ptr \00"
@.str5352 = private unnamed_addr constant [8 x i8] c" to i64\00"
@.str5353 = private unnamed_addr constant [27 x i8] c"unknown record type in new\00"
@.str5354 = private unnamed_addr constant [22 x i8] c"call ptr @malloc(i64 \00"
@.str5355 = private unnamed_addr constant [2 x i8] c")\00"
@.str5356 = private unnamed_addr constant [3 x i8] c" \00"
@.str5357 = private unnamed_addr constant [27 x i8] c" = getelementptr inbounds \00"
@.str5358 = private unnamed_addr constant [7 x i8] c", ptr \00"
@.str5359 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00"
@.str5360 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str5361 = private unnamed_addr constant [2 x i8] c"0\00"
@.str5362 = private unnamed_addr constant [4 x i8] c"ptr\00"
@.str5363 = private unnamed_addr constant [5 x i8] c"null\00"
@.str5364 = private unnamed_addr constant [9 x i8] c" store \00"
@.str5365 = private unnamed_addr constant [2 x i8] c" \00"
@.str5366 = private unnamed_addr constant [7 x i8] c", ptr \00"
@.str5367 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str5368 = private unnamed_addr constant [8 x i8] c"%LSlice\00"
@.str5369 = private unnamed_addr constant [22 x i8] c"call ptr @malloc(i64 \00"
@.str5370 = private unnamed_addr constant [2 x i8] c")\00"
@.str5371 = private unnamed_addr constant [3 x i8] c" \00"
@.str5372 = private unnamed_addr constant [40 x i8] c" = getelementptr inbounds %LSlice, ptr \00"
@.str5373 = private unnamed_addr constant [16 x i8] c", i32 0, i32 0\0A\00"
@.str5374 = private unnamed_addr constant [23 x i8] c" store ptr null, ptr \00"
@.str5375 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str5376 = private unnamed_addr constant [3 x i8] c" \00"
@.str5377 = private unnamed_addr constant [40 x i8] c" = getelementptr inbounds %LSlice, ptr \00"
@.str5378 = private unnamed_addr constant [16 x i8] c", i32 0, i32 1\0A\00"
@.str5379 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00"
@.str5380 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str5381 = private unnamed_addr constant [3 x i8] c" \00"
@.str5382 = private unnamed_addr constant [40 x i8] c" = getelementptr inbounds %LSlice, ptr \00"
@.str5383 = private unnamed_addr constant [16 x i8] c", i32 0, i32 2\0A\00"
@.str5384 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00"
@.str5385 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str5386 = private unnamed_addr constant [3 x i8] c" \00"
@.str5387 = private unnamed_addr constant [40 x i8] c" = getelementptr inbounds %LSlice, ptr \00"
@.str5388 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00"
@.str5389 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str5390 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
@.str5391 = private unnamed_addr constant [4 x i8] c"int\00"
@.str5392 = private unnamed_addr constant [22 x i8] c"call i64 @strlen(ptr \00"
@.str5393 = private unnamed_addr constant [2 x i8] c")\00"
@.str5394 = private unnamed_addr constant [11 x i8] c"trunc i64 \00"
@.str5395 = private unnamed_addr constant [8 x i8] c" to i32\00"
@.str5396 = private unnamed_addr constant [4 x i8] c"int\00"
@.str5397 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
@.str5398 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
@.str5399 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00"
@.str5400 = private unnamed_addr constant [3 x i8] c", \00"
@.str5401 = private unnamed_addr constant [5 x i8] c"grow\00"
@.str5402 = private unnamed_addr constant [4 x i8] c"put\00"
@.str5403 = private unnamed_addr constant [9 x i8] c" br i1 \00"
@.str5404 = private unnamed_addr constant [10 x i8] c", label %\00"
@.str5405 = private unnamed_addr constant [10 x i8] c", label %\00"
@.str5406 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str5407 = private unnamed_addr constant [3 x i8] c":\0A\00"
@.str5408 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
@.str5409 = private unnamed_addr constant [4 x i8] c", 2\00"
@.str5410 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00"
@.str5411 = private unnamed_addr constant [4 x i8] c", 0\00"
@.str5412 = private unnamed_addr constant [11 x i8] c"select i1 \00"
@.str5413 = private unnamed_addr constant [14 x i8] c", i32 8, i32 \00"
@.str5414 = private unnamed_addr constant [10 x i8] c"zext i32 \00"
@.str5415 = private unnamed_addr constant [8 x i8] c" to i64\00"
@.str5416 = private unnamed_addr constant [9 x i8] c"mul i64 \00"
@.str5417 = private unnamed_addr constant [3 x i8] c", \00"
@.str5418 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00"
@.str5419 = private unnamed_addr constant [23 x i8] c"call ptr @realloc(ptr \00"
@.str5420 = private unnamed_addr constant [7 x i8] c", i64 \00"
@.str5421 = private unnamed_addr constant [2 x i8] c")\00"
@.str5422 = private unnamed_addr constant [13 x i8] c" store ptr \00"
@.str5423 = private unnamed_addr constant [7 x i8] c", ptr \00"
@.str5424 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str5425 = private unnamed_addr constant [13 x i8] c" store i32 \00"
@.str5426 = private unnamed_addr constant [7 x i8] c", ptr \00"
@.str5427 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str5428 = private unnamed_addr constant [13 x i8] c" br label %\00"
@.str5429 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str5430 = private unnamed_addr constant [3 x i8] c":\0A\00"
@.str5431 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00"
@.str5432 = private unnamed_addr constant [3 x i8] c" \00"
@.str5433 = private unnamed_addr constant [27 x i8] c" = getelementptr inbounds \00"
@.str5434 = private unnamed_addr constant [7 x i8] c", ptr \00"
@.str5435 = private unnamed_addr constant [7 x i8] c", i32 \00"
@.str5436 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str5437 = private unnamed_addr constant [9 x i8] c" store \00"
@.str5438 = private unnamed_addr constant [2 x i8] c" \00"
@.str5439 = private unnamed_addr constant [7 x i8] c", ptr \00"
@.str5440 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str5441 = private unnamed_addr constant [9 x i8] c"add i32 \00"
@.str5442 = private unnamed_addr constant [4 x i8] c", 1\00"
@.str5443 = private unnamed_addr constant [13 x i8] c" store i32 \00"
@.str5444 = private unnamed_addr constant [7 x i8] c", ptr \00"
@.str5445 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str5446 = private unnamed_addr constant [2 x i8] c"0\00"
@.str5447 = private unnamed_addr constant [5 x i8] c"void\00"
@.str5448 = private unnamed_addr constant [13 x i8] c" store i32 \00"
@.str5449 = private unnamed_addr constant [4 x i8] c"int\00"
@.str5450 = private unnamed_addr constant [7 x i8] c", ptr \00"
@.str5451 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str5452 = private unnamed_addr constant [7 x i8] c"result\00"
@.str5453 = private unnamed_addr constant [33 x i8] c"try expects a result value (got \00"
@.str5454 = private unnamed_addr constant [12 x i8] c") \E2\80\94 line \00"
@.str5455 = private unnamed_addr constant [4 x i8] c"i32\00"
@.str5456 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00"
@.str5457 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str5458 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00"
@.str5459 = private unnamed_addr constant [15 x i8] c", i32 0, i32 0\00"
@.str5460 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
@.str5461 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00"
@.str5462 = private unnamed_addr constant [4 x i8] c", 0\00"
@.str5463 = private unnamed_addr constant [6 x i8] c"tryok\00"
@.str5464 = private unnamed_addr constant [8 x i8] c"tryelse\00"
@.str5465 = private unnamed_addr constant [7 x i8] c"tryend\00"
@.str5466 = private unnamed_addr constant [9 x i8] c" br i1 \00"
@.str5467 = private unnamed_addr constant [10 x i8] c", label %\00"
@.str5468 = private unnamed_addr constant [10 x i8] c", label %\00"
@.str5469 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str5470 = private unnamed_addr constant [3 x i8] c":\0A\00"
@.str5471 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00"
@.str5472 = private unnamed_addr constant [15 x i8] c", i32 0, i32 1\00"
@.str5473 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
@.str5474 = private unnamed_addr constant [13 x i8] c" store i32 \00"
@.str5475 = private unnamed_addr constant [7 x i8] c", ptr \00"
@.str5476 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str5477 = private unnamed_addr constant [13 x i8] c" br label %\00"
@.str5478 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str5479 = private unnamed_addr constant [3 x i8] c":\0A\00"
@.str5480 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00"
@.str5481 = private unnamed_addr constant [15 x i8] c", i32 0, i32 2\00"
@.str5482 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00"
@.str5483 = private unnamed_addr constant [4 x i8] c"ptr\00"
@.str5484 = private unnamed_addr constant [13 x i8] c" store ptr \00"
@.str5485 = private unnamed_addr constant [7 x i8] c", ptr \00"
@.str5486 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str5487 = private unnamed_addr constant [6 x i8] c"error\00"
@.str5488 = private unnamed_addr constant [7 x i8] c"string\00"
@.str5489 = private unnamed_addr constant [13 x i8] c" br label %\00"
@.str5490 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str5491 = private unnamed_addr constant [3 x i8] c":\0A\00"
@.str5492 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
@.str5493 = private unnamed_addr constant [4 x i8] c"int\00"
@.str5494 = private unnamed_addr constant [6 x i8] c"load \00"
@.str5495 = private unnamed_addr constant [7 x i8] c", ptr \00"
@.str5496 = private unnamed_addr constant [4 x i8] c"i32\00"
@.str5497 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00"
@.str5498 = private unnamed_addr constant [4 x i8] c", 0\00"
@.str5499 = private unnamed_addr constant [9 x i8] c"zext i1 \00"
@.str5500 = private unnamed_addr constant [8 x i8] c" to i32\00"
@.str5501 = private unnamed_addr constant [13 x i8] c" store i32 \00"
@.str5502 = private unnamed_addr constant [7 x i8] c", ptr \00"
@.str5503 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str5504 = private unnamed_addr constant [3 x i8] c"sc\00"
@.str5505 = private unnamed_addr constant [6 x i8] c"scend\00"
@.str5506 = private unnamed_addr constant [4 x i8] c"and\00"
@.str5507 = private unnamed_addr constant [9 x i8] c" br i1 \00"
@.str5508 = private unnamed_addr constant [10 x i8] c", label %\00"
@.str5509 = private unnamed_addr constant [10 x i8] c", label %\00"
@.str5510 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str5511 = private unnamed_addr constant [9 x i8] c" br i1 \00"
@.str5512 = private unnamed_addr constant [10 x i8] c", label %\00"
@.str5513 = private unnamed_addr constant [10 x i8] c", label %\00"
@.str5514 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str5515 = private unnamed_addr constant [3 x i8] c":\0A\00"
@.str5516 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00"
@.str5517 = private unnamed_addr constant [4 x i8] c", 0\00"
@.str5518 = private unnamed_addr constant [9 x i8] c"zext i1 \00"
@.str5519 = private unnamed_addr constant [8 x i8] c" to i32\00"
@.str5520 = private unnamed_addr constant [13 x i8] c" store i32 \00"
@.str5521 = private unnamed_addr constant [7 x i8] c", ptr \00"
@.str5522 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str5523 = private unnamed_addr constant [13 x i8] c" br label %\00"
@.str5524 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str5525 = private unnamed_addr constant [3 x i8] c":\0A\00"
@.str5526 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
@.str5527 = private unnamed_addr constant [5 x i8] c"bool\00"
@.str5528 = private unnamed_addr constant [2 x i8] c"<\00"
@.str5529 = private unnamed_addr constant [4 x i8] c"slt\00"
@.str5530 = private unnamed_addr constant [3 x i8] c"<=\00"
@.str5531 = private unnamed_addr constant [4 x i8] c"sle\00"
@.str5532 = private unnamed_addr constant [2 x i8] c">\00"
@.str5533 = private unnamed_addr constant [4 x i8] c"sgt\00"
@.str5534 = private unnamed_addr constant [3 x i8] c">=\00"
@.str5535 = private unnamed_addr constant [4 x i8] c"sge\00"
@.str5536 = private unnamed_addr constant [3 x i8] c"==\00"
@.str5537 = private unnamed_addr constant [3 x i8] c"eq\00"
@.str5538 = private unnamed_addr constant [3 x i8] c"ne\00"
@.str5539 = private unnamed_addr constant [2 x i8] c"<\00"
@.str5540 = private unnamed_addr constant [3 x i8] c"<=\00"
@.str5541 = private unnamed_addr constant [2 x i8] c">\00"
@.str5542 = private unnamed_addr constant [3 x i8] c">=\00"
@.str5543 = private unnamed_addr constant [3 x i8] c"==\00"
@.str5544 = private unnamed_addr constant [3 x i8] c"!=\00"
@.str5545 = private unnamed_addr constant [2 x i8] c"+\00"
@.str5546 = private unnamed_addr constant [4 x i8] c"add\00"
@.str5547 = private unnamed_addr constant [2 x i8] c"-\00"
@.str5548 = private unnamed_addr constant [4 x i8] c"sub\00"
@.str5549 = private unnamed_addr constant [2 x i8] c"*\00"
@.str5550 = private unnamed_addr constant [4 x i8] c"mul\00"
@.str5551 = private unnamed_addr constant [2 x i8] c"/\00"
@.str5552 = private unnamed_addr constant [5 x i8] c"sdiv\00"
@.str5553 = private unnamed_addr constant [2 x i8] c"&\00"
@.str5554 = private unnamed_addr constant [4 x i8] c"and\00"
@.str5555 = private unnamed_addr constant [2 x i8] c"|\00"
@.str5556 = private unnamed_addr constant [3 x i8] c"or\00"
@.str5557 = private unnamed_addr constant [2 x i8] c"^\00"
@.str5558 = private unnamed_addr constant [4 x i8] c"xor\00"
@.str5559 = private unnamed_addr constant [3 x i8] c"<<\00"
@.str5560 = private unnamed_addr constant [4 x i8] c"shl\00"
@.str5561 = private unnamed_addr constant [3 x i8] c">>\00"
@.str5562 = private unnamed_addr constant [5 x i8] c"lshr\00"
@.str5563 = private unnamed_addr constant [5 x i8] c"srem\00"
@.str5564 = private unnamed_addr constant [6 x i8] c"fixed\00"
@.str5565 = private unnamed_addr constant [9 x i8] c"shl i32 \00"
@.str5566 = private unnamed_addr constant [5 x i8] c", 16\00"
@.str5567 = private unnamed_addr constant [4 x i8] c"i64\00"
@.str5568 = private unnamed_addr constant [4 x i8] c"i32\00"
@.str5569 = private unnamed_addr constant [10 x i8] c"sext i32 \00"
@.str5570 = private unnamed_addr constant [8 x i8] c" to i64\00"
@.str5571 = private unnamed_addr constant [4 x i8] c"i32\00"
@.str5572 = private unnamed_addr constant [4 x i8] c"i64\00"
@.str5573 = private unnamed_addr constant [11 x i8] c"trunc i64 \00"
@.str5574 = private unnamed_addr constant [8 x i8] c" to i32\00"
@.str5575 = private unnamed_addr constant [4 x i8] c"i64\00"
@.str5576 = private unnamed_addr constant [10 x i8] c"sext i32 \00"
@.str5577 = private unnamed_addr constant [8 x i8] c" to i64\00"
@.str5578 = private unnamed_addr constant [2 x i8] c"+\00"
@.str5579 = private unnamed_addr constant [29 x i8] c"call ptr @fn_str_concat(ptr \00"
@.str5580 = private unnamed_addr constant [7 x i8] c", ptr \00"
@.str5581 = private unnamed_addr constant [2 x i8] c")\00"
@.str5582 = private unnamed_addr constant [7 x i8] c"string\00"
@.str5583 = private unnamed_addr constant [25 x i8] c"call i32 @fn_str_eq(ptr \00"
@.str5584 = private unnamed_addr constant [7 x i8] c", ptr \00"
@.str5585 = private unnamed_addr constant [2 x i8] c")\00"
@.str5586 = private unnamed_addr constant [3 x i8] c"!=\00"
@.str5587 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00"
@.str5588 = private unnamed_addr constant [4 x i8] c", 0\00"
@.str5589 = private unnamed_addr constant [9 x i8] c"zext i1 \00"
@.str5590 = private unnamed_addr constant [8 x i8] c" to i32\00"
@.str5591 = private unnamed_addr constant [5 x i8] c"bool\00"
@.str5592 = private unnamed_addr constant [5 x i8] c"bool\00"
@.str5593 = private unnamed_addr constant [4 x i8] c"and\00"
@.str5594 = private unnamed_addr constant [3 x i8] c"or\00"
@.str5595 = private unnamed_addr constant [4 x i8] c"ptr\00"
@.str5596 = private unnamed_addr constant [4 x i8] c"ptr\00"
@.str5597 = private unnamed_addr constant [2 x i8] c"+\00"
@.str5598 = private unnamed_addr constant [2 x i8] c"+\00"
@.str5599 = private unnamed_addr constant [3 x i8] c"==\00"
@.str5600 = private unnamed_addr constant [3 x i8] c"!=\00"
@.str5601 = private unnamed_addr constant [6 x i8] c"fixed\00"
@.str5602 = private unnamed_addr constant [6 x i8] c"fixed\00"
@.str5603 = private unnamed_addr constant [4 x i8] c"i64\00"
@.str5604 = private unnamed_addr constant [4 x i8] c"i64\00"
@.str5605 = private unnamed_addr constant [4 x i8] c"i32\00"
@.str5606 = private unnamed_addr constant [4 x i8] c"i64\00"
@.str5607 = private unnamed_addr constant [4 x i8] c"ptr\00"
@.str5608 = private unnamed_addr constant [4 x i8] c"ptr\00"
@.str5609 = private unnamed_addr constant [4 x i8] c"ptr\00"
@.str5610 = private unnamed_addr constant [6 x i8] c"icmp \00"
@.str5611 = private unnamed_addr constant [2 x i8] c" \00"
@.str5612 = private unnamed_addr constant [2 x i8] c" \00"
@.str5613 = private unnamed_addr constant [3 x i8] c", \00"
@.str5614 = private unnamed_addr constant [9 x i8] c"zext i1 \00"
@.str5615 = private unnamed_addr constant [8 x i8] c" to i32\00"
@.str5616 = private unnamed_addr constant [5 x i8] c"bool\00"
@.str5617 = private unnamed_addr constant [6 x i8] c" i64 \00"
@.str5618 = private unnamed_addr constant [3 x i8] c", \00"
@.str5619 = private unnamed_addr constant [5 x i8] c"long\00"
@.str5620 = private unnamed_addr constant [2 x i8] c"*\00"
@.str5621 = private unnamed_addr constant [10 x i8] c"sext i32 \00"
@.str5622 = private unnamed_addr constant [8 x i8] c" to i64\00"
@.str5623 = private unnamed_addr constant [10 x i8] c"sext i32 \00"
@.str5624 = private unnamed_addr constant [8 x i8] c" to i64\00"
@.str5625 = private unnamed_addr constant [9 x i8] c"mul i64 \00"
@.str5626 = private unnamed_addr constant [3 x i8] c", \00"
@.str5627 = private unnamed_addr constant [10 x i8] c"ashr i64 \00"
@.str5628 = private unnamed_addr constant [5 x i8] c", 16\00"
@.str5629 = private unnamed_addr constant [11 x i8] c"trunc i64 \00"
@.str5630 = private unnamed_addr constant [8 x i8] c" to i32\00"
@.str5631 = private unnamed_addr constant [6 x i8] c"fixed\00"
@.str5632 = private unnamed_addr constant [2 x i8] c"/\00"
@.str5633 = private unnamed_addr constant [10 x i8] c"sext i32 \00"
@.str5634 = private unnamed_addr constant [8 x i8] c" to i64\00"
@.str5635 = private unnamed_addr constant [9 x i8] c"shl i64 \00"
@.str5636 = private unnamed_addr constant [5 x i8] c", 16\00"
@.str5637 = private unnamed_addr constant [10 x i8] c"sext i32 \00"
@.str5638 = private unnamed_addr constant [8 x i8] c" to i64\00"
@.str5639 = private unnamed_addr constant [10 x i8] c"sdiv i64 \00"
@.str5640 = private unnamed_addr constant [3 x i8] c", \00"
@.str5641 = private unnamed_addr constant [11 x i8] c"trunc i64 \00"
@.str5642 = private unnamed_addr constant [8 x i8] c" to i32\00"
@.str5643 = private unnamed_addr constant [6 x i8] c"fixed\00"
@.str5644 = private unnamed_addr constant [6 x i8] c" i32 \00"
@.str5645 = private unnamed_addr constant [3 x i8] c", \00"
@.str5646 = private unnamed_addr constant [6 x i8] c"fixed\00"
@.str5647 = private unnamed_addr constant [6 x i8] c" i32 \00"
@.str5648 = private unnamed_addr constant [3 x i8] c", \00"
@.str5649 = private unnamed_addr constant [4 x i8] c"int\00"
@.str5650 = private unnamed_addr constant [59 x i8] c"named and positional arguments cannot be mixed in one call\00"
@.str5651 = private unnamed_addr constant [26 x i8] c"wrong number of arguments\00"
@.str5652 = private unnamed_addr constant [19 x i8] c"no argument named \00"
@.str5653 = private unnamed_addr constant [5 x i8] c"exok\00"
@.str5654 = private unnamed_addr constant [6 x i8] c"exbad\00"
@.str5655 = private unnamed_addr constant [9 x i8] c" br i1 \00"
@.str5656 = private unnamed_addr constant [10 x i8] c", label %\00"
@.str5657 = private unnamed_addr constant [10 x i8] c", label %\00"
@.str5658 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str5659 = private unnamed_addr constant [3 x i8] c":\0A\00"
@.str5660 = private unnamed_addr constant [33 x i8] c" store i32 1, ptr @L_test_fail\0A\00"
@.str5661 = private unnamed_addr constant [1 x i8] c"\00"
@.str5662 = private unnamed_addr constant [51 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_line, ptr \00"
@.str5663 = private unnamed_addr constant [3 x i8] c")\0A\00"
@.str5664 = private unnamed_addr constant [53 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_expect, ptr \00"
@.str5665 = private unnamed_addr constant [7 x i8] c", i32 \00"
@.str5666 = private unnamed_addr constant [7 x i8] c", i32 \00"
@.str5667 = private unnamed_addr constant [3 x i8] c")\0A\00"
@.str5668 = private unnamed_addr constant [13 x i8] c" br label %\00"
@.str5669 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str5670 = private unnamed_addr constant [3 x i8] c":\0A\00"
@.str5671 = private unnamed_addr constant [5 x i8] c"Math\00"
@.str5672 = private unnamed_addr constant [22 x i8] c"unknown builtin Math.\00"
@.str5673 = private unnamed_addr constant [5 x i8] c"Text\00"
@.str5674 = private unnamed_addr constant [22 x i8] c"unknown builtin Text.\00"
@.str5675 = private unnamed_addr constant [5 x i8] c"List\00"
@.str5676 = private unnamed_addr constant [22 x i8] c"unknown builtin List.\00"
@.str5677 = private unnamed_addr constant [5 x i8] c"Ease\00"
@.str5678 = private unnamed_addr constant [22 x i8] c"unknown builtin Ease.\00"
@.str5679 = private unnamed_addr constant [5 x i8] c"Anim\00"
@.str5680 = private unnamed_addr constant [6 x i8] c"Tween\00"
@.str5681 = private unnamed_addr constant [10 x i8] c"Collision\00"
@.str5682 = private unnamed_addr constant [27 x i8] c"unknown builtin Collision.\00"
@.str5683 = private unnamed_addr constant [7 x i8] c"Memory\00"
@.str5684 = private unnamed_addr constant [24 x i8] c"unknown builtin Memory.\00"
@.str5685 = private unnamed_addr constant [6 x i8] c"Color\00"
@.str5686 = private unnamed_addr constant [23 x i8] c"unknown builtin Color.\00"
@.str5687 = private unnamed_addr constant [5 x i8] c"Time\00"
@.str5688 = private unnamed_addr constant [22 x i8] c"unknown builtin Time.\00"
@.str5689 = private unnamed_addr constant [5 x i8] c"Hash\00"
@.str5690 = private unnamed_addr constant [22 x i8] c"unknown builtin Hash.\00"
@.str5691 = private unnamed_addr constant [7 x i8] c"Crypto\00"
@.str5692 = private unnamed_addr constant [24 x i8] c"unknown builtin Crypto.\00"
@.str5693 = private unnamed_addr constant [5 x i8] c"Uuid\00"
@.str5694 = private unnamed_addr constant [22 x i8] c"unknown builtin Uuid.\00"
@.str5695 = private unnamed_addr constant [6 x i8] c"Noise\00"
@.str5696 = private unnamed_addr constant [23 x i8] c"unknown builtin Noise.\00"
@.str5697 = private unnamed_addr constant [4 x i8] c"Log\00"
@.str5698 = private unnamed_addr constant [21 x i8] c"unknown builtin Log.\00"
@.str5699 = private unnamed_addr constant [3 x i8] c"Os\00"
@.str5700 = private unnamed_addr constant [20 x i8] c"unknown builtin Os.\00"
@.str5701 = private unnamed_addr constant [8 x i8] c"Unicode\00"
@.str5702 = private unnamed_addr constant [25 x i8] c"unknown builtin Unicode.\00"
@.str5703 = private unnamed_addr constant [3 x i8] c"Fs\00"
@.str5704 = private unnamed_addr constant [20 x i8] c"unknown builtin Fs.\00"
@.str5705 = private unnamed_addr constant [5 x i8] c"Path\00"
@.str5706 = private unnamed_addr constant [22 x i8] c"unknown builtin Path.\00"
@.str5707 = private unnamed_addr constant [5 x i8] c"Mime\00"
@.str5708 = private unnamed_addr constant [22 x i8] c"unknown builtin Mime.\00"
@.str5709 = private unnamed_addr constant [7 x i8] c"Vector\00"
@.str5710 = private unnamed_addr constant [24 x i8] c"unknown builtin Vector.\00"
@.str5711 = private unnamed_addr constant [9 x i8] c"Duration\00"
@.str5712 = private unnamed_addr constant [26 x i8] c"unknown builtin Duration.\00"
@.str5713 = private unnamed_addr constant [5 x i8] c"Date\00"
@.str5714 = private unnamed_addr constant [22 x i8] c"unknown builtin Date.\00"
@.str5715 = private unnamed_addr constant [9 x i8] c"DateTime\00"
@.str5716 = private unnamed_addr constant [26 x i8] c"unknown builtin DateTime.\00"
@.str5717 = private unnamed_addr constant [6 x i8] c"Clock\00"
@.str5718 = private unnamed_addr constant [23 x i8] c"unknown builtin Clock.\00"
@.str5719 = private unnamed_addr constant [7 x i8] c"Screen\00"
@.str5720 = private unnamed_addr constant [6 x i8] c"clear\00"
@.str5721 = private unnamed_addr constant [6 x i8] c"clear\00"
@.str5722 = private unnamed_addr constant [6 x i8] c"color\00"
@.str5723 = private unnamed_addr constant [15 x i8] c"fill_rectangle\00"
@.str5724 = private unnamed_addr constant [10 x i8] c"fill_rect\00"
@.str5725 = private unnamed_addr constant [2 x i8] c"x\00"
@.str5726 = private unnamed_addr constant [2 x i8] c"y\00"
@.str5727 = private unnamed_addr constant [6 x i8] c"width\00"
@.str5728 = private unnamed_addr constant [7 x i8] c"height\00"
@.str5729 = private unnamed_addr constant [6 x i8] c"color\00"
@.str5730 = private unnamed_addr constant [15 x i8] c"draw_rectangle\00"
@.str5731 = private unnamed_addr constant [11 x i8] c"frame_rect\00"
@.str5732 = private unnamed_addr constant [2 x i8] c"x\00"
@.str5733 = private unnamed_addr constant [2 x i8] c"y\00"
@.str5734 = private unnamed_addr constant [6 x i8] c"width\00"
@.str5735 = private unnamed_addr constant [7 x i8] c"height\00"
@.str5736 = private unnamed_addr constant [6 x i8] c"color\00"
@.str5737 = private unnamed_addr constant [10 x i8] c"put_pixel\00"
@.str5738 = private unnamed_addr constant [7 x i8] c"put_px\00"
@.str5739 = private unnamed_addr constant [2 x i8] c"x\00"
@.str5740 = private unnamed_addr constant [2 x i8] c"y\00"
@.str5741 = private unnamed_addr constant [6 x i8] c"color\00"
@.str5742 = private unnamed_addr constant [10 x i8] c"draw_text\00"
@.str5743 = private unnamed_addr constant [5 x i8] c"text\00"
@.str5744 = private unnamed_addr constant [2 x i8] c"x\00"
@.str5745 = private unnamed_addr constant [2 x i8] c"y\00"
@.str5746 = private unnamed_addr constant [5 x i8] c"text\00"
@.str5747 = private unnamed_addr constant [6 x i8] c"color\00"
@.str5748 = private unnamed_addr constant [6 x i8] c"scale\00"
@.str5749 = private unnamed_addr constant [12 x i8] c"draw_number\00"
@.str5750 = private unnamed_addr constant [9 x i8] c"text_int\00"
@.str5751 = private unnamed_addr constant [2 x i8] c"x\00"
@.str5752 = private unnamed_addr constant [2 x i8] c"y\00"
@.str5753 = private unnamed_addr constant [6 x i8] c"value\00"
@.str5754 = private unnamed_addr constant [6 x i8] c"color\00"
@.str5755 = private unnamed_addr constant [6 x i8] c"scale\00"
@.str5756 = private unnamed_addr constant [5 x i8] c"show\00"
@.str5757 = private unnamed_addr constant [8 x i8] c"present\00"
@.str5758 = private unnamed_addr constant [6 x i8] c"width\00"
@.str5759 = private unnamed_addr constant [9 x i8] c"screen_w\00"
@.str5760 = private unnamed_addr constant [7 x i8] c"height\00"
@.str5761 = private unnamed_addr constant [9 x i8] c"screen_h\00"
@.str5762 = private unnamed_addr constant [7 x i8] c"status\00"
@.str5763 = private unnamed_addr constant [7 x i8] c"status\00"
@.str5764 = private unnamed_addr constant [5 x i8] c"text\00"
@.str5765 = private unnamed_addr constant [5 x i8] c"line\00"
@.str5766 = private unnamed_addr constant [5 x i8] c"line\00"
@.str5767 = private unnamed_addr constant [3 x i8] c"x1\00"
@.str5768 = private unnamed_addr constant [3 x i8] c"y1\00"
@.str5769 = private unnamed_addr constant [3 x i8] c"x2\00"
@.str5770 = private unnamed_addr constant [3 x i8] c"y2\00"
@.str5771 = private unnamed_addr constant [6 x i8] c"color\00"
@.str5772 = private unnamed_addr constant [7 x i8] c"circle\00"
@.str5773 = private unnamed_addr constant [7 x i8] c"circle\00"
@.str5774 = private unnamed_addr constant [2 x i8] c"x\00"
@.str5775 = private unnamed_addr constant [2 x i8] c"y\00"
@.str5776 = private unnamed_addr constant [7 x i8] c"radius\00"
@.str5777 = private unnamed_addr constant [6 x i8] c"color\00"
@.str5778 = private unnamed_addr constant [12 x i8] c"fill_circle\00"
@.str5779 = private unnamed_addr constant [12 x i8] c"fill_circle\00"
@.str5780 = private unnamed_addr constant [2 x i8] c"x\00"
@.str5781 = private unnamed_addr constant [2 x i8] c"y\00"
@.str5782 = private unnamed_addr constant [7 x i8] c"radius\00"
@.str5783 = private unnamed_addr constant [6 x i8] c"color\00"
@.str5784 = private unnamed_addr constant [9 x i8] c"triangle\00"
@.str5785 = private unnamed_addr constant [9 x i8] c"triangle\00"
@.str5786 = private unnamed_addr constant [3 x i8] c"x1\00"
@.str5787 = private unnamed_addr constant [3 x i8] c"y1\00"
@.str5788 = private unnamed_addr constant [3 x i8] c"x2\00"
@.str5789 = private unnamed_addr constant [3 x i8] c"y2\00"
@.str5790 = private unnamed_addr constant [3 x i8] c"x3\00"
@.str5791 = private unnamed_addr constant [3 x i8] c"y3\00"
@.str5792 = private unnamed_addr constant [6 x i8] c"color\00"
@.str5793 = private unnamed_addr constant [14 x i8] c"fill_triangle\00"
@.str5794 = private unnamed_addr constant [14 x i8] c"fill_triangle\00"
@.str5795 = private unnamed_addr constant [3 x i8] c"x1\00"
@.str5796 = private unnamed_addr constant [3 x i8] c"y1\00"
@.str5797 = private unnamed_addr constant [3 x i8] c"x2\00"
@.str5798 = private unnamed_addr constant [3 x i8] c"y2\00"
@.str5799 = private unnamed_addr constant [3 x i8] c"x3\00"
@.str5800 = private unnamed_addr constant [3 x i8] c"y3\00"
@.str5801 = private unnamed_addr constant [6 x i8] c"color\00"
@.str5802 = private unnamed_addr constant [7 x i8] c"sprite\00"
@.str5803 = private unnamed_addr constant [12 x i8] c"draw_sprite\00"
@.str5804 = private unnamed_addr constant [3 x i8] c"id\00"
@.str5805 = private unnamed_addr constant [2 x i8] c"x\00"
@.str5806 = private unnamed_addr constant [2 x i8] c"y\00"
@.str5807 = private unnamed_addr constant [14 x i8] c"sprite_scaled\00"
@.str5808 = private unnamed_addr constant [19 x i8] c"draw_sprite_scaled\00"
@.str5809 = private unnamed_addr constant [3 x i8] c"id\00"
@.str5810 = private unnamed_addr constant [2 x i8] c"x\00"
@.str5811 = private unnamed_addr constant [2 x i8] c"y\00"
@.str5812 = private unnamed_addr constant [6 x i8] c"scale\00"
@.str5813 = private unnamed_addr constant [5 x i8] c"oval\00"
@.str5814 = private unnamed_addr constant [5 x i8] c"oval\00"
@.str5815 = private unnamed_addr constant [2 x i8] c"x\00"
@.str5816 = private unnamed_addr constant [2 x i8] c"y\00"
@.str5817 = private unnamed_addr constant [3 x i8] c"rx\00"
@.str5818 = private unnamed_addr constant [3 x i8] c"ry\00"
@.str5819 = private unnamed_addr constant [6 x i8] c"color\00"
@.str5820 = private unnamed_addr constant [7 x i8] c"camera\00"
@.str5821 = private unnamed_addr constant [7 x i8] c"camera\00"
@.str5822 = private unnamed_addr constant [2 x i8] c"x\00"
@.str5823 = private unnamed_addr constant [2 x i8] c"y\00"
@.str5824 = private unnamed_addr constant [5 x i8] c"clip\00"
@.str5825 = private unnamed_addr constant [5 x i8] c"clip\00"
@.str5826 = private unnamed_addr constant [2 x i8] c"x\00"
@.str5827 = private unnamed_addr constant [2 x i8] c"y\00"
@.str5828 = private unnamed_addr constant [6 x i8] c"width\00"
@.str5829 = private unnamed_addr constant [7 x i8] c"height\00"
@.str5830 = private unnamed_addr constant [11 x i8] c"clip_reset\00"
@.str5831 = private unnamed_addr constant [11 x i8] c"clip_reset\00"
@.str5832 = private unnamed_addr constant [11 x i8] c"blend_mode\00"
@.str5833 = private unnamed_addr constant [11 x i8] c"blend_mode\00"
@.str5834 = private unnamed_addr constant [5 x i8] c"mode\00"
@.str5835 = private unnamed_addr constant [13 x i8] c"measure_text\00"
@.str5836 = private unnamed_addr constant [13 x i8] c"measure_text\00"
@.str5837 = private unnamed_addr constant [5 x i8] c"text\00"
@.str5838 = private unnamed_addr constant [6 x i8] c"pixel\00"
@.str5839 = private unnamed_addr constant [7 x i8] c"get_px\00"
@.str5840 = private unnamed_addr constant [2 x i8] c"x\00"
@.str5841 = private unnamed_addr constant [2 x i8] c"y\00"
@.str5842 = private unnamed_addr constant [7 x i8] c"Camera\00"
@.str5843 = private unnamed_addr constant [4 x i8] c"set\00"
@.str5844 = private unnamed_addr constant [7 x i8] c"camera\00"
@.str5845 = private unnamed_addr constant [2 x i8] c"x\00"
@.str5846 = private unnamed_addr constant [2 x i8] c"y\00"
@.str5847 = private unnamed_addr constant [7 x i8] c"follow\00"
@.str5848 = private unnamed_addr constant [14 x i8] c"camera_follow\00"
@.str5849 = private unnamed_addr constant [2 x i8] c"x\00"
@.str5850 = private unnamed_addr constant [2 x i8] c"y\00"
@.str5851 = private unnamed_addr constant [5 x i8] c"lerp\00"
@.str5852 = private unnamed_addr constant [6 x i8] c"shake\00"
@.str5853 = private unnamed_addr constant [13 x i8] c"camera_shake\00"
@.str5854 = private unnamed_addr constant [7 x i8] c"amount\00"
@.str5855 = private unnamed_addr constant [4 x i8] c"Map\00"
@.str5856 = private unnamed_addr constant [5 x i8] c"size\00"
@.str5857 = private unnamed_addr constant [9 x i8] c"map_size\00"
@.str5858 = private unnamed_addr constant [6 x i8] c"width\00"
@.str5859 = private unnamed_addr constant [7 x i8] c"height\00"
@.str5860 = private unnamed_addr constant [4 x i8] c"row\00"
@.str5861 = private unnamed_addr constant [8 x i8] c"map_row\00"
@.str5862 = private unnamed_addr constant [2 x i8] c"y\00"
@.str5863 = private unnamed_addr constant [6 x i8] c"cells\00"
@.str5864 = private unnamed_addr constant [5 x i8] c"tile\00"
@.str5865 = private unnamed_addr constant [5 x i8] c"tile\00"
@.str5866 = private unnamed_addr constant [2 x i8] c"x\00"
@.str5867 = private unnamed_addr constant [2 x i8] c"y\00"
@.str5868 = private unnamed_addr constant [7 x i8] c"Random\00"
@.str5869 = private unnamed_addr constant [6 x i8] c"range\00"
@.str5870 = private unnamed_addr constant [10 x i8] c"rng_range\00"
@.str5871 = private unnamed_addr constant [4 x i8] c"low\00"
@.str5872 = private unnamed_addr constant [5 x i8] c"high\00"
@.str5873 = private unnamed_addr constant [7 x i8] c"chance\00"
@.str5874 = private unnamed_addr constant [11 x i8] c"rng_chance\00"
@.str5875 = private unnamed_addr constant [8 x i8] c"percent\00"
@.str5876 = private unnamed_addr constant [5 x i8] c"seed\00"
@.str5877 = private unnamed_addr constant [5 x i8] c"seed\00"
@.str5878 = private unnamed_addr constant [6 x i8] c"value\00"
@.str5879 = private unnamed_addr constant [6 x i8] c"value\00"
@.str5880 = private unnamed_addr constant [10 x i8] c"rng_value\00"
@.str5881 = private unnamed_addr constant [4 x i8] c"int\00"
@.str5882 = private unnamed_addr constant [8 x i8] c"rng_int\00"
@.str5883 = private unnamed_addr constant [4 x i8] c"max\00"
@.str5884 = private unnamed_addr constant [5 x i8] c"sign\00"
@.str5885 = private unnamed_addr constant [9 x i8] c"rng_sign\00"
@.str5886 = private unnamed_addr constant [6 x i8] c"Input\00"
@.str5887 = private unnamed_addr constant [4 x i8] c"key\00"
@.str5888 = private unnamed_addr constant [4 x i8] c"key\00"
@.str5889 = private unnamed_addr constant [5 x i8] c"bind\00"
@.str5890 = private unnamed_addr constant [11 x i8] c"input_bind\00"
@.str5891 = private unnamed_addr constant [7 x i8] c"rebind\00"
@.str5892 = private unnamed_addr constant [13 x i8] c"input_rebind\00"
@.str5893 = private unnamed_addr constant [5 x i8] c"poll\00"
@.str5894 = private unnamed_addr constant [11 x i8] c"input_poll\00"
@.str5895 = private unnamed_addr constant [5 x i8] c"down\00"
@.str5896 = private unnamed_addr constant [11 x i8] c"input_down\00"
@.str5897 = private unnamed_addr constant [8 x i8] c"pressed\00"
@.str5898 = private unnamed_addr constant [14 x i8] c"input_pressed\00"
@.str5899 = private unnamed_addr constant [7 x i8] c"record\00"
@.str5900 = private unnamed_addr constant [13 x i8] c"input_record\00"
@.str5901 = private unnamed_addr constant [7 x i8] c"replay\00"
@.str5902 = private unnamed_addr constant [13 x i8] c"input_replay\00"
@.str5903 = private unnamed_addr constant [9 x i8] c"key_down\00"
@.str5904 = private unnamed_addr constant [15 x i8] c"input_key_down\00"
@.str5905 = private unnamed_addr constant [4 x i8] c"key\00"
@.str5906 = private unnamed_addr constant [12 x i8] c"key_pressed\00"
@.str5907 = private unnamed_addr constant [18 x i8] c"input_key_pressed\00"
@.str5908 = private unnamed_addr constant [4 x i8] c"key\00"
@.str5909 = private unnamed_addr constant [13 x i8] c"key_released\00"
@.str5910 = private unnamed_addr constant [19 x i8] c"input_key_released\00"
@.str5911 = private unnamed_addr constant [4 x i8] c"key\00"
@.str5912 = private unnamed_addr constant [6 x i8] c"press\00"
@.str5913 = private unnamed_addr constant [12 x i8] c"input_press\00"
@.str5914 = private unnamed_addr constant [4 x i8] c"key\00"
@.str5915 = private unnamed_addr constant [8 x i8] c"release\00"
@.str5916 = private unnamed_addr constant [14 x i8] c"input_release\00"
@.str5917 = private unnamed_addr constant [4 x i8] c"key\00"
@.str5918 = private unnamed_addr constant [5 x i8] c"axis\00"
@.str5919 = private unnamed_addr constant [11 x i8] c"input_axis\00"
@.str5920 = private unnamed_addr constant [4 x i8] c"neg\00"
@.str5921 = private unnamed_addr constant [4 x i8] c"pos\00"
@.str5922 = private unnamed_addr constant [7 x i8] c"vector\00"
@.str5923 = private unnamed_addr constant [13 x i8] c"input_vector\00"
@.str5924 = private unnamed_addr constant [5 x i8] c"left\00"
@.str5925 = private unnamed_addr constant [6 x i8] c"right\00"
@.str5926 = private unnamed_addr constant [3 x i8] c"up\00"
@.str5927 = private unnamed_addr constant [5 x i8] c"down\00"
@.str5928 = private unnamed_addr constant [9 x i8] c"strength\00"
@.str5929 = private unnamed_addr constant [15 x i8] c"input_strength\00"
@.str5930 = private unnamed_addr constant [7 x i8] c"action\00"
@.str5931 = private unnamed_addr constant [8 x i8] c"mouse_x\00"
@.str5932 = private unnamed_addr constant [14 x i8] c"input_mouse_x\00"
@.str5933 = private unnamed_addr constant [8 x i8] c"mouse_y\00"
@.str5934 = private unnamed_addr constant [14 x i8] c"input_mouse_y\00"
@.str5935 = private unnamed_addr constant [9 x i8] c"mouse_dx\00"
@.str5936 = private unnamed_addr constant [15 x i8] c"input_mouse_dx\00"
@.str5937 = private unnamed_addr constant [9 x i8] c"mouse_dy\00"
@.str5938 = private unnamed_addr constant [15 x i8] c"input_mouse_dy\00"
@.str5939 = private unnamed_addr constant [11 x i8] c"mouse_down\00"
@.str5940 = private unnamed_addr constant [17 x i8] c"input_mouse_down\00"
@.str5941 = private unnamed_addr constant [7 x i8] c"button\00"
@.str5942 = private unnamed_addr constant [6 x i8] c"wheel\00"
@.str5943 = private unnamed_addr constant [12 x i8] c"input_wheel\00"
@.str5944 = private unnamed_addr constant [10 x i8] c"set_mouse\00"
@.str5945 = private unnamed_addr constant [16 x i8] c"input_set_mouse\00"
@.str5946 = private unnamed_addr constant [2 x i8] c"x\00"
@.str5947 = private unnamed_addr constant [2 x i8] c"y\00"
@.str5948 = private unnamed_addr constant [8 x i8] c"buttons\00"
@.str5949 = private unnamed_addr constant [6 x i8] c"wheel\00"
@.str5950 = private unnamed_addr constant [14 x i8] c"pad_connected\00"
@.str5951 = private unnamed_addr constant [20 x i8] c"input_pad_connected\00"
@.str5952 = private unnamed_addr constant [4 x i8] c"pad\00"
@.str5953 = private unnamed_addr constant [11 x i8] c"pad_button\00"
@.str5954 = private unnamed_addr constant [17 x i8] c"input_pad_button\00"
@.str5955 = private unnamed_addr constant [4 x i8] c"pad\00"
@.str5956 = private unnamed_addr constant [7 x i8] c"button\00"
@.str5957 = private unnamed_addr constant [9 x i8] c"pad_axis\00"
@.str5958 = private unnamed_addr constant [15 x i8] c"input_pad_axis\00"
@.str5959 = private unnamed_addr constant [4 x i8] c"pad\00"
@.str5960 = private unnamed_addr constant [5 x i8] c"axis\00"
@.str5961 = private unnamed_addr constant [8 x i8] c"set_pad\00"
@.str5962 = private unnamed_addr constant [14 x i8] c"input_set_pad\00"
@.str5963 = private unnamed_addr constant [4 x i8] c"pad\00"
@.str5964 = private unnamed_addr constant [10 x i8] c"connected\00"
@.str5965 = private unnamed_addr constant [8 x i8] c"buttons\00"
@.str5966 = private unnamed_addr constant [3 x i8] c"lx\00"
@.str5967 = private unnamed_addr constant [3 x i8] c"ly\00"
@.str5968 = private unnamed_addr constant [3 x i8] c"rx\00"
@.str5969 = private unnamed_addr constant [3 x i8] c"ry\00"
@.str5970 = private unnamed_addr constant [12 x i8] c"touch_count\00"
@.str5971 = private unnamed_addr constant [18 x i8] c"input_touch_count\00"
@.str5972 = private unnamed_addr constant [8 x i8] c"touch_x\00"
@.str5973 = private unnamed_addr constant [14 x i8] c"input_touch_x\00"
@.str5974 = private unnamed_addr constant [6 x i8] c"index\00"
@.str5975 = private unnamed_addr constant [8 x i8] c"touch_y\00"
@.str5976 = private unnamed_addr constant [14 x i8] c"input_touch_y\00"
@.str5977 = private unnamed_addr constant [6 x i8] c"index\00"
@.str5978 = private unnamed_addr constant [10 x i8] c"set_touch\00"
@.str5979 = private unnamed_addr constant [16 x i8] c"input_set_touch\00"
@.str5980 = private unnamed_addr constant [6 x i8] c"index\00"
@.str5981 = private unnamed_addr constant [2 x i8] c"x\00"
@.str5982 = private unnamed_addr constant [2 x i8] c"y\00"
@.str5983 = private unnamed_addr constant [7 x i8] c"active\00"
@.str5984 = private unnamed_addr constant [6 x i8] c"Audio\00"
@.str5985 = private unnamed_addr constant [5 x i8] c"load\00"
@.str5986 = private unnamed_addr constant [11 x i8] c"audio_load\00"
@.str5987 = private unnamed_addr constant [5 x i8] c"path\00"
@.str5988 = private unnamed_addr constant [5 x i8] c"play\00"
@.str5989 = private unnamed_addr constant [11 x i8] c"audio_play\00"
@.str5990 = private unnamed_addr constant [3 x i8] c"id\00"
@.str5991 = private unnamed_addr constant [11 x i8] c"play_sound\00"
@.str5992 = private unnamed_addr constant [11 x i8] c"audio_play\00"
@.str5993 = private unnamed_addr constant [3 x i8] c"id\00"
@.str5994 = private unnamed_addr constant [11 x i8] c"play_music\00"
@.str5995 = private unnamed_addr constant [17 x i8] c"audio_play_music\00"
@.str5996 = private unnamed_addr constant [3 x i8] c"id\00"
@.str5997 = private unnamed_addr constant [5 x i8] c"stop\00"
@.str5998 = private unnamed_addr constant [11 x i8] c"audio_stop\00"
@.str5999 = private unnamed_addr constant [3 x i8] c"id\00"
@.str6000 = private unnamed_addr constant [11 x i8] c"stop_music\00"
@.str6001 = private unnamed_addr constant [17 x i8] c"audio_stop_music\00"
@.str6002 = private unnamed_addr constant [9 x i8] c"stop_all\00"
@.str6003 = private unnamed_addr constant [15 x i8] c"audio_stop_all\00"
@.str6004 = private unnamed_addr constant [7 x i8] c"volume\00"
@.str6005 = private unnamed_addr constant [13 x i8] c"audio_volume\00"
@.str6006 = private unnamed_addr constant [2 x i8] c"v\00"
@.str6007 = private unnamed_addr constant [6 x i8] c"pitch\00"
@.str6008 = private unnamed_addr constant [12 x i8] c"audio_pitch\00"
@.str6009 = private unnamed_addr constant [2 x i8] c"v\00"
@.str6010 = private unnamed_addr constant [11 x i8] c"is_playing\00"
@.str6011 = private unnamed_addr constant [17 x i8] c"audio_is_playing\00"
@.str6012 = private unnamed_addr constant [3 x i8] c"id\00"
@.str6013 = private unnamed_addr constant [6 x i8] c"World\00"
@.str6014 = private unnamed_addr constant [4 x i8] c"get\00"
@.str6015 = private unnamed_addr constant [10 x i8] c"world_get\00"
@.str6016 = private unnamed_addr constant [4 x i8] c"set\00"
@.str6017 = private unnamed_addr constant [10 x i8] c"world_set\00"
@.str6018 = private unnamed_addr constant [4 x i8] c"has\00"
@.str6019 = private unnamed_addr constant [10 x i8] c"world_has\00"
@.str6020 = private unnamed_addr constant [6 x i8] c"count\00"
@.str6021 = private unnamed_addr constant [12 x i8] c"world_count\00"
@.str6022 = private unnamed_addr constant [5 x i8] c"size\00"
@.str6023 = private unnamed_addr constant [11 x i8] c"world_size\00"
@.str6024 = private unnamed_addr constant [6 x i8] c"spawn\00"
@.str6025 = private unnamed_addr constant [12 x i8] c"world_spawn\00"
@.str6026 = private unnamed_addr constant [5 x i8] c"save\00"
@.str6027 = private unnamed_addr constant [11 x i8] c"world_save\00"
@.str6028 = private unnamed_addr constant [5 x i8] c"load\00"
@.str6029 = private unnamed_addr constant [11 x i8] c"world_load\00"
@.str6030 = private unnamed_addr constant [8 x i8] c"prop_id\00"
@.str6031 = private unnamed_addr constant [14 x i8] c"world_prop_id\00"
@.str6032 = private unnamed_addr constant [9 x i8] c"field_id\00"
@.str6033 = private unnamed_addr constant [15 x i8] c"world_field_id\00"
@.str6034 = private unnamed_addr constant [9 x i8] c"model_id\00"
@.str6035 = private unnamed_addr constant [15 x i8] c"world_model_id\00"
@.str6036 = private unnamed_addr constant [5 x i8] c"kind\00"
@.str6037 = private unnamed_addr constant [11 x i8] c"world_kind\00"
@.str6038 = private unnamed_addr constant [14 x i8] c"register_prop\00"
@.str6039 = private unnamed_addr constant [20 x i8] c"world_register_prop\00"
@.str6040 = private unnamed_addr constant [7 x i8] c"attach\00"
@.str6041 = private unnamed_addr constant [17 x i8] c"world_attach_dyn\00"
@.str6042 = private unnamed_addr constant [7 x i8] c"detach\00"
@.str6043 = private unnamed_addr constant [17 x i8] c"world_detach_dyn\00"
@.str6044 = private unnamed_addr constant [11 x i8] c"query_next\00"
@.str6045 = private unnamed_addr constant [17 x i8] c"world_query_next\00"
@.str6046 = private unnamed_addr constant [8 x i8] c"Network\00"
@.str6047 = private unnamed_addr constant [5 x i8] c"send\00"
@.str6048 = private unnamed_addr constant [9 x i8] c"net_send\00"
@.str6049 = private unnamed_addr constant [5 x i8] c"poll\00"
@.str6050 = private unnamed_addr constant [9 x i8] c"net_poll\00"
@.str6051 = private unnamed_addr constant [10 x i8] c"serialize\00"
@.str6052 = private unnamed_addr constant [10 x i8] c"serialize\00"
@.str6053 = private unnamed_addr constant [6 x i8] c"apply\00"
@.str6054 = private unnamed_addr constant [6 x i8] c"apply\00"
@.str6055 = private unnamed_addr constant [6 x i8] c"owner\00"
@.str6056 = private unnamed_addr constant [6 x i8] c"owner\00"
@.str6057 = private unnamed_addr constant [10 x i8] c"set_owner\00"
@.str6058 = private unnamed_addr constant [10 x i8] c"set_owner\00"
@.str6059 = private unnamed_addr constant [10 x i8] c"is_server\00"
@.str6060 = private unnamed_addr constant [10 x i8] c"is_server\00"
@.str6061 = private unnamed_addr constant [9 x i8] c"is_owner\00"
@.str6062 = private unnamed_addr constant [9 x i8] c"is_owner\00"
@.str6063 = private unnamed_addr constant [9 x i8] c"local_id\00"
@.str6064 = private unnamed_addr constant [9 x i8] c"local_id\00"
@.str6065 = private unnamed_addr constant [7 x i8] c"System\00"
@.str6066 = private unnamed_addr constant [4 x i8] c"run\00"
@.str6067 = private unnamed_addr constant [4 x i8] c"run\00"
@.str6068 = private unnamed_addr constant [10 x i8] c"read_char\00"
@.str6069 = private unnamed_addr constant [10 x i8] c"read_char\00"
@.str6070 = private unnamed_addr constant [10 x i8] c"file_open\00"
@.str6071 = private unnamed_addr constant [10 x i8] c"file_open\00"
@.str6072 = private unnamed_addr constant [10 x i8] c"file_read\00"
@.str6073 = private unnamed_addr constant [10 x i8] c"file_read\00"
@.str6074 = private unnamed_addr constant [11 x i8] c"file_write\00"
@.str6075 = private unnamed_addr constant [11 x i8] c"file_write\00"
@.str6076 = private unnamed_addr constant [10 x i8] c"file_seek\00"
@.str6077 = private unnamed_addr constant [10 x i8] c"file_seek\00"
@.str6078 = private unnamed_addr constant [10 x i8] c"file_tell\00"
@.str6079 = private unnamed_addr constant [10 x i8] c"file_tell\00"
@.str6080 = private unnamed_addr constant [11 x i8] c"file_close\00"
@.str6081 = private unnamed_addr constant [11 x i8] c"file_close\00"
@.str6082 = private unnamed_addr constant [5 x i8] c"Save\00"
@.str6083 = private unnamed_addr constant [6 x i8] c"write\00"
@.str6084 = private unnamed_addr constant [5 x i8] c"save\00"
@.str6085 = private unnamed_addr constant [5 x i8] c"read\00"
@.str6086 = private unnamed_addr constant [5 x i8] c"load\00"
@.str6087 = private unnamed_addr constant [6 x i8] c"Regex\00"
@.str6088 = private unnamed_addr constant [8 x i8] c"compile\00"
@.str6089 = private unnamed_addr constant [14 x i8] c"regex_compile\00"
@.str6090 = private unnamed_addr constant [8 x i8] c"pattern\00"
@.str6091 = private unnamed_addr constant [6 x i8] c"valid\00"
@.str6092 = private unnamed_addr constant [12 x i8] c"regex_valid\00"
@.str6093 = private unnamed_addr constant [8 x i8] c"pattern\00"
@.str6094 = private unnamed_addr constant [8 x i8] c"matches\00"
@.str6095 = private unnamed_addr constant [14 x i8] c"regex_matches\00"
@.str6096 = private unnamed_addr constant [5 x i8] c"text\00"
@.str6097 = private unnamed_addr constant [8 x i8] c"pattern\00"
@.str6098 = private unnamed_addr constant [5 x i8] c"test\00"
@.str6099 = private unnamed_addr constant [11 x i8] c"regex_test\00"
@.str6100 = private unnamed_addr constant [5 x i8] c"text\00"
@.str6101 = private unnamed_addr constant [3 x i8] c"re\00"
@.str6102 = private unnamed_addr constant [5 x i8] c"find\00"
@.str6103 = private unnamed_addr constant [11 x i8] c"regex_find\00"
@.str6104 = private unnamed_addr constant [5 x i8] c"text\00"
@.str6105 = private unnamed_addr constant [8 x i8] c"pattern\00"
@.str6106 = private unnamed_addr constant [5 x i8] c"exec\00"
@.str6107 = private unnamed_addr constant [11 x i8] c"regex_exec\00"
@.str6108 = private unnamed_addr constant [5 x i8] c"text\00"
@.str6109 = private unnamed_addr constant [3 x i8] c"re\00"
@.str6110 = private unnamed_addr constant [5 x i8] c"next\00"
@.str6111 = private unnamed_addr constant [11 x i8] c"regex_next\00"
@.str6112 = private unnamed_addr constant [5 x i8] c"text\00"
@.str6113 = private unnamed_addr constant [3 x i8] c"re\00"
@.str6114 = private unnamed_addr constant [5 x i8] c"from\00"
@.str6115 = private unnamed_addr constant [8 x i8] c"replace\00"
@.str6116 = private unnamed_addr constant [14 x i8] c"regex_replace\00"
@.str6117 = private unnamed_addr constant [5 x i8] c"text\00"
@.str6118 = private unnamed_addr constant [8 x i8] c"pattern\00"
@.str6119 = private unnamed_addr constant [12 x i8] c"replacement\00"
@.str6120 = private unnamed_addr constant [6 x i8] c"group\00"
@.str6121 = private unnamed_addr constant [12 x i8] c"regex_group\00"
@.str6122 = private unnamed_addr constant [6 x i8] c"match\00"
@.str6123 = private unnamed_addr constant [2 x i8] c"n\00"
@.str6124 = private unnamed_addr constant [12 x i8] c"group_count\00"
@.str6125 = private unnamed_addr constant [18 x i8] c"regex_group_count\00"
@.str6126 = private unnamed_addr constant [6 x i8] c"match\00"
@.str6127 = private unnamed_addr constant [6 x i8] c"start\00"
@.str6128 = private unnamed_addr constant [12 x i8] c"regex_start\00"
@.str6129 = private unnamed_addr constant [6 x i8] c"match\00"
@.str6130 = private unnamed_addr constant [2 x i8] c"n\00"
@.str6131 = private unnamed_addr constant [4 x i8] c"end\00"
@.str6132 = private unnamed_addr constant [10 x i8] c"regex_end\00"
@.str6133 = private unnamed_addr constant [6 x i8] c"match\00"
@.str6134 = private unnamed_addr constant [2 x i8] c"n\00"
@.str6135 = private unnamed_addr constant [3 x i8] c"ok\00"
@.str6136 = private unnamed_addr constant [9 x i8] c"regex_ok\00"
@.str6137 = private unnamed_addr constant [6 x i8] c"match\00"
@.str6138 = private unnamed_addr constant [5 x i8] c"Grid\00"
@.str6139 = private unnamed_addr constant [5 x i8] c"line\00"
@.str6140 = private unnamed_addr constant [10 x i8] c"grid_line\00"
@.str6141 = private unnamed_addr constant [3 x i8] c"x0\00"
@.str6142 = private unnamed_addr constant [3 x i8] c"y0\00"
@.str6143 = private unnamed_addr constant [3 x i8] c"x1\00"
@.str6144 = private unnamed_addr constant [3 x i8] c"y1\00"
@.str6145 = private unnamed_addr constant [8 x i8] c"blocked\00"
@.str6146 = private unnamed_addr constant [13 x i8] c"grid_blocked\00"
@.str6147 = private unnamed_addr constant [2 x i8] c"x\00"
@.str6148 = private unnamed_addr constant [2 x i8] c"y\00"
@.str6149 = private unnamed_addr constant [5 x i8] c"wall\00"
@.str6150 = private unnamed_addr constant [14 x i8] c"line_of_sight\00"
@.str6151 = private unnamed_addr constant [19 x i8] c"grid_line_of_sight\00"
@.str6152 = private unnamed_addr constant [3 x i8] c"x0\00"
@.str6153 = private unnamed_addr constant [3 x i8] c"y0\00"
@.str6154 = private unnamed_addr constant [3 x i8] c"x1\00"
@.str6155 = private unnamed_addr constant [3 x i8] c"y1\00"
@.str6156 = private unnamed_addr constant [5 x i8] c"wall\00"
@.str6157 = private unnamed_addr constant [6 x i8] c"flood\00"
@.str6158 = private unnamed_addr constant [11 x i8] c"grid_flood\00"
@.str6159 = private unnamed_addr constant [2 x i8] c"x\00"
@.str6160 = private unnamed_addr constant [2 x i8] c"y\00"
@.str6161 = private unnamed_addr constant [5 x i8] c"wall\00"
@.str6162 = private unnamed_addr constant [7 x i8] c"a_star\00"
@.str6163 = private unnamed_addr constant [12 x i8] c"path_a_star\00"
@.str6164 = private unnamed_addr constant [3 x i8] c"x0\00"
@.str6165 = private unnamed_addr constant [3 x i8] c"y0\00"
@.str6166 = private unnamed_addr constant [3 x i8] c"x1\00"
@.str6167 = private unnamed_addr constant [3 x i8] c"y1\00"
@.str6168 = private unnamed_addr constant [5 x i8] c"wall\00"
@.str6169 = private unnamed_addr constant [6 x i8] c"Light\00"
@.str6170 = private unnamed_addr constant [8 x i8] c"ambient\00"
@.str6171 = private unnamed_addr constant [14 x i8] c"light_ambient\00"
@.str6172 = private unnamed_addr constant [6 x i8] c"color\00"
@.str6173 = private unnamed_addr constant [6 x i8] c"point\00"
@.str6174 = private unnamed_addr constant [12 x i8] c"light_point\00"
@.str6175 = private unnamed_addr constant [2 x i8] c"x\00"
@.str6176 = private unnamed_addr constant [2 x i8] c"y\00"
@.str6177 = private unnamed_addr constant [7 x i8] c"radius\00"
@.str6178 = private unnamed_addr constant [6 x i8] c"color\00"
@.str6179 = private unnamed_addr constant [7 x i8] c"energy\00"
@.str6180 = private unnamed_addr constant [5 x i8] c"spot\00"
@.str6181 = private unnamed_addr constant [11 x i8] c"light_spot\00"
@.str6182 = private unnamed_addr constant [2 x i8] c"x\00"
@.str6183 = private unnamed_addr constant [2 x i8] c"y\00"
@.str6184 = private unnamed_addr constant [7 x i8] c"radius\00"
@.str6185 = private unnamed_addr constant [6 x i8] c"color\00"
@.str6186 = private unnamed_addr constant [7 x i8] c"energy\00"
@.str6187 = private unnamed_addr constant [10 x i8] c"direction\00"
@.str6188 = private unnamed_addr constant [7 x i8] c"spread\00"
@.str6189 = private unnamed_addr constant [8 x i8] c"occlude\00"
@.str6190 = private unnamed_addr constant [14 x i8] c"light_occlude\00"
@.str6191 = private unnamed_addr constant [2 x i8] c"x\00"
@.str6192 = private unnamed_addr constant [2 x i8] c"y\00"
@.str6193 = private unnamed_addr constant [6 x i8] c"width\00"
@.str6194 = private unnamed_addr constant [7 x i8] c"height\00"
@.str6195 = private unnamed_addr constant [16 x i8] c"clear_occluders\00"
@.str6196 = private unnamed_addr constant [22 x i8] c"light_clear_occluders\00"
@.str6197 = private unnamed_addr constant [8 x i8] c"falloff\00"
@.str6198 = private unnamed_addr constant [18 x i8] c"light_set_falloff\00"
@.str6199 = private unnamed_addr constant [9 x i8] c"exponent\00"
@.str6200 = private unnamed_addr constant [5 x i8] c"soft\00"
@.str6201 = private unnamed_addr constant [15 x i8] c"light_set_soft\00"
@.str6202 = private unnamed_addr constant [7 x i8] c"radius\00"
@.str6203 = private unnamed_addr constant [4 x i8] c"gel\00"
@.str6204 = private unnamed_addr constant [14 x i8] c"light_set_gel\00"
@.str6205 = private unnamed_addr constant [6 x i8] c"color\00"
@.str6206 = private unnamed_addr constant [10 x i8] c"clear_gel\00"
@.str6207 = private unnamed_addr constant [16 x i8] c"light_clear_gel\00"
@.str6208 = private unnamed_addr constant [7 x i8] c"height\00"
@.str6209 = private unnamed_addr constant [17 x i8] c"light_set_height\00"
@.str6210 = private unnamed_addr constant [7 x i8] c"height\00"
@.str6211 = private unnamed_addr constant [7 x i8] c"normal\00"
@.str6212 = private unnamed_addr constant [18 x i8] c"light_normal_rect\00"
@.str6213 = private unnamed_addr constant [2 x i8] c"x\00"
@.str6214 = private unnamed_addr constant [2 x i8] c"y\00"
@.str6215 = private unnamed_addr constant [6 x i8] c"width\00"
@.str6216 = private unnamed_addr constant [7 x i8] c"height\00"
@.str6217 = private unnamed_addr constant [3 x i8] c"nx\00"
@.str6218 = private unnamed_addr constant [3 x i8] c"ny\00"
@.str6219 = private unnamed_addr constant [14 x i8] c"clear_normals\00"
@.str6220 = private unnamed_addr constant [20 x i8] c"light_clear_normals\00"
@.str6221 = private unnamed_addr constant [12 x i8] c"time_of_day\00"
@.str6222 = private unnamed_addr constant [18 x i8] c"light_time_of_day\00"
@.str6223 = private unnamed_addr constant [2 x i8] c"t\00"
@.str6224 = private unnamed_addr constant [5 x i8] c"Anim\00"
@.str6225 = private unnamed_addr constant [5 x i8] c"clip\00"
@.str6226 = private unnamed_addr constant [10 x i8] c"anim_clip\00"
@.str6227 = private unnamed_addr constant [5 x i8] c"name\00"
@.str6228 = private unnamed_addr constant [7 x i8] c"frames\00"
@.str6229 = private unnamed_addr constant [4 x i8] c"fps\00"
@.str6230 = private unnamed_addr constant [5 x i8] c"mode\00"
@.str6231 = private unnamed_addr constant [9 x i8] c"on_frame\00"
@.str6232 = private unnamed_addr constant [14 x i8] c"anim_on_frame\00"
@.str6233 = private unnamed_addr constant [7 x i8] c"entity\00"
@.str6234 = private unnamed_addr constant [6 x i8] c"frame\00"
@.str6235 = private unnamed_addr constant [6 x i8] c"fired\00"
@.str6236 = private unnamed_addr constant [11 x i8] c"anim_fired\00"
@.str6237 = private unnamed_addr constant [7 x i8] c"entity\00"
@.str6238 = private unnamed_addr constant [5 x i8] c"play\00"
@.str6239 = private unnamed_addr constant [16 x i8] c"anim_play_named\00"
@.str6240 = private unnamed_addr constant [7 x i8] c"entity\00"
@.str6241 = private unnamed_addr constant [5 x i8] c"clip\00"
@.str6242 = private unnamed_addr constant [10 x i8] c"anim_play\00"
@.str6243 = private unnamed_addr constant [7 x i8] c"entity\00"
@.str6244 = private unnamed_addr constant [4 x i8] c"fps\00"
@.str6245 = private unnamed_addr constant [7 x i8] c"frames\00"
@.str6246 = private unnamed_addr constant [5 x i8] c"mode\00"
@.str6247 = private unnamed_addr constant [7 x i8] c"Motion\00"
@.str6248 = private unnamed_addr constant [3 x i8] c"to\00"
@.str6249 = private unnamed_addr constant [10 x i8] c"motion_to\00"
@.str6250 = private unnamed_addr constant [7 x i8] c"entity\00"
@.str6251 = private unnamed_addr constant [5 x i8] c"from\00"
@.str6252 = private unnamed_addr constant [3 x i8] c"to\00"
@.str6253 = private unnamed_addr constant [4 x i8] c"dur\00"
@.str6254 = private unnamed_addr constant [5 x i8] c"ease\00"
@.str6255 = private unnamed_addr constant [6 x i8] c"Tween\00"
@.str6256 = private unnamed_addr constant [3 x i8] c"to\00"
@.str6257 = private unnamed_addr constant [9 x i8] c"tween_to\00"
@.str6258 = private unnamed_addr constant [5 x i8] c"from\00"
@.str6259 = private unnamed_addr constant [3 x i8] c"to\00"
@.str6260 = private unnamed_addr constant [4 x i8] c"dur\00"
@.str6261 = private unnamed_addr constant [5 x i8] c"ease\00"
@.str6262 = private unnamed_addr constant [6 x i8] c"chain\00"
@.str6263 = private unnamed_addr constant [12 x i8] c"tween_chain\00"
@.str6264 = private unnamed_addr constant [7 x i8] c"handle\00"
@.str6265 = private unnamed_addr constant [3 x i8] c"to\00"
@.str6266 = private unnamed_addr constant [4 x i8] c"dur\00"
@.str6267 = private unnamed_addr constant [5 x i8] c"ease\00"
@.str6268 = private unnamed_addr constant [6 x i8] c"delay\00"
@.str6269 = private unnamed_addr constant [12 x i8] c"tween_delay\00"
@.str6270 = private unnamed_addr constant [7 x i8] c"handle\00"
@.str6271 = private unnamed_addr constant [6 x i8] c"ticks\00"
@.str6272 = private unnamed_addr constant [6 x i8] c"value\00"
@.str6273 = private unnamed_addr constant [12 x i8] c"tween_value\00"
@.str6274 = private unnamed_addr constant [7 x i8] c"handle\00"
@.str6275 = private unnamed_addr constant [5 x i8] c"stop\00"
@.str6276 = private unnamed_addr constant [11 x i8] c"tween_stop\00"
@.str6277 = private unnamed_addr constant [7 x i8] c"handle\00"
@.str6278 = private unnamed_addr constant [9 x i8] c"parallel\00"
@.str6279 = private unnamed_addr constant [15 x i8] c"tween_parallel\00"
@.str6280 = private unnamed_addr constant [2 x i8] c"a\00"
@.str6281 = private unnamed_addr constant [2 x i8] c"b\00"
@.str6282 = private unnamed_addr constant [6 x i8] c"Query\00"
@.str6283 = private unnamed_addr constant [6 x i8] c"count\00"
@.str6284 = private unnamed_addr constant [12 x i8] c"query_count\00"
@.str6285 = private unnamed_addr constant [5 x i8] c"prop\00"
@.str6286 = private unnamed_addr constant [6 x i8] c"first\00"
@.str6287 = private unnamed_addr constant [12 x i8] c"query_first\00"
@.str6288 = private unnamed_addr constant [5 x i8] c"prop\00"
@.str6289 = private unnamed_addr constant [8 x i8] c"nearest\00"
@.str6290 = private unnamed_addr constant [14 x i8] c"query_nearest\00"
@.str6291 = private unnamed_addr constant [5 x i8] c"prop\00"
@.str6292 = private unnamed_addr constant [4 x i8] c"pos\00"
@.str6293 = private unnamed_addr constant [8 x i8] c"x_field\00"
@.str6294 = private unnamed_addr constant [8 x i8] c"y_field\00"
@.str6295 = private unnamed_addr constant [2 x i8] c"x\00"
@.str6296 = private unnamed_addr constant [2 x i8] c"y\00"
@.str6297 = private unnamed_addr constant [7 x i8] c"within\00"
@.str6298 = private unnamed_addr constant [13 x i8] c"query_within\00"
@.str6299 = private unnamed_addr constant [5 x i8] c"prop\00"
@.str6300 = private unnamed_addr constant [4 x i8] c"pos\00"
@.str6301 = private unnamed_addr constant [2 x i8] c"x\00"
@.str6302 = private unnamed_addr constant [2 x i8] c"y\00"
@.str6303 = private unnamed_addr constant [7 x i8] c"radius\00"
@.str6304 = private unnamed_addr constant [8 x i8] c"x_field\00"
@.str6305 = private unnamed_addr constant [8 x i8] c"y_field\00"
@.str6306 = private unnamed_addr constant [8 x i8] c"Reflect\00"
@.str6307 = private unnamed_addr constant [5 x i8] c"prop\00"
@.str6308 = private unnamed_addr constant [14 x i8] c"world_prop_id\00"
@.str6309 = private unnamed_addr constant [5 x i8] c"name\00"
@.str6310 = private unnamed_addr constant [6 x i8] c"field\00"
@.str6311 = private unnamed_addr constant [15 x i8] c"world_field_id\00"
@.str6312 = private unnamed_addr constant [5 x i8] c"prop\00"
@.str6313 = private unnamed_addr constant [5 x i8] c"name\00"
@.str6314 = private unnamed_addr constant [11 x i8] c"prop_count\00"
@.str6315 = private unnamed_addr constant [17 x i8] c"world_prop_count\00"
@.str6316 = private unnamed_addr constant [10 x i8] c"prop_name\00"
@.str6317 = private unnamed_addr constant [16 x i8] c"world_prop_name\00"
@.str6318 = private unnamed_addr constant [6 x i8] c"index\00"
@.str6319 = private unnamed_addr constant [12 x i8] c"field_count\00"
@.str6320 = private unnamed_addr constant [18 x i8] c"world_field_count\00"
@.str6321 = private unnamed_addr constant [5 x i8] c"prop\00"
@.str6322 = private unnamed_addr constant [11 x i8] c"field_name\00"
@.str6323 = private unnamed_addr constant [17 x i8] c"world_field_name\00"
@.str6324 = private unnamed_addr constant [5 x i8] c"prop\00"
@.str6325 = private unnamed_addr constant [6 x i8] c"index\00"
@.str6326 = private unnamed_addr constant [11 x i8] c"field_type\00"
@.str6327 = private unnamed_addr constant [17 x i8] c"world_field_type\00"
@.str6328 = private unnamed_addr constant [5 x i8] c"prop\00"
@.str6329 = private unnamed_addr constant [6 x i8] c"index\00"
@.str6330 = private unnamed_addr constant [4 x i8] c"get\00"
@.str6331 = private unnamed_addr constant [10 x i8] c"world_get\00"
@.str6332 = private unnamed_addr constant [7 x i8] c"entity\00"
@.str6333 = private unnamed_addr constant [5 x i8] c"prop\00"
@.str6334 = private unnamed_addr constant [6 x i8] c"field\00"
@.str6335 = private unnamed_addr constant [4 x i8] c"set\00"
@.str6336 = private unnamed_addr constant [10 x i8] c"world_set\00"
@.str6337 = private unnamed_addr constant [7 x i8] c"entity\00"
@.str6338 = private unnamed_addr constant [5 x i8] c"prop\00"
@.str6339 = private unnamed_addr constant [6 x i8] c"field\00"
@.str6340 = private unnamed_addr constant [6 x i8] c"value\00"
@.str6341 = private unnamed_addr constant [4 x i8] c"has\00"
@.str6342 = private unnamed_addr constant [10 x i8] c"world_has\00"
@.str6343 = private unnamed_addr constant [7 x i8] c"entity\00"
@.str6344 = private unnamed_addr constant [5 x i8] c"prop\00"
@.str6345 = private unnamed_addr constant [5 x i8] c"kind\00"
@.str6346 = private unnamed_addr constant [11 x i8] c"world_kind\00"
@.str6347 = private unnamed_addr constant [7 x i8] c"entity\00"
@.str6348 = private unnamed_addr constant [6 x i8] c"model\00"
@.str6349 = private unnamed_addr constant [15 x i8] c"world_model_id\00"
@.str6350 = private unnamed_addr constant [5 x i8] c"name\00"
@.str6351 = private unnamed_addr constant [10 x i8] c"serialize\00"
@.str6352 = private unnamed_addr constant [18 x i8] c"reflect_serialize\00"
@.str6353 = private unnamed_addr constant [7 x i8] c"entity\00"
@.str6354 = private unnamed_addr constant [6 x i8] c"apply\00"
@.str6355 = private unnamed_addr constant [14 x i8] c"reflect_apply\00"
@.str6356 = private unnamed_addr constant [7 x i8] c"entity\00"
@.str6357 = private unnamed_addr constant [6 x i8] c"value\00"
@.str6358 = private unnamed_addr constant [6 x i8] c"Value\00"
@.str6359 = private unnamed_addr constant [5 x i8] c"null\00"
@.str6360 = private unnamed_addr constant [11 x i8] c"value_null\00"
@.str6361 = private unnamed_addr constant [4 x i8] c"int\00"
@.str6362 = private unnamed_addr constant [10 x i8] c"value_int\00"
@.str6363 = private unnamed_addr constant [2 x i8] c"n\00"
@.str6364 = private unnamed_addr constant [6 x i8] c"fixed\00"
@.str6365 = private unnamed_addr constant [12 x i8] c"value_fixed\00"
@.str6366 = private unnamed_addr constant [2 x i8] c"f\00"
@.str6367 = private unnamed_addr constant [5 x i8] c"bool\00"
@.str6368 = private unnamed_addr constant [11 x i8] c"value_bool\00"
@.str6369 = private unnamed_addr constant [2 x i8] c"b\00"
@.str6370 = private unnamed_addr constant [4 x i8] c"str\00"
@.str6371 = private unnamed_addr constant [10 x i8] c"value_str\00"
@.str6372 = private unnamed_addr constant [2 x i8] c"s\00"
@.str6373 = private unnamed_addr constant [5 x i8] c"list\00"
@.str6374 = private unnamed_addr constant [11 x i8] c"value_list\00"
@.str6375 = private unnamed_addr constant [7 x i8] c"object\00"
@.str6376 = private unnamed_addr constant [13 x i8] c"value_object\00"
@.str6377 = private unnamed_addr constant [4 x i8] c"add\00"
@.str6378 = private unnamed_addr constant [10 x i8] c"value_add\00"
@.str6379 = private unnamed_addr constant [5 x i8] c"list\00"
@.str6380 = private unnamed_addr constant [5 x i8] c"item\00"
@.str6381 = private unnamed_addr constant [4 x i8] c"put\00"
@.str6382 = private unnamed_addr constant [10 x i8] c"value_put\00"
@.str6383 = private unnamed_addr constant [4 x i8] c"obj\00"
@.str6384 = private unnamed_addr constant [4 x i8] c"key\00"
@.str6385 = private unnamed_addr constant [5 x i8] c"item\00"
@.str6386 = private unnamed_addr constant [4 x i8] c"get\00"
@.str6387 = private unnamed_addr constant [10 x i8] c"value_get\00"
@.str6388 = private unnamed_addr constant [4 x i8] c"obj\00"
@.str6389 = private unnamed_addr constant [4 x i8] c"key\00"
@.str6390 = private unnamed_addr constant [4 x i8] c"has\00"
@.str6391 = private unnamed_addr constant [10 x i8] c"value_has\00"
@.str6392 = private unnamed_addr constant [4 x i8] c"obj\00"
@.str6393 = private unnamed_addr constant [4 x i8] c"key\00"
@.str6394 = private unnamed_addr constant [3 x i8] c"at\00"
@.str6395 = private unnamed_addr constant [9 x i8] c"value_at\00"
@.str6396 = private unnamed_addr constant [5 x i8] c"list\00"
@.str6397 = private unnamed_addr constant [6 x i8] c"index\00"
@.str6398 = private unnamed_addr constant [7 x i8] c"key_at\00"
@.str6399 = private unnamed_addr constant [13 x i8] c"value_key_at\00"
@.str6400 = private unnamed_addr constant [4 x i8] c"obj\00"
@.str6401 = private unnamed_addr constant [6 x i8] c"index\00"
@.str6402 = private unnamed_addr constant [6 x i8] c"count\00"
@.str6403 = private unnamed_addr constant [12 x i8] c"value_count\00"
@.str6404 = private unnamed_addr constant [6 x i8] c"value\00"
@.str6405 = private unnamed_addr constant [5 x i8] c"kind\00"
@.str6406 = private unnamed_addr constant [11 x i8] c"value_kind\00"
@.str6407 = private unnamed_addr constant [6 x i8] c"value\00"
@.str6408 = private unnamed_addr constant [7 x i8] c"as_int\00"
@.str6409 = private unnamed_addr constant [13 x i8] c"value_as_int\00"
@.str6410 = private unnamed_addr constant [6 x i8] c"value\00"
@.str6411 = private unnamed_addr constant [7 x i8] c"as_str\00"
@.str6412 = private unnamed_addr constant [13 x i8] c"value_as_str\00"
@.str6413 = private unnamed_addr constant [6 x i8] c"value\00"
@.str6414 = private unnamed_addr constant [5 x i8] c"Json\00"
@.str6415 = private unnamed_addr constant [7 x i8] c"encode\00"
@.str6416 = private unnamed_addr constant [12 x i8] c"json_encode\00"
@.str6417 = private unnamed_addr constant [6 x i8] c"value\00"
@.str6418 = private unnamed_addr constant [6 x i8] c"parse\00"
@.str6419 = private unnamed_addr constant [11 x i8] c"json_parse\00"
@.str6420 = private unnamed_addr constant [5 x i8] c"text\00"
@.str6421 = private unnamed_addr constant [17 x i8] c"unknown builtin \00"
@.str6422 = private unnamed_addr constant [2 x i8] c".\00"
@.str6423 = private unnamed_addr constant [30 x i8] c"call target is not a function\00"
@.str6424 = private unnamed_addr constant [5 x i8] c"self\00"
@.str6425 = private unnamed_addr constant [2 x i8] c"0\00"
@.str6426 = private unnamed_addr constant [7 x i8] c"entity\00"
@.str6427 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
@.str6428 = private unnamed_addr constant [7 x i8] c"entity\00"
@.str6429 = private unnamed_addr constant [4 x i8] c"key\00"
@.str6430 = private unnamed_addr constant [21 x i8] c"load i32, ptr @L_key\00"
@.str6431 = private unnamed_addr constant [4 x i8] c"int\00"
@.str6432 = private unnamed_addr constant [5 x i8] c"save\00"
@.str6433 = private unnamed_addr constant [23 x i8] c" call void @L_save()\0A\00"
@.str6434 = private unnamed_addr constant [2 x i8] c"0\00"
@.str6435 = private unnamed_addr constant [5 x i8] c"void\00"
@.str6436 = private unnamed_addr constant [9 x i8] c"ui_build\00"
@.str6437 = private unnamed_addr constant [25 x i8] c" call void @ui_build()\0A\00"
@.str6438 = private unnamed_addr constant [2 x i8] c"0\00"
@.str6439 = private unnamed_addr constant [5 x i8] c"void\00"
@.str6440 = private unnamed_addr constant [5 x i8] c"load\00"
@.str6441 = private unnamed_addr constant [19 x i8] c"call i32 @L_load()\00"
@.str6442 = private unnamed_addr constant [5 x i8] c"bool\00"
@.str6443 = private unnamed_addr constant [11 x i8] c"world_size\00"
@.str6444 = private unnamed_addr constant [25 x i8] c"call i32 @L_world_size()\00"
@.str6445 = private unnamed_addr constant [4 x i8] c"int\00"
@.str6446 = private unnamed_addr constant [11 x i8] c"world_save\00"
@.str6447 = private unnamed_addr constant [28 x i8] c"call i32 @L_world_save(ptr \00"
@.str6448 = private unnamed_addr constant [2 x i8] c")\00"
@.str6449 = private unnamed_addr constant [4 x i8] c"int\00"
@.str6450 = private unnamed_addr constant [11 x i8] c"world_load\00"
@.str6451 = private unnamed_addr constant [31 x i8] c" call void @L_world_load(ptr \00"
@.str6452 = private unnamed_addr constant [7 x i8] c", i32 \00"
@.str6453 = private unnamed_addr constant [3 x i8] c")\0A\00"
@.str6454 = private unnamed_addr constant [2 x i8] c"0\00"
@.str6455 = private unnamed_addr constant [5 x i8] c"void\00"
@.str6456 = private unnamed_addr constant [5 x i8] c"quit\00"
@.str6457 = private unnamed_addr constant [31 x i8] c" store i32 0, ptr @L_running\0A\00"
@.str6458 = private unnamed_addr constant [2 x i8] c"0\00"
@.str6459 = private unnamed_addr constant [5 x i8] c"void\00"
@.str6460 = private unnamed_addr constant [10 x i8] c"serialize\00"
@.str6461 = private unnamed_addr constant [31 x i8] c"call i32 @ludic_serialize(i32 \00"
@.str6462 = private unnamed_addr constant [7 x i8] c", ptr \00"
@.str6463 = private unnamed_addr constant [2 x i8] c")\00"
@.str6464 = private unnamed_addr constant [4 x i8] c"int\00"
@.str6465 = private unnamed_addr constant [6 x i8] c"apply\00"
@.str6466 = private unnamed_addr constant [30 x i8] c" call void @ludic_apply(i32 \00"
@.str6467 = private unnamed_addr constant [7 x i8] c", ptr \00"
@.str6468 = private unnamed_addr constant [7 x i8] c", i32 \00"
@.str6469 = private unnamed_addr constant [3 x i8] c")\0A\00"
@.str6470 = private unnamed_addr constant [2 x i8] c"0\00"
@.str6471 = private unnamed_addr constant [5 x i8] c"void\00"
@.str6472 = private unnamed_addr constant [10 x i8] c"sync_size\00"
@.str6473 = private unnamed_addr constant [31 x i8] c"call i32 @ludic_sync_size(i32 \00"
@.str6474 = private unnamed_addr constant [2 x i8] c")\00"
@.str6475 = private unnamed_addr constant [4 x i8] c"int\00"
@.str6476 = private unnamed_addr constant [6 x i8] c"owner\00"
@.str6477 = private unnamed_addr constant [23 x i8] c"call i32 @L_owner(i32 \00"
@.str6478 = private unnamed_addr constant [2 x i8] c")\00"
@.str6479 = private unnamed_addr constant [4 x i8] c"int\00"
@.str6480 = private unnamed_addr constant [10 x i8] c"set_owner\00"
@.str6481 = private unnamed_addr constant [30 x i8] c" call void @L_set_owner(i32 \00"
@.str6482 = private unnamed_addr constant [7 x i8] c", i32 \00"
@.str6483 = private unnamed_addr constant [3 x i8] c")\0A\00"
@.str6484 = private unnamed_addr constant [2 x i8] c"0\00"
@.str6485 = private unnamed_addr constant [5 x i8] c"void\00"
@.str6486 = private unnamed_addr constant [9 x i8] c"is_owner\00"
@.str6487 = private unnamed_addr constant [26 x i8] c"call i32 @L_is_owner(i32 \00"
@.str6488 = private unnamed_addr constant [2 x i8] c")\00"
@.str6489 = private unnamed_addr constant [5 x i8] c"bool\00"
@.str6490 = private unnamed_addr constant [10 x i8] c"is_server\00"
@.str6491 = private unnamed_addr constant [22 x i8] c"load i32, ptr @L_role\00"
@.str6492 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00"
@.str6493 = private unnamed_addr constant [4 x i8] c", 1\00"
@.str6494 = private unnamed_addr constant [9 x i8] c"zext i1 \00"
@.str6495 = private unnamed_addr constant [8 x i8] c" to i32\00"
@.str6496 = private unnamed_addr constant [5 x i8] c"bool\00"
@.str6497 = private unnamed_addr constant [9 x i8] c"local_id\00"
@.str6498 = private unnamed_addr constant [25 x i8] c"load i32, ptr @L_localid\00"
@.str6499 = private unnamed_addr constant [4 x i8] c"int\00"
@.str6500 = private unnamed_addr constant [9 x i8] c"net_pump\00"
@.str6501 = private unnamed_addr constant [27 x i8] c" call void @L_net_pump()\0A\00"
@.str6502 = private unnamed_addr constant [2 x i8] c"0\00"
@.str6503 = private unnamed_addr constant [5 x i8] c"void\00"
@.str6504 = private unnamed_addr constant [11 x i8] c"tick_fixed\00"
@.str6505 = private unnamed_addr constant [29 x i8] c" call void @L_tick_fixed()\0A\00"
@.str6506 = private unnamed_addr constant [2 x i8] c"0\00"
@.str6507 = private unnamed_addr constant [5 x i8] c"void\00"
@.str6508 = private unnamed_addr constant [12 x i8] c"tick_render\00"
@.str6509 = private unnamed_addr constant [30 x i8] c" call void @L_tick_render()\0A\00"
@.str6510 = private unnamed_addr constant [2 x i8] c"0\00"
@.str6511 = private unnamed_addr constant [5 x i8] c"void\00"
@.str6512 = private unnamed_addr constant [9 x i8] c"set_role\00"
@.str6513 = private unnamed_addr constant [13 x i8] c" store i32 \00"
@.str6514 = private unnamed_addr constant [15 x i8] c", ptr @L_role\0A\00"
@.str6515 = private unnamed_addr constant [2 x i8] c"0\00"
@.str6516 = private unnamed_addr constant [5 x i8] c"void\00"
@.str6517 = private unnamed_addr constant [13 x i8] c"set_local_id\00"
@.str6518 = private unnamed_addr constant [13 x i8] c" store i32 \00"
@.str6519 = private unnamed_addr constant [18 x i8] c", ptr @L_localid\0A\00"
@.str6520 = private unnamed_addr constant [2 x i8] c"0\00"
@.str6521 = private unnamed_addr constant [5 x i8] c"void\00"
@.str6522 = private unnamed_addr constant [9 x i8] c"net_send\00"
@.str6523 = private unnamed_addr constant [9 x i8] c"net_send\00"
@.str6524 = private unnamed_addr constant [29 x i8] c" call void @L_net_send(i32 \00"
@.str6525 = private unnamed_addr constant [7 x i8] c", ptr \00"
@.str6526 = private unnamed_addr constant [7 x i8] c", i32 \00"
@.str6527 = private unnamed_addr constant [3 x i8] c")\0A\00"
@.str6528 = private unnamed_addr constant [2 x i8] c"0\00"
@.str6529 = private unnamed_addr constant [5 x i8] c"void\00"
@.str6530 = private unnamed_addr constant [9 x i8] c"net_poll\00"
@.str6531 = private unnamed_addr constant [9 x i8] c"net_poll\00"
@.str6532 = private unnamed_addr constant [26 x i8] c"call i32 @L_net_poll(ptr \00"
@.str6533 = private unnamed_addr constant [7 x i8] c", i32 \00"
@.str6534 = private unnamed_addr constant [2 x i8] c")\00"
@.str6535 = private unnamed_addr constant [4 x i8] c"int\00"
@.str6536 = private unnamed_addr constant [4 x i8] c"len\00"
@.str6537 = private unnamed_addr constant [5 x i8] c"push\00"
@.str6538 = private unnamed_addr constant [7 x i8] c"string\00"
@.str6539 = private unnamed_addr constant [4 x i8] c"ptr\00"
@.str6540 = private unnamed_addr constant [4 x i8] c"i64\00"
@.str6541 = private unnamed_addr constant [27 x i8] c"call ptr @fn_long_str(i64 \00"
@.str6542 = private unnamed_addr constant [2 x i8] c")\00"
@.str6543 = private unnamed_addr constant [7 x i8] c"string\00"
@.str6544 = private unnamed_addr constant [26 x i8] c"call ptr @fn_int_str(i32 \00"
@.str6545 = private unnamed_addr constant [2 x i8] c")\00"
@.str6546 = private unnamed_addr constant [7 x i8] c"string\00"
@.str6547 = private unnamed_addr constant [6 x i8] c"print\00"
@.str6548 = private unnamed_addr constant [4 x i8] c"ptr\00"
@.str6549 = private unnamed_addr constant [51 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_line, ptr \00"
@.str6550 = private unnamed_addr constant [3 x i8] c")\0A\00"
@.str6551 = private unnamed_addr constant [4 x i8] c"i64\00"
@.str6552 = private unnamed_addr constant [51 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_long, i64 \00"
@.str6553 = private unnamed_addr constant [3 x i8] c")\0A\00"
@.str6554 = private unnamed_addr constant [50 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_int, i32 \00"
@.str6555 = private unnamed_addr constant [3 x i8] c")\0A\00"
@.str6556 = private unnamed_addr constant [2 x i8] c"0\00"
@.str6557 = private unnamed_addr constant [5 x i8] c"void\00"
@.str6558 = private unnamed_addr constant [6 x i8] c"bytes\00"
@.str6559 = private unnamed_addr constant [10 x i8] c"zext i32 \00"
@.str6560 = private unnamed_addr constant [8 x i8] c" to i64\00"
@.str6561 = private unnamed_addr constant [22 x i8] c"call ptr @malloc(i64 \00"
@.str6562 = private unnamed_addr constant [2 x i8] c")\00"
@.str6563 = private unnamed_addr constant [8 x i8] c"pointer\00"
@.str6564 = private unnamed_addr constant [6 x i8] c"words\00"
@.str6565 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
@.str6566 = private unnamed_addr constant [4 x i8] c", 4\00"
@.str6567 = private unnamed_addr constant [10 x i8] c"zext i32 \00"
@.str6568 = private unnamed_addr constant [8 x i8] c" to i64\00"
@.str6569 = private unnamed_addr constant [22 x i8] c"call ptr @malloc(i64 \00"
@.str6570 = private unnamed_addr constant [2 x i8] c")\00"
@.str6571 = private unnamed_addr constant [6 x i8] c"words\00"
@.str6572 = private unnamed_addr constant [6 x i8] c"fixed\00"
@.str6573 = private unnamed_addr constant [9 x i8] c"shl i32 \00"
@.str6574 = private unnamed_addr constant [5 x i8] c", 16\00"
@.str6575 = private unnamed_addr constant [6 x i8] c"fixed\00"
@.str6576 = private unnamed_addr constant [6 x i8] c"floor\00"
@.str6577 = private unnamed_addr constant [10 x i8] c"ashr i32 \00"
@.str6578 = private unnamed_addr constant [5 x i8] c", 16\00"
@.str6579 = private unnamed_addr constant [4 x i8] c"int\00"
@.str6580 = private unnamed_addr constant [7 x i8] c"expect\00"
@.str6581 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00"
@.str6582 = private unnamed_addr constant [4 x i8] c", 0\00"
@.str6583 = private unnamed_addr constant [2 x i8] c":\00"
@.str6584 = private unnamed_addr constant [16 x i8] c": expect failed\00"
@.str6585 = private unnamed_addr constant [1 x i8] c"\00"
@.str6586 = private unnamed_addr constant [1 x i8] c"\00"
@.str6587 = private unnamed_addr constant [2 x i8] c"0\00"
@.str6588 = private unnamed_addr constant [5 x i8] c"void\00"
@.str6589 = private unnamed_addr constant [10 x i8] c"expect_eq\00"
@.str6590 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00"
@.str6591 = private unnamed_addr constant [3 x i8] c", \00"
@.str6592 = private unnamed_addr constant [2 x i8] c":\00"
@.str6593 = private unnamed_addr constant [19 x i8] c": expect_eq failed\00"
@.str6594 = private unnamed_addr constant [2 x i8] c"0\00"
@.str6595 = private unnamed_addr constant [5 x i8] c"void\00"
@.str6596 = private unnamed_addr constant [12 x i8] c"expect_near\00"
@.str6597 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
@.str6598 = private unnamed_addr constant [3 x i8] c", \00"
@.str6599 = private unnamed_addr constant [12 x i8] c"sub i32 0, \00"
@.str6600 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
@.str6601 = private unnamed_addr constant [4 x i8] c", 0\00"
@.str6602 = private unnamed_addr constant [11 x i8] c"select i1 \00"
@.str6603 = private unnamed_addr constant [7 x i8] c", i32 \00"
@.str6604 = private unnamed_addr constant [7 x i8] c", i32 \00"
@.str6605 = private unnamed_addr constant [14 x i8] c"icmp sle i32 \00"
@.str6606 = private unnamed_addr constant [3 x i8] c", \00"
@.str6607 = private unnamed_addr constant [2 x i8] c":\00"
@.str6608 = private unnamed_addr constant [21 x i8] c": expect_near failed\00"
@.str6609 = private unnamed_addr constant [2 x i8] c"0\00"
@.str6610 = private unnamed_addr constant [5 x i8] c"void\00"
@.str6611 = private unnamed_addr constant [6 x i8] c"panic\00"
@.str6612 = private unnamed_addr constant [2 x i8] c":\00"
@.str6613 = private unnamed_addr constant [10 x i8] c": panic: \00"
@.str6614 = private unnamed_addr constant [25 x i8] c"load ptr, ptr @__stderrp\00"
@.str6615 = private unnamed_addr constant [41 x i8] c" call i32 (ptr, ptr, ...) @fprintf(ptr \00"
@.str6616 = private unnamed_addr constant [24 x i8] c", ptr @.fmt_panic, ptr \00"
@.str6617 = private unnamed_addr constant [7 x i8] c", ptr \00"
@.str6618 = private unnamed_addr constant [3 x i8] c")\0A\00"
@.str6619 = private unnamed_addr constant [40 x i8] c" call void @exit(i32 1)\0A unreachable\0A\00"
@.str6620 = private unnamed_addr constant [2 x i8] c"0\00"
@.str6621 = private unnamed_addr constant [5 x i8] c"void\00"
@.str6622 = private unnamed_addr constant [7 x i8] c"assert\00"
@.str6623 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00"
@.str6624 = private unnamed_addr constant [4 x i8] c", 0\00"
@.str6625 = private unnamed_addr constant [5 x i8] c"asok\00"
@.str6626 = private unnamed_addr constant [6 x i8] c"asbad\00"
@.str6627 = private unnamed_addr constant [9 x i8] c" br i1 \00"
@.str6628 = private unnamed_addr constant [10 x i8] c", label %\00"
@.str6629 = private unnamed_addr constant [10 x i8] c", label %\00"
@.str6630 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str6631 = private unnamed_addr constant [3 x i8] c":\0A\00"
@.str6632 = private unnamed_addr constant [2 x i8] c":\00"
@.str6633 = private unnamed_addr constant [21 x i8] c": assertion failed: \00"
@.str6634 = private unnamed_addr constant [25 x i8] c"load ptr, ptr @__stderrp\00"
@.str6635 = private unnamed_addr constant [41 x i8] c" call i32 (ptr, ptr, ...) @fprintf(ptr \00"
@.str6636 = private unnamed_addr constant [24 x i8] c", ptr @.fmt_panic, ptr \00"
@.str6637 = private unnamed_addr constant [7 x i8] c", ptr \00"
@.str6638 = private unnamed_addr constant [3 x i8] c")\0A\00"
@.str6639 = private unnamed_addr constant [40 x i8] c" call void @exit(i32 1)\0A unreachable\0A\00"
@.str6640 = private unnamed_addr constant [3 x i8] c":\0A\00"
@.str6641 = private unnamed_addr constant [2 x i8] c"0\00"
@.str6642 = private unnamed_addr constant [5 x i8] c"void\00"
@.str6643 = private unnamed_addr constant [3 x i8] c"ok\00"
@.str6644 = private unnamed_addr constant [3 x i8] c"ok\00"
@.str6645 = private unnamed_addr constant [25 x i8] c"call ptr @malloc(i64 16)\00"
@.str6646 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00"
@.str6647 = private unnamed_addr constant [15 x i8] c", i32 0, i32 0\00"
@.str6648 = private unnamed_addr constant [20 x i8] c" store i32 1, ptr \00"
@.str6649 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str6650 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00"
@.str6651 = private unnamed_addr constant [15 x i8] c", i32 0, i32 1\00"
@.str6652 = private unnamed_addr constant [13 x i8] c" store i32 \00"
@.str6653 = private unnamed_addr constant [4 x i8] c"int\00"
@.str6654 = private unnamed_addr constant [7 x i8] c", ptr \00"
@.str6655 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str6656 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00"
@.str6657 = private unnamed_addr constant [15 x i8] c", i32 0, i32 2\00"
@.str6658 = private unnamed_addr constant [23 x i8] c" store ptr null, ptr \00"
@.str6659 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str6660 = private unnamed_addr constant [7 x i8] c"result\00"
@.str6661 = private unnamed_addr constant [4 x i8] c"err\00"
@.str6662 = private unnamed_addr constant [4 x i8] c"err\00"
@.str6663 = private unnamed_addr constant [25 x i8] c"call ptr @malloc(i64 16)\00"
@.str6664 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00"
@.str6665 = private unnamed_addr constant [15 x i8] c", i32 0, i32 0\00"
@.str6666 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00"
@.str6667 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str6668 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00"
@.str6669 = private unnamed_addr constant [15 x i8] c", i32 0, i32 1\00"
@.str6670 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00"
@.str6671 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str6672 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00"
@.str6673 = private unnamed_addr constant [15 x i8] c", i32 0, i32 2\00"
@.str6674 = private unnamed_addr constant [13 x i8] c" store ptr \00"
@.str6675 = private unnamed_addr constant [7 x i8] c", ptr \00"
@.str6676 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str6677 = private unnamed_addr constant [7 x i8] c"result\00"
@.str6678 = private unnamed_addr constant [6 x i8] c"is_ok\00"
@.str6679 = private unnamed_addr constant [6 x i8] c"is_ok\00"
@.str6680 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00"
@.str6681 = private unnamed_addr constant [15 x i8] c", i32 0, i32 0\00"
@.str6682 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
@.str6683 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00"
@.str6684 = private unnamed_addr constant [4 x i8] c", 0\00"
@.str6685 = private unnamed_addr constant [9 x i8] c"zext i1 \00"
@.str6686 = private unnamed_addr constant [8 x i8] c" to i32\00"
@.str6687 = private unnamed_addr constant [5 x i8] c"bool\00"
@.str6688 = private unnamed_addr constant [7 x i8] c"is_err\00"
@.str6689 = private unnamed_addr constant [7 x i8] c"is_err\00"
@.str6690 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00"
@.str6691 = private unnamed_addr constant [15 x i8] c", i32 0, i32 0\00"
@.str6692 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
@.str6693 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00"
@.str6694 = private unnamed_addr constant [4 x i8] c", 0\00"
@.str6695 = private unnamed_addr constant [9 x i8] c"zext i1 \00"
@.str6696 = private unnamed_addr constant [8 x i8] c" to i32\00"
@.str6697 = private unnamed_addr constant [5 x i8] c"bool\00"
@.str6698 = private unnamed_addr constant [14 x i8] c"world_prop_id\00"
@.str6699 = private unnamed_addr constant [29 x i8] c"call i32 @ludic_prop_id(ptr \00"
@.str6700 = private unnamed_addr constant [2 x i8] c")\00"
@.str6701 = private unnamed_addr constant [4 x i8] c"int\00"
@.str6702 = private unnamed_addr constant [15 x i8] c"world_field_id\00"
@.str6703 = private unnamed_addr constant [30 x i8] c"call i32 @ludic_field_id(i32 \00"
@.str6704 = private unnamed_addr constant [7 x i8] c", ptr \00"
@.str6705 = private unnamed_addr constant [2 x i8] c")\00"
@.str6706 = private unnamed_addr constant [4 x i8] c"int\00"
@.str6707 = private unnamed_addr constant [10 x i8] c"world_get\00"
@.str6708 = private unnamed_addr constant [25 x i8] c"call i64 @ludic_get(i32 \00"
@.str6709 = private unnamed_addr constant [7 x i8] c", i32 \00"
@.str6710 = private unnamed_addr constant [7 x i8] c", i32 \00"
@.str6711 = private unnamed_addr constant [2 x i8] c")\00"
@.str6712 = private unnamed_addr constant [11 x i8] c"trunc i64 \00"
@.str6713 = private unnamed_addr constant [8 x i8] c" to i32\00"
@.str6714 = private unnamed_addr constant [4 x i8] c"int\00"
@.str6715 = private unnamed_addr constant [10 x i8] c"world_set\00"
@.str6716 = private unnamed_addr constant [10 x i8] c"sext i32 \00"
@.str6717 = private unnamed_addr constant [8 x i8] c" to i64\00"
@.str6718 = private unnamed_addr constant [28 x i8] c" call void @ludic_set(i32 \00"
@.str6719 = private unnamed_addr constant [7 x i8] c", i32 \00"
@.str6720 = private unnamed_addr constant [7 x i8] c", i32 \00"
@.str6721 = private unnamed_addr constant [7 x i8] c", i64 \00"
@.str6722 = private unnamed_addr constant [3 x i8] c")\0A\00"
@.str6723 = private unnamed_addr constant [2 x i8] c"0\00"
@.str6724 = private unnamed_addr constant [5 x i8] c"void\00"
@.str6725 = private unnamed_addr constant [10 x i8] c"world_has\00"
@.str6726 = private unnamed_addr constant [25 x i8] c"call i32 @ludic_has(i32 \00"
@.str6727 = private unnamed_addr constant [7 x i8] c", i32 \00"
@.str6728 = private unnamed_addr constant [2 x i8] c")\00"
@.str6729 = private unnamed_addr constant [4 x i8] c"int\00"
@.str6730 = private unnamed_addr constant [12 x i8] c"world_count\00"
@.str6731 = private unnamed_addr constant [31 x i8] c"call i32 @ludic_entity_count()\00"
@.str6732 = private unnamed_addr constant [4 x i8] c"int\00"
@.str6733 = private unnamed_addr constant [11 x i8] c"world_kind\00"
@.str6734 = private unnamed_addr constant [26 x i8] c"call i32 @ludic_kind(i32 \00"
@.str6735 = private unnamed_addr constant [2 x i8] c")\00"
@.str6736 = private unnamed_addr constant [4 x i8] c"int\00"
@.str6737 = private unnamed_addr constant [15 x i8] c"world_model_id\00"
@.str6738 = private unnamed_addr constant [30 x i8] c"call i32 @ludic_model_id(ptr \00"
@.str6739 = private unnamed_addr constant [2 x i8] c")\00"
@.str6740 = private unnamed_addr constant [4 x i8] c"int\00"
@.str6741 = private unnamed_addr constant [17 x i8] c"world_query_next\00"
@.str6742 = private unnamed_addr constant [32 x i8] c"call i32 @ludic_query_next(i32 \00"
@.str6743 = private unnamed_addr constant [7 x i8] c", i32 \00"
@.str6744 = private unnamed_addr constant [2 x i8] c")\00"
@.str6745 = private unnamed_addr constant [4 x i8] c"int\00"
@.str6746 = private unnamed_addr constant [20 x i8] c"world_register_prop\00"
@.str6747 = private unnamed_addr constant [35 x i8] c"call i32 @ludic_register_prop(ptr \00"
@.str6748 = private unnamed_addr constant [7 x i8] c", i32 \00"
@.str6749 = private unnamed_addr constant [2 x i8] c")\00"
@.str6750 = private unnamed_addr constant [4 x i8] c"int\00"
@.str6751 = private unnamed_addr constant [17 x i8] c"world_attach_dyn\00"
@.str6752 = private unnamed_addr constant [35 x i8] c" call void @ludic_attach_dyn(i32 \00"
@.str6753 = private unnamed_addr constant [7 x i8] c", i32 \00"
@.str6754 = private unnamed_addr constant [3 x i8] c")\0A\00"
@.str6755 = private unnamed_addr constant [2 x i8] c"0\00"
@.str6756 = private unnamed_addr constant [5 x i8] c"void\00"
@.str6757 = private unnamed_addr constant [17 x i8] c"world_detach_dyn\00"
@.str6758 = private unnamed_addr constant [35 x i8] c" call void @ludic_detach_dyn(i32 \00"
@.str6759 = private unnamed_addr constant [7 x i8] c", i32 \00"
@.str6760 = private unnamed_addr constant [3 x i8] c")\0A\00"
@.str6761 = private unnamed_addr constant [2 x i8] c"0\00"
@.str6762 = private unnamed_addr constant [5 x i8] c"void\00"
@.str6763 = private unnamed_addr constant [12 x i8] c"world_spawn\00"
@.str6764 = private unnamed_addr constant [27 x i8] c"call i32 @ludic_spawn(i32 \00"
@.str6765 = private unnamed_addr constant [2 x i8] c")\00"
@.str6766 = private unnamed_addr constant [4 x i8] c"int\00"
@.str6767 = private unnamed_addr constant [17 x i8] c"world_prop_count\00"
@.str6768 = private unnamed_addr constant [29 x i8] c"call i32 @ludic_prop_count()\00"
@.str6769 = private unnamed_addr constant [4 x i8] c"int\00"
@.str6770 = private unnamed_addr constant [16 x i8] c"world_prop_name\00"
@.str6771 = private unnamed_addr constant [31 x i8] c"call ptr @ludic_prop_name(i32 \00"
@.str6772 = private unnamed_addr constant [2 x i8] c")\00"
@.str6773 = private unnamed_addr constant [7 x i8] c"string\00"
@.str6774 = private unnamed_addr constant [18 x i8] c"world_field_count\00"
@.str6775 = private unnamed_addr constant [33 x i8] c"call i32 @ludic_field_count(i32 \00"
@.str6776 = private unnamed_addr constant [2 x i8] c")\00"
@.str6777 = private unnamed_addr constant [4 x i8] c"int\00"
@.str6778 = private unnamed_addr constant [17 x i8] c"world_field_name\00"
@.str6779 = private unnamed_addr constant [32 x i8] c"call ptr @ludic_field_name(i32 \00"
@.str6780 = private unnamed_addr constant [7 x i8] c", i32 \00"
@.str6781 = private unnamed_addr constant [2 x i8] c")\00"
@.str6782 = private unnamed_addr constant [7 x i8] c"string\00"
@.str6783 = private unnamed_addr constant [17 x i8] c"world_field_type\00"
@.str6784 = private unnamed_addr constant [32 x i8] c"call ptr @ludic_field_type(i32 \00"
@.str6785 = private unnamed_addr constant [7 x i8] c", i32 \00"
@.str6786 = private unnamed_addr constant [2 x i8] c")\00"
@.str6787 = private unnamed_addr constant [7 x i8] c"string\00"
@.str6788 = private unnamed_addr constant [3 x i8] c" \00"
@.str6789 = private unnamed_addr constant [2 x i8] c"0\00"
@.str6790 = private unnamed_addr constant [5 x i8] c"void\00"
@.str6791 = private unnamed_addr constant [4 x i8] c" = \00"
@.str6792 = private unnamed_addr constant [6 x i8] c"call \00"
@.str6793 = private unnamed_addr constant [3 x i8] c" @\00"
@.str6794 = private unnamed_addr constant [2 x i8] c"(\00"
@.str6795 = private unnamed_addr constant [3 x i8] c", \00"
@.str6796 = private unnamed_addr constant [2 x i8] c" \00"
@.str6797 = private unnamed_addr constant [3 x i8] c")\0A\00"
@.str6798 = private unnamed_addr constant [4 x i8] c"rt_\00"
@.str6799 = private unnamed_addr constant [18 x i8] c"unknown function \00"
@.str6800 = private unnamed_addr constant [3 x i8] c" \00"
@.str6801 = private unnamed_addr constant [2 x i8] c"0\00"
@.str6802 = private unnamed_addr constant [5 x i8] c"void\00"
@.str6803 = private unnamed_addr constant [4 x i8] c" = \00"
@.str6804 = private unnamed_addr constant [6 x i8] c"call \00"
@.str6805 = private unnamed_addr constant [6 x i8] c" @fn_\00"
@.str6806 = private unnamed_addr constant [2 x i8] c"(\00"
@.str6807 = private unnamed_addr constant [3 x i8] c", \00"
@.str6808 = private unnamed_addr constant [2 x i8] c" \00"
@.str6809 = private unnamed_addr constant [3 x i8] c")\0A\00"
@.str6810 = private unnamed_addr constant [2 x i8] c"0\00"
@.str6811 = private unnamed_addr constant [4 x i8] c"int\00"
@.str6812 = private unnamed_addr constant [4 x i8] c"int\00"
@.str6813 = private unnamed_addr constant [6 x i8] c"fixed\00"
@.str6814 = private unnamed_addr constant [5 x i8] c"bool\00"
@.str6815 = private unnamed_addr constant [5 x i8] c"null\00"
@.str6816 = private unnamed_addr constant [8 x i8] c"pointer\00"
@.str6817 = private unnamed_addr constant [28 x i8] c"call ptr @fn_str_slice(ptr \00"
@.str6818 = private unnamed_addr constant [7 x i8] c", i32 \00"
@.str6819 = private unnamed_addr constant [7 x i8] c", i32 \00"
@.str6820 = private unnamed_addr constant [2 x i8] c")\00"
@.str6821 = private unnamed_addr constant [7 x i8] c"string\00"
@.str6822 = private unnamed_addr constant [7 x i8] c"string\00"
@.str6823 = private unnamed_addr constant [4 x i8] c"int\00"
@.str6824 = private unnamed_addr constant [6 x i8] c"load \00"
@.str6825 = private unnamed_addr constant [10 x i8] c", ptr @g_\00"
@.str6826 = private unnamed_addr constant [4 x i8] c"int\00"
@.str6827 = private unnamed_addr constant [20 x i8] c"unknown identifier \00"
@.str6828 = private unnamed_addr constant [6 x i8] c"Color\00"
@.str6829 = private unnamed_addr constant [21 x i8] c"unknown color Color.\00"
@.str6830 = private unnamed_addr constant [4 x i8] c"int\00"
@.str6831 = private unnamed_addr constant [4 x i8] c"int\00"
@.str6832 = private unnamed_addr constant [5 x i8] c"byte\00"
@.str6833 = private unnamed_addr constant [14 x i8] c"load i8, ptr \00"
@.str6834 = private unnamed_addr constant [9 x i8] c"zext i8 \00"
@.str6835 = private unnamed_addr constant [8 x i8] c" to i32\00"
@.str6836 = private unnamed_addr constant [4 x i8] c"int\00"
@.str6837 = private unnamed_addr constant [4 x i8] c"i64\00"
@.str6838 = private unnamed_addr constant [2 x i8] c"-\00"
@.str6839 = private unnamed_addr constant [12 x i8] c"sub i64 0, \00"
@.str6840 = private unnamed_addr constant [5 x i8] c"long\00"
@.str6841 = private unnamed_addr constant [2 x i8] c"~\00"
@.str6842 = private unnamed_addr constant [9 x i8] c"xor i64 \00"
@.str6843 = private unnamed_addr constant [5 x i8] c", -1\00"
@.str6844 = private unnamed_addr constant [5 x i8] c"long\00"
@.str6845 = private unnamed_addr constant [2 x i8] c"-\00"
@.str6846 = private unnamed_addr constant [12 x i8] c"sub i32 0, \00"
@.str6847 = private unnamed_addr constant [4 x i8] c"int\00"
@.str6848 = private unnamed_addr constant [2 x i8] c"~\00"
@.str6849 = private unnamed_addr constant [9 x i8] c"xor i32 \00"
@.str6850 = private unnamed_addr constant [5 x i8] c", -1\00"
@.str6851 = private unnamed_addr constant [4 x i8] c"int\00"
@.str6852 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00"
@.str6853 = private unnamed_addr constant [4 x i8] c", 0\00"
@.str6854 = private unnamed_addr constant [9 x i8] c"zext i1 \00"
@.str6855 = private unnamed_addr constant [8 x i8] c" to i32\00"
@.str6856 = private unnamed_addr constant [5 x i8] c"bool\00"
@.str6857 = private unnamed_addr constant [23 x i8] c"cannot emit expression\00"
@.str6858 = private unnamed_addr constant [2 x i8] c"0\00"
@.str6859 = private unnamed_addr constant [4 x i8] c"int\00"
@.str6860 = private unnamed_addr constant [9 x i8] c" store \00"
@.str6861 = private unnamed_addr constant [2 x i8] c" \00"
@.str6862 = private unnamed_addr constant [7 x i8] c", ptr \00"
@.str6863 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str6864 = private unnamed_addr constant [2 x i8] c"0\00"
@.str6865 = private unnamed_addr constant [4 x i8] c"int\00"
@.str6866 = private unnamed_addr constant [29 x i8] c"cannot assign to immutable '\00"
@.str6867 = private unnamed_addr constant [41 x i8] c"' (declared with let; use var) \E2\80\94 line \00"
@.str6868 = private unnamed_addr constant [19 x i8] c"assign to unknown \00"
@.str6869 = private unnamed_addr constant [4 x i8] c"@g_\00"
@.str6870 = private unnamed_addr constant [22 x i8] c"bad assignment target\00"
@.str6871 = private unnamed_addr constant [3 x i8] c"i8\00"
@.str6872 = private unnamed_addr constant [11 x i8] c"trunc i32 \00"
@.str6873 = private unnamed_addr constant [7 x i8] c" to i8\00"
@.str6874 = private unnamed_addr constant [2 x i8] c"=\00"
@.str6875 = private unnamed_addr constant [6 x i8] c"load \00"
@.str6876 = private unnamed_addr constant [7 x i8] c", ptr \00"
@.str6877 = private unnamed_addr constant [4 x i8] c"add\00"
@.str6878 = private unnamed_addr constant [3 x i8] c"-=\00"
@.str6879 = private unnamed_addr constant [4 x i8] c"sub\00"
@.str6880 = private unnamed_addr constant [3 x i8] c"*=\00"
@.str6881 = private unnamed_addr constant [4 x i8] c"mul\00"
@.str6882 = private unnamed_addr constant [3 x i8] c"/=\00"
@.str6883 = private unnamed_addr constant [5 x i8] c"sdiv\00"
@.str6884 = private unnamed_addr constant [2 x i8] c" \00"
@.str6885 = private unnamed_addr constant [2 x i8] c" \00"
@.str6886 = private unnamed_addr constant [3 x i8] c", \00"
@.str6887 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00"
@.str6888 = private unnamed_addr constant [4 x i8] c", 0\00"
@.str6889 = private unnamed_addr constant [5 x i8] c"then\00"
@.str6890 = private unnamed_addr constant [5 x i8] c"else\00"
@.str6891 = private unnamed_addr constant [6 x i8] c"ifend\00"
@.str6892 = private unnamed_addr constant [9 x i8] c" br i1 \00"
@.str6893 = private unnamed_addr constant [10 x i8] c", label %\00"
@.str6894 = private unnamed_addr constant [10 x i8] c", label %\00"
@.str6895 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str6896 = private unnamed_addr constant [9 x i8] c" br i1 \00"
@.str6897 = private unnamed_addr constant [10 x i8] c", label %\00"
@.str6898 = private unnamed_addr constant [10 x i8] c", label %\00"
@.str6899 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str6900 = private unnamed_addr constant [3 x i8] c":\0A\00"
@.str6901 = private unnamed_addr constant [13 x i8] c" br label %\00"
@.str6902 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str6903 = private unnamed_addr constant [3 x i8] c":\0A\00"
@.str6904 = private unnamed_addr constant [13 x i8] c" br label %\00"
@.str6905 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str6906 = private unnamed_addr constant [3 x i8] c":\0A\00"
@.str6907 = private unnamed_addr constant [6 x i8] c"wcond\00"
@.str6908 = private unnamed_addr constant [6 x i8] c"wbody\00"
@.str6909 = private unnamed_addr constant [5 x i8] c"wend\00"
@.str6910 = private unnamed_addr constant [13 x i8] c" br label %\00"
@.str6911 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str6912 = private unnamed_addr constant [3 x i8] c":\0A\00"
@.str6913 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00"
@.str6914 = private unnamed_addr constant [4 x i8] c", 0\00"
@.str6915 = private unnamed_addr constant [9 x i8] c" br i1 \00"
@.str6916 = private unnamed_addr constant [10 x i8] c", label %\00"
@.str6917 = private unnamed_addr constant [10 x i8] c", label %\00"
@.str6918 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str6919 = private unnamed_addr constant [3 x i8] c":\0A\00"
@.str6920 = private unnamed_addr constant [13 x i8] c" br label %\00"
@.str6921 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str6922 = private unnamed_addr constant [3 x i8] c":\0A\00"
@.str6923 = private unnamed_addr constant [4 x i8] c"i32\00"
@.str6924 = private unnamed_addr constant [4 x i8] c"i32\00"
@.str6925 = private unnamed_addr constant [4 x i8] c"int\00"
@.str6926 = private unnamed_addr constant [6 x i8] c"fcond\00"
@.str6927 = private unnamed_addr constant [6 x i8] c"fbody\00"
@.str6928 = private unnamed_addr constant [6 x i8] c"fcont\00"
@.str6929 = private unnamed_addr constant [5 x i8] c"fend\00"
@.str6930 = private unnamed_addr constant [13 x i8] c" br label %\00"
@.str6931 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str6932 = private unnamed_addr constant [3 x i8] c":\0A\00"
@.str6933 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
@.str6934 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
@.str6935 = private unnamed_addr constant [3 x i8] c", \00"
@.str6936 = private unnamed_addr constant [9 x i8] c" br i1 \00"
@.str6937 = private unnamed_addr constant [10 x i8] c", label %\00"
@.str6938 = private unnamed_addr constant [10 x i8] c", label %\00"
@.str6939 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str6940 = private unnamed_addr constant [3 x i8] c":\0A\00"
@.str6941 = private unnamed_addr constant [13 x i8] c" br label %\00"
@.str6942 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str6943 = private unnamed_addr constant [3 x i8] c":\0A\00"
@.str6944 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
@.str6945 = private unnamed_addr constant [9 x i8] c"add i32 \00"
@.str6946 = private unnamed_addr constant [4 x i8] c", 1\00"
@.str6947 = private unnamed_addr constant [4 x i8] c"i32\00"
@.str6948 = private unnamed_addr constant [13 x i8] c" br label %\00"
@.str6949 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str6950 = private unnamed_addr constant [3 x i8] c":\0A\00"
@.str6951 = private unnamed_addr constant [8 x i8] c"%retval\00"
@.str6952 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00"
@.str6953 = private unnamed_addr constant [2 x i8] c"_\00"
@.str6954 = private unnamed_addr constant [5 x i8] c"mend\00"
@.str6955 = private unnamed_addr constant [2 x i8] c"0\00"
@.str6956 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00"
@.str6957 = private unnamed_addr constant [3 x i8] c", \00"
@.str6958 = private unnamed_addr constant [7 x i8] c"or i1 \00"
@.str6959 = private unnamed_addr constant [3 x i8] c", \00"
@.str6960 = private unnamed_addr constant [6 x i8] c"mbody\00"
@.str6961 = private unnamed_addr constant [5 x i8] c"marm\00"
@.str6962 = private unnamed_addr constant [9 x i8] c" br i1 \00"
@.str6963 = private unnamed_addr constant [10 x i8] c", label %\00"
@.str6964 = private unnamed_addr constant [10 x i8] c", label %\00"
@.str6965 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str6966 = private unnamed_addr constant [3 x i8] c":\0A\00"
@.str6967 = private unnamed_addr constant [13 x i8] c" br label %\00"
@.str6968 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str6969 = private unnamed_addr constant [3 x i8] c":\0A\00"
@.str6970 = private unnamed_addr constant [13 x i8] c" br label %\00"
@.str6971 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str6972 = private unnamed_addr constant [3 x i8] c":\0A\00"
@.str6973 = private unnamed_addr constant [21 x i8] c"emit: unknown event \00"
@.str6974 = private unnamed_addr constant [2 x i8] c"0\00"
@.str6975 = private unnamed_addr constant [4 x i8] c"ptr\00"
@.str6976 = private unnamed_addr constant [5 x i8] c"null\00"
@.str6977 = private unnamed_addr constant [3 x i8] c" \00"
@.str6978 = private unnamed_addr constant [53 x i8] c" = getelementptr inbounds i8, ptr @L_sendbuf, i32 0\0A\00"
@.str6979 = private unnamed_addr constant [13 x i8] c" store i32 \00"
@.str6980 = private unnamed_addr constant [7 x i8] c", ptr \00"
@.str6981 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str6982 = private unnamed_addr constant [3 x i8] c" \00"
@.str6983 = private unnamed_addr constant [51 x i8] c" = getelementptr inbounds i8, ptr @L_sendbuf, i32 \00"
@.str6984 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str6985 = private unnamed_addr constant [9 x i8] c" store \00"
@.str6986 = private unnamed_addr constant [2 x i8] c" \00"
@.str6987 = private unnamed_addr constant [7 x i8] c", ptr \00"
@.str6988 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str6989 = private unnamed_addr constant [2 x i8] c"0\00"
@.str6990 = private unnamed_addr constant [10 x i8] c"toclients\00"
@.str6991 = private unnamed_addr constant [3 x i8] c"-1\00"
@.str6992 = private unnamed_addr constant [9 x i8] c"net_send\00"
@.str6993 = private unnamed_addr constant [14 x i8] c" call void @\00"
@.str6994 = private unnamed_addr constant [6 x i8] c"(i32 \00"
@.str6995 = private unnamed_addr constant [23 x i8] c", ptr @L_sendbuf, i32 \00"
@.str6996 = private unnamed_addr constant [3 x i8] c")\0A\00"
@.str6997 = private unnamed_addr constant [2 x i8] c"0\00"
@.str6998 = private unnamed_addr constant [4 x i8] c"int\00"
@.str6999 = private unnamed_addr constant [3 x i8] c", \00"
@.str7000 = private unnamed_addr constant [2 x i8] c" \00"
@.str7001 = private unnamed_addr constant [3 x i8] c" \00"
@.str7002 = private unnamed_addr constant [17 x i8] c" = call i32 @ev_\00"
@.str7003 = private unnamed_addr constant [2 x i8] c"(\00"
@.str7004 = private unnamed_addr constant [3 x i8] c")\0A\00"
@.str7005 = private unnamed_addr constant [4 x i8] c"int\00"
@.str7006 = private unnamed_addr constant [17 x i8] c" call void @ev_\00"
@.str7007 = private unnamed_addr constant [2 x i8] c"(\00"
@.str7008 = private unnamed_addr constant [3 x i8] c")\0A\00"
@.str7009 = private unnamed_addr constant [2 x i8] c"0\00"
@.str7010 = private unnamed_addr constant [4 x i8] c"int\00"
@.str7011 = private unnamed_addr constant [2 x i8] c"0\00"
@.str7012 = private unnamed_addr constant [4 x i8] c"ptr\00"
@.str7013 = private unnamed_addr constant [5 x i8] c"null\00"
@.str7014 = private unnamed_addr constant [13 x i8] c" br label %\00"
@.str7015 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str7016 = private unnamed_addr constant [13 x i8] c" br label %\00"
@.str7017 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str7018 = private unnamed_addr constant [44 x i8] c"cancel outside a cancellable event listener\00"
@.str7019 = private unnamed_addr constant [20 x i8] c" store i32 1, ptr \00"
@.str7020 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str7021 = private unnamed_addr constant [22 x i8] c"cannot emit statement\00"
@.str7022 = private unnamed_addr constant [11 x i8] c"SpriteAnim\00"
@.str7023 = private unnamed_addr constant [7 x i8] c"Motion\00"
@.str7024 = private unnamed_addr constant [8 x i8] c"Light2D\00"
@.str7025 = private unnamed_addr constant [9 x i8] c"Occluder\00"
@.str7026 = private unnamed_addr constant [36 x i8] c"@L_running = internal global i32 1\0A\00"
@.str7027 = private unnamed_addr constant [32 x i8] c"@L_key = internal global i32 0\0A\00"
@.str7028 = private unnamed_addr constant [34 x i8] c"@L_frame = internal global i32 0\0A\00"
@.str7029 = private unnamed_addr constant [34 x i8] c"@L_scene = internal global i32 0\0A\00"
@.str7030 = private unnamed_addr constant [33 x i8] c"@L_entc = internal global i32 0\0A\00"
@.str7031 = private unnamed_addr constant [29 x i8] c"@L_alive = internal global [\00"
@.str7032 = private unnamed_addr constant [25 x i8] c" x i32] zeroinitializer\0A\00"
@.str7033 = private unnamed_addr constant [28 x i8] c"@L_kind = internal global [\00"
@.str7034 = private unnamed_addr constant [25 x i8] c" x i32] zeroinitializer\0A\00"
@.str7035 = private unnamed_addr constant [32 x i8] c"@L_freelist = internal global [\00"
@.str7036 = private unnamed_addr constant [25 x i8] c" x i32] zeroinitializer\0A\00"
@.str7037 = private unnamed_addr constant [34 x i8] c"@L_freen = internal global i32 0\0A\00"
@.str7038 = private unnamed_addr constant [33 x i8] c"@L_role = internal global i32 1\0A\00"
@.str7039 = private unnamed_addr constant [36 x i8] c"@L_localid = internal global i32 0\0A\00"
@.str7040 = private unnamed_addr constant [33 x i8] c"@L_owner_arr = internal global [\00"
@.str7041 = private unnamed_addr constant [25 x i8] c" x i32] zeroinitializer\0A\00"
@.str7042 = private unnamed_addr constant [4 x i8] c"@S_\00"
@.str7043 = private unnamed_addr constant [21 x i8] c" = internal global [\00"
@.str7044 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00"
@.str7045 = private unnamed_addr constant [19 x i8] c"] zeroinitializer\0A\00"
@.str7046 = private unnamed_addr constant [4 x i8] c"@H_\00"
@.str7047 = private unnamed_addr constant [21 x i8] c" = internal global [\00"
@.str7048 = private unnamed_addr constant [24 x i8] c" x i8] zeroinitializer\0A\00"
@.str7049 = private unnamed_addr constant [5 x i8] c"@ME_\00"
@.str7050 = private unnamed_addr constant [26 x i8] c" = internal global i32 1\0A\00"
@.str7051 = private unnamed_addr constant [5 x i8] c"@HE_\00"
@.str7052 = private unnamed_addr constant [26 x i8] c" = internal global i32 1\0A\00"
@.str7053 = private unnamed_addr constant [5 x i8] c"@LE_\00"
@.str7054 = private unnamed_addr constant [26 x i8] c" = internal global i32 1\0A\00"
@.str7055 = private unnamed_addr constant [39 x i8] c"define void @L_reset(i32 %e) {\0Aentry:\0A\00"
@.str7056 = private unnamed_addr constant [3 x i8] c"%h\00"
@.str7057 = private unnamed_addr constant [3 x i8] c" \00"
@.str7058 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00"
@.str7059 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00"
@.str7060 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %e\0A\00"
@.str7061 = private unnamed_addr constant [19 x i8] c" store i8 0, ptr \00"
@.str7062 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str7063 = private unnamed_addr constant [32 x i8] c" %k = getelementptr inbounds [\00"
@.str7064 = private unnamed_addr constant [37 x i8] c" x i32], ptr @L_kind, i32 0, i32 %e\0A\00"
@.str7065 = private unnamed_addr constant [23 x i8] c" store i32 0, ptr %k\0A\00"
@.str7066 = private unnamed_addr constant [33 x i8] c" %ow = getelementptr inbounds [\00"
@.str7067 = private unnamed_addr constant [42 x i8] c" x i32], ptr @L_owner_arr, i32 0, i32 %e\0A\00"
@.str7068 = private unnamed_addr constant [25 x i8] c" store i32 -1, ptr %ow\0A\00"
@.str7069 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00"
@.str7070 = private unnamed_addr constant [32 x i8] c"define i32 @L_alloc() {\0Aentry:\0A\00"
@.str7071 = private unnamed_addr constant [32 x i8] c" %fn = load i32, ptr @L_freen\0A\00"
@.str7072 = private unnamed_addr constant [30 x i8] c" %has = icmp sgt i32 %fn, 0\0A\00"
@.str7073 = private unnamed_addr constant [42 x i8] c" br i1 %has, label %reuse, label %fresh\0A\00"
@.str7074 = private unnamed_addr constant [8 x i8] c"reuse:\0A\00"
@.str7075 = private unnamed_addr constant [25 x i8] c" %fn1 = sub i32 %fn, 1\0A\00"
@.str7076 = private unnamed_addr constant [32 x i8] c" store i32 %fn1, ptr @L_freen\0A\00"
@.str7077 = private unnamed_addr constant [33 x i8] c" %fp = getelementptr inbounds [\00"
@.str7078 = private unnamed_addr constant [43 x i8] c" x i32], ptr @L_freelist, i32 0, i32 %fn1\0A\00"
@.str7079 = private unnamed_addr constant [27 x i8] c" %re = load i32, ptr %fp\0A\00"
@.str7080 = private unnamed_addr constant [18 x i8] c" br label %done\0A\00"
@.str7081 = private unnamed_addr constant [8 x i8] c"fresh:\0A\00"
@.str7082 = private unnamed_addr constant [31 x i8] c" %ec = load i32, ptr @L_entc\0A\00"
@.str7083 = private unnamed_addr constant [25 x i8] c" %ec1 = add i32 %ec, 1\0A\00"
@.str7084 = private unnamed_addr constant [31 x i8] c" store i32 %ec1, ptr @L_entc\0A\00"
@.str7085 = private unnamed_addr constant [18 x i8] c" br label %done\0A\00"
@.str7086 = private unnamed_addr constant [7 x i8] c"done:\0A\00"
@.str7087 = private unnamed_addr constant [49 x i8] c" %e = phi i32 [ %re, %reuse ], [ %ec, %fresh ]\0A\00"
@.str7088 = private unnamed_addr constant [30 x i8] c" call void @L_reset(i32 %e)\0A\00"
@.str7089 = private unnamed_addr constant [33 x i8] c" %ap = getelementptr inbounds [\00"
@.str7090 = private unnamed_addr constant [38 x i8] c" x i32], ptr @L_alive, i32 0, i32 %e\0A\00"
@.str7091 = private unnamed_addr constant [24 x i8] c" store i32 1, ptr %ap\0A\00"
@.str7092 = private unnamed_addr constant [17 x i8] c" ret i32 %e\0A}\0A\0A\00"
@.str7093 = private unnamed_addr constant [45 x i8] c"define void @L_free_entity(i32 %e) {\0Aentry:\0A\00"
@.str7094 = private unnamed_addr constant [33 x i8] c" %ap = getelementptr inbounds [\00"
@.str7095 = private unnamed_addr constant [38 x i8] c" x i32], ptr @L_alive, i32 0, i32 %e\0A\00"
@.str7096 = private unnamed_addr constant [24 x i8] c" store i32 0, ptr %ap\0A\00"
@.str7097 = private unnamed_addr constant [30 x i8] c" call void @L_reset(i32 %e)\0A\00"
@.str7098 = private unnamed_addr constant [32 x i8] c" %fn = load i32, ptr @L_freen\0A\00"
@.str7099 = private unnamed_addr constant [33 x i8] c" %fp = getelementptr inbounds [\00"
@.str7100 = private unnamed_addr constant [42 x i8] c" x i32], ptr @L_freelist, i32 0, i32 %fn\0A\00"
@.str7101 = private unnamed_addr constant [25 x i8] c" store i32 %e, ptr %fp\0A\00"
@.str7102 = private unnamed_addr constant [25 x i8] c" %fn1 = add i32 %fn, 1\0A\00"
@.str7103 = private unnamed_addr constant [32 x i8] c" store i32 %fn1, ptr @L_freen\0A\00"
@.str7104 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00"
@.str7105 = private unnamed_addr constant [4 x i8] c"i32\00"
@.str7106 = private unnamed_addr constant [4 x i8] c"i32\00"
@.str7107 = private unnamed_addr constant [2 x i8] c"0\00"
@.str7108 = private unnamed_addr constant [6 x i8] c"qcond\00"
@.str7109 = private unnamed_addr constant [6 x i8] c"qbody\00"
@.str7110 = private unnamed_addr constant [6 x i8] c"qnext\00"
@.str7111 = private unnamed_addr constant [5 x i8] c"qend\00"
@.str7112 = private unnamed_addr constant [13 x i8] c" br label %\00"
@.str7113 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str7114 = private unnamed_addr constant [3 x i8] c":\0A\00"
@.str7115 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
@.str7116 = private unnamed_addr constant [22 x i8] c"load i32, ptr @L_entc\00"
@.str7117 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
@.str7118 = private unnamed_addr constant [3 x i8] c", \00"
@.str7119 = private unnamed_addr constant [9 x i8] c" br i1 \00"
@.str7120 = private unnamed_addr constant [10 x i8] c", label %\00"
@.str7121 = private unnamed_addr constant [10 x i8] c", label %\00"
@.str7122 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str7123 = private unnamed_addr constant [3 x i8] c":\0A\00"
@.str7124 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
@.str7125 = private unnamed_addr constant [3 x i8] c" \00"
@.str7126 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00"
@.str7127 = private unnamed_addr constant [35 x i8] c" x i32], ptr @L_alive, i32 0, i32 \00"
@.str7128 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str7129 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
@.str7130 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00"
@.str7131 = private unnamed_addr constant [4 x i8] c", 0\00"
@.str7132 = private unnamed_addr constant [3 x i8] c"qa\00"
@.str7133 = private unnamed_addr constant [9 x i8] c" br i1 \00"
@.str7134 = private unnamed_addr constant [10 x i8] c", label %\00"
@.str7135 = private unnamed_addr constant [10 x i8] c", label %\00"
@.str7136 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str7137 = private unnamed_addr constant [3 x i8] c":\0A\00"
@.str7138 = private unnamed_addr constant [2 x i8] c"0\00"
@.str7139 = private unnamed_addr constant [3 x i8] c" \00"
@.str7140 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00"
@.str7141 = private unnamed_addr constant [34 x i8] c" x i32], ptr @L_kind, i32 0, i32 \00"
@.str7142 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str7143 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
@.str7144 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00"
@.str7145 = private unnamed_addr constant [3 x i8] c", \00"
@.str7146 = private unnamed_addr constant [19 x i8] c"load i32, ptr @ME_\00"
@.str7147 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00"
@.str7148 = private unnamed_addr constant [4 x i8] c", 0\00"
@.str7149 = private unnamed_addr constant [8 x i8] c"and i1 \00"
@.str7150 = private unnamed_addr constant [3 x i8] c", \00"
@.str7151 = private unnamed_addr constant [3 x i8] c" \00"
@.str7152 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00"
@.str7153 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00"
@.str7154 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00"
@.str7155 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str7156 = private unnamed_addr constant [14 x i8] c"load i8, ptr \00"
@.str7157 = private unnamed_addr constant [12 x i8] c"icmp ne i8 \00"
@.str7158 = private unnamed_addr constant [4 x i8] c", 0\00"
@.str7159 = private unnamed_addr constant [3 x i8] c"qt\00"
@.str7160 = private unnamed_addr constant [9 x i8] c" br i1 \00"
@.str7161 = private unnamed_addr constant [10 x i8] c", label %\00"
@.str7162 = private unnamed_addr constant [10 x i8] c", label %\00"
@.str7163 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str7164 = private unnamed_addr constant [3 x i8] c":\0A\00"
@.str7165 = private unnamed_addr constant [3 x i8] c" \00"
@.str7166 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00"
@.str7167 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00"
@.str7168 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00"
@.str7169 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00"
@.str7170 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str7171 = private unnamed_addr constant [4 x i8] c"ptr\00"
@.str7172 = private unnamed_addr constant [13 x i8] c" store ptr \00"
@.str7173 = private unnamed_addr constant [7 x i8] c", ptr \00"
@.str7174 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str7175 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00"
@.str7176 = private unnamed_addr constant [4 x i8] c", 0\00"
@.str7177 = private unnamed_addr constant [3 x i8] c"qw\00"
@.str7178 = private unnamed_addr constant [9 x i8] c" br i1 \00"
@.str7179 = private unnamed_addr constant [10 x i8] c", label %\00"
@.str7180 = private unnamed_addr constant [10 x i8] c", label %\00"
@.str7181 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str7182 = private unnamed_addr constant [3 x i8] c":\0A\00"
@.str7183 = private unnamed_addr constant [13 x i8] c" br label %\00"
@.str7184 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str7185 = private unnamed_addr constant [3 x i8] c":\0A\00"
@.str7186 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
@.str7187 = private unnamed_addr constant [9 x i8] c"add i32 \00"
@.str7188 = private unnamed_addr constant [4 x i8] c", 1\00"
@.str7189 = private unnamed_addr constant [4 x i8] c"i32\00"
@.str7190 = private unnamed_addr constant [13 x i8] c" br label %\00"
@.str7191 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str7192 = private unnamed_addr constant [3 x i8] c":\0A\00"
@.str7193 = private unnamed_addr constant [25 x i8] c"spawn: unknown property \00"
@.str7194 = private unnamed_addr constant [3 x i8] c" \00"
@.str7195 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00"
@.str7196 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00"
@.str7197 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00"
@.str7198 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str7199 = private unnamed_addr constant [19 x i8] c" store i8 1, ptr \00"
@.str7200 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str7201 = private unnamed_addr constant [3 x i8] c" \00"
@.str7202 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00"
@.str7203 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00"
@.str7204 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00"
@.str7205 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00"
@.str7206 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str7207 = private unnamed_addr constant [3 x i8] c" \00"
@.str7208 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00"
@.str7209 = private unnamed_addr constant [7 x i8] c", ptr \00"
@.str7210 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00"
@.str7211 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str7212 = private unnamed_addr constant [2 x i8] c"0\00"
@.str7213 = private unnamed_addr constant [4 x i8] c"ptr\00"
@.str7214 = private unnamed_addr constant [5 x i8] c"null\00"
@.str7215 = private unnamed_addr constant [9 x i8] c" store \00"
@.str7216 = private unnamed_addr constant [2 x i8] c" \00"
@.str7217 = private unnamed_addr constant [7 x i8] c", ptr \00"
@.str7218 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str7219 = private unnamed_addr constant [3 x i8] c" \00"
@.str7220 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00"
@.str7221 = private unnamed_addr constant [7 x i8] c", ptr \00"
@.str7222 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00"
@.str7223 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str7224 = private unnamed_addr constant [9 x i8] c" store \00"
@.str7225 = private unnamed_addr constant [2 x i8] c" \00"
@.str7226 = private unnamed_addr constant [7 x i8] c", ptr \00"
@.str7227 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str7228 = private unnamed_addr constant [4 x i8] c"ptr\00"
@.str7229 = private unnamed_addr constant [13 x i8] c" store ptr \00"
@.str7230 = private unnamed_addr constant [7 x i8] c", ptr \00"
@.str7231 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str7232 = private unnamed_addr constant [6 x i8] c"prop_\00"
@.str7233 = private unnamed_addr constant [8 x i8] c"_attach\00"
@.str7234 = private unnamed_addr constant [17 x i8] c" call void @ev_\00"
@.str7235 = private unnamed_addr constant [6 x i8] c"(i32 \00"
@.str7236 = private unnamed_addr constant [3 x i8] c")\0A\00"
@.str7237 = private unnamed_addr constant [3 x i8] c" \00"
@.str7238 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00"
@.str7239 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00"
@.str7240 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00"
@.str7241 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00"
@.str7242 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str7243 = private unnamed_addr constant [4 x i8] c"ptr\00"
@.str7244 = private unnamed_addr constant [13 x i8] c" store ptr \00"
@.str7245 = private unnamed_addr constant [7 x i8] c", ptr \00"
@.str7246 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str7247 = private unnamed_addr constant [20 x i8] c"call i32 @L_alloc()\00"
@.str7248 = private unnamed_addr constant [3 x i8] c" \00"
@.str7249 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00"
@.str7250 = private unnamed_addr constant [34 x i8] c" x i32], ptr @L_kind, i32 0, i32 \00"
@.str7251 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str7252 = private unnamed_addr constant [13 x i8] c" store i32 \00"
@.str7253 = private unnamed_addr constant [7 x i8] c", ptr \00"
@.str7254 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str7255 = private unnamed_addr constant [7 x i8] c"model_\00"
@.str7256 = private unnamed_addr constant [7 x i8] c"_spawn\00"
@.str7257 = private unnamed_addr constant [17 x i8] c" call void @ev_\00"
@.str7258 = private unnamed_addr constant [6 x i8] c"(i32 \00"
@.str7259 = private unnamed_addr constant [3 x i8] c")\0A\00"
@.str7260 = private unnamed_addr constant [3 x i8] c" \00"
@.str7261 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00"
@.str7262 = private unnamed_addr constant [34 x i8] c" x i32], ptr @L_kind, i32 0, i32 \00"
@.str7263 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str7264 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
@.str7265 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00"
@.str7266 = private unnamed_addr constant [3 x i8] c", \00"
@.str7267 = private unnamed_addr constant [3 x i8] c"dh\00"
@.str7268 = private unnamed_addr constant [4 x i8] c"dhn\00"
@.str7269 = private unnamed_addr constant [9 x i8] c" br i1 \00"
@.str7270 = private unnamed_addr constant [10 x i8] c", label %\00"
@.str7271 = private unnamed_addr constant [10 x i8] c", label %\00"
@.str7272 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str7273 = private unnamed_addr constant [27 x i8] c":\0A call void @on_despawn_\00"
@.str7274 = private unnamed_addr constant [6 x i8] c"(i32 \00"
@.str7275 = private unnamed_addr constant [10 x i8] c", i32 0)\0A\00"
@.str7276 = private unnamed_addr constant [7 x i8] c"model_\00"
@.str7277 = private unnamed_addr constant [9 x i8] c"_despawn\00"
@.str7278 = private unnamed_addr constant [17 x i8] c" call void @ev_\00"
@.str7279 = private unnamed_addr constant [6 x i8] c"(i32 \00"
@.str7280 = private unnamed_addr constant [10 x i8] c", i32 0)\0A\00"
@.str7281 = private unnamed_addr constant [13 x i8] c" br label %\00"
@.str7282 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str7283 = private unnamed_addr constant [3 x i8] c":\0A\00"
@.str7284 = private unnamed_addr constant [37 x i8] c" call void @ludic_sweep_entity(i32 \00"
@.str7285 = private unnamed_addr constant [3 x i8] c")\0A\00"
@.str7286 = private unnamed_addr constant [32 x i8] c" call void @L_free_entity(i32 \00"
@.str7287 = private unnamed_addr constant [3 x i8] c")\0A\00"
@.str7288 = private unnamed_addr constant [3 x i8] c" \00"
@.str7289 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00"
@.str7290 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00"
@.str7291 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00"
@.str7292 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str7293 = private unnamed_addr constant [14 x i8] c"load i8, ptr \00"
@.str7294 = private unnamed_addr constant [12 x i8] c"icmp eq i8 \00"
@.str7295 = private unnamed_addr constant [4 x i8] c", 0\00"
@.str7296 = private unnamed_addr constant [7 x i8] c"attach\00"
@.str7297 = private unnamed_addr constant [8 x i8] c"attdone\00"
@.str7298 = private unnamed_addr constant [9 x i8] c" br i1 \00"
@.str7299 = private unnamed_addr constant [10 x i8] c", label %\00"
@.str7300 = private unnamed_addr constant [10 x i8] c", label %\00"
@.str7301 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str7302 = private unnamed_addr constant [3 x i8] c":\0A\00"
@.str7303 = private unnamed_addr constant [13 x i8] c" br label %\00"
@.str7304 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str7305 = private unnamed_addr constant [3 x i8] c":\0A\00"
@.str7306 = private unnamed_addr constant [3 x i8] c" \00"
@.str7307 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00"
@.str7308 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00"
@.str7309 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00"
@.str7310 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str7311 = private unnamed_addr constant [14 x i8] c"load i8, ptr \00"
@.str7312 = private unnamed_addr constant [12 x i8] c"icmp ne i8 \00"
@.str7313 = private unnamed_addr constant [4 x i8] c", 0\00"
@.str7314 = private unnamed_addr constant [7 x i8] c"detach\00"
@.str7315 = private unnamed_addr constant [8 x i8] c"detdone\00"
@.str7316 = private unnamed_addr constant [9 x i8] c" br i1 \00"
@.str7317 = private unnamed_addr constant [10 x i8] c", label %\00"
@.str7318 = private unnamed_addr constant [10 x i8] c", label %\00"
@.str7319 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str7320 = private unnamed_addr constant [3 x i8] c":\0A\00"
@.str7321 = private unnamed_addr constant [19 x i8] c" store i8 0, ptr \00"
@.str7322 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str7323 = private unnamed_addr constant [3 x i8] c" \00"
@.str7324 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00"
@.str7325 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00"
@.str7326 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00"
@.str7327 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00"
@.str7328 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str7329 = private unnamed_addr constant [4 x i8] c"ptr\00"
@.str7330 = private unnamed_addr constant [13 x i8] c" store ptr \00"
@.str7331 = private unnamed_addr constant [7 x i8] c", ptr \00"
@.str7332 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str7333 = private unnamed_addr constant [6 x i8] c"prop_\00"
@.str7334 = private unnamed_addr constant [8 x i8] c"_detach\00"
@.str7335 = private unnamed_addr constant [17 x i8] c" call void @ev_\00"
@.str7336 = private unnamed_addr constant [6 x i8] c"(i32 \00"
@.str7337 = private unnamed_addr constant [3 x i8] c")\0A\00"
@.str7338 = private unnamed_addr constant [13 x i8] c" br label %\00"
@.str7339 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str7340 = private unnamed_addr constant [3 x i8] c":\0A\00"
@.str7341 = private unnamed_addr constant [2 x i8] c"0\00"
@.str7342 = private unnamed_addr constant [2 x i8] c"1\00"
@.str7343 = private unnamed_addr constant [6 x i8] c"layer\00"
@.str7344 = private unnamed_addr constant [13 x i8] c" store i32 \00"
@.str7345 = private unnamed_addr constant [11 x i8] c", ptr @LE_\00"
@.str7346 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str7347 = private unnamed_addr constant [7 x i8] c"layer_\00"
@.str7348 = private unnamed_addr constant [6 x i8] c"_hide\00"
@.str7349 = private unnamed_addr constant [7 x i8] c"layer_\00"
@.str7350 = private unnamed_addr constant [6 x i8] c"_show\00"
@.str7351 = private unnamed_addr constant [17 x i8] c" call void @ev_\00"
@.str7352 = private unnamed_addr constant [4 x i8] c"()\0A\00"
@.str7353 = private unnamed_addr constant [3 x i8] c" \00"
@.str7354 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00"
@.str7355 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00"
@.str7356 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00"
@.str7357 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str7358 = private unnamed_addr constant [12 x i8] c" store i8 \00"
@.str7359 = private unnamed_addr constant [7 x i8] c", ptr \00"
@.str7360 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str7361 = private unnamed_addr constant [3 x i8] c" \00"
@.str7362 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00"
@.str7363 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00"
@.str7364 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00"
@.str7365 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00"
@.str7366 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str7367 = private unnamed_addr constant [4 x i8] c"ptr\00"
@.str7368 = private unnamed_addr constant [13 x i8] c" store ptr \00"
@.str7369 = private unnamed_addr constant [7 x i8] c", ptr \00"
@.str7370 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str7371 = private unnamed_addr constant [6 x i8] c"prop_\00"
@.str7372 = private unnamed_addr constant [9 x i8] c"_disable\00"
@.str7373 = private unnamed_addr constant [6 x i8] c"prop_\00"
@.str7374 = private unnamed_addr constant [8 x i8] c"_enable\00"
@.str7375 = private unnamed_addr constant [17 x i8] c" call void @ev_\00"
@.str7376 = private unnamed_addr constant [6 x i8] c"(i32 \00"
@.str7377 = private unnamed_addr constant [3 x i8] c")\0A\00"
@.str7378 = private unnamed_addr constant [5 x i8] c"@HE_\00"
@.str7379 = private unnamed_addr constant [5 x i8] c"@ME_\00"
@.str7380 = private unnamed_addr constant [13 x i8] c" store i32 \00"
@.str7381 = private unnamed_addr constant [7 x i8] c", ptr \00"
@.str7382 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str7383 = private unnamed_addr constant [5 x i8] c"void\00"
@.str7384 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00"
@.str7385 = private unnamed_addr constant [17 x i8] c"ret:\0A ret void\0A\00"
@.str7386 = private unnamed_addr constant [18 x i8] c"define void @sys_\00"
@.str7387 = private unnamed_addr constant [13 x i8] c"() {\0Aentry:\0A\00"
@.str7388 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00"
@.str7389 = private unnamed_addr constant [19 x i8] c"load i32, ptr @HE_\00"
@.str7390 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00"
@.str7391 = private unnamed_addr constant [4 x i8] c", 0\00"
@.str7392 = private unnamed_addr constant [19 x i8] c"load i32, ptr @LE_\00"
@.str7393 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00"
@.str7394 = private unnamed_addr constant [4 x i8] c", 0\00"
@.str7395 = private unnamed_addr constant [8 x i8] c"and i1 \00"
@.str7396 = private unnamed_addr constant [3 x i8] c", \00"
@.str7397 = private unnamed_addr constant [22 x i8] c"load i32, ptr @L_role\00"
@.str7398 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00"
@.str7399 = private unnamed_addr constant [4 x i8] c", 1\00"
@.str7400 = private unnamed_addr constant [8 x i8] c"and i1 \00"
@.str7401 = private unnamed_addr constant [3 x i8] c", \00"
@.str7402 = private unnamed_addr constant [5 x i8] c"hrun\00"
@.str7403 = private unnamed_addr constant [6 x i8] c"hskip\00"
@.str7404 = private unnamed_addr constant [9 x i8] c" br i1 \00"
@.str7405 = private unnamed_addr constant [10 x i8] c", label %\00"
@.str7406 = private unnamed_addr constant [10 x i8] c", label %\00"
@.str7407 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str7408 = private unnamed_addr constant [20 x i8] c":\0A call void @sys_\00"
@.str7409 = private unnamed_addr constant [4 x i8] c"()\0A\00"
@.str7410 = private unnamed_addr constant [13 x i8] c" br label %\00"
@.str7411 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str7412 = private unnamed_addr constant [3 x i8] c":\0A\00"
@.str7413 = private unnamed_addr constant [17 x i8] c" call void @fn_\00"
@.str7414 = private unnamed_addr constant [4 x i8] c"()\0A\00"
@.str7415 = private unnamed_addr constant [7 x i8] c"Update\00"
@.str7416 = private unnamed_addr constant [11 x i8] c"SpriteAnim\00"
@.str7417 = private unnamed_addr constant [16 x i8] c"esys_spriteanim\00"
@.str7418 = private unnamed_addr constant [7 x i8] c"Motion\00"
@.str7419 = private unnamed_addr constant [12 x i8] c"esys_motion\00"
@.str7420 = private unnamed_addr constant [11 x i8] c"esys_tween\00"
@.str7421 = private unnamed_addr constant [30 x i8] c" call void @fn_esys_tween()\0A\00"
@.str7422 = private unnamed_addr constant [7 x i8] c"Render\00"
@.str7423 = private unnamed_addr constant [8 x i8] c"Light2D\00"
@.str7424 = private unnamed_addr constant [13 x i8] c"esys_light2d\00"
@.str7425 = private unnamed_addr constant [23 x i8] c"load i32, ptr @L_scene\00"
@.str7426 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00"
@.str7427 = private unnamed_addr constant [3 x i8] c", \00"
@.str7428 = private unnamed_addr constant [6 x i8] c"scrun\00"
@.str7429 = private unnamed_addr constant [7 x i8] c"scskip\00"
@.str7430 = private unnamed_addr constant [9 x i8] c" br i1 \00"
@.str7431 = private unnamed_addr constant [10 x i8] c", label %\00"
@.str7432 = private unnamed_addr constant [10 x i8] c", label %\00"
@.str7433 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str7434 = private unnamed_addr constant [3 x i8] c":\0A\00"
@.str7435 = private unnamed_addr constant [13 x i8] c" br label %\00"
@.str7436 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str7437 = private unnamed_addr constant [3 x i8] c":\0A\00"
@.str7438 = private unnamed_addr constant [5 x i8] c"void\00"
@.str7439 = private unnamed_addr constant [7 x i8] c"scene_\00"
@.str7440 = private unnamed_addr constant [2 x i8] c"_\00"
@.str7441 = private unnamed_addr constant [17 x i8] c" call void @ev_\00"
@.str7442 = private unnamed_addr constant [4 x i8] c"()\0A\00"
@.str7443 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00"
@.str7444 = private unnamed_addr constant [17 x i8] c"ret:\0A ret void\0A\00"
@.str7445 = private unnamed_addr constant [20 x i8] c"define void @scene_\00"
@.str7446 = private unnamed_addr constant [2 x i8] c"_\00"
@.str7447 = private unnamed_addr constant [13 x i8] c"() {\0Aentry:\0A\00"
@.str7448 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00"
@.str7449 = private unnamed_addr constant [6 x i8] c"enter\00"
@.str7450 = private unnamed_addr constant [5 x i8] c"exit\00"
@.str7451 = private unnamed_addr constant [5 x i8] c"void\00"
@.str7452 = private unnamed_addr constant [4 x i8] c"i32\00"
@.str7453 = private unnamed_addr constant [26 x i8] c" store i32 %reason, ptr \00"
@.str7454 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str7455 = private unnamed_addr constant [4 x i8] c"int\00"
@.str7456 = private unnamed_addr constant [3 x i8] c"%e\00"
@.str7457 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00"
@.str7458 = private unnamed_addr constant [17 x i8] c"ret:\0A ret void\0A\00"
@.str7459 = private unnamed_addr constant [25 x i8] c"define void @on_despawn_\00"
@.str7460 = private unnamed_addr constant [32 x i8] c"(i32 %e, i32 %reason) {\0Aentry:\0A\00"
@.str7461 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00"
@.str7462 = private unnamed_addr constant [67 x i8] c"define void @L_despawn_all(i32 %reason) {\0Aentry:\0A br label %loop\0A\00"
@.str7463 = private unnamed_addr constant [52 x i8] c"loop:\0A %i = phi i32 [ 0, %entry ], [ %i1, %cont ]\0A\00"
@.str7464 = private unnamed_addr constant [58 x i8] c" %n = load i32, ptr @L_entc\0A %go = icmp slt i32 %i, %n\0A\00"
@.str7465 = private unnamed_addr constant [38 x i8] c" br i1 %go, label %body, label %fin\0A\00"
@.str7466 = private unnamed_addr constant [39 x i8] c"body:\0A %ap = getelementptr inbounds [\00"
@.str7467 = private unnamed_addr constant [38 x i8] c" x i32], ptr @L_alive, i32 0, i32 %i\0A\00"
@.str7468 = private unnamed_addr constant [55 x i8] c" %al = load i32, ptr %ap\0A %isa = icmp ne i32 %al, 0\0A\00"
@.str7469 = private unnamed_addr constant [38 x i8] c" br i1 %isa, label %do, label %cont\0A\00"
@.str7470 = private unnamed_addr constant [37 x i8] c"do:\0A %kp = getelementptr inbounds [\00"
@.str7471 = private unnamed_addr constant [37 x i8] c" x i32], ptr @L_kind, i32 0, i32 %i\0A\00"
@.str7472 = private unnamed_addr constant [26 x i8] c" %k = load i32, ptr %kp\0A\00"
@.str7473 = private unnamed_addr constant [5 x i8] c" %c\00"
@.str7474 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %k, \00"
@.str7475 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str7476 = private unnamed_addr constant [11 x i8] c" br i1 %c\00"
@.str7477 = private unnamed_addr constant [13 x i8] c", label %hit\00"
@.str7478 = private unnamed_addr constant [14 x i8] c", label %next\00"
@.str7479 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str7480 = private unnamed_addr constant [4 x i8] c"hit\00"
@.str7481 = private unnamed_addr constant [27 x i8] c":\0A call void @on_despawn_\00"
@.str7482 = private unnamed_addr constant [23 x i8] c"(i32 %i, i32 %reason)\0A\00"
@.str7483 = private unnamed_addr constant [7 x i8] c"model_\00"
@.str7484 = private unnamed_addr constant [9 x i8] c"_despawn\00"
@.str7485 = private unnamed_addr constant [17 x i8] c" call void @ev_\00"
@.str7486 = private unnamed_addr constant [23 x i8] c"(i32 %i, i32 %reason)\0A\00"
@.str7487 = private unnamed_addr constant [17 x i8] c" br label %next\00"
@.str7488 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str7489 = private unnamed_addr constant [5 x i8] c"next\00"
@.str7490 = private unnamed_addr constant [3 x i8] c":\0A\00"
@.str7491 = private unnamed_addr constant [18 x i8] c" br label %cont\0A\00"
@.str7492 = private unnamed_addr constant [46 x i8] c"cont:\0A %i1 = add i32 %i, 1\0A br label %loop\0A\00"
@.str7493 = private unnamed_addr constant [20 x i8] c"fin:\0A ret void\0A}\0A\0A\00"
@.str7494 = private unnamed_addr constant [26 x i8] c"@ev_depth = global i32 0\0A\00"
@.str7495 = private unnamed_addr constant [5 x i8] c"%Ev_\00"
@.str7496 = private unnamed_addr constant [11 x i8] c" = type { \00"
@.str7497 = private unnamed_addr constant [3 x i8] c", \00"
@.str7498 = private unnamed_addr constant [3 x i8] c", \00"
@.str7499 = private unnamed_addr constant [4 x i8] c"i32\00"
@.str7500 = private unnamed_addr constant [4 x i8] c" }\0A\00"
@.str7501 = private unnamed_addr constant [6 x i8] c"@evL_\00"
@.str7502 = private unnamed_addr constant [12 x i8] c" = global [\00"
@.str7503 = private unnamed_addr constant [25 x i8] c" x ptr] zeroinitializer\0A\00"
@.str7504 = private unnamed_addr constant [6 x i8] c"@evN_\00"
@.str7505 = private unnamed_addr constant [17 x i8] c" = global i32 0\0A\00"
@.str7506 = private unnamed_addr constant [6 x i8] c"@evO_\00"
@.str7507 = private unnamed_addr constant [12 x i8] c" = global [\00"
@.str7508 = private unnamed_addr constant [25 x i8] c" x i32] zeroinitializer\0A\00"
@.str7509 = private unnamed_addr constant [22 x i8] c"define i32 @ludic_on_\00"
@.str7510 = private unnamed_addr constant [20 x i8] c"(ptr %cb) {\0Aentry:\0A\00"
@.str7511 = private unnamed_addr constant [27 x i8] c" %n = load i32, ptr @evN_\00"
@.str7512 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str7513 = private unnamed_addr constant [28 x i8] c" %full = icmp slt i32 %n, \00"
@.str7514 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str7515 = private unnamed_addr constant [40 x i8] c" br i1 %full, label %add, label %drop\0A\00"
@.str7516 = private unnamed_addr constant [40 x i8] c"add:\0A %slot = getelementptr inbounds [\00"
@.str7517 = private unnamed_addr constant [19 x i8] c" x ptr], ptr @evL_\00"
@.str7518 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %n\0A\00"
@.str7519 = private unnamed_addr constant [28 x i8] c" store ptr %cb, ptr %slot\0A\00"
@.str7520 = private unnamed_addr constant [36 x i8] c" %oslot = getelementptr inbounds [\00"
@.str7521 = private unnamed_addr constant [19 x i8] c" x i32], ptr @evO_\00"
@.str7522 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %n\0A\00"
@.str7523 = private unnamed_addr constant [28 x i8] c" store i32 -1, ptr %oslot\0A\00"
@.str7524 = private unnamed_addr constant [49 x i8] c" %n1 = add i32 %n, 1\0A store i32 %n1, ptr @evN_\00"
@.str7525 = private unnamed_addr constant [15 x i8] c"\0A ret i32 %n\0A\00"
@.str7526 = private unnamed_addr constant [23 x i8] c"drop:\0A ret i32 -1\0A}\0A\0A\00"
@.str7527 = private unnamed_addr constant [29 x i8] c"define i32 @ludic_on_entity_\00"
@.str7528 = private unnamed_addr constant [32 x i8] c"(i32 %owner, ptr %cb) {\0Aentry:\0A\00"
@.str7529 = private unnamed_addr constant [27 x i8] c" %n = load i32, ptr @evN_\00"
@.str7530 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str7531 = private unnamed_addr constant [28 x i8] c" %full = icmp slt i32 %n, \00"
@.str7532 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str7533 = private unnamed_addr constant [40 x i8] c" br i1 %full, label %add, label %drop\0A\00"
@.str7534 = private unnamed_addr constant [40 x i8] c"add:\0A %slot = getelementptr inbounds [\00"
@.str7535 = private unnamed_addr constant [19 x i8] c" x ptr], ptr @evL_\00"
@.str7536 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %n\0A\00"
@.str7537 = private unnamed_addr constant [28 x i8] c" store ptr %cb, ptr %slot\0A\00"
@.str7538 = private unnamed_addr constant [36 x i8] c" %oslot = getelementptr inbounds [\00"
@.str7539 = private unnamed_addr constant [19 x i8] c" x i32], ptr @evO_\00"
@.str7540 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %n\0A\00"
@.str7541 = private unnamed_addr constant [32 x i8] c" store i32 %owner, ptr %oslot\0A\00"
@.str7542 = private unnamed_addr constant [49 x i8] c" %n1 = add i32 %n, 1\0A store i32 %n1, ptr @evN_\00"
@.str7543 = private unnamed_addr constant [15 x i8] c"\0A ret i32 %n\0A\00"
@.str7544 = private unnamed_addr constant [23 x i8] c"drop:\0A ret i32 -1\0A}\0A\0A\00"
@.str7545 = private unnamed_addr constant [24 x i8] c"define void @ludic_off_\00"
@.str7546 = private unnamed_addr constant [21 x i8] c"(i32 %tok) {\0Aentry:\0A\00"
@.str7547 = private unnamed_addr constant [27 x i8] c" %n = load i32, ptr @evN_\00"
@.str7548 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str7549 = 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"
@.str7550 = private unnamed_addr constant [37 x i8] c" br i1 %ok, label %do, label %skip\0A\00"
@.str7551 = private unnamed_addr constant [39 x i8] c"do:\0A %slot = getelementptr inbounds [\00"
@.str7552 = private unnamed_addr constant [19 x i8] c" x ptr], ptr @evL_\00"
@.str7553 = private unnamed_addr constant [19 x i8] c", i32 0, i32 %tok\0A\00"
@.str7554 = private unnamed_addr constant [46 x i8] c" store ptr null, ptr %slot\0A br label %skip\0A\00"
@.str7555 = private unnamed_addr constant [21 x i8] c"skip:\0A ret void\0A}\0A\0A\00"
@.str7556 = private unnamed_addr constant [5 x i8] c"void\00"
@.str7557 = private unnamed_addr constant [34 x i8] c" %evd = load i32, ptr @ev_depth\0A\00"
@.str7558 = private unnamed_addr constant [32 x i8] c" %evover = icmp sge i32 %evd, \00"
@.str7559 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str7560 = private unnamed_addr constant [44 x i8] c" br i1 %evover, label %evcap, label %evgo\0A\00"
@.str7561 = private unnamed_addr constant [8 x i8] c"evcap:\0A\00"
@.str7562 = private unnamed_addr constant [13 x i8] c" ret i32 0\0A\00"
@.str7563 = private unnamed_addr constant [12 x i8] c" ret void\0A\00"
@.str7564 = private unnamed_addr constant [7 x i8] c"evgo:\0A\00"
@.str7565 = private unnamed_addr constant [60 x i8] c" %evd1 = add i32 %evd, 1\0A store i32 %evd1, ptr @ev_depth\0A\00"
@.str7566 = private unnamed_addr constant [5 x i8] c"%Ev_\00"
@.str7567 = private unnamed_addr constant [3 x i8] c" \00"
@.str7568 = private unnamed_addr constant [31 x i8] c" = getelementptr inbounds %Ev_\00"
@.str7569 = private unnamed_addr constant [7 x i8] c", ptr \00"
@.str7570 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00"
@.str7571 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str7572 = private unnamed_addr constant [9 x i8] c" store \00"
@.str7573 = private unnamed_addr constant [4 x i8] c" %p\00"
@.str7574 = private unnamed_addr constant [7 x i8] c", ptr \00"
@.str7575 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str7576 = private unnamed_addr constant [9 x i8] c" store \00"
@.str7577 = private unnamed_addr constant [4 x i8] c" %p\00"
@.str7578 = private unnamed_addr constant [7 x i8] c", ptr \00"
@.str7579 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str7580 = private unnamed_addr constant [3 x i8] c" \00"
@.str7581 = private unnamed_addr constant [31 x i8] c" = getelementptr inbounds %Ev_\00"
@.str7582 = private unnamed_addr constant [7 x i8] c", ptr \00"
@.str7583 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00"
@.str7584 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str7585 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00"
@.str7586 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str7587 = private unnamed_addr constant [4 x i8] c"i32\00"
@.str7588 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00"
@.str7589 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str7590 = private unnamed_addr constant [4 x i8] c"evl\00"
@.str7591 = private unnamed_addr constant [4 x i8] c"evb\00"
@.str7592 = private unnamed_addr constant [4 x i8] c"evd\00"
@.str7593 = private unnamed_addr constant [13 x i8] c" br label %\00"
@.str7594 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str7595 = private unnamed_addr constant [3 x i8] c":\0A\00"
@.str7596 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
@.str7597 = private unnamed_addr constant [20 x i8] c"load i32, ptr @evN_\00"
@.str7598 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
@.str7599 = private unnamed_addr constant [3 x i8] c", \00"
@.str7600 = private unnamed_addr constant [9 x i8] c" br i1 \00"
@.str7601 = private unnamed_addr constant [10 x i8] c", label %\00"
@.str7602 = private unnamed_addr constant [10 x i8] c", label %\00"
@.str7603 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str7604 = private unnamed_addr constant [3 x i8] c":\0A\00"
@.str7605 = private unnamed_addr constant [3 x i8] c" \00"
@.str7606 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00"
@.str7607 = private unnamed_addr constant [19 x i8] c" x ptr], ptr @evL_\00"
@.str7608 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00"
@.str7609 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str7610 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00"
@.str7611 = private unnamed_addr constant [13 x i8] c"icmp eq ptr \00"
@.str7612 = private unnamed_addr constant [7 x i8] c", null\00"
@.str7613 = private unnamed_addr constant [5 x i8] c"evdo\00"
@.str7614 = private unnamed_addr constant [5 x i8] c"evsk\00"
@.str7615 = private unnamed_addr constant [9 x i8] c" br i1 \00"
@.str7616 = private unnamed_addr constant [10 x i8] c", label %\00"
@.str7617 = private unnamed_addr constant [10 x i8] c", label %\00"
@.str7618 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str7619 = private unnamed_addr constant [3 x i8] c":\0A\00"
@.str7620 = private unnamed_addr constant [13 x i8] c" call void \00"
@.str7621 = private unnamed_addr constant [6 x i8] c"(ptr \00"
@.str7622 = private unnamed_addr constant [3 x i8] c")\0A\00"
@.str7623 = private unnamed_addr constant [13 x i8] c" br label %\00"
@.str7624 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str7625 = private unnamed_addr constant [3 x i8] c":\0A\00"
@.str7626 = private unnamed_addr constant [9 x i8] c"add i32 \00"
@.str7627 = private unnamed_addr constant [4 x i8] c", 1\00"
@.str7628 = private unnamed_addr constant [13 x i8] c" store i32 \00"
@.str7629 = private unnamed_addr constant [7 x i8] c", ptr \00"
@.str7630 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str7631 = private unnamed_addr constant [13 x i8] c" br label %\00"
@.str7632 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str7633 = private unnamed_addr constant [3 x i8] c":\0A\00"
@.str7634 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00"
@.str7635 = private unnamed_addr constant [6 x i8] c"ret:\0A\00"
@.str7636 = 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"
@.str7637 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
@.str7638 = private unnamed_addr constant [11 x i8] c" ret i32 \00"
@.str7639 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str7640 = private unnamed_addr constant [12 x i8] c" ret void\0A\00"
@.str7641 = private unnamed_addr constant [5 x i8] c"void\00"
@.str7642 = private unnamed_addr constant [4 x i8] c"i32\00"
@.str7643 = private unnamed_addr constant [8 x i8] c"define \00"
@.str7644 = private unnamed_addr constant [6 x i8] c" @ev_\00"
@.str7645 = private unnamed_addr constant [2 x i8] c"(\00"
@.str7646 = private unnamed_addr constant [3 x i8] c", \00"
@.str7647 = private unnamed_addr constant [4 x i8] c" %p\00"
@.str7648 = private unnamed_addr constant [12 x i8] c") {\0Aentry:\0A\00"
@.str7649 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00"
@.str7650 = 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"
@.str7651 = private unnamed_addr constant [3 x i8] c"sw\00"
@.str7652 = private unnamed_addr constant [3 x i8] c":\0A\00"
@.str7653 = private unnamed_addr constant [7 x i8] c" %swi\00"
@.str7654 = private unnamed_addr constant [22 x i8] c" = load i32, ptr %ci\0A\00"
@.str7655 = private unnamed_addr constant [7 x i8] c" %swn\00"
@.str7656 = private unnamed_addr constant [23 x i8] c" = load i32, ptr @evN_\00"
@.str7657 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str7658 = private unnamed_addr constant [7 x i8] c" %swg\00"
@.str7659 = private unnamed_addr constant [21 x i8] c" = icmp slt i32 %swi\00"
@.str7660 = private unnamed_addr constant [7 x i8] c", %swn\00"
@.str7661 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str7662 = private unnamed_addr constant [13 x i8] c" br i1 %swg\00"
@.str7663 = private unnamed_addr constant [13 x i8] c", label %swb\00"
@.str7664 = private unnamed_addr constant [13 x i8] c", label %swd\00"
@.str7665 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str7666 = private unnamed_addr constant [4 x i8] c"swb\00"
@.str7667 = private unnamed_addr constant [3 x i8] c":\0A\00"
@.str7668 = private unnamed_addr constant [8 x i8] c" %swop\00"
@.str7669 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00"
@.str7670 = private unnamed_addr constant [19 x i8] c" x i32], ptr @evO_\00"
@.str7671 = private unnamed_addr constant [18 x i8] c", i32 0, i32 %swi\00"
@.str7672 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str7673 = private unnamed_addr constant [8 x i8] c" %swov\00"
@.str7674 = private unnamed_addr constant [23 x i8] c" = load i32, ptr %swop\00"
@.str7675 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str7676 = private unnamed_addr constant [7 x i8] c" %swm\00"
@.str7677 = private unnamed_addr constant [21 x i8] c" = icmp eq i32 %swov\00"
@.str7678 = private unnamed_addr constant [10 x i8] c", %owner\0A\00"
@.str7679 = private unnamed_addr constant [13 x i8] c" br i1 %swm\00"
@.str7680 = private unnamed_addr constant [13 x i8] c", label %swh\00"
@.str7681 = private unnamed_addr constant [13 x i8] c", label %swx\00"
@.str7682 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str7683 = private unnamed_addr constant [4 x i8] c"swh\00"
@.str7684 = private unnamed_addr constant [3 x i8] c":\0A\00"
@.str7685 = private unnamed_addr constant [8 x i8] c" %swlp\00"
@.str7686 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00"
@.str7687 = private unnamed_addr constant [19 x i8] c" x ptr], ptr @evL_\00"
@.str7688 = private unnamed_addr constant [18 x i8] c", i32 0, i32 %swi\00"
@.str7689 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str7690 = private unnamed_addr constant [28 x i8] c" store ptr null, ptr %swlp\00"
@.str7691 = private unnamed_addr constant [17 x i8] c"\0A br label %swx\00"
@.str7692 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str7693 = private unnamed_addr constant [4 x i8] c"swx\00"
@.str7694 = private unnamed_addr constant [3 x i8] c":\0A\00"
@.str7695 = private unnamed_addr constant [8 x i8] c" %swi1\00"
@.str7696 = private unnamed_addr constant [16 x i8] c" = add i32 %swi\00"
@.str7697 = private unnamed_addr constant [22 x i8] c", 1\0A store i32 %swi1\00"
@.str7698 = private unnamed_addr constant [25 x i8] c", ptr %ci\0A br label %sw\00"
@.str7699 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str7700 = private unnamed_addr constant [4 x i8] c"swd\00"
@.str7701 = private unnamed_addr constant [26 x i8] c":\0A store i32 0, ptr %ci\0A\00"
@.str7702 = private unnamed_addr constant [15 x i8] c" br label %sw\00"
@.str7703 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str7704 = private unnamed_addr constant [12 x i8] c" ret void\0A\00"
@.str7705 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00"
@.str7706 = private unnamed_addr constant [31 x i8] c"declare i32 @strcmp(ptr, ptr)\0A\00"
@.str7707 = private unnamed_addr constant [27 x i8] c"@dyn_count = global i32 0\0A\00"
@.str7708 = private unnamed_addr constant [43 x i8] c"@dynS = global [32 x ptr] zeroinitializer\0A\00"
@.str7709 = private unnamed_addr constant [43 x i8] c"@dynH = global [32 x ptr] zeroinitializer\0A\00"
@.str7710 = private unnamed_addr constant [43 x i8] c"@dynF = global [32 x i32] zeroinitializer\0A\00"
@.str7711 = private unnamed_addr constant [46 x i8] c"@dynName = global [32 x ptr] zeroinitializer\0A\00"
@.str7712 = private unnamed_addr constant [47 x i8] c"define i32 @ludic_prop_id(ptr %name) {\0Aentry:\0A\00"
@.str7713 = private unnamed_addr constant [5 x i8] c" %c\00"
@.str7714 = private unnamed_addr constant [36 x i8] c" = call i32 @strcmp(ptr %name, ptr \00"
@.str7715 = private unnamed_addr constant [3 x i8] c")\0A\00"
@.str7716 = private unnamed_addr constant [5 x i8] c" %e\00"
@.str7717 = private unnamed_addr constant [18 x i8] c" = icmp eq i32 %c\00"
@.str7718 = private unnamed_addr constant [5 x i8] c", 0\0A\00"
@.str7719 = private unnamed_addr constant [11 x i8] c" br i1 %e\00"
@.str7720 = private unnamed_addr constant [11 x i8] c", label %h\00"
@.str7721 = private unnamed_addr constant [11 x i8] c", label %n\00"
@.str7722 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str7723 = private unnamed_addr constant [2 x i8] c"h\00"
@.str7724 = private unnamed_addr constant [13 x i8] c":\0A ret i32 \00"
@.str7725 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str7726 = private unnamed_addr constant [2 x i8] c"n\00"
@.str7727 = private unnamed_addr constant [3 x i8] c":\0A\00"
@.str7728 = private unnamed_addr constant [61 x i8] c" %dpi = alloca i32\0A store i32 0, ptr %dpi\0A br label %dpl\0A\00"
@.str7729 = 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"
@.str7730 = 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"
@.str7731 = private unnamed_addr constant [31 x i8] c"dphit:\0A %drid = add i32 %di, \00"
@.str7732 = private unnamed_addr constant [18 x i8] c"\0A ret i32 %drid\0A\00"
@.str7733 = 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"
@.str7734 = private unnamed_addr constant [25 x i8] c"dpnone:\0A ret i32 -1\0A}\0A\0A\00"
@.str7735 = private unnamed_addr constant [56 x i8] c"define i32 @ludic_field_id(i32 %p, ptr %name) {\0Aentry:\0A\00"
@.str7736 = private unnamed_addr constant [6 x i8] c" %pm\00"
@.str7737 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %p, \00"
@.str7738 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str7739 = private unnamed_addr constant [12 x i8] c" br i1 %pm\00"
@.str7740 = private unnamed_addr constant [12 x i8] c", label %pk\00"
@.str7741 = private unnamed_addr constant [12 x i8] c", label %pn\00"
@.str7742 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str7743 = private unnamed_addr constant [3 x i8] c"pk\00"
@.str7744 = private unnamed_addr constant [3 x i8] c":\0A\00"
@.str7745 = private unnamed_addr constant [2 x i8] c"_\00"
@.str7746 = private unnamed_addr constant [6 x i8] c" %fc\00"
@.str7747 = private unnamed_addr constant [36 x i8] c" = call i32 @strcmp(ptr %name, ptr \00"
@.str7748 = private unnamed_addr constant [3 x i8] c")\0A\00"
@.str7749 = private unnamed_addr constant [6 x i8] c" %fe\00"
@.str7750 = private unnamed_addr constant [19 x i8] c" = icmp eq i32 %fc\00"
@.str7751 = private unnamed_addr constant [5 x i8] c", 0\0A\00"
@.str7752 = private unnamed_addr constant [12 x i8] c" br i1 %fe\00"
@.str7753 = private unnamed_addr constant [12 x i8] c", label %fh\00"
@.str7754 = private unnamed_addr constant [12 x i8] c", label %fn\00"
@.str7755 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str7756 = private unnamed_addr constant [3 x i8] c"fh\00"
@.str7757 = private unnamed_addr constant [13 x i8] c":\0A ret i32 \00"
@.str7758 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str7759 = private unnamed_addr constant [3 x i8] c"fn\00"
@.str7760 = private unnamed_addr constant [3 x i8] c":\0A\00"
@.str7761 = private unnamed_addr constant [14 x i8] c" ret i32 -1\0A\00"
@.str7762 = private unnamed_addr constant [3 x i8] c"pn\00"
@.str7763 = private unnamed_addr constant [3 x i8] c":\0A\00"
@.str7764 = private unnamed_addr constant [17 x i8] c" ret i32 -1\0A}\0A\0A\00"
@.str7765 = private unnamed_addr constant [56 x i8] c"define i64 @ludic_get(i32 %e, i32 %p, i32 %f) {\0Aentry:\0A\00"
@.str7766 = private unnamed_addr constant [5 x i8] c" %m\00"
@.str7767 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %p, \00"
@.str7768 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str7769 = private unnamed_addr constant [11 x i8] c" br i1 %m\00"
@.str7770 = private unnamed_addr constant [11 x i8] c", label %g\00"
@.str7771 = private unnamed_addr constant [12 x i8] c", label %gn\00"
@.str7772 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str7773 = private unnamed_addr constant [2 x i8] c"g\00"
@.str7774 = private unnamed_addr constant [3 x i8] c":\0A\00"
@.str7775 = private unnamed_addr constant [5 x i8] c" %s\00"
@.str7776 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00"
@.str7777 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00"
@.str7778 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00"
@.str7779 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %e\0A\00"
@.str7780 = private unnamed_addr constant [2 x i8] c"_\00"
@.str7781 = private unnamed_addr constant [6 x i8] c" %gm\00"
@.str7782 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %f, \00"
@.str7783 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str7784 = private unnamed_addr constant [12 x i8] c" br i1 %gm\00"
@.str7785 = private unnamed_addr constant [12 x i8] c", label %gf\00"
@.str7786 = private unnamed_addr constant [12 x i8] c", label %gk\00"
@.str7787 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str7788 = private unnamed_addr constant [3 x i8] c"gf\00"
@.str7789 = private unnamed_addr constant [3 x i8] c":\0A\00"
@.str7790 = private unnamed_addr constant [6 x i8] c" %ga\00"
@.str7791 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00"
@.str7792 = private unnamed_addr constant [9 x i8] c", ptr %s\00"
@.str7793 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00"
@.str7794 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str7795 = private unnamed_addr constant [4 x i8] c"ptr\00"
@.str7796 = private unnamed_addr constant [6 x i8] c" %gl\00"
@.str7797 = private unnamed_addr constant [21 x i8] c" = load ptr, ptr %ga\00"
@.str7798 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str7799 = private unnamed_addr constant [6 x i8] c" %gr\00"
@.str7800 = private unnamed_addr constant [20 x i8] c" = ptrtoint ptr %gl\00"
@.str7801 = private unnamed_addr constant [22 x i8] c" to i64\0A ret i64 %gr\00"
@.str7802 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str7803 = private unnamed_addr constant [3 x i8] c"i8\00"
@.str7804 = private unnamed_addr constant [6 x i8] c" %gl\00"
@.str7805 = private unnamed_addr constant [20 x i8] c" = load i8, ptr %ga\00"
@.str7806 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str7807 = private unnamed_addr constant [6 x i8] c" %gr\00"
@.str7808 = private unnamed_addr constant [15 x i8] c" = zext i8 %gl\00"
@.str7809 = private unnamed_addr constant [22 x i8] c" to i64\0A ret i64 %gr\00"
@.str7810 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str7811 = private unnamed_addr constant [6 x i8] c" %gl\00"
@.str7812 = private unnamed_addr constant [21 x i8] c" = load i32, ptr %ga\00"
@.str7813 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str7814 = private unnamed_addr constant [6 x i8] c" %gr\00"
@.str7815 = private unnamed_addr constant [16 x i8] c" = sext i32 %gl\00"
@.str7816 = private unnamed_addr constant [22 x i8] c" to i64\0A ret i64 %gr\00"
@.str7817 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str7818 = private unnamed_addr constant [3 x i8] c"gk\00"
@.str7819 = private unnamed_addr constant [3 x i8] c":\0A\00"
@.str7820 = private unnamed_addr constant [13 x i8] c" ret i64 0\0A\00"
@.str7821 = private unnamed_addr constant [3 x i8] c"gn\00"
@.str7822 = private unnamed_addr constant [3 x i8] c":\0A\00"
@.str7823 = private unnamed_addr constant [23 x i8] c" %gdyn = sub i32 %p, \00"
@.str7824 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str7825 = 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"
@.str7826 = 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"
@.str7827 = 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"
@.str7828 = 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"
@.str7829 = private unnamed_addr constant [24 x i8] c"gdnone:\0A ret i64 0\0A}\0A\0A\00"
@.str7830 = private unnamed_addr constant [67 x i8] c"define void @ludic_set(i32 %e, i32 %p, i32 %f, i64 %val) {\0Aentry:\0A\00"
@.str7831 = private unnamed_addr constant [5 x i8] c" %m\00"
@.str7832 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %p, \00"
@.str7833 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str7834 = private unnamed_addr constant [11 x i8] c" br i1 %m\00"
@.str7835 = private unnamed_addr constant [11 x i8] c", label %g\00"
@.str7836 = private unnamed_addr constant [12 x i8] c", label %gn\00"
@.str7837 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str7838 = private unnamed_addr constant [2 x i8] c"g\00"
@.str7839 = private unnamed_addr constant [3 x i8] c":\0A\00"
@.str7840 = private unnamed_addr constant [5 x i8] c" %s\00"
@.str7841 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00"
@.str7842 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00"
@.str7843 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00"
@.str7844 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %e\0A\00"
@.str7845 = private unnamed_addr constant [2 x i8] c"_\00"
@.str7846 = private unnamed_addr constant [6 x i8] c" %sm\00"
@.str7847 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %f, \00"
@.str7848 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str7849 = private unnamed_addr constant [12 x i8] c" br i1 %sm\00"
@.str7850 = private unnamed_addr constant [12 x i8] c", label %sf\00"
@.str7851 = private unnamed_addr constant [12 x i8] c", label %sk\00"
@.str7852 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str7853 = private unnamed_addr constant [3 x i8] c"sf\00"
@.str7854 = private unnamed_addr constant [3 x i8] c":\0A\00"
@.str7855 = private unnamed_addr constant [6 x i8] c" %sa\00"
@.str7856 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00"
@.str7857 = private unnamed_addr constant [9 x i8] c", ptr %s\00"
@.str7858 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00"
@.str7859 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str7860 = private unnamed_addr constant [4 x i8] c"ptr\00"
@.str7861 = private unnamed_addr constant [6 x i8] c" %sp\00"
@.str7862 = private unnamed_addr constant [29 x i8] c" = inttoptr i64 %val to ptr\0A\00"
@.str7863 = private unnamed_addr constant [16 x i8] c" store ptr %sp\00"
@.str7864 = private unnamed_addr constant [10 x i8] c", ptr %sa\00"
@.str7865 = private unnamed_addr constant [13 x i8] c"\0A ret void\0A\00"
@.str7866 = private unnamed_addr constant [3 x i8] c"i8\00"
@.str7867 = private unnamed_addr constant [6 x i8] c" %sb\00"
@.str7868 = private unnamed_addr constant [25 x i8] c" = trunc i64 %val to i8\0A\00"
@.str7869 = private unnamed_addr constant [15 x i8] c" store i8 %sb\00"
@.str7870 = private unnamed_addr constant [10 x i8] c", ptr %sa\00"
@.str7871 = private unnamed_addr constant [13 x i8] c"\0A ret void\0A\00"
@.str7872 = private unnamed_addr constant [6 x i8] c" %sw\00"
@.str7873 = private unnamed_addr constant [26 x i8] c" = trunc i64 %val to i32\0A\00"
@.str7874 = private unnamed_addr constant [16 x i8] c" store i32 %sw\00"
@.str7875 = private unnamed_addr constant [10 x i8] c", ptr %sa\00"
@.str7876 = private unnamed_addr constant [13 x i8] c"\0A ret void\0A\00"
@.str7877 = private unnamed_addr constant [3 x i8] c"sk\00"
@.str7878 = private unnamed_addr constant [3 x i8] c":\0A\00"
@.str7879 = private unnamed_addr constant [12 x i8] c" ret void\0A\00"
@.str7880 = private unnamed_addr constant [3 x i8] c"gn\00"
@.str7881 = private unnamed_addr constant [3 x i8] c":\0A\00"
@.str7882 = private unnamed_addr constant [23 x i8] c" %sdyn = sub i32 %p, \00"
@.str7883 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str7884 = 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"
@.str7885 = 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"
@.str7886 = 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"
@.str7887 = 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"
@.str7888 = private unnamed_addr constant [23 x i8] c"sdnone:\0A ret void\0A}\0A\0A\00"
@.str7889 = private unnamed_addr constant [48 x i8] c"define i32 @ludic_has(i32 %e, i32 %p) {\0Aentry:\0A\00"
@.str7890 = private unnamed_addr constant [5 x i8] c" %m\00"
@.str7891 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %p, \00"
@.str7892 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str7893 = private unnamed_addr constant [11 x i8] c" br i1 %m\00"
@.str7894 = private unnamed_addr constant [11 x i8] c", label %g\00"
@.str7895 = private unnamed_addr constant [12 x i8] c", label %gn\00"
@.str7896 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str7897 = private unnamed_addr constant [2 x i8] c"g\00"
@.str7898 = private unnamed_addr constant [3 x i8] c":\0A\00"
@.str7899 = private unnamed_addr constant [6 x i8] c" %hp\00"
@.str7900 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00"
@.str7901 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00"
@.str7902 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %e\0A\00"
@.str7903 = private unnamed_addr constant [6 x i8] c" %hv\00"
@.str7904 = private unnamed_addr constant [20 x i8] c" = load i8, ptr %hp\00"
@.str7905 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str7906 = private unnamed_addr constant [6 x i8] c" %hr\00"
@.str7907 = private unnamed_addr constant [15 x i8] c" = zext i8 %hv\00"
@.str7908 = private unnamed_addr constant [22 x i8] c" to i32\0A ret i32 %hr\00"
@.str7909 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str7910 = private unnamed_addr constant [3 x i8] c"gn\00"
@.str7911 = private unnamed_addr constant [3 x i8] c":\0A\00"
@.str7912 = private unnamed_addr constant [23 x i8] c" %hdyn = sub i32 %p, \00"
@.str7913 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str7914 = 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"
@.str7915 = 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"
@.str7916 = private unnamed_addr constant [24 x i8] c"hdnone:\0A ret i32 0\0A}\0A\0A\00"
@.str7917 = private unnamed_addr constant [67 x i8] c"define i32 @ludic_register_prop(ptr %name, i32 %nfields) {\0Aentry:\0A\00"
@.str7918 = 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"
@.str7919 = private unnamed_addr constant [56 x i8] c"do:\0A %nf4 = mul i32 %nfields, 4\0A %sz = mul i32 %nf4, \00"
@.str7920 = private unnamed_addr constant [31 x i8] c"\0A %szl = sext i32 %sz to i64\0A\00"
@.str7921 = private unnamed_addr constant [83 x i8] c" %buf = call ptr @malloc(i64 %szl)\0A call ptr @memset(ptr %buf, i32 0, i64 %szl)\0A\00"
@.str7922 = 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"
@.str7923 = private unnamed_addr constant [32 x i8] c" %hbuf = call ptr @malloc(i64 \00"
@.str7924 = private unnamed_addr constant [44 x i8] c")\0A call ptr @memset(ptr %hbuf, i32 0, i64 \00"
@.str7925 = private unnamed_addr constant [3 x i8] c")\0A\00"
@.str7926 = 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"
@.str7927 = 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"
@.str7928 = 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"
@.str7929 = private unnamed_addr constant [22 x i8] c" %id = add i32 %dc, \00"
@.str7930 = 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"
@.str7931 = private unnamed_addr constant [22 x i8] c"rej:\0A ret i32 -1\0A}\0A\0A\00"
@.str7932 = private unnamed_addr constant [56 x i8] c"define void @ludic_attach_dyn(i32 %e, i32 %p) {\0Aentry:\0A\00"
@.str7933 = private unnamed_addr constant [22 x i8] c" %dyn = sub i32 %p, \00"
@.str7934 = 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"
@.str7935 = private unnamed_addr constant [56 x i8] c"define void @ludic_detach_dyn(i32 %e, i32 %p) {\0Aentry:\0A\00"
@.str7936 = private unnamed_addr constant [22 x i8] c" %dyn = sub i32 %p, \00"
@.str7937 = 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"
@.str7938 = 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"
@.str7939 = private unnamed_addr constant [41 x i8] c"define i32 @ludic_kind(i32 %e) {\0Aentry:\0A\00"
@.str7940 = private unnamed_addr constant [33 x i8] c" %kp = getelementptr inbounds [\00"
@.str7941 = private unnamed_addr constant [37 x i8] c" x i32], ptr @L_kind, i32 0, i32 %e\0A\00"
@.str7942 = private unnamed_addr constant [42 x i8] c" %k = load i32, ptr %kp\0A ret i32 %k\0A}\0A\0A\00"
@.str7943 = private unnamed_addr constant [48 x i8] c"define i32 @ludic_model_id(ptr %name) {\0Aentry:\0A\00"
@.str7944 = private unnamed_addr constant [7 x i8] c" %mdc\00"
@.str7945 = private unnamed_addr constant [36 x i8] c" = call i32 @strcmp(ptr %name, ptr \00"
@.str7946 = private unnamed_addr constant [3 x i8] c")\0A\00"
@.str7947 = private unnamed_addr constant [7 x i8] c" %mde\00"
@.str7948 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %mdc\00"
@.str7949 = private unnamed_addr constant [5 x i8] c", 0\0A\00"
@.str7950 = private unnamed_addr constant [13 x i8] c" br i1 %mde\00"
@.str7951 = private unnamed_addr constant [13 x i8] c", label %mdh\00"
@.str7952 = private unnamed_addr constant [13 x i8] c", label %mdn\00"
@.str7953 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str7954 = private unnamed_addr constant [4 x i8] c"mdh\00"
@.str7955 = private unnamed_addr constant [13 x i8] c":\0A ret i32 \00"
@.str7956 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str7957 = private unnamed_addr constant [4 x i8] c"mdn\00"
@.str7958 = private unnamed_addr constant [3 x i8] c":\0A\00"
@.str7959 = private unnamed_addr constant [17 x i8] c" ret i32 -1\0A}\0A\0A\00"
@.str7960 = private unnamed_addr constant [4 x i8] c"int\00"
@.str7961 = private unnamed_addr constant [11 x i8] c" ret i32 \00"
@.str7962 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str7963 = private unnamed_addr constant [25 x i8] c"define i32 @ludic_spawn_\00"
@.str7964 = private unnamed_addr constant [13 x i8] c"() {\0Aentry:\0A\00"
@.str7965 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00"
@.str7966 = private unnamed_addr constant [42 x i8] c"define i32 @ludic_spawn(i32 %m) {\0Aentry:\0A\00"
@.str7967 = private unnamed_addr constant [6 x i8] c" %sm\00"
@.str7968 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %m, \00"
@.str7969 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str7970 = private unnamed_addr constant [12 x i8] c" br i1 %sm\00"
@.str7971 = private unnamed_addr constant [12 x i8] c", label %sh\00"
@.str7972 = private unnamed_addr constant [12 x i8] c", label %sn\00"
@.str7973 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str7974 = private unnamed_addr constant [3 x i8] c"sh\00"
@.str7975 = private unnamed_addr constant [8 x i8] c":\0A %sr\00"
@.str7976 = private unnamed_addr constant [26 x i8] c" = call i32 @ludic_spawn_\00"
@.str7977 = private unnamed_addr constant [17 x i8] c"()\0A ret i32 %sr\00"
@.str7978 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str7979 = private unnamed_addr constant [3 x i8] c"sn\00"
@.str7980 = private unnamed_addr constant [3 x i8] c":\0A\00"
@.str7981 = private unnamed_addr constant [17 x i8] c" ret i32 -1\0A}\0A\0A\00"
@.str7982 = private unnamed_addr constant [58 x i8] c"define i32 @ludic_query_next(i32 %p, i32 %from) {\0Aentry:\0A\00"
@.str7983 = private unnamed_addr constant [47 x i8] c" %n = load i32, ptr @L_entc\0A br label %loop\0A\00"
@.str7984 = private unnamed_addr constant [56 x i8] c"loop:\0A %e = phi i32 [ %from, %entry ], [ %e1, %cont ]\0A\00"
@.str7985 = private unnamed_addr constant [67 x i8] c" %go = icmp slt i32 %e, %n\0A br i1 %go, label %body, label %none\0A\00"
@.str7986 = private unnamed_addr constant [39 x i8] c"body:\0A %ap = getelementptr inbounds [\00"
@.str7987 = private unnamed_addr constant [38 x i8] c" x i32], ptr @L_alive, i32 0, i32 %e\0A\00"
@.str7988 = 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"
@.str7989 = 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"
@.str7990 = private unnamed_addr constant [20 x i8] c"hitb:\0A ret i32 %e\0A\00"
@.str7991 = private unnamed_addr constant [46 x i8] c"cont:\0A %e1 = add i32 %e, 1\0A br label %loop\0A\00"
@.str7992 = private unnamed_addr constant [23 x i8] c"none:\0A ret i32 -1\0A}\0A\0A\00"
@.str7993 = private unnamed_addr constant [1 x i8] c"\00"
@.str7994 = private unnamed_addr constant [4 x i8] c"int\00"
@.str7995 = private unnamed_addr constant [41 x i8] c"define i32 @ludic_prop_count() {\0Aentry:\0A\00"
@.str7996 = private unnamed_addr constant [52 x i8] c" %d = load i32, ptr @dyn_count\0A %n = add i32 %d, \00"
@.str7997 = private unnamed_addr constant [18 x i8] c"\0A ret i32 %n\0A}\0A\0A\00"
@.str7998 = private unnamed_addr constant [46 x i8] c"define ptr @ludic_prop_name(i32 %i) {\0Aentry:\0A\00"
@.str7999 = private unnamed_addr constant [6 x i8] c" %pe\00"
@.str8000 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %i, \00"
@.str8001 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str8002 = private unnamed_addr constant [12 x i8] c" br i1 %pe\00"
@.str8003 = private unnamed_addr constant [12 x i8] c", label %ph\00"
@.str8004 = private unnamed_addr constant [12 x i8] c", label %pn\00"
@.str8005 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str8006 = private unnamed_addr constant [3 x i8] c"ph\00"
@.str8007 = private unnamed_addr constant [13 x i8] c":\0A ret ptr \00"
@.str8008 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str8009 = private unnamed_addr constant [3 x i8] c"pn\00"
@.str8010 = private unnamed_addr constant [3 x i8] c":\0A\00"
@.str8011 = private unnamed_addr constant [22 x i8] c" %dyn = sub i32 %i, \00"
@.str8012 = private unnamed_addr constant [35 x i8] c"\0A %dc = load i32, ptr @dyn_count\0A\00"
@.str8013 = private unnamed_addr constant [70 x i8] c" %ib = icmp uge i32 %dyn, %dc\0A br i1 %ib, label %pbad, label %pdyn\0A\00"
@.str8014 = 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"
@.str8015 = private unnamed_addr constant [17 x i8] c"pbad:\0A ret ptr \00"
@.str8016 = private unnamed_addr constant [5 x i8] c"\0A}\0A\0A\00"
@.str8017 = private unnamed_addr constant [48 x i8] c"define i32 @ludic_field_count(i32 %p) {\0Aentry:\0A\00"
@.str8018 = private unnamed_addr constant [7 x i8] c" %fce\00"
@.str8019 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %p, \00"
@.str8020 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str8021 = private unnamed_addr constant [13 x i8] c" br i1 %fce\00"
@.str8022 = private unnamed_addr constant [13 x i8] c", label %fch\00"
@.str8023 = private unnamed_addr constant [13 x i8] c", label %fcn\00"
@.str8024 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str8025 = private unnamed_addr constant [4 x i8] c"fch\00"
@.str8026 = private unnamed_addr constant [13 x i8] c":\0A ret i32 \00"
@.str8027 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str8028 = private unnamed_addr constant [4 x i8] c"fcn\00"
@.str8029 = private unnamed_addr constant [3 x i8] c":\0A\00"
@.str8030 = private unnamed_addr constant [22 x i8] c" %dyn = sub i32 %p, \00"
@.str8031 = private unnamed_addr constant [35 x i8] c"\0A %dc = load i32, ptr @dyn_count\0A\00"
@.str8032 = private unnamed_addr constant [72 x i8] c" %ib = icmp uge i32 %dyn, %dc\0A br i1 %ib, label %fcbad, label %fcdyn\0A\00"
@.str8033 = 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"
@.str8034 = private unnamed_addr constant [23 x i8] c"fcbad:\0A ret i32 0\0A}\0A\0A\00"
@.str8035 = private unnamed_addr constant [55 x i8] c"define ptr @ludic_field_name(i32 %p, i32 %f) {\0Aentry:\0A\00"
@.str8036 = private unnamed_addr constant [7 x i8] c" %fne\00"
@.str8037 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %p, \00"
@.str8038 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str8039 = private unnamed_addr constant [13 x i8] c" br i1 %fne\00"
@.str8040 = private unnamed_addr constant [13 x i8] c", label %fnk\00"
@.str8041 = private unnamed_addr constant [13 x i8] c", label %fnn\00"
@.str8042 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str8043 = private unnamed_addr constant [4 x i8] c"fnk\00"
@.str8044 = private unnamed_addr constant [3 x i8] c":\0A\00"
@.str8045 = private unnamed_addr constant [2 x i8] c"_\00"
@.str8046 = private unnamed_addr constant [8 x i8] c" %fnfe\00"
@.str8047 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %f, \00"
@.str8048 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str8049 = private unnamed_addr constant [14 x i8] c" br i1 %fnfe\00"
@.str8050 = private unnamed_addr constant [14 x i8] c", label %fnfh\00"
@.str8051 = private unnamed_addr constant [14 x i8] c", label %fnfn\00"
@.str8052 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str8053 = private unnamed_addr constant [5 x i8] c"fnfh\00"
@.str8054 = private unnamed_addr constant [13 x i8] c":\0A ret ptr \00"
@.str8055 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str8056 = private unnamed_addr constant [5 x i8] c"fnfn\00"
@.str8057 = private unnamed_addr constant [3 x i8] c":\0A\00"
@.str8058 = private unnamed_addr constant [11 x i8] c" ret ptr \00"
@.str8059 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str8060 = private unnamed_addr constant [4 x i8] c"fnn\00"
@.str8061 = private unnamed_addr constant [3 x i8] c":\0A\00"
@.str8062 = private unnamed_addr constant [11 x i8] c" ret ptr \00"
@.str8063 = private unnamed_addr constant [5 x i8] c"\0A}\0A\0A\00"
@.str8064 = private unnamed_addr constant [55 x i8] c"define ptr @ludic_field_type(i32 %p, i32 %f) {\0Aentry:\0A\00"
@.str8065 = private unnamed_addr constant [7 x i8] c" %fte\00"
@.str8066 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %p, \00"
@.str8067 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str8068 = private unnamed_addr constant [13 x i8] c" br i1 %fte\00"
@.str8069 = private unnamed_addr constant [13 x i8] c", label %ftk\00"
@.str8070 = private unnamed_addr constant [13 x i8] c", label %ftn\00"
@.str8071 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str8072 = private unnamed_addr constant [4 x i8] c"ftk\00"
@.str8073 = private unnamed_addr constant [3 x i8] c":\0A\00"
@.str8074 = private unnamed_addr constant [2 x i8] c"_\00"
@.str8075 = private unnamed_addr constant [8 x i8] c" %ftfe\00"
@.str8076 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %f, \00"
@.str8077 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str8078 = private unnamed_addr constant [14 x i8] c" br i1 %ftfe\00"
@.str8079 = private unnamed_addr constant [14 x i8] c", label %ftfh\00"
@.str8080 = private unnamed_addr constant [14 x i8] c", label %ftfn\00"
@.str8081 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str8082 = private unnamed_addr constant [5 x i8] c"ftfh\00"
@.str8083 = private unnamed_addr constant [13 x i8] c":\0A ret ptr \00"
@.str8084 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str8085 = private unnamed_addr constant [5 x i8] c"ftfn\00"
@.str8086 = private unnamed_addr constant [3 x i8] c":\0A\00"
@.str8087 = private unnamed_addr constant [11 x i8] c" ret ptr \00"
@.str8088 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str8089 = private unnamed_addr constant [4 x i8] c"ftn\00"
@.str8090 = private unnamed_addr constant [3 x i8] c":\0A\00"
@.str8091 = private unnamed_addr constant [11 x i8] c" ret ptr \00"
@.str8092 = private unnamed_addr constant [5 x i8] c"\0A}\0A\0A\00"
@.str8093 = private unnamed_addr constant [38 x i8] c"define void @L_tick_fixed() {\0Aentry:\0A\00"
@.str8094 = private unnamed_addr constant [6 x i8] c"Input\00"
@.str8095 = private unnamed_addr constant [12 x i8] c"FixedUpdate\00"
@.str8096 = private unnamed_addr constant [7 x i8] c"Update\00"
@.str8097 = private unnamed_addr constant [11 x i8] c"LateUpdate\00"
@.str8098 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00"
@.str8099 = private unnamed_addr constant [39 x i8] c"define void @L_tick_render() {\0Aentry:\0A\00"
@.str8100 = private unnamed_addr constant [7 x i8] c"Render\00"
@.str8101 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00"
@.str8102 = private unnamed_addr constant [49 x i8] c"define i32 @main(i32 %argc, ptr %argv) {\0Aentry:\0A\00"
@.str8103 = private unnamed_addr constant [32 x i8] c" store i32 %argc, ptr @L_argc\0A\00"
@.str8104 = private unnamed_addr constant [32 x i8] c" store ptr %argv, ptr @L_argv\0A\00"
@.str8105 = private unnamed_addr constant [8 x i8] c"rt_init\00"
@.str8106 = private unnamed_addr constant [27 x i8] c" call void @fn_rt_init()\0A\00"
@.str8107 = private unnamed_addr constant [6 x i8] c"Start\00"
@.str8108 = private unnamed_addr constant [13 x i8] c" store i32 \00"
@.str8109 = private unnamed_addr constant [16 x i8] c", ptr @L_scene\0A\00"
@.str8110 = private unnamed_addr constant [26 x i8] c" call void @scene_enter_\00"
@.str8111 = private unnamed_addr constant [4 x i8] c"()\0A\00"
@.str8112 = private unnamed_addr constant [14 x i8] c"program_start\00"
@.str8113 = private unnamed_addr constant [33 x i8] c" call void @ev_program_start()\0A\00"
@.str8114 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00"
@.str8115 = private unnamed_addr constant [7 x i8] c"loop:\0A\00"
@.str8116 = private unnamed_addr constant [25 x i8] c"load i32, ptr @L_running\00"
@.str8117 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00"
@.str8118 = private unnamed_addr constant [4 x i8] c", 0\00"
@.str8119 = private unnamed_addr constant [11 x i8] c"rt_running\00"
@.str8120 = private unnamed_addr constant [26 x i8] c"call i32 @fn_rt_running()\00"
@.str8121 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00"
@.str8122 = private unnamed_addr constant [4 x i8] c", 0\00"
@.str8123 = private unnamed_addr constant [8 x i8] c"and i1 \00"
@.str8124 = private unnamed_addr constant [3 x i8] c", \00"
@.str8125 = private unnamed_addr constant [9 x i8] c" br i1 \00"
@.str8126 = private unnamed_addr constant [28 x i8] c", label %body, label %done\0A\00"
@.str8127 = private unnamed_addr constant [9 x i8] c" br i1 \00"
@.str8128 = private unnamed_addr constant [28 x i8] c", label %body, label %done\0A\00"
@.str8129 = private unnamed_addr constant [7 x i8] c"body:\0A\00"
@.str8130 = private unnamed_addr constant [8 x i8] c"rt_poll\00"
@.str8131 = private unnamed_addr constant [23 x i8] c"call i32 @fn_rt_poll()\00"
@.str8132 = private unnamed_addr constant [13 x i8] c" store i32 \00"
@.str8133 = private unnamed_addr constant [14 x i8] c", ptr @L_key\0A\00"
@.str8134 = private unnamed_addr constant [6 x i8] c"Input\00"
@.str8135 = private unnamed_addr constant [12 x i8] c"FixedUpdate\00"
@.str8136 = private unnamed_addr constant [7 x i8] c"Update\00"
@.str8137 = private unnamed_addr constant [11 x i8] c"LateUpdate\00"
@.str8138 = private unnamed_addr constant [7 x i8] c"Render\00"
@.str8139 = private unnamed_addr constant [23 x i8] c"load i32, ptr @L_frame\00"
@.str8140 = private unnamed_addr constant [9 x i8] c"add i32 \00"
@.str8141 = private unnamed_addr constant [4 x i8] c", 1\00"
@.str8142 = private unnamed_addr constant [13 x i8] c" store i32 \00"
@.str8143 = private unnamed_addr constant [16 x i8] c", ptr @L_frame\0A\00"
@.str8144 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00"
@.str8145 = private unnamed_addr constant [7 x i8] c"done:\0A\00"
@.str8146 = private unnamed_addr constant [35 x i8] c" call void @L_despawn_all(i32 2)\0A\00"
@.str8147 = private unnamed_addr constant [7 x i8] c"OnQuit\00"
@.str8148 = private unnamed_addr constant [13 x i8] c"program_quit\00"
@.str8149 = private unnamed_addr constant [32 x i8] c" call void @ev_program_quit()\0A\00"
@.str8150 = private unnamed_addr constant [12 x i8] c"rt_shutdown\00"
@.str8151 = private unnamed_addr constant [31 x i8] c" call void @fn_rt_shutdown()\0A\00"
@.str8152 = private unnamed_addr constant [15 x i8] c" ret i32 0\0A}\0A\00"
@.str8153 = private unnamed_addr constant [1 x i8] c"\00"
@.str8154 = private unnamed_addr constant [18 x i8] c"load i32, ptr @g_\00"
@.str8155 = private unnamed_addr constant [25 x i8] c"call i32 @fn_rt_reg(i32 \00"
@.str8156 = private unnamed_addr constant [2 x i8] c")\00"
@.str8157 = private unnamed_addr constant [6 x i8] c"smend\00"
@.str8158 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00"
@.str8159 = private unnamed_addr constant [3 x i8] c", \00"
@.str8160 = private unnamed_addr constant [6 x i8] c"sbody\00"
@.str8161 = private unnamed_addr constant [5 x i8] c"sarm\00"
@.str8162 = private unnamed_addr constant [9 x i8] c" br i1 \00"
@.str8163 = private unnamed_addr constant [10 x i8] c", label %\00"
@.str8164 = private unnamed_addr constant [10 x i8] c", label %\00"
@.str8165 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str8166 = private unnamed_addr constant [3 x i8] c":\0A\00"
@.str8167 = private unnamed_addr constant [13 x i8] c" br label %\00"
@.str8168 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str8169 = private unnamed_addr constant [3 x i8] c":\0A\00"
@.str8170 = private unnamed_addr constant [13 x i8] c" br label %\00"
@.str8171 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str8172 = private unnamed_addr constant [3 x i8] c":\0A\00"
@.str8173 = private unnamed_addr constant [13 x i8] c" store i32 \00"
@.str8174 = private unnamed_addr constant [10 x i8] c", ptr @g_\00"
@.str8175 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str8176 = private unnamed_addr constant [32 x i8] c" call void @fn_rt_set_reg(i32 \00"
@.str8177 = private unnamed_addr constant [7 x i8] c", i32 \00"
@.str8178 = private unnamed_addr constant [3 x i8] c")\0A\00"
@.str8179 = private unnamed_addr constant [27 x i8] c"become: no state or scene \00"
@.str8180 = private unnamed_addr constant [25 x i8] c" call void @scene_exit_\00"
@.str8181 = private unnamed_addr constant [4 x i8] c"()\0A\00"
@.str8182 = private unnamed_addr constant [13 x i8] c" store i32 \00"
@.str8183 = private unnamed_addr constant [16 x i8] c", ptr @L_scene\0A\00"
@.str8184 = private unnamed_addr constant [26 x i8] c" call void @scene_enter_\00"
@.str8185 = private unnamed_addr constant [4 x i8] c"()\0A\00"
@.str8186 = private unnamed_addr constant [5 x i8] c"file\00"
@.str8187 = private unnamed_addr constant [4 x i8] c"%io\00"
@.str8188 = private unnamed_addr constant [3 x i8] c" \00"
@.str8189 = private unnamed_addr constant [14 x i8] c" = call i64 @\00"
@.str8190 = private unnamed_addr constant [6 x i8] c"(ptr \00"
@.str8191 = private unnamed_addr constant [14 x i8] c", i64 1, i64 \00"
@.str8192 = private unnamed_addr constant [11 x i8] c", ptr %f)\0A\00"
@.str8193 = private unnamed_addr constant [5 x i8] c"size\00"
@.str8194 = private unnamed_addr constant [6 x i8] c"%ioff\00"
@.str8195 = private unnamed_addr constant [3 x i8] c" \00"
@.str8196 = private unnamed_addr constant [12 x i8] c" = add i64 \00"
@.str8197 = private unnamed_addr constant [3 x i8] c", \00"
@.str8198 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str8199 = private unnamed_addr constant [5 x i8] c"%ioa\00"
@.str8200 = private unnamed_addr constant [3 x i8] c" \00"
@.str8201 = private unnamed_addr constant [45 x i8] c" = getelementptr inbounds i8, ptr %buf, i64 \00"
@.str8202 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str8203 = private unnamed_addr constant [5 x i8] c"save\00"
@.str8204 = private unnamed_addr constant [24 x i8] c" call ptr @memcpy(ptr \00"
@.str8205 = private unnamed_addr constant [7 x i8] c", ptr \00"
@.str8206 = private unnamed_addr constant [7 x i8] c", i64 \00"
@.str8207 = private unnamed_addr constant [3 x i8] c")\0A\00"
@.str8208 = private unnamed_addr constant [24 x i8] c" call ptr @memcpy(ptr \00"
@.str8209 = private unnamed_addr constant [7 x i8] c", ptr \00"
@.str8210 = private unnamed_addr constant [7 x i8] c", i64 \00"
@.str8211 = private unnamed_addr constant [3 x i8] c")\0A\00"
@.str8212 = private unnamed_addr constant [6 x i8] c"%ioff\00"
@.str8213 = private unnamed_addr constant [3 x i8] c" \00"
@.str8214 = private unnamed_addr constant [12 x i8] c" = add i64 \00"
@.str8215 = private unnamed_addr constant [3 x i8] c", \00"
@.str8216 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str8217 = private unnamed_addr constant [2 x i8] c"0\00"
@.str8218 = private unnamed_addr constant [8 x i8] c"@L_entc\00"
@.str8219 = private unnamed_addr constant [2 x i8] c"4\00"
@.str8220 = private unnamed_addr constant [9 x i8] c"@L_freen\00"
@.str8221 = private unnamed_addr constant [2 x i8] c"4\00"
@.str8222 = private unnamed_addr constant [21 x i8] c" %nalive = mul i64 \00"
@.str8223 = private unnamed_addr constant [5 x i8] c", 4\0A\00"
@.str8224 = private unnamed_addr constant [9 x i8] c"@L_alive\00"
@.str8225 = private unnamed_addr constant [8 x i8] c"%nalive\00"
@.str8226 = private unnamed_addr constant [12 x i8] c"@L_freelist\00"
@.str8227 = private unnamed_addr constant [8 x i8] c"%nalive\00"
@.str8228 = private unnamed_addr constant [8 x i8] c"@L_kind\00"
@.str8229 = private unnamed_addr constant [8 x i8] c"%nalive\00"
@.str8230 = private unnamed_addr constant [13 x i8] c"@L_owner_arr\00"
@.str8231 = private unnamed_addr constant [8 x i8] c"%nalive\00"
@.str8232 = private unnamed_addr constant [4 x i8] c"@g_\00"
@.str8233 = private unnamed_addr constant [2 x i8] c"4\00"
@.str8234 = private unnamed_addr constant [5 x i8] c"%csz\00"
@.str8235 = private unnamed_addr constant [3 x i8] c" \00"
@.str8236 = private unnamed_addr constant [37 x i8] c" = ptrtoint ptr getelementptr (%Cmp_\00"
@.str8237 = private unnamed_addr constant [17 x i8] c", ptr null, i32 \00"
@.str8238 = private unnamed_addr constant [10 x i8] c") to i64\0A\00"
@.str8239 = private unnamed_addr constant [4 x i8] c"@S_\00"
@.str8240 = private unnamed_addr constant [4 x i8] c"@H_\00"
@.str8241 = private unnamed_addr constant [5 x i8] c"file\00"
@.str8242 = private unnamed_addr constant [70 x i8] c"@.sav_path = private unnamed_addr constant [10 x i8] c\22ludic.sav\5C00\22\0A\00"
@.str8243 = private unnamed_addr constant [60 x i8] c"@.sav_wb = private unnamed_addr constant [3 x i8] c\22wb\5C00\22\0A\00"
@.str8244 = private unnamed_addr constant [60 x i8] c"@.sav_rb = private unnamed_addr constant [3 x i8] c\22rb\5C00\22\0A\00"
@.str8245 = private unnamed_addr constant [14 x i8] c"rt_save_state\00"
@.str8246 = private unnamed_addr constant [14 x i8] c"rt_load_state\00"
@.str8247 = private unnamed_addr constant [32 x i8] c"define void @L_save() {\0Aentry:\0A\00"
@.str8248 = private unnamed_addr constant [54 x i8] c" %f = call ptr @fopen(ptr @.sav_path, ptr @.sav_wb)\0A\00"
@.str8249 = private unnamed_addr constant [31 x i8] c" %bad = icmp eq ptr %f, null\0A\00"
@.str8250 = private unnamed_addr constant [41 x i8] c" br i1 %bad, label %out, label %go\0Ago:\0A\00"
@.str8251 = private unnamed_addr constant [7 x i8] c"fwrite\00"
@.str8252 = private unnamed_addr constant [39 x i8] c" call void @fn_rt_save_state(ptr %f)\0A\00"
@.str8253 = 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"
@.str8254 = private unnamed_addr constant [31 x i8] c"define i32 @L_load() {\0Aentry:\0A\00"
@.str8255 = private unnamed_addr constant [54 x i8] c" %f = call ptr @fopen(ptr @.sav_path, ptr @.sav_rb)\0A\00"
@.str8256 = private unnamed_addr constant [31 x i8] c" %bad = icmp eq ptr %f, null\0A\00"
@.str8257 = private unnamed_addr constant [60 x i8] c" br i1 %bad, label %miss, label %go\0Amiss:\0A ret i32 0\0Ago:\0A\00"
@.str8258 = private unnamed_addr constant [6 x i8] c"fread\00"
@.str8259 = private unnamed_addr constant [39 x i8] c" call void @fn_rt_load_state(ptr %f)\0A\00"
@.str8260 = private unnamed_addr constant [48 x i8] c" %c = call i32 @fclose(ptr %f)\0A ret i32 1\0A}\0A\0A\00"
@.str8261 = private unnamed_addr constant [45 x i8] c"define i32 @L_world_save(ptr %buf) {\0Aentry:\0A\00"
@.str8262 = private unnamed_addr constant [5 x i8] c"save\00"
@.str8263 = private unnamed_addr constant [1 x i8] c"\00"
@.str8264 = private unnamed_addr constant [5 x i8] c"%wsn\00"
@.str8265 = private unnamed_addr constant [3 x i8] c" \00"
@.str8266 = private unnamed_addr constant [14 x i8] c" = trunc i64 \00"
@.str8267 = private unnamed_addr constant [9 x i8] c" to i32\0A\00"
@.str8268 = private unnamed_addr constant [11 x i8] c" ret i32 \00"
@.str8269 = private unnamed_addr constant [5 x i8] c"\0A}\0A\0A\00"
@.str8270 = private unnamed_addr constant [56 x i8] c"define void @L_world_load(ptr %buf, i32 %len) {\0Aentry:\0A\00"
@.str8271 = private unnamed_addr constant [5 x i8] c"load\00"
@.str8272 = private unnamed_addr constant [1 x i8] c"\00"
@.str8273 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00"
@.str8274 = private unnamed_addr constant [37 x i8] c"define i32 @L_world_size() {\0Aentry:\0A\00"
@.str8275 = private unnamed_addr constant [5 x i8] c"size\00"
@.str8276 = private unnamed_addr constant [1 x i8] c"\00"
@.str8277 = private unnamed_addr constant [5 x i8] c"%wzn\00"
@.str8278 = private unnamed_addr constant [3 x i8] c" \00"
@.str8279 = private unnamed_addr constant [14 x i8] c" = trunc i64 \00"
@.str8280 = private unnamed_addr constant [9 x i8] c" to i32\0A\00"
@.str8281 = private unnamed_addr constant [11 x i8] c" ret i32 \00"
@.str8282 = private unnamed_addr constant [5 x i8] c"\0A}\0A\0A\00"
@.str8283 = private unnamed_addr constant [5 x i8] c"file\00"
@.str8284 = private unnamed_addr constant [3 x i8] c"i8\00"
@.str8285 = private unnamed_addr constant [3 x i8] c"i8\00"
@.str8286 = private unnamed_addr constant [2 x i8] c"1\00"
@.str8287 = private unnamed_addr constant [2 x i8] c"4\00"
@.str8288 = private unnamed_addr constant [24 x i8] c"ludicc(self): warning: \00"
@.str8289 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str8290 = private unnamed_addr constant [4 x i8] c"ptr\00"
@.str8291 = private unnamed_addr constant [13 x i8] c"@Sync field \00"
@.str8292 = private unnamed_addr constant [2 x i8] c".\00"
@.str8293 = private unnamed_addr constant [68 x i8] c" is not a POD scalar (networked fields must be int/bool/fixed/byte)\00"
@.str8294 = private unnamed_addr constant [7 x i8] c"model \00"
@.str8295 = private unnamed_addr constant [9 x i8] c" @Syncs \00"
@.str8296 = private unnamed_addr constant [51 x i8] c" but it has no @Sync fields \E2\80\94 nothing replicates\00"
@.str8297 = private unnamed_addr constant [25 x i8] c"define i32 @L_serialize_\00"
@.str8298 = private unnamed_addr constant [29 x i8] c"(i32 %e, ptr %buf) {\0Aentry:\0A\00"
@.str8299 = private unnamed_addr constant [3 x i8] c" \00"
@.str8300 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00"
@.str8301 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00"
@.str8302 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00"
@.str8303 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %e\0A\00"
@.str8304 = private unnamed_addr constant [3 x i8] c" \00"
@.str8305 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00"
@.str8306 = private unnamed_addr constant [7 x i8] c", ptr \00"
@.str8307 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00"
@.str8308 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str8309 = private unnamed_addr constant [3 x i8] c" \00"
@.str8310 = private unnamed_addr constant [45 x i8] c" = getelementptr inbounds i8, ptr %buf, i32 \00"
@.str8311 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str8312 = private unnamed_addr constant [24 x i8] c" call ptr @memcpy(ptr \00"
@.str8313 = private unnamed_addr constant [7 x i8] c", ptr \00"
@.str8314 = private unnamed_addr constant [7 x i8] c", i64 \00"
@.str8315 = private unnamed_addr constant [3 x i8] c")\0A\00"
@.str8316 = private unnamed_addr constant [11 x i8] c" ret i32 \00"
@.str8317 = private unnamed_addr constant [5 x i8] c"\0A}\0A\0A\00"
@.str8318 = private unnamed_addr constant [22 x i8] c"define void @L_apply_\00"
@.str8319 = private unnamed_addr constant [39 x i8] c"(i32 %e, ptr %buf, i32 %len) {\0Aentry:\0A\00"
@.str8320 = private unnamed_addr constant [3 x i8] c" \00"
@.str8321 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00"
@.str8322 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00"
@.str8323 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00"
@.str8324 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %e\0A\00"
@.str8325 = private unnamed_addr constant [3 x i8] c" \00"
@.str8326 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00"
@.str8327 = private unnamed_addr constant [7 x i8] c", ptr \00"
@.str8328 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00"
@.str8329 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str8330 = private unnamed_addr constant [3 x i8] c" \00"
@.str8331 = private unnamed_addr constant [45 x i8] c" = getelementptr inbounds i8, ptr %buf, i32 \00"
@.str8332 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str8333 = private unnamed_addr constant [24 x i8] c" call ptr @memcpy(ptr \00"
@.str8334 = private unnamed_addr constant [7 x i8] c", ptr \00"
@.str8335 = private unnamed_addr constant [7 x i8] c", i64 \00"
@.str8336 = private unnamed_addr constant [3 x i8] c")\0A\00"
@.str8337 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00"
@.str8338 = private unnamed_addr constant [56 x i8] c"define i32 @ludic_serialize(i32 %e, ptr %buf) {\0Aentry:\0A\00"
@.str8339 = private unnamed_addr constant [33 x i8] c" %kp = getelementptr inbounds [\00"
@.str8340 = private unnamed_addr constant [62 x i8] c" x i32], ptr @L_kind, i32 0, i32 %e\0A %k = load i32, ptr %kp\0A\00"
@.str8341 = private unnamed_addr constant [5 x i8] c" %c\00"
@.str8342 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %k, \00"
@.str8343 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str8344 = private unnamed_addr constant [11 x i8] c" br i1 %c\00"
@.str8345 = private unnamed_addr constant [11 x i8] c", label %h\00"
@.str8346 = private unnamed_addr constant [11 x i8] c", label %n\00"
@.str8347 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str8348 = private unnamed_addr constant [2 x i8] c"h\00"
@.str8349 = private unnamed_addr constant [7 x i8] c":\0A %r\00"
@.str8350 = private unnamed_addr constant [26 x i8] c" = call i32 @L_serialize_\00"
@.str8351 = private unnamed_addr constant [32 x i8] c"(i32 %e, ptr %buf)\0A ret i32 %r\00"
@.str8352 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str8353 = private unnamed_addr constant [2 x i8] c"n\00"
@.str8354 = private unnamed_addr constant [3 x i8] c":\0A\00"
@.str8355 = private unnamed_addr constant [16 x i8] c" ret i32 0\0A}\0A\0A\00"
@.str8356 = private unnamed_addr constant [63 x i8] c"define void @ludic_apply(i32 %e, ptr %buf, i32 %len) {\0Aentry:\0A\00"
@.str8357 = private unnamed_addr constant [33 x i8] c" %kp = getelementptr inbounds [\00"
@.str8358 = private unnamed_addr constant [62 x i8] c" x i32], ptr @L_kind, i32 0, i32 %e\0A %k = load i32, ptr %kp\0A\00"
@.str8359 = private unnamed_addr constant [5 x i8] c" %c\00"
@.str8360 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %k, \00"
@.str8361 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str8362 = private unnamed_addr constant [11 x i8] c" br i1 %c\00"
@.str8363 = private unnamed_addr constant [11 x i8] c", label %h\00"
@.str8364 = private unnamed_addr constant [11 x i8] c", label %n\00"
@.str8365 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str8366 = private unnamed_addr constant [2 x i8] c"h\00"
@.str8367 = private unnamed_addr constant [24 x i8] c":\0A call void @L_apply_\00"
@.str8368 = private unnamed_addr constant [41 x i8] c"(i32 %e, ptr %buf, i32 %len)\0A ret void\0A\00"
@.str8369 = private unnamed_addr constant [2 x i8] c"n\00"
@.str8370 = private unnamed_addr constant [3 x i8] c":\0A\00"
@.str8371 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00"
@.str8372 = private unnamed_addr constant [46 x i8] c"define i32 @ludic_sync_size(i32 %e) {\0Aentry:\0A\00"
@.str8373 = private unnamed_addr constant [33 x i8] c" %kp = getelementptr inbounds [\00"
@.str8374 = private unnamed_addr constant [62 x i8] c" x i32], ptr @L_kind, i32 0, i32 %e\0A %k = load i32, ptr %kp\0A\00"
@.str8375 = private unnamed_addr constant [5 x i8] c" %c\00"
@.str8376 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %k, \00"
@.str8377 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str8378 = private unnamed_addr constant [11 x i8] c" br i1 %c\00"
@.str8379 = private unnamed_addr constant [11 x i8] c", label %h\00"
@.str8380 = private unnamed_addr constant [11 x i8] c", label %n\00"
@.str8381 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str8382 = private unnamed_addr constant [2 x i8] c"h\00"
@.str8383 = private unnamed_addr constant [13 x i8] c":\0A ret i32 \00"
@.str8384 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str8385 = private unnamed_addr constant [2 x i8] c"n\00"
@.str8386 = private unnamed_addr constant [3 x i8] c":\0A\00"
@.str8387 = private unnamed_addr constant [16 x i8] c" ret i32 0\0A}\0A\0A\00"
@.str8388 = private unnamed_addr constant [38 x i8] c"define i32 @L_owner(i32 %e) {\0Aentry:\0A\00"
@.str8389 = private unnamed_addr constant [32 x i8] c" %p = getelementptr inbounds [\00"
@.str8390 = private unnamed_addr constant [82 x i8] c" x i32], ptr @L_owner_arr, i32 0, i32 %e\0A %v = load i32, ptr %p\0A ret i32 %v\0A}\0A\0A\00"
@.str8391 = private unnamed_addr constant [52 x i8] c"define void @L_set_owner(i32 %e, i32 %id) {\0Aentry:\0A\00"
@.str8392 = private unnamed_addr constant [32 x i8] c" %p = getelementptr inbounds [\00"
@.str8393 = private unnamed_addr constant [80 x i8] c" x i32], ptr @L_owner_arr, i32 0, i32 %e\0A store i32 %id, ptr %p\0A ret void\0A}\0A\0A\00"
@.str8394 = private unnamed_addr constant [41 x i8] c"define i32 @L_is_owner(i32 %e) {\0Aentry:\0A\00"
@.str8395 = private unnamed_addr constant [32 x i8] c" %p = getelementptr inbounds [\00"
@.str8396 = private unnamed_addr constant [66 x i8] c" x i32], ptr @L_owner_arr, i32 0, i32 %e\0A %o = load i32, ptr %p\0A\00"
@.str8397 = 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"
@.str8398 = private unnamed_addr constant [62 x i8] c"@L_netq = internal global [64 x [2048 x i8]] zeroinitializer\0A\00"
@.str8399 = private unnamed_addr constant [56 x i8] c"@L_netlen = internal global [64 x i32] zeroinitializer\0A\00"
@.str8400 = private unnamed_addr constant [36 x i8] c"@L_nethead = internal global i32 0\0A\00"
@.str8401 = private unnamed_addr constant [36 x i8] c"@L_nettail = internal global i32 0\0A\00"
@.str8402 = private unnamed_addr constant [65 x i8] c"define void @L_net_send(i32 %peer, ptr %buf, i32 %len) {\0Aentry:\0A\00"
@.str8403 = 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"
@.str8404 = 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"
@.str8405 = private unnamed_addr constant [65 x i8] c" %t = load i32, ptr @L_nettail\0A %h = load i32, ptr @L_nethead\0A\00"
@.str8406 = 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"
@.str8407 = private unnamed_addr constant [39 x i8] c" br i1 %full, label %drop, label %go\0A\00"
@.str8408 = private unnamed_addr constant [5 x i8] c"go:\0A\00"
@.str8409 = 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"
@.str8410 = 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"
@.str8411 = 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"
@.str8412 = private unnamed_addr constant [50 x i8] c" store i32 %tn, ptr @L_nettail\0A br label %drop\0A\00"
@.str8413 = private unnamed_addr constant [21 x i8] c"drop:\0A ret void\0A}\0A\0A\00"
@.str8414 = private unnamed_addr constant [53 x i8] c"define i32 @L_net_poll(ptr %buf, i32 %cap) {\0Aentry:\0A\00"
@.str8415 = 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"
@.str8416 = private unnamed_addr constant [40 x i8] c" br i1 %empty, label %none, label %go\0A\00"
@.str8417 = private unnamed_addr constant [5 x i8] c"go:\0A\00"
@.str8418 = 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"
@.str8419 = 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"
@.str8420 = 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"
@.str8421 = 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"
@.str8422 = 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"
@.str8423 = private unnamed_addr constant [22 x i8] c"none:\0A ret i32 0\0A}\0A\0A\00"
@.str8424 = private unnamed_addr constant [9 x i8] c"net_send\00"
@.str8425 = private unnamed_addr constant [11 x i8] c"L_net_send\00"
@.str8426 = private unnamed_addr constant [9 x i8] c"net_poll\00"
@.str8427 = private unnamed_addr constant [11 x i8] c"L_net_poll\00"
@.str8428 = private unnamed_addr constant [58 x i8] c"@L_recvbuf = internal global [2048 x i8] zeroinitializer\0A\00"
@.str8429 = private unnamed_addr constant [9 x i8] c"net_poll\00"
@.str8430 = private unnamed_addr constant [53 x i8] c"define void @L_net_pump() {\0Aentry:\0A br label %loop\0A\00"
@.str8431 = private unnamed_addr constant [24 x i8] c"loop:\0A %n = call i32 @\00"
@.str8432 = private unnamed_addr constant [28 x i8] c"(ptr @L_recvbuf, i32 2048)\0A\00"
@.str8433 = private unnamed_addr constant [68 x i8] c" %done = icmp eq i32 %n, 0\0A br i1 %done, label %fin, label %body\0A\00"
@.str8434 = private unnamed_addr constant [41 x i8] c"body:\0A %eid = load i32, ptr @L_recvbuf\0A\00"
@.str8435 = private unnamed_addr constant [5 x i8] c" %c\00"
@.str8436 = private unnamed_addr constant [22 x i8] c" = icmp eq i32 %eid, \00"
@.str8437 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str8438 = private unnamed_addr constant [11 x i8] c" br i1 %c\00"
@.str8439 = private unnamed_addr constant [11 x i8] c", label %h\00"
@.str8440 = private unnamed_addr constant [11 x i8] c", label %x\00"
@.str8441 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str8442 = private unnamed_addr constant [2 x i8] c"h\00"
@.str8443 = private unnamed_addr constant [3 x i8] c":\0A\00"
@.str8444 = private unnamed_addr constant [2 x i8] c"_\00"
@.str8445 = private unnamed_addr constant [6 x i8] c" %fa\00"
@.str8446 = private unnamed_addr constant [51 x i8] c" = getelementptr inbounds i8, ptr @L_recvbuf, i32 \00"
@.str8447 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str8448 = private unnamed_addr constant [6 x i8] c" %fv\00"
@.str8449 = private unnamed_addr constant [9 x i8] c" = load \00"
@.str8450 = private unnamed_addr constant [10 x i8] c", ptr %fa\00"
@.str8451 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str8452 = private unnamed_addr constant [3 x i8] c", \00"
@.str8453 = private unnamed_addr constant [5 x i8] c" %fv\00"
@.str8454 = private unnamed_addr constant [17 x i8] c" call void @ev_\00"
@.str8455 = private unnamed_addr constant [2 x i8] c"(\00"
@.str8456 = private unnamed_addr constant [3 x i8] c")\0A\00"
@.str8457 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00"
@.str8458 = private unnamed_addr constant [2 x i8] c"x\00"
@.str8459 = private unnamed_addr constant [3 x i8] c":\0A\00"
@.str8460 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00"
@.str8461 = private unnamed_addr constant [20 x i8] c"fin:\0A ret void\0A}\0A\0A\00"
@.str8462 = private unnamed_addr constant [58 x i8] c"@L_sendbuf = internal global [2048 x i8] zeroinitializer\0A\00"
@.str8463 = private unnamed_addr constant [6 x i8] c"panel\00"
@.str8464 = private unnamed_addr constant [4 x i8] c"col\00"
@.str8465 = private unnamed_addr constant [4 x i8] c"row\00"
@.str8466 = private unnamed_addr constant [6 x i8] c"label\00"
@.str8467 = private unnamed_addr constant [7 x i8] c"button\00"
@.str8468 = private unnamed_addr constant [6 x i8] c"image\00"
@.str8469 = private unnamed_addr constant [7 x i8] c"spacer\00"
@.str8470 = private unnamed_addr constant [3 x i8] c"id\00"
@.str8471 = private unnamed_addr constant [31 x i8] c" call void @fn_rt_ui_set(i32 \00"
@.str8472 = private unnamed_addr constant [7 x i8] c", i32 \00"
@.str8473 = private unnamed_addr constant [7 x i8] c", i32 \00"
@.str8474 = private unnamed_addr constant [3 x i8] c")\0A\00"
@.str8475 = private unnamed_addr constant [2 x i8] c"w\00"
@.str8476 = private unnamed_addr constant [2 x i8] c"h\00"
@.str8477 = private unnamed_addr constant [2 x i8] c"x\00"
@.str8478 = private unnamed_addr constant [2 x i8] c"y\00"
@.str8479 = private unnamed_addr constant [4 x i8] c"pad\00"
@.str8480 = private unnamed_addr constant [4 x i8] c"gap\00"
@.str8481 = private unnamed_addr constant [3 x i8] c"bg\00"
@.str8482 = private unnamed_addr constant [3 x i8] c"fg\00"
@.str8483 = private unnamed_addr constant [7 x i8] c"border\00"
@.str8484 = private unnamed_addr constant [5 x i8] c"grow\00"
@.str8485 = private unnamed_addr constant [5 x i8] c"font\00"
@.str8486 = private unnamed_addr constant [5 x i8] c"size\00"
@.str8487 = private unnamed_addr constant [6 x i8] c"inset\00"
@.str8488 = private unnamed_addr constant [6 x i8] c"focus\00"
@.str8489 = private unnamed_addr constant [33 x i8] c" call void @fn_rt_ui_reset(i32 \00"
@.str8490 = private unnamed_addr constant [3 x i8] c")\0A\00"
@.str8491 = private unnamed_addr constant [2 x i8] c"1\00"
@.str8492 = private unnamed_addr constant [3 x i8] c"id\00"
@.str8493 = private unnamed_addr constant [5 x i8] c"text\00"
@.str8494 = private unnamed_addr constant [39 x i8] c" call void @fn_rt_ui_static_text(i32 \00"
@.str8495 = private unnamed_addr constant [7 x i8] c", ptr \00"
@.str8496 = private unnamed_addr constant [3 x i8] c")\0A\00"
@.str8497 = private unnamed_addr constant [5 x i8] c"skin\00"
@.str8498 = private unnamed_addr constant [6 x i8] c"image\00"
@.str8499 = private unnamed_addr constant [32 x i8] c"call i32 @fn_rt_image_load(ptr \00"
@.str8500 = private unnamed_addr constant [2 x i8] c")\00"
@.str8501 = private unnamed_addr constant [5 x i8] c"skin\00"
@.str8502 = private unnamed_addr constant [6 x i8] c"align\00"
@.str8503 = private unnamed_addr constant [7 x i8] c"center\00"
@.str8504 = private unnamed_addr constant [4 x i8] c"end\00"
@.str8505 = private unnamed_addr constant [2 x i8] c"1\00"
@.str8506 = private unnamed_addr constant [34 x i8] c"define void @ui_build() {\0Aentry:\0A\00"
@.str8507 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00"
@.str8508 = private unnamed_addr constant [3 x i8] c", \00"
@.str8509 = private unnamed_addr constant [7 x i8] c" %arg_\00"
@.str8510 = private unnamed_addr constant [5 x i8] c"void\00"
@.str8511 = private unnamed_addr constant [20 x i8] c" %retval = alloca \00"
@.str8512 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str8513 = private unnamed_addr constant [9 x i8] c" store \00"
@.str8514 = private unnamed_addr constant [7 x i8] c" %arg_\00"
@.str8515 = private unnamed_addr constant [7 x i8] c", ptr \00"
@.str8516 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str8517 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00"
@.str8518 = private unnamed_addr constant [6 x i8] c"ret:\0A\00"
@.str8519 = private unnamed_addr constant [5 x i8] c"void\00"
@.str8520 = private unnamed_addr constant [12 x i8] c" ret void\0A\00"
@.str8521 = private unnamed_addr constant [6 x i8] c"load \00"
@.str8522 = private unnamed_addr constant [14 x i8] c", ptr %retval\00"
@.str8523 = private unnamed_addr constant [7 x i8] c" ret \00"
@.str8524 = private unnamed_addr constant [2 x i8] c" \00"
@.str8525 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str8526 = private unnamed_addr constant [8 x i8] c"define \00"
@.str8527 = private unnamed_addr constant [6 x i8] c" @fn_\00"
@.str8528 = private unnamed_addr constant [2 x i8] c"(\00"
@.str8529 = private unnamed_addr constant [12 x i8] c") {\0Aentry:\0A\00"
@.str8530 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00"
@.str8531 = private unnamed_addr constant [4 x i8] c"int\00"
@.str8532 = private unnamed_addr constant [24 x i8] c" %retval = alloca i32\0A\00"
@.str8533 = private unnamed_addr constant [32 x i8] c" store i32 %argc, ptr @L_argc\0A\00"
@.str8534 = private unnamed_addr constant [32 x i8] c" store ptr %argv, ptr @L_argv\0A\00"
@.str8535 = private unnamed_addr constant [28 x i8] c" store i32 0, ptr %retval\0A\00"
@.str8536 = private unnamed_addr constant [8 x i8] c"rt_init\00"
@.str8537 = private unnamed_addr constant [27 x i8] c" call void @fn_rt_init()\0A\00"
@.str8538 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00"
@.str8539 = private unnamed_addr constant [6 x i8] c"ret:\0A\00"
@.str8540 = private unnamed_addr constant [22 x i8] c"load i32, ptr %retval\00"
@.str8541 = private unnamed_addr constant [11 x i8] c" ret i32 \00"
@.str8542 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str8543 = private unnamed_addr constant [49 x i8] c"define i32 @main(i32 %argc, ptr %argv) {\0Aentry:\0A\00"
@.str8544 = private unnamed_addr constant [3 x i8] c"}\0A\00"
@.str8545 = private unnamed_addr constant [5 x i8] c"void\00"
@.str8546 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00"
@.str8547 = private unnamed_addr constant [17 x i8] c"ret:\0A ret void\0A\00"
@.str8548 = private unnamed_addr constant [23 x i8] c"define void @fn__test_\00"
@.str8549 = private unnamed_addr constant [13 x i8] c"() {\0Aentry:\0A\00"
@.str8550 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00"
@.str8551 = private unnamed_addr constant [38 x i8] c"@L_test_fail = internal global i32 0\0A\00"
@.str8552 = 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"
@.str8553 = 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"
@.str8554 = private unnamed_addr constant [49 x i8] c"define i32 @main(i32 %argc, ptr %argv) {\0Aentry:\0A\00"
@.str8555 = private unnamed_addr constant [32 x i8] c" store i32 %argc, ptr @L_argc\0A\00"
@.str8556 = private unnamed_addr constant [32 x i8] c" store ptr %argv, ptr @L_argv\0A\00"
@.str8557 = private unnamed_addr constant [51 x i8] c" %failed = alloca i32\0A store i32 0, ptr %failed\0A\00"
@.str8558 = private unnamed_addr constant [24 x i8] c" call void @rt_init()\0A\00"
@.str8559 = private unnamed_addr constant [8 x i8] c"ok - \00"
@.str8560 = private unnamed_addr constant [8 x i8] c"FAIL - \00"
@.str8561 = private unnamed_addr constant [33 x i8] c" store i32 0, ptr @L_test_fail\0A\00"
@.str8562 = private unnamed_addr constant [23 x i8] c" call void @fn__test_\00"
@.str8563 = private unnamed_addr constant [4 x i8] c"()\0A\00"
@.str8564 = private unnamed_addr constant [27 x i8] c"load i32, ptr @L_test_fail\00"
@.str8565 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00"
@.str8566 = private unnamed_addr constant [4 x i8] c", 0\00"
@.str8567 = private unnamed_addr constant [6 x i8] c"tpass\00"
@.str8568 = private unnamed_addr constant [6 x i8] c"tfail\00"
@.str8569 = private unnamed_addr constant [6 x i8] c"tdone\00"
@.str8570 = private unnamed_addr constant [9 x i8] c" br i1 \00"
@.str8571 = private unnamed_addr constant [10 x i8] c", label %\00"
@.str8572 = private unnamed_addr constant [10 x i8] c", label %\00"
@.str8573 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str8574 = private unnamed_addr constant [3 x i8] c":\0A\00"
@.str8575 = private unnamed_addr constant [51 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_line, ptr \00"
@.str8576 = private unnamed_addr constant [3 x i8] c")\0A\00"
@.str8577 = private unnamed_addr constant [13 x i8] c" br label %\00"
@.str8578 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str8579 = private unnamed_addr constant [3 x i8] c":\0A\00"
@.str8580 = private unnamed_addr constant [22 x i8] c"load i32, ptr %failed\00"
@.str8581 = private unnamed_addr constant [9 x i8] c"add i32 \00"
@.str8582 = private unnamed_addr constant [4 x i8] c", 1\00"
@.str8583 = private unnamed_addr constant [13 x i8] c" store i32 \00"
@.str8584 = private unnamed_addr constant [15 x i8] c", ptr %failed\0A\00"
@.str8585 = private unnamed_addr constant [51 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_line, ptr \00"
@.str8586 = private unnamed_addr constant [3 x i8] c")\0A\00"
@.str8587 = private unnamed_addr constant [13 x i8] c" br label %\00"
@.str8588 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str8589 = private unnamed_addr constant [3 x i8] c":\0A\00"
@.str8590 = private unnamed_addr constant [22 x i8] c"load i32, ptr %failed\00"
@.str8591 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
@.str8592 = private unnamed_addr constant [3 x i8] c", \00"
@.str8593 = private unnamed_addr constant [55 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_test_sum, i32 \00"
@.str8594 = private unnamed_addr constant [7 x i8] c", i32 \00"
@.str8595 = private unnamed_addr constant [3 x i8] c")\0A\00"
@.str8596 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00"
@.str8597 = private unnamed_addr constant [4 x i8] c", 0\00"
@.str8598 = private unnamed_addr constant [11 x i8] c"select i1 \00"
@.str8599 = private unnamed_addr constant [15 x i8] c", i32 0, i32 1\00"
@.str8600 = private unnamed_addr constant [11 x i8] c" ret i32 \00"
@.str8601 = private unnamed_addr constant [4 x i8] c"\0A}\0A\00"
@.str8602 = private unnamed_addr constant [37 x i8] c"declare i32 @fprintf(ptr, ptr, ...)\0A\00"
@.str8603 = 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"
@.str8604 = private unnamed_addr constant [34 x i8] c"%Result = type { i32, i32, ptr }\0A\00"
@.str8605 = private unnamed_addr constant [33 x i8] c"@L_cov_lines = internal global [\00"
@.str8606 = private unnamed_addr constant [10 x i8] c" x i32] [\00"
@.str8607 = private unnamed_addr constant [3 x i8] c", \00"
@.str8608 = private unnamed_addr constant [5 x i8] c"i32 \00"
@.str8609 = private unnamed_addr constant [3 x i8] c"]\0A\00"
@.str8610 = private unnamed_addr constant [32 x i8] c"@L_cov_hits = internal global [\00"
@.str8611 = private unnamed_addr constant [25 x i8] c" x i32] zeroinitializer\0A\00"
@.str8612 = private unnamed_addr constant [32 x i8] c"@L_cov_n = internal global i32 \00"
@.str8613 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str8614 = private unnamed_addr constant [15 x i8] c"LUDIC_COVERAGE\00"
@.str8615 = private unnamed_addr constant [10 x i8] c"ludic.cov\00"
@.str8616 = private unnamed_addr constant [2 x i8] c"w\00"
@.str8617 = 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"
@.str8618 = 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"
@.str8619 = private unnamed_addr constant [37 x i8] c"declare i32 @fprintf(ptr, ptr, ...)\0A\00"
@.str8620 = private unnamed_addr constant [26 x i8] c"declare i32 @atexit(ptr)\0A\00"
@.str8621 = private unnamed_addr constant [34 x i8] c"define void @cov_dump() {\0Aentry:\0A\00"
@.str8622 = private unnamed_addr constant [31 x i8] c" %env = call ptr @getenv(ptr \00"
@.str8623 = private unnamed_addr constant [3 x i8] c")\0A\00"
@.str8624 = private unnamed_addr constant [35 x i8] c" %noenv = icmp eq ptr %env, null\0A\00"
@.str8625 = private unnamed_addr constant [33 x i8] c" %path = select i1 %noenv, ptr \00"
@.str8626 = private unnamed_addr constant [12 x i8] c", ptr %env\0A\00"
@.str8627 = private unnamed_addr constant [39 x i8] c" %f = call ptr @fopen(ptr %path, ptr \00"
@.str8628 = private unnamed_addr constant [3 x i8] c")\0A\00"
@.str8629 = private unnamed_addr constant [31 x i8] c" %bad = icmp eq ptr %f, null\0A\00"
@.str8630 = private unnamed_addr constant [41 x i8] c" br i1 %bad, label %done, label %write\0A\00"
@.str8631 = private unnamed_addr constant [8 x i8] c"write:\0A\00"
@.str8632 = private unnamed_addr constant [68 x i8] c" call i32 (ptr, ptr, ...) @fprintf(ptr %f, ptr @.cov_filefmt, ptr \00"
@.str8633 = private unnamed_addr constant [3 x i8] c")\0A\00"
@.str8634 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00"
@.str8635 = private unnamed_addr constant [7 x i8] c"loop:\0A\00"
@.str8636 = private unnamed_addr constant [46 x i8] c" %i = phi i32 [ 0, %write ], [ %i1, %body ]\0A\00"
@.str8637 = private unnamed_addr constant [26 x i8] c" %go = icmp slt i32 %i, \00"
@.str8638 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str8639 = private unnamed_addr constant [40 x i8] c" br i1 %go, label %body, label %close\0A\00"
@.str8640 = private unnamed_addr constant [7 x i8] c"body:\0A\00"
@.str8641 = private unnamed_addr constant [33 x i8] c" %lp = getelementptr inbounds [\00"
@.str8642 = private unnamed_addr constant [42 x i8] c" x i32], ptr @L_cov_lines, i32 0, i32 %i\0A\00"
@.str8643 = private unnamed_addr constant [27 x i8] c" %lv = load i32, ptr %lp\0A\00"
@.str8644 = private unnamed_addr constant [33 x i8] c" %hp = getelementptr inbounds [\00"
@.str8645 = private unnamed_addr constant [41 x i8] c" x i32], ptr @L_cov_hits, i32 0, i32 %i\0A\00"
@.str8646 = private unnamed_addr constant [27 x i8] c" %hv = load i32, ptr %hp\0A\00"
@.str8647 = private unnamed_addr constant [81 x i8] c" call i32 (ptr, ptr, ...) @fprintf(ptr %f, ptr @.cov_rowfmt, i32 %lv, i32 %hv)\0A\00"
@.str8648 = private unnamed_addr constant [23 x i8] c" %i1 = add i32 %i, 1\0A\00"
@.str8649 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00"
@.str8650 = private unnamed_addr constant [8 x i8] c"close:\0A\00"
@.str8651 = private unnamed_addr constant [34 x i8] c" %rc = call i32 @fclose(ptr %f)\0A\00"
@.str8652 = private unnamed_addr constant [18 x i8] c" br label %done\0A\00"
@.str8653 = private unnamed_addr constant [21 x i8] c"done:\0A ret void\0A}\0A\0A\00"
@.str8654 = private unnamed_addr constant [34 x i8] c"define void @cov_init() {\0Aentry:\0A\00"
@.str8655 = private unnamed_addr constant [40 x i8] c" %r = call i32 @atexit(ptr @cov_dump)\0A\00"
@.str8656 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00"
@.str8657 = 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"
@.str8658 = private unnamed_addr constant [3 x i8] c"wb\00"
@.str8659 = private unnamed_addr constant [7 x i8] c".ludic\00"
@.str8660 = private unnamed_addr constant [2 x i8] c"/\00"
@.str8661 = private unnamed_addr constant [11 x i8] c"LUDIC_HOME\00"
@.str8662 = private unnamed_addr constant [8 x i8] c"VERSION\00"
@.str8663 = private unnamed_addr constant [24 x i8] c"ludic (version unknown)\00"
@.str8664 = private unnamed_addr constant [7 x i8] c"ludic \00"
@.str8665 = private unnamed_addr constant [6 x i8] c"ludic\00"
@.str8666 = private unnamed_addr constant [10 x i8] c"--version\00"
@.str8667 = private unnamed_addr constant [11 x i8] c"--windowed\00"
@.str8668 = private unnamed_addr constant [11 x i8] c"--headless\00"
@.str8669 = private unnamed_addr constant [12 x i8] c"--emit-llvm\00"
@.str8670 = private unnamed_addr constant [6 x i8] c"--fmt\00"
@.str8671 = private unnamed_addr constant [13 x i8] c"--save-temps\00"
@.str8672 = private unnamed_addr constant [6 x i8] c"--run\00"
@.str8673 = private unnamed_addr constant [11 x i8] c"--coverage\00"
@.str8674 = private unnamed_addr constant [3 x i8] c"-o\00"
@.str8675 = private unnamed_addr constant [31 x i8] c"ludicc: ignoring unknown flag \00"
@.str8676 = private unnamed_addr constant [2 x i8] c"\0A\00"
@.str8677 = private unnamed_addr constant [90 x i8] c"usage: ludicc <file.ludic> [-o out] [--windowed|--headless] [--emit-llvm] [--save-temps]\0A\00"
@.str8678 = private unnamed_addr constant [27 x i8] c"ludicc: cannot open input\0A\00"
@.str8679 = private unnamed_addr constant [16 x i8] c"/tmp/ludic-run-\00"
@.str8680 = private unnamed_addr constant [10 x i8] c"mkdir -p \00"
@.str8681 = private unnamed_addr constant [4 x i8] c".ll\00"
@.str8682 = private unnamed_addr constant [25 x i8] c"ludicc: cannot write IR\0A\00"
@.str8683 = private unnamed_addr constant [9 x i8] c"LUDIC_CC\00"
@.str8684 = private unnamed_addr constant [6 x i8] c"clang\00"
@.str8685 = private unnamed_addr constant [11 x i8] c"LUDIC_HOME\00"
@.str8686 = private unnamed_addr constant [27 x i8] c" -O2 -Wno-override-module \00"
@.str8687 = private unnamed_addr constant [24 x i8] c"runtime/native/cocoa.ll\00"
@.str8688 = private unnamed_addr constant [2 x i8] c" \00"
@.str8689 = private unnamed_addr constant [79 x i8] c" -framework Cocoa -Wl,-needed_framework,GameController -Wl,-rpath,@loader_path\00"
@.str8690 = private unnamed_addr constant [24 x i8] c"runtime/native/audio.ll\00"
@.str8691 = private unnamed_addr constant [2 x i8] c" \00"
@.str8692 = private unnamed_addr constant [36 x i8] c" -Wl,-needed_framework,AVFoundation\00"
@.str8693 = private unnamed_addr constant [5 x i8] c" -o \00"
@.str8694 = private unnamed_addr constant [7 x i8] c"rm -f \00"
@.str8695 = private unnamed_addr constant [21 x i8] c"ludicc: link failed\0A\00"
define i32 @fn_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 @fn_str_concat(ptr %a, ptr %b) {
entry:
br label %al
al:
%ia = phi i32 [ 0, %entry ], [ %ia1, %alb ]
%pa = getelementptr inbounds i8, ptr %a, i32 %ia
%cca = load i8, ptr %pa
%za = icmp eq i8 %cca, 0
br i1 %za, label %bl0, label %alb
alb:
%ia1 = add i32 %ia, 1
br label %al
bl0:
br label %bl
bl:
%ib = phi i32 [ 0, %bl0 ], [ %ib1, %blb ]
%pb = getelementptr inbounds i8, ptr %b, i32 %ib
%ccb = load i8, ptr %pb
%zb = icmp eq i8 %ccb, 0
br i1 %zb, label %alloc, label %blb
blb:
%ib1 = add i32 %ib, 1
br label %bl
alloc:
%sum = add i32 %ia, %ib
%sz = add i32 %sum, 1
%sz64 = sext i32 %sz to i64
%out = call ptr @malloc(i64 %sz64)
br label %c1
c1:
%i = phi i32 [ 0, %alloc ], [ %i1, %c1b ]
%d1 = icmp slt i32 %i, %ia
br i1 %d1, label %c1b, label %c2i
c1b:
%s1 = getelementptr inbounds i8, ptr %a, i32 %i
%v1 = load i8, ptr %s1
%o1 = getelementptr inbounds i8, ptr %out, i32 %i
store i8 %v1, ptr %o1
%i1 = add i32 %i, 1
br label %c1
c2i:
br label %c2
c2:
%j = phi i32 [ 0, %c2i ], [ %j1, %c2b ]
%d2 = icmp slt i32 %j, %ib
br i1 %d2, label %c2b, label %fin
c2b:
%s2 = getelementptr inbounds i8, ptr %b, i32 %j
%v2 = load i8, ptr %s2
%oj = add i32 %ia, %j
%o2 = getelementptr inbounds i8, ptr %out, i32 %oj
store i8 %v2, ptr %o2
%j1 = add i32 %j, 1
br label %c2
fin:
%pe = getelementptr inbounds i8, ptr %out, i32 %sum
store i8 0, ptr %pe
ret ptr %out
}
define ptr @fn_int_str(i32 %n0) {
entry:
%buf = call ptr @malloc(i64 24)
%isneg = icmp slt i32 %n0, 0
%neg = sub i32 0, %n0
%n = select i1 %isneg, i32 %neg, i32 %n0
%term = getelementptr inbounds i8, ptr %buf, i32 23
store i8 0, ptr %term
%iszero = icmp eq i32 %n0, 0
br i1 %iszero, label %zc, label %dl
zc:
%zp = getelementptr inbounds i8, ptr %buf, i32 22
store i8 48, ptr %zp
ret ptr %zp
dl:
br label %dloop
dloop:
%pos = phi i32 [ 22, %dl ], [ %pos2, %dbody ]
%cur = phi i32 [ %n, %dl ], [ %cur2, %dbody ]
%done = icmp eq i32 %cur, 0
br i1 %done, label %sign, label %dbody
dbody:
%d = urem i32 %cur, 10
%ch = add i32 %d, 48
%ch8 = trunc i32 %ch to i8
%pp = getelementptr inbounds i8, ptr %buf, i32 %pos
store i8 %ch8, ptr %pp
%cur2 = udiv i32 %cur, 10
%pos2 = sub i32 %pos, 1
br label %dloop
sign:
br i1 %isneg, label %addneg, label %fin
addneg:
%sp = getelementptr inbounds i8, ptr %buf, i32 %pos
store i8 45, ptr %sp
%posn = sub i32 %pos, 1
br label %fin
fin:
%fpos = phi i32 [ %pos, %sign ], [ %posn, %addneg ]
%rpos = add i32 %fpos, 1
%res = getelementptr inbounds i8, ptr %buf, i32 %rpos
ret ptr %res
}
define ptr @fn_str_slice(ptr %s, i32 %start, i32 %end) {
entry:
%len = sub i32 %end, %start
%sz = add i32 %len, 1
%sz64 = sext i32 %sz to i64
%out = call ptr @malloc(i64 %sz64)
br label %loop
loop:
%i = phi i32 [ 0, %entry ], [ %i1, %body ]
%d = icmp slt i32 %i, %len
br i1 %d, label %body, label %fin
body:
%si = add i32 %start, %i
%sp = getelementptr inbounds i8, ptr %s, i32 %si
%c = load i8, ptr %sp
%op = getelementptr inbounds i8, ptr %out, i32 %i
store i8 %c, ptr %op
%i1 = add i32 %i, 1
br label %loop
fin:
%tp = getelementptr inbounds i8, ptr %out, i32 %len
store i8 0, ptr %tp
ret ptr %out
}
define 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 ptr @fn_itoa(i32 %arg_v) {
entry:
%retval = alloca ptr
%t0 = alloca i32
%t7 = alloca ptr
%t15 = alloca i32
%t17 = alloca i32
%t26 = alloca ptr
%t27 = alloca i32
%t44 = alloca i32
%t53 = alloca ptr
%t54 = alloca i32
%t60 = alloca i32
store i32 %arg_v, ptr %t0
%t1 = load i32, ptr %t0
%t2 = icmp eq i32 %t1, 0
%t3 = zext i1 %t2 to i32
%t4 = icmp ne i32 %t3, 0
br i1 %t4, label %then0, label %ifend2
then0:
%t5 = zext i32 2 to i64
%t6 = call ptr @malloc(i64 %t5)
store ptr %t6, ptr %t7
%t8 = load ptr, ptr %t7
%t9 = getelementptr inbounds i8, ptr %t8, i32 0
%t10 = trunc i32 48 to i8
store i8 %t10, ptr %t9
%t11 = load ptr, ptr %t7
%t12 = getelementptr inbounds i8, ptr %t11, i32 1
%t13 = trunc i32 0 to i8
store i8 %t13, ptr %t12
%t14 = load ptr, ptr %t7
store ptr %t14, ptr %retval
br label %ret
ifend2:
store i32 0, ptr %t15
%t16 = load i32, ptr %t0
store i32 %t16, ptr %t17
%t18 = load i32, ptr %t17
%t19 = icmp slt i32 %t18, 0
%t20 = zext i1 %t19 to i32
%t21 = icmp ne i32 %t20, 0
br i1 %t21, label %then3, label %ifend5
then3:
store i32 1, ptr %t15
%t22 = load i32, ptr %t17
%t23 = sub i32 0, %t22
store i32 %t23, ptr %t17
br label %ifend5
ifend5:
%t24 = zext i32 16 to i64
%t25 = call ptr @malloc(i64 %t24)
store ptr %t25, ptr %t26
store i32 0, ptr %t27
br label %wcond6
wcond6:
%t28 = load i32, ptr %t17
%t29 = icmp sgt i32 %t28, 0
%t30 = zext i1 %t29 to i32
%t31 = icmp ne i32 %t30, 0
br i1 %t31, label %wbody7, label %wend8
wbody7:
%t32 = load ptr, ptr %t26
%t33 = load i32, ptr %t27
%t34 = getelementptr inbounds i8, ptr %t32, i32 %t33
%t35 = load i32, ptr %t17
%t36 = srem i32 %t35, 10
%t37 = add i32 48, %t36
%t38 = trunc i32 %t37 to i8
store i8 %t38, ptr %t34
%t39 = load i32, ptr %t17
%t40 = sdiv i32 %t39, 10
store i32 %t40, ptr %t17
%t41 = load i32, ptr %t27
%t42 = add i32 %t41, 1
store i32 %t42, ptr %t27
br label %wcond6
wend8:
%t43 = load i32, ptr %t27
store i32 %t43, ptr %t44
%t45 = load i32, ptr %t15
%t46 = icmp ne i32 %t45, 0
br i1 %t46, label %then9, label %ifend11
then9:
%t47 = load i32, ptr %t44
%t48 = add i32 %t47, 1
store i32 %t48, ptr %t44
br label %ifend11
ifend11:
%t49 = load i32, ptr %t44
%t50 = add i32 %t49, 1
%t51 = zext i32 %t50 to i64
%t52 = call ptr @malloc(i64 %t51)
store ptr %t52, ptr %t53
store i32 0, ptr %t54
%t55 = load i32, ptr %t15
%t56 = icmp ne i32 %t55, 0
br i1 %t56, label %then12, label %ifend14
then12:
%t57 = load ptr, ptr %t53
%t58 = getelementptr inbounds i8, ptr %t57, i32 0
%t59 = trunc i32 45 to i8
store i8 %t59, ptr %t58
store i32 1, ptr %t54
br label %ifend14
ifend14:
store i32 0, ptr %t60
br label %wcond15
wcond15:
%t61 = load i32, ptr %t60
%t62 = load i32, ptr %t27
%t63 = icmp slt i32 %t61, %t62
%t64 = zext i1 %t63 to i32
%t65 = icmp ne i32 %t64, 0
br i1 %t65, label %wbody16, label %wend17
wbody16:
%t66 = load ptr, ptr %t53
%t67 = load i32, ptr %t54
%t68 = load i32, ptr %t60
%t69 = add i32 %t67, %t68
%t70 = getelementptr inbounds i8, ptr %t66, i32 %t69
%t71 = load ptr, ptr %t26
%t72 = load i32, ptr %t27
%t73 = sub i32 %t72, 1
%t74 = load i32, ptr %t60
%t75 = sub i32 %t73, %t74
%t76 = getelementptr inbounds i8, ptr %t71, i32 %t75
%t77 = load i8, ptr %t76
%t78 = zext i8 %t77 to i32
%t79 = trunc i32 %t78 to i8
store i8 %t79, ptr %t70
%t80 = load i32, ptr %t60
%t81 = add i32 %t80, 1
store i32 %t81, ptr %t60
br label %wcond15
wend17:
%t82 = load ptr, ptr %t53
%t83 = load i32, ptr %t44
%t84 = getelementptr inbounds i8, ptr %t82, i32 %t83
%t85 = trunc i32 0 to i8
store i8 %t85, ptr %t84
%t86 = load ptr, ptr %t53
store ptr %t86, ptr %retval
br label %ret
ret:
%t87 = load ptr, ptr %retval
ret ptr %t87
}
define ptr @fn_buf_new() {
entry:
%retval = alloca ptr
%t6 = alloca ptr
%t0 = getelementptr %Cmp_Buf, ptr null, i32 1
%t1 = ptrtoint ptr %t0 to i64
%t2 = call ptr @malloc(i64 %t1)
%t3 = getelementptr inbounds %Cmp_Buf, ptr %t2, i32 0, i32 0
store ptr null, ptr %t3
%t4 = getelementptr inbounds %Cmp_Buf, ptr %t2, i32 0, i32 1
store i32 0, ptr %t4
%t5 = getelementptr inbounds %Cmp_Buf, ptr %t2, i32 0, i32 2
store i32 0, ptr %t5
store ptr %t2, ptr %t6
%t7 = load ptr, ptr %t6
%t8 = getelementptr inbounds %Cmp_Buf, ptr %t7, i32 0, i32 2
store i32 256, ptr %t8
%t9 = load ptr, ptr %t6
%t10 = getelementptr inbounds %Cmp_Buf, ptr %t9, i32 0, i32 0
%t11 = load ptr, ptr %t6
%t12 = getelementptr inbounds %Cmp_Buf, ptr %t11, i32 0, i32 2
%t13 = load i32, ptr %t12
%t14 = zext i32 %t13 to i64
%t15 = call ptr @malloc(i64 %t14)
store ptr %t15, ptr %t10
%t16 = load ptr, ptr %t6
%t17 = getelementptr inbounds %Cmp_Buf, ptr %t16, i32 0, i32 1
store i32 0, ptr %t17
%t18 = load ptr, ptr %t6
store ptr %t18, ptr %retval
br label %ret
ret:
%t19 = load ptr, ptr %retval
ret ptr %t19
}
define void @fn_buf_ensure(ptr %arg_b, i32 %arg_extra) {
entry:
%t0 = alloca ptr
%t1 = alloca i32
store ptr %arg_b, ptr %t0
store i32 %arg_extra, ptr %t1
%t2 = load ptr, ptr %t0
%t3 = getelementptr inbounds %Cmp_Buf, ptr %t2, i32 0, i32 1
%t4 = load i32, ptr %t3
%t5 = load i32, ptr %t1
%t6 = add i32 %t4, %t5
%t7 = add i32 %t6, 1
%t8 = load ptr, ptr %t0
%t9 = getelementptr inbounds %Cmp_Buf, ptr %t8, i32 0, i32 2
%t10 = load i32, ptr %t9
%t11 = icmp sle i32 %t7, %t10
%t12 = zext i1 %t11 to i32
%t13 = icmp ne i32 %t12, 0
br i1 %t13, label %then0, label %ifend2
then0:
br label %ret
ifend2:
br label %wcond3
wcond3:
%t14 = load ptr, ptr %t0
%t15 = getelementptr inbounds %Cmp_Buf, ptr %t14, i32 0, i32 1
%t16 = load i32, ptr %t15
%t17 = load i32, ptr %t1
%t18 = add i32 %t16, %t17
%t19 = add i32 %t18, 1
%t20 = load ptr, ptr %t0
%t21 = getelementptr inbounds %Cmp_Buf, ptr %t20, i32 0, i32 2
%t22 = load i32, ptr %t21
%t23 = icmp sgt i32 %t19, %t22
%t24 = zext i1 %t23 to i32
%t25 = icmp ne i32 %t24, 0
br i1 %t25, label %wbody4, label %wend5
wbody4:
%t26 = load ptr, ptr %t0
%t27 = getelementptr inbounds %Cmp_Buf, ptr %t26, i32 0, i32 2
%t28 = load ptr, ptr %t0
%t29 = getelementptr inbounds %Cmp_Buf, ptr %t28, i32 0, i32 2
%t30 = load i32, ptr %t29
%t31 = mul i32 %t30, 2
store i32 %t31, ptr %t27
br label %wcond3
wend5:
%t32 = load ptr, ptr %t0
%t33 = getelementptr inbounds %Cmp_Buf, ptr %t32, i32 0, i32 0
%t34 = load ptr, ptr %t0
%t35 = getelementptr inbounds %Cmp_Buf, ptr %t34, i32 0, i32 0
%t36 = load ptr, ptr %t35
%t37 = load ptr, ptr %t0
%t38 = getelementptr inbounds %Cmp_Buf, ptr %t37, i32 0, i32 2
%t39 = load i32, ptr %t38
%t40 = zext i32 %t39 to i64
%t41 = call ptr @realloc(ptr %t36, i64 %t40)
store ptr %t41, ptr %t33
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 ptr, ptr %t0
%t15 = getelementptr inbounds %Cmp_Buf, ptr %t14, i32 0, i32 1
%t16 = load i32, ptr %t15
%t17 = add i32 %t16, 1
store i32 %t17, ptr %t13
br label %ret
ret:
ret void
}
define void @fn_buf_puts(ptr %arg_b, ptr %arg_s) {
entry:
%t0 = alloca ptr
%t1 = alloca ptr
%t2 = alloca i32
store ptr %arg_b, ptr %t0
store ptr %arg_s, ptr %t1
store i32 0, ptr %t2
br label %wcond0
wcond0:
%t3 = load ptr, ptr %t1
%t4 = load i32, ptr %t2
%t5 = getelementptr inbounds i8, ptr %t3, i32 %t4
%t6 = load i8, ptr %t5
%t7 = zext i8 %t6 to i32
%t8 = icmp ne i32 %t7, 0
%t9 = zext i1 %t8 to i32
%t10 = icmp ne i32 %t9, 0
br i1 %t10, label %wbody1, label %wend2
wbody1:
%t11 = load ptr, ptr %t0
%t12 = load ptr, ptr %t1
%t13 = load i32, ptr %t2
%t14 = getelementptr inbounds i8, ptr %t12, i32 %t13
%t15 = load i8, ptr %t14
%t16 = zext i8 %t15 to i32
call void @fn_buf_putc(ptr %t11, i32 %t16)
%t17 = load i32, ptr %t2
%t18 = add i32 %t17, 1
store i32 %t18, ptr %t2
br label %wcond0
wend2:
br label %ret
ret:
ret void
}
define void @fn_buf_puti(ptr %arg_b, i32 %arg_n) {
entry:
%t0 = alloca ptr
%t1 = alloca i32
store ptr %arg_b, ptr %t0
store i32 %arg_n, ptr %t1
%t2 = load ptr, ptr %t0
%t3 = load i32, ptr %t1
%t4 = call ptr @fn_itoa(i32 %t3)
call void @fn_buf_puts(ptr %t2, ptr %t4)
br label %ret
ret:
ret void
}
define ptr @fn_buf_str(ptr %arg_b) {
entry:
%retval = alloca ptr
%t0 = alloca ptr
store ptr %arg_b, ptr %t0
%t1 = load ptr, ptr %t0
%t2 = getelementptr inbounds %Cmp_Buf, ptr %t1, i32 0, i32 0
%t3 = load ptr, ptr %t2
%t4 = load ptr, ptr %t0
%t5 = getelementptr inbounds %Cmp_Buf, ptr %t4, i32 0, i32 1
%t6 = load i32, ptr %t5
%t7 = getelementptr inbounds i8, ptr %t3, i32 %t6
%t8 = trunc i32 0 to i8
store i8 %t8, ptr %t7
%t9 = load ptr, ptr %t0
%t10 = getelementptr inbounds %Cmp_Buf, ptr %t9, i32 0, i32 0
%t11 = load ptr, ptr %t10
store ptr %t11, ptr %retval
br label %ret
ret:
%t12 = load ptr, ptr %retval
ret ptr %t12
}
define ptr @fn_read_file(ptr %arg_path) {
entry:
%retval = alloca ptr
%t0 = alloca ptr
%t3 = alloca ptr
%t14 = alloca i32
%t22 = alloca ptr
store ptr %arg_path, ptr %t0
%t1 = load ptr, ptr %t0
%t2 = call ptr @fopen(ptr %t1, ptr @.str0)
store ptr %t2, ptr %t3
%t4 = load ptr, ptr %t3
%t5 = icmp eq ptr %t4, null
%t6 = zext i1 %t5 to i32
%t7 = icmp ne i32 %t6, 0
br i1 %t7, label %then0, label %ifend2
then0:
store ptr null, ptr %retval
br label %ret
ifend2:
%t8 = load ptr, ptr %t3
%t9 = sext i32 0 to i64
%t10 = call i32 @fseek(ptr %t8, i64 %t9, i32 2)
%t11 = load ptr, ptr %t3
%t12 = call i64 @ftell(ptr %t11)
%t13 = trunc i64 %t12 to i32
store i32 %t13, ptr %t14
%t15 = load ptr, ptr %t3
%t16 = sext i32 0 to i64
%t17 = call i32 @fseek(ptr %t15, i64 %t16, i32 0)
%t18 = load i32, ptr %t14
%t19 = add i32 %t18, 1
%t20 = zext i32 %t19 to i64
%t21 = call ptr @malloc(i64 %t20)
store ptr %t21, ptr %t22
%t23 = load ptr, ptr %t3
%t24 = load ptr, ptr %t22
%t25 = load i32, ptr %t14
%t26 = zext i32 %t25 to i64
%t27 = call i64 @fread(ptr %t24, i64 1, i64 %t26, ptr %t23)
%t28 = trunc i64 %t27 to i32
%t29 = load ptr, ptr %t22
%t30 = load i32, ptr %t14
%t31 = getelementptr inbounds i8, ptr %t29, i32 %t30
%t32 = trunc i32 0 to i8
store i8 %t32, ptr %t31
%t33 = load ptr, ptr %t3
call i32 @fclose(ptr %t33)
%t34 = load ptr, ptr %t22
store ptr %t34, ptr %retval
br label %ret
ret:
%t35 = load ptr, ptr %retval
ret ptr %t35
}
define i32 @fn_cstr_len(ptr %arg_s) {
entry:
%retval = alloca i32
%t0 = alloca ptr
%t1 = alloca i32
store ptr %arg_s, ptr %t0
store i32 0, ptr %t1
br label %wcond0
wcond0:
%t2 = load ptr, ptr %t0
%t3 = load i32, ptr %t1
%t4 = getelementptr inbounds i8, ptr %t2, i32 %t3
%t5 = load i8, ptr %t4
%t6 = zext i8 %t5 to i32
%t7 = icmp ne i32 %t6, 0
%t8 = zext i1 %t7 to i32
%t9 = icmp ne i32 %t8, 0
br i1 %t9, label %wbody1, label %wend2
wbody1:
%t10 = load i32, ptr %t1
%t11 = add i32 %t10, 1
store i32 %t11, ptr %t1
br label %wcond0
wend2:
%t12 = load i32, ptr %t1
store i32 %t12, ptr %retval
br label %ret
ret:
%t13 = load i32, ptr %retval
ret i32 %t13
}
define ptr @fn_node(i32 %arg_kind) {
entry:
%retval = alloca ptr
%t0 = alloca i32
%t13 = alloca ptr
store i32 %arg_kind, ptr %t0
%t1 = getelementptr %Cmp_Node, ptr null, i32 1
%t2 = ptrtoint ptr %t1 to i64
%t3 = call ptr @malloc(i64 %t2)
%t4 = getelementptr inbounds %Cmp_Node, ptr %t3, i32 0, i32 0
store i32 0, ptr %t4
%t5 = getelementptr inbounds %Cmp_Node, ptr %t3, i32 0, i32 1
store ptr null, ptr %t5
%t6 = getelementptr inbounds %Cmp_Node, ptr %t3, i32 0, i32 2
store i32 0, ptr %t6
%t7 = getelementptr inbounds %Cmp_Node, ptr %t3, i32 0, i32 3
store ptr null, ptr %t7
%t8 = getelementptr inbounds %Cmp_Node, ptr %t3, i32 0, i32 4
store ptr null, ptr %t8
%t9 = getelementptr inbounds %Cmp_Node, ptr %t3, i32 0, i32 5
store ptr null, ptr %t9
%t10 = getelementptr inbounds %Cmp_Node, ptr %t3, i32 0, i32 6
store ptr null, ptr %t10
%t11 = getelementptr inbounds %Cmp_Node, ptr %t3, i32 0, i32 7
store ptr null, ptr %t11
%t12 = getelementptr inbounds %Cmp_Node, ptr %t3, i32 0, i32 8
store i32 0, ptr %t12
store ptr %t3, ptr %t13
%t14 = load ptr, ptr %t13
%t15 = getelementptr inbounds %Cmp_Node, ptr %t14, i32 0, i32 0
%t16 = load i32, ptr %t0
store i32 %t16, ptr %t15
%t17 = load ptr, ptr %t13
%t18 = getelementptr inbounds %Cmp_Node, ptr %t17, i32 0, i32 7
%t19 = getelementptr %LSlice, ptr null, i32 1
%t20 = ptrtoint ptr %t19 to i64
%t21 = call ptr @malloc(i64 %t20)
%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 %t18
%t25 = load ptr, ptr %t13
store ptr %t25, ptr %retval
br label %ret
ret:
%t26 = load ptr, ptr %retval
ret ptr %t26
}
define void @fn_tok_push(i32 %arg_kind, ptr %arg_text, i32 %arg_ival, i32 %arg_line) {
entry:
%t0 = alloca i32
%t1 = alloca ptr
%t2 = alloca i32
%t3 = alloca i32
%t11 = alloca ptr
store i32 %arg_kind, ptr %t0
store ptr %arg_text, ptr %t1
store i32 %arg_ival, ptr %t2
store i32 %arg_line, ptr %t3
%t4 = getelementptr %Cmp_Tok, ptr null, i32 1
%t5 = ptrtoint ptr %t4 to i64
%t6 = call ptr @malloc(i64 %t5)
%t7 = getelementptr inbounds %Cmp_Tok, ptr %t6, i32 0, i32 0
store i32 0, ptr %t7
%t8 = getelementptr inbounds %Cmp_Tok, ptr %t6, i32 0, i32 1
store ptr null, ptr %t8
%t9 = getelementptr inbounds %Cmp_Tok, ptr %t6, i32 0, i32 2
store i32 0, ptr %t9
%t10 = getelementptr inbounds %Cmp_Tok, ptr %t6, i32 0, i32 3
store i32 0, ptr %t10
store ptr %t6, ptr %t11
%t12 = load ptr, ptr %t11
%t13 = getelementptr inbounds %Cmp_Tok, ptr %t12, i32 0, i32 0
%t14 = load i32, ptr %t0
store i32 %t14, ptr %t13
%t15 = load ptr, ptr %t11
%t16 = getelementptr inbounds %Cmp_Tok, ptr %t15, i32 0, i32 1
%t17 = load ptr, ptr %t1
store ptr %t17, ptr %t16
%t18 = load ptr, ptr %t11
%t19 = getelementptr inbounds %Cmp_Tok, ptr %t18, i32 0, i32 2
%t20 = load i32, ptr %t2
store i32 %t20, ptr %t19
%t21 = load ptr, ptr %t11
%t22 = getelementptr inbounds %Cmp_Tok, ptr %t21, i32 0, i32 3
%t23 = load i32, ptr %t3
store i32 %t23, ptr %t22
%t24 = load ptr, ptr @g_toks
%t25 = 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 %grow0, label %put1
grow0:
%t31 = mul i32 %t29, 2
%t32 = icmp eq i32 %t29, 0
%t33 = select i1 %t32, i32 8, i32 %t31
%t34 = getelementptr ptr, ptr null, i32 1
%t35 = ptrtoint ptr %t34 to i64
%t36 = zext i32 %t33 to i64
%t37 = mul i64 %t36, %t35
%t38 = load ptr, ptr %t27
%t39 = call ptr @realloc(ptr %t38, i64 %t37)
store ptr %t39, ptr %t27
store i32 %t33, ptr %t26
br label %put1
put1:
%t40 = load ptr, ptr %t11
%t41 = load ptr, ptr %t27
%t42 = getelementptr inbounds ptr, ptr %t41, i32 %t28
store ptr %t40, ptr %t42
%t43 = add i32 %t28, 1
store i32 %t43, ptr %t25
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 void @fn_lex(ptr %arg_src) {
entry:
%t0 = alloca ptr
%t7 = alloca i32
%t8 = alloca i32
%t12 = alloca i32
%t23 = alloca i32
%t33 = alloca i32
%t34 = alloca i32
%t61 = alloca i32
%t88 = alloca i32
%t92 = alloca ptr
%t93 = alloca i32
%t94 = alloca i32
%t126 = alloca i32
%t128 = alloca i32
%t180 = alloca ptr
%t181 = alloca i32
%t182 = alloca i32
%t227 = alloca i32
%t242 = alloca i32
%t279 = alloca i32
%t297 = alloca i32
%t310 = alloca i32
%t311 = alloca i32
%t317 = alloca i32
%t332 = alloca i32
%t355 = alloca i32
%t356 = alloca i32
%t384 = alloca i32
%t385 = alloca i32
%t417 = alloca i32
%t418 = alloca i32
%t419 = alloca i32
%t463 = alloca i32
%t472 = alloca i32
%t473 = alloca i32
store ptr %arg_src, ptr %t0
%t1 = getelementptr %LSlice, ptr null, i32 1
%t2 = ptrtoint ptr %t1 to i64
%t3 = call ptr @malloc(i64 %t2)
%t4 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 0
store ptr null, ptr %t4
%t5 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 1
store i32 0, ptr %t5
%t6 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 2
store i32 0, ptr %t6
store ptr %t3, ptr @g_toks
store i32 0, 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 %t7
%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:
%t18 = load ptr, ptr %t0
%t19 = load i32, ptr %t7
%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, 10
%t26 = zext i1 %t25 to i32
%t27 = icmp ne i32 %t26, 0
br i1 %t27, label %then3, label %ifend5
then3:
%t28 = load i32, ptr %t8
call void @fn_tok_push(i32 4, ptr null, i32 0, i32 %t28)
%t29 = load i32, ptr %t8
%t30 = add i32 %t29, 1
store i32 %t30, ptr %t8
%t31 = load i32, ptr %t7
%t32 = add i32 %t31, 1
store i32 %t32, ptr %t7
br label %wcond0
ifend5:
%t35 = load i32, ptr %t23
%t36 = icmp eq i32 %t35, 32
%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 %scend7, label %sc6
sc6:
%t40 = load i32, ptr %t23
%t41 = icmp eq i32 %t40, 9
%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 %scend7
scend7:
%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 %scend9, label %sc8
sc8:
%t48 = load i32, ptr %t23
%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 %t33
br label %scend9
scend9:
%t53 = load i32, ptr %t33
%t54 = icmp ne i32 %t53, 0
br i1 %t54, label %then10, label %ifend12
then10:
%t55 = load i32, ptr %t7
%t56 = add i32 %t55, 1
store i32 %t56, ptr %t7
br label %wcond0
ifend12:
%t57 = load i32, ptr %t23
%t58 = icmp eq i32 %t57, 35
%t59 = zext i1 %t58 to i32
%t60 = icmp ne i32 %t59, 0
br i1 %t60, label %then13, label %ifend15
then13:
br label %wcond16
wcond16:
%t62 = load i32, ptr %t7
%t63 = load i32, ptr %t12
%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 %sc19, label %scend20
sc19:
%t68 = load ptr, ptr %t0
%t69 = load i32, ptr %t7
%t70 = getelementptr inbounds i8, ptr %t68, i32 %t69
%t71 = load i8, ptr %t70
%t72 = zext i8 %t71 to i32
%t73 = icmp ne i32 %t72, 10
%t74 = zext i1 %t73 to i32
%t75 = icmp ne i32 %t74, 0
%t76 = zext i1 %t75 to i32
store i32 %t76, ptr %t61
br label %scend20
scend20:
%t77 = load i32, ptr %t61
%t78 = icmp ne i32 %t77, 0
br i1 %t78, label %wbody17, label %wend18
wbody17:
%t79 = load i32, ptr %t7
%t80 = add i32 %t79, 1
store i32 %t80, ptr %t7
br label %wcond16
wend18:
br label %wcond0
ifend15:
%t81 = load i32, ptr %t23
%t82 = icmp eq i32 %t81, 34
%t83 = zext i1 %t82 to i32
%t84 = icmp ne i32 %t83, 0
br i1 %t84, label %then21, label %ifend23
then21:
%t85 = load i32, ptr %t7
%t86 = add i32 %t85, 1
store i32 %t86, ptr %t7
%t87 = load i32, ptr %t7
store i32 %t87, ptr %t88
%t89 = load i32, ptr %t12
%t90 = zext i32 %t89 to i64
%t91 = call ptr @malloc(i64 %t90)
store ptr %t91, ptr %t92
store i32 0, ptr %t93
br label %wcond24
wcond24:
%t95 = load i32, ptr %t7
%t96 = load i32, ptr %t12
%t97 = icmp slt i32 %t95, %t96
%t98 = zext i1 %t97 to i32
%t99 = icmp ne i32 %t98, 0
%t100 = zext i1 %t99 to i32
store i32 %t100, ptr %t94
br i1 %t99, label %sc27, label %scend28
sc27:
%t101 = load ptr, ptr %t0
%t102 = load i32, ptr %t7
%t103 = getelementptr inbounds i8, ptr %t101, i32 %t102
%t104 = load i8, ptr %t103
%t105 = zext i8 %t104 to i32
%t106 = icmp ne i32 %t105, 34
%t107 = zext i1 %t106 to i32
%t108 = icmp ne i32 %t107, 0
%t109 = zext i1 %t108 to i32
store i32 %t109, ptr %t94
br label %scend28
scend28:
%t110 = load i32, ptr %t94
%t111 = icmp ne i32 %t110, 0
br i1 %t111, label %wbody25, label %wend26
wbody25:
%t112 = load ptr, ptr %t0
%t113 = load i32, ptr %t7
%t114 = getelementptr inbounds i8, ptr %t112, i32 %t113
%t115 = load i8, ptr %t114
%t116 = zext i8 %t115 to i32
%t117 = icmp eq i32 %t116, 92
%t118 = zext i1 %t117 to i32
%t119 = icmp ne i32 %t118, 0
br i1 %t119, label %then29, label %else30
then29:
%t120 = load ptr, ptr %t0
%t121 = load i32, ptr %t7
%t122 = add i32 %t121, 1
%t123 = getelementptr inbounds i8, ptr %t120, i32 %t122
%t124 = load i8, ptr %t123
%t125 = zext i8 %t124 to i32
store i32 %t125, ptr %t126
%t127 = load i32, ptr %t126
store i32 %t127, ptr %t128
%t129 = load i32, ptr %t126
%t130 = icmp eq i32 %t129, 110
%t131 = zext i1 %t130 to i32
%t132 = icmp ne i32 %t131, 0
br i1 %t132, label %then32, label %ifend34
then32:
store i32 10, ptr %t128
br label %ifend34
ifend34:
%t133 = load i32, ptr %t126
%t134 = icmp eq i32 %t133, 116
%t135 = zext i1 %t134 to i32
%t136 = icmp ne i32 %t135, 0
br i1 %t136, label %then35, label %ifend37
then35:
store i32 9, ptr %t128
br label %ifend37
ifend37:
%t137 = load i32, ptr %t126
%t138 = icmp eq i32 %t137, 48
%t139 = zext i1 %t138 to i32
%t140 = icmp ne i32 %t139, 0
br i1 %t140, label %then38, label %ifend40
then38:
store i32 0, ptr %t128
br label %ifend40
ifend40:
%t141 = load ptr, ptr %t92
%t142 = load i32, ptr %t93
%t143 = getelementptr inbounds i8, ptr %t141, i32 %t142
%t144 = load i32, ptr %t128
%t145 = trunc i32 %t144 to i8
store i8 %t145, ptr %t143
%t146 = load i32, ptr %t93
%t147 = add i32 %t146, 1
store i32 %t147, ptr %t93
%t148 = load i32, ptr %t7
%t149 = add i32 %t148, 2
store i32 %t149, ptr %t7
br label %ifend31
else30:
%t150 = load ptr, ptr %t92
%t151 = load i32, ptr %t93
%t152 = getelementptr inbounds i8, ptr %t150, i32 %t151
%t153 = load ptr, ptr %t0
%t154 = load i32, ptr %t7
%t155 = getelementptr inbounds i8, ptr %t153, i32 %t154
%t156 = load i8, ptr %t155
%t157 = zext i8 %t156 to i32
%t158 = trunc i32 %t157 to i8
store i8 %t158, ptr %t152
%t159 = load i32, ptr %t93
%t160 = add i32 %t159, 1
store i32 %t160, ptr %t93
%t161 = load i32, ptr %t7
%t162 = add i32 %t161, 1
store i32 %t162, ptr %t7
br label %ifend31
ifend31:
br label %wcond24
wend26:
%t163 = load i32, ptr %t7
%t164 = add i32 %t163, 1
store i32 %t164, ptr %t7
%t165 = load ptr, ptr %t92
%t166 = load i32, ptr %t93
%t167 = getelementptr inbounds i8, ptr %t165, i32 %t166
%t168 = trunc i32 0 to i8
store i8 %t168, ptr %t167
%t169 = load ptr, ptr %t92
%t170 = load i32, ptr %t8
call void @fn_tok_push(i32 2, ptr %t169, i32 0, i32 %t170)
br label %wcond0
ifend23:
%t171 = load i32, ptr %t23
%t172 = icmp eq i32 %t171, 96
%t173 = zext i1 %t172 to i32
%t174 = icmp ne i32 %t173, 0
br i1 %t174, label %then41, label %ifend43
then41:
%t175 = load i32, ptr %t7
%t176 = add i32 %t175, 1
store i32 %t176, ptr %t7
%t177 = load i32, ptr %t12
%t178 = zext i32 %t177 to i64
%t179 = call ptr @malloc(i64 %t178)
store ptr %t179, ptr %t180
store i32 0, ptr %t181
br label %wcond44
wcond44:
%t183 = load i32, ptr %t7
%t184 = load i32, ptr %t12
%t185 = icmp slt i32 %t183, %t184
%t186 = zext i1 %t185 to i32
%t187 = icmp ne i32 %t186, 0
%t188 = zext i1 %t187 to i32
store i32 %t188, ptr %t182
br i1 %t187, label %sc47, label %scend48
sc47:
%t189 = load ptr, ptr %t0
%t190 = load i32, ptr %t7
%t191 = getelementptr inbounds i8, ptr %t189, i32 %t190
%t192 = load i8, ptr %t191
%t193 = zext i8 %t192 to i32
%t194 = icmp ne i32 %t193, 96
%t195 = zext i1 %t194 to i32
%t196 = icmp ne i32 %t195, 0
%t197 = zext i1 %t196 to i32
store i32 %t197, ptr %t182
br label %scend48
scend48:
%t198 = load i32, ptr %t182
%t199 = icmp ne i32 %t198, 0
br i1 %t199, label %wbody45, label %wend46
wbody45:
%t200 = load ptr, ptr %t180
%t201 = load i32, ptr %t181
%t202 = getelementptr inbounds i8, ptr %t200, i32 %t201
%t203 = load ptr, ptr %t0
%t204 = load i32, ptr %t7
%t205 = getelementptr inbounds i8, ptr %t203, i32 %t204
%t206 = load i8, ptr %t205
%t207 = zext i8 %t206 to i32
%t208 = trunc i32 %t207 to i8
store i8 %t208, ptr %t202
%t209 = load i32, ptr %t181
%t210 = add i32 %t209, 1
store i32 %t210, ptr %t181
%t211 = load i32, ptr %t7
%t212 = add i32 %t211, 1
store i32 %t212, ptr %t7
br label %wcond44
wend46:
%t213 = load i32, ptr %t7
%t214 = add i32 %t213, 1
store i32 %t214, ptr %t7
%t215 = load ptr, ptr %t180
%t216 = load i32, ptr %t181
%t217 = getelementptr inbounds i8, ptr %t215, i32 %t216
%t218 = trunc i32 0 to i8
store i8 %t218, ptr %t217
%t219 = load ptr, ptr %t180
%t220 = load i32, ptr %t8
call void @fn_tok_push(i32 7, ptr %t219, i32 0, i32 %t220)
br label %wcond0
ifend43:
%t221 = load i32, ptr %t23
%t222 = icmp eq i32 %t221, 39
%t223 = zext i1 %t222 to i32
%t224 = icmp ne i32 %t223, 0
br i1 %t224, label %then49, label %ifend51
then49:
%t225 = load i32, ptr %t7
%t226 = add i32 %t225, 1
store i32 %t226, ptr %t7
store i32 0, ptr %t227
%t228 = load ptr, ptr %t0
%t229 = load i32, ptr %t7
%t230 = getelementptr inbounds i8, ptr %t228, i32 %t229
%t231 = load i8, ptr %t230
%t232 = zext i8 %t231 to i32
%t233 = icmp eq i32 %t232, 92
%t234 = zext i1 %t233 to i32
%t235 = icmp ne i32 %t234, 0
br i1 %t235, label %then52, label %else53
then52:
%t236 = load ptr, ptr %t0
%t237 = load i32, ptr %t7
%t238 = add i32 %t237, 1
%t239 = getelementptr inbounds i8, ptr %t236, i32 %t238
%t240 = load i8, ptr %t239
%t241 = zext i8 %t240 to i32
store i32 %t241, ptr %t242
%t243 = load i32, ptr %t242
%t244 = icmp eq i32 %t243, 110
%t245 = zext i1 %t244 to i32
%t246 = icmp ne i32 %t245, 0
br i1 %t246, label %then55, label %ifend57
then55:
store i32 10, ptr %t227
br label %ifend57
ifend57:
%t247 = load i32, ptr %t242
%t248 = icmp eq i32 %t247, 116
%t249 = zext i1 %t248 to i32
%t250 = icmp ne i32 %t249, 0
br i1 %t250, label %then58, label %ifend60
then58:
store i32 9, ptr %t227
br label %ifend60
ifend60:
%t251 = load i32, ptr %t242
%t252 = icmp eq i32 %t251, 48
%t253 = zext i1 %t252 to i32
%t254 = icmp ne i32 %t253, 0
br i1 %t254, label %then61, label %ifend63
then61:
store i32 0, ptr %t227
br label %ifend63
ifend63:
%t255 = load i32, ptr %t7
%t256 = add i32 %t255, 2
store i32 %t256, ptr %t7
br label %ifend54
else53:
%t257 = load ptr, ptr %t0
%t258 = load i32, ptr %t7
%t259 = getelementptr inbounds i8, ptr %t257, i32 %t258
%t260 = load i8, ptr %t259
%t261 = zext i8 %t260 to i32
store i32 %t261, ptr %t227
%t262 = load i32, ptr %t7
%t263 = add i32 %t262, 1
store i32 %t263, ptr %t7
br label %ifend54
ifend54:
%t264 = load ptr, ptr %t0
%t265 = load i32, ptr %t7
%t266 = getelementptr inbounds i8, ptr %t264, i32 %t265
%t267 = load i8, ptr %t266
%t268 = zext i8 %t267 to i32
%t269 = icmp eq i32 %t268, 39
%t270 = zext i1 %t269 to i32
%t271 = icmp ne i32 %t270, 0
br i1 %t271, label %then64, label %ifend66
then64:
%t272 = load i32, ptr %t7
%t273 = add i32 %t272, 1
store i32 %t273, ptr %t7
br label %ifend66
ifend66:
%t274 = load i32, ptr %t227
%t275 = load i32, ptr %t8
call void @fn_tok_push(i32 1, ptr null, i32 %t274, i32 %t275)
br label %wcond0
ifend51:
%t276 = load i32, ptr %t23
%t277 = call i32 @fn_char_is_digit(i32 %t276)
%t278 = icmp ne i32 %t277, 0
br i1 %t278, label %then67, label %ifend69
then67:
%t280 = load i32, ptr %t23
%t281 = icmp eq i32 %t280, 48
%t282 = zext i1 %t281 to i32
%t283 = icmp ne i32 %t282, 0
%t284 = zext i1 %t283 to i32
store i32 %t284, ptr %t279
br i1 %t283, label %sc70, label %scend71
sc70:
%t285 = load ptr, ptr %t0
%t286 = load i32, ptr %t7
%t287 = add i32 %t286, 1
%t288 = getelementptr inbounds i8, ptr %t285, i32 %t287
%t289 = load i8, ptr %t288
%t290 = zext i8 %t289 to i32
%t291 = icmp eq i32 %t290, 120
%t292 = zext i1 %t291 to i32
%t293 = icmp ne i32 %t292, 0
%t294 = zext i1 %t293 to i32
store i32 %t294, ptr %t279
br label %scend71
scend71:
%t295 = load i32, ptr %t279
%t296 = icmp ne i32 %t295, 0
br i1 %t296, label %then72, label %ifend74
then72:
store i32 0, ptr %t297
%t298 = load i32, ptr %t7
%t299 = add i32 %t298, 2
store i32 %t299, ptr %t7
br label %wcond75
wcond75:
%t300 = load i32, ptr %t7
%t301 = load i32, ptr %t12
%t302 = icmp slt i32 %t300, %t301
%t303 = zext i1 %t302 to i32
%t304 = icmp ne i32 %t303, 0
br i1 %t304, label %wbody76, label %wend77
wbody76:
%t305 = load ptr, ptr %t0
%t306 = load i32, ptr %t7
%t307 = getelementptr inbounds i8, ptr %t305, i32 %t306
%t308 = load i8, ptr %t307
%t309 = zext i8 %t308 to i32
store i32 %t309, ptr %t310
store i32 0, ptr %t311
%t312 = load i32, ptr %t310
%t313 = call i32 @fn_char_is_digit(i32 %t312)
%t314 = icmp ne i32 %t313, 0
br i1 %t314, label %then78, label %else79
then78:
%t315 = load i32, ptr %t310
%t316 = sub i32 %t315, 48
store i32 %t316, ptr %t311
br label %ifend80
else79:
%t318 = load i32, ptr %t310
%t319 = icmp sge i32 %t318, 97
%t320 = zext i1 %t319 to i32
%t321 = icmp ne i32 %t320, 0
%t322 = zext i1 %t321 to i32
store i32 %t322, ptr %t317
br i1 %t321, label %sc81, label %scend82
sc81:
%t323 = load i32, ptr %t310
%t324 = icmp sle i32 %t323, 102
%t325 = zext i1 %t324 to i32
%t326 = icmp ne i32 %t325, 0
%t327 = zext i1 %t326 to i32
store i32 %t327, ptr %t317
br label %scend82
scend82:
%t328 = load i32, ptr %t317
%t329 = icmp ne i32 %t328, 0
br i1 %t329, label %then83, label %else84
then83:
%t330 = load i32, ptr %t310
%t331 = sub i32 %t330, 87
store i32 %t331, ptr %t311
br label %ifend85
else84:
%t333 = load i32, ptr %t310
%t334 = icmp sge i32 %t333, 65
%t335 = zext i1 %t334 to i32
%t336 = icmp ne i32 %t335, 0
%t337 = zext i1 %t336 to i32
store i32 %t337, ptr %t332
br i1 %t336, label %sc86, label %scend87
sc86:
%t338 = load i32, ptr %t310
%t339 = icmp sle i32 %t338, 70
%t340 = zext i1 %t339 to i32
%t341 = icmp ne i32 %t340, 0
%t342 = zext i1 %t341 to i32
store i32 %t342, ptr %t332
br label %scend87
scend87:
%t343 = load i32, ptr %t332
%t344 = icmp ne i32 %t343, 0
br i1 %t344, label %then88, label %else89
then88:
%t345 = load i32, ptr %t310
%t346 = sub i32 %t345, 55
store i32 %t346, ptr %t311
br label %ifend90
else89:
br label %wend77
ifend90:
br label %ifend85
ifend85:
br label %ifend80
ifend80:
%t347 = load i32, ptr %t297
%t348 = mul i32 %t347, 16
%t349 = load i32, ptr %t311
%t350 = add i32 %t348, %t349
store i32 %t350, ptr %t297
%t351 = load i32, ptr %t7
%t352 = add i32 %t351, 1
store i32 %t352, ptr %t7
br label %wcond75
wend77:
%t353 = load i32, ptr %t297
%t354 = load i32, ptr %t8
call void @fn_tok_push(i32 1, ptr null, i32 %t353, i32 %t354)
br label %wcond0
ifend74:
store i32 0, ptr %t355
br label %wcond91
wcond91:
%t357 = load i32, ptr %t7
%t358 = load i32, ptr %t12
%t359 = icmp slt i32 %t357, %t358
%t360 = zext i1 %t359 to i32
%t361 = icmp ne i32 %t360, 0
%t362 = zext i1 %t361 to i32
store i32 %t362, ptr %t356
br i1 %t361, label %sc94, label %scend95
sc94:
%t363 = load ptr, ptr %t0
%t364 = load i32, ptr %t7
%t365 = getelementptr inbounds i8, ptr %t363, i32 %t364
%t366 = load i8, ptr %t365
%t367 = zext i8 %t366 to i32
%t368 = call i32 @fn_char_is_digit(i32 %t367)
%t369 = icmp ne i32 %t368, 0
%t370 = zext i1 %t369 to i32
store i32 %t370, ptr %t356
br label %scend95
scend95:
%t371 = load i32, ptr %t356
%t372 = icmp ne i32 %t371, 0
br i1 %t372, label %wbody92, label %wend93
wbody92:
%t373 = load i32, ptr %t355
%t374 = mul i32 %t373, 10
%t375 = load ptr, ptr %t0
%t376 = load i32, ptr %t7
%t377 = getelementptr inbounds i8, ptr %t375, i32 %t376
%t378 = load i8, ptr %t377
%t379 = zext i8 %t378 to i32
%t380 = sub i32 %t379, 48
%t381 = add i32 %t374, %t380
store i32 %t381, ptr %t355
%t382 = load i32, ptr %t7
%t383 = add i32 %t382, 1
store i32 %t383, ptr %t7
br label %wcond91
wend93:
%t386 = load i32, ptr %t7
%t387 = load i32, ptr %t12
%t388 = icmp slt i32 %t386, %t387
%t389 = zext i1 %t388 to i32
%t390 = icmp ne i32 %t389, 0
%t391 = zext i1 %t390 to i32
store i32 %t391, ptr %t385
br i1 %t390, label %sc96, label %scend97
sc96:
%t392 = load ptr, ptr %t0
%t393 = load i32, ptr %t7
%t394 = getelementptr inbounds i8, ptr %t392, i32 %t393
%t395 = load i8, ptr %t394
%t396 = zext i8 %t395 to i32
%t397 = icmp eq i32 %t396, 46
%t398 = zext i1 %t397 to i32
%t399 = icmp ne i32 %t398, 0
%t400 = zext i1 %t399 to i32
store i32 %t400, ptr %t385
br label %scend97
scend97:
%t401 = load i32, ptr %t385
%t402 = icmp ne i32 %t401, 0
%t403 = zext i1 %t402 to i32
store i32 %t403, ptr %t384
br i1 %t402, label %sc98, label %scend99
sc98:
%t404 = load ptr, ptr %t0
%t405 = load i32, ptr %t7
%t406 = add i32 %t405, 1
%t407 = getelementptr inbounds i8, ptr %t404, i32 %t406
%t408 = load i8, ptr %t407
%t409 = zext i8 %t408 to i32
%t410 = call i32 @fn_char_is_digit(i32 %t409)
%t411 = icmp ne i32 %t410, 0
%t412 = zext i1 %t411 to i32
store i32 %t412, ptr %t384
br label %scend99
scend99:
%t413 = load i32, ptr %t384
%t414 = icmp ne i32 %t413, 0
br i1 %t414, label %then100, label %ifend102
then100:
%t415 = load i32, ptr %t7
%t416 = add i32 %t415, 1
store i32 %t416, ptr %t7
store i32 0, ptr %t417
store i32 1, ptr %t418
br label %wcond103
wcond103:
%t420 = load i32, ptr %t7
%t421 = load i32, ptr %t12
%t422 = icmp slt i32 %t420, %t421
%t423 = zext i1 %t422 to i32
%t424 = icmp ne i32 %t423, 0
%t425 = zext i1 %t424 to i32
store i32 %t425, ptr %t419
br i1 %t424, label %sc106, label %scend107
sc106:
%t426 = load ptr, ptr %t0
%t427 = load i32, ptr %t7
%t428 = getelementptr inbounds i8, ptr %t426, i32 %t427
%t429 = load i8, ptr %t428
%t430 = zext i8 %t429 to i32
%t431 = call i32 @fn_char_is_digit(i32 %t430)
%t432 = icmp ne i32 %t431, 0
%t433 = zext i1 %t432 to i32
store i32 %t433, ptr %t419
br label %scend107
scend107:
%t434 = load i32, ptr %t419
%t435 = icmp ne i32 %t434, 0
br i1 %t435, label %wbody104, label %wend105
wbody104:
%t436 = load i32, ptr %t418
%t437 = icmp slt i32 %t436, 10000
%t438 = zext i1 %t437 to i32
%t439 = icmp ne i32 %t438, 0
br i1 %t439, label %then108, label %ifend110
then108:
%t440 = load i32, ptr %t417
%t441 = mul i32 %t440, 10
%t442 = load ptr, ptr %t0
%t443 = load i32, ptr %t7
%t444 = getelementptr inbounds i8, ptr %t442, i32 %t443
%t445 = load i8, ptr %t444
%t446 = zext i8 %t445 to i32
%t447 = sub i32 %t446, 48
%t448 = add i32 %t441, %t447
store i32 %t448, ptr %t417
%t449 = load i32, ptr %t418
%t450 = mul i32 %t449, 10
store i32 %t450, ptr %t418
br label %ifend110
ifend110:
%t451 = load i32, ptr %t7
%t452 = add i32 %t451, 1
store i32 %t452, ptr %t7
br label %wcond103
wend105:
%t453 = load i32, ptr %t355
%t454 = shl i32 %t453, 16
%t455 = load i32, ptr %t417
%t456 = shl i32 %t455, 16
%t457 = load i32, ptr %t418
%t458 = lshr i32 %t457, 1
%t459 = add i32 %t456, %t458
%t460 = load i32, ptr %t418
%t461 = sdiv i32 %t459, %t460
%t462 = add i32 %t454, %t461
store i32 %t462, ptr %t463
%t464 = load i32, ptr %t463
%t465 = load i32, ptr %t8
call void @fn_tok_push(i32 6, ptr null, i32 %t464, i32 %t465)
br label %wcond0
ifend102:
%t466 = load i32, ptr %t355
%t467 = load i32, ptr %t8
call void @fn_tok_push(i32 1, ptr null, i32 %t466, i32 %t467)
br label %wcond0
ifend69:
%t468 = load i32, ptr %t23
%t469 = call i32 @fn_char_is_alpha(i32 %t468)
%t470 = icmp ne i32 %t469, 0
br i1 %t470, label %then111, label %ifend113
then111:
%t471 = load i32, ptr %t7
store i32 %t471, ptr %t472
br label %wcond114
wcond114:
%t474 = load i32, ptr %t7
%t475 = load i32, ptr %t12
%t476 = icmp slt i32 %t474, %t475
%t477 = zext i1 %t476 to i32
%t478 = icmp ne i32 %t477, 0
%t479 = zext i1 %t478 to i32
store i32 %t479, ptr %t473
br i1 %t478, label %sc117, label %scend118
sc117:
%t480 = load ptr, ptr %t0
%t481 = load i32, ptr %t7
%t482 = getelementptr inbounds i8, ptr %t480, i32 %t481
%t483 = load i8, ptr %t482
%t484 = zext i8 %t483 to i32
%t485 = call i32 @fn_char_is_alnum(i32 %t484)
%t486 = icmp ne i32 %t485, 0
%t487 = zext i1 %t486 to i32
store i32 %t487, ptr %t473
br label %scend118
scend118:
%t488 = load i32, ptr %t473
%t489 = icmp ne i32 %t488, 0
br i1 %t489, label %wbody115, label %wend116
wbody115:
%t490 = load i32, ptr %t7
%t491 = add i32 %t490, 1
store i32 %t491, ptr %t7
br label %wcond114
wend116:
%t492 = load ptr, ptr %t0
%t493 = load i32, ptr %t472
%t494 = load i32, ptr %t7
%t495 = call ptr @fn_str_slice(ptr %t492, i32 %t493, i32 %t494)
%t496 = load i32, ptr %t8
call void @fn_tok_push(i32 0, ptr %t495, i32 0, i32 %t496)
br label %wcond0
ifend113:
%t497 = load i32, ptr %t23
%t498 = icmp eq i32 %t497, 59
%t499 = zext i1 %t498 to i32
%t500 = icmp ne i32 %t499, 0
br i1 %t500, label %then119, label %ifend121
then119:
%t501 = load i32, ptr %t8
call void @fn_tok_push(i32 4, ptr null, i32 0, i32 %t501)
%t502 = load i32, ptr %t7
%t503 = add i32 %t502, 1
store i32 %t503, ptr %t7
br label %wcond0
ifend121:
%t504 = load ptr, ptr %t0
%t505 = load i32, ptr %t7
%t506 = call i32 @fn_two_at(ptr %t504, i32 %t505, i32 45, i32 62)
%t507 = icmp ne i32 %t506, 0
br i1 %t507, label %then122, label %ifend124
then122:
%t508 = load ptr, ptr %t0
%t509 = load i32, ptr %t7
%t510 = load i32, ptr %t7
%t511 = add i32 %t510, 2
%t512 = call ptr @fn_str_slice(ptr %t508, i32 %t509, i32 %t511)
%t513 = load i32, ptr %t8
call void @fn_tok_push(i32 3, ptr %t512, i32 0, i32 %t513)
%t514 = load i32, ptr %t7
%t515 = add i32 %t514, 2
store i32 %t515, ptr %t7
br label %wcond0
ifend124:
%t516 = load ptr, ptr %t0
%t517 = load i32, ptr %t7
%t518 = call i32 @fn_two_at(ptr %t516, i32 %t517, i32 61, i32 62)
%t519 = icmp ne i32 %t518, 0
br i1 %t519, label %then125, label %ifend127
then125:
%t520 = load ptr, ptr %t0
%t521 = load i32, ptr %t7
%t522 = load i32, ptr %t7
%t523 = add i32 %t522, 2
%t524 = call ptr @fn_str_slice(ptr %t520, i32 %t521, i32 %t523)
%t525 = load i32, ptr %t8
call void @fn_tok_push(i32 3, ptr %t524, i32 0, i32 %t525)
%t526 = load i32, ptr %t7
%t527 = add i32 %t526, 2
store i32 %t527, ptr %t7
br label %wcond0
ifend127:
%t528 = load ptr, ptr %t0
%t529 = load i32, ptr %t7
%t530 = call i32 @fn_two_at(ptr %t528, i32 %t529, i32 61, i32 61)
%t531 = icmp ne i32 %t530, 0
br i1 %t531, label %then128, label %ifend130
then128:
%t532 = load ptr, ptr %t0
%t533 = load i32, ptr %t7
%t534 = load i32, ptr %t7
%t535 = add i32 %t534, 2
%t536 = call ptr @fn_str_slice(ptr %t532, i32 %t533, i32 %t535)
%t537 = load i32, ptr %t8
call void @fn_tok_push(i32 3, ptr %t536, i32 0, i32 %t537)
%t538 = load i32, ptr %t7
%t539 = add i32 %t538, 2
store i32 %t539, ptr %t7
br label %wcond0
ifend130:
%t540 = load ptr, ptr %t0
%t541 = load i32, ptr %t7
%t542 = call i32 @fn_two_at(ptr %t540, i32 %t541, i32 33, i32 61)
%t543 = icmp ne i32 %t542, 0
br i1 %t543, label %then131, label %ifend133
then131:
%t544 = load ptr, ptr %t0
%t545 = load i32, ptr %t7
%t546 = load i32, ptr %t7
%t547 = add i32 %t546, 2
%t548 = call ptr @fn_str_slice(ptr %t544, i32 %t545, i32 %t547)
%t549 = load i32, ptr %t8
call void @fn_tok_push(i32 3, ptr %t548, i32 0, i32 %t549)
%t550 = load i32, ptr %t7
%t551 = add i32 %t550, 2
store i32 %t551, ptr %t7
br label %wcond0
ifend133:
%t552 = load ptr, ptr %t0
%t553 = load i32, ptr %t7
%t554 = call i32 @fn_two_at(ptr %t552, i32 %t553, i32 60, i32 61)
%t555 = icmp ne i32 %t554, 0
br i1 %t555, label %then134, label %ifend136
then134:
%t556 = load ptr, ptr %t0
%t557 = load i32, ptr %t7
%t558 = load i32, ptr %t7
%t559 = add i32 %t558, 2
%t560 = call ptr @fn_str_slice(ptr %t556, i32 %t557, i32 %t559)
%t561 = load i32, ptr %t8
call void @fn_tok_push(i32 3, ptr %t560, i32 0, i32 %t561)
%t562 = load i32, ptr %t7
%t563 = add i32 %t562, 2
store i32 %t563, ptr %t7
br label %wcond0
ifend136:
%t564 = load ptr, ptr %t0
%t565 = load i32, ptr %t7
%t566 = call i32 @fn_two_at(ptr %t564, i32 %t565, i32 62, i32 61)
%t567 = icmp ne i32 %t566, 0
br i1 %t567, label %then137, label %ifend139
then137:
%t568 = load ptr, ptr %t0
%t569 = load i32, ptr %t7
%t570 = load i32, ptr %t7
%t571 = add i32 %t570, 2
%t572 = call ptr @fn_str_slice(ptr %t568, i32 %t569, i32 %t571)
%t573 = load i32, ptr %t8
call void @fn_tok_push(i32 3, ptr %t572, i32 0, i32 %t573)
%t574 = load i32, ptr %t7
%t575 = add i32 %t574, 2
store i32 %t575, ptr %t7
br label %wcond0
ifend139:
%t576 = load ptr, ptr %t0
%t577 = load i32, ptr %t7
%t578 = call i32 @fn_two_at(ptr %t576, i32 %t577, i32 43, i32 61)
%t579 = icmp ne i32 %t578, 0
br i1 %t579, label %then140, label %ifend142
then140:
%t580 = load ptr, ptr %t0
%t581 = load i32, ptr %t7
%t582 = load i32, ptr %t7
%t583 = add i32 %t582, 2
%t584 = call ptr @fn_str_slice(ptr %t580, i32 %t581, i32 %t583)
%t585 = load i32, ptr %t8
call void @fn_tok_push(i32 3, ptr %t584, i32 0, i32 %t585)
%t586 = load i32, ptr %t7
%t587 = add i32 %t586, 2
store i32 %t587, ptr %t7
br label %wcond0
ifend142:
%t588 = load ptr, ptr %t0
%t589 = load i32, ptr %t7
%t590 = call i32 @fn_two_at(ptr %t588, i32 %t589, i32 45, i32 61)
%t591 = icmp ne i32 %t590, 0
br i1 %t591, label %then143, label %ifend145
then143:
%t592 = load ptr, ptr %t0
%t593 = load i32, ptr %t7
%t594 = load i32, ptr %t7
%t595 = add i32 %t594, 2
%t596 = call ptr @fn_str_slice(ptr %t592, i32 %t593, i32 %t595)
%t597 = load i32, ptr %t8
call void @fn_tok_push(i32 3, ptr %t596, i32 0, i32 %t597)
%t598 = load i32, ptr %t7
%t599 = add i32 %t598, 2
store i32 %t599, ptr %t7
br label %wcond0
ifend145:
%t600 = load ptr, ptr %t0
%t601 = load i32, ptr %t7
%t602 = call i32 @fn_two_at(ptr %t600, i32 %t601, i32 42, i32 61)
%t603 = icmp ne i32 %t602, 0
br i1 %t603, label %then146, label %ifend148
then146:
%t604 = load ptr, ptr %t0
%t605 = load i32, ptr %t7
%t606 = load i32, ptr %t7
%t607 = add i32 %t606, 2
%t608 = call ptr @fn_str_slice(ptr %t604, i32 %t605, i32 %t607)
%t609 = load i32, ptr %t8
call void @fn_tok_push(i32 3, ptr %t608, i32 0, i32 %t609)
%t610 = load i32, ptr %t7
%t611 = add i32 %t610, 2
store i32 %t611, ptr %t7
br label %wcond0
ifend148:
%t612 = load ptr, ptr %t0
%t613 = load i32, ptr %t7
%t614 = call i32 @fn_two_at(ptr %t612, i32 %t613, i32 47, i32 61)
%t615 = icmp ne i32 %t614, 0
br i1 %t615, label %then149, label %ifend151
then149:
%t616 = load ptr, ptr %t0
%t617 = load i32, ptr %t7
%t618 = load i32, ptr %t7
%t619 = add i32 %t618, 2
%t620 = call ptr @fn_str_slice(ptr %t616, i32 %t617, i32 %t619)
%t621 = load i32, ptr %t8
call void @fn_tok_push(i32 3, ptr %t620, i32 0, i32 %t621)
%t622 = load i32, ptr %t7
%t623 = add i32 %t622, 2
store i32 %t623, ptr %t7
br label %wcond0
ifend151:
%t624 = load ptr, ptr %t0
%t625 = load i32, ptr %t7
%t626 = call i32 @fn_two_at(ptr %t624, i32 %t625, i32 46, i32 46)
%t627 = icmp ne i32 %t626, 0
br i1 %t627, label %then152, label %ifend154
then152:
%t628 = load ptr, ptr %t0
%t629 = load i32, ptr %t7
%t630 = load i32, ptr %t7
%t631 = add i32 %t630, 2
%t632 = call ptr @fn_str_slice(ptr %t628, i32 %t629, i32 %t631)
%t633 = load i32, ptr %t8
call void @fn_tok_push(i32 3, ptr %t632, i32 0, i32 %t633)
%t634 = load i32, ptr %t7
%t635 = add i32 %t634, 2
store i32 %t635, ptr %t7
br label %wcond0
ifend154:
%t636 = load ptr, ptr %t0
%t637 = load i32, ptr %t7
%t638 = call i32 @fn_two_at(ptr %t636, i32 %t637, i32 60, i32 60)
%t639 = icmp ne i32 %t638, 0
br i1 %t639, label %then155, label %ifend157
then155:
%t640 = load ptr, ptr %t0
%t641 = load i32, ptr %t7
%t642 = load i32, ptr %t7
%t643 = add i32 %t642, 2
%t644 = call ptr @fn_str_slice(ptr %t640, i32 %t641, i32 %t643)
%t645 = load i32, ptr %t8
call void @fn_tok_push(i32 3, ptr %t644, i32 0, i32 %t645)
%t646 = load i32, ptr %t7
%t647 = add i32 %t646, 2
store i32 %t647, ptr %t7
br label %wcond0
ifend157:
%t648 = load ptr, ptr %t0
%t649 = load i32, ptr %t7
%t650 = call i32 @fn_two_at(ptr %t648, i32 %t649, i32 62, i32 62)
%t651 = icmp ne i32 %t650, 0
br i1 %t651, label %then158, label %ifend160
then158:
%t652 = load ptr, ptr %t0
%t653 = load i32, ptr %t7
%t654 = load i32, ptr %t7
%t655 = add i32 %t654, 2
%t656 = call ptr @fn_str_slice(ptr %t652, i32 %t653, i32 %t655)
%t657 = load i32, ptr %t8
call void @fn_tok_push(i32 3, ptr %t656, i32 0, i32 %t657)
%t658 = load i32, ptr %t7
%t659 = add i32 %t658, 2
store i32 %t659, ptr %t7
br label %wcond0
ifend160:
%t660 = load i32, ptr %t23
%t661 = call i32 @fn_is_op1(i32 %t660)
%t662 = icmp ne i32 %t661, 0
br i1 %t662, label %then161, label %ifend163
then161:
%t663 = load ptr, ptr %t0
%t664 = load i32, ptr %t7
%t665 = load i32, ptr %t7
%t666 = add i32 %t665, 1
%t667 = call ptr @fn_str_slice(ptr %t663, i32 %t664, i32 %t666)
%t668 = load i32, ptr %t8
call void @fn_tok_push(i32 3, ptr %t667, i32 0, i32 %t668)
%t669 = load i32, ptr %t7
%t670 = add i32 %t669, 1
store i32 %t670, ptr %t7
br label %wcond0
ifend163:
%t671 = load i32, ptr %t7
%t672 = add i32 %t671, 1
store i32 %t672, ptr %t7
br label %wcond0
wend2:
%t673 = load i32, ptr %t8
call void @fn_tok_push(i32 5, ptr null, i32 0, i32 %t673)
br label %ret
ret:
ret void
}
define ptr @fn_cur() {
entry:
%retval = alloca ptr
%t0 = load ptr, ptr @g_toks
%t1 = getelementptr inbounds %LSlice, ptr %t0, i32 0, i32 0
%t2 = load ptr, ptr %t1
%t3 = load i32, ptr @g_pi
%t4 = getelementptr inbounds ptr, ptr %t2, i32 %t3
%t5 = load ptr, ptr %t4
store ptr %t5, ptr %retval
br label %ret
ret:
%t6 = load ptr, ptr %retval
ret ptr %t6
}
define ptr @fn_pk(i32 %arg_o) {
entry:
%retval = alloca ptr
%t0 = alloca i32
store i32 %arg_o, ptr %t0
%t1 = load ptr, ptr @g_toks
%t2 = getelementptr inbounds %LSlice, ptr %t1, i32 0, i32 0
%t3 = load ptr, ptr %t2
%t4 = load i32, ptr @g_pi
%t5 = load i32, ptr %t0
%t6 = add i32 %t4, %t5
%t7 = getelementptr inbounds ptr, ptr %t3, i32 %t6
%t8 = load ptr, ptr %t7
store ptr %t8, ptr %retval
br label %ret
ret:
%t9 = load ptr, ptr %retval
ret ptr %t9
}
define i32 @fn_is_op(ptr %arg_v) {
entry:
%retval = alloca i32
%t0 = alloca ptr
%t7 = alloca ptr
%t8 = alloca i32
store ptr %arg_v, ptr %t0
%t1 = load ptr, ptr @g_toks
%t2 = getelementptr inbounds %LSlice, ptr %t1, i32 0, i32 0
%t3 = load ptr, ptr %t2
%t4 = load i32, ptr @g_pi
%t5 = getelementptr inbounds ptr, ptr %t3, i32 %t4
%t6 = load ptr, ptr %t5
store ptr %t6, ptr %t7
%t9 = load ptr, ptr %t7
%t10 = getelementptr inbounds %Cmp_Tok, ptr %t9, i32 0, i32 0
%t11 = load i32, ptr %t10
%t12 = icmp eq i32 %t11, 3
%t13 = zext i1 %t12 to i32
%t14 = icmp ne i32 %t13, 0
%t15 = zext i1 %t14 to i32
store i32 %t15, ptr %t8
br i1 %t14, label %sc0, label %scend1
sc0:
%t16 = load ptr, ptr %t7
%t17 = getelementptr inbounds %Cmp_Tok, ptr %t16, i32 0, i32 1
%t18 = load ptr, ptr %t17
%t19 = load ptr, ptr %t0
%t20 = call i32 @fn_str_eq(ptr %t18, ptr %t19)
%t21 = icmp ne i32 %t20, 0
%t22 = zext i1 %t21 to i32
store i32 %t22, ptr %t8
br label %scend1
scend1:
%t23 = load i32, ptr %t8
store i32 %t23, ptr %retval
br label %ret
ret:
%t24 = load i32, ptr %retval
ret i32 %t24
}
define i32 @fn_is_id(ptr %arg_v) {
entry:
%retval = alloca i32
%t0 = alloca ptr
%t7 = alloca ptr
%t8 = alloca i32
store ptr %arg_v, ptr %t0
%t1 = load ptr, ptr @g_toks
%t2 = getelementptr inbounds %LSlice, ptr %t1, i32 0, i32 0
%t3 = load ptr, ptr %t2
%t4 = load i32, ptr @g_pi
%t5 = getelementptr inbounds ptr, ptr %t3, i32 %t4
%t6 = load ptr, ptr %t5
store ptr %t6, ptr %t7
%t9 = load ptr, ptr %t7
%t10 = getelementptr inbounds %Cmp_Tok, ptr %t9, i32 0, i32 0
%t11 = load i32, ptr %t10
%t12 = icmp eq i32 %t11, 0
%t13 = zext i1 %t12 to i32
%t14 = icmp ne i32 %t13, 0
%t15 = zext i1 %t14 to i32
store i32 %t15, ptr %t8
br i1 %t14, label %sc0, label %scend1
sc0:
%t16 = load ptr, ptr %t7
%t17 = getelementptr inbounds %Cmp_Tok, ptr %t16, i32 0, i32 1
%t18 = load ptr, ptr %t17
%t19 = load ptr, ptr %t0
%t20 = call i32 @fn_str_eq(ptr %t18, ptr %t19)
%t21 = icmp ne i32 %t20, 0
%t22 = zext i1 %t21 to i32
store i32 %t22, ptr %t8
br label %scend1
scend1:
%t23 = load i32, ptr %t8
store i32 %t23, ptr %retval
br label %ret
ret:
%t24 = load i32, ptr %retval
ret i32 %t24
}
define i32 @fn_is_kw(ptr %arg_v) {
entry:
%retval = alloca i32
%t0 = alloca ptr
store ptr %arg_v, ptr %t0
%t1 = load ptr, ptr %t0
%t2 = call i32 @fn_is_id(ptr %t1)
store i32 %t2, ptr %retval
br label %ret
ret:
%t3 = load i32, ptr %retval
ret i32 %t3
}
define void @fn_perr(ptr %arg_msg) {
entry:
%t0 = alloca ptr
%t2 = alloca ptr
store ptr %arg_msg, ptr %t0
%t1 = load ptr, ptr @__stderrp
store ptr %t1, ptr %t2
%t3 = load ptr, ptr %t2
%t4 = zext i32 27 to i64
%t5 = call i64 @fwrite(ptr @.str1, 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 @.str2, i64 1, i64 %t16, ptr %t15)
%t18 = trunc i64 %t17 to i32
call void @exit(i32 1)
unreachable
ret:
ret void
}
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
call void @fn_perr(ptr %t6)
br label %ifend2
ifend2:
%t7 = load i32, ptr @g_pi
%t8 = add i32 %t7, 1
store i32 %t8, ptr @g_pi
br label %ret
ret:
ret void
}
define ptr @fn_eat_id() {
entry:
%retval = alloca ptr
%t6 = alloca ptr
%t0 = load ptr, ptr @g_toks
%t1 = getelementptr inbounds %LSlice, ptr %t0, i32 0, i32 0
%t2 = load ptr, ptr %t1
%t3 = load i32, ptr @g_pi
%t4 = getelementptr inbounds ptr, ptr %t2, i32 %t3
%t5 = load ptr, ptr %t4
store ptr %t5, ptr %t6
%t7 = load ptr, ptr %t6
%t8 = getelementptr inbounds %Cmp_Tok, ptr %t7, i32 0, i32 0
%t9 = load i32, ptr %t8
%t10 = icmp ne i32 %t9, 0
%t11 = zext i1 %t10 to i32
%t12 = icmp ne i32 %t11, 0
br i1 %t12, label %then0, label %ifend2
then0:
call void @fn_perr(ptr @.str3)
br label %ifend2
ifend2:
%t13 = load i32, ptr @g_pi
%t14 = add i32 %t13, 1
store i32 %t14, ptr @g_pi
%t15 = load ptr, ptr %t6
%t16 = getelementptr inbounds %Cmp_Tok, ptr %t15, i32 0, i32 1
%t17 = load ptr, ptr %t16
store ptr %t17, ptr %retval
br label %ret
ret:
%t18 = load ptr, ptr %retval
ret ptr %t18
}
define void @fn_skipnl() {
entry:
br label %wcond0
wcond0:
%t0 = load ptr, ptr @g_toks
%t1 = getelementptr inbounds %LSlice, ptr %t0, i32 0, i32 0
%t2 = load ptr, ptr %t1
%t3 = load i32, ptr @g_pi
%t4 = getelementptr inbounds ptr, ptr %t2, i32 %t3
%t5 = load ptr, ptr %t4
%t6 = getelementptr inbounds %Cmp_Tok, ptr %t5, i32 0, i32 0
%t7 = load i32, ptr %t6
%t8 = icmp eq i32 %t7, 4
%t9 = zext i1 %t8 to i32
%t10 = icmp ne i32 %t9, 0
br i1 %t10, label %wbody1, label %wend2
wbody1:
%t11 = load i32, ptr @g_pi
%t12 = add i32 %t11, 1
store i32 %t12, ptr @g_pi
br label %wcond0
wend2:
br label %ret
ret:
ret void
}
define ptr @fn_ptype() {
entry:
%retval = alloca ptr
%t5 = alloca ptr
%t12 = alloca ptr
%t19 = alloca i32
%t0 = call i32 @fn_is_op(ptr @.str4)
%t1 = icmp ne i32 %t0, 0
br i1 %t1, label %then0, label %ifend2
then0:
%t2 = load i32, ptr @g_pi
%t3 = add i32 %t2, 1
store i32 %t3, ptr @g_pi
call void @fn_eat_op(ptr @.str5)
%t4 = call ptr @fn_ptype()
store ptr %t4, ptr %t5
%t6 = load ptr, ptr %t5
%t7 = call i64 @strlen(ptr %t6)
%t8 = trunc i64 %t7 to i32
%t9 = add i32 %t8, 3
%t10 = zext i32 %t9 to i64
%t11 = call ptr @malloc(i64 %t10)
store ptr %t11, ptr %t12
%t13 = load ptr, ptr %t12
%t14 = getelementptr inbounds i8, ptr %t13, i32 0
%t15 = trunc i32 91 to i8
store i8 %t15, ptr %t14
%t16 = load ptr, ptr %t12
%t17 = getelementptr inbounds i8, ptr %t16, i32 1
%t18 = trunc i32 93 to i8
store i8 %t18, ptr %t17
store i32 0, ptr %t19
br label %wcond3
wcond3:
%t20 = load ptr, ptr %t5
%t21 = load i32, ptr %t19
%t22 = getelementptr inbounds i8, ptr %t20, i32 %t21
%t23 = load i8, ptr %t22
%t24 = zext i8 %t23 to i32
%t25 = icmp ne i32 %t24, 0
%t26 = zext i1 %t25 to i32
%t27 = icmp ne i32 %t26, 0
br i1 %t27, label %wbody4, label %wend5
wbody4:
%t28 = load ptr, ptr %t12
%t29 = load i32, ptr %t19
%t30 = add i32 2, %t29
%t31 = getelementptr inbounds i8, ptr %t28, i32 %t30
%t32 = load ptr, ptr %t5
%t33 = load i32, ptr %t19
%t34 = getelementptr inbounds i8, ptr %t32, i32 %t33
%t35 = load i8, ptr %t34
%t36 = zext i8 %t35 to i32
%t37 = trunc i32 %t36 to i8
store i8 %t37, ptr %t31
%t38 = load i32, ptr %t19
%t39 = add i32 %t38, 1
store i32 %t39, ptr %t19
br label %wcond3
wend5:
%t40 = load ptr, ptr %t12
%t41 = load i32, ptr %t19
%t42 = add i32 2, %t41
%t43 = getelementptr inbounds i8, ptr %t40, i32 %t42
%t44 = trunc i32 0 to i8
store i8 %t44, ptr %t43
%t45 = load ptr, ptr %t12
store ptr %t45, ptr %retval
br label %ret
ifend2:
%t46 = call ptr @fn_eat_id()
store ptr %t46, ptr %retval
br label %ret
ret:
%t47 = load ptr, ptr %retval
ret ptr %t47
}
define ptr @fn_expr() {
entry:
%retval = alloca ptr
%t0 = call ptr @fn_p_or()
store ptr %t0, ptr %retval
br label %ret
ret:
%t1 = load ptr, ptr %retval
ret ptr %t1
}
define void @fn_args_call(ptr %arg_call) {
entry:
%t0 = alloca ptr
%t11 = alloca ptr
%t19 = alloca ptr
%t20 = alloca i32
%t21 = alloca i32
%t48 = alloca ptr
store ptr %arg_call, ptr %t0
call void @fn_eat_op(ptr @.str6)
call void @fn_skipnl()
br label %wcond0
wcond0:
%t1 = call i32 @fn_is_op(ptr @.str7)
%t2 = icmp eq i32 %t1, 0
%t3 = zext i1 %t2 to i32
%t4 = icmp ne i32 %t3, 0
br i1 %t4, label %wbody1, label %wend2
wbody1:
%t5 = load ptr, ptr @g_toks
%t6 = getelementptr inbounds %LSlice, ptr %t5, i32 0, i32 0
%t7 = load ptr, ptr %t6
%t8 = load i32, ptr @g_pi
%t9 = getelementptr inbounds ptr, ptr %t7, i32 %t8
%t10 = load ptr, ptr %t9
store ptr %t10, ptr %t11
%t12 = load ptr, ptr @g_toks
%t13 = getelementptr inbounds %LSlice, ptr %t12, i32 0, i32 0
%t14 = load ptr, ptr %t13
%t15 = load i32, ptr @g_pi
%t16 = add i32 %t15, 1
%t17 = getelementptr inbounds ptr, ptr %t14, i32 %t16
%t18 = load ptr, ptr %t17
store ptr %t18, ptr %t19
%t22 = load ptr, ptr %t11
%t23 = getelementptr inbounds %Cmp_Tok, ptr %t22, i32 0, i32 0
%t24 = load i32, ptr %t23
%t25 = icmp eq i32 %t24, 0
%t26 = zext i1 %t25 to i32
%t27 = icmp ne i32 %t26, 0
%t28 = zext i1 %t27 to i32
store i32 %t28, ptr %t21
br i1 %t27, label %sc3, label %scend4
sc3:
%t29 = load ptr, ptr %t19
%t30 = getelementptr inbounds %Cmp_Tok, ptr %t29, i32 0, i32 0
%t31 = load i32, ptr %t30
%t32 = icmp eq i32 %t31, 3
%t33 = zext i1 %t32 to i32
%t34 = icmp ne i32 %t33, 0
%t35 = zext i1 %t34 to i32
store i32 %t35, ptr %t21
br label %scend4
scend4:
%t36 = load i32, ptr %t21
%t37 = icmp ne i32 %t36, 0
%t38 = zext i1 %t37 to i32
store i32 %t38, ptr %t20
br i1 %t37, label %sc5, label %scend6
sc5:
%t39 = load ptr, ptr %t19
%t40 = getelementptr inbounds %Cmp_Tok, ptr %t39, i32 0, i32 1
%t41 = load ptr, ptr %t40
%t42 = call i32 @fn_str_eq(ptr %t41, ptr @.str8)
%t43 = icmp ne i32 %t42, 0
%t44 = zext i1 %t43 to i32
store i32 %t44, ptr %t20
br label %scend6
scend6:
%t45 = load i32, ptr %t20
%t46 = icmp ne i32 %t45, 0
br i1 %t46, label %then7, label %else8
then7:
%t47 = call ptr @fn_node(i32 42)
store ptr %t47, ptr %t48
%t49 = load ptr, ptr %t48
%t50 = getelementptr inbounds %Cmp_Node, ptr %t49, i32 0, i32 1
%t51 = call ptr @fn_eat_id()
store ptr %t51, ptr %t50
call void @fn_eat_op(ptr @.str9)
call void @fn_skipnl()
%t52 = load ptr, ptr %t48
%t53 = getelementptr inbounds %Cmp_Node, ptr %t52, i32 0, i32 4
%t54 = call ptr @fn_expr()
store ptr %t54, ptr %t53
%t55 = load ptr, ptr %t0
%t56 = getelementptr inbounds %Cmp_Node, ptr %t55, i32 0, i32 7
%t57 = load ptr, ptr %t56
%t58 = 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 %grow10, label %put11
grow10:
%t64 = mul i32 %t62, 2
%t65 = icmp eq i32 %t62, 0
%t66 = select i1 %t65, i32 8, i32 %t64
%t67 = getelementptr ptr, ptr null, i32 1
%t68 = ptrtoint ptr %t67 to i64
%t69 = zext i32 %t66 to i64
%t70 = mul i64 %t69, %t68
%t71 = load ptr, ptr %t60
%t72 = call ptr @realloc(ptr %t71, i64 %t70)
store ptr %t72, ptr %t60
store i32 %t66, ptr %t59
br label %put11
put11:
%t73 = load ptr, ptr %t48
%t74 = load ptr, ptr %t60
%t75 = getelementptr inbounds ptr, ptr %t74, i32 %t61
store ptr %t73, ptr %t75
%t76 = add i32 %t61, 1
store i32 %t76, ptr %t58
br label %ifend9
else8:
%t77 = load ptr, ptr %t0
%t78 = getelementptr inbounds %Cmp_Node, ptr %t77, i32 0, i32 7
%t79 = load ptr, ptr %t78
%t80 = getelementptr inbounds %LSlice, ptr %t79, i32 0, i32 1
%t81 = getelementptr inbounds %LSlice, ptr %t79, i32 0, i32 2
%t82 = getelementptr inbounds %LSlice, ptr %t79, i32 0, i32 0
%t83 = load i32, ptr %t80
%t84 = load i32, ptr %t81
%t85 = icmp sge i32 %t83, %t84
br i1 %t85, label %grow12, label %put13
grow12:
%t86 = mul i32 %t84, 2
%t87 = icmp eq i32 %t84, 0
%t88 = select i1 %t87, i32 8, i32 %t86
%t89 = getelementptr ptr, ptr null, i32 1
%t90 = ptrtoint ptr %t89 to i64
%t91 = zext i32 %t88 to i64
%t92 = mul i64 %t91, %t90
%t93 = load ptr, ptr %t82
%t94 = call ptr @realloc(ptr %t93, i64 %t92)
store ptr %t94, ptr %t82
store i32 %t88, ptr %t81
br label %put13
put13:
%t95 = call ptr @fn_expr()
%t96 = load ptr, ptr %t82
%t97 = getelementptr inbounds ptr, ptr %t96, i32 %t83
store ptr %t95, ptr %t97
%t98 = add i32 %t83, 1
store i32 %t98, ptr %t80
br label %ifend9
ifend9:
call void @fn_skipnl()
%t99 = call i32 @fn_is_op(ptr @.str10)
%t100 = icmp ne i32 %t99, 0
br i1 %t100, label %then14, label %ifend16
then14:
%t101 = load i32, ptr @g_pi
%t102 = add i32 %t101, 1
store i32 %t102, ptr @g_pi
call void @fn_skipnl()
br label %ifend16
ifend16:
br label %wcond0
wend2:
call void @fn_eat_op(ptr @.str11)
br label %ret
ret:
ret void
}
define ptr @fn_interp_lit(ptr %arg_buf, i32 %arg_len) {
entry:
%retval = alloca ptr
%t0 = alloca ptr
%t1 = alloca i32
%t3 = alloca ptr
store ptr %arg_buf, ptr %t0
store i32 %arg_len, ptr %t1
%t2 = call ptr @fn_node(i32 31)
store ptr %t2, ptr %t3
%t4 = load ptr, ptr %t3
%t5 = getelementptr inbounds %Cmp_Node, ptr %t4, i32 0, i32 1
%t6 = load ptr, ptr %t0
%t7 = load i32, ptr %t1
%t8 = add i32 0, %t7
%t9 = call ptr @fn_str_slice(ptr %t6, i32 0, i32 %t8)
store ptr %t9, ptr %t5
%t10 = load ptr, ptr %t3
store ptr %t10, ptr %retval
br label %ret
ret:
%t11 = load ptr, ptr %retval
ret ptr %t11
}
define ptr @fn_interp_add(ptr %arg_acc, ptr %arg_part) {
entry:
%retval = alloca ptr
%t0 = alloca ptr
%t1 = alloca ptr
store ptr %arg_acc, ptr %t0
store ptr %arg_part, ptr %t1
%t2 = load ptr, ptr %t0
%t3 = icmp eq ptr %t2, null
%t4 = zext i1 %t3 to i32
%t5 = icmp ne i32 %t4, 0
br i1 %t5, label %then0, label %ifend2
then0:
%t6 = load ptr, ptr %t1
store ptr %t6, ptr %retval
br label %ret
ifend2:
%t7 = load ptr, ptr %t0
%t8 = load ptr, ptr %t1
%t9 = call ptr @fn_mkbin(ptr @.str12, 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 @.str13, ptr %t6
%t7 = load ptr, ptr %t2
%t8 = getelementptr inbounds %Cmp_Node, ptr %t7, i32 0, i32 4
%t9 = load ptr, ptr %t4
store ptr %t9, ptr %t8
%t10 = load ptr, ptr %t2
%t11 = getelementptr inbounds %Cmp_Node, ptr %t10, i32 0, i32 7
%t12 = load ptr, ptr %t11
%t13 = getelementptr inbounds %LSlice, ptr %t12, i32 0, i32 1
%t14 = getelementptr inbounds %LSlice, ptr %t12, i32 0, i32 2
%t15 = getelementptr inbounds %LSlice, ptr %t12, i32 0, i32 0
%t16 = load i32, ptr %t13
%t17 = load i32, ptr %t14
%t18 = icmp sge i32 %t16, %t17
br i1 %t18, label %grow0, label %put1
grow0:
%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
%t27 = call ptr @realloc(ptr %t26, i64 %t25)
store ptr %t27, ptr %t15
store i32 %t21, ptr %t14
br label %put1
put1:
%t28 = load ptr, ptr %t0
%t29 = load ptr, ptr %t15
%t30 = getelementptr inbounds ptr, ptr %t29, i32 %t16
store ptr %t28, ptr %t30
%t31 = add i32 %t16, 1
store i32 %t31, ptr %t13
%t32 = load ptr, ptr %t2
store ptr %t32, ptr %retval
br label %ret
ret:
%t33 = load ptr, ptr %retval
ret ptr %t33
}
define ptr @fn_parse_hole(ptr %arg_inner) {
entry:
%retval = alloca ptr
%t0 = alloca ptr
%t2 = alloca ptr
%t4 = alloca i32
%t7 = alloca ptr
store ptr %arg_inner, ptr %t0
%t1 = load ptr, ptr @g_toks
store ptr %t1, ptr %t2
%t3 = load i32, ptr @g_pi
store i32 %t3, ptr %t4
%t5 = load ptr, ptr %t0
call void @fn_lex(ptr %t5)
store i32 0, ptr @g_pi
call void @fn_skipnl()
%t6 = call ptr @fn_expr()
store ptr %t6, ptr %t7
%t8 = load ptr, ptr %t2
store ptr %t8, ptr @g_toks
%t9 = load i32, ptr %t4
store i32 %t9, ptr @g_pi
%t10 = load ptr, ptr %t7
store ptr %t10, ptr %retval
br label %ret
ret:
%t11 = load ptr, ptr %retval
ret ptr %t11
}
define ptr @fn_parse_interp(ptr %arg_raw) {
entry:
%retval = alloca ptr
%t0 = alloca ptr
%t4 = alloca i32
%t5 = alloca ptr
%t10 = alloca ptr
%t11 = alloca i32
%t12 = alloca i32
%t23 = alloca i32
%t57 = alloca i32
%t58 = alloca i32
%t59 = alloca i32
%t78 = alloca i32
%t107 = alloca i32
%t143 = alloca i32
%t145 = alloca i32
%t172 = alloca i32
store ptr %arg_raw, ptr %t0
%t1 = load ptr, ptr %t0
%t2 = call i64 @strlen(ptr %t1)
%t3 = trunc i64 %t2 to i32
store i32 %t3, ptr %t4
store ptr null, ptr %t5
%t6 = load i32, ptr %t4
%t7 = add i32 %t6, 1
%t8 = zext i32 %t7 to i64
%t9 = call ptr @malloc(i64 %t8)
store ptr %t9, ptr %t10
store i32 0, ptr %t11
store i32 0, ptr %t12
br label %wcond0
wcond0:
%t13 = load i32, ptr %t12
%t14 = load i32, ptr %t4
%t15 = icmp slt i32 %t13, %t14
%t16 = zext i1 %t15 to i32
%t17 = icmp ne i32 %t16, 0
br i1 %t17, label %wbody1, label %wend2
wbody1:
%t18 = load ptr, ptr %t0
%t19 = load i32, ptr %t12
%t20 = getelementptr inbounds i8, ptr %t18, i32 %t19
%t21 = load i8, ptr %t20
%t22 = zext i8 %t21 to i32
store i32 %t22, ptr %t23
%t24 = load i32, ptr %t23
%t25 = icmp eq i32 %t24, 123
%t26 = zext i1 %t25 to i32
%t27 = icmp ne i32 %t26, 0
br i1 %t27, label %then3, label %else4
then3:
%t28 = load ptr, ptr %t0
%t29 = load i32, ptr %t12
%t30 = add i32 %t29, 1
%t31 = getelementptr inbounds i8, ptr %t28, i32 %t30
%t32 = load i8, ptr %t31
%t33 = zext i8 %t32 to i32
%t34 = icmp eq i32 %t33, 123
%t35 = zext i1 %t34 to i32
%t36 = icmp ne i32 %t35, 0
br i1 %t36, label %then6, label %ifend8
then6:
%t37 = load ptr, ptr %t10
%t38 = load i32, ptr %t11
%t39 = getelementptr inbounds i8, ptr %t37, i32 %t38
%t40 = trunc i32 123 to i8
store i8 %t40, ptr %t39
%t41 = load i32, ptr %t11
%t42 = add i32 %t41, 1
store i32 %t42, ptr %t11
%t43 = load i32, ptr %t12
%t44 = add i32 %t43, 2
store i32 %t44, ptr %t12
br label %wcond0
ifend8:
%t45 = load i32, ptr %t11
%t46 = icmp sgt i32 %t45, 0
%t47 = zext i1 %t46 to i32
%t48 = icmp ne i32 %t47, 0
br i1 %t48, label %then9, label %ifend11
then9:
%t49 = load ptr, ptr %t5
%t50 = load ptr, ptr %t10
%t51 = load i32, ptr %t11
%t52 = call ptr @fn_interp_lit(ptr %t50, i32 %t51)
%t53 = call ptr @fn_interp_add(ptr %t49, ptr %t52)
store ptr %t53, ptr %t5
store i32 0, ptr %t11
br label %ifend11
ifend11:
%t54 = load i32, ptr %t12
%t55 = add i32 %t54, 1
store i32 %t55, ptr %t12
%t56 = load i32, ptr %t12
store i32 %t56, ptr %t57
store i32 1, ptr %t58
br label %wcond12
wcond12:
%t60 = load i32, ptr %t12
%t61 = load i32, ptr %t4
%t62 = icmp slt i32 %t60, %t61
%t63 = zext i1 %t62 to i32
%t64 = icmp ne i32 %t63, 0
%t65 = zext i1 %t64 to i32
store i32 %t65, ptr %t59
br i1 %t64, label %sc15, label %scend16
sc15:
%t66 = load i32, ptr %t58
%t67 = icmp sgt i32 %t66, 0
%t68 = zext i1 %t67 to i32
%t69 = icmp ne i32 %t68, 0
%t70 = zext i1 %t69 to i32
store i32 %t70, ptr %t59
br label %scend16
scend16:
%t71 = load i32, ptr %t59
%t72 = icmp ne i32 %t71, 0
br i1 %t72, label %wbody13, label %wend14
wbody13:
%t73 = load ptr, ptr %t0
%t74 = load i32, ptr %t12
%t75 = getelementptr inbounds i8, ptr %t73, i32 %t74
%t76 = load i8, ptr %t75
%t77 = zext i8 %t76 to i32
store i32 %t77, ptr %t78
%t79 = load i32, ptr %t78
%t80 = icmp eq i32 %t79, 123
%t81 = zext i1 %t80 to i32
%t82 = icmp ne i32 %t81, 0
br i1 %t82, label %then17, label %else18
then17:
%t83 = load i32, ptr %t58
%t84 = add i32 %t83, 1
store i32 %t84, ptr %t58
br label %ifend19
else18:
%t85 = load i32, ptr %t78
%t86 = icmp eq i32 %t85, 125
%t87 = zext i1 %t86 to i32
%t88 = icmp ne i32 %t87, 0
br i1 %t88, label %then20, label %ifend22
then20:
%t89 = load i32, ptr %t58
%t90 = sub i32 %t89, 1
store i32 %t90, ptr %t58
%t91 = load i32, ptr %t58
%t92 = icmp eq i32 %t91, 0
%t93 = zext i1 %t92 to i32
%t94 = icmp ne i32 %t93, 0
br i1 %t94, label %then23, label %ifend25
then23:
br label %wend14
ifend25:
br label %ifend22
ifend22:
br label %ifend19
ifend19:
%t95 = load i32, ptr %t12
%t96 = add i32 %t95, 1
store i32 %t96, ptr %t12
br label %wcond12
wend14:
%t97 = load ptr, ptr %t5
%t98 = load ptr, ptr %t0
%t99 = load i32, ptr %t57
%t100 = load i32, ptr %t12
%t101 = call ptr @fn_str_slice(ptr %t98, i32 %t99, i32 %t100)
%t102 = call ptr @fn_parse_hole(ptr %t101)
%t103 = call ptr @fn_interp_str(ptr %t102)
%t104 = call ptr @fn_interp_add(ptr %t97, ptr %t103)
store ptr %t104, ptr %t5
%t105 = load i32, ptr %t12
%t106 = add i32 %t105, 1
store i32 %t106, ptr %t12
br label %ifend5
else4:
%t108 = load i32, ptr %t23
%t109 = icmp eq i32 %t108, 125
%t110 = zext i1 %t109 to i32
%t111 = icmp ne i32 %t110, 0
%t112 = zext i1 %t111 to i32
store i32 %t112, ptr %t107
br i1 %t111, label %sc26, label %scend27
sc26:
%t113 = load ptr, ptr %t0
%t114 = load i32, ptr %t12
%t115 = add 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, 125
%t120 = zext i1 %t119 to i32
%t121 = icmp ne i32 %t120, 0
%t122 = zext i1 %t121 to i32
store i32 %t122, ptr %t107
br label %scend27
scend27:
%t123 = load i32, ptr %t107
%t124 = icmp ne i32 %t123, 0
br i1 %t124, label %then28, label %ifend30
then28:
%t125 = load ptr, ptr %t10
%t126 = load i32, ptr %t11
%t127 = getelementptr inbounds i8, ptr %t125, i32 %t126
%t128 = trunc i32 125 to i8
store i8 %t128, ptr %t127
%t129 = load i32, ptr %t11
%t130 = add i32 %t129, 1
store i32 %t130, ptr %t11
%t131 = load i32, ptr %t12
%t132 = add i32 %t131, 2
store i32 %t132, ptr %t12
br label %wcond0
ifend30:
%t133 = load i32, ptr %t23
%t134 = icmp eq i32 %t133, 92
%t135 = zext i1 %t134 to i32
%t136 = icmp ne i32 %t135, 0
br i1 %t136, label %then31, label %ifend33
then31:
%t137 = load ptr, ptr %t0
%t138 = load i32, ptr %t12
%t139 = add i32 %t138, 1
%t140 = getelementptr inbounds i8, ptr %t137, i32 %t139
%t141 = load i8, ptr %t140
%t142 = zext i8 %t141 to i32
store i32 %t142, ptr %t143
%t144 = load i32, ptr %t143
store i32 %t144, ptr %t145
%t146 = load i32, ptr %t143
%t147 = icmp eq i32 %t146, 110
%t148 = zext i1 %t147 to i32
%t149 = icmp ne i32 %t148, 0
br i1 %t149, label %then34, label %ifend36
then34:
store i32 10, ptr %t145
br label %ifend36
ifend36:
%t150 = load i32, ptr %t143
%t151 = icmp eq i32 %t150, 116
%t152 = zext i1 %t151 to i32
%t153 = icmp ne i32 %t152, 0
br i1 %t153, label %then37, label %ifend39
then37:
store i32 9, ptr %t145
br label %ifend39
ifend39:
%t154 = load ptr, ptr %t10
%t155 = load i32, ptr %t11
%t156 = getelementptr inbounds i8, ptr %t154, i32 %t155
%t157 = load i32, ptr %t145
%t158 = trunc i32 %t157 to i8
store i8 %t158, ptr %t156
%t159 = load i32, ptr %t11
%t160 = add i32 %t159, 1
store i32 %t160, ptr %t11
%t161 = load i32, ptr %t12
%t162 = add i32 %t161, 2
store i32 %t162, ptr %t12
br label %wcond0
ifend33:
%t163 = load ptr, ptr %t10
%t164 = load i32, ptr %t11
%t165 = getelementptr inbounds i8, ptr %t163, i32 %t164
%t166 = load i32, ptr %t23
%t167 = trunc i32 %t166 to i8
store i8 %t167, ptr %t165
%t168 = load i32, ptr %t11
%t169 = add i32 %t168, 1
store i32 %t169, ptr %t11
%t170 = load i32, ptr %t12
%t171 = add i32 %t170, 1
store i32 %t171, ptr %t12
br label %ifend5
ifend5:
br label %wcond0
wend2:
%t173 = load i32, ptr %t11
%t174 = icmp sgt 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 %t172
br i1 %t176, label %scend41, label %sc40
sc40:
%t178 = load ptr, ptr %t5
%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 %t172
br label %scend41
scend41:
%t183 = load i32, ptr %t172
%t184 = icmp ne i32 %t183, 0
br i1 %t184, label %then42, label %ifend44
then42:
%t185 = load ptr, ptr %t5
%t186 = load ptr, ptr %t10
%t187 = load i32, ptr %t11
%t188 = call ptr @fn_interp_lit(ptr %t186, i32 %t187)
%t189 = call ptr @fn_interp_add(ptr %t185, ptr %t188)
store ptr %t189, ptr %t5
br label %ifend44
ifend44:
%t190 = load ptr, ptr %t5
store ptr %t190, ptr %retval
br label %ret
ret:
%t191 = load ptr, ptr %retval
ret ptr %t191
}
define ptr @fn_parse_emit() {
entry:
%retval = alloca ptr
%t3 = alloca ptr
%t8 = alloca ptr
%t14 = alloca ptr
%t0 = load i32, ptr @g_pi
%t1 = add i32 %t0, 1
store i32 %t1, ptr @g_pi
%t2 = call ptr @fn_node(i32 49)
store ptr %t2, ptr %t3
%t4 = load ptr, ptr %t3
%t5 = getelementptr inbounds %Cmp_Node, ptr %t4, i32 0, i32 1
%t6 = call ptr @fn_eat_id()
store ptr %t6, ptr %t5
%t7 = call ptr @fn_node(i32 41)
store ptr %t7, ptr %t8
call void @fn_eat_op(ptr @.str14)
call void @fn_skipnl()
br label %wcond0
wcond0:
%t9 = call i32 @fn_is_op(ptr @.str15)
%t10 = icmp eq i32 %t9, 0
%t11 = zext i1 %t10 to i32
%t12 = icmp ne i32 %t11, 0
br i1 %t12, label %wbody1, label %wend2
wbody1:
%t13 = call ptr @fn_node(i32 42)
store ptr %t13, ptr %t14
%t15 = load ptr, ptr %t14
%t16 = getelementptr inbounds %Cmp_Node, ptr %t15, i32 0, i32 1
%t17 = call ptr @fn_eat_id()
store ptr %t17, ptr %t16
call void @fn_eat_op(ptr @.str16)
%t18 = load ptr, ptr %t14
%t19 = getelementptr inbounds %Cmp_Node, ptr %t18, i32 0, i32 4
%t20 = call ptr @fn_expr()
store ptr %t20, ptr %t19
%t21 = load ptr, ptr %t8
%t22 = getelementptr inbounds %Cmp_Node, ptr %t21, i32 0, i32 7
%t23 = load ptr, ptr %t22
%t24 = 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
%t38 = call ptr @realloc(ptr %t37, i64 %t36)
store ptr %t38, ptr %t26
store i32 %t32, ptr %t25
br label %put4
put4:
%t39 = load ptr, ptr %t14
%t40 = load ptr, ptr %t26
%t41 = getelementptr inbounds ptr, ptr %t40, i32 %t27
store ptr %t39, ptr %t41
%t42 = add i32 %t27, 1
store i32 %t42, ptr %t24
call void @fn_skipnl()
%t43 = call i32 @fn_is_op(ptr @.str17)
%t44 = icmp ne i32 %t43, 0
br i1 %t44, label %then5, label %ifend7
then5:
%t45 = load i32, ptr @g_pi
%t46 = add i32 %t45, 1
store i32 %t46, ptr @g_pi
call void @fn_skipnl()
br label %ifend7
ifend7:
br label %wcond0
wend2:
call void @fn_eat_op(ptr @.str18)
%t47 = load ptr, ptr %t3
%t48 = getelementptr inbounds %Cmp_Node, ptr %t47, i32 0, i32 4
%t49 = load ptr, ptr %t8
store ptr %t49, ptr %t48
%t50 = load ptr, ptr %t3
store ptr %t50, ptr %retval
br label %ret
ret:
%t51 = load ptr, ptr %retval
ret ptr %t51
}
define ptr @fn_p_primary() {
entry:
%retval = alloca ptr
%t6 = alloca ptr
%t19 = alloca i32
%t20 = alloca i32
%t60 = alloca ptr
%t76 = alloca ptr
%t92 = alloca ptr
%t113 = alloca ptr
%t125 = alloca ptr
%t147 = alloca ptr
%t165 = alloca ptr
%t185 = alloca ptr
%t199 = alloca ptr
%t0 = load ptr, ptr @g_toks
%t1 = getelementptr inbounds %LSlice, ptr %t0, i32 0, i32 0
%t2 = load ptr, ptr %t1
%t3 = load i32, ptr @g_pi
%t4 = getelementptr inbounds ptr, ptr %t2, i32 %t3
%t5 = load ptr, ptr %t4
store ptr %t5, ptr %t6
%t7 = load ptr, ptr %t6
%t8 = getelementptr inbounds %Cmp_Tok, ptr %t7, i32 0, i32 0
%t9 = load i32, ptr %t8
%t10 = icmp eq i32 %t9, 7
%t11 = zext i1 %t10 to i32
%t12 = icmp ne i32 %t11, 0
br i1 %t12, label %then0, label %ifend2
then0:
%t13 = load i32, ptr @g_pi
%t14 = add i32 %t13, 1
store i32 %t14, ptr @g_pi
%t15 = load ptr, ptr %t6
%t16 = getelementptr inbounds %Cmp_Tok, ptr %t15, i32 0, i32 1
%t17 = load ptr, ptr %t16
%t18 = call ptr @fn_parse_interp(ptr %t17)
store ptr %t18, ptr %retval
br label %ret
ifend2:
%t21 = load ptr, ptr %t6
%t22 = getelementptr inbounds %Cmp_Tok, ptr %t21, i32 0, i32 0
%t23 = load i32, 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 %t20
br i1 %t26, label %sc3, label %scend4
sc3:
%t28 = load ptr, ptr %t6
%t29 = getelementptr inbounds %Cmp_Tok, ptr %t28, i32 0, i32 1
%t30 = load ptr, ptr %t29
%t31 = call i32 @fn_str_eq(ptr %t30, ptr @.str19)
%t32 = icmp ne i32 %t31, 0
%t33 = zext i1 %t32 to i32
store i32 %t33, ptr %t20
br label %scend4
scend4:
%t34 = load i32, ptr %t20
%t35 = icmp ne i32 %t34, 0
%t36 = zext i1 %t35 to i32
store i32 %t36, ptr %t19
br i1 %t35, label %sc5, label %scend6
sc5:
%t37 = load ptr, ptr @g_toks
%t38 = getelementptr inbounds %LSlice, ptr %t37, i32 0, i32 0
%t39 = load ptr, ptr %t38
%t40 = load i32, ptr @g_pi
%t41 = add i32 %t40, 1
%t42 = getelementptr inbounds ptr, ptr %t39, i32 %t41
%t43 = load ptr, ptr %t42
%t44 = getelementptr inbounds %Cmp_Tok, ptr %t43, i32 0, i32 0
%t45 = load i32, 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 %t19
br label %scend6
scend6:
%t50 = load i32, ptr %t19
%t51 = icmp ne i32 %t50, 0
br i1 %t51, label %then7, label %ifend9
then7:
%t52 = call ptr @fn_parse_emit()
store ptr %t52, ptr %retval
br label %ret
ifend9:
%t53 = load ptr, ptr %t6
%t54 = getelementptr inbounds %Cmp_Tok, ptr %t53, i32 0, i32 0
%t55 = load i32, ptr %t54
%t56 = icmp eq i32 %t55, 1
%t57 = zext i1 %t56 to i32
%t58 = icmp ne i32 %t57, 0
br i1 %t58, label %then10, label %ifend12
then10:
%t59 = call ptr @fn_node(i32 30)
store ptr %t59, ptr %t60
%t61 = load ptr, ptr %t60
%t62 = getelementptr inbounds %Cmp_Node, ptr %t61, i32 0, i32 2
%t63 = load ptr, ptr %t6
%t64 = getelementptr inbounds %Cmp_Tok, ptr %t63, i32 0, i32 2
%t65 = load i32, ptr %t64
store i32 %t65, ptr %t62
%t66 = load i32, ptr @g_pi
%t67 = add i32 %t66, 1
store i32 %t67, ptr @g_pi
%t68 = load ptr, ptr %t60
store ptr %t68, ptr %retval
br label %ret
ifend12:
%t69 = load ptr, ptr %t6
%t70 = getelementptr inbounds %Cmp_Tok, ptr %t69, i32 0, i32 0
%t71 = load i32, ptr %t70
%t72 = icmp eq i32 %t71, 6
%t73 = zext i1 %t72 to i32
%t74 = icmp ne i32 %t73, 0
br i1 %t74, label %then13, label %ifend15
then13:
%t75 = call ptr @fn_node(i32 40)
store ptr %t75, ptr %t76
%t77 = load ptr, ptr %t76
%t78 = getelementptr inbounds %Cmp_Node, ptr %t77, i32 0, i32 2
%t79 = load ptr, ptr %t6
%t80 = getelementptr inbounds %Cmp_Tok, ptr %t79, i32 0, i32 2
%t81 = load i32, ptr %t80
store i32 %t81, ptr %t78
%t82 = load i32, ptr @g_pi
%t83 = add i32 %t82, 1
store i32 %t83, ptr @g_pi
%t84 = load ptr, ptr %t76
store ptr %t84, ptr %retval
br label %ret
ifend15:
%t85 = load ptr, ptr %t6
%t86 = getelementptr inbounds %Cmp_Tok, ptr %t85, i32 0, i32 0
%t87 = load i32, ptr %t86
%t88 = icmp eq i32 %t87, 2
%t89 = zext i1 %t88 to i32
%t90 = icmp ne i32 %t89, 0
br i1 %t90, label %then16, label %ifend18
then16:
%t91 = call ptr @fn_node(i32 31)
store ptr %t91, ptr %t92
%t93 = load ptr, ptr %t92
%t94 = getelementptr inbounds %Cmp_Node, ptr %t93, i32 0, i32 1
%t95 = load ptr, ptr %t6
%t96 = getelementptr inbounds %Cmp_Tok, ptr %t95, i32 0, i32 1
%t97 = load ptr, ptr %t96
store ptr %t97, ptr %t94
%t98 = load i32, ptr @g_pi
%t99 = add i32 %t98, 1
store i32 %t99, ptr @g_pi
%t100 = load ptr, ptr %t92
store ptr %t100, ptr %retval
br label %ret
ifend18:
%t101 = load ptr, ptr %t6
%t102 = getelementptr inbounds %Cmp_Tok, ptr %t101, i32 0, i32 0
%t103 = load i32, ptr %t102
%t104 = icmp eq i32 %t103, 0
%t105 = zext i1 %t104 to i32
%t106 = icmp ne i32 %t105, 0
br i1 %t106, label %then19, label %ifend21
then19:
%t107 = load ptr, ptr %t6
%t108 = getelementptr inbounds %Cmp_Tok, ptr %t107, i32 0, i32 1
%t109 = load ptr, ptr %t108
%t110 = call i32 @fn_str_eq(ptr %t109, ptr @.str20)
%t111 = icmp ne i32 %t110, 0
br i1 %t111, label %then22, label %ifend24
then22:
%t112 = call ptr @fn_node(i32 32)
store ptr %t112, ptr %t113
%t114 = load ptr, ptr %t113
%t115 = getelementptr inbounds %Cmp_Node, ptr %t114, i32 0, i32 2
store i32 1, ptr %t115
%t116 = load i32, ptr @g_pi
%t117 = add i32 %t116, 1
store i32 %t117, ptr @g_pi
%t118 = load ptr, ptr %t113
store ptr %t118, ptr %retval
br label %ret
ifend24:
%t119 = load ptr, ptr %t6
%t120 = getelementptr inbounds %Cmp_Tok, ptr %t119, i32 0, i32 1
%t121 = load ptr, ptr %t120
%t122 = call i32 @fn_str_eq(ptr %t121, ptr @.str21)
%t123 = icmp ne i32 %t122, 0
br i1 %t123, label %then25, label %ifend27
then25:
%t124 = call ptr @fn_node(i32 32)
store ptr %t124, ptr %t125
%t126 = load ptr, ptr %t125
%t127 = getelementptr inbounds %Cmp_Node, ptr %t126, i32 0, i32 2
store i32 0, ptr %t127
%t128 = load i32, ptr @g_pi
%t129 = add i32 %t128, 1
store i32 %t129, ptr @g_pi
%t130 = load ptr, ptr %t125
store ptr %t130, ptr %retval
br label %ret
ifend27:
%t131 = load ptr, ptr %t6
%t132 = getelementptr inbounds %Cmp_Tok, ptr %t131, i32 0, i32 1
%t133 = load ptr, ptr %t132
%t134 = call i32 @fn_str_eq(ptr %t133, ptr @.str22)
%t135 = icmp ne i32 %t134, 0
br i1 %t135, label %then28, label %ifend30
then28:
%t136 = load i32, ptr @g_pi
%t137 = add i32 %t136, 1
store i32 %t137, ptr @g_pi
%t138 = call ptr @fn_node(i32 43)
store ptr %t138, ptr %retval
br label %ret
ifend30:
%t139 = load ptr, ptr %t6
%t140 = getelementptr inbounds %Cmp_Tok, ptr %t139, i32 0, i32 1
%t141 = load ptr, ptr %t140
%t142 = call i32 @fn_str_eq(ptr %t141, ptr @.str23)
%t143 = icmp ne i32 %t142, 0
br i1 %t143, label %then31, label %ifend33
then31:
%t144 = load i32, ptr @g_pi
%t145 = add i32 %t144, 1
store i32 %t145, ptr @g_pi
%t146 = call ptr @fn_node(i32 39)
store ptr %t146, ptr %t147
%t148 = load ptr, ptr %t147
%t149 = getelementptr inbounds %Cmp_Node, ptr %t148, i32 0, i32 1
%t150 = call ptr @fn_ptype()
store ptr %t150, ptr %t149
%t151 = call i32 @fn_is_op(ptr @.str24)
%t152 = icmp ne i32 %t151, 0
br i1 %t152, label %then34, label %ifend36
then34:
%t153 = load ptr, ptr %t147
%t154 = getelementptr inbounds %Cmp_Node, ptr %t153, i32 0, i32 4
%t155 = call ptr @fn_record()
store ptr %t155, ptr %t154
br label %ifend36
ifend36:
%t156 = load ptr, ptr %t147
store ptr %t156, ptr %retval
br label %ret
ifend33:
%t157 = load ptr, ptr %t6
%t158 = getelementptr inbounds %Cmp_Tok, ptr %t157, i32 0, i32 1
%t159 = load ptr, ptr %t158
%t160 = call i32 @fn_str_eq(ptr %t159, ptr @.str25)
%t161 = icmp ne i32 %t160, 0
br i1 %t161, label %then37, label %ifend39
then37:
%t162 = load i32, ptr @g_pi
%t163 = add i32 %t162, 1
store i32 %t163, ptr @g_pi
%t164 = call ptr @fn_node(i32 52)
store ptr %t164, ptr %t165
%t166 = load ptr, ptr %t165
%t167 = getelementptr inbounds %Cmp_Node, ptr %t166, i32 0, i32 8
%t168 = load ptr, ptr %t6
%t169 = getelementptr inbounds %Cmp_Tok, ptr %t168, i32 0, i32 3
%t170 = load i32, ptr %t169
store i32 %t170, ptr %t167
%t171 = load ptr, ptr %t165
%t172 = getelementptr inbounds %Cmp_Node, ptr %t171, i32 0, i32 4
%t173 = call ptr @fn_expr()
store ptr %t173, ptr %t172
call void @fn_skipnl()
%t174 = call i32 @fn_is_id(ptr @.str26)
%t175 = icmp eq i32 %t174, 0
%t176 = zext i1 %t175 to i32
%t177 = icmp ne i32 %t176, 0
br i1 %t177, label %then40, label %ifend42
then40:
call void @fn_perr(ptr @.str27)
br label %ifend42
ifend42:
%t178 = load i32, ptr @g_pi
%t179 = add i32 %t178, 1
store i32 %t179, ptr @g_pi
call void @fn_skipnl()
%t180 = load ptr, ptr %t165
%t181 = getelementptr inbounds %Cmp_Node, ptr %t180, i32 0, i32 5
%t182 = call ptr @fn_block()
store ptr %t182, ptr %t181
%t183 = load ptr, ptr %t165
store ptr %t183, ptr %retval
br label %ret
ifend39:
%t184 = call ptr @fn_node(i32 33)
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 %t6
%t189 = getelementptr inbounds %Cmp_Tok, ptr %t188, i32 0, i32 1
%t190 = load ptr, ptr %t189
store ptr %t190, ptr %t187
%t191 = load i32, ptr @g_pi
%t192 = add i32 %t191, 1
store i32 %t192, ptr @g_pi
%t193 = load ptr, ptr %t185
store ptr %t193, ptr %retval
br label %ret
ifend21:
%t194 = call i32 @fn_is_op(ptr @.str28)
%t195 = icmp ne i32 %t194, 0
br i1 %t195, label %then43, label %ifend45
then43:
%t196 = load i32, ptr @g_pi
%t197 = add i32 %t196, 1
store i32 %t197, ptr @g_pi
call void @fn_skipnl()
%t198 = call ptr @fn_expr()
store ptr %t198, ptr %t199
call void @fn_skipnl()
call void @fn_eat_op(ptr @.str29)
%t200 = load ptr, ptr %t199
store ptr %t200, ptr %retval
br label %ret
ifend45:
call void @fn_perr(ptr @.str30)
%t201 = call ptr @fn_node(i32 30)
store ptr %t201, ptr %retval
br label %ret
ret:
%t202 = load ptr, ptr %retval
ret ptr %t202
}
define ptr @fn_p_postfix() {
entry:
%retval = alloca ptr
%t1 = alloca ptr
%t8 = alloca ptr
%t16 = alloca i32
%t36 = alloca i32
%t56 = alloca i32
%t76 = alloca i32
%t96 = alloca i32
%t106 = alloca i32
%t128 = alloca i32
%t129 = alloca i32
%t150 = alloca i32
%t168 = alloca i32
%t169 = alloca i32
%t190 = alloca i32
%t191 = alloca i32
%t192 = alloca i32
%t193 = alloca i32
%t194 = alloca i32
%t195 = alloca i32
%t258 = alloca i32
%t259 = alloca i32
%t280 = alloca i32
%t281 = alloca i32
%t282 = alloca i32
%t283 = alloca i32
%t284 = alloca i32
%t285 = alloca i32
%t286 = alloca i32
%t287 = alloca i32
%t288 = alloca i32
%t289 = alloca i32
%t290 = alloca i32
%t291 = alloca i32
%t292 = alloca i32
%t293 = alloca i32
%t294 = alloca i32
%t295 = alloca i32
%t296 = alloca i32
%t297 = alloca i32
%t298 = alloca i32
%t299 = alloca i32
%t300 = alloca i32
%t301 = alloca i32
%t508 = alloca i32
%t509 = alloca i32
%t530 = alloca i32
%t531 = alloca i32
%t532 = alloca i32
%t568 = alloca i32
%t569 = alloca i32
%t598 = alloca i32
%t618 = alloca i32
%t619 = alloca i32
%t640 = alloca i32
%t641 = alloca i32
%t642 = alloca i32
%t643 = alloca i32
%t644 = alloca i32
%t703 = alloca ptr
%t709 = alloca ptr
%t721 = alloca ptr
%t732 = alloca ptr
%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 @.str31)
%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 @fn_str_eq(ptr %t30, ptr @.str32)
%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 @fn_str_eq(ptr %t50, ptr @.str33)
%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_query
br label %ifend15
ifend15:
%t57 = load ptr, ptr %t1
%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 0
%t61 = load i32, ptr %t60
%t62 = icmp eq i32 %t61, 33
%t63 = zext i1 %t62 to i32
%t64 = icmp ne i32 %t63, 0
%t65 = zext i1 %t64 to i32
store i32 %t65, ptr %t56
br i1 %t64, label %sc16, label %scend17
sc16:
%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
%t71 = call i32 @fn_str_eq(ptr %t70, ptr @.str34)
%t72 = icmp ne i32 %t71, 0
%t73 = zext i1 %t72 to i32
store i32 %t73, ptr %t56
br label %scend17
scend17:
%t74 = load i32, ptr %t56
%t75 = icmp ne i32 %t74, 0
br i1 %t75, label %then18, label %ifend20
then18:
store i32 1, ptr @g_g_uses_reflect
br label %ifend20
ifend20:
%t77 = load ptr, ptr %t1
%t78 = getelementptr inbounds %Cmp_Node, ptr %t77, i32 0, i32 4
%t79 = load ptr, ptr %t78
%t80 = getelementptr inbounds %Cmp_Node, ptr %t79, i32 0, i32 0
%t81 = load i32, ptr %t80
%t82 = icmp eq i32 %t81, 33
%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 %sc21, label %scend22
sc21:
%t86 = load ptr, ptr %t1
%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_str_eq(ptr %t90, ptr @.str35)
%t92 = icmp ne i32 %t91, 0
%t93 = zext i1 %t92 to i32
store i32 %t93, ptr %t76
br label %scend22
scend22:
%t94 = load i32, ptr %t76
%t95 = icmp ne i32 %t94, 0
br i1 %t95, label %then23, label %ifend25
then23:
store i32 1, ptr @g_g_uses_light
br label %ifend25
ifend25:
%t97 = load ptr, ptr %t1
%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 %t96
br i1 %t104, label %sc26, label %scend27
sc26:
%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 @fn_str_eq(ptr %t111, ptr @.str36)
%t113 = icmp ne i32 %t112, 0
%t114 = zext i1 %t113 to i32
store i32 %t114, ptr %t106
br i1 %t113, label %scend29, label %sc28
sc28:
%t115 = load ptr, ptr %t1
%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 1
%t119 = load ptr, ptr %t118
%t120 = call i32 @fn_str_eq(ptr %t119, ptr @.str37)
%t121 = icmp ne i32 %t120, 0
%t122 = zext i1 %t121 to i32
store i32 %t122, ptr %t106
br label %scend29
scend29:
%t123 = load i32, ptr %t106
%t124 = icmp ne i32 %t123, 0
%t125 = zext i1 %t124 to i32
store i32 %t125, ptr %t96
br label %scend27
scend27:
%t126 = load i32, ptr %t96
%t127 = icmp ne i32 %t126, 0
br i1 %t127, label %then30, label %ifend32
then30:
store i32 1, ptr @g_g_uses_value
br label %ifend32
ifend32:
%t130 = load ptr, ptr %t1
%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 0
%t134 = load i32, ptr %t133
%t135 = icmp eq i32 %t134, 33
%t136 = zext i1 %t135 to i32
%t137 = icmp ne i32 %t136, 0
%t138 = zext i1 %t137 to i32
store i32 %t138, ptr %t129
br i1 %t137, label %sc33, label %scend34
sc33:
%t139 = load ptr, ptr %t1
%t140 = getelementptr inbounds %Cmp_Node, ptr %t139, i32 0, i32 4
%t141 = load ptr, ptr %t140
%t142 = getelementptr inbounds %Cmp_Node, ptr %t141, i32 0, i32 1
%t143 = load ptr, ptr %t142
%t144 = call i32 @fn_str_eq(ptr %t143, ptr @.str38)
%t145 = icmp ne i32 %t144, 0
%t146 = zext i1 %t145 to i32
store i32 %t146, ptr %t129
br label %scend34
scend34:
%t147 = load i32, ptr %t129
%t148 = icmp ne i32 %t147, 0
%t149 = zext i1 %t148 to i32
store i32 %t149, ptr %t128
br i1 %t148, label %sc35, label %scend36
sc35:
%t151 = load ptr, ptr %t1
%t152 = getelementptr inbounds %Cmp_Node, ptr %t151, i32 0, i32 1
%t153 = load ptr, ptr %t152
%t154 = call i32 @fn_str_eq(ptr %t153, ptr @.str39)
%t155 = icmp ne i32 %t154, 0
%t156 = zext i1 %t155 to i32
store i32 %t156, ptr %t150
br i1 %t155, label %scend38, label %sc37
sc37:
%t157 = load ptr, ptr %t1
%t158 = getelementptr inbounds %Cmp_Node, ptr %t157, i32 0, i32 1
%t159 = load ptr, ptr %t158
%t160 = call i32 @fn_str_eq(ptr %t159, ptr @.str40)
%t161 = icmp ne i32 %t160, 0
%t162 = zext i1 %t161 to i32
store i32 %t162, ptr %t150
br label %scend38
scend38:
%t163 = load i32, ptr %t150
%t164 = icmp ne i32 %t163, 0
%t165 = zext i1 %t164 to i32
store i32 %t165, ptr %t128
br label %scend36
scend36:
%t166 = load i32, ptr %t128
%t167 = icmp ne i32 %t166, 0
br i1 %t167, label %then39, label %ifend41
then39:
store i32 1, ptr @g_g_uses_value
store i32 1, ptr @g_g_uses_reflect_io
br label %ifend41
ifend41:
%t170 = load ptr, ptr %t1
%t171 = getelementptr inbounds %Cmp_Node, ptr %t170, i32 0, i32 4
%t172 = load ptr, ptr %t171
%t173 = getelementptr inbounds %Cmp_Node, ptr %t172, i32 0, i32 0
%t174 = load i32, ptr %t173
%t175 = icmp eq i32 %t174, 33
%t176 = zext i1 %t175 to i32
%t177 = icmp ne i32 %t176, 0
%t178 = zext i1 %t177 to i32
store i32 %t178, ptr %t169
br i1 %t177, label %sc42, label %scend43
sc42:
%t179 = load ptr, ptr %t1
%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 1
%t183 = load ptr, ptr %t182
%t184 = call i32 @fn_str_eq(ptr %t183, ptr @.str41)
%t185 = icmp ne i32 %t184, 0
%t186 = zext i1 %t185 to i32
store i32 %t186, ptr %t169
br label %scend43
scend43:
%t187 = load i32, ptr %t169
%t188 = icmp ne i32 %t187, 0
%t189 = zext i1 %t188 to i32
store i32 %t189, ptr %t168
br i1 %t188, label %sc44, label %scend45
sc44:
%t196 = load ptr, ptr %t1
%t197 = getelementptr inbounds %Cmp_Node, ptr %t196, i32 0, i32 1
%t198 = load ptr, ptr %t197
%t199 = call i32 @fn_str_eq(ptr %t198, ptr @.str42)
%t200 = icmp ne i32 %t199, 0
%t201 = zext i1 %t200 to i32
store i32 %t201, ptr %t195
br i1 %t200, label %scend47, label %sc46
sc46:
%t202 = load ptr, ptr %t1
%t203 = getelementptr inbounds %Cmp_Node, ptr %t202, i32 0, i32 1
%t204 = load ptr, ptr %t203
%t205 = call i32 @fn_str_eq(ptr %t204, ptr @.str43)
%t206 = icmp ne i32 %t205, 0
%t207 = zext i1 %t206 to i32
store i32 %t207, ptr %t195
br label %scend47
scend47:
%t208 = load i32, ptr %t195
%t209 = icmp ne i32 %t208, 0
%t210 = zext i1 %t209 to i32
store i32 %t210, ptr %t194
br i1 %t209, label %scend49, label %sc48
sc48:
%t211 = load ptr, ptr %t1
%t212 = getelementptr inbounds %Cmp_Node, ptr %t211, i32 0, i32 1
%t213 = load ptr, ptr %t212
%t214 = call i32 @fn_str_eq(ptr %t213, ptr @.str44)
%t215 = icmp ne i32 %t214, 0
%t216 = zext i1 %t215 to i32
store i32 %t216, ptr %t194
br label %scend49
scend49:
%t217 = load i32, ptr %t194
%t218 = icmp ne i32 %t217, 0
%t219 = zext i1 %t218 to i32
store i32 %t219, ptr %t193
br i1 %t218, label %scend51, label %sc50
sc50:
%t220 = load ptr, ptr %t1
%t221 = getelementptr inbounds %Cmp_Node, ptr %t220, i32 0, i32 1
%t222 = load ptr, ptr %t221
%t223 = call i32 @fn_str_eq(ptr %t222, ptr @.str45)
%t224 = icmp ne i32 %t223, 0
%t225 = zext i1 %t224 to i32
store i32 %t225, ptr %t193
br label %scend51
scend51:
%t226 = load i32, ptr %t193
%t227 = icmp ne i32 %t226, 0
%t228 = zext i1 %t227 to i32
store i32 %t228, ptr %t192
br i1 %t227, label %scend53, label %sc52
sc52:
%t229 = load ptr, ptr %t1
%t230 = getelementptr inbounds %Cmp_Node, ptr %t229, i32 0, i32 1
%t231 = load ptr, ptr %t230
%t232 = call i32 @fn_str_eq(ptr %t231, ptr @.str46)
%t233 = icmp ne i32 %t232, 0
%t234 = zext i1 %t233 to i32
store i32 %t234, ptr %t192
br label %scend53
scend53:
%t235 = load i32, ptr %t192
%t236 = icmp ne i32 %t235, 0
%t237 = zext i1 %t236 to i32
store i32 %t237, ptr %t191
br i1 %t236, label %scend55, label %sc54
sc54:
%t238 = load ptr, ptr %t1
%t239 = getelementptr inbounds %Cmp_Node, ptr %t238, i32 0, i32 1
%t240 = load ptr, ptr %t239
%t241 = call i32 @fn_str_eq(ptr %t240, ptr @.str47)
%t242 = icmp ne i32 %t241, 0
%t243 = zext i1 %t242 to i32
store i32 %t243, ptr %t191
br label %scend55
scend55:
%t244 = load i32, ptr %t191
%t245 = icmp ne i32 %t244, 0
%t246 = zext i1 %t245 to i32
store i32 %t246, ptr %t190
br i1 %t245, label %scend57, label %sc56
sc56:
%t247 = load ptr, ptr %t1
%t248 = getelementptr inbounds %Cmp_Node, ptr %t247, i32 0, i32 1
%t249 = load ptr, ptr %t248
%t250 = call i32 @fn_str_eq(ptr %t249, ptr @.str48)
%t251 = icmp ne i32 %t250, 0
%t252 = zext i1 %t251 to i32
store i32 %t252, ptr %t190
br label %scend57
scend57:
%t253 = load i32, ptr %t190
%t254 = icmp ne i32 %t253, 0
%t255 = zext i1 %t254 to i32
store i32 %t255, ptr %t168
br label %scend45
scend45:
%t256 = load i32, ptr %t168
%t257 = icmp ne i32 %t256, 0
br i1 %t257, label %then58, label %ifend60
then58:
store i32 1, ptr @g_g_uses_input
br label %ifend60
ifend60:
%t260 = load ptr, ptr %t1
%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 0
%t264 = load i32, ptr %t263
%t265 = icmp eq i32 %t264, 33
%t266 = zext i1 %t265 to i32
%t267 = icmp ne i32 %t266, 0
%t268 = zext i1 %t267 to i32
store i32 %t268, ptr %t259
br i1 %t267, label %sc61, label %scend62
sc61:
%t269 = load ptr, ptr %t1
%t270 = getelementptr inbounds %Cmp_Node, ptr %t269, i32 0, i32 4
%t271 = load ptr, ptr %t270
%t272 = getelementptr inbounds %Cmp_Node, ptr %t271, i32 0, i32 1
%t273 = load ptr, ptr %t272
%t274 = call i32 @fn_str_eq(ptr %t273, ptr @.str49)
%t275 = icmp ne i32 %t274, 0
%t276 = zext i1 %t275 to i32
store i32 %t276, ptr %t259
br label %scend62
scend62:
%t277 = load i32, ptr %t259
%t278 = icmp ne i32 %t277, 0
%t279 = zext i1 %t278 to i32
store i32 %t279, ptr %t258
br i1 %t278, label %sc63, label %scend64
sc63:
%t302 = load ptr, ptr %t1
%t303 = getelementptr inbounds %Cmp_Node, ptr %t302, i32 0, i32 1
%t304 = load ptr, ptr %t303
%t305 = call i32 @fn_str_eq(ptr %t304, ptr @.str50)
%t306 = icmp ne i32 %t305, 0
%t307 = zext i1 %t306 to i32
store i32 %t307, ptr %t301
br i1 %t306, label %scend66, label %sc65
sc65:
%t308 = load ptr, ptr %t1
%t309 = getelementptr inbounds %Cmp_Node, ptr %t308, i32 0, i32 1
%t310 = load ptr, ptr %t309
%t311 = call i32 @fn_str_eq(ptr %t310, ptr @.str51)
%t312 = icmp ne i32 %t311, 0
%t313 = zext i1 %t312 to i32
store i32 %t313, ptr %t301
br label %scend66
scend66:
%t314 = load i32, ptr %t301
%t315 = icmp ne i32 %t314, 0
%t316 = zext i1 %t315 to i32
store i32 %t316, ptr %t300
br i1 %t315, label %scend68, label %sc67
sc67:
%t317 = load ptr, ptr %t1
%t318 = getelementptr inbounds %Cmp_Node, ptr %t317, i32 0, i32 1
%t319 = load ptr, ptr %t318
%t320 = call i32 @fn_str_eq(ptr %t319, ptr @.str52)
%t321 = icmp ne i32 %t320, 0
%t322 = zext i1 %t321 to i32
store i32 %t322, ptr %t300
br label %scend68
scend68:
%t323 = load i32, ptr %t300
%t324 = icmp ne i32 %t323, 0
%t325 = zext i1 %t324 to i32
store i32 %t325, ptr %t299
br i1 %t324, label %scend70, label %sc69
sc69:
%t326 = load ptr, ptr %t1
%t327 = getelementptr inbounds %Cmp_Node, ptr %t326, i32 0, i32 1
%t328 = load ptr, ptr %t327
%t329 = call i32 @fn_str_eq(ptr %t328, ptr @.str53)
%t330 = icmp ne i32 %t329, 0
%t331 = zext i1 %t330 to i32
store i32 %t331, ptr %t299
br label %scend70
scend70:
%t332 = load i32, ptr %t299
%t333 = icmp ne i32 %t332, 0
%t334 = zext i1 %t333 to i32
store i32 %t334, ptr %t298
br i1 %t333, label %scend72, label %sc71
sc71:
%t335 = load ptr, ptr %t1
%t336 = getelementptr inbounds %Cmp_Node, ptr %t335, i32 0, i32 1
%t337 = load ptr, ptr %t336
%t338 = call i32 @fn_str_eq(ptr %t337, ptr @.str54)
%t339 = icmp ne i32 %t338, 0
%t340 = zext i1 %t339 to i32
store i32 %t340, ptr %t298
br label %scend72
scend72:
%t341 = load i32, ptr %t298
%t342 = icmp ne i32 %t341, 0
%t343 = zext i1 %t342 to i32
store i32 %t343, ptr %t297
br i1 %t342, label %scend74, label %sc73
sc73:
%t344 = load ptr, ptr %t1
%t345 = getelementptr inbounds %Cmp_Node, ptr %t344, i32 0, i32 1
%t346 = load ptr, ptr %t345
%t347 = call i32 @fn_str_eq(ptr %t346, ptr @.str55)
%t348 = icmp ne i32 %t347, 0
%t349 = zext i1 %t348 to i32
store i32 %t349, ptr %t297
br label %scend74
scend74:
%t350 = load i32, ptr %t297
%t351 = icmp ne i32 %t350, 0
%t352 = zext i1 %t351 to i32
store i32 %t352, ptr %t296
br i1 %t351, label %scend76, label %sc75
sc75:
%t353 = load ptr, ptr %t1
%t354 = getelementptr inbounds %Cmp_Node, ptr %t353, i32 0, i32 1
%t355 = load ptr, ptr %t354
%t356 = call i32 @fn_str_eq(ptr %t355, ptr @.str56)
%t357 = icmp ne i32 %t356, 0
%t358 = zext i1 %t357 to i32
store i32 %t358, ptr %t296
br label %scend76
scend76:
%t359 = load i32, ptr %t296
%t360 = icmp ne i32 %t359, 0
%t361 = zext i1 %t360 to i32
store i32 %t361, ptr %t295
br i1 %t360, label %scend78, label %sc77
sc77:
%t362 = load ptr, ptr %t1
%t363 = getelementptr inbounds %Cmp_Node, ptr %t362, i32 0, i32 1
%t364 = load ptr, ptr %t363
%t365 = call i32 @fn_str_eq(ptr %t364, ptr @.str57)
%t366 = icmp ne i32 %t365, 0
%t367 = zext i1 %t366 to i32
store i32 %t367, ptr %t295
br label %scend78
scend78:
%t368 = load i32, ptr %t295
%t369 = icmp ne i32 %t368, 0
%t370 = zext i1 %t369 to i32
store i32 %t370, ptr %t294
br i1 %t369, label %scend80, label %sc79
sc79:
%t371 = load ptr, ptr %t1
%t372 = getelementptr inbounds %Cmp_Node, ptr %t371, i32 0, i32 1
%t373 = load ptr, ptr %t372
%t374 = call i32 @fn_str_eq(ptr %t373, ptr @.str58)
%t375 = icmp ne i32 %t374, 0
%t376 = zext i1 %t375 to i32
store i32 %t376, ptr %t294
br label %scend80
scend80:
%t377 = load i32, ptr %t294
%t378 = icmp ne i32 %t377, 0
%t379 = zext i1 %t378 to i32
store i32 %t379, ptr %t293
br i1 %t378, label %scend82, label %sc81
sc81:
%t380 = load ptr, ptr %t1
%t381 = getelementptr inbounds %Cmp_Node, ptr %t380, i32 0, i32 1
%t382 = load ptr, ptr %t381
%t383 = call i32 @fn_str_eq(ptr %t382, ptr @.str59)
%t384 = icmp ne i32 %t383, 0
%t385 = zext i1 %t384 to i32
store i32 %t385, ptr %t293
br label %scend82
scend82:
%t386 = load i32, ptr %t293
%t387 = icmp ne i32 %t386, 0
%t388 = zext i1 %t387 to i32
store i32 %t388, ptr %t292
br i1 %t387, label %scend84, label %sc83
sc83:
%t389 = load ptr, ptr %t1
%t390 = getelementptr inbounds %Cmp_Node, ptr %t389, i32 0, i32 1
%t391 = load ptr, ptr %t390
%t392 = call i32 @fn_str_eq(ptr %t391, ptr @.str60)
%t393 = icmp ne i32 %t392, 0
%t394 = zext i1 %t393 to i32
store i32 %t394, ptr %t292
br label %scend84
scend84:
%t395 = load i32, ptr %t292
%t396 = icmp ne i32 %t395, 0
%t397 = zext i1 %t396 to i32
store i32 %t397, ptr %t291
br i1 %t396, label %scend86, label %sc85
sc85:
%t398 = load ptr, ptr %t1
%t399 = getelementptr inbounds %Cmp_Node, ptr %t398, i32 0, i32 1
%t400 = load ptr, ptr %t399
%t401 = call i32 @fn_str_eq(ptr %t400, ptr @.str61)
%t402 = icmp ne i32 %t401, 0
%t403 = zext i1 %t402 to i32
store i32 %t403, ptr %t291
br label %scend86
scend86:
%t404 = load i32, ptr %t291
%t405 = icmp ne i32 %t404, 0
%t406 = zext i1 %t405 to i32
store i32 %t406, ptr %t290
br i1 %t405, label %scend88, label %sc87
sc87:
%t407 = load ptr, ptr %t1
%t408 = getelementptr inbounds %Cmp_Node, ptr %t407, i32 0, i32 1
%t409 = load ptr, ptr %t408
%t410 = call i32 @fn_str_eq(ptr %t409, ptr @.str62)
%t411 = icmp ne i32 %t410, 0
%t412 = zext i1 %t411 to i32
store i32 %t412, ptr %t290
br label %scend88
scend88:
%t413 = load i32, ptr %t290
%t414 = icmp ne i32 %t413, 0
%t415 = zext i1 %t414 to i32
store i32 %t415, ptr %t289
br i1 %t414, label %scend90, label %sc89
sc89:
%t416 = load ptr, ptr %t1
%t417 = getelementptr inbounds %Cmp_Node, ptr %t416, i32 0, i32 1
%t418 = load ptr, ptr %t417
%t419 = call i32 @fn_str_eq(ptr %t418, ptr @.str63)
%t420 = icmp ne i32 %t419, 0
%t421 = zext i1 %t420 to i32
store i32 %t421, ptr %t289
br label %scend90
scend90:
%t422 = load i32, ptr %t289
%t423 = icmp ne i32 %t422, 0
%t424 = zext i1 %t423 to i32
store i32 %t424, ptr %t288
br i1 %t423, label %scend92, label %sc91
sc91:
%t425 = load ptr, ptr %t1
%t426 = getelementptr inbounds %Cmp_Node, ptr %t425, i32 0, i32 1
%t427 = load ptr, ptr %t426
%t428 = call i32 @fn_str_eq(ptr %t427, ptr @.str64)
%t429 = icmp ne i32 %t428, 0
%t430 = zext i1 %t429 to i32
store i32 %t430, ptr %t288
br label %scend92
scend92:
%t431 = load i32, ptr %t288
%t432 = icmp ne i32 %t431, 0
%t433 = zext i1 %t432 to i32
store i32 %t433, ptr %t287
br i1 %t432, label %scend94, label %sc93
sc93:
%t434 = load ptr, ptr %t1
%t435 = getelementptr inbounds %Cmp_Node, ptr %t434, i32 0, i32 1
%t436 = load ptr, ptr %t435
%t437 = call i32 @fn_str_eq(ptr %t436, ptr @.str65)
%t438 = icmp ne i32 %t437, 0
%t439 = zext i1 %t438 to i32
store i32 %t439, ptr %t287
br label %scend94
scend94:
%t440 = load i32, ptr %t287
%t441 = icmp ne i32 %t440, 0
%t442 = zext i1 %t441 to i32
store i32 %t442, ptr %t286
br i1 %t441, label %scend96, label %sc95
sc95:
%t443 = load ptr, ptr %t1
%t444 = getelementptr inbounds %Cmp_Node, ptr %t443, i32 0, i32 1
%t445 = load ptr, ptr %t444
%t446 = call i32 @fn_str_eq(ptr %t445, ptr @.str66)
%t447 = icmp ne i32 %t446, 0
%t448 = zext i1 %t447 to i32
store i32 %t448, ptr %t286
br label %scend96
scend96:
%t449 = load i32, ptr %t286
%t450 = icmp ne i32 %t449, 0
%t451 = zext i1 %t450 to i32
store i32 %t451, ptr %t285
br i1 %t450, label %scend98, label %sc97
sc97:
%t452 = load ptr, ptr %t1
%t453 = getelementptr inbounds %Cmp_Node, ptr %t452, i32 0, i32 1
%t454 = load ptr, ptr %t453
%t455 = call i32 @fn_str_eq(ptr %t454, ptr @.str67)
%t456 = icmp ne i32 %t455, 0
%t457 = zext i1 %t456 to i32
store i32 %t457, ptr %t285
br label %scend98
scend98:
%t458 = load i32, ptr %t285
%t459 = icmp ne i32 %t458, 0
%t460 = zext i1 %t459 to i32
store i32 %t460, ptr %t284
br i1 %t459, label %scend100, label %sc99
sc99:
%t461 = load ptr, ptr %t1
%t462 = getelementptr inbounds %Cmp_Node, ptr %t461, i32 0, i32 1
%t463 = load ptr, ptr %t462
%t464 = call i32 @fn_str_eq(ptr %t463, ptr @.str68)
%t465 = icmp ne i32 %t464, 0
%t466 = zext i1 %t465 to i32
store i32 %t466, ptr %t284
br label %scend100
scend100:
%t467 = load i32, ptr %t284
%t468 = icmp ne i32 %t467, 0
%t469 = zext i1 %t468 to i32
store i32 %t469, ptr %t283
br i1 %t468, label %scend102, label %sc101
sc101:
%t470 = load ptr, ptr %t1
%t471 = getelementptr inbounds %Cmp_Node, ptr %t470, i32 0, i32 1
%t472 = load ptr, ptr %t471
%t473 = call i32 @fn_str_eq(ptr %t472, ptr @.str69)
%t474 = icmp ne i32 %t473, 0
%t475 = zext i1 %t474 to i32
store i32 %t475, ptr %t283
br label %scend102
scend102:
%t476 = load i32, ptr %t283
%t477 = icmp ne i32 %t476, 0
%t478 = zext i1 %t477 to i32
store i32 %t478, ptr %t282
br i1 %t477, label %scend104, label %sc103
sc103:
%t479 = load ptr, ptr %t1
%t480 = getelementptr inbounds %Cmp_Node, ptr %t479, i32 0, i32 1
%t481 = load ptr, ptr %t480
%t482 = call i32 @fn_str_eq(ptr %t481, ptr @.str70)
%t483 = icmp ne i32 %t482, 0
%t484 = zext i1 %t483 to i32
store i32 %t484, ptr %t282
br label %scend104
scend104:
%t485 = load i32, ptr %t282
%t486 = icmp ne i32 %t485, 0
%t487 = zext i1 %t486 to i32
store i32 %t487, ptr %t281
br i1 %t486, label %scend106, label %sc105
sc105:
%t488 = load ptr, ptr %t1
%t489 = getelementptr inbounds %Cmp_Node, ptr %t488, i32 0, i32 1
%t490 = load ptr, ptr %t489
%t491 = call i32 @fn_str_eq(ptr %t490, ptr @.str71)
%t492 = icmp ne i32 %t491, 0
%t493 = zext i1 %t492 to i32
store i32 %t493, ptr %t281
br label %scend106
scend106:
%t494 = load i32, ptr %t281
%t495 = icmp ne i32 %t494, 0
%t496 = zext i1 %t495 to i32
store i32 %t496, ptr %t280
br i1 %t495, label %scend108, label %sc107
sc107:
%t497 = load ptr, ptr %t1
%t498 = getelementptr inbounds %Cmp_Node, ptr %t497, i32 0, i32 1
%t499 = load ptr, ptr %t498
%t500 = call i32 @fn_str_eq(ptr %t499, ptr @.str72)
%t501 = icmp ne i32 %t500, 0
%t502 = zext i1 %t501 to i32
store i32 %t502, ptr %t280
br label %scend108
scend108:
%t503 = load i32, ptr %t280
%t504 = icmp ne i32 %t503, 0
%t505 = zext i1 %t504 to i32
store i32 %t505, ptr %t258
br label %scend64
scend64:
%t506 = load i32, ptr %t258
%t507 = icmp ne i32 %t506, 0
br i1 %t507, label %then109, label %ifend111
then109:
store i32 1, ptr @g_g_uses_input
br label %ifend111
ifend111:
%t510 = load ptr, ptr %t1
%t511 = getelementptr inbounds %Cmp_Node, ptr %t510, i32 0, i32 4
%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, 33
%t516 = zext i1 %t515 to i32
%t517 = icmp ne i32 %t516, 0
%t518 = zext i1 %t517 to i32
store i32 %t518, ptr %t509
br i1 %t517, label %sc112, label %scend113
sc112:
%t519 = load ptr, ptr %t1
%t520 = getelementptr inbounds %Cmp_Node, ptr %t519, i32 0, i32 4
%t521 = load ptr, ptr %t520
%t522 = getelementptr inbounds %Cmp_Node, ptr %t521, i32 0, i32 1
%t523 = load ptr, ptr %t522
%t524 = call i32 @fn_str_eq(ptr %t523, ptr @.str73)
%t525 = icmp ne i32 %t524, 0
%t526 = zext i1 %t525 to i32
store i32 %t526, ptr %t509
br label %scend113
scend113:
%t527 = load i32, ptr %t509
%t528 = icmp ne i32 %t527, 0
%t529 = zext i1 %t528 to i32
store i32 %t529, ptr %t508
br i1 %t528, label %sc114, label %scend115
sc114:
%t533 = load ptr, ptr %t1
%t534 = getelementptr inbounds %Cmp_Node, ptr %t533, i32 0, i32 1
%t535 = load ptr, ptr %t534
%t536 = call i32 @fn_str_eq(ptr %t535, ptr @.str74)
%t537 = icmp ne i32 %t536, 0
%t538 = zext i1 %t537 to i32
store i32 %t538, ptr %t532
br i1 %t537, label %scend117, label %sc116
sc116:
%t539 = load ptr, ptr %t1
%t540 = getelementptr inbounds %Cmp_Node, ptr %t539, i32 0, i32 1
%t541 = load ptr, ptr %t540
%t542 = call i32 @fn_str_eq(ptr %t541, ptr @.str75)
%t543 = icmp ne i32 %t542, 0
%t544 = zext i1 %t543 to i32
store i32 %t544, ptr %t532
br label %scend117
scend117:
%t545 = load i32, ptr %t532
%t546 = icmp ne i32 %t545, 0
%t547 = zext i1 %t546 to i32
store i32 %t547, ptr %t531
br i1 %t546, label %scend119, label %sc118
sc118:
%t548 = load ptr, ptr %t1
%t549 = getelementptr inbounds %Cmp_Node, ptr %t548, i32 0, i32 1
%t550 = load ptr, ptr %t549
%t551 = call i32 @fn_str_eq(ptr %t550, ptr @.str76)
%t552 = icmp ne i32 %t551, 0
%t553 = zext i1 %t552 to i32
store i32 %t553, ptr %t531
br label %scend119
scend119:
%t554 = load i32, ptr %t531
%t555 = icmp ne i32 %t554, 0
%t556 = zext i1 %t555 to i32
store i32 %t556, ptr %t530
br i1 %t555, label %scend121, label %sc120
sc120:
%t557 = load ptr, ptr %t1
%t558 = getelementptr inbounds %Cmp_Node, ptr %t557, i32 0, i32 1
%t559 = load ptr, ptr %t558
%t560 = call i32 @fn_str_eq(ptr %t559, ptr @.str77)
%t561 = icmp ne i32 %t560, 0
%t562 = zext i1 %t561 to i32
store i32 %t562, ptr %t530
br label %scend121
scend121:
%t563 = load i32, ptr %t530
%t564 = icmp ne i32 %t563, 0
%t565 = zext i1 %t564 to i32
store i32 %t565, ptr %t508
br label %scend115
scend115:
%t566 = load i32, ptr %t508
%t567 = icmp ne i32 %t566, 0
br i1 %t567, label %then122, label %ifend124
then122:
store i32 1, ptr @g_g_uses_anim_rt
br label %ifend124
ifend124:
%t570 = load ptr, ptr %t1
%t571 = getelementptr inbounds %Cmp_Node, ptr %t570, i32 0, i32 4
%t572 = load ptr, ptr %t571
%t573 = getelementptr inbounds %Cmp_Node, ptr %t572, i32 0, i32 0
%t574 = load i32, ptr %t573
%t575 = icmp eq i32 %t574, 33
%t576 = zext i1 %t575 to i32
%t577 = icmp ne i32 %t576, 0
%t578 = zext i1 %t577 to i32
store i32 %t578, ptr %t569
br i1 %t577, label %sc125, label %scend126
sc125:
%t579 = load ptr, ptr %t1
%t580 = getelementptr inbounds %Cmp_Node, ptr %t579, i32 0, i32 4
%t581 = load ptr, ptr %t580
%t582 = getelementptr inbounds %Cmp_Node, ptr %t581, i32 0, i32 1
%t583 = load ptr, ptr %t582
%t584 = call i32 @fn_str_eq(ptr %t583, ptr @.str78)
%t585 = icmp ne i32 %t584, 0
%t586 = zext i1 %t585 to i32
store i32 %t586, ptr %t569
br label %scend126
scend126:
%t587 = load i32, ptr %t569
%t588 = icmp ne i32 %t587, 0
%t589 = zext i1 %t588 to i32
store i32 %t589, ptr %t568
br i1 %t588, label %sc127, label %scend128
sc127:
%t590 = load ptr, ptr %t1
%t591 = getelementptr inbounds %Cmp_Node, ptr %t590, i32 0, i32 1
%t592 = load ptr, ptr %t591
%t593 = call i32 @fn_str_eq(ptr %t592, ptr @.str79)
%t594 = icmp ne i32 %t593, 0
%t595 = zext i1 %t594 to i32
store i32 %t595, ptr %t568
br label %scend128
scend128:
%t596 = load i32, ptr %t568
%t597 = icmp ne i32 %t596, 0
br i1 %t597, label %then129, label %ifend131
then129:
store i32 1, ptr @g_g_uses_anim_rt
br label %ifend131
ifend131:
%t599 = load ptr, ptr %t1
%t600 = getelementptr inbounds %Cmp_Node, ptr %t599, i32 0, i32 4
%t601 = load ptr, ptr %t600
%t602 = getelementptr inbounds %Cmp_Node, ptr %t601, i32 0, i32 0
%t603 = load i32, ptr %t602
%t604 = icmp eq i32 %t603, 33
%t605 = zext i1 %t604 to i32
%t606 = icmp ne i32 %t605, 0
%t607 = zext i1 %t606 to i32
store i32 %t607, ptr %t598
br i1 %t606, label %sc132, label %scend133
sc132:
%t608 = load ptr, ptr %t1
%t609 = getelementptr inbounds %Cmp_Node, ptr %t608, i32 0, i32 4
%t610 = load ptr, ptr %t609
%t611 = getelementptr inbounds %Cmp_Node, ptr %t610, i32 0, i32 1
%t612 = load ptr, ptr %t611
%t613 = call i32 @fn_str_eq(ptr %t612, ptr @.str80)
%t614 = icmp ne i32 %t613, 0
%t615 = zext i1 %t614 to i32
store i32 %t615, ptr %t598
br label %scend133
scend133:
%t616 = load i32, ptr %t598
%t617 = icmp ne i32 %t616, 0
br i1 %t617, label %then134, label %ifend136
then134:
store i32 1, ptr @g_g_uses_audio
br label %ifend136
ifend136:
%t620 = load ptr, ptr %t1
%t621 = getelementptr inbounds %Cmp_Node, ptr %t620, i32 0, i32 4
%t622 = load ptr, ptr %t621
%t623 = getelementptr inbounds %Cmp_Node, ptr %t622, i32 0, i32 0
%t624 = load i32, ptr %t623
%t625 = icmp eq i32 %t624, 33
%t626 = zext i1 %t625 to i32
%t627 = icmp ne i32 %t626, 0
%t628 = zext i1 %t627 to i32
store i32 %t628, ptr %t619
br i1 %t627, label %sc137, label %scend138
sc137:
%t629 = load ptr, ptr %t1
%t630 = getelementptr inbounds %Cmp_Node, ptr %t629, i32 0, i32 4
%t631 = load ptr, ptr %t630
%t632 = getelementptr inbounds %Cmp_Node, ptr %t631, i32 0, i32 1
%t633 = load ptr, ptr %t632
%t634 = call i32 @fn_str_eq(ptr %t633, ptr @.str81)
%t635 = icmp ne i32 %t634, 0
%t636 = zext i1 %t635 to i32
store i32 %t636, ptr %t619
br label %scend138
scend138:
%t637 = load i32, ptr %t619
%t638 = icmp ne i32 %t637, 0
%t639 = zext i1 %t638 to i32
store i32 %t639, ptr %t618
br i1 %t638, label %sc139, label %scend140
sc139:
%t645 = load ptr, ptr %t1
%t646 = getelementptr inbounds %Cmp_Node, ptr %t645, i32 0, i32 1
%t647 = load ptr, ptr %t646
%t648 = call i32 @fn_str_eq(ptr %t647, ptr @.str82)
%t649 = icmp ne i32 %t648, 0
%t650 = zext i1 %t649 to i32
store i32 %t650, ptr %t644
br i1 %t649, label %scend142, label %sc141
sc141:
%t651 = load ptr, ptr %t1
%t652 = getelementptr inbounds %Cmp_Node, ptr %t651, i32 0, i32 1
%t653 = load ptr, ptr %t652
%t654 = call i32 @fn_str_eq(ptr %t653, ptr @.str83)
%t655 = icmp ne i32 %t654, 0
%t656 = zext i1 %t655 to i32
store i32 %t656, ptr %t644
br label %scend142
scend142:
%t657 = load i32, ptr %t644
%t658 = icmp ne i32 %t657, 0
%t659 = zext i1 %t658 to i32
store i32 %t659, ptr %t643
br i1 %t658, label %scend144, label %sc143
sc143:
%t660 = load ptr, ptr %t1
%t661 = getelementptr inbounds %Cmp_Node, ptr %t660, i32 0, i32 1
%t662 = load ptr, ptr %t661
%t663 = call i32 @fn_str_eq(ptr %t662, ptr @.str84)
%t664 = icmp ne i32 %t663, 0
%t665 = zext i1 %t664 to i32
store i32 %t665, ptr %t643
br label %scend144
scend144:
%t666 = load i32, ptr %t643
%t667 = icmp ne i32 %t666, 0
%t668 = zext i1 %t667 to i32
store i32 %t668, ptr %t642
br i1 %t667, label %scend146, label %sc145
sc145:
%t669 = load ptr, ptr %t1
%t670 = getelementptr inbounds %Cmp_Node, ptr %t669, i32 0, i32 1
%t671 = load ptr, ptr %t670
%t672 = call i32 @fn_str_eq(ptr %t671, ptr @.str85)
%t673 = icmp ne i32 %t672, 0
%t674 = zext i1 %t673 to i32
store i32 %t674, ptr %t642
br label %scend146
scend146:
%t675 = load i32, ptr %t642
%t676 = icmp ne i32 %t675, 0
%t677 = zext i1 %t676 to i32
store i32 %t677, ptr %t641
br i1 %t676, label %scend148, label %sc147
sc147:
%t678 = load ptr, ptr %t1
%t679 = getelementptr inbounds %Cmp_Node, ptr %t678, i32 0, i32 1
%t680 = load ptr, ptr %t679
%t681 = call i32 @fn_str_eq(ptr %t680, ptr @.str86)
%t682 = icmp ne i32 %t681, 0
%t683 = zext i1 %t682 to i32
store i32 %t683, ptr %t641
br label %scend148
scend148:
%t684 = load i32, ptr %t641
%t685 = icmp ne i32 %t684, 0
%t686 = zext i1 %t685 to i32
store i32 %t686, ptr %t640
br i1 %t685, label %scend150, label %sc149
sc149:
%t687 = load ptr, ptr %t1
%t688 = getelementptr inbounds %Cmp_Node, ptr %t687, i32 0, i32 1
%t689 = load ptr, ptr %t688
%t690 = call i32 @fn_str_eq(ptr %t689, ptr @.str87)
%t691 = icmp ne i32 %t690, 0
%t692 = zext i1 %t691 to i32
store i32 %t692, ptr %t640
br label %scend150
scend150:
%t693 = load i32, ptr %t640
%t694 = icmp ne i32 %t693, 0
%t695 = zext i1 %t694 to i32
store i32 %t695, ptr %t618
br label %scend140
scend140:
%t696 = load i32, ptr %t618
%t697 = icmp ne i32 %t696, 0
br i1 %t697, label %then151, label %ifend153
then151:
store i32 1, ptr @g_g_uses_tween_rt
br label %ifend153
ifend153:
br label %ifend5
else4:
%t698 = call i32 @fn_is_op(ptr @.str88)
%t699 = icmp ne i32 %t698, 0
br i1 %t699, label %then154, label %else155
then154:
%t700 = load i32, ptr @g_pi
%t701 = add i32 %t700, 1
store i32 %t701, ptr @g_pi
%t702 = call ptr @fn_expr()
store ptr %t702, ptr %t703
%t704 = call i32 @fn_is_op(ptr @.str89)
%t705 = icmp ne i32 %t704, 0
br i1 %t705, label %then157, label %else158
then157:
%t706 = load i32, ptr @g_pi
%t707 = add i32 %t706, 1
store i32 %t707, ptr @g_pi
%t708 = call ptr @fn_node(i32 44)
store ptr %t708, ptr %t709
%t710 = load ptr, ptr %t709
%t711 = getelementptr inbounds %Cmp_Node, ptr %t710, i32 0, i32 4
%t712 = load ptr, ptr %t1
store ptr %t712, ptr %t711
%t713 = load ptr, ptr %t709
%t714 = getelementptr inbounds %Cmp_Node, ptr %t713, i32 0, i32 5
%t715 = load ptr, ptr %t703
store ptr %t715, ptr %t714
%t716 = load ptr, ptr %t709
%t717 = getelementptr inbounds %Cmp_Node, ptr %t716, i32 0, i32 6
%t718 = call ptr @fn_expr()
store ptr %t718, ptr %t717
call void @fn_eat_op(ptr @.str90)
%t719 = load ptr, ptr %t709
store ptr %t719, ptr %t1
br label %ifend159
else158:
%t720 = call ptr @fn_node(i32 36)
store ptr %t720, ptr %t721
%t722 = load ptr, ptr %t721
%t723 = getelementptr inbounds %Cmp_Node, ptr %t722, i32 0, i32 4
%t724 = load ptr, ptr %t1
store ptr %t724, ptr %t723
%t725 = load ptr, ptr %t721
%t726 = getelementptr inbounds %Cmp_Node, ptr %t725, i32 0, i32 5
%t727 = load ptr, ptr %t703
store ptr %t727, ptr %t726
call void @fn_eat_op(ptr @.str91)
%t728 = load ptr, ptr %t721
store ptr %t728, ptr %t1
br label %ifend159
ifend159:
br label %ifend156
else155:
%t729 = call i32 @fn_is_op(ptr @.str92)
%t730 = icmp ne i32 %t729, 0
br i1 %t730, label %then160, label %else161
then160:
%t731 = call ptr @fn_node(i32 34)
store ptr %t731, ptr %t732
%t733 = load ptr, ptr %t732
%t734 = getelementptr inbounds %Cmp_Node, ptr %t733, i32 0, i32 4
%t735 = load ptr, ptr %t1
store ptr %t735, ptr %t734
%t736 = load ptr, ptr %t732
%t737 = getelementptr inbounds %Cmp_Node, ptr %t736, i32 0, i32 8
%t738 = load ptr, ptr @g_toks
%t739 = getelementptr inbounds %LSlice, ptr %t738, i32 0, i32 0
%t740 = load ptr, ptr %t739
%t741 = load i32, ptr @g_pi
%t742 = getelementptr inbounds ptr, ptr %t740, i32 %t741
%t743 = load ptr, ptr %t742
%t744 = getelementptr inbounds %Cmp_Tok, ptr %t743, i32 0, i32 3
%t745 = load i32, ptr %t744
store i32 %t745, ptr %t737
%t746 = load ptr, ptr %t732
call void @fn_args_call(ptr %t746)
%t747 = load ptr, ptr %t732
store ptr %t747, ptr %t1
br label %ifend162
else161:
br label %wend2
ifend162:
br label %ifend156
ifend156:
br label %ifend5
ifend5:
br label %wcond0
wend2:
%t748 = load ptr, ptr %t1
store ptr %t748, ptr %retval
br label %ret
ret:
%t749 = load ptr, ptr %retval
ret ptr %t749
}
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 @.str93)
%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 @.str94, 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 @.str95)
%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 @.str96, 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 @.str97)
%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 @.str98, ptr %t31
%t32 = load ptr, ptr %t29
%t33 = getelementptr inbounds %Cmp_Node, ptr %t32, i32 0, i32 4
%t34 = call ptr @fn_p_unary()
store ptr %t34, ptr %t33
%t35 = load ptr, ptr %t29
store ptr %t35, ptr %retval
br label %ret
ifend8:
%t36 = call ptr @fn_p_postfix()
store ptr %t36, ptr %retval
br label %ret
ret:
%t37 = load ptr, ptr %retval
ret ptr %t37
}
define ptr @fn_mkbin(ptr %arg_op, ptr %arg_l, ptr %arg_r) {
entry:
%retval = alloca ptr
%t0 = alloca ptr
%t1 = alloca ptr
%t2 = alloca ptr
%t4 = alloca ptr
store ptr %arg_op, ptr %t0
store ptr %arg_l, ptr %t1
store ptr %arg_r, ptr %t2
%t3 = call ptr @fn_node(i32 37)
store ptr %t3, ptr %t4
%t5 = load ptr, ptr %t4
%t6 = getelementptr inbounds %Cmp_Node, ptr %t5, i32 0, i32 1
%t7 = load ptr, ptr %t0
store ptr %t7, ptr %t6
%t8 = load ptr, ptr %t4
%t9 = getelementptr inbounds %Cmp_Node, ptr %t8, i32 0, i32 4
%t10 = load ptr, ptr %t1
store ptr %t10, ptr %t9
%t11 = load ptr, ptr %t4
%t12 = getelementptr inbounds %Cmp_Node, ptr %t11, i32 0, i32 5
%t13 = load ptr, ptr %t2
store ptr %t13, ptr %t12
%t14 = load ptr, ptr %t4
store ptr %t14, ptr %retval
br label %ret
ret:
%t15 = load ptr, ptr %retval
ret ptr %t15
}
define ptr @fn_p_mul() {
entry:
%retval = alloca ptr
%t1 = alloca ptr
%t2 = alloca i32
%t3 = alloca i32
%t4 = alloca i32
%t5 = alloca i32
%t6 = alloca i32
%t47 = alloca ptr
%t0 = call ptr @fn_p_unary()
store ptr %t0, ptr %t1
br label %wcond0
wcond0:
%t7 = call i32 @fn_is_op(ptr @.str99)
%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 @.str100)
%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 @.str101)
%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 @.str102)
%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 @.str103)
%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 @.str104)
%t35 = icmp ne i32 %t34, 0
%t36 = zext i1 %t35 to i32
store i32 %t36, ptr %t2
br label %scend12
scend12:
%t37 = load i32, ptr %t2
%t38 = icmp ne i32 %t37, 0
br i1 %t38, label %wbody1, label %wend2
wbody1:
%t39 = load ptr, ptr @g_toks
%t40 = getelementptr inbounds %LSlice, ptr %t39, i32 0, i32 0
%t41 = load ptr, ptr %t40
%t42 = load i32, ptr @g_pi
%t43 = getelementptr inbounds ptr, ptr %t41, i32 %t42
%t44 = load ptr, ptr %t43
%t45 = getelementptr inbounds %Cmp_Tok, ptr %t44, i32 0, i32 1
%t46 = load ptr, ptr %t45
store ptr %t46, ptr %t47
%t48 = load i32, ptr @g_pi
%t49 = add i32 %t48, 1
store i32 %t49, ptr @g_pi
%t50 = load ptr, ptr %t47
%t51 = load ptr, ptr %t1
%t52 = call ptr @fn_p_unary()
%t53 = call ptr @fn_mkbin(ptr %t50, ptr %t51, ptr %t52)
store ptr %t53, ptr %t1
br label %wcond0
wend2:
%t54 = load ptr, ptr %t1
store ptr %t54, ptr %retval
br label %ret
ret:
%t55 = load ptr, ptr %retval
ret ptr %t55
}
define ptr @fn_p_add() {
entry:
%retval = alloca ptr
%t1 = alloca ptr
%t2 = alloca i32
%t3 = alloca i32
%t4 = alloca i32
%t33 = alloca ptr
%t0 = call ptr @fn_p_mul()
store ptr %t0, ptr %t1
br label %wcond0
wcond0:
%t5 = call i32 @fn_is_op(ptr @.str105)
%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 @.str106)
%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 @.str107)
%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 @.str108)
%t21 = icmp ne i32 %t20, 0
%t22 = zext i1 %t21 to i32
store i32 %t22, ptr %t2
br label %scend8
scend8:
%t23 = load i32, ptr %t2
%t24 = icmp ne i32 %t23, 0
br i1 %t24, label %wbody1, label %wend2
wbody1:
%t25 = load ptr, ptr @g_toks
%t26 = getelementptr inbounds %LSlice, ptr %t25, i32 0, i32 0
%t27 = load ptr, ptr %t26
%t28 = load i32, ptr @g_pi
%t29 = getelementptr inbounds ptr, ptr %t27, i32 %t28
%t30 = load ptr, ptr %t29
%t31 = getelementptr inbounds %Cmp_Tok, ptr %t30, i32 0, i32 1
%t32 = load ptr, ptr %t31
store ptr %t32, ptr %t33
%t34 = load i32, ptr @g_pi
%t35 = add i32 %t34, 1
store i32 %t35, ptr @g_pi
%t36 = load ptr, ptr %t33
%t37 = load ptr, ptr %t1
%t38 = call ptr @fn_p_mul()
%t39 = call ptr @fn_mkbin(ptr %t36, ptr %t37, ptr %t38)
store ptr %t39, ptr %t1
br label %wcond0
wend2:
%t40 = load ptr, ptr %t1
store ptr %t40, ptr %retval
br label %ret
ret:
%t41 = load ptr, ptr %retval
ret ptr %t41
}
define ptr @fn_p_cmp() {
entry:
%retval = alloca ptr
%t1 = alloca ptr
%t2 = alloca i32
%t3 = alloca i32
%t4 = alloca i32
%t5 = alloca i32
%t6 = alloca i32
%t47 = alloca ptr
%t0 = call ptr @fn_p_add()
store ptr %t0, ptr %t1
br label %wcond0
wcond0:
%t7 = call i32 @fn_is_op(ptr @.str109)
%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 @.str110)
%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 @.str111)
%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 @.str112)
%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 @.str113)
%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 @.str114)
%t35 = icmp ne i32 %t34, 0
%t36 = zext i1 %t35 to i32
store i32 %t36, ptr %t2
br label %scend12
scend12:
%t37 = load i32, ptr %t2
%t38 = icmp ne i32 %t37, 0
br i1 %t38, label %wbody1, label %wend2
wbody1:
%t39 = load ptr, ptr @g_toks
%t40 = getelementptr inbounds %LSlice, ptr %t39, i32 0, i32 0
%t41 = load ptr, ptr %t40
%t42 = load i32, ptr @g_pi
%t43 = getelementptr inbounds ptr, ptr %t41, i32 %t42
%t44 = load ptr, ptr %t43
%t45 = getelementptr inbounds %Cmp_Tok, ptr %t44, i32 0, i32 1
%t46 = load ptr, ptr %t45
store ptr %t46, ptr %t47
%t48 = load i32, ptr @g_pi
%t49 = add i32 %t48, 1
store i32 %t49, ptr @g_pi
%t50 = load ptr, ptr %t47
%t51 = load ptr, ptr %t1
%t52 = call ptr @fn_p_add()
%t53 = call ptr @fn_mkbin(ptr %t50, ptr %t51, ptr %t52)
store ptr %t53, ptr %t1
br label %wcond0
wend2:
%t54 = load ptr, ptr %t1
store ptr %t54, ptr %retval
br label %ret
ret:
%t55 = load ptr, ptr %retval
ret ptr %t55
}
define ptr @fn_p_and() {
entry:
%retval = alloca ptr
%t1 = alloca ptr
%t0 = call ptr @fn_p_cmp()
store ptr %t0, ptr %t1
br label %wcond0
wcond0:
%t2 = call i32 @fn_is_id(ptr @.str115)
%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 @.str116, 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 @.str117)
%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 @.str118, ptr %t6, ptr %t7)
store ptr %t8, ptr %t1
br label %wcond0
wend2:
%t9 = load ptr, ptr %t1
store ptr %t9, ptr %retval
br label %ret
ret:
%t10 = load ptr, ptr %retval
ret ptr %t10
}
define ptr @fn_record() {
entry:
%retval = alloca ptr
%t1 = alloca ptr
%t6 = alloca ptr
call void @fn_eat_op(ptr @.str119)
%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 @.str120)
%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 @.str121)
%t10 = load ptr, ptr %t6
%t11 = getelementptr inbounds %Cmp_Node, ptr %t10, i32 0, i32 4
%t12 = call ptr @fn_expr()
store ptr %t12, ptr %t11
%t13 = load ptr, ptr %t1
%t14 = getelementptr inbounds %Cmp_Node, ptr %t13, i32 0, i32 7
%t15 = load ptr, ptr %t14
%t16 = getelementptr inbounds %LSlice, ptr %t15, i32 0, i32 1
%t17 = getelementptr inbounds %LSlice, ptr %t15, i32 0, i32 2
%t18 = getelementptr inbounds %LSlice, ptr %t15, i32 0, i32 0
%t19 = load i32, ptr %t16
%t20 = load i32, ptr %t17
%t21 = icmp sge i32 %t19, %t20
br i1 %t21, label %grow6, label %put7
grow6:
%t22 = mul i32 %t20, 2
%t23 = icmp eq i32 %t20, 0
%t24 = select i1 %t23, i32 8, i32 %t22
%t25 = getelementptr ptr, ptr null, i32 1
%t26 = ptrtoint ptr %t25 to i64
%t27 = zext i32 %t24 to i64
%t28 = mul i64 %t27, %t26
%t29 = load ptr, ptr %t18
%t30 = call ptr @realloc(ptr %t29, i64 %t28)
store ptr %t30, ptr %t18
store i32 %t24, ptr %t17
br label %put7
put7:
%t31 = load ptr, ptr %t6
%t32 = load ptr, ptr %t18
%t33 = getelementptr inbounds ptr, ptr %t32, i32 %t19
store ptr %t31, ptr %t33
%t34 = add i32 %t19, 1
store i32 %t34, ptr %t16
%t35 = call i32 @fn_is_op(ptr @.str122)
%t36 = icmp ne i32 %t35, 0
br i1 %t36, label %then8, label %ifend10
then8:
%t37 = load i32, ptr @g_pi
%t38 = add i32 %t37, 1
store i32 %t38, ptr @g_pi
br label %ifend10
ifend10:
br label %wcond0
wend2:
call void @fn_eat_op(ptr @.str123)
%t39 = load ptr, ptr %t1
store ptr %t39, ptr %retval
br label %ret
ret:
%t40 = load ptr, ptr %retval
ret ptr %t40
}
define ptr @fn_block() {
entry:
%retval = alloca ptr
%t1 = alloca ptr
%t37 = alloca i32
call void @fn_skipnl()
call void @fn_eat_op(ptr @.str124)
%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 @.str125)
%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 = 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 %grow6, label %put7
grow6:
%t14 = mul i32 %t12, 2
%t15 = icmp eq i32 %t12, 0
%t16 = select i1 %t15, i32 8, i32 %t14
%t17 = getelementptr ptr, ptr null, i32 1
%t18 = ptrtoint ptr %t17 to i64
%t19 = zext i32 %t16 to i64
%t20 = mul i64 %t19, %t18
%t21 = load ptr, ptr %t10
%t22 = call ptr @realloc(ptr %t21, i64 %t20)
store ptr %t22, ptr %t10
store i32 %t16, ptr %t9
br label %put7
put7:
%t23 = call ptr @fn_stmt()
%t24 = load ptr, ptr %t10
%t25 = getelementptr inbounds ptr, ptr %t24, i32 %t11
store ptr %t23, ptr %t25
%t26 = add i32 %t11, 1
store i32 %t26, ptr %t8
%t27 = load ptr, ptr @g_toks
%t28 = getelementptr inbounds %LSlice, ptr %t27, i32 0, i32 0
%t29 = load ptr, ptr %t28
%t30 = load i32, ptr @g_pi
%t31 = getelementptr inbounds ptr, ptr %t29, i32 %t30
%t32 = load ptr, ptr %t31
%t33 = getelementptr inbounds %Cmp_Tok, ptr %t32, i32 0, i32 0
%t34 = load i32, ptr %t33
%t35 = icmp eq i32 %t34, 4
%t36 = zext i1 %t35 to i32
store i32 %t36, ptr %t37
%t38 = call i32 @fn_is_op(ptr @.str126)
%t39 = icmp ne i32 %t38, 0
br i1 %t39, label %then8, label %ifend10
then8:
store i32 1, ptr %t37
br label %ifend10
ifend10:
%t40 = load i32, ptr %t37
%t41 = icmp eq i32 %t40, 0
%t42 = zext i1 %t41 to i32
%t43 = icmp ne i32 %t42, 0
br i1 %t43, label %then11, label %ifend13
then11:
call void @fn_perr(ptr @.str127)
br label %ifend13
ifend13:
br label %wcond0
wend2:
call void @fn_eat_op(ptr @.str128)
%t44 = load ptr, ptr %t1
store ptr %t44, ptr %retval
br label %ret
ret:
%t45 = load ptr, ptr %retval
ret ptr %t45
}
define ptr @fn_stmt() {
entry:
%retval = alloca ptr
%t8 = alloca i32
%t10 = alloca ptr
%t0 = load ptr, ptr @g_toks
%t1 = getelementptr inbounds %LSlice, ptr %t0, i32 0, i32 0
%t2 = load ptr, ptr %t1
%t3 = load i32, ptr @g_pi
%t4 = getelementptr inbounds ptr, ptr %t2, i32 %t3
%t5 = load ptr, ptr %t4
%t6 = getelementptr inbounds %Cmp_Tok, ptr %t5, i32 0, i32 3
%t7 = load i32, ptr %t6
store i32 %t7, ptr %t8
%t9 = call ptr @fn_stmt_body()
store ptr %t9, ptr %t10
%t11 = load ptr, ptr %t10
%t12 = getelementptr inbounds %Cmp_Node, ptr %t11, i32 0, i32 8
%t13 = load i32, ptr %t12
%t14 = icmp eq i32 %t13, 0
%t15 = zext i1 %t14 to i32
%t16 = icmp ne i32 %t15, 0
br i1 %t16, label %then0, label %ifend2
then0:
%t17 = load ptr, ptr %t10
%t18 = getelementptr inbounds %Cmp_Node, ptr %t17, i32 0, i32 8
%t19 = load i32, ptr %t8
store i32 %t19, ptr %t18
br label %ifend2
ifend2:
%t20 = load ptr, ptr %t10
store ptr %t20, ptr %retval
br label %ret
ret:
%t21 = load ptr, ptr %retval
ret ptr %t21
}
define ptr @fn_stmt_body() {
entry:
%retval = alloca ptr
%t6 = alloca ptr
%t13 = alloca i32
%t28 = alloca i32
%t37 = alloca ptr
%t77 = alloca ptr
%t78 = alloca i32
%t110 = alloca ptr
%t118 = alloca i32
%t141 = alloca ptr
%t160 = alloca ptr
%t165 = alloca ptr
%t190 = alloca ptr
%t194 = alloca i32
%t199 = alloca ptr
%t201 = alloca ptr
%t213 = alloca ptr
%t248 = alloca i32
%t279 = alloca ptr
%t292 = alloca ptr
%t297 = alloca i32
%t312 = alloca i32
%t321 = alloca ptr
%t357 = alloca ptr
%t384 = alloca ptr
%t430 = alloca ptr
%t438 = alloca ptr
%t472 = alloca ptr
%t522 = alloca ptr
%t523 = alloca i32
%t524 = alloca i32
%t525 = alloca i32
%t526 = alloca i32
%t554 = alloca ptr
%t585 = alloca ptr
%t0 = load ptr, ptr @g_toks
%t1 = getelementptr inbounds %LSlice, ptr %t0, i32 0, i32 0
%t2 = load ptr, ptr %t1
%t3 = load i32, ptr @g_pi
%t4 = getelementptr inbounds ptr, ptr %t2, i32 %t3
%t5 = load ptr, ptr %t4
store ptr %t5, ptr %t6
%t7 = load ptr, ptr %t6
%t8 = getelementptr inbounds %Cmp_Tok, ptr %t7, i32 0, i32 0
%t9 = load i32, ptr %t8
%t10 = icmp eq i32 %t9, 0
%t11 = zext i1 %t10 to i32
%t12 = icmp ne i32 %t11, 0
br i1 %t12, label %then0, label %ifend2
then0:
%t14 = load ptr, ptr %t6
%t15 = getelementptr inbounds %Cmp_Tok, ptr %t14, i32 0, i32 1
%t16 = load ptr, ptr %t15
%t17 = call i32 @fn_str_eq(ptr %t16, ptr @.str129)
%t18 = icmp ne i32 %t17, 0
%t19 = zext i1 %t18 to i32
store i32 %t19, ptr %t13
br i1 %t18, label %scend4, label %sc3
sc3:
%t20 = load ptr, ptr %t6
%t21 = getelementptr inbounds %Cmp_Tok, ptr %t20, i32 0, i32 1
%t22 = load ptr, ptr %t21
%t23 = call i32 @fn_str_eq(ptr %t22, ptr @.str130)
%t24 = icmp ne i32 %t23, 0
%t25 = zext i1 %t24 to i32
store i32 %t25, ptr %t13
br label %scend4
scend4:
%t26 = load i32, ptr %t13
%t27 = icmp ne i32 %t26, 0
br i1 %t27, label %then5, label %ifend7
then5:
store i32 0, ptr %t28
%t29 = load ptr, ptr %t6
%t30 = getelementptr inbounds %Cmp_Tok, ptr %t29, i32 0, i32 1
%t31 = load ptr, ptr %t30
%t32 = call i32 @fn_str_eq(ptr %t31, ptr @.str131)
%t33 = icmp ne i32 %t32, 0
br i1 %t33, label %then8, label %ifend10
then8:
store i32 1, ptr %t28
br label %ifend10
ifend10:
%t34 = load i32, ptr @g_pi
%t35 = add i32 %t34, 1
store i32 %t35, ptr @g_pi
%t36 = call ptr @fn_node(i32 10)
store ptr %t36, ptr %t37
%t38 = load ptr, ptr %t37
%t39 = getelementptr inbounds %Cmp_Node, ptr %t38, i32 0, i32 2
%t40 = load i32, ptr %t28
store i32 %t40, ptr %t39
%t41 = load ptr, ptr %t37
%t42 = getelementptr inbounds %Cmp_Node, ptr %t41, i32 0, i32 8
%t43 = load ptr, ptr @g_toks
%t44 = getelementptr inbounds %LSlice, ptr %t43, i32 0, i32 0
%t45 = load ptr, ptr %t44
%t46 = load i32, ptr @g_pi
%t47 = getelementptr inbounds ptr, ptr %t45, i32 %t46
%t48 = load ptr, ptr %t47
%t49 = getelementptr inbounds %Cmp_Tok, ptr %t48, i32 0, i32 3
%t50 = load i32, ptr %t49
store i32 %t50, ptr %t42
%t51 = load ptr, ptr %t37
%t52 = getelementptr inbounds %Cmp_Node, ptr %t51, i32 0, i32 1
%t53 = call ptr @fn_eat_id()
store ptr %t53, ptr %t52
%t54 = call i32 @fn_is_op(ptr @.str132)
%t55 = icmp ne i32 %t54, 0
br i1 %t55, label %then11, label %ifend13
then11:
%t56 = load i32, ptr @g_pi
%t57 = add i32 %t56, 1
store i32 %t57, ptr @g_pi
%t58 = load ptr, ptr %t37
%t59 = getelementptr inbounds %Cmp_Node, ptr %t58, i32 0, i32 3
%t60 = call ptr @fn_ptype()
store ptr %t60, ptr %t59
br label %ifend13
ifend13:
%t61 = call i32 @fn_is_op(ptr @.str133)
%t62 = icmp ne i32 %t61, 0
br i1 %t62, label %then14, label %ifend16
then14:
%t63 = load i32, ptr @g_pi
%t64 = add i32 %t63, 1
store i32 %t64, ptr @g_pi
%t65 = load ptr, ptr %t37
%t66 = getelementptr inbounds %Cmp_Node, ptr %t65, i32 0, i32 4
%t67 = call ptr @fn_expr()
store ptr %t67, ptr %t66
br label %ifend16
ifend16:
%t68 = load ptr, ptr %t37
store ptr %t68, ptr %retval
br label %ret
ifend7:
%t69 = load ptr, ptr %t6
%t70 = getelementptr inbounds %Cmp_Tok, ptr %t69, i32 0, i32 1
%t71 = load ptr, ptr %t70
%t72 = call i32 @fn_str_eq(ptr %t71, ptr @.str134)
%t73 = icmp ne i32 %t72, 0
br i1 %t73, label %then17, label %ifend19
then17:
%t74 = load i32, ptr @g_pi
%t75 = add i32 %t74, 1
store i32 %t75, ptr @g_pi
%t76 = call ptr @fn_node(i32 15)
store ptr %t76, ptr %t77
%t79 = load ptr, ptr @g_toks
%t80 = getelementptr inbounds %LSlice, ptr %t79, i32 0, i32 0
%t81 = load ptr, ptr %t80
%t82 = load i32, ptr @g_pi
%t83 = getelementptr inbounds ptr, ptr %t81, i32 %t82
%t84 = load ptr, ptr %t83
%t85 = getelementptr inbounds %Cmp_Tok, ptr %t84, i32 0, i32 0
%t86 = load i32, ptr %t85
%t87 = icmp ne i32 %t86, 4
%t88 = zext i1 %t87 to i32
%t89 = icmp ne i32 %t88, 0
%t90 = zext i1 %t89 to i32
store i32 %t90, ptr %t78
br i1 %t89, label %sc20, label %scend21
sc20:
%t91 = call i32 @fn_is_op(ptr @.str135)
%t92 = icmp eq i32 %t91, 0
%t93 = zext i1 %t92 to i32
%t94 = icmp ne i32 %t93, 0
%t95 = zext i1 %t94 to i32
store i32 %t95, ptr %t78
br label %scend21
scend21:
%t96 = load i32, ptr %t78
%t97 = icmp ne i32 %t96, 0
br i1 %t97, label %then22, label %ifend24
then22:
%t98 = load ptr, ptr %t77
%t99 = getelementptr inbounds %Cmp_Node, ptr %t98, i32 0, i32 4
%t100 = call ptr @fn_expr()
store ptr %t100, ptr %t99
br label %ifend24
ifend24:
%t101 = load ptr, ptr %t77
store ptr %t101, ptr %retval
br label %ret
ifend19:
%t102 = load ptr, ptr %t6
%t103 = getelementptr inbounds %Cmp_Tok, ptr %t102, i32 0, i32 1
%t104 = load ptr, ptr %t103
%t105 = call i32 @fn_str_eq(ptr %t104, ptr @.str136)
%t106 = icmp ne i32 %t105, 0
br i1 %t106, label %then25, label %ifend27
then25:
%t107 = load i32, ptr @g_pi
%t108 = add i32 %t107, 1
store i32 %t108, ptr @g_pi
%t109 = call ptr @fn_node(i32 12)
store ptr %t109, ptr %t110
%t111 = load ptr, ptr %t110
%t112 = getelementptr inbounds %Cmp_Node, ptr %t111, i32 0, i32 4
%t113 = call ptr @fn_expr()
store ptr %t113, ptr %t112
%t114 = load ptr, ptr %t110
%t115 = getelementptr inbounds %Cmp_Node, ptr %t114, i32 0, i32 5
%t116 = call ptr @fn_block()
store ptr %t116, ptr %t115
%t117 = load i32, ptr @g_pi
store i32 %t117, ptr %t118
call void @fn_skipnl()
%t119 = call i32 @fn_is_id(ptr @.str137)
%t120 = icmp ne i32 %t119, 0
br i1 %t120, label %then28, label %else29
then28:
%t121 = load i32, ptr @g_pi
%t122 = add i32 %t121, 1
store i32 %t122, ptr @g_pi
call void @fn_skipnl()
%t123 = call i32 @fn_is_id(ptr @.str138)
%t124 = icmp ne i32 %t123, 0
br i1 %t124, label %then31, label %else32
then31:
%t125 = load ptr, ptr %t110
%t126 = getelementptr inbounds %Cmp_Node, ptr %t125, i32 0, i32 6
%t127 = call ptr @fn_stmt()
store ptr %t127, ptr %t126
br label %ifend33
else32:
%t128 = load ptr, ptr %t110
%t129 = getelementptr inbounds %Cmp_Node, ptr %t128, i32 0, i32 6
%t130 = call ptr @fn_block()
store ptr %t130, ptr %t129
br label %ifend33
ifend33:
br label %ifend30
else29:
%t131 = load i32, ptr %t118
store i32 %t131, ptr @g_pi
br label %ifend30
ifend30:
%t132 = load ptr, ptr %t110
store ptr %t132, ptr %retval
br label %ret
ifend27:
%t133 = load ptr, ptr %t6
%t134 = getelementptr inbounds %Cmp_Tok, ptr %t133, i32 0, i32 1
%t135 = load ptr, ptr %t134
%t136 = call i32 @fn_str_eq(ptr %t135, ptr @.str139)
%t137 = icmp ne i32 %t136, 0
br i1 %t137, label %then34, label %ifend36
then34:
%t138 = load i32, ptr @g_pi
%t139 = add i32 %t138, 1
store i32 %t139, ptr @g_pi
%t140 = call ptr @fn_node(i32 13)
store ptr %t140, ptr %t141
%t142 = load ptr, ptr %t141
%t143 = getelementptr inbounds %Cmp_Node, ptr %t142, i32 0, i32 4
%t144 = call ptr @fn_expr()
store ptr %t144, ptr %t143
%t145 = load ptr, ptr %t141
%t146 = getelementptr inbounds %Cmp_Node, ptr %t145, i32 0, i32 5
%t147 = call ptr @fn_block()
store ptr %t147, ptr %t146
%t148 = load ptr, ptr %t141
store ptr %t148, ptr %retval
br label %ret
ifend36:
%t149 = load ptr, ptr %t6
%t150 = getelementptr inbounds %Cmp_Tok, ptr %t149, i32 0, i32 1
%t151 = load ptr, ptr %t150
%t152 = call i32 @fn_str_eq(ptr %t151, ptr @.str140)
%t153 = icmp ne i32 %t152, 0
br i1 %t153, label %then37, label %ifend39
then37:
%t154 = load i32, ptr @g_pi
%t155 = add i32 %t154, 1
store i32 %t155, ptr @g_pi
%t156 = call i32 @fn_is_op(ptr @.str141)
%t157 = icmp ne i32 %t156, 0
br i1 %t157, label %then40, label %ifend42
then40:
%t158 = call ptr @fn_parse_query_for()
store ptr %t158, ptr %retval
br label %ret
ifend42:
%t159 = call ptr @fn_node(i32 14)
store ptr %t159, ptr %t160
%t161 = load ptr, ptr %t160
%t162 = getelementptr inbounds %Cmp_Node, ptr %t161, i32 0, i32 1
%t163 = call ptr @fn_eat_id()
store ptr %t163, ptr %t162
%t164 = call ptr @fn_eat_id()
store ptr %t164, ptr %t165
%t166 = load ptr, ptr %t160
%t167 = getelementptr inbounds %Cmp_Node, ptr %t166, i32 0, i32 4
%t168 = call ptr @fn_expr()
store ptr %t168, ptr %t167
call void @fn_eat_op(ptr @.str142)
%t169 = load ptr, ptr %t160
%t170 = getelementptr inbounds %Cmp_Node, ptr %t169, i32 0, i32 5
%t171 = call ptr @fn_expr()
store ptr %t171, ptr %t170
%t172 = load ptr, ptr %t160
%t173 = getelementptr inbounds %Cmp_Node, ptr %t172, i32 0, i32 6
%t174 = call ptr @fn_block()
store ptr %t174, ptr %t173
%t175 = load ptr, ptr %t160
store ptr %t175, ptr %retval
br label %ret
ifend39:
%t176 = load ptr, ptr %t6
%t177 = getelementptr inbounds %Cmp_Tok, ptr %t176, i32 0, i32 1
%t178 = load ptr, ptr %t177
%t179 = call i32 @fn_str_eq(ptr %t178, ptr @.str143)
%t180 = icmp ne i32 %t179, 0
br i1 %t180, label %then43, label %ifend45
then43:
%t181 = call ptr @fn_parse_spawn()
store ptr %t181, ptr %retval
br label %ret
ifend45:
%t182 = load ptr, ptr %t6
%t183 = getelementptr inbounds %Cmp_Tok, ptr %t182, i32 0, i32 1
%t184 = load ptr, ptr %t183
%t185 = call i32 @fn_str_eq(ptr %t184, ptr @.str144)
%t186 = icmp ne i32 %t185, 0
br i1 %t186, label %then46, label %ifend48
then46:
%t187 = load i32, ptr @g_pi
%t188 = add i32 %t187, 1
store i32 %t188, ptr @g_pi
%t189 = call ptr @fn_node(i32 24)
store ptr %t189, ptr %t190
%t191 = load ptr, ptr %t190
%t192 = getelementptr inbounds %Cmp_Node, ptr %t191, i32 0, i32 4
%t193 = call ptr @fn_expr()
store ptr %t193, ptr %t192
call void @fn_skipnl()
call void @fn_eat_op(ptr @.str145)
store i32 0, ptr %t194
br label %wcond49
wcond49:
%t195 = icmp ne i32 1, 0
br i1 %t195, label %wbody50, label %wend51
wbody50:
call void @fn_skipnl()
%t196 = call i32 @fn_is_op(ptr @.str146)
%t197 = icmp ne i32 %t196, 0
br i1 %t197, label %then52, label %ifend54
then52:
br label %wend51
ifend54:
%t198 = call ptr @fn_eat_id()
store ptr %t198, ptr %t199
%t200 = call ptr @fn_node(i32 25)
store ptr %t200, ptr %t201
%t202 = load ptr, ptr %t201
%t203 = getelementptr inbounds %Cmp_Node, ptr %t202, i32 0, i32 1
%t204 = call ptr @fn_eat_id()
store ptr %t204, ptr %t203
%t205 = call i32 @fn_is_op(ptr @.str147)
%t206 = icmp ne i32 %t205, 0
br i1 %t206, label %then55, label %else56
then55:
%t207 = load i32, ptr @g_pi
%t208 = add i32 %t207, 1
store i32 %t208, ptr @g_pi
%t209 = load ptr, ptr %t201
%t210 = getelementptr inbounds %Cmp_Node, ptr %t209, i32 0, i32 5
%t211 = call ptr @fn_expr()
store ptr %t211, ptr %t210
br label %ifend57
else56:
%t212 = call ptr @fn_node(i32 30)
store ptr %t212, ptr %t213
%t214 = load ptr, ptr %t213
%t215 = getelementptr inbounds %Cmp_Node, ptr %t214, i32 0, i32 2
%t216 = load i32, ptr %t194
store i32 %t216, ptr %t215
%t217 = load ptr, ptr %t201
%t218 = getelementptr inbounds %Cmp_Node, ptr %t217, i32 0, i32 5
%t219 = load ptr, ptr %t213
store ptr %t219, ptr %t218
br label %ifend57
ifend57:
call void @fn_skipnl()
%t220 = load ptr, ptr %t201
%t221 = getelementptr inbounds %Cmp_Node, ptr %t220, i32 0, i32 4
%t222 = call ptr @fn_block()
store ptr %t222, ptr %t221
%t223 = load ptr, ptr %t190
%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 = getelementptr inbounds %LSlice, ptr %t225, i32 0, i32 2
%t228 = getelementptr inbounds %LSlice, ptr %t225, i32 0, i32 0
%t229 = load i32, ptr %t226
%t230 = load i32, ptr %t227
%t231 = icmp sge i32 %t229, %t230
br i1 %t231, label %grow58, label %put59
grow58:
%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
%t240 = call ptr @realloc(ptr %t239, i64 %t238)
store ptr %t240, ptr %t228
store i32 %t234, ptr %t227
br label %put59
put59:
%t241 = load ptr, ptr %t201
%t242 = load ptr, ptr %t228
%t243 = getelementptr inbounds ptr, ptr %t242, i32 %t229
store ptr %t241, ptr %t243
%t244 = add i32 %t229, 1
store i32 %t244, ptr %t226
%t245 = load i32, ptr %t194
%t246 = add i32 %t245, 1
store i32 %t246, ptr %t194
br label %wcond49
wend51:
call void @fn_eat_op(ptr @.str148)
%t247 = load ptr, ptr %t190
store ptr %t247, ptr %retval
br label %ret
ifend48:
%t249 = load ptr, ptr %t6
%t250 = getelementptr inbounds %Cmp_Tok, ptr %t249, i32 0, i32 1
%t251 = load ptr, ptr %t250
%t252 = call i32 @fn_str_eq(ptr %t251, ptr @.str149)
%t253 = icmp ne i32 %t252, 0
%t254 = zext i1 %t253 to i32
store i32 %t254, ptr %t248
br i1 %t253, label %sc60, label %scend61
sc60:
%t255 = load ptr, ptr @g_toks
%t256 = getelementptr inbounds %LSlice, ptr %t255, i32 0, i32 0
%t257 = load ptr, ptr %t256
%t258 = load i32, ptr @g_pi
%t259 = add i32 %t258, 1
%t260 = getelementptr inbounds ptr, ptr %t257, i32 %t259
%t261 = load ptr, ptr %t260
%t262 = getelementptr inbounds %Cmp_Tok, ptr %t261, i32 0, i32 0
%t263 = load i32, ptr %t262
%t264 = icmp eq i32 %t263, 0
%t265 = zext i1 %t264 to i32
%t266 = icmp ne i32 %t265, 0
%t267 = zext i1 %t266 to i32
store i32 %t267, ptr %t248
br label %scend61
scend61:
%t268 = load i32, ptr %t248
%t269 = icmp ne i32 %t268, 0
br i1 %t269, label %then62, label %ifend64
then62:
%t270 = call ptr @fn_parse_emit()
store ptr %t270, ptr %retval
br label %ret
ifend64:
%t271 = load ptr, ptr %t6
%t272 = getelementptr inbounds %Cmp_Tok, ptr %t271, i32 0, i32 1
%t273 = load ptr, ptr %t272
%t274 = call i32 @fn_str_eq(ptr %t273, ptr @.str150)
%t275 = icmp ne i32 %t274, 0
br i1 %t275, label %then65, label %ifend67
then65:
%t276 = load i32, ptr @g_pi
%t277 = add i32 %t276, 1
store i32 %t277, ptr @g_pi
%t278 = call ptr @fn_node(i32 26)
store ptr %t278, ptr %t279
%t280 = load ptr, ptr %t279
%t281 = getelementptr inbounds %Cmp_Node, ptr %t280, i32 0, i32 1
%t282 = call ptr @fn_eat_id()
store ptr %t282, ptr %t281
%t283 = load ptr, ptr %t279
store ptr %t283, ptr %retval
br label %ret
ifend67:
%t284 = load ptr, ptr %t6
%t285 = getelementptr inbounds %Cmp_Tok, ptr %t284, i32 0, i32 1
%t286 = load ptr, ptr %t285
%t287 = call i32 @fn_str_eq(ptr %t286, ptr @.str151)
%t288 = icmp ne i32 %t287, 0
br i1 %t288, label %then68, label %ifend70
then68:
%t289 = load i32, ptr @g_pi
%t290 = add i32 %t289, 1
store i32 %t290, ptr @g_pi
%t291 = call ptr @fn_node(i32 23)
store ptr %t291, ptr %t292
%t293 = load ptr, ptr %t292
%t294 = getelementptr inbounds %Cmp_Node, ptr %t293, i32 0, i32 4
%t295 = call ptr @fn_expr()
store ptr %t295, ptr %t294
%t296 = load ptr, ptr %t292
store ptr %t296, ptr %retval
br label %ret
ifend70:
%t298 = load ptr, ptr %t6
%t299 = getelementptr inbounds %Cmp_Tok, ptr %t298, i32 0, i32 1
%t300 = load ptr, ptr %t299
%t301 = call i32 @fn_str_eq(ptr %t300, ptr @.str152)
%t302 = icmp ne i32 %t301, 0
%t303 = zext i1 %t302 to i32
store i32 %t303, ptr %t297
br i1 %t302, label %scend72, label %sc71
sc71:
%t304 = load ptr, ptr %t6
%t305 = getelementptr inbounds %Cmp_Tok, ptr %t304, i32 0, i32 1
%t306 = load ptr, ptr %t305
%t307 = call i32 @fn_str_eq(ptr %t306, ptr @.str153)
%t308 = icmp ne i32 %t307, 0
%t309 = zext i1 %t308 to i32
store i32 %t309, ptr %t297
br label %scend72
scend72:
%t310 = load i32, ptr %t297
%t311 = icmp ne i32 %t310, 0
br i1 %t311, label %then73, label %ifend75
then73:
store i32 0, ptr %t312
%t313 = load ptr, ptr %t6
%t314 = getelementptr inbounds %Cmp_Tok, ptr %t313, i32 0, i32 1
%t315 = load ptr, ptr %t314
%t316 = call i32 @fn_str_eq(ptr %t315, ptr @.str154)
%t317 = icmp ne i32 %t316, 0
br i1 %t317, label %then76, label %ifend78
then76:
store i32 1, ptr %t312
br label %ifend78
ifend78:
%t318 = load i32, ptr @g_pi
%t319 = add i32 %t318, 1
store i32 %t319, ptr @g_pi
%t320 = call ptr @fn_node(i32 28)
store ptr %t320, ptr %t321
%t322 = load ptr, ptr %t321
%t323 = getelementptr inbounds %Cmp_Node, ptr %t322, i32 0, i32 2
%t324 = load i32, ptr %t312
store i32 %t324, ptr %t323
%t325 = call i32 @fn_is_id(ptr @.str155)
%t326 = icmp ne i32 %t325, 0
br i1 %t326, label %then79, label %ifend81
then79:
%t327 = load i32, ptr @g_pi
%t328 = add i32 %t327, 1
store i32 %t328, ptr @g_pi
%t329 = load ptr, ptr %t321
%t330 = getelementptr inbounds %Cmp_Node, ptr %t329, i32 0, i32 3
store ptr @.str156, ptr %t330
%t331 = load ptr, ptr %t321
%t332 = getelementptr inbounds %Cmp_Node, ptr %t331, i32 0, i32 1
%t333 = call ptr @fn_eat_id()
store ptr %t333, ptr %t332
%t334 = load ptr, ptr %t321
%t335 = getelementptr inbounds %Cmp_Node, ptr %t334, i32 0, i32 1
%t336 = load ptr, ptr %t335
call void @fn_note_toggled_layer(ptr %t336)
%t337 = load ptr, ptr %t321
store ptr %t337, ptr %retval
br label %ret
ifend81:
%t338 = load ptr, ptr %t321
%t339 = getelementptr inbounds %Cmp_Node, ptr %t338, i32 0, i32 1
%t340 = call ptr @fn_eat_id()
store ptr %t340, ptr %t339
%t341 = call i32 @fn_is_id(ptr @.str157)
%t342 = icmp ne i32 %t341, 0
br i1 %t342, label %then82, label %ifend84
then82:
%t343 = load i32, ptr @g_pi
%t344 = add i32 %t343, 1
store i32 %t344, ptr @g_pi
%t345 = load ptr, ptr %t321
%t346 = getelementptr inbounds %Cmp_Node, ptr %t345, i32 0, i32 4
%t347 = call ptr @fn_expr()
store ptr %t347, ptr %t346
br label %ifend84
ifend84:
%t348 = load ptr, ptr %t321
store ptr %t348, ptr %retval
br label %ret
ifend75:
%t349 = load ptr, ptr %t6
%t350 = getelementptr inbounds %Cmp_Tok, ptr %t349, i32 0, i32 1
%t351 = load ptr, ptr %t350
%t352 = call i32 @fn_str_eq(ptr %t351, ptr @.str158)
%t353 = icmp ne i32 %t352, 0
br i1 %t353, label %then85, label %ifend87
then85:
%t354 = load i32, ptr @g_pi
%t355 = add i32 %t354, 1
store i32 %t355, ptr @g_pi
%t356 = call ptr @fn_node(i32 46)
store ptr %t356, ptr %t357
%t358 = load ptr, ptr %t357
%t359 = getelementptr inbounds %Cmp_Node, ptr %t358, i32 0, i32 1
%t360 = call ptr @fn_eat_id()
store ptr %t360, ptr %t359
%t361 = call i32 @fn_is_id(ptr @.str159)
%t362 = icmp eq i32 %t361, 0
%t363 = zext i1 %t362 to i32
%t364 = icmp ne i32 %t363, 0
br i1 %t364, label %then88, label %ifend90
then88:
call void @fn_perr(ptr @.str160)
br label %ifend90
ifend90:
%t365 = load i32, ptr @g_pi
%t366 = add i32 %t365, 1
store i32 %t366, ptr @g_pi
%t367 = load ptr, ptr %t357
%t368 = getelementptr inbounds %Cmp_Node, ptr %t367, i32 0, i32 4
%t369 = call ptr @fn_expr()
store ptr %t369, ptr %t368
%t370 = call i32 @fn_is_op(ptr @.str161)
%t371 = icmp ne i32 %t370, 0
br i1 %t371, label %then91, label %ifend93
then91:
%t372 = load ptr, ptr %t357
%t373 = getelementptr inbounds %Cmp_Node, ptr %t372, i32 0, i32 5
%t374 = call ptr @fn_record()
store ptr %t374, ptr %t373
br label %ifend93
ifend93:
%t375 = load ptr, ptr %t357
store ptr %t375, ptr %retval
br label %ret
ifend87:
%t376 = load ptr, ptr %t6
%t377 = getelementptr inbounds %Cmp_Tok, ptr %t376, i32 0, i32 1
%t378 = load ptr, ptr %t377
%t379 = call i32 @fn_str_eq(ptr %t378, ptr @.str162)
%t380 = icmp ne i32 %t379, 0
br i1 %t380, label %then94, label %ifend96
then94:
%t381 = load i32, ptr @g_pi
%t382 = add i32 %t381, 1
store i32 %t382, ptr @g_pi
%t383 = call ptr @fn_node(i32 47)
store ptr %t383, ptr %t384
%t385 = load ptr, ptr %t384
%t386 = getelementptr inbounds %Cmp_Node, ptr %t385, i32 0, i32 1
%t387 = call ptr @fn_eat_id()
store ptr %t387, ptr %t386
%t388 = call i32 @fn_is_id(ptr @.str163)
%t389 = icmp eq i32 %t388, 0
%t390 = zext i1 %t389 to i32
%t391 = icmp ne i32 %t390, 0
br i1 %t391, label %then97, label %ifend99
then97:
call void @fn_perr(ptr @.str164)
br label %ifend99
ifend99:
%t392 = load i32, ptr @g_pi
%t393 = add i32 %t392, 1
store i32 %t393, ptr @g_pi
%t394 = load ptr, ptr %t384
%t395 = getelementptr inbounds %Cmp_Node, ptr %t394, i32 0, i32 4
%t396 = call ptr @fn_expr()
store ptr %t396, ptr %t395
%t397 = load ptr, ptr %t384
store ptr %t397, ptr %retval
br label %ret
ifend96:
%t398 = load ptr, ptr %t6
%t399 = getelementptr inbounds %Cmp_Tok, ptr %t398, i32 0, i32 1
%t400 = load ptr, ptr %t399
%t401 = call i32 @fn_str_eq(ptr %t400, ptr @.str165)
%t402 = icmp ne i32 %t401, 0
br i1 %t402, label %then100, label %ifend102
then100:
%t403 = load i32, ptr @g_pi
%t404 = add i32 %t403, 1
store i32 %t404, ptr @g_pi
%t405 = call ptr @fn_node(i32 17)
store ptr %t405, ptr %retval
br label %ret
ifend102:
%t406 = load ptr, ptr %t6
%t407 = getelementptr inbounds %Cmp_Tok, ptr %t406, i32 0, i32 1
%t408 = load ptr, ptr %t407
%t409 = call i32 @fn_str_eq(ptr %t408, ptr @.str166)
%t410 = icmp ne i32 %t409, 0
br i1 %t410, label %then103, label %ifend105
then103:
%t411 = load i32, ptr @g_pi
%t412 = add i32 %t411, 1
store i32 %t412, ptr @g_pi
%t413 = call ptr @fn_node(i32 18)
store ptr %t413, ptr %retval
br label %ret
ifend105:
%t414 = load ptr, ptr %t6
%t415 = getelementptr inbounds %Cmp_Tok, ptr %t414, i32 0, i32 1
%t416 = load ptr, ptr %t415
%t417 = call i32 @fn_str_eq(ptr %t416, ptr @.str167)
%t418 = icmp ne i32 %t417, 0
br i1 %t418, label %then106, label %ifend108
then106:
%t419 = load i32, ptr @g_pi
%t420 = add i32 %t419, 1
store i32 %t420, ptr @g_pi
%t421 = call ptr @fn_node(i32 50)
store ptr %t421, ptr %retval
br label %ret
ifend108:
%t422 = load ptr, ptr %t6
%t423 = getelementptr inbounds %Cmp_Tok, ptr %t422, i32 0, i32 1
%t424 = load ptr, ptr %t423
%t425 = call i32 @fn_str_eq(ptr %t424, ptr @.str168)
%t426 = icmp ne i32 %t425, 0
br i1 %t426, label %then109, label %ifend111
then109:
%t427 = load i32, ptr @g_pi
%t428 = add i32 %t427, 1
store i32 %t428, ptr @g_pi
%t429 = call ptr @fn_node(i32 19)
store ptr %t429, ptr %t430
%t431 = load ptr, ptr %t430
%t432 = getelementptr inbounds %Cmp_Node, ptr %t431, i32 0, i32 4
%t433 = call ptr @fn_expr()
store ptr %t433, ptr %t432
call void @fn_skipnl()
call void @fn_eat_op(ptr @.str169)
br label %wcond112
wcond112:
%t434 = icmp ne i32 1, 0
br i1 %t434, label %wbody113, label %wend114
wbody113:
call void @fn_skipnl()
%t435 = call i32 @fn_is_op(ptr @.str170)
%t436 = icmp ne i32 %t435, 0
br i1 %t436, label %then115, label %ifend117
then115:
br label %wend114
ifend117:
%t437 = call ptr @fn_node(i32 20)
store ptr %t437, ptr %t438
br label %wcond118
wcond118:
%t439 = icmp ne i32 1, 0
br i1 %t439, label %wbody119, label %wend120
wbody119:
%t440 = load ptr, ptr %t438
%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 1
%t444 = getelementptr inbounds %LSlice, ptr %t442, i32 0, i32 2
%t445 = getelementptr inbounds %LSlice, ptr %t442, i32 0, i32 0
%t446 = load i32, ptr %t443
%t447 = load i32, ptr %t444
%t448 = icmp sge i32 %t446, %t447
br i1 %t448, label %grow121, label %put122
grow121:
%t449 = mul i32 %t447, 2
%t450 = icmp eq i32 %t447, 0
%t451 = select i1 %t450, i32 8, i32 %t449
%t452 = getelementptr ptr, ptr null, i32 1
%t453 = ptrtoint ptr %t452 to i64
%t454 = zext i32 %t451 to i64
%t455 = mul i64 %t454, %t453
%t456 = load ptr, ptr %t445
%t457 = call ptr @realloc(ptr %t456, i64 %t455)
store ptr %t457, ptr %t445
store i32 %t451, ptr %t444
br label %put122
put122:
%t458 = call ptr @fn_expr()
%t459 = load ptr, ptr %t445
%t460 = getelementptr inbounds ptr, ptr %t459, i32 %t446
store ptr %t458, ptr %t460
%t461 = add i32 %t446, 1
store i32 %t461, ptr %t443
%t462 = call i32 @fn_is_op(ptr @.str171)
%t463 = icmp ne i32 %t462, 0
br i1 %t463, label %then123, label %ifend125
then123:
%t464 = load i32, ptr @g_pi
%t465 = add i32 %t464, 1
store i32 %t465, ptr @g_pi
call void @fn_skipnl()
br label %wcond118
ifend125:
br label %wend120
wend120:
call void @fn_eat_op(ptr @.str172)
call void @fn_skipnl()
%t466 = call i32 @fn_is_op(ptr @.str173)
%t467 = icmp ne i32 %t466, 0
br i1 %t467, label %then126, label %else127
then126:
%t468 = load ptr, ptr %t438
%t469 = getelementptr inbounds %Cmp_Node, ptr %t468, i32 0, i32 4
%t470 = call ptr @fn_block()
store ptr %t470, ptr %t469
br label %ifend128
else127:
%t471 = call ptr @fn_node(i32 7)
store ptr %t471, ptr %t472
%t473 = load ptr, ptr %t472
%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 1
%t477 = getelementptr inbounds %LSlice, ptr %t475, i32 0, i32 2
%t478 = getelementptr inbounds %LSlice, ptr %t475, i32 0, i32 0
%t479 = load i32, ptr %t476
%t480 = load i32, ptr %t477
%t481 = icmp sge i32 %t479, %t480
br i1 %t481, label %grow129, label %put130
grow129:
%t482 = mul i32 %t480, 2
%t483 = icmp eq i32 %t480, 0
%t484 = select i1 %t483, i32 8, i32 %t482
%t485 = getelementptr ptr, ptr null, i32 1
%t486 = ptrtoint ptr %t485 to i64
%t487 = zext i32 %t484 to i64
%t488 = mul i64 %t487, %t486
%t489 = load ptr, ptr %t478
%t490 = call ptr @realloc(ptr %t489, i64 %t488)
store ptr %t490, ptr %t478
store i32 %t484, ptr %t477
br label %put130
put130:
%t491 = call ptr @fn_stmt()
%t492 = load ptr, ptr %t478
%t493 = getelementptr inbounds ptr, ptr %t492, i32 %t479
store ptr %t491, ptr %t493
%t494 = add i32 %t479, 1
store i32 %t494, ptr %t476
%t495 = load ptr, ptr %t438
%t496 = getelementptr inbounds %Cmp_Node, ptr %t495, i32 0, i32 4
%t497 = load ptr, ptr %t472
store ptr %t497, ptr %t496
br label %ifend128
ifend128:
%t498 = load ptr, ptr %t430
%t499 = getelementptr inbounds %Cmp_Node, ptr %t498, i32 0, i32 7
%t500 = load ptr, ptr %t499
%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 %grow131, label %put132
grow131:
%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
%t515 = call ptr @realloc(ptr %t514, i64 %t513)
store ptr %t515, ptr %t503
store i32 %t509, ptr %t502
br label %put132
put132:
%t516 = load ptr, ptr %t438
%t517 = load ptr, ptr %t503
%t518 = getelementptr inbounds ptr, ptr %t517, i32 %t504
store ptr %t516, ptr %t518
%t519 = add i32 %t504, 1
store i32 %t519, ptr %t501
br label %wcond112
wend114:
call void @fn_eat_op(ptr @.str174)
%t520 = load ptr, ptr %t430
store ptr %t520, ptr %retval
br label %ret
ifend111:
br label %ifend2
ifend2:
%t521 = call ptr @fn_expr()
store ptr %t521, ptr %t522
%t527 = call i32 @fn_is_op(ptr @.str175)
%t528 = icmp ne i32 %t527, 0
%t529 = zext i1 %t528 to i32
store i32 %t529, ptr %t526
br i1 %t528, label %scend134, label %sc133
sc133:
%t530 = call i32 @fn_is_op(ptr @.str176)
%t531 = icmp ne i32 %t530, 0
%t532 = zext i1 %t531 to i32
store i32 %t532, ptr %t526
br label %scend134
scend134:
%t533 = load i32, ptr %t526
%t534 = icmp ne i32 %t533, 0
%t535 = zext i1 %t534 to i32
store i32 %t535, ptr %t525
br i1 %t534, label %scend136, label %sc135
sc135:
%t536 = call i32 @fn_is_op(ptr @.str177)
%t537 = icmp ne i32 %t536, 0
%t538 = zext i1 %t537 to i32
store i32 %t538, ptr %t525
br label %scend136
scend136:
%t539 = load i32, ptr %t525
%t540 = icmp ne i32 %t539, 0
%t541 = zext i1 %t540 to i32
store i32 %t541, ptr %t524
br i1 %t540, label %scend138, label %sc137
sc137:
%t542 = call i32 @fn_is_op(ptr @.str178)
%t543 = icmp ne i32 %t542, 0
%t544 = zext i1 %t543 to i32
store i32 %t544, ptr %t524
br label %scend138
scend138:
%t545 = load i32, ptr %t524
%t546 = icmp ne i32 %t545, 0
%t547 = zext i1 %t546 to i32
store i32 %t547, ptr %t523
br i1 %t546, label %scend140, label %sc139
sc139:
%t548 = call i32 @fn_is_op(ptr @.str179)
%t549 = icmp ne i32 %t548, 0
%t550 = zext i1 %t549 to i32
store i32 %t550, ptr %t523
br label %scend140
scend140:
%t551 = load i32, ptr %t523
%t552 = icmp ne i32 %t551, 0
br i1 %t552, label %then141, label %ifend143
then141:
%t553 = call ptr @fn_node(i32 11)
store ptr %t553, ptr %t554
%t555 = load ptr, ptr %t554
%t556 = getelementptr inbounds %Cmp_Node, ptr %t555, i32 0, i32 8
%t557 = load ptr, ptr @g_toks
%t558 = getelementptr inbounds %LSlice, ptr %t557, i32 0, i32 0
%t559 = load ptr, ptr %t558
%t560 = load i32, ptr @g_pi
%t561 = getelementptr inbounds ptr, ptr %t559, i32 %t560
%t562 = load ptr, ptr %t561
%t563 = getelementptr inbounds %Cmp_Tok, ptr %t562, i32 0, i32 3
%t564 = load i32, ptr %t563
store i32 %t564, ptr %t556
%t565 = load ptr, ptr %t554
%t566 = getelementptr inbounds %Cmp_Node, ptr %t565, i32 0, i32 1
%t567 = load ptr, ptr @g_toks
%t568 = getelementptr inbounds %LSlice, ptr %t567, i32 0, i32 0
%t569 = load ptr, ptr %t568
%t570 = load i32, ptr @g_pi
%t571 = getelementptr inbounds ptr, ptr %t569, i32 %t570
%t572 = load ptr, ptr %t571
%t573 = getelementptr inbounds %Cmp_Tok, ptr %t572, i32 0, i32 1
%t574 = load ptr, ptr %t573
store ptr %t574, ptr %t566
%t575 = load i32, ptr @g_pi
%t576 = add i32 %t575, 1
store i32 %t576, ptr @g_pi
%t577 = load ptr, ptr %t554
%t578 = getelementptr inbounds %Cmp_Node, ptr %t577, i32 0, i32 4
%t579 = load ptr, ptr %t522
store ptr %t579, ptr %t578
%t580 = load ptr, ptr %t554
%t581 = getelementptr inbounds %Cmp_Node, ptr %t580, i32 0, i32 5
%t582 = call ptr @fn_expr()
store ptr %t582, ptr %t581
%t583 = load ptr, ptr %t554
store ptr %t583, ptr %retval
br label %ret
ifend143:
%t584 = call ptr @fn_node(i32 16)
store ptr %t584, ptr %t585
%t586 = load ptr, ptr %t585
%t587 = getelementptr inbounds %Cmp_Node, ptr %t586, i32 0, i32 4
%t588 = load ptr, ptr %t522
store ptr %t588, ptr %t587
%t589 = load ptr, ptr %t585
store ptr %t589, ptr %retval
br label %ret
ret:
%t590 = load ptr, ptr %retval
ret ptr %t590
}
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 @.str180)
%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 @.str181)
%t11 = icmp ne i32 %t10, 0
br i1 %t11, label %then0, label %ifend2
then0:
%t12 = load i32, ptr @g_pi
%t13 = add i32 %t12, 1
store i32 %t13, ptr @g_pi
%t14 = load ptr, ptr %t3
%t15 = getelementptr inbounds %Cmp_Node, ptr %t14, i32 0, i32 4
%t16 = call ptr @fn_expr()
store ptr %t16, ptr %t15
br label %ifend2
ifend2:
%t17 = load ptr, ptr %t3
store ptr %t17, ptr %retval
br label %ret
ret:
%t18 = load ptr, ptr %retval
ret ptr %t18
}
define ptr @fn_parse_const() {
entry:
%retval = alloca ptr
%t3 = alloca ptr
%t0 = load i32, ptr @g_pi
%t1 = add i32 %t0, 1
store i32 %t1, ptr @g_pi
%t2 = call ptr @fn_node(i32 3)
store ptr %t2, ptr %t3
%t4 = load ptr, ptr %t3
%t5 = getelementptr inbounds %Cmp_Node, ptr %t4, i32 0, i32 1
%t6 = call ptr @fn_eat_id()
store ptr %t6, ptr %t5
call void @fn_eat_op(ptr @.str182)
%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 @.str183)
%t10 = load ptr, ptr %t3
%t11 = getelementptr inbounds %Cmp_Node, ptr %t10, i32 0, i32 4
%t12 = call ptr @fn_expr()
store ptr %t12, ptr %t11
%t13 = load ptr, ptr %t3
store ptr %t13, ptr %retval
br label %ret
ret:
%t14 = load ptr, ptr %retval
ret ptr %t14
}
define ptr @fn_parse_fn() {
entry:
%retval = alloca ptr
%t3 = alloca ptr
%t12 = alloca ptr
%t0 = load i32, ptr @g_pi
%t1 = add i32 %t0, 1
store i32 %t1, ptr @g_pi
%t2 = call ptr @fn_node(i32 4)
store ptr %t2, ptr %t3
%t4 = load ptr, ptr %t3
%t5 = getelementptr inbounds %Cmp_Node, ptr %t4, i32 0, i32 1
%t6 = call ptr @fn_eat_id()
store ptr %t6, ptr %t5
call void @fn_eat_op(ptr @.str184)
br label %wcond0
wcond0:
%t7 = call i32 @fn_is_op(ptr @.str185)
%t8 = icmp eq i32 %t7, 0
%t9 = zext i1 %t8 to i32
%t10 = icmp ne i32 %t9, 0
br i1 %t10, label %wbody1, label %wend2
wbody1:
%t11 = call ptr @fn_node(i32 5)
store ptr %t11, ptr %t12
%t13 = load ptr, ptr %t12
%t14 = getelementptr inbounds %Cmp_Node, ptr %t13, i32 0, i32 1
%t15 = call ptr @fn_eat_id()
store ptr %t15, ptr %t14
call void @fn_eat_op(ptr @.str186)
%t16 = load ptr, ptr %t12
%t17 = getelementptr inbounds %Cmp_Node, ptr %t16, i32 0, i32 3
%t18 = call ptr @fn_ptype()
store ptr %t18, ptr %t17
%t19 = load ptr, ptr %t3
%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 = 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 %grow3, label %put4
grow3:
%t28 = mul i32 %t26, 2
%t29 = icmp eq i32 %t26, 0
%t30 = select i1 %t29, i32 8, i32 %t28
%t31 = getelementptr ptr, ptr null, i32 1
%t32 = ptrtoint ptr %t31 to i64
%t33 = zext i32 %t30 to i64
%t34 = mul i64 %t33, %t32
%t35 = load ptr, ptr %t24
%t36 = call ptr @realloc(ptr %t35, i64 %t34)
store ptr %t36, ptr %t24
store i32 %t30, ptr %t23
br label %put4
put4:
%t37 = load ptr, ptr %t12
%t38 = load ptr, ptr %t24
%t39 = getelementptr inbounds ptr, ptr %t38, i32 %t25
store ptr %t37, ptr %t39
%t40 = add i32 %t25, 1
store i32 %t40, ptr %t22
%t41 = call i32 @fn_is_op(ptr @.str187)
%t42 = icmp ne i32 %t41, 0
br i1 %t42, label %then5, label %ifend7
then5:
%t43 = load i32, ptr @g_pi
%t44 = add i32 %t43, 1
store i32 %t44, ptr @g_pi
br label %ifend7
ifend7:
br label %wcond0
wend2:
call void @fn_eat_op(ptr @.str188)
%t45 = load ptr, ptr %t3
%t46 = getelementptr inbounds %Cmp_Node, ptr %t45, i32 0, i32 3
store ptr @.str189, ptr %t46
%t47 = call i32 @fn_is_op(ptr @.str190)
%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
%t51 = load ptr, ptr %t3
%t52 = getelementptr inbounds %Cmp_Node, ptr %t51, i32 0, i32 3
%t53 = call ptr @fn_ptype()
store ptr %t53, ptr %t52
br label %ifend10
ifend10:
%t54 = load ptr, ptr %t3
%t55 = getelementptr inbounds %Cmp_Node, ptr %t54, i32 0, i32 4
%t56 = call ptr @fn_block()
store ptr %t56, ptr %t55
%t57 = load ptr, ptr %t3
store ptr %t57, ptr %retval
br label %ret
ret:
%t58 = load ptr, ptr %retval
ret ptr %t58
}
define ptr @fn_parse_main() {
entry:
%retval = alloca ptr
%t3 = alloca ptr
%t0 = load i32, ptr @g_pi
%t1 = add i32 %t0, 1
store i32 %t1, ptr @g_pi
%t2 = call ptr @fn_node(i32 6)
store ptr %t2, ptr %t3
%t4 = load ptr, ptr %t3
%t5 = getelementptr inbounds %Cmp_Node, ptr %t4, i32 0, i32 4
%t6 = call ptr @fn_block()
store ptr %t6, ptr %t5
%t7 = load ptr, ptr %t3
store ptr %t7, ptr %retval
br label %ret
ret:
%t8 = load ptr, ptr %retval
ret ptr %t8
}
define ptr @fn_dir_of(ptr %arg_path) {
entry:
%retval = alloca ptr
%t0 = alloca ptr
%t2 = alloca i32
%t3 = alloca i32
store ptr %arg_path, ptr %t0
%t1 = sub i32 0, 1
store i32 %t1, ptr %t2
store i32 0, ptr %t3
br label %wcond0
wcond0:
%t4 = load ptr, ptr %t0
%t5 = load i32, ptr %t3
%t6 = getelementptr inbounds i8, ptr %t4, i32 %t5
%t7 = load i8, ptr %t6
%t8 = zext i8 %t7 to i32
%t9 = icmp ne i32 %t8, 0
%t10 = zext i1 %t9 to i32
%t11 = icmp ne i32 %t10, 0
br i1 %t11, label %wbody1, label %wend2
wbody1:
%t12 = load ptr, ptr %t0
%t13 = load i32, ptr %t3
%t14 = getelementptr inbounds i8, ptr %t12, i32 %t13
%t15 = load i8, ptr %t14
%t16 = zext i8 %t15 to i32
%t17 = icmp eq i32 %t16, 47
%t18 = zext i1 %t17 to i32
%t19 = icmp ne i32 %t18, 0
br i1 %t19, label %then3, label %ifend5
then3:
%t20 = load i32, ptr %t3
store i32 %t20, ptr %t2
br label %ifend5
ifend5:
%t21 = load i32, ptr %t3
%t22 = add i32 %t21, 1
store i32 %t22, ptr %t3
br label %wcond0
wend2:
%t23 = load i32, ptr %t2
%t24 = icmp slt i32 %t23, 0
%t25 = zext i1 %t24 to i32
%t26 = icmp ne i32 %t25, 0
br i1 %t26, label %then6, label %ifend8
then6:
store ptr @.str191, ptr %retval
br label %ret
ifend8:
%t27 = load ptr, ptr %t0
%t28 = load i32, ptr %t2
%t29 = add i32 %t28, 1
%t30 = add i32 0, %t29
%t31 = call ptr @fn_str_slice(ptr %t27, i32 0, i32 %t30)
store ptr %t31, ptr %retval
br label %ret
ret:
%t32 = load ptr, ptr %retval
ret ptr %t32
}
define ptr @fn_path_join(ptr %arg_dir, ptr %arg_rel) {
entry:
%retval = alloca ptr
%t0 = alloca ptr
%t1 = alloca ptr
store ptr %arg_dir, ptr %t0
store ptr %arg_rel, ptr %t1
%t2 = load ptr, ptr %t1
%t3 = getelementptr inbounds i8, ptr %t2, i32 0
%t4 = load i8, ptr %t3
%t5 = zext i8 %t4 to i32
%t6 = icmp eq i32 %t5, 47
%t7 = zext i1 %t6 to i32
%t8 = icmp ne i32 %t7, 0
br i1 %t8, label %then0, label %ifend2
then0:
%t9 = load ptr, ptr %t1
store ptr %t9, ptr %retval
br label %ret
ifend2:
%t10 = load ptr, ptr %t0
%t11 = load ptr, ptr %t1
%t12 = call ptr @fn_str_concat(ptr %t10, ptr %t11)
store ptr %t12, ptr %retval
br label %ret
ret:
%t13 = load ptr, ptr %retval
ret ptr %t13
}
define i32 @fn_already_loaded(ptr %arg_full) {
entry:
%retval = alloca i32
%t0 = alloca ptr
%t1 = alloca i32
store ptr %arg_full, ptr %t0
store i32 0, ptr %t1
br label %wcond0
wcond0:
%t2 = load i32, ptr %t1
%t3 = load ptr, ptr @g_loaded_paths
%t4 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 1
%t5 = load i32, ptr %t4
%t6 = icmp slt i32 %t2, %t5
%t7 = zext i1 %t6 to i32
%t8 = icmp ne i32 %t7, 0
br i1 %t8, label %wbody1, label %wend2
wbody1:
%t9 = load ptr, ptr @g_loaded_paths
%t10 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0
%t11 = load ptr, ptr %t10
%t12 = load i32, ptr %t1
%t13 = getelementptr inbounds ptr, ptr %t11, i32 %t12
%t14 = load ptr, ptr %t13
%t15 = load ptr, ptr %t0
%t16 = call i32 @fn_str_eq(ptr %t14, ptr %t15)
%t17 = icmp ne i32 %t16, 0
br i1 %t17, label %then3, label %ifend5
then3:
store i32 1, ptr %retval
br label %ret
ifend5:
%t18 = load i32, ptr %t1
%t19 = add i32 %t18, 1
store i32 %t19, ptr %t1
br label %wcond0
wend2:
store i32 0, ptr %retval
br label %ret
ret:
%t20 = load i32, ptr %retval
ret i32 %t20
}
define void @fn_parse_one_decl() {
entry:
%t0 = alloca i32
%t1 = alloca ptr
%t2 = alloca ptr
%t3 = alloca ptr
%t4 = alloca ptr
%t5 = alloca ptr
%t6 = alloca ptr
%t7 = alloca ptr
%t8 = alloca ptr
%t9 = alloca ptr
%t10 = alloca i32
%t11 = alloca ptr
%t12 = alloca i32
%t13 = alloca i32
%t14 = alloca ptr
%t15 = alloca ptr
%t21 = alloca ptr
%t92 = alloca i32
%t118 = alloca ptr
%t128 = alloca ptr
%t157 = alloca ptr
%t169 = alloca ptr
%t172 = alloca i32
%t216 = alloca ptr
%t246 = alloca ptr
%t367 = alloca ptr
%t482 = alloca ptr
store i32 0, ptr %t0
store ptr null, ptr %t1
store ptr null, ptr %t2
store ptr null, ptr %t3
store ptr null, ptr %t4
store ptr null, ptr %t5
store ptr null, ptr %t6
store ptr null, ptr %t7
store ptr null, ptr %t8
store ptr null, ptr %t9
store i32 0, ptr %t10
store ptr null, ptr %t11
store i32 0, ptr %t12
store i32 0, ptr %t13
store ptr null, ptr %t14
store ptr null, ptr %t15
br label %wcond0
wcond0:
%t16 = call i32 @fn_is_op(ptr @.str192)
%t17 = icmp ne i32 %t16, 0
br i1 %t17, label %wbody1, label %wend2
wbody1:
%t18 = load i32, ptr @g_pi
%t19 = add i32 %t18, 1
store i32 %t19, ptr @g_pi
%t20 = call ptr @fn_eat_id()
store ptr %t20, ptr %t21
%t22 = load ptr, ptr %t21
%t23 = call i32 @fn_str_eq(ptr %t22, ptr @.str193)
%t24 = icmp ne i32 %t23, 0
br i1 %t24, label %then3, label %else4
then3:
store i32 1, ptr %t0
br label %ifend5
else4:
%t25 = load ptr, ptr %t21
%t26 = call i32 @fn_str_eq(ptr %t25, ptr @.str194)
%t27 = icmp ne i32 %t26, 0
br i1 %t27, label %then6, label %else7
then6:
store i32 1, ptr %t10
br label %ifend8
else7:
%t28 = load ptr, ptr %t21
%t29 = call i32 @fn_str_eq(ptr %t28, ptr @.str195)
%t30 = icmp ne i32 %t29, 0
br i1 %t30, label %then9, label %else10
then9:
call void @fn_eat_op(ptr @.str196)
%t31 = call ptr @fn_eat_id()
store ptr %t31, ptr %t9
call void @fn_eat_op(ptr @.str197)
br label %ifend11
else10:
%t32 = load ptr, ptr %t21
%t33 = call i32 @fn_str_eq(ptr %t32, ptr @.str198)
%t34 = icmp ne i32 %t33, 0
br i1 %t34, label %then12, label %else13
then12:
%t35 = call ptr @fn_parse_queries_anno()
store ptr %t35, ptr %t1
br label %ifend14
else13:
%t36 = load ptr, ptr %t21
%t37 = call i32 @fn_str_eq(ptr %t36, ptr @.str199)
%t38 = icmp ne i32 %t37, 0
br i1 %t38, label %then15, label %else16
then15:
call void @fn_eat_op(ptr @.str200)
%t39 = call ptr @fn_eat_id()
store ptr %t39, ptr %t2
call void @fn_eat_op(ptr @.str201)
br label %ifend17
else16:
%t40 = load ptr, ptr %t21
%t41 = call i32 @fn_str_eq(ptr %t40, ptr @.str202)
%t42 = icmp ne i32 %t41, 0
br i1 %t42, label %then18, label %else19
then18:
call void @fn_eat_op(ptr @.str203)
%t43 = call ptr @fn_eat_id()
store ptr %t43, ptr %t3
%t44 = call i32 @fn_is_op(ptr @.str204)
%t45 = icmp ne i32 %t44, 0
br i1 %t45, label %then21, label %ifend23
then21:
%t46 = load i32, ptr @g_pi
%t47 = add i32 %t46, 1
store i32 %t47, ptr @g_pi
%t48 = call ptr @fn_eat_id()
call void @fn_eat_op(ptr @.str205)
%t49 = call ptr @fn_eat_id()
store ptr %t49, ptr %t4
br label %ifend23
ifend23:
call void @fn_eat_op(ptr @.str206)
br label %ifend20
else19:
%t50 = load ptr, ptr %t21
%t51 = call i32 @fn_str_eq(ptr %t50, ptr @.str207)
%t52 = icmp ne i32 %t51, 0
br i1 %t52, label %then24, label %else25
then24:
call void @fn_eat_op(ptr @.str208)
%t53 = call ptr @fn_eat_id()
store ptr %t53, ptr %t5
call void @fn_eat_op(ptr @.str209)
br label %ifend26
else25:
%t54 = load ptr, ptr %t21
%t55 = call i32 @fn_str_eq(ptr %t54, ptr @.str210)
%t56 = icmp ne i32 %t55, 0
br i1 %t56, label %then27, label %else28
then27:
call void @fn_eat_op(ptr @.str211)
%t57 = call ptr @fn_eat_id()
store ptr %t57, ptr %t6
call void @fn_eat_op(ptr @.str212)
br label %ifend29
else28:
%t58 = load ptr, ptr %t21
%t59 = call i32 @fn_str_eq(ptr %t58, ptr @.str213)
%t60 = icmp ne i32 %t59, 0
br i1 %t60, label %then30, label %else31
then30:
call void @fn_eat_op(ptr @.str214)
%t61 = call ptr @fn_eat_id()
store ptr %t61, ptr %t7
call void @fn_eat_op(ptr @.str215)
br label %ifend32
else31:
%t62 = load ptr, ptr %t21
%t63 = call i32 @fn_str_eq(ptr %t62, ptr @.str216)
%t64 = icmp ne i32 %t63, 0
br i1 %t64, label %then33, label %else34
then33:
call void @fn_eat_op(ptr @.str217)
%t65 = call ptr @fn_eat_id()
store ptr %t65, ptr %t8
call void @fn_eat_op(ptr @.str218)
br label %ifend35
else34:
%t66 = load ptr, ptr %t21
%t67 = call i32 @fn_str_eq(ptr %t66, ptr @.str219)
%t68 = icmp ne i32 %t67, 0
br i1 %t68, label %then36, label %else37
then36:
store ptr @.str220, ptr %t11
br label %ifend38
else37:
%t69 = load ptr, ptr %t21
%t70 = call i32 @fn_str_eq(ptr %t69, ptr @.str221)
%t71 = icmp ne i32 %t70, 0
br i1 %t71, label %then39, label %else40
then39:
store ptr @.str222, ptr %t11
br label %ifend41
else40:
%t72 = load ptr, ptr %t21
%t73 = call i32 @fn_str_eq(ptr %t72, ptr @.str223)
%t74 = icmp ne i32 %t73, 0
br i1 %t74, label %then42, label %else43
then42:
store i32 1, ptr %t12
br label %ifend44
else43:
%t75 = load ptr, ptr %t21
%t76 = call i32 @fn_str_eq(ptr %t75, ptr @.str224)
%t77 = icmp ne i32 %t76, 0
br i1 %t77, label %then45, label %else46
then45:
store i32 1, ptr %t13
br label %ifend47
else46:
%t78 = load ptr, ptr %t21
%t79 = call i32 @fn_str_eq(ptr %t78, ptr @.str225)
%t80 = icmp ne i32 %t79, 0
br i1 %t80, label %then48, label %else49
then48:
store ptr @.str226, ptr %t14
br label %ifend50
else49:
%t81 = load ptr, ptr %t21
%t82 = call i32 @fn_str_eq(ptr %t81, ptr @.str227)
%t83 = icmp ne i32 %t82, 0
br i1 %t83, label %then51, label %else52
then51:
store ptr @.str228, ptr %t14
br label %ifend53
else52:
%t84 = load ptr, ptr %t21
%t85 = call i32 @fn_str_eq(ptr %t84, ptr @.str229)
%t86 = icmp ne i32 %t85, 0
br i1 %t86, label %then54, label %else55
then54:
store ptr @.str230, ptr %t15
br label %ifend56
else55:
%t87 = load ptr, ptr %t21
%t88 = call i32 @fn_str_eq(ptr %t87, ptr @.str231)
%t89 = icmp ne i32 %t88, 0
br i1 %t89, label %then57, label %else58
then57:
store ptr @.str232, ptr %t15
br label %ifend59
else58:
%t90 = call i32 @fn_is_op(ptr @.str233)
%t91 = icmp ne i32 %t90, 0
br i1 %t91, label %then60, label %ifend62
then60:
store i32 0, ptr %t92
br label %wcond63
wcond63:
%t93 = icmp ne i32 1, 0
br i1 %t93, label %wbody64, label %wend65
wbody64:
%t94 = call i32 @fn_is_op(ptr @.str234)
%t95 = icmp ne i32 %t94, 0
br i1 %t95, label %then66, label %ifend68
then66:
%t96 = load i32, ptr %t92
%t97 = add i32 %t96, 1
store i32 %t97, ptr %t92
br label %ifend68
ifend68:
%t98 = call i32 @fn_is_op(ptr @.str235)
%t99 = icmp ne i32 %t98, 0
br i1 %t99, label %then69, label %ifend71
then69:
%t100 = load i32, ptr %t92
%t101 = sub i32 %t100, 1
store i32 %t101, ptr %t92
br label %ifend71
ifend71:
%t102 = load i32, ptr @g_pi
%t103 = add i32 %t102, 1
store i32 %t103, ptr @g_pi
%t104 = load i32, ptr %t92
%t105 = icmp eq i32 %t104, 0
%t106 = zext i1 %t105 to i32
%t107 = icmp ne i32 %t106, 0
br i1 %t107, label %then72, label %ifend74
then72:
br label %wend65
ifend74:
br label %wcond63
wend65:
br label %ifend62
ifend62:
br label %ifend59
ifend59:
br label %ifend56
ifend56:
br label %ifend53
ifend53:
br label %ifend50
ifend50:
br label %ifend47
ifend47:
br label %ifend44
ifend44:
br label %ifend41
ifend41:
br label %ifend38
ifend38:
br label %ifend35
ifend35:
br label %ifend32
ifend32:
br label %ifend29
ifend29:
br label %ifend26
ifend26:
br label %ifend20
ifend20:
br label %ifend17
ifend17:
br label %ifend14
ifend14:
br label %ifend11
ifend11:
br label %ifend8
ifend8:
br label %ifend5
ifend5:
call void @fn_skipnl()
br label %wcond0
wend2:
%t108 = call i32 @fn_is_id(ptr @.str236)
%t109 = icmp ne i32 %t108, 0
br i1 %t109, label %then75, label %ifend77
then75:
%t110 = load i32, ptr @g_pi
%t111 = add i32 %t110, 1
store i32 %t111, ptr @g_pi
%t112 = load ptr, ptr @g_toks
%t113 = getelementptr inbounds %LSlice, ptr %t112, i32 0, i32 0
%t114 = load ptr, ptr %t113
%t115 = load i32, ptr @g_pi
%t116 = getelementptr inbounds ptr, ptr %t114, i32 %t115
%t117 = load ptr, ptr %t116
store ptr %t117, ptr %t118
%t119 = load ptr, ptr %t118
%t120 = getelementptr inbounds %Cmp_Tok, ptr %t119, i32 0, i32 0
%t121 = load i32, ptr %t120
%t122 = icmp ne i32 %t121, 2
%t123 = zext i1 %t122 to i32
%t124 = icmp ne i32 %t123, 0
br i1 %t124, label %then78, label %ifend80
then78:
call void @fn_perr(ptr @.str237)
br label %ifend80
ifend80:
%t125 = load ptr, ptr %t118
%t126 = getelementptr inbounds %Cmp_Tok, ptr %t125, i32 0, i32 1
%t127 = load ptr, ptr %t126
store ptr %t127, ptr %t128
%t129 = load i32, ptr @g_pi
%t130 = add i32 %t129, 1
store i32 %t130, ptr @g_pi
%t131 = load ptr, ptr %t128
call void @fn_do_import(ptr %t131)
br label %ret
ifend77:
%t132 = call i32 @fn_is_id(ptr @.str238)
%t133 = icmp ne i32 %t132, 0
br i1 %t133, label %then81, label %ifend83
then81:
%t134 = load ptr, ptr @g_prog
%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 %grow84, label %put85
grow84:
%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
%t149 = call ptr @realloc(ptr %t148, i64 %t147)
store ptr %t149, ptr %t137
store i32 %t143, ptr %t136
br label %put85
put85:
%t150 = call ptr @fn_parse_enum()
%t151 = load ptr, ptr %t137
%t152 = getelementptr inbounds ptr, ptr %t151, i32 %t138
store ptr %t150, ptr %t152
%t153 = add i32 %t138, 1
store i32 %t153, ptr %t135
br label %ret
ifend83:
%t154 = call i32 @fn_is_id(ptr @.str239)
%t155 = icmp ne i32 %t154, 0
br i1 %t155, label %then86, label %ifend88
then86:
%t156 = call ptr @fn_parse_event()
store ptr %t156, ptr %t157
%t158 = load ptr, ptr %t15
%t159 = icmp ne ptr %t158, null
%t160 = zext i1 %t159 to i32
%t161 = icmp ne i32 %t160, 0
br i1 %t161, label %then89, label %ifend91
then89:
%t162 = load ptr, ptr %t157
%t163 = getelementptr inbounds %Cmp_Node, ptr %t162, i32 0, i32 3
%t164 = load ptr, ptr %t15
store ptr %t164, ptr %t163
br label %ifend91
ifend91:
%t165 = load ptr, ptr %t157
call void @fn_register_event(ptr %t165)
br label %ret
ifend88:
%t166 = call i32 @fn_is_id(ptr @.str240)
%t167 = icmp ne i32 %t166, 0
br i1 %t167, label %then92, label %ifend94
then92:
%t168 = call ptr @fn_parse_component()
store ptr %t168, ptr %t169
%t170 = load i32, ptr %t12
%t171 = icmp ne i32 %t170, 0
br i1 %t171, label %then95, label %ifend97
then95:
store i32 0, ptr %t172
br label %wcond98
wcond98:
%t173 = load i32, ptr %t172
%t174 = load ptr, ptr %t169
%t175 = getelementptr inbounds %Cmp_Node, ptr %t174, i32 0, i32 7
%t176 = load ptr, ptr %t175
%t177 = getelementptr inbounds %LSlice, ptr %t176, i32 0, i32 1
%t178 = load i32, ptr %t177
%t179 = icmp slt i32 %t173, %t178
%t180 = zext i1 %t179 to i32
%t181 = icmp ne i32 %t180, 0
br i1 %t181, label %wbody99, label %wend100
wbody99:
%t182 = load ptr, ptr %t169
%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 = load i32, ptr %t172
%t188 = getelementptr inbounds ptr, ptr %t186, i32 %t187
%t189 = load ptr, ptr %t188
%t190 = getelementptr inbounds %Cmp_Node, ptr %t189, i32 0, i32 2
store i32 1, ptr %t190
%t191 = load i32, ptr %t172
%t192 = add i32 %t191, 1
store i32 %t192, ptr %t172
br label %wcond98
wend100:
br label %ifend97
ifend97:
%t193 = load ptr, ptr @g_prog
%t194 = getelementptr inbounds %LSlice, ptr %t193, i32 0, i32 1
%t195 = getelementptr inbounds %LSlice, ptr %t193, i32 0, i32 2
%t196 = getelementptr inbounds %LSlice, ptr %t193, i32 0, i32 0
%t197 = load i32, ptr %t194
%t198 = load i32, ptr %t195
%t199 = icmp sge i32 %t197, %t198
br i1 %t199, label %grow101, label %put102
grow101:
%t200 = mul i32 %t198, 2
%t201 = icmp eq i32 %t198, 0
%t202 = select i1 %t201, i32 8, i32 %t200
%t203 = getelementptr ptr, ptr null, i32 1
%t204 = ptrtoint ptr %t203 to i64
%t205 = zext i32 %t202 to i64
%t206 = mul i64 %t205, %t204
%t207 = load ptr, ptr %t196
%t208 = call ptr @realloc(ptr %t207, i64 %t206)
store ptr %t208, ptr %t196
store i32 %t202, ptr %t195
br label %put102
put102:
%t209 = load ptr, ptr %t169
%t210 = load ptr, ptr %t196
%t211 = getelementptr inbounds ptr, ptr %t210, i32 %t197
store ptr %t209, ptr %t211
%t212 = add i32 %t197, 1
store i32 %t212, ptr %t194
br label %ret
ifend94:
%t213 = call i32 @fn_is_id(ptr @.str241)
%t214 = icmp ne i32 %t213, 0
br i1 %t214, label %then103, label %ifend105
then103:
%t215 = call ptr @fn_parse_archetype()
store ptr %t215, ptr %t216
%t217 = load i32, ptr %t13
%t218 = icmp ne i32 %t217, 0
br i1 %t218, label %then106, label %ifend108
then106:
%t219 = load ptr, ptr %t216
%t220 = getelementptr inbounds %Cmp_Node, ptr %t219, i32 0, i32 2
store i32 1, ptr %t220
br label %ifend108
ifend108:
%t221 = load ptr, ptr @g_prog
%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 %grow109, label %put110
grow109:
%t228 = mul i32 %t226, 2
%t229 = icmp eq i32 %t226, 0
%t230 = select i1 %t229, i32 8, i32 %t228
%t231 = getelementptr ptr, ptr null, i32 1
%t232 = ptrtoint ptr %t231 to i64
%t233 = zext i32 %t230 to i64
%t234 = mul i64 %t233, %t232
%t235 = load ptr, ptr %t224
%t236 = call ptr @realloc(ptr %t235, i64 %t234)
store ptr %t236, ptr %t224
store i32 %t230, ptr %t223
br label %put110
put110:
%t237 = load ptr, ptr %t216
%t238 = load ptr, ptr %t224
%t239 = getelementptr inbounds ptr, ptr %t238, i32 %t225
store ptr %t237, ptr %t239
%t240 = add i32 %t225, 1
store i32 %t240, ptr %t222
br label %ret
ifend105:
%t241 = call i32 @fn_is_id(ptr @.str242)
%t242 = icmp ne i32 %t241, 0
br i1 %t242, label %then111, label %ifend113
then111:
call void @fn_parse_scene()
br label %ret
ifend113:
%t243 = call i32 @fn_is_id(ptr @.str243)
%t244 = icmp ne i32 %t243, 0
br i1 %t244, label %then114, label %ifend116
then114:
%t245 = call ptr @fn_parse_system()
store ptr %t245, ptr %t246
%t247 = load ptr, ptr %t14
%t248 = icmp ne ptr %t247, null
%t249 = zext i1 %t248 to i32
%t250 = icmp ne i32 %t249, 0
br i1 %t250, label %then117, label %ifend119
then117:
%t251 = load ptr, ptr %t14
%t252 = call i32 @fn_str_eq(ptr %t251, ptr @.str244)
%t253 = icmp ne i32 %t252, 0
br i1 %t253, label %then120, label %else121
then120:
%t254 = load ptr, ptr %t246
%t255 = getelementptr inbounds %Cmp_Node, ptr %t254, i32 0, i32 2
store i32 1, ptr %t255
br label %ifend122
else121:
%t256 = load ptr, ptr %t246
%t257 = getelementptr inbounds %Cmp_Node, ptr %t256, i32 0, i32 2
store i32 2, ptr %t257
br label %ifend122
ifend122:
br label %ifend119
ifend119:
%t258 = load ptr, ptr %t9
%t259 = icmp ne ptr %t258, null
%t260 = zext i1 %t259 to i32
%t261 = icmp ne i32 %t260, 0
br i1 %t261, label %then123, label %ifend125
then123:
%t262 = load ptr, ptr %t9
%t263 = load ptr, ptr %t246
%t264 = getelementptr inbounds %Cmp_Node, ptr %t263, i32 0, i32 4
%t265 = load ptr, ptr %t264
call void @fn_register_onlisten(ptr %t262, ptr %t265)
br label %ret
ifend125:
%t266 = load ptr, ptr %t2
%t267 = icmp ne ptr %t266, null
%t268 = zext i1 %t267 to i32
%t269 = icmp ne i32 %t268, 0
br i1 %t269, label %then126, label %ifend128
then126:
%t270 = load ptr, ptr %t2
%t271 = load ptr, ptr %t246
%t272 = getelementptr inbounds %Cmp_Node, ptr %t271, i32 0, i32 4
%t273 = load ptr, ptr %t272
call void @fn_register_onspawn(ptr %t270, ptr %t273)
%t274 = load i32, ptr %t10
%t275 = icmp ne i32 %t274, 0
br i1 %t275, label %then129, label %ifend131
then129:
%t276 = load ptr, ptr %t2
%t277 = call ptr @fn_str_concat(ptr @.str245, ptr %t276)
%t278 = call ptr @fn_str_concat(ptr %t277, ptr @.str246)
call void @fn_ensure_event(ptr %t278, i32 0)
br label %ifend131
ifend131:
br label %ret
ifend128:
%t279 = load ptr, ptr %t3
%t280 = icmp ne ptr %t279, null
%t281 = zext i1 %t280 to i32
%t282 = icmp ne i32 %t281, 0
br i1 %t282, label %then132, label %ifend134
then132:
%t283 = load ptr, ptr %t3
%t284 = load ptr, ptr %t246
%t285 = getelementptr inbounds %Cmp_Node, ptr %t284, i32 0, i32 4
%t286 = load ptr, ptr %t285
%t287 = load ptr, ptr %t4
call void @fn_register_ondespawn(ptr %t283, ptr %t286, ptr %t287)
%t288 = load i32, ptr %t10
%t289 = icmp ne i32 %t288, 0
br i1 %t289, label %then135, label %ifend137
then135:
%t290 = load ptr, ptr %t3
%t291 = call ptr @fn_str_concat(ptr @.str247, ptr %t290)
%t292 = call ptr @fn_str_concat(ptr %t291, ptr @.str248)
call void @fn_ensure_event(ptr %t292, i32 1)
br label %ifend137
ifend137:
br label %ret
ifend134:
%t293 = load ptr, ptr %t5
%t294 = icmp ne ptr %t293, null
%t295 = zext i1 %t294 to i32
%t296 = icmp ne i32 %t295, 0
br i1 %t296, label %then138, label %ifend140
then138:
%t297 = load ptr, ptr %t5
%t298 = load ptr, ptr %t246
%t299 = getelementptr inbounds %Cmp_Node, ptr %t298, i32 0, i32 4
%t300 = load ptr, ptr %t299
call void @fn_register_onattach(ptr %t297, ptr %t300)
%t301 = load i32, ptr %t10
%t302 = icmp ne i32 %t301, 0
br i1 %t302, label %then141, label %ifend143
then141:
%t303 = load ptr, ptr %t5
%t304 = call ptr @fn_str_concat(ptr @.str249, ptr %t303)
%t305 = call ptr @fn_str_concat(ptr %t304, ptr @.str250)
call void @fn_ensure_event(ptr %t305, i32 0)
br label %ifend143
ifend143:
br label %ret
ifend140:
%t306 = load ptr, ptr %t6
%t307 = icmp ne ptr %t306, null
%t308 = zext i1 %t307 to i32
%t309 = icmp ne i32 %t308, 0
br i1 %t309, label %then144, label %ifend146
then144:
%t310 = load ptr, ptr %t6
%t311 = load ptr, ptr %t246
%t312 = getelementptr inbounds %Cmp_Node, ptr %t311, i32 0, i32 4
%t313 = load ptr, ptr %t312
call void @fn_register_ondetach(ptr %t310, ptr %t313)
%t314 = load i32, ptr %t10
%t315 = icmp ne i32 %t314, 0
br i1 %t315, label %then147, label %ifend149
then147:
%t316 = load ptr, ptr %t6
%t317 = call ptr @fn_str_concat(ptr @.str251, ptr %t316)
%t318 = call ptr @fn_str_concat(ptr %t317, ptr @.str252)
call void @fn_ensure_event(ptr %t318, i32 0)
br label %ifend149
ifend149:
br label %ret
ifend146:
%t319 = load ptr, ptr %t7
%t320 = icmp ne ptr %t319, null
%t321 = zext i1 %t320 to i32
%t322 = icmp ne i32 %t321, 0
br i1 %t322, label %then150, label %ifend152
then150:
%t323 = load ptr, ptr %t7
%t324 = load ptr, ptr %t246
%t325 = getelementptr inbounds %Cmp_Node, ptr %t324, i32 0, i32 4
%t326 = load ptr, ptr %t325
call void @fn_register_onenable(ptr %t323, ptr %t326)
%t327 = load i32, ptr %t10
%t328 = icmp ne i32 %t327, 0
br i1 %t328, label %then153, label %ifend155
then153:
%t329 = load ptr, ptr %t7
%t330 = call ptr @fn_str_concat(ptr @.str253, ptr %t329)
%t331 = call ptr @fn_str_concat(ptr %t330, ptr @.str254)
call void @fn_ensure_event(ptr %t331, i32 0)
br label %ifend155
ifend155:
br label %ret
ifend152:
%t332 = load ptr, ptr %t8
%t333 = icmp ne ptr %t332, null
%t334 = zext i1 %t333 to i32
%t335 = icmp ne i32 %t334, 0
br i1 %t335, label %then156, label %ifend158
then156:
%t336 = load ptr, ptr %t8
%t337 = load ptr, ptr %t246
%t338 = getelementptr inbounds %Cmp_Node, ptr %t337, i32 0, i32 4
%t339 = load ptr, ptr %t338
call void @fn_register_ondisable(ptr %t336, ptr %t339)
%t340 = load i32, ptr %t10
%t341 = icmp ne i32 %t340, 0
br i1 %t341, label %then159, label %ifend161
then159:
%t342 = load ptr, ptr %t8
%t343 = call ptr @fn_str_concat(ptr @.str255, ptr %t342)
%t344 = call ptr @fn_str_concat(ptr %t343, ptr @.str256)
call void @fn_ensure_event(ptr %t344, i32 0)
br label %ifend161
ifend161:
br label %ret
ifend158:
%t345 = load ptr, ptr %t11
%t346 = icmp ne ptr %t345, null
%t347 = zext i1 %t346 to i32
%t348 = icmp ne i32 %t347, 0
br i1 %t348, label %then162, label %ifend164
then162:
%t349 = load ptr, ptr %t246
%t350 = getelementptr inbounds %Cmp_Node, ptr %t349, i32 0, i32 3
%t351 = load ptr, ptr %t11
store ptr %t351, ptr %t350
%t352 = load i32, ptr %t10
%t353 = icmp ne i32 %t352, 0
br i1 %t353, label %then165, label %ifend167
then165:
%t354 = load ptr, ptr %t11
%t355 = call i32 @fn_str_eq(ptr %t354, ptr @.str257)
%t356 = icmp ne i32 %t355, 0
br i1 %t356, label %then168, label %else169
then168:
call void @fn_ensure_event_empty(ptr @.str258)
br label %ifend170
else169:
call void @fn_ensure_event_empty(ptr @.str259)
br label %ifend170
ifend170:
br label %ifend167
ifend167:
br label %ifend164
ifend164:
%t357 = load ptr, ptr %t1
%t358 = icmp ne ptr %t357, null
%t359 = zext i1 %t358 to i32
%t360 = icmp ne i32 %t359, 0
br i1 %t360, label %then171, label %ifend173
then171:
%t361 = load ptr, ptr %t1
%t362 = getelementptr inbounds %Cmp_Node, ptr %t361, i32 0, i32 4
%t363 = load ptr, ptr %t246
%t364 = getelementptr inbounds %Cmp_Node, ptr %t363, i32 0, i32 4
%t365 = load ptr, ptr %t364
store ptr %t365, ptr %t362
%t366 = call ptr @fn_node(i32 7)
store ptr %t366, ptr %t367
%t368 = load ptr, ptr %t367
%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 1
%t372 = getelementptr inbounds %LSlice, ptr %t370, i32 0, i32 2
%t373 = getelementptr inbounds %LSlice, ptr %t370, i32 0, i32 0
%t374 = load i32, ptr %t371
%t375 = load i32, ptr %t372
%t376 = icmp sge i32 %t374, %t375
br i1 %t376, label %grow174, label %put175
grow174:
%t377 = mul i32 %t375, 2
%t378 = icmp eq i32 %t375, 0
%t379 = select i1 %t378, i32 8, i32 %t377
%t380 = getelementptr ptr, ptr null, i32 1
%t381 = ptrtoint ptr %t380 to i64
%t382 = zext i32 %t379 to i64
%t383 = mul i64 %t382, %t381
%t384 = load ptr, ptr %t373
%t385 = call ptr @realloc(ptr %t384, i64 %t383)
store ptr %t385, ptr %t373
store i32 %t379, ptr %t372
br label %put175
put175:
%t386 = load ptr, ptr %t1
%t387 = load ptr, ptr %t373
%t388 = getelementptr inbounds ptr, ptr %t387, i32 %t374
store ptr %t386, ptr %t388
%t389 = add i32 %t374, 1
store i32 %t389, ptr %t371
%t390 = load ptr, ptr %t246
%t391 = getelementptr inbounds %Cmp_Node, ptr %t390, i32 0, i32 4
%t392 = load ptr, ptr %t367
store ptr %t392, ptr %t391
br label %ifend173
ifend173:
%t393 = load ptr, ptr @g_prog
%t394 = getelementptr inbounds %LSlice, ptr %t393, i32 0, i32 1
%t395 = getelementptr inbounds %LSlice, ptr %t393, i32 0, i32 2
%t396 = getelementptr inbounds %LSlice, ptr %t393, i32 0, i32 0
%t397 = load i32, ptr %t394
%t398 = load i32, ptr %t395
%t399 = icmp sge i32 %t397, %t398
br i1 %t399, label %grow176, label %put177
grow176:
%t400 = mul i32 %t398, 2
%t401 = icmp eq i32 %t398, 0
%t402 = select i1 %t401, i32 8, i32 %t400
%t403 = getelementptr ptr, ptr null, i32 1
%t404 = ptrtoint ptr %t403 to i64
%t405 = zext i32 %t402 to i64
%t406 = mul i64 %t405, %t404
%t407 = load ptr, ptr %t396
%t408 = call ptr @realloc(ptr %t407, i64 %t406)
store ptr %t408, ptr %t396
store i32 %t402, ptr %t395
br label %put177
put177:
%t409 = load ptr, ptr %t246
%t410 = load ptr, ptr %t396
%t411 = getelementptr inbounds ptr, ptr %t410, i32 %t397
store ptr %t409, ptr %t411
%t412 = add i32 %t397, 1
store i32 %t412, ptr %t394
br label %ret
ifend116:
%t413 = call i32 @fn_is_id(ptr @.str260)
%t414 = icmp ne i32 %t413, 0
br i1 %t414, label %then178, label %ifend180
then178:
%t415 = load ptr, ptr @g_prog
%t416 = getelementptr inbounds %LSlice, ptr %t415, i32 0, i32 1
%t417 = getelementptr inbounds %LSlice, ptr %t415, i32 0, i32 2
%t418 = getelementptr inbounds %LSlice, ptr %t415, i32 0, i32 0
%t419 = load i32, ptr %t416
%t420 = load i32, ptr %t417
%t421 = icmp sge i32 %t419, %t420
br i1 %t421, label %grow181, label %put182
grow181:
%t422 = mul i32 %t420, 2
%t423 = icmp eq i32 %t420, 0
%t424 = select i1 %t423, i32 8, i32 %t422
%t425 = getelementptr ptr, ptr null, i32 1
%t426 = ptrtoint ptr %t425 to i64
%t427 = zext i32 %t424 to i64
%t428 = mul i64 %t427, %t426
%t429 = load ptr, ptr %t418
%t430 = call ptr @realloc(ptr %t429, i64 %t428)
store ptr %t430, ptr %t418
store i32 %t424, ptr %t417
br label %put182
put182:
%t431 = call ptr @fn_parse_ui()
%t432 = load ptr, ptr %t418
%t433 = getelementptr inbounds ptr, ptr %t432, i32 %t419
store ptr %t431, ptr %t433
%t434 = add i32 %t419, 1
store i32 %t434, ptr %t416
br label %ret
ifend180:
%t435 = call i32 @fn_is_id(ptr @.str261)
%t436 = icmp ne i32 %t435, 0
br i1 %t436, label %then183, label %ifend185
then183:
%t437 = load ptr, ptr @g_prog
%t438 = getelementptr inbounds %LSlice, ptr %t437, i32 0, i32 1
%t439 = getelementptr inbounds %LSlice, ptr %t437, i32 0, i32 2
%t440 = getelementptr inbounds %LSlice, ptr %t437, i32 0, i32 0
%t441 = load i32, ptr %t438
%t442 = load i32, ptr %t439
%t443 = icmp sge i32 %t441, %t442
br i1 %t443, label %grow186, label %put187
grow186:
%t444 = mul i32 %t442, 2
%t445 = icmp eq i32 %t442, 0
%t446 = select i1 %t445, i32 8, i32 %t444
%t447 = getelementptr ptr, ptr null, i32 1
%t448 = ptrtoint ptr %t447 to i64
%t449 = zext i32 %t446 to i64
%t450 = mul i64 %t449, %t448
%t451 = load ptr, ptr %t440
%t452 = call ptr @realloc(ptr %t451, i64 %t450)
store ptr %t452, ptr %t440
store i32 %t446, ptr %t439
br label %put187
put187:
%t453 = call ptr @fn_parse_var()
%t454 = load ptr, ptr %t440
%t455 = getelementptr inbounds ptr, ptr %t454, i32 %t441
store ptr %t453, ptr %t455
%t456 = add i32 %t441, 1
store i32 %t456, ptr %t438
br label %ret
ifend185:
%t457 = call i32 @fn_is_id(ptr @.str262)
%t458 = icmp ne i32 %t457, 0
br i1 %t458, label %then188, label %ifend190
then188:
%t459 = load ptr, ptr @g_prog
%t460 = getelementptr inbounds %LSlice, ptr %t459, i32 0, i32 1
%t461 = getelementptr inbounds %LSlice, ptr %t459, i32 0, i32 2
%t462 = getelementptr inbounds %LSlice, ptr %t459, i32 0, i32 0
%t463 = load i32, ptr %t460
%t464 = load i32, ptr %t461
%t465 = icmp sge i32 %t463, %t464
br i1 %t465, label %grow191, label %put192
grow191:
%t466 = mul i32 %t464, 2
%t467 = icmp eq i32 %t464, 0
%t468 = select i1 %t467, i32 8, i32 %t466
%t469 = getelementptr ptr, 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
%t474 = call ptr @realloc(ptr %t473, i64 %t472)
store ptr %t474, ptr %t462
store i32 %t468, ptr %t461
br label %put192
put192:
%t475 = call ptr @fn_parse_const()
%t476 = load ptr, ptr %t462
%t477 = getelementptr inbounds ptr, ptr %t476, i32 %t463
store ptr %t475, ptr %t477
%t478 = add i32 %t463, 1
store i32 %t478, ptr %t460
br label %ret
ifend190:
%t479 = call i32 @fn_is_id(ptr @.str263)
%t480 = icmp ne i32 %t479, 0
br i1 %t480, label %then193, label %ifend195
then193:
%t481 = call ptr @fn_parse_fn()
store ptr %t481, ptr %t482
%t483 = load i32, ptr %t0
%t484 = icmp ne i32 %t483, 0
br i1 %t484, label %then196, label %ifend198
then196:
%t485 = load ptr, ptr %t482
%t486 = getelementptr inbounds %Cmp_Node, ptr %t485, i32 0, i32 2
store i32 1, ptr %t486
br label %ifend198
ifend198:
%t487 = load ptr, ptr @g_prog
%t488 = getelementptr inbounds %LSlice, ptr %t487, i32 0, i32 1
%t489 = getelementptr inbounds %LSlice, ptr %t487, i32 0, i32 2
%t490 = getelementptr inbounds %LSlice, ptr %t487, i32 0, i32 0
%t491 = load i32, ptr %t488
%t492 = load i32, ptr %t489
%t493 = icmp sge i32 %t491, %t492
br i1 %t493, label %grow199, label %put200
grow199:
%t494 = mul i32 %t492, 2
%t495 = icmp eq i32 %t492, 0
%t496 = select i1 %t495, i32 8, i32 %t494
%t497 = getelementptr ptr, ptr null, i32 1
%t498 = ptrtoint ptr %t497 to i64
%t499 = zext i32 %t496 to i64
%t500 = mul i64 %t499, %t498
%t501 = load ptr, ptr %t490
%t502 = call ptr @realloc(ptr %t501, i64 %t500)
store ptr %t502, ptr %t490
store i32 %t496, ptr %t489
br label %put200
put200:
%t503 = load ptr, ptr %t482
%t504 = load ptr, ptr %t490
%t505 = getelementptr inbounds ptr, ptr %t504, i32 %t491
store ptr %t503, ptr %t505
%t506 = add i32 %t491, 1
store i32 %t506, ptr %t488
br label %ret
ifend195:
%t507 = call i32 @fn_is_id(ptr @.str264)
%t508 = icmp ne i32 %t507, 0
br i1 %t508, label %then201, label %ifend203
then201:
%t509 = load ptr, ptr @g_prog
%t510 = getelementptr inbounds %LSlice, ptr %t509, i32 0, i32 1
%t511 = getelementptr inbounds %LSlice, ptr %t509, i32 0, i32 2
%t512 = getelementptr inbounds %LSlice, ptr %t509, i32 0, i32 0
%t513 = load i32, ptr %t510
%t514 = load i32, ptr %t511
%t515 = icmp sge i32 %t513, %t514
br i1 %t515, label %grow204, label %put205
grow204:
%t516 = mul i32 %t514, 2
%t517 = icmp eq i32 %t514, 0
%t518 = select i1 %t517, i32 8, i32 %t516
%t519 = getelementptr ptr, ptr null, i32 1
%t520 = ptrtoint ptr %t519 to i64
%t521 = zext i32 %t518 to i64
%t522 = mul i64 %t521, %t520
%t523 = load ptr, ptr %t512
%t524 = call ptr @realloc(ptr %t523, i64 %t522)
store ptr %t524, ptr %t512
store i32 %t518, ptr %t511
br label %put205
put205:
%t525 = call ptr @fn_parse_extern()
%t526 = load ptr, ptr %t512
%t527 = getelementptr inbounds ptr, ptr %t526, i32 %t513
store ptr %t525, ptr %t527
%t528 = add i32 %t513, 1
store i32 %t528, ptr %t510
br label %ret
ifend203:
%t529 = call i32 @fn_is_id(ptr @.str265)
%t530 = icmp ne i32 %t529, 0
br i1 %t530, label %then206, label %ifend208
then206:
%t531 = load ptr, ptr @g_prog
%t532 = getelementptr inbounds %LSlice, ptr %t531, i32 0, i32 1
%t533 = getelementptr inbounds %LSlice, ptr %t531, i32 0, i32 2
%t534 = getelementptr inbounds %LSlice, ptr %t531, i32 0, i32 0
%t535 = load i32, ptr %t532
%t536 = load i32, ptr %t533
%t537 = icmp sge i32 %t535, %t536
br i1 %t537, label %grow209, label %put210
grow209:
%t538 = mul i32 %t536, 2
%t539 = icmp eq i32 %t536, 0
%t540 = select i1 %t539, i32 8, i32 %t538
%t541 = getelementptr ptr, 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
%t546 = call ptr @realloc(ptr %t545, i64 %t544)
store ptr %t546, ptr %t534
store i32 %t540, ptr %t533
br label %put210
put210:
%t547 = call ptr @fn_parse_main()
%t548 = load ptr, ptr %t534
%t549 = getelementptr inbounds ptr, ptr %t548, i32 %t535
store ptr %t547, ptr %t549
%t550 = add i32 %t535, 1
store i32 %t550, ptr %t532
br label %ret
ifend208:
%t551 = call i32 @fn_is_id(ptr @.str266)
%t552 = icmp ne i32 %t551, 0
br i1 %t552, label %then211, label %ifend213
then211:
%t553 = load ptr, ptr @g_g_tests
%t554 = getelementptr inbounds %LSlice, ptr %t553, i32 0, i32 1
%t555 = getelementptr inbounds %LSlice, ptr %t553, i32 0, i32 2
%t556 = getelementptr inbounds %LSlice, ptr %t553, i32 0, i32 0
%t557 = load i32, ptr %t554
%t558 = load i32, ptr %t555
%t559 = icmp sge i32 %t557, %t558
br i1 %t559, label %grow214, label %put215
grow214:
%t560 = mul i32 %t558, 2
%t561 = icmp eq i32 %t558, 0
%t562 = select i1 %t561, i32 8, i32 %t560
%t563 = getelementptr ptr, ptr null, i32 1
%t564 = ptrtoint ptr %t563 to i64
%t565 = zext i32 %t562 to i64
%t566 = mul i64 %t565, %t564
%t567 = load ptr, ptr %t556
%t568 = call ptr @realloc(ptr %t567, i64 %t566)
store ptr %t568, ptr %t556
store i32 %t562, ptr %t555
br label %put215
put215:
%t569 = call ptr @fn_parse_test()
%t570 = load ptr, ptr %t556
%t571 = getelementptr inbounds ptr, ptr %t570, i32 %t557
store ptr %t569, ptr %t571
%t572 = add i32 %t557, 1
store i32 %t572, ptr %t554
br label %ret
ifend213:
call void @fn_perr(ptr @.str267)
br label %ret
ret:
ret void
}
define ptr @fn_parse_test() {
entry:
%retval = alloca ptr
%t8 = alloca i32
%t23 = alloca ptr
%t0 = load ptr, ptr @g_toks
%t1 = getelementptr inbounds %LSlice, ptr %t0, i32 0, i32 0
%t2 = load ptr, ptr %t1
%t3 = load i32, ptr @g_pi
%t4 = getelementptr inbounds ptr, ptr %t2, i32 %t3
%t5 = load ptr, ptr %t4
%t6 = getelementptr inbounds %Cmp_Tok, ptr %t5, i32 0, i32 3
%t7 = load i32, ptr %t6
store i32 %t7, ptr %t8
%t9 = load i32, ptr @g_pi
%t10 = add i32 %t9, 1
store i32 %t10, ptr @g_pi
%t11 = load ptr, ptr @g_toks
%t12 = getelementptr inbounds %LSlice, ptr %t11, i32 0, i32 0
%t13 = load ptr, ptr %t12
%t14 = load i32, ptr @g_pi
%t15 = getelementptr inbounds ptr, ptr %t13, i32 %t14
%t16 = load ptr, ptr %t15
%t17 = getelementptr inbounds %Cmp_Tok, ptr %t16, i32 0, i32 0
%t18 = load i32, ptr %t17
%t19 = icmp ne i32 %t18, 2
%t20 = zext i1 %t19 to i32
%t21 = icmp ne i32 %t20, 0
br i1 %t21, label %then0, label %ifend2
then0:
call void @fn_perr(ptr @.str268)
br label %ifend2
ifend2:
%t22 = call ptr @fn_node(i32 51)
store ptr %t22, ptr %t23
%t24 = load ptr, ptr %t23
%t25 = getelementptr inbounds %Cmp_Node, ptr %t24, i32 0, i32 1
%t26 = load ptr, ptr @g_toks
%t27 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 0
%t28 = load ptr, ptr %t27
%t29 = load i32, ptr @g_pi
%t30 = getelementptr inbounds ptr, ptr %t28, i32 %t29
%t31 = load ptr, ptr %t30
%t32 = getelementptr inbounds %Cmp_Tok, ptr %t31, i32 0, i32 1
%t33 = load ptr, ptr %t32
store ptr %t33, ptr %t25
%t34 = load ptr, ptr %t23
%t35 = getelementptr inbounds %Cmp_Node, ptr %t34, i32 0, i32 8
%t36 = load i32, ptr %t8
store i32 %t36, ptr %t35
%t37 = load i32, ptr @g_pi
%t38 = add i32 %t37, 1
store i32 %t38, ptr @g_pi
%t39 = load ptr, ptr %t23
%t40 = getelementptr inbounds %Cmp_Node, ptr %t39, i32 0, i32 4
%t41 = call ptr @fn_block()
store ptr %t41, ptr %t40
%t42 = load ptr, ptr %t23
store ptr %t42, ptr %retval
br label %ret
ret:
%t43 = load ptr, ptr %retval
ret ptr %t43
}
define void @fn_do_import(ptr %arg_rel) {
entry:
%t0 = alloca ptr
%t4 = alloca ptr
%t30 = alloca ptr
%t38 = alloca ptr
%t40 = alloca i32
%t42 = alloca ptr
store ptr %arg_rel, ptr %t0
%t1 = load ptr, ptr @g_cur_dir
%t2 = load ptr, ptr %t0
%t3 = call ptr @fn_path_join(ptr %t1, ptr %t2)
store ptr %t3, ptr %t4
%t5 = load ptr, ptr %t4
%t6 = call i32 @fn_already_loaded(ptr %t5)
%t7 = icmp ne i32 %t6, 0
br i1 %t7, label %then0, label %ifend2
then0:
br label %ret
ifend2:
%t8 = load ptr, ptr @g_loaded_paths
%t9 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 1
%t10 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 2
%t11 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 0
%t12 = load i32, ptr %t9
%t13 = load i32, ptr %t10
%t14 = icmp sge i32 %t12, %t13
br i1 %t14, label %grow3, label %put4
grow3:
%t15 = mul i32 %t13, 2
%t16 = icmp eq i32 %t13, 0
%t17 = select i1 %t16, i32 8, i32 %t15
%t18 = getelementptr ptr, ptr null, i32 1
%t19 = ptrtoint ptr %t18 to i64
%t20 = zext i32 %t17 to i64
%t21 = mul i64 %t20, %t19
%t22 = load ptr, ptr %t11
%t23 = call ptr @realloc(ptr %t22, i64 %t21)
store ptr %t23, ptr %t11
store i32 %t17, ptr %t10
br label %put4
put4:
%t24 = load ptr, ptr %t4
%t25 = load ptr, ptr %t11
%t26 = getelementptr inbounds ptr, ptr %t25, i32 %t12
store ptr %t24, ptr %t26
%t27 = add i32 %t12, 1
store i32 %t27, ptr %t9
%t28 = load ptr, ptr %t4
%t29 = call ptr @fn_read_file(ptr %t28)
store ptr %t29, ptr %t30
%t31 = load ptr, ptr %t30
%t32 = icmp eq 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 %t4
%t36 = call ptr @fn_str_concat(ptr @.str269, ptr %t35)
call void @fn_perr(ptr %t36)
br label %ifend7
ifend7:
%t37 = load ptr, ptr @g_toks
store ptr %t37, ptr %t38
%t39 = load i32, ptr @g_pi
store i32 %t39, ptr %t40
%t41 = load ptr, ptr @g_cur_dir
store ptr %t41, ptr %t42
%t43 = load ptr, ptr %t4
%t44 = call ptr @fn_dir_of(ptr %t43)
store ptr %t44, ptr @g_cur_dir
%t45 = load ptr, ptr %t30
call void @fn_lex(ptr %t45)
store i32 0, ptr @g_pi
call void @fn_skipnl()
br label %wcond8
wcond8:
%t46 = load ptr, ptr @g_toks
%t47 = getelementptr inbounds %LSlice, ptr %t46, i32 0, i32 0
%t48 = load ptr, ptr %t47
%t49 = load i32, ptr @g_pi
%t50 = getelementptr inbounds ptr, ptr %t48, i32 %t49
%t51 = load ptr, ptr %t50
%t52 = getelementptr inbounds %Cmp_Tok, ptr %t51, i32 0, i32 0
%t53 = load i32, ptr %t52
%t54 = icmp ne i32 %t53, 5
%t55 = zext i1 %t54 to i32
%t56 = icmp ne i32 %t55, 0
br i1 %t56, label %wbody9, label %wend10
wbody9:
call void @fn_parse_one_decl()
call void @fn_skipnl()
br label %wcond8
wend10:
%t57 = load ptr, ptr %t38
store ptr %t57, ptr @g_toks
%t58 = load i32, ptr %t40
store i32 %t58, ptr @g_pi
%t59 = load ptr, ptr %t42
store ptr %t59, ptr @g_cur_dir
br label %ret
ret:
ret void
}
define void @fn_maybe_splice_runtime() {
entry:
%t1 = alloca ptr
%t34 = alloca i32
%t47 = alloca i32
%t0 = load ptr, ptr @g_cur_dir
store ptr %t0, ptr %t1
%t2 = call i32 @fn_has_ecs()
%t3 = icmp ne i32 %t2, 0
br i1 %t3, label %then0, label %ifend2
then0:
store ptr @.str270, ptr @g_cur_dir
call void @fn_do_import(ptr @.str271)
%t4 = load ptr, ptr %t1
store ptr %t4, ptr @g_cur_dir
br label %ifend2
ifend2:
%t5 = load i32, ptr @g_g_uses_regex
%t6 = icmp ne i32 %t5, 0
br i1 %t6, label %then3, label %ifend5
then3:
store ptr @.str272, ptr @g_cur_dir
call void @fn_do_import(ptr @.str273)
call void @fn_do_import(ptr @.str274)
%t7 = load ptr, ptr %t1
store ptr %t7, ptr @g_cur_dir
br label %ifend5
ifend5:
%t8 = load i32, ptr @g_g_uses_query
%t9 = icmp ne i32 %t8, 0
br i1 %t9, label %then6, label %ifend8
then6:
store ptr @.str275, ptr @g_cur_dir
call void @fn_do_import(ptr @.str276)
%t10 = load ptr, ptr %t1
store ptr %t10, ptr @g_cur_dir
br label %ifend8
ifend8:
%t11 = load i32, ptr @g_g_uses_light
%t12 = icmp ne i32 %t11, 0
br i1 %t12, label %then9, label %ifend11
then9:
store ptr @.str277, ptr @g_cur_dir
call void @fn_do_import(ptr @.str278)
%t13 = load ptr, ptr %t1
store ptr %t13, ptr @g_cur_dir
br label %ifend11
ifend11:
%t14 = load i32, ptr @g_g_uses_value
%t15 = icmp ne i32 %t14, 0
br i1 %t15, label %then12, label %ifend14
then12:
store ptr @.str279, ptr @g_cur_dir
call void @fn_do_import(ptr @.str280)
%t16 = load ptr, ptr %t1
store ptr %t16, ptr @g_cur_dir
br label %ifend14
ifend14:
%t17 = load i32, ptr @g_g_uses_reflect_io
%t18 = icmp ne i32 %t17, 0
br i1 %t18, label %then15, label %ifend17
then15:
store ptr @.str281, ptr @g_cur_dir
call void @fn_do_import(ptr @.str282)
%t19 = load ptr, ptr %t1
store ptr %t19, ptr @g_cur_dir
br label %ifend17
ifend17:
%t20 = load i32, ptr @g_g_uses_input
%t21 = icmp ne i32 %t20, 0
br i1 %t21, label %then18, label %ifend20
then18:
store ptr @.str283, ptr @g_cur_dir
call void @fn_do_import(ptr @.str284)
call void @fn_do_import(ptr @.str285)
%t22 = load ptr, ptr %t1
store ptr %t22, ptr @g_cur_dir
br label %ifend20
ifend20:
%t23 = load i32, ptr @g_g_uses_tween_rt
%t24 = icmp ne i32 %t23, 0
br i1 %t24, label %then21, label %ifend23
then21:
store ptr @.str286, ptr @g_cur_dir
call void @fn_do_import(ptr @.str287)
call void @fn_do_import(ptr @.str288)
%t25 = load ptr, ptr %t1
store ptr %t25, ptr @g_cur_dir
br label %ifend23
ifend23:
%t26 = load i32, ptr @g_g_uses_audio
%t27 = icmp ne i32 %t26, 0
br i1 %t27, label %then24, label %ifend26
then24:
store ptr @.str289, ptr @g_cur_dir
call void @fn_do_import(ptr @.str290)
%t28 = load ptr, ptr %t1
store ptr %t28, ptr @g_cur_dir
br label %ifend26
ifend26:
%t29 = load i32, ptr @g_g_uses_anim_rt
%t30 = icmp ne i32 %t29, 0
br i1 %t30, label %then27, label %ifend29
then27:
store i32 1, ptr @g_g_uses_esys
store ptr @.str291, ptr @g_cur_dir
call void @fn_do_import(ptr @.str292)
call void @fn_do_import(ptr @.str293)
%t31 = load ptr, ptr %t1
store ptr %t31, ptr @g_cur_dir
br label %ifend29
ifend29:
%t32 = call i32 @fn_uses_engine_systems()
%t33 = icmp ne i32 %t32, 0
br i1 %t33, label %then30, label %ifend32
then30:
store i32 1, ptr @g_g_uses_esys
store ptr @.str294, ptr @g_cur_dir
%t35 = call ptr @fn_find_comp(ptr @.str295)
%t36 = icmp ne ptr %t35, null
%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 %scend34, label %sc33
sc33:
%t40 = call ptr @fn_find_comp(ptr @.str296)
%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 %t34
br label %scend34
scend34:
%t45 = load i32, ptr %t34
%t46 = icmp ne i32 %t45, 0
br i1 %t46, label %then35, label %ifend37
then35:
call void @fn_do_import(ptr @.str297)
br label %ifend37
ifend37:
%t48 = call ptr @fn_find_comp(ptr @.str298)
%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 %scend39, label %sc38
sc38:
%t53 = call ptr @fn_find_comp(ptr @.str299)
%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 %t47
br label %scend39
scend39:
%t58 = load i32, ptr %t47
%t59 = icmp ne i32 %t58, 0
br i1 %t59, label %then40, label %ifend42
then40:
call void @fn_do_import(ptr @.str300)
call void @fn_do_import(ptr @.str301)
store i32 1, ptr @g_g_uses_light
br label %ifend42
ifend42:
%t60 = load ptr, ptr %t1
store ptr %t60, ptr @g_cur_dir
br label %ifend32
ifend32:
br label %ret
ret:
ret void
}
define void @fn_parse_program() {
entry:
%t94 = alloca ptr
%t98 = alloca ptr
%t107 = alloca ptr
%t110 = alloca i32
%t0 = getelementptr %LSlice, ptr null, i32 1
%t1 = ptrtoint ptr %t0 to i64
%t2 = call ptr @malloc(i64 %t1)
%t3 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 0
store ptr null, ptr %t3
%t4 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 1
store i32 0, ptr %t4
%t5 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 2
store i32 0, ptr %t5
store ptr %t2, ptr @g_prog
%t6 = getelementptr %LSlice, ptr null, i32 1
%t7 = ptrtoint ptr %t6 to i64
%t8 = call ptr @malloc(i64 %t7)
%t9 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 0
store ptr null, ptr %t9
%t10 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 1
store i32 0, ptr %t10
%t11 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 2
store i32 0, ptr %t11
store ptr %t8, ptr @g_g_computed
%t12 = getelementptr %LSlice, ptr null, i32 1
%t13 = ptrtoint ptr %t12 to i64
%t14 = call ptr @malloc(i64 %t13)
%t15 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 0
store ptr null, ptr %t15
%t16 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 1
store i32 0, ptr %t16
%t17 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 2
store i32 0, ptr %t17
store ptr %t14, ptr @g_g_onspawn
%t18 = getelementptr %LSlice, ptr null, i32 1
%t19 = ptrtoint ptr %t18 to i64
%t20 = call ptr @malloc(i64 %t19)
%t21 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 0
store ptr null, ptr %t21
%t22 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 1
store i32 0, ptr %t22
%t23 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 2
store i32 0, ptr %t23
store ptr %t20, ptr @g_g_ondespawn
%t24 = getelementptr %LSlice, ptr null, i32 1
%t25 = ptrtoint ptr %t24 to i64
%t26 = call ptr @malloc(i64 %t25)
%t27 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 0
store ptr null, ptr %t27
%t28 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 1
store i32 0, ptr %t28
%t29 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 2
store i32 0, ptr %t29
store ptr %t26, ptr @g_g_onattach
%t30 = getelementptr %LSlice, ptr null, i32 1
%t31 = ptrtoint ptr %t30 to i64
%t32 = call ptr @malloc(i64 %t31)
%t33 = getelementptr inbounds %LSlice, ptr %t32, i32 0, i32 0
store ptr null, ptr %t33
%t34 = getelementptr inbounds %LSlice, ptr %t32, i32 0, i32 1
store i32 0, ptr %t34
%t35 = getelementptr inbounds %LSlice, ptr %t32, i32 0, i32 2
store i32 0, ptr %t35
store ptr %t32, ptr @g_g_ondetach
%t36 = getelementptr %LSlice, ptr null, i32 1
%t37 = ptrtoint ptr %t36 to i64
%t38 = call ptr @malloc(i64 %t37)
%t39 = getelementptr inbounds %LSlice, ptr %t38, i32 0, i32 0
store ptr null, ptr %t39
%t40 = getelementptr inbounds %LSlice, ptr %t38, i32 0, i32 1
store i32 0, ptr %t40
%t41 = getelementptr inbounds %LSlice, ptr %t38, i32 0, i32 2
store i32 0, ptr %t41
store ptr %t38, ptr @g_g_onenable
%t42 = getelementptr %LSlice, ptr null, i32 1
%t43 = ptrtoint ptr %t42 to i64
%t44 = call ptr @malloc(i64 %t43)
%t45 = getelementptr inbounds %LSlice, ptr %t44, i32 0, i32 0
store ptr null, ptr %t45
%t46 = getelementptr inbounds %LSlice, ptr %t44, i32 0, i32 1
store i32 0, ptr %t46
%t47 = getelementptr inbounds %LSlice, ptr %t44, i32 0, i32 2
store i32 0, ptr %t47
store ptr %t44, ptr @g_g_ondisable
%t48 = getelementptr %LSlice, ptr null, i32 1
%t49 = ptrtoint ptr %t48 to i64
%t50 = call ptr @malloc(i64 %t49)
%t51 = getelementptr inbounds %LSlice, ptr %t50, i32 0, i32 0
store ptr null, ptr %t51
%t52 = getelementptr inbounds %LSlice, ptr %t50, i32 0, i32 1
store i32 0, ptr %t52
%t53 = getelementptr inbounds %LSlice, ptr %t50, i32 0, i32 2
store i32 0, ptr %t53
store ptr %t50, ptr @g_g_scenes
store i32 0, ptr @g_g_scene_count
store i32 0, ptr @g_g_start_scene
%t54 = getelementptr %LSlice, ptr null, i32 1
%t55 = ptrtoint ptr %t54 to i64
%t56 = call ptr @malloc(i64 %t55)
%t57 = getelementptr inbounds %LSlice, ptr %t56, i32 0, i32 0
store ptr null, ptr %t57
%t58 = getelementptr inbounds %LSlice, ptr %t56, i32 0, i32 1
store i32 0, ptr %t58
%t59 = getelementptr inbounds %LSlice, ptr %t56, i32 0, i32 2
store i32 0, ptr %t59
store ptr %t56, ptr @g_g_events
%t60 = getelementptr %LSlice, ptr null, i32 1
%t61 = ptrtoint ptr %t60 to i64
%t62 = call ptr @malloc(i64 %t61)
%t63 = getelementptr inbounds %LSlice, ptr %t62, i32 0, i32 0
store ptr null, ptr %t63
%t64 = getelementptr inbounds %LSlice, ptr %t62, i32 0, i32 1
store i32 0, ptr %t64
%t65 = getelementptr inbounds %LSlice, ptr %t62, i32 0, i32 2
store i32 0, ptr %t65
store ptr %t62, ptr @g_g_onlisten
%t66 = getelementptr %LSlice, ptr null, i32 1
%t67 = ptrtoint ptr %t66 to i64
%t68 = call ptr @malloc(i64 %t67)
%t69 = getelementptr inbounds %LSlice, ptr %t68, i32 0, i32 0
store ptr null, ptr %t69
%t70 = getelementptr inbounds %LSlice, ptr %t68, i32 0, i32 1
store i32 0, ptr %t70
%t71 = getelementptr inbounds %LSlice, ptr %t68, i32 0, i32 2
store i32 0, ptr %t71
store ptr %t68, ptr @g_g_toggled_layers
store i32 0, ptr @g_g_uses_regex
store i32 0, ptr @g_g_uses_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_uses_light
store i32 0, ptr @g_g_uses_value
store i32 0, ptr @g_g_uses_reflect_io
%t72 = getelementptr %LSlice, ptr null, i32 1
%t73 = ptrtoint ptr %t72 to i64
%t74 = call ptr @malloc(i64 %t73)
%t75 = getelementptr inbounds %LSlice, ptr %t74, i32 0, i32 0
store ptr null, ptr %t75
%t76 = getelementptr inbounds %LSlice, ptr %t74, i32 0, i32 1
store i32 0, ptr %t76
%t77 = getelementptr inbounds %LSlice, ptr %t74, i32 0, i32 2
store i32 0, ptr %t77
store ptr %t74, ptr @g_g_tests
%t78 = getelementptr %LSlice, ptr null, i32 1
%t79 = ptrtoint ptr %t78 to i64
%t80 = call ptr @malloc(i64 %t79)
%t81 = getelementptr inbounds %LSlice, ptr %t80, i32 0, i32 0
store ptr null, ptr %t81
%t82 = getelementptr inbounds %LSlice, ptr %t80, i32 0, i32 1
store i32 0, ptr %t82
%t83 = getelementptr inbounds %LSlice, ptr %t80, i32 0, i32 2
store i32 0, ptr %t83
store ptr %t80, ptr @g_loaded_paths
call void @fn_skipnl()
store ptr @.str302, ptr @g_g_game_name
br label %wcond0
wcond0:
%t84 = call i32 @fn_is_id(ptr @.str303)
%t85 = icmp ne i32 %t84, 0
br i1 %t85, label %wbody1, label %wend2
wbody1:
%t86 = load i32, ptr @g_pi
%t87 = add i32 %t86, 1
store i32 %t87, ptr @g_pi
%t88 = load ptr, ptr @g_toks
%t89 = getelementptr inbounds %LSlice, ptr %t88, i32 0, i32 0
%t90 = load ptr, ptr %t89
%t91 = load i32, ptr @g_pi
%t92 = getelementptr inbounds ptr, ptr %t90, i32 %t91
%t93 = load ptr, ptr %t92
store ptr %t93, ptr %t94
%t95 = load ptr, ptr %t94
%t96 = getelementptr inbounds %Cmp_Tok, ptr %t95, i32 0, i32 1
%t97 = load ptr, ptr %t96
store ptr %t97, ptr %t98
%t99 = load i32, ptr @g_pi
%t100 = add i32 %t99, 1
store i32 %t100, ptr @g_pi
%t101 = load ptr, ptr %t98
call void @fn_do_import(ptr %t101)
call void @fn_skipnl()
br label %wcond0
wend2:
br label %wcond3
wcond3:
%t102 = call i32 @fn_is_op(ptr @.str304)
%t103 = icmp ne i32 %t102, 0
br i1 %t103, label %wbody4, label %wend5
wbody4:
%t104 = load i32, ptr @g_pi
%t105 = add i32 %t104, 1
store i32 %t105, ptr @g_pi
%t106 = call ptr @fn_eat_id()
store ptr %t106, ptr %t107
%t108 = call i32 @fn_is_op(ptr @.str305)
%t109 = icmp ne i32 %t108, 0
br i1 %t109, label %then6, label %ifend8
then6:
store i32 0, ptr %t110
br label %wcond9
wcond9:
%t111 = icmp ne i32 1, 0
br i1 %t111, label %wbody10, label %wend11
wbody10:
%t112 = call i32 @fn_is_op(ptr @.str306)
%t113 = icmp ne i32 %t112, 0
br i1 %t113, label %then12, label %ifend14
then12:
%t114 = load i32, ptr %t110
%t115 = add i32 %t114, 1
store i32 %t115, ptr %t110
br label %ifend14
ifend14:
%t116 = call i32 @fn_is_op(ptr @.str307)
%t117 = icmp ne i32 %t116, 0
br i1 %t117, label %then15, label %ifend17
then15:
%t118 = load i32, ptr %t110
%t119 = sub i32 %t118, 1
store i32 %t119, ptr %t110
br label %ifend17
ifend17:
%t120 = load i32, ptr @g_pi
%t121 = add i32 %t120, 1
store i32 %t121, ptr @g_pi
%t122 = load i32, ptr %t110
%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:
br label %wend11
ifend20:
br label %wcond9
wend11:
br label %ifend8
ifend8:
call void @fn_skipnl()
br label %wcond3
wend5:
%t126 = call i32 @fn_is_id(ptr @.str308)
%t127 = icmp ne i32 %t126, 0
br i1 %t127, label %then21, label %ifend23
then21:
%t128 = load i32, ptr @g_pi
%t129 = add i32 %t128, 1
store i32 %t129, ptr @g_pi
%t130 = call ptr @fn_eat_id()
store ptr %t130, ptr @g_g_game_name
call void @fn_skipnl()
call void @fn_eat_op(ptr @.str309)
br label %ifend23
ifend23:
br label %wcond24
wcond24:
%t131 = icmp ne i32 1, 0
br i1 %t131, label %wbody25, label %wend26
wbody25:
call void @fn_skipnl()
%t132 = load ptr, ptr @g_toks
%t133 = getelementptr inbounds %LSlice, ptr %t132, i32 0, i32 0
%t134 = load ptr, ptr %t133
%t135 = load i32, ptr @g_pi
%t136 = getelementptr inbounds ptr, ptr %t134, i32 %t135
%t137 = load ptr, ptr %t136
%t138 = getelementptr inbounds %Cmp_Tok, ptr %t137, i32 0, i32 0
%t139 = load i32, ptr %t138
%t140 = icmp eq i32 %t139, 5
%t141 = zext i1 %t140 to i32
%t142 = icmp ne i32 %t141, 0
br i1 %t142, label %then27, label %ifend29
then27:
br label %wend26
ifend29:
%t143 = call i32 @fn_is_op(ptr @.str310)
%t144 = icmp ne i32 %t143, 0
br i1 %t144, label %then30, label %ifend32
then30:
br label %wend26
ifend32:
call void @fn_parse_one_decl()
br label %wcond24
wend26:
br label %ret
ret:
ret void
}
define ptr @fn_parse_component() {
entry:
%retval = alloca ptr
%t3 = alloca ptr
%t10 = alloca i32
%t11 = alloca i32
%t17 = alloca ptr
%t25 = alloca ptr
%t0 = load i32, ptr @g_pi
%t1 = add i32 %t0, 1
store i32 %t1, ptr @g_pi
%t2 = call ptr @fn_node(i32 8)
store ptr %t2, ptr %t3
%t4 = load ptr, ptr %t3
%t5 = getelementptr inbounds %Cmp_Node, ptr %t4, i32 0, i32 1
%t6 = call ptr @fn_eat_id()
store ptr %t6, ptr %t5
call void @fn_skipnl()
call void @fn_eat_op(ptr @.str311)
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 @.str312)
%t9 = icmp ne i32 %t8, 0
br i1 %t9, label %then3, label %ifend5
then3:
br label %wend2
ifend5:
store i32 0, ptr %t10
store i32 0, ptr %t11
%t12 = call i32 @fn_is_op(ptr @.str313)
%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 @fn_str_eq(ptr %t18, ptr @.str314)
%t20 = icmp ne i32 %t19, 0
br i1 %t20, label %then9, label %else10
then9:
store i32 1, ptr %t10
br label %ifend11
else10:
%t21 = load ptr, ptr %t17
%t22 = call i32 @fn_str_eq(ptr %t21, ptr @.str315)
%t23 = icmp ne i32 %t22, 0
br i1 %t23, label %then12, label %ifend14
then12:
store i32 1, ptr %t11
br label %ifend14
ifend14:
br label %ifend11
ifend11:
call void @fn_skipnl()
br label %ifend8
ifend8:
%t24 = call ptr @fn_node(i32 1)
store ptr %t24, ptr %t25
%t26 = load ptr, ptr %t25
%t27 = getelementptr inbounds %Cmp_Node, ptr %t26, i32 0, i32 1
%t28 = call ptr @fn_eat_id()
store ptr %t28, ptr %t27
call void @fn_eat_op(ptr @.str316)
%t29 = load ptr, ptr %t25
%t30 = getelementptr inbounds %Cmp_Node, ptr %t29, i32 0, i32 3
%t31 = call ptr @fn_ptype()
store ptr %t31, ptr %t30
%t32 = call i32 @fn_is_op(ptr @.str317)
%t33 = icmp ne i32 %t32, 0
br i1 %t33, label %then15, label %ifend17
then15:
%t34 = load i32, ptr @g_pi
%t35 = add i32 %t34, 1
store i32 %t35, ptr @g_pi
%t36 = load ptr, ptr %t25
%t37 = getelementptr inbounds %Cmp_Node, ptr %t36, i32 0, i32 4
%t38 = call ptr @fn_expr()
store ptr %t38, ptr %t37
br label %ifend17
ifend17:
%t39 = load i32, ptr %t11
%t40 = icmp ne i32 %t39, 0
br i1 %t40, label %then18, label %ifend20
then18:
%t41 = load ptr, ptr %t25
%t42 = getelementptr inbounds %Cmp_Node, ptr %t41, i32 0, i32 2
store i32 1, ptr %t42
br label %ifend20
ifend20:
%t43 = load i32, ptr %t10
%t44 = icmp ne i32 %t43, 0
br i1 %t44, label %then21, label %else22
then21:
%t45 = load ptr, ptr %t3
%t46 = getelementptr inbounds %Cmp_Node, ptr %t45, i32 0, i32 1
%t47 = load ptr, ptr %t46
%t48 = load ptr, ptr %t25
%t49 = getelementptr inbounds %Cmp_Node, ptr %t48, i32 0, i32 1
%t50 = load ptr, ptr %t49
%t51 = load ptr, ptr %t25
%t52 = getelementptr inbounds %Cmp_Node, ptr %t51, i32 0, i32 3
%t53 = load ptr, ptr %t52
%t54 = load ptr, ptr %t25
%t55 = getelementptr inbounds %Cmp_Node, ptr %t54, i32 0, i32 4
%t56 = load ptr, ptr %t55
call void @fn_register_computed(ptr %t47, ptr %t50, ptr %t53, ptr %t56)
br label %ifend23
else22:
%t57 = load ptr, ptr %t3
%t58 = getelementptr inbounds %Cmp_Node, ptr %t57, i32 0, i32 7
%t59 = load ptr, ptr %t58
%t60 = 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 %grow24, label %put25
grow24:
%t66 = mul i32 %t64, 2
%t67 = icmp eq i32 %t64, 0
%t68 = select i1 %t67, i32 8, i32 %t66
%t69 = getelementptr ptr, ptr null, i32 1
%t70 = ptrtoint ptr %t69 to i64
%t71 = zext i32 %t68 to i64
%t72 = mul i64 %t71, %t70
%t73 = load ptr, ptr %t62
%t74 = call ptr @realloc(ptr %t73, i64 %t72)
store ptr %t74, ptr %t62
store i32 %t68, ptr %t61
br label %put25
put25:
%t75 = load ptr, ptr %t25
%t76 = load ptr, ptr %t62
%t77 = getelementptr inbounds ptr, ptr %t76, i32 %t63
store ptr %t75, ptr %t77
%t78 = add i32 %t63, 1
store i32 %t78, ptr %t60
br label %ifend23
ifend23:
%t79 = call i32 @fn_is_op(ptr @.str318)
%t80 = icmp ne i32 %t79, 0
br i1 %t80, label %then26, label %ifend28
then26:
%t81 = load i32, ptr @g_pi
%t82 = add i32 %t81, 1
store i32 %t82, ptr @g_pi
br label %ifend28
ifend28:
br label %wcond0
wend2:
call void @fn_eat_op(ptr @.str319)
%t83 = load ptr, ptr %t3
store ptr %t83, ptr %retval
br label %ret
ret:
%t84 = load ptr, ptr %retval
ret ptr %t84
}
define ptr @fn_parse_event() {
entry:
%retval = alloca ptr
%t3 = alloca ptr
%t17 = alloca ptr
%t0 = load i32, ptr @g_pi
%t1 = add i32 %t0, 1
store i32 %t1, ptr @g_pi
%t2 = call ptr @fn_node(i32 48)
store ptr %t2, ptr %t3
%t4 = call i32 @fn_is_id(ptr @.str320)
%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 @.str321)
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 @.str322)
%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 @.str323)
%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 @.str324)
%t25 = icmp ne i32 %t24, 0
br i1 %t25, label %then9, label %ifend11
then9:
%t26 = load i32, ptr @g_pi
%t27 = add i32 %t26, 1
store i32 %t27, ptr @g_pi
%t28 = load ptr, ptr %t17
%t29 = getelementptr inbounds %Cmp_Node, ptr %t28, i32 0, i32 4
%t30 = call ptr @fn_expr()
store ptr %t30, ptr %t29
br label %ifend11
ifend11:
%t31 = load ptr, ptr %t3
%t32 = getelementptr inbounds %Cmp_Node, ptr %t31, i32 0, i32 7
%t33 = load ptr, ptr %t32
%t34 = 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 %grow12, label %put13
grow12:
%t40 = mul i32 %t38, 2
%t41 = icmp eq i32 %t38, 0
%t42 = select i1 %t41, i32 8, i32 %t40
%t43 = getelementptr ptr, ptr null, i32 1
%t44 = ptrtoint ptr %t43 to i64
%t45 = zext i32 %t42 to i64
%t46 = mul i64 %t45, %t44
%t47 = load ptr, ptr %t36
%t48 = call ptr @realloc(ptr %t47, i64 %t46)
store ptr %t48, ptr %t36
store i32 %t42, ptr %t35
br label %put13
put13:
%t49 = load ptr, ptr %t17
%t50 = load ptr, ptr %t36
%t51 = getelementptr inbounds ptr, ptr %t50, i32 %t37
store ptr %t49, ptr %t51
%t52 = add i32 %t37, 1
store i32 %t52, ptr %t34
%t53 = call i32 @fn_is_op(ptr @.str325)
%t54 = icmp ne i32 %t53, 0
br i1 %t54, label %then14, label %ifend16
then14:
%t55 = load i32, ptr @g_pi
%t56 = add i32 %t55, 1
store i32 %t56, ptr @g_pi
br label %ifend16
ifend16:
br label %wcond3
wend5:
call void @fn_eat_op(ptr @.str326)
%t57 = load ptr, ptr %t3
store ptr %t57, ptr %retval
br label %ret
ret:
%t58 = load ptr, ptr %retval
ret ptr %t58
}
define ptr @fn_parse_system() {
entry:
%retval = alloca ptr
%t3 = alloca ptr
%t15 = alloca ptr
%t18 = alloca i32
%t0 = load i32, ptr @g_pi
%t1 = add i32 %t0, 1
store i32 %t1, ptr @g_pi
%t2 = call ptr @fn_node(i32 9)
store ptr %t2, ptr %t3
%t4 = load ptr, ptr %t3
%t5 = getelementptr inbounds %Cmp_Node, ptr %t4, i32 0, i32 1
%t6 = call ptr @fn_eat_id()
store ptr %t6, ptr %t5
%t7 = load ptr, ptr %t3
%t8 = getelementptr inbounds %Cmp_Node, ptr %t7, i32 0, i32 3
store ptr @.str327, ptr %t8
br label %wcond0
wcond0:
%t9 = icmp ne i32 1, 0
br i1 %t9, label %wbody1, label %wend2
wbody1:
call void @fn_skipnl()
%t10 = call i32 @fn_is_op(ptr @.str328)
%t11 = icmp ne i32 %t10, 0
br i1 %t11, label %then3, label %ifend5
then3:
%t12 = load i32, ptr @g_pi
%t13 = add i32 %t12, 1
store i32 %t13, ptr @g_pi
%t14 = call ptr @fn_eat_id()
store ptr %t14, ptr %t15
%t16 = call i32 @fn_is_op(ptr @.str329)
%t17 = icmp ne i32 %t16, 0
br i1 %t17, label %then6, label %ifend8
then6:
store i32 0, ptr %t18
br label %wcond9
wcond9:
%t19 = icmp ne i32 1, 0
br i1 %t19, label %wbody10, label %wend11
wbody10:
%t20 = call i32 @fn_is_op(ptr @.str330)
%t21 = icmp ne i32 %t20, 0
br i1 %t21, label %then12, label %ifend14
then12:
%t22 = load i32, ptr %t18
%t23 = add i32 %t22, 1
store i32 %t23, ptr %t18
br label %ifend14
ifend14:
%t24 = call i32 @fn_is_op(ptr @.str331)
%t25 = icmp ne i32 %t24, 0
br i1 %t25, label %then15, label %ifend17
then15:
%t26 = load i32, ptr %t18
%t27 = sub i32 %t26, 1
store i32 %t27, ptr %t18
br label %ifend17
ifend17:
%t28 = load i32, ptr @g_pi
%t29 = add i32 %t28, 1
store i32 %t29, ptr @g_pi
%t30 = load i32, ptr %t18
%t31 = icmp eq i32 %t30, 0
%t32 = zext i1 %t31 to i32
%t33 = icmp ne i32 %t32, 0
br i1 %t33, label %then18, label %ifend20
then18:
br label %wend11
ifend20:
br label %wcond9
wend11:
br label %ifend8
ifend8:
br label %wcond0
ifend5:
%t34 = call i32 @fn_is_id(ptr @.str332)
%t35 = icmp ne i32 %t34, 0
br i1 %t35, label %then21, label %ifend23
then21:
%t36 = load i32, ptr @g_pi
%t37 = add i32 %t36, 1
store i32 %t37, ptr @g_pi
%t38 = load ptr, ptr %t3
%t39 = getelementptr inbounds %Cmp_Node, ptr %t38, i32 0, i32 3
%t40 = call ptr @fn_eat_id()
store ptr %t40, ptr %t39
br label %wcond0
ifend23:
br label %wend2
wend2:
call void @fn_skipnl()
%t41 = load ptr, ptr %t3
%t42 = getelementptr inbounds %Cmp_Node, ptr %t41, i32 0, i32 4
%t43 = call ptr @fn_block()
store ptr %t43, ptr %t42
%t44 = load ptr, ptr %t3
store ptr %t44, ptr %retval
br label %ret
ret:
%t45 = load ptr, ptr %retval
ret ptr %t45
}
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 @.str333)
%t0 = call ptr @fn_node(i32 7)
store ptr %t0, ptr %t1
br label %wcond0
wcond0:
%t2 = call i32 @fn_is_op(ptr @.str334)
%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 @.str335)
%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 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 1
%t21 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 2
%t22 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 0
%t23 = load i32, ptr %t20
%t24 = load i32, ptr %t21
%t25 = icmp sge i32 %t23, %t24
br i1 %t25, label %grow6, label %put7
grow6:
%t26 = mul i32 %t24, 2
%t27 = icmp eq i32 %t24, 0
%t28 = select i1 %t27, i32 8, i32 %t26
%t29 = getelementptr ptr, ptr null, i32 1
%t30 = ptrtoint ptr %t29 to i64
%t31 = zext i32 %t28 to i64
%t32 = mul i64 %t31, %t30
%t33 = load ptr, ptr %t22
%t34 = call ptr @realloc(ptr %t33, i64 %t32)
store ptr %t34, ptr %t22
store i32 %t28, ptr %t21
br label %put7
put7:
%t35 = load ptr, ptr %t11
%t36 = load ptr, ptr %t22
%t37 = getelementptr inbounds ptr, ptr %t36, i32 %t23
store ptr %t35, ptr %t37
%t38 = add i32 %t23, 1
store i32 %t38, ptr %t20
call void @fn_eat_op(ptr @.str336)
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 = getelementptr inbounds %LSlice, ptr %t48, i32 0, i32 1
%t50 = getelementptr inbounds %LSlice, ptr %t48, i32 0, i32 2
%t51 = getelementptr inbounds %LSlice, ptr %t48, i32 0, i32 0
%t52 = load i32, ptr %t49
%t53 = load i32, ptr %t50
%t54 = icmp sge i32 %t52, %t53
br i1 %t54, label %grow8, label %put9
grow8:
%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
%t63 = call ptr @realloc(ptr %t62, i64 %t61)
store ptr %t63, ptr %t51
store i32 %t57, ptr %t50
br label %put9
put9:
%t64 = load ptr, ptr %t40
%t65 = load ptr, ptr %t51
%t66 = getelementptr inbounds ptr, ptr %t65, i32 %t52
store ptr %t64, ptr %t66
%t67 = add i32 %t52, 1
store i32 %t67, ptr %t49
br label %ifend5
ifend5:
%t68 = call i32 @fn_is_op(ptr @.str337)
%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 @.str338)
%t72 = call i32 @fn_is_id(ptr @.str339)
%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 @.str340)
br label %wcond0
wcond0:
%t2 = call i32 @fn_is_op(ptr @.str341)
%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 = 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 ptr, ptr null, i32 1
%t24 = ptrtoint ptr %t23 to i64
%t25 = zext i32 %t22 to i64
%t26 = mul i64 %t25, %t24
%t27 = load ptr, ptr %t16
%t28 = call ptr @realloc(ptr %t27, i64 %t26)
store ptr %t28, ptr %t16
store i32 %t22, ptr %t15
br label %put4
put4:
%t29 = load ptr, ptr %t7
%t30 = load ptr, ptr %t16
%t31 = getelementptr inbounds ptr, ptr %t30, i32 %t17
store ptr %t29, ptr %t31
%t32 = add i32 %t17, 1
store i32 %t32, ptr %t14
%t33 = call i32 @fn_is_op(ptr @.str342)
%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 @.str343)
%t37 = call ptr @fn_eat_id()
store ptr %t37, ptr %t38
%t39 = call i32 @fn_is_id(ptr @.str344)
%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 @.str345)
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 @.str346, ptr %t10
%t11 = load ptr, ptr %t8
%t12 = getelementptr inbounds %Cmp_Node, ptr %t11, i32 0, i32 4
%t13 = load ptr, ptr %t0
store ptr %t13, ptr %t12
%t14 = load ptr, ptr %t8
%t15 = getelementptr inbounds %Cmp_Node, ptr %t14, i32 0, i32 5
%t16 = load ptr, ptr %t1
store ptr %t16, ptr %t15
%t17 = load ptr, ptr %t8
store ptr %t17, ptr %retval
br label %ret
ret:
%t18 = load ptr, ptr %retval
ret ptr %t18
}
define ptr @fn_qualify_fields(ptr %arg_e, ptr %arg_base) {
entry:
%retval = alloca ptr
%t0 = alloca ptr
%t1 = alloca ptr
%t14 = alloca ptr
%t31 = alloca ptr
%t59 = alloca ptr
store ptr %arg_e, ptr %t0
store ptr %arg_base, ptr %t1
%t2 = load ptr, ptr %t0
%t3 = icmp eq ptr %t2, null
%t4 = zext i1 %t3 to i32
%t5 = icmp ne i32 %t4, 0
br i1 %t5, label %then0, label %ifend2
then0:
%t6 = load ptr, ptr %t0
store ptr %t6, ptr %retval
br label %ret
ifend2:
%t7 = load ptr, ptr %t0
%t8 = getelementptr inbounds %Cmp_Node, ptr %t7, i32 0, i32 0
%t9 = load i32, ptr %t8
%t10 = icmp eq i32 %t9, 33
%t11 = zext i1 %t10 to i32
%t12 = icmp ne i32 %t11, 0
br i1 %t12, label %then3, label %ifend5
then3:
%t13 = call ptr @fn_node(i32 35)
store ptr %t13, ptr %t14
%t15 = load ptr, ptr %t14
%t16 = getelementptr inbounds %Cmp_Node, ptr %t15, i32 0, i32 4
%t17 = load ptr, ptr %t1
store ptr %t17, ptr %t16
%t18 = load ptr, ptr %t14
%t19 = getelementptr inbounds %Cmp_Node, ptr %t18, i32 0, i32 1
%t20 = load ptr, ptr %t0
%t21 = getelementptr inbounds %Cmp_Node, ptr %t20, i32 0, i32 1
%t22 = load ptr, ptr %t21
store ptr %t22, ptr %t19
%t23 = load ptr, ptr %t14
store ptr %t23, ptr %retval
br label %ret
ifend5:
%t24 = load ptr, ptr %t0
%t25 = getelementptr inbounds %Cmp_Node, ptr %t24, i32 0, i32 0
%t26 = load i32, ptr %t25
%t27 = icmp eq i32 %t26, 37
%t28 = zext i1 %t27 to i32
%t29 = icmp ne i32 %t28, 0
br i1 %t29, label %then6, label %ifend8
then6:
%t30 = call ptr @fn_node(i32 37)
store ptr %t30, ptr %t31
%t32 = load ptr, ptr %t31
%t33 = getelementptr inbounds %Cmp_Node, ptr %t32, i32 0, i32 1
%t34 = load ptr, ptr %t0
%t35 = getelementptr inbounds %Cmp_Node, ptr %t34, i32 0, i32 1
%t36 = load ptr, ptr %t35
store ptr %t36, ptr %t33
%t37 = load ptr, ptr %t31
%t38 = getelementptr inbounds %Cmp_Node, ptr %t37, i32 0, i32 4
%t39 = load ptr, ptr %t0
%t40 = getelementptr inbounds %Cmp_Node, ptr %t39, i32 0, i32 4
%t41 = load ptr, ptr %t40
%t42 = load ptr, ptr %t1
%t43 = call ptr @fn_qualify_fields(ptr %t41, ptr %t42)
store ptr %t43, ptr %t38
%t44 = load ptr, ptr %t31
%t45 = getelementptr inbounds %Cmp_Node, ptr %t44, i32 0, i32 5
%t46 = load ptr, ptr %t0
%t47 = getelementptr inbounds %Cmp_Node, ptr %t46, i32 0, i32 5
%t48 = load ptr, ptr %t47
%t49 = load ptr, ptr %t1
%t50 = call ptr @fn_qualify_fields(ptr %t48, ptr %t49)
store ptr %t50, ptr %t45
%t51 = load ptr, ptr %t31
store ptr %t51, ptr %retval
br label %ret
ifend8:
%t52 = load ptr, ptr %t0
%t53 = getelementptr inbounds %Cmp_Node, ptr %t52, i32 0, i32 0
%t54 = load i32, ptr %t53
%t55 = icmp eq i32 %t54, 38
%t56 = zext i1 %t55 to i32
%t57 = icmp ne i32 %t56, 0
br i1 %t57, label %then9, label %ifend11
then9:
%t58 = call ptr @fn_node(i32 38)
store ptr %t58, ptr %t59
%t60 = load ptr, ptr %t59
%t61 = getelementptr inbounds %Cmp_Node, ptr %t60, i32 0, i32 1
%t62 = load ptr, ptr %t0
%t63 = getelementptr inbounds %Cmp_Node, ptr %t62, i32 0, i32 1
%t64 = load ptr, ptr %t63
store ptr %t64, ptr %t61
%t65 = load ptr, ptr %t59
%t66 = getelementptr inbounds %Cmp_Node, ptr %t65, i32 0, i32 4
%t67 = load ptr, ptr %t0
%t68 = getelementptr inbounds %Cmp_Node, ptr %t67, i32 0, i32 4
%t69 = load ptr, ptr %t68
%t70 = load ptr, ptr %t1
%t71 = call ptr @fn_qualify_fields(ptr %t69, ptr %t70)
store ptr %t71, ptr %t66
%t72 = load ptr, ptr %t59
store ptr %t72, ptr %retval
br label %ret
ifend11:
%t73 = load ptr, ptr %t0
store ptr %t73, ptr %retval
br label %ret
ret:
%t74 = load ptr, ptr %retval
ret ptr %t74
}
define ptr @fn_parse_queries_anno() {
entry:
%retval = alloca ptr
%t1 = alloca ptr
%t3 = alloca ptr
%t4 = alloca ptr
%t12 = alloca ptr
%t21 = alloca ptr
%t23 = alloca ptr
%t50 = alloca ptr
%t83 = alloca ptr
%t85 = alloca ptr
%t102 = alloca ptr
%t104 = alloca ptr
call void @fn_eat_op(ptr @.str347)
%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 @.str348)
%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 @.str349)
%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 @.str350)
%t13 = load ptr, ptr %t12
%t14 = call i32 @fn_str_eq(ptr %t13, ptr @.str351)
%t15 = icmp ne i32 %t14, 0
br i1 %t15, label %then6, label %else7
then6:
call void @fn_eat_op(ptr @.str352)
call void @fn_skipnl()
br label %wcond9
wcond9:
%t16 = call i32 @fn_is_op(ptr @.str353)
%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 = 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 %grow12, label %put13
grow12:
%t36 = mul i32 %t34, 2
%t37 = icmp eq i32 %t34, 0
%t38 = select i1 %t37, i32 8, i32 %t36
%t39 = getelementptr ptr, ptr null, i32 1
%t40 = ptrtoint ptr %t39 to i64
%t41 = zext i32 %t38 to i64
%t42 = mul i64 %t41, %t40
%t43 = load ptr, ptr %t32
%t44 = call ptr @realloc(ptr %t43, i64 %t42)
store ptr %t44, ptr %t32
store i32 %t38, ptr %t31
br label %put13
put13:
%t45 = load ptr, ptr %t23
%t46 = load ptr, ptr %t32
%t47 = getelementptr inbounds ptr, ptr %t46, i32 %t33
store ptr %t45, ptr %t47
%t48 = add i32 %t33, 1
store i32 %t48, ptr %t30
%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 = getelementptr inbounds %LSlice, ptr %t58, i32 0, i32 1
%t60 = getelementptr inbounds %LSlice, ptr %t58, i32 0, i32 2
%t61 = getelementptr inbounds %LSlice, ptr %t58, i32 0, i32 0
%t62 = load i32, ptr %t59
%t63 = load i32, ptr %t60
%t64 = icmp sge i32 %t62, %t63
br i1 %t64, label %grow14, label %put15
grow14:
%t65 = mul i32 %t63, 2
%t66 = icmp eq i32 %t63, 0
%t67 = select i1 %t66, i32 8, i32 %t65
%t68 = getelementptr ptr, ptr null, i32 1
%t69 = ptrtoint ptr %t68 to i64
%t70 = zext i32 %t67 to i64
%t71 = mul i64 %t70, %t69
%t72 = load ptr, ptr %t61
%t73 = call ptr @realloc(ptr %t72, i64 %t71)
store ptr %t73, ptr %t61
store i32 %t67, ptr %t60
br label %put15
put15:
%t74 = load ptr, ptr %t50
%t75 = load ptr, ptr %t61
%t76 = getelementptr inbounds ptr, ptr %t75, i32 %t62
store ptr %t74, ptr %t76
%t77 = add i32 %t62, 1
store i32 %t77, ptr %t59
%t78 = call i32 @fn_is_op(ptr @.str354)
%t79 = icmp ne i32 %t78, 0
br i1 %t79, label %then16, label %ifend18
then16:
%t80 = load i32, ptr @g_pi
%t81 = add i32 %t80, 1
store i32 %t81, ptr @g_pi
%t82 = call ptr @fn_expr()
store ptr %t82, ptr %t83
call void @fn_eat_op(ptr @.str355)
%t84 = call ptr @fn_node(i32 33)
store ptr %t84, ptr %t85
%t86 = load ptr, ptr %t85
%t87 = getelementptr inbounds %Cmp_Node, ptr %t86, i32 0, i32 1
%t88 = load ptr, ptr %t21
store ptr %t88, ptr %t87
%t89 = load ptr, ptr %t4
%t90 = load ptr, ptr %t83
%t91 = load ptr, ptr %t85
%t92 = call ptr @fn_qualify_fields(ptr %t90, ptr %t91)
%t93 = call ptr @fn_mk_and(ptr %t89, ptr %t92)
store ptr %t93, ptr %t4
br label %ifend18
ifend18:
%t94 = call i32 @fn_is_op(ptr @.str356)
%t95 = icmp ne i32 %t94, 0
br i1 %t95, label %then19, label %ifend21
then19:
%t96 = load i32, ptr @g_pi
%t97 = add i32 %t96, 1
store i32 %t97, ptr @g_pi
br label %ifend21
ifend21:
call void @fn_skipnl()
br label %wcond9
wend11:
call void @fn_eat_op(ptr @.str357)
br label %ifend8
else7:
%t98 = load ptr, ptr %t12
%t99 = call i32 @fn_str_eq(ptr %t98, ptr @.str358)
%t100 = icmp ne i32 %t99, 0
br i1 %t100, label %then22, label %else23
then22:
%t101 = call ptr @fn_eat_id()
store ptr %t101, ptr %t102
%t103 = call ptr @fn_node(i32 33)
store ptr %t103, ptr %t104
%t105 = load ptr, ptr %t104
%t106 = getelementptr inbounds %Cmp_Node, ptr %t105, i32 0, i32 1
%t107 = load ptr, ptr %t102
store ptr %t107, ptr %t106
%t108 = load ptr, ptr %t104
%t109 = getelementptr inbounds %Cmp_Node, ptr %t108, i32 0, i32 2
store i32 1, ptr %t109
%t110 = load ptr, ptr %t3
%t111 = getelementptr inbounds %Cmp_Node, ptr %t110, i32 0, i32 7
%t112 = load ptr, ptr %t111
%t113 = getelementptr inbounds %LSlice, ptr %t112, i32 0, i32 1
%t114 = getelementptr inbounds %LSlice, ptr %t112, i32 0, i32 2
%t115 = getelementptr inbounds %LSlice, ptr %t112, i32 0, i32 0
%t116 = load i32, ptr %t113
%t117 = load i32, ptr %t114
%t118 = icmp sge i32 %t116, %t117
br i1 %t118, label %grow25, label %put26
grow25:
%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
%t127 = call ptr @realloc(ptr %t126, i64 %t125)
store ptr %t127, ptr %t115
store i32 %t121, ptr %t114
br label %put26
put26:
%t128 = load ptr, ptr %t104
%t129 = load ptr, ptr %t115
%t130 = getelementptr inbounds ptr, ptr %t129, i32 %t116
store ptr %t128, ptr %t130
%t131 = add i32 %t116, 1
store i32 %t131, ptr %t113
br label %ifend24
else23:
%t132 = call ptr @fn_expr()
br label %ifend24
ifend24:
br label %ifend8
ifend8:
%t133 = call i32 @fn_is_op(ptr @.str359)
%t134 = icmp ne i32 %t133, 0
br i1 %t134, label %then27, label %ifend29
then27:
%t135 = load i32, ptr @g_pi
%t136 = add i32 %t135, 1
store i32 %t136, ptr @g_pi
br label %ifend29
ifend29:
call void @fn_skipnl()
br label %wcond0
wend2:
call void @fn_eat_op(ptr @.str360)
%t137 = load ptr, ptr %t1
%t138 = getelementptr inbounds %Cmp_Node, ptr %t137, i32 0, i32 6
%t139 = load ptr, ptr %t3
store ptr %t139, ptr %t138
%t140 = load ptr, ptr %t1
%t141 = getelementptr inbounds %Cmp_Node, ptr %t140, i32 0, i32 5
%t142 = load ptr, ptr %t4
store ptr %t142, ptr %t141
%t143 = load ptr, ptr %t1
store ptr %t143, ptr %retval
br label %ret
ret:
%t144 = load ptr, ptr %retval
ret ptr %t144
}
define ptr @fn_parse_spawn() {
entry:
%retval = alloca ptr
%t3 = alloca ptr
%t11 = 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 @.str361)
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 @.str362)
%t9 = icmp ne i32 %t8, 0
br i1 %t9, label %then3, label %ifend5
then3:
br label %wend2
ifend5:
%t10 = call ptr @fn_node(i32 42)
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 4
%t17 = call ptr @fn_record()
store ptr %t17, ptr %t16
%t18 = load ptr, ptr %t3
%t19 = getelementptr inbounds %Cmp_Node, ptr %t18, i32 0, i32 7
%t20 = load ptr, ptr %t19
%t21 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 1
%t22 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 2
%t23 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 0
%t24 = load i32, ptr %t21
%t25 = load i32, ptr %t22
%t26 = icmp sge i32 %t24, %t25
br i1 %t26, label %grow6, label %put7
grow6:
%t27 = mul i32 %t25, 2
%t28 = icmp eq i32 %t25, 0
%t29 = select i1 %t28, i32 8, i32 %t27
%t30 = getelementptr ptr, ptr null, i32 1
%t31 = ptrtoint ptr %t30 to i64
%t32 = zext i32 %t29 to i64
%t33 = mul i64 %t32, %t31
%t34 = load ptr, ptr %t23
%t35 = call ptr @realloc(ptr %t34, i64 %t33)
store ptr %t35, ptr %t23
store i32 %t29, ptr %t22
br label %put7
put7:
%t36 = load ptr, ptr %t11
%t37 = load ptr, ptr %t23
%t38 = getelementptr inbounds ptr, ptr %t37, i32 %t24
store ptr %t36, ptr %t38
%t39 = add i32 %t24, 1
store i32 %t39, ptr %t21
%t40 = call i32 @fn_is_op(ptr @.str363)
%t41 = icmp ne i32 %t40, 0
br i1 %t41, label %then8, label %ifend10
then8:
%t42 = load i32, ptr @g_pi
%t43 = add i32 %t42, 1
store i32 %t43, ptr @g_pi
br label %ifend10
ifend10:
br label %wcond0
wend2:
call void @fn_eat_op(ptr @.str364)
%t44 = load ptr, ptr %t3
store ptr %t44, ptr %retval
br label %ret
ret:
%t45 = load ptr, ptr %retval
ret ptr %t45
}
define void @fn_parse_scene() {
entry:
%t3 = alloca ptr
%t10 = alloca i32
%t11 = alloca i32
%t49 = alloca ptr
%t67 = alloca ptr
%t79 = alloca ptr
%t91 = 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
br label %wcond0
wcond0:
%t12 = call i32 @fn_is_id(ptr @.str365)
%t13 = icmp ne i32 %t12, 0
%t14 = zext i1 %t13 to i32
store i32 %t14, ptr %t11
br i1 %t13, label %scend4, label %sc3
sc3:
%t15 = call i32 @fn_is_id(ptr @.str366)
%t16 = icmp ne i32 %t15, 0
%t17 = zext i1 %t16 to i32
store i32 %t17, ptr %t11
br label %scend4
scend4:
%t18 = load i32, ptr %t11
%t19 = icmp ne i32 %t18, 0
br i1 %t19, label %wbody1, label %wend2
wbody1:
%t20 = call i32 @fn_is_id(ptr @.str367)
%t21 = icmp ne i32 %t20, 0
br i1 %t21, label %then5, label %else6
then5:
%t22 = load i32, ptr @g_pi
%t23 = add i32 %t22, 1
store i32 %t23, ptr @g_pi
%t24 = load i32, ptr @g_g_scene_count
store i32 %t24, ptr @g_g_start_scene
br label %ifend7
else6:
%t25 = load i32, ptr @g_pi
%t26 = add i32 %t25, 1
store i32 %t26, ptr @g_pi
store i32 1, ptr %t10
br label %ifend7
ifend7:
br label %wcond0
wend2:
%t27 = load i32, ptr @g_g_scene_count
%t28 = add i32 %t27, 1
store i32 %t28, ptr @g_g_scene_count
%t29 = load i32, ptr %t10
%t30 = icmp ne i32 %t29, 0
br i1 %t30, label %then8, label %ifend10
then8:
%t31 = load ptr, ptr %t3
%t32 = getelementptr inbounds %Cmp_Node, ptr %t31, i32 0, i32 1
%t33 = load ptr, ptr %t32
%t34 = call ptr @fn_str_concat(ptr @.str368, ptr %t33)
%t35 = call ptr @fn_str_concat(ptr %t34, ptr @.str369)
call void @fn_ensure_event_empty(ptr %t35)
%t36 = load ptr, ptr %t3
%t37 = getelementptr inbounds %Cmp_Node, ptr %t36, i32 0, i32 1
%t38 = load ptr, ptr %t37
%t39 = call ptr @fn_str_concat(ptr @.str370, ptr %t38)
%t40 = call ptr @fn_str_concat(ptr %t39, ptr @.str371)
call void @fn_ensure_event_empty(ptr %t40)
br label %ifend10
ifend10:
call void @fn_skipnl()
call void @fn_eat_op(ptr @.str372)
br label %wcond11
wcond11:
%t41 = icmp ne i32 1, 0
br i1 %t41, label %wbody12, label %wend13
wbody12:
call void @fn_skipnl()
%t42 = call i32 @fn_is_op(ptr @.str373)
%t43 = icmp ne i32 %t42, 0
br i1 %t43, label %then14, label %ifend16
then14:
br label %wend13
ifend16:
%t44 = call i32 @fn_is_id(ptr @.str374)
%t45 = icmp ne i32 %t44, 0
br i1 %t45, label %then17, label %ifend19
then17:
%t46 = load i32, ptr @g_pi
%t47 = add i32 %t46, 1
store i32 %t47, ptr @g_pi
%t48 = call ptr @fn_eat_id()
store ptr %t48, ptr %t49
call void @fn_skipnl()
%t50 = load ptr, ptr %t49
%t51 = call i32 @fn_str_eq(ptr %t50, ptr @.str375)
%t52 = icmp ne i32 %t51, 0
br i1 %t52, label %then20, label %else21
then20:
%t53 = load ptr, ptr %t3
%t54 = getelementptr inbounds %Cmp_Node, ptr %t53, i32 0, i32 4
%t55 = call ptr @fn_block()
store ptr %t55, ptr %t54
br label %ifend22
else21:
%t56 = load ptr, ptr %t49
%t57 = call i32 @fn_str_eq(ptr %t56, ptr @.str376)
%t58 = icmp ne i32 %t57, 0
br i1 %t58, label %then23, label %else24
then23:
%t59 = load ptr, ptr %t3
%t60 = getelementptr inbounds %Cmp_Node, ptr %t59, i32 0, i32 5
%t61 = call ptr @fn_block()
store ptr %t61, ptr %t60
br label %ifend25
else24:
call void @fn_perr(ptr @.str377)
br label %ifend25
ifend25:
br label %ifend22
ifend22:
br label %wcond11
ifend19:
%t62 = call i32 @fn_is_id(ptr @.str378)
%t63 = icmp ne i32 %t62, 0
br i1 %t63, label %then26, label %ifend28
then26:
%t64 = load i32, ptr @g_pi
%t65 = add i32 %t64, 1
store i32 %t65, ptr @g_pi
%t66 = call ptr @fn_eat_id()
store ptr %t66, ptr %t67
%t68 = call i32 @fn_is_id(ptr @.str379)
%t69 = icmp ne i32 %t68, 0
br i1 %t69, label %then29, label %ifend31
then29:
%t70 = load i32, ptr @g_pi
%t71 = add i32 %t70, 1
store i32 %t71, ptr @g_pi
%t72 = load ptr, ptr %t67
%t73 = call ptr @fn_str_concat(ptr @.str380, ptr %t72)
%t74 = call ptr @fn_str_concat(ptr %t73, ptr @.str381)
call void @fn_ensure_event_empty(ptr %t74)
%t75 = load ptr, ptr %t67
%t76 = call ptr @fn_str_concat(ptr @.str382, ptr %t75)
%t77 = call ptr @fn_str_concat(ptr %t76, ptr @.str383)
call void @fn_ensure_event_empty(ptr %t77)
br label %ifend31
ifend31:
call void @fn_skipnl()
call void @fn_eat_op(ptr @.str384)
%t78 = call ptr @fn_node(i32 33)
store ptr %t78, ptr %t79
%t80 = load ptr, ptr %t79
%t81 = getelementptr inbounds %Cmp_Node, ptr %t80, i32 0, i32 1
%t82 = load ptr, ptr %t67
store ptr %t82, ptr %t81
br label %wcond32
wcond32:
%t83 = icmp ne i32 1, 0
br i1 %t83, label %wbody33, label %wend34
wbody33:
call void @fn_skipnl()
%t84 = call i32 @fn_is_op(ptr @.str385)
%t85 = icmp ne i32 %t84, 0
br i1 %t85, label %then35, label %ifend37
then35:
br label %wend34
ifend37:
%t86 = call i32 @fn_is_id(ptr @.str386)
%t87 = icmp eq i32 %t86, 0
%t88 = zext i1 %t87 to i32
%t89 = icmp ne i32 %t88, 0
br i1 %t89, label %then38, label %ifend40
then38:
call void @fn_perr(ptr @.str387)
br label %ifend40
ifend40:
%t90 = call ptr @fn_parse_system()
store ptr %t90, ptr %t91
%t92 = load ptr, ptr %t91
%t93 = getelementptr inbounds %Cmp_Node, ptr %t92, i32 0, i32 6
%t94 = load ptr, ptr %t3
store ptr %t94, ptr %t93
%t95 = load ptr, ptr %t91
%t96 = getelementptr inbounds %Cmp_Node, ptr %t95, i32 0, i32 5
%t97 = load ptr, ptr %t79
store ptr %t97, ptr %t96
%t98 = load ptr, ptr @g_prog
%t99 = getelementptr inbounds %LSlice, ptr %t98, i32 0, i32 1
%t100 = getelementptr inbounds %LSlice, ptr %t98, i32 0, i32 2
%t101 = getelementptr inbounds %LSlice, ptr %t98, i32 0, i32 0
%t102 = load i32, ptr %t99
%t103 = load i32, ptr %t100
%t104 = icmp sge i32 %t102, %t103
br i1 %t104, label %grow41, label %put42
grow41:
%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
%t113 = call ptr @realloc(ptr %t112, i64 %t111)
store ptr %t113, ptr %t101
store i32 %t107, ptr %t100
br label %put42
put42:
%t114 = load ptr, ptr %t91
%t115 = load ptr, ptr %t101
%t116 = getelementptr inbounds ptr, ptr %t115, i32 %t102
store ptr %t114, ptr %t116
%t117 = add i32 %t102, 1
store i32 %t117, ptr %t99
call void @fn_skipnl()
br label %wcond32
wend34:
call void @fn_eat_op(ptr @.str388)
br label %wcond11
ifend28:
call void @fn_perr(ptr @.str389)
br label %wcond11
wend13:
call void @fn_eat_op(ptr @.str390)
%t118 = load ptr, ptr @g_g_scenes
%t119 = getelementptr inbounds %LSlice, ptr %t118, i32 0, i32 1
%t120 = getelementptr inbounds %LSlice, ptr %t118, i32 0, i32 2
%t121 = getelementptr inbounds %LSlice, ptr %t118, i32 0, i32 0
%t122 = load i32, ptr %t119
%t123 = load i32, ptr %t120
%t124 = icmp sge i32 %t122, %t123
br i1 %t124, label %grow43, label %put44
grow43:
%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
%t133 = call ptr @realloc(ptr %t132, i64 %t131)
store ptr %t133, ptr %t121
store i32 %t127, ptr %t120
br label %put44
put44:
%t134 = load ptr, ptr %t3
%t135 = load ptr, ptr %t121
%t136 = getelementptr inbounds ptr, ptr %t135, i32 %t122
store ptr %t134, ptr %t136
%t137 = add i32 %t122, 1
store i32 %t137, ptr %t119
br label %ret
ret:
ret void
}
define ptr @fn_parse_enum() {
entry:
%retval = alloca ptr
%t3 = alloca ptr
%t11 = 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 @.str391)
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 @.str392)
%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 = load ptr, ptr %t3
%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 = 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 %grow6, label %put7
grow6:
%t24 = mul i32 %t22, 2
%t25 = icmp eq i32 %t22, 0
%t26 = select i1 %t25, i32 8, i32 %t24
%t27 = getelementptr ptr, ptr null, i32 1
%t28 = ptrtoint ptr %t27 to i64
%t29 = zext i32 %t26 to i64
%t30 = mul i64 %t29, %t28
%t31 = load ptr, ptr %t20
%t32 = call ptr @realloc(ptr %t31, i64 %t30)
store ptr %t32, ptr %t20
store i32 %t26, ptr %t19
br label %put7
put7:
%t33 = load ptr, ptr %t11
%t34 = load ptr, ptr %t20
%t35 = getelementptr inbounds ptr, ptr %t34, i32 %t21
store ptr %t33, ptr %t35
%t36 = add i32 %t21, 1
store i32 %t36, ptr %t18
%t37 = call i32 @fn_is_op(ptr @.str393)
%t38 = icmp ne i32 %t37, 0
br i1 %t38, label %then8, label %ifend10
then8:
%t39 = load i32, ptr @g_pi
%t40 = add i32 %t39, 1
store i32 %t40, ptr @g_pi
br label %ifend10
ifend10:
call void @fn_skipnl()
br label %wcond0
wend2:
call void @fn_eat_op(ptr @.str394)
%t41 = load ptr, ptr %t3
store ptr %t41, ptr %retval
br label %ret
ret:
%t42 = load ptr, ptr %retval
ret ptr %t42
}
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 @.str395)
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 @.str396)
%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 @.str397)
%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 @fn_str_eq(ptr %t18, ptr @.str398)
%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 = 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 %grow12, label %put13
grow12:
%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
%t43 = call ptr @realloc(ptr %t42, i64 %t41)
store ptr %t43, ptr %t31
store i32 %t37, ptr %t30
br label %put13
put13:
%t44 = load ptr, ptr %t11
%t45 = load ptr, ptr %t31
%t46 = getelementptr inbounds ptr, ptr %t45, i32 %t32
store ptr %t44, ptr %t46
%t47 = add i32 %t32, 1
store i32 %t47, ptr %t29
%t48 = call i32 @fn_is_op(ptr @.str399)
%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 @.str400)
%t52 = load ptr, ptr %t3
store ptr %t52, ptr %retval
br label %ret
ret:
%t53 = load ptr, ptr %retval
ret ptr %t53
}
define ptr @fn_parse_extern() {
entry:
%retval = alloca ptr
%t3 = alloca ptr
%t5 = alloca ptr
%t14 = alloca ptr
%t62 = alloca ptr
%t0 = load i32, ptr @g_pi
%t1 = add i32 %t0, 1
store i32 %t1, ptr @g_pi
%t2 = call ptr @fn_eat_id()
store ptr %t2, ptr %t3
%t4 = call ptr @fn_node(i32 11)
store ptr %t4, ptr %t5
%t6 = load ptr, ptr %t5
%t7 = getelementptr inbounds %Cmp_Node, ptr %t6, i32 0, i32 1
%t8 = call ptr @fn_eat_id()
store ptr %t8, ptr %t7
call void @fn_eat_op(ptr @.str401)
br label %wcond0
wcond0:
%t9 = call i32 @fn_is_op(ptr @.str402)
%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 @.str403)
%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 = 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
%t38 = call ptr @realloc(ptr %t37, i64 %t36)
store ptr %t38, ptr %t26
store i32 %t32, ptr %t25
br label %put4
put4:
%t39 = load ptr, ptr %t14
%t40 = load ptr, ptr %t26
%t41 = getelementptr inbounds ptr, ptr %t40, i32 %t27
store ptr %t39, ptr %t41
%t42 = add i32 %t27, 1
store i32 %t42, ptr %t24
%t43 = call i32 @fn_is_op(ptr @.str404)
%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 @.str405)
%t47 = load ptr, ptr %t5
%t48 = getelementptr inbounds %Cmp_Node, ptr %t47, i32 0, i32 3
store ptr @.str406, ptr %t48
%t49 = call i32 @fn_is_op(ptr @.str407)
%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 @.str408)
%t56 = load ptr, ptr @g_toks
%t57 = getelementptr inbounds %LSlice, ptr %t56, i32 0, i32 0
%t58 = load ptr, ptr %t57
%t59 = load i32, ptr @g_pi
%t60 = getelementptr inbounds ptr, ptr %t58, i32 %t59
%t61 = load ptr, ptr %t60
store ptr %t61, ptr %t62
%t63 = load ptr, ptr %t5
%t64 = getelementptr inbounds %Cmp_Node, ptr %t63, i32 0, i32 4
%t65 = call ptr @fn_node(i32 31)
store ptr %t65, ptr %t64
%t66 = load ptr, ptr %t5
%t67 = getelementptr inbounds %Cmp_Node, ptr %t66, i32 0, i32 4
%t68 = load ptr, ptr %t67
%t69 = getelementptr inbounds %Cmp_Node, ptr %t68, i32 0, i32 1
%t70 = load ptr, ptr %t62
%t71 = getelementptr inbounds %Cmp_Tok, ptr %t70, i32 0, i32 1
%t72 = load ptr, ptr %t71
store ptr %t72, ptr %t69
%t73 = load i32, ptr @g_pi
%t74 = add i32 %t73, 1
store i32 %t74, ptr @g_pi
%t75 = load ptr, ptr %t5
store ptr %t75, ptr %retval
br label %ret
ret:
%t76 = load ptr, ptr %retval
ret ptr %t76
}
define ptr @fn_parse_widget() {
entry:
%retval = alloca ptr
%t1 = alloca ptr
%t8 = alloca i32
%t9 = alloca i32
%t53 = alloca ptr
%t0 = call ptr @fn_node(i32 12)
store ptr %t0, ptr %t1
%t2 = load ptr, ptr %t1
%t3 = getelementptr inbounds %Cmp_Node, ptr %t2, i32 0, i32 1
%t4 = call ptr @fn_eat_id()
store ptr %t4, ptr %t3
%t5 = load ptr, ptr %t1
%t6 = getelementptr inbounds %Cmp_Node, ptr %t5, i32 0, i32 5
%t7 = call ptr @fn_node(i32 7)
store ptr %t7, ptr %t6
br label %wcond0
wcond0:
%t10 = load ptr, ptr @g_toks
%t11 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 0
%t12 = load ptr, ptr %t11
%t13 = load i32, ptr @g_pi
%t14 = getelementptr inbounds ptr, ptr %t12, i32 %t13
%t15 = load ptr, ptr %t14
%t16 = getelementptr inbounds %Cmp_Tok, ptr %t15, i32 0, i32 0
%t17 = load i32, ptr %t16
%t18 = icmp eq i32 %t17, 0
%t19 = zext i1 %t18 to i32
%t20 = icmp ne i32 %t19, 0
%t21 = zext i1 %t20 to i32
store i32 %t21, ptr %t9
br i1 %t20, label %sc3, label %scend4
sc3:
%t22 = load ptr, ptr @g_toks
%t23 = getelementptr inbounds %LSlice, ptr %t22, i32 0, i32 0
%t24 = load ptr, ptr %t23
%t25 = load i32, ptr @g_pi
%t26 = add i32 %t25, 1
%t27 = getelementptr inbounds ptr, ptr %t24, i32 %t26
%t28 = load ptr, ptr %t27
%t29 = getelementptr inbounds %Cmp_Tok, ptr %t28, i32 0, i32 0
%t30 = load i32, ptr %t29
%t31 = icmp eq i32 %t30, 3
%t32 = zext i1 %t31 to i32
%t33 = icmp ne i32 %t32, 0
%t34 = zext i1 %t33 to i32
store i32 %t34, ptr %t9
br label %scend4
scend4:
%t35 = load i32, ptr %t9
%t36 = icmp ne i32 %t35, 0
%t37 = zext i1 %t36 to i32
store i32 %t37, ptr %t8
br i1 %t36, label %sc5, label %scend6
sc5:
%t38 = load ptr, ptr @g_toks
%t39 = getelementptr inbounds %LSlice, ptr %t38, i32 0, i32 0
%t40 = load ptr, ptr %t39
%t41 = load i32, ptr @g_pi
%t42 = add i32 %t41, 1
%t43 = getelementptr inbounds ptr, ptr %t40, i32 %t42
%t44 = load ptr, ptr %t43
%t45 = getelementptr inbounds %Cmp_Tok, ptr %t44, i32 0, i32 1
%t46 = load ptr, ptr %t45
%t47 = call i32 @fn_str_eq(ptr %t46, ptr @.str409)
%t48 = icmp ne i32 %t47, 0
%t49 = zext i1 %t48 to i32
store i32 %t49, ptr %t8
br label %scend6
scend6:
%t50 = load i32, ptr %t8
%t51 = icmp ne i32 %t50, 0
br i1 %t51, label %wbody1, label %wend2
wbody1:
%t52 = call ptr @fn_node(i32 42)
store ptr %t52, ptr %t53
%t54 = load ptr, ptr %t53
%t55 = getelementptr inbounds %Cmp_Node, ptr %t54, i32 0, i32 1
%t56 = call ptr @fn_eat_id()
store ptr %t56, ptr %t55
call void @fn_eat_op(ptr @.str410)
%t57 = load ptr, ptr %t53
%t58 = getelementptr inbounds %Cmp_Node, ptr %t57, i32 0, i32 4
%t59 = call ptr @fn_expr()
store ptr %t59, ptr %t58
%t60 = load ptr, ptr %t1
%t61 = getelementptr inbounds %Cmp_Node, ptr %t60, i32 0, i32 5
%t62 = load ptr, ptr %t61
%t63 = getelementptr inbounds %Cmp_Node, ptr %t62, i32 0, i32 7
%t64 = load ptr, ptr %t63
%t65 = 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 %grow7, label %put8
grow7:
%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
%t79 = call ptr @realloc(ptr %t78, i64 %t77)
store ptr %t79, ptr %t67
store i32 %t73, ptr %t66
br label %put8
put8:
%t80 = load ptr, ptr %t53
%t81 = load ptr, ptr %t67
%t82 = getelementptr inbounds ptr, ptr %t81, i32 %t68
store ptr %t80, ptr %t82
%t83 = add i32 %t68, 1
store i32 %t83, ptr %t65
br label %wcond0
wend2:
call void @fn_skipnl()
%t84 = call i32 @fn_is_op(ptr @.str411)
%t85 = icmp ne i32 %t84, 0
br i1 %t85, label %then9, label %ifend11
then9:
%t86 = load i32, ptr @g_pi
%t87 = add i32 %t86, 1
store i32 %t87, ptr @g_pi
br label %wcond12
wcond12:
%t88 = icmp ne i32 1, 0
br i1 %t88, label %wbody13, label %wend14
wbody13:
call void @fn_skipnl()
%t89 = call i32 @fn_is_op(ptr @.str412)
%t90 = icmp ne i32 %t89, 0
br i1 %t90, label %then15, label %ifend17
then15:
br label %wend14
ifend17:
%t91 = load ptr, ptr %t1
%t92 = getelementptr inbounds %Cmp_Node, ptr %t91, i32 0, i32 7
%t93 = load ptr, ptr %t92
%t94 = 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
%t108 = call ptr @realloc(ptr %t107, i64 %t106)
store ptr %t108, ptr %t96
store i32 %t102, ptr %t95
br label %put19
put19:
%t109 = call ptr @fn_parse_widget()
%t110 = load ptr, ptr %t96
%t111 = getelementptr inbounds ptr, ptr %t110, i32 %t97
store ptr %t109, ptr %t111
%t112 = add i32 %t97, 1
store i32 %t112, ptr %t94
br label %wcond12
wend14:
call void @fn_eat_op(ptr @.str413)
br label %ifend11
ifend11:
%t113 = load ptr, ptr %t1
store ptr %t113, ptr %retval
br label %ret
ret:
%t114 = load ptr, ptr %retval
ret ptr %t114
}
define ptr @fn_parse_ui() {
entry:
%retval = alloca ptr
%t3 = alloca ptr
%t0 = load i32, ptr @g_pi
%t1 = add i32 %t0, 1
store i32 %t1, ptr @g_pi
%t2 = call ptr @fn_node(i32 12)
store ptr %t2, ptr %t3
%t4 = load ptr, ptr %t3
%t5 = getelementptr inbounds %Cmp_Node, ptr %t4, i32 0, i32 1
%t6 = call ptr @fn_eat_id()
store ptr %t6, ptr %t5
%t7 = load ptr, ptr %t3
%t8 = getelementptr inbounds %Cmp_Node, ptr %t7, i32 0, i32 2
store i32 1, ptr %t8
call void @fn_skipnl()
call void @fn_eat_op(ptr @.str414)
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 @.str415)
%t12 = load ptr, ptr %t3
store ptr %t12, ptr %retval
br label %ret
ret:
%t13 = load ptr, ptr %retval
ret ptr %t13
}
define ptr @fn_val(ptr %arg_code, ptr %arg_ty) {
entry:
%retval = alloca ptr
%t0 = alloca ptr
%t1 = alloca ptr
%t7 = alloca ptr
store ptr %arg_code, ptr %t0
store ptr %arg_ty, ptr %t1
%t2 = getelementptr %Cmp_Val, ptr null, i32 1
%t3 = ptrtoint ptr %t2 to i64
%t4 = call ptr @malloc(i64 %t3)
%t5 = getelementptr inbounds %Cmp_Val, ptr %t4, i32 0, i32 0
store ptr null, ptr %t5
%t6 = getelementptr inbounds %Cmp_Val, ptr %t4, i32 0, i32 1
store ptr null, ptr %t6
store ptr %t4, ptr %t7
%t8 = load ptr, ptr %t7
%t9 = getelementptr inbounds %Cmp_Val, ptr %t8, i32 0, i32 0
%t10 = load ptr, ptr %t0
store ptr %t10, ptr %t9
%t11 = load ptr, ptr %t7
%t12 = getelementptr inbounds %Cmp_Val, ptr %t11, i32 0, i32 1
%t13 = load ptr, ptr %t1
store ptr %t13, ptr %t12
%t14 = load ptr, ptr %t7
store ptr %t14, ptr %retval
br label %ret
ret:
%t15 = load ptr, ptr %retval
ret ptr %t15
}
define i32 @fn_cov_slot(i32 %arg_line) {
entry:
%retval = alloca i32
%t0 = alloca i32
%t1 = alloca i32
store i32 %arg_line, ptr %t0
store i32 0, ptr %t1
br label %wcond0
wcond0:
%t2 = load i32, ptr %t1
%t3 = load ptr, ptr @g_g_cov_lines
%t4 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 1
%t5 = load i32, ptr %t4
%t6 = icmp slt i32 %t2, %t5
%t7 = zext i1 %t6 to i32
%t8 = icmp ne i32 %t7, 0
br i1 %t8, label %wbody1, label %wend2
wbody1:
%t9 = load ptr, ptr @g_g_cov_lines
%t10 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0
%t11 = load ptr, ptr %t10
%t12 = load i32, ptr %t1
%t13 = getelementptr inbounds i32, ptr %t11, i32 %t12
%t14 = load i32, ptr %t13
%t15 = load i32, ptr %t0
%t16 = icmp eq i32 %t14, %t15
%t17 = zext i1 %t16 to i32
%t18 = icmp ne i32 %t17, 0
br i1 %t18, label %then3, label %ifend5
then3:
%t19 = load i32, ptr %t1
store i32 %t19, ptr %retval
br label %ret
ifend5:
%t20 = load i32, ptr %t1
%t21 = add i32 %t20, 1
store i32 %t21, ptr %t1
br label %wcond0
wend2:
%t22 = load ptr, ptr @g_g_cov_lines
%t23 = 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 %grow6, label %put7
grow6:
%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
%t37 = call ptr @realloc(ptr %t36, i64 %t35)
store ptr %t37, ptr %t25
store i32 %t31, ptr %t24
br label %put7
put7:
%t38 = load i32, ptr %t0
%t39 = load ptr, ptr %t25
%t40 = getelementptr inbounds i32, ptr %t39, i32 %t26
store i32 %t38, ptr %t40
%t41 = add i32 %t26, 1
store i32 %t41, ptr %t23
%t42 = load ptr, ptr @g_g_cov_lines
%t43 = getelementptr inbounds %LSlice, ptr %t42, i32 0, i32 1
%t44 = load i32, ptr %t43
%t45 = sub i32 %t44, 1
store i32 %t45, ptr %retval
br label %ret
ret:
%t46 = load i32, ptr %retval
ret i32 %t46
}
define void @fn_emit_cov_hit(i32 %arg_line) {
entry:
%t0 = alloca i32
%t15 = alloca i32
%t17 = alloca ptr
%t24 = alloca ptr
%t29 = alloca ptr
store i32 %arg_line, ptr %t0
%t1 = load i32, ptr @g_g_coverage
%t2 = icmp eq i32 %t1, 0
%t3 = zext i1 %t2 to i32
%t4 = icmp ne i32 %t3, 0
br i1 %t4, label %then0, label %ifend2
then0:
br label %ret
ifend2:
%t5 = load i32, ptr @g_g_cov_active
%t6 = icmp eq i32 %t5, 0
%t7 = zext i1 %t6 to i32
%t8 = icmp ne i32 %t7, 0
br i1 %t8, label %then3, label %ifend5
then3:
br label %ret
ifend5:
%t9 = load i32, ptr %t0
%t10 = icmp sle i32 %t9, 0
%t11 = zext i1 %t10 to i32
%t12 = icmp ne i32 %t11, 0
br i1 %t12, label %then6, label %ifend8
then6:
br label %ret
ifend8:
%t13 = load i32, ptr %t0
%t14 = call i32 @fn_cov_slot(i32 %t13)
store i32 %t14, ptr %t15
%t16 = call ptr @fn_nreg()
store ptr %t16, ptr %t17
call void @fn_emit(ptr @.str416)
%t18 = load ptr, ptr %t17
call void @fn_emit(ptr %t18)
call void @fn_emit(ptr @.str417)
%t19 = load i32, ptr %t15
%t20 = call ptr @fn_itoa(i32 %t19)
call void @fn_emit(ptr %t20)
call void @fn_emit(ptr @.str418)
%t21 = load ptr, ptr %t17
%t22 = call ptr @fn_str_concat(ptr @.str419, ptr %t21)
%t23 = call ptr @fn_emit_bind(ptr %t22)
store ptr %t23, ptr %t24
%t25 = load ptr, ptr %t24
%t26 = call ptr @fn_str_concat(ptr @.str420, ptr %t25)
%t27 = call ptr @fn_str_concat(ptr %t26, ptr @.str421)
%t28 = call ptr @fn_emit_bind(ptr %t27)
store ptr %t28, ptr %t29
call void @fn_emit(ptr @.str422)
%t30 = load ptr, ptr %t29
call void @fn_emit(ptr %t30)
call void @fn_emit(ptr @.str423)
%t31 = load ptr, ptr %t17
call void @fn_emit(ptr %t31)
call void @fn_emit(ptr @.str424)
br label %ret
ret:
ret void
}
define ptr @fn_find_scene(ptr %arg_name) {
entry:
%retval = alloca ptr
%t0 = alloca ptr
%t1 = alloca i32
store ptr %arg_name, ptr %t0
store i32 0, ptr %t1
br label %wcond0
wcond0:
%t2 = load i32, ptr %t1
%t3 = load ptr, ptr @g_g_scenes
%t4 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 1
%t5 = load i32, ptr %t4
%t6 = icmp slt i32 %t2, %t5
%t7 = zext i1 %t6 to i32
%t8 = icmp ne i32 %t7, 0
br i1 %t8, label %wbody1, label %wend2
wbody1:
%t9 = load ptr, ptr @g_g_scenes
%t10 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0
%t11 = load ptr, ptr %t10
%t12 = load i32, ptr %t1
%t13 = getelementptr inbounds ptr, ptr %t11, i32 %t12
%t14 = load ptr, ptr %t13
%t15 = getelementptr inbounds %Cmp_Node, ptr %t14, i32 0, i32 1
%t16 = load ptr, ptr %t15
%t17 = load ptr, ptr %t0
%t18 = call i32 @fn_str_eq(ptr %t16, ptr %t17)
%t19 = icmp ne i32 %t18, 0
br i1 %t19, label %then3, label %ifend5
then3:
%t20 = load ptr, ptr @g_g_scenes
%t21 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 0
%t22 = load ptr, ptr %t21
%t23 = load i32, ptr %t1
%t24 = getelementptr inbounds ptr, ptr %t22, i32 %t23
%t25 = load ptr, ptr %t24
store ptr %t25, ptr %retval
br label %ret
ifend5:
%t26 = load i32, ptr %t1
%t27 = add i32 %t26, 1
store i32 %t27, ptr %t1
br label %wcond0
wend2:
store ptr null, ptr %retval
br label %ret
ret:
%t28 = load ptr, ptr %retval
ret ptr %t28
}
define void @fn_emit(ptr %arg_s) {
entry:
%t0 = alloca ptr
store ptr %arg_s, ptr %t0
%t1 = load ptr, ptr @g_code
%t2 = load ptr, ptr %t0
call void @fn_buf_puts(ptr %t1, ptr %t2)
br label %ret
ret:
ret void
}
define void @fn_emith(ptr %arg_s) {
entry:
%t0 = alloca ptr
store ptr %arg_s, ptr %t0
%t1 = load ptr, ptr @g_head
%t2 = load ptr, ptr %t0
call void @fn_buf_puts(ptr %t1, ptr %t2)
br label %ret
ret:
ret void
}
define ptr @fn_emit_alloca(ptr %arg_llt) {
entry:
%retval = alloca ptr
%t0 = alloca ptr
%t4 = alloca ptr
store ptr %arg_llt, ptr %t0
%t1 = load i32, ptr @g_ll_t
%t2 = call ptr @fn_itoa(i32 %t1)
%t3 = call ptr @fn_str_concat(ptr @.str425, ptr %t2)
store ptr %t3, ptr %t4
%t5 = load i32, ptr @g_ll_t
%t6 = add i32 %t5, 1
store i32 %t6, ptr @g_ll_t
%t7 = load ptr, ptr @g_falloc
call void @fn_buf_puts(ptr %t7, ptr @.str426)
%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 @.str427)
%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 @.str428)
%t14 = load ptr, ptr %t4
store ptr %t14, ptr %retval
br label %ret
ret:
%t15 = load ptr, ptr %retval
ret ptr %t15
}
define ptr @fn_nreg() {
entry:
%retval = alloca ptr
%t3 = alloca ptr
%t0 = load i32, ptr @g_ll_t
%t1 = call ptr @fn_itoa(i32 %t0)
%t2 = call ptr @fn_str_concat(ptr @.str429, ptr %t1)
store ptr %t2, ptr %t3
%t4 = load i32, ptr @g_ll_t
%t5 = add i32 %t4, 1
store i32 %t5, ptr @g_ll_t
%t6 = load ptr, ptr %t3
store ptr %t6, ptr %retval
br label %ret
ret:
%t7 = load ptr, ptr %retval
ret ptr %t7
}
define ptr @fn_lbl(ptr %arg_pfx) {
entry:
%retval = alloca ptr
%t0 = alloca ptr
%t5 = alloca ptr
store ptr %arg_pfx, ptr %t0
%t1 = load ptr, ptr %t0
%t2 = load i32, ptr @g_ll_lbl
%t3 = call ptr @fn_itoa(i32 %t2)
%t4 = call ptr @fn_str_concat(ptr %t1, ptr %t3)
store ptr %t4, ptr %t5
%t6 = load i32, ptr @g_ll_lbl
%t7 = add i32 %t6, 1
store i32 %t7, ptr @g_ll_lbl
%t8 = load ptr, ptr %t5
store ptr %t8, ptr %retval
br label %ret
ret:
%t9 = load ptr, ptr %retval
ret ptr %t9
}
define ptr @fn_llty(ptr %arg_t) {
entry:
%retval = alloca ptr
%t0 = alloca ptr
%t1 = alloca i32
%t2 = alloca i32
%t3 = alloca i32
%t37 = alloca i32
%t38 = alloca i32
store ptr %arg_t, ptr %t0
%t4 = load ptr, ptr %t0
%t5 = call i32 @fn_str_eq(ptr %t4, ptr @.str430)
%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 @fn_str_eq(ptr %t8, ptr @.str431)
%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 @fn_str_eq(ptr %t15, ptr @.str432)
%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 @fn_str_eq(ptr %t22, ptr @.str433)
%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 @.str434, ptr %retval
br label %ret
ifend8:
%t28 = load ptr, ptr %t0
%t29 = call i32 @fn_str_eq(ptr %t28, ptr @.str435)
%t30 = icmp ne i32 %t29, 0
br i1 %t30, label %then9, label %ifend11
then9:
store ptr @.str436, ptr %retval
br label %ret
ifend11:
%t31 = load ptr, ptr %t0
%t32 = call i32 @fn_str_eq(ptr %t31, ptr @.str437)
%t33 = icmp ne i32 %t32, 0
br i1 %t33, label %then12, label %ifend14
then12:
store ptr @.str438, ptr %retval
br label %ret
ifend14:
%t34 = load ptr, ptr %t0
%t35 = call i32 @fn_str_eq(ptr %t34, ptr @.str439)
%t36 = icmp ne i32 %t35, 0
br i1 %t36, label %then15, label %ifend17
then15:
store ptr @.str440, ptr %retval
br label %ret
ifend17:
%t39 = load ptr, ptr %t0
%t40 = call i32 @fn_str_eq(ptr %t39, ptr @.str441)
%t41 = icmp ne i32 %t40, 0
%t42 = zext i1 %t41 to i32
store i32 %t42, ptr %t38
br i1 %t41, label %scend19, label %sc18
sc18:
%t43 = load ptr, ptr %t0
%t44 = call i32 @fn_str_eq(ptr %t43, ptr @.str442)
%t45 = icmp ne i32 %t44, 0
%t46 = zext i1 %t45 to i32
store i32 %t46, ptr %t38
br label %scend19
scend19:
%t47 = load i32, ptr %t38
%t48 = icmp ne i32 %t47, 0
%t49 = zext i1 %t48 to i32
store i32 %t49, ptr %t37
br i1 %t48, label %scend21, label %sc20
sc20:
%t50 = load ptr, ptr %t0
%t51 = call i32 @fn_str_eq(ptr %t50, ptr @.str443)
%t52 = icmp ne i32 %t51, 0
%t53 = zext i1 %t52 to i32
store i32 %t53, ptr %t37
br label %scend21
scend21:
%t54 = load i32, ptr %t37
%t55 = icmp ne i32 %t54, 0
br i1 %t55, label %then22, label %ifend24
then22:
store ptr @.str444, ptr %retval
br label %ret
ifend24:
%t56 = load ptr, ptr %t0
%t57 = call i32 @fn_str_eq(ptr %t56, ptr @.str445)
%t58 = icmp ne i32 %t57, 0
br i1 %t58, label %then25, label %ifend27
then25:
store ptr @.str446, ptr %retval
br label %ret
ifend27:
store ptr @.str447, ptr %retval
br label %ret
ret:
%t59 = load ptr, ptr %retval
ret ptr %t59
}
define i32 @fn_is_slice_ty(ptr %arg_t) {
entry:
%retval = alloca i32
%t0 = alloca ptr
%t1 = alloca i32
store ptr %arg_t, ptr %t0
%t2 = load ptr, ptr %t0
%t3 = getelementptr inbounds i8, ptr %t2, i32 0
%t4 = load i8, ptr %t3
%t5 = zext i8 %t4 to i32
%t6 = icmp eq i32 %t5, 91
%t7 = zext i1 %t6 to i32
%t8 = icmp ne i32 %t7, 0
%t9 = zext i1 %t8 to i32
store i32 %t9, ptr %t1
br i1 %t8, label %sc0, label %scend1
sc0:
%t10 = load ptr, ptr %t0
%t11 = getelementptr inbounds i8, ptr %t10, i32 1
%t12 = load i8, ptr %t11
%t13 = zext i8 %t12 to i32
%t14 = icmp eq i32 %t13, 93
%t15 = zext i1 %t14 to i32
%t16 = icmp ne i32 %t15, 0
%t17 = zext i1 %t16 to i32
store i32 %t17, ptr %t1
br label %scend1
scend1:
%t18 = load i32, ptr %t1
store i32 %t18, ptr %retval
br label %ret
ret:
%t19 = load i32, ptr %retval
ret i32 %t19
}
define ptr @fn_slice_elem(ptr %arg_t) {
entry:
%retval = alloca ptr
%t0 = alloca ptr
store ptr %arg_t, ptr %t0
%t1 = load ptr, ptr %t0
%t2 = load ptr, ptr %t0
%t3 = call i64 @strlen(ptr %t2)
%t4 = trunc i64 %t3 to i32
%t5 = call ptr @fn_str_slice(ptr %t1, i32 2, i32 %t4)
store ptr %t5, ptr %retval
br label %ret
ret:
%t6 = load ptr, ptr %retval
ret ptr %t6
}
define ptr @fn_find_arch(ptr %arg_name) {
entry:
%retval = alloca ptr
%t0 = alloca ptr
%t1 = alloca i32
%t15 = alloca ptr
%t16 = alloca i32
store ptr %arg_name, ptr %t0
store i32 0, ptr %t1
br label %wcond0
wcond0:
%t2 = load i32, ptr %t1
%t3 = load ptr, ptr @g_prog
%t4 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 1
%t5 = load i32, ptr %t4
%t6 = icmp slt i32 %t2, %t5
%t7 = zext i1 %t6 to i32
%t8 = icmp ne i32 %t7, 0
br i1 %t8, label %wbody1, label %wend2
wbody1:
%t9 = load ptr, ptr @g_prog
%t10 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0
%t11 = load ptr, ptr %t10
%t12 = load i32, ptr %t1
%t13 = getelementptr inbounds ptr, ptr %t11, i32 %t12
%t14 = load ptr, ptr %t13
store ptr %t14, ptr %t15
%t17 = load ptr, ptr %t15
%t18 = getelementptr inbounds %Cmp_Node, ptr %t17, i32 0, i32 0
%t19 = load i32, ptr %t18
%t20 = icmp eq i32 %t19, 10
%t21 = zext i1 %t20 to i32
%t22 = icmp ne i32 %t21, 0
%t23 = zext i1 %t22 to i32
store i32 %t23, ptr %t16
br i1 %t22, label %sc3, label %scend4
sc3:
%t24 = load ptr, ptr %t15
%t25 = getelementptr inbounds %Cmp_Node, ptr %t24, i32 0, i32 1
%t26 = load ptr, ptr %t25
%t27 = load ptr, ptr %t0
%t28 = call i32 @fn_str_eq(ptr %t26, ptr %t27)
%t29 = icmp ne i32 %t28, 0
%t30 = zext i1 %t29 to i32
store i32 %t30, ptr %t16
br label %scend4
scend4:
%t31 = load i32, ptr %t16
%t32 = icmp ne i32 %t31, 0
br i1 %t32, label %then5, label %ifend7
then5:
%t33 = load ptr, ptr %t15
store ptr %t33, ptr %retval
br label %ret
ifend7:
%t34 = load i32, ptr %t1
%t35 = add i32 %t34, 1
store i32 %t35, ptr %t1
br label %wcond0
wend2:
store ptr null, ptr %retval
br label %ret
ret:
%t36 = load ptr, ptr %retval
ret ptr %t36
}
define ptr @fn_find_comp(ptr %arg_name) {
entry:
%retval = alloca ptr
%t0 = alloca ptr
%t1 = alloca i32
%t15 = alloca ptr
%t16 = alloca i32
store ptr %arg_name, ptr %t0
store i32 0, ptr %t1
br label %wcond0
wcond0:
%t2 = load i32, ptr %t1
%t3 = load ptr, ptr @g_prog
%t4 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 1
%t5 = load i32, ptr %t4
%t6 = icmp slt i32 %t2, %t5
%t7 = zext i1 %t6 to i32
%t8 = icmp ne i32 %t7, 0
br i1 %t8, label %wbody1, label %wend2
wbody1:
%t9 = load ptr, ptr @g_prog
%t10 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0
%t11 = load ptr, ptr %t10
%t12 = load i32, ptr %t1
%t13 = getelementptr inbounds ptr, ptr %t11, i32 %t12
%t14 = load ptr, ptr %t13
store ptr %t14, ptr %t15
%t17 = load ptr, ptr %t15
%t18 = getelementptr inbounds %Cmp_Node, ptr %t17, i32 0, i32 0
%t19 = load i32, ptr %t18
%t20 = icmp eq i32 %t19, 8
%t21 = zext i1 %t20 to i32
%t22 = icmp ne i32 %t21, 0
%t23 = zext i1 %t22 to i32
store i32 %t23, ptr %t16
br i1 %t22, label %sc3, label %scend4
sc3:
%t24 = load ptr, ptr %t15
%t25 = getelementptr inbounds %Cmp_Node, ptr %t24, i32 0, i32 1
%t26 = load ptr, ptr %t25
%t27 = load ptr, ptr %t0
%t28 = call i32 @fn_str_eq(ptr %t26, ptr %t27)
%t29 = icmp ne i32 %t28, 0
%t30 = zext i1 %t29 to i32
store i32 %t30, ptr %t16
br label %scend4
scend4:
%t31 = load i32, ptr %t16
%t32 = icmp ne i32 %t31, 0
br i1 %t32, label %then5, label %ifend7
then5:
%t33 = load ptr, ptr %t15
store ptr %t33, ptr %retval
br label %ret
ifend7:
%t34 = load i32, ptr %t1
%t35 = add i32 %t34, 1
store i32 %t35, ptr %t1
br label %wcond0
wend2:
store ptr null, ptr %retval
br label %ret
ret:
%t36 = load ptr, ptr %retval
ret ptr %t36
}
define ptr @fn_layout_node(ptr %arg_name) {
entry:
%retval = alloca ptr
%t0 = alloca ptr
store ptr %arg_name, ptr %t0
%t1 = load ptr, ptr %t0
%t2 = call ptr @fn_find_comp(ptr %t1)
store ptr %t2, ptr %retval
br label %ret
ret:
%t3 = load ptr, ptr %retval
ret ptr %t3
}
define ptr @fn_layout_ty(ptr %arg_name) {
entry:
%retval = alloca ptr
%t0 = alloca ptr
store ptr %arg_name, ptr %t0
%t1 = load ptr, ptr %t0
%t2 = call ptr @fn_str_concat(ptr @.str448, ptr %t1)
store ptr %t2, ptr %retval
br label %ret
ret:
%t3 = load ptr, ptr %retval
ret ptr %t3
}
define i32 @fn_field_index(ptr %arg_s, ptr %arg_fname) {
entry:
%retval = alloca i32
%t0 = alloca ptr
%t1 = alloca ptr
%t2 = alloca i32
store ptr %arg_s, ptr %t0
store ptr %arg_fname, ptr %t1
store i32 0, ptr %t2
br label %wcond0
wcond0:
%t3 = load i32, ptr %t2
%t4 = load ptr, ptr %t0
%t5 = getelementptr inbounds %Cmp_Node, ptr %t4, i32 0, i32 7
%t6 = load ptr, ptr %t5
%t7 = getelementptr inbounds %LSlice, ptr %t6, i32 0, i32 1
%t8 = load i32, ptr %t7
%t9 = icmp slt i32 %t3, %t8
%t10 = zext i1 %t9 to i32
%t11 = icmp ne i32 %t10, 0
br i1 %t11, label %wbody1, label %wend2
wbody1:
%t12 = load ptr, ptr %t0
%t13 = getelementptr inbounds %Cmp_Node, ptr %t12, i32 0, i32 7
%t14 = load ptr, ptr %t13
%t15 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 0
%t16 = load ptr, ptr %t15
%t17 = load i32, ptr %t2
%t18 = getelementptr inbounds ptr, ptr %t16, i32 %t17
%t19 = load ptr, ptr %t18
%t20 = getelementptr inbounds %Cmp_Node, ptr %t19, i32 0, i32 1
%t21 = load ptr, ptr %t20
%t22 = load ptr, ptr %t1
%t23 = call i32 @fn_str_eq(ptr %t21, ptr %t22)
%t24 = icmp ne i32 %t23, 0
br i1 %t24, label %then3, label %ifend5
then3:
%t25 = load i32, ptr %t2
store i32 %t25, ptr %retval
br label %ret
ifend5:
%t26 = load i32, ptr %t2
%t27 = add i32 %t26, 1
store i32 %t27, ptr %t2
br label %wcond0
wend2:
%t28 = sub i32 0, 1
store i32 %t28, ptr %retval
br label %ret
ret:
%t29 = load i32, ptr %retval
ret i32 %t29
}
define ptr @fn_field_type(ptr %arg_s, ptr %arg_fname) {
entry:
%retval = alloca ptr
%t0 = alloca ptr
%t1 = alloca ptr
%t2 = alloca i32
store ptr %arg_s, ptr %t0
store ptr %arg_fname, ptr %t1
store i32 0, ptr %t2
br label %wcond0
wcond0:
%t3 = load i32, ptr %t2
%t4 = load ptr, ptr %t0
%t5 = getelementptr inbounds %Cmp_Node, ptr %t4, i32 0, i32 7
%t6 = load ptr, ptr %t5
%t7 = getelementptr inbounds %LSlice, ptr %t6, i32 0, i32 1
%t8 = load i32, ptr %t7
%t9 = icmp slt i32 %t3, %t8
%t10 = zext i1 %t9 to i32
%t11 = icmp ne i32 %t10, 0
br i1 %t11, label %wbody1, label %wend2
wbody1:
%t12 = load ptr, ptr %t0
%t13 = getelementptr inbounds %Cmp_Node, ptr %t12, i32 0, i32 7
%t14 = load ptr, ptr %t13
%t15 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 0
%t16 = load ptr, ptr %t15
%t17 = load i32, ptr %t2
%t18 = getelementptr inbounds ptr, ptr %t16, i32 %t17
%t19 = load ptr, ptr %t18
%t20 = getelementptr inbounds %Cmp_Node, ptr %t19, i32 0, i32 1
%t21 = load ptr, ptr %t20
%t22 = load ptr, ptr %t1
%t23 = call i32 @fn_str_eq(ptr %t21, ptr %t22)
%t24 = icmp ne i32 %t23, 0
br i1 %t24, label %then3, label %ifend5
then3:
%t25 = load ptr, ptr %t0
%t26 = getelementptr inbounds %Cmp_Node, ptr %t25, i32 0, i32 7
%t27 = load ptr, ptr %t26
%t28 = getelementptr inbounds %LSlice, ptr %t27, i32 0, i32 0
%t29 = load ptr, ptr %t28
%t30 = load i32, ptr %t2
%t31 = getelementptr inbounds ptr, ptr %t29, i32 %t30
%t32 = load ptr, ptr %t31
%t33 = getelementptr inbounds %Cmp_Node, ptr %t32, i32 0, i32 3
%t34 = load ptr, ptr %t33
store ptr %t34, ptr %retval
br label %ret
ifend5:
%t35 = load i32, ptr %t2
%t36 = add i32 %t35, 1
store i32 %t36, ptr %t2
br label %wcond0
wend2:
store ptr @.str449, ptr %retval
br label %ret
ret:
%t37 = load ptr, ptr %retval
ret ptr %t37
}
define ptr @fn_find_global(ptr %arg_name) {
entry:
%retval = alloca ptr
%t0 = alloca ptr
%t1 = alloca i32
%t15 = alloca ptr
%t16 = alloca i32
%t34 = alloca i32
store ptr %arg_name, ptr %t0
store i32 0, ptr %t1
br label %wcond0
wcond0:
%t2 = load i32, ptr %t1
%t3 = load ptr, ptr @g_prog
%t4 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 1
%t5 = load i32, ptr %t4
%t6 = icmp slt i32 %t2, %t5
%t7 = zext i1 %t6 to i32
%t8 = icmp ne i32 %t7, 0
br i1 %t8, label %wbody1, label %wend2
wbody1:
%t9 = load ptr, ptr @g_prog
%t10 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0
%t11 = load ptr, ptr %t10
%t12 = load i32, ptr %t1
%t13 = getelementptr inbounds ptr, ptr %t11, i32 %t12
%t14 = load ptr, ptr %t13
store ptr %t14, ptr %t15
%t17 = load ptr, ptr %t15
%t18 = getelementptr inbounds %Cmp_Node, ptr %t17, i32 0, i32 0
%t19 = load i32, ptr %t18
%t20 = icmp eq i32 %t19, 2
%t21 = zext i1 %t20 to i32
%t22 = icmp ne i32 %t21, 0
%t23 = zext i1 %t22 to i32
store i32 %t23, ptr %t16
br i1 %t22, label %sc3, label %scend4
sc3:
%t24 = load ptr, ptr %t15
%t25 = getelementptr inbounds %Cmp_Node, ptr %t24, i32 0, i32 1
%t26 = load ptr, ptr %t25
%t27 = load ptr, ptr %t0
%t28 = call i32 @fn_str_eq(ptr %t26, ptr %t27)
%t29 = icmp ne i32 %t28, 0
%t30 = zext i1 %t29 to i32
store i32 %t30, ptr %t16
br label %scend4
scend4:
%t31 = load i32, ptr %t16
%t32 = icmp ne i32 %t31, 0
br i1 %t32, label %then5, label %ifend7
then5:
%t33 = load ptr, ptr %t15
store ptr %t33, ptr %retval
br label %ret
ifend7:
%t35 = load ptr, ptr %t15
%t36 = getelementptr inbounds %Cmp_Node, ptr %t35, i32 0, i32 0
%t37 = load i32, ptr %t36
%t38 = icmp eq i32 %t37, 3
%t39 = zext i1 %t38 to i32
%t40 = icmp ne i32 %t39, 0
%t41 = zext i1 %t40 to i32
store i32 %t41, ptr %t34
br i1 %t40, label %sc8, label %scend9
sc8:
%t42 = load ptr, ptr %t15
%t43 = getelementptr inbounds %Cmp_Node, ptr %t42, i32 0, i32 1
%t44 = load ptr, ptr %t43
%t45 = load ptr, ptr %t0
%t46 = call i32 @fn_str_eq(ptr %t44, ptr %t45)
%t47 = icmp ne i32 %t46, 0
%t48 = zext i1 %t47 to i32
store i32 %t48, ptr %t34
br label %scend9
scend9:
%t49 = load i32, ptr %t34
%t50 = icmp ne i32 %t49, 0
br i1 %t50, label %then10, label %ifend12
then10:
%t51 = load ptr, ptr %t15
store ptr %t51, ptr %retval
br label %ret
ifend12:
%t52 = load i32, ptr %t1
%t53 = add i32 %t52, 1
store i32 %t53, ptr %t1
br label %wcond0
wend2:
store ptr null, ptr %retval
br label %ret
ret:
%t54 = load ptr, ptr %retval
ret ptr %t54
}
define i32 @fn_enum_ordinal(ptr %arg_ename, ptr %arg_vname) {
entry:
%retval = alloca i32
%t0 = alloca ptr
%t1 = alloca ptr
%t2 = alloca i32
%t16 = alloca ptr
%t17 = alloca i32
%t34 = alloca i32
store ptr %arg_ename, ptr %t0
store ptr %arg_vname, ptr %t1
store i32 0, ptr %t2
br label %wcond0
wcond0:
%t3 = load i32, ptr %t2
%t4 = load ptr, ptr @g_prog
%t5 = getelementptr inbounds %LSlice, ptr %t4, i32 0, i32 1
%t6 = load i32, ptr %t5
%t7 = icmp slt i32 %t3, %t6
%t8 = zext i1 %t7 to i32
%t9 = icmp ne i32 %t8, 0
br i1 %t9, label %wbody1, label %wend2
wbody1:
%t10 = load ptr, ptr @g_prog
%t11 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 0
%t12 = load ptr, ptr %t11
%t13 = load i32, ptr %t2
%t14 = getelementptr inbounds ptr, ptr %t12, i32 %t13
%t15 = load ptr, ptr %t14
store ptr %t15, ptr %t16
%t18 = load ptr, ptr %t16
%t19 = getelementptr inbounds %Cmp_Node, ptr %t18, i32 0, i32 0
%t20 = load i32, ptr %t19
%t21 = icmp eq i32 %t20, 27
%t22 = zext i1 %t21 to i32
%t23 = icmp ne i32 %t22, 0
%t24 = zext i1 %t23 to i32
store i32 %t24, ptr %t17
br i1 %t23, label %sc3, label %scend4
sc3:
%t25 = load ptr, ptr %t16
%t26 = getelementptr inbounds %Cmp_Node, ptr %t25, i32 0, i32 1
%t27 = load ptr, ptr %t26
%t28 = load ptr, ptr %t0
%t29 = call i32 @fn_str_eq(ptr %t27, ptr %t28)
%t30 = icmp ne i32 %t29, 0
%t31 = zext i1 %t30 to i32
store i32 %t31, ptr %t17
br label %scend4
scend4:
%t32 = load i32, ptr %t17
%t33 = icmp ne i32 %t32, 0
br i1 %t33, label %then5, label %ifend7
then5:
store i32 0, ptr %t34
br label %wcond8
wcond8:
%t35 = load i32, ptr %t34
%t36 = load ptr, ptr %t16
%t37 = getelementptr inbounds %Cmp_Node, ptr %t36, i32 0, i32 7
%t38 = load ptr, ptr %t37
%t39 = getelementptr inbounds %LSlice, ptr %t38, i32 0, i32 1
%t40 = load i32, ptr %t39
%t41 = icmp slt i32 %t35, %t40
%t42 = zext i1 %t41 to i32
%t43 = icmp ne i32 %t42, 0
br i1 %t43, label %wbody9, label %wend10
wbody9:
%t44 = load ptr, ptr %t16
%t45 = getelementptr inbounds %Cmp_Node, ptr %t44, i32 0, i32 7
%t46 = load ptr, ptr %t45
%t47 = getelementptr inbounds %LSlice, ptr %t46, i32 0, i32 0
%t48 = load ptr, ptr %t47
%t49 = load i32, ptr %t34
%t50 = getelementptr inbounds ptr, ptr %t48, i32 %t49
%t51 = load ptr, ptr %t50
%t52 = getelementptr inbounds %Cmp_Node, ptr %t51, i32 0, i32 1
%t53 = load ptr, ptr %t52
%t54 = load ptr, ptr %t1
%t55 = call i32 @fn_str_eq(ptr %t53, ptr %t54)
%t56 = icmp ne i32 %t55, 0
br i1 %t56, label %then11, label %ifend13
then11:
%t57 = load i32, ptr %t34
store i32 %t57, ptr %retval
br label %ret
ifend13:
%t58 = load i32, ptr %t34
%t59 = add i32 %t58, 1
store i32 %t59, ptr %t34
br label %wcond8
wend10:
br label %ifend7
ifend7:
%t60 = load i32, ptr %t2
%t61 = add i32 %t60, 1
store i32 %t61, ptr %t2
br label %wcond0
wend2:
%t62 = load ptr, ptr %t0
%t63 = call i32 @fn_str_eq(ptr %t62, ptr @.str450)
%t64 = icmp ne i32 %t63, 0
br i1 %t64, label %then14, label %ifend16
then14:
%t65 = load ptr, ptr %t1
%t66 = call i32 @fn_str_eq(ptr %t65, ptr @.str451)
%t67 = icmp ne i32 %t66, 0
br i1 %t67, label %then17, label %ifend19
then17:
store i32 0, ptr %retval
br label %ret
ifend19:
%t68 = load ptr, ptr %t1
%t69 = call i32 @fn_str_eq(ptr %t68, ptr @.str452)
%t70 = icmp ne i32 %t69, 0
br i1 %t70, label %then20, label %ifend22
then20:
store i32 1, ptr %retval
br label %ret
ifend22:
%t71 = load ptr, ptr %t1
%t72 = call i32 @fn_str_eq(ptr %t71, ptr @.str453)
%t73 = icmp ne i32 %t72, 0
br i1 %t73, label %then23, label %ifend25
then23:
store i32 2, ptr %retval
br label %ret
ifend25:
br label %ifend16
ifend16:
%t74 = sub i32 0, 1
store i32 %t74, ptr %retval
br label %ret
ret:
%t75 = load i32, ptr %retval
ret i32 %t75
}
define ptr @fn_find_fn(ptr %arg_name) {
entry:
%retval = alloca ptr
%t0 = alloca ptr
%t1 = alloca i32
%t15 = alloca ptr
%t16 = alloca i32
store ptr %arg_name, ptr %t0
store i32 0, ptr %t1
br label %wcond0
wcond0:
%t2 = load i32, ptr %t1
%t3 = load ptr, ptr @g_prog
%t4 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 1
%t5 = load i32, ptr %t4
%t6 = icmp slt i32 %t2, %t5
%t7 = zext i1 %t6 to i32
%t8 = icmp ne i32 %t7, 0
br i1 %t8, label %wbody1, label %wend2
wbody1:
%t9 = load ptr, ptr @g_prog
%t10 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0
%t11 = load ptr, ptr %t10
%t12 = load i32, ptr %t1
%t13 = getelementptr inbounds ptr, ptr %t11, i32 %t12
%t14 = load ptr, ptr %t13
store ptr %t14, ptr %t15
%t17 = load ptr, ptr %t15
%t18 = getelementptr inbounds %Cmp_Node, ptr %t17, i32 0, i32 0
%t19 = load i32, ptr %t18
%t20 = icmp eq i32 %t19, 4
%t21 = zext i1 %t20 to i32
%t22 = icmp ne i32 %t21, 0
%t23 = zext i1 %t22 to i32
store i32 %t23, ptr %t16
br i1 %t22, label %sc3, label %scend4
sc3:
%t24 = load ptr, ptr %t15
%t25 = getelementptr inbounds %Cmp_Node, ptr %t24, i32 0, i32 1
%t26 = load ptr, ptr %t25
%t27 = load ptr, ptr %t0
%t28 = call i32 @fn_str_eq(ptr %t26, ptr %t27)
%t29 = icmp ne i32 %t28, 0
%t30 = zext i1 %t29 to i32
store i32 %t30, ptr %t16
br label %scend4
scend4:
%t31 = load i32, ptr %t16
%t32 = icmp ne i32 %t31, 0
br i1 %t32, label %then5, label %ifend7
then5:
%t33 = load ptr, ptr %t15
store ptr %t33, ptr %retval
br label %ret
ifend7:
%t34 = load i32, ptr %t1
%t35 = add i32 %t34, 1
store i32 %t35, ptr %t1
br label %wcond0
wend2:
store ptr null, ptr %retval
br label %ret
ret:
%t36 = load ptr, ptr %retval
ret ptr %t36
}
define ptr @fn_find_extern(ptr %arg_name) {
entry:
%retval = alloca ptr
%t0 = alloca ptr
%t1 = alloca i32
%t15 = alloca ptr
%t16 = alloca i32
store ptr %arg_name, ptr %t0
store i32 0, ptr %t1
br label %wcond0
wcond0:
%t2 = load i32, ptr %t1
%t3 = load ptr, ptr @g_prog
%t4 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 1
%t5 = load i32, ptr %t4
%t6 = icmp slt i32 %t2, %t5
%t7 = zext i1 %t6 to i32
%t8 = icmp ne i32 %t7, 0
br i1 %t8, label %wbody1, label %wend2
wbody1:
%t9 = load ptr, ptr @g_prog
%t10 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0
%t11 = load ptr, ptr %t10
%t12 = load i32, ptr %t1
%t13 = getelementptr inbounds ptr, ptr %t11, i32 %t12
%t14 = load ptr, ptr %t13
store ptr %t14, ptr %t15
%t17 = load ptr, ptr %t15
%t18 = getelementptr inbounds %Cmp_Node, ptr %t17, i32 0, i32 0
%t19 = load i32, ptr %t18
%t20 = icmp eq i32 %t19, 11
%t21 = zext i1 %t20 to i32
%t22 = icmp ne i32 %t21, 0
%t23 = zext i1 %t22 to i32
store i32 %t23, ptr %t16
br i1 %t22, label %sc3, label %scend4
sc3:
%t24 = load ptr, ptr %t15
%t25 = getelementptr inbounds %Cmp_Node, ptr %t24, i32 0, i32 1
%t26 = load ptr, ptr %t25
%t27 = load ptr, ptr %t0
%t28 = call i32 @fn_str_eq(ptr %t26, ptr %t27)
%t29 = icmp ne i32 %t28, 0
%t30 = zext i1 %t29 to i32
store i32 %t30, ptr %t16
br label %scend4
scend4:
%t31 = load i32, ptr %t16
%t32 = icmp ne i32 %t31, 0
br i1 %t32, label %then5, label %ifend7
then5:
%t33 = load ptr, ptr %t15
store ptr %t33, ptr %retval
br label %ret
ifend7:
%t34 = load i32, ptr %t1
%t35 = add i32 %t34, 1
store i32 %t35, ptr %t1
br label %wcond0
wend2:
store ptr null, ptr %retval
br label %ret
ret:
%t36 = load ptr, ptr %retval
ret ptr %t36
}
define void @fn_register_computed(ptr %arg_prop, ptr %arg_field, ptr %arg_ty, ptr %arg_e) {
entry:
%t0 = alloca ptr
%t1 = alloca ptr
%t2 = alloca ptr
%t3 = alloca ptr
%t5 = alloca ptr
store ptr %arg_prop, ptr %t0
store ptr %arg_field, ptr %t1
store ptr %arg_ty, ptr %t2
store ptr %arg_e, ptr %t3
%t4 = call ptr @fn_node(i32 1)
store ptr %t4, ptr %t5
%t6 = load ptr, ptr %t5
%t7 = getelementptr inbounds %Cmp_Node, ptr %t6, i32 0, i32 1
%t8 = load ptr, ptr %t0
%t9 = call ptr @fn_str_concat(ptr %t8, ptr @.str454)
%t10 = load ptr, ptr %t1
%t11 = call ptr @fn_str_concat(ptr %t9, ptr %t10)
store ptr %t11, ptr %t7
%t12 = load ptr, ptr %t5
%t13 = getelementptr inbounds %Cmp_Node, ptr %t12, i32 0, i32 3
%t14 = load ptr, ptr %t2
store ptr %t14, ptr %t13
%t15 = load ptr, ptr %t5
%t16 = getelementptr inbounds %Cmp_Node, ptr %t15, i32 0, i32 4
%t17 = load ptr, ptr %t3
store ptr %t17, ptr %t16
%t18 = load ptr, ptr @g_g_computed
%t19 = getelementptr inbounds %LSlice, ptr %t18, i32 0, i32 1
%t20 = getelementptr inbounds %LSlice, ptr %t18, i32 0, i32 2
%t21 = getelementptr inbounds %LSlice, ptr %t18, i32 0, i32 0
%t22 = load i32, ptr %t19
%t23 = load i32, ptr %t20
%t24 = icmp sge i32 %t22, %t23
br i1 %t24, label %grow0, label %put1
grow0:
%t25 = mul i32 %t23, 2
%t26 = icmp eq i32 %t23, 0
%t27 = select i1 %t26, i32 8, i32 %t25
%t28 = getelementptr ptr, ptr null, i32 1
%t29 = ptrtoint ptr %t28 to i64
%t30 = zext i32 %t27 to i64
%t31 = mul i64 %t30, %t29
%t32 = load ptr, ptr %t21
%t33 = call ptr @realloc(ptr %t32, i64 %t31)
store ptr %t33, ptr %t21
store i32 %t27, ptr %t20
br label %put1
put1:
%t34 = load ptr, ptr %t5
%t35 = load ptr, ptr %t21
%t36 = getelementptr inbounds ptr, ptr %t35, i32 %t22
store ptr %t34, ptr %t36
%t37 = add i32 %t22, 1
store i32 %t37, ptr %t19
br label %ret
ret:
ret void
}
define ptr @fn_computed_expr(ptr %arg_prop, ptr %arg_field) {
entry:
%retval = alloca ptr
%t0 = alloca ptr
%t1 = alloca ptr
%t10 = alloca ptr
%t11 = alloca i32
store ptr %arg_prop, ptr %t0
store ptr %arg_field, ptr %t1
%t2 = load ptr, ptr %t0
%t3 = icmp eq ptr %t2, null
%t4 = zext i1 %t3 to i32
%t5 = icmp ne i32 %t4, 0
br i1 %t5, label %then0, label %ifend2
then0:
store ptr null, ptr %retval
br label %ret
ifend2:
%t6 = load ptr, ptr %t0
%t7 = call ptr @fn_str_concat(ptr %t6, ptr @.str455)
%t8 = load ptr, ptr %t1
%t9 = call ptr @fn_str_concat(ptr %t7, ptr %t8)
store ptr %t9, ptr %t10
store i32 0, ptr %t11
br label %wcond3
wcond3:
%t12 = load i32, ptr %t11
%t13 = load ptr, ptr @g_g_computed
%t14 = getelementptr inbounds %LSlice, ptr %t13, i32 0, i32 1
%t15 = load i32, ptr %t14
%t16 = icmp slt i32 %t12, %t15
%t17 = zext i1 %t16 to i32
%t18 = icmp ne i32 %t17, 0
br i1 %t18, label %wbody4, label %wend5
wbody4:
%t19 = load ptr, ptr @g_g_computed
%t20 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 0
%t21 = load ptr, ptr %t20
%t22 = load i32, ptr %t11
%t23 = getelementptr inbounds ptr, ptr %t21, i32 %t22
%t24 = load ptr, ptr %t23
%t25 = getelementptr inbounds %Cmp_Node, ptr %t24, i32 0, i32 1
%t26 = load ptr, ptr %t25
%t27 = load ptr, ptr %t10
%t28 = call i32 @fn_str_eq(ptr %t26, ptr %t27)
%t29 = icmp ne i32 %t28, 0
br i1 %t29, label %then6, label %ifend8
then6:
%t30 = load ptr, ptr @g_g_computed
%t31 = getelementptr inbounds %LSlice, ptr %t30, i32 0, i32 0
%t32 = load ptr, ptr %t31
%t33 = load i32, ptr %t11
%t34 = getelementptr inbounds ptr, ptr %t32, i32 %t33
%t35 = load ptr, ptr %t34
%t36 = getelementptr inbounds %Cmp_Node, ptr %t35, i32 0, i32 4
%t37 = load ptr, ptr %t36
store ptr %t37, ptr %retval
br label %ret
ifend8:
%t38 = load i32, ptr %t11
%t39 = add i32 %t38, 1
store i32 %t39, ptr %t11
br label %wcond3
wend5:
store ptr null, ptr %retval
br label %ret
ret:
%t40 = load ptr, ptr %retval
ret ptr %t40
}
define ptr @fn_static_type(ptr %arg_e) {
entry:
%retval = alloca ptr
%t0 = alloca ptr
%t11 = alloca i32
store ptr %arg_e, ptr %t0
%t1 = load ptr, ptr %t0
%t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 0
%t3 = load i32, ptr %t2
%t4 = icmp eq i32 %t3, 33
%t5 = zext i1 %t4 to i32
%t6 = icmp ne i32 %t5, 0
br i1 %t6, label %then0, label %ifend2
then0:
%t7 = load ptr, ptr %t0
%t8 = getelementptr inbounds %Cmp_Node, ptr %t7, i32 0, i32 1
%t9 = load ptr, ptr %t8
%t10 = call i32 @fn_loc_find(ptr %t9)
store i32 %t10, ptr %t11
%t12 = load i32, ptr %t11
%t13 = icmp sge i32 %t12, 0
%t14 = zext i1 %t13 to i32
%t15 = icmp ne i32 %t14, 0
br i1 %t15, label %then3, label %ifend5
then3:
%t16 = load ptr, ptr @g_loc_ty
%t17 = getelementptr inbounds %LSlice, ptr %t16, i32 0, i32 0
%t18 = load ptr, ptr %t17
%t19 = load i32, ptr %t11
%t20 = getelementptr inbounds ptr, ptr %t18, i32 %t19
%t21 = load ptr, ptr %t20
store ptr %t21, ptr %retval
br label %ret
ifend5:
br label %ifend2
ifend2:
store ptr null, ptr %retval
br label %ret
ret:
%t22 = load ptr, ptr %retval
ret ptr %t22
}
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 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 1
%t12 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 2
%t13 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 0
%t14 = load i32, ptr %t11
%t15 = load i32, ptr %t12
%t16 = icmp sge i32 %t14, %t15
br i1 %t16, label %grow0, label %put1
grow0:
%t17 = mul i32 %t15, 2
%t18 = icmp eq i32 %t15, 0
%t19 = select i1 %t18, i32 8, i32 %t17
%t20 = getelementptr ptr, ptr null, i32 1
%t21 = ptrtoint ptr %t20 to i64
%t22 = zext i32 %t19 to i64
%t23 = mul i64 %t22, %t21
%t24 = load ptr, ptr %t13
%t25 = call ptr @realloc(ptr %t24, i64 %t23)
store ptr %t25, ptr %t13
store i32 %t19, ptr %t12
br label %put1
put1:
%t26 = load ptr, ptr %t3
%t27 = load ptr, ptr %t13
%t28 = getelementptr inbounds ptr, ptr %t27, i32 %t14
store ptr %t26, ptr %t28
%t29 = add i32 %t14, 1
store i32 %t29, ptr %t11
br label %ret
ret:
ret void
}
define ptr @fn_onspawn_body(ptr %arg_model) {
entry:
%retval = alloca ptr
%t0 = alloca ptr
%t1 = alloca i32
store ptr %arg_model, ptr %t0
store i32 0, ptr %t1
br label %wcond0
wcond0:
%t2 = load i32, ptr %t1
%t3 = load ptr, ptr @g_g_onspawn
%t4 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 1
%t5 = load i32, ptr %t4
%t6 = icmp slt i32 %t2, %t5
%t7 = zext i1 %t6 to i32
%t8 = icmp ne i32 %t7, 0
br i1 %t8, label %wbody1, label %wend2
wbody1:
%t9 = load ptr, ptr @g_g_onspawn
%t10 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0
%t11 = load ptr, ptr %t10
%t12 = load i32, ptr %t1
%t13 = getelementptr inbounds ptr, ptr %t11, i32 %t12
%t14 = load ptr, ptr %t13
%t15 = getelementptr inbounds %Cmp_Node, ptr %t14, i32 0, i32 1
%t16 = load ptr, ptr %t15
%t17 = load ptr, ptr %t0
%t18 = call i32 @fn_str_eq(ptr %t16, ptr %t17)
%t19 = icmp ne i32 %t18, 0
br i1 %t19, label %then3, label %ifend5
then3:
%t20 = load ptr, ptr @g_g_onspawn
%t21 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 0
%t22 = load ptr, ptr %t21
%t23 = load i32, ptr %t1
%t24 = getelementptr inbounds ptr, ptr %t22, i32 %t23
%t25 = load ptr, ptr %t24
%t26 = getelementptr inbounds %Cmp_Node, ptr %t25, i32 0, i32 4
%t27 = load ptr, ptr %t26
store ptr %t27, ptr %retval
br label %ret
ifend5:
%t28 = load i32, ptr %t1
%t29 = add i32 %t28, 1
store i32 %t29, ptr %t1
br label %wcond0
wend2:
store ptr null, ptr %retval
br label %ret
ret:
%t30 = load ptr, ptr %retval
ret ptr %t30
}
define void @fn_register_ondespawn(ptr %arg_model, ptr %arg_body, ptr %arg_reason) {
entry:
%t0 = alloca ptr
%t1 = alloca ptr
%t2 = alloca ptr
%t4 = alloca ptr
store ptr %arg_model, ptr %t0
store ptr %arg_body, ptr %t1
store ptr %arg_reason, ptr %t2
%t3 = call ptr @fn_node(i32 7)
store ptr %t3, ptr %t4
%t5 = load ptr, ptr %t4
%t6 = getelementptr inbounds %Cmp_Node, ptr %t5, i32 0, i32 1
%t7 = load ptr, ptr %t0
store ptr %t7, ptr %t6
%t8 = load ptr, ptr %t4
%t9 = getelementptr inbounds %Cmp_Node, ptr %t8, i32 0, i32 4
%t10 = load ptr, ptr %t1
store ptr %t10, ptr %t9
%t11 = load ptr, ptr %t4
%t12 = getelementptr inbounds %Cmp_Node, ptr %t11, i32 0, i32 3
%t13 = load ptr, ptr %t2
store ptr %t13, ptr %t12
%t14 = load ptr, ptr @g_g_ondespawn
%t15 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 1
%t16 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 2
%t17 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 0
%t18 = load i32, ptr %t15
%t19 = load i32, ptr %t16
%t20 = icmp sge i32 %t18, %t19
br i1 %t20, label %grow0, label %put1
grow0:
%t21 = mul i32 %t19, 2
%t22 = icmp eq i32 %t19, 0
%t23 = select i1 %t22, i32 8, i32 %t21
%t24 = getelementptr ptr, ptr null, i32 1
%t25 = ptrtoint ptr %t24 to i64
%t26 = zext i32 %t23 to i64
%t27 = mul i64 %t26, %t25
%t28 = load ptr, ptr %t17
%t29 = call ptr @realloc(ptr %t28, i64 %t27)
store ptr %t29, ptr %t17
store i32 %t23, ptr %t16
br label %put1
put1:
%t30 = load ptr, ptr %t4
%t31 = load ptr, ptr %t17
%t32 = getelementptr inbounds ptr, ptr %t31, i32 %t18
store ptr %t30, ptr %t32
%t33 = add i32 %t18, 1
store i32 %t33, ptr %t15
br label %ret
ret:
ret void
}
define ptr @fn_ondespawn_body(ptr %arg_model) {
entry:
%retval = alloca ptr
%t0 = alloca ptr
%t1 = alloca i32
store ptr %arg_model, ptr %t0
store i32 0, ptr %t1
br label %wcond0
wcond0:
%t2 = load i32, ptr %t1
%t3 = load ptr, ptr @g_g_ondespawn
%t4 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 1
%t5 = load i32, ptr %t4
%t6 = icmp slt i32 %t2, %t5
%t7 = zext i1 %t6 to i32
%t8 = icmp ne i32 %t7, 0
br i1 %t8, label %wbody1, label %wend2
wbody1:
%t9 = load ptr, ptr @g_g_ondespawn
%t10 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0
%t11 = load ptr, ptr %t10
%t12 = load i32, ptr %t1
%t13 = getelementptr inbounds ptr, ptr %t11, i32 %t12
%t14 = load ptr, ptr %t13
%t15 = getelementptr inbounds %Cmp_Node, ptr %t14, i32 0, i32 1
%t16 = load ptr, ptr %t15
%t17 = load ptr, ptr %t0
%t18 = call i32 @fn_str_eq(ptr %t16, ptr %t17)
%t19 = icmp ne i32 %t18, 0
br i1 %t19, label %then3, label %ifend5
then3:
%t20 = load ptr, ptr @g_g_ondespawn
%t21 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 0
%t22 = load ptr, ptr %t21
%t23 = load i32, ptr %t1
%t24 = getelementptr inbounds ptr, ptr %t22, i32 %t23
%t25 = load ptr, ptr %t24
%t26 = getelementptr inbounds %Cmp_Node, ptr %t25, i32 0, i32 4
%t27 = load ptr, ptr %t26
store ptr %t27, ptr %retval
br label %ret
ifend5:
%t28 = load i32, ptr %t1
%t29 = add i32 %t28, 1
store i32 %t29, ptr %t1
br label %wcond0
wend2:
store ptr null, ptr %retval
br label %ret
ret:
%t30 = load ptr, ptr %retval
ret ptr %t30
}
define void @fn_register_onattach(ptr %arg_prop, ptr %arg_body) {
entry:
%t0 = alloca ptr
%t1 = alloca ptr
%t3 = alloca ptr
store ptr %arg_prop, ptr %t0
store ptr %arg_body, ptr %t1
%t2 = call ptr @fn_node(i32 7)
store ptr %t2, ptr %t3
%t4 = load ptr, ptr %t3
%t5 = getelementptr inbounds %Cmp_Node, ptr %t4, i32 0, i32 1
%t6 = load ptr, ptr %t0
store ptr %t6, ptr %t5
%t7 = load ptr, ptr %t3
%t8 = getelementptr inbounds %Cmp_Node, ptr %t7, i32 0, i32 4
%t9 = load ptr, ptr %t1
store ptr %t9, ptr %t8
%t10 = load ptr, ptr @g_g_onattach
%t11 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 1
%t12 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 2
%t13 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 0
%t14 = load i32, ptr %t11
%t15 = load i32, ptr %t12
%t16 = icmp sge i32 %t14, %t15
br i1 %t16, label %grow0, label %put1
grow0:
%t17 = mul i32 %t15, 2
%t18 = icmp eq i32 %t15, 0
%t19 = select i1 %t18, i32 8, i32 %t17
%t20 = getelementptr ptr, ptr null, i32 1
%t21 = ptrtoint ptr %t20 to i64
%t22 = zext i32 %t19 to i64
%t23 = mul i64 %t22, %t21
%t24 = load ptr, ptr %t13
%t25 = call ptr @realloc(ptr %t24, i64 %t23)
store ptr %t25, ptr %t13
store i32 %t19, ptr %t12
br label %put1
put1:
%t26 = load ptr, ptr %t3
%t27 = load ptr, ptr %t13
%t28 = getelementptr inbounds ptr, ptr %t27, i32 %t14
store ptr %t26, ptr %t28
%t29 = add i32 %t14, 1
store i32 %t29, ptr %t11
br label %ret
ret:
ret void
}
define ptr @fn_onattach_body(ptr %arg_prop) {
entry:
%retval = alloca ptr
%t0 = alloca ptr
%t1 = alloca i32
store ptr %arg_prop, ptr %t0
store i32 0, ptr %t1
br label %wcond0
wcond0:
%t2 = load i32, ptr %t1
%t3 = load ptr, ptr @g_g_onattach
%t4 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 1
%t5 = load i32, ptr %t4
%t6 = icmp slt i32 %t2, %t5
%t7 = zext i1 %t6 to i32
%t8 = icmp ne i32 %t7, 0
br i1 %t8, label %wbody1, label %wend2
wbody1:
%t9 = load ptr, ptr @g_g_onattach
%t10 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0
%t11 = load ptr, ptr %t10
%t12 = load i32, ptr %t1
%t13 = getelementptr inbounds ptr, ptr %t11, i32 %t12
%t14 = load ptr, ptr %t13
%t15 = getelementptr inbounds %Cmp_Node, ptr %t14, i32 0, i32 1
%t16 = load ptr, ptr %t15
%t17 = load ptr, ptr %t0
%t18 = call i32 @fn_str_eq(ptr %t16, ptr %t17)
%t19 = icmp ne i32 %t18, 0
br i1 %t19, label %then3, label %ifend5
then3:
%t20 = load ptr, ptr @g_g_onattach
%t21 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 0
%t22 = load ptr, ptr %t21
%t23 = load i32, ptr %t1
%t24 = getelementptr inbounds ptr, ptr %t22, i32 %t23
%t25 = load ptr, ptr %t24
%t26 = getelementptr inbounds %Cmp_Node, ptr %t25, i32 0, i32 4
%t27 = load ptr, ptr %t26
store ptr %t27, ptr %retval
br label %ret
ifend5:
%t28 = load i32, ptr %t1
%t29 = add i32 %t28, 1
store i32 %t29, ptr %t1
br label %wcond0
wend2:
store ptr null, ptr %retval
br label %ret
ret:
%t30 = load ptr, ptr %retval
ret ptr %t30
}
define void @fn_register_ondetach(ptr %arg_prop, ptr %arg_body) {
entry:
%t0 = alloca ptr
%t1 = alloca ptr
%t3 = alloca ptr
store ptr %arg_prop, ptr %t0
store ptr %arg_body, ptr %t1
%t2 = call ptr @fn_node(i32 7)
store ptr %t2, ptr %t3
%t4 = load ptr, ptr %t3
%t5 = getelementptr inbounds %Cmp_Node, ptr %t4, i32 0, i32 1
%t6 = load ptr, ptr %t0
store ptr %t6, ptr %t5
%t7 = load ptr, ptr %t3
%t8 = getelementptr inbounds %Cmp_Node, ptr %t7, i32 0, i32 4
%t9 = load ptr, ptr %t1
store ptr %t9, ptr %t8
%t10 = load ptr, ptr @g_g_ondetach
%t11 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 1
%t12 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 2
%t13 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 0
%t14 = load i32, ptr %t11
%t15 = load i32, ptr %t12
%t16 = icmp sge i32 %t14, %t15
br i1 %t16, label %grow0, label %put1
grow0:
%t17 = mul i32 %t15, 2
%t18 = icmp eq i32 %t15, 0
%t19 = select i1 %t18, i32 8, i32 %t17
%t20 = getelementptr ptr, ptr null, i32 1
%t21 = ptrtoint ptr %t20 to i64
%t22 = zext i32 %t19 to i64
%t23 = mul i64 %t22, %t21
%t24 = load ptr, ptr %t13
%t25 = call ptr @realloc(ptr %t24, i64 %t23)
store ptr %t25, ptr %t13
store i32 %t19, ptr %t12
br label %put1
put1:
%t26 = load ptr, ptr %t3
%t27 = load ptr, ptr %t13
%t28 = getelementptr inbounds ptr, ptr %t27, i32 %t14
store ptr %t26, ptr %t28
%t29 = add i32 %t14, 1
store i32 %t29, ptr %t11
br label %ret
ret:
ret void
}
define ptr @fn_ondetach_body(ptr %arg_prop) {
entry:
%retval = alloca ptr
%t0 = alloca ptr
%t1 = alloca i32
store ptr %arg_prop, ptr %t0
store i32 0, ptr %t1
br label %wcond0
wcond0:
%t2 = load i32, ptr %t1
%t3 = load ptr, ptr @g_g_ondetach
%t4 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 1
%t5 = load i32, ptr %t4
%t6 = icmp slt i32 %t2, %t5
%t7 = zext i1 %t6 to i32
%t8 = icmp ne i32 %t7, 0
br i1 %t8, label %wbody1, label %wend2
wbody1:
%t9 = load ptr, ptr @g_g_ondetach
%t10 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0
%t11 = load ptr, ptr %t10
%t12 = load i32, ptr %t1
%t13 = getelementptr inbounds ptr, ptr %t11, i32 %t12
%t14 = load ptr, ptr %t13
%t15 = getelementptr inbounds %Cmp_Node, ptr %t14, i32 0, i32 1
%t16 = load ptr, ptr %t15
%t17 = load ptr, ptr %t0
%t18 = call i32 @fn_str_eq(ptr %t16, ptr %t17)
%t19 = icmp ne i32 %t18, 0
br i1 %t19, label %then3, label %ifend5
then3:
%t20 = load ptr, ptr @g_g_ondetach
%t21 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 0
%t22 = load ptr, ptr %t21
%t23 = load i32, ptr %t1
%t24 = getelementptr inbounds ptr, ptr %t22, i32 %t23
%t25 = load ptr, ptr %t24
%t26 = getelementptr inbounds %Cmp_Node, ptr %t25, i32 0, i32 4
%t27 = load ptr, ptr %t26
store ptr %t27, ptr %retval
br label %ret
ifend5:
%t28 = load i32, ptr %t1
%t29 = add i32 %t28, 1
store i32 %t29, ptr %t1
br label %wcond0
wend2:
store ptr null, ptr %retval
br label %ret
ret:
%t30 = load ptr, ptr %retval
ret ptr %t30
}
define void @fn_register_onenable(ptr %arg_prop, ptr %arg_body) {
entry:
%t0 = alloca ptr
%t1 = alloca ptr
%t3 = alloca ptr
store ptr %arg_prop, ptr %t0
store ptr %arg_body, ptr %t1
%t2 = call ptr @fn_node(i32 7)
store ptr %t2, ptr %t3
%t4 = load ptr, ptr %t3
%t5 = getelementptr inbounds %Cmp_Node, ptr %t4, i32 0, i32 1
%t6 = load ptr, ptr %t0
store ptr %t6, ptr %t5
%t7 = load ptr, ptr %t3
%t8 = getelementptr inbounds %Cmp_Node, ptr %t7, i32 0, i32 4
%t9 = load ptr, ptr %t1
store ptr %t9, ptr %t8
%t10 = load ptr, ptr @g_g_onenable
%t11 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 1
%t12 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 2
%t13 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 0
%t14 = load i32, ptr %t11
%t15 = load i32, ptr %t12
%t16 = icmp sge i32 %t14, %t15
br i1 %t16, label %grow0, label %put1
grow0:
%t17 = mul i32 %t15, 2
%t18 = icmp eq i32 %t15, 0
%t19 = select i1 %t18, i32 8, i32 %t17
%t20 = getelementptr ptr, ptr null, i32 1
%t21 = ptrtoint ptr %t20 to i64
%t22 = zext i32 %t19 to i64
%t23 = mul i64 %t22, %t21
%t24 = load ptr, ptr %t13
%t25 = call ptr @realloc(ptr %t24, i64 %t23)
store ptr %t25, ptr %t13
store i32 %t19, ptr %t12
br label %put1
put1:
%t26 = load ptr, ptr %t3
%t27 = load ptr, ptr %t13
%t28 = getelementptr inbounds ptr, ptr %t27, i32 %t14
store ptr %t26, ptr %t28
%t29 = add i32 %t14, 1
store i32 %t29, ptr %t11
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 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 1
%t12 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 2
%t13 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 0
%t14 = load i32, ptr %t11
%t15 = load i32, ptr %t12
%t16 = icmp sge i32 %t14, %t15
br i1 %t16, label %grow0, label %put1
grow0:
%t17 = mul i32 %t15, 2
%t18 = icmp eq i32 %t15, 0
%t19 = select i1 %t18, i32 8, i32 %t17
%t20 = getelementptr ptr, ptr null, i32 1
%t21 = ptrtoint ptr %t20 to i64
%t22 = zext i32 %t19 to i64
%t23 = mul i64 %t22, %t21
%t24 = load ptr, ptr %t13
%t25 = call ptr @realloc(ptr %t24, i64 %t23)
store ptr %t25, ptr %t13
store i32 %t19, ptr %t12
br label %put1
put1:
%t26 = load ptr, ptr %t3
%t27 = load ptr, ptr %t13
%t28 = getelementptr inbounds ptr, ptr %t27, i32 %t14
store ptr %t26, ptr %t28
%t29 = add i32 %t14, 1
store i32 %t29, ptr %t11
br label %ret
ret:
ret void
}
define ptr @fn_onenable_body(ptr %arg_prop) {
entry:
%retval = alloca ptr
%t0 = alloca ptr
%t1 = alloca i32
store ptr %arg_prop, ptr %t0
store i32 0, ptr %t1
br label %wcond0
wcond0:
%t2 = load i32, ptr %t1
%t3 = load ptr, ptr @g_g_onenable
%t4 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 1
%t5 = load i32, ptr %t4
%t6 = icmp slt i32 %t2, %t5
%t7 = zext i1 %t6 to i32
%t8 = icmp ne i32 %t7, 0
br i1 %t8, label %wbody1, label %wend2
wbody1:
%t9 = load ptr, ptr @g_g_onenable
%t10 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0
%t11 = load ptr, ptr %t10
%t12 = load i32, ptr %t1
%t13 = getelementptr inbounds ptr, ptr %t11, i32 %t12
%t14 = load ptr, ptr %t13
%t15 = getelementptr inbounds %Cmp_Node, ptr %t14, i32 0, i32 1
%t16 = load ptr, ptr %t15
%t17 = load ptr, ptr %t0
%t18 = call i32 @fn_str_eq(ptr %t16, ptr %t17)
%t19 = icmp ne i32 %t18, 0
br i1 %t19, label %then3, label %ifend5
then3:
%t20 = load ptr, ptr @g_g_onenable
%t21 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 0
%t22 = load ptr, ptr %t21
%t23 = load i32, ptr %t1
%t24 = getelementptr inbounds ptr, ptr %t22, i32 %t23
%t25 = load ptr, ptr %t24
%t26 = getelementptr inbounds %Cmp_Node, ptr %t25, i32 0, i32 4
%t27 = load ptr, ptr %t26
store ptr %t27, ptr %retval
br label %ret
ifend5:
%t28 = load i32, ptr %t1
%t29 = add i32 %t28, 1
store i32 %t29, ptr %t1
br label %wcond0
wend2:
store ptr null, ptr %retval
br label %ret
ret:
%t30 = load ptr, ptr %retval
ret ptr %t30
}
define ptr @fn_ondisable_body(ptr %arg_prop) {
entry:
%retval = alloca ptr
%t0 = alloca ptr
%t1 = alloca i32
store ptr %arg_prop, ptr %t0
store i32 0, ptr %t1
br label %wcond0
wcond0:
%t2 = load i32, ptr %t1
%t3 = load ptr, ptr @g_g_ondisable
%t4 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 1
%t5 = load i32, ptr %t4
%t6 = icmp slt i32 %t2, %t5
%t7 = zext i1 %t6 to i32
%t8 = icmp ne i32 %t7, 0
br i1 %t8, label %wbody1, label %wend2
wbody1:
%t9 = load ptr, ptr @g_g_ondisable
%t10 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0
%t11 = load ptr, ptr %t10
%t12 = load i32, ptr %t1
%t13 = getelementptr inbounds ptr, ptr %t11, i32 %t12
%t14 = load ptr, ptr %t13
%t15 = getelementptr inbounds %Cmp_Node, ptr %t14, i32 0, i32 1
%t16 = load ptr, ptr %t15
%t17 = load ptr, ptr %t0
%t18 = call i32 @fn_str_eq(ptr %t16, ptr %t17)
%t19 = icmp ne i32 %t18, 0
br i1 %t19, label %then3, label %ifend5
then3:
%t20 = load ptr, ptr @g_g_ondisable
%t21 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 0
%t22 = load ptr, ptr %t21
%t23 = load i32, ptr %t1
%t24 = getelementptr inbounds ptr, ptr %t22, i32 %t23
%t25 = load ptr, ptr %t24
%t26 = getelementptr inbounds %Cmp_Node, ptr %t25, i32 0, i32 4
%t27 = load ptr, ptr %t26
store ptr %t27, ptr %retval
br label %ret
ifend5:
%t28 = load i32, ptr %t1
%t29 = add i32 %t28, 1
store i32 %t29, ptr %t1
br label %wcond0
wend2:
store ptr null, ptr %retval
br label %ret
ret:
%t30 = load ptr, ptr %retval
ret ptr %t30
}
define void @fn_register_event(ptr %arg_n) {
entry:
%t0 = alloca ptr
store ptr %arg_n, ptr %t0
%t1 = load ptr, ptr @g_g_events
%t2 = getelementptr inbounds %LSlice, ptr %t1, i32 0, i32 1
%t3 = getelementptr inbounds %LSlice, ptr %t1, i32 0, i32 2
%t4 = getelementptr inbounds %LSlice, ptr %t1, 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
%t16 = call ptr @realloc(ptr %t15, i64 %t14)
store ptr %t16, ptr %t4
store i32 %t10, ptr %t3
br label %put1
put1:
%t17 = load ptr, ptr %t0
%t18 = load ptr, ptr %t4
%t19 = getelementptr inbounds ptr, ptr %t18, i32 %t5
store ptr %t17, ptr %t19
%t20 = add i32 %t5, 1
store i32 %t20, ptr %t2
br label %ret
ret:
ret void
}
define ptr @fn_find_event(ptr %arg_name) {
entry:
%retval = alloca ptr
%t0 = alloca ptr
%t1 = alloca i32
store ptr %arg_name, ptr %t0
store i32 0, ptr %t1
br label %wcond0
wcond0:
%t2 = load i32, ptr %t1
%t3 = load ptr, ptr @g_g_events
%t4 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 1
%t5 = load i32, ptr %t4
%t6 = icmp slt i32 %t2, %t5
%t7 = zext i1 %t6 to i32
%t8 = icmp ne i32 %t7, 0
br i1 %t8, label %wbody1, label %wend2
wbody1:
%t9 = load ptr, ptr @g_g_events
%t10 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0
%t11 = load ptr, ptr %t10
%t12 = load i32, ptr %t1
%t13 = getelementptr inbounds ptr, ptr %t11, i32 %t12
%t14 = load ptr, ptr %t13
%t15 = getelementptr inbounds %Cmp_Node, ptr %t14, i32 0, i32 1
%t16 = load ptr, ptr %t15
%t17 = load ptr, ptr %t0
%t18 = call i32 @fn_str_eq(ptr %t16, ptr %t17)
%t19 = icmp ne i32 %t18, 0
br i1 %t19, label %then3, label %ifend5
then3:
%t20 = load ptr, ptr @g_g_events
%t21 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 0
%t22 = load ptr, ptr %t21
%t23 = load i32, ptr %t1
%t24 = getelementptr inbounds ptr, ptr %t22, i32 %t23
%t25 = load ptr, ptr %t24
store ptr %t25, ptr %retval
br label %ret
ifend5:
%t26 = load i32, ptr %t1
%t27 = add i32 %t26, 1
store i32 %t27, ptr %t1
br label %wcond0
wend2:
store ptr null, ptr %retval
br label %ret
ret:
%t28 = load ptr, ptr %retval
ret ptr %t28
}
define void @fn_register_onlisten(ptr %arg_evt, ptr %arg_body) {
entry:
%t0 = alloca ptr
%t1 = alloca ptr
%t3 = alloca ptr
store ptr %arg_evt, ptr %t0
store ptr %arg_body, ptr %t1
%t2 = call ptr @fn_node(i32 7)
store ptr %t2, ptr %t3
%t4 = load ptr, ptr %t3
%t5 = getelementptr inbounds %Cmp_Node, ptr %t4, i32 0, i32 1
%t6 = load ptr, ptr %t0
store ptr %t6, ptr %t5
%t7 = load ptr, ptr %t3
%t8 = getelementptr inbounds %Cmp_Node, ptr %t7, i32 0, i32 4
%t9 = load ptr, ptr %t1
store ptr %t9, ptr %t8
%t10 = load ptr, ptr @g_g_onlisten
%t11 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 1
%t12 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 2
%t13 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 0
%t14 = load i32, ptr %t11
%t15 = load i32, ptr %t12
%t16 = icmp sge i32 %t14, %t15
br i1 %t16, label %grow0, label %put1
grow0:
%t17 = mul i32 %t15, 2
%t18 = icmp eq i32 %t15, 0
%t19 = select i1 %t18, i32 8, i32 %t17
%t20 = getelementptr ptr, ptr null, i32 1
%t21 = ptrtoint ptr %t20 to i64
%t22 = zext i32 %t19 to i64
%t23 = mul i64 %t22, %t21
%t24 = load ptr, ptr %t13
%t25 = call ptr @realloc(ptr %t24, i64 %t23)
store ptr %t25, ptr %t13
store i32 %t19, ptr %t12
br label %put1
put1:
%t26 = load ptr, ptr %t3
%t27 = load ptr, ptr %t13
%t28 = getelementptr inbounds ptr, ptr %t27, i32 %t14
store ptr %t26, ptr %t28
%t29 = add i32 %t14, 1
store i32 %t29, ptr %t11
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 @.str456, ptr %t15
%t16 = load ptr, ptr %t13
%t17 = getelementptr inbounds %Cmp_Node, ptr %t16, i32 0, i32 3
store ptr @.str457, ptr %t17
%t18 = load ptr, ptr %t8
%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 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 2
%t23 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 0
%t24 = load i32, ptr %t21
%t25 = load i32, ptr %t22
%t26 = icmp sge i32 %t24, %t25
br i1 %t26, label %grow3, label %put4
grow3:
%t27 = mul i32 %t25, 2
%t28 = icmp eq i32 %t25, 0
%t29 = select i1 %t28, i32 8, i32 %t27
%t30 = getelementptr ptr, ptr null, i32 1
%t31 = ptrtoint ptr %t30 to i64
%t32 = zext i32 %t29 to i64
%t33 = mul i64 %t32, %t31
%t34 = load ptr, ptr %t23
%t35 = call ptr @realloc(ptr %t34, i64 %t33)
store ptr %t35, ptr %t23
store i32 %t29, ptr %t22
br label %put4
put4:
%t36 = load ptr, ptr %t13
%t37 = load ptr, ptr %t23
%t38 = getelementptr inbounds ptr, ptr %t37, i32 %t24
store ptr %t36, ptr %t38
%t39 = add i32 %t24, 1
store i32 %t39, ptr %t21
%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 @.str458, ptr %t45
%t46 = load ptr, ptr %t43
%t47 = getelementptr inbounds %Cmp_Node, ptr %t46, i32 0, i32 3
store ptr @.str459, ptr %t47
%t48 = load ptr, ptr %t8
%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 = 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 %grow8, label %put9
grow8:
%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
%t65 = call ptr @realloc(ptr %t64, i64 %t63)
store ptr %t65, ptr %t53
store i32 %t59, ptr %t52
br label %put9
put9:
%t66 = load ptr, ptr %t43
%t67 = load ptr, ptr %t53
%t68 = getelementptr inbounds ptr, ptr %t67, i32 %t54
store ptr %t66, ptr %t68
%t69 = add i32 %t54, 1
store i32 %t69, ptr %t51
br label %ifend7
ifend7:
%t70 = load ptr, ptr %t8
call void @fn_register_event(ptr %t70)
br label %ret
ret:
ret void
}
define void @fn_ensure_event_empty(ptr %arg_name) {
entry:
%t0 = alloca ptr
%t7 = alloca ptr
store ptr %arg_name, ptr %t0
%t1 = load ptr, ptr %t0
%t2 = call ptr @fn_find_event(ptr %t1)
%t3 = icmp ne ptr %t2, null
%t4 = zext i1 %t3 to i32
%t5 = icmp ne i32 %t4, 0
br i1 %t5, label %then0, label %ifend2
then0:
br label %ret
ifend2:
%t6 = call ptr @fn_node(i32 48)
store ptr %t6, ptr %t7
%t8 = load ptr, ptr %t7
%t9 = getelementptr inbounds %Cmp_Node, ptr %t8, i32 0, i32 1
%t10 = load ptr, ptr %t0
store ptr %t10, ptr %t9
%t11 = load ptr, ptr %t7
call void @fn_register_event(ptr %t11)
br label %ret
ret:
ret void
}
define void @fn_note_toggled_layer(ptr %arg_name) {
entry:
%t0 = alloca ptr
%t1 = alloca i32
store ptr %arg_name, ptr %t0
store i32 0, ptr %t1
br label %wcond0
wcond0:
%t2 = load i32, ptr %t1
%t3 = load ptr, ptr @g_g_toggled_layers
%t4 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 1
%t5 = load i32, ptr %t4
%t6 = icmp slt i32 %t2, %t5
%t7 = zext i1 %t6 to i32
%t8 = icmp ne i32 %t7, 0
br i1 %t8, label %wbody1, label %wend2
wbody1:
%t9 = load ptr, ptr @g_g_toggled_layers
%t10 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0
%t11 = load ptr, ptr %t10
%t12 = load i32, ptr %t1
%t13 = getelementptr inbounds ptr, ptr %t11, i32 %t12
%t14 = load ptr, ptr %t13
%t15 = load ptr, ptr %t0
%t16 = call i32 @fn_str_eq(ptr %t14, ptr %t15)
%t17 = icmp ne i32 %t16, 0
br i1 %t17, label %then3, label %ifend5
then3:
br label %ret
ifend5:
%t18 = load i32, ptr %t1
%t19 = add i32 %t18, 1
store i32 %t19, ptr %t1
br label %wcond0
wend2:
%t20 = load ptr, ptr @g_g_toggled_layers
%t21 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 1
%t22 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 2
%t23 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 0
%t24 = load i32, ptr %t21
%t25 = load i32, ptr %t22
%t26 = icmp sge i32 %t24, %t25
br i1 %t26, label %grow6, label %put7
grow6:
%t27 = mul i32 %t25, 2
%t28 = icmp eq i32 %t25, 0
%t29 = select i1 %t28, i32 8, i32 %t27
%t30 = getelementptr ptr, ptr null, i32 1
%t31 = ptrtoint ptr %t30 to i64
%t32 = zext i32 %t29 to i64
%t33 = mul i64 %t32, %t31
%t34 = load ptr, ptr %t23
%t35 = call ptr @realloc(ptr %t34, i64 %t33)
store ptr %t35, ptr %t23
store i32 %t29, ptr %t22
br label %put7
put7:
%t36 = load ptr, ptr %t0
%t37 = load ptr, ptr %t23
%t38 = getelementptr inbounds ptr, ptr %t37, i32 %t24
store ptr %t36, ptr %t38
%t39 = add i32 %t24, 1
store i32 %t39, ptr %t21
br label %ret
ret:
ret void
}
define i32 @fn_is_toggled_layer(ptr %arg_name) {
entry:
%retval = alloca i32
%t0 = alloca ptr
%t1 = alloca i32
store ptr %arg_name, ptr %t0
store i32 0, ptr %t1
br label %wcond0
wcond0:
%t2 = load i32, ptr %t1
%t3 = load ptr, ptr @g_g_toggled_layers
%t4 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 1
%t5 = load i32, ptr %t4
%t6 = icmp slt i32 %t2, %t5
%t7 = zext i1 %t6 to i32
%t8 = icmp ne i32 %t7, 0
br i1 %t8, label %wbody1, label %wend2
wbody1:
%t9 = load ptr, ptr @g_g_toggled_layers
%t10 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0
%t11 = load ptr, ptr %t10
%t12 = load i32, ptr %t1
%t13 = getelementptr inbounds ptr, ptr %t11, i32 %t12
%t14 = load ptr, ptr %t13
%t15 = load ptr, ptr %t0
%t16 = call i32 @fn_str_eq(ptr %t14, ptr %t15)
%t17 = icmp ne i32 %t16, 0
br i1 %t17, label %then3, label %ifend5
then3:
store i32 1, ptr %retval
br label %ret
ifend5:
%t18 = load i32, ptr %t1
%t19 = add i32 %t18, 1
store i32 %t19, ptr %t1
br label %wcond0
wend2:
store i32 0, ptr %retval
br label %ret
ret:
%t20 = load i32, ptr %retval
ret i32 %t20
}
define i32 @fn_is_model(ptr %arg_name) {
entry:
%retval = alloca i32
%t0 = alloca ptr
store ptr %arg_name, ptr %t0
%t1 = load ptr, ptr %t0
%t2 = call i32 @fn_find_arch_id(ptr %t1)
%t3 = icmp sgt i32 %t2, 0
%t4 = zext i1 %t3 to i32
store i32 %t4, ptr %retval
br label %ret
ret:
%t5 = load i32, ptr %retval
ret i32 %t5
}
define void @fn_loc_reset() {
entry:
store i32 0, ptr @g_nloc
br label %ret
ret:
ret void
}
define void @fn_loc_push(ptr %arg_name, ptr %arg_r, ptr %arg_ty) {
entry:
%t0 = alloca ptr
%t1 = alloca ptr
%t2 = alloca ptr
store ptr %arg_name, ptr %t0
store ptr %arg_r, ptr %t1
store ptr %arg_ty, ptr %t2
%t3 = load i32, ptr @g_nloc
%t4 = load ptr, ptr @g_loc_name
%t5 = getelementptr inbounds %LSlice, ptr %t4, i32 0, i32 1
%t6 = load i32, ptr %t5
%t7 = icmp slt i32 %t3, %t6
%t8 = zext i1 %t7 to i32
%t9 = icmp ne i32 %t8, 0
br i1 %t9, label %then0, label %else1
then0:
%t10 = load ptr, ptr @g_loc_name
%t11 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 0
%t12 = load ptr, ptr %t11
%t13 = load i32, ptr @g_nloc
%t14 = getelementptr inbounds ptr, ptr %t12, i32 %t13
%t15 = load ptr, ptr %t0
store ptr %t15, ptr %t14
%t16 = load ptr, ptr @g_loc_reg
%t17 = getelementptr inbounds %LSlice, ptr %t16, i32 0, i32 0
%t18 = load ptr, ptr %t17
%t19 = load i32, ptr @g_nloc
%t20 = getelementptr inbounds ptr, ptr %t18, i32 %t19
%t21 = load ptr, ptr %t1
store ptr %t21, ptr %t20
%t22 = load ptr, ptr @g_loc_ty
%t23 = getelementptr inbounds %LSlice, ptr %t22, i32 0, i32 0
%t24 = load ptr, ptr %t23
%t25 = load i32, ptr @g_nloc
%t26 = getelementptr inbounds ptr, ptr %t24, i32 %t25
%t27 = load ptr, ptr %t2
store ptr %t27, ptr %t26
%t28 = load ptr, ptr @g_loc_mut
%t29 = getelementptr inbounds %LSlice, ptr %t28, i32 0, i32 0
%t30 = load ptr, ptr %t29
%t31 = load i32, ptr @g_nloc
%t32 = getelementptr inbounds i32, ptr %t30, i32 %t31
store i32 1, ptr %t32
br label %ifend2
else1:
%t33 = load ptr, ptr @g_loc_name
%t34 = 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 %grow3, label %put4
grow3:
%t40 = mul i32 %t38, 2
%t41 = icmp eq i32 %t38, 0
%t42 = select i1 %t41, i32 8, i32 %t40
%t43 = getelementptr ptr, ptr null, i32 1
%t44 = ptrtoint ptr %t43 to i64
%t45 = zext i32 %t42 to i64
%t46 = mul i64 %t45, %t44
%t47 = load ptr, ptr %t36
%t48 = call ptr @realloc(ptr %t47, i64 %t46)
store ptr %t48, ptr %t36
store i32 %t42, ptr %t35
br label %put4
put4:
%t49 = load ptr, ptr %t0
%t50 = load ptr, ptr %t36
%t51 = getelementptr inbounds ptr, ptr %t50, i32 %t37
store ptr %t49, ptr %t51
%t52 = add i32 %t37, 1
store i32 %t52, ptr %t34
%t53 = load ptr, ptr @g_loc_reg
%t54 = getelementptr inbounds %LSlice, ptr %t53, i32 0, i32 1
%t55 = getelementptr inbounds %LSlice, ptr %t53, i32 0, i32 2
%t56 = getelementptr inbounds %LSlice, ptr %t53, i32 0, i32 0
%t57 = load i32, ptr %t54
%t58 = load i32, ptr %t55
%t59 = icmp sge i32 %t57, %t58
br i1 %t59, label %grow5, label %put6
grow5:
%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
%t68 = call ptr @realloc(ptr %t67, i64 %t66)
store ptr %t68, ptr %t56
store i32 %t62, ptr %t55
br label %put6
put6:
%t69 = load ptr, ptr %t1
%t70 = load ptr, ptr %t56
%t71 = getelementptr inbounds ptr, ptr %t70, i32 %t57
store ptr %t69, ptr %t71
%t72 = add i32 %t57, 1
store i32 %t72, ptr %t54
%t73 = load ptr, ptr @g_loc_ty
%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 %grow7, label %put8
grow7:
%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
%t88 = call ptr @realloc(ptr %t87, i64 %t86)
store ptr %t88, ptr %t76
store i32 %t82, ptr %t75
br label %put8
put8:
%t89 = load ptr, ptr %t2
%t90 = load ptr, ptr %t76
%t91 = getelementptr inbounds ptr, ptr %t90, i32 %t77
store ptr %t89, ptr %t91
%t92 = add i32 %t77, 1
store i32 %t92, ptr %t74
%t93 = load ptr, ptr @g_loc_mut
%t94 = getelementptr inbounds %LSlice, ptr %t93, i32 0, i32 1
%t95 = getelementptr inbounds %LSlice, ptr %t93, i32 0, i32 2
%t96 = getelementptr inbounds %LSlice, ptr %t93, i32 0, i32 0
%t97 = load i32, ptr %t94
%t98 = load i32, ptr %t95
%t99 = icmp sge i32 %t97, %t98
br i1 %t99, label %grow9, label %put10
grow9:
%t100 = mul i32 %t98, 2
%t101 = icmp eq i32 %t98, 0
%t102 = select i1 %t101, i32 8, i32 %t100
%t103 = getelementptr i32, ptr null, i32 1
%t104 = ptrtoint ptr %t103 to i64
%t105 = zext i32 %t102 to i64
%t106 = mul i64 %t105, %t104
%t107 = load ptr, ptr %t96
%t108 = call ptr @realloc(ptr %t107, i64 %t106)
store ptr %t108, ptr %t96
store i32 %t102, ptr %t95
br label %put10
put10:
%t109 = load ptr, ptr %t96
%t110 = getelementptr inbounds i32, ptr %t109, i32 %t97
store i32 1, ptr %t110
%t111 = add i32 %t97, 1
store i32 %t111, ptr %t94
br label %ifend2
ifend2:
%t112 = load i32, ptr @g_nloc
%t113 = add i32 %t112, 1
store i32 %t113, ptr @g_nloc
br label %ret
ret:
ret void
}
define void @fn_loc_set_mut(i32 %arg_m) {
entry:
%t0 = alloca i32
store i32 %arg_m, ptr %t0
%t1 = load i32, ptr @g_nloc
%t2 = icmp sgt i32 %t1, 0
%t3 = zext i1 %t2 to i32
%t4 = icmp ne i32 %t3, 0
br i1 %t4, label %then0, label %ifend2
then0:
%t5 = load ptr, ptr @g_loc_mut
%t6 = getelementptr inbounds %LSlice, ptr %t5, i32 0, i32 0
%t7 = load ptr, ptr %t6
%t8 = load i32, ptr @g_nloc
%t9 = sub i32 %t8, 1
%t10 = getelementptr inbounds i32, ptr %t7, i32 %t9
%t11 = load i32, ptr %t0
store i32 %t11, ptr %t10
br label %ifend2
ifend2:
br label %ret
ret:
ret void
}
define i32 @fn_loc_find(ptr %arg_name) {
entry:
%retval = alloca i32
%t0 = alloca ptr
%t3 = alloca i32
store ptr %arg_name, ptr %t0
%t1 = load i32, ptr @g_nloc
%t2 = sub i32 %t1, 1
store i32 %t2, ptr %t3
br label %wcond0
wcond0:
%t4 = load i32, ptr %t3
%t5 = icmp sge i32 %t4, 0
%t6 = zext i1 %t5 to i32
%t7 = icmp ne i32 %t6, 0
br i1 %t7, label %wbody1, label %wend2
wbody1:
%t8 = load ptr, ptr @g_loc_name
%t9 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 0
%t10 = load ptr, ptr %t9
%t11 = load i32, ptr %t3
%t12 = getelementptr inbounds ptr, ptr %t10, i32 %t11
%t13 = load ptr, ptr %t12
%t14 = load ptr, ptr %t0
%t15 = call i32 @fn_str_eq(ptr %t13, ptr %t14)
%t16 = icmp ne i32 %t15, 0
br i1 %t16, label %then3, label %ifend5
then3:
%t17 = load i32, ptr %t3
store i32 %t17, ptr %retval
br label %ret
ifend5:
%t18 = load i32, ptr %t3
%t19 = sub i32 %t18, 1
store i32 %t19, ptr %t3
br label %wcond0
wend2:
%t20 = sub i32 0, 1
store i32 %t20, ptr %retval
br label %ret
ret:
%t21 = load i32, ptr %retval
ret i32 %t21
}
define i32 @fn_hexdig(i32 %arg_n) {
entry:
%retval = alloca i32
%t0 = alloca i32
store i32 %arg_n, ptr %t0
%t1 = load i32, ptr %t0
%t2 = icmp slt i32 %t1, 10
%t3 = zext i1 %t2 to i32
%t4 = icmp ne i32 %t3, 0
br i1 %t4, label %then0, label %ifend2
then0:
%t5 = load i32, ptr %t0
%t6 = add i32 48, %t5
store i32 %t6, ptr %retval
br label %ret
ifend2:
%t7 = load i32, ptr %t0
%t8 = add i32 55, %t7
store i32 %t8, ptr %retval
br label %ret
ret:
%t9 = load i32, ptr %retval
ret i32 %t9
}
define ptr @fn_emit_str_const(ptr %arg_s) {
entry:
%retval = alloca ptr
%t0 = alloca ptr
%t4 = alloca ptr
%t10 = alloca i32
%t15 = alloca i32
%t26 = alloca i32
%t27 = alloca i32
%t28 = alloca i32
%t29 = alloca i32
store ptr %arg_s, ptr %t0
%t1 = load i32, ptr @g_ll_str
%t2 = call ptr @fn_itoa(i32 %t1)
%t3 = call ptr @fn_str_concat(ptr @.str460, ptr %t2)
store ptr %t3, ptr %t4
%t5 = load i32, ptr @g_ll_str
%t6 = add i32 %t5, 1
store i32 %t6, ptr @g_ll_str
%t7 = load ptr, ptr %t0
%t8 = call i64 @strlen(ptr %t7)
%t9 = trunc i64 %t8 to i32
store i32 %t9, ptr %t10
%t11 = load ptr, ptr %t4
call void @fn_emith(ptr %t11)
call void @fn_emith(ptr @.str461)
%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 @.str462)
store i32 0, ptr %t15
br label %wcond0
wcond0:
%t16 = load i32, ptr %t15
%t17 = load i32, ptr %t10
%t18 = icmp slt i32 %t16, %t17
%t19 = zext i1 %t18 to i32
%t20 = icmp ne i32 %t19, 0
br i1 %t20, label %wbody1, label %wend2
wbody1:
%t21 = load ptr, ptr %t0
%t22 = load i32, ptr %t15
%t23 = getelementptr inbounds i8, ptr %t21, i32 %t22
%t24 = load i8, ptr %t23
%t25 = zext i8 %t24 to i32
store i32 %t25, ptr %t26
%t30 = load i32, ptr %t26
%t31 = icmp eq i32 %t30, 34
%t32 = zext i1 %t31 to i32
%t33 = icmp ne i32 %t32, 0
%t34 = zext i1 %t33 to i32
store i32 %t34, ptr %t29
br i1 %t33, label %scend4, label %sc3
sc3:
%t35 = load i32, ptr %t26
%t36 = icmp eq i32 %t35, 92
%t37 = zext i1 %t36 to i32
%t38 = icmp ne i32 %t37, 0
%t39 = zext i1 %t38 to i32
store i32 %t39, ptr %t29
br label %scend4
scend4:
%t40 = load i32, ptr %t29
%t41 = icmp ne i32 %t40, 0
%t42 = zext i1 %t41 to i32
store i32 %t42, ptr %t28
br i1 %t41, label %scend6, label %sc5
sc5:
%t43 = load i32, ptr %t26
%t44 = icmp slt i32 %t43, 32
%t45 = zext i1 %t44 to i32
%t46 = icmp ne i32 %t45, 0
%t47 = zext i1 %t46 to i32
store i32 %t47, ptr %t28
br label %scend6
scend6:
%t48 = load i32, ptr %t28
%t49 = icmp ne i32 %t48, 0
%t50 = zext i1 %t49 to i32
store i32 %t50, ptr %t27
br i1 %t49, label %scend8, label %sc7
sc7:
%t51 = load i32, ptr %t26
%t52 = icmp sgt i32 %t51, 126
%t53 = zext i1 %t52 to i32
%t54 = icmp ne i32 %t53, 0
%t55 = zext i1 %t54 to i32
store i32 %t55, ptr %t27
br label %scend8
scend8:
%t56 = load i32, ptr %t27
%t57 = icmp ne i32 %t56, 0
br i1 %t57, label %then9, label %else10
then9:
%t58 = load ptr, ptr @g_head
call void @fn_buf_putc(ptr %t58, i32 92)
%t59 = load ptr, ptr @g_head
%t60 = load i32, ptr %t26
%t61 = sdiv i32 %t60, 16
%t62 = call i32 @fn_hexdig(i32 %t61)
call void @fn_buf_putc(ptr %t59, i32 %t62)
%t63 = load ptr, ptr @g_head
%t64 = load i32, ptr %t26
%t65 = srem i32 %t64, 16
%t66 = call i32 @fn_hexdig(i32 %t65)
call void @fn_buf_putc(ptr %t63, i32 %t66)
br label %ifend11
else10:
%t67 = load ptr, ptr @g_head
%t68 = load i32, ptr %t26
call void @fn_buf_putc(ptr %t67, i32 %t68)
br label %ifend11
ifend11:
%t69 = load i32, ptr %t15
%t70 = add i32 %t69, 1
store i32 %t70, ptr %t15
br label %wcond0
wend2:
call void @fn_emith(ptr @.str463)
%t71 = load ptr, ptr %t4
store ptr %t71, ptr %retval
br label %ret
ret:
%t72 = load ptr, ptr %retval
ret ptr %t72
}
define ptr @fn_global_init(ptr %arg_d) {
entry:
%retval = alloca ptr
%t0 = alloca ptr
%t16 = alloca ptr
%t17 = alloca i32
%t18 = alloca i32
%t49 = alloca i32
%t50 = alloca i32
store ptr %arg_d, ptr %t0
%t1 = load ptr, ptr %t0
%t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 4
%t3 = load ptr, ptr %t2
%t4 = icmp eq ptr %t3, null
%t5 = zext i1 %t4 to i32
%t6 = icmp ne i32 %t5, 0
br i1 %t6, label %then0, label %ifend2
then0:
%t7 = load ptr, ptr %t0
%t8 = getelementptr inbounds %Cmp_Node, ptr %t7, i32 0, i32 3
%t9 = load ptr, ptr %t8
%t10 = call ptr @fn_llty(ptr %t9)
%t11 = call i32 @fn_str_eq(ptr %t10, ptr @.str464)
%t12 = icmp ne i32 %t11, 0
br i1 %t12, label %then3, label %ifend5
then3:
store ptr @.str465, ptr %retval
br label %ret
ifend5:
store ptr @.str466, ptr %retval
br label %ret
ifend2:
%t13 = load ptr, ptr %t0
%t14 = getelementptr inbounds %Cmp_Node, ptr %t13, i32 0, i32 4
%t15 = load ptr, ptr %t14
store ptr %t15, ptr %t16
%t19 = load ptr, ptr %t16
%t20 = getelementptr inbounds %Cmp_Node, ptr %t19, i32 0, i32 0
%t21 = load i32, ptr %t20
%t22 = icmp eq i32 %t21, 30
%t23 = zext i1 %t22 to i32
%t24 = icmp ne i32 %t23, 0
%t25 = zext i1 %t24 to i32
store i32 %t25, ptr %t18
br i1 %t24, label %scend7, label %sc6
sc6:
%t26 = load ptr, ptr %t16
%t27 = getelementptr inbounds %Cmp_Node, ptr %t26, i32 0, i32 0
%t28 = load i32, ptr %t27
%t29 = icmp eq i32 %t28, 40
%t30 = zext i1 %t29 to i32
%t31 = icmp ne i32 %t30, 0
%t32 = zext i1 %t31 to i32
store i32 %t32, ptr %t18
br label %scend7
scend7:
%t33 = load i32, ptr %t18
%t34 = icmp ne i32 %t33, 0
%t35 = zext i1 %t34 to i32
store i32 %t35, ptr %t17
br i1 %t34, label %scend9, label %sc8
sc8:
%t36 = load ptr, ptr %t16
%t37 = getelementptr inbounds %Cmp_Node, ptr %t36, i32 0, i32 0
%t38 = load i32, ptr %t37
%t39 = icmp eq i32 %t38, 32
%t40 = zext i1 %t39 to i32
%t41 = icmp ne i32 %t40, 0
%t42 = zext i1 %t41 to i32
store i32 %t42, ptr %t17
br label %scend9
scend9:
%t43 = load i32, ptr %t17
%t44 = icmp ne i32 %t43, 0
br i1 %t44, label %then10, label %ifend12
then10:
%t45 = load ptr, ptr %t16
%t46 = getelementptr inbounds %Cmp_Node, ptr %t45, i32 0, i32 2
%t47 = load i32, ptr %t46
%t48 = call ptr @fn_itoa(i32 %t47)
store ptr %t48, ptr %retval
br label %ret
ifend12:
%t51 = load ptr, ptr %t16
%t52 = getelementptr inbounds %Cmp_Node, ptr %t51, i32 0, i32 0
%t53 = load i32, ptr %t52
%t54 = icmp eq i32 %t53, 38
%t55 = zext i1 %t54 to i32
%t56 = icmp ne i32 %t55, 0
%t57 = zext i1 %t56 to i32
store i32 %t57, ptr %t50
br i1 %t56, label %sc13, label %scend14
sc13:
%t58 = load ptr, ptr %t16
%t59 = getelementptr inbounds %Cmp_Node, ptr %t58, i32 0, i32 1
%t60 = load ptr, ptr %t59
%t61 = call i32 @fn_str_eq(ptr %t60, ptr @.str467)
%t62 = icmp ne i32 %t61, 0
%t63 = zext i1 %t62 to i32
store i32 %t63, ptr %t50
br label %scend14
scend14:
%t64 = load i32, ptr %t50
%t65 = icmp ne i32 %t64, 0
%t66 = zext i1 %t65 to i32
store i32 %t66, ptr %t49
br i1 %t65, label %sc15, label %scend16
sc15:
%t67 = load ptr, ptr %t16
%t68 = getelementptr inbounds %Cmp_Node, ptr %t67, i32 0, i32 4
%t69 = load ptr, ptr %t68
%t70 = getelementptr inbounds %Cmp_Node, ptr %t69, i32 0, i32 0
%t71 = load i32, ptr %t70
%t72 = icmp eq i32 %t71, 30
%t73 = zext i1 %t72 to i32
%t74 = icmp ne i32 %t73, 0
%t75 = zext i1 %t74 to i32
store i32 %t75, ptr %t49
br label %scend16
scend16:
%t76 = load i32, ptr %t49
%t77 = icmp ne i32 %t76, 0
br i1 %t77, label %then17, label %ifend19
then17:
%t78 = load ptr, ptr %t16
%t79 = getelementptr inbounds %Cmp_Node, ptr %t78, i32 0, i32 4
%t80 = load ptr, ptr %t79
%t81 = getelementptr inbounds %Cmp_Node, ptr %t80, i32 0, i32 2
%t82 = load i32, ptr %t81
%t83 = call ptr @fn_itoa(i32 %t82)
%t84 = call ptr @fn_str_concat(ptr @.str468, ptr %t83)
store ptr %t84, ptr %retval
br label %ret
ifend19:
%t85 = load ptr, ptr %t0
%t86 = getelementptr inbounds %Cmp_Node, ptr %t85, i32 0, i32 3
%t87 = load ptr, ptr %t86
%t88 = call ptr @fn_llty(ptr %t87)
%t89 = call i32 @fn_str_eq(ptr %t88, ptr @.str469)
%t90 = icmp ne i32 %t89, 0
br i1 %t90, label %then20, label %ifend22
then20:
store ptr @.str470, ptr %retval
br label %ret
ifend22:
store ptr @.str471, ptr %retval
br label %ret
ret:
%t91 = load ptr, ptr %retval
ret ptr %t91
}
define void @fn_emit_header() {
entry:
%t6 = alloca i32
%t20 = alloca ptr
%t39 = alloca i32
%t81 = alloca ptr
call void @fn_emith(ptr @.str472)
call void @fn_emith(ptr @.str473)
call void @fn_emith(ptr @.str474)
call void @fn_emith(ptr @.str475)
call void @fn_emith(ptr @.str476)
call void @fn_emith(ptr @.str477)
call void @fn_emith(ptr @.str478)
call void @fn_emith(ptr @.str479)
call void @fn_emith(ptr @.str480)
call void @fn_emith(ptr @.str481)
call void @fn_emith(ptr @.str482)
call void @fn_emith(ptr @.str483)
call void @fn_emith(ptr @.str484)
call void @fn_emith(ptr @.str485)
call void @fn_emith(ptr @.str486)
call void @fn_emith(ptr @.str487)
call void @fn_emith(ptr @.str488)
call void @fn_emith(ptr @.str489)
call void @fn_emith(ptr @.str490)
call void @fn_emith(ptr @.str491)
call void @fn_emith(ptr @.str492)
call void @fn_emith(ptr @.str493)
call void @fn_emith(ptr @.str494)
call void @fn_emith(ptr @.str495)
call void @fn_emith(ptr @.str496)
call void @fn_emith(ptr @.str497)
call void @fn_emith(ptr @.str498)
call void @fn_emith(ptr @.str499)
call void @fn_emith(ptr @.str500)
call void @fn_emith(ptr @.str501)
call void @fn_emith(ptr @.str502)
call void @fn_emith(ptr @.str503)
call void @fn_emith(ptr @.str504)
call void @fn_emith(ptr @.str505)
call void @fn_emith(ptr @.str506)
call void @fn_emith(ptr @.str507)
call void @fn_emith(ptr @.str508)
call void @fn_emith(ptr @.str509)
call void @fn_emith(ptr @.str510)
call void @fn_emith(ptr @.str511)
call void @fn_emith(ptr @.str512)
call void @fn_emith(ptr @.str513)
call void @fn_emith(ptr @.str514)
call void @fn_emith(ptr @.str515)
call void @fn_emith(ptr @.str516)
call void @fn_emith(ptr @.str517)
call void @fn_emith(ptr @.str518)
%t0 = load ptr, ptr @g_g_game_name
%t1 = call i64 @strlen(ptr %t0)
%t2 = trunc i64 %t1 to i32
%t3 = add i32 %t2, 1
%t4 = call ptr @fn_itoa(i32 %t3)
call void @fn_emith(ptr %t4)
call void @fn_emith(ptr @.str519)
%t5 = load ptr, ptr @g_g_game_name
call void @fn_emith(ptr %t5)
call void @fn_emith(ptr @.str520)
call void @fn_emith(ptr @.str521)
store i32 0, ptr %t6
br label %wcond0
wcond0:
%t7 = load i32, ptr %t6
%t8 = load ptr, ptr @g_prog
%t9 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 1
%t10 = load i32, ptr %t9
%t11 = icmp slt i32 %t7, %t10
%t12 = zext i1 %t11 to i32
%t13 = icmp ne i32 %t12, 0
br i1 %t13, label %wbody1, label %wend2
wbody1:
%t14 = load ptr, ptr @g_prog
%t15 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 0
%t16 = load ptr, ptr %t15
%t17 = load i32, ptr %t6
%t18 = getelementptr inbounds ptr, ptr %t16, i32 %t17
%t19 = load ptr, ptr %t18
store ptr %t19, ptr %t20
%t21 = load ptr, ptr %t20
%t22 = getelementptr inbounds %Cmp_Node, ptr %t21, i32 0, i32 0
%t23 = load i32, ptr %t22
%t24 = icmp eq i32 %t23, 8
%t25 = zext i1 %t24 to i32
%t26 = icmp ne i32 %t25, 0
br i1 %t26, label %then3, label %ifend5
then3:
%t27 = load ptr, ptr %t20
%t28 = getelementptr inbounds %Cmp_Node, ptr %t27, i32 0, i32 1
%t29 = load ptr, ptr %t28
%t30 = call ptr @fn_layout_ty(ptr %t29)
call void @fn_emith(ptr %t30)
call void @fn_emith(ptr @.str522)
%t31 = load ptr, ptr %t20
%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 = icmp eq i32 %t35, 0
%t37 = zext i1 %t36 to i32
%t38 = icmp ne i32 %t37, 0
br i1 %t38, label %then6, label %ifend8
then6:
call void @fn_emith(ptr @.str523)
br label %ifend8
ifend8:
store i32 0, ptr %t39
br label %wcond9
wcond9:
%t40 = load i32, ptr %t39
%t41 = load ptr, ptr %t20
%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 %wbody10, label %wend11
wbody10:
%t49 = load i32, ptr %t39
%t50 = icmp sgt i32 %t49, 0
%t51 = zext i1 %t50 to i32
%t52 = icmp ne i32 %t51, 0
br i1 %t52, label %then12, label %ifend14
then12:
call void @fn_emith(ptr @.str524)
br label %ifend14
ifend14:
%t53 = load ptr, ptr %t20
%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 = load i32, ptr %t39
%t59 = getelementptr inbounds ptr, ptr %t57, i32 %t58
%t60 = load ptr, ptr %t59
%t61 = getelementptr inbounds %Cmp_Node, ptr %t60, i32 0, i32 3
%t62 = load ptr, ptr %t61
%t63 = call ptr @fn_llty(ptr %t62)
call void @fn_emith(ptr %t63)
%t64 = load i32, ptr %t39
%t65 = add i32 %t64, 1
store i32 %t65, ptr %t39
br label %wcond9
wend11:
call void @fn_emith(ptr @.str525)
br label %ifend5
ifend5:
%t66 = load i32, ptr %t6
%t67 = add i32 %t66, 1
store i32 %t67, ptr %t6
br label %wcond0
wend2:
store i32 0, ptr %t6
br label %wcond15
wcond15:
%t68 = load i32, ptr %t6
%t69 = load ptr, ptr @g_prog
%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 %wbody16, label %wend17
wbody16:
%t75 = load ptr, ptr @g_prog
%t76 = getelementptr inbounds %LSlice, ptr %t75, i32 0, i32 0
%t77 = load ptr, ptr %t76
%t78 = load i32, ptr %t6
%t79 = getelementptr inbounds ptr, ptr %t77, i32 %t78
%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, 2
%t86 = zext i1 %t85 to i32
%t87 = icmp ne i32 %t86, 0
br i1 %t87, label %then18, label %ifend20
then18:
call void @fn_emith(ptr @.str526)
%t88 = load ptr, ptr %t81
%t89 = getelementptr inbounds %Cmp_Node, ptr %t88, i32 0, i32 1
%t90 = load ptr, ptr %t89
call void @fn_emith(ptr %t90)
call void @fn_emith(ptr @.str527)
%t91 = load ptr, ptr %t81
%t92 = getelementptr inbounds %Cmp_Node, ptr %t91, i32 0, i32 3
%t93 = load ptr, ptr %t92
%t94 = call ptr @fn_llty(ptr %t93)
call void @fn_emith(ptr %t94)
call void @fn_emith(ptr @.str528)
%t95 = load ptr, ptr %t81
%t96 = call ptr @fn_global_init(ptr %t95)
call void @fn_emith(ptr %t96)
call void @fn_emith(ptr @.str529)
br label %ifend20
ifend20:
%t97 = load i32, ptr %t6
%t98 = add i32 %t97, 1
store i32 %t98, ptr %t6
br label %wcond15
wend17:
br label %ret
ret:
ret void
}
define void @fn_emit_extern_decls() {
entry:
%t0 = alloca i32
%t14 = alloca ptr
%t30 = alloca i32
store i32 0, ptr %t0
br label %wcond0
wcond0:
%t1 = load i32, ptr %t0
%t2 = load ptr, ptr @g_prog
%t3 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 1
%t4 = load i32, ptr %t3
%t5 = icmp slt i32 %t1, %t4
%t6 = zext i1 %t5 to i32
%t7 = icmp ne i32 %t6, 0
br i1 %t7, label %wbody1, label %wend2
wbody1:
%t8 = load ptr, ptr @g_prog
%t9 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 0
%t10 = load ptr, ptr %t9
%t11 = load i32, ptr %t0
%t12 = getelementptr inbounds ptr, ptr %t10, i32 %t11
%t13 = load ptr, ptr %t12
store ptr %t13, ptr %t14
%t15 = load ptr, ptr %t14
%t16 = getelementptr inbounds %Cmp_Node, ptr %t15, i32 0, i32 0
%t17 = load i32, ptr %t16
%t18 = icmp eq i32 %t17, 11
%t19 = zext i1 %t18 to i32
%t20 = icmp ne i32 %t19, 0
br i1 %t20, label %then3, label %ifend5
then3:
call void @fn_emith(ptr @.str530)
%t21 = load ptr, ptr %t14
%t22 = getelementptr inbounds %Cmp_Node, ptr %t21, i32 0, i32 3
%t23 = load ptr, ptr %t22
%t24 = call ptr @fn_llty(ptr %t23)
call void @fn_emith(ptr %t24)
call void @fn_emith(ptr @.str531)
%t25 = load ptr, ptr %t14
%t26 = getelementptr inbounds %Cmp_Node, ptr %t25, i32 0, i32 4
%t27 = load ptr, ptr %t26
%t28 = getelementptr inbounds %Cmp_Node, ptr %t27, i32 0, i32 1
%t29 = load ptr, ptr %t28
call void @fn_emith(ptr %t29)
call void @fn_emith(ptr @.str532)
store i32 0, ptr %t30
br label %wcond6
wcond6:
%t31 = load i32, ptr %t30
%t32 = load ptr, ptr %t14
%t33 = getelementptr inbounds %Cmp_Node, ptr %t32, i32 0, i32 7
%t34 = load ptr, ptr %t33
%t35 = getelementptr inbounds %LSlice, ptr %t34, i32 0, i32 1
%t36 = load i32, ptr %t35
%t37 = icmp slt i32 %t31, %t36
%t38 = zext i1 %t37 to i32
%t39 = icmp ne i32 %t38, 0
br i1 %t39, label %wbody7, label %wend8
wbody7:
%t40 = load i32, ptr %t30
%t41 = icmp sgt i32 %t40, 0
%t42 = zext i1 %t41 to i32
%t43 = icmp ne i32 %t42, 0
br i1 %t43, label %then9, label %ifend11
then9:
call void @fn_emith(ptr @.str533)
br label %ifend11
ifend11:
%t44 = load ptr, ptr %t14
%t45 = getelementptr inbounds %Cmp_Node, ptr %t44, i32 0, i32 7
%t46 = load ptr, ptr %t45
%t47 = getelementptr inbounds %LSlice, ptr %t46, i32 0, i32 0
%t48 = load ptr, ptr %t47
%t49 = load i32, ptr %t30
%t50 = getelementptr inbounds ptr, ptr %t48, i32 %t49
%t51 = load ptr, ptr %t50
%t52 = getelementptr inbounds %Cmp_Node, ptr %t51, i32 0, i32 3
%t53 = load ptr, ptr %t52
%t54 = call ptr @fn_llty(ptr %t53)
call void @fn_emith(ptr %t54)
%t55 = load i32, ptr %t30
%t56 = add i32 %t55, 1
store i32 %t56, ptr %t30
br label %wcond6
wend8:
call void @fn_emith(ptr @.str534)
br label %ifend5
ifend5:
%t57 = load i32, ptr %t0
%t58 = add i32 %t57, 1
store i32 %t58, ptr %t0
br label %wcond0
wend2:
br label %ret
ret:
ret void
}
define void @fn_emit_str_prelude() {
entry:
call void @fn_emith(ptr @.str535)
call void @fn_emith(ptr @.str536)
call void @fn_emith(ptr @.str537)
call void @fn_emith(ptr @.str538)
call void @fn_emith(ptr @.str539)
call void @fn_emith(ptr @.str540)
call void @fn_emith(ptr @.str541)
call void @fn_emith(ptr @.str542)
call void @fn_emith(ptr @.str543)
call void @fn_emith(ptr @.str544)
call void @fn_emith(ptr @.str545)
call void @fn_emith(ptr @.str546)
call void @fn_emith(ptr @.str547)
call void @fn_emith(ptr @.str548)
call void @fn_emith(ptr @.str549)
call void @fn_emith(ptr @.str550)
call void @fn_emith(ptr @.str551)
call void @fn_emith(ptr @.str552)
call void @fn_emith(ptr @.str553)
call void @fn_emith(ptr @.str554)
call void @fn_emith(ptr @.str555)
call void @fn_emith(ptr @.str556)
call void @fn_emith(ptr @.str557)
call void @fn_emith(ptr @.str558)
call void @fn_emith(ptr @.str559)
call void @fn_emith(ptr @.str560)
call void @fn_emith(ptr @.str561)
call void @fn_emith(ptr @.str562)
call void @fn_emith(ptr @.str563)
call void @fn_emith(ptr @.str564)
call void @fn_emith(ptr @.str565)
call void @fn_emith(ptr @.str566)
call void @fn_emith(ptr @.str567)
call void @fn_emith(ptr @.str568)
call void @fn_emith(ptr @.str569)
br label %ret
ret:
ret void
}
define void @fn_emit_int_str() {
entry:
call void @fn_emith(ptr @.str570)
call void @fn_emith(ptr @.str571)
call void @fn_emith(ptr @.str572)
call void @fn_emith(ptr @.str573)
call void @fn_emith(ptr @.str574)
call void @fn_emith(ptr @.str575)
call void @fn_emith(ptr @.str576)
call void @fn_emith(ptr @.str577)
call void @fn_emith(ptr @.str578)
call void @fn_emith(ptr @.str579)
call void @fn_emith(ptr @.str580)
call void @fn_emith(ptr @.str581)
call void @fn_emith(ptr @.str582)
call void @fn_emith(ptr @.str583)
call void @fn_emith(ptr @.str584)
call void @fn_emith(ptr @.str585)
call void @fn_emith(ptr @.str586)
br label %ret
ret:
ret void
}
define void @fn_emit_long_str() {
entry:
call void @fn_emith(ptr @.str587)
call void @fn_emith(ptr @.str588)
call void @fn_emith(ptr @.str589)
call void @fn_emith(ptr @.str590)
call void @fn_emith(ptr @.str591)
call void @fn_emith(ptr @.str592)
call void @fn_emith(ptr @.str593)
call void @fn_emith(ptr @.str594)
call void @fn_emith(ptr @.str595)
call void @fn_emith(ptr @.str596)
call void @fn_emith(ptr @.str597)
call void @fn_emith(ptr @.str598)
call void @fn_emith(ptr @.str599)
call void @fn_emith(ptr @.str600)
call void @fn_emith(ptr @.str601)
call void @fn_emith(ptr @.str602)
call void @fn_emith(ptr @.str603)
br label %ret
ret:
ret void
}
define void @fn_emit_str_slice() {
entry:
call void @fn_emith(ptr @.str604)
call void @fn_emith(ptr @.str605)
call void @fn_emith(ptr @.str606)
call void @fn_emith(ptr @.str607)
call void @fn_emith(ptr @.str608)
call void @fn_emith(ptr @.str609)
call void @fn_emith(ptr @.str610)
call void @fn_emith(ptr @.str611)
br label %ret
ret:
ret void
}
define ptr @fn_emit_member_addr(ptr %arg_e) {
entry:
%retval = alloca ptr
%t0 = alloca ptr
%t5 = alloca ptr
%t10 = alloca ptr
%t24 = alloca i32
%t39 = alloca ptr
store ptr %arg_e, ptr %t0
%t1 = load ptr, ptr %t0
%t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 4
%t3 = load ptr, ptr %t2
%t4 = call ptr @fn_emit_expr(ptr %t3)
store ptr %t4, ptr %t5
%t6 = load ptr, ptr %t5
%t7 = getelementptr inbounds %Cmp_Val, ptr %t6, i32 0, i32 1
%t8 = load ptr, ptr %t7
%t9 = call ptr @fn_layout_node(ptr %t8)
store ptr %t9, ptr %t10
%t11 = load ptr, ptr %t10
%t12 = icmp eq ptr %t11, null
%t13 = zext i1 %t12 to i32
%t14 = icmp ne i32 %t13, 0
br i1 %t14, label %then0, label %ifend2
then0:
%t15 = load ptr, ptr %t5
%t16 = getelementptr inbounds %Cmp_Val, ptr %t15, i32 0, i32 1
%t17 = load ptr, ptr %t16
%t18 = call ptr @fn_str_concat(ptr @.str612, ptr %t17)
call void @fn_perr(ptr %t18)
br label %ifend2
ifend2:
%t19 = load ptr, ptr %t10
%t20 = load ptr, ptr %t0
%t21 = getelementptr inbounds %Cmp_Node, ptr %t20, i32 0, i32 1
%t22 = load ptr, ptr %t21
%t23 = call i32 @fn_field_index(ptr %t19, ptr %t22)
store i32 %t23, ptr %t24
%t25 = load i32, ptr %t24
%t26 = icmp slt i32 %t25, 0
%t27 = zext i1 %t26 to i32
%t28 = icmp ne i32 %t27, 0
br i1 %t28, label %then3, label %ifend5
then3:
%t29 = load ptr, ptr %t0
%t30 = getelementptr inbounds %Cmp_Node, ptr %t29, i32 0, i32 1
%t31 = load ptr, ptr %t30
%t32 = call ptr @fn_str_concat(ptr @.str613, ptr %t31)
call void @fn_perr(ptr %t32)
br label %ifend5
ifend5:
%t33 = load ptr, ptr %t10
%t34 = load ptr, ptr %t0
%t35 = getelementptr inbounds %Cmp_Node, ptr %t34, i32 0, i32 1
%t36 = load ptr, ptr %t35
%t37 = call ptr @fn_field_type(ptr %t33, ptr %t36)
store ptr %t37, ptr @g_g_addr_ty
%t38 = call ptr @fn_nreg()
store ptr %t38, ptr %t39
call void @fn_emit(ptr @.str614)
%t40 = load ptr, ptr %t39
call void @fn_emit(ptr %t40)
call void @fn_emit(ptr @.str615)
%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 @.str616)
%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 @.str617)
%t48 = load i32, ptr %t24
%t49 = call ptr @fn_itoa(i32 %t48)
call void @fn_emit(ptr %t49)
call void @fn_emit(ptr @.str618)
%t50 = load ptr, ptr %t39
store ptr %t50, ptr %retval
br label %ret
ret:
%t51 = load ptr, ptr %retval
ret ptr %t51
}
define ptr @fn_emit_index_addr(ptr %arg_e) {
entry:
%retval = alloca ptr
%t0 = alloca ptr
%t5 = alloca ptr
%t17 = alloca ptr
%t33 = alloca ptr
%t50 = alloca ptr
%t67 = alloca ptr
%t79 = alloca ptr
%t85 = alloca ptr
%t88 = alloca ptr
%t94 = alloca ptr
%t101 = alloca ptr
%t103 = 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 @fn_str_eq(ptr %t20, ptr @.str619)
%t22 = icmp ne i32 %t21, 0
br i1 %t22, label %then3, label %ifend5
then3:
%t23 = load ptr, ptr %t5
%t24 = getelementptr inbounds %Cmp_Val, ptr %t23, i32 0, i32 0
%t25 = load ptr, ptr %t24
%t26 = call ptr @fn_str_concat(ptr @.str620, ptr %t25)
%t27 = call ptr @fn_str_concat(ptr %t26, ptr @.str621)
%t28 = load ptr, ptr %t17
%t29 = getelementptr inbounds %Cmp_Val, ptr %t28, i32 0, i32 0
%t30 = load ptr, ptr %t29
%t31 = call ptr @fn_str_concat(ptr %t27, ptr %t30)
%t32 = call ptr @fn_emit_bind(ptr %t31)
store ptr %t32, ptr %t33
store ptr @.str622, 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 @fn_str_eq(ptr %t37, ptr @.str623)
%t39 = icmp ne i32 %t38, 0
br i1 %t39, label %then6, label %ifend8
then6:
%t40 = load ptr, ptr %t5
%t41 = getelementptr inbounds %Cmp_Val, ptr %t40, i32 0, i32 0
%t42 = load ptr, ptr %t41
%t43 = call ptr @fn_str_concat(ptr @.str624, ptr %t42)
%t44 = call ptr @fn_str_concat(ptr %t43, ptr @.str625)
%t45 = load ptr, ptr %t17
%t46 = getelementptr inbounds %Cmp_Val, ptr %t45, i32 0, i32 0
%t47 = load ptr, ptr %t46
%t48 = call ptr @fn_str_concat(ptr %t44, ptr %t47)
%t49 = call ptr @fn_emit_bind(ptr %t48)
store ptr %t49, ptr %t50
store ptr @.str626, ptr @g_g_addr_ty
%t51 = load ptr, ptr %t50
store ptr %t51, ptr %retval
br label %ret
ifend8:
%t52 = load ptr, ptr %t5
%t53 = getelementptr inbounds %Cmp_Val, ptr %t52, i32 0, i32 1
%t54 = load ptr, ptr %t53
%t55 = call i32 @fn_str_eq(ptr %t54, ptr @.str627)
%t56 = icmp ne i32 %t55, 0
br i1 %t56, label %then9, label %ifend11
then9:
%t57 = load ptr, ptr %t5
%t58 = getelementptr inbounds %Cmp_Val, ptr %t57, i32 0, i32 0
%t59 = load ptr, ptr %t58
%t60 = call ptr @fn_str_concat(ptr @.str628, ptr %t59)
%t61 = call ptr @fn_str_concat(ptr %t60, ptr @.str629)
%t62 = load ptr, ptr %t17
%t63 = getelementptr inbounds %Cmp_Val, ptr %t62, i32 0, i32 0
%t64 = load ptr, ptr %t63
%t65 = call ptr @fn_str_concat(ptr %t61, ptr %t64)
%t66 = call ptr @fn_emit_bind(ptr %t65)
store ptr %t66, ptr %t67
store ptr @.str630, ptr @g_g_addr_ty
%t68 = load ptr, ptr %t67
store ptr %t68, ptr %retval
br label %ret
ifend11:
%t69 = load ptr, ptr %t5
%t70 = getelementptr inbounds %Cmp_Val, ptr %t69, i32 0, i32 0
%t71 = load ptr, ptr %t70
%t72 = call ptr @fn_str_concat(ptr @.str631, ptr %t71)
%t73 = call ptr @fn_str_concat(ptr %t72, ptr @.str632)
%t74 = load ptr, ptr %t17
%t75 = getelementptr inbounds %Cmp_Val, ptr %t74, i32 0, i32 0
%t76 = load ptr, ptr %t75
%t77 = call ptr @fn_str_concat(ptr %t73, ptr %t76)
%t78 = call ptr @fn_emit_bind(ptr %t77)
store ptr %t78, ptr %t79
store ptr @.str633, ptr @g_g_addr_ty
%t80 = load ptr, ptr %t79
store ptr %t80, ptr %retval
br label %ret
ifend2:
%t81 = load ptr, ptr %t5
%t82 = getelementptr inbounds %Cmp_Val, ptr %t81, i32 0, i32 1
%t83 = load ptr, ptr %t82
%t84 = call ptr @fn_slice_elem(ptr %t83)
store ptr %t84, ptr %t85
%t86 = load ptr, ptr %t85
store ptr %t86, ptr @g_g_addr_ty
%t87 = call ptr @fn_nreg()
store ptr %t87, ptr %t88
call void @fn_emit(ptr @.str634)
%t89 = load ptr, ptr %t88
call void @fn_emit(ptr %t89)
call void @fn_emit(ptr @.str635)
%t90 = load ptr, ptr %t5
%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 @.str636)
%t93 = call ptr @fn_nreg()
store ptr %t93, ptr %t94
call void @fn_emit(ptr @.str637)
%t95 = load ptr, ptr %t94
call void @fn_emit(ptr %t95)
call void @fn_emit(ptr @.str638)
%t96 = load ptr, ptr %t88
call void @fn_emit(ptr %t96)
call void @fn_emit(ptr @.str639)
%t97 = load ptr, ptr %t0
%t98 = getelementptr inbounds %Cmp_Node, ptr %t97, i32 0, i32 5
%t99 = load ptr, ptr %t98
%t100 = call ptr @fn_emit_expr(ptr %t99)
store ptr %t100, ptr %t101
%t102 = call ptr @fn_nreg()
store ptr %t102, ptr %t103
call void @fn_emit(ptr @.str640)
%t104 = load ptr, ptr %t103
call void @fn_emit(ptr %t104)
call void @fn_emit(ptr @.str641)
%t105 = load ptr, ptr %t85
%t106 = call ptr @fn_llty(ptr %t105)
call void @fn_emit(ptr %t106)
call void @fn_emit(ptr @.str642)
%t107 = load ptr, ptr %t94
call void @fn_emit(ptr %t107)
call void @fn_emit(ptr @.str643)
%t108 = load ptr, ptr %t101
%t109 = getelementptr inbounds %Cmp_Val, ptr %t108, i32 0, i32 0
%t110 = load ptr, ptr %t109
call void @fn_emit(ptr %t110)
call void @fn_emit(ptr @.str644)
%t111 = load ptr, ptr %t103
store ptr %t111, ptr %retval
br label %ret
ret:
%t112 = load ptr, ptr %retval
ret ptr %t112
}
define i32 @fn_is_intrinsic(ptr %arg_name) {
entry:
%retval = alloca i32
%t0 = alloca ptr
%t4 = alloca i32
%t5 = alloca i32
%t23 = alloca i32
%t24 = alloca i32
%t42 = alloca i32
%t43 = alloca i32
%t61 = alloca i32
%t72 = alloca i32
store ptr %arg_name, ptr %t0
%t1 = load ptr, ptr %t0
%t2 = call i32 @fn_str_eq(ptr %t1, ptr @.str645)
%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_eq(ptr %t6, ptr @.str646)
%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_eq(ptr %t10, ptr @.str647)
%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_eq(ptr %t17, ptr @.str648)
%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 @fn_str_eq(ptr %t25, ptr @.str649)
%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 @fn_str_eq(ptr %t29, ptr @.str650)
%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 @fn_str_eq(ptr %t36, ptr @.str651)
%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 @fn_str_eq(ptr %t44, ptr @.str652)
%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 @fn_str_eq(ptr %t48, ptr @.str653)
%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 @fn_str_eq(ptr %t55, ptr @.str654)
%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 @fn_str_eq(ptr %t62, ptr @.str655)
%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 @fn_str_eq(ptr %t66, ptr @.str656)
%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 @fn_str_eq(ptr %t73, ptr @.str657)
%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 @fn_str_eq(ptr %t77, ptr @.str658)
%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:
store i32 0, ptr %retval
br label %ret
ret:
%t83 = load i32, ptr %retval
ret i32 %t83
}
define ptr @fn_emit_bind(ptr %arg_rest) {
entry:
%retval = alloca ptr
%t0 = alloca ptr
%t2 = alloca ptr
store ptr %arg_rest, ptr %t0
%t1 = call ptr @fn_nreg()
store ptr %t1, ptr %t2
call void @fn_emit(ptr @.str659)
%t3 = load ptr, ptr %t2
call void @fn_emit(ptr %t3)
call void @fn_emit(ptr @.str660)
%t4 = load ptr, ptr %t0
call void @fn_emit(ptr %t4)
call void @fn_emit(ptr @.str661)
%t5 = load ptr, ptr %t2
store ptr %t5, ptr %retval
br label %ret
ret:
%t6 = load ptr, ptr %retval
ret ptr %t6
}
define ptr @fn_arg_code(ptr %arg_e, i32 %arg_i) {
entry:
%retval = alloca ptr
%t0 = alloca ptr
%t1 = alloca i32
%t11 = alloca ptr
store ptr %arg_e, ptr %t0
store i32 %arg_i, ptr %t1
%t2 = load ptr, ptr %t0
%t3 = getelementptr inbounds %Cmp_Node, ptr %t2, i32 0, i32 7
%t4 = load ptr, ptr %t3
%t5 = getelementptr inbounds %LSlice, ptr %t4, i32 0, i32 0
%t6 = load ptr, ptr %t5
%t7 = load i32, ptr %t1
%t8 = getelementptr inbounds ptr, ptr %t6, i32 %t7
%t9 = load ptr, ptr %t8
%t10 = call ptr @fn_emit_expr(ptr %t9)
store ptr %t10, ptr %t11
%t12 = load ptr, ptr %t11
%t13 = getelementptr inbounds %Cmp_Val, ptr %t12, i32 0, i32 0
%t14 = load ptr, ptr %t13
store ptr %t14, ptr %retval
br label %ret
ret:
%t15 = load ptr, ptr %retval
ret ptr %t15
}
define ptr @fn_emit_intrinsic(ptr %arg_name, ptr %arg_e) {
entry:
%retval = alloca ptr
%t0 = alloca ptr
%t1 = alloca ptr
%t7 = alloca ptr
%t10 = alloca ptr
%t15 = alloca ptr
%t29 = alloca ptr
%t32 = alloca ptr
%t41 = alloca i32
%t54 = alloca ptr
%t57 = alloca ptr
%t60 = alloca ptr
%t65 = alloca ptr
%t66 = alloca ptr
%t83 = alloca ptr
%t94 = alloca ptr
%t97 = alloca ptr
%t100 = alloca ptr
%t105 = alloca ptr
%t122 = alloca ptr
%t127 = alloca ptr
%t138 = alloca ptr
%t151 = alloca ptr
%t153 = alloca ptr
%t160 = alloca ptr
%t170 = alloca ptr
%t188 = alloca ptr
%t199 = 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 @fn_str_eq(ptr %t2, ptr @.str662)
%t4 = icmp ne i32 %t3, 0
br i1 %t4, label %then0, label %ifend2
then0:
%t5 = load ptr, ptr %t1
%t6 = call ptr @fn_arg_code(ptr %t5, i32 0)
store ptr %t6, ptr %t7
%t8 = load ptr, ptr %t1
%t9 = call ptr @fn_arg_code(ptr %t8, i32 1)
store ptr %t9, ptr %t10
%t11 = load ptr, ptr %t10
%t12 = call ptr @fn_str_concat(ptr @.str663, ptr %t11)
%t13 = call ptr @fn_str_concat(ptr %t12, ptr @.str664)
%t14 = call ptr @fn_emit_bind(ptr %t13)
store ptr %t14, ptr %t15
%t16 = load ptr, ptr %t7
%t17 = call ptr @fn_str_concat(ptr @.str665, ptr %t16)
%t18 = call ptr @fn_str_concat(ptr %t17, ptr @.str666)
%t19 = load ptr, ptr %t15
%t20 = call ptr @fn_str_concat(ptr %t18, ptr %t19)
%t21 = call ptr @fn_str_concat(ptr %t20, ptr @.str667)
%t22 = call ptr @fn_emit_bind(ptr %t21)
%t23 = call ptr @fn_val(ptr %t22, ptr @.str668)
store ptr %t23, ptr %retval
br label %ret
ifend2:
%t24 = load ptr, ptr %t0
%t25 = call i32 @fn_str_eq(ptr %t24, ptr @.str669)
%t26 = icmp ne i32 %t25, 0
br i1 %t26, label %then3, label %ifend5
then3:
%t27 = load ptr, ptr %t1
%t28 = call ptr @fn_arg_code(ptr %t27, i32 0)
store ptr %t28, ptr %t29
%t30 = load ptr, ptr %t1
%t31 = call ptr @fn_arg_code(ptr %t30, i32 1)
store ptr %t31, ptr %t32
%t33 = load ptr, ptr %t29
%t34 = call ptr @fn_str_concat(ptr @.str670, ptr %t33)
%t35 = call ptr @fn_str_concat(ptr %t34, ptr @.str671)
%t36 = load ptr, ptr %t32
%t37 = call ptr @fn_str_concat(ptr %t35, ptr %t36)
%t38 = call ptr @fn_str_concat(ptr %t37, ptr @.str672)
%t39 = call ptr @fn_emit_bind(ptr %t38)
%t40 = call ptr @fn_val(ptr %t39, ptr @.str673)
store ptr %t40, ptr %retval
br label %ret
ifend5:
%t42 = load ptr, ptr %t0
%t43 = call i32 @fn_str_eq(ptr %t42, ptr @.str674)
%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 @fn_str_eq(ptr %t46, ptr @.str675)
%t48 = icmp ne i32 %t47, 0
%t49 = zext i1 %t48 to i32
store i32 %t49, ptr %t41
br label %scend7
scend7:
%t50 = load i32, ptr %t41
%t51 = icmp ne i32 %t50, 0
br i1 %t51, label %then8, label %ifend10
then8:
%t52 = load ptr, ptr %t1
%t53 = call ptr @fn_arg_code(ptr %t52, i32 0)
store ptr %t53, ptr %t54
%t55 = load ptr, ptr %t1
%t56 = call ptr @fn_arg_code(ptr %t55, i32 1)
store ptr %t56, ptr %t57
%t58 = load ptr, ptr %t1
%t59 = call ptr @fn_arg_code(ptr %t58, i32 2)
store ptr %t59, ptr %t60
%t61 = load ptr, ptr %t60
%t62 = call ptr @fn_str_concat(ptr @.str676, ptr %t61)
%t63 = call ptr @fn_str_concat(ptr %t62, ptr @.str677)
%t64 = call ptr @fn_emit_bind(ptr %t63)
store ptr %t64, ptr %t65
store ptr @.str678, ptr %t66
%t67 = load ptr, ptr %t0
%t68 = call i32 @fn_str_eq(ptr %t67, ptr @.str679)
%t69 = icmp ne i32 %t68, 0
br i1 %t69, label %then11, label %ifend13
then11:
store ptr @.str680, ptr %t66
br label %ifend13
ifend13:
%t70 = load ptr, ptr %t66
%t71 = call ptr @fn_str_concat(ptr @.str681, ptr %t70)
%t72 = call ptr @fn_str_concat(ptr %t71, ptr @.str682)
%t73 = load ptr, ptr %t57
%t74 = call ptr @fn_str_concat(ptr %t72, ptr %t73)
%t75 = call ptr @fn_str_concat(ptr %t74, ptr @.str683)
%t76 = load ptr, ptr %t65
%t77 = call ptr @fn_str_concat(ptr %t75, ptr %t76)
%t78 = call ptr @fn_str_concat(ptr %t77, ptr @.str684)
%t79 = load ptr, ptr %t54
%t80 = call ptr @fn_str_concat(ptr %t78, ptr %t79)
%t81 = call ptr @fn_str_concat(ptr %t80, ptr @.str685)
%t82 = call ptr @fn_emit_bind(ptr %t81)
store ptr %t82, ptr %t83
%t84 = load ptr, ptr %t83
%t85 = call ptr @fn_str_concat(ptr @.str686, ptr %t84)
%t86 = call ptr @fn_str_concat(ptr %t85, ptr @.str687)
%t87 = call ptr @fn_emit_bind(ptr %t86)
%t88 = call ptr @fn_val(ptr %t87, ptr @.str688)
store ptr %t88, ptr %retval
br label %ret
ifend10:
%t89 = load ptr, ptr %t0
%t90 = call i32 @fn_str_eq(ptr %t89, ptr @.str689)
%t91 = icmp ne i32 %t90, 0
br i1 %t91, label %then14, label %ifend16
then14:
%t92 = load ptr, ptr %t1
%t93 = call ptr @fn_arg_code(ptr %t92, i32 0)
store ptr %t93, ptr %t94
%t95 = load ptr, ptr %t1
%t96 = call ptr @fn_arg_code(ptr %t95, i32 1)
store ptr %t96, ptr %t97
%t98 = load ptr, ptr %t1
%t99 = call ptr @fn_arg_code(ptr %t98, i32 2)
store ptr %t99, ptr %t100
%t101 = load ptr, ptr %t97
%t102 = call ptr @fn_str_concat(ptr @.str690, ptr %t101)
%t103 = call ptr @fn_str_concat(ptr %t102, ptr @.str691)
%t104 = call ptr @fn_emit_bind(ptr %t103)
store ptr %t104, ptr %t105
%t106 = load ptr, ptr %t94
%t107 = call ptr @fn_str_concat(ptr @.str692, ptr %t106)
%t108 = call ptr @fn_str_concat(ptr %t107, ptr @.str693)
%t109 = load ptr, ptr %t105
%t110 = call ptr @fn_str_concat(ptr %t108, ptr %t109)
%t111 = call ptr @fn_str_concat(ptr %t110, ptr @.str694)
%t112 = load ptr, ptr %t100
%t113 = call ptr @fn_str_concat(ptr %t111, ptr %t112)
%t114 = call ptr @fn_str_concat(ptr %t113, ptr @.str695)
%t115 = call ptr @fn_emit_bind(ptr %t114)
%t116 = call ptr @fn_val(ptr %t115, ptr @.str696)
store ptr %t116, ptr %retval
br label %ret
ifend16:
%t117 = load ptr, ptr %t0
%t118 = call i32 @fn_str_eq(ptr %t117, ptr @.str697)
%t119 = icmp ne i32 %t118, 0
br i1 %t119, label %then17, label %ifend19
then17:
%t120 = load ptr, ptr %t1
%t121 = call ptr @fn_arg_code(ptr %t120, i32 0)
store ptr %t121, ptr %t122
%t123 = load ptr, ptr %t122
%t124 = call ptr @fn_str_concat(ptr @.str698, ptr %t123)
%t125 = call ptr @fn_str_concat(ptr %t124, ptr @.str699)
%t126 = call ptr @fn_emit_bind(ptr %t125)
store ptr %t126, ptr %t127
%t128 = load ptr, ptr %t127
%t129 = call ptr @fn_str_concat(ptr @.str700, ptr %t128)
%t130 = call ptr @fn_str_concat(ptr %t129, ptr @.str701)
%t131 = call ptr @fn_emit_bind(ptr %t130)
%t132 = call ptr @fn_val(ptr %t131, ptr @.str702)
store ptr %t132, ptr %retval
br label %ret
ifend19:
%t133 = load ptr, ptr %t0
%t134 = call i32 @fn_str_eq(ptr %t133, ptr @.str703)
%t135 = icmp ne i32 %t134, 0
br i1 %t135, label %then20, label %ifend22
then20:
%t136 = load ptr, ptr %t1
%t137 = call ptr @fn_arg_code(ptr %t136, i32 0)
store ptr %t137, ptr %t138
call void @fn_emit(ptr @.str704)
%t139 = load ptr, ptr %t138
call void @fn_emit(ptr %t139)
call void @fn_emit(ptr @.str705)
%t140 = call ptr @fn_val(ptr @.str706, ptr @.str707)
store ptr %t140, ptr %retval
br label %ret
ifend22:
%t141 = load ptr, ptr %t0
%t142 = call i32 @fn_str_eq(ptr %t141, ptr @.str708)
%t143 = icmp ne i32 %t142, 0
br i1 %t143, label %then23, label %ifend25
then23:
%t144 = call ptr @fn_emit_bind(ptr @.str709)
%t145 = call ptr @fn_val(ptr %t144, ptr @.str710)
store ptr %t145, ptr %retval
br label %ret
ifend25:
%t146 = load ptr, ptr %t0
%t147 = call i32 @fn_str_eq(ptr %t146, ptr @.str711)
%t148 = icmp ne i32 %t147, 0
br i1 %t148, label %then26, label %ifend28
then26:
%t149 = load ptr, ptr %t1
%t150 = call ptr @fn_arg_code(ptr %t149, i32 0)
store ptr %t150, ptr %t151
%t152 = call ptr @fn_emit_bind(ptr @.str712)
store ptr %t152, ptr %t153
%t154 = load ptr, ptr %t153
%t155 = call ptr @fn_str_concat(ptr @.str713, ptr %t154)
%t156 = call ptr @fn_str_concat(ptr %t155, ptr @.str714)
%t157 = load ptr, ptr %t151
%t158 = call ptr @fn_str_concat(ptr %t156, ptr %t157)
%t159 = call ptr @fn_emit_bind(ptr %t158)
store ptr %t159, ptr %t160
%t161 = load ptr, ptr %t160
%t162 = call ptr @fn_str_concat(ptr @.str715, ptr %t161)
%t163 = call ptr @fn_emit_bind(ptr %t162)
%t164 = call ptr @fn_val(ptr %t163, ptr @.str716)
store ptr %t164, ptr %retval
br label %ret
ifend28:
%t165 = load ptr, ptr %t0
%t166 = call i32 @fn_str_eq(ptr %t165, ptr @.str717)
%t167 = icmp ne i32 %t166, 0
br i1 %t167, label %then29, label %ifend31
then29:
%t168 = load ptr, ptr %t1
%t169 = call ptr @fn_arg_code(ptr %t168, i32 0)
store ptr %t169, ptr %t170
call void @fn_emit(ptr @.str718)
%t171 = load ptr, ptr %t170
call void @fn_emit(ptr %t171)
call void @fn_emit(ptr @.str719)
call void @fn_emit(ptr @.str720)
store i32 1, ptr @g_g_term
%t172 = call ptr @fn_val(ptr @.str721, ptr @.str722)
store ptr %t172, ptr %retval
br label %ret
ifend31:
%t173 = load ptr, ptr %t0
%t174 = call i32 @fn_str_eq(ptr %t173, ptr @.str723)
%t175 = icmp ne i32 %t174, 0
br i1 %t175, label %then32, label %ifend34
then32:
%t176 = call ptr @fn_emit_bind(ptr @.str724)
%t177 = call ptr @fn_val(ptr %t176, ptr @.str725)
store ptr %t177, ptr %retval
br label %ret
ifend34:
%t178 = load ptr, ptr %t0
%t179 = call i32 @fn_str_eq(ptr %t178, ptr @.str726)
%t180 = icmp ne i32 %t179, 0
br i1 %t180, label %then35, label %ifend37
then35:
%t181 = call ptr @fn_emit_bind(ptr @.str727)
%t182 = call ptr @fn_val(ptr %t181, ptr @.str728)
store ptr %t182, ptr %retval
br label %ret
ifend37:
%t183 = load ptr, ptr %t0
%t184 = call i32 @fn_str_eq(ptr %t183, ptr @.str729)
%t185 = icmp ne i32 %t184, 0
br i1 %t185, label %then38, label %ifend40
then38:
%t186 = load ptr, ptr %t1
%t187 = call ptr @fn_arg_code(ptr %t186, i32 0)
store ptr %t187, ptr %t188
%t189 = load ptr, ptr %t188
%t190 = call ptr @fn_str_concat(ptr @.str730, ptr %t189)
%t191 = call ptr @fn_str_concat(ptr %t190, ptr @.str731)
%t192 = call ptr @fn_emit_bind(ptr %t191)
%t193 = call ptr @fn_val(ptr %t192, ptr @.str732)
store ptr %t193, ptr %retval
br label %ret
ifend40:
%t194 = load ptr, ptr %t0
%t195 = call i32 @fn_str_eq(ptr %t194, ptr @.str733)
%t196 = icmp ne i32 %t195, 0
br i1 %t196, label %then41, label %ifend43
then41:
%t197 = load ptr, ptr %t1
%t198 = call ptr @fn_arg_code(ptr %t197, i32 0)
store ptr %t198, ptr %t199
%t200 = load ptr, ptr %t199
%t201 = call ptr @fn_str_concat(ptr @.str734, ptr %t200)
%t202 = call ptr @fn_str_concat(ptr %t201, ptr @.str735)
%t203 = call ptr @fn_emit_bind(ptr %t202)
%t204 = call ptr @fn_val(ptr %t203, ptr @.str736)
store ptr %t204, ptr %retval
br label %ret
ifend43:
store i32 0, ptr @g_g_intrin_ok
%t205 = call ptr @fn_val(ptr @.str737, ptr @.str738)
store ptr %t205, ptr %retval
br label %ret
ret:
%t206 = load ptr, ptr %retval
ret ptr %t206
}
define i32 @fn_is_intrinsic2(ptr %arg_name) {
entry:
%retval = alloca i32
%t0 = alloca ptr
%t1 = alloca i32
%t12 = alloca i32
%t23 = alloca i32
%t34 = alloca i32
%t45 = alloca i32
%t46 = alloca i32
%t64 = alloca i32
%t75 = alloca i32
%t86 = alloca i32
%t97 = alloca i32
%t98 = alloca i32
%t116 = alloca i32
%t117 = alloca i32
store ptr %arg_name, ptr %t0
%t2 = load ptr, ptr %t0
%t3 = call i32 @fn_str_eq(ptr %t2, ptr @.str739)
%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 @fn_str_eq(ptr %t6, ptr @.str740)
%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 @fn_str_eq(ptr %t13, ptr @.str741)
%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 @fn_str_eq(ptr %t17, ptr @.str742)
%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 @fn_str_eq(ptr %t24, ptr @.str743)
%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 @fn_str_eq(ptr %t28, ptr @.str744)
%t30 = icmp ne i32 %t29, 0
%t31 = zext i1 %t30 to i32
store i32 %t31, ptr %t23
br label %scend11
scend11:
%t32 = load i32, ptr %t23
%t33 = icmp ne i32 %t32, 0
br i1 %t33, label %then12, label %ifend14
then12:
store i32 1, ptr %retval
br label %ret
ifend14:
%t35 = load ptr, ptr %t0
%t36 = call i32 @fn_str_eq(ptr %t35, ptr @.str745)
%t37 = icmp ne i32 %t36, 0
%t38 = zext i1 %t37 to i32
store i32 %t38, ptr %t34
br i1 %t37, label %scend16, label %sc15
sc15:
%t39 = load ptr, ptr %t0
%t40 = call i32 @fn_str_eq(ptr %t39, ptr @.str746)
%t41 = icmp ne i32 %t40, 0
%t42 = zext i1 %t41 to i32
store i32 %t42, ptr %t34
br label %scend16
scend16:
%t43 = load i32, ptr %t34
%t44 = icmp ne i32 %t43, 0
br i1 %t44, label %then17, label %ifend19
then17:
store i32 1, ptr %retval
br label %ret
ifend19:
%t47 = load ptr, ptr %t0
%t48 = call i32 @fn_str_eq(ptr %t47, ptr @.str747)
%t49 = icmp ne i32 %t48, 0
%t50 = zext i1 %t49 to i32
store i32 %t50, ptr %t46
br i1 %t49, label %scend21, label %sc20
sc20:
%t51 = load ptr, ptr %t0
%t52 = call i32 @fn_str_eq(ptr %t51, ptr @.str748)
%t53 = icmp ne i32 %t52, 0
%t54 = zext i1 %t53 to i32
store i32 %t54, ptr %t46
br label %scend21
scend21:
%t55 = load i32, ptr %t46
%t56 = icmp ne i32 %t55, 0
%t57 = zext i1 %t56 to i32
store i32 %t57, ptr %t45
br i1 %t56, label %scend23, label %sc22
sc22:
%t58 = load ptr, ptr %t0
%t59 = call i32 @fn_str_eq(ptr %t58, ptr @.str749)
%t60 = icmp ne i32 %t59, 0
%t61 = zext i1 %t60 to i32
store i32 %t61, ptr %t45
br label %scend23
scend23:
%t62 = load i32, ptr %t45
%t63 = icmp ne i32 %t62, 0
br i1 %t63, label %then24, label %ifend26
then24:
store i32 1, ptr %retval
br label %ret
ifend26:
%t65 = load ptr, ptr %t0
%t66 = call i32 @fn_str_eq(ptr %t65, ptr @.str750)
%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_str_eq(ptr %t69, ptr @.str751)
%t71 = icmp ne i32 %t70, 0
%t72 = zext i1 %t71 to i32
store i32 %t72, ptr %t64
br label %scend28
scend28:
%t73 = load i32, ptr %t64
%t74 = icmp ne i32 %t73, 0
br i1 %t74, label %then29, label %ifend31
then29:
store i32 1, ptr %retval
br label %ret
ifend31:
%t76 = load ptr, ptr %t0
%t77 = call i32 @fn_str_eq(ptr %t76, ptr @.str752)
%t78 = icmp ne i32 %t77, 0
%t79 = zext i1 %t78 to i32
store i32 %t79, ptr %t75
br i1 %t78, label %scend33, label %sc32
sc32:
%t80 = load ptr, ptr %t0
%t81 = call i32 @fn_str_eq(ptr %t80, ptr @.str753)
%t82 = icmp ne i32 %t81, 0
%t83 = zext i1 %t82 to i32
store i32 %t83, ptr %t75
br label %scend33
scend33:
%t84 = load i32, ptr %t75
%t85 = icmp ne i32 %t84, 0
br i1 %t85, label %then34, label %ifend36
then34:
store i32 1, ptr %retval
br label %ret
ifend36:
%t87 = load ptr, ptr %t0
%t88 = call i32 @fn_str_eq(ptr %t87, ptr @.str754)
%t89 = icmp ne i32 %t88, 0
%t90 = zext i1 %t89 to i32
store i32 %t90, ptr %t86
br i1 %t89, label %scend38, label %sc37
sc37:
%t91 = load ptr, ptr %t0
%t92 = call i32 @fn_str_eq(ptr %t91, ptr @.str755)
%t93 = icmp ne i32 %t92, 0
%t94 = zext i1 %t93 to i32
store i32 %t94, ptr %t86
br label %scend38
scend38:
%t95 = load i32, ptr %t86
%t96 = icmp ne i32 %t95, 0
br i1 %t96, label %then39, label %ifend41
then39:
store i32 1, ptr %retval
br label %ret
ifend41:
%t99 = load ptr, ptr %t0
%t100 = call i32 @fn_str_eq(ptr %t99, ptr @.str756)
%t101 = icmp ne i32 %t100, 0
%t102 = zext i1 %t101 to i32
store i32 %t102, ptr %t98
br i1 %t101, label %scend43, label %sc42
sc42:
%t103 = load ptr, ptr %t0
%t104 = call i32 @fn_str_eq(ptr %t103, ptr @.str757)
%t105 = icmp ne i32 %t104, 0
%t106 = zext i1 %t105 to i32
store i32 %t106, ptr %t98
br label %scend43
scend43:
%t107 = load i32, ptr %t98
%t108 = icmp ne i32 %t107, 0
%t109 = zext i1 %t108 to i32
store i32 %t109, ptr %t97
br i1 %t108, label %scend45, label %sc44
sc44:
%t110 = load ptr, ptr %t0
%t111 = call i32 @fn_str_eq(ptr %t110, ptr @.str758)
%t112 = icmp ne i32 %t111, 0
%t113 = zext i1 %t112 to i32
store i32 %t113, ptr %t97
br label %scend45
scend45:
%t114 = load i32, ptr %t97
%t115 = icmp ne i32 %t114, 0
br i1 %t115, label %then46, label %ifend48
then46:
store i32 1, ptr %retval
br label %ret
ifend48:
%t118 = load ptr, ptr %t0
%t119 = call i32 @fn_str_eq(ptr %t118, ptr @.str759)
%t120 = icmp ne i32 %t119, 0
%t121 = zext i1 %t120 to i32
store i32 %t121, ptr %t117
br i1 %t120, label %scend50, label %sc49
sc49:
%t122 = load ptr, ptr %t0
%t123 = call i32 @fn_str_eq(ptr %t122, ptr @.str760)
%t124 = icmp ne i32 %t123, 0
%t125 = zext i1 %t124 to i32
store i32 %t125, ptr %t117
br label %scend50
scend50:
%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 %scend52, label %sc51
sc51:
%t129 = load ptr, ptr %t0
%t130 = call i32 @fn_str_eq(ptr %t129, ptr @.str761)
%t131 = icmp ne i32 %t130, 0
%t132 = zext i1 %t131 to i32
store i32 %t132, ptr %t116
br label %scend52
scend52:
%t133 = load i32, ptr %t116
%t134 = icmp ne i32 %t133, 0
br i1 %t134, label %then53, label %ifend55
then53:
store i32 1, ptr %retval
br label %ret
ifend55:
store i32 0, ptr %retval
br label %ret
ret:
%t135 = load i32, ptr %retval
ret i32 %t135
}
define ptr @fn_emit_intrinsic2(ptr %arg_name, ptr %arg_e) {
entry:
%retval = alloca ptr
%t0 = alloca ptr
%t1 = alloca ptr
%t7 = alloca ptr
%t15 = alloca ptr
%t18 = alloca ptr
%t21 = alloca ptr
%t26 = alloca ptr
%t36 = alloca ptr
%t39 = alloca ptr
%t41 = alloca ptr
%t63 = alloca ptr
%t79 = alloca ptr
%t110 = alloca ptr
%t113 = alloca ptr
%t116 = alloca ptr
%t119 = alloca ptr
%t130 = alloca ptr
%t133 = alloca ptr
%t136 = alloca ptr
%t150 = alloca ptr
%t158 = alloca ptr
%t166 = alloca ptr
%t174 = alloca ptr
%t182 = alloca ptr
%t193 = alloca ptr
%t196 = alloca ptr
%t199 = alloca ptr
%t202 = alloca ptr
%t213 = alloca ptr
%t221 = alloca ptr
%t232 = alloca ptr
%t235 = alloca ptr
%t244 = alloca ptr
%t247 = alloca ptr
store ptr %arg_name, ptr %t0
store ptr %arg_e, ptr %t1
%t2 = load ptr, ptr %t0
%t3 = call i32 @fn_str_eq(ptr %t2, ptr @.str762)
%t4 = icmp ne i32 %t3, 0
br i1 %t4, label %then0, label %ifend2
then0:
%t5 = load ptr, ptr %t1
%t6 = call ptr @fn_arg_code(ptr %t5, i32 0)
store ptr %t6, ptr %t7
call void @fn_emit(ptr @.str763)
%t8 = load ptr, ptr %t7
call void @fn_emit(ptr %t8)
call void @fn_emit(ptr @.str764)
%t9 = call ptr @fn_val(ptr @.str765, ptr @.str766)
store ptr %t9, ptr %retval
br label %ret
ifend2:
%t10 = load ptr, ptr %t0
%t11 = call i32 @fn_str_eq(ptr %t10, ptr @.str767)
%t12 = icmp ne i32 %t11, 0
br i1 %t12, label %then3, label %ifend5
then3:
%t13 = load ptr, ptr %t1
%t14 = call ptr @fn_arg_code(ptr %t13, i32 0)
store ptr %t14, ptr %t15
%t16 = load ptr, ptr %t1
%t17 = call ptr @fn_arg_code(ptr %t16, i32 1)
store ptr %t17, ptr %t18
%t19 = load ptr, ptr %t1
%t20 = call ptr @fn_arg_code(ptr %t19, i32 2)
store ptr %t20, ptr %t21
%t22 = load ptr, ptr %t21
%t23 = call ptr @fn_str_concat(ptr @.str768, ptr %t22)
%t24 = call ptr @fn_str_concat(ptr %t23, ptr @.str769)
%t25 = call ptr @fn_emit_bind(ptr %t24)
store ptr %t25, ptr %t26
call void @fn_emit(ptr @.str770)
%t27 = load ptr, ptr %t15
call void @fn_emit(ptr %t27)
call void @fn_emit(ptr @.str771)
%t28 = load ptr, ptr %t18
call void @fn_emit(ptr %t28)
call void @fn_emit(ptr @.str772)
%t29 = load ptr, ptr %t26
call void @fn_emit(ptr %t29)
call void @fn_emit(ptr @.str773)
%t30 = call ptr @fn_val(ptr @.str774, ptr @.str775)
store ptr %t30, ptr %retval
br label %ret
ifend5:
%t31 = load ptr, ptr %t0
%t32 = call i32 @fn_str_eq(ptr %t31, ptr @.str776)
%t33 = icmp ne i32 %t32, 0
br i1 %t33, label %then6, label %ifend8
then6:
%t34 = load ptr, ptr %t1
%t35 = call ptr @fn_arg_code(ptr %t34, i32 0)
store ptr %t35, ptr %t36
%t37 = load ptr, ptr %t1
%t38 = call ptr @fn_arg_code(ptr %t37, i32 1)
store ptr %t38, ptr %t39
%t40 = call ptr @fn_nreg()
store ptr %t40, ptr %t41
call void @fn_emit(ptr @.str777)
%t42 = load ptr, ptr %t41
call void @fn_emit(ptr %t42)
call void @fn_emit(ptr @.str778)
%t43 = load ptr, ptr %t36
call void @fn_emit(ptr %t43)
call void @fn_emit(ptr @.str779)
%t44 = load ptr, ptr %t39
call void @fn_emit(ptr %t44)
call void @fn_emit(ptr @.str780)
%t45 = load ptr, ptr %t41
%t46 = call ptr @fn_val(ptr %t45, ptr @.str781)
store ptr %t46, ptr %retval
br label %ret
ifend8:
%t47 = load ptr, ptr %t0
%t48 = call i32 @fn_str_eq(ptr %t47, ptr @.str782)
%t49 = icmp ne i32 %t48, 0
br i1 %t49, label %then9, label %ifend11
then9:
%t50 = call ptr @fn_emit_bind(ptr @.str783)
%t51 = call ptr @fn_val(ptr %t50, ptr @.str784)
store ptr %t51, ptr %retval
br label %ret
ifend11:
%t52 = load ptr, ptr %t0
%t53 = call i32 @fn_str_eq(ptr %t52, ptr @.str785)
%t54 = icmp ne i32 %t53, 0
br i1 %t54, label %then12, label %ifend14
then12:
%t55 = load ptr, ptr %t1
%t56 = getelementptr inbounds %Cmp_Node, ptr %t55, i32 0, i32 7
%t57 = load ptr, ptr %t56
%t58 = getelementptr inbounds %LSlice, ptr %t57, i32 0, i32 0
%t59 = load ptr, ptr %t58
%t60 = getelementptr inbounds ptr, ptr %t59, i32 0
%t61 = load ptr, ptr %t60
%t62 = call ptr @fn_emit_expr(ptr %t61)
store ptr %t62, ptr %t63
%t64 = load ptr, ptr %t63
%t65 = getelementptr inbounds %Cmp_Val, ptr %t64, i32 0, i32 0
%t66 = load ptr, ptr %t65
%t67 = call ptr @fn_val(ptr %t66, ptr @.str786)
store ptr %t67, ptr %retval
br label %ret
ifend14:
%t68 = load ptr, ptr %t0
%t69 = call i32 @fn_str_eq(ptr %t68, ptr @.str787)
%t70 = icmp ne i32 %t69, 0
br i1 %t70, label %then15, label %ifend17
then15:
%t71 = load ptr, ptr %t1
%t72 = getelementptr inbounds %Cmp_Node, ptr %t71, i32 0, i32 7
%t73 = load ptr, ptr %t72
%t74 = getelementptr inbounds %LSlice, ptr %t73, i32 0, i32 0
%t75 = load ptr, ptr %t74
%t76 = getelementptr inbounds ptr, ptr %t75, i32 0
%t77 = load ptr, ptr %t76
%t78 = call ptr @fn_emit_expr(ptr %t77)
store ptr %t78, ptr %t79
%t80 = load ptr, ptr %t79
%t81 = getelementptr inbounds %Cmp_Val, ptr %t80, i32 0, i32 0
%t82 = load ptr, ptr %t81
%t83 = call ptr @fn_val(ptr %t82, ptr @.str788)
store ptr %t83, ptr %retval
br label %ret
ifend17:
%t84 = load ptr, ptr %t0
%t85 = call i32 @fn_str_eq(ptr %t84, ptr @.str789)
%t86 = icmp ne i32 %t85, 0
br i1 %t86, label %then18, label %ifend20
then18:
%t87 = load i32, ptr @g_g_windowed
%t88 = icmp ne i32 %t87, 0
br i1 %t88, label %then21, label %ifend23
then21:
%t89 = call ptr @fn_val(ptr @.str790, ptr @.str791)
store ptr %t89, ptr %retval
br label %ret
ifend23:
%t90 = call ptr @fn_val(ptr @.str792, ptr @.str793)
store ptr %t90, ptr %retval
br label %ret
ifend20:
%t91 = load ptr, ptr %t0
%t92 = call i32 @fn_str_eq(ptr %t91, ptr @.str794)
%t93 = icmp ne i32 %t92, 0
br i1 %t93, label %then24, label %ifend26
then24:
%t94 = call ptr @fn_val(ptr @.str795, ptr @.str796)
store ptr %t94, ptr %retval
br label %ret
ifend26:
%t95 = load ptr, ptr %t0
%t96 = call i32 @fn_str_eq(ptr %t95, ptr @.str797)
%t97 = icmp ne i32 %t96, 0
br i1 %t97, label %then27, label %ifend29
then27:
%t98 = call ptr @fn_emit_bind(ptr @.str798)
%t99 = call ptr @fn_val(ptr %t98, ptr @.str799)
store ptr %t99, ptr %retval
br label %ret
ifend29:
%t100 = load ptr, ptr %t0
%t101 = call i32 @fn_str_eq(ptr %t100, ptr @.str800)
%t102 = icmp ne i32 %t101, 0
br i1 %t102, label %then30, label %ifend32
then30:
%t103 = call ptr @fn_emit_bind(ptr @.str801)
%t104 = call ptr @fn_val(ptr %t103, ptr @.str802)
store ptr %t104, ptr %retval
br label %ret
ifend32:
%t105 = load ptr, ptr %t0
%t106 = call i32 @fn_str_eq(ptr %t105, ptr @.str803)
%t107 = icmp ne i32 %t106, 0
br i1 %t107, label %then33, label %ifend35
then33:
%t108 = load ptr, ptr %t1
%t109 = call ptr @fn_arg_code(ptr %t108, i32 0)
store ptr %t109, ptr %t110
%t111 = load ptr, ptr %t1
%t112 = call ptr @fn_arg_code(ptr %t111, i32 1)
store ptr %t112, ptr %t113
%t114 = load ptr, ptr %t1
%t115 = call ptr @fn_arg_code(ptr %t114, i32 2)
store ptr %t115, ptr %t116
%t117 = load ptr, ptr %t1
%t118 = call ptr @fn_arg_code(ptr %t117, i32 3)
store ptr %t118, ptr %t119
call void @fn_emit(ptr @.str804)
%t120 = load ptr, ptr %t110
call void @fn_emit(ptr %t120)
call void @fn_emit(ptr @.str805)
%t121 = load ptr, ptr %t113
call void @fn_emit(ptr %t121)
call void @fn_emit(ptr @.str806)
%t122 = load ptr, ptr %t116
call void @fn_emit(ptr %t122)
call void @fn_emit(ptr @.str807)
%t123 = load ptr, ptr %t119
call void @fn_emit(ptr %t123)
call void @fn_emit(ptr @.str808)
%t124 = call ptr @fn_val(ptr @.str809, ptr @.str810)
store ptr %t124, ptr %retval
br label %ret
ifend35:
%t125 = load ptr, ptr %t0
%t126 = call i32 @fn_str_eq(ptr %t125, ptr @.str811)
%t127 = icmp ne i32 %t126, 0
br i1 %t127, label %then36, label %ifend38
then36:
%t128 = load ptr, ptr %t1
%t129 = call ptr @fn_arg_code(ptr %t128, i32 0)
store ptr %t129, ptr %t130
%t131 = load ptr, ptr %t1
%t132 = call ptr @fn_arg_code(ptr %t131, i32 1)
store ptr %t132, ptr %t133
%t134 = load ptr, ptr %t1
%t135 = call ptr @fn_arg_code(ptr %t134, i32 2)
store ptr %t135, ptr %t136
call void @fn_emit(ptr @.str812)
%t137 = load ptr, ptr %t130
call void @fn_emit(ptr %t137)
call void @fn_emit(ptr @.str813)
%t138 = load ptr, ptr %t133
call void @fn_emit(ptr %t138)
call void @fn_emit(ptr @.str814)
%t139 = load ptr, ptr %t136
call void @fn_emit(ptr %t139)
call void @fn_emit(ptr @.str815)
%t140 = call ptr @fn_val(ptr @.str816, ptr @.str817)
store ptr %t140, ptr %retval
br label %ret
ifend38:
%t141 = load ptr, ptr %t0
%t142 = call i32 @fn_str_eq(ptr %t141, ptr @.str818)
%t143 = icmp ne i32 %t142, 0
br i1 %t143, label %then39, label %ifend41
then39:
call void @fn_emit(ptr @.str819)
%t144 = call ptr @fn_val(ptr @.str820, ptr @.str821)
store ptr %t144, ptr %retval
br label %ret
ifend41:
%t145 = load ptr, ptr %t0
%t146 = call i32 @fn_str_eq(ptr %t145, ptr @.str822)
%t147 = icmp ne i32 %t146, 0
br i1 %t147, label %then42, label %ifend44
then42:
%t148 = load ptr, ptr %t1
%t149 = call ptr @fn_arg_code(ptr %t148, i32 0)
store ptr %t149, ptr %t150
call void @fn_emit(ptr @.str823)
%t151 = load ptr, ptr %t150
call void @fn_emit(ptr %t151)
call void @fn_emit(ptr @.str824)
%t152 = call ptr @fn_val(ptr @.str825, ptr @.str826)
store ptr %t152, ptr %retval
br label %ret
ifend44:
%t153 = load ptr, ptr %t0
%t154 = call i32 @fn_str_eq(ptr %t153, ptr @.str827)
%t155 = icmp ne i32 %t154, 0
br i1 %t155, label %then45, label %ifend47
then45:
%t156 = load ptr, ptr %t1
%t157 = call ptr @fn_arg_code(ptr %t156, i32 0)
store ptr %t157, ptr %t158
call void @fn_emit(ptr @.str828)
%t159 = load ptr, ptr %t158
call void @fn_emit(ptr %t159)
call void @fn_emit(ptr @.str829)
%t160 = call ptr @fn_val(ptr @.str830, ptr @.str831)
store ptr %t160, ptr %retval
br label %ret
ifend47:
%t161 = load ptr, ptr %t0
%t162 = call i32 @fn_str_eq(ptr %t161, ptr @.str832)
%t163 = icmp ne i32 %t162, 0
br i1 %t163, label %then48, label %ifend50
then48:
%t164 = load ptr, ptr %t1
%t165 = call ptr @fn_arg_code(ptr %t164, i32 0)
store ptr %t165, ptr %t166
call void @fn_emit(ptr @.str833)
%t167 = load ptr, ptr %t166
call void @fn_emit(ptr %t167)
call void @fn_emit(ptr @.str834)
%t168 = call ptr @fn_val(ptr @.str835, ptr @.str836)
store ptr %t168, ptr %retval
br label %ret
ifend50:
%t169 = load ptr, ptr %t0
%t170 = call i32 @fn_str_eq(ptr %t169, ptr @.str837)
%t171 = icmp ne i32 %t170, 0
br i1 %t171, label %then51, label %ifend53
then51:
%t172 = load ptr, ptr %t1
%t173 = call ptr @fn_arg_code(ptr %t172, i32 0)
store ptr %t173, ptr %t174
call void @fn_emit(ptr @.str838)
%t175 = load ptr, ptr %t174
call void @fn_emit(ptr %t175)
call void @fn_emit(ptr @.str839)
%t176 = call ptr @fn_val(ptr @.str840, ptr @.str841)
store ptr %t176, ptr %retval
br label %ret
ifend53:
%t177 = load ptr, ptr %t0
%t178 = call i32 @fn_str_eq(ptr %t177, ptr @.str842)
%t179 = icmp ne i32 %t178, 0
br i1 %t179, label %then54, label %ifend56
then54:
%t180 = load ptr, ptr %t1
%t181 = call ptr @fn_arg_code(ptr %t180, i32 0)
store ptr %t181, ptr %t182
%t183 = load ptr, ptr %t182
%t184 = call ptr @fn_str_concat(ptr @.str843, ptr %t183)
%t185 = call ptr @fn_str_concat(ptr %t184, ptr @.str844)
%t186 = call ptr @fn_emit_bind(ptr %t185)
%t187 = call ptr @fn_val(ptr %t186, ptr @.str845)
store ptr %t187, ptr %retval
br label %ret
ifend56:
%t188 = load ptr, ptr %t0
%t189 = call i32 @fn_str_eq(ptr %t188, ptr @.str846)
%t190 = icmp ne i32 %t189, 0
br i1 %t190, label %then57, label %ifend59
then57:
%t191 = load ptr, ptr %t1
%t192 = call ptr @fn_arg_code(ptr %t191, i32 0)
store ptr %t192, ptr %t193
%t194 = load ptr, ptr %t1
%t195 = call ptr @fn_arg_code(ptr %t194, i32 1)
store ptr %t195, ptr %t196
%t197 = load ptr, ptr %t1
%t198 = call ptr @fn_arg_code(ptr %t197, i32 2)
store ptr %t198, ptr %t199
%t200 = load ptr, ptr %t1
%t201 = call ptr @fn_arg_code(ptr %t200, i32 3)
store ptr %t201, ptr %t202
call void @fn_emit(ptr @.str847)
%t203 = load ptr, ptr %t193
call void @fn_emit(ptr %t203)
call void @fn_emit(ptr @.str848)
%t204 = load ptr, ptr %t196
call void @fn_emit(ptr %t204)
call void @fn_emit(ptr @.str849)
%t205 = load ptr, ptr %t199
call void @fn_emit(ptr %t205)
call void @fn_emit(ptr @.str850)
%t206 = load ptr, ptr %t202
call void @fn_emit(ptr %t206)
call void @fn_emit(ptr @.str851)
%t207 = call ptr @fn_val(ptr @.str852, ptr @.str853)
store ptr %t207, ptr %retval
br label %ret
ifend59:
%t208 = load ptr, ptr %t0
%t209 = call i32 @fn_str_eq(ptr %t208, ptr @.str854)
%t210 = icmp ne i32 %t209, 0
br i1 %t210, label %then60, label %ifend62
then60:
%t211 = load ptr, ptr %t1
%t212 = call ptr @fn_arg_code(ptr %t211, i32 0)
store ptr %t212, ptr %t213
call void @fn_emit(ptr @.str855)
%t214 = load ptr, ptr %t213
call void @fn_emit(ptr %t214)
call void @fn_emit(ptr @.str856)
%t215 = call ptr @fn_val(ptr @.str857, ptr @.str858)
store ptr %t215, ptr %retval
br label %ret
ifend62:
%t216 = load ptr, ptr %t0
%t217 = call i32 @fn_str_eq(ptr %t216, ptr @.str859)
%t218 = icmp ne i32 %t217, 0
br i1 %t218, label %then63, label %ifend65
then63:
%t219 = load ptr, ptr %t1
%t220 = call ptr @fn_arg_code(ptr %t219, i32 0)
store ptr %t220, ptr %t221
%t222 = load ptr, ptr %t221
%t223 = call ptr @fn_str_concat(ptr @.str860, ptr %t222)
%t224 = call ptr @fn_str_concat(ptr %t223, ptr @.str861)
%t225 = call ptr @fn_emit_bind(ptr %t224)
%t226 = call ptr @fn_val(ptr %t225, ptr @.str862)
store ptr %t226, ptr %retval
br label %ret
ifend65:
%t227 = load ptr, ptr %t0
%t228 = call i32 @fn_str_eq(ptr %t227, ptr @.str863)
%t229 = icmp ne i32 %t228, 0
br i1 %t229, label %then66, label %ifend68
then66:
%t230 = load ptr, ptr %t1
%t231 = call ptr @fn_arg_code(ptr %t230, i32 0)
store ptr %t231, ptr %t232
%t233 = load ptr, ptr %t1
%t234 = call ptr @fn_arg_code(ptr %t233, i32 1)
store ptr %t234, ptr %t235
call void @fn_emit(ptr @.str864)
%t236 = load ptr, ptr %t232
call void @fn_emit(ptr %t236)
call void @fn_emit(ptr @.str865)
%t237 = load ptr, ptr %t235
call void @fn_emit(ptr %t237)
call void @fn_emit(ptr @.str866)
%t238 = call ptr @fn_val(ptr @.str867, ptr @.str868)
store ptr %t238, ptr %retval
br label %ret
ifend68:
%t239 = load ptr, ptr %t0
%t240 = call i32 @fn_str_eq(ptr %t239, ptr @.str869)
%t241 = icmp ne i32 %t240, 0
br i1 %t241, label %then69, label %ifend71
then69:
%t242 = load ptr, ptr %t1
%t243 = call ptr @fn_arg_code(ptr %t242, i32 0)
store ptr %t243, ptr %t244
%t245 = load ptr, ptr %t1
%t246 = call ptr @fn_arg_code(ptr %t245, i32 1)
store ptr %t246, ptr %t247
call void @fn_emit(ptr @.str870)
%t248 = load ptr, ptr %t244
call void @fn_emit(ptr %t248)
call void @fn_emit(ptr @.str871)
%t249 = load ptr, ptr %t247
call void @fn_emit(ptr %t249)
call void @fn_emit(ptr @.str872)
%t250 = call ptr @fn_val(ptr @.str873, ptr @.str874)
store ptr %t250, ptr %retval
br label %ret
ifend71:
%t251 = call ptr @fn_val(ptr @.str875, ptr @.str876)
store ptr %t251, ptr %retval
br label %ret
ret:
%t252 = load ptr, ptr %retval
ret ptr %t252
}
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 @fn_str_eq(ptr %t4, ptr @.str877)
%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 @fn_str_eq(ptr %t8, ptr @.str878)
%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 @fn_str_eq(ptr %t15, ptr @.str879)
%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 @fn_str_eq(ptr %t22, ptr @.str880)
%t24 = icmp ne i32 %t23, 0
%t25 = zext i1 %t24 to i32
store i32 %t25, ptr %t1
br label %scend5
scend5:
%t26 = load i32, ptr %t1
store i32 %t26, ptr %retval
br label %ret
ret:
%t27 = load i32, ptr %retval
ret i32 %t27
}
define ptr @fn_emit_math_builtin(ptr %arg_name, ptr %arg_e) {
entry:
%retval = alloca ptr
%t0 = alloca ptr
%t1 = alloca ptr
%t13 = alloca ptr
%t20 = alloca ptr
%t26 = alloca ptr
%t42 = alloca i32
%t61 = alloca ptr
%t70 = alloca ptr
%t71 = alloca ptr
%t88 = alloca ptr
%t114 = alloca ptr
%t123 = alloca ptr
%t132 = alloca ptr
%t143 = alloca ptr
%t157 = alloca ptr
%t166 = alloca ptr
store ptr %arg_name, ptr %t0
store ptr %arg_e, ptr %t1
%t2 = load ptr, ptr %t0
%t3 = call i32 @fn_str_eq(ptr %t2, ptr @.str881)
%t4 = icmp ne i32 %t3, 0
br i1 %t4, label %then0, label %ifend2
then0:
%t5 = load ptr, ptr %t1
%t6 = getelementptr inbounds %Cmp_Node, ptr %t5, i32 0, i32 7
%t7 = load ptr, ptr %t6
%t8 = getelementptr inbounds %LSlice, ptr %t7, i32 0, i32 0
%t9 = load ptr, ptr %t8
%t10 = getelementptr inbounds ptr, ptr %t9, i32 0
%t11 = load ptr, ptr %t10
%t12 = call ptr @fn_emit_expr(ptr %t11)
store ptr %t12, ptr %t13
%t14 = load ptr, ptr %t13
%t15 = getelementptr inbounds %Cmp_Val, ptr %t14, i32 0, i32 0
%t16 = load ptr, ptr %t15
%t17 = call ptr @fn_str_concat(ptr @.str882, ptr %t16)
%t18 = call ptr @fn_str_concat(ptr %t17, ptr @.str883)
%t19 = call ptr @fn_emit_bind(ptr %t18)
store ptr %t19, ptr %t20
%t21 = load ptr, ptr %t13
%t22 = getelementptr inbounds %Cmp_Val, ptr %t21, i32 0, i32 0
%t23 = load ptr, ptr %t22
%t24 = call ptr @fn_str_concat(ptr @.str884, ptr %t23)
%t25 = call ptr @fn_emit_bind(ptr %t24)
store ptr %t25, ptr %t26
%t27 = load ptr, ptr %t20
%t28 = call ptr @fn_str_concat(ptr @.str885, ptr %t27)
%t29 = call ptr @fn_str_concat(ptr %t28, ptr @.str886)
%t30 = load ptr, ptr %t26
%t31 = call ptr @fn_str_concat(ptr %t29, ptr %t30)
%t32 = call ptr @fn_str_concat(ptr %t31, ptr @.str887)
%t33 = load ptr, ptr %t13
%t34 = getelementptr inbounds %Cmp_Val, ptr %t33, i32 0, i32 0
%t35 = load ptr, ptr %t34
%t36 = call ptr @fn_str_concat(ptr %t32, ptr %t35)
%t37 = call ptr @fn_emit_bind(ptr %t36)
%t38 = load ptr, ptr %t13
%t39 = getelementptr inbounds %Cmp_Val, ptr %t38, i32 0, i32 1
%t40 = load ptr, ptr %t39
%t41 = call ptr @fn_val(ptr %t37, ptr %t40)
store ptr %t41, ptr %retval
br label %ret
ifend2:
%t43 = load ptr, ptr %t0
%t44 = call i32 @fn_str_eq(ptr %t43, ptr @.str888)
%t45 = icmp ne i32 %t44, 0
%t46 = zext i1 %t45 to i32
store i32 %t46, ptr %t42
br i1 %t45, label %scend4, label %sc3
sc3:
%t47 = load ptr, ptr %t0
%t48 = call i32 @fn_str_eq(ptr %t47, ptr @.str889)
%t49 = icmp ne i32 %t48, 0
%t50 = zext i1 %t49 to i32
store i32 %t50, ptr %t42
br label %scend4
scend4:
%t51 = load i32, ptr %t42
%t52 = icmp ne i32 %t51, 0
br i1 %t52, label %then5, label %ifend7
then5:
%t53 = load ptr, ptr %t1
%t54 = getelementptr inbounds %Cmp_Node, ptr %t53, i32 0, i32 7
%t55 = load ptr, ptr %t54
%t56 = getelementptr inbounds %LSlice, ptr %t55, i32 0, i32 0
%t57 = load ptr, ptr %t56
%t58 = getelementptr inbounds ptr, ptr %t57, i32 0
%t59 = load ptr, ptr %t58
%t60 = call ptr @fn_emit_expr(ptr %t59)
store ptr %t60, ptr %t61
%t62 = load ptr, ptr %t1
%t63 = getelementptr inbounds %Cmp_Node, ptr %t62, i32 0, i32 7
%t64 = load ptr, ptr %t63
%t65 = getelementptr inbounds %LSlice, ptr %t64, i32 0, i32 0
%t66 = load ptr, ptr %t65
%t67 = getelementptr inbounds ptr, ptr %t66, i32 1
%t68 = load ptr, ptr %t67
%t69 = call ptr @fn_emit_expr(ptr %t68)
store ptr %t69, ptr %t70
store ptr @.str890, ptr %t71
%t72 = load ptr, ptr %t0
%t73 = call i32 @fn_str_eq(ptr %t72, ptr @.str891)
%t74 = icmp ne i32 %t73, 0
br i1 %t74, label %then8, label %ifend10
then8:
store ptr @.str892, ptr %t71
br label %ifend10
ifend10:
%t75 = load ptr, ptr %t71
%t76 = call ptr @fn_str_concat(ptr @.str893, ptr %t75)
%t77 = call ptr @fn_str_concat(ptr %t76, ptr @.str894)
%t78 = load ptr, ptr %t61
%t79 = getelementptr inbounds %Cmp_Val, ptr %t78, i32 0, i32 0
%t80 = load ptr, ptr %t79
%t81 = call ptr @fn_str_concat(ptr %t77, ptr %t80)
%t82 = call ptr @fn_str_concat(ptr %t81, ptr @.str895)
%t83 = load ptr, ptr %t70
%t84 = getelementptr inbounds %Cmp_Val, ptr %t83, i32 0, i32 0
%t85 = load ptr, ptr %t84
%t86 = call ptr @fn_str_concat(ptr %t82, ptr %t85)
%t87 = call ptr @fn_emit_bind(ptr %t86)
store ptr %t87, ptr %t88
%t89 = load ptr, ptr %t88
%t90 = call ptr @fn_str_concat(ptr @.str896, ptr %t89)
%t91 = call ptr @fn_str_concat(ptr %t90, ptr @.str897)
%t92 = load ptr, ptr %t61
%t93 = getelementptr inbounds %Cmp_Val, ptr %t92, i32 0, i32 0
%t94 = load ptr, ptr %t93
%t95 = call ptr @fn_str_concat(ptr %t91, ptr %t94)
%t96 = call ptr @fn_str_concat(ptr %t95, ptr @.str898)
%t97 = load ptr, ptr %t70
%t98 = getelementptr inbounds %Cmp_Val, ptr %t97, i32 0, i32 0
%t99 = load ptr, ptr %t98
%t100 = call ptr @fn_str_concat(ptr %t96, ptr %t99)
%t101 = call ptr @fn_emit_bind(ptr %t100)
%t102 = load ptr, ptr %t61
%t103 = getelementptr inbounds %Cmp_Val, ptr %t102, i32 0, i32 1
%t104 = load ptr, ptr %t103
%t105 = call ptr @fn_val(ptr %t101, ptr %t104)
store ptr %t105, ptr %retval
br label %ret
ifend7:
%t106 = load ptr, ptr %t1
%t107 = getelementptr inbounds %Cmp_Node, ptr %t106, i32 0, i32 7
%t108 = load ptr, ptr %t107
%t109 = getelementptr inbounds %LSlice, ptr %t108, i32 0, i32 0
%t110 = load ptr, ptr %t109
%t111 = getelementptr inbounds ptr, ptr %t110, i32 0
%t112 = load ptr, ptr %t111
%t113 = call ptr @fn_emit_expr(ptr %t112)
store ptr %t113, ptr %t114
%t115 = load ptr, ptr %t1
%t116 = getelementptr inbounds %Cmp_Node, ptr %t115, i32 0, i32 7
%t117 = load ptr, ptr %t116
%t118 = getelementptr inbounds %LSlice, ptr %t117, i32 0, i32 0
%t119 = load ptr, ptr %t118
%t120 = getelementptr inbounds ptr, ptr %t119, i32 1
%t121 = load ptr, ptr %t120
%t122 = call ptr @fn_emit_expr(ptr %t121)
store ptr %t122, ptr %t123
%t124 = load ptr, ptr %t1
%t125 = getelementptr inbounds %Cmp_Node, ptr %t124, i32 0, i32 7
%t126 = load ptr, ptr %t125
%t127 = getelementptr inbounds %LSlice, ptr %t126, i32 0, i32 0
%t128 = load ptr, ptr %t127
%t129 = getelementptr inbounds ptr, ptr %t128, i32 2
%t130 = load ptr, ptr %t129
%t131 = call ptr @fn_emit_expr(ptr %t130)
store ptr %t131, ptr %t132
%t133 = load ptr, ptr %t114
%t134 = getelementptr inbounds %Cmp_Val, ptr %t133, i32 0, i32 0
%t135 = load ptr, ptr %t134
%t136 = call ptr @fn_str_concat(ptr @.str899, ptr %t135)
%t137 = call ptr @fn_str_concat(ptr %t136, ptr @.str900)
%t138 = load ptr, ptr %t132
%t139 = getelementptr inbounds %Cmp_Val, ptr %t138, i32 0, i32 0
%t140 = load ptr, ptr %t139
%t141 = call ptr @fn_str_concat(ptr %t137, ptr %t140)
%t142 = call ptr @fn_emit_bind(ptr %t141)
store ptr %t142, ptr %t143
%t144 = load ptr, ptr %t143
%t145 = call ptr @fn_str_concat(ptr @.str901, ptr %t144)
%t146 = call ptr @fn_str_concat(ptr %t145, ptr @.str902)
%t147 = load ptr, ptr %t114
%t148 = getelementptr inbounds %Cmp_Val, ptr %t147, i32 0, i32 0
%t149 = load ptr, ptr %t148
%t150 = call ptr @fn_str_concat(ptr %t146, ptr %t149)
%t151 = call ptr @fn_str_concat(ptr %t150, ptr @.str903)
%t152 = load ptr, ptr %t132
%t153 = getelementptr inbounds %Cmp_Val, ptr %t152, i32 0, i32 0
%t154 = load ptr, ptr %t153
%t155 = call ptr @fn_str_concat(ptr %t151, ptr %t154)
%t156 = call ptr @fn_emit_bind(ptr %t155)
store ptr %t156, ptr %t157
%t158 = load ptr, ptr %t123
%t159 = getelementptr inbounds %Cmp_Val, ptr %t158, i32 0, i32 0
%t160 = load ptr, ptr %t159
%t161 = call ptr @fn_str_concat(ptr @.str904, ptr %t160)
%t162 = call ptr @fn_str_concat(ptr %t161, ptr @.str905)
%t163 = load ptr, ptr %t157
%t164 = call ptr @fn_str_concat(ptr %t162, ptr %t163)
%t165 = call ptr @fn_emit_bind(ptr %t164)
store ptr %t165, ptr %t166
%t167 = load ptr, ptr %t166
%t168 = call ptr @fn_str_concat(ptr @.str906, ptr %t167)
%t169 = call ptr @fn_str_concat(ptr %t168, ptr @.str907)
%t170 = load ptr, ptr %t123
%t171 = getelementptr inbounds %Cmp_Val, ptr %t170, i32 0, i32 0
%t172 = load ptr, ptr %t171
%t173 = call ptr @fn_str_concat(ptr %t169, ptr %t172)
%t174 = call ptr @fn_str_concat(ptr %t173, ptr @.str908)
%t175 = load ptr, ptr %t157
%t176 = call ptr @fn_str_concat(ptr %t174, ptr %t175)
%t177 = call ptr @fn_emit_bind(ptr %t176)
%t178 = load ptr, ptr %t114
%t179 = getelementptr inbounds %Cmp_Val, ptr %t178, i32 0, i32 1
%t180 = load ptr, ptr %t179
%t181 = call ptr @fn_val(ptr %t177, ptr %t180)
store ptr %t181, ptr %retval
br label %ret
ret:
%t182 = load ptr, ptr %retval
ret ptr %t182
}
define ptr @fn_fx_mul_code(ptr %arg_a, ptr %arg_b) {
entry:
%retval = alloca ptr
%t0 = alloca ptr
%t1 = alloca ptr
%t6 = alloca ptr
%t11 = alloca ptr
%t18 = alloca ptr
%t23 = alloca ptr
store ptr %arg_a, ptr %t0
store ptr %arg_b, ptr %t1
%t2 = load ptr, ptr %t0
%t3 = call ptr @fn_str_concat(ptr @.str909, ptr %t2)
%t4 = call ptr @fn_str_concat(ptr %t3, ptr @.str910)
%t5 = call ptr @fn_emit_bind(ptr %t4)
store ptr %t5, ptr %t6
%t7 = load ptr, ptr %t1
%t8 = call ptr @fn_str_concat(ptr @.str911, ptr %t7)
%t9 = call ptr @fn_str_concat(ptr %t8, ptr @.str912)
%t10 = call ptr @fn_emit_bind(ptr %t9)
store ptr %t10, ptr %t11
%t12 = load ptr, ptr %t6
%t13 = call ptr @fn_str_concat(ptr @.str913, ptr %t12)
%t14 = call ptr @fn_str_concat(ptr %t13, ptr @.str914)
%t15 = load ptr, ptr %t11
%t16 = call ptr @fn_str_concat(ptr %t14, ptr %t15)
%t17 = call ptr @fn_emit_bind(ptr %t16)
store ptr %t17, ptr %t18
%t19 = load ptr, ptr %t18
%t20 = call ptr @fn_str_concat(ptr @.str915, ptr %t19)
%t21 = call ptr @fn_str_concat(ptr %t20, ptr @.str916)
%t22 = call ptr @fn_emit_bind(ptr %t21)
store ptr %t22, ptr %t23
%t24 = load ptr, ptr %t23
%t25 = call ptr @fn_str_concat(ptr @.str917, ptr %t24)
%t26 = call ptr @fn_str_concat(ptr %t25, ptr @.str918)
%t27 = call ptr @fn_emit_bind(ptr %t26)
store ptr %t27, ptr %retval
br label %ret
ret:
%t28 = load ptr, ptr %retval
ret ptr %t28
}
define ptr @fn_fx_div_code(ptr %arg_a, ptr %arg_b) {
entry:
%retval = alloca ptr
%t0 = alloca ptr
%t1 = alloca ptr
%t6 = alloca ptr
%t11 = alloca ptr
%t16 = alloca ptr
%t23 = alloca ptr
store ptr %arg_a, ptr %t0
store ptr %arg_b, ptr %t1
%t2 = load ptr, ptr %t0
%t3 = call ptr @fn_str_concat(ptr @.str919, ptr %t2)
%t4 = call ptr @fn_str_concat(ptr %t3, ptr @.str920)
%t5 = call ptr @fn_emit_bind(ptr %t4)
store ptr %t5, ptr %t6
%t7 = load ptr, ptr %t6
%t8 = call ptr @fn_str_concat(ptr @.str921, ptr %t7)
%t9 = call ptr @fn_str_concat(ptr %t8, ptr @.str922)
%t10 = call ptr @fn_emit_bind(ptr %t9)
store ptr %t10, ptr %t11
%t12 = load ptr, ptr %t1
%t13 = call ptr @fn_str_concat(ptr @.str923, ptr %t12)
%t14 = call ptr @fn_str_concat(ptr %t13, ptr @.str924)
%t15 = call ptr @fn_emit_bind(ptr %t14)
store ptr %t15, ptr %t16
%t17 = load ptr, ptr %t11
%t18 = call ptr @fn_str_concat(ptr @.str925, ptr %t17)
%t19 = call ptr @fn_str_concat(ptr %t18, ptr @.str926)
%t20 = load ptr, ptr %t16
%t21 = call ptr @fn_str_concat(ptr %t19, ptr %t20)
%t22 = call ptr @fn_emit_bind(ptr %t21)
store ptr %t22, ptr %t23
%t24 = load ptr, ptr %t23
%t25 = call ptr @fn_str_concat(ptr @.str927, ptr %t24)
%t26 = call ptr @fn_str_concat(ptr %t25, ptr @.str928)
%t27 = call ptr @fn_emit_bind(ptr %t26)
store ptr %t27, ptr %retval
br label %ret
ret:
%t28 = load ptr, ptr %retval
ret ptr %t28
}
define ptr @fn_fx_lerp_code(ptr %arg_a, ptr %arg_b, ptr %arg_t) {
entry:
%retval = alloca ptr
%t0 = alloca ptr
%t1 = alloca ptr
%t2 = alloca ptr
%t9 = alloca ptr
%t13 = alloca ptr
store ptr %arg_a, ptr %t0
store ptr %arg_b, ptr %t1
store ptr %arg_t, ptr %t2
%t3 = load ptr, ptr %t1
%t4 = call ptr @fn_str_concat(ptr @.str929, ptr %t3)
%t5 = call ptr @fn_str_concat(ptr %t4, ptr @.str930)
%t6 = load ptr, ptr %t0
%t7 = call ptr @fn_str_concat(ptr %t5, ptr %t6)
%t8 = call ptr @fn_emit_bind(ptr %t7)
store ptr %t8, ptr %t9
%t10 = load ptr, ptr %t9
%t11 = load ptr, ptr %t2
%t12 = call ptr @fn_fx_mul_code(ptr %t10, ptr %t11)
store ptr %t12, ptr %t13
%t14 = load ptr, ptr %t0
%t15 = call ptr @fn_str_concat(ptr @.str931, ptr %t14)
%t16 = call ptr @fn_str_concat(ptr %t15, ptr @.str932)
%t17 = load ptr, ptr %t13
%t18 = call ptr @fn_str_concat(ptr %t16, ptr %t17)
%t19 = call ptr @fn_emit_bind(ptr %t18)
store ptr %t19, ptr %retval
br label %ret
ret:
%t20 = load ptr, ptr %retval
ret ptr %t20
}
define ptr @fn_fx_inv_lerp_code(ptr %arg_a, ptr %arg_b, ptr %arg_v) {
entry:
%retval = alloca ptr
%t0 = alloca ptr
%t1 = alloca ptr
%t2 = alloca ptr
%t9 = alloca ptr
%t16 = alloca ptr
store ptr %arg_a, ptr %t0
store ptr %arg_b, ptr %t1
store ptr %arg_v, ptr %t2
%t3 = load ptr, ptr %t2
%t4 = call ptr @fn_str_concat(ptr @.str933, ptr %t3)
%t5 = call ptr @fn_str_concat(ptr %t4, ptr @.str934)
%t6 = load ptr, ptr %t0
%t7 = call ptr @fn_str_concat(ptr %t5, ptr %t6)
%t8 = call ptr @fn_emit_bind(ptr %t7)
store ptr %t8, ptr %t9
%t10 = load ptr, ptr %t1
%t11 = call ptr @fn_str_concat(ptr @.str935, ptr %t10)
%t12 = call ptr @fn_str_concat(ptr %t11, ptr @.str936)
%t13 = load ptr, ptr %t0
%t14 = call ptr @fn_str_concat(ptr %t12, ptr %t13)
%t15 = call ptr @fn_emit_bind(ptr %t14)
store ptr %t15, ptr %t16
%t17 = load ptr, ptr %t9
%t18 = load ptr, ptr %t16
%t19 = call ptr @fn_fx_div_code(ptr %t17, ptr %t18)
store ptr %t19, ptr %retval
br label %ret
ret:
%t20 = load ptr, ptr %retval
ret ptr %t20
}
define i32 @fn_is_math_ns(ptr %arg_meth) {
entry:
%retval = alloca i32
%t0 = alloca ptr
%t1 = alloca i32
%t2 = alloca i32
%t3 = alloca i32
%t28 = alloca i32
%t29 = alloca i32
%t30 = alloca i32
%t55 = alloca i32
%t56 = alloca i32
%t74 = alloca i32
%t75 = alloca i32
%t76 = alloca i32
%t77 = alloca i32
%t109 = alloca i32
%t110 = alloca i32
%t128 = alloca i32
%t129 = alloca i32
%t130 = alloca i32
%t155 = alloca i32
%t156 = alloca i32
%t157 = alloca i32
%t182 = alloca i32
%t193 = alloca i32
%t194 = alloca i32
store ptr %arg_meth, ptr %t0
%t4 = load ptr, ptr %t0
%t5 = call i32 @fn_str_eq(ptr %t4, ptr @.str937)
%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 @fn_str_eq(ptr %t8, ptr @.str938)
%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 @fn_str_eq(ptr %t15, ptr @.str939)
%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 @fn_str_eq(ptr %t22, ptr @.str940)
%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 @fn_str_eq(ptr %t31, ptr @.str941)
%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 @fn_str_eq(ptr %t35, ptr @.str942)
%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 @fn_str_eq(ptr %t42, ptr @.str943)
%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 @fn_str_eq(ptr %t49, ptr @.str944)
%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 @fn_str_eq(ptr %t57, ptr @.str945)
%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 @fn_str_eq(ptr %t61, ptr @.str946)
%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 @fn_str_eq(ptr %t68, ptr @.str947)
%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 @fn_str_eq(ptr %t78, ptr @.str948)
%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 @fn_str_eq(ptr %t82, ptr @.str949)
%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 @fn_str_eq(ptr %t89, ptr @.str950)
%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 @fn_str_eq(ptr %t96, ptr @.str951)
%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 @fn_str_eq(ptr %t103, ptr @.str952)
%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 @fn_str_eq(ptr %t111, ptr @.str953)
%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 @fn_str_eq(ptr %t115, ptr @.str954)
%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 @fn_str_eq(ptr %t122, ptr @.str955)
%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 @fn_str_eq(ptr %t131, ptr @.str956)
%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 @fn_str_eq(ptr %t135, ptr @.str957)
%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 @fn_str_eq(ptr %t142, ptr @.str958)
%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 @fn_str_eq(ptr %t149, ptr @.str959)
%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 @fn_str_eq(ptr %t158, ptr @.str960)
%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 @fn_str_eq(ptr %t162, ptr @.str961)
%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 @fn_str_eq(ptr %t169, ptr @.str962)
%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 @fn_str_eq(ptr %t176, ptr @.str963)
%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 @fn_str_eq(ptr %t183, ptr @.str964)
%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 @fn_str_eq(ptr %t187, ptr @.str965)
%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 @fn_str_eq(ptr %t195, ptr @.str966)
%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 @fn_str_eq(ptr %t199, ptr @.str967)
%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 @fn_str_eq(ptr %t206, ptr @.str968)
%t208 = icmp ne i32 %t207, 0
%t209 = zext i1 %t208 to i32
store i32 %t209, ptr %t193
br label %scend69
scend69:
%t210 = load i32, ptr %t193
%t211 = icmp ne i32 %t210, 0
br i1 %t211, label %then70, label %ifend72
then70:
store i32 1, ptr %retval
br label %ret
ifend72:
store i32 0, ptr %retval
br label %ret
ret:
%t212 = load i32, ptr %retval
ret i32 %t212
}
define ptr @fn_emit_math_ns(ptr %arg_meth, ptr %arg_e) {
entry:
%retval = alloca ptr
%t0 = alloca ptr
%t1 = alloca ptr
%t2 = alloca i32
%t3 = alloca i32
%t4 = alloca i32
%t43 = alloca ptr
%t50 = alloca ptr
%t57 = alloca ptr
%t62 = alloca ptr
%t81 = alloca ptr
%t100 = alloca ptr
%t107 = alloca ptr
%t124 = alloca ptr
%t131 = alloca ptr
%t148 = alloca ptr
%t157 = alloca ptr
%t166 = alloca ptr
%t189 = alloca ptr
%t198 = alloca ptr
%t207 = alloca ptr
%t230 = alloca ptr
%t249 = alloca ptr
%t268 = alloca ptr
%t275 = alloca ptr
%t292 = alloca ptr
%t299 = alloca ptr
%t306 = alloca ptr
%t311 = alloca ptr
%t327 = alloca ptr
%t336 = alloca ptr
%t360 = alloca ptr
%t368 = alloca ptr
%t372 = alloca ptr
%t377 = alloca ptr
%t399 = alloca ptr
%t407 = alloca ptr
%t411 = alloca ptr
%t416 = alloca ptr
%t438 = alloca ptr
%t447 = alloca ptr
%t455 = alloca ptr
%t463 = alloca ptr
%t470 = alloca ptr
%t487 = alloca ptr
%t496 = alloca ptr
%t505 = alloca ptr
%t514 = alloca ptr
%t525 = alloca ptr
%t536 = alloca ptr
%t540 = alloca ptr
%t544 = alloca ptr
%t563 = alloca ptr
%t572 = alloca ptr
%t581 = alloca ptr
%t590 = alloca ptr
%t601 = alloca ptr
%t612 = alloca ptr
%t616 = alloca ptr
%t620 = alloca ptr
%t627 = alloca ptr
%t644 = alloca ptr
%t649 = alloca ptr
%t666 = alloca ptr
%t673 = alloca ptr
%t688 = alloca ptr
%t697 = alloca ptr
%t704 = alloca ptr
%t710 = alloca ptr
%t727 = alloca ptr
%t744 = alloca ptr
%t761 = alloca ptr
%t770 = alloca ptr
%t781 = alloca ptr
%t790 = alloca ptr
%t811 = alloca ptr
%t820 = alloca ptr
%t829 = alloca ptr
%t840 = alloca ptr
%t851 = alloca ptr
%t858 = alloca ptr
%t865 = alloca ptr
%t872 = alloca ptr
%t893 = alloca ptr
%t902 = alloca ptr
%t909 = alloca ptr
%t918 = alloca ptr
%t925 = alloca ptr
%t932 = alloca ptr
%t941 = alloca ptr
%t945 = alloca ptr
%t950 = alloca ptr
%t960 = alloca ptr
%t981 = alloca ptr
%t990 = alloca ptr
%t998 = alloca ptr
%t1003 = alloca ptr
%t1008 = alloca ptr
%t1029 = alloca ptr
%t1038 = alloca ptr
%t1047 = alloca ptr
%t1058 = alloca ptr
%t1062 = alloca ptr
%t1067 = alloca ptr
%t1077 = alloca ptr
%t1082 = alloca ptr
%t1087 = alloca ptr
%t1092 = alloca ptr
%t1099 = alloca ptr
%t1108 = alloca ptr
%t1117 = alloca ptr
%t1126 = alloca ptr
%t1150 = alloca ptr
%t1159 = alloca ptr
%t1168 = alloca ptr
%t1179 = alloca ptr
%t1184 = alloca ptr
%t1191 = alloca ptr
%t1196 = alloca ptr
%t1203 = alloca ptr
%t1208 = alloca ptr
%t1212 = alloca ptr
%t1216 = alloca ptr
%t1229 = alloca ptr
%t1238 = alloca ptr
%t1247 = alloca ptr
%t1256 = alloca ptr
%t1265 = alloca ptr
%t1276 = alloca ptr
store ptr %arg_meth, ptr %t0
store ptr %arg_e, ptr %t1
%t5 = load ptr, ptr %t0
%t6 = call i32 @fn_str_eq(ptr %t5, ptr @.str969)
%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 @fn_str_eq(ptr %t9, ptr @.str970)
%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 @fn_str_eq(ptr %t16, ptr @.str971)
%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 @fn_str_eq(ptr %t23, ptr @.str972)
%t25 = icmp ne i32 %t24, 0
%t26 = zext i1 %t25 to i32
store i32 %t26, ptr %t2
br label %scend5
scend5:
%t27 = load i32, ptr %t2
%t28 = icmp ne i32 %t27, 0
br i1 %t28, label %then6, label %ifend8
then6:
%t29 = load ptr, ptr %t0
%t30 = load ptr, ptr %t1
%t31 = call ptr @fn_emit_math_builtin(ptr %t29, ptr %t30)
store ptr %t31, ptr %retval
br label %ret
ifend8:
%t32 = load ptr, ptr %t0
%t33 = call i32 @fn_str_eq(ptr %t32, ptr @.str973)
%t34 = icmp ne i32 %t33, 0
br i1 %t34, label %then9, label %ifend11
then9:
%t35 = load ptr, ptr %t1
%t36 = getelementptr inbounds %Cmp_Node, ptr %t35, i32 0, i32 7
%t37 = load ptr, ptr %t36
%t38 = getelementptr inbounds %LSlice, ptr %t37, i32 0, i32 0
%t39 = load ptr, ptr %t38
%t40 = getelementptr inbounds ptr, ptr %t39, i32 0
%t41 = load ptr, ptr %t40
%t42 = call ptr @fn_emit_expr(ptr %t41)
store ptr %t42, ptr %t43
%t44 = load ptr, ptr %t43
%t45 = getelementptr inbounds %Cmp_Val, ptr %t44, i32 0, i32 0
%t46 = load ptr, ptr %t45
%t47 = call ptr @fn_str_concat(ptr @.str974, ptr %t46)
%t48 = call ptr @fn_str_concat(ptr %t47, ptr @.str975)
%t49 = call ptr @fn_emit_bind(ptr %t48)
store ptr %t49, ptr %t50
%t51 = load ptr, ptr %t43
%t52 = getelementptr inbounds %Cmp_Val, ptr %t51, i32 0, i32 0
%t53 = load ptr, ptr %t52
%t54 = call ptr @fn_str_concat(ptr @.str976, ptr %t53)
%t55 = call ptr @fn_str_concat(ptr %t54, ptr @.str977)
%t56 = call ptr @fn_emit_bind(ptr %t55)
store ptr %t56, ptr %t57
%t58 = load ptr, ptr %t57
%t59 = call ptr @fn_str_concat(ptr @.str978, ptr %t58)
%t60 = call ptr @fn_str_concat(ptr %t59, ptr @.str979)
%t61 = call ptr @fn_emit_bind(ptr %t60)
store ptr %t61, ptr %t62
%t63 = load ptr, ptr %t50
%t64 = call ptr @fn_str_concat(ptr @.str980, ptr %t63)
%t65 = call ptr @fn_str_concat(ptr %t64, ptr @.str981)
%t66 = load ptr, ptr %t62
%t67 = call ptr @fn_str_concat(ptr %t65, ptr %t66)
%t68 = call ptr @fn_emit_bind(ptr %t67)
%t69 = call ptr @fn_val(ptr %t68, ptr @.str982)
store ptr %t69, ptr %retval
br label %ret
ifend11:
%t70 = load ptr, ptr %t0
%t71 = call i32 @fn_str_eq(ptr %t70, ptr @.str983)
%t72 = icmp ne i32 %t71, 0
br i1 %t72, label %then12, label %ifend14
then12:
%t73 = load ptr, ptr %t1
%t74 = getelementptr inbounds %Cmp_Node, ptr %t73, i32 0, i32 7
%t75 = load ptr, ptr %t74
%t76 = getelementptr inbounds %LSlice, ptr %t75, i32 0, i32 0
%t77 = load ptr, ptr %t76
%t78 = getelementptr inbounds ptr, ptr %t77, i32 0
%t79 = load ptr, ptr %t78
%t80 = call ptr @fn_emit_expr(ptr %t79)
store ptr %t80, ptr %t81
%t82 = load ptr, ptr %t81
%t83 = getelementptr inbounds %Cmp_Val, ptr %t82, i32 0, i32 0
%t84 = load ptr, ptr %t83
%t85 = call ptr @fn_str_concat(ptr @.str984, ptr %t84)
%t86 = call ptr @fn_str_concat(ptr %t85, ptr @.str985)
%t87 = call ptr @fn_emit_bind(ptr %t86)
%t88 = call ptr @fn_val(ptr %t87, ptr @.str986)
store ptr %t88, ptr %retval
br label %ret
ifend14:
%t89 = load ptr, ptr %t0
%t90 = call i32 @fn_str_eq(ptr %t89, ptr @.str987)
%t91 = icmp ne i32 %t90, 0
br i1 %t91, label %then15, label %ifend17
then15:
%t92 = load ptr, ptr %t1
%t93 = getelementptr inbounds %Cmp_Node, ptr %t92, i32 0, i32 7
%t94 = load ptr, ptr %t93
%t95 = getelementptr inbounds %LSlice, ptr %t94, i32 0, i32 0
%t96 = load ptr, ptr %t95
%t97 = getelementptr inbounds ptr, ptr %t96, i32 0
%t98 = load ptr, ptr %t97
%t99 = call ptr @fn_emit_expr(ptr %t98)
store ptr %t99, ptr %t100
%t101 = load ptr, ptr %t100
%t102 = getelementptr inbounds %Cmp_Val, ptr %t101, i32 0, i32 0
%t103 = load ptr, ptr %t102
%t104 = call ptr @fn_str_concat(ptr @.str988, ptr %t103)
%t105 = call ptr @fn_str_concat(ptr %t104, ptr @.str989)
%t106 = call ptr @fn_emit_bind(ptr %t105)
store ptr %t106, ptr %t107
%t108 = load ptr, ptr %t107
%t109 = call ptr @fn_str_concat(ptr @.str990, ptr %t108)
%t110 = call ptr @fn_str_concat(ptr %t109, ptr @.str991)
%t111 = call ptr @fn_emit_bind(ptr %t110)
%t112 = call ptr @fn_val(ptr %t111, ptr @.str992)
store ptr %t112, ptr %retval
br label %ret
ifend17:
%t113 = load ptr, ptr %t0
%t114 = call i32 @fn_str_eq(ptr %t113, ptr @.str993)
%t115 = icmp ne i32 %t114, 0
br i1 %t115, label %then18, label %ifend20
then18:
%t116 = load ptr, ptr %t1
%t117 = getelementptr inbounds %Cmp_Node, ptr %t116, i32 0, i32 7
%t118 = load ptr, ptr %t117
%t119 = getelementptr inbounds %LSlice, ptr %t118, i32 0, i32 0
%t120 = load ptr, ptr %t119
%t121 = getelementptr inbounds ptr, ptr %t120, i32 0
%t122 = load ptr, ptr %t121
%t123 = call ptr @fn_emit_expr(ptr %t122)
store ptr %t123, ptr %t124
%t125 = load ptr, ptr %t124
%t126 = getelementptr inbounds %Cmp_Val, ptr %t125, i32 0, i32 0
%t127 = load ptr, ptr %t126
%t128 = call ptr @fn_str_concat(ptr @.str994, ptr %t127)
%t129 = call ptr @fn_str_concat(ptr %t128, ptr @.str995)
%t130 = call ptr @fn_emit_bind(ptr %t129)
store ptr %t130, ptr %t131
%t132 = load ptr, ptr %t131
%t133 = call ptr @fn_str_concat(ptr @.str996, ptr %t132)
%t134 = call ptr @fn_str_concat(ptr %t133, ptr @.str997)
%t135 = call ptr @fn_emit_bind(ptr %t134)
%t136 = call ptr @fn_val(ptr %t135, ptr @.str998)
store ptr %t136, ptr %retval
br label %ret
ifend20:
%t137 = load ptr, ptr %t0
%t138 = call i32 @fn_str_eq(ptr %t137, ptr @.str999)
%t139 = icmp ne i32 %t138, 0
br i1 %t139, label %then21, label %ifend23
then21:
%t140 = load ptr, ptr %t1
%t141 = getelementptr inbounds %Cmp_Node, ptr %t140, i32 0, i32 7
%t142 = load ptr, ptr %t141
%t143 = getelementptr inbounds %LSlice, ptr %t142, i32 0, i32 0
%t144 = load ptr, ptr %t143
%t145 = getelementptr inbounds ptr, ptr %t144, i32 0
%t146 = load ptr, ptr %t145
%t147 = call ptr @fn_emit_expr(ptr %t146)
store ptr %t147, ptr %t148
%t149 = load ptr, ptr %t1
%t150 = getelementptr inbounds %Cmp_Node, ptr %t149, i32 0, i32 7
%t151 = load ptr, ptr %t150
%t152 = getelementptr inbounds %LSlice, ptr %t151, i32 0, i32 0
%t153 = load ptr, ptr %t152
%t154 = getelementptr inbounds ptr, ptr %t153, i32 1
%t155 = load ptr, ptr %t154
%t156 = call ptr @fn_emit_expr(ptr %t155)
store ptr %t156, ptr %t157
%t158 = load ptr, ptr %t1
%t159 = getelementptr inbounds %Cmp_Node, ptr %t158, i32 0, i32 7
%t160 = load ptr, ptr %t159
%t161 = getelementptr inbounds %LSlice, ptr %t160, i32 0, i32 0
%t162 = load ptr, ptr %t161
%t163 = getelementptr inbounds ptr, ptr %t162, i32 2
%t164 = load ptr, ptr %t163
%t165 = call ptr @fn_emit_expr(ptr %t164)
store ptr %t165, ptr %t166
%t167 = load ptr, ptr %t148
%t168 = getelementptr inbounds %Cmp_Val, ptr %t167, i32 0, i32 0
%t169 = load ptr, ptr %t168
%t170 = load ptr, ptr %t157
%t171 = getelementptr inbounds %Cmp_Val, ptr %t170, i32 0, i32 0
%t172 = load ptr, ptr %t171
%t173 = load ptr, ptr %t166
%t174 = getelementptr inbounds %Cmp_Val, ptr %t173, i32 0, i32 0
%t175 = load ptr, ptr %t174
%t176 = call ptr @fn_fx_lerp_code(ptr %t169, ptr %t172, ptr %t175)
%t177 = call ptr @fn_val(ptr %t176, ptr @.str1000)
store ptr %t177, ptr %retval
br label %ret
ifend23:
%t178 = load ptr, ptr %t0
%t179 = call i32 @fn_str_eq(ptr %t178, ptr @.str1001)
%t180 = icmp ne i32 %t179, 0
br i1 %t180, label %then24, label %ifend26
then24:
%t181 = load ptr, ptr %t1
%t182 = getelementptr inbounds %Cmp_Node, ptr %t181, i32 0, i32 7
%t183 = load ptr, ptr %t182
%t184 = getelementptr inbounds %LSlice, ptr %t183, i32 0, i32 0
%t185 = load ptr, ptr %t184
%t186 = getelementptr inbounds ptr, ptr %t185, i32 0
%t187 = load ptr, ptr %t186
%t188 = call ptr @fn_emit_expr(ptr %t187)
store ptr %t188, ptr %t189
%t190 = load ptr, ptr %t1
%t191 = getelementptr inbounds %Cmp_Node, ptr %t190, i32 0, i32 7
%t192 = load ptr, ptr %t191
%t193 = getelementptr inbounds %LSlice, ptr %t192, i32 0, i32 0
%t194 = load ptr, ptr %t193
%t195 = getelementptr inbounds ptr, ptr %t194, i32 1
%t196 = load ptr, ptr %t195
%t197 = call ptr @fn_emit_expr(ptr %t196)
store ptr %t197, ptr %t198
%t199 = load ptr, ptr %t1
%t200 = getelementptr inbounds %Cmp_Node, ptr %t199, i32 0, i32 7
%t201 = load ptr, ptr %t200
%t202 = getelementptr inbounds %LSlice, ptr %t201, i32 0, i32 0
%t203 = load ptr, ptr %t202
%t204 = getelementptr inbounds ptr, ptr %t203, i32 2
%t205 = load ptr, ptr %t204
%t206 = call ptr @fn_emit_expr(ptr %t205)
store ptr %t206, ptr %t207
%t208 = load ptr, ptr %t189
%t209 = getelementptr inbounds %Cmp_Val, ptr %t208, i32 0, i32 0
%t210 = load ptr, ptr %t209
%t211 = load ptr, ptr %t198
%t212 = getelementptr inbounds %Cmp_Val, ptr %t211, i32 0, i32 0
%t213 = load ptr, ptr %t212
%t214 = load ptr, ptr %t207
%t215 = getelementptr inbounds %Cmp_Val, ptr %t214, i32 0, i32 0
%t216 = load ptr, ptr %t215
%t217 = call ptr @fn_fx_inv_lerp_code(ptr %t210, ptr %t213, ptr %t216)
%t218 = call ptr @fn_val(ptr %t217, ptr @.str1002)
store ptr %t218, ptr %retval
br label %ret
ifend26:
%t219 = load ptr, ptr %t0
%t220 = call i32 @fn_str_eq(ptr %t219, ptr @.str1003)
%t221 = icmp ne i32 %t220, 0
br i1 %t221, label %then27, label %ifend29
then27:
store i32 1, ptr @g_g_uses_mathrt
%t222 = load ptr, ptr %t1
%t223 = getelementptr inbounds %Cmp_Node, ptr %t222, i32 0, i32 7
%t224 = load ptr, ptr %t223
%t225 = getelementptr inbounds %LSlice, ptr %t224, i32 0, i32 0
%t226 = load ptr, ptr %t225
%t227 = getelementptr inbounds ptr, ptr %t226, i32 0
%t228 = load ptr, ptr %t227
%t229 = call ptr @fn_emit_expr(ptr %t228)
store ptr %t229, ptr %t230
%t231 = load ptr, ptr %t230
%t232 = getelementptr inbounds %Cmp_Val, ptr %t231, i32 0, i32 0
%t233 = load ptr, ptr %t232
%t234 = call ptr @fn_str_concat(ptr @.str1004, ptr %t233)
%t235 = call ptr @fn_str_concat(ptr %t234, ptr @.str1005)
%t236 = call ptr @fn_emit_bind(ptr %t235)
%t237 = call ptr @fn_val(ptr %t236, ptr @.str1006)
store ptr %t237, ptr %retval
br label %ret
ifend29:
%t238 = load ptr, ptr %t0
%t239 = call i32 @fn_str_eq(ptr %t238, ptr @.str1007)
%t240 = icmp ne i32 %t239, 0
br i1 %t240, label %then30, label %ifend32
then30:
store i32 1, ptr @g_g_uses_mathrt
%t241 = load ptr, ptr %t1
%t242 = getelementptr inbounds %Cmp_Node, ptr %t241, i32 0, i32 7
%t243 = load ptr, ptr %t242
%t244 = getelementptr inbounds %LSlice, ptr %t243, i32 0, i32 0
%t245 = load ptr, ptr %t244
%t246 = getelementptr inbounds ptr, ptr %t245, i32 0
%t247 = load ptr, ptr %t246
%t248 = call ptr @fn_emit_expr(ptr %t247)
store ptr %t248, ptr %t249
%t250 = load ptr, ptr %t249
%t251 = getelementptr inbounds %Cmp_Val, ptr %t250, i32 0, i32 0
%t252 = load ptr, ptr %t251
%t253 = call ptr @fn_str_concat(ptr @.str1008, ptr %t252)
%t254 = call ptr @fn_str_concat(ptr %t253, ptr @.str1009)
%t255 = call ptr @fn_emit_bind(ptr %t254)
%t256 = call ptr @fn_val(ptr %t255, ptr @.str1010)
store ptr %t256, ptr %retval
br label %ret
ifend32:
%t257 = load ptr, ptr %t0
%t258 = call i32 @fn_str_eq(ptr %t257, ptr @.str1011)
%t259 = icmp ne i32 %t258, 0
br i1 %t259, label %then33, label %ifend35
then33:
store i32 1, ptr @g_g_uses_mathrt
%t260 = load ptr, ptr %t1
%t261 = getelementptr inbounds %Cmp_Node, ptr %t260, i32 0, i32 7
%t262 = load ptr, ptr %t261
%t263 = getelementptr inbounds %LSlice, ptr %t262, i32 0, i32 0
%t264 = load ptr, ptr %t263
%t265 = getelementptr inbounds ptr, ptr %t264, i32 0
%t266 = load ptr, ptr %t265
%t267 = call ptr @fn_emit_expr(ptr %t266)
store ptr %t267, ptr %t268
%t269 = load ptr, ptr %t268
%t270 = getelementptr inbounds %Cmp_Val, ptr %t269, i32 0, i32 0
%t271 = load ptr, ptr %t270
%t272 = call ptr @fn_str_concat(ptr @.str1012, ptr %t271)
%t273 = call ptr @fn_str_concat(ptr %t272, ptr @.str1013)
%t274 = call ptr @fn_emit_bind(ptr %t273)
store ptr %t274, ptr %t275
%t276 = load ptr, ptr %t275
%t277 = call ptr @fn_str_concat(ptr @.str1014, ptr %t276)
%t278 = call ptr @fn_str_concat(ptr %t277, ptr @.str1015)
%t279 = call ptr @fn_emit_bind(ptr %t278)
%t280 = call ptr @fn_val(ptr %t279, ptr @.str1016)
store ptr %t280, ptr %retval
br label %ret
ifend35:
%t281 = load ptr, ptr %t0
%t282 = call i32 @fn_str_eq(ptr %t281, ptr @.str1017)
%t283 = icmp ne i32 %t282, 0
br i1 %t283, label %then36, label %ifend38
then36:
store i32 1, ptr @g_g_uses_mathrt
%t284 = load ptr, ptr %t1
%t285 = getelementptr inbounds %Cmp_Node, ptr %t284, i32 0, i32 7
%t286 = load ptr, ptr %t285
%t287 = getelementptr inbounds %LSlice, ptr %t286, i32 0, i32 0
%t288 = load ptr, ptr %t287
%t289 = getelementptr inbounds ptr, ptr %t288, i32 0
%t290 = load ptr, ptr %t289
%t291 = call ptr @fn_emit_expr(ptr %t290)
store ptr %t291, ptr %t292
%t293 = load ptr, ptr %t292
%t294 = getelementptr inbounds %Cmp_Val, ptr %t293, i32 0, i32 0
%t295 = load ptr, ptr %t294
%t296 = call ptr @fn_str_concat(ptr @.str1018, ptr %t295)
%t297 = call ptr @fn_str_concat(ptr %t296, ptr @.str1019)
%t298 = call ptr @fn_emit_bind(ptr %t297)
store ptr %t298, ptr %t299
%t300 = load ptr, ptr %t292
%t301 = getelementptr inbounds %Cmp_Val, ptr %t300, i32 0, i32 0
%t302 = load ptr, ptr %t301
%t303 = call ptr @fn_str_concat(ptr @.str1020, ptr %t302)
%t304 = call ptr @fn_str_concat(ptr %t303, ptr @.str1021)
%t305 = call ptr @fn_emit_bind(ptr %t304)
store ptr %t305, ptr %t306
%t307 = load ptr, ptr %t306
%t308 = call ptr @fn_str_concat(ptr @.str1022, ptr %t307)
%t309 = call ptr @fn_str_concat(ptr %t308, ptr @.str1023)
%t310 = call ptr @fn_emit_bind(ptr %t309)
store ptr %t310, ptr %t311
%t312 = load ptr, ptr %t299
%t313 = load ptr, ptr %t311
%t314 = call ptr @fn_fx_div_code(ptr %t312, ptr %t313)
%t315 = call ptr @fn_val(ptr %t314, ptr @.str1024)
store ptr %t315, ptr %retval
br label %ret
ifend38:
%t316 = load ptr, ptr %t0
%t317 = call i32 @fn_str_eq(ptr %t316, ptr @.str1025)
%t318 = icmp ne i32 %t317, 0
br i1 %t318, label %then39, label %ifend41
then39:
store i32 1, ptr @g_g_uses_mathrt
%t319 = load ptr, ptr %t1
%t320 = getelementptr inbounds %Cmp_Node, ptr %t319, i32 0, i32 7
%t321 = load ptr, ptr %t320
%t322 = getelementptr inbounds %LSlice, ptr %t321, i32 0, i32 0
%t323 = load ptr, ptr %t322
%t324 = getelementptr inbounds ptr, ptr %t323, i32 0
%t325 = load ptr, ptr %t324
%t326 = call ptr @fn_emit_expr(ptr %t325)
store ptr %t326, ptr %t327
%t328 = load ptr, ptr %t1
%t329 = getelementptr inbounds %Cmp_Node, ptr %t328, i32 0, i32 7
%t330 = load ptr, ptr %t329
%t331 = getelementptr inbounds %LSlice, ptr %t330, i32 0, i32 0
%t332 = load ptr, ptr %t331
%t333 = getelementptr inbounds ptr, ptr %t332, i32 1
%t334 = load ptr, ptr %t333
%t335 = call ptr @fn_emit_expr(ptr %t334)
store ptr %t335, ptr %t336
%t337 = load ptr, ptr %t327
%t338 = getelementptr inbounds %Cmp_Val, ptr %t337, i32 0, i32 0
%t339 = load ptr, ptr %t338
%t340 = call ptr @fn_str_concat(ptr @.str1026, ptr %t339)
%t341 = call ptr @fn_str_concat(ptr %t340, ptr @.str1027)
%t342 = load ptr, ptr %t336
%t343 = getelementptr inbounds %Cmp_Val, ptr %t342, i32 0, i32 0
%t344 = load ptr, ptr %t343
%t345 = call ptr @fn_str_concat(ptr %t341, ptr %t344)
%t346 = call ptr @fn_str_concat(ptr %t345, ptr @.str1028)
%t347 = call ptr @fn_emit_bind(ptr %t346)
%t348 = call ptr @fn_val(ptr %t347, ptr @.str1029)
store ptr %t348, ptr %retval
br label %ret
ifend41:
%t349 = load ptr, ptr %t0
%t350 = call i32 @fn_str_eq(ptr %t349, ptr @.str1030)
%t351 = icmp ne i32 %t350, 0
br i1 %t351, label %then42, label %ifend44
then42:
store i32 1, ptr @g_g_uses_mathrt
%t352 = load ptr, ptr %t1
%t353 = getelementptr inbounds %Cmp_Node, ptr %t352, i32 0, i32 7
%t354 = load ptr, ptr %t353
%t355 = getelementptr inbounds %LSlice, ptr %t354, i32 0, i32 0
%t356 = load ptr, ptr %t355
%t357 = getelementptr inbounds ptr, ptr %t356, i32 0
%t358 = load ptr, ptr %t357
%t359 = call ptr @fn_emit_expr(ptr %t358)
store ptr %t359, ptr %t360
%t361 = load ptr, ptr %t360
%t362 = getelementptr inbounds %Cmp_Val, ptr %t361, i32 0, i32 0
%t363 = load ptr, ptr %t362
%t364 = load ptr, ptr %t360
%t365 = getelementptr inbounds %Cmp_Val, ptr %t364, i32 0, i32 0
%t366 = load ptr, ptr %t365
%t367 = call ptr @fn_fx_mul_code(ptr %t363, ptr %t366)
store ptr %t367, ptr %t368
%t369 = load ptr, ptr %t368
%t370 = call ptr @fn_str_concat(ptr @.str1031, ptr %t369)
%t371 = call ptr @fn_emit_bind(ptr %t370)
store ptr %t371, ptr %t372
%t373 = load ptr, ptr %t372
%t374 = call ptr @fn_str_concat(ptr @.str1032, ptr %t373)
%t375 = call ptr @fn_str_concat(ptr %t374, ptr @.str1033)
%t376 = call ptr @fn_emit_bind(ptr %t375)
store ptr %t376, ptr %t377
%t378 = load ptr, ptr %t360
%t379 = getelementptr inbounds %Cmp_Val, ptr %t378, i32 0, i32 0
%t380 = load ptr, ptr %t379
%t381 = call ptr @fn_str_concat(ptr @.str1034, ptr %t380)
%t382 = call ptr @fn_str_concat(ptr %t381, ptr @.str1035)
%t383 = load ptr, ptr %t377
%t384 = call ptr @fn_str_concat(ptr %t382, ptr %t383)
%t385 = call ptr @fn_str_concat(ptr %t384, ptr @.str1036)
%t386 = call ptr @fn_emit_bind(ptr %t385)
%t387 = call ptr @fn_val(ptr %t386, ptr @.str1037)
store ptr %t387, ptr %retval
br label %ret
ifend44:
%t388 = load ptr, ptr %t0
%t389 = call i32 @fn_str_eq(ptr %t388, ptr @.str1038)
%t390 = icmp ne i32 %t389, 0
br i1 %t390, label %then45, label %ifend47
then45:
store i32 1, ptr @g_g_uses_mathrt
%t391 = load ptr, ptr %t1
%t392 = getelementptr inbounds %Cmp_Node, ptr %t391, i32 0, i32 7
%t393 = load ptr, ptr %t392
%t394 = getelementptr inbounds %LSlice, ptr %t393, i32 0, i32 0
%t395 = load ptr, ptr %t394
%t396 = getelementptr inbounds ptr, ptr %t395, i32 0
%t397 = load ptr, ptr %t396
%t398 = call ptr @fn_emit_expr(ptr %t397)
store ptr %t398, ptr %t399
%t400 = load ptr, ptr %t399
%t401 = getelementptr inbounds %Cmp_Val, ptr %t400, i32 0, i32 0
%t402 = load ptr, ptr %t401
%t403 = load ptr, ptr %t399
%t404 = getelementptr inbounds %Cmp_Val, ptr %t403, i32 0, i32 0
%t405 = load ptr, ptr %t404
%t406 = call ptr @fn_fx_mul_code(ptr %t402, ptr %t405)
store ptr %t406, ptr %t407
%t408 = load ptr, ptr %t407
%t409 = call ptr @fn_str_concat(ptr @.str1039, ptr %t408)
%t410 = call ptr @fn_emit_bind(ptr %t409)
store ptr %t410, ptr %t411
%t412 = load ptr, ptr %t411
%t413 = call ptr @fn_str_concat(ptr @.str1040, ptr %t412)
%t414 = call ptr @fn_str_concat(ptr %t413, ptr @.str1041)
%t415 = call ptr @fn_emit_bind(ptr %t414)
store ptr %t415, ptr %t416
%t417 = load ptr, ptr %t416
%t418 = call ptr @fn_str_concat(ptr @.str1042, ptr %t417)
%t419 = call ptr @fn_str_concat(ptr %t418, ptr @.str1043)
%t420 = load ptr, ptr %t399
%t421 = getelementptr inbounds %Cmp_Val, ptr %t420, i32 0, i32 0
%t422 = load ptr, ptr %t421
%t423 = call ptr @fn_str_concat(ptr %t419, ptr %t422)
%t424 = call ptr @fn_str_concat(ptr %t423, ptr @.str1044)
%t425 = call ptr @fn_emit_bind(ptr %t424)
%t426 = call ptr @fn_val(ptr %t425, ptr @.str1045)
store ptr %t426, ptr %retval
br label %ret
ifend47:
%t427 = load ptr, ptr %t0
%t428 = call i32 @fn_str_eq(ptr %t427, ptr @.str1046)
%t429 = icmp ne i32 %t428, 0
br i1 %t429, label %then48, label %ifend50
then48:
store i32 1, ptr @g_g_uses_mathrt
%t430 = load ptr, ptr %t1
%t431 = getelementptr inbounds %Cmp_Node, ptr %t430, i32 0, i32 7
%t432 = load ptr, ptr %t431
%t433 = getelementptr inbounds %LSlice, ptr %t432, i32 0, i32 0
%t434 = load ptr, ptr %t433
%t435 = getelementptr inbounds ptr, ptr %t434, i32 0
%t436 = load ptr, ptr %t435
%t437 = call ptr @fn_emit_expr(ptr %t436)
store ptr %t437, ptr %t438
%t439 = load ptr, ptr %t1
%t440 = getelementptr inbounds %Cmp_Node, ptr %t439, i32 0, i32 7
%t441 = load ptr, ptr %t440
%t442 = getelementptr inbounds %LSlice, ptr %t441, i32 0, i32 0
%t443 = load ptr, ptr %t442
%t444 = getelementptr inbounds ptr, ptr %t443, i32 1
%t445 = load ptr, ptr %t444
%t446 = call ptr @fn_emit_expr(ptr %t445)
store ptr %t446, ptr %t447
%t448 = load ptr, ptr %t438
%t449 = getelementptr inbounds %Cmp_Val, ptr %t448, i32 0, i32 0
%t450 = load ptr, ptr %t449
%t451 = load ptr, ptr %t438
%t452 = getelementptr inbounds %Cmp_Val, ptr %t451, i32 0, i32 0
%t453 = load ptr, ptr %t452
%t454 = call ptr @fn_fx_mul_code(ptr %t450, ptr %t453)
store ptr %t454, ptr %t455
%t456 = load ptr, ptr %t447
%t457 = getelementptr inbounds %Cmp_Val, ptr %t456, i32 0, i32 0
%t458 = load ptr, ptr %t457
%t459 = load ptr, ptr %t447
%t460 = getelementptr inbounds %Cmp_Val, ptr %t459, i32 0, i32 0
%t461 = load ptr, ptr %t460
%t462 = call ptr @fn_fx_mul_code(ptr %t458, ptr %t461)
store ptr %t462, ptr %t463
%t464 = load ptr, ptr %t455
%t465 = call ptr @fn_str_concat(ptr @.str1047, ptr %t464)
%t466 = call ptr @fn_str_concat(ptr %t465, ptr @.str1048)
%t467 = load ptr, ptr %t463
%t468 = call ptr @fn_str_concat(ptr %t466, ptr %t467)
%t469 = call ptr @fn_emit_bind(ptr %t468)
store ptr %t469, ptr %t470
%t471 = load ptr, ptr %t470
%t472 = call ptr @fn_str_concat(ptr @.str1049, ptr %t471)
%t473 = call ptr @fn_str_concat(ptr %t472, ptr @.str1050)
%t474 = call ptr @fn_emit_bind(ptr %t473)
%t475 = call ptr @fn_val(ptr %t474, ptr @.str1051)
store ptr %t475, ptr %retval
br label %ret
ifend50:
%t476 = load ptr, ptr %t0
%t477 = call i32 @fn_str_eq(ptr %t476, ptr @.str1052)
%t478 = icmp ne i32 %t477, 0
br i1 %t478, label %then51, label %ifend53
then51:
%t479 = load ptr, ptr %t1
%t480 = getelementptr inbounds %Cmp_Node, ptr %t479, i32 0, i32 7
%t481 = load ptr, ptr %t480
%t482 = getelementptr inbounds %LSlice, ptr %t481, i32 0, i32 0
%t483 = load ptr, ptr %t482
%t484 = getelementptr inbounds ptr, ptr %t483, i32 0
%t485 = load ptr, ptr %t484
%t486 = call ptr @fn_emit_expr(ptr %t485)
store ptr %t486, ptr %t487
%t488 = load ptr, ptr %t1
%t489 = getelementptr inbounds %Cmp_Node, ptr %t488, i32 0, i32 7
%t490 = load ptr, ptr %t489
%t491 = getelementptr inbounds %LSlice, ptr %t490, i32 0, i32 0
%t492 = load ptr, ptr %t491
%t493 = getelementptr inbounds ptr, ptr %t492, i32 1
%t494 = load ptr, ptr %t493
%t495 = call ptr @fn_emit_expr(ptr %t494)
store ptr %t495, ptr %t496
%t497 = load ptr, ptr %t1
%t498 = getelementptr inbounds %Cmp_Node, ptr %t497, i32 0, i32 7
%t499 = load ptr, ptr %t498
%t500 = getelementptr inbounds %LSlice, ptr %t499, i32 0, i32 0
%t501 = load ptr, ptr %t500
%t502 = getelementptr inbounds ptr, ptr %t501, i32 2
%t503 = load ptr, ptr %t502
%t504 = call ptr @fn_emit_expr(ptr %t503)
store ptr %t504, ptr %t505
%t506 = load ptr, ptr %t1
%t507 = getelementptr inbounds %Cmp_Node, ptr %t506, i32 0, i32 7
%t508 = load ptr, ptr %t507
%t509 = getelementptr inbounds %LSlice, ptr %t508, i32 0, i32 0
%t510 = load ptr, ptr %t509
%t511 = getelementptr inbounds ptr, ptr %t510, i32 3
%t512 = load ptr, ptr %t511
%t513 = call ptr @fn_emit_expr(ptr %t512)
store ptr %t513, ptr %t514
%t515 = load ptr, ptr %t505
%t516 = getelementptr inbounds %Cmp_Val, ptr %t515, i32 0, i32 0
%t517 = load ptr, ptr %t516
%t518 = call ptr @fn_str_concat(ptr @.str1053, ptr %t517)
%t519 = call ptr @fn_str_concat(ptr %t518, ptr @.str1054)
%t520 = load ptr, ptr %t487
%t521 = getelementptr inbounds %Cmp_Val, ptr %t520, i32 0, i32 0
%t522 = load ptr, ptr %t521
%t523 = call ptr @fn_str_concat(ptr %t519, ptr %t522)
%t524 = call ptr @fn_emit_bind(ptr %t523)
store ptr %t524, ptr %t525
%t526 = load ptr, ptr %t514
%t527 = getelementptr inbounds %Cmp_Val, ptr %t526, i32 0, i32 0
%t528 = load ptr, ptr %t527
%t529 = call ptr @fn_str_concat(ptr @.str1055, ptr %t528)
%t530 = call ptr @fn_str_concat(ptr %t529, ptr @.str1056)
%t531 = load ptr, ptr %t496
%t532 = getelementptr inbounds %Cmp_Val, ptr %t531, i32 0, i32 0
%t533 = load ptr, ptr %t532
%t534 = call ptr @fn_str_concat(ptr %t530, ptr %t533)
%t535 = call ptr @fn_emit_bind(ptr %t534)
store ptr %t535, ptr %t536
%t537 = load ptr, ptr %t525
%t538 = load ptr, ptr %t525
%t539 = call ptr @fn_fx_mul_code(ptr %t537, ptr %t538)
store ptr %t539, ptr %t540
%t541 = load ptr, ptr %t536
%t542 = load ptr, ptr %t536
%t543 = call ptr @fn_fx_mul_code(ptr %t541, ptr %t542)
store ptr %t543, ptr %t544
%t545 = load ptr, ptr %t540
%t546 = call ptr @fn_str_concat(ptr @.str1057, ptr %t545)
%t547 = call ptr @fn_str_concat(ptr %t546, ptr @.str1058)
%t548 = load ptr, ptr %t544
%t549 = call ptr @fn_str_concat(ptr %t547, ptr %t548)
%t550 = call ptr @fn_emit_bind(ptr %t549)
%t551 = call ptr @fn_val(ptr %t550, ptr @.str1059)
store ptr %t551, ptr %retval
br label %ret
ifend53:
%t552 = load ptr, ptr %t0
%t553 = call i32 @fn_str_eq(ptr %t552, ptr @.str1060)
%t554 = icmp ne i32 %t553, 0
br i1 %t554, label %then54, label %ifend56
then54:
store i32 1, ptr @g_g_uses_mathrt
%t555 = load ptr, ptr %t1
%t556 = getelementptr inbounds %Cmp_Node, ptr %t555, i32 0, i32 7
%t557 = load ptr, ptr %t556
%t558 = getelementptr inbounds %LSlice, ptr %t557, i32 0, i32 0
%t559 = load ptr, ptr %t558
%t560 = getelementptr inbounds ptr, ptr %t559, i32 0
%t561 = load ptr, ptr %t560
%t562 = call ptr @fn_emit_expr(ptr %t561)
store ptr %t562, ptr %t563
%t564 = load ptr, ptr %t1
%t565 = getelementptr inbounds %Cmp_Node, ptr %t564, i32 0, i32 7
%t566 = load ptr, ptr %t565
%t567 = getelementptr inbounds %LSlice, ptr %t566, i32 0, i32 0
%t568 = load ptr, ptr %t567
%t569 = getelementptr inbounds ptr, ptr %t568, i32 1
%t570 = load ptr, ptr %t569
%t571 = call ptr @fn_emit_expr(ptr %t570)
store ptr %t571, ptr %t572
%t573 = load ptr, ptr %t1
%t574 = getelementptr inbounds %Cmp_Node, ptr %t573, i32 0, i32 7
%t575 = load ptr, ptr %t574
%t576 = getelementptr inbounds %LSlice, ptr %t575, i32 0, i32 0
%t577 = load ptr, ptr %t576
%t578 = getelementptr inbounds ptr, ptr %t577, i32 2
%t579 = load ptr, ptr %t578
%t580 = call ptr @fn_emit_expr(ptr %t579)
store ptr %t580, ptr %t581
%t582 = load ptr, ptr %t1
%t583 = getelementptr inbounds %Cmp_Node, ptr %t582, i32 0, i32 7
%t584 = load ptr, ptr %t583
%t585 = getelementptr inbounds %LSlice, ptr %t584, i32 0, i32 0
%t586 = load ptr, ptr %t585
%t587 = getelementptr inbounds ptr, ptr %t586, i32 3
%t588 = load ptr, ptr %t587
%t589 = call ptr @fn_emit_expr(ptr %t588)
store ptr %t589, ptr %t590
%t591 = load ptr, ptr %t581
%t592 = getelementptr inbounds %Cmp_Val, ptr %t591, i32 0, i32 0
%t593 = load ptr, ptr %t592
%t594 = call ptr @fn_str_concat(ptr @.str1061, ptr %t593)
%t595 = call ptr @fn_str_concat(ptr %t594, ptr @.str1062)
%t596 = load ptr, ptr %t563
%t597 = getelementptr inbounds %Cmp_Val, ptr %t596, i32 0, i32 0
%t598 = load ptr, ptr %t597
%t599 = call ptr @fn_str_concat(ptr %t595, ptr %t598)
%t600 = call ptr @fn_emit_bind(ptr %t599)
store ptr %t600, ptr %t601
%t602 = load ptr, ptr %t590
%t603 = getelementptr inbounds %Cmp_Val, ptr %t602, i32 0, i32 0
%t604 = load ptr, ptr %t603
%t605 = call ptr @fn_str_concat(ptr @.str1063, ptr %t604)
%t606 = call ptr @fn_str_concat(ptr %t605, ptr @.str1064)
%t607 = load ptr, ptr %t572
%t608 = getelementptr inbounds %Cmp_Val, ptr %t607, i32 0, i32 0
%t609 = load ptr, ptr %t608
%t610 = call ptr @fn_str_concat(ptr %t606, ptr %t609)
%t611 = call ptr @fn_emit_bind(ptr %t610)
store ptr %t611, ptr %t612
%t613 = load ptr, ptr %t601
%t614 = load ptr, ptr %t601
%t615 = call ptr @fn_fx_mul_code(ptr %t613, ptr %t614)
store ptr %t615, ptr %t616
%t617 = load ptr, ptr %t612
%t618 = load ptr, ptr %t612
%t619 = call ptr @fn_fx_mul_code(ptr %t617, ptr %t618)
store ptr %t619, ptr %t620
%t621 = load ptr, ptr %t616
%t622 = call ptr @fn_str_concat(ptr @.str1065, ptr %t621)
%t623 = call ptr @fn_str_concat(ptr %t622, ptr @.str1066)
%t624 = load ptr, ptr %t620
%t625 = call ptr @fn_str_concat(ptr %t623, ptr %t624)
%t626 = call ptr @fn_emit_bind(ptr %t625)
store ptr %t626, ptr %t627
%t628 = load ptr, ptr %t627
%t629 = call ptr @fn_str_concat(ptr @.str1067, ptr %t628)
%t630 = call ptr @fn_str_concat(ptr %t629, ptr @.str1068)
%t631 = call ptr @fn_emit_bind(ptr %t630)
%t632 = call ptr @fn_val(ptr %t631, ptr @.str1069)
store ptr %t632, ptr %retval
br label %ret
ifend56:
%t633 = load ptr, ptr %t0
%t634 = call i32 @fn_str_eq(ptr %t633, ptr @.str1070)
%t635 = icmp ne i32 %t634, 0
br i1 %t635, label %then57, label %ifend59
then57:
store i32 1, ptr @g_g_uses_mathrt
%t636 = load ptr, ptr %t1
%t637 = getelementptr inbounds %Cmp_Node, ptr %t636, i32 0, i32 7
%t638 = load ptr, ptr %t637
%t639 = getelementptr inbounds %LSlice, ptr %t638, i32 0, i32 0
%t640 = load ptr, ptr %t639
%t641 = getelementptr inbounds ptr, ptr %t640, i32 0
%t642 = load ptr, ptr %t641
%t643 = call ptr @fn_emit_expr(ptr %t642)
store ptr %t643, ptr %t644
%t645 = load ptr, ptr %t644
%t646 = getelementptr inbounds %Cmp_Val, ptr %t645, i32 0, i32 0
%t647 = load ptr, ptr %t646
%t648 = call ptr @fn_fx_mul_code(ptr %t647, ptr @.str1071)
store ptr %t648, ptr %t649
%t650 = load ptr, ptr %t649
%t651 = call ptr @fn_str_concat(ptr @.str1072, ptr %t650)
%t652 = call ptr @fn_str_concat(ptr %t651, ptr @.str1073)
%t653 = call ptr @fn_emit_bind(ptr %t652)
%t654 = call ptr @fn_val(ptr %t653, ptr @.str1074)
store ptr %t654, ptr %retval
br label %ret
ifend59:
%t655 = load ptr, ptr %t0
%t656 = call i32 @fn_str_eq(ptr %t655, ptr @.str1075)
%t657 = icmp ne i32 %t656, 0
br i1 %t657, label %then60, label %ifend62
then60:
store i32 1, ptr @g_g_uses_mathrt
%t658 = load ptr, ptr %t1
%t659 = getelementptr inbounds %Cmp_Node, ptr %t658, i32 0, i32 7
%t660 = load ptr, ptr %t659
%t661 = getelementptr inbounds %LSlice, ptr %t660, i32 0, i32 0
%t662 = load ptr, ptr %t661
%t663 = getelementptr inbounds ptr, ptr %t662, i32 0
%t664 = load ptr, ptr %t663
%t665 = call ptr @fn_emit_expr(ptr %t664)
store ptr %t665, ptr %t666
%t667 = load ptr, ptr %t666
%t668 = getelementptr inbounds %Cmp_Val, ptr %t667, i32 0, i32 0
%t669 = load ptr, ptr %t668
%t670 = call ptr @fn_str_concat(ptr @.str1076, ptr %t669)
%t671 = call ptr @fn_str_concat(ptr %t670, ptr @.str1077)
%t672 = call ptr @fn_emit_bind(ptr %t671)
store ptr %t672, ptr %t673
%t674 = load ptr, ptr %t673
%t675 = call ptr @fn_fx_mul_code(ptr %t674, ptr @.str1078)
%t676 = call ptr @fn_val(ptr %t675, ptr @.str1079)
store ptr %t676, ptr %retval
br label %ret
ifend62:
%t677 = load ptr, ptr %t0
%t678 = call i32 @fn_str_eq(ptr %t677, ptr @.str1080)
%t679 = icmp ne i32 %t678, 0
br i1 %t679, label %then63, label %ifend65
then63:
store i32 1, ptr @g_g_uses_mathrt
%t680 = load ptr, ptr %t1
%t681 = getelementptr inbounds %Cmp_Node, ptr %t680, i32 0, i32 7
%t682 = load ptr, ptr %t681
%t683 = getelementptr inbounds %LSlice, ptr %t682, i32 0, i32 0
%t684 = load ptr, ptr %t683
%t685 = getelementptr inbounds ptr, ptr %t684, i32 0
%t686 = load ptr, ptr %t685
%t687 = call ptr @fn_emit_expr(ptr %t686)
store ptr %t687, ptr %t688
%t689 = load ptr, ptr %t1
%t690 = getelementptr inbounds %Cmp_Node, ptr %t689, i32 0, i32 7
%t691 = load ptr, ptr %t690
%t692 = getelementptr inbounds %LSlice, ptr %t691, i32 0, i32 0
%t693 = load ptr, ptr %t692
%t694 = getelementptr inbounds ptr, ptr %t693, i32 1
%t695 = load ptr, ptr %t694
%t696 = call ptr @fn_emit_expr(ptr %t695)
store ptr %t696, ptr %t697
%t698 = load ptr, ptr %t688
%t699 = getelementptr inbounds %Cmp_Val, ptr %t698, i32 0, i32 0
%t700 = load ptr, ptr %t699
%t701 = call ptr @fn_str_concat(ptr @.str1081, ptr %t700)
%t702 = call ptr @fn_str_concat(ptr %t701, ptr @.str1082)
%t703 = call ptr @fn_emit_bind(ptr %t702)
store ptr %t703, ptr %t704
%t705 = load ptr, ptr %t697
%t706 = getelementptr inbounds %Cmp_Val, ptr %t705, i32 0, i32 0
%t707 = load ptr, ptr %t706
%t708 = load ptr, ptr %t704
%t709 = call ptr @fn_fx_mul_code(ptr %t707, ptr %t708)
store ptr %t709, ptr %t710
%t711 = load ptr, ptr %t710
%t712 = call ptr @fn_str_concat(ptr @.str1083, ptr %t711)
%t713 = call ptr @fn_str_concat(ptr %t712, ptr @.str1084)
%t714 = call ptr @fn_emit_bind(ptr %t713)
%t715 = call ptr @fn_val(ptr %t714, ptr @.str1085)
store ptr %t715, ptr %retval
br label %ret
ifend65:
%t716 = load ptr, ptr %t0
%t717 = call i32 @fn_str_eq(ptr %t716, ptr @.str1086)
%t718 = icmp ne i32 %t717, 0
br i1 %t718, label %then66, label %ifend68
then66:
%t719 = load ptr, ptr %t1
%t720 = getelementptr inbounds %Cmp_Node, ptr %t719, i32 0, i32 7
%t721 = load ptr, ptr %t720
%t722 = getelementptr inbounds %LSlice, ptr %t721, i32 0, i32 0
%t723 = load ptr, ptr %t722
%t724 = getelementptr inbounds ptr, ptr %t723, i32 0
%t725 = load ptr, ptr %t724
%t726 = call ptr @fn_emit_expr(ptr %t725)
store ptr %t726, ptr %t727
%t728 = load ptr, ptr %t727
%t729 = getelementptr inbounds %Cmp_Val, ptr %t728, i32 0, i32 0
%t730 = load ptr, ptr %t729
%t731 = call ptr @fn_fx_mul_code(ptr %t730, ptr @.str1087)
%t732 = call ptr @fn_val(ptr %t731, ptr @.str1088)
store ptr %t732, ptr %retval
br label %ret
ifend68:
%t733 = load ptr, ptr %t0
%t734 = call i32 @fn_str_eq(ptr %t733, ptr @.str1089)
%t735 = icmp ne i32 %t734, 0
br i1 %t735, label %then69, label %ifend71
then69:
%t736 = load ptr, ptr %t1
%t737 = getelementptr inbounds %Cmp_Node, ptr %t736, i32 0, i32 7
%t738 = load ptr, ptr %t737
%t739 = getelementptr inbounds %LSlice, ptr %t738, i32 0, i32 0
%t740 = load ptr, ptr %t739
%t741 = getelementptr inbounds ptr, ptr %t740, i32 0
%t742 = load ptr, ptr %t741
%t743 = call ptr @fn_emit_expr(ptr %t742)
store ptr %t743, ptr %t744
%t745 = load ptr, ptr %t744
%t746 = getelementptr inbounds %Cmp_Val, ptr %t745, i32 0, i32 0
%t747 = load ptr, ptr %t746
%t748 = call ptr @fn_fx_mul_code(ptr %t747, ptr @.str1090)
%t749 = call ptr @fn_val(ptr %t748, ptr @.str1091)
store ptr %t749, ptr %retval
br label %ret
ifend71:
%t750 = load ptr, ptr %t0
%t751 = call i32 @fn_str_eq(ptr %t750, ptr @.str1092)
%t752 = icmp ne i32 %t751, 0
br i1 %t752, label %then72, label %ifend74
then72:
%t753 = load ptr, ptr %t1
%t754 = getelementptr inbounds %Cmp_Node, ptr %t753, i32 0, i32 7
%t755 = load ptr, ptr %t754
%t756 = getelementptr inbounds %LSlice, ptr %t755, i32 0, i32 0
%t757 = load ptr, ptr %t756
%t758 = getelementptr inbounds ptr, ptr %t757, i32 0
%t759 = load ptr, ptr %t758
%t760 = call ptr @fn_emit_expr(ptr %t759)
store ptr %t760, ptr %t761
%t762 = load ptr, ptr %t1
%t763 = getelementptr inbounds %Cmp_Node, ptr %t762, i32 0, i32 7
%t764 = load ptr, ptr %t763
%t765 = getelementptr inbounds %LSlice, ptr %t764, i32 0, i32 0
%t766 = load ptr, ptr %t765
%t767 = getelementptr inbounds ptr, ptr %t766, i32 1
%t768 = load ptr, ptr %t767
%t769 = call ptr @fn_emit_expr(ptr %t768)
store ptr %t769, ptr %t770
%t771 = load ptr, ptr %t761
%t772 = getelementptr inbounds %Cmp_Val, ptr %t771, i32 0, i32 0
%t773 = load ptr, ptr %t772
%t774 = call ptr @fn_str_concat(ptr @.str1093, ptr %t773)
%t775 = call ptr @fn_str_concat(ptr %t774, ptr @.str1094)
%t776 = load ptr, ptr %t770
%t777 = getelementptr inbounds %Cmp_Val, ptr %t776, i32 0, i32 0
%t778 = load ptr, ptr %t777
%t779 = call ptr @fn_str_concat(ptr %t775, ptr %t778)
%t780 = call ptr @fn_emit_bind(ptr %t779)
store ptr %t780, ptr %t781
%t782 = load ptr, ptr %t781
%t783 = call ptr @fn_str_concat(ptr @.str1095, ptr %t782)
%t784 = call ptr @fn_str_concat(ptr %t783, ptr @.str1096)
%t785 = load ptr, ptr %t770
%t786 = getelementptr inbounds %Cmp_Val, ptr %t785, i32 0, i32 0
%t787 = load ptr, ptr %t786
%t788 = call ptr @fn_str_concat(ptr %t784, ptr %t787)
%t789 = call ptr @fn_emit_bind(ptr %t788)
store ptr %t789, ptr %t790
%t791 = load ptr, ptr %t790
%t792 = call ptr @fn_str_concat(ptr @.str1097, ptr %t791)
%t793 = call ptr @fn_str_concat(ptr %t792, ptr @.str1098)
%t794 = load ptr, ptr %t770
%t795 = getelementptr inbounds %Cmp_Val, ptr %t794, i32 0, i32 0
%t796 = load ptr, ptr %t795
%t797 = call ptr @fn_str_concat(ptr %t793, ptr %t796)
%t798 = call ptr @fn_emit_bind(ptr %t797)
%t799 = call ptr @fn_val(ptr %t798, ptr @.str1099)
store ptr %t799, ptr %retval
br label %ret
ifend74:
%t800 = load ptr, ptr %t0
%t801 = call i32 @fn_str_eq(ptr %t800, ptr @.str1100)
%t802 = icmp ne i32 %t801, 0
br i1 %t802, label %then75, label %ifend77
then75:
%t803 = load ptr, ptr %t1
%t804 = getelementptr inbounds %Cmp_Node, ptr %t803, i32 0, i32 7
%t805 = load ptr, ptr %t804
%t806 = getelementptr inbounds %LSlice, ptr %t805, i32 0, i32 0
%t807 = load ptr, ptr %t806
%t808 = getelementptr inbounds ptr, ptr %t807, i32 0
%t809 = load ptr, ptr %t808
%t810 = call ptr @fn_emit_expr(ptr %t809)
store ptr %t810, ptr %t811
%t812 = load ptr, ptr %t1
%t813 = getelementptr inbounds %Cmp_Node, ptr %t812, i32 0, i32 7
%t814 = load ptr, ptr %t813
%t815 = getelementptr inbounds %LSlice, ptr %t814, i32 0, i32 0
%t816 = load ptr, ptr %t815
%t817 = getelementptr inbounds ptr, ptr %t816, i32 1
%t818 = load ptr, ptr %t817
%t819 = call ptr @fn_emit_expr(ptr %t818)
store ptr %t819, ptr %t820
%t821 = load ptr, ptr %t1
%t822 = getelementptr inbounds %Cmp_Node, ptr %t821, i32 0, i32 7
%t823 = load ptr, ptr %t822
%t824 = getelementptr inbounds %LSlice, ptr %t823, i32 0, i32 0
%t825 = load ptr, ptr %t824
%t826 = getelementptr inbounds ptr, ptr %t825, i32 2
%t827 = load ptr, ptr %t826
%t828 = call ptr @fn_emit_expr(ptr %t827)
store ptr %t828, ptr %t829
%t830 = load ptr, ptr %t829
%t831 = getelementptr inbounds %Cmp_Val, ptr %t830, i32 0, i32 0
%t832 = load ptr, ptr %t831
%t833 = call ptr @fn_str_concat(ptr @.str1101, ptr %t832)
%t834 = call ptr @fn_str_concat(ptr %t833, ptr @.str1102)
%t835 = load ptr, ptr %t820
%t836 = getelementptr inbounds %Cmp_Val, ptr %t835, i32 0, i32 0
%t837 = load ptr, ptr %t836
%t838 = call ptr @fn_str_concat(ptr %t834, ptr %t837)
%t839 = call ptr @fn_emit_bind(ptr %t838)
store ptr %t839, ptr %t840
%t841 = load ptr, ptr %t811
%t842 = getelementptr inbounds %Cmp_Val, ptr %t841, i32 0, i32 0
%t843 = load ptr, ptr %t842
%t844 = call ptr @fn_str_concat(ptr @.str1103, ptr %t843)
%t845 = call ptr @fn_str_concat(ptr %t844, ptr @.str1104)
%t846 = load ptr, ptr %t820
%t847 = getelementptr inbounds %Cmp_Val, ptr %t846, i32 0, i32 0
%t848 = load ptr, ptr %t847
%t849 = call ptr @fn_str_concat(ptr %t845, ptr %t848)
%t850 = call ptr @fn_emit_bind(ptr %t849)
store ptr %t850, ptr %t851
%t852 = load ptr, ptr %t851
%t853 = call ptr @fn_str_concat(ptr @.str1105, ptr %t852)
%t854 = call ptr @fn_str_concat(ptr %t853, ptr @.str1106)
%t855 = load ptr, ptr %t840
%t856 = call ptr @fn_str_concat(ptr %t854, ptr %t855)
%t857 = call ptr @fn_emit_bind(ptr %t856)
store ptr %t857, ptr %t858
%t859 = load ptr, ptr %t858
%t860 = call ptr @fn_str_concat(ptr @.str1107, ptr %t859)
%t861 = call ptr @fn_str_concat(ptr %t860, ptr @.str1108)
%t862 = load ptr, ptr %t840
%t863 = call ptr @fn_str_concat(ptr %t861, ptr %t862)
%t864 = call ptr @fn_emit_bind(ptr %t863)
store ptr %t864, ptr %t865
%t866 = load ptr, ptr %t865
%t867 = call ptr @fn_str_concat(ptr @.str1109, ptr %t866)
%t868 = call ptr @fn_str_concat(ptr %t867, ptr @.str1110)
%t869 = load ptr, ptr %t840
%t870 = call ptr @fn_str_concat(ptr %t868, ptr %t869)
%t871 = call ptr @fn_emit_bind(ptr %t870)
store ptr %t871, ptr %t872
%t873 = load ptr, ptr %t820
%t874 = getelementptr inbounds %Cmp_Val, ptr %t873, i32 0, i32 0
%t875 = load ptr, ptr %t874
%t876 = call ptr @fn_str_concat(ptr @.str1111, ptr %t875)
%t877 = call ptr @fn_str_concat(ptr %t876, ptr @.str1112)
%t878 = load ptr, ptr %t872
%t879 = call ptr @fn_str_concat(ptr %t877, ptr %t878)
%t880 = call ptr @fn_emit_bind(ptr %t879)
%t881 = call ptr @fn_val(ptr %t880, ptr @.str1113)
store ptr %t881, ptr %retval
br label %ret
ifend77:
%t882 = load ptr, ptr %t0
%t883 = call i32 @fn_str_eq(ptr %t882, ptr @.str1114)
%t884 = icmp ne i32 %t883, 0
br i1 %t884, label %then78, label %ifend80
then78:
%t885 = load ptr, ptr %t1
%t886 = getelementptr inbounds %Cmp_Node, ptr %t885, i32 0, i32 7
%t887 = load ptr, ptr %t886
%t888 = getelementptr inbounds %LSlice, ptr %t887, i32 0, i32 0
%t889 = load ptr, ptr %t888
%t890 = getelementptr inbounds ptr, ptr %t889, i32 0
%t891 = load ptr, ptr %t890
%t892 = call ptr @fn_emit_expr(ptr %t891)
store ptr %t892, ptr %t893
%t894 = load ptr, ptr %t1
%t895 = getelementptr inbounds %Cmp_Node, ptr %t894, i32 0, i32 7
%t896 = load ptr, ptr %t895
%t897 = getelementptr inbounds %LSlice, ptr %t896, i32 0, i32 0
%t898 = load ptr, ptr %t897
%t899 = getelementptr inbounds ptr, ptr %t898, i32 1
%t900 = load ptr, ptr %t899
%t901 = call ptr @fn_emit_expr(ptr %t900)
store ptr %t901, ptr %t902
%t903 = load ptr, ptr %t902
%t904 = getelementptr inbounds %Cmp_Val, ptr %t903, i32 0, i32 0
%t905 = load ptr, ptr %t904
%t906 = call ptr @fn_str_concat(ptr @.str1115, ptr %t905)
%t907 = call ptr @fn_str_concat(ptr %t906, ptr @.str1116)
%t908 = call ptr @fn_emit_bind(ptr %t907)
store ptr %t908, ptr %t909
%t910 = load ptr, ptr %t893
%t911 = getelementptr inbounds %Cmp_Val, ptr %t910, i32 0, i32 0
%t912 = load ptr, ptr %t911
%t913 = call ptr @fn_str_concat(ptr @.str1117, ptr %t912)
%t914 = call ptr @fn_str_concat(ptr %t913, ptr @.str1118)
%t915 = load ptr, ptr %t909
%t916 = call ptr @fn_str_concat(ptr %t914, ptr %t915)
%t917 = call ptr @fn_emit_bind(ptr %t916)
store ptr %t917, ptr %t918
%t919 = load ptr, ptr %t918
%t920 = call ptr @fn_str_concat(ptr @.str1119, ptr %t919)
%t921 = call ptr @fn_str_concat(ptr %t920, ptr @.str1120)
%t922 = load ptr, ptr %t909
%t923 = call ptr @fn_str_concat(ptr %t921, ptr %t922)
%t924 = call ptr @fn_emit_bind(ptr %t923)
store ptr %t924, ptr %t925
%t926 = load ptr, ptr %t925
%t927 = call ptr @fn_str_concat(ptr @.str1121, ptr %t926)
%t928 = call ptr @fn_str_concat(ptr %t927, ptr @.str1122)
%t929 = load ptr, ptr %t909
%t930 = call ptr @fn_str_concat(ptr %t928, ptr %t929)
%t931 = call ptr @fn_emit_bind(ptr %t930)
store ptr %t931, ptr %t932
%t933 = load ptr, ptr %t932
%t934 = call ptr @fn_str_concat(ptr @.str1123, ptr %t933)
%t935 = call ptr @fn_str_concat(ptr %t934, ptr @.str1124)
%t936 = load ptr, ptr %t902
%t937 = getelementptr inbounds %Cmp_Val, ptr %t936, i32 0, i32 0
%t938 = load ptr, ptr %t937
%t939 = call ptr @fn_str_concat(ptr %t935, ptr %t938)
%t940 = call ptr @fn_emit_bind(ptr %t939)
store ptr %t940, ptr %t941
%t942 = load ptr, ptr %t941
%t943 = call ptr @fn_str_concat(ptr @.str1125, ptr %t942)
%t944 = call ptr @fn_emit_bind(ptr %t943)
store ptr %t944, ptr %t945
%t946 = load ptr, ptr %t941
%t947 = call ptr @fn_str_concat(ptr @.str1126, ptr %t946)
%t948 = call ptr @fn_str_concat(ptr %t947, ptr @.str1127)
%t949 = call ptr @fn_emit_bind(ptr %t948)
store ptr %t949, ptr %t950
%t951 = load ptr, ptr %t950
%t952 = call ptr @fn_str_concat(ptr @.str1128, ptr %t951)
%t953 = call ptr @fn_str_concat(ptr %t952, ptr @.str1129)
%t954 = load ptr, ptr %t945
%t955 = call ptr @fn_str_concat(ptr %t953, ptr %t954)
%t956 = call ptr @fn_str_concat(ptr %t955, ptr @.str1130)
%t957 = load ptr, ptr %t941
%t958 = call ptr @fn_str_concat(ptr %t956, ptr %t957)
%t959 = call ptr @fn_emit_bind(ptr %t958)
store ptr %t959, ptr %t960
%t961 = load ptr, ptr %t902
%t962 = getelementptr inbounds %Cmp_Val, ptr %t961, i32 0, i32 0
%t963 = load ptr, ptr %t962
%t964 = call ptr @fn_str_concat(ptr @.str1131, ptr %t963)
%t965 = call ptr @fn_str_concat(ptr %t964, ptr @.str1132)
%t966 = load ptr, ptr %t960
%t967 = call ptr @fn_str_concat(ptr %t965, ptr %t966)
%t968 = call ptr @fn_emit_bind(ptr %t967)
%t969 = call ptr @fn_val(ptr %t968, ptr @.str1133)
store ptr %t969, ptr %retval
br label %ret
ifend80:
%t970 = load ptr, ptr %t0
%t971 = call i32 @fn_str_eq(ptr %t970, ptr @.str1134)
%t972 = icmp ne i32 %t971, 0
br i1 %t972, label %then81, label %ifend83
then81:
%t973 = load ptr, ptr %t1
%t974 = getelementptr inbounds %Cmp_Node, ptr %t973, i32 0, i32 7
%t975 = load ptr, ptr %t974
%t976 = getelementptr inbounds %LSlice, ptr %t975, i32 0, i32 0
%t977 = load ptr, ptr %t976
%t978 = getelementptr inbounds ptr, ptr %t977, i32 0
%t979 = load ptr, ptr %t978
%t980 = call ptr @fn_emit_expr(ptr %t979)
store ptr %t980, ptr %t981
%t982 = load ptr, ptr %t1
%t983 = getelementptr inbounds %Cmp_Node, ptr %t982, i32 0, i32 7
%t984 = load ptr, ptr %t983
%t985 = getelementptr inbounds %LSlice, ptr %t984, i32 0, i32 0
%t986 = load ptr, ptr %t985
%t987 = getelementptr inbounds ptr, ptr %t986, i32 1
%t988 = load ptr, ptr %t987
%t989 = call ptr @fn_emit_expr(ptr %t988)
store ptr %t989, ptr %t990
%t991 = load ptr, ptr %t981
%t992 = getelementptr inbounds %Cmp_Val, ptr %t991, i32 0, i32 0
%t993 = load ptr, ptr %t992
%t994 = load ptr, ptr %t990
%t995 = getelementptr inbounds %Cmp_Val, ptr %t994, i32 0, i32 0
%t996 = load ptr, ptr %t995
%t997 = call ptr @fn_fx_div_code(ptr %t993, ptr %t996)
store ptr %t997, ptr %t998
%t999 = load ptr, ptr %t998
%t1000 = call ptr @fn_str_concat(ptr @.str1135, ptr %t999)
%t1001 = call ptr @fn_str_concat(ptr %t1000, ptr @.str1136)
%t1002 = call ptr @fn_emit_bind(ptr %t1001)
store ptr %t1002, ptr %t1003
%t1004 = load ptr, ptr %t1003
%t1005 = call ptr @fn_str_concat(ptr @.str1137, ptr %t1004)
%t1006 = call ptr @fn_str_concat(ptr %t1005, ptr @.str1138)
%t1007 = call ptr @fn_emit_bind(ptr %t1006)
store ptr %t1007, ptr %t1008
%t1009 = load ptr, ptr %t1008
%t1010 = call ptr @fn_str_concat(ptr @.str1139, ptr %t1009)
%t1011 = call ptr @fn_str_concat(ptr %t1010, ptr @.str1140)
%t1012 = load ptr, ptr %t990
%t1013 = getelementptr inbounds %Cmp_Val, ptr %t1012, i32 0, i32 0
%t1014 = load ptr, ptr %t1013
%t1015 = call ptr @fn_str_concat(ptr %t1011, ptr %t1014)
%t1016 = call ptr @fn_emit_bind(ptr %t1015)
%t1017 = call ptr @fn_val(ptr %t1016, ptr @.str1141)
store ptr %t1017, ptr %retval
br label %ret
ifend83:
%t1018 = load ptr, ptr %t0
%t1019 = call i32 @fn_str_eq(ptr %t1018, ptr @.str1142)
%t1020 = icmp ne i32 %t1019, 0
br i1 %t1020, label %then84, label %ifend86
then84:
%t1021 = load ptr, ptr %t1
%t1022 = getelementptr inbounds %Cmp_Node, ptr %t1021, i32 0, i32 7
%t1023 = load ptr, ptr %t1022
%t1024 = getelementptr inbounds %LSlice, ptr %t1023, i32 0, i32 0
%t1025 = load ptr, ptr %t1024
%t1026 = getelementptr inbounds ptr, ptr %t1025, i32 0
%t1027 = load ptr, ptr %t1026
%t1028 = call ptr @fn_emit_expr(ptr %t1027)
store ptr %t1028, ptr %t1029
%t1030 = load ptr, ptr %t1
%t1031 = getelementptr inbounds %Cmp_Node, ptr %t1030, i32 0, i32 7
%t1032 = load ptr, ptr %t1031
%t1033 = getelementptr inbounds %LSlice, ptr %t1032, i32 0, i32 0
%t1034 = load ptr, ptr %t1033
%t1035 = getelementptr inbounds ptr, ptr %t1034, i32 1
%t1036 = load ptr, ptr %t1035
%t1037 = call ptr @fn_emit_expr(ptr %t1036)
store ptr %t1037, ptr %t1038
%t1039 = load ptr, ptr %t1
%t1040 = getelementptr inbounds %Cmp_Node, ptr %t1039, i32 0, i32 7
%t1041 = load ptr, ptr %t1040
%t1042 = getelementptr inbounds %LSlice, ptr %t1041, i32 0, i32 0
%t1043 = load ptr, ptr %t1042
%t1044 = getelementptr inbounds ptr, ptr %t1043, i32 2
%t1045 = load ptr, ptr %t1044
%t1046 = call ptr @fn_emit_expr(ptr %t1045)
store ptr %t1046, ptr %t1047
%t1048 = load ptr, ptr %t1038
%t1049 = getelementptr inbounds %Cmp_Val, ptr %t1048, i32 0, i32 0
%t1050 = load ptr, ptr %t1049
%t1051 = call ptr @fn_str_concat(ptr @.str1143, ptr %t1050)
%t1052 = call ptr @fn_str_concat(ptr %t1051, ptr @.str1144)
%t1053 = load ptr, ptr %t1029
%t1054 = getelementptr inbounds %Cmp_Val, ptr %t1053, i32 0, i32 0
%t1055 = load ptr, ptr %t1054
%t1056 = call ptr @fn_str_concat(ptr %t1052, ptr %t1055)
%t1057 = call ptr @fn_emit_bind(ptr %t1056)
store ptr %t1057, ptr %t1058
%t1059 = load ptr, ptr %t1058
%t1060 = call ptr @fn_str_concat(ptr @.str1145, ptr %t1059)
%t1061 = call ptr @fn_emit_bind(ptr %t1060)
store ptr %t1061, ptr %t1062
%t1063 = load ptr, ptr %t1058
%t1064 = call ptr @fn_str_concat(ptr @.str1146, ptr %t1063)
%t1065 = call ptr @fn_str_concat(ptr %t1064, ptr @.str1147)
%t1066 = call ptr @fn_emit_bind(ptr %t1065)
store ptr %t1066, ptr %t1067
%t1068 = load ptr, ptr %t1067
%t1069 = call ptr @fn_str_concat(ptr @.str1148, ptr %t1068)
%t1070 = call ptr @fn_str_concat(ptr %t1069, ptr @.str1149)
%t1071 = load ptr, ptr %t1062
%t1072 = call ptr @fn_str_concat(ptr %t1070, ptr %t1071)
%t1073 = call ptr @fn_str_concat(ptr %t1072, ptr @.str1150)
%t1074 = load ptr, ptr %t1058
%t1075 = call ptr @fn_str_concat(ptr %t1073, ptr %t1074)
%t1076 = call ptr @fn_emit_bind(ptr %t1075)
store ptr %t1076, ptr %t1077
%t1078 = load ptr, ptr %t1058
%t1079 = call ptr @fn_str_concat(ptr @.str1151, ptr %t1078)
%t1080 = call ptr @fn_str_concat(ptr %t1079, ptr @.str1152)
%t1081 = call ptr @fn_emit_bind(ptr %t1080)
store ptr %t1081, ptr %t1082
%t1083 = load ptr, ptr %t1058
%t1084 = call ptr @fn_str_concat(ptr @.str1153, ptr %t1083)
%t1085 = call ptr @fn_str_concat(ptr %t1084, ptr @.str1154)
%t1086 = call ptr @fn_emit_bind(ptr %t1085)
store ptr %t1086, ptr %t1087
%t1088 = load ptr, ptr %t1087
%t1089 = call ptr @fn_str_concat(ptr @.str1155, ptr %t1088)
%t1090 = call ptr @fn_str_concat(ptr %t1089, ptr @.str1156)
%t1091 = call ptr @fn_emit_bind(ptr %t1090)
store ptr %t1091, ptr %t1092
%t1093 = load ptr, ptr %t1082
%t1094 = call ptr @fn_str_concat(ptr @.str1157, ptr %t1093)
%t1095 = call ptr @fn_str_concat(ptr %t1094, ptr @.str1158)
%t1096 = load ptr, ptr %t1092
%t1097 = call ptr @fn_str_concat(ptr %t1095, ptr %t1096)
%t1098 = call ptr @fn_emit_bind(ptr %t1097)
store ptr %t1098, ptr %t1099
%t1100 = load ptr, ptr %t1099
%t1101 = call ptr @fn_str_concat(ptr @.str1159, ptr %t1100)
%t1102 = call ptr @fn_str_concat(ptr %t1101, ptr @.str1160)
%t1103 = load ptr, ptr %t1047
%t1104 = getelementptr inbounds %Cmp_Val, ptr %t1103, i32 0, i32 0
%t1105 = load ptr, ptr %t1104
%t1106 = call ptr @fn_str_concat(ptr %t1102, ptr %t1105)
%t1107 = call ptr @fn_emit_bind(ptr %t1106)
store ptr %t1107, ptr %t1108
%t1109 = load ptr, ptr %t1029
%t1110 = getelementptr inbounds %Cmp_Val, ptr %t1109, i32 0, i32 0
%t1111 = load ptr, ptr %t1110
%t1112 = call ptr @fn_str_concat(ptr @.str1161, ptr %t1111)
%t1113 = call ptr @fn_str_concat(ptr %t1112, ptr @.str1162)
%t1114 = load ptr, ptr %t1108
%t1115 = call ptr @fn_str_concat(ptr %t1113, ptr %t1114)
%t1116 = call ptr @fn_emit_bind(ptr %t1115)
store ptr %t1116, ptr %t1117
%t1118 = load ptr, ptr %t1077
%t1119 = call ptr @fn_str_concat(ptr @.str1163, ptr %t1118)
%t1120 = call ptr @fn_str_concat(ptr %t1119, ptr @.str1164)
%t1121 = load ptr, ptr %t1047
%t1122 = getelementptr inbounds %Cmp_Val, ptr %t1121, i32 0, i32 0
%t1123 = load ptr, ptr %t1122
%t1124 = call ptr @fn_str_concat(ptr %t1120, ptr %t1123)
%t1125 = call ptr @fn_emit_bind(ptr %t1124)
store ptr %t1125, ptr %t1126
%t1127 = load ptr, ptr %t1126
%t1128 = call ptr @fn_str_concat(ptr @.str1165, ptr %t1127)
%t1129 = call ptr @fn_str_concat(ptr %t1128, ptr @.str1166)
%t1130 = load ptr, ptr %t1038
%t1131 = getelementptr inbounds %Cmp_Val, ptr %t1130, i32 0, i32 0
%t1132 = load ptr, ptr %t1131
%t1133 = call ptr @fn_str_concat(ptr %t1129, ptr %t1132)
%t1134 = call ptr @fn_str_concat(ptr %t1133, ptr @.str1167)
%t1135 = load ptr, ptr %t1117
%t1136 = call ptr @fn_str_concat(ptr %t1134, ptr %t1135)
%t1137 = call ptr @fn_emit_bind(ptr %t1136)
%t1138 = call ptr @fn_val(ptr %t1137, ptr @.str1168)
store ptr %t1138, ptr %retval
br label %ret
ifend86:
%t1139 = load ptr, ptr %t0
%t1140 = call i32 @fn_str_eq(ptr %t1139, ptr @.str1169)
%t1141 = icmp ne i32 %t1140, 0
br i1 %t1141, label %then87, label %ifend89
then87:
%t1142 = load ptr, ptr %t1
%t1143 = getelementptr inbounds %Cmp_Node, ptr %t1142, i32 0, i32 7
%t1144 = load ptr, ptr %t1143
%t1145 = getelementptr inbounds %LSlice, ptr %t1144, i32 0, i32 0
%t1146 = load ptr, ptr %t1145
%t1147 = getelementptr inbounds ptr, ptr %t1146, i32 0
%t1148 = load ptr, ptr %t1147
%t1149 = call ptr @fn_emit_expr(ptr %t1148)
store ptr %t1149, ptr %t1150
%t1151 = load ptr, ptr %t1
%t1152 = getelementptr inbounds %Cmp_Node, ptr %t1151, i32 0, i32 7
%t1153 = load ptr, ptr %t1152
%t1154 = getelementptr inbounds %LSlice, ptr %t1153, i32 0, i32 0
%t1155 = load ptr, ptr %t1154
%t1156 = getelementptr inbounds ptr, ptr %t1155, i32 1
%t1157 = load ptr, ptr %t1156
%t1158 = call ptr @fn_emit_expr(ptr %t1157)
store ptr %t1158, ptr %t1159
%t1160 = load ptr, ptr %t1
%t1161 = getelementptr inbounds %Cmp_Node, ptr %t1160, i32 0, i32 7
%t1162 = load ptr, ptr %t1161
%t1163 = getelementptr inbounds %LSlice, ptr %t1162, i32 0, i32 0
%t1164 = load ptr, ptr %t1163
%t1165 = getelementptr inbounds ptr, ptr %t1164, i32 2
%t1166 = load ptr, ptr %t1165
%t1167 = call ptr @fn_emit_expr(ptr %t1166)
store ptr %t1167, ptr %t1168
%t1169 = load ptr, ptr %t1150
%t1170 = getelementptr inbounds %Cmp_Val, ptr %t1169, i32 0, i32 0
%t1171 = load ptr, ptr %t1170
%t1172 = load ptr, ptr %t1159
%t1173 = getelementptr inbounds %Cmp_Val, ptr %t1172, i32 0, i32 0
%t1174 = load ptr, ptr %t1173
%t1175 = load ptr, ptr %t1168
%t1176 = getelementptr inbounds %Cmp_Val, ptr %t1175, i32 0, i32 0
%t1177 = load ptr, ptr %t1176
%t1178 = call ptr @fn_fx_inv_lerp_code(ptr %t1171, ptr %t1174, ptr %t1177)
store ptr %t1178, ptr %t1179
%t1180 = load ptr, ptr %t1179
%t1181 = call ptr @fn_str_concat(ptr @.str1170, ptr %t1180)
%t1182 = call ptr @fn_str_concat(ptr %t1181, ptr @.str1171)
%t1183 = call ptr @fn_emit_bind(ptr %t1182)
store ptr %t1183, ptr %t1184
%t1185 = load ptr, ptr %t1184
%t1186 = call ptr @fn_str_concat(ptr @.str1172, ptr %t1185)
%t1187 = call ptr @fn_str_concat(ptr %t1186, ptr @.str1173)
%t1188 = load ptr, ptr %t1179
%t1189 = call ptr @fn_str_concat(ptr %t1187, ptr %t1188)
%t1190 = call ptr @fn_emit_bind(ptr %t1189)
store ptr %t1190, ptr %t1191
%t1192 = load ptr, ptr %t1191
%t1193 = call ptr @fn_str_concat(ptr @.str1174, ptr %t1192)
%t1194 = call ptr @fn_str_concat(ptr %t1193, ptr @.str1175)
%t1195 = call ptr @fn_emit_bind(ptr %t1194)
store ptr %t1195, ptr %t1196
%t1197 = load ptr, ptr %t1196
%t1198 = call ptr @fn_str_concat(ptr @.str1176, ptr %t1197)
%t1199 = call ptr @fn_str_concat(ptr %t1198, ptr @.str1177)
%t1200 = load ptr, ptr %t1191
%t1201 = call ptr @fn_str_concat(ptr %t1199, ptr %t1200)
%t1202 = call ptr @fn_emit_bind(ptr %t1201)
store ptr %t1202, ptr %t1203
%t1204 = load ptr, ptr %t1203
%t1205 = call ptr @fn_str_concat(ptr @.str1178, ptr %t1204)
%t1206 = call ptr @fn_str_concat(ptr %t1205, ptr @.str1179)
%t1207 = call ptr @fn_emit_bind(ptr %t1206)
store ptr %t1207, ptr %t1208
%t1209 = load ptr, ptr %t1208
%t1210 = call ptr @fn_str_concat(ptr @.str1180, ptr %t1209)
%t1211 = call ptr @fn_emit_bind(ptr %t1210)
store ptr %t1211, ptr %t1212
%t1213 = load ptr, ptr %t1203
%t1214 = load ptr, ptr %t1203
%t1215 = call ptr @fn_fx_mul_code(ptr %t1213, ptr %t1214)
store ptr %t1215, ptr %t1216
%t1217 = load ptr, ptr %t1216
%t1218 = load ptr, ptr %t1212
%t1219 = call ptr @fn_fx_mul_code(ptr %t1217, ptr %t1218)
%t1220 = call ptr @fn_val(ptr %t1219, ptr @.str1181)
store ptr %t1220, ptr %retval
br label %ret
ifend89:
%t1221 = load ptr, ptr %t1
%t1222 = getelementptr inbounds %Cmp_Node, ptr %t1221, i32 0, i32 7
%t1223 = load ptr, ptr %t1222
%t1224 = getelementptr inbounds %LSlice, ptr %t1223, i32 0, i32 0
%t1225 = load ptr, ptr %t1224
%t1226 = getelementptr inbounds ptr, ptr %t1225, i32 0
%t1227 = load ptr, ptr %t1226
%t1228 = call ptr @fn_emit_expr(ptr %t1227)
store ptr %t1228, ptr %t1229
%t1230 = load ptr, ptr %t1
%t1231 = getelementptr inbounds %Cmp_Node, ptr %t1230, i32 0, i32 7
%t1232 = load ptr, ptr %t1231
%t1233 = getelementptr inbounds %LSlice, ptr %t1232, i32 0, i32 0
%t1234 = load ptr, ptr %t1233
%t1235 = getelementptr inbounds ptr, ptr %t1234, i32 1
%t1236 = load ptr, ptr %t1235
%t1237 = call ptr @fn_emit_expr(ptr %t1236)
store ptr %t1237, ptr %t1238
%t1239 = load ptr, ptr %t1
%t1240 = getelementptr inbounds %Cmp_Node, ptr %t1239, i32 0, i32 7
%t1241 = load ptr, ptr %t1240
%t1242 = getelementptr inbounds %LSlice, ptr %t1241, i32 0, i32 0
%t1243 = load ptr, ptr %t1242
%t1244 = getelementptr inbounds ptr, ptr %t1243, i32 2
%t1245 = load ptr, ptr %t1244
%t1246 = call ptr @fn_emit_expr(ptr %t1245)
store ptr %t1246, ptr %t1247
%t1248 = load ptr, ptr %t1
%t1249 = getelementptr inbounds %Cmp_Node, ptr %t1248, i32 0, i32 7
%t1250 = load ptr, ptr %t1249
%t1251 = getelementptr inbounds %LSlice, ptr %t1250, i32 0, i32 0
%t1252 = load ptr, ptr %t1251
%t1253 = getelementptr inbounds ptr, ptr %t1252, i32 3
%t1254 = load ptr, ptr %t1253
%t1255 = call ptr @fn_emit_expr(ptr %t1254)
store ptr %t1255, ptr %t1256
%t1257 = load ptr, ptr %t1
%t1258 = getelementptr inbounds %Cmp_Node, ptr %t1257, i32 0, i32 7
%t1259 = load ptr, ptr %t1258
%t1260 = getelementptr inbounds %LSlice, ptr %t1259, i32 0, i32 0
%t1261 = load ptr, ptr %t1260
%t1262 = getelementptr inbounds ptr, ptr %t1261, i32 4
%t1263 = load ptr, ptr %t1262
%t1264 = call ptr @fn_emit_expr(ptr %t1263)
store ptr %t1264, ptr %t1265
%t1266 = load ptr, ptr %t1238
%t1267 = getelementptr inbounds %Cmp_Val, ptr %t1266, i32 0, i32 0
%t1268 = load ptr, ptr %t1267
%t1269 = load ptr, ptr %t1247
%t1270 = getelementptr inbounds %Cmp_Val, ptr %t1269, i32 0, i32 0
%t1271 = load ptr, ptr %t1270
%t1272 = load ptr, ptr %t1229
%t1273 = getelementptr inbounds %Cmp_Val, ptr %t1272, i32 0, i32 0
%t1274 = load ptr, ptr %t1273
%t1275 = call ptr @fn_fx_inv_lerp_code(ptr %t1268, ptr %t1271, ptr %t1274)
store ptr %t1275, ptr %t1276
%t1277 = load ptr, ptr %t1256
%t1278 = getelementptr inbounds %Cmp_Val, ptr %t1277, i32 0, i32 0
%t1279 = load ptr, ptr %t1278
%t1280 = load ptr, ptr %t1265
%t1281 = getelementptr inbounds %Cmp_Val, ptr %t1280, i32 0, i32 0
%t1282 = load ptr, ptr %t1281
%t1283 = load ptr, ptr %t1276
%t1284 = call ptr @fn_fx_lerp_code(ptr %t1279, ptr %t1282, ptr %t1283)
%t1285 = call ptr @fn_val(ptr %t1284, ptr @.str1182)
store ptr %t1285, ptr %retval
br label %ret
ret:
%t1286 = load ptr, ptr %retval
ret ptr %t1286
}
define void @fn_emit_math_prelude() {
entry:
call void @fn_emith(ptr @.str1183)
call void @fn_emith(ptr @.str1184)
call void @fn_emith(ptr @.str1185)
call void @fn_emith(ptr @.str1186)
call void @fn_emith(ptr @.str1187)
call void @fn_emith(ptr @.str1188)
call void @fn_emith(ptr @.str1189)
call void @fn_emith(ptr @.str1190)
call void @fn_emith(ptr @.str1191)
call void @fn_emith(ptr @.str1192)
call void @fn_emith(ptr @.str1193)
call void @fn_emith(ptr @.str1194)
call void @fn_emith(ptr @.str1195)
call void @fn_emith(ptr @.str1196)
call void @fn_emith(ptr @.str1197)
call void @fn_emith(ptr @.str1198)
call void @fn_emith(ptr @.str1199)
call void @fn_emith(ptr @.str1200)
call void @fn_emith(ptr @.str1201)
call void @fn_emith(ptr @.str1202)
call void @fn_emith(ptr @.str1203)
call void @fn_emith(ptr @.str1204)
call void @fn_emith(ptr @.str1205)
call void @fn_emith(ptr @.str1206)
call void @fn_emith(ptr @.str1207)
call void @fn_emith(ptr @.str1208)
call void @fn_emith(ptr @.str1209)
call void @fn_emith(ptr @.str1210)
call void @fn_emith(ptr @.str1211)
call void @fn_emith(ptr @.str1212)
call void @fn_emith(ptr @.str1213)
call void @fn_emith(ptr @.str1214)
call void @fn_emith(ptr @.str1215)
call void @fn_emith(ptr @.str1216)
call void @fn_emith(ptr @.str1217)
call void @fn_emith(ptr @.str1218)
call void @fn_emith(ptr @.str1219)
call void @fn_emith(ptr @.str1220)
call void @fn_emith(ptr @.str1221)
call void @fn_emith(ptr @.str1222)
call void @fn_emith(ptr @.str1223)
call void @fn_emith(ptr @.str1224)
call void @fn_emith(ptr @.str1225)
call void @fn_emith(ptr @.str1226)
call void @fn_emith(ptr @.str1227)
call void @fn_emith(ptr @.str1228)
call void @fn_emith(ptr @.str1229)
call void @fn_emith(ptr @.str1230)
call void @fn_emith(ptr @.str1231)
call void @fn_emith(ptr @.str1232)
call void @fn_emith(ptr @.str1233)
call void @fn_emith(ptr @.str1234)
call void @fn_emith(ptr @.str1235)
call void @fn_emith(ptr @.str1236)
call void @fn_emith(ptr @.str1237)
call void @fn_emith(ptr @.str1238)
call void @fn_emith(ptr @.str1239)
call void @fn_emith(ptr @.str1240)
call void @fn_emith(ptr @.str1241)
call void @fn_emith(ptr @.str1242)
call void @fn_emith(ptr @.str1243)
call void @fn_emith(ptr @.str1244)
call void @fn_emith(ptr @.str1245)
call void @fn_emith(ptr @.str1246)
call void @fn_emith(ptr @.str1247)
call void @fn_emith(ptr @.str1248)
call void @fn_emith(ptr @.str1249)
call void @fn_emith(ptr @.str1250)
call void @fn_emith(ptr @.str1251)
call void @fn_emith(ptr @.str1252)
call void @fn_emith(ptr @.str1253)
call void @fn_emith(ptr @.str1254)
call void @fn_emith(ptr @.str1255)
call void @fn_emith(ptr @.str1256)
call void @fn_emith(ptr @.str1257)
call void @fn_emith(ptr @.str1258)
call void @fn_emith(ptr @.str1259)
call void @fn_emith(ptr @.str1260)
call void @fn_emith(ptr @.str1261)
call void @fn_emith(ptr @.str1262)
call void @fn_emith(ptr @.str1263)
call void @fn_emith(ptr @.str1264)
call void @fn_emith(ptr @.str1265)
call void @fn_emith(ptr @.str1266)
call void @fn_emith(ptr @.str1267)
call void @fn_emith(ptr @.str1268)
call void @fn_emith(ptr @.str1269)
call void @fn_emith(ptr @.str1270)
call void @fn_emith(ptr @.str1271)
call void @fn_emith(ptr @.str1272)
call void @fn_emith(ptr @.str1273)
call void @fn_emith(ptr @.str1274)
call void @fn_emith(ptr @.str1275)
call void @fn_emith(ptr @.str1276)
call void @fn_emith(ptr @.str1277)
call void @fn_emith(ptr @.str1278)
call void @fn_emith(ptr @.str1279)
call void @fn_emith(ptr @.str1280)
call void @fn_emith(ptr @.str1281)
call void @fn_emith(ptr @.str1282)
call void @fn_emith(ptr @.str1283)
call void @fn_emith(ptr @.str1284)
call void @fn_emith(ptr @.str1285)
call void @fn_emith(ptr @.str1286)
call void @fn_emith(ptr @.str1287)
call void @fn_emith(ptr @.str1288)
call void @fn_emith(ptr @.str1289)
call void @fn_emith(ptr @.str1290)
call void @fn_emith(ptr @.str1291)
br label %ret
ret:
ret void
}
define ptr @fn_vec_pack(ptr %arg_x, ptr %arg_y) {
entry:
%retval = alloca ptr
%t0 = alloca ptr
%t1 = alloca ptr
%t6 = alloca ptr
%t11 = alloca ptr
%t16 = alloca ptr
store ptr %arg_x, ptr %t0
store ptr %arg_y, ptr %t1
%t2 = load ptr, ptr %t0
%t3 = call ptr @fn_str_concat(ptr @.str1292, ptr %t2)
%t4 = call ptr @fn_str_concat(ptr %t3, ptr @.str1293)
%t5 = call ptr @fn_emit_bind(ptr %t4)
store ptr %t5, ptr %t6
%t7 = load ptr, ptr %t6
%t8 = call ptr @fn_str_concat(ptr @.str1294, ptr %t7)
%t9 = call ptr @fn_str_concat(ptr %t8, ptr @.str1295)
%t10 = call ptr @fn_emit_bind(ptr %t9)
store ptr %t10, ptr %t11
%t12 = load ptr, ptr %t1
%t13 = call ptr @fn_str_concat(ptr @.str1296, ptr %t12)
%t14 = call ptr @fn_str_concat(ptr %t13, ptr @.str1297)
%t15 = call ptr @fn_emit_bind(ptr %t14)
store ptr %t15, ptr %t16
%t17 = load ptr, ptr %t11
%t18 = call ptr @fn_str_concat(ptr @.str1298, ptr %t17)
%t19 = call ptr @fn_str_concat(ptr %t18, ptr @.str1299)
%t20 = load ptr, ptr %t16
%t21 = call ptr @fn_str_concat(ptr %t19, ptr %t20)
%t22 = call ptr @fn_emit_bind(ptr %t21)
store ptr %t22, ptr %retval
br label %ret
ret:
%t23 = load ptr, ptr %retval
ret ptr %t23
}
define ptr @fn_vec_x(ptr %arg_v) {
entry:
%retval = alloca ptr
%t0 = alloca ptr
%t5 = alloca ptr
store ptr %arg_v, ptr %t0
%t1 = load ptr, ptr %t0
%t2 = call ptr @fn_str_concat(ptr @.str1300, ptr %t1)
%t3 = call ptr @fn_str_concat(ptr %t2, ptr @.str1301)
%t4 = call ptr @fn_emit_bind(ptr %t3)
store ptr %t4, ptr %t5
%t6 = load ptr, ptr %t5
%t7 = call ptr @fn_str_concat(ptr @.str1302, ptr %t6)
%t8 = call ptr @fn_str_concat(ptr %t7, ptr @.str1303)
%t9 = call ptr @fn_emit_bind(ptr %t8)
store ptr %t9, ptr %retval
br label %ret
ret:
%t10 = load ptr, ptr %retval
ret ptr %t10
}
define ptr @fn_vec_y(ptr %arg_v) {
entry:
%retval = alloca ptr
%t0 = alloca ptr
store ptr %arg_v, ptr %t0
%t1 = load ptr, ptr %t0
%t2 = call ptr @fn_str_concat(ptr @.str1304, ptr %t1)
%t3 = call ptr @fn_str_concat(ptr %t2, ptr @.str1305)
%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 @fn_str_eq(ptr %t4, ptr @.str1306)
%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 @fn_str_eq(ptr %t8, ptr @.str1307)
%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 @fn_str_eq(ptr %t15, ptr @.str1308)
%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 @fn_str_eq(ptr %t22, ptr @.str1309)
%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 @fn_str_eq(ptr %t31, ptr @.str1310)
%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 @fn_str_eq(ptr %t35, ptr @.str1311)
%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 @fn_str_eq(ptr %t42, ptr @.str1312)
%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 @fn_str_eq(ptr %t49, ptr @.str1313)
%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 @fn_str_eq(ptr %t58, ptr @.str1314)
%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 @fn_str_eq(ptr %t62, ptr @.str1315)
%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 @fn_str_eq(ptr %t69, ptr @.str1316)
%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 @fn_str_eq(ptr %t76, ptr @.str1317)
%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 @fn_str_eq(ptr %t84, ptr @.str1318)
%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 @fn_str_eq(ptr %t88, ptr @.str1319)
%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 @fn_str_eq(ptr %t95, ptr @.str1320)
%t97 = icmp ne i32 %t96, 0
%t98 = zext i1 %t97 to i32
store i32 %t98, ptr %t82
br label %scend30
scend30:
%t99 = load i32, ptr %t82
%t100 = icmp ne i32 %t99, 0
br i1 %t100, label %then31, label %ifend33
then31:
store i32 1, ptr %retval
br label %ret
ifend33:
store i32 0, ptr %retval
br label %ret
ret:
%t101 = load i32, ptr %retval
ret i32 %t101
}
define ptr @fn_emit_vector_ns(ptr %arg_meth, ptr %arg_e) {
entry:
%retval = alloca ptr
%t0 = alloca ptr
%t1 = alloca ptr
%t17 = alloca ptr
%t26 = alloca ptr
%t46 = alloca ptr
%t63 = alloca ptr
%t80 = alloca ptr
%t89 = alloca ptr
%t94 = alloca ptr
%t99 = alloca ptr
%t104 = alloca ptr
%t109 = alloca ptr
%t116 = alloca ptr
%t123 = alloca ptr
%t139 = alloca ptr
%t148 = alloca ptr
%t153 = alloca ptr
%t158 = alloca ptr
%t163 = alloca ptr
%t168 = alloca ptr
%t175 = alloca ptr
%t182 = alloca ptr
%t198 = alloca ptr
%t207 = alloca ptr
%t212 = alloca ptr
%t217 = alloca ptr
%t223 = alloca ptr
%t229 = alloca ptr
%t245 = alloca ptr
%t254 = alloca ptr
%t259 = alloca ptr
%t264 = alloca ptr
%t269 = alloca ptr
%t274 = alloca ptr
%t278 = alloca ptr
%t282 = alloca ptr
%t301 = alloca ptr
%t306 = alloca ptr
%t311 = alloca ptr
%t315 = alloca ptr
%t319 = alloca ptr
%t326 = alloca ptr
%t343 = alloca ptr
%t352 = alloca ptr
%t357 = alloca ptr
%t362 = alloca ptr
%t367 = alloca ptr
%t372 = alloca ptr
%t379 = alloca ptr
%t386 = alloca ptr
%t390 = alloca ptr
%t394 = alloca ptr
%t401 = alloca ptr
%t418 = alloca ptr
%t423 = alloca ptr
%t428 = alloca ptr
%t432 = alloca ptr
%t436 = alloca ptr
%t443 = alloca ptr
%t448 = alloca ptr
%t453 = alloca ptr
%t460 = alloca ptr
%t463 = alloca ptr
%t467 = alloca ptr
%t471 = alloca ptr
%t487 = alloca ptr
%t496 = alloca ptr
%t503 = alloca ptr
%t510 = alloca ptr
%t515 = alloca ptr
%t520 = alloca ptr
%t525 = alloca ptr
%t529 = alloca ptr
%t533 = alloca ptr
%t537 = alloca ptr
%t541 = alloca ptr
%t548 = alloca ptr
%t555 = alloca ptr
%t571 = alloca ptr
%t576 = alloca ptr
%t581 = alloca ptr
%t601 = alloca ptr
%t608 = alloca ptr
%t615 = alloca ptr
%t620 = alloca ptr
%t633 = alloca ptr
%t642 = alloca ptr
%t651 = alloca ptr
%t656 = alloca ptr
%t661 = alloca ptr
%t666 = alloca ptr
%t671 = alloca ptr
%t678 = alloca ptr
%t685 = alloca ptr
store ptr %arg_meth, ptr %t0
store ptr %arg_e, ptr %t1
%t2 = load ptr, ptr %t0
%t3 = call i32 @fn_str_eq(ptr %t2, ptr @.str1321)
%t4 = icmp ne i32 %t3, 0
br i1 %t4, label %then0, label %ifend2
then0:
%t5 = call ptr @fn_val(ptr @.str1322, ptr @.str1323)
store ptr %t5, ptr %retval
br label %ret
ifend2:
%t6 = load ptr, ptr %t0
%t7 = call i32 @fn_str_eq(ptr %t6, ptr @.str1324)
%t8 = icmp ne i32 %t7, 0
br i1 %t8, label %then3, label %ifend5
then3:
%t9 = load ptr, ptr %t1
%t10 = getelementptr inbounds %Cmp_Node, ptr %t9, i32 0, i32 7
%t11 = load ptr, ptr %t10
%t12 = getelementptr inbounds %LSlice, ptr %t11, i32 0, i32 0
%t13 = load ptr, ptr %t12
%t14 = getelementptr inbounds ptr, ptr %t13, i32 0
%t15 = load ptr, ptr %t14
%t16 = call ptr @fn_emit_expr(ptr %t15)
store ptr %t16, ptr %t17
%t18 = load ptr, ptr %t1
%t19 = getelementptr inbounds %Cmp_Node, ptr %t18, i32 0, i32 7
%t20 = load ptr, ptr %t19
%t21 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 0
%t22 = load ptr, ptr %t21
%t23 = getelementptr inbounds ptr, ptr %t22, i32 1
%t24 = load ptr, ptr %t23
%t25 = call ptr @fn_emit_expr(ptr %t24)
store ptr %t25, ptr %t26
%t27 = load ptr, ptr %t17
%t28 = getelementptr inbounds %Cmp_Val, ptr %t27, i32 0, i32 0
%t29 = load ptr, ptr %t28
%t30 = load ptr, ptr %t26
%t31 = getelementptr inbounds %Cmp_Val, ptr %t30, i32 0, i32 0
%t32 = load ptr, ptr %t31
%t33 = call ptr @fn_vec_pack(ptr %t29, ptr %t32)
%t34 = call ptr @fn_val(ptr %t33, ptr @.str1325)
store ptr %t34, ptr %retval
br label %ret
ifend5:
%t35 = load ptr, ptr %t0
%t36 = call i32 @fn_str_eq(ptr %t35, ptr @.str1326)
%t37 = icmp ne i32 %t36, 0
br i1 %t37, label %then6, label %ifend8
then6:
%t38 = load ptr, ptr %t1
%t39 = getelementptr inbounds %Cmp_Node, ptr %t38, i32 0, i32 7
%t40 = load ptr, ptr %t39
%t41 = getelementptr inbounds %LSlice, ptr %t40, i32 0, i32 0
%t42 = load ptr, ptr %t41
%t43 = getelementptr inbounds ptr, ptr %t42, i32 0
%t44 = load ptr, ptr %t43
%t45 = call ptr @fn_emit_expr(ptr %t44)
store ptr %t45, ptr %t46
%t47 = load ptr, ptr %t46
%t48 = getelementptr inbounds %Cmp_Val, ptr %t47, i32 0, i32 0
%t49 = load ptr, ptr %t48
%t50 = call ptr @fn_vec_x(ptr %t49)
%t51 = call ptr @fn_val(ptr %t50, ptr @.str1327)
store ptr %t51, ptr %retval
br label %ret
ifend8:
%t52 = load ptr, ptr %t0
%t53 = call i32 @fn_str_eq(ptr %t52, ptr @.str1328)
%t54 = icmp ne i32 %t53, 0
br i1 %t54, label %then9, label %ifend11
then9:
%t55 = load ptr, ptr %t1
%t56 = getelementptr inbounds %Cmp_Node, ptr %t55, i32 0, i32 7
%t57 = load ptr, ptr %t56
%t58 = getelementptr inbounds %LSlice, ptr %t57, i32 0, i32 0
%t59 = load ptr, ptr %t58
%t60 = getelementptr inbounds ptr, ptr %t59, i32 0
%t61 = load ptr, ptr %t60
%t62 = call ptr @fn_emit_expr(ptr %t61)
store ptr %t62, ptr %t63
%t64 = load ptr, ptr %t63
%t65 = getelementptr inbounds %Cmp_Val, ptr %t64, i32 0, i32 0
%t66 = load ptr, ptr %t65
%t67 = call ptr @fn_vec_y(ptr %t66)
%t68 = call ptr @fn_val(ptr %t67, ptr @.str1329)
store ptr %t68, ptr %retval
br label %ret
ifend11:
%t69 = load ptr, ptr %t0
%t70 = call i32 @fn_str_eq(ptr %t69, ptr @.str1330)
%t71 = icmp ne i32 %t70, 0
br i1 %t71, label %then12, label %ifend14
then12:
%t72 = load ptr, ptr %t1
%t73 = getelementptr inbounds %Cmp_Node, ptr %t72, i32 0, i32 7
%t74 = load ptr, ptr %t73
%t75 = getelementptr inbounds %LSlice, ptr %t74, i32 0, i32 0
%t76 = load ptr, ptr %t75
%t77 = getelementptr inbounds ptr, ptr %t76, i32 0
%t78 = load ptr, ptr %t77
%t79 = call ptr @fn_emit_expr(ptr %t78)
store ptr %t79, ptr %t80
%t81 = load ptr, ptr %t1
%t82 = getelementptr inbounds %Cmp_Node, ptr %t81, i32 0, i32 7
%t83 = load ptr, ptr %t82
%t84 = getelementptr inbounds %LSlice, ptr %t83, i32 0, i32 0
%t85 = load ptr, ptr %t84
%t86 = getelementptr inbounds ptr, ptr %t85, i32 1
%t87 = load ptr, ptr %t86
%t88 = call ptr @fn_emit_expr(ptr %t87)
store ptr %t88, ptr %t89
%t90 = load ptr, ptr %t80
%t91 = getelementptr inbounds %Cmp_Val, ptr %t90, i32 0, i32 0
%t92 = load ptr, ptr %t91
%t93 = call ptr @fn_vec_x(ptr %t92)
store ptr %t93, ptr %t94
%t95 = load ptr, ptr %t80
%t96 = getelementptr inbounds %Cmp_Val, ptr %t95, i32 0, i32 0
%t97 = load ptr, ptr %t96
%t98 = call ptr @fn_vec_y(ptr %t97)
store ptr %t98, ptr %t99
%t100 = load ptr, ptr %t89
%t101 = getelementptr inbounds %Cmp_Val, ptr %t100, i32 0, i32 0
%t102 = load ptr, ptr %t101
%t103 = call ptr @fn_vec_x(ptr %t102)
store ptr %t103, ptr %t104
%t105 = load ptr, ptr %t89
%t106 = getelementptr inbounds %Cmp_Val, ptr %t105, i32 0, i32 0
%t107 = load ptr, ptr %t106
%t108 = call ptr @fn_vec_y(ptr %t107)
store ptr %t108, ptr %t109
%t110 = load ptr, ptr %t94
%t111 = call ptr @fn_str_concat(ptr @.str1331, ptr %t110)
%t112 = call ptr @fn_str_concat(ptr %t111, ptr @.str1332)
%t113 = load ptr, ptr %t104
%t114 = call ptr @fn_str_concat(ptr %t112, ptr %t113)
%t115 = call ptr @fn_emit_bind(ptr %t114)
store ptr %t115, ptr %t116
%t117 = load ptr, ptr %t99
%t118 = call ptr @fn_str_concat(ptr @.str1333, ptr %t117)
%t119 = call ptr @fn_str_concat(ptr %t118, ptr @.str1334)
%t120 = load ptr, ptr %t109
%t121 = call ptr @fn_str_concat(ptr %t119, ptr %t120)
%t122 = call ptr @fn_emit_bind(ptr %t121)
store ptr %t122, ptr %t123
%t124 = load ptr, ptr %t116
%t125 = load ptr, ptr %t123
%t126 = call ptr @fn_vec_pack(ptr %t124, ptr %t125)
%t127 = call ptr @fn_val(ptr %t126, ptr @.str1335)
store ptr %t127, ptr %retval
br label %ret
ifend14:
%t128 = load ptr, ptr %t0
%t129 = call i32 @fn_str_eq(ptr %t128, ptr @.str1336)
%t130 = icmp ne i32 %t129, 0
br i1 %t130, label %then15, label %ifend17
then15:
%t131 = load ptr, ptr %t1
%t132 = getelementptr inbounds %Cmp_Node, ptr %t131, i32 0, i32 7
%t133 = load ptr, ptr %t132
%t134 = getelementptr inbounds %LSlice, ptr %t133, i32 0, i32 0
%t135 = load ptr, ptr %t134
%t136 = getelementptr inbounds ptr, ptr %t135, i32 0
%t137 = load ptr, ptr %t136
%t138 = call ptr @fn_emit_expr(ptr %t137)
store ptr %t138, ptr %t139
%t140 = load ptr, ptr %t1
%t141 = getelementptr inbounds %Cmp_Node, ptr %t140, i32 0, i32 7
%t142 = load ptr, ptr %t141
%t143 = getelementptr inbounds %LSlice, ptr %t142, i32 0, i32 0
%t144 = load ptr, ptr %t143
%t145 = getelementptr inbounds ptr, ptr %t144, i32 1
%t146 = load ptr, ptr %t145
%t147 = call ptr @fn_emit_expr(ptr %t146)
store ptr %t147, ptr %t148
%t149 = load ptr, ptr %t139
%t150 = getelementptr inbounds %Cmp_Val, ptr %t149, i32 0, i32 0
%t151 = load ptr, ptr %t150
%t152 = call ptr @fn_vec_x(ptr %t151)
store ptr %t152, ptr %t153
%t154 = load ptr, ptr %t139
%t155 = getelementptr inbounds %Cmp_Val, ptr %t154, i32 0, i32 0
%t156 = load ptr, ptr %t155
%t157 = call ptr @fn_vec_y(ptr %t156)
store ptr %t157, ptr %t158
%t159 = load ptr, ptr %t148
%t160 = getelementptr inbounds %Cmp_Val, ptr %t159, i32 0, i32 0
%t161 = load ptr, ptr %t160
%t162 = call ptr @fn_vec_x(ptr %t161)
store ptr %t162, ptr %t163
%t164 = load ptr, ptr %t148
%t165 = getelementptr inbounds %Cmp_Val, ptr %t164, i32 0, i32 0
%t166 = load ptr, ptr %t165
%t167 = call ptr @fn_vec_y(ptr %t166)
store ptr %t167, ptr %t168
%t169 = load ptr, ptr %t153
%t170 = call ptr @fn_str_concat(ptr @.str1337, ptr %t169)
%t171 = call ptr @fn_str_concat(ptr %t170, ptr @.str1338)
%t172 = load ptr, ptr %t163
%t173 = call ptr @fn_str_concat(ptr %t171, ptr %t172)
%t174 = call ptr @fn_emit_bind(ptr %t173)
store ptr %t174, ptr %t175
%t176 = load ptr, ptr %t158
%t177 = call ptr @fn_str_concat(ptr @.str1339, ptr %t176)
%t178 = call ptr @fn_str_concat(ptr %t177, ptr @.str1340)
%t179 = load ptr, ptr %t168
%t180 = call ptr @fn_str_concat(ptr %t178, ptr %t179)
%t181 = call ptr @fn_emit_bind(ptr %t180)
store ptr %t181, ptr %t182
%t183 = load ptr, ptr %t175
%t184 = load ptr, ptr %t182
%t185 = call ptr @fn_vec_pack(ptr %t183, ptr %t184)
%t186 = call ptr @fn_val(ptr %t185, ptr @.str1341)
store ptr %t186, ptr %retval
br label %ret
ifend17:
%t187 = load ptr, ptr %t0
%t188 = call i32 @fn_str_eq(ptr %t187, ptr @.str1342)
%t189 = icmp ne i32 %t188, 0
br i1 %t189, label %then18, label %ifend20
then18:
%t190 = load ptr, ptr %t1
%t191 = getelementptr inbounds %Cmp_Node, ptr %t190, i32 0, i32 7
%t192 = load ptr, ptr %t191
%t193 = getelementptr inbounds %LSlice, ptr %t192, i32 0, i32 0
%t194 = load ptr, ptr %t193
%t195 = getelementptr inbounds ptr, ptr %t194, i32 0
%t196 = load ptr, ptr %t195
%t197 = call ptr @fn_emit_expr(ptr %t196)
store ptr %t197, ptr %t198
%t199 = load ptr, ptr %t1
%t200 = getelementptr inbounds %Cmp_Node, ptr %t199, i32 0, i32 7
%t201 = load ptr, ptr %t200
%t202 = getelementptr inbounds %LSlice, ptr %t201, i32 0, i32 0
%t203 = load ptr, ptr %t202
%t204 = getelementptr inbounds ptr, ptr %t203, i32 1
%t205 = load ptr, ptr %t204
%t206 = call ptr @fn_emit_expr(ptr %t205)
store ptr %t206, ptr %t207
%t208 = load ptr, ptr %t198
%t209 = getelementptr inbounds %Cmp_Val, ptr %t208, i32 0, i32 0
%t210 = load ptr, ptr %t209
%t211 = call ptr @fn_vec_x(ptr %t210)
store ptr %t211, ptr %t212
%t213 = load ptr, ptr %t198
%t214 = getelementptr inbounds %Cmp_Val, ptr %t213, i32 0, i32 0
%t215 = load ptr, ptr %t214
%t216 = call ptr @fn_vec_y(ptr %t215)
store ptr %t216, ptr %t217
%t218 = load ptr, ptr %t212
%t219 = load ptr, ptr %t207
%t220 = getelementptr inbounds %Cmp_Val, ptr %t219, i32 0, i32 0
%t221 = load ptr, ptr %t220
%t222 = call ptr @fn_fx_mul_code(ptr %t218, ptr %t221)
store ptr %t222, ptr %t223
%t224 = load ptr, ptr %t217
%t225 = load ptr, ptr %t207
%t226 = getelementptr inbounds %Cmp_Val, ptr %t225, i32 0, i32 0
%t227 = load ptr, ptr %t226
%t228 = call ptr @fn_fx_mul_code(ptr %t224, ptr %t227)
store ptr %t228, ptr %t229
%t230 = load ptr, ptr %t223
%t231 = load ptr, ptr %t229
%t232 = call ptr @fn_vec_pack(ptr %t230, ptr %t231)
%t233 = call ptr @fn_val(ptr %t232, ptr @.str1343)
store ptr %t233, ptr %retval
br label %ret
ifend20:
%t234 = load ptr, ptr %t0
%t235 = call i32 @fn_str_eq(ptr %t234, ptr @.str1344)
%t236 = icmp ne i32 %t235, 0
br i1 %t236, label %then21, label %ifend23
then21:
%t237 = load ptr, ptr %t1
%t238 = getelementptr inbounds %Cmp_Node, ptr %t237, i32 0, i32 7
%t239 = load ptr, ptr %t238
%t240 = getelementptr inbounds %LSlice, ptr %t239, i32 0, i32 0
%t241 = load ptr, ptr %t240
%t242 = getelementptr inbounds ptr, ptr %t241, i32 0
%t243 = load ptr, ptr %t242
%t244 = call ptr @fn_emit_expr(ptr %t243)
store ptr %t244, ptr %t245
%t246 = load ptr, ptr %t1
%t247 = getelementptr inbounds %Cmp_Node, ptr %t246, i32 0, i32 7
%t248 = load ptr, ptr %t247
%t249 = getelementptr inbounds %LSlice, ptr %t248, i32 0, i32 0
%t250 = load ptr, ptr %t249
%t251 = getelementptr inbounds ptr, ptr %t250, i32 1
%t252 = load ptr, ptr %t251
%t253 = call ptr @fn_emit_expr(ptr %t252)
store ptr %t253, ptr %t254
%t255 = load ptr, ptr %t245
%t256 = getelementptr inbounds %Cmp_Val, ptr %t255, i32 0, i32 0
%t257 = load ptr, ptr %t256
%t258 = call ptr @fn_vec_x(ptr %t257)
store ptr %t258, ptr %t259
%t260 = load ptr, ptr %t245
%t261 = getelementptr inbounds %Cmp_Val, ptr %t260, i32 0, i32 0
%t262 = load ptr, ptr %t261
%t263 = call ptr @fn_vec_y(ptr %t262)
store ptr %t263, ptr %t264
%t265 = load ptr, ptr %t254
%t266 = getelementptr inbounds %Cmp_Val, ptr %t265, i32 0, i32 0
%t267 = load ptr, ptr %t266
%t268 = call ptr @fn_vec_x(ptr %t267)
store ptr %t268, ptr %t269
%t270 = load ptr, ptr %t254
%t271 = getelementptr inbounds %Cmp_Val, ptr %t270, i32 0, i32 0
%t272 = load ptr, ptr %t271
%t273 = call ptr @fn_vec_y(ptr %t272)
store ptr %t273, ptr %t274
%t275 = load ptr, ptr %t259
%t276 = load ptr, ptr %t269
%t277 = call ptr @fn_fx_mul_code(ptr %t275, ptr %t276)
store ptr %t277, ptr %t278
%t279 = load ptr, ptr %t264
%t280 = load ptr, ptr %t274
%t281 = call ptr @fn_fx_mul_code(ptr %t279, ptr %t280)
store ptr %t281, ptr %t282
%t283 = load ptr, ptr %t278
%t284 = call ptr @fn_str_concat(ptr @.str1345, ptr %t283)
%t285 = call ptr @fn_str_concat(ptr %t284, ptr @.str1346)
%t286 = load ptr, ptr %t282
%t287 = call ptr @fn_str_concat(ptr %t285, ptr %t286)
%t288 = call ptr @fn_emit_bind(ptr %t287)
%t289 = call ptr @fn_val(ptr %t288, ptr @.str1347)
store ptr %t289, ptr %retval
br label %ret
ifend23:
%t290 = load ptr, ptr %t0
%t291 = call i32 @fn_str_eq(ptr %t290, ptr @.str1348)
%t292 = icmp ne i32 %t291, 0
br i1 %t292, label %then24, label %ifend26
then24:
store i32 1, ptr @g_g_uses_mathrt
%t293 = load ptr, ptr %t1
%t294 = getelementptr inbounds %Cmp_Node, ptr %t293, i32 0, i32 7
%t295 = load ptr, ptr %t294
%t296 = getelementptr inbounds %LSlice, ptr %t295, i32 0, i32 0
%t297 = load ptr, ptr %t296
%t298 = getelementptr inbounds ptr, ptr %t297, i32 0
%t299 = load ptr, ptr %t298
%t300 = call ptr @fn_emit_expr(ptr %t299)
store ptr %t300, ptr %t301
%t302 = load ptr, ptr %t301
%t303 = getelementptr inbounds %Cmp_Val, ptr %t302, i32 0, i32 0
%t304 = load ptr, ptr %t303
%t305 = call ptr @fn_vec_x(ptr %t304)
store ptr %t305, ptr %t306
%t307 = load ptr, ptr %t301
%t308 = getelementptr inbounds %Cmp_Val, ptr %t307, i32 0, i32 0
%t309 = load ptr, ptr %t308
%t310 = call ptr @fn_vec_y(ptr %t309)
store ptr %t310, ptr %t311
%t312 = load ptr, ptr %t306
%t313 = load ptr, ptr %t306
%t314 = call ptr @fn_fx_mul_code(ptr %t312, ptr %t313)
store ptr %t314, ptr %t315
%t316 = load ptr, ptr %t311
%t317 = load ptr, ptr %t311
%t318 = call ptr @fn_fx_mul_code(ptr %t316, ptr %t317)
store ptr %t318, ptr %t319
%t320 = load ptr, ptr %t315
%t321 = call ptr @fn_str_concat(ptr @.str1349, ptr %t320)
%t322 = call ptr @fn_str_concat(ptr %t321, ptr @.str1350)
%t323 = load ptr, ptr %t319
%t324 = call ptr @fn_str_concat(ptr %t322, ptr %t323)
%t325 = call ptr @fn_emit_bind(ptr %t324)
store ptr %t325, ptr %t326
%t327 = load ptr, ptr %t326
%t328 = call ptr @fn_str_concat(ptr @.str1351, ptr %t327)
%t329 = call ptr @fn_str_concat(ptr %t328, ptr @.str1352)
%t330 = call ptr @fn_emit_bind(ptr %t329)
%t331 = call ptr @fn_val(ptr %t330, ptr @.str1353)
store ptr %t331, ptr %retval
br label %ret
ifend26:
%t332 = load ptr, ptr %t0
%t333 = call i32 @fn_str_eq(ptr %t332, ptr @.str1354)
%t334 = icmp ne i32 %t333, 0
br i1 %t334, label %then27, label %ifend29
then27:
store i32 1, ptr @g_g_uses_mathrt
%t335 = load ptr, ptr %t1
%t336 = getelementptr inbounds %Cmp_Node, ptr %t335, i32 0, i32 7
%t337 = load ptr, ptr %t336
%t338 = getelementptr inbounds %LSlice, ptr %t337, i32 0, i32 0
%t339 = load ptr, ptr %t338
%t340 = getelementptr inbounds ptr, ptr %t339, i32 0
%t341 = load ptr, ptr %t340
%t342 = call ptr @fn_emit_expr(ptr %t341)
store ptr %t342, ptr %t343
%t344 = load ptr, ptr %t1
%t345 = getelementptr inbounds %Cmp_Node, ptr %t344, i32 0, i32 7
%t346 = load ptr, ptr %t345
%t347 = getelementptr inbounds %LSlice, ptr %t346, i32 0, i32 0
%t348 = load ptr, ptr %t347
%t349 = getelementptr inbounds ptr, ptr %t348, i32 1
%t350 = load ptr, ptr %t349
%t351 = call ptr @fn_emit_expr(ptr %t350)
store ptr %t351, ptr %t352
%t353 = load ptr, ptr %t343
%t354 = getelementptr inbounds %Cmp_Val, ptr %t353, i32 0, i32 0
%t355 = load ptr, ptr %t354
%t356 = call ptr @fn_vec_x(ptr %t355)
store ptr %t356, ptr %t357
%t358 = load ptr, ptr %t343
%t359 = getelementptr inbounds %Cmp_Val, ptr %t358, i32 0, i32 0
%t360 = load ptr, ptr %t359
%t361 = call ptr @fn_vec_y(ptr %t360)
store ptr %t361, ptr %t362
%t363 = load ptr, ptr %t352
%t364 = getelementptr inbounds %Cmp_Val, ptr %t363, i32 0, i32 0
%t365 = load ptr, ptr %t364
%t366 = call ptr @fn_vec_x(ptr %t365)
store ptr %t366, ptr %t367
%t368 = load ptr, ptr %t352
%t369 = getelementptr inbounds %Cmp_Val, ptr %t368, i32 0, i32 0
%t370 = load ptr, ptr %t369
%t371 = call ptr @fn_vec_y(ptr %t370)
store ptr %t371, ptr %t372
%t373 = load ptr, ptr %t357
%t374 = call ptr @fn_str_concat(ptr @.str1355, ptr %t373)
%t375 = call ptr @fn_str_concat(ptr %t374, ptr @.str1356)
%t376 = load ptr, ptr %t367
%t377 = call ptr @fn_str_concat(ptr %t375, ptr %t376)
%t378 = call ptr @fn_emit_bind(ptr %t377)
store ptr %t378, ptr %t379
%t380 = load ptr, ptr %t362
%t381 = call ptr @fn_str_concat(ptr @.str1357, ptr %t380)
%t382 = call ptr @fn_str_concat(ptr %t381, ptr @.str1358)
%t383 = load ptr, ptr %t372
%t384 = call ptr @fn_str_concat(ptr %t382, ptr %t383)
%t385 = call ptr @fn_emit_bind(ptr %t384)
store ptr %t385, ptr %t386
%t387 = load ptr, ptr %t379
%t388 = load ptr, ptr %t379
%t389 = call ptr @fn_fx_mul_code(ptr %t387, ptr %t388)
store ptr %t389, ptr %t390
%t391 = load ptr, ptr %t386
%t392 = load ptr, ptr %t386
%t393 = call ptr @fn_fx_mul_code(ptr %t391, ptr %t392)
store ptr %t393, ptr %t394
%t395 = load ptr, ptr %t390
%t396 = call ptr @fn_str_concat(ptr @.str1359, ptr %t395)
%t397 = call ptr @fn_str_concat(ptr %t396, ptr @.str1360)
%t398 = load ptr, ptr %t394
%t399 = call ptr @fn_str_concat(ptr %t397, ptr %t398)
%t400 = call ptr @fn_emit_bind(ptr %t399)
store ptr %t400, ptr %t401
%t402 = load ptr, ptr %t401
%t403 = call ptr @fn_str_concat(ptr @.str1361, ptr %t402)
%t404 = call ptr @fn_str_concat(ptr %t403, ptr @.str1362)
%t405 = call ptr @fn_emit_bind(ptr %t404)
%t406 = call ptr @fn_val(ptr %t405, ptr @.str1363)
store ptr %t406, ptr %retval
br label %ret
ifend29:
%t407 = load ptr, ptr %t0
%t408 = call i32 @fn_str_eq(ptr %t407, ptr @.str1364)
%t409 = icmp ne i32 %t408, 0
br i1 %t409, label %then30, label %ifend32
then30:
store i32 1, ptr @g_g_uses_mathrt
%t410 = load ptr, ptr %t1
%t411 = getelementptr inbounds %Cmp_Node, ptr %t410, i32 0, i32 7
%t412 = load ptr, ptr %t411
%t413 = getelementptr inbounds %LSlice, ptr %t412, i32 0, i32 0
%t414 = load ptr, ptr %t413
%t415 = getelementptr inbounds ptr, ptr %t414, i32 0
%t416 = load ptr, ptr %t415
%t417 = call ptr @fn_emit_expr(ptr %t416)
store ptr %t417, ptr %t418
%t419 = load ptr, ptr %t418
%t420 = getelementptr inbounds %Cmp_Val, ptr %t419, i32 0, i32 0
%t421 = load ptr, ptr %t420
%t422 = call ptr @fn_vec_x(ptr %t421)
store ptr %t422, ptr %t423
%t424 = load ptr, ptr %t418
%t425 = getelementptr inbounds %Cmp_Val, ptr %t424, i32 0, i32 0
%t426 = load ptr, ptr %t425
%t427 = call ptr @fn_vec_y(ptr %t426)
store ptr %t427, ptr %t428
%t429 = load ptr, ptr %t423
%t430 = load ptr, ptr %t423
%t431 = call ptr @fn_fx_mul_code(ptr %t429, ptr %t430)
store ptr %t431, ptr %t432
%t433 = load ptr, ptr %t428
%t434 = load ptr, ptr %t428
%t435 = call ptr @fn_fx_mul_code(ptr %t433, ptr %t434)
store ptr %t435, ptr %t436
%t437 = load ptr, ptr %t432
%t438 = call ptr @fn_str_concat(ptr @.str1365, ptr %t437)
%t439 = call ptr @fn_str_concat(ptr %t438, ptr @.str1366)
%t440 = load ptr, ptr %t436
%t441 = call ptr @fn_str_concat(ptr %t439, ptr %t440)
%t442 = call ptr @fn_emit_bind(ptr %t441)
store ptr %t442, ptr %t443
%t444 = load ptr, ptr %t443
%t445 = call ptr @fn_str_concat(ptr @.str1367, ptr %t444)
%t446 = call ptr @fn_str_concat(ptr %t445, ptr @.str1368)
%t447 = call ptr @fn_emit_bind(ptr %t446)
store ptr %t447, ptr %t448
%t449 = load ptr, ptr %t448
%t450 = call ptr @fn_str_concat(ptr @.str1369, ptr %t449)
%t451 = call ptr @fn_str_concat(ptr %t450, ptr @.str1370)
%t452 = call ptr @fn_emit_bind(ptr %t451)
store ptr %t452, ptr %t453
%t454 = load ptr, ptr %t453
%t455 = call ptr @fn_str_concat(ptr @.str1371, ptr %t454)
%t456 = call ptr @fn_str_concat(ptr %t455, ptr @.str1372)
%t457 = load ptr, ptr %t448
%t458 = call ptr @fn_str_concat(ptr %t456, ptr %t457)
%t459 = call ptr @fn_emit_bind(ptr %t458)
store ptr %t459, ptr %t460
%t461 = load ptr, ptr %t460
%t462 = call ptr @fn_fx_div_code(ptr @.str1373, ptr %t461)
store ptr %t462, ptr %t463
%t464 = load ptr, ptr %t423
%t465 = load ptr, ptr %t463
%t466 = call ptr @fn_fx_mul_code(ptr %t464, ptr %t465)
store ptr %t466, ptr %t467
%t468 = load ptr, ptr %t428
%t469 = load ptr, ptr %t463
%t470 = call ptr @fn_fx_mul_code(ptr %t468, ptr %t469)
store ptr %t470, ptr %t471
%t472 = load ptr, ptr %t467
%t473 = load ptr, ptr %t471
%t474 = call ptr @fn_vec_pack(ptr %t472, ptr %t473)
%t475 = call ptr @fn_val(ptr %t474, ptr @.str1374)
store ptr %t475, ptr %retval
br label %ret
ifend32:
%t476 = load ptr, ptr %t0
%t477 = call i32 @fn_str_eq(ptr %t476, ptr @.str1375)
%t478 = icmp ne i32 %t477, 0
br i1 %t478, label %then33, label %ifend35
then33:
store i32 1, ptr @g_g_uses_mathrt
%t479 = load ptr, ptr %t1
%t480 = getelementptr inbounds %Cmp_Node, ptr %t479, i32 0, i32 7
%t481 = load ptr, ptr %t480
%t482 = getelementptr inbounds %LSlice, ptr %t481, i32 0, i32 0
%t483 = load ptr, ptr %t482
%t484 = getelementptr inbounds ptr, ptr %t483, i32 0
%t485 = load ptr, ptr %t484
%t486 = call ptr @fn_emit_expr(ptr %t485)
store ptr %t486, ptr %t487
%t488 = load ptr, ptr %t1
%t489 = getelementptr inbounds %Cmp_Node, ptr %t488, i32 0, i32 7
%t490 = load ptr, ptr %t489
%t491 = getelementptr inbounds %LSlice, ptr %t490, i32 0, i32 0
%t492 = load ptr, ptr %t491
%t493 = getelementptr inbounds ptr, ptr %t492, i32 1
%t494 = load ptr, ptr %t493
%t495 = call ptr @fn_emit_expr(ptr %t494)
store ptr %t495, ptr %t496
%t497 = load ptr, ptr %t496
%t498 = getelementptr inbounds %Cmp_Val, ptr %t497, i32 0, i32 0
%t499 = load ptr, ptr %t498
%t500 = call ptr @fn_str_concat(ptr @.str1376, ptr %t499)
%t501 = call ptr @fn_str_concat(ptr %t500, ptr @.str1377)
%t502 = call ptr @fn_emit_bind(ptr %t501)
store ptr %t502, ptr %t503
%t504 = load ptr, ptr %t496
%t505 = getelementptr inbounds %Cmp_Val, ptr %t504, i32 0, i32 0
%t506 = load ptr, ptr %t505
%t507 = call ptr @fn_str_concat(ptr @.str1378, ptr %t506)
%t508 = call ptr @fn_str_concat(ptr %t507, ptr @.str1379)
%t509 = call ptr @fn_emit_bind(ptr %t508)
store ptr %t509, ptr %t510
%t511 = load ptr, ptr %t510
%t512 = call ptr @fn_str_concat(ptr @.str1380, ptr %t511)
%t513 = call ptr @fn_str_concat(ptr %t512, ptr @.str1381)
%t514 = call ptr @fn_emit_bind(ptr %t513)
store ptr %t514, ptr %t515
%t516 = load ptr, ptr %t487
%t517 = getelementptr inbounds %Cmp_Val, ptr %t516, i32 0, i32 0
%t518 = load ptr, ptr %t517
%t519 = call ptr @fn_vec_x(ptr %t518)
store ptr %t519, ptr %t520
%t521 = load ptr, ptr %t487
%t522 = getelementptr inbounds %Cmp_Val, ptr %t521, i32 0, i32 0
%t523 = load ptr, ptr %t522
%t524 = call ptr @fn_vec_y(ptr %t523)
store ptr %t524, ptr %t525
%t526 = load ptr, ptr %t520
%t527 = load ptr, ptr %t515
%t528 = call ptr @fn_fx_mul_code(ptr %t526, ptr %t527)
store ptr %t528, ptr %t529
%t530 = load ptr, ptr %t525
%t531 = load ptr, ptr %t503
%t532 = call ptr @fn_fx_mul_code(ptr %t530, ptr %t531)
store ptr %t532, ptr %t533
%t534 = load ptr, ptr %t520
%t535 = load ptr, ptr %t503
%t536 = call ptr @fn_fx_mul_code(ptr %t534, ptr %t535)
store ptr %t536, ptr %t537
%t538 = load ptr, ptr %t525
%t539 = load ptr, ptr %t515
%t540 = call ptr @fn_fx_mul_code(ptr %t538, ptr %t539)
store ptr %t540, ptr %t541
%t542 = load ptr, ptr %t529
%t543 = call ptr @fn_str_concat(ptr @.str1382, ptr %t542)
%t544 = call ptr @fn_str_concat(ptr %t543, ptr @.str1383)
%t545 = load ptr, ptr %t533
%t546 = call ptr @fn_str_concat(ptr %t544, ptr %t545)
%t547 = call ptr @fn_emit_bind(ptr %t546)
store ptr %t547, ptr %t548
%t549 = load ptr, ptr %t537
%t550 = call ptr @fn_str_concat(ptr @.str1384, ptr %t549)
%t551 = call ptr @fn_str_concat(ptr %t550, ptr @.str1385)
%t552 = load ptr, ptr %t541
%t553 = call ptr @fn_str_concat(ptr %t551, ptr %t552)
%t554 = call ptr @fn_emit_bind(ptr %t553)
store ptr %t554, ptr %t555
%t556 = load ptr, ptr %t548
%t557 = load ptr, ptr %t555
%t558 = call ptr @fn_vec_pack(ptr %t556, ptr %t557)
%t559 = call ptr @fn_val(ptr %t558, ptr @.str1386)
store ptr %t559, ptr %retval
br label %ret
ifend35:
%t560 = load ptr, ptr %t0
%t561 = call i32 @fn_str_eq(ptr %t560, ptr @.str1387)
%t562 = icmp ne i32 %t561, 0
br i1 %t562, label %then36, label %ifend38
then36:
store i32 1, ptr @g_g_uses_mathrt
%t563 = load ptr, ptr %t1
%t564 = getelementptr inbounds %Cmp_Node, ptr %t563, i32 0, i32 7
%t565 = load ptr, ptr %t564
%t566 = getelementptr inbounds %LSlice, ptr %t565, i32 0, i32 0
%t567 = load ptr, ptr %t566
%t568 = getelementptr inbounds ptr, ptr %t567, i32 0
%t569 = load ptr, ptr %t568
%t570 = call ptr @fn_emit_expr(ptr %t569)
store ptr %t570, ptr %t571
%t572 = load ptr, ptr %t571
%t573 = getelementptr inbounds %Cmp_Val, ptr %t572, i32 0, i32 0
%t574 = load ptr, ptr %t573
%t575 = call ptr @fn_vec_x(ptr %t574)
store ptr %t575, ptr %t576
%t577 = load ptr, ptr %t571
%t578 = getelementptr inbounds %Cmp_Val, ptr %t577, i32 0, i32 0
%t579 = load ptr, ptr %t578
%t580 = call ptr @fn_vec_y(ptr %t579)
store ptr %t580, ptr %t581
%t582 = load ptr, ptr %t581
%t583 = call ptr @fn_str_concat(ptr @.str1388, ptr %t582)
%t584 = call ptr @fn_str_concat(ptr %t583, ptr @.str1389)
%t585 = load ptr, ptr %t576
%t586 = call ptr @fn_str_concat(ptr %t584, ptr %t585)
%t587 = call ptr @fn_str_concat(ptr %t586, ptr @.str1390)
%t588 = call ptr @fn_emit_bind(ptr %t587)
%t589 = call ptr @fn_val(ptr %t588, ptr @.str1391)
store ptr %t589, ptr %retval
br label %ret
ifend38:
%t590 = load ptr, ptr %t0
%t591 = call i32 @fn_str_eq(ptr %t590, ptr @.str1392)
%t592 = icmp ne i32 %t591, 0
br i1 %t592, label %then39, label %ifend41
then39:
store i32 1, ptr @g_g_uses_mathrt
%t593 = load ptr, ptr %t1
%t594 = getelementptr inbounds %Cmp_Node, ptr %t593, i32 0, i32 7
%t595 = load ptr, ptr %t594
%t596 = getelementptr inbounds %LSlice, ptr %t595, i32 0, i32 0
%t597 = load ptr, ptr %t596
%t598 = getelementptr inbounds ptr, ptr %t597, i32 0
%t599 = load ptr, ptr %t598
%t600 = call ptr @fn_emit_expr(ptr %t599)
store ptr %t600, ptr %t601
%t602 = load ptr, ptr %t601
%t603 = getelementptr inbounds %Cmp_Val, ptr %t602, i32 0, i32 0
%t604 = load ptr, ptr %t603
%t605 = call ptr @fn_str_concat(ptr @.str1393, ptr %t604)
%t606 = call ptr @fn_str_concat(ptr %t605, ptr @.str1394)
%t607 = call ptr @fn_emit_bind(ptr %t606)
store ptr %t607, ptr %t608
%t609 = load ptr, ptr %t601
%t610 = getelementptr inbounds %Cmp_Val, ptr %t609, i32 0, i32 0
%t611 = load ptr, ptr %t610
%t612 = call ptr @fn_str_concat(ptr @.str1395, ptr %t611)
%t613 = call ptr @fn_str_concat(ptr %t612, ptr @.str1396)
%t614 = call ptr @fn_emit_bind(ptr %t613)
store ptr %t614, ptr %t615
%t616 = load ptr, ptr %t615
%t617 = call ptr @fn_str_concat(ptr @.str1397, ptr %t616)
%t618 = call ptr @fn_str_concat(ptr %t617, ptr @.str1398)
%t619 = call ptr @fn_emit_bind(ptr %t618)
store ptr %t619, ptr %t620
%t621 = load ptr, ptr %t620
%t622 = load ptr, ptr %t608
%t623 = call ptr @fn_vec_pack(ptr %t621, ptr %t622)
%t624 = call ptr @fn_val(ptr %t623, ptr @.str1399)
store ptr %t624, ptr %retval
br label %ret
ifend41:
%t625 = load ptr, ptr %t1
%t626 = getelementptr inbounds %Cmp_Node, ptr %t625, i32 0, i32 7
%t627 = load ptr, ptr %t626
%t628 = getelementptr inbounds %LSlice, ptr %t627, i32 0, i32 0
%t629 = load ptr, ptr %t628
%t630 = getelementptr inbounds ptr, ptr %t629, i32 0
%t631 = load ptr, ptr %t630
%t632 = call ptr @fn_emit_expr(ptr %t631)
store ptr %t632, ptr %t633
%t634 = load ptr, ptr %t1
%t635 = getelementptr inbounds %Cmp_Node, ptr %t634, i32 0, i32 7
%t636 = load ptr, ptr %t635
%t637 = getelementptr inbounds %LSlice, ptr %t636, i32 0, i32 0
%t638 = load ptr, ptr %t637
%t639 = getelementptr inbounds ptr, ptr %t638, i32 1
%t640 = load ptr, ptr %t639
%t641 = call ptr @fn_emit_expr(ptr %t640)
store ptr %t641, ptr %t642
%t643 = load ptr, ptr %t1
%t644 = getelementptr inbounds %Cmp_Node, ptr %t643, i32 0, i32 7
%t645 = load ptr, ptr %t644
%t646 = getelementptr inbounds %LSlice, ptr %t645, i32 0, i32 0
%t647 = load ptr, ptr %t646
%t648 = getelementptr inbounds ptr, ptr %t647, i32 2
%t649 = load ptr, ptr %t648
%t650 = call ptr @fn_emit_expr(ptr %t649)
store ptr %t650, ptr %t651
%t652 = load ptr, ptr %t633
%t653 = getelementptr inbounds %Cmp_Val, ptr %t652, i32 0, i32 0
%t654 = load ptr, ptr %t653
%t655 = call ptr @fn_vec_x(ptr %t654)
store ptr %t655, ptr %t656
%t657 = load ptr, ptr %t633
%t658 = getelementptr inbounds %Cmp_Val, ptr %t657, i32 0, i32 0
%t659 = load ptr, ptr %t658
%t660 = call ptr @fn_vec_y(ptr %t659)
store ptr %t660, ptr %t661
%t662 = load ptr, ptr %t642
%t663 = getelementptr inbounds %Cmp_Val, ptr %t662, i32 0, i32 0
%t664 = load ptr, ptr %t663
%t665 = call ptr @fn_vec_x(ptr %t664)
store ptr %t665, ptr %t666
%t667 = load ptr, ptr %t642
%t668 = getelementptr inbounds %Cmp_Val, ptr %t667, i32 0, i32 0
%t669 = load ptr, ptr %t668
%t670 = call ptr @fn_vec_y(ptr %t669)
store ptr %t670, ptr %t671
%t672 = load ptr, ptr %t656
%t673 = load ptr, ptr %t666
%t674 = load ptr, ptr %t651
%t675 = getelementptr inbounds %Cmp_Val, ptr %t674, i32 0, i32 0
%t676 = load ptr, ptr %t675
%t677 = call ptr @fn_fx_lerp_code(ptr %t672, ptr %t673, ptr %t676)
store ptr %t677, ptr %t678
%t679 = load ptr, ptr %t661
%t680 = load ptr, ptr %t671
%t681 = load ptr, ptr %t651
%t682 = getelementptr inbounds %Cmp_Val, ptr %t681, i32 0, i32 0
%t683 = load ptr, ptr %t682
%t684 = call ptr @fn_fx_lerp_code(ptr %t679, ptr %t680, ptr %t683)
store ptr %t684, ptr %t685
%t686 = load ptr, ptr %t678
%t687 = load ptr, ptr %t685
%t688 = call ptr @fn_vec_pack(ptr %t686, ptr %t687)
%t689 = call ptr @fn_val(ptr %t688, ptr @.str1400)
store ptr %t689, ptr %retval
br label %ret
ret:
%t690 = load ptr, ptr %retval
ret ptr %t690
}
define i32 @fn_is_text_ns(ptr %arg_meth) {
entry:
%retval = alloca i32
%t0 = alloca ptr
%t1 = alloca i32
%t2 = alloca i32
%t20 = alloca i32
%t21 = alloca i32
%t22 = alloca i32
%t47 = alloca i32
%t58 = alloca i32
%t69 = alloca i32
%t70 = alloca i32
%t71 = alloca i32
%t96 = alloca i32
%t107 = alloca i32
%t108 = alloca i32
store ptr %arg_meth, ptr %t0
%t3 = load ptr, ptr %t0
%t4 = call i32 @fn_str_eq(ptr %t3, ptr @.str1401)
%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_str_eq(ptr %t7, ptr @.str1402)
%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_eq(ptr %t14, ptr @.str1403)
%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 @fn_str_eq(ptr %t23, ptr @.str1404)
%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 @fn_str_eq(ptr %t27, ptr @.str1405)
%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 @fn_str_eq(ptr %t34, ptr @.str1406)
%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 @fn_str_eq(ptr %t41, ptr @.str1407)
%t43 = icmp ne i32 %t42, 0
%t44 = zext i1 %t43 to i32
store i32 %t44, ptr %t20
br label %scend12
scend12:
%t45 = load i32, ptr %t20
%t46 = icmp ne i32 %t45, 0
br i1 %t46, label %then13, label %ifend15
then13:
store i32 1, ptr %retval
br label %ret
ifend15:
%t48 = load ptr, ptr %t0
%t49 = call i32 @fn_str_eq(ptr %t48, ptr @.str1408)
%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 @fn_str_eq(ptr %t52, ptr @.str1409)
%t54 = icmp ne i32 %t53, 0
%t55 = zext i1 %t54 to i32
store i32 %t55, ptr %t47
br label %scend17
scend17:
%t56 = load i32, ptr %t47
%t57 = icmp ne i32 %t56, 0
br i1 %t57, label %then18, label %ifend20
then18:
store i32 1, ptr %retval
br label %ret
ifend20:
%t59 = load ptr, ptr %t0
%t60 = call i32 @fn_str_eq(ptr %t59, ptr @.str1410)
%t61 = icmp ne i32 %t60, 0
%t62 = zext i1 %t61 to i32
store i32 %t62, ptr %t58
br i1 %t61, label %scend22, label %sc21
sc21:
%t63 = load ptr, ptr %t0
%t64 = call i32 @fn_str_eq(ptr %t63, ptr @.str1411)
%t65 = icmp ne i32 %t64, 0
%t66 = zext i1 %t65 to i32
store i32 %t66, ptr %t58
br label %scend22
scend22:
%t67 = load i32, ptr %t58
%t68 = icmp ne i32 %t67, 0
br i1 %t68, label %then23, label %ifend25
then23:
store i32 1, ptr %retval
br label %ret
ifend25:
%t72 = load ptr, ptr %t0
%t73 = call i32 @fn_str_eq(ptr %t72, ptr @.str1412)
%t74 = icmp ne i32 %t73, 0
%t75 = zext i1 %t74 to i32
store i32 %t75, ptr %t71
br i1 %t74, label %scend27, label %sc26
sc26:
%t76 = load ptr, ptr %t0
%t77 = call i32 @fn_str_eq(ptr %t76, ptr @.str1413)
%t78 = icmp ne i32 %t77, 0
%t79 = zext i1 %t78 to i32
store i32 %t79, ptr %t71
br label %scend27
scend27:
%t80 = load i32, ptr %t71
%t81 = icmp ne i32 %t80, 0
%t82 = zext i1 %t81 to i32
store i32 %t82, ptr %t70
br i1 %t81, label %scend29, label %sc28
sc28:
%t83 = load ptr, ptr %t0
%t84 = call i32 @fn_str_eq(ptr %t83, ptr @.str1414)
%t85 = icmp ne i32 %t84, 0
%t86 = zext i1 %t85 to i32
store i32 %t86, ptr %t70
br label %scend29
scend29:
%t87 = load i32, ptr %t70
%t88 = icmp ne i32 %t87, 0
%t89 = zext i1 %t88 to i32
store i32 %t89, ptr %t69
br i1 %t88, label %scend31, label %sc30
sc30:
%t90 = load ptr, ptr %t0
%t91 = call i32 @fn_str_eq(ptr %t90, ptr @.str1415)
%t92 = icmp ne i32 %t91, 0
%t93 = zext i1 %t92 to i32
store i32 %t93, ptr %t69
br label %scend31
scend31:
%t94 = load i32, ptr %t69
%t95 = icmp ne i32 %t94, 0
br i1 %t95, label %then32, label %ifend34
then32:
store i32 1, ptr %retval
br label %ret
ifend34:
%t97 = load ptr, ptr %t0
%t98 = call i32 @fn_str_eq(ptr %t97, ptr @.str1416)
%t99 = icmp ne i32 %t98, 0
%t100 = zext i1 %t99 to i32
store i32 %t100, ptr %t96
br i1 %t99, label %scend36, label %sc35
sc35:
%t101 = load ptr, ptr %t0
%t102 = call i32 @fn_str_eq(ptr %t101, ptr @.str1417)
%t103 = icmp ne i32 %t102, 0
%t104 = zext i1 %t103 to i32
store i32 %t104, ptr %t96
br label %scend36
scend36:
%t105 = load i32, ptr %t96
%t106 = icmp ne i32 %t105, 0
br i1 %t106, label %then37, label %ifend39
then37:
store i32 1, ptr %retval
br label %ret
ifend39:
%t109 = load ptr, ptr %t0
%t110 = call i32 @fn_str_eq(ptr %t109, ptr @.str1418)
%t111 = icmp ne i32 %t110, 0
%t112 = zext i1 %t111 to i32
store i32 %t112, ptr %t108
br i1 %t111, label %scend41, label %sc40
sc40:
%t113 = load ptr, ptr %t0
%t114 = call i32 @fn_str_eq(ptr %t113, ptr @.str1419)
%t115 = icmp ne i32 %t114, 0
%t116 = zext i1 %t115 to i32
store i32 %t116, ptr %t108
br label %scend41
scend41:
%t117 = load i32, ptr %t108
%t118 = icmp ne i32 %t117, 0
%t119 = zext i1 %t118 to i32
store i32 %t119, ptr %t107
br i1 %t118, label %scend43, label %sc42
sc42:
%t120 = load ptr, ptr %t0
%t121 = call i32 @fn_str_eq(ptr %t120, ptr @.str1420)
%t122 = icmp ne i32 %t121, 0
%t123 = zext i1 %t122 to i32
store i32 %t123, ptr %t107
br label %scend43
scend43:
%t124 = load i32, ptr %t107
%t125 = icmp ne i32 %t124, 0
br i1 %t125, label %then44, label %ifend46
then44:
store i32 1, ptr %retval
br label %ret
ifend46:
store i32 0, ptr %retval
br label %ret
ret:
%t126 = load i32, ptr %retval
ret i32 %t126
}
define ptr @fn_emit_text_ns(ptr %arg_meth, ptr %arg_e) {
entry:
%retval = alloca ptr
%t0 = alloca ptr
%t1 = alloca ptr
%t13 = alloca ptr
%t32 = alloca ptr
%t41 = alloca ptr
%t50 = alloca ptr
%t79 = alloca ptr
%t88 = alloca ptr
%t112 = alloca ptr
%t121 = alloca ptr
%t142 = alloca ptr
%t152 = alloca ptr
%t169 = alloca ptr
%t180 = alloca ptr
%t184 = alloca ptr
%t241 = alloca ptr
%t265 = alloca ptr
%t289 = alloca ptr
%t313 = alloca ptr
%t322 = alloca ptr
%t351 = alloca ptr
%t375 = alloca ptr
%t388 = alloca i32
%t407 = alloca ptr
%t419 = alloca ptr
%t427 = alloca ptr
%t437 = alloca ptr
%t442 = alloca ptr
%t449 = alloca ptr
%t456 = alloca ptr
%t461 = alloca ptr
%t477 = alloca ptr
%t484 = alloca ptr
%t502 = alloca ptr
%t507 = alloca ptr
%t519 = alloca ptr
%t526 = alloca ptr
%t528 = alloca ptr
%t534 = alloca ptr
%t536 = alloca ptr
%t538 = alloca ptr
%t551 = alloca ptr
%t564 = alloca ptr
%t569 = alloca ptr
%t574 = alloca ptr
store ptr %arg_meth, ptr %t0
store ptr %arg_e, ptr %t1
%t2 = load ptr, ptr %t0
%t3 = call i32 @fn_str_eq(ptr %t2, ptr @.str1421)
%t4 = icmp ne i32 %t3, 0
br i1 %t4, label %then0, label %ifend2
then0:
%t5 = load ptr, ptr %t1
%t6 = getelementptr inbounds %Cmp_Node, ptr %t5, i32 0, i32 7
%t7 = load ptr, ptr %t6
%t8 = getelementptr inbounds %LSlice, ptr %t7, i32 0, i32 0
%t9 = load ptr, ptr %t8
%t10 = getelementptr inbounds ptr, ptr %t9, i32 0
%t11 = load ptr, ptr %t10
%t12 = call ptr @fn_emit_expr(ptr %t11)
store ptr %t12, ptr %t13
store i32 1, ptr @g_g_uses_intstr
%t14 = load ptr, ptr %t13
%t15 = getelementptr inbounds %Cmp_Val, ptr %t14, i32 0, i32 0
%t16 = load ptr, ptr %t15
%t17 = call ptr @fn_str_concat(ptr @.str1422, ptr %t16)
%t18 = call ptr @fn_str_concat(ptr %t17, ptr @.str1423)
%t19 = call ptr @fn_emit_bind(ptr %t18)
%t20 = call ptr @fn_val(ptr %t19, ptr @.str1424)
store ptr %t20, ptr %retval
br label %ret
ifend2:
%t21 = load ptr, ptr %t0
%t22 = call i32 @fn_str_eq(ptr %t21, ptr @.str1425)
%t23 = icmp ne i32 %t22, 0
br i1 %t23, label %then3, label %ifend5
then3:
%t24 = load ptr, ptr %t1
%t25 = getelementptr inbounds %Cmp_Node, ptr %t24, i32 0, i32 7
%t26 = load ptr, ptr %t25
%t27 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 0
%t28 = load ptr, ptr %t27
%t29 = getelementptr inbounds ptr, ptr %t28, i32 0
%t30 = load ptr, ptr %t29
%t31 = call ptr @fn_emit_expr(ptr %t30)
store ptr %t31, ptr %t32
%t33 = load ptr, ptr %t1
%t34 = getelementptr inbounds %Cmp_Node, ptr %t33, i32 0, i32 7
%t35 = load ptr, ptr %t34
%t36 = getelementptr inbounds %LSlice, ptr %t35, i32 0, i32 0
%t37 = load ptr, ptr %t36
%t38 = getelementptr inbounds ptr, ptr %t37, i32 1
%t39 = load ptr, ptr %t38
%t40 = call ptr @fn_emit_expr(ptr %t39)
store ptr %t40, ptr %t41
%t42 = load ptr, ptr %t1
%t43 = getelementptr inbounds %Cmp_Node, ptr %t42, i32 0, i32 7
%t44 = load ptr, ptr %t43
%t45 = getelementptr inbounds %LSlice, ptr %t44, i32 0, i32 0
%t46 = load ptr, ptr %t45
%t47 = getelementptr inbounds ptr, ptr %t46, i32 2
%t48 = load ptr, ptr %t47
%t49 = call ptr @fn_emit_expr(ptr %t48)
store ptr %t49, ptr %t50
store i32 1, ptr @g_g_uses_strslice
%t51 = load ptr, ptr %t32
%t52 = getelementptr inbounds %Cmp_Val, ptr %t51, i32 0, i32 0
%t53 = load ptr, ptr %t52
%t54 = call ptr @fn_str_concat(ptr @.str1426, ptr %t53)
%t55 = call ptr @fn_str_concat(ptr %t54, ptr @.str1427)
%t56 = load ptr, ptr %t41
%t57 = getelementptr inbounds %Cmp_Val, ptr %t56, i32 0, i32 0
%t58 = load ptr, ptr %t57
%t59 = call ptr @fn_str_concat(ptr %t55, ptr %t58)
%t60 = call ptr @fn_str_concat(ptr %t59, ptr @.str1428)
%t61 = load ptr, ptr %t50
%t62 = getelementptr inbounds %Cmp_Val, ptr %t61, i32 0, i32 0
%t63 = load ptr, ptr %t62
%t64 = call ptr @fn_str_concat(ptr %t60, ptr %t63)
%t65 = call ptr @fn_str_concat(ptr %t64, ptr @.str1429)
%t66 = call ptr @fn_emit_bind(ptr %t65)
%t67 = call ptr @fn_val(ptr %t66, ptr @.str1430)
store ptr %t67, ptr %retval
br label %ret
ifend5:
%t68 = load ptr, ptr %t0
%t69 = call i32 @fn_str_eq(ptr %t68, ptr @.str1431)
%t70 = icmp ne i32 %t69, 0
br i1 %t70, label %then6, label %ifend8
then6:
%t71 = load ptr, ptr %t1
%t72 = getelementptr inbounds %Cmp_Node, ptr %t71, i32 0, i32 7
%t73 = load ptr, ptr %t72
%t74 = getelementptr inbounds %LSlice, ptr %t73, i32 0, i32 0
%t75 = load ptr, ptr %t74
%t76 = getelementptr inbounds ptr, ptr %t75, i32 0
%t77 = load ptr, ptr %t76
%t78 = call ptr @fn_emit_expr(ptr %t77)
store ptr %t78, ptr %t79
%t80 = load ptr, ptr %t1
%t81 = getelementptr inbounds %Cmp_Node, ptr %t80, i32 0, i32 7
%t82 = load ptr, ptr %t81
%t83 = getelementptr inbounds %LSlice, ptr %t82, i32 0, i32 0
%t84 = load ptr, ptr %t83
%t85 = getelementptr inbounds ptr, ptr %t84, i32 1
%t86 = load ptr, ptr %t85
%t87 = call ptr @fn_emit_expr(ptr %t86)
store ptr %t87, ptr %t88
store i32 1, ptr @g_g_uses_str
%t89 = load ptr, ptr %t79
%t90 = getelementptr inbounds %Cmp_Val, ptr %t89, i32 0, i32 0
%t91 = load ptr, ptr %t90
%t92 = call ptr @fn_str_concat(ptr @.str1432, ptr %t91)
%t93 = call ptr @fn_str_concat(ptr %t92, ptr @.str1433)
%t94 = load ptr, ptr %t88
%t95 = getelementptr inbounds %Cmp_Val, ptr %t94, i32 0, i32 0
%t96 = load ptr, ptr %t95
%t97 = call ptr @fn_str_concat(ptr %t93, ptr %t96)
%t98 = call ptr @fn_str_concat(ptr %t97, ptr @.str1434)
%t99 = call ptr @fn_emit_bind(ptr %t98)
%t100 = call ptr @fn_val(ptr %t99, ptr @.str1435)
store ptr %t100, ptr %retval
br label %ret
ifend8:
%t101 = load ptr, ptr %t0
%t102 = call i32 @fn_str_eq(ptr %t101, ptr @.str1436)
%t103 = icmp ne i32 %t102, 0
br i1 %t103, label %then9, label %ifend11
then9:
%t104 = load ptr, ptr %t1
%t105 = getelementptr inbounds %Cmp_Node, ptr %t104, i32 0, i32 7
%t106 = load ptr, ptr %t105
%t107 = getelementptr inbounds %LSlice, ptr %t106, i32 0, i32 0
%t108 = load ptr, ptr %t107
%t109 = getelementptr inbounds ptr, ptr %t108, i32 0
%t110 = load ptr, ptr %t109
%t111 = call ptr @fn_emit_expr(ptr %t110)
store ptr %t111, ptr %t112
%t113 = load ptr, ptr %t1
%t114 = getelementptr inbounds %Cmp_Node, ptr %t113, i32 0, i32 7
%t115 = load ptr, ptr %t114
%t116 = getelementptr inbounds %LSlice, ptr %t115, i32 0, i32 0
%t117 = load ptr, ptr %t116
%t118 = getelementptr inbounds ptr, ptr %t117, i32 1
%t119 = load ptr, ptr %t118
%t120 = call ptr @fn_emit_expr(ptr %t119)
store ptr %t120, ptr %t121
store i32 1, ptr @g_g_uses_str
%t122 = load ptr, ptr %t112
%t123 = getelementptr inbounds %Cmp_Val, ptr %t122, i32 0, i32 0
%t124 = load ptr, ptr %t123
%t125 = call ptr @fn_str_concat(ptr @.str1437, ptr %t124)
%t126 = call ptr @fn_str_concat(ptr %t125, ptr @.str1438)
%t127 = load ptr, ptr %t121
%t128 = getelementptr inbounds %Cmp_Val, ptr %t127, i32 0, i32 0
%t129 = load ptr, ptr %t128
%t130 = call ptr @fn_str_concat(ptr %t126, ptr %t129)
%t131 = call ptr @fn_str_concat(ptr %t130, ptr @.str1439)
%t132 = call ptr @fn_emit_bind(ptr %t131)
%t133 = call ptr @fn_val(ptr %t132, ptr @.str1440)
store ptr %t133, ptr %retval
br label %ret
ifend11:
%t134 = load ptr, ptr %t1
%t135 = getelementptr inbounds %Cmp_Node, ptr %t134, i32 0, i32 7
%t136 = load ptr, ptr %t135
%t137 = getelementptr inbounds %LSlice, ptr %t136, i32 0, i32 0
%t138 = load ptr, ptr %t137
%t139 = getelementptr inbounds ptr, ptr %t138, i32 0
%t140 = load ptr, ptr %t139
%t141 = call ptr @fn_emit_expr(ptr %t140)
store ptr %t141, ptr %t142
%t143 = load ptr, ptr %t0
%t144 = call i32 @fn_str_eq(ptr %t143, ptr @.str1441)
%t145 = icmp ne i32 %t144, 0
br i1 %t145, label %then12, label %ifend14
then12:
%t146 = load ptr, ptr %t142
%t147 = getelementptr inbounds %Cmp_Val, ptr %t146, i32 0, i32 0
%t148 = load ptr, ptr %t147
%t149 = call ptr @fn_str_concat(ptr @.str1442, ptr %t148)
%t150 = call ptr @fn_str_concat(ptr %t149, ptr @.str1443)
%t151 = call ptr @fn_emit_bind(ptr %t150)
store ptr %t151, ptr %t152
%t153 = load ptr, ptr %t152
%t154 = call ptr @fn_str_concat(ptr @.str1444, ptr %t153)
%t155 = call ptr @fn_str_concat(ptr %t154, ptr @.str1445)
%t156 = call ptr @fn_emit_bind(ptr %t155)
%t157 = call ptr @fn_val(ptr %t156, ptr @.str1446)
store ptr %t157, ptr %retval
br label %ret
ifend14:
%t158 = load ptr, ptr %t0
%t159 = call i32 @fn_str_eq(ptr %t158, ptr @.str1447)
%t160 = icmp ne i32 %t159, 0
br i1 %t160, label %then15, label %ifend17
then15:
%t161 = load ptr, ptr %t1
%t162 = getelementptr inbounds %Cmp_Node, ptr %t161, i32 0, i32 7
%t163 = load ptr, ptr %t162
%t164 = getelementptr inbounds %LSlice, ptr %t163, i32 0, i32 0
%t165 = load ptr, ptr %t164
%t166 = getelementptr inbounds ptr, ptr %t165, i32 1
%t167 = load ptr, ptr %t166
%t168 = call ptr @fn_emit_expr(ptr %t167)
store ptr %t168, ptr %t169
%t170 = load ptr, ptr %t142
%t171 = getelementptr inbounds %Cmp_Val, ptr %t170, i32 0, i32 0
%t172 = load ptr, ptr %t171
%t173 = call ptr @fn_str_concat(ptr @.str1448, ptr %t172)
%t174 = call ptr @fn_str_concat(ptr %t173, ptr @.str1449)
%t175 = load ptr, ptr %t169
%t176 = getelementptr inbounds %Cmp_Val, ptr %t175, i32 0, i32 0
%t177 = load ptr, ptr %t176
%t178 = call ptr @fn_str_concat(ptr %t174, ptr %t177)
%t179 = call ptr @fn_emit_bind(ptr %t178)
store ptr %t179, ptr %t180
%t181 = load ptr, ptr %t180
%t182 = call ptr @fn_str_concat(ptr @.str1450, ptr %t181)
%t183 = call ptr @fn_emit_bind(ptr %t182)
store ptr %t183, ptr %t184
%t185 = load ptr, ptr %t184
%t186 = call ptr @fn_str_concat(ptr @.str1451, ptr %t185)
%t187 = call ptr @fn_str_concat(ptr %t186, ptr @.str1452)
%t188 = call ptr @fn_emit_bind(ptr %t187)
%t189 = call ptr @fn_val(ptr %t188, ptr @.str1453)
store ptr %t189, ptr %retval
br label %ret
ifend17:
%t190 = load ptr, ptr %t0
%t191 = call i32 @fn_str_eq(ptr %t190, ptr @.str1454)
%t192 = icmp ne i32 %t191, 0
br i1 %t192, label %then18, label %ifend20
then18:
%t193 = load ptr, ptr %t142
%t194 = getelementptr inbounds %Cmp_Val, ptr %t193, i32 0, i32 0
%t195 = load ptr, ptr %t194
%t196 = call ptr @fn_str_concat(ptr @.str1455, ptr %t195)
%t197 = call ptr @fn_str_concat(ptr %t196, ptr @.str1456)
%t198 = call ptr @fn_emit_bind(ptr %t197)
%t199 = call ptr @fn_val(ptr %t198, ptr @.str1457)
store ptr %t199, ptr %retval
br label %ret
ifend20:
%t200 = load ptr, ptr %t0
%t201 = call i32 @fn_str_eq(ptr %t200, ptr @.str1458)
%t202 = icmp ne i32 %t201, 0
br i1 %t202, label %then21, label %ifend23
then21:
store i32 1, ptr @g_g_uses_textrt
%t203 = load ptr, ptr %t142
%t204 = getelementptr inbounds %Cmp_Val, ptr %t203, i32 0, i32 0
%t205 = load ptr, ptr %t204
%t206 = call ptr @fn_str_concat(ptr @.str1459, ptr %t205)
%t207 = call ptr @fn_str_concat(ptr %t206, ptr @.str1460)
%t208 = call ptr @fn_emit_bind(ptr %t207)
%t209 = call ptr @fn_val(ptr %t208, ptr @.str1461)
store ptr %t209, ptr %retval
br label %ret
ifend23:
%t210 = load ptr, ptr %t0
%t211 = call i32 @fn_str_eq(ptr %t210, ptr @.str1462)
%t212 = icmp ne i32 %t211, 0
br i1 %t212, label %then24, label %ifend26
then24:
store i32 1, ptr @g_g_uses_textrt
%t213 = load ptr, ptr %t142
%t214 = getelementptr inbounds %Cmp_Val, ptr %t213, i32 0, i32 0
%t215 = load ptr, ptr %t214
%t216 = call ptr @fn_str_concat(ptr @.str1463, ptr %t215)
%t217 = call ptr @fn_str_concat(ptr %t216, ptr @.str1464)
%t218 = call ptr @fn_emit_bind(ptr %t217)
%t219 = call ptr @fn_val(ptr %t218, ptr @.str1465)
store ptr %t219, ptr %retval
br label %ret
ifend26:
%t220 = load ptr, ptr %t0
%t221 = call i32 @fn_str_eq(ptr %t220, ptr @.str1466)
%t222 = icmp ne i32 %t221, 0
br i1 %t222, label %then27, label %ifend29
then27:
store i32 1, ptr @g_g_uses_textrt
%t223 = load ptr, ptr %t142
%t224 = getelementptr inbounds %Cmp_Val, ptr %t223, i32 0, i32 0
%t225 = load ptr, ptr %t224
%t226 = call ptr @fn_str_concat(ptr @.str1467, ptr %t225)
%t227 = call ptr @fn_str_concat(ptr %t226, ptr @.str1468)
%t228 = call ptr @fn_emit_bind(ptr %t227)
%t229 = call ptr @fn_val(ptr %t228, ptr @.str1469)
store ptr %t229, ptr %retval
br label %ret
ifend29:
%t230 = load ptr, ptr %t0
%t231 = call i32 @fn_str_eq(ptr %t230, ptr @.str1470)
%t232 = icmp ne i32 %t231, 0
br i1 %t232, label %then30, label %ifend32
then30:
store i32 1, ptr @g_g_uses_textrt
%t233 = load ptr, ptr %t1
%t234 = getelementptr inbounds %Cmp_Node, ptr %t233, i32 0, i32 7
%t235 = load ptr, ptr %t234
%t236 = getelementptr inbounds %LSlice, ptr %t235, i32 0, i32 0
%t237 = load ptr, ptr %t236
%t238 = getelementptr inbounds ptr, ptr %t237, i32 1
%t239 = load ptr, ptr %t238
%t240 = call ptr @fn_emit_expr(ptr %t239)
store ptr %t240, ptr %t241
%t242 = load ptr, ptr %t142
%t243 = getelementptr inbounds %Cmp_Val, ptr %t242, i32 0, i32 0
%t244 = load ptr, ptr %t243
%t245 = call ptr @fn_str_concat(ptr @.str1471, ptr %t244)
%t246 = call ptr @fn_str_concat(ptr %t245, ptr @.str1472)
%t247 = load ptr, ptr %t241
%t248 = getelementptr inbounds %Cmp_Val, ptr %t247, i32 0, i32 0
%t249 = load ptr, ptr %t248
%t250 = call ptr @fn_str_concat(ptr %t246, ptr %t249)
%t251 = call ptr @fn_str_concat(ptr %t250, ptr @.str1473)
%t252 = call ptr @fn_emit_bind(ptr %t251)
%t253 = call ptr @fn_val(ptr %t252, ptr @.str1474)
store ptr %t253, ptr %retval
br label %ret
ifend32:
%t254 = load ptr, ptr %t0
%t255 = call i32 @fn_str_eq(ptr %t254, ptr @.str1475)
%t256 = icmp ne i32 %t255, 0
br i1 %t256, label %then33, label %ifend35
then33:
store i32 1, ptr @g_g_uses_textrt
%t257 = load ptr, ptr %t1
%t258 = getelementptr inbounds %Cmp_Node, ptr %t257, i32 0, i32 7
%t259 = load ptr, ptr %t258
%t260 = getelementptr inbounds %LSlice, ptr %t259, i32 0, i32 0
%t261 = load ptr, ptr %t260
%t262 = getelementptr inbounds ptr, ptr %t261, i32 1
%t263 = load ptr, ptr %t262
%t264 = call ptr @fn_emit_expr(ptr %t263)
store ptr %t264, ptr %t265
%t266 = load ptr, ptr %t142
%t267 = getelementptr inbounds %Cmp_Val, ptr %t266, i32 0, i32 0
%t268 = load ptr, ptr %t267
%t269 = call ptr @fn_str_concat(ptr @.str1476, ptr %t268)
%t270 = call ptr @fn_str_concat(ptr %t269, ptr @.str1477)
%t271 = load ptr, ptr %t265
%t272 = getelementptr inbounds %Cmp_Val, ptr %t271, i32 0, i32 0
%t273 = load ptr, ptr %t272
%t274 = call ptr @fn_str_concat(ptr %t270, ptr %t273)
%t275 = call ptr @fn_str_concat(ptr %t274, ptr @.str1478)
%t276 = call ptr @fn_emit_bind(ptr %t275)
%t277 = call ptr @fn_val(ptr %t276, ptr @.str1479)
store ptr %t277, ptr %retval
br label %ret
ifend35:
%t278 = load ptr, ptr %t0
%t279 = call i32 @fn_str_eq(ptr %t278, ptr @.str1480)
%t280 = icmp ne i32 %t279, 0
br i1 %t280, label %then36, label %ifend38
then36:
store i32 1, ptr @g_g_uses_textrt
%t281 = load ptr, ptr %t1
%t282 = getelementptr inbounds %Cmp_Node, ptr %t281, i32 0, i32 7
%t283 = load ptr, ptr %t282
%t284 = getelementptr inbounds %LSlice, ptr %t283, i32 0, i32 0
%t285 = load ptr, ptr %t284
%t286 = getelementptr inbounds ptr, ptr %t285, i32 1
%t287 = load ptr, ptr %t286
%t288 = call ptr @fn_emit_expr(ptr %t287)
store ptr %t288, ptr %t289
%t290 = load ptr, ptr %t142
%t291 = getelementptr inbounds %Cmp_Val, ptr %t290, i32 0, i32 0
%t292 = load ptr, ptr %t291
%t293 = call ptr @fn_str_concat(ptr @.str1481, ptr %t292)
%t294 = call ptr @fn_str_concat(ptr %t293, ptr @.str1482)
%t295 = load ptr, ptr %t289
%t296 = getelementptr inbounds %Cmp_Val, ptr %t295, i32 0, i32 0
%t297 = load ptr, ptr %t296
%t298 = call ptr @fn_str_concat(ptr %t294, ptr %t297)
%t299 = call ptr @fn_str_concat(ptr %t298, ptr @.str1483)
%t300 = call ptr @fn_emit_bind(ptr %t299)
%t301 = call ptr @fn_val(ptr %t300, ptr @.str1484)
store ptr %t301, ptr %retval
br label %ret
ifend38:
%t302 = load ptr, ptr %t0
%t303 = call i32 @fn_str_eq(ptr %t302, ptr @.str1485)
%t304 = icmp ne i32 %t303, 0
br i1 %t304, label %then39, label %ifend41
then39:
store i32 1, ptr @g_g_uses_textrt2
%t305 = load ptr, ptr %t1
%t306 = getelementptr inbounds %Cmp_Node, ptr %t305, i32 0, i32 7
%t307 = load ptr, ptr %t306
%t308 = getelementptr inbounds %LSlice, ptr %t307, i32 0, i32 0
%t309 = load ptr, ptr %t308
%t310 = getelementptr inbounds ptr, ptr %t309, i32 1
%t311 = load ptr, ptr %t310
%t312 = call ptr @fn_emit_expr(ptr %t311)
store ptr %t312, ptr %t313
%t314 = load ptr, ptr %t1
%t315 = getelementptr inbounds %Cmp_Node, ptr %t314, i32 0, i32 7
%t316 = load ptr, ptr %t315
%t317 = getelementptr inbounds %LSlice, ptr %t316, i32 0, i32 0
%t318 = load ptr, ptr %t317
%t319 = getelementptr inbounds ptr, ptr %t318, i32 2
%t320 = load ptr, ptr %t319
%t321 = call ptr @fn_emit_expr(ptr %t320)
store ptr %t321, ptr %t322
%t323 = load ptr, ptr %t142
%t324 = getelementptr inbounds %Cmp_Val, ptr %t323, i32 0, i32 0
%t325 = load ptr, ptr %t324
%t326 = call ptr @fn_str_concat(ptr @.str1486, ptr %t325)
%t327 = call ptr @fn_str_concat(ptr %t326, ptr @.str1487)
%t328 = load ptr, ptr %t313
%t329 = getelementptr inbounds %Cmp_Val, ptr %t328, i32 0, i32 0
%t330 = load ptr, ptr %t329
%t331 = call ptr @fn_str_concat(ptr %t327, ptr %t330)
%t332 = call ptr @fn_str_concat(ptr %t331, ptr @.str1488)
%t333 = load ptr, ptr %t322
%t334 = getelementptr inbounds %Cmp_Val, ptr %t333, i32 0, i32 0
%t335 = load ptr, ptr %t334
%t336 = call ptr @fn_str_concat(ptr %t332, ptr %t335)
%t337 = call ptr @fn_str_concat(ptr %t336, ptr @.str1489)
%t338 = call ptr @fn_emit_bind(ptr %t337)
%t339 = call ptr @fn_val(ptr %t338, ptr @.str1490)
store ptr %t339, ptr %retval
br label %ret
ifend41:
%t340 = load ptr, ptr %t0
%t341 = call i32 @fn_str_eq(ptr %t340, ptr @.str1491)
%t342 = icmp ne i32 %t341, 0
br i1 %t342, label %then42, label %ifend44
then42:
store i32 1, ptr @g_g_uses_textrt2
%t343 = load ptr, ptr %t1
%t344 = getelementptr inbounds %Cmp_Node, ptr %t343, i32 0, i32 7
%t345 = load ptr, ptr %t344
%t346 = getelementptr inbounds %LSlice, ptr %t345, i32 0, i32 0
%t347 = load ptr, ptr %t346
%t348 = getelementptr inbounds ptr, ptr %t347, i32 1
%t349 = load ptr, ptr %t348
%t350 = call ptr @fn_emit_expr(ptr %t349)
store ptr %t350, ptr %t351
%t352 = load ptr, ptr %t142
%t353 = getelementptr inbounds %Cmp_Val, ptr %t352, i32 0, i32 0
%t354 = load ptr, ptr %t353
%t355 = call ptr @fn_str_concat(ptr @.str1492, ptr %t354)
%t356 = call ptr @fn_str_concat(ptr %t355, ptr @.str1493)
%t357 = load ptr, ptr %t351
%t358 = getelementptr inbounds %Cmp_Val, ptr %t357, i32 0, i32 0
%t359 = load ptr, ptr %t358
%t360 = call ptr @fn_str_concat(ptr %t356, ptr %t359)
%t361 = call ptr @fn_str_concat(ptr %t360, ptr @.str1494)
%t362 = call ptr @fn_emit_bind(ptr %t361)
%t363 = call ptr @fn_val(ptr %t362, ptr @.str1495)
store ptr %t363, ptr %retval
br label %ret
ifend44:
%t364 = load ptr, ptr %t0
%t365 = call i32 @fn_str_eq(ptr %t364, ptr @.str1496)
%t366 = icmp ne i32 %t365, 0
br i1 %t366, label %then45, label %ifend47
then45:
store i32 1, ptr @g_g_uses_textrt2
%t367 = load ptr, ptr %t1
%t368 = getelementptr inbounds %Cmp_Node, ptr %t367, i32 0, i32 7
%t369 = load ptr, ptr %t368
%t370 = getelementptr inbounds %LSlice, ptr %t369, i32 0, i32 0
%t371 = load ptr, ptr %t370
%t372 = getelementptr inbounds ptr, ptr %t371, i32 1
%t373 = load ptr, ptr %t372
%t374 = call ptr @fn_emit_expr(ptr %t373)
store ptr %t374, ptr %t375
%t376 = load ptr, ptr %t142
%t377 = getelementptr inbounds %Cmp_Val, ptr %t376, i32 0, i32 0
%t378 = load ptr, ptr %t377
%t379 = call ptr @fn_str_concat(ptr @.str1497, ptr %t378)
%t380 = call ptr @fn_str_concat(ptr %t379, ptr @.str1498)
%t381 = load ptr, ptr %t375
%t382 = getelementptr inbounds %Cmp_Val, ptr %t381, i32 0, i32 0
%t383 = load ptr, ptr %t382
%t384 = call ptr @fn_str_concat(ptr %t380, ptr %t383)
%t385 = call ptr @fn_str_concat(ptr %t384, ptr @.str1499)
%t386 = call ptr @fn_emit_bind(ptr %t385)
%t387 = call ptr @fn_val(ptr %t386, ptr @.str1500)
store ptr %t387, ptr %retval
br label %ret
ifend47:
%t389 = load ptr, ptr %t0
%t390 = call i32 @fn_str_eq(ptr %t389, ptr @.str1501)
%t391 = icmp ne i32 %t390, 0
%t392 = zext i1 %t391 to i32
store i32 %t392, ptr %t388
br i1 %t391, label %scend49, label %sc48
sc48:
%t393 = load ptr, ptr %t0
%t394 = call i32 @fn_str_eq(ptr %t393, ptr @.str1502)
%t395 = icmp ne i32 %t394, 0
%t396 = zext i1 %t395 to i32
store i32 %t396, ptr %t388
br label %scend49
scend49:
%t397 = load i32, ptr %t388
%t398 = icmp ne i32 %t397, 0
br i1 %t398, label %then50, label %ifend52
then50:
%t399 = load ptr, ptr %t1
%t400 = getelementptr inbounds %Cmp_Node, ptr %t399, i32 0, i32 7
%t401 = load ptr, ptr %t400
%t402 = getelementptr inbounds %LSlice, ptr %t401, i32 0, i32 0
%t403 = load ptr, ptr %t402
%t404 = getelementptr inbounds ptr, ptr %t403, i32 1
%t405 = load ptr, ptr %t404
%t406 = call ptr @fn_emit_expr(ptr %t405)
store ptr %t406, ptr %t407
%t408 = load ptr, ptr %t142
%t409 = getelementptr inbounds %Cmp_Val, ptr %t408, i32 0, i32 0
%t410 = load ptr, ptr %t409
%t411 = call ptr @fn_str_concat(ptr @.str1503, ptr %t410)
%t412 = call ptr @fn_str_concat(ptr %t411, ptr @.str1504)
%t413 = load ptr, ptr %t407
%t414 = getelementptr inbounds %Cmp_Val, ptr %t413, i32 0, i32 0
%t415 = load ptr, ptr %t414
%t416 = call ptr @fn_str_concat(ptr %t412, ptr %t415)
%t417 = call ptr @fn_str_concat(ptr %t416, ptr @.str1505)
%t418 = call ptr @fn_emit_bind(ptr %t417)
store ptr %t418, ptr %t419
%t420 = load ptr, ptr %t0
%t421 = call i32 @fn_str_eq(ptr %t420, ptr @.str1506)
%t422 = icmp ne i32 %t421, 0
br i1 %t422, label %then53, label %ifend55
then53:
%t423 = load ptr, ptr %t419
%t424 = call ptr @fn_str_concat(ptr @.str1507, ptr %t423)
%t425 = call ptr @fn_str_concat(ptr %t424, ptr @.str1508)
%t426 = call ptr @fn_emit_bind(ptr %t425)
store ptr %t426, ptr %t427
%t428 = load ptr, ptr %t427
%t429 = call ptr @fn_str_concat(ptr @.str1509, ptr %t428)
%t430 = call ptr @fn_str_concat(ptr %t429, ptr @.str1510)
%t431 = call ptr @fn_emit_bind(ptr %t430)
%t432 = call ptr @fn_val(ptr %t431, ptr @.str1511)
store ptr %t432, ptr %retval
br label %ret
ifend55:
%t433 = load ptr, ptr %t419
%t434 = call ptr @fn_str_concat(ptr @.str1512, ptr %t433)
%t435 = call ptr @fn_str_concat(ptr %t434, ptr @.str1513)
%t436 = call ptr @fn_emit_bind(ptr %t435)
store ptr %t436, ptr %t437
%t438 = load ptr, ptr %t419
%t439 = call ptr @fn_str_concat(ptr @.str1514, ptr %t438)
%t440 = call ptr @fn_str_concat(ptr %t439, ptr @.str1515)
%t441 = call ptr @fn_emit_bind(ptr %t440)
store ptr %t441, ptr %t442
%t443 = load ptr, ptr %t142
%t444 = getelementptr inbounds %Cmp_Val, ptr %t443, i32 0, i32 0
%t445 = load ptr, ptr %t444
%t446 = call ptr @fn_str_concat(ptr @.str1516, ptr %t445)
%t447 = call ptr @fn_str_concat(ptr %t446, ptr @.str1517)
%t448 = call ptr @fn_emit_bind(ptr %t447)
store ptr %t448, ptr %t449
%t450 = load ptr, ptr %t442
%t451 = call ptr @fn_str_concat(ptr @.str1518, ptr %t450)
%t452 = call ptr @fn_str_concat(ptr %t451, ptr @.str1519)
%t453 = load ptr, ptr %t449
%t454 = call ptr @fn_str_concat(ptr %t452, ptr %t453)
%t455 = call ptr @fn_emit_bind(ptr %t454)
store ptr %t455, ptr %t456
%t457 = load ptr, ptr %t456
%t458 = call ptr @fn_str_concat(ptr @.str1520, ptr %t457)
%t459 = call ptr @fn_str_concat(ptr %t458, ptr @.str1521)
%t460 = call ptr @fn_emit_bind(ptr %t459)
store ptr %t460, ptr %t461
%t462 = load ptr, ptr %t437
%t463 = call ptr @fn_str_concat(ptr @.str1522, ptr %t462)
%t464 = call ptr @fn_str_concat(ptr %t463, ptr @.str1523)
%t465 = load ptr, ptr %t461
%t466 = call ptr @fn_str_concat(ptr %t464, ptr %t465)
%t467 = call ptr @fn_emit_bind(ptr %t466)
%t468 = call ptr @fn_val(ptr %t467, ptr @.str1524)
store ptr %t468, ptr %retval
br label %ret
ifend52:
%t469 = load ptr, ptr %t1
%t470 = getelementptr inbounds %Cmp_Node, ptr %t469, i32 0, i32 7
%t471 = load ptr, ptr %t470
%t472 = getelementptr inbounds %LSlice, ptr %t471, i32 0, i32 0
%t473 = load ptr, ptr %t472
%t474 = getelementptr inbounds ptr, ptr %t473, i32 1
%t475 = load ptr, ptr %t474
%t476 = call ptr @fn_emit_expr(ptr %t475)
store ptr %t476, ptr %t477
%t478 = load ptr, ptr %t477
%t479 = getelementptr inbounds %Cmp_Val, ptr %t478, i32 0, i32 0
%t480 = load ptr, ptr %t479
%t481 = call ptr @fn_str_concat(ptr @.str1525, ptr %t480)
%t482 = call ptr @fn_str_concat(ptr %t481, ptr @.str1526)
%t483 = call ptr @fn_emit_bind(ptr %t482)
store ptr %t483, ptr %t484
%t485 = load ptr, ptr %t0
%t486 = call i32 @fn_str_eq(ptr %t485, ptr @.str1527)
%t487 = icmp ne i32 %t486, 0
br i1 %t487, label %then56, label %ifend58
then56:
%t488 = load ptr, ptr %t142
%t489 = getelementptr inbounds %Cmp_Val, ptr %t488, i32 0, i32 0
%t490 = load ptr, ptr %t489
%t491 = call ptr @fn_str_concat(ptr @.str1528, ptr %t490)
%t492 = call ptr @fn_str_concat(ptr %t491, ptr @.str1529)
%t493 = load ptr, ptr %t477
%t494 = getelementptr inbounds %Cmp_Val, ptr %t493, i32 0, i32 0
%t495 = load ptr, ptr %t494
%t496 = call ptr @fn_str_concat(ptr %t492, ptr %t495)
%t497 = call ptr @fn_str_concat(ptr %t496, ptr @.str1530)
%t498 = load ptr, ptr %t484
%t499 = call ptr @fn_str_concat(ptr %t497, ptr %t498)
%t500 = call ptr @fn_str_concat(ptr %t499, ptr @.str1531)
%t501 = call ptr @fn_emit_bind(ptr %t500)
store ptr %t501, ptr %t502
%t503 = load ptr, ptr %t502
%t504 = call ptr @fn_str_concat(ptr @.str1532, ptr %t503)
%t505 = call ptr @fn_str_concat(ptr %t504, ptr @.str1533)
%t506 = call ptr @fn_emit_bind(ptr %t505)
store ptr %t506, ptr %t507
%t508 = load ptr, ptr %t507
%t509 = call ptr @fn_str_concat(ptr @.str1534, ptr %t508)
%t510 = call ptr @fn_str_concat(ptr %t509, ptr @.str1535)
%t511 = call ptr @fn_emit_bind(ptr %t510)
%t512 = call ptr @fn_val(ptr %t511, ptr @.str1536)
store ptr %t512, ptr %retval
br label %ret
ifend58:
%t513 = load ptr, ptr %t142
%t514 = getelementptr inbounds %Cmp_Val, ptr %t513, i32 0, i32 0
%t515 = load ptr, ptr %t514
%t516 = call ptr @fn_str_concat(ptr @.str1537, ptr %t515)
%t517 = call ptr @fn_str_concat(ptr %t516, ptr @.str1538)
%t518 = call ptr @fn_emit_bind(ptr %t517)
store ptr %t518, ptr %t519
%t520 = load ptr, ptr %t519
%t521 = call ptr @fn_str_concat(ptr @.str1539, ptr %t520)
%t522 = call ptr @fn_str_concat(ptr %t521, ptr @.str1540)
%t523 = load ptr, ptr %t484
%t524 = call ptr @fn_str_concat(ptr %t522, ptr %t523)
%t525 = call ptr @fn_emit_bind(ptr %t524)
store ptr %t525, ptr %t526
%t527 = call ptr @fn_emit_alloca(ptr @.str1541)
store ptr %t527, ptr %t528
%t529 = load ptr, ptr %t528
call void @fn_store_at(ptr @.str1542, ptr @.str1543, ptr %t529)
%t530 = load ptr, ptr %t526
%t531 = call ptr @fn_str_concat(ptr @.str1544, ptr %t530)
%t532 = call ptr @fn_str_concat(ptr %t531, ptr @.str1545)
%t533 = call ptr @fn_emit_bind(ptr %t532)
store ptr %t533, ptr %t534
%t535 = call ptr @fn_lbl(ptr @.str1546)
store ptr %t535, ptr %t536
%t537 = call ptr @fn_lbl(ptr @.str1547)
store ptr %t537, ptr %t538
call void @fn_emit(ptr @.str1548)
%t539 = load ptr, ptr %t534
call void @fn_emit(ptr %t539)
call void @fn_emit(ptr @.str1549)
%t540 = load ptr, ptr %t538
call void @fn_emit(ptr %t540)
call void @fn_emit(ptr @.str1550)
%t541 = load ptr, ptr %t536
call void @fn_emit(ptr %t541)
call void @fn_emit(ptr @.str1551)
%t542 = load ptr, ptr %t536
call void @fn_emit(ptr %t542)
call void @fn_emit(ptr @.str1552)
%t543 = load ptr, ptr %t142
%t544 = getelementptr inbounds %Cmp_Val, ptr %t543, i32 0, i32 0
%t545 = load ptr, ptr %t544
%t546 = call ptr @fn_str_concat(ptr @.str1553, ptr %t545)
%t547 = call ptr @fn_str_concat(ptr %t546, ptr @.str1554)
%t548 = load ptr, ptr %t526
%t549 = call ptr @fn_str_concat(ptr %t547, ptr %t548)
%t550 = call ptr @fn_emit_bind(ptr %t549)
store ptr %t550, ptr %t551
%t552 = load ptr, ptr %t551
%t553 = call ptr @fn_str_concat(ptr @.str1555, ptr %t552)
%t554 = call ptr @fn_str_concat(ptr %t553, ptr @.str1556)
%t555 = load ptr, ptr %t477
%t556 = getelementptr inbounds %Cmp_Val, ptr %t555, i32 0, i32 0
%t557 = load ptr, ptr %t556
%t558 = call ptr @fn_str_concat(ptr %t554, ptr %t557)
%t559 = call ptr @fn_str_concat(ptr %t558, ptr @.str1557)
%t560 = load ptr, ptr %t484
%t561 = call ptr @fn_str_concat(ptr %t559, ptr %t560)
%t562 = call ptr @fn_str_concat(ptr %t561, ptr @.str1558)
%t563 = call ptr @fn_emit_bind(ptr %t562)
store ptr %t563, ptr %t564
%t565 = load ptr, ptr %t564
%t566 = call ptr @fn_str_concat(ptr @.str1559, ptr %t565)
%t567 = call ptr @fn_str_concat(ptr %t566, ptr @.str1560)
%t568 = call ptr @fn_emit_bind(ptr %t567)
store ptr %t568, ptr %t569
%t570 = load ptr, ptr %t569
%t571 = call ptr @fn_str_concat(ptr @.str1561, ptr %t570)
%t572 = call ptr @fn_str_concat(ptr %t571, ptr @.str1562)
%t573 = call ptr @fn_emit_bind(ptr %t572)
store ptr %t573, ptr %t574
%t575 = load ptr, ptr %t574
%t576 = load ptr, ptr %t528
call void @fn_store_at(ptr @.str1563, ptr %t575, ptr %t576)
call void @fn_emit(ptr @.str1564)
%t577 = load ptr, ptr %t538
call void @fn_emit(ptr %t577)
call void @fn_emit(ptr @.str1565)
%t578 = load ptr, ptr %t538
call void @fn_emit(ptr %t578)
call void @fn_emit(ptr @.str1566)
%t579 = load ptr, ptr %t528
%t580 = call ptr @fn_str_concat(ptr @.str1567, ptr %t579)
%t581 = call ptr @fn_emit_bind(ptr %t580)
%t582 = call ptr @fn_val(ptr %t581, ptr @.str1568)
store ptr %t582, ptr %retval
br label %ret
ret:
%t583 = load ptr, ptr %retval
ret ptr %t583
}
define void @fn_emit_text_prelude() {
entry:
call void @fn_emith(ptr @.str1569)
call void @fn_emith(ptr @.str1570)
call void @fn_emith(ptr @.str1571)
call void @fn_emith(ptr @.str1572)
call void @fn_emith(ptr @.str1573)
call void @fn_emith(ptr @.str1574)
call void @fn_emith(ptr @.str1575)
call void @fn_emith(ptr @.str1576)
call void @fn_emith(ptr @.str1577)
call void @fn_emith(ptr @.str1578)
call void @fn_emith(ptr @.str1579)
call void @fn_emith(ptr @.str1580)
call void @fn_emith(ptr @.str1581)
call void @fn_emith(ptr @.str1582)
call void @fn_emith(ptr @.str1583)
call void @fn_emith(ptr @.str1584)
call void @fn_emith(ptr @.str1585)
call void @fn_emith(ptr @.str1586)
call void @fn_emith(ptr @.str1587)
call void @fn_emith(ptr @.str1588)
call void @fn_emith(ptr @.str1589)
call void @fn_emith(ptr @.str1590)
call void @fn_emith(ptr @.str1591)
call void @fn_emith(ptr @.str1592)
call void @fn_emith(ptr @.str1593)
call void @fn_emith(ptr @.str1594)
call void @fn_emith(ptr @.str1595)
call void @fn_emith(ptr @.str1596)
call void @fn_emith(ptr @.str1597)
call void @fn_emith(ptr @.str1598)
call void @fn_emith(ptr @.str1599)
call void @fn_emith(ptr @.str1600)
call void @fn_emith(ptr @.str1601)
call void @fn_emith(ptr @.str1602)
call void @fn_emith(ptr @.str1603)
call void @fn_emith(ptr @.str1604)
call void @fn_emith(ptr @.str1605)
call void @fn_emith(ptr @.str1606)
call void @fn_emith(ptr @.str1607)
call void @fn_emith(ptr @.str1608)
call void @fn_emith(ptr @.str1609)
call void @fn_emith(ptr @.str1610)
call void @fn_emith(ptr @.str1611)
call void @fn_emith(ptr @.str1612)
call void @fn_emith(ptr @.str1613)
call void @fn_emith(ptr @.str1614)
call void @fn_emith(ptr @.str1615)
call void @fn_emith(ptr @.str1616)
call void @fn_emith(ptr @.str1617)
call void @fn_emith(ptr @.str1618)
call void @fn_emith(ptr @.str1619)
call void @fn_emith(ptr @.str1620)
call void @fn_emith(ptr @.str1621)
call void @fn_emith(ptr @.str1622)
call void @fn_emith(ptr @.str1623)
call void @fn_emith(ptr @.str1624)
call void @fn_emith(ptr @.str1625)
call void @fn_emith(ptr @.str1626)
call void @fn_emith(ptr @.str1627)
call void @fn_emith(ptr @.str1628)
call void @fn_emith(ptr @.str1629)
call void @fn_emith(ptr @.str1630)
call void @fn_emith(ptr @.str1631)
call void @fn_emith(ptr @.str1632)
call void @fn_emith(ptr @.str1633)
call void @fn_emith(ptr @.str1634)
call void @fn_emith(ptr @.str1635)
call void @fn_emith(ptr @.str1636)
call void @fn_emith(ptr @.str1637)
call void @fn_emith(ptr @.str1638)
call void @fn_emith(ptr @.str1639)
call void @fn_emith(ptr @.str1640)
call void @fn_emith(ptr @.str1641)
call void @fn_emith(ptr @.str1642)
call void @fn_emith(ptr @.str1643)
call void @fn_emith(ptr @.str1644)
call void @fn_emith(ptr @.str1645)
call void @fn_emith(ptr @.str1646)
call void @fn_emith(ptr @.str1647)
call void @fn_emith(ptr @.str1648)
call void @fn_emith(ptr @.str1649)
call void @fn_emith(ptr @.str1650)
call void @fn_emith(ptr @.str1651)
call void @fn_emith(ptr @.str1652)
call void @fn_emith(ptr @.str1653)
call void @fn_emith(ptr @.str1654)
call void @fn_emith(ptr @.str1655)
call void @fn_emith(ptr @.str1656)
call void @fn_emith(ptr @.str1657)
call void @fn_emith(ptr @.str1658)
call void @fn_emith(ptr @.str1659)
call void @fn_emith(ptr @.str1660)
call void @fn_emith(ptr @.str1661)
call void @fn_emith(ptr @.str1662)
call void @fn_emith(ptr @.str1663)
call void @fn_emith(ptr @.str1664)
call void @fn_emith(ptr @.str1665)
call void @fn_emith(ptr @.str1666)
call void @fn_emith(ptr @.str1667)
call void @fn_emith(ptr @.str1668)
call void @fn_emith(ptr @.str1669)
call void @fn_emith(ptr @.str1670)
call void @fn_emith(ptr @.str1671)
call void @fn_emith(ptr @.str1672)
call void @fn_emith(ptr @.str1673)
call void @fn_emith(ptr @.str1674)
call void @fn_emith(ptr @.str1675)
call void @fn_emith(ptr @.str1676)
call void @fn_emith(ptr @.str1677)
call void @fn_emith(ptr @.str1678)
call void @fn_emith(ptr @.str1679)
call void @fn_emith(ptr @.str1680)
call void @fn_emith(ptr @.str1681)
call void @fn_emith(ptr @.str1682)
call void @fn_emith(ptr @.str1683)
call void @fn_emith(ptr @.str1684)
call void @fn_emith(ptr @.str1685)
call void @fn_emith(ptr @.str1686)
call void @fn_emith(ptr @.str1687)
call void @fn_emith(ptr @.str1688)
call void @fn_emith(ptr @.str1689)
call void @fn_emith(ptr @.str1690)
call void @fn_emith(ptr @.str1691)
call void @fn_emith(ptr @.str1692)
call void @fn_emith(ptr @.str1693)
call void @fn_emith(ptr @.str1694)
call void @fn_emith(ptr @.str1695)
call void @fn_emith(ptr @.str1696)
call void @fn_emith(ptr @.str1697)
call void @fn_emith(ptr @.str1698)
call void @fn_emith(ptr @.str1699)
call void @fn_emith(ptr @.str1700)
call void @fn_emith(ptr @.str1701)
call void @fn_emith(ptr @.str1702)
call void @fn_emith(ptr @.str1703)
call void @fn_emith(ptr @.str1704)
call void @fn_emith(ptr @.str1705)
call void @fn_emith(ptr @.str1706)
call void @fn_emith(ptr @.str1707)
call void @fn_emith(ptr @.str1708)
call void @fn_emith(ptr @.str1709)
call void @fn_emith(ptr @.str1710)
call void @fn_emith(ptr @.str1711)
call void @fn_emith(ptr @.str1712)
call void @fn_emith(ptr @.str1713)
call void @fn_emith(ptr @.str1714)
call void @fn_emith(ptr @.str1715)
call void @fn_emith(ptr @.str1716)
call void @fn_emith(ptr @.str1717)
call void @fn_emith(ptr @.str1718)
call void @fn_emith(ptr @.str1719)
call void @fn_emith(ptr @.str1720)
call void @fn_emith(ptr @.str1721)
call void @fn_emith(ptr @.str1722)
call void @fn_emith(ptr @.str1723)
call void @fn_emith(ptr @.str1724)
call void @fn_emith(ptr @.str1725)
call void @fn_emith(ptr @.str1726)
call void @fn_emith(ptr @.str1727)
call void @fn_emith(ptr @.str1728)
call void @fn_emith(ptr @.str1729)
call void @fn_emith(ptr @.str1730)
call void @fn_emith(ptr @.str1731)
call void @fn_emith(ptr @.str1732)
call void @fn_emith(ptr @.str1733)
call void @fn_emith(ptr @.str1734)
call void @fn_emith(ptr @.str1735)
call void @fn_emith(ptr @.str1736)
call void @fn_emith(ptr @.str1737)
call void @fn_emith(ptr @.str1738)
call void @fn_emith(ptr @.str1739)
call void @fn_emith(ptr @.str1740)
call void @fn_emith(ptr @.str1741)
call void @fn_emith(ptr @.str1742)
call void @fn_emith(ptr @.str1743)
call void @fn_emith(ptr @.str1744)
call void @fn_emith(ptr @.str1745)
call void @fn_emith(ptr @.str1746)
call void @fn_emith(ptr @.str1747)
call void @fn_emith(ptr @.str1748)
call void @fn_emith(ptr @.str1749)
call void @fn_emith(ptr @.str1750)
call void @fn_emith(ptr @.str1751)
call void @fn_emith(ptr @.str1752)
call void @fn_emith(ptr @.str1753)
call void @fn_emith(ptr @.str1754)
call void @fn_emith(ptr @.str1755)
call void @fn_emith(ptr @.str1756)
call void @fn_emith(ptr @.str1757)
call void @fn_emith(ptr @.str1758)
call void @fn_emith(ptr @.str1759)
call void @fn_emith(ptr @.str1760)
call void @fn_emith(ptr @.str1761)
call void @fn_emith(ptr @.str1762)
call void @fn_emith(ptr @.str1763)
call void @fn_emith(ptr @.str1764)
call void @fn_emith(ptr @.str1765)
call void @fn_emith(ptr @.str1766)
br label %ret
ret:
ret void
}
define void @fn_emit_text2_prelude() {
entry:
call void @fn_emith(ptr @.str1767)
call void @fn_emith(ptr @.str1768)
call void @fn_emith(ptr @.str1769)
call void @fn_emith(ptr @.str1770)
call void @fn_emith(ptr @.str1771)
call void @fn_emith(ptr @.str1772)
call void @fn_emith(ptr @.str1773)
call void @fn_emith(ptr @.str1774)
call void @fn_emith(ptr @.str1775)
call void @fn_emith(ptr @.str1776)
call void @fn_emith(ptr @.str1777)
call void @fn_emith(ptr @.str1778)
call void @fn_emith(ptr @.str1779)
call void @fn_emith(ptr @.str1780)
call void @fn_emith(ptr @.str1781)
call void @fn_emith(ptr @.str1782)
call void @fn_emith(ptr @.str1783)
call void @fn_emith(ptr @.str1784)
call void @fn_emith(ptr @.str1785)
call void @fn_emith(ptr @.str1786)
call void @fn_emith(ptr @.str1787)
call void @fn_emith(ptr @.str1788)
call void @fn_emith(ptr @.str1789)
call void @fn_emith(ptr @.str1790)
call void @fn_emith(ptr @.str1791)
call void @fn_emith(ptr @.str1792)
call void @fn_emith(ptr @.str1793)
call void @fn_emith(ptr @.str1794)
call void @fn_emith(ptr @.str1795)
call void @fn_emith(ptr @.str1796)
call void @fn_emith(ptr @.str1797)
call void @fn_emith(ptr @.str1798)
call void @fn_emith(ptr @.str1799)
call void @fn_emith(ptr @.str1800)
call void @fn_emith(ptr @.str1801)
call void @fn_emith(ptr @.str1802)
call void @fn_emith(ptr @.str1803)
call void @fn_emith(ptr @.str1804)
call void @fn_emith(ptr @.str1805)
call void @fn_emith(ptr @.str1806)
call void @fn_emith(ptr @.str1807)
call void @fn_emith(ptr @.str1808)
call void @fn_emith(ptr @.str1809)
call void @fn_emith(ptr @.str1810)
call void @fn_emith(ptr @.str1811)
call void @fn_emith(ptr @.str1812)
call void @fn_emith(ptr @.str1813)
call void @fn_emith(ptr @.str1814)
call void @fn_emith(ptr @.str1815)
call void @fn_emith(ptr @.str1816)
call void @fn_emith(ptr @.str1817)
call void @fn_emith(ptr @.str1818)
call void @fn_emith(ptr @.str1819)
call void @fn_emith(ptr @.str1820)
call void @fn_emith(ptr @.str1821)
call void @fn_emith(ptr @.str1822)
call void @fn_emith(ptr @.str1823)
call void @fn_emith(ptr @.str1824)
call void @fn_emith(ptr @.str1825)
call void @fn_emith(ptr @.str1826)
call void @fn_emith(ptr @.str1827)
call void @fn_emith(ptr @.str1828)
call void @fn_emith(ptr @.str1829)
call void @fn_emith(ptr @.str1830)
call void @fn_emith(ptr @.str1831)
call void @fn_emith(ptr @.str1832)
call void @fn_emith(ptr @.str1833)
call void @fn_emith(ptr @.str1834)
call void @fn_emith(ptr @.str1835)
call void @fn_emith(ptr @.str1836)
call void @fn_emith(ptr @.str1837)
call void @fn_emith(ptr @.str1838)
call void @fn_emith(ptr @.str1839)
call void @fn_emith(ptr @.str1840)
call void @fn_emith(ptr @.str1841)
call void @fn_emith(ptr @.str1842)
call void @fn_emith(ptr @.str1843)
call void @fn_emith(ptr @.str1844)
call void @fn_emith(ptr @.str1845)
call void @fn_emith(ptr @.str1846)
call void @fn_emith(ptr @.str1847)
call void @fn_emith(ptr @.str1848)
call void @fn_emith(ptr @.str1849)
call void @fn_emith(ptr @.str1850)
call void @fn_emith(ptr @.str1851)
call void @fn_emith(ptr @.str1852)
call void @fn_emith(ptr @.str1853)
call void @fn_emith(ptr @.str1854)
call void @fn_emith(ptr @.str1855)
call void @fn_emith(ptr @.str1856)
call void @fn_emith(ptr @.str1857)
call void @fn_emith(ptr @.str1858)
call void @fn_emith(ptr @.str1859)
call void @fn_emith(ptr @.str1860)
call void @fn_emith(ptr @.str1861)
call void @fn_emith(ptr @.str1862)
call void @fn_emith(ptr @.str1863)
call void @fn_emith(ptr @.str1864)
call void @fn_emith(ptr @.str1865)
call void @fn_emith(ptr @.str1866)
call void @fn_emith(ptr @.str1867)
call void @fn_emith(ptr @.str1868)
call void @fn_emith(ptr @.str1869)
call void @fn_emith(ptr @.str1870)
call void @fn_emith(ptr @.str1871)
call void @fn_emith(ptr @.str1872)
call void @fn_emith(ptr @.str1873)
call void @fn_emith(ptr @.str1874)
call void @fn_emith(ptr @.str1875)
call void @fn_emith(ptr @.str1876)
call void @fn_emith(ptr @.str1877)
call void @fn_emith(ptr @.str1878)
call void @fn_emith(ptr @.str1879)
call void @fn_emith(ptr @.str1880)
call void @fn_emith(ptr @.str1881)
call void @fn_emith(ptr @.str1882)
call void @fn_emith(ptr @.str1883)
call void @fn_emith(ptr @.str1884)
call void @fn_emith(ptr @.str1885)
call void @fn_emith(ptr @.str1886)
call void @fn_emith(ptr @.str1887)
call void @fn_emith(ptr @.str1888)
call void @fn_emith(ptr @.str1889)
call void @fn_emith(ptr @.str1890)
call void @fn_emith(ptr @.str1891)
call void @fn_emith(ptr @.str1892)
call void @fn_emith(ptr @.str1893)
call void @fn_emith(ptr @.str1894)
call void @fn_emith(ptr @.str1895)
call void @fn_emith(ptr @.str1896)
call void @fn_emith(ptr @.str1897)
call void @fn_emith(ptr @.str1898)
call void @fn_emith(ptr @.str1899)
call void @fn_emith(ptr @.str1900)
call void @fn_emith(ptr @.str1901)
call void @fn_emith(ptr @.str1902)
call void @fn_emith(ptr @.str1903)
call void @fn_emith(ptr @.str1904)
call void @fn_emith(ptr @.str1905)
call void @fn_emith(ptr @.str1906)
call void @fn_emith(ptr @.str1907)
call void @fn_emith(ptr @.str1908)
call void @fn_emith(ptr @.str1909)
call void @fn_emith(ptr @.str1910)
call void @fn_emith(ptr @.str1911)
call void @fn_emith(ptr @.str1912)
call void @fn_emith(ptr @.str1913)
call void @fn_emith(ptr @.str1914)
call void @fn_emith(ptr @.str1915)
call void @fn_emith(ptr @.str1916)
call void @fn_emith(ptr @.str1917)
call void @fn_emith(ptr @.str1918)
call void @fn_emith(ptr @.str1919)
call void @fn_emith(ptr @.str1920)
call void @fn_emith(ptr @.str1921)
call void @fn_emith(ptr @.str1922)
call void @fn_emith(ptr @.str1923)
call void @fn_emith(ptr @.str1924)
call void @fn_emith(ptr @.str1925)
call void @fn_emith(ptr @.str1926)
call void @fn_emith(ptr @.str1927)
call void @fn_emith(ptr @.str1928)
call void @fn_emith(ptr @.str1929)
call void @fn_emith(ptr @.str1930)
call void @fn_emith(ptr @.str1931)
call void @fn_emith(ptr @.str1932)
call void @fn_emith(ptr @.str1933)
call void @fn_emith(ptr @.str1934)
call void @fn_emith(ptr @.str1935)
call void @fn_emith(ptr @.str1936)
call void @fn_emith(ptr @.str1937)
call void @fn_emith(ptr @.str1938)
call void @fn_emith(ptr @.str1939)
call void @fn_emith(ptr @.str1940)
call void @fn_emith(ptr @.str1941)
call void @fn_emith(ptr @.str1942)
call void @fn_emith(ptr @.str1943)
call void @fn_emith(ptr @.str1944)
call void @fn_emith(ptr @.str1945)
call void @fn_emith(ptr @.str1946)
call void @fn_emith(ptr @.str1947)
call void @fn_emith(ptr @.str1948)
call void @fn_emith(ptr @.str1949)
call void @fn_emith(ptr @.str1950)
call void @fn_emith(ptr @.str1951)
call void @fn_emith(ptr @.str1952)
call void @fn_emith(ptr @.str1953)
call void @fn_emith(ptr @.str1954)
call void @fn_emith(ptr @.str1955)
call void @fn_emith(ptr @.str1956)
call void @fn_emith(ptr @.str1957)
call void @fn_emith(ptr @.str1958)
call void @fn_emith(ptr @.str1959)
call void @fn_emith(ptr @.str1960)
call void @fn_emith(ptr @.str1961)
call void @fn_emith(ptr @.str1962)
call void @fn_emith(ptr @.str1963)
call void @fn_emith(ptr @.str1964)
call void @fn_emith(ptr @.str1965)
call void @fn_emith(ptr @.str1966)
call void @fn_emith(ptr @.str1967)
call void @fn_emith(ptr @.str1968)
call void @fn_emith(ptr @.str1969)
call void @fn_emith(ptr @.str1970)
call void @fn_emith(ptr @.str1971)
call void @fn_emith(ptr @.str1972)
call void @fn_emith(ptr @.str1973)
call void @fn_emith(ptr @.str1974)
call void @fn_emith(ptr @.str1975)
call void @fn_emith(ptr @.str1976)
call void @fn_emith(ptr @.str1977)
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 @fn_str_eq(ptr %t3, ptr @.str1978)
%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_str_eq(ptr %t7, ptr @.str1979)
%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_eq(ptr %t14, ptr @.str1980)
%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 @fn_str_eq(ptr %t21, ptr @.str1981)
%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 @fn_str_eq(ptr %t25, ptr @.str1982)
%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 @fn_str_eq(ptr %t33, ptr @.str1983)
%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 @fn_str_eq(ptr %t37, ptr @.str1984)
%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 @fn_str_eq(ptr %t44, ptr @.str1985)
%t46 = icmp ne i32 %t45, 0
%t47 = zext i1 %t46 to i32
store i32 %t47, ptr %t31
br label %scend15
scend15:
%t48 = load i32, ptr %t31
%t49 = icmp ne i32 %t48, 0
br i1 %t49, label %then16, label %ifend18
then16:
store i32 1, ptr %retval
br label %ret
ifend18:
store i32 0, ptr %retval
br label %ret
ret:
%t50 = load i32, ptr %retval
ret i32 %t50
}
define ptr @fn_hash_mix_code(ptr %arg_x) {
entry:
%retval = alloca ptr
%t0 = alloca ptr
%t5 = alloca ptr
%t12 = alloca ptr
%t17 = alloca ptr
%t22 = alloca ptr
%t29 = alloca ptr
%t34 = alloca ptr
%t39 = alloca ptr
store ptr %arg_x, ptr %t0
%t1 = load ptr, ptr %t0
%t2 = call ptr @fn_str_concat(ptr @.str1986, ptr %t1)
%t3 = call ptr @fn_str_concat(ptr %t2, ptr @.str1987)
%t4 = call ptr @fn_emit_bind(ptr %t3)
store ptr %t4, ptr %t5
%t6 = load ptr, ptr %t0
%t7 = call ptr @fn_str_concat(ptr @.str1988, ptr %t6)
%t8 = call ptr @fn_str_concat(ptr %t7, ptr @.str1989)
%t9 = load ptr, ptr %t5
%t10 = call ptr @fn_str_concat(ptr %t8, ptr %t9)
%t11 = call ptr @fn_emit_bind(ptr %t10)
store ptr %t11, ptr %t12
%t13 = load ptr, ptr %t12
%t14 = call ptr @fn_str_concat(ptr @.str1990, ptr %t13)
%t15 = call ptr @fn_str_concat(ptr %t14, ptr @.str1991)
%t16 = call ptr @fn_emit_bind(ptr %t15)
store ptr %t16, ptr %t17
%t18 = load ptr, ptr %t17
%t19 = call ptr @fn_str_concat(ptr @.str1992, ptr %t18)
%t20 = call ptr @fn_str_concat(ptr %t19, ptr @.str1993)
%t21 = call ptr @fn_emit_bind(ptr %t20)
store ptr %t21, ptr %t22
%t23 = load ptr, ptr %t17
%t24 = call ptr @fn_str_concat(ptr @.str1994, ptr %t23)
%t25 = call ptr @fn_str_concat(ptr %t24, ptr @.str1995)
%t26 = load ptr, ptr %t22
%t27 = call ptr @fn_str_concat(ptr %t25, ptr %t26)
%t28 = call ptr @fn_emit_bind(ptr %t27)
store ptr %t28, ptr %t29
%t30 = load ptr, ptr %t29
%t31 = call ptr @fn_str_concat(ptr @.str1996, ptr %t30)
%t32 = call ptr @fn_str_concat(ptr %t31, ptr @.str1997)
%t33 = call ptr @fn_emit_bind(ptr %t32)
store ptr %t33, ptr %t34
%t35 = load ptr, ptr %t34
%t36 = call ptr @fn_str_concat(ptr @.str1998, ptr %t35)
%t37 = call ptr @fn_str_concat(ptr %t36, ptr @.str1999)
%t38 = call ptr @fn_emit_bind(ptr %t37)
store ptr %t38, ptr %t39
%t40 = load ptr, ptr %t34
%t41 = call ptr @fn_str_concat(ptr @.str2000, ptr %t40)
%t42 = call ptr @fn_str_concat(ptr %t41, ptr @.str2001)
%t43 = load ptr, ptr %t39
%t44 = call ptr @fn_str_concat(ptr %t42, ptr %t43)
%t45 = call ptr @fn_emit_bind(ptr %t44)
store ptr %t45, ptr %retval
br label %ret
ret:
%t46 = load ptr, ptr %retval
ret ptr %t46
}
define ptr @fn_hash_mix64_code(ptr %arg_x) {
entry:
%retval = alloca ptr
%t0 = alloca ptr
%t5 = alloca ptr
%t12 = alloca ptr
%t17 = alloca ptr
%t22 = alloca ptr
%t29 = alloca ptr
%t34 = alloca ptr
%t39 = alloca ptr
store ptr %arg_x, ptr %t0
%t1 = load ptr, ptr %t0
%t2 = call ptr @fn_str_concat(ptr @.str2002, ptr %t1)
%t3 = call ptr @fn_str_concat(ptr %t2, ptr @.str2003)
%t4 = call ptr @fn_emit_bind(ptr %t3)
store ptr %t4, ptr %t5
%t6 = load ptr, ptr %t0
%t7 = call ptr @fn_str_concat(ptr @.str2004, ptr %t6)
%t8 = call ptr @fn_str_concat(ptr %t7, ptr @.str2005)
%t9 = load ptr, ptr %t5
%t10 = call ptr @fn_str_concat(ptr %t8, ptr %t9)
%t11 = call ptr @fn_emit_bind(ptr %t10)
store ptr %t11, ptr %t12
%t13 = load ptr, ptr %t12
%t14 = call ptr @fn_str_concat(ptr @.str2006, ptr %t13)
%t15 = call ptr @fn_str_concat(ptr %t14, ptr @.str2007)
%t16 = call ptr @fn_emit_bind(ptr %t15)
store ptr %t16, ptr %t17
%t18 = load ptr, ptr %t17
%t19 = call ptr @fn_str_concat(ptr @.str2008, ptr %t18)
%t20 = call ptr @fn_str_concat(ptr %t19, ptr @.str2009)
%t21 = call ptr @fn_emit_bind(ptr %t20)
store ptr %t21, ptr %t22
%t23 = load ptr, ptr %t17
%t24 = call ptr @fn_str_concat(ptr @.str2010, ptr %t23)
%t25 = call ptr @fn_str_concat(ptr %t24, ptr @.str2011)
%t26 = load ptr, ptr %t22
%t27 = call ptr @fn_str_concat(ptr %t25, ptr %t26)
%t28 = call ptr @fn_emit_bind(ptr %t27)
store ptr %t28, ptr %t29
%t30 = load ptr, ptr %t29
%t31 = call ptr @fn_str_concat(ptr @.str2012, ptr %t30)
%t32 = call ptr @fn_str_concat(ptr %t31, ptr @.str2013)
%t33 = call ptr @fn_emit_bind(ptr %t32)
store ptr %t33, ptr %t34
%t35 = load ptr, ptr %t34
%t36 = call ptr @fn_str_concat(ptr @.str2014, ptr %t35)
%t37 = call ptr @fn_str_concat(ptr %t36, ptr @.str2015)
%t38 = call ptr @fn_emit_bind(ptr %t37)
store ptr %t38, ptr %t39
%t40 = load ptr, ptr %t34
%t41 = call ptr @fn_str_concat(ptr @.str2016, ptr %t40)
%t42 = call ptr @fn_str_concat(ptr %t41, ptr @.str2017)
%t43 = load ptr, ptr %t39
%t44 = call ptr @fn_str_concat(ptr %t42, ptr %t43)
%t45 = call ptr @fn_emit_bind(ptr %t44)
store ptr %t45, ptr %retval
br label %ret
ret:
%t46 = load ptr, ptr %retval
ret ptr %t46
}
define ptr @fn_emit_hash_ns(ptr %arg_meth, ptr %arg_e) {
entry:
%retval = alloca ptr
%t0 = alloca ptr
%t1 = alloca ptr
%t2 = alloca i32
%t21 = alloca ptr
%t29 = alloca i32
%t48 = alloca ptr
%t67 = alloca ptr
%t83 = alloca ptr
%t102 = alloca ptr
%t108 = alloca ptr
%t109 = alloca i32
%t128 = alloca ptr
%t135 = alloca ptr
%t140 = alloca ptr
%t145 = alloca ptr
%t152 = alloca ptr
%t159 = alloca ptr
store ptr %arg_meth, ptr %t0
store ptr %arg_e, ptr %t1
%t3 = load ptr, ptr %t0
%t4 = call i32 @fn_str_eq(ptr %t3, ptr @.str2018)
%t5 = icmp ne i32 %t4, 0
%t6 = zext i1 %t5 to i32
store i32 %t6, ptr %t2
br i1 %t5, label %scend1, label %sc0
sc0:
%t7 = load ptr, ptr %t0
%t8 = call i32 @fn_str_eq(ptr %t7, ptr @.str2019)
%t9 = icmp ne i32 %t8, 0
%t10 = zext i1 %t9 to i32
store i32 %t10, ptr %t2
br label %scend1
scend1:
%t11 = load i32, ptr %t2
%t12 = icmp ne i32 %t11, 0
br i1 %t12, label %then2, label %ifend4
then2:
store i32 1, ptr @g_g_uses_hashrt
%t13 = load ptr, ptr %t1
%t14 = getelementptr inbounds %Cmp_Node, ptr %t13, i32 0, i32 7
%t15 = load ptr, ptr %t14
%t16 = getelementptr inbounds %LSlice, ptr %t15, i32 0, i32 0
%t17 = load ptr, ptr %t16
%t18 = getelementptr inbounds ptr, ptr %t17, i32 0
%t19 = load ptr, ptr %t18
%t20 = call ptr @fn_emit_expr(ptr %t19)
store ptr %t20, ptr %t21
%t22 = load ptr, ptr %t21
%t23 = getelementptr inbounds %Cmp_Val, ptr %t22, i32 0, i32 0
%t24 = load ptr, ptr %t23
%t25 = call ptr @fn_str_concat(ptr @.str2020, ptr %t24)
%t26 = call ptr @fn_str_concat(ptr %t25, ptr @.str2021)
%t27 = call ptr @fn_emit_bind(ptr %t26)
%t28 = call ptr @fn_val(ptr %t27, ptr @.str2022)
store ptr %t28, ptr %retval
br label %ret
ifend4:
%t30 = load ptr, ptr %t0
%t31 = call i32 @fn_str_eq(ptr %t30, ptr @.str2023)
%t32 = icmp ne i32 %t31, 0
%t33 = zext i1 %t32 to i32
store i32 %t33, ptr %t29
br i1 %t32, label %scend6, label %sc5
sc5:
%t34 = load ptr, ptr %t0
%t35 = call i32 @fn_str_eq(ptr %t34, ptr @.str2024)
%t36 = icmp ne i32 %t35, 0
%t37 = zext i1 %t36 to i32
store i32 %t37, ptr %t29
br label %scend6
scend6:
%t38 = load i32, ptr %t29
%t39 = icmp ne i32 %t38, 0
br i1 %t39, label %then7, label %ifend9
then7:
store i32 1, ptr @g_g_uses_hashrt
%t40 = load ptr, ptr %t1
%t41 = getelementptr inbounds %Cmp_Node, ptr %t40, i32 0, i32 7
%t42 = load ptr, ptr %t41
%t43 = getelementptr inbounds %LSlice, ptr %t42, i32 0, i32 0
%t44 = load ptr, ptr %t43
%t45 = getelementptr inbounds ptr, ptr %t44, i32 0
%t46 = load ptr, ptr %t45
%t47 = call ptr @fn_emit_expr(ptr %t46)
store ptr %t47, ptr %t48
%t49 = load ptr, ptr %t48
%t50 = getelementptr inbounds %Cmp_Val, ptr %t49, i32 0, i32 0
%t51 = load ptr, ptr %t50
%t52 = call ptr @fn_str_concat(ptr @.str2025, ptr %t51)
%t53 = call ptr @fn_str_concat(ptr %t52, ptr @.str2026)
%t54 = call ptr @fn_emit_bind(ptr %t53)
%t55 = call ptr @fn_val(ptr %t54, ptr @.str2027)
store ptr %t55, ptr %retval
br label %ret
ifend9:
%t56 = load ptr, ptr %t0
%t57 = call i32 @fn_str_eq(ptr %t56, ptr @.str2028)
%t58 = icmp ne i32 %t57, 0
br i1 %t58, label %then10, label %ifend12
then10:
%t59 = load ptr, ptr %t1
%t60 = getelementptr inbounds %Cmp_Node, ptr %t59, i32 0, i32 7
%t61 = load ptr, ptr %t60
%t62 = getelementptr inbounds %LSlice, ptr %t61, i32 0, i32 0
%t63 = load ptr, ptr %t62
%t64 = getelementptr inbounds ptr, ptr %t63, i32 0
%t65 = load ptr, ptr %t64
%t66 = call ptr @fn_emit_expr(ptr %t65)
store ptr %t66, ptr %t67
%t68 = load ptr, ptr %t67
%t69 = call ptr @fn_to_long(ptr %t68)
%t70 = call ptr @fn_hash_mix64_code(ptr %t69)
%t71 = call ptr @fn_val(ptr %t70, ptr @.str2029)
store ptr %t71, ptr %retval
br label %ret
ifend12:
%t72 = load ptr, ptr %t0
%t73 = call i32 @fn_str_eq(ptr %t72, ptr @.str2030)
%t74 = icmp ne i32 %t73, 0
br i1 %t74, label %then13, label %ifend15
then13:
store i32 1, ptr @g_g_uses_hashrt
%t75 = load ptr, ptr %t1
%t76 = getelementptr inbounds %Cmp_Node, ptr %t75, i32 0, i32 7
%t77 = load ptr, ptr %t76
%t78 = getelementptr inbounds %LSlice, ptr %t77, i32 0, i32 0
%t79 = load ptr, ptr %t78
%t80 = getelementptr inbounds ptr, ptr %t79, i32 0
%t81 = load ptr, ptr %t80
%t82 = call ptr @fn_emit_expr(ptr %t81)
store ptr %t82, ptr %t83
%t84 = load ptr, ptr %t83
%t85 = getelementptr inbounds %Cmp_Val, ptr %t84, i32 0, i32 0
%t86 = load ptr, ptr %t85
%t87 = call ptr @fn_str_concat(ptr @.str2031, ptr %t86)
%t88 = call ptr @fn_str_concat(ptr %t87, ptr @.str2032)
%t89 = call ptr @fn_emit_bind(ptr %t88)
%t90 = call ptr @fn_val(ptr %t89, ptr @.str2033)
store ptr %t90, ptr %retval
br label %ret
ifend15:
%t91 = load ptr, ptr %t0
%t92 = call i32 @fn_str_eq(ptr %t91, ptr @.str2034)
%t93 = icmp ne i32 %t92, 0
br i1 %t93, label %then16, label %ifend18
then16:
%t94 = load ptr, ptr %t1
%t95 = getelementptr inbounds %Cmp_Node, ptr %t94, i32 0, i32 7
%t96 = load ptr, ptr %t95
%t97 = getelementptr inbounds %LSlice, ptr %t96, i32 0, i32 0
%t98 = load ptr, ptr %t97
%t99 = getelementptr inbounds ptr, ptr %t98, i32 0
%t100 = load ptr, ptr %t99
%t101 = call ptr @fn_emit_expr(ptr %t100)
store ptr %t101, ptr %t102
%t103 = load ptr, ptr %t102
%t104 = getelementptr inbounds %Cmp_Val, ptr %t103, i32 0, i32 0
%t105 = load ptr, ptr %t104
%t106 = call ptr @fn_hash_mix_code(ptr %t105)
%t107 = call ptr @fn_val(ptr %t106, ptr @.str2035)
store ptr %t107, ptr %retval
br label %ret
ifend18:
store ptr @.str2036, ptr %t108
store i32 0, ptr %t109
br label %wcond19
wcond19:
%t110 = load i32, ptr %t109
%t111 = load ptr, ptr %t1
%t112 = getelementptr inbounds %Cmp_Node, ptr %t111, i32 0, i32 7
%t113 = load ptr, ptr %t112
%t114 = getelementptr inbounds %LSlice, ptr %t113, i32 0, i32 1
%t115 = load i32, ptr %t114
%t116 = icmp slt i32 %t110, %t115
%t117 = zext i1 %t116 to i32
%t118 = icmp ne i32 %t117, 0
br i1 %t118, label %wbody20, label %wend21
wbody20:
%t119 = load ptr, ptr %t1
%t120 = getelementptr inbounds %Cmp_Node, ptr %t119, i32 0, i32 7
%t121 = load ptr, ptr %t120
%t122 = getelementptr inbounds %LSlice, ptr %t121, i32 0, i32 0
%t123 = load ptr, ptr %t122
%t124 = load i32, ptr %t109
%t125 = getelementptr inbounds ptr, ptr %t123, i32 %t124
%t126 = load ptr, ptr %t125
%t127 = call ptr @fn_emit_expr(ptr %t126)
store ptr %t127, ptr %t128
%t129 = load ptr, ptr %t128
%t130 = getelementptr inbounds %Cmp_Val, ptr %t129, i32 0, i32 0
%t131 = load ptr, ptr %t130
%t132 = call ptr @fn_str_concat(ptr @.str2037, ptr %t131)
%t133 = call ptr @fn_str_concat(ptr %t132, ptr @.str2038)
%t134 = call ptr @fn_emit_bind(ptr %t133)
store ptr %t134, ptr %t135
%t136 = load ptr, ptr %t108
%t137 = call ptr @fn_str_concat(ptr @.str2039, ptr %t136)
%t138 = call ptr @fn_str_concat(ptr %t137, ptr @.str2040)
%t139 = call ptr @fn_emit_bind(ptr %t138)
store ptr %t139, ptr %t140
%t141 = load ptr, ptr %t108
%t142 = call ptr @fn_str_concat(ptr @.str2041, ptr %t141)
%t143 = call ptr @fn_str_concat(ptr %t142, ptr @.str2042)
%t144 = call ptr @fn_emit_bind(ptr %t143)
store ptr %t144, ptr %t145
%t146 = load ptr, ptr %t135
%t147 = call ptr @fn_str_concat(ptr @.str2043, ptr %t146)
%t148 = call ptr @fn_str_concat(ptr %t147, ptr @.str2044)
%t149 = load ptr, ptr %t140
%t150 = call ptr @fn_str_concat(ptr %t148, ptr %t149)
%t151 = call ptr @fn_emit_bind(ptr %t150)
store ptr %t151, ptr %t152
%t153 = load ptr, ptr %t152
%t154 = call ptr @fn_str_concat(ptr @.str2045, ptr %t153)
%t155 = call ptr @fn_str_concat(ptr %t154, ptr @.str2046)
%t156 = load ptr, ptr %t145
%t157 = call ptr @fn_str_concat(ptr %t155, ptr %t156)
%t158 = call ptr @fn_emit_bind(ptr %t157)
store ptr %t158, ptr %t159
%t160 = load ptr, ptr %t108
%t161 = call ptr @fn_str_concat(ptr @.str2047, ptr %t160)
%t162 = call ptr @fn_str_concat(ptr %t161, ptr @.str2048)
%t163 = load ptr, ptr %t159
%t164 = call ptr @fn_str_concat(ptr %t162, ptr %t163)
%t165 = call ptr @fn_emit_bind(ptr %t164)
store ptr %t165, ptr %t108
%t166 = load i32, ptr %t109
%t167 = add i32 %t166, 1
store i32 %t167, ptr %t109
br label %wcond19
wend21:
%t168 = load ptr, ptr %t108
%t169 = call ptr @fn_val(ptr %t168, ptr @.str2049)
store ptr %t169, ptr %retval
br label %ret
ret:
%t170 = load ptr, ptr %retval
ret ptr %t170
}
define void @fn_emit_hash_prelude() {
entry:
call void @fn_emith(ptr @.str2050)
call void @fn_emith(ptr @.str2051)
call void @fn_emith(ptr @.str2052)
call void @fn_emith(ptr @.str2053)
call void @fn_emith(ptr @.str2054)
call void @fn_emith(ptr @.str2055)
call void @fn_emith(ptr @.str2056)
call void @fn_emith(ptr @.str2057)
call void @fn_emith(ptr @.str2058)
call void @fn_emith(ptr @.str2059)
call void @fn_emith(ptr @.str2060)
call void @fn_emith(ptr @.str2061)
call void @fn_emith(ptr @.str2062)
call void @fn_emith(ptr @.str2063)
call void @fn_emith(ptr @.str2064)
call void @fn_emith(ptr @.str2065)
call void @fn_emith(ptr @.str2066)
call void @fn_emith(ptr @.str2067)
call void @fn_emith(ptr @.str2068)
call void @fn_emith(ptr @.str2069)
call void @fn_emith(ptr @.str2070)
call void @fn_emith(ptr @.str2071)
call void @fn_emith(ptr @.str2072)
call void @fn_emith(ptr @.str2073)
call void @fn_emith(ptr @.str2074)
call void @fn_emith(ptr @.str2075)
call void @fn_emith(ptr @.str2076)
call void @fn_emith(ptr @.str2077)
call void @fn_emith(ptr @.str2078)
call void @fn_emith(ptr @.str2079)
call void @fn_emith(ptr @.str2080)
call void @fn_emith(ptr @.str2081)
call void @fn_emith(ptr @.str2082)
call void @fn_emith(ptr @.str2083)
call void @fn_emith(ptr @.str2084)
call void @fn_emith(ptr @.str2085)
call void @fn_emith(ptr @.str2086)
call void @fn_emith(ptr @.str2087)
call void @fn_emith(ptr @.str2088)
call void @fn_emith(ptr @.str2089)
call void @fn_emith(ptr @.str2090)
call void @fn_emith(ptr @.str2091)
call void @fn_emith(ptr @.str2092)
call void @fn_emith(ptr @.str2093)
call void @fn_emith(ptr @.str2094)
call void @fn_emith(ptr @.str2095)
call void @fn_emith(ptr @.str2096)
call void @fn_emith(ptr @.str2097)
call void @fn_emith(ptr @.str2098)
call void @fn_emith(ptr @.str2099)
call void @fn_emith(ptr @.str2100)
call void @fn_emith(ptr @.str2101)
call void @fn_emith(ptr @.str2102)
call void @fn_emith(ptr @.str2103)
call void @fn_emith(ptr @.str2104)
call void @fn_emith(ptr @.str2105)
call void @fn_emith(ptr @.str2106)
call void @fn_emith(ptr @.str2107)
call void @fn_emith(ptr @.str2108)
call void @fn_emith(ptr @.str2109)
call void @fn_emith(ptr @.str2110)
call void @fn_emith(ptr @.str2111)
call void @fn_emith(ptr @.str2112)
call void @fn_emith(ptr @.str2113)
call void @fn_emith(ptr @.str2114)
call void @fn_emith(ptr @.str2115)
call void @fn_emith(ptr @.str2116)
call void @fn_emith(ptr @.str2117)
call void @fn_emith(ptr @.str2118)
call void @fn_emith(ptr @.str2119)
call void @fn_emith(ptr @.str2120)
call void @fn_emith(ptr @.str2121)
call void @fn_emith(ptr @.str2122)
call void @fn_emith(ptr @.str2123)
call void @fn_emith(ptr @.str2124)
call void @fn_emith(ptr @.str2125)
call void @fn_emith(ptr @.str2126)
call void @fn_emith(ptr @.str2127)
call void @fn_emith(ptr @.str2128)
call void @fn_emith(ptr @.str2129)
call void @fn_emith(ptr @.str2130)
call void @fn_emith(ptr @.str2131)
call void @fn_emith(ptr @.str2132)
call void @fn_emith(ptr @.str2133)
call void @fn_emith(ptr @.str2134)
call void @fn_emith(ptr @.str2135)
call void @fn_emith(ptr @.str2136)
call void @fn_emith(ptr @.str2137)
call void @fn_emith(ptr @.str2138)
call void @fn_emith(ptr @.str2139)
call void @fn_emith(ptr @.str2140)
call void @fn_emith(ptr @.str2141)
call void @fn_emith(ptr @.str2142)
call void @fn_emith(ptr @.str2143)
call void @fn_emith(ptr @.str2144)
call void @fn_emith(ptr @.str2145)
call void @fn_emith(ptr @.str2146)
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 @fn_str_eq(ptr %t3, ptr @.str2147)
%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_str_eq(ptr %t7, ptr @.str2148)
%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_eq(ptr %t14, ptr @.str2149)
%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 @fn_str_eq(ptr %t21, ptr @.str2150)
%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 @fn_str_eq(ptr %t25, ptr @.str2151)
%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 @fn_str_eq(ptr %t33, ptr @.str2152)
%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 @fn_str_eq(ptr %t37, ptr @.str2153)
%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 @fn_str_eq(ptr %t44, ptr @.str2154)
%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 @fn_str_eq(ptr %t50, ptr @.str2155)
%t52 = icmp ne i32 %t51, 0
br i1 %t52, label %then19, label %ifend21
then19:
store i32 1, ptr %retval
br label %ret
ifend21:
store i32 0, ptr %retval
br label %ret
ret:
%t53 = load i32, ptr %retval
ret i32 %t53
}
define ptr @fn_emit_crypto_ns(ptr %arg_meth, ptr %arg_e) {
entry:
%retval = alloca ptr
%t0 = alloca ptr
%t1 = alloca ptr
%t13 = alloca ptr
%t32 = alloca ptr
%t41 = alloca ptr
%t65 = alloca ptr
%t84 = alloca ptr
%t93 = alloca ptr
%t106 = alloca i32
%t125 = alloca ptr
%t132 = alloca ptr
%t154 = alloca ptr
%t170 = alloca ptr
%t179 = alloca ptr
%t188 = alloca ptr
%t200 = alloca ptr
store ptr %arg_meth, ptr %t0
store ptr %arg_e, ptr %t1
store i32 1, ptr @g_g_uses_cryptort
%t2 = load ptr, ptr %t0
%t3 = call i32 @fn_str_eq(ptr %t2, ptr @.str2156)
%t4 = icmp ne i32 %t3, 0
br i1 %t4, label %then0, label %ifend2
then0:
%t5 = load ptr, ptr %t1
%t6 = getelementptr inbounds %Cmp_Node, ptr %t5, i32 0, i32 7
%t7 = load ptr, ptr %t6
%t8 = getelementptr inbounds %LSlice, ptr %t7, i32 0, i32 0
%t9 = load ptr, ptr %t8
%t10 = getelementptr inbounds ptr, ptr %t9, i32 0
%t11 = load ptr, ptr %t10
%t12 = call ptr @fn_emit_expr(ptr %t11)
store ptr %t12, ptr %t13
%t14 = load ptr, ptr %t13
%t15 = getelementptr inbounds %Cmp_Val, ptr %t14, i32 0, i32 0
%t16 = load ptr, ptr %t15
%t17 = call ptr @fn_str_concat(ptr @.str2157, ptr %t16)
%t18 = call ptr @fn_str_concat(ptr %t17, ptr @.str2158)
%t19 = call ptr @fn_emit_bind(ptr %t18)
%t20 = call ptr @fn_val(ptr %t19, ptr @.str2159)
store ptr %t20, ptr %retval
br label %ret
ifend2:
%t21 = load ptr, ptr %t0
%t22 = call i32 @fn_str_eq(ptr %t21, ptr @.str2160)
%t23 = icmp ne i32 %t22, 0
br i1 %t23, label %then3, label %ifend5
then3:
%t24 = load ptr, ptr %t1
%t25 = getelementptr inbounds %Cmp_Node, ptr %t24, i32 0, i32 7
%t26 = load ptr, ptr %t25
%t27 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 0
%t28 = load ptr, ptr %t27
%t29 = getelementptr inbounds ptr, ptr %t28, i32 0
%t30 = load ptr, ptr %t29
%t31 = call ptr @fn_emit_expr(ptr %t30)
store ptr %t31, ptr %t32
%t33 = load ptr, ptr %t1
%t34 = getelementptr inbounds %Cmp_Node, ptr %t33, i32 0, i32 7
%t35 = load ptr, ptr %t34
%t36 = getelementptr inbounds %LSlice, ptr %t35, i32 0, i32 0
%t37 = load ptr, ptr %t36
%t38 = getelementptr inbounds ptr, ptr %t37, i32 1
%t39 = load ptr, ptr %t38
%t40 = call ptr @fn_emit_expr(ptr %t39)
store ptr %t40, ptr %t41
%t42 = load ptr, ptr %t32
%t43 = getelementptr inbounds %Cmp_Val, ptr %t42, i32 0, i32 0
%t44 = load ptr, ptr %t43
%t45 = call ptr @fn_str_concat(ptr @.str2161, ptr %t44)
%t46 = call ptr @fn_str_concat(ptr %t45, ptr @.str2162)
%t47 = load ptr, ptr %t41
%t48 = getelementptr inbounds %Cmp_Val, ptr %t47, i32 0, i32 0
%t49 = load ptr, ptr %t48
%t50 = call ptr @fn_str_concat(ptr %t46, ptr %t49)
%t51 = call ptr @fn_str_concat(ptr %t50, ptr @.str2163)
%t52 = call ptr @fn_emit_bind(ptr %t51)
%t53 = call ptr @fn_val(ptr %t52, ptr @.str2164)
store ptr %t53, ptr %retval
br label %ret
ifend5:
%t54 = load ptr, ptr %t0
%t55 = call i32 @fn_str_eq(ptr %t54, ptr @.str2165)
%t56 = icmp ne i32 %t55, 0
br i1 %t56, label %then6, label %ifend8
then6:
%t57 = load ptr, ptr %t1
%t58 = getelementptr inbounds %Cmp_Node, ptr %t57, i32 0, i32 7
%t59 = load ptr, ptr %t58
%t60 = getelementptr inbounds %LSlice, ptr %t59, i32 0, i32 0
%t61 = load ptr, ptr %t60
%t62 = getelementptr inbounds ptr, ptr %t61, i32 0
%t63 = load ptr, ptr %t62
%t64 = call ptr @fn_emit_expr(ptr %t63)
store ptr %t64, ptr %t65
%t66 = load ptr, ptr %t65
%t67 = getelementptr inbounds %Cmp_Val, ptr %t66, i32 0, i32 0
%t68 = load ptr, ptr %t67
%t69 = call ptr @fn_str_concat(ptr @.str2166, ptr %t68)
%t70 = call ptr @fn_str_concat(ptr %t69, ptr @.str2167)
%t71 = call ptr @fn_emit_bind(ptr %t70)
%t72 = call ptr @fn_val(ptr %t71, ptr @.str2168)
store ptr %t72, ptr %retval
br label %ret
ifend8:
%t73 = load ptr, ptr %t0
%t74 = call i32 @fn_str_eq(ptr %t73, ptr @.str2169)
%t75 = icmp ne i32 %t74, 0
br i1 %t75, label %then9, label %ifend11
then9:
%t76 = load ptr, ptr %t1
%t77 = getelementptr inbounds %Cmp_Node, ptr %t76, i32 0, i32 7
%t78 = load ptr, ptr %t77
%t79 = getelementptr inbounds %LSlice, ptr %t78, i32 0, i32 0
%t80 = load ptr, ptr %t79
%t81 = getelementptr inbounds ptr, ptr %t80, i32 0
%t82 = load ptr, ptr %t81
%t83 = call ptr @fn_emit_expr(ptr %t82)
store ptr %t83, ptr %t84
%t85 = load ptr, ptr %t1
%t86 = getelementptr inbounds %Cmp_Node, ptr %t85, i32 0, i32 7
%t87 = load ptr, ptr %t86
%t88 = getelementptr inbounds %LSlice, ptr %t87, i32 0, i32 0
%t89 = load ptr, ptr %t88
%t90 = getelementptr inbounds ptr, ptr %t89, i32 1
%t91 = load ptr, ptr %t90
%t92 = call ptr @fn_emit_expr(ptr %t91)
store ptr %t92, ptr %t93
%t94 = load ptr, ptr %t84
%t95 = getelementptr inbounds %Cmp_Val, ptr %t94, i32 0, i32 0
%t96 = load ptr, ptr %t95
%t97 = call ptr @fn_str_concat(ptr @.str2170, ptr %t96)
%t98 = call ptr @fn_str_concat(ptr %t97, ptr @.str2171)
%t99 = load ptr, ptr %t93
%t100 = getelementptr inbounds %Cmp_Val, ptr %t99, i32 0, i32 0
%t101 = load ptr, ptr %t100
%t102 = call ptr @fn_str_concat(ptr %t98, ptr %t101)
%t103 = call ptr @fn_str_concat(ptr %t102, ptr @.str2172)
%t104 = call ptr @fn_emit_bind(ptr %t103)
%t105 = call ptr @fn_val(ptr %t104, ptr @.str2173)
store ptr %t105, ptr %retval
br label %ret
ifend11:
%t107 = load ptr, ptr %t0
%t108 = call i32 @fn_str_eq(ptr %t107, ptr @.str2174)
%t109 = icmp ne i32 %t108, 0
%t110 = zext i1 %t109 to i32
store i32 %t110, ptr %t106
br i1 %t109, label %scend13, label %sc12
sc12:
%t111 = load ptr, ptr %t0
%t112 = call i32 @fn_str_eq(ptr %t111, ptr @.str2175)
%t113 = icmp ne i32 %t112, 0
%t114 = zext i1 %t113 to i32
store i32 %t114, ptr %t106
br label %scend13
scend13:
%t115 = load i32, ptr %t106
%t116 = icmp ne i32 %t115, 0
br i1 %t116, label %then14, label %ifend16
then14:
%t117 = load ptr, ptr %t1
%t118 = getelementptr inbounds %Cmp_Node, ptr %t117, i32 0, i32 7
%t119 = load ptr, ptr %t118
%t120 = getelementptr inbounds %LSlice, ptr %t119, i32 0, i32 0
%t121 = load ptr, ptr %t120
%t122 = getelementptr inbounds ptr, ptr %t121, i32 0
%t123 = load ptr, ptr %t122
%t124 = call ptr @fn_emit_expr(ptr %t123)
store ptr %t124, ptr %t125
%t126 = load ptr, ptr %t125
%t127 = getelementptr inbounds %Cmp_Val, ptr %t126, i32 0, i32 0
%t128 = load ptr, ptr %t127
%t129 = call ptr @fn_str_concat(ptr @.str2176, ptr %t128)
%t130 = call ptr @fn_str_concat(ptr %t129, ptr @.str2177)
%t131 = call ptr @fn_emit_bind(ptr %t130)
store ptr %t131, ptr %t132
%t133 = load ptr, ptr %t132
%t134 = call ptr @fn_str_concat(ptr @.str2178, ptr %t133)
%t135 = call ptr @fn_str_concat(ptr %t134, ptr @.str2179)
%t136 = call ptr @fn_emit_bind(ptr %t135)
%t137 = call ptr @fn_val(ptr %t136, ptr @.str2180)
store ptr %t137, ptr %retval
br label %ret
ifend16:
%t138 = load ptr, ptr %t0
%t139 = call i32 @fn_str_eq(ptr %t138, ptr @.str2181)
%t140 = icmp ne i32 %t139, 0
br i1 %t140, label %then17, label %ifend19
then17:
%t141 = call ptr @fn_emit_bind(ptr @.str2182)
%t142 = call ptr @fn_val(ptr %t141, ptr @.str2183)
store ptr %t142, ptr %retval
br label %ret
ifend19:
%t143 = load ptr, ptr %t0
%t144 = call i32 @fn_str_eq(ptr %t143, ptr @.str2184)
%t145 = icmp ne i32 %t144, 0
br i1 %t145, label %then20, label %ifend22
then20:
%t146 = load ptr, ptr %t1
%t147 = getelementptr inbounds %Cmp_Node, ptr %t146, i32 0, i32 7
%t148 = load ptr, ptr %t147
%t149 = getelementptr inbounds %LSlice, ptr %t148, i32 0, i32 0
%t150 = load ptr, ptr %t149
%t151 = getelementptr inbounds ptr, ptr %t150, i32 0
%t152 = load ptr, ptr %t151
%t153 = call ptr @fn_emit_expr(ptr %t152)
store ptr %t153, ptr %t154
%t155 = load ptr, ptr %t154
%t156 = getelementptr inbounds %Cmp_Val, ptr %t155, i32 0, i32 0
%t157 = load ptr, ptr %t156
%t158 = call ptr @fn_str_concat(ptr @.str2185, ptr %t157)
%t159 = call ptr @fn_str_concat(ptr %t158, ptr @.str2186)
%t160 = call ptr @fn_emit_bind(ptr %t159)
%t161 = call ptr @fn_val(ptr %t160, ptr @.str2187)
store ptr %t161, ptr %retval
br label %ret
ifend22:
%t162 = load ptr, ptr %t1
%t163 = getelementptr inbounds %Cmp_Node, ptr %t162, i32 0, i32 7
%t164 = load ptr, ptr %t163
%t165 = getelementptr inbounds %LSlice, ptr %t164, i32 0, i32 0
%t166 = load ptr, ptr %t165
%t167 = getelementptr inbounds ptr, ptr %t166, i32 0
%t168 = load ptr, ptr %t167
%t169 = call ptr @fn_emit_expr(ptr %t168)
store ptr %t169, ptr %t170
%t171 = load ptr, ptr %t1
%t172 = getelementptr inbounds %Cmp_Node, ptr %t171, i32 0, i32 7
%t173 = load ptr, ptr %t172
%t174 = getelementptr inbounds %LSlice, ptr %t173, i32 0, i32 0
%t175 = load ptr, ptr %t174
%t176 = getelementptr inbounds ptr, ptr %t175, i32 1
%t177 = load ptr, ptr %t176
%t178 = call ptr @fn_emit_expr(ptr %t177)
store ptr %t178, ptr %t179
%t180 = load ptr, ptr %t1
%t181 = getelementptr inbounds %Cmp_Node, ptr %t180, i32 0, i32 7
%t182 = load ptr, ptr %t181
%t183 = getelementptr inbounds %LSlice, ptr %t182, i32 0, i32 0
%t184 = load ptr, ptr %t183
%t185 = getelementptr inbounds ptr, ptr %t184, i32 2
%t186 = load ptr, ptr %t185
%t187 = call ptr @fn_emit_expr(ptr %t186)
store ptr %t187, ptr %t188
%t189 = load ptr, ptr %t170
%t190 = getelementptr inbounds %Cmp_Val, ptr %t189, i32 0, i32 0
%t191 = load ptr, ptr %t190
%t192 = call ptr @fn_str_concat(ptr @.str2188, ptr %t191)
%t193 = call ptr @fn_str_concat(ptr %t192, ptr @.str2189)
%t194 = load ptr, ptr %t179
%t195 = getelementptr inbounds %Cmp_Val, ptr %t194, i32 0, i32 0
%t196 = load ptr, ptr %t195
%t197 = call ptr @fn_str_concat(ptr %t193, ptr %t196)
%t198 = call ptr @fn_str_concat(ptr %t197, ptr @.str2190)
%t199 = call ptr @fn_emit_bind(ptr %t198)
store ptr %t199, ptr %t200
%t201 = load ptr, ptr %t200
%t202 = call ptr @fn_str_concat(ptr @.str2191, ptr %t201)
%t203 = call ptr @fn_str_concat(ptr %t202, ptr @.str2192)
%t204 = load ptr, ptr %t188
%t205 = getelementptr inbounds %Cmp_Val, ptr %t204, i32 0, i32 0
%t206 = load ptr, ptr %t205
%t207 = call ptr @fn_str_concat(ptr %t203, ptr %t206)
%t208 = call ptr @fn_str_concat(ptr %t207, ptr @.str2193)
%t209 = call ptr @fn_emit_bind(ptr %t208)
%t210 = call ptr @fn_val(ptr %t209, ptr @.str2194)
store ptr %t210, ptr %retval
br label %ret
ret:
%t211 = load ptr, ptr %retval
ret ptr %t211
}
define void @fn_emit_crypto_prelude() {
entry:
call void @fn_emith(ptr @.str2195)
call void @fn_emith(ptr @.str2196)
call void @fn_emith(ptr @.str2197)
call void @fn_emith(ptr @.str2198)
call void @fn_emith(ptr @.str2199)
call void @fn_emith(ptr @.str2200)
call void @fn_emith(ptr @.str2201)
call void @fn_emith(ptr @.str2202)
call void @fn_emith(ptr @.str2203)
call void @fn_emith(ptr @.str2204)
call void @fn_emith(ptr @.str2205)
call void @fn_emith(ptr @.str2206)
call void @fn_emith(ptr @.str2207)
call void @fn_emith(ptr @.str2208)
call void @fn_emith(ptr @.str2209)
call void @fn_emith(ptr @.str2210)
call void @fn_emith(ptr @.str2211)
call void @fn_emith(ptr @.str2212)
call void @fn_emith(ptr @.str2213)
call void @fn_emith(ptr @.str2214)
call void @fn_emith(ptr @.str2215)
call void @fn_emith(ptr @.str2216)
call void @fn_emith(ptr @.str2217)
call void @fn_emith(ptr @.str2218)
call void @fn_emith(ptr @.str2219)
call void @fn_emith(ptr @.str2220)
call void @fn_emith(ptr @.str2221)
call void @fn_emith(ptr @.str2222)
call void @fn_emith(ptr @.str2223)
call void @fn_emith(ptr @.str2224)
call void @fn_emith(ptr @.str2225)
call void @fn_emith(ptr @.str2226)
call void @fn_emith(ptr @.str2227)
call void @fn_emith(ptr @.str2228)
call void @fn_emith(ptr @.str2229)
call void @fn_emith(ptr @.str2230)
call void @fn_emith(ptr @.str2231)
call void @fn_emith(ptr @.str2232)
call void @fn_emith(ptr @.str2233)
call void @fn_emith(ptr @.str2234)
call void @fn_emith(ptr @.str2235)
call void @fn_emith(ptr @.str2236)
call void @fn_emith(ptr @.str2237)
call void @fn_emith(ptr @.str2238)
call void @fn_emith(ptr @.str2239)
call void @fn_emith(ptr @.str2240)
call void @fn_emith(ptr @.str2241)
call void @fn_emith(ptr @.str2242)
call void @fn_emith(ptr @.str2243)
call void @fn_emith(ptr @.str2244)
call void @fn_emith(ptr @.str2245)
call void @fn_emith(ptr @.str2246)
call void @fn_emith(ptr @.str2247)
call void @fn_emith(ptr @.str2248)
call void @fn_emith(ptr @.str2249)
call void @fn_emith(ptr @.str2250)
call void @fn_emith(ptr @.str2251)
call void @fn_emith(ptr @.str2252)
call void @fn_emith(ptr @.str2253)
call void @fn_emith(ptr @.str2254)
call void @fn_emith(ptr @.str2255)
call void @fn_emith(ptr @.str2256)
call void @fn_emith(ptr @.str2257)
call void @fn_emith(ptr @.str2258)
call void @fn_emith(ptr @.str2259)
call void @fn_emith(ptr @.str2260)
call void @fn_emith(ptr @.str2261)
call void @fn_emith(ptr @.str2262)
call void @fn_emith(ptr @.str2263)
call void @fn_emith(ptr @.str2264)
call void @fn_emith(ptr @.str2265)
call void @fn_emith(ptr @.str2266)
call void @fn_emith(ptr @.str2267)
call void @fn_emith(ptr @.str2268)
call void @fn_emith(ptr @.str2269)
call void @fn_emith(ptr @.str2270)
call void @fn_emith(ptr @.str2271)
call void @fn_emith(ptr @.str2272)
call void @fn_emith(ptr @.str2273)
call void @fn_emith(ptr @.str2274)
call void @fn_emith(ptr @.str2275)
call void @fn_emith(ptr @.str2276)
call void @fn_emith(ptr @.str2277)
call void @fn_emith(ptr @.str2278)
call void @fn_emith(ptr @.str2279)
call void @fn_emith(ptr @.str2280)
call void @fn_emith(ptr @.str2281)
call void @fn_emith(ptr @.str2282)
call void @fn_emith(ptr @.str2283)
call void @fn_emith(ptr @.str2284)
call void @fn_emith(ptr @.str2285)
call void @fn_emith(ptr @.str2286)
call void @fn_emith(ptr @.str2287)
call void @fn_emith(ptr @.str2288)
call void @fn_emith(ptr @.str2289)
call void @fn_emith(ptr @.str2290)
call void @fn_emith(ptr @.str2291)
call void @fn_emith(ptr @.str2292)
call void @fn_emith(ptr @.str2293)
call void @fn_emith(ptr @.str2294)
call void @fn_emith(ptr @.str2295)
call void @fn_emith(ptr @.str2296)
call void @fn_emith(ptr @.str2297)
call void @fn_emith(ptr @.str2298)
call void @fn_emith(ptr @.str2299)
call void @fn_emith(ptr @.str2300)
call void @fn_emith(ptr @.str2301)
call void @fn_emith(ptr @.str2302)
call void @fn_emith(ptr @.str2303)
call void @fn_emith(ptr @.str2304)
call void @fn_emith(ptr @.str2305)
call void @fn_emith(ptr @.str2306)
call void @fn_emith(ptr @.str2307)
call void @fn_emith(ptr @.str2308)
call void @fn_emith(ptr @.str2309)
call void @fn_emith(ptr @.str2310)
call void @fn_emith(ptr @.str2311)
call void @fn_emith(ptr @.str2312)
call void @fn_emith(ptr @.str2313)
call void @fn_emith(ptr @.str2314)
call void @fn_emith(ptr @.str2315)
call void @fn_emith(ptr @.str2316)
call void @fn_emith(ptr @.str2317)
call void @fn_emith(ptr @.str2318)
call void @fn_emith(ptr @.str2319)
call void @fn_emith(ptr @.str2320)
call void @fn_emith(ptr @.str2321)
call void @fn_emith(ptr @.str2322)
call void @fn_emith(ptr @.str2323)
call void @fn_emith(ptr @.str2324)
call void @fn_emith(ptr @.str2325)
call void @fn_emith(ptr @.str2326)
call void @fn_emith(ptr @.str2327)
call void @fn_emith(ptr @.str2328)
call void @fn_emith(ptr @.str2329)
call void @fn_emith(ptr @.str2330)
call void @fn_emith(ptr @.str2331)
call void @fn_emith(ptr @.str2332)
call void @fn_emith(ptr @.str2333)
call void @fn_emith(ptr @.str2334)
call void @fn_emith(ptr @.str2335)
call void @fn_emith(ptr @.str2336)
call void @fn_emith(ptr @.str2337)
call void @fn_emith(ptr @.str2338)
call void @fn_emith(ptr @.str2339)
call void @fn_emith(ptr @.str2340)
call void @fn_emith(ptr @.str2341)
call void @fn_emith(ptr @.str2342)
call void @fn_emith(ptr @.str2343)
call void @fn_emith(ptr @.str2344)
call void @fn_emith(ptr @.str2345)
call void @fn_emith(ptr @.str2346)
call void @fn_emit_secure_rand_prelude()
br label %ret
ret:
ret void
}
define void @fn_emit_secure_rand_prelude() {
entry:
call void @fn_emith(ptr @.str2347)
call void @fn_emith(ptr @.str2348)
call void @fn_emith(ptr @.str2349)
call void @fn_emith(ptr @.str2350)
call void @fn_emith(ptr @.str2351)
call void @fn_emith(ptr @.str2352)
call void @fn_emith(ptr @.str2353)
call void @fn_emith(ptr @.str2354)
call void @fn_emith(ptr @.str2355)
call void @fn_emith(ptr @.str2356)
call void @fn_emith(ptr @.str2357)
call void @fn_emith(ptr @.str2358)
call void @fn_emith(ptr @.str2359)
call void @fn_emith(ptr @.str2360)
call void @fn_emith(ptr @.str2361)
call void @fn_emith(ptr @.str2362)
call void @fn_emith(ptr @.str2363)
call void @fn_emith(ptr @.str2364)
call void @fn_emith(ptr @.str2365)
call void @fn_emith(ptr @.str2366)
call void @fn_emith(ptr @.str2367)
call void @fn_emith(ptr @.str2368)
call void @fn_emith(ptr @.str2369)
call void @fn_emith(ptr @.str2370)
call void @fn_emith(ptr @.str2371)
call void @fn_emith(ptr @.str2372)
call void @fn_emith(ptr @.str2373)
call void @fn_emith(ptr @.str2374)
call void @fn_emith(ptr @.str2375)
call void @fn_emith(ptr @.str2376)
call void @fn_emith(ptr @.str2377)
call void @fn_emith(ptr @.str2378)
call void @fn_emith(ptr @.str2379)
call void @fn_emith(ptr @.str2380)
call void @fn_emith(ptr @.str2381)
call void @fn_emith(ptr @.str2382)
call void @fn_emith(ptr @.str2383)
call void @fn_emith(ptr @.str2384)
call void @fn_emith(ptr @.str2385)
call void @fn_emith(ptr @.str2386)
call void @fn_emith(ptr @.str2387)
call void @fn_emith(ptr @.str2388)
call void @fn_emith(ptr @.str2389)
call void @fn_emith(ptr @.str2390)
call void @fn_emith(ptr @.str2391)
call void @fn_emith(ptr @.str2392)
call void @fn_emith(ptr @.str2393)
call void @fn_emith(ptr @.str2394)
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 @fn_str_eq(ptr %t4, ptr @.str2395)
%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 @fn_str_eq(ptr %t8, ptr @.str2396)
%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 @fn_str_eq(ptr %t15, ptr @.str2397)
%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 @fn_str_eq(ptr %t22, ptr @.str2398)
%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 @fn_str_eq(ptr %t30, ptr @.str2399)
%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 @fn_str_eq(ptr %t34, ptr @.str2400)
%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 @fn_str_eq(ptr %t41, ptr @.str2401)
%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 @fn_str_eq(ptr %t48, ptr @.str2402)
%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 @fn_str_eq(ptr %t52, ptr @.str2403)
%t54 = icmp ne i32 %t53, 0
%t55 = zext i1 %t54 to i32
store i32 %t55, ptr %t47
br label %scend17
scend17:
%t56 = load i32, ptr %t47
%t57 = icmp ne i32 %t56, 0
br i1 %t57, label %then18, label %ifend20
then18:
store i32 1, ptr %retval
br label %ret
ifend20:
store i32 0, ptr %retval
br label %ret
ret:
%t58 = load i32, ptr %retval
ret i32 %t58
}
define ptr @fn_emit_uuid_ns(ptr %arg_meth, ptr %arg_e) {
entry:
%retval = alloca ptr
%t0 = alloca ptr
%t1 = alloca ptr
%t2 = alloca i32
%t15 = alloca i32
%t44 = alloca ptr
%t63 = alloca ptr
%t79 = alloca ptr
%t88 = alloca ptr
%t109 = alloca ptr
store ptr %arg_meth, ptr %t0
store ptr %arg_e, ptr %t1
store i32 1, ptr @g_g_uses_cryptort
store i32 1, ptr @g_g_uses_uuidrt
%t3 = load ptr, ptr %t0
%t4 = call i32 @fn_str_eq(ptr %t3, ptr @.str2404)
%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_str_eq(ptr %t7, ptr @.str2405)
%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 @.str2406)
%t14 = call ptr @fn_val(ptr %t13, ptr @.str2407)
store ptr %t14, ptr %retval
br label %ret
ifend4:
%t16 = load ptr, ptr %t0
%t17 = call i32 @fn_str_eq(ptr %t16, ptr @.str2408)
%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 @fn_str_eq(ptr %t20, ptr @.str2409)
%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 @.str2410)
%t27 = call ptr @fn_val(ptr %t26, ptr @.str2411)
store ptr %t27, ptr %retval
br label %ret
ifend9:
%t28 = load ptr, ptr %t0
%t29 = call i32 @fn_str_eq(ptr %t28, ptr @.str2412)
%t30 = icmp ne i32 %t29, 0
br i1 %t30, label %then10, label %ifend12
then10:
%t31 = call ptr @fn_emit_bind(ptr @.str2413)
%t32 = call ptr @fn_val(ptr %t31, ptr @.str2414)
store ptr %t32, ptr %retval
br label %ret
ifend12:
%t33 = load ptr, ptr %t0
%t34 = call i32 @fn_str_eq(ptr %t33, ptr @.str2415)
%t35 = icmp ne i32 %t34, 0
br i1 %t35, label %then13, label %ifend15
then13:
%t36 = load ptr, ptr %t1
%t37 = getelementptr inbounds %Cmp_Node, ptr %t36, i32 0, i32 7
%t38 = load ptr, ptr %t37
%t39 = getelementptr inbounds %LSlice, ptr %t38, i32 0, i32 0
%t40 = load ptr, ptr %t39
%t41 = getelementptr inbounds ptr, ptr %t40, i32 0
%t42 = load ptr, ptr %t41
%t43 = call ptr @fn_emit_expr(ptr %t42)
store ptr %t43, ptr %t44
%t45 = load ptr, ptr %t44
%t46 = getelementptr inbounds %Cmp_Val, ptr %t45, i32 0, i32 0
%t47 = load ptr, ptr %t46
%t48 = call ptr @fn_str_concat(ptr @.str2416, ptr %t47)
%t49 = call ptr @fn_str_concat(ptr %t48, ptr @.str2417)
%t50 = call ptr @fn_emit_bind(ptr %t49)
%t51 = call ptr @fn_val(ptr %t50, ptr @.str2418)
store ptr %t51, ptr %retval
br label %ret
ifend15:
%t52 = load ptr, ptr %t0
%t53 = call i32 @fn_str_eq(ptr %t52, ptr @.str2419)
%t54 = icmp ne i32 %t53, 0
br i1 %t54, label %then16, label %ifend18
then16:
%t55 = load ptr, ptr %t1
%t56 = getelementptr inbounds %Cmp_Node, ptr %t55, i32 0, i32 7
%t57 = load ptr, ptr %t56
%t58 = getelementptr inbounds %LSlice, ptr %t57, i32 0, i32 0
%t59 = load ptr, ptr %t58
%t60 = getelementptr inbounds ptr, ptr %t59, i32 0
%t61 = load ptr, ptr %t60
%t62 = call ptr @fn_emit_expr(ptr %t61)
store ptr %t62, ptr %t63
%t64 = load ptr, ptr %t63
%t65 = getelementptr inbounds %Cmp_Val, ptr %t64, i32 0, i32 0
%t66 = load ptr, ptr %t65
%t67 = call ptr @fn_val(ptr %t66, ptr @.str2420)
store ptr %t67, ptr %retval
br label %ret
ifend18:
%t68 = load ptr, ptr %t0
%t69 = call i32 @fn_str_eq(ptr %t68, ptr @.str2421)
%t70 = icmp ne i32 %t69, 0
br i1 %t70, label %then19, label %ifend21
then19:
%t71 = load ptr, ptr %t1
%t72 = getelementptr inbounds %Cmp_Node, ptr %t71, i32 0, i32 7
%t73 = load ptr, ptr %t72
%t74 = getelementptr inbounds %LSlice, ptr %t73, i32 0, i32 0
%t75 = load ptr, ptr %t74
%t76 = getelementptr inbounds ptr, ptr %t75, i32 0
%t77 = load ptr, ptr %t76
%t78 = call ptr @fn_emit_expr(ptr %t77)
store ptr %t78, ptr %t79
%t80 = load ptr, ptr %t1
%t81 = getelementptr inbounds %Cmp_Node, ptr %t80, i32 0, i32 7
%t82 = load ptr, ptr %t81
%t83 = getelementptr inbounds %LSlice, ptr %t82, i32 0, i32 0
%t84 = load ptr, ptr %t83
%t85 = getelementptr inbounds ptr, ptr %t84, i32 1
%t86 = load ptr, ptr %t85
%t87 = call ptr @fn_emit_expr(ptr %t86)
store ptr %t87, ptr %t88
%t89 = load ptr, ptr %t79
%t90 = getelementptr inbounds %Cmp_Val, ptr %t89, i32 0, i32 0
%t91 = load ptr, ptr %t90
%t92 = call ptr @fn_str_concat(ptr @.str2422, ptr %t91)
%t93 = call ptr @fn_str_concat(ptr %t92, ptr @.str2423)
%t94 = load ptr, ptr %t88
%t95 = getelementptr inbounds %Cmp_Val, ptr %t94, i32 0, i32 0
%t96 = load ptr, ptr %t95
%t97 = call ptr @fn_str_concat(ptr %t93, ptr %t96)
%t98 = call ptr @fn_str_concat(ptr %t97, ptr @.str2424)
%t99 = call ptr @fn_emit_bind(ptr %t98)
%t100 = call ptr @fn_val(ptr %t99, ptr @.str2425)
store ptr %t100, ptr %retval
br label %ret
ifend21:
%t101 = load ptr, ptr %t1
%t102 = getelementptr inbounds %Cmp_Node, ptr %t101, i32 0, i32 7
%t103 = load ptr, ptr %t102
%t104 = getelementptr inbounds %LSlice, ptr %t103, i32 0, i32 0
%t105 = load ptr, ptr %t104
%t106 = getelementptr inbounds ptr, ptr %t105, i32 0
%t107 = load ptr, ptr %t106
%t108 = call ptr @fn_emit_expr(ptr %t107)
store ptr %t108, ptr %t109
%t110 = load ptr, ptr %t109
%t111 = getelementptr inbounds %Cmp_Val, ptr %t110, i32 0, i32 0
%t112 = load ptr, ptr %t111
%t113 = call ptr @fn_str_concat(ptr @.str2426, ptr %t112)
%t114 = call ptr @fn_str_concat(ptr %t113, ptr @.str2427)
%t115 = call ptr @fn_emit_bind(ptr %t114)
%t116 = call ptr @fn_val(ptr %t115, ptr @.str2428)
store ptr %t116, ptr %retval
br label %ret
ret:
%t117 = load ptr, ptr %retval
ret ptr %t117
}
define void @fn_emit_uuid_prelude() {
entry:
call void @fn_emith(ptr @.str2429)
call void @fn_emith(ptr @.str2430)
call void @fn_emith(ptr @.str2431)
call void @fn_emith(ptr @.str2432)
call void @fn_emith(ptr @.str2433)
call void @fn_emith(ptr @.str2434)
call void @fn_emith(ptr @.str2435)
call void @fn_emith(ptr @.str2436)
call void @fn_emith(ptr @.str2437)
call void @fn_emith(ptr @.str2438)
call void @fn_emith(ptr @.str2439)
call void @fn_emith(ptr @.str2440)
call void @fn_emith(ptr @.str2441)
call void @fn_emith(ptr @.str2442)
call void @fn_emith(ptr @.str2443)
call void @fn_emith(ptr @.str2444)
call void @fn_emith(ptr @.str2445)
call void @fn_emith(ptr @.str2446)
call void @fn_emith(ptr @.str2447)
call void @fn_emith(ptr @.str2448)
call void @fn_emith(ptr @.str2449)
call void @fn_emith(ptr @.str2450)
call void @fn_emith(ptr @.str2451)
call void @fn_emith(ptr @.str2452)
call void @fn_emith(ptr @.str2453)
call void @fn_emith(ptr @.str2454)
call void @fn_emith(ptr @.str2455)
call void @fn_emith(ptr @.str2456)
call void @fn_emith(ptr @.str2457)
call void @fn_emith(ptr @.str2458)
call void @fn_emith(ptr @.str2459)
call void @fn_emith(ptr @.str2460)
call void @fn_emith(ptr @.str2461)
call void @fn_emith(ptr @.str2462)
call void @fn_emith(ptr @.str2463)
call void @fn_emith(ptr @.str2464)
call void @fn_emith(ptr @.str2465)
call void @fn_emith(ptr @.str2466)
call void @fn_emith(ptr @.str2467)
call void @fn_emith(ptr @.str2468)
call void @fn_emith(ptr @.str2469)
call void @fn_emith(ptr @.str2470)
call void @fn_emith(ptr @.str2471)
call void @fn_emith(ptr @.str2472)
call void @fn_emith(ptr @.str2473)
call void @fn_emith(ptr @.str2474)
call void @fn_emith(ptr @.str2475)
call void @fn_emith(ptr @.str2476)
call void @fn_emith(ptr @.str2477)
call void @fn_emith(ptr @.str2478)
call void @fn_emith(ptr @.str2479)
call void @fn_emith(ptr @.str2480)
call void @fn_emith(ptr @.str2481)
call void @fn_emith(ptr @.str2482)
call void @fn_emith(ptr @.str2483)
call void @fn_emith(ptr @.str2484)
call void @fn_emith(ptr @.str2485)
call void @fn_emith(ptr @.str2486)
call void @fn_emith(ptr @.str2487)
call void @fn_emith(ptr @.str2488)
call void @fn_emith(ptr @.str2489)
call void @fn_emith(ptr @.str2490)
call void @fn_emith(ptr @.str2491)
call void @fn_emith(ptr @.str2492)
call void @fn_emith(ptr @.str2493)
call void @fn_emith(ptr @.str2494)
call void @fn_emith(ptr @.str2495)
call void @fn_emith(ptr @.str2496)
call void @fn_emith(ptr @.str2497)
call void @fn_emith(ptr @.str2498)
call void @fn_emith(ptr @.str2499)
call void @fn_emith(ptr @.str2500)
call void @fn_emith(ptr @.str2501)
call void @fn_emith(ptr @.str2502)
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 @fn_str_eq(ptr %t3, ptr @.str2503)
%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_str_eq(ptr %t7, ptr @.str2504)
%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_eq(ptr %t14, ptr @.str2505)
%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 @fn_str_eq(ptr %t22, ptr @.str2506)
%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 @fn_str_eq(ptr %t26, ptr @.str2507)
%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 @fn_str_eq(ptr %t33, ptr @.str2508)
%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 @fn_str_eq(ptr %t39, ptr @.str2509)
%t41 = icmp ne i32 %t40, 0
br i1 %t41, label %then14, label %ifend16
then14:
store i32 1, ptr %retval
br label %ret
ifend16:
store i32 0, ptr %retval
br label %ret
ret:
%t42 = load i32, ptr %retval
ret i32 %t42
}
define ptr @fn_emit_noise_ns(ptr %arg_meth, ptr %arg_e) {
entry:
%retval = alloca ptr
%t0 = alloca ptr
%t1 = alloca ptr
%t13 = alloca ptr
%t20 = alloca ptr
%t37 = alloca ptr
%t46 = alloca ptr
%t55 = alloca ptr
%t84 = alloca ptr
%t93 = alloca ptr
%t102 = alloca ptr
%t131 = alloca ptr
%t140 = alloca ptr
%t149 = alloca ptr
%t178 = alloca ptr
%t187 = alloca ptr
%t196 = alloca ptr
%t205 = alloca ptr
%t239 = alloca ptr
%t248 = alloca ptr
%t257 = alloca ptr
%t283 = alloca ptr
%t292 = alloca ptr
%t301 = alloca ptr
store ptr %arg_meth, ptr %t0
store ptr %arg_e, ptr %t1
%t2 = load ptr, ptr %t0
%t3 = call i32 @fn_str_eq(ptr %t2, ptr @.str2510)
%t4 = icmp ne i32 %t3, 0
br i1 %t4, label %then0, label %ifend2
then0:
%t5 = load ptr, ptr %t1
%t6 = getelementptr inbounds %Cmp_Node, ptr %t5, i32 0, i32 7
%t7 = load ptr, ptr %t6
%t8 = getelementptr inbounds %LSlice, ptr %t7, i32 0, i32 0
%t9 = load ptr, ptr %t8
%t10 = getelementptr inbounds ptr, ptr %t9, i32 0
%t11 = load ptr, ptr %t10
%t12 = call ptr @fn_emit_expr(ptr %t11)
store ptr %t12, ptr %t13
%t14 = load ptr, ptr %t13
%t15 = getelementptr inbounds %Cmp_Val, ptr %t14, i32 0, i32 0
%t16 = load ptr, ptr %t15
%t17 = call ptr @fn_str_concat(ptr @.str2511, ptr %t16)
%t18 = call ptr @fn_str_concat(ptr %t17, ptr @.str2512)
%t19 = call ptr @fn_emit_bind(ptr %t18)
store ptr %t19, ptr %t20
%t21 = load ptr, ptr %t20
%t22 = call ptr @fn_str_concat(ptr @.str2513, ptr %t21)
%t23 = call ptr @fn_str_concat(ptr %t22, ptr @.str2514)
%t24 = call ptr @fn_emit_bind(ptr %t23)
%t25 = call ptr @fn_val(ptr %t24, ptr @.str2515)
store ptr %t25, ptr %retval
br label %ret
ifend2:
store i32 1, ptr @g_g_uses_noisert
%t26 = load ptr, ptr %t0
%t27 = call i32 @fn_str_eq(ptr %t26, ptr @.str2516)
%t28 = icmp ne i32 %t27, 0
br i1 %t28, label %then3, label %ifend5
then3:
%t29 = load ptr, ptr %t1
%t30 = getelementptr inbounds %Cmp_Node, ptr %t29, i32 0, i32 7
%t31 = load ptr, ptr %t30
%t32 = getelementptr inbounds %LSlice, ptr %t31, i32 0, i32 0
%t33 = load ptr, ptr %t32
%t34 = getelementptr inbounds ptr, ptr %t33, i32 0
%t35 = load ptr, ptr %t34
%t36 = call ptr @fn_emit_expr(ptr %t35)
store ptr %t36, ptr %t37
%t38 = load ptr, ptr %t1
%t39 = getelementptr inbounds %Cmp_Node, ptr %t38, i32 0, i32 7
%t40 = load ptr, ptr %t39
%t41 = getelementptr inbounds %LSlice, ptr %t40, i32 0, i32 0
%t42 = load ptr, ptr %t41
%t43 = getelementptr inbounds ptr, ptr %t42, i32 1
%t44 = load ptr, ptr %t43
%t45 = call ptr @fn_emit_expr(ptr %t44)
store ptr %t45, ptr %t46
%t47 = load ptr, ptr %t1
%t48 = getelementptr inbounds %Cmp_Node, ptr %t47, i32 0, i32 7
%t49 = load ptr, ptr %t48
%t50 = getelementptr inbounds %LSlice, ptr %t49, i32 0, i32 0
%t51 = load ptr, ptr %t50
%t52 = getelementptr inbounds ptr, ptr %t51, i32 2
%t53 = load ptr, ptr %t52
%t54 = call ptr @fn_emit_expr(ptr %t53)
store ptr %t54, ptr %t55
%t56 = load ptr, ptr %t37
%t57 = getelementptr inbounds %Cmp_Val, ptr %t56, i32 0, i32 0
%t58 = load ptr, ptr %t57
%t59 = call ptr @fn_str_concat(ptr @.str2517, ptr %t58)
%t60 = call ptr @fn_str_concat(ptr %t59, ptr @.str2518)
%t61 = load ptr, ptr %t46
%t62 = getelementptr inbounds %Cmp_Val, ptr %t61, i32 0, i32 0
%t63 = load ptr, ptr %t62
%t64 = call ptr @fn_str_concat(ptr %t60, ptr %t63)
%t65 = call ptr @fn_str_concat(ptr %t64, ptr @.str2519)
%t66 = load ptr, ptr %t55
%t67 = getelementptr inbounds %Cmp_Val, ptr %t66, i32 0, i32 0
%t68 = load ptr, ptr %t67
%t69 = call ptr @fn_str_concat(ptr %t65, ptr %t68)
%t70 = call ptr @fn_str_concat(ptr %t69, ptr @.str2520)
%t71 = call ptr @fn_emit_bind(ptr %t70)
%t72 = call ptr @fn_val(ptr %t71, ptr @.str2521)
store ptr %t72, ptr %retval
br label %ret
ifend5:
%t73 = load ptr, ptr %t0
%t74 = call i32 @fn_str_eq(ptr %t73, ptr @.str2522)
%t75 = icmp ne i32 %t74, 0
br i1 %t75, label %then6, label %ifend8
then6:
%t76 = load ptr, ptr %t1
%t77 = getelementptr inbounds %Cmp_Node, ptr %t76, i32 0, i32 7
%t78 = load ptr, ptr %t77
%t79 = getelementptr inbounds %LSlice, ptr %t78, i32 0, i32 0
%t80 = load ptr, ptr %t79
%t81 = getelementptr inbounds ptr, ptr %t80, i32 0
%t82 = load ptr, ptr %t81
%t83 = call ptr @fn_emit_expr(ptr %t82)
store ptr %t83, ptr %t84
%t85 = load ptr, ptr %t1
%t86 = getelementptr inbounds %Cmp_Node, ptr %t85, i32 0, i32 7
%t87 = load ptr, ptr %t86
%t88 = getelementptr inbounds %LSlice, ptr %t87, i32 0, i32 0
%t89 = load ptr, ptr %t88
%t90 = getelementptr inbounds ptr, ptr %t89, i32 1
%t91 = load ptr, ptr %t90
%t92 = call ptr @fn_emit_expr(ptr %t91)
store ptr %t92, ptr %t93
%t94 = load ptr, ptr %t1
%t95 = getelementptr inbounds %Cmp_Node, ptr %t94, i32 0, i32 7
%t96 = load ptr, ptr %t95
%t97 = getelementptr inbounds %LSlice, ptr %t96, i32 0, i32 0
%t98 = load ptr, ptr %t97
%t99 = getelementptr inbounds ptr, ptr %t98, i32 2
%t100 = load ptr, ptr %t99
%t101 = call ptr @fn_emit_expr(ptr %t100)
store ptr %t101, ptr %t102
%t103 = load ptr, ptr %t84
%t104 = getelementptr inbounds %Cmp_Val, ptr %t103, i32 0, i32 0
%t105 = load ptr, ptr %t104
%t106 = call ptr @fn_str_concat(ptr @.str2523, ptr %t105)
%t107 = call ptr @fn_str_concat(ptr %t106, ptr @.str2524)
%t108 = load ptr, ptr %t93
%t109 = getelementptr inbounds %Cmp_Val, ptr %t108, i32 0, i32 0
%t110 = load ptr, ptr %t109
%t111 = call ptr @fn_str_concat(ptr %t107, ptr %t110)
%t112 = call ptr @fn_str_concat(ptr %t111, ptr @.str2525)
%t113 = load ptr, ptr %t102
%t114 = getelementptr inbounds %Cmp_Val, ptr %t113, i32 0, i32 0
%t115 = load ptr, ptr %t114
%t116 = call ptr @fn_str_concat(ptr %t112, ptr %t115)
%t117 = call ptr @fn_str_concat(ptr %t116, ptr @.str2526)
%t118 = call ptr @fn_emit_bind(ptr %t117)
%t119 = call ptr @fn_val(ptr %t118, ptr @.str2527)
store ptr %t119, ptr %retval
br label %ret
ifend8:
%t120 = load ptr, ptr %t0
%t121 = call i32 @fn_str_eq(ptr %t120, ptr @.str2528)
%t122 = icmp ne i32 %t121, 0
br i1 %t122, label %then9, label %ifend11
then9:
%t123 = load ptr, ptr %t1
%t124 = getelementptr inbounds %Cmp_Node, ptr %t123, i32 0, i32 7
%t125 = load ptr, ptr %t124
%t126 = getelementptr inbounds %LSlice, ptr %t125, i32 0, i32 0
%t127 = load ptr, ptr %t126
%t128 = getelementptr inbounds ptr, ptr %t127, i32 0
%t129 = load ptr, ptr %t128
%t130 = call ptr @fn_emit_expr(ptr %t129)
store ptr %t130, ptr %t131
%t132 = load ptr, ptr %t1
%t133 = getelementptr inbounds %Cmp_Node, ptr %t132, i32 0, i32 7
%t134 = load ptr, ptr %t133
%t135 = getelementptr inbounds %LSlice, ptr %t134, i32 0, i32 0
%t136 = load ptr, ptr %t135
%t137 = getelementptr inbounds ptr, ptr %t136, i32 1
%t138 = load ptr, ptr %t137
%t139 = call ptr @fn_emit_expr(ptr %t138)
store ptr %t139, ptr %t140
%t141 = load ptr, ptr %t1
%t142 = getelementptr inbounds %Cmp_Node, ptr %t141, i32 0, i32 7
%t143 = load ptr, ptr %t142
%t144 = getelementptr inbounds %LSlice, ptr %t143, i32 0, i32 0
%t145 = load ptr, ptr %t144
%t146 = getelementptr inbounds ptr, ptr %t145, i32 2
%t147 = load ptr, ptr %t146
%t148 = call ptr @fn_emit_expr(ptr %t147)
store ptr %t148, ptr %t149
%t150 = load ptr, ptr %t131
%t151 = getelementptr inbounds %Cmp_Val, ptr %t150, i32 0, i32 0
%t152 = load ptr, ptr %t151
%t153 = call ptr @fn_str_concat(ptr @.str2529, ptr %t152)
%t154 = call ptr @fn_str_concat(ptr %t153, ptr @.str2530)
%t155 = load ptr, ptr %t140
%t156 = getelementptr inbounds %Cmp_Val, ptr %t155, i32 0, i32 0
%t157 = load ptr, ptr %t156
%t158 = call ptr @fn_str_concat(ptr %t154, ptr %t157)
%t159 = call ptr @fn_str_concat(ptr %t158, ptr @.str2531)
%t160 = load ptr, ptr %t149
%t161 = getelementptr inbounds %Cmp_Val, ptr %t160, i32 0, i32 0
%t162 = load ptr, ptr %t161
%t163 = call ptr @fn_str_concat(ptr %t159, ptr %t162)
%t164 = call ptr @fn_str_concat(ptr %t163, ptr @.str2532)
%t165 = call ptr @fn_emit_bind(ptr %t164)
%t166 = call ptr @fn_val(ptr %t165, ptr @.str2533)
store ptr %t166, ptr %retval
br label %ret
ifend11:
%t167 = load ptr, ptr %t0
%t168 = call i32 @fn_str_eq(ptr %t167, ptr @.str2534)
%t169 = icmp ne i32 %t168, 0
br i1 %t169, label %then12, label %ifend14
then12:
store i32 1, ptr @g_g_uses_mathrt
%t170 = load ptr, ptr %t1
%t171 = getelementptr inbounds %Cmp_Node, ptr %t170, i32 0, i32 7
%t172 = load ptr, ptr %t171
%t173 = getelementptr inbounds %LSlice, ptr %t172, i32 0, i32 0
%t174 = load ptr, ptr %t173
%t175 = getelementptr inbounds ptr, ptr %t174, i32 0
%t176 = load ptr, ptr %t175
%t177 = call ptr @fn_emit_expr(ptr %t176)
store ptr %t177, ptr %t178
%t179 = load ptr, ptr %t1
%t180 = getelementptr inbounds %Cmp_Node, ptr %t179, i32 0, i32 7
%t181 = load ptr, ptr %t180
%t182 = getelementptr inbounds %LSlice, ptr %t181, i32 0, i32 0
%t183 = load ptr, ptr %t182
%t184 = getelementptr inbounds ptr, ptr %t183, i32 1
%t185 = load ptr, ptr %t184
%t186 = call ptr @fn_emit_expr(ptr %t185)
store ptr %t186, ptr %t187
%t188 = load ptr, ptr %t1
%t189 = getelementptr inbounds %Cmp_Node, ptr %t188, i32 0, i32 7
%t190 = load ptr, ptr %t189
%t191 = getelementptr inbounds %LSlice, ptr %t190, i32 0, i32 0
%t192 = load ptr, ptr %t191
%t193 = getelementptr inbounds ptr, ptr %t192, i32 2
%t194 = load ptr, ptr %t193
%t195 = call ptr @fn_emit_expr(ptr %t194)
store ptr %t195, ptr %t196
%t197 = load ptr, ptr %t1
%t198 = getelementptr inbounds %Cmp_Node, ptr %t197, i32 0, i32 7
%t199 = load ptr, ptr %t198
%t200 = getelementptr inbounds %LSlice, ptr %t199, i32 0, i32 0
%t201 = load ptr, ptr %t200
%t202 = getelementptr inbounds ptr, ptr %t201, i32 3
%t203 = load ptr, ptr %t202
%t204 = call ptr @fn_emit_expr(ptr %t203)
store ptr %t204, ptr %t205
%t206 = load ptr, ptr %t178
%t207 = getelementptr inbounds %Cmp_Val, ptr %t206, i32 0, i32 0
%t208 = load ptr, ptr %t207
%t209 = call ptr @fn_str_concat(ptr @.str2535, ptr %t208)
%t210 = call ptr @fn_str_concat(ptr %t209, ptr @.str2536)
%t211 = load ptr, ptr %t187
%t212 = getelementptr inbounds %Cmp_Val, ptr %t211, i32 0, i32 0
%t213 = load ptr, ptr %t212
%t214 = call ptr @fn_str_concat(ptr %t210, ptr %t213)
%t215 = call ptr @fn_str_concat(ptr %t214, ptr @.str2537)
%t216 = load ptr, ptr %t196
%t217 = getelementptr inbounds %Cmp_Val, ptr %t216, i32 0, i32 0
%t218 = load ptr, ptr %t217
%t219 = call ptr @fn_str_concat(ptr %t215, ptr %t218)
%t220 = call ptr @fn_str_concat(ptr %t219, ptr @.str2538)
%t221 = load ptr, ptr %t205
%t222 = getelementptr inbounds %Cmp_Val, ptr %t221, i32 0, i32 0
%t223 = load ptr, ptr %t222
%t224 = call ptr @fn_str_concat(ptr %t220, ptr %t223)
%t225 = call ptr @fn_str_concat(ptr %t224, ptr @.str2539)
%t226 = call ptr @fn_emit_bind(ptr %t225)
%t227 = call ptr @fn_val(ptr %t226, ptr @.str2540)
store ptr %t227, ptr %retval
br label %ret
ifend14:
%t228 = load ptr, ptr %t0
%t229 = call i32 @fn_str_eq(ptr %t228, ptr @.str2541)
%t230 = icmp ne i32 %t229, 0
br i1 %t230, label %then15, label %ifend17
then15:
store i32 1, ptr @g_g_uses_mathrt
%t231 = load ptr, ptr %t1
%t232 = getelementptr inbounds %Cmp_Node, ptr %t231, i32 0, i32 7
%t233 = load ptr, ptr %t232
%t234 = getelementptr inbounds %LSlice, ptr %t233, i32 0, i32 0
%t235 = load ptr, ptr %t234
%t236 = getelementptr inbounds ptr, ptr %t235, i32 0
%t237 = load ptr, ptr %t236
%t238 = call ptr @fn_emit_expr(ptr %t237)
store ptr %t238, ptr %t239
%t240 = load ptr, ptr %t1
%t241 = getelementptr inbounds %Cmp_Node, ptr %t240, i32 0, i32 7
%t242 = load ptr, ptr %t241
%t243 = getelementptr inbounds %LSlice, ptr %t242, i32 0, i32 0
%t244 = load ptr, ptr %t243
%t245 = getelementptr inbounds ptr, ptr %t244, i32 1
%t246 = load ptr, ptr %t245
%t247 = call ptr @fn_emit_expr(ptr %t246)
store ptr %t247, ptr %t248
%t249 = load ptr, ptr %t1
%t250 = getelementptr inbounds %Cmp_Node, ptr %t249, i32 0, i32 7
%t251 = load ptr, ptr %t250
%t252 = getelementptr inbounds %LSlice, ptr %t251, i32 0, i32 0
%t253 = load ptr, ptr %t252
%t254 = getelementptr inbounds ptr, ptr %t253, i32 2
%t255 = load ptr, ptr %t254
%t256 = call ptr @fn_emit_expr(ptr %t255)
store ptr %t256, ptr %t257
%t258 = load ptr, ptr %t239
%t259 = getelementptr inbounds %Cmp_Val, ptr %t258, i32 0, i32 0
%t260 = load ptr, ptr %t259
%t261 = call ptr @fn_str_concat(ptr @.str2542, ptr %t260)
%t262 = call ptr @fn_str_concat(ptr %t261, ptr @.str2543)
%t263 = load ptr, ptr %t248
%t264 = getelementptr inbounds %Cmp_Val, ptr %t263, i32 0, i32 0
%t265 = load ptr, ptr %t264
%t266 = call ptr @fn_str_concat(ptr %t262, ptr %t265)
%t267 = call ptr @fn_str_concat(ptr %t266, ptr @.str2544)
%t268 = load ptr, ptr %t257
%t269 = getelementptr inbounds %Cmp_Val, ptr %t268, i32 0, i32 0
%t270 = load ptr, ptr %t269
%t271 = call ptr @fn_str_concat(ptr %t267, ptr %t270)
%t272 = call ptr @fn_str_concat(ptr %t271, ptr @.str2545)
%t273 = call ptr @fn_emit_bind(ptr %t272)
%t274 = call ptr @fn_val(ptr %t273, ptr @.str2546)
store ptr %t274, ptr %retval
br label %ret
ifend17:
%t275 = load ptr, ptr %t1
%t276 = getelementptr inbounds %Cmp_Node, ptr %t275, i32 0, i32 7
%t277 = load ptr, ptr %t276
%t278 = getelementptr inbounds %LSlice, ptr %t277, i32 0, i32 0
%t279 = load ptr, ptr %t278
%t280 = getelementptr inbounds ptr, ptr %t279, i32 0
%t281 = load ptr, ptr %t280
%t282 = call ptr @fn_emit_expr(ptr %t281)
store ptr %t282, ptr %t283
%t284 = load ptr, ptr %t1
%t285 = getelementptr inbounds %Cmp_Node, ptr %t284, i32 0, i32 7
%t286 = load ptr, ptr %t285
%t287 = getelementptr inbounds %LSlice, ptr %t286, i32 0, i32 0
%t288 = load ptr, ptr %t287
%t289 = getelementptr inbounds ptr, ptr %t288, i32 1
%t290 = load ptr, ptr %t289
%t291 = call ptr @fn_emit_expr(ptr %t290)
store ptr %t291, ptr %t292
%t293 = load ptr, ptr %t1
%t294 = getelementptr inbounds %Cmp_Node, ptr %t293, i32 0, i32 7
%t295 = load ptr, ptr %t294
%t296 = getelementptr inbounds %LSlice, ptr %t295, i32 0, i32 0
%t297 = load ptr, ptr %t296
%t298 = getelementptr inbounds ptr, ptr %t297, i32 2
%t299 = load ptr, ptr %t298
%t300 = call ptr @fn_emit_expr(ptr %t299)
store ptr %t300, ptr %t301
%t302 = load ptr, ptr %t283
%t303 = getelementptr inbounds %Cmp_Val, ptr %t302, i32 0, i32 0
%t304 = load ptr, ptr %t303
%t305 = call ptr @fn_str_concat(ptr @.str2547, ptr %t304)
%t306 = call ptr @fn_str_concat(ptr %t305, ptr @.str2548)
%t307 = load ptr, ptr %t292
%t308 = getelementptr inbounds %Cmp_Val, ptr %t307, i32 0, i32 0
%t309 = load ptr, ptr %t308
%t310 = call ptr @fn_str_concat(ptr %t306, ptr %t309)
%t311 = call ptr @fn_str_concat(ptr %t310, ptr @.str2549)
%t312 = load ptr, ptr %t301
%t313 = getelementptr inbounds %Cmp_Val, ptr %t312, i32 0, i32 0
%t314 = load ptr, ptr %t313
%t315 = call ptr @fn_str_concat(ptr %t311, ptr %t314)
%t316 = call ptr @fn_str_concat(ptr %t315, ptr @.str2550)
%t317 = call ptr @fn_emit_bind(ptr %t316)
%t318 = call ptr @fn_val(ptr %t317, ptr @.str2551)
store ptr %t318, ptr %retval
br label %ret
ret:
%t319 = load ptr, ptr %retval
ret ptr %t319
}
define void @fn_emit_noise_prelude() {
entry:
call void @fn_emith(ptr @.str2552)
call void @fn_emith(ptr @.str2553)
call void @fn_emith(ptr @.str2554)
call void @fn_emith(ptr @.str2555)
call void @fn_emith(ptr @.str2556)
call void @fn_emith(ptr @.str2557)
call void @fn_emith(ptr @.str2558)
call void @fn_emith(ptr @.str2559)
call void @fn_emith(ptr @.str2560)
call void @fn_emith(ptr @.str2561)
call void @fn_emith(ptr @.str2562)
call void @fn_emith(ptr @.str2563)
call void @fn_emith(ptr @.str2564)
call void @fn_emith(ptr @.str2565)
call void @fn_emith(ptr @.str2566)
call void @fn_emith(ptr @.str2567)
call void @fn_emith(ptr @.str2568)
call void @fn_emith(ptr @.str2569)
call void @fn_emith(ptr @.str2570)
call void @fn_emith(ptr @.str2571)
call void @fn_emith(ptr @.str2572)
call void @fn_emith(ptr @.str2573)
call void @fn_emith(ptr @.str2574)
call void @fn_emith(ptr @.str2575)
call void @fn_emith(ptr @.str2576)
call void @fn_emith(ptr @.str2577)
call void @fn_emith(ptr @.str2578)
call void @fn_emith(ptr @.str2579)
call void @fn_emith(ptr @.str2580)
call void @fn_emith(ptr @.str2581)
call void @fn_emith(ptr @.str2582)
call void @fn_emith(ptr @.str2583)
call void @fn_emith(ptr @.str2584)
call void @fn_emith(ptr @.str2585)
call void @fn_emith(ptr @.str2586)
call void @fn_emith(ptr @.str2587)
call void @fn_emith(ptr @.str2588)
call void @fn_emith(ptr @.str2589)
call void @fn_emith(ptr @.str2590)
call void @fn_emith(ptr @.str2591)
call void @fn_emith(ptr @.str2592)
call void @fn_emith(ptr @.str2593)
call void @fn_emith(ptr @.str2594)
call void @fn_emith(ptr @.str2595)
call void @fn_emith(ptr @.str2596)
call void @fn_emith(ptr @.str2597)
call void @fn_emith(ptr @.str2598)
call void @fn_emith(ptr @.str2599)
call void @fn_emith(ptr @.str2600)
call void @fn_emith(ptr @.str2601)
call void @fn_emith(ptr @.str2602)
call void @fn_emith(ptr @.str2603)
call void @fn_emith(ptr @.str2604)
call void @fn_emith(ptr @.str2605)
call void @fn_emith(ptr @.str2606)
call void @fn_emith(ptr @.str2607)
call void @fn_emith(ptr @.str2608)
call void @fn_emith(ptr @.str2609)
call void @fn_emith(ptr @.str2610)
call void @fn_emith(ptr @.str2611)
call void @fn_emith(ptr @.str2612)
call void @fn_emith(ptr @.str2613)
call void @fn_emith(ptr @.str2614)
call void @fn_emith(ptr @.str2615)
call void @fn_emith(ptr @.str2616)
call void @fn_emith(ptr @.str2617)
call void @fn_emith(ptr @.str2618)
call void @fn_emith(ptr @.str2619)
call void @fn_emith(ptr @.str2620)
call void @fn_emith(ptr @.str2621)
call void @fn_emith(ptr @.str2622)
call void @fn_emith(ptr @.str2623)
call void @fn_emith(ptr @.str2624)
call void @fn_emith(ptr @.str2625)
call void @fn_emith(ptr @.str2626)
call void @fn_emith(ptr @.str2627)
call void @fn_emith(ptr @.str2628)
call void @fn_emith(ptr @.str2629)
call void @fn_emith(ptr @.str2630)
call void @fn_emith(ptr @.str2631)
call void @fn_emith(ptr @.str2632)
call void @fn_emith(ptr @.str2633)
call void @fn_emith(ptr @.str2634)
call void @fn_emith(ptr @.str2635)
call void @fn_emit_noise_cellular()
br label %ret
ret:
ret void
}
define void @fn_emit_noise_cellular() {
entry:
call void @fn_emith(ptr @.str2636)
call void @fn_emith(ptr @.str2637)
call void @fn_emith(ptr @.str2638)
call void @fn_emith(ptr @.str2639)
call void @fn_emith(ptr @.str2640)
call void @fn_emith(ptr @.str2641)
call void @fn_emith(ptr @.str2642)
call void @fn_emith(ptr @.str2643)
call void @fn_emith(ptr @.str2644)
call void @fn_emith(ptr @.str2645)
call void @fn_emith(ptr @.str2646)
call void @fn_emith(ptr @.str2647)
call void @fn_emith(ptr @.str2648)
call void @fn_emith(ptr @.str2649)
call void @fn_emith(ptr @.str2650)
call void @fn_emith(ptr @.str2651)
call void @fn_emith(ptr @.str2652)
call void @fn_emith(ptr @.str2653)
call void @fn_emith(ptr @.str2654)
call void @fn_emith(ptr @.str2655)
call void @fn_emith(ptr @.str2656)
call void @fn_emith(ptr @.str2657)
call void @fn_emith(ptr @.str2658)
call void @fn_emith(ptr @.str2659)
br label %ret
ret:
ret void
}
define i32 @fn_is_log_ns(ptr %arg_meth) {
entry:
%retval = alloca i32
%t0 = alloca ptr
%t1 = alloca i32
%t2 = alloca i32
%t20 = alloca i32
%t31 = alloca i32
store ptr %arg_meth, ptr %t0
%t3 = load ptr, ptr %t0
%t4 = call i32 @fn_str_eq(ptr %t3, ptr @.str2660)
%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_str_eq(ptr %t7, ptr @.str2661)
%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_eq(ptr %t14, ptr @.str2662)
%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 @fn_str_eq(ptr %t21, ptr @.str2663)
%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 @fn_str_eq(ptr %t25, ptr @.str2664)
%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 @fn_str_eq(ptr %t32, ptr @.str2665)
%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 @fn_str_eq(ptr %t36, ptr @.str2666)
%t38 = icmp ne i32 %t37, 0
%t39 = zext i1 %t38 to i32
store i32 %t39, ptr %t31
br label %scend13
scend13:
%t40 = load i32, ptr %t31
%t41 = icmp ne i32 %t40, 0
br i1 %t41, label %then14, label %ifend16
then14:
store i32 1, ptr %retval
br label %ret
ifend16:
store i32 0, ptr %retval
br label %ret
ret:
%t42 = load i32, ptr %retval
ret i32 %t42
}
define ptr @fn_log_stringify(ptr %arg_v) {
entry:
%retval = alloca ptr
%t0 = alloca ptr
store ptr %arg_v, ptr %t0
%t1 = load ptr, ptr %t0
%t2 = getelementptr inbounds %Cmp_Val, ptr %t1, i32 0, i32 1
%t3 = load ptr, ptr %t2
%t4 = call ptr @fn_llty(ptr %t3)
%t5 = call i32 @fn_str_eq(ptr %t4, ptr @.str2667)
%t6 = icmp ne i32 %t5, 0
br i1 %t6, label %then0, label %ifend2
then0:
%t7 = load ptr, ptr %t0
%t8 = getelementptr inbounds %Cmp_Val, ptr %t7, i32 0, i32 0
%t9 = load ptr, ptr %t8
store ptr %t9, ptr %retval
br label %ret
ifend2:
%t10 = load ptr, ptr %t0
%t11 = getelementptr inbounds %Cmp_Val, ptr %t10, i32 0, i32 1
%t12 = load ptr, ptr %t11
%t13 = call ptr @fn_llty(ptr %t12)
%t14 = call i32 @fn_str_eq(ptr %t13, ptr @.str2668)
%t15 = icmp ne i32 %t14, 0
br i1 %t15, label %then3, label %ifend5
then3:
store i32 1, ptr @g_g_uses_longstr
%t16 = load ptr, ptr %t0
%t17 = getelementptr inbounds %Cmp_Val, ptr %t16, i32 0, i32 0
%t18 = load ptr, ptr %t17
%t19 = call ptr @fn_str_concat(ptr @.str2669, ptr %t18)
%t20 = call ptr @fn_str_concat(ptr %t19, ptr @.str2670)
%t21 = call ptr @fn_emit_bind(ptr %t20)
store ptr %t21, ptr %retval
br label %ret
ifend5:
store i32 1, ptr @g_g_uses_intstr
%t22 = load ptr, ptr %t0
%t23 = getelementptr inbounds %Cmp_Val, ptr %t22, i32 0, i32 0
%t24 = load ptr, ptr %t23
%t25 = call ptr @fn_str_concat(ptr @.str2671, ptr %t24)
%t26 = call ptr @fn_str_concat(ptr %t25, ptr @.str2672)
%t27 = call ptr @fn_emit_bind(ptr %t26)
store ptr %t27, ptr %retval
br label %ret
ret:
%t28 = load ptr, ptr %retval
ret ptr %t28
}
define ptr @fn_emit_log_ns(ptr %arg_meth, ptr %arg_e) {
entry:
%retval = alloca ptr
%t0 = alloca ptr
%t1 = alloca ptr
%t13 = alloca ptr
%t25 = alloca ptr
%t26 = alloca ptr
%t42 = alloca ptr
%t51 = alloca ptr
%t57 = alloca i32
%t77 = alloca ptr
%t88 = alloca ptr
store ptr %arg_meth, ptr %t0
store ptr %arg_e, ptr %t1
store i32 1, ptr @g_g_uses_logrt
%t2 = load ptr, ptr %t0
%t3 = call i32 @fn_str_eq(ptr %t2, ptr @.str2673)
%t4 = icmp ne i32 %t3, 0
br i1 %t4, label %then0, label %ifend2
then0:
%t5 = load ptr, ptr %t1
%t6 = getelementptr inbounds %Cmp_Node, ptr %t5, i32 0, i32 7
%t7 = load ptr, ptr %t6
%t8 = getelementptr inbounds %LSlice, ptr %t7, i32 0, i32 0
%t9 = load ptr, ptr %t8
%t10 = getelementptr inbounds ptr, ptr %t9, i32 0
%t11 = load ptr, ptr %t10
%t12 = call ptr @fn_emit_expr(ptr %t11)
store ptr %t12, ptr %t13
%t14 = load ptr, ptr %t13
%t15 = getelementptr inbounds %Cmp_Val, ptr %t14, i32 0, i32 0
%t16 = load ptr, ptr %t15
%t17 = call ptr @fn_str_concat(ptr @.str2674, ptr %t16)
%t18 = call ptr @fn_str_concat(ptr %t17, ptr @.str2675)
call void @fn_emit(ptr %t18)
%t19 = call ptr @fn_val(ptr @.str2676, ptr @.str2677)
store ptr %t19, ptr %retval
br label %ret
ifend2:
%t20 = load ptr, ptr %t0
%t21 = call i32 @fn_str_eq(ptr %t20, ptr @.str2678)
%t22 = icmp ne i32 %t21, 0
br i1 %t22, label %then3, label %ifend5
then3:
%t23 = call ptr @fn_emit_bind(ptr @.str2679)
%t24 = call ptr @fn_val(ptr %t23, ptr @.str2680)
store ptr %t24, ptr %retval
br label %ret
ifend5:
store ptr @.str2681, ptr %t25
store ptr @.str2682, ptr %t26
%t27 = load ptr, ptr %t0
%t28 = call i32 @fn_str_eq(ptr %t27, ptr @.str2683)
%t29 = icmp ne i32 %t28, 0
br i1 %t29, label %then6, label %ifend8
then6:
store ptr @.str2684, ptr %t25
store ptr @.str2685, ptr %t26
br label %ifend8
ifend8:
%t30 = load ptr, ptr %t0
%t31 = call i32 @fn_str_eq(ptr %t30, ptr @.str2686)
%t32 = icmp ne i32 %t31, 0
br i1 %t32, label %then9, label %ifend11
then9:
store ptr @.str2687, ptr %t25
store ptr @.str2688, ptr %t26
br label %ifend11
ifend11:
%t33 = load ptr, ptr %t0
%t34 = call i32 @fn_str_eq(ptr %t33, ptr @.str2689)
%t35 = icmp ne i32 %t34, 0
br i1 %t35, label %then12, label %ifend14
then12:
store ptr @.str2690, ptr %t25
store ptr @.str2691, ptr %t26
br label %ifend14
ifend14:
%t36 = load ptr, ptr %t0
%t37 = call i32 @fn_str_eq(ptr %t36, ptr @.str2692)
%t38 = icmp ne i32 %t37, 0
br i1 %t38, label %then15, label %ifend17
then15:
store ptr @.str2693, ptr %t25
store ptr @.str2694, ptr %t26
br label %ifend17
ifend17:
store i32 1, ptr @g_g_uses_str
%t39 = load ptr, ptr %t26
%t40 = call ptr @fn_emit_str_const(ptr %t39)
%t41 = call ptr @fn_val(ptr %t40, ptr @.str2695)
store ptr %t41, ptr %t42
%t43 = load ptr, ptr %t1
%t44 = getelementptr inbounds %Cmp_Node, ptr %t43, i32 0, i32 7
%t45 = load ptr, ptr %t44
%t46 = getelementptr inbounds %LSlice, ptr %t45, i32 0, i32 0
%t47 = load ptr, ptr %t46
%t48 = getelementptr inbounds ptr, ptr %t47, i32 0
%t49 = load ptr, ptr %t48
%t50 = call ptr @fn_emit_expr(ptr %t49)
store ptr %t50, ptr %t51
%t52 = load ptr, ptr %t42
%t53 = load ptr, ptr %t51
%t54 = call ptr @fn_log_stringify(ptr %t53)
%t55 = call ptr @fn_val(ptr %t54, ptr @.str2697)
%t56 = call ptr @fn_emit_str_op(ptr @.str2696, ptr %t52, ptr %t55)
store ptr %t56, ptr %t42
store i32 1, ptr %t57
br label %wcond18
wcond18:
%t58 = load i32, ptr %t57
%t59 = add i32 %t58, 1
%t60 = load ptr, ptr %t1
%t61 = getelementptr inbounds %Cmp_Node, ptr %t60, i32 0, i32 7
%t62 = load ptr, ptr %t61
%t63 = getelementptr inbounds %LSlice, ptr %t62, i32 0, i32 1
%t64 = load i32, ptr %t63
%t65 = icmp slt i32 %t59, %t64
%t66 = zext i1 %t65 to i32
%t67 = icmp ne i32 %t66, 0
br i1 %t67, label %wbody19, label %wend20
wbody19:
%t68 = load ptr, ptr %t1
%t69 = getelementptr inbounds %Cmp_Node, ptr %t68, i32 0, i32 7
%t70 = load ptr, ptr %t69
%t71 = getelementptr inbounds %LSlice, ptr %t70, i32 0, i32 0
%t72 = load ptr, ptr %t71
%t73 = load i32, ptr %t57
%t74 = getelementptr inbounds ptr, ptr %t72, i32 %t73
%t75 = load ptr, ptr %t74
%t76 = call ptr @fn_emit_expr(ptr %t75)
store ptr %t76, ptr %t77
%t78 = load ptr, ptr %t1
%t79 = getelementptr inbounds %Cmp_Node, ptr %t78, i32 0, i32 7
%t80 = load ptr, ptr %t79
%t81 = getelementptr inbounds %LSlice, ptr %t80, i32 0, i32 0
%t82 = load ptr, ptr %t81
%t83 = load i32, ptr %t57
%t84 = add i32 %t83, 1
%t85 = getelementptr inbounds ptr, ptr %t82, i32 %t84
%t86 = load ptr, ptr %t85
%t87 = call ptr @fn_emit_expr(ptr %t86)
store ptr %t87, ptr %t88
%t89 = load ptr, ptr %t42
%t90 = call ptr @fn_emit_str_const(ptr @.str2699)
%t91 = call ptr @fn_val(ptr %t90, ptr @.str2700)
%t92 = call ptr @fn_emit_str_op(ptr @.str2698, ptr %t89, ptr %t91)
store ptr %t92, ptr %t42
%t93 = load ptr, ptr %t42
%t94 = load ptr, ptr %t77
%t95 = call ptr @fn_log_stringify(ptr %t94)
%t96 = call ptr @fn_val(ptr %t95, ptr @.str2702)
%t97 = call ptr @fn_emit_str_op(ptr @.str2701, ptr %t93, ptr %t96)
store ptr %t97, ptr %t42
%t98 = load ptr, ptr %t42
%t99 = call ptr @fn_emit_str_const(ptr @.str2704)
%t100 = call ptr @fn_val(ptr %t99, ptr @.str2705)
%t101 = call ptr @fn_emit_str_op(ptr @.str2703, ptr %t98, ptr %t100)
store ptr %t101, ptr %t42
%t102 = load ptr, ptr %t42
%t103 = load ptr, ptr %t88
%t104 = call ptr @fn_log_stringify(ptr %t103)
%t105 = call ptr @fn_val(ptr %t104, ptr @.str2707)
%t106 = call ptr @fn_emit_str_op(ptr @.str2706, ptr %t102, ptr %t105)
store ptr %t106, ptr %t42
%t107 = load i32, ptr %t57
%t108 = add i32 %t107, 2
store i32 %t108, ptr %t57
br label %wcond18
wend20:
%t109 = load ptr, ptr %t25
%t110 = call ptr @fn_str_concat(ptr @.str2708, ptr %t109)
%t111 = call ptr @fn_str_concat(ptr %t110, ptr @.str2709)
%t112 = load ptr, ptr %t42
%t113 = getelementptr inbounds %Cmp_Val, ptr %t112, i32 0, i32 0
%t114 = load ptr, ptr %t113
%t115 = call ptr @fn_str_concat(ptr %t111, ptr %t114)
%t116 = call ptr @fn_str_concat(ptr %t115, ptr @.str2710)
call void @fn_emit(ptr %t116)
%t117 = call ptr @fn_val(ptr @.str2711, ptr @.str2712)
store ptr %t117, ptr %retval
br label %ret
ret:
%t118 = load ptr, ptr %retval
ret ptr %t118
}
define void @fn_emit_log_prelude() {
entry:
call void @fn_emith(ptr @.str2713)
call void @fn_emith(ptr @.str2714)
call void @fn_emith(ptr @.str2715)
call void @fn_emith(ptr @.str2716)
call void @fn_emith(ptr @.str2717)
call void @fn_emith(ptr @.str2718)
call void @fn_emith(ptr @.str2719)
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
%t69 = alloca i32
%t80 = alloca i32
%t81 = alloca i32
%t82 = alloca i32
store ptr %arg_meth, ptr %t0
%t3 = load ptr, ptr %t0
%t4 = call i32 @fn_str_eq(ptr %t3, ptr @.str2720)
%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_str_eq(ptr %t7, ptr @.str2721)
%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_eq(ptr %t14, ptr @.str2722)
%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 @fn_str_eq(ptr %t22, ptr @.str2723)
%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 @fn_str_eq(ptr %t26, ptr @.str2724)
%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 @fn_str_eq(ptr %t33, ptr @.str2725)
%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 @fn_str_eq(ptr %t40, ptr @.str2726)
%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 @fn_str_eq(ptr %t44, ptr @.str2727)
%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:
%t52 = load ptr, ptr %t0
%t53 = call i32 @fn_str_eq(ptr %t52, ptr @.str2728)
%t54 = icmp ne i32 %t53, 0
%t55 = zext i1 %t54 to i32
store i32 %t55, ptr %t51
br i1 %t54, label %scend20, label %sc19
sc19:
%t56 = load ptr, ptr %t0
%t57 = call i32 @fn_str_eq(ptr %t56, ptr @.str2729)
%t58 = icmp ne i32 %t57, 0
%t59 = zext i1 %t58 to i32
store i32 %t59, ptr %t51
br label %scend20
scend20:
%t60 = load i32, ptr %t51
%t61 = icmp ne i32 %t60, 0
%t62 = zext i1 %t61 to i32
store i32 %t62, ptr %t50
br i1 %t61, label %scend22, label %sc21
sc21:
%t63 = load ptr, ptr %t0
%t64 = call i32 @fn_str_eq(ptr %t63, ptr @.str2730)
%t65 = icmp ne i32 %t64, 0
%t66 = zext i1 %t65 to i32
store i32 %t66, ptr %t50
br label %scend22
scend22:
%t67 = load i32, ptr %t50
%t68 = icmp ne i32 %t67, 0
br i1 %t68, label %then23, label %ifend25
then23:
store i32 1, ptr %retval
br label %ret
ifend25:
%t70 = load ptr, ptr %t0
%t71 = call i32 @fn_str_eq(ptr %t70, ptr @.str2731)
%t72 = icmp ne i32 %t71, 0
%t73 = zext i1 %t72 to i32
store i32 %t73, ptr %t69
br i1 %t72, label %scend27, label %sc26
sc26:
%t74 = load ptr, ptr %t0
%t75 = call i32 @fn_str_eq(ptr %t74, ptr @.str2732)
%t76 = icmp ne i32 %t75, 0
%t77 = zext i1 %t76 to i32
store i32 %t77, ptr %t69
br label %scend27
scend27:
%t78 = load i32, ptr %t69
%t79 = icmp ne i32 %t78, 0
br i1 %t79, label %then28, label %ifend30
then28:
store i32 1, ptr %retval
br label %ret
ifend30:
%t83 = load ptr, ptr %t0
%t84 = call i32 @fn_str_eq(ptr %t83, ptr @.str2733)
%t85 = icmp ne i32 %t84, 0
%t86 = zext i1 %t85 to i32
store i32 %t86, ptr %t82
br i1 %t85, label %scend32, label %sc31
sc31:
%t87 = load ptr, ptr %t0
%t88 = call i32 @fn_str_eq(ptr %t87, ptr @.str2734)
%t89 = icmp ne i32 %t88, 0
%t90 = zext i1 %t89 to i32
store i32 %t90, ptr %t82
br label %scend32
scend32:
%t91 = load i32, ptr %t82
%t92 = icmp ne i32 %t91, 0
%t93 = zext i1 %t92 to i32
store i32 %t93, ptr %t81
br i1 %t92, label %scend34, label %sc33
sc33:
%t94 = load ptr, ptr %t0
%t95 = call i32 @fn_str_eq(ptr %t94, ptr @.str2735)
%t96 = icmp ne i32 %t95, 0
%t97 = zext i1 %t96 to i32
store i32 %t97, ptr %t81
br label %scend34
scend34:
%t98 = load i32, ptr %t81
%t99 = icmp ne i32 %t98, 0
%t100 = zext i1 %t99 to i32
store i32 %t100, ptr %t80
br i1 %t99, label %scend36, label %sc35
sc35:
%t101 = load ptr, ptr %t0
%t102 = call i32 @fn_str_eq(ptr %t101, ptr @.str2736)
%t103 = icmp ne i32 %t102, 0
%t104 = zext i1 %t103 to i32
store i32 %t104, ptr %t80
br label %scend36
scend36:
%t105 = load i32, ptr %t80
%t106 = icmp ne i32 %t105, 0
br i1 %t106, label %then37, label %ifend39
then37:
store i32 1, ptr %retval
br label %ret
ifend39:
store i32 0, ptr %retval
br label %ret
ret:
%t107 = load i32, ptr %retval
ret i32 %t107
}
define ptr @fn_emit_os_ns(ptr %arg_meth, ptr %arg_e) {
entry:
%retval = alloca ptr
%t0 = alloca ptr
%t1 = alloca ptr
%t18 = alloca ptr
%t20 = alloca ptr
%t29 = alloca ptr
%t45 = alloca ptr
%t63 = alloca ptr
%t82 = alloca ptr
%t89 = alloca ptr
%t94 = alloca ptr
%t100 = alloca i32
%t111 = alloca ptr
%t123 = alloca ptr
%t127 = alloca ptr
%t134 = alloca ptr
%t163 = alloca ptr
%t172 = alloca ptr
%t196 = alloca ptr
%t205 = alloca ptr
%t217 = alloca ptr
%t222 = alloca ptr
%t239 = alloca ptr
%t246 = alloca ptr
%t251 = alloca ptr
%t278 = alloca ptr
%t297 = alloca ptr
%t316 = alloca ptr
store ptr %arg_meth, ptr %t0
store ptr %arg_e, ptr %t1
%t2 = load ptr, ptr %t0
%t3 = call i32 @fn_str_eq(ptr %t2, ptr @.str2737)
%t4 = icmp ne i32 %t3, 0
br i1 %t4, label %then0, label %ifend2
then0:
%t5 = call ptr @fn_emit_bind(ptr @.str2738)
%t6 = call ptr @fn_val(ptr %t5, ptr @.str2739)
store ptr %t6, ptr %retval
br label %ret
ifend2:
%t7 = load ptr, ptr %t0
%t8 = call i32 @fn_str_eq(ptr %t7, ptr @.str2740)
%t9 = icmp ne i32 %t8, 0
br i1 %t9, label %then3, label %ifend5
then3:
%t10 = load ptr, ptr %t1
%t11 = getelementptr inbounds %Cmp_Node, ptr %t10, i32 0, i32 7
%t12 = load ptr, ptr %t11
%t13 = getelementptr inbounds %LSlice, ptr %t12, i32 0, i32 0
%t14 = load ptr, ptr %t13
%t15 = getelementptr inbounds ptr, ptr %t14, i32 0
%t16 = load ptr, ptr %t15
%t17 = call ptr @fn_emit_expr(ptr %t16)
store ptr %t17, ptr %t18
%t19 = call ptr @fn_emit_bind(ptr @.str2741)
store ptr %t19, ptr %t20
%t21 = load ptr, ptr %t20
%t22 = call ptr @fn_str_concat(ptr @.str2742, ptr %t21)
%t23 = call ptr @fn_str_concat(ptr %t22, ptr @.str2743)
%t24 = load ptr, ptr %t18
%t25 = getelementptr inbounds %Cmp_Val, ptr %t24, i32 0, i32 0
%t26 = load ptr, ptr %t25
%t27 = call ptr @fn_str_concat(ptr %t23, ptr %t26)
%t28 = call ptr @fn_emit_bind(ptr %t27)
store ptr %t28, ptr %t29
%t30 = load ptr, ptr %t29
%t31 = call ptr @fn_str_concat(ptr @.str2744, ptr %t30)
%t32 = call ptr @fn_emit_bind(ptr %t31)
%t33 = call ptr @fn_val(ptr %t32, ptr @.str2745)
store ptr %t33, ptr %retval
br label %ret
ifend5:
%t34 = load ptr, ptr %t0
%t35 = call i32 @fn_str_eq(ptr %t34, ptr @.str2746)
%t36 = icmp ne i32 %t35, 0
br i1 %t36, label %then6, label %ifend8
then6:
%t37 = load ptr, ptr %t1
%t38 = getelementptr inbounds %Cmp_Node, ptr %t37, i32 0, i32 7
%t39 = load ptr, ptr %t38
%t40 = getelementptr inbounds %LSlice, ptr %t39, i32 0, i32 0
%t41 = load ptr, ptr %t40
%t42 = getelementptr inbounds ptr, ptr %t41, 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
%t49 = call ptr @fn_str_concat(ptr @.str2747, ptr %t48)
%t50 = call ptr @fn_str_concat(ptr %t49, ptr @.str2748)
call void @fn_emit(ptr %t50)
call void @fn_emit(ptr @.str2749)
store i32 1, ptr @g_g_term
%t51 = call ptr @fn_val(ptr @.str2750, ptr @.str2751)
store ptr %t51, ptr %retval
br label %ret
ifend8:
%t52 = load ptr, ptr %t0
%t53 = call i32 @fn_str_eq(ptr %t52, ptr @.str2752)
%t54 = icmp ne i32 %t53, 0
br i1 %t54, label %then9, label %ifend11
then9:
%t55 = load ptr, ptr %t1
%t56 = getelementptr inbounds %Cmp_Node, ptr %t55, i32 0, i32 7
%t57 = load ptr, ptr %t56
%t58 = getelementptr inbounds %LSlice, ptr %t57, i32 0, i32 0
%t59 = load ptr, ptr %t58
%t60 = getelementptr inbounds ptr, ptr %t59, i32 0
%t61 = load ptr, ptr %t60
%t62 = call ptr @fn_emit_expr(ptr %t61)
store ptr %t62, ptr %t63
%t64 = load ptr, ptr %t63
%t65 = getelementptr inbounds %Cmp_Val, ptr %t64, i32 0, i32 0
%t66 = load ptr, ptr %t65
%t67 = call ptr @fn_str_concat(ptr @.str2753, ptr %t66)
%t68 = call ptr @fn_str_concat(ptr %t67, ptr @.str2754)
%t69 = call ptr @fn_emit_bind(ptr %t68)
%t70 = call ptr @fn_val(ptr %t69, ptr @.str2755)
store ptr %t70, ptr %retval
br label %ret
ifend11:
%t71 = load ptr, ptr %t0
%t72 = call i32 @fn_str_eq(ptr %t71, ptr @.str2756)
%t73 = icmp ne i32 %t72, 0
br i1 %t73, label %then12, label %ifend14
then12:
%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 ptr, ptr %t78, i32 0
%t80 = load ptr, ptr %t79
%t81 = call ptr @fn_emit_expr(ptr %t80)
store ptr %t81, ptr %t82
%t83 = load ptr, ptr %t82
%t84 = getelementptr inbounds %Cmp_Val, ptr %t83, i32 0, i32 0
%t85 = load ptr, ptr %t84
%t86 = call ptr @fn_str_concat(ptr @.str2757, ptr %t85)
%t87 = call ptr @fn_str_concat(ptr %t86, ptr @.str2758)
%t88 = call ptr @fn_emit_bind(ptr %t87)
store ptr %t88, ptr %t89
%t90 = load ptr, ptr %t89
%t91 = call ptr @fn_str_concat(ptr @.str2759, ptr %t90)
%t92 = call ptr @fn_str_concat(ptr %t91, ptr @.str2760)
%t93 = call ptr @fn_emit_bind(ptr %t92)
store ptr %t93, ptr %t94
%t95 = load ptr, ptr %t94
%t96 = call ptr @fn_str_concat(ptr @.str2761, ptr %t95)
%t97 = call ptr @fn_str_concat(ptr %t96, ptr @.str2762)
%t98 = call ptr @fn_emit_bind(ptr %t97)
%t99 = call ptr @fn_val(ptr %t98, ptr @.str2763)
store ptr %t99, ptr %retval
br label %ret
ifend14:
%t101 = load ptr, ptr %t0
%t102 = call i32 @fn_str_eq(ptr %t101, ptr @.str2764)
%t103 = icmp ne i32 %t102, 0
%t104 = zext i1 %t103 to i32
store i32 %t104, ptr %t100
br i1 %t103, label %scend16, label %sc15
sc15:
%t105 = load ptr, ptr %t0
%t106 = call i32 @fn_str_eq(ptr %t105, ptr @.str2765)
%t107 = icmp ne i32 %t106, 0
%t108 = zext i1 %t107 to i32
store i32 %t108, ptr %t100
br label %scend16
scend16:
%t109 = load i32, ptr %t100
%t110 = icmp ne i32 %t109, 0
br i1 %t110, label %then17, label %ifend19
then17:
store ptr @.str2766, ptr %t111
%t112 = load ptr, ptr %t0
%t113 = call i32 @fn_str_eq(ptr %t112, ptr @.str2767)
%t114 = icmp ne i32 %t113, 0
br i1 %t114, label %then20, label %ifend22
then20:
store ptr @.str2768, ptr %t111
br label %ifend22
ifend22:
%t115 = load ptr, ptr %t1
%t116 = getelementptr inbounds %Cmp_Node, ptr %t115, i32 0, i32 7
%t117 = load ptr, ptr %t116
%t118 = getelementptr inbounds %LSlice, ptr %t117, i32 0, i32 0
%t119 = load ptr, ptr %t118
%t120 = getelementptr inbounds ptr, ptr %t119, i32 0
%t121 = load ptr, ptr %t120
%t122 = call ptr @fn_emit_expr(ptr %t121)
store ptr %t122, ptr %t123
%t124 = load ptr, ptr %t111
%t125 = call ptr @fn_str_concat(ptr @.str2769, ptr %t124)
%t126 = call ptr @fn_emit_bind(ptr %t125)
store ptr %t126, ptr %t127
%t128 = load ptr, ptr %t123
%t129 = getelementptr inbounds %Cmp_Val, ptr %t128, i32 0, i32 0
%t130 = load ptr, ptr %t129
%t131 = call ptr @fn_str_concat(ptr @.str2770, ptr %t130)
%t132 = call ptr @fn_str_concat(ptr %t131, ptr @.str2771)
%t133 = call ptr @fn_emit_bind(ptr %t132)
store ptr %t133, ptr %t134
%t135 = load ptr, ptr %t123
%t136 = getelementptr inbounds %Cmp_Val, ptr %t135, i32 0, i32 0
%t137 = load ptr, ptr %t136
%t138 = call ptr @fn_str_concat(ptr @.str2772, ptr %t137)
%t139 = call ptr @fn_str_concat(ptr %t138, ptr @.str2773)
%t140 = load ptr, ptr %t134
%t141 = call ptr @fn_str_concat(ptr %t139, ptr %t140)
%t142 = call ptr @fn_str_concat(ptr %t141, ptr @.str2774)
%t143 = load ptr, ptr %t127
%t144 = call ptr @fn_str_concat(ptr %t142, ptr %t143)
%t145 = call ptr @fn_str_concat(ptr %t144, ptr @.str2775)
call void @fn_emit(ptr %t145)
%t146 = call ptr @fn_val(ptr @.str2776, ptr @.str2777)
store ptr %t146, ptr %retval
br label %ret
ifend19:
store i32 1, ptr @g_g_uses_osrt
%t147 = load ptr, ptr %t0
%t148 = call i32 @fn_str_eq(ptr %t147, ptr @.str2778)
%t149 = icmp ne i32 %t148, 0
br i1 %t149, label %then23, label %ifend25
then23:
%t150 = call ptr @fn_emit_bind(ptr @.str2779)
%t151 = call ptr @fn_val(ptr %t150, ptr @.str2780)
store ptr %t151, ptr %retval
br label %ret
ifend25:
%t152 = load ptr, ptr %t0
%t153 = call i32 @fn_str_eq(ptr %t152, ptr @.str2781)
%t154 = icmp ne i32 %t153, 0
br i1 %t154, label %then26, label %ifend28
then26:
%t155 = load ptr, ptr %t1
%t156 = getelementptr inbounds %Cmp_Node, ptr %t155, i32 0, i32 7
%t157 = load ptr, ptr %t156
%t158 = getelementptr inbounds %LSlice, ptr %t157, i32 0, i32 0
%t159 = load ptr, ptr %t158
%t160 = getelementptr inbounds ptr, ptr %t159, i32 0
%t161 = load ptr, ptr %t160
%t162 = call ptr @fn_emit_expr(ptr %t161)
store ptr %t162, ptr %t163
%t164 = load ptr, ptr %t1
%t165 = getelementptr inbounds %Cmp_Node, ptr %t164, i32 0, i32 7
%t166 = load ptr, ptr %t165
%t167 = getelementptr inbounds %LSlice, ptr %t166, i32 0, i32 0
%t168 = load ptr, ptr %t167
%t169 = getelementptr inbounds ptr, ptr %t168, i32 1
%t170 = load ptr, ptr %t169
%t171 = call ptr @fn_emit_expr(ptr %t170)
store ptr %t171, ptr %t172
%t173 = load ptr, ptr %t163
%t174 = getelementptr inbounds %Cmp_Val, ptr %t173, i32 0, i32 0
%t175 = load ptr, ptr %t174
%t176 = call ptr @fn_str_concat(ptr @.str2782, ptr %t175)
%t177 = call ptr @fn_str_concat(ptr %t176, ptr @.str2783)
%t178 = load ptr, ptr %t172
%t179 = getelementptr inbounds %Cmp_Val, ptr %t178, i32 0, i32 0
%t180 = load ptr, ptr %t179
%t181 = call ptr @fn_str_concat(ptr %t177, ptr %t180)
%t182 = call ptr @fn_str_concat(ptr %t181, ptr @.str2784)
%t183 = call ptr @fn_emit_bind(ptr %t182)
%t184 = call ptr @fn_val(ptr %t183, ptr @.str2785)
store ptr %t184, ptr %retval
br label %ret
ifend28:
%t185 = load ptr, ptr %t0
%t186 = call i32 @fn_str_eq(ptr %t185, ptr @.str2786)
%t187 = icmp ne i32 %t186, 0
br i1 %t187, label %then29, label %ifend31
then29:
%t188 = load ptr, ptr %t1
%t189 = getelementptr inbounds %Cmp_Node, ptr %t188, i32 0, i32 7
%t190 = load ptr, ptr %t189
%t191 = getelementptr inbounds %LSlice, ptr %t190, i32 0, i32 0
%t192 = load ptr, ptr %t191
%t193 = getelementptr inbounds ptr, ptr %t192, i32 0
%t194 = load ptr, ptr %t193
%t195 = call ptr @fn_emit_expr(ptr %t194)
store ptr %t195, ptr %t196
%t197 = load ptr, ptr %t1
%t198 = getelementptr inbounds %Cmp_Node, ptr %t197, i32 0, i32 7
%t199 = load ptr, ptr %t198
%t200 = getelementptr inbounds %LSlice, ptr %t199, i32 0, i32 0
%t201 = load ptr, ptr %t200
%t202 = getelementptr inbounds ptr, ptr %t201, i32 1
%t203 = load ptr, ptr %t202
%t204 = call ptr @fn_emit_expr(ptr %t203)
store ptr %t204, ptr %t205
%t206 = load ptr, ptr %t196
%t207 = getelementptr inbounds %Cmp_Val, ptr %t206, i32 0, i32 0
%t208 = load ptr, ptr %t207
%t209 = call ptr @fn_str_concat(ptr @.str2787, ptr %t208)
%t210 = call ptr @fn_str_concat(ptr %t209, ptr @.str2788)
%t211 = load ptr, ptr %t205
%t212 = getelementptr inbounds %Cmp_Val, ptr %t211, i32 0, i32 0
%t213 = load ptr, ptr %t212
%t214 = call ptr @fn_str_concat(ptr %t210, ptr %t213)
%t215 = call ptr @fn_str_concat(ptr %t214, ptr @.str2789)
%t216 = call ptr @fn_emit_bind(ptr %t215)
store ptr %t216, ptr %t217
%t218 = load ptr, ptr %t217
%t219 = call ptr @fn_str_concat(ptr @.str2790, ptr %t218)
%t220 = call ptr @fn_str_concat(ptr %t219, ptr @.str2791)
%t221 = call ptr @fn_emit_bind(ptr %t220)
store ptr %t221, ptr %t222
%t223 = load ptr, ptr %t222
%t224 = call ptr @fn_str_concat(ptr @.str2792, ptr %t223)
%t225 = call ptr @fn_str_concat(ptr %t224, ptr @.str2793)
%t226 = call ptr @fn_emit_bind(ptr %t225)
%t227 = call ptr @fn_val(ptr %t226, ptr @.str2794)
store ptr %t227, ptr %retval
br label %ret
ifend31:
%t228 = load ptr, ptr %t0
%t229 = call i32 @fn_str_eq(ptr %t228, ptr @.str2795)
%t230 = icmp ne i32 %t229, 0
br i1 %t230, label %then32, label %ifend34
then32:
%t231 = load ptr, ptr %t1
%t232 = getelementptr inbounds %Cmp_Node, ptr %t231, i32 0, i32 7
%t233 = load ptr, ptr %t232
%t234 = getelementptr inbounds %LSlice, ptr %t233, i32 0, i32 0
%t235 = load ptr, ptr %t234
%t236 = getelementptr inbounds ptr, ptr %t235, i32 0
%t237 = load ptr, ptr %t236
%t238 = call ptr @fn_emit_expr(ptr %t237)
store ptr %t238, ptr %t239
%t240 = load ptr, ptr %t239
%t241 = getelementptr inbounds %Cmp_Val, ptr %t240, i32 0, i32 0
%t242 = load ptr, ptr %t241
%t243 = call ptr @fn_str_concat(ptr @.str2796, ptr %t242)
%t244 = call ptr @fn_str_concat(ptr %t243, ptr @.str2797)
%t245 = call ptr @fn_emit_bind(ptr %t244)
store ptr %t245, ptr %t246
%t247 = load ptr, ptr %t246
%t248 = call ptr @fn_str_concat(ptr @.str2798, ptr %t247)
%t249 = call ptr @fn_str_concat(ptr %t248, ptr @.str2799)
%t250 = call ptr @fn_emit_bind(ptr %t249)
store ptr %t250, ptr %t251
%t252 = load ptr, ptr %t251
%t253 = call ptr @fn_str_concat(ptr @.str2800, ptr %t252)
%t254 = call ptr @fn_str_concat(ptr %t253, ptr @.str2801)
%t255 = call ptr @fn_emit_bind(ptr %t254)
%t256 = call ptr @fn_val(ptr %t255, ptr @.str2802)
store ptr %t256, ptr %retval
br label %ret
ifend34:
%t257 = load ptr, ptr %t0
%t258 = call i32 @fn_str_eq(ptr %t257, ptr @.str2803)
%t259 = icmp ne i32 %t258, 0
br i1 %t259, label %then35, label %ifend37
then35:
%t260 = call ptr @fn_emit_bind(ptr @.str2804)
%t261 = call ptr @fn_val(ptr %t260, ptr @.str2805)
store ptr %t261, ptr %retval
br label %ret
ifend37:
%t262 = load ptr, ptr %t0
%t263 = call i32 @fn_str_eq(ptr %t262, ptr @.str2806)
%t264 = icmp ne i32 %t263, 0
br i1 %t264, label %then38, label %ifend40
then38:
%t265 = call ptr @fn_emit_bind(ptr @.str2807)
%t266 = call ptr @fn_val(ptr %t265, ptr @.str2808)
store ptr %t266, ptr %retval
br label %ret
ifend40:
%t267 = load ptr, ptr %t0
%t268 = call i32 @fn_str_eq(ptr %t267, ptr @.str2809)
%t269 = icmp ne i32 %t268, 0
br i1 %t269, label %then41, label %ifend43
then41:
%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 ptr, ptr %t274, i32 0
%t276 = load ptr, ptr %t275
%t277 = call ptr @fn_emit_expr(ptr %t276)
store ptr %t277, ptr %t278
%t279 = load ptr, ptr %t278
%t280 = getelementptr inbounds %Cmp_Val, ptr %t279, i32 0, i32 0
%t281 = load ptr, ptr %t280
%t282 = call ptr @fn_str_concat(ptr @.str2810, ptr %t281)
%t283 = call ptr @fn_str_concat(ptr %t282, ptr @.str2811)
%t284 = call ptr @fn_emit_bind(ptr %t283)
%t285 = call ptr @fn_val(ptr %t284, ptr @.str2812)
store ptr %t285, ptr %retval
br label %ret
ifend43:
%t286 = load ptr, ptr %t0
%t287 = call i32 @fn_str_eq(ptr %t286, ptr @.str2813)
%t288 = icmp ne i32 %t287, 0
br i1 %t288, label %then44, label %ifend46
then44:
%t289 = load ptr, ptr %t1
%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 0
%t293 = load ptr, ptr %t292
%t294 = getelementptr inbounds ptr, ptr %t293, 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
%t301 = call ptr @fn_str_concat(ptr @.str2814, ptr %t300)
%t302 = call ptr @fn_str_concat(ptr %t301, ptr @.str2815)
%t303 = call ptr @fn_emit_bind(ptr %t302)
%t304 = call ptr @fn_val(ptr %t303, ptr @.str2816)
store ptr %t304, ptr %retval
br label %ret
ifend46:
%t305 = load ptr, ptr %t0
%t306 = call i32 @fn_str_eq(ptr %t305, ptr @.str2817)
%t307 = icmp ne i32 %t306, 0
br i1 %t307, label %then47, label %ifend49
then47:
%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 ptr, ptr %t312, i32 0
%t314 = load ptr, ptr %t313
%t315 = call ptr @fn_emit_expr(ptr %t314)
store ptr %t315, ptr %t316
%t317 = load ptr, ptr %t316
%t318 = getelementptr inbounds %Cmp_Val, ptr %t317, i32 0, i32 0
%t319 = load ptr, ptr %t318
%t320 = call ptr @fn_str_concat(ptr @.str2818, ptr %t319)
%t321 = call ptr @fn_str_concat(ptr %t320, ptr @.str2819)
%t322 = call ptr @fn_emit_bind(ptr %t321)
%t323 = call ptr @fn_val(ptr %t322, ptr @.str2820)
store ptr %t323, ptr %retval
br label %ret
ifend49:
%t324 = call ptr @fn_emit_bind(ptr @.str2821)
%t325 = call ptr @fn_val(ptr %t324, ptr @.str2822)
store ptr %t325, ptr %retval
br label %ret
ret:
%t326 = load ptr, ptr %retval
ret ptr %t326
}
define void @fn_emit_os_prelude() {
entry:
%t1 = alloca ptr
%t3 = alloca ptr
%t5 = alloca ptr
%t7 = alloca ptr
%t9 = alloca ptr
%t11 = alloca ptr
%t13 = alloca ptr
%t15 = alloca ptr
%t17 = alloca ptr
%t19 = alloca ptr
call void @fn_emith(ptr @.str2823)
call void @fn_emith(ptr @.str2824)
call void @fn_emith(ptr @.str2825)
%t0 = call ptr @fn_emit_str_const(ptr @.str2826)
store ptr %t0, ptr %t1
%t2 = call ptr @fn_emit_str_const(ptr @.str2827)
store ptr %t2, ptr %t3
%t4 = call ptr @fn_emit_str_const(ptr @.str2828)
store ptr %t4, ptr %t5
%t6 = call ptr @fn_emit_str_const(ptr @.str2829)
store ptr %t6, ptr %t7
%t8 = call ptr @fn_emit_str_const(ptr @.str2830)
store ptr %t8, ptr %t9
%t10 = call ptr @fn_emit_str_const(ptr @.str2831)
store ptr %t10, ptr %t11
%t12 = call ptr @fn_emit_str_const(ptr @.str2832)
store ptr %t12, ptr %t13
%t14 = call ptr @fn_emit_str_const(ptr @.str2833)
store ptr %t14, ptr %t15
%t16 = call ptr @fn_emit_str_const(ptr @.str2834)
store ptr %t16, ptr %t17
%t18 = call ptr @fn_emit_str_const(ptr @.str2835)
store ptr %t18, ptr %t19
call void @fn_emith(ptr @.str2836)
call void @fn_emith(ptr @.str2837)
call void @fn_emith(ptr @.str2838)
call void @fn_emith(ptr @.str2839)
call void @fn_emith(ptr @.str2840)
call void @fn_emith(ptr @.str2841)
call void @fn_emith(ptr @.str2842)
call void @fn_emith(ptr @.str2843)
call void @fn_emith(ptr @.str2844)
call void @fn_emith(ptr @.str2845)
call void @fn_emith(ptr @.str2846)
call void @fn_emith(ptr @.str2847)
%t20 = load ptr, ptr %t1
%t21 = call ptr @fn_str_concat(ptr @.str2848, ptr %t20)
%t22 = call ptr @fn_str_concat(ptr %t21, ptr @.str2849)
%t23 = load ptr, ptr %t3
%t24 = call ptr @fn_str_concat(ptr %t22, ptr %t23)
%t25 = call ptr @fn_str_concat(ptr %t24, ptr @.str2850)
call void @fn_emith(ptr %t25)
%t26 = load ptr, ptr %t5
%t27 = call ptr @fn_str_concat(ptr @.str2851, ptr %t26)
%t28 = call ptr @fn_str_concat(ptr %t27, ptr @.str2852)
call void @fn_emith(ptr %t28)
%t29 = load ptr, ptr %t5
%t30 = call ptr @fn_str_concat(ptr @.str2853, ptr %t29)
%t31 = call ptr @fn_str_concat(ptr %t30, ptr @.str2854)
call void @fn_emith(ptr %t31)
%t32 = load ptr, ptr %t7
%t33 = call ptr @fn_str_concat(ptr @.str2855, ptr %t32)
%t34 = call ptr @fn_str_concat(ptr %t33, ptr @.str2856)
call void @fn_emith(ptr %t34)
%t35 = load ptr, ptr %t9
%t36 = call ptr @fn_str_concat(ptr @.str2857, ptr %t35)
%t37 = call ptr @fn_str_concat(ptr %t36, ptr @.str2858)
%t38 = load ptr, ptr %t11
%t39 = call ptr @fn_str_concat(ptr %t37, ptr %t38)
%t40 = call ptr @fn_str_concat(ptr %t39, ptr @.str2859)
call void @fn_emith(ptr %t40)
call void @fn_emith(ptr @.str2860)
call void @fn_emith(ptr @.str2861)
call void @fn_emith(ptr @.str2862)
call void @fn_emith(ptr @.str2863)
call void @fn_emith(ptr @.str2864)
call void @fn_emith(ptr @.str2865)
call void @fn_emith(ptr @.str2866)
call void @fn_emith(ptr @.str2867)
call void @fn_emith(ptr @.str2868)
%t41 = load ptr, ptr %t13
%t42 = call ptr @fn_str_concat(ptr @.str2869, ptr %t41)
%t43 = call ptr @fn_str_concat(ptr %t42, ptr @.str2870)
call void @fn_emith(ptr %t43)
%t44 = load ptr, ptr %t15
%t45 = call ptr @fn_str_concat(ptr @.str2871, ptr %t44)
%t46 = call ptr @fn_str_concat(ptr %t45, ptr @.str2872)
call void @fn_emith(ptr %t46)
%t47 = load ptr, ptr %t17
%t48 = call ptr @fn_str_concat(ptr @.str2873, ptr %t47)
%t49 = call ptr @fn_str_concat(ptr %t48, ptr @.str2874)
call void @fn_emith(ptr %t49)
%t50 = load ptr, ptr %t19
%t51 = call ptr @fn_str_concat(ptr @.str2875, ptr %t50)
%t52 = call ptr @fn_str_concat(ptr %t51, ptr @.str2876)
call void @fn_emith(ptr %t52)
call void @fn_emith(ptr @.str2877)
call void @fn_emith(ptr @.str2878)
call void @fn_emith(ptr @.str2879)
call void @fn_emith(ptr @.str2880)
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 @fn_str_eq(ptr %t3, ptr @.str2881)
%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_str_eq(ptr %t7, ptr @.str2882)
%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_eq(ptr %t14, ptr @.str2883)
%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 @fn_str_eq(ptr %t21, ptr @.str2884)
%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 @fn_str_eq(ptr %t25, ptr @.str2885)
%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 @fn_str_eq(ptr %t33, ptr @.str2886)
%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 @fn_str_eq(ptr %t37, ptr @.str2887)
%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 @fn_str_eq(ptr %t44, ptr @.str2888)
%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 @fn_str_eq(ptr %t50, ptr @.str2889)
%t52 = icmp ne i32 %t51, 0
br i1 %t52, label %then19, label %ifend21
then19:
store i32 1, ptr %retval
br label %ret
ifend21:
store i32 0, ptr %retval
br label %ret
ret:
%t53 = load i32, ptr %retval
ret i32 %t53
}
define ptr @fn_emit_unicode_ns(ptr %arg_meth, ptr %arg_e) {
entry:
%retval = alloca ptr
%t0 = alloca ptr
%t1 = alloca ptr
%t13 = alloca ptr
%t20 = alloca ptr
%t37 = alloca ptr
%t56 = alloca ptr
%t75 = alloca ptr
%t84 = alloca ptr
%t108 = alloca ptr
%t127 = alloca ptr
%t146 = alloca ptr
%t165 = alloca ptr
%t174 = alloca ptr
%t195 = alloca ptr
store ptr %arg_meth, ptr %t0
store ptr %arg_e, ptr %t1
store i32 1, ptr @g_g_uses_unicodert
%t2 = load ptr, ptr %t0
%t3 = call i32 @fn_str_eq(ptr %t2, ptr @.str2890)
%t4 = icmp ne i32 %t3, 0
br i1 %t4, label %then0, label %ifend2
then0:
%t5 = load ptr, ptr %t1
%t6 = getelementptr inbounds %Cmp_Node, ptr %t5, i32 0, i32 7
%t7 = load ptr, ptr %t6
%t8 = getelementptr inbounds %LSlice, ptr %t7, i32 0, i32 0
%t9 = load ptr, ptr %t8
%t10 = getelementptr inbounds ptr, ptr %t9, i32 0
%t11 = load ptr, ptr %t10
%t12 = call ptr @fn_emit_expr(ptr %t11)
store ptr %t12, ptr %t13
%t14 = load ptr, ptr %t13
%t15 = getelementptr inbounds %Cmp_Val, ptr %t14, i32 0, i32 0
%t16 = load ptr, ptr %t15
%t17 = call ptr @fn_str_concat(ptr @.str2891, ptr %t16)
%t18 = call ptr @fn_str_concat(ptr %t17, ptr @.str2892)
%t19 = call ptr @fn_emit_bind(ptr %t18)
store ptr %t19, ptr %t20
%t21 = load ptr, ptr %t20
%t22 = call ptr @fn_str_concat(ptr @.str2893, ptr %t21)
%t23 = call ptr @fn_str_concat(ptr %t22, ptr @.str2894)
%t24 = call ptr @fn_emit_bind(ptr %t23)
%t25 = call ptr @fn_val(ptr %t24, ptr @.str2895)
store ptr %t25, ptr %retval
br label %ret
ifend2:
%t26 = load ptr, ptr %t0
%t27 = call i32 @fn_str_eq(ptr %t26, ptr @.str2896)
%t28 = icmp ne i32 %t27, 0
br i1 %t28, label %then3, label %ifend5
then3:
%t29 = load ptr, ptr %t1
%t30 = getelementptr inbounds %Cmp_Node, ptr %t29, i32 0, i32 7
%t31 = load ptr, ptr %t30
%t32 = getelementptr inbounds %LSlice, ptr %t31, i32 0, i32 0
%t33 = load ptr, ptr %t32
%t34 = getelementptr inbounds ptr, ptr %t33, i32 0
%t35 = load ptr, ptr %t34
%t36 = call ptr @fn_emit_expr(ptr %t35)
store ptr %t36, ptr %t37
%t38 = load ptr, ptr %t37
%t39 = getelementptr inbounds %Cmp_Val, ptr %t38, i32 0, i32 0
%t40 = load ptr, ptr %t39
%t41 = call ptr @fn_str_concat(ptr @.str2897, ptr %t40)
%t42 = call ptr @fn_str_concat(ptr %t41, ptr @.str2898)
%t43 = call ptr @fn_emit_bind(ptr %t42)
%t44 = call ptr @fn_val(ptr %t43, ptr @.str2899)
store ptr %t44, ptr %retval
br label %ret
ifend5:
%t45 = load ptr, ptr %t0
%t46 = call i32 @fn_str_eq(ptr %t45, ptr @.str2900)
%t47 = icmp ne i32 %t46, 0
br i1 %t47, label %then6, label %ifend8
then6:
%t48 = load ptr, ptr %t1
%t49 = getelementptr inbounds %Cmp_Node, ptr %t48, i32 0, i32 7
%t50 = load ptr, ptr %t49
%t51 = getelementptr inbounds %LSlice, ptr %t50, i32 0, i32 0
%t52 = load ptr, ptr %t51
%t53 = getelementptr inbounds ptr, ptr %t52, i32 0
%t54 = load ptr, ptr %t53
%t55 = call ptr @fn_emit_expr(ptr %t54)
store ptr %t55, ptr %t56
%t57 = load ptr, ptr %t56
%t58 = getelementptr inbounds %Cmp_Val, ptr %t57, i32 0, i32 0
%t59 = load ptr, ptr %t58
%t60 = call ptr @fn_str_concat(ptr @.str2901, ptr %t59)
%t61 = call ptr @fn_str_concat(ptr %t60, ptr @.str2902)
%t62 = call ptr @fn_emit_bind(ptr %t61)
%t63 = call ptr @fn_val(ptr %t62, ptr @.str2903)
store ptr %t63, ptr %retval
br label %ret
ifend8:
%t64 = load ptr, ptr %t0
%t65 = call i32 @fn_str_eq(ptr %t64, ptr @.str2904)
%t66 = icmp ne i32 %t65, 0
br i1 %t66, label %then9, label %ifend11
then9:
%t67 = load ptr, ptr %t1
%t68 = getelementptr inbounds %Cmp_Node, ptr %t67, i32 0, i32 7
%t69 = load ptr, ptr %t68
%t70 = getelementptr inbounds %LSlice, ptr %t69, i32 0, i32 0
%t71 = load ptr, ptr %t70
%t72 = getelementptr inbounds ptr, ptr %t71, i32 0
%t73 = load ptr, ptr %t72
%t74 = call ptr @fn_emit_expr(ptr %t73)
store ptr %t74, ptr %t75
%t76 = load ptr, ptr %t1
%t77 = getelementptr inbounds %Cmp_Node, ptr %t76, i32 0, i32 7
%t78 = load ptr, ptr %t77
%t79 = getelementptr inbounds %LSlice, ptr %t78, i32 0, i32 0
%t80 = load ptr, ptr %t79
%t81 = getelementptr inbounds ptr, ptr %t80, i32 1
%t82 = load ptr, ptr %t81
%t83 = call ptr @fn_emit_expr(ptr %t82)
store ptr %t83, ptr %t84
%t85 = load ptr, ptr %t75
%t86 = getelementptr inbounds %Cmp_Val, ptr %t85, i32 0, i32 0
%t87 = load ptr, ptr %t86
%t88 = call ptr @fn_str_concat(ptr @.str2905, ptr %t87)
%t89 = call ptr @fn_str_concat(ptr %t88, ptr @.str2906)
%t90 = load ptr, ptr %t84
%t91 = getelementptr inbounds %Cmp_Val, ptr %t90, i32 0, i32 0
%t92 = load ptr, ptr %t91
%t93 = call ptr @fn_str_concat(ptr %t89, ptr %t92)
%t94 = call ptr @fn_str_concat(ptr %t93, ptr @.str2907)
%t95 = call ptr @fn_emit_bind(ptr %t94)
%t96 = call ptr @fn_val(ptr %t95, ptr @.str2908)
store ptr %t96, ptr %retval
br label %ret
ifend11:
%t97 = load ptr, ptr %t0
%t98 = call i32 @fn_str_eq(ptr %t97, ptr @.str2909)
%t99 = icmp ne i32 %t98, 0
br i1 %t99, label %then12, label %ifend14
then12:
%t100 = load ptr, ptr %t1
%t101 = getelementptr inbounds %Cmp_Node, ptr %t100, i32 0, i32 7
%t102 = load ptr, ptr %t101
%t103 = getelementptr inbounds %LSlice, ptr %t102, i32 0, i32 0
%t104 = load ptr, ptr %t103
%t105 = getelementptr inbounds ptr, ptr %t104, i32 0
%t106 = load ptr, ptr %t105
%t107 = call ptr @fn_emit_expr(ptr %t106)
store ptr %t107, ptr %t108
%t109 = load ptr, ptr %t108
%t110 = getelementptr inbounds %Cmp_Val, ptr %t109, i32 0, i32 0
%t111 = load ptr, ptr %t110
%t112 = call ptr @fn_str_concat(ptr @.str2910, ptr %t111)
%t113 = call ptr @fn_str_concat(ptr %t112, ptr @.str2911)
%t114 = call ptr @fn_emit_bind(ptr %t113)
%t115 = call ptr @fn_val(ptr %t114, ptr @.str2912)
store ptr %t115, ptr %retval
br label %ret
ifend14:
%t116 = load ptr, ptr %t0
%t117 = call i32 @fn_str_eq(ptr %t116, ptr @.str2913)
%t118 = icmp ne i32 %t117, 0
br i1 %t118, label %then15, label %ifend17
then15:
%t119 = load ptr, ptr %t1
%t120 = getelementptr inbounds %Cmp_Node, ptr %t119, i32 0, i32 7
%t121 = load ptr, ptr %t120
%t122 = getelementptr inbounds %LSlice, ptr %t121, i32 0, i32 0
%t123 = load ptr, ptr %t122
%t124 = getelementptr inbounds ptr, ptr %t123, i32 0
%t125 = load ptr, ptr %t124
%t126 = call ptr @fn_emit_expr(ptr %t125)
store ptr %t126, ptr %t127
%t128 = load ptr, ptr %t127
%t129 = getelementptr inbounds %Cmp_Val, ptr %t128, i32 0, i32 0
%t130 = load ptr, ptr %t129
%t131 = call ptr @fn_str_concat(ptr @.str2914, ptr %t130)
%t132 = call ptr @fn_str_concat(ptr %t131, ptr @.str2915)
%t133 = call ptr @fn_emit_bind(ptr %t132)
%t134 = call ptr @fn_val(ptr %t133, ptr @.str2916)
store ptr %t134, ptr %retval
br label %ret
ifend17:
%t135 = load ptr, ptr %t0
%t136 = call i32 @fn_str_eq(ptr %t135, ptr @.str2917)
%t137 = icmp ne i32 %t136, 0
br i1 %t137, label %then18, label %ifend20
then18:
%t138 = load ptr, ptr %t1
%t139 = getelementptr inbounds %Cmp_Node, ptr %t138, i32 0, i32 7
%t140 = load ptr, ptr %t139
%t141 = getelementptr inbounds %LSlice, ptr %t140, i32 0, i32 0
%t142 = load ptr, ptr %t141
%t143 = getelementptr inbounds ptr, ptr %t142, i32 0
%t144 = load ptr, ptr %t143
%t145 = call ptr @fn_emit_expr(ptr %t144)
store ptr %t145, ptr %t146
%t147 = load ptr, ptr %t146
%t148 = getelementptr inbounds %Cmp_Val, ptr %t147, i32 0, i32 0
%t149 = load ptr, ptr %t148
%t150 = call ptr @fn_str_concat(ptr @.str2918, ptr %t149)
%t151 = call ptr @fn_str_concat(ptr %t150, ptr @.str2919)
%t152 = call ptr @fn_emit_bind(ptr %t151)
%t153 = call ptr @fn_val(ptr %t152, ptr @.str2920)
store ptr %t153, ptr %retval
br label %ret
ifend20:
%t154 = load ptr, ptr %t0
%t155 = call i32 @fn_str_eq(ptr %t154, ptr @.str2921)
%t156 = icmp ne i32 %t155, 0
br i1 %t156, label %then21, label %ifend23
then21:
%t157 = load ptr, ptr %t1
%t158 = getelementptr inbounds %Cmp_Node, ptr %t157, i32 0, i32 7
%t159 = load ptr, ptr %t158
%t160 = getelementptr inbounds %LSlice, ptr %t159, i32 0, i32 0
%t161 = load ptr, ptr %t160
%t162 = getelementptr inbounds ptr, ptr %t161, i32 0
%t163 = load ptr, ptr %t162
%t164 = call ptr @fn_emit_expr(ptr %t163)
store ptr %t164, ptr %t165
%t166 = load ptr, ptr %t1
%t167 = getelementptr inbounds %Cmp_Node, ptr %t166, i32 0, i32 7
%t168 = load ptr, ptr %t167
%t169 = getelementptr inbounds %LSlice, ptr %t168, i32 0, i32 0
%t170 = load ptr, ptr %t169
%t171 = getelementptr inbounds ptr, ptr %t170, i32 1
%t172 = load ptr, ptr %t171
%t173 = call ptr @fn_emit_expr(ptr %t172)
store ptr %t173, ptr %t174
%t175 = load ptr, ptr %t165
%t176 = getelementptr inbounds %Cmp_Val, ptr %t175, i32 0, i32 0
%t177 = load ptr, ptr %t176
%t178 = call ptr @fn_str_concat(ptr @.str2922, ptr %t177)
%t179 = call ptr @fn_str_concat(ptr %t178, ptr @.str2923)
%t180 = load ptr, ptr %t174
%t181 = getelementptr inbounds %Cmp_Val, ptr %t180, i32 0, i32 0
%t182 = load ptr, ptr %t181
%t183 = call ptr @fn_str_concat(ptr %t179, ptr %t182)
%t184 = call ptr @fn_str_concat(ptr %t183, ptr @.str2924)
%t185 = call ptr @fn_emit_bind(ptr %t184)
%t186 = call ptr @fn_val(ptr %t185, ptr @.str2925)
store ptr %t186, ptr %retval
br label %ret
ifend23:
%t187 = load ptr, ptr %t1
%t188 = getelementptr inbounds %Cmp_Node, ptr %t187, i32 0, i32 7
%t189 = load ptr, ptr %t188
%t190 = getelementptr inbounds %LSlice, ptr %t189, i32 0, i32 0
%t191 = load ptr, ptr %t190
%t192 = getelementptr inbounds ptr, ptr %t191, i32 0
%t193 = load ptr, ptr %t192
%t194 = call ptr @fn_emit_expr(ptr %t193)
store ptr %t194, ptr %t195
%t196 = load ptr, ptr %t195
%t197 = getelementptr inbounds %Cmp_Val, ptr %t196, i32 0, i32 0
%t198 = load ptr, ptr %t197
%t199 = call ptr @fn_str_concat(ptr @.str2926, ptr %t198)
%t200 = call ptr @fn_str_concat(ptr %t199, ptr @.str2927)
%t201 = call ptr @fn_emit_bind(ptr %t200)
%t202 = call ptr @fn_val(ptr %t201, ptr @.str2928)
store ptr %t202, ptr %retval
br label %ret
ret:
%t203 = load ptr, ptr %retval
ret ptr %t203
}
define void @fn_emit_unicode_prelude() {
entry:
call void @fn_emit_uni_core()
call void @fn_emit_uni_case_fns()
call void @fn_emit_uni_str_fns()
br label %ret
ret:
ret void
}
define void @fn_emit_uni_core() {
entry:
call void @fn_emith(ptr @.str2929)
call void @fn_emith(ptr @.str2930)
call void @fn_emith(ptr @.str2931)
call void @fn_emith(ptr @.str2932)
call void @fn_emith(ptr @.str2933)
call void @fn_emith(ptr @.str2934)
call void @fn_emith(ptr @.str2935)
call void @fn_emith(ptr @.str2936)
call void @fn_emith(ptr @.str2937)
call void @fn_emith(ptr @.str2938)
call void @fn_emith(ptr @.str2939)
call void @fn_emith(ptr @.str2940)
call void @fn_emith(ptr @.str2941)
call void @fn_emith(ptr @.str2942)
call void @fn_emith(ptr @.str2943)
call void @fn_emith(ptr @.str2944)
call void @fn_emith(ptr @.str2945)
call void @fn_emith(ptr @.str2946)
call void @fn_emith(ptr @.str2947)
call void @fn_emith(ptr @.str2948)
call void @fn_emith(ptr @.str2949)
call void @fn_emith(ptr @.str2950)
call void @fn_emith(ptr @.str2951)
call void @fn_emith(ptr @.str2952)
call void @fn_emith(ptr @.str2953)
call void @fn_emith(ptr @.str2954)
call void @fn_emith(ptr @.str2955)
call void @fn_emith(ptr @.str2956)
call void @fn_emith(ptr @.str2957)
call void @fn_emith(ptr @.str2958)
call void @fn_emith(ptr @.str2959)
call void @fn_emith(ptr @.str2960)
call void @fn_emith(ptr @.str2961)
call void @fn_emith(ptr @.str2962)
call void @fn_emith(ptr @.str2963)
call void @fn_emith(ptr @.str2964)
call void @fn_emith(ptr @.str2965)
call void @fn_emith(ptr @.str2966)
call void @fn_emith(ptr @.str2967)
call void @fn_emith(ptr @.str2968)
call void @fn_emith(ptr @.str2969)
call void @fn_emith(ptr @.str2970)
call void @fn_emith(ptr @.str2971)
call void @fn_emith(ptr @.str2972)
call void @fn_emith(ptr @.str2973)
call void @fn_emith(ptr @.str2974)
call void @fn_emith(ptr @.str2975)
call void @fn_emith(ptr @.str2976)
call void @fn_emith(ptr @.str2977)
call void @fn_emith(ptr @.str2978)
call void @fn_emith(ptr @.str2979)
call void @fn_emith(ptr @.str2980)
call void @fn_emith(ptr @.str2981)
call void @fn_emith(ptr @.str2982)
call void @fn_emith(ptr @.str2983)
call void @fn_emith(ptr @.str2984)
call void @fn_emith(ptr @.str2985)
call void @fn_emith(ptr @.str2986)
call void @fn_emith(ptr @.str2987)
call void @fn_emith(ptr @.str2988)
call void @fn_emith(ptr @.str2989)
call void @fn_emith(ptr @.str2990)
call void @fn_emith(ptr @.str2991)
call void @fn_emith(ptr @.str2992)
call void @fn_emith(ptr @.str2993)
call void @fn_emith(ptr @.str2994)
call void @fn_emith(ptr @.str2995)
call void @fn_emith(ptr @.str2996)
call void @fn_emith(ptr @.str2997)
call void @fn_emith(ptr @.str2998)
call void @fn_emith(ptr @.str2999)
call void @fn_emith(ptr @.str3000)
call void @fn_emith(ptr @.str3001)
br label %ret
ret:
ret void
}
define void @fn_emit_uni_case_fns() {
entry:
call void @fn_emith(ptr @.str3002)
call void @fn_emith(ptr @.str3003)
call void @fn_emith(ptr @.str3004)
call void @fn_emith(ptr @.str3005)
call void @fn_emith(ptr @.str3006)
call void @fn_emith(ptr @.str3007)
call void @fn_emith(ptr @.str3008)
call void @fn_emith(ptr @.str3009)
call void @fn_emith(ptr @.str3010)
call void @fn_emith(ptr @.str3011)
call void @fn_emith(ptr @.str3012)
call void @fn_emith(ptr @.str3013)
call void @fn_emith(ptr @.str3014)
call void @fn_emith(ptr @.str3015)
call void @fn_emith(ptr @.str3016)
call void @fn_emith(ptr @.str3017)
call void @fn_emith(ptr @.str3018)
call void @fn_emith(ptr @.str3019)
call void @fn_emith(ptr @.str3020)
call void @fn_emith(ptr @.str3021)
call void @fn_emith(ptr @.str3022)
call void @fn_emith(ptr @.str3023)
call void @fn_emith(ptr @.str3024)
call void @fn_emith(ptr @.str3025)
call void @fn_emith(ptr @.str3026)
call void @fn_emith(ptr @.str3027)
call void @fn_emith(ptr @.str3028)
call void @fn_emith(ptr @.str3029)
call void @fn_emith(ptr @.str3030)
call void @fn_emith(ptr @.str3031)
call void @fn_emith(ptr @.str3032)
call void @fn_emith(ptr @.str3033)
call void @fn_emith(ptr @.str3034)
call void @fn_emith(ptr @.str3035)
call void @fn_emith(ptr @.str3036)
call void @fn_emith(ptr @.str3037)
call void @fn_emith(ptr @.str3038)
call void @fn_emith(ptr @.str3039)
call void @fn_emith(ptr @.str3040)
call void @fn_emith(ptr @.str3041)
br label %ret
ret:
ret void
}
define void @fn_emit_uni_str_fns() {
entry:
call void @fn_emith(ptr @.str3042)
call void @fn_emith(ptr @.str3043)
call void @fn_emith(ptr @.str3044)
call void @fn_emith(ptr @.str3045)
call void @fn_emith(ptr @.str3046)
call void @fn_emith(ptr @.str3047)
call void @fn_emith(ptr @.str3048)
call void @fn_emith(ptr @.str3049)
call void @fn_emith(ptr @.str3050)
call void @fn_emith(ptr @.str3051)
call void @fn_emith(ptr @.str3052)
call void @fn_emith(ptr @.str3053)
call void @fn_emith(ptr @.str3054)
call void @fn_emith(ptr @.str3055)
call void @fn_emith(ptr @.str3056)
call void @fn_emith(ptr @.str3057)
call void @fn_emith(ptr @.str3058)
call void @fn_emith(ptr @.str3059)
call void @fn_emith(ptr @.str3060)
call void @fn_emith(ptr @.str3061)
call void @fn_emith(ptr @.str3062)
call void @fn_emith(ptr @.str3063)
call void @fn_emith(ptr @.str3064)
call void @fn_emith(ptr @.str3065)
call void @fn_emith(ptr @.str3066)
call void @fn_emith(ptr @.str3067)
call void @fn_emith(ptr @.str3068)
call void @fn_emith(ptr @.str3069)
call void @fn_emith(ptr @.str3070)
call void @fn_emith(ptr @.str3071)
call void @fn_emith(ptr @.str3072)
call void @fn_emith(ptr @.str3073)
call void @fn_emith(ptr @.str3074)
call void @fn_emith(ptr @.str3075)
call void @fn_emith(ptr @.str3076)
call void @fn_emith(ptr @.str3077)
call void @fn_emith(ptr @.str3078)
call void @fn_emit_uni_grapheme()
br label %ret
ret:
ret void
}
define void @fn_emit_uni_grapheme() {
entry:
call void @fn_emith(ptr @.str3079)
call void @fn_emith(ptr @.str3080)
call void @fn_emith(ptr @.str3081)
call void @fn_emith(ptr @.str3082)
call void @fn_emith(ptr @.str3083)
call void @fn_emith(ptr @.str3084)
call void @fn_emith(ptr @.str3085)
call void @fn_emith(ptr @.str3086)
call void @fn_emith(ptr @.str3087)
call void @fn_emith(ptr @.str3088)
call void @fn_emith(ptr @.str3089)
call void @fn_emith(ptr @.str3090)
call void @fn_emith(ptr @.str3091)
call void @fn_emith(ptr @.str3092)
call void @fn_emith(ptr @.str3093)
call void @fn_emith(ptr @.str3094)
call void @fn_emith(ptr @.str3095)
call void @fn_emith(ptr @.str3096)
call void @fn_emith(ptr @.str3097)
br label %ret
ret:
ret void
}
define i32 @fn_is_fs_ns(ptr %arg_meth) {
entry:
%retval = alloca i32
%t0 = alloca ptr
%t1 = alloca i32
%t2 = alloca i32
%t20 = alloca i32
%t21 = alloca i32
%t39 = alloca i32
%t40 = alloca i32
%t41 = alloca i32
store ptr %arg_meth, ptr %t0
%t3 = load ptr, ptr %t0
%t4 = call i32 @fn_str_eq(ptr %t3, ptr @.str3098)
%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_str_eq(ptr %t7, ptr @.str3099)
%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_eq(ptr %t14, ptr @.str3100)
%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 @fn_str_eq(ptr %t22, ptr @.str3101)
%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 @fn_str_eq(ptr %t26, ptr @.str3102)
%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 @fn_str_eq(ptr %t33, ptr @.str3103)
%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 @fn_str_eq(ptr %t42, ptr @.str3104)
%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 @fn_str_eq(ptr %t46, ptr @.str3105)
%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 @fn_str_eq(ptr %t53, ptr @.str3106)
%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 @fn_str_eq(ptr %t60, ptr @.str3107)
%t62 = icmp ne i32 %t61, 0
%t63 = zext i1 %t62 to i32
store i32 %t63, ptr %t39
br label %scend19
scend19:
%t64 = load i32, ptr %t39
%t65 = icmp ne i32 %t64, 0
br i1 %t65, label %then20, label %ifend22
then20:
store i32 1, ptr %retval
br label %ret
ifend22:
store i32 0, ptr %retval
br label %ret
ret:
%t66 = load i32, ptr %retval
ret i32 %t66
}
define i32 @fn_is_path_ns(ptr %arg_meth) {
entry:
%retval = alloca i32
%t0 = alloca ptr
%t1 = alloca i32
%t2 = alloca i32
%t20 = alloca i32
%t21 = alloca i32
store ptr %arg_meth, ptr %t0
%t3 = load ptr, ptr %t0
%t4 = call i32 @fn_str_eq(ptr %t3, ptr @.str3108)
%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_str_eq(ptr %t7, ptr @.str3109)
%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_eq(ptr %t14, ptr @.str3110)
%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 @fn_str_eq(ptr %t22, ptr @.str3111)
%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 @fn_str_eq(ptr %t26, ptr @.str3112)
%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 @fn_str_eq(ptr %t33, ptr @.str3113)
%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 @fn_str_eq(ptr %t2, ptr @.str3114)
%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 @fn_str_eq(ptr %t6, ptr @.str3115)
%t8 = icmp ne i32 %t7, 0
%t9 = zext i1 %t8 to i32
store i32 %t9, ptr %t1
br label %scend1
scend1:
%t10 = load i32, ptr %t1
%t11 = icmp ne i32 %t10, 0
br i1 %t11, label %then2, label %ifend4
then2:
store i32 1, ptr %retval
br label %ret
ifend4:
store i32 0, ptr %retval
br label %ret
ret:
%t12 = load i32, ptr %retval
ret i32 %t12
}
define ptr @fn_emit_fs_ns(ptr %arg_meth, ptr %arg_e) {
entry:
%retval = alloca ptr
%t0 = alloca ptr
%t1 = alloca ptr
%t10 = alloca ptr
%t89 = alloca ptr
store ptr %arg_meth, ptr %t0
store ptr %arg_e, ptr %t1
store i32 1, ptr @g_g_uses_fsrt
%t2 = load ptr, ptr %t1
%t3 = getelementptr inbounds %Cmp_Node, ptr %t2, i32 0, i32 7
%t4 = load ptr, ptr %t3
%t5 = getelementptr inbounds %LSlice, ptr %t4, i32 0, i32 0
%t6 = load ptr, ptr %t5
%t7 = getelementptr inbounds ptr, ptr %t6, i32 0
%t8 = load ptr, ptr %t7
%t9 = call ptr @fn_emit_expr(ptr %t8)
store ptr %t9, ptr %t10
%t11 = load ptr, ptr %t0
%t12 = call i32 @fn_str_eq(ptr %t11, ptr @.str3116)
%t13 = icmp ne i32 %t12, 0
br i1 %t13, label %then0, label %ifend2
then0:
%t14 = load ptr, ptr %t10
%t15 = getelementptr inbounds %Cmp_Val, ptr %t14, i32 0, i32 0
%t16 = load ptr, ptr %t15
%t17 = call ptr @fn_str_concat(ptr @.str3117, ptr %t16)
%t18 = call ptr @fn_str_concat(ptr %t17, ptr @.str3118)
%t19 = call ptr @fn_emit_bind(ptr %t18)
%t20 = call ptr @fn_val(ptr %t19, ptr @.str3119)
store ptr %t20, ptr %retval
br label %ret
ifend2:
%t21 = load ptr, ptr %t0
%t22 = call i32 @fn_str_eq(ptr %t21, ptr @.str3120)
%t23 = icmp ne i32 %t22, 0
br i1 %t23, label %then3, label %ifend5
then3:
%t24 = load ptr, ptr %t10
%t25 = getelementptr inbounds %Cmp_Val, ptr %t24, i32 0, i32 0
%t26 = load ptr, ptr %t25
%t27 = call ptr @fn_str_concat(ptr @.str3121, ptr %t26)
%t28 = call ptr @fn_str_concat(ptr %t27, ptr @.str3122)
%t29 = call ptr @fn_emit_bind(ptr %t28)
%t30 = call ptr @fn_val(ptr %t29, ptr @.str3123)
store ptr %t30, ptr %retval
br label %ret
ifend5:
%t31 = load ptr, ptr %t0
%t32 = call i32 @fn_str_eq(ptr %t31, ptr @.str3124)
%t33 = icmp ne i32 %t32, 0
br i1 %t33, label %then6, label %ifend8
then6:
%t34 = load ptr, ptr %t10
%t35 = getelementptr inbounds %Cmp_Val, ptr %t34, i32 0, i32 0
%t36 = load ptr, ptr %t35
%t37 = call ptr @fn_str_concat(ptr @.str3125, ptr %t36)
%t38 = call ptr @fn_str_concat(ptr %t37, ptr @.str3126)
%t39 = call ptr @fn_emit_bind(ptr %t38)
%t40 = call ptr @fn_val(ptr %t39, ptr @.str3127)
store ptr %t40, ptr %retval
br label %ret
ifend8:
%t41 = load ptr, ptr %t0
%t42 = call i32 @fn_str_eq(ptr %t41, ptr @.str3128)
%t43 = icmp ne i32 %t42, 0
br i1 %t43, label %then9, label %ifend11
then9:
%t44 = load ptr, ptr %t10
%t45 = getelementptr inbounds %Cmp_Val, ptr %t44, i32 0, i32 0
%t46 = load ptr, ptr %t45
%t47 = call ptr @fn_str_concat(ptr @.str3129, ptr %t46)
%t48 = call ptr @fn_str_concat(ptr %t47, ptr @.str3130)
%t49 = call ptr @fn_emit_bind(ptr %t48)
%t50 = call ptr @fn_val(ptr %t49, ptr @.str3131)
store ptr %t50, ptr %retval
br label %ret
ifend11:
%t51 = load ptr, ptr %t0
%t52 = call i32 @fn_str_eq(ptr %t51, ptr @.str3132)
%t53 = icmp ne i32 %t52, 0
br i1 %t53, label %then12, label %ifend14
then12:
%t54 = load ptr, ptr %t10
%t55 = getelementptr inbounds %Cmp_Val, ptr %t54, i32 0, i32 0
%t56 = load ptr, ptr %t55
%t57 = call ptr @fn_str_concat(ptr @.str3133, ptr %t56)
%t58 = call ptr @fn_str_concat(ptr %t57, ptr @.str3134)
%t59 = call ptr @fn_emit_bind(ptr %t58)
%t60 = call ptr @fn_val(ptr %t59, ptr @.str3135)
store ptr %t60, ptr %retval
br label %ret
ifend14:
%t61 = load ptr, ptr %t0
%t62 = call i32 @fn_str_eq(ptr %t61, ptr @.str3136)
%t63 = icmp ne i32 %t62, 0
br i1 %t63, label %then15, label %ifend17
then15:
%t64 = load ptr, ptr %t10
%t65 = getelementptr inbounds %Cmp_Val, ptr %t64, i32 0, i32 0
%t66 = load ptr, ptr %t65
%t67 = call ptr @fn_str_concat(ptr @.str3137, ptr %t66)
%t68 = call ptr @fn_str_concat(ptr %t67, ptr @.str3138)
%t69 = call ptr @fn_emit_bind(ptr %t68)
%t70 = call ptr @fn_val(ptr %t69, ptr @.str3139)
store ptr %t70, ptr %retval
br label %ret
ifend17:
%t71 = load ptr, ptr %t0
%t72 = call i32 @fn_str_eq(ptr %t71, ptr @.str3140)
%t73 = icmp ne i32 %t72, 0
br i1 %t73, label %then18, label %ifend20
then18:
%t74 = load ptr, ptr %t10
%t75 = getelementptr inbounds %Cmp_Val, ptr %t74, i32 0, i32 0
%t76 = load ptr, ptr %t75
%t77 = call ptr @fn_str_concat(ptr @.str3141, ptr %t76)
%t78 = call ptr @fn_str_concat(ptr %t77, ptr @.str3142)
%t79 = call ptr @fn_emit_bind(ptr %t78)
%t80 = call ptr @fn_val(ptr %t79, ptr @.str3143)
store ptr %t80, ptr %retval
br label %ret
ifend20:
%t81 = load ptr, ptr %t1
%t82 = getelementptr inbounds %Cmp_Node, ptr %t81, i32 0, i32 7
%t83 = load ptr, ptr %t82
%t84 = getelementptr inbounds %LSlice, ptr %t83, i32 0, i32 0
%t85 = load ptr, ptr %t84
%t86 = getelementptr inbounds ptr, ptr %t85, i32 1
%t87 = load ptr, ptr %t86
%t88 = call ptr @fn_emit_expr(ptr %t87)
store ptr %t88, ptr %t89
%t90 = load ptr, ptr %t0
%t91 = call i32 @fn_str_eq(ptr %t90, ptr @.str3144)
%t92 = icmp ne i32 %t91, 0
br i1 %t92, label %then21, label %ifend23
then21:
%t93 = load ptr, ptr %t10
%t94 = getelementptr inbounds %Cmp_Val, ptr %t93, i32 0, i32 0
%t95 = load ptr, ptr %t94
%t96 = call ptr @fn_str_concat(ptr @.str3145, ptr %t95)
%t97 = call ptr @fn_str_concat(ptr %t96, ptr @.str3146)
%t98 = load ptr, ptr %t89
%t99 = getelementptr inbounds %Cmp_Val, ptr %t98, i32 0, i32 0
%t100 = load ptr, ptr %t99
%t101 = call ptr @fn_str_concat(ptr %t97, ptr %t100)
%t102 = call ptr @fn_str_concat(ptr %t101, ptr @.str3147)
%t103 = call ptr @fn_emit_bind(ptr %t102)
%t104 = call ptr @fn_val(ptr %t103, ptr @.str3148)
store ptr %t104, ptr %retval
br label %ret
ifend23:
%t105 = load ptr, ptr %t0
%t106 = call i32 @fn_str_eq(ptr %t105, ptr @.str3149)
%t107 = icmp ne i32 %t106, 0
br i1 %t107, label %then24, label %ifend26
then24:
%t108 = load ptr, ptr %t10
%t109 = getelementptr inbounds %Cmp_Val, ptr %t108, i32 0, i32 0
%t110 = load ptr, ptr %t109
%t111 = call ptr @fn_str_concat(ptr @.str3150, ptr %t110)
%t112 = call ptr @fn_str_concat(ptr %t111, ptr @.str3151)
%t113 = load ptr, ptr %t89
%t114 = getelementptr inbounds %Cmp_Val, ptr %t113, i32 0, i32 0
%t115 = load ptr, ptr %t114
%t116 = call ptr @fn_str_concat(ptr %t112, ptr %t115)
%t117 = call ptr @fn_str_concat(ptr %t116, ptr @.str3152)
%t118 = call ptr @fn_emit_bind(ptr %t117)
%t119 = call ptr @fn_val(ptr %t118, ptr @.str3153)
store ptr %t119, ptr %retval
br label %ret
ifend26:
%t120 = load ptr, ptr %t10
%t121 = getelementptr inbounds %Cmp_Val, ptr %t120, i32 0, i32 0
%t122 = load ptr, ptr %t121
%t123 = call ptr @fn_str_concat(ptr @.str3154, ptr %t122)
%t124 = call ptr @fn_str_concat(ptr %t123, ptr @.str3155)
%t125 = load ptr, ptr %t89
%t126 = getelementptr inbounds %Cmp_Val, ptr %t125, i32 0, i32 0
%t127 = load ptr, ptr %t126
%t128 = call ptr @fn_str_concat(ptr %t124, ptr %t127)
%t129 = call ptr @fn_str_concat(ptr %t128, ptr @.str3156)
%t130 = call ptr @fn_emit_bind(ptr %t129)
%t131 = call ptr @fn_val(ptr %t130, ptr @.str3157)
store ptr %t131, ptr %retval
br label %ret
ret:
%t132 = load ptr, ptr %retval
ret ptr %t132
}
define ptr @fn_emit_path_ns(ptr %arg_meth, ptr %arg_e) {
entry:
%retval = alloca ptr
%t0 = alloca ptr
%t1 = alloca ptr
%t10 = alloca ptr
%t69 = alloca ptr
store ptr %arg_meth, ptr %t0
store ptr %arg_e, ptr %t1
store i32 1, ptr @g_g_uses_fsrt
%t2 = load ptr, ptr %t1
%t3 = getelementptr inbounds %Cmp_Node, ptr %t2, i32 0, i32 7
%t4 = load ptr, ptr %t3
%t5 = getelementptr inbounds %LSlice, ptr %t4, i32 0, i32 0
%t6 = load ptr, ptr %t5
%t7 = getelementptr inbounds ptr, ptr %t6, i32 0
%t8 = load ptr, ptr %t7
%t9 = call ptr @fn_emit_expr(ptr %t8)
store ptr %t9, ptr %t10
%t11 = load ptr, ptr %t0
%t12 = call i32 @fn_str_eq(ptr %t11, ptr @.str3158)
%t13 = icmp ne i32 %t12, 0
br i1 %t13, label %then0, label %ifend2
then0:
%t14 = load ptr, ptr %t10
%t15 = getelementptr inbounds %Cmp_Val, ptr %t14, i32 0, i32 0
%t16 = load ptr, ptr %t15
%t17 = call ptr @fn_str_concat(ptr @.str3159, ptr %t16)
%t18 = call ptr @fn_str_concat(ptr %t17, ptr @.str3160)
%t19 = call ptr @fn_emit_bind(ptr %t18)
%t20 = call ptr @fn_val(ptr %t19, ptr @.str3161)
store ptr %t20, ptr %retval
br label %ret
ifend2:
%t21 = load ptr, ptr %t0
%t22 = call i32 @fn_str_eq(ptr %t21, ptr @.str3162)
%t23 = icmp ne i32 %t22, 0
br i1 %t23, label %then3, label %ifend5
then3:
%t24 = load ptr, ptr %t10
%t25 = getelementptr inbounds %Cmp_Val, ptr %t24, i32 0, i32 0
%t26 = load ptr, ptr %t25
%t27 = call ptr @fn_str_concat(ptr @.str3163, ptr %t26)
%t28 = call ptr @fn_str_concat(ptr %t27, ptr @.str3164)
%t29 = call ptr @fn_emit_bind(ptr %t28)
%t30 = call ptr @fn_val(ptr %t29, ptr @.str3165)
store ptr %t30, ptr %retval
br label %ret
ifend5:
%t31 = load ptr, ptr %t0
%t32 = call i32 @fn_str_eq(ptr %t31, ptr @.str3166)
%t33 = icmp ne i32 %t32, 0
br i1 %t33, label %then6, label %ifend8
then6:
%t34 = load ptr, ptr %t10
%t35 = getelementptr inbounds %Cmp_Val, ptr %t34, i32 0, i32 0
%t36 = load ptr, ptr %t35
%t37 = call ptr @fn_str_concat(ptr @.str3167, ptr %t36)
%t38 = call ptr @fn_str_concat(ptr %t37, ptr @.str3168)
%t39 = call ptr @fn_emit_bind(ptr %t38)
%t40 = call ptr @fn_val(ptr %t39, ptr @.str3169)
store ptr %t40, ptr %retval
br label %ret
ifend8:
%t41 = load ptr, ptr %t0
%t42 = call i32 @fn_str_eq(ptr %t41, ptr @.str3170)
%t43 = icmp ne i32 %t42, 0
br i1 %t43, label %then9, label %ifend11
then9:
%t44 = load ptr, ptr %t10
%t45 = getelementptr inbounds %Cmp_Val, ptr %t44, i32 0, i32 0
%t46 = load ptr, ptr %t45
%t47 = call ptr @fn_str_concat(ptr @.str3171, ptr %t46)
%t48 = call ptr @fn_str_concat(ptr %t47, ptr @.str3172)
%t49 = call ptr @fn_emit_bind(ptr %t48)
%t50 = call ptr @fn_val(ptr %t49, ptr @.str3173)
store ptr %t50, ptr %retval
br label %ret
ifend11:
%t51 = load ptr, ptr %t0
%t52 = call i32 @fn_str_eq(ptr %t51, ptr @.str3174)
%t53 = icmp ne i32 %t52, 0
br i1 %t53, label %then12, label %ifend14
then12:
%t54 = load ptr, ptr %t10
%t55 = getelementptr inbounds %Cmp_Val, ptr %t54, i32 0, i32 0
%t56 = load ptr, ptr %t55
%t57 = call ptr @fn_str_concat(ptr @.str3175, ptr %t56)
%t58 = call ptr @fn_str_concat(ptr %t57, ptr @.str3176)
%t59 = call ptr @fn_emit_bind(ptr %t58)
%t60 = call ptr @fn_val(ptr %t59, ptr @.str3177)
store ptr %t60, ptr %retval
br label %ret
ifend14:
%t61 = load ptr, ptr %t1
%t62 = getelementptr inbounds %Cmp_Node, ptr %t61, i32 0, i32 7
%t63 = load ptr, ptr %t62
%t64 = getelementptr inbounds %LSlice, ptr %t63, i32 0, i32 0
%t65 = load ptr, ptr %t64
%t66 = getelementptr inbounds ptr, ptr %t65, i32 1
%t67 = load ptr, ptr %t66
%t68 = call ptr @fn_emit_expr(ptr %t67)
store ptr %t68, ptr %t69
%t70 = load ptr, ptr %t10
%t71 = getelementptr inbounds %Cmp_Val, ptr %t70, i32 0, i32 0
%t72 = load ptr, ptr %t71
%t73 = call ptr @fn_str_concat(ptr @.str3178, ptr %t72)
%t74 = call ptr @fn_str_concat(ptr %t73, ptr @.str3179)
%t75 = load ptr, ptr %t69
%t76 = getelementptr inbounds %Cmp_Val, ptr %t75, i32 0, i32 0
%t77 = load ptr, ptr %t76
%t78 = call ptr @fn_str_concat(ptr %t74, ptr %t77)
%t79 = call ptr @fn_str_concat(ptr %t78, ptr @.str3180)
%t80 = call ptr @fn_emit_bind(ptr %t79)
%t81 = call ptr @fn_val(ptr %t80, ptr @.str3181)
store ptr %t81, ptr %retval
br label %ret
ret:
%t82 = load ptr, ptr %retval
ret ptr %t82
}
define ptr @fn_emit_mime_ns(ptr %arg_meth, ptr %arg_e) {
entry:
%retval = alloca ptr
%t0 = alloca ptr
%t1 = alloca ptr
%t10 = alloca ptr
store ptr %arg_meth, ptr %t0
store ptr %arg_e, ptr %t1
store i32 1, ptr @g_g_uses_fsrt
%t2 = load ptr, ptr %t1
%t3 = getelementptr inbounds %Cmp_Node, ptr %t2, i32 0, i32 7
%t4 = load ptr, ptr %t3
%t5 = getelementptr inbounds %LSlice, ptr %t4, i32 0, i32 0
%t6 = load ptr, ptr %t5
%t7 = getelementptr inbounds ptr, ptr %t6, i32 0
%t8 = load ptr, ptr %t7
%t9 = call ptr @fn_emit_expr(ptr %t8)
store ptr %t9, ptr %t10
%t11 = load ptr, ptr %t0
%t12 = call i32 @fn_str_eq(ptr %t11, ptr @.str3182)
%t13 = icmp ne i32 %t12, 0
br i1 %t13, label %then0, label %ifend2
then0:
%t14 = load ptr, ptr %t10
%t15 = getelementptr inbounds %Cmp_Val, ptr %t14, i32 0, i32 0
%t16 = load ptr, ptr %t15
%t17 = call ptr @fn_str_concat(ptr @.str3183, ptr %t16)
%t18 = call ptr @fn_str_concat(ptr %t17, ptr @.str3184)
%t19 = call ptr @fn_emit_bind(ptr %t18)
%t20 = call ptr @fn_val(ptr %t19, ptr @.str3185)
store ptr %t20, ptr %retval
br label %ret
ifend2:
%t21 = load ptr, ptr %t10
%t22 = getelementptr inbounds %Cmp_Val, ptr %t21, i32 0, i32 0
%t23 = load ptr, ptr %t22
%t24 = call ptr @fn_str_concat(ptr @.str3186, ptr %t23)
%t25 = call ptr @fn_str_concat(ptr %t24, ptr @.str3187)
%t26 = call ptr @fn_emit_bind(ptr %t25)
%t27 = call ptr @fn_val(ptr %t26, ptr @.str3188)
store ptr %t27, ptr %retval
br label %ret
ret:
%t28 = load ptr, ptr %retval
ret ptr %t28
}
define void @fn_emit_fs_prelude() {
entry:
call void @fn_emith(ptr @.str3189)
call void @fn_emith(ptr @.str3190)
call void @fn_emith(ptr @.str3191)
call void @fn_emith(ptr @.str3192)
call void @fn_emith(ptr @.str3193)
call void @fn_emith(ptr @.str3194)
call void @fn_emith(ptr @.str3195)
call void @fn_emith(ptr @.str3196)
call void @fn_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 @.str3197)
call void @fn_emith(ptr @.str3198)
call void @fn_emith(ptr @.str3199)
call void @fn_emith(ptr @.str3200)
call void @fn_emith(ptr @.str3201)
call void @fn_emith(ptr @.str3202)
call void @fn_emith(ptr @.str3203)
call void @fn_emith(ptr @.str3204)
call void @fn_emith(ptr @.str3205)
call void @fn_emith(ptr @.str3206)
call void @fn_emith(ptr @.str3207)
call void @fn_emith(ptr @.str3208)
call void @fn_emith(ptr @.str3209)
br label %ret
ret:
ret void
}
define void @fn_emit_fs_path() {
entry:
call void @fn_emith(ptr @.str3210)
call void @fn_emith(ptr @.str3211)
call void @fn_emith(ptr @.str3212)
call void @fn_emith(ptr @.str3213)
call void @fn_emith(ptr @.str3214)
call void @fn_emith(ptr @.str3215)
call void @fn_emith(ptr @.str3216)
call void @fn_emith(ptr @.str3217)
call void @fn_emith(ptr @.str3218)
call void @fn_emith(ptr @.str3219)
call void @fn_emith(ptr @.str3220)
call void @fn_emith(ptr @.str3221)
call void @fn_emith(ptr @.str3222)
call void @fn_emith(ptr @.str3223)
call void @fn_emith(ptr @.str3224)
call void @fn_emith(ptr @.str3225)
call void @fn_emith(ptr @.str3226)
call void @fn_emith(ptr @.str3227)
call void @fn_emith(ptr @.str3228)
call void @fn_emith(ptr @.str3229)
call void @fn_emith(ptr @.str3230)
call void @fn_emith(ptr @.str3231)
call void @fn_emith(ptr @.str3232)
call void @fn_emith(ptr @.str3233)
call void @fn_emith(ptr @.str3234)
call void @fn_emith(ptr @.str3235)
call void @fn_emith(ptr @.str3236)
call void @fn_emith(ptr @.str3237)
call void @fn_emith(ptr @.str3238)
call void @fn_emith(ptr @.str3239)
call void @fn_emith(ptr @.str3240)
call void @fn_emith(ptr @.str3241)
call void @fn_emith(ptr @.str3242)
call void @fn_emith(ptr @.str3243)
call void @fn_emith(ptr @.str3244)
call void @fn_emith(ptr @.str3245)
call void @fn_emith(ptr @.str3246)
call void @fn_emith(ptr @.str3247)
call void @fn_emith(ptr @.str3248)
call void @fn_emith(ptr @.str3249)
call void @fn_emith(ptr @.str3250)
call void @fn_emith(ptr @.str3251)
call void @fn_emit_fs_normalize()
br label %ret
ret:
ret void
}
define void @fn_emit_fs_normalize() {
entry:
call void @fn_emith(ptr @.str3252)
call void @fn_emith(ptr @.str3253)
call void @fn_emith(ptr @.str3254)
call void @fn_emith(ptr @.str3255)
call void @fn_emith(ptr @.str3256)
call void @fn_emith(ptr @.str3257)
call void @fn_emith(ptr @.str3258)
call void @fn_emith(ptr @.str3259)
call void @fn_emith(ptr @.str3260)
call void @fn_emith(ptr @.str3261)
call void @fn_emith(ptr @.str3262)
call void @fn_emith(ptr @.str3263)
call void @fn_emith(ptr @.str3264)
call void @fn_emith(ptr @.str3265)
call void @fn_emith(ptr @.str3266)
call void @fn_emith(ptr @.str3267)
call void @fn_emith(ptr @.str3268)
call void @fn_emith(ptr @.str3269)
call void @fn_emith(ptr @.str3270)
call void @fn_emith(ptr @.str3271)
call void @fn_emith(ptr @.str3272)
call void @fn_emith(ptr @.str3273)
call void @fn_emith(ptr @.str3274)
call void @fn_emith(ptr @.str3275)
call void @fn_emith(ptr @.str3276)
call void @fn_emith(ptr @.str3277)
call void @fn_emith(ptr @.str3278)
call void @fn_emith(ptr @.str3279)
call void @fn_emith(ptr @.str3280)
call void @fn_emith(ptr @.str3281)
call void @fn_emith(ptr @.str3282)
call void @fn_emith(ptr @.str3283)
call void @fn_emith(ptr @.str3284)
call void @fn_emith(ptr @.str3285)
call void @fn_emith(ptr @.str3286)
call void @fn_emith(ptr @.str3287)
call void @fn_emith(ptr @.str3288)
br label %ret
ret:
ret void
}
define void @fn_emit_fs_io() {
entry:
call void @fn_emith(ptr @.str3289)
call void @fn_emith(ptr @.str3290)
call void @fn_emith(ptr @.str3291)
call void @fn_emith(ptr @.str3292)
call void @fn_emith(ptr @.str3293)
call void @fn_emith(ptr @.str3294)
call void @fn_emith(ptr @.str3295)
call void @fn_emith(ptr @.str3296)
call void @fn_emith(ptr @.str3297)
call void @fn_emith(ptr @.str3298)
call void @fn_emith(ptr @.str3299)
call void @fn_emith(ptr @.str3300)
call void @fn_emith(ptr @.str3301)
call void @fn_emith(ptr @.str3302)
call void @fn_emith(ptr @.str3303)
call void @fn_emith(ptr @.str3304)
call void @fn_emith(ptr @.str3305)
call void @fn_emith(ptr @.str3306)
call void @fn_emith(ptr @.str3307)
call void @fn_emith(ptr @.str3308)
call void @fn_emith(ptr @.str3309)
call void @fn_emith(ptr @.str3310)
call void @fn_emith(ptr @.str3311)
call void @fn_emith(ptr @.str3312)
call void @fn_emith(ptr @.str3313)
call void @fn_emith(ptr @.str3314)
call void @fn_emith(ptr @.str3315)
call void @fn_emith(ptr @.str3316)
call void @fn_emith(ptr @.str3317)
call void @fn_emith(ptr @.str3318)
call void @fn_emith(ptr @.str3319)
call void @fn_emith(ptr @.str3320)
call void @fn_emith(ptr @.str3321)
call void @fn_emith(ptr @.str3322)
call void @fn_emith(ptr @.str3323)
call void @fn_emith(ptr @.str3324)
call void @fn_emith(ptr @.str3325)
call void @fn_emith(ptr @.str3326)
call void @fn_emith(ptr @.str3327)
call void @fn_emith(ptr @.str3328)
call void @fn_emith(ptr @.str3329)
call void @fn_emith(ptr @.str3330)
call void @fn_emith(ptr @.str3331)
call void @fn_emith(ptr @.str3332)
br label %ret
ret:
ret void
}
define void @fn_emit_fs_dir() {
entry:
call void @fn_emith(ptr @.str3333)
call void @fn_emith(ptr @.str3334)
call void @fn_emith(ptr @.str3335)
call void @fn_emith(ptr @.str3336)
call void @fn_emith(ptr @.str3337)
call void @fn_emith(ptr @.str3338)
call void @fn_emith(ptr @.str3339)
call void @fn_emith(ptr @.str3340)
call void @fn_emith(ptr @.str3341)
call void @fn_emith(ptr @.str3342)
call void @fn_emith(ptr @.str3343)
call void @fn_emith(ptr @.str3344)
call void @fn_emith(ptr @.str3345)
call void @fn_emith(ptr @.str3346)
call void @fn_emith(ptr @.str3347)
call void @fn_emith(ptr @.str3348)
call void @fn_emith(ptr @.str3349)
call void @fn_emith(ptr @.str3350)
call void @fn_emith(ptr @.str3351)
call void @fn_emith(ptr @.str3352)
call void @fn_emith(ptr @.str3353)
call void @fn_emith(ptr @.str3354)
call void @fn_emith(ptr @.str3355)
call void @fn_emith(ptr @.str3356)
br label %ret
ret:
ret void
}
define void @fn_emit_fs_mime() {
entry:
%t6 = alloca ptr
%t13 = alloca ptr
%t932 = alloca ptr
%t939 = alloca ptr
%t940 = alloca i32
%t1003 = alloca ptr
%t1007 = alloca i32
%t0 = getelementptr %LSlice, ptr null, i32 1
%t1 = ptrtoint ptr %t0 to i64
%t2 = call ptr @malloc(i64 %t1)
%t3 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 0
store ptr null, ptr %t3
%t4 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 1
store i32 0, ptr %t4
%t5 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 2
store i32 0, ptr %t5
store ptr %t2, ptr %t6
%t7 = getelementptr %LSlice, ptr null, i32 1
%t8 = ptrtoint ptr %t7 to i64
%t9 = call ptr @malloc(i64 %t8)
%t10 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0
store ptr null, ptr %t10
%t11 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 1
store i32 0, ptr %t11
%t12 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 2
store i32 0, ptr %t12
store ptr %t9, ptr %t13
%t14 = load ptr, ptr %t6
%t15 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 1
%t16 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 2
%t17 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 0
%t18 = load i32, ptr %t15
%t19 = load i32, ptr %t16
%t20 = icmp sge i32 %t18, %t19
br i1 %t20, label %grow0, label %put1
grow0:
%t21 = mul i32 %t19, 2
%t22 = icmp eq i32 %t19, 0
%t23 = select i1 %t22, i32 8, i32 %t21
%t24 = getelementptr ptr, ptr null, i32 1
%t25 = ptrtoint ptr %t24 to i64
%t26 = zext i32 %t23 to i64
%t27 = mul i64 %t26, %t25
%t28 = load ptr, ptr %t17
%t29 = call ptr @realloc(ptr %t28, i64 %t27)
store ptr %t29, ptr %t17
store i32 %t23, ptr %t16
br label %put1
put1:
%t30 = load ptr, ptr %t17
%t31 = getelementptr inbounds ptr, ptr %t30, i32 %t18
store ptr @.str3357, ptr %t31
%t32 = add i32 %t18, 1
store i32 %t32, ptr %t15
%t33 = load ptr, ptr %t13
%t34 = getelementptr inbounds %LSlice, ptr %t33, i32 0, i32 1
%t35 = getelementptr inbounds %LSlice, ptr %t33, i32 0, i32 2
%t36 = getelementptr inbounds %LSlice, ptr %t33, i32 0, i32 0
%t37 = load i32, ptr %t34
%t38 = load i32, ptr %t35
%t39 = icmp sge i32 %t37, %t38
br i1 %t39, label %grow2, label %put3
grow2:
%t40 = mul i32 %t38, 2
%t41 = icmp eq i32 %t38, 0
%t42 = select i1 %t41, i32 8, i32 %t40
%t43 = getelementptr ptr, ptr null, i32 1
%t44 = ptrtoint ptr %t43 to i64
%t45 = zext i32 %t42 to i64
%t46 = mul i64 %t45, %t44
%t47 = load ptr, ptr %t36
%t48 = call ptr @realloc(ptr %t47, i64 %t46)
store ptr %t48, ptr %t36
store i32 %t42, ptr %t35
br label %put3
put3:
%t49 = load ptr, ptr %t36
%t50 = getelementptr inbounds ptr, ptr %t49, i32 %t37
store ptr @.str3358, ptr %t50
%t51 = add i32 %t37, 1
store i32 %t51, ptr %t34
%t52 = load ptr, ptr %t6
%t53 = getelementptr inbounds %LSlice, ptr %t52, i32 0, i32 1
%t54 = getelementptr inbounds %LSlice, ptr %t52, i32 0, i32 2
%t55 = getelementptr inbounds %LSlice, ptr %t52, i32 0, i32 0
%t56 = load i32, ptr %t53
%t57 = load i32, ptr %t54
%t58 = icmp sge i32 %t56, %t57
br i1 %t58, label %grow4, label %put5
grow4:
%t59 = mul i32 %t57, 2
%t60 = icmp eq i32 %t57, 0
%t61 = select i1 %t60, i32 8, i32 %t59
%t62 = getelementptr ptr, ptr null, i32 1
%t63 = ptrtoint ptr %t62 to i64
%t64 = zext i32 %t61 to i64
%t65 = mul i64 %t64, %t63
%t66 = load ptr, ptr %t55
%t67 = call ptr @realloc(ptr %t66, i64 %t65)
store ptr %t67, ptr %t55
store i32 %t61, ptr %t54
br label %put5
put5:
%t68 = load ptr, ptr %t55
%t69 = getelementptr inbounds ptr, ptr %t68, i32 %t56
store ptr @.str3359, ptr %t69
%t70 = add i32 %t56, 1
store i32 %t70, ptr %t53
%t71 = load ptr, ptr %t13
%t72 = getelementptr inbounds %LSlice, ptr %t71, i32 0, i32 1
%t73 = getelementptr inbounds %LSlice, ptr %t71, i32 0, i32 2
%t74 = getelementptr inbounds %LSlice, ptr %t71, i32 0, i32 0
%t75 = load i32, ptr %t72
%t76 = load i32, ptr %t73
%t77 = icmp sge i32 %t75, %t76
br i1 %t77, label %grow6, label %put7
grow6:
%t78 = mul i32 %t76, 2
%t79 = icmp eq i32 %t76, 0
%t80 = select i1 %t79, i32 8, i32 %t78
%t81 = getelementptr ptr, ptr null, i32 1
%t82 = ptrtoint ptr %t81 to i64
%t83 = zext i32 %t80 to i64
%t84 = mul i64 %t83, %t82
%t85 = load ptr, ptr %t74
%t86 = call ptr @realloc(ptr %t85, i64 %t84)
store ptr %t86, ptr %t74
store i32 %t80, ptr %t73
br label %put7
put7:
%t87 = load ptr, ptr %t74
%t88 = getelementptr inbounds ptr, ptr %t87, i32 %t75
store ptr @.str3360, ptr %t88
%t89 = add i32 %t75, 1
store i32 %t89, ptr %t72
%t90 = load ptr, ptr %t6
%t91 = getelementptr inbounds %LSlice, ptr %t90, i32 0, i32 1
%t92 = getelementptr inbounds %LSlice, ptr %t90, i32 0, i32 2
%t93 = getelementptr inbounds %LSlice, ptr %t90, i32 0, i32 0
%t94 = load i32, ptr %t91
%t95 = load i32, ptr %t92
%t96 = icmp sge i32 %t94, %t95
br i1 %t96, label %grow8, label %put9
grow8:
%t97 = mul i32 %t95, 2
%t98 = icmp eq i32 %t95, 0
%t99 = select i1 %t98, i32 8, i32 %t97
%t100 = getelementptr ptr, ptr null, i32 1
%t101 = ptrtoint ptr %t100 to i64
%t102 = zext i32 %t99 to i64
%t103 = mul i64 %t102, %t101
%t104 = load ptr, ptr %t93
%t105 = call ptr @realloc(ptr %t104, i64 %t103)
store ptr %t105, ptr %t93
store i32 %t99, ptr %t92
br label %put9
put9:
%t106 = load ptr, ptr %t93
%t107 = getelementptr inbounds ptr, ptr %t106, i32 %t94
store ptr @.str3361, ptr %t107
%t108 = add i32 %t94, 1
store i32 %t108, ptr %t91
%t109 = load ptr, ptr %t13
%t110 = getelementptr inbounds %LSlice, ptr %t109, i32 0, i32 1
%t111 = getelementptr inbounds %LSlice, ptr %t109, i32 0, i32 2
%t112 = getelementptr inbounds %LSlice, ptr %t109, i32 0, i32 0
%t113 = load i32, ptr %t110
%t114 = load i32, ptr %t111
%t115 = icmp sge i32 %t113, %t114
br i1 %t115, label %grow10, label %put11
grow10:
%t116 = mul i32 %t114, 2
%t117 = icmp eq i32 %t114, 0
%t118 = select i1 %t117, i32 8, i32 %t116
%t119 = getelementptr ptr, ptr null, i32 1
%t120 = ptrtoint ptr %t119 to i64
%t121 = zext i32 %t118 to i64
%t122 = mul i64 %t121, %t120
%t123 = load ptr, ptr %t112
%t124 = call ptr @realloc(ptr %t123, i64 %t122)
store ptr %t124, ptr %t112
store i32 %t118, ptr %t111
br label %put11
put11:
%t125 = load ptr, ptr %t112
%t126 = getelementptr inbounds ptr, ptr %t125, i32 %t113
store ptr @.str3362, ptr %t126
%t127 = add i32 %t113, 1
store i32 %t127, ptr %t110
%t128 = load ptr, ptr %t6
%t129 = getelementptr inbounds %LSlice, ptr %t128, i32 0, i32 1
%t130 = getelementptr inbounds %LSlice, ptr %t128, i32 0, i32 2
%t131 = getelementptr inbounds %LSlice, ptr %t128, i32 0, i32 0
%t132 = load i32, ptr %t129
%t133 = load i32, ptr %t130
%t134 = icmp sge i32 %t132, %t133
br i1 %t134, label %grow12, label %put13
grow12:
%t135 = mul i32 %t133, 2
%t136 = icmp eq i32 %t133, 0
%t137 = select i1 %t136, i32 8, i32 %t135
%t138 = getelementptr ptr, ptr null, i32 1
%t139 = ptrtoint ptr %t138 to i64
%t140 = zext i32 %t137 to i64
%t141 = mul i64 %t140, %t139
%t142 = load ptr, ptr %t131
%t143 = call ptr @realloc(ptr %t142, i64 %t141)
store ptr %t143, ptr %t131
store i32 %t137, ptr %t130
br label %put13
put13:
%t144 = load ptr, ptr %t131
%t145 = getelementptr inbounds ptr, ptr %t144, i32 %t132
store ptr @.str3363, ptr %t145
%t146 = add i32 %t132, 1
store i32 %t146, ptr %t129
%t147 = load ptr, ptr %t13
%t148 = getelementptr inbounds %LSlice, ptr %t147, i32 0, i32 1
%t149 = getelementptr inbounds %LSlice, ptr %t147, i32 0, i32 2
%t150 = getelementptr inbounds %LSlice, ptr %t147, i32 0, i32 0
%t151 = load i32, ptr %t148
%t152 = load i32, ptr %t149
%t153 = icmp sge i32 %t151, %t152
br i1 %t153, label %grow14, label %put15
grow14:
%t154 = mul i32 %t152, 2
%t155 = icmp eq i32 %t152, 0
%t156 = select i1 %t155, i32 8, i32 %t154
%t157 = getelementptr ptr, ptr null, i32 1
%t158 = ptrtoint ptr %t157 to i64
%t159 = zext i32 %t156 to i64
%t160 = mul i64 %t159, %t158
%t161 = load ptr, ptr %t150
%t162 = call ptr @realloc(ptr %t161, i64 %t160)
store ptr %t162, ptr %t150
store i32 %t156, ptr %t149
br label %put15
put15:
%t163 = load ptr, ptr %t150
%t164 = getelementptr inbounds ptr, ptr %t163, i32 %t151
store ptr @.str3364, ptr %t164
%t165 = add i32 %t151, 1
store i32 %t165, ptr %t148
%t166 = load ptr, ptr %t6
%t167 = getelementptr inbounds %LSlice, ptr %t166, i32 0, i32 1
%t168 = getelementptr inbounds %LSlice, ptr %t166, i32 0, i32 2
%t169 = getelementptr inbounds %LSlice, ptr %t166, i32 0, i32 0
%t170 = load i32, ptr %t167
%t171 = load i32, ptr %t168
%t172 = icmp sge i32 %t170, %t171
br i1 %t172, label %grow16, label %put17
grow16:
%t173 = mul i32 %t171, 2
%t174 = icmp eq i32 %t171, 0
%t175 = select i1 %t174, i32 8, i32 %t173
%t176 = getelementptr ptr, ptr null, i32 1
%t177 = ptrtoint ptr %t176 to i64
%t178 = zext i32 %t175 to i64
%t179 = mul i64 %t178, %t177
%t180 = load ptr, ptr %t169
%t181 = call ptr @realloc(ptr %t180, i64 %t179)
store ptr %t181, ptr %t169
store i32 %t175, ptr %t168
br label %put17
put17:
%t182 = load ptr, ptr %t169
%t183 = getelementptr inbounds ptr, ptr %t182, i32 %t170
store ptr @.str3365, ptr %t183
%t184 = add i32 %t170, 1
store i32 %t184, ptr %t167
%t185 = load ptr, ptr %t13
%t186 = getelementptr inbounds %LSlice, ptr %t185, i32 0, i32 1
%t187 = getelementptr inbounds %LSlice, ptr %t185, i32 0, i32 2
%t188 = getelementptr inbounds %LSlice, ptr %t185, i32 0, i32 0
%t189 = load i32, ptr %t186
%t190 = load i32, ptr %t187
%t191 = icmp sge i32 %t189, %t190
br i1 %t191, label %grow18, label %put19
grow18:
%t192 = mul i32 %t190, 2
%t193 = icmp eq i32 %t190, 0
%t194 = select i1 %t193, i32 8, i32 %t192
%t195 = getelementptr ptr, ptr null, i32 1
%t196 = ptrtoint ptr %t195 to i64
%t197 = zext i32 %t194 to i64
%t198 = mul i64 %t197, %t196
%t199 = load ptr, ptr %t188
%t200 = call ptr @realloc(ptr %t199, i64 %t198)
store ptr %t200, ptr %t188
store i32 %t194, ptr %t187
br label %put19
put19:
%t201 = load ptr, ptr %t188
%t202 = getelementptr inbounds ptr, ptr %t201, i32 %t189
store ptr @.str3366, ptr %t202
%t203 = add i32 %t189, 1
store i32 %t203, ptr %t186
%t204 = load ptr, ptr %t6
%t205 = getelementptr inbounds %LSlice, ptr %t204, i32 0, i32 1
%t206 = getelementptr inbounds %LSlice, ptr %t204, i32 0, i32 2
%t207 = getelementptr inbounds %LSlice, ptr %t204, i32 0, i32 0
%t208 = load i32, ptr %t205
%t209 = load i32, ptr %t206
%t210 = icmp sge i32 %t208, %t209
br i1 %t210, label %grow20, label %put21
grow20:
%t211 = mul i32 %t209, 2
%t212 = icmp eq i32 %t209, 0
%t213 = select i1 %t212, i32 8, i32 %t211
%t214 = getelementptr ptr, ptr null, i32 1
%t215 = ptrtoint ptr %t214 to i64
%t216 = zext i32 %t213 to i64
%t217 = mul i64 %t216, %t215
%t218 = load ptr, ptr %t207
%t219 = call ptr @realloc(ptr %t218, i64 %t217)
store ptr %t219, ptr %t207
store i32 %t213, ptr %t206
br label %put21
put21:
%t220 = load ptr, ptr %t207
%t221 = getelementptr inbounds ptr, ptr %t220, i32 %t208
store ptr @.str3367, ptr %t221
%t222 = add i32 %t208, 1
store i32 %t222, ptr %t205
%t223 = load ptr, ptr %t13
%t224 = getelementptr inbounds %LSlice, ptr %t223, i32 0, i32 1
%t225 = getelementptr inbounds %LSlice, ptr %t223, i32 0, i32 2
%t226 = getelementptr inbounds %LSlice, ptr %t223, i32 0, i32 0
%t227 = load i32, ptr %t224
%t228 = load i32, ptr %t225
%t229 = icmp sge i32 %t227, %t228
br i1 %t229, label %grow22, label %put23
grow22:
%t230 = mul i32 %t228, 2
%t231 = icmp eq i32 %t228, 0
%t232 = select i1 %t231, i32 8, i32 %t230
%t233 = getelementptr ptr, ptr null, i32 1
%t234 = ptrtoint ptr %t233 to i64
%t235 = zext i32 %t232 to i64
%t236 = mul i64 %t235, %t234
%t237 = load ptr, ptr %t226
%t238 = call ptr @realloc(ptr %t237, i64 %t236)
store ptr %t238, ptr %t226
store i32 %t232, ptr %t225
br label %put23
put23:
%t239 = load ptr, ptr %t226
%t240 = getelementptr inbounds ptr, ptr %t239, i32 %t227
store ptr @.str3368, ptr %t240
%t241 = add i32 %t227, 1
store i32 %t241, ptr %t224
%t242 = load ptr, ptr %t6
%t243 = getelementptr inbounds %LSlice, ptr %t242, i32 0, i32 1
%t244 = getelementptr inbounds %LSlice, ptr %t242, i32 0, i32 2
%t245 = getelementptr inbounds %LSlice, ptr %t242, i32 0, i32 0
%t246 = load i32, ptr %t243
%t247 = load i32, ptr %t244
%t248 = icmp sge i32 %t246, %t247
br i1 %t248, label %grow24, label %put25
grow24:
%t249 = mul i32 %t247, 2
%t250 = icmp eq i32 %t247, 0
%t251 = select i1 %t250, i32 8, i32 %t249
%t252 = getelementptr ptr, ptr null, i32 1
%t253 = ptrtoint ptr %t252 to i64
%t254 = zext i32 %t251 to i64
%t255 = mul i64 %t254, %t253
%t256 = load ptr, ptr %t245
%t257 = call ptr @realloc(ptr %t256, i64 %t255)
store ptr %t257, ptr %t245
store i32 %t251, ptr %t244
br label %put25
put25:
%t258 = load ptr, ptr %t245
%t259 = getelementptr inbounds ptr, ptr %t258, i32 %t246
store ptr @.str3369, ptr %t259
%t260 = add i32 %t246, 1
store i32 %t260, ptr %t243
%t261 = load ptr, ptr %t13
%t262 = getelementptr inbounds %LSlice, ptr %t261, i32 0, i32 1
%t263 = getelementptr inbounds %LSlice, ptr %t261, i32 0, i32 2
%t264 = getelementptr inbounds %LSlice, ptr %t261, i32 0, i32 0
%t265 = load i32, ptr %t262
%t266 = load i32, ptr %t263
%t267 = icmp sge i32 %t265, %t266
br i1 %t267, label %grow26, label %put27
grow26:
%t268 = mul i32 %t266, 2
%t269 = icmp eq i32 %t266, 0
%t270 = select i1 %t269, i32 8, i32 %t268
%t271 = getelementptr ptr, ptr null, i32 1
%t272 = ptrtoint ptr %t271 to i64
%t273 = zext i32 %t270 to i64
%t274 = mul i64 %t273, %t272
%t275 = load ptr, ptr %t264
%t276 = call ptr @realloc(ptr %t275, i64 %t274)
store ptr %t276, ptr %t264
store i32 %t270, ptr %t263
br label %put27
put27:
%t277 = load ptr, ptr %t264
%t278 = getelementptr inbounds ptr, ptr %t277, i32 %t265
store ptr @.str3370, ptr %t278
%t279 = add i32 %t265, 1
store i32 %t279, ptr %t262
%t280 = load ptr, ptr %t6
%t281 = getelementptr inbounds %LSlice, ptr %t280, i32 0, i32 1
%t282 = getelementptr inbounds %LSlice, ptr %t280, i32 0, i32 2
%t283 = getelementptr inbounds %LSlice, ptr %t280, i32 0, i32 0
%t284 = load i32, ptr %t281
%t285 = load i32, ptr %t282
%t286 = icmp sge i32 %t284, %t285
br i1 %t286, label %grow28, label %put29
grow28:
%t287 = mul i32 %t285, 2
%t288 = icmp eq i32 %t285, 0
%t289 = select i1 %t288, i32 8, i32 %t287
%t290 = getelementptr ptr, ptr null, i32 1
%t291 = ptrtoint ptr %t290 to i64
%t292 = zext i32 %t289 to i64
%t293 = mul i64 %t292, %t291
%t294 = load ptr, ptr %t283
%t295 = call ptr @realloc(ptr %t294, i64 %t293)
store ptr %t295, ptr %t283
store i32 %t289, ptr %t282
br label %put29
put29:
%t296 = load ptr, ptr %t283
%t297 = getelementptr inbounds ptr, ptr %t296, i32 %t284
store ptr @.str3371, ptr %t297
%t298 = add i32 %t284, 1
store i32 %t298, ptr %t281
%t299 = load ptr, ptr %t13
%t300 = getelementptr inbounds %LSlice, ptr %t299, i32 0, i32 1
%t301 = getelementptr inbounds %LSlice, ptr %t299, i32 0, i32 2
%t302 = getelementptr inbounds %LSlice, ptr %t299, i32 0, i32 0
%t303 = load i32, ptr %t300
%t304 = load i32, ptr %t301
%t305 = icmp sge i32 %t303, %t304
br i1 %t305, label %grow30, label %put31
grow30:
%t306 = mul i32 %t304, 2
%t307 = icmp eq i32 %t304, 0
%t308 = select i1 %t307, i32 8, i32 %t306
%t309 = getelementptr ptr, ptr null, i32 1
%t310 = ptrtoint ptr %t309 to i64
%t311 = zext i32 %t308 to i64
%t312 = mul i64 %t311, %t310
%t313 = load ptr, ptr %t302
%t314 = call ptr @realloc(ptr %t313, i64 %t312)
store ptr %t314, ptr %t302
store i32 %t308, ptr %t301
br label %put31
put31:
%t315 = load ptr, ptr %t302
%t316 = getelementptr inbounds ptr, ptr %t315, i32 %t303
store ptr @.str3372, ptr %t316
%t317 = add i32 %t303, 1
store i32 %t317, ptr %t300
%t318 = load ptr, ptr %t6
%t319 = getelementptr inbounds %LSlice, ptr %t318, i32 0, i32 1
%t320 = getelementptr inbounds %LSlice, ptr %t318, i32 0, i32 2
%t321 = getelementptr inbounds %LSlice, ptr %t318, i32 0, i32 0
%t322 = load i32, ptr %t319
%t323 = load i32, ptr %t320
%t324 = icmp sge i32 %t322, %t323
br i1 %t324, label %grow32, label %put33
grow32:
%t325 = mul i32 %t323, 2
%t326 = icmp eq i32 %t323, 0
%t327 = select i1 %t326, i32 8, i32 %t325
%t328 = getelementptr ptr, ptr null, i32 1
%t329 = ptrtoint ptr %t328 to i64
%t330 = zext i32 %t327 to i64
%t331 = mul i64 %t330, %t329
%t332 = load ptr, ptr %t321
%t333 = call ptr @realloc(ptr %t332, i64 %t331)
store ptr %t333, ptr %t321
store i32 %t327, ptr %t320
br label %put33
put33:
%t334 = load ptr, ptr %t321
%t335 = getelementptr inbounds ptr, ptr %t334, i32 %t322
store ptr @.str3373, ptr %t335
%t336 = add i32 %t322, 1
store i32 %t336, ptr %t319
%t337 = load ptr, ptr %t13
%t338 = getelementptr inbounds %LSlice, ptr %t337, i32 0, i32 1
%t339 = getelementptr inbounds %LSlice, ptr %t337, i32 0, i32 2
%t340 = getelementptr inbounds %LSlice, ptr %t337, i32 0, i32 0
%t341 = load i32, ptr %t338
%t342 = load i32, ptr %t339
%t343 = icmp sge i32 %t341, %t342
br i1 %t343, label %grow34, label %put35
grow34:
%t344 = mul i32 %t342, 2
%t345 = icmp eq i32 %t342, 0
%t346 = select i1 %t345, i32 8, i32 %t344
%t347 = getelementptr ptr, ptr null, i32 1
%t348 = ptrtoint ptr %t347 to i64
%t349 = zext i32 %t346 to i64
%t350 = mul i64 %t349, %t348
%t351 = load ptr, ptr %t340
%t352 = call ptr @realloc(ptr %t351, i64 %t350)
store ptr %t352, ptr %t340
store i32 %t346, ptr %t339
br label %put35
put35:
%t353 = load ptr, ptr %t340
%t354 = getelementptr inbounds ptr, ptr %t353, i32 %t341
store ptr @.str3374, ptr %t354
%t355 = add i32 %t341, 1
store i32 %t355, ptr %t338
%t356 = load ptr, ptr %t6
%t357 = getelementptr inbounds %LSlice, ptr %t356, i32 0, i32 1
%t358 = getelementptr inbounds %LSlice, ptr %t356, i32 0, i32 2
%t359 = getelementptr inbounds %LSlice, ptr %t356, i32 0, i32 0
%t360 = load i32, ptr %t357
%t361 = load i32, ptr %t358
%t362 = icmp sge i32 %t360, %t361
br i1 %t362, label %grow36, label %put37
grow36:
%t363 = mul i32 %t361, 2
%t364 = icmp eq i32 %t361, 0
%t365 = select i1 %t364, i32 8, i32 %t363
%t366 = getelementptr ptr, ptr null, i32 1
%t367 = ptrtoint ptr %t366 to i64
%t368 = zext i32 %t365 to i64
%t369 = mul i64 %t368, %t367
%t370 = load ptr, ptr %t359
%t371 = call ptr @realloc(ptr %t370, i64 %t369)
store ptr %t371, ptr %t359
store i32 %t365, ptr %t358
br label %put37
put37:
%t372 = load ptr, ptr %t359
%t373 = getelementptr inbounds ptr, ptr %t372, i32 %t360
store ptr @.str3375, ptr %t373
%t374 = add i32 %t360, 1
store i32 %t374, ptr %t357
%t375 = load ptr, ptr %t13
%t376 = getelementptr inbounds %LSlice, ptr %t375, i32 0, i32 1
%t377 = getelementptr inbounds %LSlice, ptr %t375, i32 0, i32 2
%t378 = getelementptr inbounds %LSlice, ptr %t375, i32 0, i32 0
%t379 = load i32, ptr %t376
%t380 = load i32, ptr %t377
%t381 = icmp sge i32 %t379, %t380
br i1 %t381, label %grow38, label %put39
grow38:
%t382 = mul i32 %t380, 2
%t383 = icmp eq i32 %t380, 0
%t384 = select i1 %t383, i32 8, i32 %t382
%t385 = getelementptr ptr, ptr null, i32 1
%t386 = ptrtoint ptr %t385 to i64
%t387 = zext i32 %t384 to i64
%t388 = mul i64 %t387, %t386
%t389 = load ptr, ptr %t378
%t390 = call ptr @realloc(ptr %t389, i64 %t388)
store ptr %t390, ptr %t378
store i32 %t384, ptr %t377
br label %put39
put39:
%t391 = load ptr, ptr %t378
%t392 = getelementptr inbounds ptr, ptr %t391, i32 %t379
store ptr @.str3376, ptr %t392
%t393 = add i32 %t379, 1
store i32 %t393, ptr %t376
%t394 = load ptr, ptr %t6
%t395 = getelementptr inbounds %LSlice, ptr %t394, i32 0, i32 1
%t396 = getelementptr inbounds %LSlice, ptr %t394, i32 0, i32 2
%t397 = getelementptr inbounds %LSlice, ptr %t394, i32 0, i32 0
%t398 = load i32, ptr %t395
%t399 = load i32, ptr %t396
%t400 = icmp sge i32 %t398, %t399
br i1 %t400, label %grow40, label %put41
grow40:
%t401 = mul i32 %t399, 2
%t402 = icmp eq i32 %t399, 0
%t403 = select i1 %t402, i32 8, i32 %t401
%t404 = getelementptr ptr, ptr null, i32 1
%t405 = ptrtoint ptr %t404 to i64
%t406 = zext i32 %t403 to i64
%t407 = mul i64 %t406, %t405
%t408 = load ptr, ptr %t397
%t409 = call ptr @realloc(ptr %t408, i64 %t407)
store ptr %t409, ptr %t397
store i32 %t403, ptr %t396
br label %put41
put41:
%t410 = load ptr, ptr %t397
%t411 = getelementptr inbounds ptr, ptr %t410, i32 %t398
store ptr @.str3377, ptr %t411
%t412 = add i32 %t398, 1
store i32 %t412, ptr %t395
%t413 = load ptr, ptr %t13
%t414 = getelementptr inbounds %LSlice, ptr %t413, i32 0, i32 1
%t415 = getelementptr inbounds %LSlice, ptr %t413, i32 0, i32 2
%t416 = getelementptr inbounds %LSlice, ptr %t413, i32 0, i32 0
%t417 = load i32, ptr %t414
%t418 = load i32, ptr %t415
%t419 = icmp sge i32 %t417, %t418
br i1 %t419, label %grow42, label %put43
grow42:
%t420 = mul i32 %t418, 2
%t421 = icmp eq i32 %t418, 0
%t422 = select i1 %t421, i32 8, i32 %t420
%t423 = getelementptr ptr, ptr null, i32 1
%t424 = ptrtoint ptr %t423 to i64
%t425 = zext i32 %t422 to i64
%t426 = mul i64 %t425, %t424
%t427 = load ptr, ptr %t416
%t428 = call ptr @realloc(ptr %t427, i64 %t426)
store ptr %t428, ptr %t416
store i32 %t422, ptr %t415
br label %put43
put43:
%t429 = load ptr, ptr %t416
%t430 = getelementptr inbounds ptr, ptr %t429, i32 %t417
store ptr @.str3378, ptr %t430
%t431 = add i32 %t417, 1
store i32 %t431, ptr %t414
%t432 = load ptr, ptr %t6
%t433 = getelementptr inbounds %LSlice, ptr %t432, i32 0, i32 1
%t434 = getelementptr inbounds %LSlice, ptr %t432, i32 0, i32 2
%t435 = getelementptr inbounds %LSlice, ptr %t432, i32 0, i32 0
%t436 = load i32, ptr %t433
%t437 = load i32, ptr %t434
%t438 = icmp sge i32 %t436, %t437
br i1 %t438, label %grow44, label %put45
grow44:
%t439 = mul i32 %t437, 2
%t440 = icmp eq i32 %t437, 0
%t441 = select i1 %t440, i32 8, i32 %t439
%t442 = getelementptr ptr, ptr null, i32 1
%t443 = ptrtoint ptr %t442 to i64
%t444 = zext i32 %t441 to i64
%t445 = mul i64 %t444, %t443
%t446 = load ptr, ptr %t435
%t447 = call ptr @realloc(ptr %t446, i64 %t445)
store ptr %t447, ptr %t435
store i32 %t441, ptr %t434
br label %put45
put45:
%t448 = load ptr, ptr %t435
%t449 = getelementptr inbounds ptr, ptr %t448, i32 %t436
store ptr @.str3379, ptr %t449
%t450 = add i32 %t436, 1
store i32 %t450, ptr %t433
%t451 = load ptr, ptr %t13
%t452 = getelementptr inbounds %LSlice, ptr %t451, i32 0, i32 1
%t453 = getelementptr inbounds %LSlice, ptr %t451, i32 0, i32 2
%t454 = getelementptr inbounds %LSlice, ptr %t451, i32 0, i32 0
%t455 = load i32, ptr %t452
%t456 = load i32, ptr %t453
%t457 = icmp sge i32 %t455, %t456
br i1 %t457, label %grow46, label %put47
grow46:
%t458 = mul i32 %t456, 2
%t459 = icmp eq i32 %t456, 0
%t460 = select i1 %t459, i32 8, i32 %t458
%t461 = getelementptr ptr, ptr null, i32 1
%t462 = ptrtoint ptr %t461 to i64
%t463 = zext i32 %t460 to i64
%t464 = mul i64 %t463, %t462
%t465 = load ptr, ptr %t454
%t466 = call ptr @realloc(ptr %t465, i64 %t464)
store ptr %t466, ptr %t454
store i32 %t460, ptr %t453
br label %put47
put47:
%t467 = load ptr, ptr %t454
%t468 = getelementptr inbounds ptr, ptr %t467, i32 %t455
store ptr @.str3380, ptr %t468
%t469 = add i32 %t455, 1
store i32 %t469, ptr %t452
%t470 = load ptr, ptr %t6
%t471 = getelementptr inbounds %LSlice, ptr %t470, i32 0, i32 1
%t472 = getelementptr inbounds %LSlice, ptr %t470, i32 0, i32 2
%t473 = getelementptr inbounds %LSlice, ptr %t470, i32 0, i32 0
%t474 = load i32, ptr %t471
%t475 = load i32, ptr %t472
%t476 = icmp sge i32 %t474, %t475
br i1 %t476, label %grow48, label %put49
grow48:
%t477 = mul i32 %t475, 2
%t478 = icmp eq i32 %t475, 0
%t479 = select i1 %t478, i32 8, i32 %t477
%t480 = getelementptr ptr, ptr null, i32 1
%t481 = ptrtoint ptr %t480 to i64
%t482 = zext i32 %t479 to i64
%t483 = mul i64 %t482, %t481
%t484 = load ptr, ptr %t473
%t485 = call ptr @realloc(ptr %t484, i64 %t483)
store ptr %t485, ptr %t473
store i32 %t479, ptr %t472
br label %put49
put49:
%t486 = load ptr, ptr %t473
%t487 = getelementptr inbounds ptr, ptr %t486, i32 %t474
store ptr @.str3381, ptr %t487
%t488 = add i32 %t474, 1
store i32 %t488, ptr %t471
%t489 = load ptr, ptr %t13
%t490 = getelementptr inbounds %LSlice, ptr %t489, i32 0, i32 1
%t491 = getelementptr inbounds %LSlice, ptr %t489, i32 0, i32 2
%t492 = getelementptr inbounds %LSlice, ptr %t489, i32 0, i32 0
%t493 = load i32, ptr %t490
%t494 = load i32, ptr %t491
%t495 = icmp sge i32 %t493, %t494
br i1 %t495, label %grow50, label %put51
grow50:
%t496 = mul i32 %t494, 2
%t497 = icmp eq i32 %t494, 0
%t498 = select i1 %t497, i32 8, i32 %t496
%t499 = getelementptr ptr, ptr null, i32 1
%t500 = ptrtoint ptr %t499 to i64
%t501 = zext i32 %t498 to i64
%t502 = mul i64 %t501, %t500
%t503 = load ptr, ptr %t492
%t504 = call ptr @realloc(ptr %t503, i64 %t502)
store ptr %t504, ptr %t492
store i32 %t498, ptr %t491
br label %put51
put51:
%t505 = load ptr, ptr %t492
%t506 = getelementptr inbounds ptr, ptr %t505, i32 %t493
store ptr @.str3382, ptr %t506
%t507 = add i32 %t493, 1
store i32 %t507, ptr %t490
%t508 = load ptr, ptr %t6
%t509 = getelementptr inbounds %LSlice, ptr %t508, i32 0, i32 1
%t510 = getelementptr inbounds %LSlice, ptr %t508, i32 0, i32 2
%t511 = getelementptr inbounds %LSlice, ptr %t508, i32 0, i32 0
%t512 = load i32, ptr %t509
%t513 = load i32, ptr %t510
%t514 = icmp sge i32 %t512, %t513
br i1 %t514, label %grow52, label %put53
grow52:
%t515 = mul i32 %t513, 2
%t516 = icmp eq i32 %t513, 0
%t517 = select i1 %t516, i32 8, i32 %t515
%t518 = getelementptr ptr, ptr null, i32 1
%t519 = ptrtoint ptr %t518 to i64
%t520 = zext i32 %t517 to i64
%t521 = mul i64 %t520, %t519
%t522 = load ptr, ptr %t511
%t523 = call ptr @realloc(ptr %t522, i64 %t521)
store ptr %t523, ptr %t511
store i32 %t517, ptr %t510
br label %put53
put53:
%t524 = load ptr, ptr %t511
%t525 = getelementptr inbounds ptr, ptr %t524, i32 %t512
store ptr @.str3383, ptr %t525
%t526 = add i32 %t512, 1
store i32 %t526, ptr %t509
%t527 = load ptr, ptr %t13
%t528 = getelementptr inbounds %LSlice, ptr %t527, i32 0, i32 1
%t529 = getelementptr inbounds %LSlice, ptr %t527, i32 0, i32 2
%t530 = getelementptr inbounds %LSlice, ptr %t527, i32 0, i32 0
%t531 = load i32, ptr %t528
%t532 = load i32, ptr %t529
%t533 = icmp sge i32 %t531, %t532
br i1 %t533, label %grow54, label %put55
grow54:
%t534 = mul i32 %t532, 2
%t535 = icmp eq i32 %t532, 0
%t536 = select i1 %t535, i32 8, i32 %t534
%t537 = getelementptr ptr, ptr null, i32 1
%t538 = ptrtoint ptr %t537 to i64
%t539 = zext i32 %t536 to i64
%t540 = mul i64 %t539, %t538
%t541 = load ptr, ptr %t530
%t542 = call ptr @realloc(ptr %t541, i64 %t540)
store ptr %t542, ptr %t530
store i32 %t536, ptr %t529
br label %put55
put55:
%t543 = load ptr, ptr %t530
%t544 = getelementptr inbounds ptr, ptr %t543, i32 %t531
store ptr @.str3384, ptr %t544
%t545 = add i32 %t531, 1
store i32 %t545, ptr %t528
%t546 = load ptr, ptr %t6
%t547 = getelementptr inbounds %LSlice, ptr %t546, i32 0, i32 1
%t548 = getelementptr inbounds %LSlice, ptr %t546, i32 0, i32 2
%t549 = getelementptr inbounds %LSlice, ptr %t546, i32 0, i32 0
%t550 = load i32, ptr %t547
%t551 = load i32, ptr %t548
%t552 = icmp sge i32 %t550, %t551
br i1 %t552, label %grow56, label %put57
grow56:
%t553 = mul i32 %t551, 2
%t554 = icmp eq i32 %t551, 0
%t555 = select i1 %t554, i32 8, i32 %t553
%t556 = getelementptr ptr, ptr null, i32 1
%t557 = ptrtoint ptr %t556 to i64
%t558 = zext i32 %t555 to i64
%t559 = mul i64 %t558, %t557
%t560 = load ptr, ptr %t549
%t561 = call ptr @realloc(ptr %t560, i64 %t559)
store ptr %t561, ptr %t549
store i32 %t555, ptr %t548
br label %put57
put57:
%t562 = load ptr, ptr %t549
%t563 = getelementptr inbounds ptr, ptr %t562, i32 %t550
store ptr @.str3385, ptr %t563
%t564 = add i32 %t550, 1
store i32 %t564, ptr %t547
%t565 = load ptr, ptr %t13
%t566 = getelementptr inbounds %LSlice, ptr %t565, i32 0, i32 1
%t567 = getelementptr inbounds %LSlice, ptr %t565, i32 0, i32 2
%t568 = getelementptr inbounds %LSlice, ptr %t565, i32 0, i32 0
%t569 = load i32, ptr %t566
%t570 = load i32, ptr %t567
%t571 = icmp sge i32 %t569, %t570
br i1 %t571, label %grow58, label %put59
grow58:
%t572 = mul i32 %t570, 2
%t573 = icmp eq i32 %t570, 0
%t574 = select i1 %t573, i32 8, i32 %t572
%t575 = getelementptr ptr, ptr null, i32 1
%t576 = ptrtoint ptr %t575 to i64
%t577 = zext i32 %t574 to i64
%t578 = mul i64 %t577, %t576
%t579 = load ptr, ptr %t568
%t580 = call ptr @realloc(ptr %t579, i64 %t578)
store ptr %t580, ptr %t568
store i32 %t574, ptr %t567
br label %put59
put59:
%t581 = load ptr, ptr %t568
%t582 = getelementptr inbounds ptr, ptr %t581, i32 %t569
store ptr @.str3386, ptr %t582
%t583 = add i32 %t569, 1
store i32 %t583, ptr %t566
%t584 = load ptr, ptr %t6
%t585 = getelementptr inbounds %LSlice, ptr %t584, i32 0, i32 1
%t586 = getelementptr inbounds %LSlice, ptr %t584, i32 0, i32 2
%t587 = getelementptr inbounds %LSlice, ptr %t584, i32 0, i32 0
%t588 = load i32, ptr %t585
%t589 = load i32, ptr %t586
%t590 = icmp sge i32 %t588, %t589
br i1 %t590, label %grow60, label %put61
grow60:
%t591 = mul i32 %t589, 2
%t592 = icmp eq i32 %t589, 0
%t593 = select i1 %t592, i32 8, i32 %t591
%t594 = getelementptr ptr, ptr null, i32 1
%t595 = ptrtoint ptr %t594 to i64
%t596 = zext i32 %t593 to i64
%t597 = mul i64 %t596, %t595
%t598 = load ptr, ptr %t587
%t599 = call ptr @realloc(ptr %t598, i64 %t597)
store ptr %t599, ptr %t587
store i32 %t593, ptr %t586
br label %put61
put61:
%t600 = load ptr, ptr %t587
%t601 = getelementptr inbounds ptr, ptr %t600, i32 %t588
store ptr @.str3387, ptr %t601
%t602 = add i32 %t588, 1
store i32 %t602, ptr %t585
%t603 = load ptr, ptr %t13
%t604 = getelementptr inbounds %LSlice, ptr %t603, i32 0, i32 1
%t605 = getelementptr inbounds %LSlice, ptr %t603, i32 0, i32 2
%t606 = getelementptr inbounds %LSlice, ptr %t603, i32 0, i32 0
%t607 = load i32, ptr %t604
%t608 = load i32, ptr %t605
%t609 = icmp sge i32 %t607, %t608
br i1 %t609, label %grow62, label %put63
grow62:
%t610 = mul i32 %t608, 2
%t611 = icmp eq i32 %t608, 0
%t612 = select i1 %t611, i32 8, i32 %t610
%t613 = getelementptr ptr, ptr null, i32 1
%t614 = ptrtoint ptr %t613 to i64
%t615 = zext i32 %t612 to i64
%t616 = mul i64 %t615, %t614
%t617 = load ptr, ptr %t606
%t618 = call ptr @realloc(ptr %t617, i64 %t616)
store ptr %t618, ptr %t606
store i32 %t612, ptr %t605
br label %put63
put63:
%t619 = load ptr, ptr %t606
%t620 = getelementptr inbounds ptr, ptr %t619, i32 %t607
store ptr @.str3388, ptr %t620
%t621 = add i32 %t607, 1
store i32 %t621, ptr %t604
%t622 = load ptr, ptr %t6
%t623 = getelementptr inbounds %LSlice, ptr %t622, i32 0, i32 1
%t624 = getelementptr inbounds %LSlice, ptr %t622, i32 0, i32 2
%t625 = getelementptr inbounds %LSlice, ptr %t622, i32 0, i32 0
%t626 = load i32, ptr %t623
%t627 = load i32, ptr %t624
%t628 = icmp sge i32 %t626, %t627
br i1 %t628, label %grow64, label %put65
grow64:
%t629 = mul i32 %t627, 2
%t630 = icmp eq i32 %t627, 0
%t631 = select i1 %t630, i32 8, i32 %t629
%t632 = getelementptr ptr, ptr null, i32 1
%t633 = ptrtoint ptr %t632 to i64
%t634 = zext i32 %t631 to i64
%t635 = mul i64 %t634, %t633
%t636 = load ptr, ptr %t625
%t637 = call ptr @realloc(ptr %t636, i64 %t635)
store ptr %t637, ptr %t625
store i32 %t631, ptr %t624
br label %put65
put65:
%t638 = load ptr, ptr %t625
%t639 = getelementptr inbounds ptr, ptr %t638, i32 %t626
store ptr @.str3389, ptr %t639
%t640 = add i32 %t626, 1
store i32 %t640, ptr %t623
%t641 = load ptr, ptr %t13
%t642 = getelementptr inbounds %LSlice, ptr %t641, i32 0, i32 1
%t643 = getelementptr inbounds %LSlice, ptr %t641, i32 0, i32 2
%t644 = getelementptr inbounds %LSlice, ptr %t641, i32 0, i32 0
%t645 = load i32, ptr %t642
%t646 = load i32, ptr %t643
%t647 = icmp sge i32 %t645, %t646
br i1 %t647, label %grow66, label %put67
grow66:
%t648 = mul i32 %t646, 2
%t649 = icmp eq i32 %t646, 0
%t650 = select i1 %t649, i32 8, i32 %t648
%t651 = getelementptr ptr, ptr null, i32 1
%t652 = ptrtoint ptr %t651 to i64
%t653 = zext i32 %t650 to i64
%t654 = mul i64 %t653, %t652
%t655 = load ptr, ptr %t644
%t656 = call ptr @realloc(ptr %t655, i64 %t654)
store ptr %t656, ptr %t644
store i32 %t650, ptr %t643
br label %put67
put67:
%t657 = load ptr, ptr %t644
%t658 = getelementptr inbounds ptr, ptr %t657, i32 %t645
store ptr @.str3390, ptr %t658
%t659 = add i32 %t645, 1
store i32 %t659, ptr %t642
%t660 = load ptr, ptr %t6
%t661 = getelementptr inbounds %LSlice, ptr %t660, i32 0, i32 1
%t662 = getelementptr inbounds %LSlice, ptr %t660, i32 0, i32 2
%t663 = getelementptr inbounds %LSlice, ptr %t660, i32 0, i32 0
%t664 = load i32, ptr %t661
%t665 = load i32, ptr %t662
%t666 = icmp sge i32 %t664, %t665
br i1 %t666, label %grow68, label %put69
grow68:
%t667 = mul i32 %t665, 2
%t668 = icmp eq i32 %t665, 0
%t669 = select i1 %t668, i32 8, i32 %t667
%t670 = getelementptr ptr, ptr null, i32 1
%t671 = ptrtoint ptr %t670 to i64
%t672 = zext i32 %t669 to i64
%t673 = mul i64 %t672, %t671
%t674 = load ptr, ptr %t663
%t675 = call ptr @realloc(ptr %t674, i64 %t673)
store ptr %t675, ptr %t663
store i32 %t669, ptr %t662
br label %put69
put69:
%t676 = load ptr, ptr %t663
%t677 = getelementptr inbounds ptr, ptr %t676, i32 %t664
store ptr @.str3391, ptr %t677
%t678 = add i32 %t664, 1
store i32 %t678, ptr %t661
%t679 = load ptr, ptr %t13
%t680 = getelementptr inbounds %LSlice, ptr %t679, i32 0, i32 1
%t681 = getelementptr inbounds %LSlice, ptr %t679, i32 0, i32 2
%t682 = getelementptr inbounds %LSlice, ptr %t679, i32 0, i32 0
%t683 = load i32, ptr %t680
%t684 = load i32, ptr %t681
%t685 = icmp sge i32 %t683, %t684
br i1 %t685, label %grow70, label %put71
grow70:
%t686 = mul i32 %t684, 2
%t687 = icmp eq i32 %t684, 0
%t688 = select i1 %t687, i32 8, i32 %t686
%t689 = getelementptr ptr, ptr null, i32 1
%t690 = ptrtoint ptr %t689 to i64
%t691 = zext i32 %t688 to i64
%t692 = mul i64 %t691, %t690
%t693 = load ptr, ptr %t682
%t694 = call ptr @realloc(ptr %t693, i64 %t692)
store ptr %t694, ptr %t682
store i32 %t688, ptr %t681
br label %put71
put71:
%t695 = load ptr, ptr %t682
%t696 = getelementptr inbounds ptr, ptr %t695, i32 %t683
store ptr @.str3392, ptr %t696
%t697 = add i32 %t683, 1
store i32 %t697, ptr %t680
%t698 = load ptr, ptr %t6
%t699 = getelementptr inbounds %LSlice, ptr %t698, i32 0, i32 1
%t700 = getelementptr inbounds %LSlice, ptr %t698, i32 0, i32 2
%t701 = getelementptr inbounds %LSlice, ptr %t698, i32 0, i32 0
%t702 = load i32, ptr %t699
%t703 = load i32, ptr %t700
%t704 = icmp sge i32 %t702, %t703
br i1 %t704, label %grow72, label %put73
grow72:
%t705 = mul i32 %t703, 2
%t706 = icmp eq i32 %t703, 0
%t707 = select i1 %t706, i32 8, i32 %t705
%t708 = getelementptr ptr, ptr null, i32 1
%t709 = ptrtoint ptr %t708 to i64
%t710 = zext i32 %t707 to i64
%t711 = mul i64 %t710, %t709
%t712 = load ptr, ptr %t701
%t713 = call ptr @realloc(ptr %t712, i64 %t711)
store ptr %t713, ptr %t701
store i32 %t707, ptr %t700
br label %put73
put73:
%t714 = load ptr, ptr %t701
%t715 = getelementptr inbounds ptr, ptr %t714, i32 %t702
store ptr @.str3393, ptr %t715
%t716 = add i32 %t702, 1
store i32 %t716, ptr %t699
%t717 = load ptr, ptr %t13
%t718 = getelementptr inbounds %LSlice, ptr %t717, i32 0, i32 1
%t719 = getelementptr inbounds %LSlice, ptr %t717, i32 0, i32 2
%t720 = getelementptr inbounds %LSlice, ptr %t717, i32 0, i32 0
%t721 = load i32, ptr %t718
%t722 = load i32, ptr %t719
%t723 = icmp sge i32 %t721, %t722
br i1 %t723, label %grow74, label %put75
grow74:
%t724 = mul i32 %t722, 2
%t725 = icmp eq i32 %t722, 0
%t726 = select i1 %t725, i32 8, i32 %t724
%t727 = getelementptr ptr, ptr null, i32 1
%t728 = ptrtoint ptr %t727 to i64
%t729 = zext i32 %t726 to i64
%t730 = mul i64 %t729, %t728
%t731 = load ptr, ptr %t720
%t732 = call ptr @realloc(ptr %t731, i64 %t730)
store ptr %t732, ptr %t720
store i32 %t726, ptr %t719
br label %put75
put75:
%t733 = load ptr, ptr %t720
%t734 = getelementptr inbounds ptr, ptr %t733, i32 %t721
store ptr @.str3394, ptr %t734
%t735 = add i32 %t721, 1
store i32 %t735, ptr %t718
%t736 = load ptr, ptr %t6
%t737 = getelementptr inbounds %LSlice, ptr %t736, i32 0, i32 1
%t738 = getelementptr inbounds %LSlice, ptr %t736, i32 0, i32 2
%t739 = getelementptr inbounds %LSlice, ptr %t736, i32 0, i32 0
%t740 = load i32, ptr %t737
%t741 = load i32, ptr %t738
%t742 = icmp sge i32 %t740, %t741
br i1 %t742, label %grow76, label %put77
grow76:
%t743 = mul i32 %t741, 2
%t744 = icmp eq i32 %t741, 0
%t745 = select i1 %t744, i32 8, i32 %t743
%t746 = getelementptr ptr, ptr null, i32 1
%t747 = ptrtoint ptr %t746 to i64
%t748 = zext i32 %t745 to i64
%t749 = mul i64 %t748, %t747
%t750 = load ptr, ptr %t739
%t751 = call ptr @realloc(ptr %t750, i64 %t749)
store ptr %t751, ptr %t739
store i32 %t745, ptr %t738
br label %put77
put77:
%t752 = load ptr, ptr %t739
%t753 = getelementptr inbounds ptr, ptr %t752, i32 %t740
store ptr @.str3395, ptr %t753
%t754 = add i32 %t740, 1
store i32 %t754, ptr %t737
%t755 = load ptr, ptr %t13
%t756 = getelementptr inbounds %LSlice, ptr %t755, i32 0, i32 1
%t757 = getelementptr inbounds %LSlice, ptr %t755, i32 0, i32 2
%t758 = getelementptr inbounds %LSlice, ptr %t755, i32 0, i32 0
%t759 = load i32, ptr %t756
%t760 = load i32, ptr %t757
%t761 = icmp sge i32 %t759, %t760
br i1 %t761, label %grow78, label %put79
grow78:
%t762 = mul i32 %t760, 2
%t763 = icmp eq i32 %t760, 0
%t764 = select i1 %t763, i32 8, i32 %t762
%t765 = getelementptr ptr, ptr null, i32 1
%t766 = ptrtoint ptr %t765 to i64
%t767 = zext i32 %t764 to i64
%t768 = mul i64 %t767, %t766
%t769 = load ptr, ptr %t758
%t770 = call ptr @realloc(ptr %t769, i64 %t768)
store ptr %t770, ptr %t758
store i32 %t764, ptr %t757
br label %put79
put79:
%t771 = load ptr, ptr %t758
%t772 = getelementptr inbounds ptr, ptr %t771, i32 %t759
store ptr @.str3396, ptr %t772
%t773 = add i32 %t759, 1
store i32 %t773, ptr %t756
%t774 = load ptr, ptr %t6
%t775 = getelementptr inbounds %LSlice, ptr %t774, i32 0, i32 1
%t776 = getelementptr inbounds %LSlice, ptr %t774, i32 0, i32 2
%t777 = getelementptr inbounds %LSlice, ptr %t774, i32 0, i32 0
%t778 = load i32, ptr %t775
%t779 = load i32, ptr %t776
%t780 = icmp sge i32 %t778, %t779
br i1 %t780, label %grow80, label %put81
grow80:
%t781 = mul i32 %t779, 2
%t782 = icmp eq i32 %t779, 0
%t783 = select i1 %t782, i32 8, i32 %t781
%t784 = getelementptr ptr, ptr null, i32 1
%t785 = ptrtoint ptr %t784 to i64
%t786 = zext i32 %t783 to i64
%t787 = mul i64 %t786, %t785
%t788 = load ptr, ptr %t777
%t789 = call ptr @realloc(ptr %t788, i64 %t787)
store ptr %t789, ptr %t777
store i32 %t783, ptr %t776
br label %put81
put81:
%t790 = load ptr, ptr %t777
%t791 = getelementptr inbounds ptr, ptr %t790, i32 %t778
store ptr @.str3397, ptr %t791
%t792 = add i32 %t778, 1
store i32 %t792, ptr %t775
%t793 = load ptr, ptr %t13
%t794 = getelementptr inbounds %LSlice, ptr %t793, i32 0, i32 1
%t795 = getelementptr inbounds %LSlice, ptr %t793, i32 0, i32 2
%t796 = getelementptr inbounds %LSlice, ptr %t793, i32 0, i32 0
%t797 = load i32, ptr %t794
%t798 = load i32, ptr %t795
%t799 = icmp sge i32 %t797, %t798
br i1 %t799, label %grow82, label %put83
grow82:
%t800 = mul i32 %t798, 2
%t801 = icmp eq i32 %t798, 0
%t802 = select i1 %t801, i32 8, i32 %t800
%t803 = getelementptr ptr, ptr null, i32 1
%t804 = ptrtoint ptr %t803 to i64
%t805 = zext i32 %t802 to i64
%t806 = mul i64 %t805, %t804
%t807 = load ptr, ptr %t796
%t808 = call ptr @realloc(ptr %t807, i64 %t806)
store ptr %t808, ptr %t796
store i32 %t802, ptr %t795
br label %put83
put83:
%t809 = load ptr, ptr %t796
%t810 = getelementptr inbounds ptr, ptr %t809, i32 %t797
store ptr @.str3398, ptr %t810
%t811 = add i32 %t797, 1
store i32 %t811, ptr %t794
%t812 = load ptr, ptr %t6
%t813 = getelementptr inbounds %LSlice, ptr %t812, i32 0, i32 1
%t814 = getelementptr inbounds %LSlice, ptr %t812, i32 0, i32 2
%t815 = getelementptr inbounds %LSlice, ptr %t812, i32 0, i32 0
%t816 = load i32, ptr %t813
%t817 = load i32, ptr %t814
%t818 = icmp sge i32 %t816, %t817
br i1 %t818, label %grow84, label %put85
grow84:
%t819 = mul i32 %t817, 2
%t820 = icmp eq i32 %t817, 0
%t821 = select i1 %t820, i32 8, i32 %t819
%t822 = getelementptr ptr, ptr null, i32 1
%t823 = ptrtoint ptr %t822 to i64
%t824 = zext i32 %t821 to i64
%t825 = mul i64 %t824, %t823
%t826 = load ptr, ptr %t815
%t827 = call ptr @realloc(ptr %t826, i64 %t825)
store ptr %t827, ptr %t815
store i32 %t821, ptr %t814
br label %put85
put85:
%t828 = load ptr, ptr %t815
%t829 = getelementptr inbounds ptr, ptr %t828, i32 %t816
store ptr @.str3399, ptr %t829
%t830 = add i32 %t816, 1
store i32 %t830, ptr %t813
%t831 = load ptr, ptr %t13
%t832 = getelementptr inbounds %LSlice, ptr %t831, i32 0, i32 1
%t833 = getelementptr inbounds %LSlice, ptr %t831, i32 0, i32 2
%t834 = getelementptr inbounds %LSlice, ptr %t831, i32 0, i32 0
%t835 = load i32, ptr %t832
%t836 = load i32, ptr %t833
%t837 = icmp sge i32 %t835, %t836
br i1 %t837, label %grow86, label %put87
grow86:
%t838 = mul i32 %t836, 2
%t839 = icmp eq i32 %t836, 0
%t840 = select i1 %t839, i32 8, i32 %t838
%t841 = getelementptr ptr, ptr null, i32 1
%t842 = ptrtoint ptr %t841 to i64
%t843 = zext i32 %t840 to i64
%t844 = mul i64 %t843, %t842
%t845 = load ptr, ptr %t834
%t846 = call ptr @realloc(ptr %t845, i64 %t844)
store ptr %t846, ptr %t834
store i32 %t840, ptr %t833
br label %put87
put87:
%t847 = load ptr, ptr %t834
%t848 = getelementptr inbounds ptr, ptr %t847, i32 %t835
store ptr @.str3400, ptr %t848
%t849 = add i32 %t835, 1
store i32 %t849, ptr %t832
%t850 = load ptr, ptr %t6
%t851 = getelementptr inbounds %LSlice, ptr %t850, i32 0, i32 1
%t852 = getelementptr inbounds %LSlice, ptr %t850, i32 0, i32 2
%t853 = getelementptr inbounds %LSlice, ptr %t850, i32 0, i32 0
%t854 = load i32, ptr %t851
%t855 = load i32, ptr %t852
%t856 = icmp sge i32 %t854, %t855
br i1 %t856, label %grow88, label %put89
grow88:
%t857 = mul i32 %t855, 2
%t858 = icmp eq i32 %t855, 0
%t859 = select i1 %t858, i32 8, i32 %t857
%t860 = getelementptr ptr, ptr null, i32 1
%t861 = ptrtoint ptr %t860 to i64
%t862 = zext i32 %t859 to i64
%t863 = mul i64 %t862, %t861
%t864 = load ptr, ptr %t853
%t865 = call ptr @realloc(ptr %t864, i64 %t863)
store ptr %t865, ptr %t853
store i32 %t859, ptr %t852
br label %put89
put89:
%t866 = load ptr, ptr %t853
%t867 = getelementptr inbounds ptr, ptr %t866, i32 %t854
store ptr @.str3401, ptr %t867
%t868 = add i32 %t854, 1
store i32 %t868, ptr %t851
%t869 = load ptr, ptr %t13
%t870 = getelementptr inbounds %LSlice, ptr %t869, i32 0, i32 1
%t871 = getelementptr inbounds %LSlice, ptr %t869, i32 0, i32 2
%t872 = getelementptr inbounds %LSlice, ptr %t869, i32 0, i32 0
%t873 = load i32, ptr %t870
%t874 = load i32, ptr %t871
%t875 = icmp sge i32 %t873, %t874
br i1 %t875, label %grow90, label %put91
grow90:
%t876 = mul i32 %t874, 2
%t877 = icmp eq i32 %t874, 0
%t878 = select i1 %t877, i32 8, i32 %t876
%t879 = getelementptr ptr, ptr null, i32 1
%t880 = ptrtoint ptr %t879 to i64
%t881 = zext i32 %t878 to i64
%t882 = mul i64 %t881, %t880
%t883 = load ptr, ptr %t872
%t884 = call ptr @realloc(ptr %t883, i64 %t882)
store ptr %t884, ptr %t872
store i32 %t878, ptr %t871
br label %put91
put91:
%t885 = load ptr, ptr %t872
%t886 = getelementptr inbounds ptr, ptr %t885, i32 %t873
store ptr @.str3402, ptr %t886
%t887 = add i32 %t873, 1
store i32 %t887, ptr %t870
%t888 = load ptr, ptr %t6
%t889 = getelementptr inbounds %LSlice, ptr %t888, i32 0, i32 1
%t890 = getelementptr inbounds %LSlice, ptr %t888, i32 0, i32 2
%t891 = getelementptr inbounds %LSlice, ptr %t888, i32 0, i32 0
%t892 = load i32, ptr %t889
%t893 = load i32, ptr %t890
%t894 = icmp sge i32 %t892, %t893
br i1 %t894, label %grow92, label %put93
grow92:
%t895 = mul i32 %t893, 2
%t896 = icmp eq i32 %t893, 0
%t897 = select i1 %t896, i32 8, i32 %t895
%t898 = getelementptr ptr, ptr null, i32 1
%t899 = ptrtoint ptr %t898 to i64
%t900 = zext i32 %t897 to i64
%t901 = mul i64 %t900, %t899
%t902 = load ptr, ptr %t891
%t903 = call ptr @realloc(ptr %t902, i64 %t901)
store ptr %t903, ptr %t891
store i32 %t897, ptr %t890
br label %put93
put93:
%t904 = load ptr, ptr %t891
%t905 = getelementptr inbounds ptr, ptr %t904, i32 %t892
store ptr @.str3403, ptr %t905
%t906 = add i32 %t892, 1
store i32 %t906, ptr %t889
%t907 = load ptr, ptr %t13
%t908 = getelementptr inbounds %LSlice, ptr %t907, i32 0, i32 1
%t909 = getelementptr inbounds %LSlice, ptr %t907, i32 0, i32 2
%t910 = getelementptr inbounds %LSlice, ptr %t907, i32 0, i32 0
%t911 = load i32, ptr %t908
%t912 = load i32, ptr %t909
%t913 = icmp sge i32 %t911, %t912
br i1 %t913, label %grow94, label %put95
grow94:
%t914 = mul i32 %t912, 2
%t915 = icmp eq i32 %t912, 0
%t916 = select i1 %t915, i32 8, i32 %t914
%t917 = getelementptr ptr, ptr null, i32 1
%t918 = ptrtoint ptr %t917 to i64
%t919 = zext i32 %t916 to i64
%t920 = mul i64 %t919, %t918
%t921 = load ptr, ptr %t910
%t922 = call ptr @realloc(ptr %t921, i64 %t920)
store ptr %t922, ptr %t910
store i32 %t916, ptr %t909
br label %put95
put95:
%t923 = load ptr, ptr %t910
%t924 = getelementptr inbounds ptr, ptr %t923, i32 %t911
store ptr @.str3404, ptr %t924
%t925 = add i32 %t911, 1
store i32 %t925, ptr %t908
%t926 = getelementptr %LSlice, ptr null, i32 1
%t927 = ptrtoint ptr %t926 to i64
%t928 = call ptr @malloc(i64 %t927)
%t929 = getelementptr inbounds %LSlice, ptr %t928, i32 0, i32 0
store ptr null, ptr %t929
%t930 = getelementptr inbounds %LSlice, ptr %t928, i32 0, i32 1
store i32 0, ptr %t930
%t931 = getelementptr inbounds %LSlice, ptr %t928, i32 0, i32 2
store i32 0, ptr %t931
store ptr %t928, ptr %t932
%t933 = getelementptr %LSlice, ptr null, i32 1
%t934 = ptrtoint ptr %t933 to i64
%t935 = call ptr @malloc(i64 %t934)
%t936 = getelementptr inbounds %LSlice, ptr %t935, i32 0, i32 0
store ptr null, ptr %t936
%t937 = getelementptr inbounds %LSlice, ptr %t935, i32 0, i32 1
store i32 0, ptr %t937
%t938 = getelementptr inbounds %LSlice, ptr %t935, i32 0, i32 2
store i32 0, ptr %t938
store ptr %t935, ptr %t939
store i32 0, ptr %t940
br label %wcond96
wcond96:
%t941 = load i32, ptr %t940
%t942 = load ptr, ptr %t6
%t943 = getelementptr inbounds %LSlice, ptr %t942, i32 0, i32 1
%t944 = load i32, ptr %t943
%t945 = icmp slt i32 %t941, %t944
%t946 = zext i1 %t945 to i32
%t947 = icmp ne i32 %t946, 0
br i1 %t947, label %wbody97, label %wend98
wbody97:
%t948 = load ptr, ptr %t932
%t949 = getelementptr inbounds %LSlice, ptr %t948, i32 0, i32 1
%t950 = getelementptr inbounds %LSlice, ptr %t948, i32 0, i32 2
%t951 = getelementptr inbounds %LSlice, ptr %t948, i32 0, i32 0
%t952 = load i32, ptr %t949
%t953 = load i32, ptr %t950
%t954 = icmp sge i32 %t952, %t953
br i1 %t954, label %grow99, label %put100
grow99:
%t955 = mul i32 %t953, 2
%t956 = icmp eq i32 %t953, 0
%t957 = select i1 %t956, i32 8, i32 %t955
%t958 = getelementptr ptr, ptr null, i32 1
%t959 = ptrtoint ptr %t958 to i64
%t960 = zext i32 %t957 to i64
%t961 = mul i64 %t960, %t959
%t962 = load ptr, ptr %t951
%t963 = call ptr @realloc(ptr %t962, i64 %t961)
store ptr %t963, ptr %t951
store i32 %t957, ptr %t950
br label %put100
put100:
%t964 = load ptr, ptr %t6
%t965 = getelementptr inbounds %LSlice, ptr %t964, i32 0, i32 0
%t966 = load ptr, ptr %t965
%t967 = load i32, ptr %t940
%t968 = getelementptr inbounds ptr, ptr %t966, i32 %t967
%t969 = load ptr, ptr %t968
%t970 = call ptr @fn_emit_str_const(ptr %t969)
%t971 = load ptr, ptr %t951
%t972 = getelementptr inbounds ptr, ptr %t971, i32 %t952
store ptr %t970, ptr %t972
%t973 = add i32 %t952, 1
store i32 %t973, ptr %t949
%t974 = load ptr, ptr %t939
%t975 = getelementptr inbounds %LSlice, ptr %t974, i32 0, i32 1
%t976 = getelementptr inbounds %LSlice, ptr %t974, i32 0, i32 2
%t977 = getelementptr inbounds %LSlice, ptr %t974, i32 0, i32 0
%t978 = load i32, ptr %t975
%t979 = load i32, ptr %t976
%t980 = icmp sge i32 %t978, %t979
br i1 %t980, label %grow101, label %put102
grow101:
%t981 = mul i32 %t979, 2
%t982 = icmp eq i32 %t979, 0
%t983 = select i1 %t982, i32 8, i32 %t981
%t984 = getelementptr ptr, ptr null, i32 1
%t985 = ptrtoint ptr %t984 to i64
%t986 = zext i32 %t983 to i64
%t987 = mul i64 %t986, %t985
%t988 = load ptr, ptr %t977
%t989 = call ptr @realloc(ptr %t988, i64 %t987)
store ptr %t989, ptr %t977
store i32 %t983, ptr %t976
br label %put102
put102:
%t990 = load ptr, ptr %t13
%t991 = getelementptr inbounds %LSlice, ptr %t990, i32 0, i32 0
%t992 = load ptr, ptr %t991
%t993 = load i32, ptr %t940
%t994 = getelementptr inbounds ptr, ptr %t992, i32 %t993
%t995 = load ptr, ptr %t994
%t996 = call ptr @fn_emit_str_const(ptr %t995)
%t997 = load ptr, ptr %t977
%t998 = getelementptr inbounds ptr, ptr %t997, i32 %t978
store ptr %t996, ptr %t998
%t999 = add i32 %t978, 1
store i32 %t999, ptr %t975
%t1000 = load i32, ptr %t940
%t1001 = add i32 %t1000, 1
store i32 %t1001, ptr %t940
br label %wcond96
wend98:
%t1002 = call ptr @fn_emit_str_const(ptr @.str3405)
store ptr %t1002, ptr %t1003
%t1004 = load ptr, ptr %t6
%t1005 = getelementptr inbounds %LSlice, ptr %t1004, i32 0, i32 1
%t1006 = load i32, ptr %t1005
store i32 %t1006, ptr %t1007
%t1008 = load i32, ptr %t1007
%t1009 = call ptr @fn_itoa(i32 %t1008)
%t1010 = call ptr @fn_str_concat(ptr @.str3406, ptr %t1009)
%t1011 = call ptr @fn_str_concat(ptr %t1010, ptr @.str3407)
call void @fn_emith(ptr %t1011)
store i32 0, ptr %t940
br label %wcond103
wcond103:
%t1012 = load i32, ptr %t940
%t1013 = load ptr, ptr %t6
%t1014 = getelementptr inbounds %LSlice, ptr %t1013, i32 0, i32 1
%t1015 = load i32, ptr %t1014
%t1016 = icmp slt i32 %t1012, %t1015
%t1017 = zext i1 %t1016 to i32
%t1018 = icmp ne i32 %t1017, 0
br i1 %t1018, label %wbody104, label %wend105
wbody104:
%t1019 = load i32, ptr %t940
%t1020 = icmp sgt i32 %t1019, 0
%t1021 = zext i1 %t1020 to i32
%t1022 = icmp ne i32 %t1021, 0
br i1 %t1022, label %then106, label %ifend108
then106:
call void @fn_emith(ptr @.str3408)
br label %ifend108
ifend108:
%t1023 = load ptr, ptr %t932
%t1024 = getelementptr inbounds %LSlice, ptr %t1023, i32 0, i32 0
%t1025 = load ptr, ptr %t1024
%t1026 = load i32, ptr %t940
%t1027 = getelementptr inbounds ptr, ptr %t1025, i32 %t1026
%t1028 = load ptr, ptr %t1027
%t1029 = call ptr @fn_str_concat(ptr @.str3409, ptr %t1028)
%t1030 = call ptr @fn_str_concat(ptr %t1029, ptr @.str3410)
%t1031 = load ptr, ptr %t939
%t1032 = getelementptr inbounds %LSlice, ptr %t1031, i32 0, i32 0
%t1033 = load ptr, ptr %t1032
%t1034 = load i32, ptr %t940
%t1035 = getelementptr inbounds ptr, ptr %t1033, i32 %t1034
%t1036 = load ptr, ptr %t1035
%t1037 = call ptr @fn_str_concat(ptr %t1030, ptr %t1036)
%t1038 = call ptr @fn_str_concat(ptr %t1037, ptr @.str3411)
call void @fn_emith(ptr %t1038)
%t1039 = load i32, ptr %t940
%t1040 = add i32 %t1039, 1
store i32 %t1040, ptr %t940
br label %wcond103
wend105:
call void @fn_emith(ptr @.str3412)
call void @fn_emith(ptr @.str3413)
call void @fn_emith(ptr @.str3414)
%t1041 = load i32, ptr %t1007
%t1042 = call ptr @fn_itoa(i32 %t1041)
%t1043 = call ptr @fn_str_concat(ptr @.str3415, ptr %t1042)
%t1044 = call ptr @fn_str_concat(ptr %t1043, ptr @.str3416)
call void @fn_emith(ptr %t1044)
%t1045 = load i32, ptr %t1007
%t1046 = call ptr @fn_itoa(i32 %t1045)
%t1047 = call ptr @fn_str_concat(ptr @.str3417, ptr %t1046)
%t1048 = call ptr @fn_str_concat(ptr %t1047, ptr @.str3418)
call void @fn_emith(ptr %t1048)
%t1049 = load i32, ptr %t1007
%t1050 = call ptr @fn_itoa(i32 %t1049)
%t1051 = call ptr @fn_str_concat(ptr @.str3419, ptr %t1050)
%t1052 = call ptr @fn_str_concat(ptr %t1051, ptr @.str3420)
call void @fn_emith(ptr %t1052)
call void @fn_emith(ptr @.str3421)
%t1053 = load ptr, ptr %t1003
%t1054 = call ptr @fn_str_concat(ptr @.str3422, ptr %t1053)
%t1055 = call ptr @fn_str_concat(ptr %t1054, ptr @.str3423)
call void @fn_emith(ptr %t1055)
call void @fn_emith(ptr @.str3424)
call void @fn_emith(ptr @.str3425)
call void @fn_emith(ptr @.str3426)
call void @fn_emith(ptr @.str3427)
call void @fn_emith(ptr @.str3428)
call void @fn_emith(ptr @.str3429)
call void @fn_emith(ptr @.str3430)
call void @fn_emit_fs_sniff()
br label %ret
ret:
ret void
}
define void @fn_emit_fs_sniff() {
entry:
call void @fn_emith(ptr @.str3431)
call void @fn_emith(ptr @.str3432)
call void @fn_emith(ptr @.str3433)
call void @fn_emith(ptr @.str3434)
call void @fn_emith(ptr @.str3435)
call void @fn_emith(ptr @.str3436)
call void @fn_emith(ptr @.str3437)
call void @fn_emith(ptr @.str3438)
call void @fn_emith(ptr @.str3439)
call void @fn_emith(ptr @.str3440)
call void @fn_emith(ptr @.str3441)
call void @fn_emith(ptr @.str3442)
call void @fn_emith(ptr @.str3443)
call void @fn_emith(ptr @.str3444)
call void @fn_emith(ptr @.str3445)
call void @fn_emith(ptr @.str3446)
call void @fn_emith(ptr @.str3447)
call void @fn_emith(ptr @.str3448)
call void @fn_emith(ptr @.str3449)
call void @fn_emith(ptr @.str3450)
call void @fn_emith(ptr @.str3451)
call void @fn_emith(ptr @.str3452)
call void @fn_emith(ptr @.str3453)
call void @fn_emith(ptr @.str3454)
br label %ret
ret:
ret void
}
define ptr @fn_list_elem_addr(ptr %arg_h, ptr %arg_elt, ptr %arg_idx) {
entry:
%retval = alloca ptr
%t0 = alloca ptr
%t1 = alloca ptr
%t2 = alloca ptr
%t5 = alloca ptr
%t9 = alloca ptr
store ptr %arg_h, ptr %t0
store ptr %arg_elt, ptr %t1
store ptr %arg_idx, ptr %t2
%t3 = load ptr, ptr %t0
%t4 = call ptr @fn_slice_field(ptr %t3, i32 0)
store ptr %t4, ptr %t5
%t6 = load ptr, ptr %t5
%t7 = call ptr @fn_str_concat(ptr @.str3455, ptr %t6)
%t8 = call ptr @fn_emit_bind(ptr %t7)
store ptr %t8, ptr %t9
%t10 = load ptr, ptr %t1
%t11 = call ptr @fn_str_concat(ptr @.str3456, ptr %t10)
%t12 = call ptr @fn_str_concat(ptr %t11, ptr @.str3457)
%t13 = load ptr, ptr %t9
%t14 = call ptr @fn_str_concat(ptr %t12, ptr %t13)
%t15 = call ptr @fn_str_concat(ptr %t14, ptr @.str3458)
%t16 = load ptr, ptr %t2
%t17 = call ptr @fn_str_concat(ptr %t15, ptr %t16)
%t18 = call ptr @fn_emit_bind(ptr %t17)
store ptr %t18, ptr %retval
br label %ret
ret:
%t19 = load ptr, ptr %retval
ret ptr %t19
}
define i32 @fn_is_list_ns(ptr %arg_meth) {
entry:
%retval = alloca i32
%t0 = alloca ptr
%t1 = alloca i32
%t2 = alloca i32
%t20 = alloca i32
%t21 = alloca i32
%t22 = alloca i32
%t47 = alloca i32
%t48 = alloca i32
%t66 = alloca i32
%t67 = alloca i32
%t68 = alloca i32
%t93 = alloca i32
%t94 = alloca i32
store ptr %arg_meth, ptr %t0
%t3 = load ptr, ptr %t0
%t4 = call i32 @fn_str_eq(ptr %t3, ptr @.str3459)
%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_str_eq(ptr %t7, ptr @.str3460)
%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_eq(ptr %t14, ptr @.str3461)
%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 @fn_str_eq(ptr %t23, ptr @.str3462)
%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 @fn_str_eq(ptr %t27, ptr @.str3463)
%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 @fn_str_eq(ptr %t34, ptr @.str3464)
%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 @fn_str_eq(ptr %t41, ptr @.str3465)
%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 @fn_str_eq(ptr %t49, ptr @.str3466)
%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 @fn_str_eq(ptr %t53, ptr @.str3467)
%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 @fn_str_eq(ptr %t60, ptr @.str3468)
%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:
%t69 = load ptr, ptr %t0
%t70 = call i32 @fn_str_eq(ptr %t69, ptr @.str3469)
%t71 = icmp ne i32 %t70, 0
%t72 = zext i1 %t71 to i32
store i32 %t72, ptr %t68
br i1 %t71, label %scend24, label %sc23
sc23:
%t73 = load ptr, ptr %t0
%t74 = call i32 @fn_str_eq(ptr %t73, ptr @.str3470)
%t75 = icmp ne i32 %t74, 0
%t76 = zext i1 %t75 to i32
store i32 %t76, ptr %t68
br label %scend24
scend24:
%t77 = load i32, ptr %t68
%t78 = icmp ne i32 %t77, 0
%t79 = zext i1 %t78 to i32
store i32 %t79, ptr %t67
br i1 %t78, label %scend26, label %sc25
sc25:
%t80 = load ptr, ptr %t0
%t81 = call i32 @fn_str_eq(ptr %t80, ptr @.str3471)
%t82 = icmp ne i32 %t81, 0
%t83 = zext i1 %t82 to i32
store i32 %t83, ptr %t67
br label %scend26
scend26:
%t84 = load i32, ptr %t67
%t85 = icmp ne i32 %t84, 0
%t86 = zext i1 %t85 to i32
store i32 %t86, ptr %t66
br i1 %t85, label %scend28, label %sc27
sc27:
%t87 = load ptr, ptr %t0
%t88 = call i32 @fn_str_eq(ptr %t87, ptr @.str3472)
%t89 = icmp ne i32 %t88, 0
%t90 = zext i1 %t89 to i32
store i32 %t90, ptr %t66
br label %scend28
scend28:
%t91 = load i32, ptr %t66
%t92 = icmp ne i32 %t91, 0
br i1 %t92, label %then29, label %ifend31
then29:
store i32 1, ptr %retval
br label %ret
ifend31:
%t95 = load ptr, ptr %t0
%t96 = call i32 @fn_str_eq(ptr %t95, ptr @.str3473)
%t97 = icmp ne i32 %t96, 0
%t98 = zext i1 %t97 to i32
store i32 %t98, ptr %t94
br i1 %t97, label %scend33, label %sc32
sc32:
%t99 = load ptr, ptr %t0
%t100 = call i32 @fn_str_eq(ptr %t99, ptr @.str3474)
%t101 = icmp ne i32 %t100, 0
%t102 = zext i1 %t101 to i32
store i32 %t102, ptr %t94
br label %scend33
scend33:
%t103 = load i32, ptr %t94
%t104 = icmp ne i32 %t103, 0
%t105 = zext i1 %t104 to i32
store i32 %t105, ptr %t93
br i1 %t104, label %scend35, label %sc34
sc34:
%t106 = load ptr, ptr %t0
%t107 = call i32 @fn_str_eq(ptr %t106, ptr @.str3475)
%t108 = icmp ne i32 %t107, 0
%t109 = zext i1 %t108 to i32
store i32 %t109, ptr %t93
br label %scend35
scend35:
%t110 = load i32, ptr %t93
%t111 = icmp ne i32 %t110, 0
br i1 %t111, label %then36, label %ifend38
then36:
store i32 1, ptr %retval
br label %ret
ifend38:
store i32 0, ptr %retval
br label %ret
ret:
%t112 = load i32, ptr %retval
ret i32 %t112
}
define void @fn_list_grow_if_full(ptr %arg_h, ptr %arg_elt) {
entry:
%t0 = alloca ptr
%t1 = alloca ptr
%t4 = alloca ptr
%t7 = alloca ptr
%t10 = alloca ptr
%t14 = alloca ptr
%t18 = alloca ptr
%t25 = alloca ptr
%t27 = alloca ptr
%t29 = alloca ptr
%t38 = alloca ptr
%t43 = alloca ptr
%t50 = alloca ptr
%t53 = alloca ptr
%t58 = alloca ptr
%t65 = alloca ptr
%t69 = alloca ptr
%t77 = alloca ptr
store ptr %arg_h, ptr %t0
store ptr %arg_elt, ptr %t1
%t2 = load ptr, ptr %t0
%t3 = call ptr @fn_slice_field(ptr %t2, i32 1)
store ptr %t3, ptr %t4
%t5 = load ptr, ptr %t0
%t6 = call ptr @fn_slice_field(ptr %t5, i32 2)
store ptr %t6, ptr %t7
%t8 = load ptr, ptr %t0
%t9 = call ptr @fn_slice_field(ptr %t8, i32 0)
store ptr %t9, ptr %t10
%t11 = load ptr, ptr %t4
%t12 = call ptr @fn_str_concat(ptr @.str3476, ptr %t11)
%t13 = call ptr @fn_emit_bind(ptr %t12)
store ptr %t13, ptr %t14
%t15 = load ptr, ptr %t7
%t16 = call ptr @fn_str_concat(ptr @.str3477, ptr %t15)
%t17 = call ptr @fn_emit_bind(ptr %t16)
store ptr %t17, ptr %t18
%t19 = load ptr, ptr %t14
%t20 = call ptr @fn_str_concat(ptr @.str3478, ptr %t19)
%t21 = call ptr @fn_str_concat(ptr %t20, ptr @.str3479)
%t22 = load ptr, ptr %t18
%t23 = call ptr @fn_str_concat(ptr %t21, ptr %t22)
%t24 = call ptr @fn_emit_bind(ptr %t23)
store ptr %t24, ptr %t25
%t26 = call ptr @fn_lbl(ptr @.str3480)
store ptr %t26, ptr %t27
%t28 = call ptr @fn_lbl(ptr @.str3481)
store ptr %t28, ptr %t29
call void @fn_emit(ptr @.str3482)
%t30 = load ptr, ptr %t25
call void @fn_emit(ptr %t30)
call void @fn_emit(ptr @.str3483)
%t31 = load ptr, ptr %t27
call void @fn_emit(ptr %t31)
call void @fn_emit(ptr @.str3484)
%t32 = load ptr, ptr %t29
call void @fn_emit(ptr %t32)
call void @fn_emit(ptr @.str3485)
%t33 = load ptr, ptr %t27
call void @fn_emit(ptr %t33)
call void @fn_emit(ptr @.str3486)
%t34 = load ptr, ptr %t18
%t35 = call ptr @fn_str_concat(ptr @.str3487, ptr %t34)
%t36 = call ptr @fn_str_concat(ptr %t35, ptr @.str3488)
%t37 = call ptr @fn_emit_bind(ptr %t36)
store ptr %t37, ptr %t38
%t39 = load ptr, ptr %t18
%t40 = call ptr @fn_str_concat(ptr @.str3489, ptr %t39)
%t41 = call ptr @fn_str_concat(ptr %t40, ptr @.str3490)
%t42 = call ptr @fn_emit_bind(ptr %t41)
store ptr %t42, ptr %t43
%t44 = load ptr, ptr %t43
%t45 = call ptr @fn_str_concat(ptr @.str3491, ptr %t44)
%t46 = call ptr @fn_str_concat(ptr %t45, ptr @.str3492)
%t47 = load ptr, ptr %t38
%t48 = call ptr @fn_str_concat(ptr %t46, ptr %t47)
%t49 = call ptr @fn_emit_bind(ptr %t48)
store ptr %t49, ptr %t50
%t51 = load ptr, ptr %t1
%t52 = call ptr @fn_emit_sizeof(ptr %t51)
store ptr %t52, ptr %t53
%t54 = load ptr, ptr %t50
%t55 = call ptr @fn_str_concat(ptr @.str3493, ptr %t54)
%t56 = call ptr @fn_str_concat(ptr %t55, ptr @.str3494)
%t57 = call ptr @fn_emit_bind(ptr %t56)
store ptr %t57, ptr %t58
%t59 = load ptr, ptr %t58
%t60 = call ptr @fn_str_concat(ptr @.str3495, ptr %t59)
%t61 = call ptr @fn_str_concat(ptr %t60, ptr @.str3496)
%t62 = load ptr, ptr %t53
%t63 = call ptr @fn_str_concat(ptr %t61, ptr %t62)
%t64 = call ptr @fn_emit_bind(ptr %t63)
store ptr %t64, ptr %t65
%t66 = load ptr, ptr %t10
%t67 = call ptr @fn_str_concat(ptr @.str3497, ptr %t66)
%t68 = call ptr @fn_emit_bind(ptr %t67)
store ptr %t68, ptr %t69
%t70 = load ptr, ptr %t69
%t71 = call ptr @fn_str_concat(ptr @.str3498, ptr %t70)
%t72 = call ptr @fn_str_concat(ptr %t71, ptr @.str3499)
%t73 = load ptr, ptr %t65
%t74 = call ptr @fn_str_concat(ptr %t72, ptr %t73)
%t75 = call ptr @fn_str_concat(ptr %t74, ptr @.str3500)
%t76 = call ptr @fn_emit_bind(ptr %t75)
store ptr %t76, ptr %t77
call void @fn_emit(ptr @.str3501)
%t78 = load ptr, ptr %t77
call void @fn_emit(ptr %t78)
call void @fn_emit(ptr @.str3502)
%t79 = load ptr, ptr %t10
call void @fn_emit(ptr %t79)
call void @fn_emit(ptr @.str3503)
call void @fn_emit(ptr @.str3504)
%t80 = load ptr, ptr %t50
call void @fn_emit(ptr %t80)
call void @fn_emit(ptr @.str3505)
%t81 = load ptr, ptr %t7
call void @fn_emit(ptr %t81)
call void @fn_emit(ptr @.str3506)
call void @fn_emit(ptr @.str3507)
%t82 = load ptr, ptr %t29
call void @fn_emit(ptr %t82)
call void @fn_emit(ptr @.str3508)
%t83 = load ptr, ptr %t29
call void @fn_emit(ptr %t83)
call void @fn_emit(ptr @.str3509)
br label %ret
ret:
ret void
}
define ptr @fn_gep_at(ptr %arg_base, ptr %arg_elt, ptr %arg_idx) {
entry:
%retval = alloca ptr
%t0 = alloca ptr
%t1 = alloca ptr
%t2 = alloca ptr
store ptr %arg_base, ptr %t0
store ptr %arg_elt, ptr %t1
store ptr %arg_idx, ptr %t2
%t3 = load ptr, ptr %t1
%t4 = call ptr @fn_str_concat(ptr @.str3510, ptr %t3)
%t5 = call ptr @fn_str_concat(ptr %t4, ptr @.str3511)
%t6 = load ptr, ptr %t0
%t7 = call ptr @fn_str_concat(ptr %t5, ptr %t6)
%t8 = call ptr @fn_str_concat(ptr %t7, ptr @.str3512)
%t9 = load ptr, ptr %t2
%t10 = call ptr @fn_str_concat(ptr %t8, ptr %t9)
%t11 = call ptr @fn_emit_bind(ptr %t10)
store ptr %t11, ptr %retval
br label %ret
ret:
%t12 = load ptr, ptr %retval
ret ptr %t12
}
define ptr @fn_emit_takeright(ptr %arg_elt, i32 %arg_mode, ptr %arg_fnsym, ptr %arg_keyll, ptr %arg_av, ptr %arg_bv) {
entry:
%retval = alloca ptr
%t0 = alloca ptr
%t1 = alloca i32
%t2 = alloca ptr
%t3 = alloca ptr
%t4 = alloca ptr
%t5 = alloca ptr
%t39 = alloca ptr
%t57 = alloca ptr
%t71 = alloca ptr
store ptr %arg_elt, ptr %t0
store i32 %arg_mode, ptr %t1
store ptr %arg_fnsym, ptr %t2
store ptr %arg_keyll, ptr %t3
store ptr %arg_av, ptr %t4
store ptr %arg_bv, ptr %t5
%t6 = load i32, ptr %t1
%t7 = icmp eq i32 %t6, 3
%t8 = zext i1 %t7 to i32
%t9 = icmp ne i32 %t8, 0
br i1 %t9, label %then0, label %ifend2
then0:
%t10 = load ptr, ptr %t0
%t11 = call ptr @fn_str_concat(ptr @.str3513, ptr %t10)
%t12 = call ptr @fn_str_concat(ptr %t11, ptr @.str3514)
%t13 = load ptr, ptr %t5
%t14 = call ptr @fn_str_concat(ptr %t12, ptr %t13)
%t15 = call ptr @fn_str_concat(ptr %t14, ptr @.str3515)
%t16 = load ptr, ptr %t4
%t17 = call ptr @fn_str_concat(ptr %t15, ptr %t16)
%t18 = call ptr @fn_emit_bind(ptr %t17)
store ptr %t18, ptr %retval
br label %ret
ifend2:
%t19 = load i32, ptr %t1
%t20 = icmp eq i32 %t19, 0
%t21 = zext i1 %t20 to i32
%t22 = icmp ne i32 %t21, 0
br i1 %t22, label %then3, label %ifend5
then3:
%t23 = load ptr, ptr %t2
%t24 = call ptr @fn_str_concat(ptr @.str3516, ptr %t23)
%t25 = call ptr @fn_str_concat(ptr %t24, ptr @.str3517)
%t26 = load ptr, ptr %t0
%t27 = call ptr @fn_str_concat(ptr %t25, ptr %t26)
%t28 = call ptr @fn_str_concat(ptr %t27, ptr @.str3518)
%t29 = load ptr, ptr %t4
%t30 = call ptr @fn_str_concat(ptr %t28, ptr %t29)
%t31 = call ptr @fn_str_concat(ptr %t30, ptr @.str3519)
%t32 = load ptr, ptr %t0
%t33 = call ptr @fn_str_concat(ptr %t31, ptr %t32)
%t34 = call ptr @fn_str_concat(ptr %t33, ptr @.str3520)
%t35 = load ptr, ptr %t5
%t36 = call ptr @fn_str_concat(ptr %t34, ptr %t35)
%t37 = call ptr @fn_str_concat(ptr %t36, ptr @.str3521)
%t38 = call ptr @fn_emit_bind(ptr %t37)
store ptr %t38, ptr %t39
%t40 = load ptr, ptr %t39
%t41 = call ptr @fn_str_concat(ptr @.str3522, ptr %t40)
%t42 = call ptr @fn_str_concat(ptr %t41, ptr @.str3523)
%t43 = call ptr @fn_emit_bind(ptr %t42)
store ptr %t43, ptr %retval
br label %ret
ifend5:
%t44 = load ptr, ptr %t3
%t45 = call ptr @fn_str_concat(ptr @.str3524, ptr %t44)
%t46 = call ptr @fn_str_concat(ptr %t45, ptr @.str3525)
%t47 = load ptr, ptr %t2
%t48 = call ptr @fn_str_concat(ptr %t46, ptr %t47)
%t49 = call ptr @fn_str_concat(ptr %t48, ptr @.str3526)
%t50 = load ptr, ptr %t0
%t51 = call ptr @fn_str_concat(ptr %t49, ptr %t50)
%t52 = call ptr @fn_str_concat(ptr %t51, ptr @.str3527)
%t53 = load ptr, ptr %t4
%t54 = call ptr @fn_str_concat(ptr %t52, ptr %t53)
%t55 = call ptr @fn_str_concat(ptr %t54, ptr @.str3528)
%t56 = call ptr @fn_emit_bind(ptr %t55)
store ptr %t56, ptr %t57
%t58 = load ptr, ptr %t3
%t59 = call ptr @fn_str_concat(ptr @.str3529, ptr %t58)
%t60 = call ptr @fn_str_concat(ptr %t59, ptr @.str3530)
%t61 = load ptr, ptr %t2
%t62 = call ptr @fn_str_concat(ptr %t60, ptr %t61)
%t63 = call ptr @fn_str_concat(ptr %t62, ptr @.str3531)
%t64 = load ptr, ptr %t0
%t65 = call ptr @fn_str_concat(ptr %t63, ptr %t64)
%t66 = call ptr @fn_str_concat(ptr %t65, ptr @.str3532)
%t67 = load ptr, ptr %t5
%t68 = call ptr @fn_str_concat(ptr %t66, ptr %t67)
%t69 = call ptr @fn_str_concat(ptr %t68, ptr @.str3533)
%t70 = call ptr @fn_emit_bind(ptr %t69)
store ptr %t70, ptr %t71
%t72 = load i32, ptr %t1
%t73 = icmp eq i32 %t72, 2
%t74 = zext i1 %t73 to i32
%t75 = icmp ne i32 %t74, 0
br i1 %t75, label %then6, label %ifend8
then6:
%t76 = load ptr, ptr %t3
%t77 = call ptr @fn_str_concat(ptr @.str3534, ptr %t76)
%t78 = call ptr @fn_str_concat(ptr %t77, ptr @.str3535)
%t79 = load ptr, ptr %t57
%t80 = call ptr @fn_str_concat(ptr %t78, ptr %t79)
%t81 = call ptr @fn_str_concat(ptr %t80, ptr @.str3536)
%t82 = load ptr, ptr %t71
%t83 = call ptr @fn_str_concat(ptr %t81, ptr %t82)
%t84 = call ptr @fn_emit_bind(ptr %t83)
store ptr %t84, ptr %retval
br label %ret
ifend8:
%t85 = load ptr, ptr %t3
%t86 = call ptr @fn_str_concat(ptr @.str3537, ptr %t85)
%t87 = call ptr @fn_str_concat(ptr %t86, ptr @.str3538)
%t88 = load ptr, ptr %t57
%t89 = call ptr @fn_str_concat(ptr %t87, ptr %t88)
%t90 = call ptr @fn_str_concat(ptr %t89, ptr @.str3539)
%t91 = load ptr, ptr %t71
%t92 = call ptr @fn_str_concat(ptr %t90, ptr %t91)
%t93 = call ptr @fn_emit_bind(ptr %t92)
store ptr %t93, ptr %retval
br label %ret
ret:
%t94 = load ptr, ptr %retval
ret ptr %t94
}
define void @fn_emit_merge_sort(ptr %arg_h, ptr %arg_elt, i32 %arg_mode, ptr %arg_fnsym, ptr %arg_keyll) {
entry:
%t0 = alloca ptr
%t1 = alloca ptr
%t2 = alloca i32
%t3 = alloca ptr
%t4 = alloca ptr
%t7 = alloca ptr
%t11 = alloca ptr
%t14 = alloca ptr
%t18 = alloca ptr
%t21 = alloca ptr
%t26 = alloca ptr
%t33 = alloca ptr
%t38 = alloca ptr
%t40 = alloca ptr
%t43 = alloca ptr
%t45 = alloca ptr
%t47 = alloca ptr
%t53 = alloca ptr
%t60 = alloca ptr
%t69 = alloca ptr
%t71 = alloca ptr
%t74 = alloca ptr
%t76 = alloca ptr
%t78 = alloca ptr
%t84 = alloca ptr
%t91 = alloca ptr
%t102 = alloca ptr
%t109 = alloca ptr
%t119 = alloca ptr
%t126 = alloca ptr
%t133 = alloca ptr
%t143 = alloca ptr
%t145 = alloca ptr
%t149 = alloca ptr
%t153 = alloca ptr
%t157 = alloca ptr
%t159 = alloca ptr
%t161 = alloca ptr
%t167 = alloca ptr
%t171 = alloca ptr
%t178 = alloca ptr
%t185 = alloca ptr
%t192 = alloca ptr
%t201 = alloca ptr
%t208 = alloca ptr
%t213 = alloca ptr
%t220 = alloca ptr
%t228 = alloca ptr
%t232 = alloca ptr
%t237 = alloca ptr
%t239 = alloca ptr
%t241 = alloca ptr
%t243 = alloca ptr
%t255 = alloca ptr
%t267 = alloca ptr
%t276 = alloca ptr
%t282 = alloca ptr
%t284 = alloca ptr
%t286 = alloca ptr
%t292 = alloca ptr
%t299 = alloca ptr
%t308 = alloca ptr
%t315 = alloca ptr
%t319 = alloca ptr
%t324 = alloca ptr
%t332 = alloca ptr
%t339 = alloca ptr
%t345 = alloca ptr
%t347 = alloca ptr
%t349 = alloca ptr
%t355 = alloca ptr
%t362 = alloca ptr
%t371 = alloca ptr
%t378 = alloca ptr
%t382 = alloca ptr
%t387 = alloca ptr
%t395 = alloca ptr
%t402 = alloca ptr
%t408 = alloca ptr
%t412 = alloca ptr
%t414 = alloca ptr
%t416 = alloca ptr
%t422 = alloca ptr
%t429 = alloca ptr
%t438 = alloca ptr
%t445 = alloca ptr
%t450 = alloca ptr
%t458 = alloca ptr
%t469 = alloca ptr
store ptr %arg_h, ptr %t0
store ptr %arg_elt, ptr %t1
store i32 %arg_mode, ptr %t2
store ptr %arg_fnsym, ptr %t3
store ptr %arg_keyll, ptr %t4
%t5 = load ptr, ptr %t0
%t6 = call ptr @fn_slice_field(ptr %t5, i32 0)
store ptr %t6, ptr %t7
%t8 = load ptr, ptr %t7
%t9 = call ptr @fn_str_concat(ptr @.str3540, ptr %t8)
%t10 = call ptr @fn_emit_bind(ptr %t9)
store ptr %t10, ptr %t11
%t12 = load ptr, ptr %t0
%t13 = call ptr @fn_slice_field(ptr %t12, i32 1)
store ptr %t13, ptr %t14
%t15 = load ptr, ptr %t14
%t16 = call ptr @fn_str_concat(ptr @.str3541, ptr %t15)
%t17 = call ptr @fn_emit_bind(ptr %t16)
store ptr %t17, ptr %t18
%t19 = load ptr, ptr %t1
%t20 = call ptr @fn_emit_sizeof(ptr %t19)
store ptr %t20, ptr %t21
%t22 = load ptr, ptr %t18
%t23 = call ptr @fn_str_concat(ptr @.str3542, ptr %t22)
%t24 = call ptr @fn_str_concat(ptr %t23, ptr @.str3543)
%t25 = call ptr @fn_emit_bind(ptr %t24)
store ptr %t25, ptr %t26
%t27 = load ptr, ptr %t26
%t28 = call ptr @fn_str_concat(ptr @.str3544, ptr %t27)
%t29 = call ptr @fn_str_concat(ptr %t28, ptr @.str3545)
%t30 = load ptr, ptr %t21
%t31 = call ptr @fn_str_concat(ptr %t29, ptr %t30)
%t32 = call ptr @fn_emit_bind(ptr %t31)
store ptr %t32, ptr %t33
%t34 = load ptr, ptr %t33
%t35 = call ptr @fn_str_concat(ptr @.str3546, ptr %t34)
%t36 = call ptr @fn_str_concat(ptr %t35, ptr @.str3547)
%t37 = call ptr @fn_emit_bind(ptr %t36)
store ptr %t37, ptr %t38
%t39 = call ptr @fn_emit_alloca(ptr @.str3548)
store ptr %t39, ptr %t40
%t41 = load ptr, ptr %t40
call void @fn_store_at(ptr @.str3549, ptr @.str3550, ptr %t41)
%t42 = call ptr @fn_lbl(ptr @.str3551)
store ptr %t42, ptr %t43
%t44 = call ptr @fn_lbl(ptr @.str3552)
store ptr %t44, ptr %t45
%t46 = call ptr @fn_lbl(ptr @.str3553)
store ptr %t46, ptr %t47
call void @fn_emit(ptr @.str3554)
%t48 = load ptr, ptr %t43
call void @fn_emit(ptr %t48)
call void @fn_emit(ptr @.str3555)
%t49 = load ptr, ptr %t43
call void @fn_emit(ptr %t49)
call void @fn_emit(ptr @.str3556)
%t50 = load ptr, ptr %t40
%t51 = call ptr @fn_str_concat(ptr @.str3557, ptr %t50)
%t52 = call ptr @fn_emit_bind(ptr %t51)
store ptr %t52, ptr %t53
%t54 = load ptr, ptr %t53
%t55 = call ptr @fn_str_concat(ptr @.str3558, ptr %t54)
%t56 = call ptr @fn_str_concat(ptr %t55, ptr @.str3559)
%t57 = load ptr, ptr %t18
%t58 = call ptr @fn_str_concat(ptr %t56, ptr %t57)
%t59 = call ptr @fn_emit_bind(ptr %t58)
store ptr %t59, ptr %t60
call void @fn_emit(ptr @.str3560)
%t61 = load ptr, ptr %t60
call void @fn_emit(ptr %t61)
call void @fn_emit(ptr @.str3561)
%t62 = load ptr, ptr %t45
call void @fn_emit(ptr %t62)
call void @fn_emit(ptr @.str3562)
%t63 = load ptr, ptr %t47
call void @fn_emit(ptr %t63)
call void @fn_emit(ptr @.str3563)
%t64 = load ptr, ptr %t45
call void @fn_emit(ptr %t64)
call void @fn_emit(ptr @.str3564)
%t65 = load ptr, ptr %t53
%t66 = call ptr @fn_str_concat(ptr @.str3565, ptr %t65)
%t67 = call ptr @fn_str_concat(ptr %t66, ptr @.str3566)
%t68 = call ptr @fn_emit_bind(ptr %t67)
store ptr %t68, ptr %t69
%t70 = call ptr @fn_emit_alloca(ptr @.str3567)
store ptr %t70, ptr %t71
%t72 = load ptr, ptr %t71
call void @fn_store_at(ptr @.str3568, ptr @.str3569, ptr %t72)
%t73 = call ptr @fn_lbl(ptr @.str3570)
store ptr %t73, ptr %t74
%t75 = call ptr @fn_lbl(ptr @.str3571)
store ptr %t75, ptr %t76
%t77 = call ptr @fn_lbl(ptr @.str3572)
store ptr %t77, ptr %t78
call void @fn_emit(ptr @.str3573)
%t79 = load ptr, ptr %t74
call void @fn_emit(ptr %t79)
call void @fn_emit(ptr @.str3574)
%t80 = load ptr, ptr %t74
call void @fn_emit(ptr %t80)
call void @fn_emit(ptr @.str3575)
%t81 = load ptr, ptr %t71
%t82 = call ptr @fn_str_concat(ptr @.str3576, ptr %t81)
%t83 = call ptr @fn_emit_bind(ptr %t82)
store ptr %t83, ptr %t84
%t85 = load ptr, ptr %t84
%t86 = call ptr @fn_str_concat(ptr @.str3577, ptr %t85)
%t87 = call ptr @fn_str_concat(ptr %t86, ptr @.str3578)
%t88 = load ptr, ptr %t18
%t89 = call ptr @fn_str_concat(ptr %t87, ptr %t88)
%t90 = call ptr @fn_emit_bind(ptr %t89)
store ptr %t90, ptr %t91
call void @fn_emit(ptr @.str3579)
%t92 = load ptr, ptr %t91
call void @fn_emit(ptr %t92)
call void @fn_emit(ptr @.str3580)
%t93 = load ptr, ptr %t76
call void @fn_emit(ptr %t93)
call void @fn_emit(ptr @.str3581)
%t94 = load ptr, ptr %t78
call void @fn_emit(ptr %t94)
call void @fn_emit(ptr @.str3582)
%t95 = load ptr, ptr %t76
call void @fn_emit(ptr %t95)
call void @fn_emit(ptr @.str3583)
%t96 = load ptr, ptr %t84
%t97 = call ptr @fn_str_concat(ptr @.str3584, ptr %t96)
%t98 = call ptr @fn_str_concat(ptr %t97, ptr @.str3585)
%t99 = load ptr, ptr %t53
%t100 = call ptr @fn_str_concat(ptr %t98, ptr %t99)
%t101 = call ptr @fn_emit_bind(ptr %t100)
store ptr %t101, ptr %t102
%t103 = load ptr, ptr %t102
%t104 = call ptr @fn_str_concat(ptr @.str3586, ptr %t103)
%t105 = call ptr @fn_str_concat(ptr %t104, ptr @.str3587)
%t106 = load ptr, ptr %t18
%t107 = call ptr @fn_str_concat(ptr %t105, ptr %t106)
%t108 = call ptr @fn_emit_bind(ptr %t107)
store ptr %t108, ptr %t109
%t110 = load ptr, ptr %t109
%t111 = call ptr @fn_str_concat(ptr @.str3588, ptr %t110)
%t112 = call ptr @fn_str_concat(ptr %t111, ptr @.str3589)
%t113 = load ptr, ptr %t102
%t114 = call ptr @fn_str_concat(ptr %t112, ptr %t113)
%t115 = call ptr @fn_str_concat(ptr %t114, ptr @.str3590)
%t116 = load ptr, ptr %t18
%t117 = call ptr @fn_str_concat(ptr %t115, ptr %t116)
%t118 = call ptr @fn_emit_bind(ptr %t117)
store ptr %t118, ptr %t119
%t120 = load ptr, ptr %t84
%t121 = call ptr @fn_str_concat(ptr @.str3591, ptr %t120)
%t122 = call ptr @fn_str_concat(ptr %t121, ptr @.str3592)
%t123 = load ptr, ptr %t69
%t124 = call ptr @fn_str_concat(ptr %t122, ptr %t123)
%t125 = call ptr @fn_emit_bind(ptr %t124)
store ptr %t125, ptr %t126
%t127 = load ptr, ptr %t126
%t128 = call ptr @fn_str_concat(ptr @.str3593, ptr %t127)
%t129 = call ptr @fn_str_concat(ptr %t128, ptr @.str3594)
%t130 = load ptr, ptr %t18
%t131 = call ptr @fn_str_concat(ptr %t129, ptr %t130)
%t132 = call ptr @fn_emit_bind(ptr %t131)
store ptr %t132, ptr %t133
%t134 = load ptr, ptr %t133
%t135 = call ptr @fn_str_concat(ptr @.str3595, ptr %t134)
%t136 = call ptr @fn_str_concat(ptr %t135, ptr @.str3596)
%t137 = load ptr, ptr %t126
%t138 = call ptr @fn_str_concat(ptr %t136, ptr %t137)
%t139 = call ptr @fn_str_concat(ptr %t138, ptr @.str3597)
%t140 = load ptr, ptr %t18
%t141 = call ptr @fn_str_concat(ptr %t139, ptr %t140)
%t142 = call ptr @fn_emit_bind(ptr %t141)
store ptr %t142, ptr %t143
%t144 = call ptr @fn_emit_alloca(ptr @.str3598)
store ptr %t144, ptr %t145
%t146 = load ptr, ptr %t84
%t147 = load ptr, ptr %t145
call void @fn_store_at(ptr @.str3599, ptr %t146, ptr %t147)
%t148 = call ptr @fn_emit_alloca(ptr @.str3600)
store ptr %t148, ptr %t149
%t150 = load ptr, ptr %t119
%t151 = load ptr, ptr %t149
call void @fn_store_at(ptr @.str3601, ptr %t150, ptr %t151)
%t152 = call ptr @fn_emit_alloca(ptr @.str3602)
store ptr %t152, ptr %t153
%t154 = load ptr, ptr %t84
%t155 = load ptr, ptr %t153
call void @fn_store_at(ptr @.str3603, ptr %t154, ptr %t155)
%t156 = call ptr @fn_lbl(ptr @.str3604)
store ptr %t156, ptr %t157
%t158 = call ptr @fn_lbl(ptr @.str3605)
store ptr %t158, ptr %t159
%t160 = call ptr @fn_lbl(ptr @.str3606)
store ptr %t160, ptr %t161
call void @fn_emit(ptr @.str3607)
%t162 = load ptr, ptr %t157
call void @fn_emit(ptr %t162)
call void @fn_emit(ptr @.str3608)
%t163 = load ptr, ptr %t157
call void @fn_emit(ptr %t163)
call void @fn_emit(ptr @.str3609)
%t164 = load ptr, ptr %t145
%t165 = call ptr @fn_str_concat(ptr @.str3610, ptr %t164)
%t166 = call ptr @fn_emit_bind(ptr %t165)
store ptr %t166, ptr %t167
%t168 = load ptr, ptr %t149
%t169 = call ptr @fn_str_concat(ptr @.str3611, ptr %t168)
%t170 = call ptr @fn_emit_bind(ptr %t169)
store ptr %t170, ptr %t171
%t172 = load ptr, ptr %t167
%t173 = call ptr @fn_str_concat(ptr @.str3612, ptr %t172)
%t174 = call ptr @fn_str_concat(ptr %t173, ptr @.str3613)
%t175 = load ptr, ptr %t119
%t176 = call ptr @fn_str_concat(ptr %t174, ptr %t175)
%t177 = call ptr @fn_emit_bind(ptr %t176)
store ptr %t177, ptr %t178
%t179 = load ptr, ptr %t171
%t180 = call ptr @fn_str_concat(ptr @.str3614, ptr %t179)
%t181 = call ptr @fn_str_concat(ptr %t180, ptr @.str3615)
%t182 = load ptr, ptr %t143
%t183 = call ptr @fn_str_concat(ptr %t181, ptr %t182)
%t184 = call ptr @fn_emit_bind(ptr %t183)
store ptr %t184, ptr %t185
%t186 = load ptr, ptr %t178
%t187 = call ptr @fn_str_concat(ptr @.str3616, ptr %t186)
%t188 = call ptr @fn_str_concat(ptr %t187, ptr @.str3617)
%t189 = load ptr, ptr %t185
%t190 = call ptr @fn_str_concat(ptr %t188, ptr %t189)
%t191 = call ptr @fn_emit_bind(ptr %t190)
store ptr %t191, ptr %t192
call void @fn_emit(ptr @.str3618)
%t193 = load ptr, ptr %t192
call void @fn_emit(ptr %t193)
call void @fn_emit(ptr @.str3619)
%t194 = load ptr, ptr %t159
call void @fn_emit(ptr %t194)
call void @fn_emit(ptr @.str3620)
%t195 = load ptr, ptr %t161
call void @fn_emit(ptr %t195)
call void @fn_emit(ptr @.str3621)
%t196 = load ptr, ptr %t159
call void @fn_emit(ptr %t196)
call void @fn_emit(ptr @.str3622)
%t197 = load ptr, ptr %t11
%t198 = load ptr, ptr %t1
%t199 = load ptr, ptr %t167
%t200 = call ptr @fn_gep_at(ptr %t197, ptr %t198, ptr %t199)
store ptr %t200, ptr %t201
%t202 = load ptr, ptr %t1
%t203 = call ptr @fn_str_concat(ptr @.str3623, ptr %t202)
%t204 = call ptr @fn_str_concat(ptr %t203, ptr @.str3624)
%t205 = load ptr, ptr %t201
%t206 = call ptr @fn_str_concat(ptr %t204, ptr %t205)
%t207 = call ptr @fn_emit_bind(ptr %t206)
store ptr %t207, ptr %t208
%t209 = load ptr, ptr %t11
%t210 = load ptr, ptr %t1
%t211 = load ptr, ptr %t171
%t212 = call ptr @fn_gep_at(ptr %t209, ptr %t210, ptr %t211)
store ptr %t212, ptr %t213
%t214 = load ptr, ptr %t1
%t215 = call ptr @fn_str_concat(ptr @.str3625, ptr %t214)
%t216 = call ptr @fn_str_concat(ptr %t215, ptr @.str3626)
%t217 = load ptr, ptr %t213
%t218 = call ptr @fn_str_concat(ptr %t216, ptr %t217)
%t219 = call ptr @fn_emit_bind(ptr %t218)
store ptr %t219, ptr %t220
%t221 = load ptr, ptr %t1
%t222 = load i32, ptr %t2
%t223 = load ptr, ptr %t3
%t224 = load ptr, ptr %t4
%t225 = load ptr, ptr %t208
%t226 = load ptr, ptr %t220
%t227 = call ptr @fn_emit_takeright(ptr %t221, i32 %t222, ptr %t223, ptr %t224, ptr %t225, ptr %t226)
store ptr %t227, ptr %t228
%t229 = load ptr, ptr %t153
%t230 = call ptr @fn_str_concat(ptr @.str3627, ptr %t229)
%t231 = call ptr @fn_emit_bind(ptr %t230)
store ptr %t231, ptr %t232
%t233 = load ptr, ptr %t38
%t234 = load ptr, ptr %t1
%t235 = load ptr, ptr %t232
%t236 = call ptr @fn_gep_at(ptr %t233, ptr %t234, ptr %t235)
store ptr %t236, ptr %t237
%t238 = call ptr @fn_lbl(ptr @.str3628)
store ptr %t238, ptr %t239
%t240 = call ptr @fn_lbl(ptr @.str3629)
store ptr %t240, ptr %t241
%t242 = call ptr @fn_lbl(ptr @.str3630)
store ptr %t242, ptr %t243
call void @fn_emit(ptr @.str3631)
%t244 = load ptr, ptr %t228
call void @fn_emit(ptr %t244)
call void @fn_emit(ptr @.str3632)
%t245 = load ptr, ptr %t239
call void @fn_emit(ptr %t245)
call void @fn_emit(ptr @.str3633)
%t246 = load ptr, ptr %t241
call void @fn_emit(ptr %t246)
call void @fn_emit(ptr @.str3634)
%t247 = load ptr, ptr %t239
call void @fn_emit(ptr %t247)
call void @fn_emit(ptr @.str3635)
call void @fn_emit(ptr @.str3636)
%t248 = load ptr, ptr %t1
call void @fn_emit(ptr %t248)
call void @fn_emit(ptr @.str3637)
%t249 = load ptr, ptr %t220
call void @fn_emit(ptr %t249)
call void @fn_emit(ptr @.str3638)
%t250 = load ptr, ptr %t237
call void @fn_emit(ptr %t250)
call void @fn_emit(ptr @.str3639)
%t251 = load ptr, ptr %t171
%t252 = call ptr @fn_str_concat(ptr @.str3640, ptr %t251)
%t253 = call ptr @fn_str_concat(ptr %t252, ptr @.str3641)
%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 @.str3642, ptr %t256, ptr %t257)
call void @fn_emit(ptr @.str3643)
%t258 = load ptr, ptr %t243
call void @fn_emit(ptr %t258)
call void @fn_emit(ptr @.str3644)
%t259 = load ptr, ptr %t241
call void @fn_emit(ptr %t259)
call void @fn_emit(ptr @.str3645)
call void @fn_emit(ptr @.str3646)
%t260 = load ptr, ptr %t1
call void @fn_emit(ptr %t260)
call void @fn_emit(ptr @.str3647)
%t261 = load ptr, ptr %t208
call void @fn_emit(ptr %t261)
call void @fn_emit(ptr @.str3648)
%t262 = load ptr, ptr %t237
call void @fn_emit(ptr %t262)
call void @fn_emit(ptr @.str3649)
%t263 = load ptr, ptr %t167
%t264 = call ptr @fn_str_concat(ptr @.str3650, ptr %t263)
%t265 = call ptr @fn_str_concat(ptr %t264, ptr @.str3651)
%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 @.str3652, ptr %t268, ptr %t269)
call void @fn_emit(ptr @.str3653)
%t270 = load ptr, ptr %t243
call void @fn_emit(ptr %t270)
call void @fn_emit(ptr @.str3654)
%t271 = load ptr, ptr %t243
call void @fn_emit(ptr %t271)
call void @fn_emit(ptr @.str3655)
%t272 = load ptr, ptr %t232
%t273 = call ptr @fn_str_concat(ptr @.str3656, ptr %t272)
%t274 = call ptr @fn_str_concat(ptr %t273, ptr @.str3657)
%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 @.str3658, ptr %t277, ptr %t278)
call void @fn_emit(ptr @.str3659)
%t279 = load ptr, ptr %t157
call void @fn_emit(ptr %t279)
call void @fn_emit(ptr @.str3660)
%t280 = load ptr, ptr %t161
call void @fn_emit(ptr %t280)
call void @fn_emit(ptr @.str3661)
%t281 = call ptr @fn_lbl(ptr @.str3662)
store ptr %t281, ptr %t282
%t283 = call ptr @fn_lbl(ptr @.str3663)
store ptr %t283, ptr %t284
%t285 = call ptr @fn_lbl(ptr @.str3664)
store ptr %t285, ptr %t286
call void @fn_emit(ptr @.str3665)
%t287 = load ptr, ptr %t282
call void @fn_emit(ptr %t287)
call void @fn_emit(ptr @.str3666)
%t288 = load ptr, ptr %t282
call void @fn_emit(ptr %t288)
call void @fn_emit(ptr @.str3667)
%t289 = load ptr, ptr %t145
%t290 = call ptr @fn_str_concat(ptr @.str3668, ptr %t289)
%t291 = call ptr @fn_emit_bind(ptr %t290)
store ptr %t291, ptr %t292
%t293 = load ptr, ptr %t292
%t294 = call ptr @fn_str_concat(ptr @.str3669, ptr %t293)
%t295 = call ptr @fn_str_concat(ptr %t294, ptr @.str3670)
%t296 = load ptr, ptr %t119
%t297 = call ptr @fn_str_concat(ptr %t295, ptr %t296)
%t298 = call ptr @fn_emit_bind(ptr %t297)
store ptr %t298, ptr %t299
call void @fn_emit(ptr @.str3671)
%t300 = load ptr, ptr %t299
call void @fn_emit(ptr %t300)
call void @fn_emit(ptr @.str3672)
%t301 = load ptr, ptr %t284
call void @fn_emit(ptr %t301)
call void @fn_emit(ptr @.str3673)
%t302 = load ptr, ptr %t286
call void @fn_emit(ptr %t302)
call void @fn_emit(ptr @.str3674)
%t303 = load ptr, ptr %t284
call void @fn_emit(ptr %t303)
call void @fn_emit(ptr @.str3675)
%t304 = load ptr, ptr %t11
%t305 = load ptr, ptr %t1
%t306 = load ptr, ptr %t292
%t307 = call ptr @fn_gep_at(ptr %t304, ptr %t305, ptr %t306)
store ptr %t307, ptr %t308
%t309 = load ptr, ptr %t1
%t310 = call ptr @fn_str_concat(ptr @.str3676, ptr %t309)
%t311 = call ptr @fn_str_concat(ptr %t310, ptr @.str3677)
%t312 = load ptr, ptr %t308
%t313 = call ptr @fn_str_concat(ptr %t311, ptr %t312)
%t314 = call ptr @fn_emit_bind(ptr %t313)
store ptr %t314, ptr %t315
%t316 = load ptr, ptr %t153
%t317 = call ptr @fn_str_concat(ptr @.str3678, ptr %t316)
%t318 = call ptr @fn_emit_bind(ptr %t317)
store ptr %t318, ptr %t319
%t320 = load ptr, ptr %t38
%t321 = load ptr, ptr %t1
%t322 = load ptr, ptr %t319
%t323 = call ptr @fn_gep_at(ptr %t320, ptr %t321, ptr %t322)
store ptr %t323, ptr %t324
call void @fn_emit(ptr @.str3679)
%t325 = load ptr, ptr %t1
call void @fn_emit(ptr %t325)
call void @fn_emit(ptr @.str3680)
%t326 = load ptr, ptr %t315
call void @fn_emit(ptr %t326)
call void @fn_emit(ptr @.str3681)
%t327 = load ptr, ptr %t324
call void @fn_emit(ptr %t327)
call void @fn_emit(ptr @.str3682)
%t328 = load ptr, ptr %t292
%t329 = call ptr @fn_str_concat(ptr @.str3683, ptr %t328)
%t330 = call ptr @fn_str_concat(ptr %t329, ptr @.str3684)
%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 @.str3685, ptr %t333, ptr %t334)
%t335 = load ptr, ptr %t319
%t336 = call ptr @fn_str_concat(ptr @.str3686, ptr %t335)
%t337 = call ptr @fn_str_concat(ptr %t336, ptr @.str3687)
%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 @.str3688, ptr %t340, ptr %t341)
call void @fn_emit(ptr @.str3689)
%t342 = load ptr, ptr %t282
call void @fn_emit(ptr %t342)
call void @fn_emit(ptr @.str3690)
%t343 = load ptr, ptr %t286
call void @fn_emit(ptr %t343)
call void @fn_emit(ptr @.str3691)
%t344 = call ptr @fn_lbl(ptr @.str3692)
store ptr %t344, ptr %t345
%t346 = call ptr @fn_lbl(ptr @.str3693)
store ptr %t346, ptr %t347
%t348 = call ptr @fn_lbl(ptr @.str3694)
store ptr %t348, ptr %t349
call void @fn_emit(ptr @.str3695)
%t350 = load ptr, ptr %t345
call void @fn_emit(ptr %t350)
call void @fn_emit(ptr @.str3696)
%t351 = load ptr, ptr %t345
call void @fn_emit(ptr %t351)
call void @fn_emit(ptr @.str3697)
%t352 = load ptr, ptr %t149
%t353 = call ptr @fn_str_concat(ptr @.str3698, ptr %t352)
%t354 = call ptr @fn_emit_bind(ptr %t353)
store ptr %t354, ptr %t355
%t356 = load ptr, ptr %t355
%t357 = call ptr @fn_str_concat(ptr @.str3699, ptr %t356)
%t358 = call ptr @fn_str_concat(ptr %t357, ptr @.str3700)
%t359 = load ptr, ptr %t143
%t360 = call ptr @fn_str_concat(ptr %t358, ptr %t359)
%t361 = call ptr @fn_emit_bind(ptr %t360)
store ptr %t361, ptr %t362
call void @fn_emit(ptr @.str3701)
%t363 = load ptr, ptr %t362
call void @fn_emit(ptr %t363)
call void @fn_emit(ptr @.str3702)
%t364 = load ptr, ptr %t347
call void @fn_emit(ptr %t364)
call void @fn_emit(ptr @.str3703)
%t365 = load ptr, ptr %t349
call void @fn_emit(ptr %t365)
call void @fn_emit(ptr @.str3704)
%t366 = load ptr, ptr %t347
call void @fn_emit(ptr %t366)
call void @fn_emit(ptr @.str3705)
%t367 = load ptr, ptr %t11
%t368 = load ptr, ptr %t1
%t369 = load ptr, ptr %t355
%t370 = call ptr @fn_gep_at(ptr %t367, ptr %t368, ptr %t369)
store ptr %t370, ptr %t371
%t372 = load ptr, ptr %t1
%t373 = call ptr @fn_str_concat(ptr @.str3706, ptr %t372)
%t374 = call ptr @fn_str_concat(ptr %t373, ptr @.str3707)
%t375 = load ptr, ptr %t371
%t376 = call ptr @fn_str_concat(ptr %t374, ptr %t375)
%t377 = call ptr @fn_emit_bind(ptr %t376)
store ptr %t377, ptr %t378
%t379 = load ptr, ptr %t153
%t380 = call ptr @fn_str_concat(ptr @.str3708, ptr %t379)
%t381 = call ptr @fn_emit_bind(ptr %t380)
store ptr %t381, ptr %t382
%t383 = load ptr, ptr %t38
%t384 = load ptr, ptr %t1
%t385 = load ptr, ptr %t382
%t386 = call ptr @fn_gep_at(ptr %t383, ptr %t384, ptr %t385)
store ptr %t386, ptr %t387
call void @fn_emit(ptr @.str3709)
%t388 = load ptr, ptr %t1
call void @fn_emit(ptr %t388)
call void @fn_emit(ptr @.str3710)
%t389 = load ptr, ptr %t378
call void @fn_emit(ptr %t389)
call void @fn_emit(ptr @.str3711)
%t390 = load ptr, ptr %t387
call void @fn_emit(ptr %t390)
call void @fn_emit(ptr @.str3712)
%t391 = load ptr, ptr %t355
%t392 = call ptr @fn_str_concat(ptr @.str3713, ptr %t391)
%t393 = call ptr @fn_str_concat(ptr %t392, ptr @.str3714)
%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 @.str3715, ptr %t396, ptr %t397)
%t398 = load ptr, ptr %t382
%t399 = call ptr @fn_str_concat(ptr @.str3716, ptr %t398)
%t400 = call ptr @fn_str_concat(ptr %t399, ptr @.str3717)
%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 @.str3718, ptr %t403, ptr %t404)
call void @fn_emit(ptr @.str3719)
%t405 = load ptr, ptr %t345
call void @fn_emit(ptr %t405)
call void @fn_emit(ptr @.str3720)
%t406 = load ptr, ptr %t349
call void @fn_emit(ptr %t406)
call void @fn_emit(ptr @.str3721)
%t407 = call ptr @fn_emit_alloca(ptr @.str3722)
store ptr %t407, ptr %t408
%t409 = load ptr, ptr %t84
%t410 = load ptr, ptr %t408
call void @fn_store_at(ptr @.str3723, ptr %t409, ptr %t410)
%t411 = call ptr @fn_lbl(ptr @.str3724)
store ptr %t411, ptr %t412
%t413 = call ptr @fn_lbl(ptr @.str3725)
store ptr %t413, ptr %t414
%t415 = call ptr @fn_lbl(ptr @.str3726)
store ptr %t415, ptr %t416
call void @fn_emit(ptr @.str3727)
%t417 = load ptr, ptr %t412
call void @fn_emit(ptr %t417)
call void @fn_emit(ptr @.str3728)
%t418 = load ptr, ptr %t412
call void @fn_emit(ptr %t418)
call void @fn_emit(ptr @.str3729)
%t419 = load ptr, ptr %t408
%t420 = call ptr @fn_str_concat(ptr @.str3730, ptr %t419)
%t421 = call ptr @fn_emit_bind(ptr %t420)
store ptr %t421, ptr %t422
%t423 = load ptr, ptr %t422
%t424 = call ptr @fn_str_concat(ptr @.str3731, ptr %t423)
%t425 = call ptr @fn_str_concat(ptr %t424, ptr @.str3732)
%t426 = load ptr, ptr %t143
%t427 = call ptr @fn_str_concat(ptr %t425, ptr %t426)
%t428 = call ptr @fn_emit_bind(ptr %t427)
store ptr %t428, ptr %t429
call void @fn_emit(ptr @.str3733)
%t430 = load ptr, ptr %t429
call void @fn_emit(ptr %t430)
call void @fn_emit(ptr @.str3734)
%t431 = load ptr, ptr %t414
call void @fn_emit(ptr %t431)
call void @fn_emit(ptr @.str3735)
%t432 = load ptr, ptr %t416
call void @fn_emit(ptr %t432)
call void @fn_emit(ptr @.str3736)
%t433 = load ptr, ptr %t414
call void @fn_emit(ptr %t433)
call void @fn_emit(ptr @.str3737)
%t434 = load ptr, ptr %t38
%t435 = load ptr, ptr %t1
%t436 = load ptr, ptr %t422
%t437 = call ptr @fn_gep_at(ptr %t434, ptr %t435, ptr %t436)
store ptr %t437, ptr %t438
%t439 = load ptr, ptr %t1
%t440 = call ptr @fn_str_concat(ptr @.str3738, ptr %t439)
%t441 = call ptr @fn_str_concat(ptr %t440, ptr @.str3739)
%t442 = load ptr, ptr %t438
%t443 = call ptr @fn_str_concat(ptr %t441, ptr %t442)
%t444 = call ptr @fn_emit_bind(ptr %t443)
store ptr %t444, ptr %t445
%t446 = load ptr, ptr %t11
%t447 = load ptr, ptr %t1
%t448 = load ptr, ptr %t422
%t449 = call ptr @fn_gep_at(ptr %t446, ptr %t447, ptr %t448)
store ptr %t449, ptr %t450
call void @fn_emit(ptr @.str3740)
%t451 = load ptr, ptr %t1
call void @fn_emit(ptr %t451)
call void @fn_emit(ptr @.str3741)
%t452 = load ptr, ptr %t445
call void @fn_emit(ptr %t452)
call void @fn_emit(ptr @.str3742)
%t453 = load ptr, ptr %t450
call void @fn_emit(ptr %t453)
call void @fn_emit(ptr @.str3743)
%t454 = load ptr, ptr %t422
%t455 = call ptr @fn_str_concat(ptr @.str3744, ptr %t454)
%t456 = call ptr @fn_str_concat(ptr %t455, ptr @.str3745)
%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 @.str3746, ptr %t459, ptr %t460)
call void @fn_emit(ptr @.str3747)
%t461 = load ptr, ptr %t412
call void @fn_emit(ptr %t461)
call void @fn_emit(ptr @.str3748)
%t462 = load ptr, ptr %t416
call void @fn_emit(ptr %t462)
call void @fn_emit(ptr @.str3749)
%t463 = load ptr, ptr %t84
%t464 = call ptr @fn_str_concat(ptr @.str3750, ptr %t463)
%t465 = call ptr @fn_str_concat(ptr %t464, ptr @.str3751)
%t466 = load ptr, ptr %t69
%t467 = call ptr @fn_str_concat(ptr %t465, ptr %t466)
%t468 = call ptr @fn_emit_bind(ptr %t467)
store ptr %t468, ptr %t469
%t470 = load ptr, ptr %t469
%t471 = load ptr, ptr %t71
call void @fn_store_at(ptr @.str3752, ptr %t470, ptr %t471)
call void @fn_emit(ptr @.str3753)
%t472 = load ptr, ptr %t74
call void @fn_emit(ptr %t472)
call void @fn_emit(ptr @.str3754)
%t473 = load ptr, ptr %t78
call void @fn_emit(ptr %t473)
call void @fn_emit(ptr @.str3755)
%t474 = load ptr, ptr %t69
%t475 = load ptr, ptr %t40
call void @fn_store_at(ptr @.str3756, ptr %t474, ptr %t475)
call void @fn_emit(ptr @.str3757)
%t476 = load ptr, ptr %t43
call void @fn_emit(ptr %t476)
call void @fn_emit(ptr @.str3758)
%t477 = load ptr, ptr %t47
call void @fn_emit(ptr %t477)
call void @fn_emit(ptr @.str3759)
call void @fn_emit(ptr @.str3760)
%t478 = load ptr, ptr %t38
call void @fn_emit(ptr %t478)
call void @fn_emit(ptr @.str3761)
br label %ret
ret:
ret void
}
define ptr @fn_sort_fn_arg(ptr %arg_meth, ptr %arg_e) {
entry:
%retval = alloca ptr
%t0 = alloca ptr
%t1 = alloca ptr
%t37 = alloca ptr
store ptr %arg_meth, ptr %t0
store ptr %arg_e, ptr %t1
%t2 = load ptr, ptr %t1
%t3 = getelementptr inbounds %Cmp_Node, ptr %t2, i32 0, i32 7
%t4 = load ptr, ptr %t3
%t5 = getelementptr inbounds %LSlice, ptr %t4, i32 0, i32 1
%t6 = load i32, ptr %t5
%t7 = icmp slt i32 %t6, 2
%t8 = zext i1 %t7 to i32
%t9 = icmp ne i32 %t8, 0
br i1 %t9, label %then0, label %ifend2
then0:
%t10 = load ptr, ptr %t0
%t11 = call ptr @fn_str_concat(ptr @.str3762, ptr %t10)
%t12 = call ptr @fn_str_concat(ptr %t11, ptr @.str3763)
call void @fn_perr(ptr %t12)
br label %ifend2
ifend2:
%t13 = load ptr, ptr %t1
%t14 = getelementptr inbounds %Cmp_Node, ptr %t13, i32 0, i32 7
%t15 = load ptr, ptr %t14
%t16 = getelementptr inbounds %LSlice, ptr %t15, i32 0, i32 0
%t17 = load ptr, ptr %t16
%t18 = getelementptr inbounds ptr, ptr %t17, i32 1
%t19 = load ptr, ptr %t18
%t20 = getelementptr inbounds %Cmp_Node, ptr %t19, i32 0, i32 0
%t21 = load i32, ptr %t20
%t22 = icmp ne i32 %t21, 33
%t23 = zext i1 %t22 to i32
%t24 = icmp ne i32 %t23, 0
br i1 %t24, label %then3, label %ifend5
then3:
%t25 = load ptr, ptr %t0
%t26 = call ptr @fn_str_concat(ptr @.str3764, ptr %t25)
%t27 = call ptr @fn_str_concat(ptr %t26, ptr @.str3765)
call void @fn_perr(ptr %t27)
br label %ifend5
ifend5:
%t28 = load ptr, ptr %t1
%t29 = getelementptr inbounds %Cmp_Node, ptr %t28, i32 0, i32 7
%t30 = load ptr, ptr %t29
%t31 = getelementptr inbounds %LSlice, ptr %t30, i32 0, i32 0
%t32 = load ptr, ptr %t31
%t33 = getelementptr inbounds ptr, ptr %t32, i32 1
%t34 = load ptr, ptr %t33
%t35 = getelementptr inbounds %Cmp_Node, ptr %t34, i32 0, i32 1
%t36 = load ptr, ptr %t35
store ptr %t36, ptr %t37
%t38 = load ptr, ptr %t37
%t39 = call ptr @fn_find_fn(ptr %t38)
%t40 = icmp eq ptr %t39, null
%t41 = zext i1 %t40 to i32
%t42 = icmp ne i32 %t41, 0
br i1 %t42, label %then6, label %ifend8
then6:
%t43 = load ptr, ptr %t0
%t44 = call ptr @fn_str_concat(ptr @.str3766, ptr %t43)
%t45 = call ptr @fn_str_concat(ptr %t44, ptr @.str3767)
%t46 = load ptr, ptr %t37
%t47 = call ptr @fn_str_concat(ptr %t45, ptr %t46)
%t48 = call ptr @fn_str_concat(ptr %t47, ptr @.str3768)
call void @fn_perr(ptr %t48)
br label %ifend8
ifend8:
%t49 = load ptr, ptr %t37
store ptr %t49, ptr %retval
br label %ret
ret:
%t50 = load ptr, ptr %retval
ret ptr %t50
}
define ptr @fn_emit_list_ns(ptr %arg_meth, ptr %arg_e) {
entry:
%retval = alloca ptr
%t0 = alloca ptr
%t1 = alloca ptr
%t20 = alloca ptr
%t35 = alloca ptr
%t38 = alloca ptr
%t42 = alloca ptr
%t45 = alloca ptr
%t57 = alloca ptr
%t72 = alloca ptr
%t77 = alloca ptr
%t82 = alloca ptr
%t97 = alloca ptr
%t102 = alloca ptr
%t107 = alloca ptr
%t114 = alloca ptr
%t131 = alloca ptr
%t140 = alloca ptr
%t147 = alloca ptr
%t154 = alloca ptr
%t161 = alloca ptr
%t168 = alloca ptr
%t176 = alloca i32
%t195 = alloca ptr
%t199 = alloca ptr
%t201 = alloca ptr
%t204 = alloca ptr
%t207 = alloca ptr
%t209 = alloca ptr
%t211 = alloca ptr
%t213 = alloca ptr
%t215 = alloca ptr
%t221 = alloca ptr
%t228 = alloca ptr
%t237 = alloca ptr
%t244 = alloca ptr
%t256 = alloca ptr
%t269 = alloca ptr
%t277 = alloca ptr
%t287 = alloca ptr
%t304 = alloca ptr
%t313 = alloca ptr
%t319 = alloca ptr
%t321 = alloca ptr
%t325 = alloca ptr
%t327 = alloca ptr
%t329 = alloca ptr
%t335 = alloca ptr
%t344 = alloca ptr
%t353 = alloca ptr
%t358 = alloca ptr
%t365 = alloca ptr
%t370 = alloca ptr
%t384 = alloca ptr
%t394 = alloca ptr
%t409 = alloca ptr
%t413 = alloca ptr
%t418 = alloca ptr
%t420 = alloca ptr
%t426 = alloca ptr
%t428 = alloca ptr
%t430 = alloca ptr
%t436 = alloca ptr
%t443 = alloca ptr
%t452 = alloca ptr
%t457 = alloca ptr
%t464 = alloca ptr
%t469 = alloca ptr
%t491 = alloca ptr
%t495 = alloca ptr
%t497 = alloca ptr
%t500 = alloca ptr
%t503 = alloca ptr
%t505 = alloca ptr
%t507 = alloca ptr
%t509 = alloca ptr
%t511 = alloca ptr
%t517 = alloca ptr
%t524 = alloca ptr
%t528 = alloca ptr
%t533 = alloca ptr
%t540 = alloca ptr
%t549 = alloca ptr
%t556 = alloca ptr
%t568 = alloca ptr
%t581 = alloca ptr
%t589 = alloca ptr
%t594 = alloca ptr
%t596 = alloca ptr
%t598 = alloca ptr
%t607 = alloca ptr
%t609 = alloca ptr
%t613 = alloca ptr
%t615 = alloca ptr
%t617 = alloca ptr
%t623 = alloca ptr
%t630 = alloca ptr
%t639 = alloca ptr
%t644 = alloca ptr
%t651 = alloca ptr
%t656 = alloca ptr
%t675 = alloca ptr
%t680 = alloca ptr
%t682 = alloca ptr
%t684 = alloca ptr
%t686 = alloca ptr
%t694 = alloca ptr
%t696 = alloca ptr
%t699 = alloca ptr
%t701 = alloca ptr
%t703 = alloca ptr
%t709 = alloca ptr
%t716 = alloca ptr
%t725 = alloca ptr
%t732 = alloca ptr
%t734 = alloca ptr
%t739 = alloca ptr
%t743 = alloca ptr
%t745 = alloca ptr
%t747 = alloca ptr
%t753 = alloca ptr
%t758 = alloca ptr
%t763 = alloca ptr
%t770 = alloca ptr
%t780 = alloca ptr
%t787 = alloca ptr
%t796 = alloca ptr
%t801 = alloca ptr
%t809 = alloca ptr
%t817 = alloca ptr
%t822 = alloca ptr
%t827 = alloca ptr
%t835 = alloca ptr
%t853 = alloca ptr
%t869 = alloca i32
%t883 = alloca ptr
%t886 = alloca ptr
%t904 = alloca ptr
%t905 = alloca i32
%t922 = alloca i32
%t935 = alloca ptr
%t937 = alloca ptr
%t940 = alloca ptr
%t945 = alloca ptr
%t949 = alloca ptr
%t951 = alloca ptr
%t953 = alloca ptr
%t959 = alloca ptr
%t963 = alloca ptr
%t970 = alloca ptr
%t979 = alloca ptr
%t984 = alloca ptr
%t991 = alloca ptr
%t998 = alloca ptr
%t1009 = alloca ptr
%t1016 = alloca ptr
store ptr %arg_meth, ptr %t0
store ptr %arg_e, ptr %t1
%t2 = load ptr, ptr %t0
%t3 = call i32 @fn_str_eq(ptr %t2, ptr @.str3769)
%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 @fn_str_eq(ptr %t7, ptr @.str3770)
%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 %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 0
%t16 = load ptr, ptr %t15
%t17 = getelementptr inbounds ptr, ptr %t16, i32 0
%t18 = load ptr, ptr %t17
%t19 = call ptr @fn_emit_expr(ptr %t18)
store ptr %t19, ptr %t20
%t21 = load ptr, ptr %t20
%t22 = getelementptr inbounds %Cmp_Val, ptr %t21, i32 0, i32 1
%t23 = load ptr, ptr %t22
%t24 = call i32 @fn_is_slice_ty(ptr %t23)
%t25 = icmp eq i32 %t24, 0
%t26 = zext i1 %t25 to i32
%t27 = icmp ne i32 %t26, 0
br i1 %t27, label %then6, label %ifend8
then6:
%t28 = load ptr, ptr %t0
%t29 = call ptr @fn_str_concat(ptr @.str3771, ptr %t28)
%t30 = call ptr @fn_str_concat(ptr %t29, ptr @.str3772)
call void @fn_perr(ptr %t30)
br label %ifend8
ifend8:
%t31 = load ptr, ptr %t20
%t32 = getelementptr inbounds %Cmp_Val, ptr %t31, i32 0, i32 1
%t33 = load ptr, ptr %t32
%t34 = call ptr @fn_slice_elem(ptr %t33)
store ptr %t34, ptr %t35
%t36 = load ptr, ptr %t35
%t37 = call ptr @fn_llty(ptr %t36)
store ptr %t37, ptr %t38
%t39 = load ptr, ptr %t20
%t40 = getelementptr inbounds %Cmp_Val, ptr %t39, i32 0, i32 0
%t41 = load ptr, ptr %t40
store ptr %t41, ptr %t42
%t43 = load ptr, ptr %t42
%t44 = call ptr @fn_slice_field(ptr %t43, i32 1)
store ptr %t44, ptr %t45
%t46 = load ptr, ptr %t0
%t47 = call i32 @fn_str_eq(ptr %t46, ptr @.str3773)
%t48 = icmp ne i32 %t47, 0
br i1 %t48, label %then9, label %ifend11
then9:
call void @fn_emit(ptr @.str3774)
%t49 = load ptr, ptr %t45
call void @fn_emit(ptr %t49)
call void @fn_emit(ptr @.str3775)
%t50 = call ptr @fn_val(ptr @.str3776, ptr @.str3777)
store ptr %t50, ptr %retval
br label %ret
ifend11:
%t51 = load ptr, ptr %t0
%t52 = call i32 @fn_str_eq(ptr %t51, ptr @.str3778)
%t53 = icmp ne i32 %t52, 0
br i1 %t53, label %then12, label %ifend14
then12:
%t54 = load ptr, ptr %t42
%t55 = load ptr, ptr %t38
%t56 = call ptr @fn_list_elem_addr(ptr %t54, ptr %t55, ptr @.str3779)
store ptr %t56, ptr %t57
%t58 = load ptr, ptr %t38
%t59 = call ptr @fn_str_concat(ptr @.str3780, ptr %t58)
%t60 = call ptr @fn_str_concat(ptr %t59, ptr @.str3781)
%t61 = load ptr, ptr %t57
%t62 = call ptr @fn_str_concat(ptr %t60, ptr %t61)
%t63 = call ptr @fn_emit_bind(ptr %t62)
%t64 = load ptr, ptr %t35
%t65 = call ptr @fn_val(ptr %t63, ptr %t64)
store ptr %t65, ptr %retval
br label %ret
ifend14:
%t66 = load ptr, ptr %t0
%t67 = call i32 @fn_str_eq(ptr %t66, ptr @.str3782)
%t68 = icmp ne i32 %t67, 0
br i1 %t68, label %then15, label %ifend17
then15:
%t69 = load ptr, ptr %t45
%t70 = call ptr @fn_str_concat(ptr @.str3783, ptr %t69)
%t71 = call ptr @fn_emit_bind(ptr %t70)
store ptr %t71, ptr %t72
%t73 = load ptr, ptr %t72
%t74 = call ptr @fn_str_concat(ptr @.str3784, ptr %t73)
%t75 = call ptr @fn_str_concat(ptr %t74, ptr @.str3785)
%t76 = call ptr @fn_emit_bind(ptr %t75)
store ptr %t76, ptr %t77
%t78 = load ptr, ptr %t42
%t79 = load ptr, ptr %t38
%t80 = load ptr, ptr %t77
%t81 = call ptr @fn_list_elem_addr(ptr %t78, ptr %t79, ptr %t80)
store ptr %t81, ptr %t82
%t83 = load ptr, ptr %t38
%t84 = call ptr @fn_str_concat(ptr @.str3786, ptr %t83)
%t85 = call ptr @fn_str_concat(ptr %t84, ptr @.str3787)
%t86 = load ptr, ptr %t82
%t87 = call ptr @fn_str_concat(ptr %t85, ptr %t86)
%t88 = call ptr @fn_emit_bind(ptr %t87)
%t89 = load ptr, ptr %t35
%t90 = call ptr @fn_val(ptr %t88, ptr %t89)
store ptr %t90, ptr %retval
br label %ret
ifend17:
%t91 = load ptr, ptr %t0
%t92 = call i32 @fn_str_eq(ptr %t91, ptr @.str3788)
%t93 = icmp ne i32 %t92, 0
br i1 %t93, label %then18, label %ifend20
then18:
%t94 = load ptr, ptr %t45
%t95 = call ptr @fn_str_concat(ptr @.str3789, ptr %t94)
%t96 = call ptr @fn_emit_bind(ptr %t95)
store ptr %t96, ptr %t97
%t98 = load ptr, ptr %t97
%t99 = call ptr @fn_str_concat(ptr @.str3790, ptr %t98)
%t100 = call ptr @fn_str_concat(ptr %t99, ptr @.str3791)
%t101 = call ptr @fn_emit_bind(ptr %t100)
store ptr %t101, ptr %t102
%t103 = load ptr, ptr %t42
%t104 = load ptr, ptr %t38
%t105 = load ptr, ptr %t102
%t106 = call ptr @fn_list_elem_addr(ptr %t103, ptr %t104, ptr %t105)
store ptr %t106, ptr %t107
%t108 = load ptr, ptr %t38
%t109 = call ptr @fn_str_concat(ptr @.str3792, ptr %t108)
%t110 = call ptr @fn_str_concat(ptr %t109, ptr @.str3793)
%t111 = load ptr, ptr %t107
%t112 = call ptr @fn_str_concat(ptr %t110, ptr %t111)
%t113 = call ptr @fn_emit_bind(ptr %t112)
store ptr %t113, ptr %t114
call void @fn_emit(ptr @.str3794)
%t115 = load ptr, ptr %t102
call void @fn_emit(ptr %t115)
call void @fn_emit(ptr @.str3795)
%t116 = load ptr, ptr %t45
call void @fn_emit(ptr %t116)
call void @fn_emit(ptr @.str3796)
%t117 = load ptr, ptr %t114
%t118 = load ptr, ptr %t35
%t119 = call ptr @fn_val(ptr %t117, ptr %t118)
store ptr %t119, ptr %retval
br label %ret
ifend20:
%t120 = load ptr, ptr %t0
%t121 = call i32 @fn_str_eq(ptr %t120, ptr @.str3797)
%t122 = icmp ne i32 %t121, 0
br i1 %t122, label %then21, label %ifend23
then21:
%t123 = load ptr, ptr %t1
%t124 = getelementptr inbounds %Cmp_Node, ptr %t123, i32 0, i32 7
%t125 = load ptr, ptr %t124
%t126 = getelementptr inbounds %LSlice, ptr %t125, i32 0, i32 0
%t127 = load ptr, ptr %t126
%t128 = getelementptr inbounds ptr, ptr %t127, i32 1
%t129 = load ptr, ptr %t128
%t130 = call ptr @fn_emit_expr(ptr %t129)
store ptr %t130, ptr %t131
%t132 = load ptr, ptr %t1
%t133 = getelementptr inbounds %Cmp_Node, ptr %t132, i32 0, i32 7
%t134 = load ptr, ptr %t133
%t135 = getelementptr inbounds %LSlice, ptr %t134, i32 0, i32 0
%t136 = load ptr, ptr %t135
%t137 = getelementptr inbounds ptr, ptr %t136, i32 2
%t138 = load ptr, ptr %t137
%t139 = call ptr @fn_emit_expr(ptr %t138)
store ptr %t139, ptr %t140
%t141 = load ptr, ptr %t42
%t142 = load ptr, ptr %t38
%t143 = load ptr, ptr %t131
%t144 = getelementptr inbounds %Cmp_Val, ptr %t143, i32 0, i32 0
%t145 = load ptr, ptr %t144
%t146 = call ptr @fn_list_elem_addr(ptr %t141, ptr %t142, ptr %t145)
store ptr %t146, ptr %t147
%t148 = load ptr, ptr %t42
%t149 = load ptr, ptr %t38
%t150 = load ptr, ptr %t140
%t151 = getelementptr inbounds %Cmp_Val, ptr %t150, i32 0, i32 0
%t152 = load ptr, ptr %t151
%t153 = call ptr @fn_list_elem_addr(ptr %t148, ptr %t149, ptr %t152)
store ptr %t153, ptr %t154
%t155 = load ptr, ptr %t38
%t156 = call ptr @fn_str_concat(ptr @.str3798, ptr %t155)
%t157 = call ptr @fn_str_concat(ptr %t156, ptr @.str3799)
%t158 = load ptr, ptr %t147
%t159 = call ptr @fn_str_concat(ptr %t157, ptr %t158)
%t160 = call ptr @fn_emit_bind(ptr %t159)
store ptr %t160, ptr %t161
%t162 = load ptr, ptr %t38
%t163 = call ptr @fn_str_concat(ptr @.str3800, ptr %t162)
%t164 = call ptr @fn_str_concat(ptr %t163, ptr @.str3801)
%t165 = load ptr, ptr %t154
%t166 = call ptr @fn_str_concat(ptr %t164, ptr %t165)
%t167 = call ptr @fn_emit_bind(ptr %t166)
store ptr %t167, ptr %t168
call void @fn_emit(ptr @.str3802)
%t169 = load ptr, ptr %t38
call void @fn_emit(ptr %t169)
call void @fn_emit(ptr @.str3803)
%t170 = load ptr, ptr %t168
call void @fn_emit(ptr %t170)
call void @fn_emit(ptr @.str3804)
%t171 = load ptr, ptr %t147
call void @fn_emit(ptr %t171)
call void @fn_emit(ptr @.str3805)
call void @fn_emit(ptr @.str3806)
%t172 = load ptr, ptr %t38
call void @fn_emit(ptr %t172)
call void @fn_emit(ptr @.str3807)
%t173 = load ptr, ptr %t161
call void @fn_emit(ptr %t173)
call void @fn_emit(ptr @.str3808)
%t174 = load ptr, ptr %t154
call void @fn_emit(ptr %t174)
call void @fn_emit(ptr @.str3809)
%t175 = call ptr @fn_val(ptr @.str3810, ptr @.str3811)
store ptr %t175, ptr %retval
br label %ret
ifend23:
%t177 = load ptr, ptr %t0
%t178 = call i32 @fn_str_eq(ptr %t177, ptr @.str3812)
%t179 = icmp ne i32 %t178, 0
%t180 = zext i1 %t179 to i32
store i32 %t180, ptr %t176
br i1 %t179, label %scend25, label %sc24
sc24:
%t181 = load ptr, ptr %t0
%t182 = call i32 @fn_str_eq(ptr %t181, ptr @.str3813)
%t183 = icmp ne i32 %t182, 0
%t184 = zext i1 %t183 to i32
store i32 %t184, ptr %t176
br label %scend25
scend25:
%t185 = load i32, ptr %t176
%t186 = icmp ne i32 %t185, 0
br i1 %t186, label %then26, label %ifend28
then26:
%t187 = load ptr, ptr %t1
%t188 = getelementptr inbounds %Cmp_Node, ptr %t187, i32 0, i32 7
%t189 = load ptr, ptr %t188
%t190 = getelementptr inbounds %LSlice, ptr %t189, i32 0, i32 0
%t191 = load ptr, ptr %t190
%t192 = getelementptr inbounds ptr, ptr %t191, i32 1
%t193 = load ptr, ptr %t192
%t194 = call ptr @fn_emit_expr(ptr %t193)
store ptr %t194, ptr %t195
%t196 = load ptr, ptr %t45
%t197 = call ptr @fn_str_concat(ptr @.str3814, ptr %t196)
%t198 = call ptr @fn_emit_bind(ptr %t197)
store ptr %t198, ptr %t199
%t200 = call ptr @fn_emit_alloca(ptr @.str3815)
store ptr %t200, ptr %t201
%t202 = load ptr, ptr %t201
call void @fn_store_at(ptr @.str3816, ptr @.str3817, ptr %t202)
%t203 = call ptr @fn_emit_alloca(ptr @.str3818)
store ptr %t203, ptr %t204
%t205 = load ptr, ptr %t204
call void @fn_store_at(ptr @.str3819, ptr @.str3820, ptr %t205)
%t206 = call ptr @fn_lbl(ptr @.str3821)
store ptr %t206, ptr %t207
%t208 = call ptr @fn_lbl(ptr @.str3822)
store ptr %t208, ptr %t209
%t210 = call ptr @fn_lbl(ptr @.str3823)
store ptr %t210, ptr %t211
%t212 = call ptr @fn_lbl(ptr @.str3824)
store ptr %t212, ptr %t213
%t214 = call ptr @fn_lbl(ptr @.str3825)
store ptr %t214, ptr %t215
call void @fn_emit(ptr @.str3826)
%t216 = load ptr, ptr %t207
call void @fn_emit(ptr %t216)
call void @fn_emit(ptr @.str3827)
%t217 = load ptr, ptr %t207
call void @fn_emit(ptr %t217)
call void @fn_emit(ptr @.str3828)
%t218 = load ptr, ptr %t204
%t219 = call ptr @fn_str_concat(ptr @.str3829, ptr %t218)
%t220 = call ptr @fn_emit_bind(ptr %t219)
store ptr %t220, ptr %t221
%t222 = load ptr, ptr %t221
%t223 = call ptr @fn_str_concat(ptr @.str3830, ptr %t222)
%t224 = call ptr @fn_str_concat(ptr %t223, ptr @.str3831)
%t225 = load ptr, ptr %t199
%t226 = call ptr @fn_str_concat(ptr %t224, ptr %t225)
%t227 = call ptr @fn_emit_bind(ptr %t226)
store ptr %t227, ptr %t228
call void @fn_emit(ptr @.str3832)
%t229 = load ptr, ptr %t228
call void @fn_emit(ptr %t229)
call void @fn_emit(ptr @.str3833)
%t230 = load ptr, ptr %t209
call void @fn_emit(ptr %t230)
call void @fn_emit(ptr @.str3834)
%t231 = load ptr, ptr %t215
call void @fn_emit(ptr %t231)
call void @fn_emit(ptr @.str3835)
%t232 = load ptr, ptr %t209
call void @fn_emit(ptr %t232)
call void @fn_emit(ptr @.str3836)
%t233 = load ptr, ptr %t42
%t234 = load ptr, ptr %t38
%t235 = load ptr, ptr %t221
%t236 = call ptr @fn_list_elem_addr(ptr %t233, ptr %t234, ptr %t235)
store ptr %t236, ptr %t237
%t238 = load ptr, ptr %t38
%t239 = call ptr @fn_str_concat(ptr @.str3837, ptr %t238)
%t240 = call ptr @fn_str_concat(ptr %t239, ptr @.str3838)
%t241 = load ptr, ptr %t237
%t242 = call ptr @fn_str_concat(ptr %t240, ptr %t241)
%t243 = call ptr @fn_emit_bind(ptr %t242)
store ptr %t243, ptr %t244
%t245 = load ptr, ptr %t38
%t246 = call ptr @fn_str_concat(ptr @.str3839, ptr %t245)
%t247 = call ptr @fn_str_concat(ptr %t246, ptr @.str3840)
%t248 = load ptr, ptr %t244
%t249 = call ptr @fn_str_concat(ptr %t247, ptr %t248)
%t250 = call ptr @fn_str_concat(ptr %t249, ptr @.str3841)
%t251 = load ptr, ptr %t195
%t252 = getelementptr inbounds %Cmp_Val, ptr %t251, i32 0, i32 0
%t253 = load ptr, ptr %t252
%t254 = call ptr @fn_str_concat(ptr %t250, ptr %t253)
%t255 = call ptr @fn_emit_bind(ptr %t254)
store ptr %t255, ptr %t256
call void @fn_emit(ptr @.str3842)
%t257 = load ptr, ptr %t256
call void @fn_emit(ptr %t257)
call void @fn_emit(ptr @.str3843)
%t258 = load ptr, ptr %t211
call void @fn_emit(ptr %t258)
call void @fn_emit(ptr @.str3844)
%t259 = load ptr, ptr %t213
call void @fn_emit(ptr %t259)
call void @fn_emit(ptr @.str3845)
%t260 = load ptr, ptr %t211
call void @fn_emit(ptr %t260)
call void @fn_emit(ptr @.str3846)
%t261 = load ptr, ptr %t221
%t262 = load ptr, ptr %t201
call void @fn_store_at(ptr @.str3847, ptr %t261, ptr %t262)
call void @fn_emit(ptr @.str3848)
%t263 = load ptr, ptr %t215
call void @fn_emit(ptr %t263)
call void @fn_emit(ptr @.str3849)
%t264 = load ptr, ptr %t213
call void @fn_emit(ptr %t264)
call void @fn_emit(ptr @.str3850)
%t265 = load ptr, ptr %t221
%t266 = call ptr @fn_str_concat(ptr @.str3851, ptr %t265)
%t267 = call ptr @fn_str_concat(ptr %t266, ptr @.str3852)
%t268 = call ptr @fn_emit_bind(ptr %t267)
store ptr %t268, ptr %t269
%t270 = load ptr, ptr %t269
%t271 = load ptr, ptr %t204
call void @fn_store_at(ptr @.str3853, ptr %t270, ptr %t271)
call void @fn_emit(ptr @.str3854)
%t272 = load ptr, ptr %t207
call void @fn_emit(ptr %t272)
call void @fn_emit(ptr @.str3855)
%t273 = load ptr, ptr %t215
call void @fn_emit(ptr %t273)
call void @fn_emit(ptr @.str3856)
%t274 = load ptr, ptr %t201
%t275 = call ptr @fn_str_concat(ptr @.str3857, ptr %t274)
%t276 = call ptr @fn_emit_bind(ptr %t275)
store ptr %t276, ptr %t277
%t278 = load ptr, ptr %t0
%t279 = call i32 @fn_str_eq(ptr %t278, ptr @.str3858)
%t280 = icmp ne i32 %t279, 0
br i1 %t280, label %then29, label %ifend31
then29:
%t281 = load ptr, ptr %t277
%t282 = call ptr @fn_val(ptr %t281, ptr @.str3859)
store ptr %t282, ptr %retval
br label %ret
ifend31:
%t283 = load ptr, ptr %t277
%t284 = call ptr @fn_str_concat(ptr @.str3860, ptr %t283)
%t285 = call ptr @fn_str_concat(ptr %t284, ptr @.str3861)
%t286 = call ptr @fn_emit_bind(ptr %t285)
store ptr %t286, ptr %t287
%t288 = load ptr, ptr %t287
%t289 = call ptr @fn_str_concat(ptr @.str3862, ptr %t288)
%t290 = call ptr @fn_str_concat(ptr %t289, ptr @.str3863)
%t291 = call ptr @fn_emit_bind(ptr %t290)
%t292 = call ptr @fn_val(ptr %t291, ptr @.str3864)
store ptr %t292, ptr %retval
br label %ret
ifend28:
%t293 = load ptr, ptr %t0
%t294 = call i32 @fn_str_eq(ptr %t293, ptr @.str3865)
%t295 = icmp ne i32 %t294, 0
br i1 %t295, label %then32, label %ifend34
then32:
%t296 = load ptr, ptr %t1
%t297 = getelementptr inbounds %Cmp_Node, ptr %t296, i32 0, i32 7
%t298 = load ptr, ptr %t297
%t299 = getelementptr inbounds %LSlice, ptr %t298, i32 0, i32 0
%t300 = load ptr, ptr %t299
%t301 = getelementptr inbounds ptr, ptr %t300, i32 1
%t302 = load ptr, ptr %t301
%t303 = call ptr @fn_emit_expr(ptr %t302)
store ptr %t303, ptr %t304
%t305 = load ptr, ptr %t1
%t306 = getelementptr inbounds %Cmp_Node, ptr %t305, i32 0, i32 7
%t307 = load ptr, ptr %t306
%t308 = getelementptr inbounds %LSlice, ptr %t307, i32 0, i32 0
%t309 = load ptr, ptr %t308
%t310 = getelementptr inbounds ptr, ptr %t309, i32 2
%t311 = load ptr, ptr %t310
%t312 = call ptr @fn_emit_expr(ptr %t311)
store ptr %t312, ptr %t313
%t314 = load ptr, ptr %t42
%t315 = load ptr, ptr %t38
call void @fn_list_grow_if_full(ptr %t314, ptr %t315)
%t316 = load ptr, ptr %t45
%t317 = call ptr @fn_str_concat(ptr @.str3866, ptr %t316)
%t318 = call ptr @fn_emit_bind(ptr %t317)
store ptr %t318, ptr %t319
%t320 = call ptr @fn_emit_alloca(ptr @.str3867)
store ptr %t320, ptr %t321
%t322 = load ptr, ptr %t319
%t323 = load ptr, ptr %t321
call void @fn_store_at(ptr @.str3868, ptr %t322, ptr %t323)
%t324 = call ptr @fn_lbl(ptr @.str3869)
store ptr %t324, ptr %t325
%t326 = call ptr @fn_lbl(ptr @.str3870)
store ptr %t326, ptr %t327
%t328 = call ptr @fn_lbl(ptr @.str3871)
store ptr %t328, ptr %t329
call void @fn_emit(ptr @.str3872)
%t330 = load ptr, ptr %t325
call void @fn_emit(ptr %t330)
call void @fn_emit(ptr @.str3873)
%t331 = load ptr, ptr %t325
call void @fn_emit(ptr %t331)
call void @fn_emit(ptr @.str3874)
%t332 = load ptr, ptr %t321
%t333 = call ptr @fn_str_concat(ptr @.str3875, ptr %t332)
%t334 = call ptr @fn_emit_bind(ptr %t333)
store ptr %t334, ptr %t335
%t336 = load ptr, ptr %t335
%t337 = call ptr @fn_str_concat(ptr @.str3876, ptr %t336)
%t338 = call ptr @fn_str_concat(ptr %t337, ptr @.str3877)
%t339 = load ptr, ptr %t304
%t340 = getelementptr inbounds %Cmp_Val, ptr %t339, i32 0, i32 0
%t341 = load ptr, ptr %t340
%t342 = call ptr @fn_str_concat(ptr %t338, ptr %t341)
%t343 = call ptr @fn_emit_bind(ptr %t342)
store ptr %t343, ptr %t344
call void @fn_emit(ptr @.str3878)
%t345 = load ptr, ptr %t344
call void @fn_emit(ptr %t345)
call void @fn_emit(ptr @.str3879)
%t346 = load ptr, ptr %t327
call void @fn_emit(ptr %t346)
call void @fn_emit(ptr @.str3880)
%t347 = load ptr, ptr %t329
call void @fn_emit(ptr %t347)
call void @fn_emit(ptr @.str3881)
%t348 = load ptr, ptr %t327
call void @fn_emit(ptr %t348)
call void @fn_emit(ptr @.str3882)
%t349 = load ptr, ptr %t335
%t350 = call ptr @fn_str_concat(ptr @.str3883, ptr %t349)
%t351 = call ptr @fn_str_concat(ptr %t350, ptr @.str3884)
%t352 = call ptr @fn_emit_bind(ptr %t351)
store ptr %t352, ptr %t353
%t354 = load ptr, ptr %t42
%t355 = load ptr, ptr %t38
%t356 = load ptr, ptr %t353
%t357 = call ptr @fn_list_elem_addr(ptr %t354, ptr %t355, ptr %t356)
store ptr %t357, ptr %t358
%t359 = load ptr, ptr %t38
%t360 = call ptr @fn_str_concat(ptr @.str3885, ptr %t359)
%t361 = call ptr @fn_str_concat(ptr %t360, ptr @.str3886)
%t362 = load ptr, ptr %t358
%t363 = call ptr @fn_str_concat(ptr %t361, ptr %t362)
%t364 = call ptr @fn_emit_bind(ptr %t363)
store ptr %t364, ptr %t365
%t366 = load ptr, ptr %t42
%t367 = load ptr, ptr %t38
%t368 = load ptr, ptr %t335
%t369 = call ptr @fn_list_elem_addr(ptr %t366, ptr %t367, ptr %t368)
store ptr %t369, ptr %t370
call void @fn_emit(ptr @.str3887)
%t371 = load ptr, ptr %t38
call void @fn_emit(ptr %t371)
call void @fn_emit(ptr @.str3888)
%t372 = load ptr, ptr %t365
call void @fn_emit(ptr %t372)
call void @fn_emit(ptr @.str3889)
%t373 = load ptr, ptr %t370
call void @fn_emit(ptr %t373)
call void @fn_emit(ptr @.str3890)
%t374 = load ptr, ptr %t353
%t375 = load ptr, ptr %t321
call void @fn_store_at(ptr @.str3891, ptr %t374, ptr %t375)
call void @fn_emit(ptr @.str3892)
%t376 = load ptr, ptr %t325
call void @fn_emit(ptr %t376)
call void @fn_emit(ptr @.str3893)
%t377 = load ptr, ptr %t329
call void @fn_emit(ptr %t377)
call void @fn_emit(ptr @.str3894)
%t378 = load ptr, ptr %t42
%t379 = load ptr, ptr %t38
%t380 = load ptr, ptr %t304
%t381 = getelementptr inbounds %Cmp_Val, ptr %t380, i32 0, i32 0
%t382 = load ptr, ptr %t381
%t383 = call ptr @fn_list_elem_addr(ptr %t378, ptr %t379, ptr %t382)
store ptr %t383, ptr %t384
call void @fn_emit(ptr @.str3895)
%t385 = load ptr, ptr %t38
call void @fn_emit(ptr %t385)
call void @fn_emit(ptr @.str3896)
%t386 = load ptr, ptr %t313
%t387 = getelementptr inbounds %Cmp_Val, ptr %t386, i32 0, i32 0
%t388 = load ptr, ptr %t387
call void @fn_emit(ptr %t388)
call void @fn_emit(ptr @.str3897)
%t389 = load ptr, ptr %t384
call void @fn_emit(ptr %t389)
call void @fn_emit(ptr @.str3898)
%t390 = load ptr, ptr %t319
%t391 = call ptr @fn_str_concat(ptr @.str3899, ptr %t390)
%t392 = call ptr @fn_str_concat(ptr %t391, ptr @.str3900)
%t393 = call ptr @fn_emit_bind(ptr %t392)
store ptr %t393, ptr %t394
call void @fn_emit(ptr @.str3901)
%t395 = load ptr, ptr %t394
call void @fn_emit(ptr %t395)
call void @fn_emit(ptr @.str3902)
%t396 = load ptr, ptr %t45
call void @fn_emit(ptr %t396)
call void @fn_emit(ptr @.str3903)
%t397 = call ptr @fn_val(ptr @.str3904, ptr @.str3905)
store ptr %t397, ptr %retval
br label %ret
ifend34:
%t398 = load ptr, ptr %t0
%t399 = call i32 @fn_str_eq(ptr %t398, ptr @.str3906)
%t400 = icmp ne i32 %t399, 0
br i1 %t400, label %then35, label %ifend37
then35:
%t401 = load ptr, ptr %t1
%t402 = getelementptr inbounds %Cmp_Node, ptr %t401, i32 0, i32 7
%t403 = load ptr, ptr %t402
%t404 = getelementptr inbounds %LSlice, ptr %t403, i32 0, i32 0
%t405 = load ptr, ptr %t404
%t406 = getelementptr inbounds ptr, ptr %t405, i32 1
%t407 = load ptr, ptr %t406
%t408 = call ptr @fn_emit_expr(ptr %t407)
store ptr %t408, ptr %t409
%t410 = load ptr, ptr %t45
%t411 = call ptr @fn_str_concat(ptr @.str3907, ptr %t410)
%t412 = call ptr @fn_emit_bind(ptr %t411)
store ptr %t412, ptr %t413
%t414 = load ptr, ptr %t413
%t415 = call ptr @fn_str_concat(ptr @.str3908, ptr %t414)
%t416 = call ptr @fn_str_concat(ptr %t415, ptr @.str3909)
%t417 = call ptr @fn_emit_bind(ptr %t416)
store ptr %t417, ptr %t418
%t419 = call ptr @fn_emit_alloca(ptr @.str3910)
store ptr %t419, ptr %t420
%t421 = load ptr, ptr %t409
%t422 = getelementptr inbounds %Cmp_Val, ptr %t421, i32 0, i32 0
%t423 = load ptr, ptr %t422
%t424 = load ptr, ptr %t420
call void @fn_store_at(ptr @.str3911, ptr %t423, ptr %t424)
%t425 = call ptr @fn_lbl(ptr @.str3912)
store ptr %t425, ptr %t426
%t427 = call ptr @fn_lbl(ptr @.str3913)
store ptr %t427, ptr %t428
%t429 = call ptr @fn_lbl(ptr @.str3914)
store ptr %t429, ptr %t430
call void @fn_emit(ptr @.str3915)
%t431 = load ptr, ptr %t426
call void @fn_emit(ptr %t431)
call void @fn_emit(ptr @.str3916)
%t432 = load ptr, ptr %t426
call void @fn_emit(ptr %t432)
call void @fn_emit(ptr @.str3917)
%t433 = load ptr, ptr %t420
%t434 = call ptr @fn_str_concat(ptr @.str3918, ptr %t433)
%t435 = call ptr @fn_emit_bind(ptr %t434)
store ptr %t435, ptr %t436
%t437 = load ptr, ptr %t436
%t438 = call ptr @fn_str_concat(ptr @.str3919, ptr %t437)
%t439 = call ptr @fn_str_concat(ptr %t438, ptr @.str3920)
%t440 = load ptr, ptr %t418
%t441 = call ptr @fn_str_concat(ptr %t439, ptr %t440)
%t442 = call ptr @fn_emit_bind(ptr %t441)
store ptr %t442, ptr %t443
call void @fn_emit(ptr @.str3921)
%t444 = load ptr, ptr %t443
call void @fn_emit(ptr %t444)
call void @fn_emit(ptr @.str3922)
%t445 = load ptr, ptr %t428
call void @fn_emit(ptr %t445)
call void @fn_emit(ptr @.str3923)
%t446 = load ptr, ptr %t430
call void @fn_emit(ptr %t446)
call void @fn_emit(ptr @.str3924)
%t447 = load ptr, ptr %t428
call void @fn_emit(ptr %t447)
call void @fn_emit(ptr @.str3925)
%t448 = load ptr, ptr %t436
%t449 = call ptr @fn_str_concat(ptr @.str3926, ptr %t448)
%t450 = call ptr @fn_str_concat(ptr %t449, ptr @.str3927)
%t451 = call ptr @fn_emit_bind(ptr %t450)
store ptr %t451, ptr %t452
%t453 = load ptr, ptr %t42
%t454 = load ptr, ptr %t38
%t455 = load ptr, ptr %t452
%t456 = call ptr @fn_list_elem_addr(ptr %t453, ptr %t454, ptr %t455)
store ptr %t456, ptr %t457
%t458 = load ptr, ptr %t38
%t459 = call ptr @fn_str_concat(ptr @.str3928, ptr %t458)
%t460 = call ptr @fn_str_concat(ptr %t459, ptr @.str3929)
%t461 = load ptr, ptr %t457
%t462 = call ptr @fn_str_concat(ptr %t460, ptr %t461)
%t463 = call ptr @fn_emit_bind(ptr %t462)
store ptr %t463, ptr %t464
%t465 = load ptr, ptr %t42
%t466 = load ptr, ptr %t38
%t467 = load ptr, ptr %t436
%t468 = call ptr @fn_list_elem_addr(ptr %t465, ptr %t466, ptr %t467)
store ptr %t468, ptr %t469
call void @fn_emit(ptr @.str3930)
%t470 = load ptr, ptr %t38
call void @fn_emit(ptr %t470)
call void @fn_emit(ptr @.str3931)
%t471 = load ptr, ptr %t464
call void @fn_emit(ptr %t471)
call void @fn_emit(ptr @.str3932)
%t472 = load ptr, ptr %t469
call void @fn_emit(ptr %t472)
call void @fn_emit(ptr @.str3933)
%t473 = load ptr, ptr %t452
%t474 = load ptr, ptr %t420
call void @fn_store_at(ptr @.str3934, ptr %t473, ptr %t474)
call void @fn_emit(ptr @.str3935)
%t475 = load ptr, ptr %t426
call void @fn_emit(ptr %t475)
call void @fn_emit(ptr @.str3936)
%t476 = load ptr, ptr %t430
call void @fn_emit(ptr %t476)
call void @fn_emit(ptr @.str3937)
call void @fn_emit(ptr @.str3938)
%t477 = load ptr, ptr %t418
call void @fn_emit(ptr %t477)
call void @fn_emit(ptr @.str3939)
%t478 = load ptr, ptr %t45
call void @fn_emit(ptr %t478)
call void @fn_emit(ptr @.str3940)
%t479 = call ptr @fn_val(ptr @.str3941, ptr @.str3942)
store ptr %t479, ptr %retval
br label %ret
ifend37:
%t480 = load ptr, ptr %t0
%t481 = call i32 @fn_str_eq(ptr %t480, ptr @.str3943)
%t482 = icmp ne i32 %t481, 0
br i1 %t482, label %then38, label %ifend40
then38:
%t483 = load ptr, ptr %t1
%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 0
%t487 = load ptr, ptr %t486
%t488 = getelementptr inbounds ptr, ptr %t487, i32 1
%t489 = load ptr, ptr %t488
%t490 = call ptr @fn_emit_expr(ptr %t489)
store ptr %t490, ptr %t491
%t492 = load ptr, ptr %t45
%t493 = call ptr @fn_str_concat(ptr @.str3944, ptr %t492)
%t494 = call ptr @fn_emit_bind(ptr %t493)
store ptr %t494, ptr %t495
%t496 = call ptr @fn_emit_alloca(ptr @.str3945)
store ptr %t496, ptr %t497
%t498 = load ptr, ptr %t497
call void @fn_store_at(ptr @.str3946, ptr @.str3947, ptr %t498)
%t499 = call ptr @fn_emit_alloca(ptr @.str3948)
store ptr %t499, ptr %t500
%t501 = load ptr, ptr %t500
call void @fn_store_at(ptr @.str3949, ptr @.str3950, ptr %t501)
%t502 = call ptr @fn_lbl(ptr @.str3951)
store ptr %t502, ptr %t503
%t504 = call ptr @fn_lbl(ptr @.str3952)
store ptr %t504, ptr %t505
%t506 = call ptr @fn_lbl(ptr @.str3953)
store ptr %t506, ptr %t507
%t508 = call ptr @fn_lbl(ptr @.str3954)
store ptr %t508, ptr %t509
%t510 = call ptr @fn_lbl(ptr @.str3955)
store ptr %t510, ptr %t511
call void @fn_emit(ptr @.str3956)
%t512 = load ptr, ptr %t503
call void @fn_emit(ptr %t512)
call void @fn_emit(ptr @.str3957)
%t513 = load ptr, ptr %t503
call void @fn_emit(ptr %t513)
call void @fn_emit(ptr @.str3958)
%t514 = load ptr, ptr %t500
%t515 = call ptr @fn_str_concat(ptr @.str3959, ptr %t514)
%t516 = call ptr @fn_emit_bind(ptr %t515)
store ptr %t516, ptr %t517
%t518 = load ptr, ptr %t517
%t519 = call ptr @fn_str_concat(ptr @.str3960, ptr %t518)
%t520 = call ptr @fn_str_concat(ptr %t519, ptr @.str3961)
%t521 = load ptr, ptr %t495
%t522 = call ptr @fn_str_concat(ptr %t520, ptr %t521)
%t523 = call ptr @fn_emit_bind(ptr %t522)
store ptr %t523, ptr %t524
%t525 = load ptr, ptr %t497
%t526 = call ptr @fn_str_concat(ptr @.str3962, ptr %t525)
%t527 = call ptr @fn_emit_bind(ptr %t526)
store ptr %t527, ptr %t528
%t529 = load ptr, ptr %t528
%t530 = call ptr @fn_str_concat(ptr @.str3963, ptr %t529)
%t531 = call ptr @fn_str_concat(ptr %t530, ptr @.str3964)
%t532 = call ptr @fn_emit_bind(ptr %t531)
store ptr %t532, ptr %t533
%t534 = load ptr, ptr %t524
%t535 = call ptr @fn_str_concat(ptr @.str3965, ptr %t534)
%t536 = call ptr @fn_str_concat(ptr %t535, ptr @.str3966)
%t537 = load ptr, ptr %t533
%t538 = call ptr @fn_str_concat(ptr %t536, ptr %t537)
%t539 = call ptr @fn_emit_bind(ptr %t538)
store ptr %t539, ptr %t540
call void @fn_emit(ptr @.str3967)
%t541 = load ptr, ptr %t540
call void @fn_emit(ptr %t541)
call void @fn_emit(ptr @.str3968)
%t542 = load ptr, ptr %t505
call void @fn_emit(ptr %t542)
call void @fn_emit(ptr @.str3969)
%t543 = load ptr, ptr %t511
call void @fn_emit(ptr %t543)
call void @fn_emit(ptr @.str3970)
%t544 = load ptr, ptr %t505
call void @fn_emit(ptr %t544)
call void @fn_emit(ptr @.str3971)
%t545 = load ptr, ptr %t42
%t546 = load ptr, ptr %t38
%t547 = load ptr, ptr %t517
%t548 = call ptr @fn_list_elem_addr(ptr %t545, ptr %t546, ptr %t547)
store ptr %t548, ptr %t549
%t550 = load ptr, ptr %t38
%t551 = call ptr @fn_str_concat(ptr @.str3972, ptr %t550)
%t552 = call ptr @fn_str_concat(ptr %t551, ptr @.str3973)
%t553 = load ptr, ptr %t549
%t554 = call ptr @fn_str_concat(ptr %t552, ptr %t553)
%t555 = call ptr @fn_emit_bind(ptr %t554)
store ptr %t555, ptr %t556
%t557 = load ptr, ptr %t38
%t558 = call ptr @fn_str_concat(ptr @.str3974, ptr %t557)
%t559 = call ptr @fn_str_concat(ptr %t558, ptr @.str3975)
%t560 = load ptr, ptr %t556
%t561 = call ptr @fn_str_concat(ptr %t559, ptr %t560)
%t562 = call ptr @fn_str_concat(ptr %t561, ptr @.str3976)
%t563 = load ptr, ptr %t491
%t564 = getelementptr inbounds %Cmp_Val, ptr %t563, i32 0, i32 0
%t565 = load ptr, ptr %t564
%t566 = call ptr @fn_str_concat(ptr %t562, ptr %t565)
%t567 = call ptr @fn_emit_bind(ptr %t566)
store ptr %t567, ptr %t568
call void @fn_emit(ptr @.str3977)
%t569 = load ptr, ptr %t568
call void @fn_emit(ptr %t569)
call void @fn_emit(ptr @.str3978)
%t570 = load ptr, ptr %t507
call void @fn_emit(ptr %t570)
call void @fn_emit(ptr @.str3979)
%t571 = load ptr, ptr %t509
call void @fn_emit(ptr %t571)
call void @fn_emit(ptr @.str3980)
%t572 = load ptr, ptr %t507
call void @fn_emit(ptr %t572)
call void @fn_emit(ptr @.str3981)
%t573 = load ptr, ptr %t517
%t574 = load ptr, ptr %t497
call void @fn_store_at(ptr @.str3982, ptr %t573, ptr %t574)
call void @fn_emit(ptr @.str3983)
%t575 = load ptr, ptr %t503
call void @fn_emit(ptr %t575)
call void @fn_emit(ptr @.str3984)
%t576 = load ptr, ptr %t509
call void @fn_emit(ptr %t576)
call void @fn_emit(ptr @.str3985)
%t577 = load ptr, ptr %t517
%t578 = call ptr @fn_str_concat(ptr @.str3986, ptr %t577)
%t579 = call ptr @fn_str_concat(ptr %t578, ptr @.str3987)
%t580 = call ptr @fn_emit_bind(ptr %t579)
store ptr %t580, ptr %t581
%t582 = load ptr, ptr %t581
%t583 = load ptr, ptr %t500
call void @fn_store_at(ptr @.str3988, ptr %t582, ptr %t583)
call void @fn_emit(ptr @.str3989)
%t584 = load ptr, ptr %t503
call void @fn_emit(ptr %t584)
call void @fn_emit(ptr @.str3990)
%t585 = load ptr, ptr %t511
call void @fn_emit(ptr %t585)
call void @fn_emit(ptr @.str3991)
%t586 = load ptr, ptr %t497
%t587 = call ptr @fn_str_concat(ptr @.str3992, ptr %t586)
%t588 = call ptr @fn_emit_bind(ptr %t587)
store ptr %t588, ptr %t589
%t590 = load ptr, ptr %t589
%t591 = call ptr @fn_str_concat(ptr @.str3993, ptr %t590)
%t592 = call ptr @fn_str_concat(ptr %t591, ptr @.str3994)
%t593 = call ptr @fn_emit_bind(ptr %t592)
store ptr %t593, ptr %t594
%t595 = call ptr @fn_lbl(ptr @.str3995)
store ptr %t595, ptr %t596
%t597 = call ptr @fn_lbl(ptr @.str3996)
store ptr %t597, ptr %t598
call void @fn_emit(ptr @.str3997)
%t599 = load ptr, ptr %t594
call void @fn_emit(ptr %t599)
call void @fn_emit(ptr @.str3998)
%t600 = load ptr, ptr %t596
call void @fn_emit(ptr %t600)
call void @fn_emit(ptr @.str3999)
%t601 = load ptr, ptr %t598
call void @fn_emit(ptr %t601)
call void @fn_emit(ptr @.str4000)
%t602 = load ptr, ptr %t596
call void @fn_emit(ptr %t602)
call void @fn_emit(ptr @.str4001)
%t603 = load ptr, ptr %t495
%t604 = call ptr @fn_str_concat(ptr @.str4002, ptr %t603)
%t605 = call ptr @fn_str_concat(ptr %t604, ptr @.str4003)
%t606 = call ptr @fn_emit_bind(ptr %t605)
store ptr %t606, ptr %t607
%t608 = call ptr @fn_emit_alloca(ptr @.str4004)
store ptr %t608, ptr %t609
%t610 = load ptr, ptr %t589
%t611 = load ptr, ptr %t609
call void @fn_store_at(ptr @.str4005, ptr %t610, ptr %t611)
%t612 = call ptr @fn_lbl(ptr @.str4006)
store ptr %t612, ptr %t613
%t614 = call ptr @fn_lbl(ptr @.str4007)
store ptr %t614, ptr %t615
%t616 = call ptr @fn_lbl(ptr @.str4008)
store ptr %t616, ptr %t617
call void @fn_emit(ptr @.str4009)
%t618 = load ptr, ptr %t613
call void @fn_emit(ptr %t618)
call void @fn_emit(ptr @.str4010)
%t619 = load ptr, ptr %t613
call void @fn_emit(ptr %t619)
call void @fn_emit(ptr @.str4011)
%t620 = load ptr, ptr %t609
%t621 = call ptr @fn_str_concat(ptr @.str4012, ptr %t620)
%t622 = call ptr @fn_emit_bind(ptr %t621)
store ptr %t622, ptr %t623
%t624 = load ptr, ptr %t623
%t625 = call ptr @fn_str_concat(ptr @.str4013, ptr %t624)
%t626 = call ptr @fn_str_concat(ptr %t625, ptr @.str4014)
%t627 = load ptr, ptr %t607
%t628 = call ptr @fn_str_concat(ptr %t626, ptr %t627)
%t629 = call ptr @fn_emit_bind(ptr %t628)
store ptr %t629, ptr %t630
call void @fn_emit(ptr @.str4015)
%t631 = load ptr, ptr %t630
call void @fn_emit(ptr %t631)
call void @fn_emit(ptr @.str4016)
%t632 = load ptr, ptr %t615
call void @fn_emit(ptr %t632)
call void @fn_emit(ptr @.str4017)
%t633 = load ptr, ptr %t617
call void @fn_emit(ptr %t633)
call void @fn_emit(ptr @.str4018)
%t634 = load ptr, ptr %t615
call void @fn_emit(ptr %t634)
call void @fn_emit(ptr @.str4019)
%t635 = load ptr, ptr %t623
%t636 = call ptr @fn_str_concat(ptr @.str4020, ptr %t635)
%t637 = call ptr @fn_str_concat(ptr %t636, ptr @.str4021)
%t638 = call ptr @fn_emit_bind(ptr %t637)
store ptr %t638, ptr %t639
%t640 = load ptr, ptr %t42
%t641 = load ptr, ptr %t38
%t642 = load ptr, ptr %t639
%t643 = call ptr @fn_list_elem_addr(ptr %t640, ptr %t641, ptr %t642)
store ptr %t643, ptr %t644
%t645 = load ptr, ptr %t38
%t646 = call ptr @fn_str_concat(ptr @.str4022, ptr %t645)
%t647 = call ptr @fn_str_concat(ptr %t646, ptr @.str4023)
%t648 = load ptr, ptr %t644
%t649 = call ptr @fn_str_concat(ptr %t647, ptr %t648)
%t650 = call ptr @fn_emit_bind(ptr %t649)
store ptr %t650, ptr %t651
%t652 = load ptr, ptr %t42
%t653 = load ptr, ptr %t38
%t654 = load ptr, ptr %t623
%t655 = call ptr @fn_list_elem_addr(ptr %t652, ptr %t653, ptr %t654)
store ptr %t655, ptr %t656
call void @fn_emit(ptr @.str4024)
%t657 = load ptr, ptr %t38
call void @fn_emit(ptr %t657)
call void @fn_emit(ptr @.str4025)
%t658 = load ptr, ptr %t651
call void @fn_emit(ptr %t658)
call void @fn_emit(ptr @.str4026)
%t659 = load ptr, ptr %t656
call void @fn_emit(ptr %t659)
call void @fn_emit(ptr @.str4027)
%t660 = load ptr, ptr %t639
%t661 = load ptr, ptr %t609
call void @fn_store_at(ptr @.str4028, ptr %t660, ptr %t661)
call void @fn_emit(ptr @.str4029)
%t662 = load ptr, ptr %t613
call void @fn_emit(ptr %t662)
call void @fn_emit(ptr @.str4030)
%t663 = load ptr, ptr %t617
call void @fn_emit(ptr %t663)
call void @fn_emit(ptr @.str4031)
call void @fn_emit(ptr @.str4032)
%t664 = load ptr, ptr %t607
call void @fn_emit(ptr %t664)
call void @fn_emit(ptr @.str4033)
%t665 = load ptr, ptr %t45
call void @fn_emit(ptr %t665)
call void @fn_emit(ptr @.str4034)
call void @fn_emit(ptr @.str4035)
%t666 = load ptr, ptr %t598
call void @fn_emit(ptr %t666)
call void @fn_emit(ptr @.str4036)
%t667 = load ptr, ptr %t598
call void @fn_emit(ptr %t667)
call void @fn_emit(ptr @.str4037)
%t668 = call ptr @fn_val(ptr @.str4038, ptr @.str4039)
store ptr %t668, ptr %retval
br label %ret
ifend40:
%t669 = load ptr, ptr %t0
%t670 = call i32 @fn_str_eq(ptr %t669, ptr @.str4040)
%t671 = icmp ne i32 %t670, 0
br i1 %t671, label %then41, label %ifend43
then41:
%t672 = load ptr, ptr %t45
%t673 = call ptr @fn_str_concat(ptr @.str4041, ptr %t672)
%t674 = call ptr @fn_emit_bind(ptr %t673)
store ptr %t674, ptr %t675
%t676 = load ptr, ptr %t675
%t677 = call ptr @fn_str_concat(ptr @.str4042, ptr %t676)
%t678 = call ptr @fn_str_concat(ptr %t677, ptr @.str4043)
%t679 = call ptr @fn_emit_bind(ptr %t678)
store ptr %t679, ptr %t680
%t681 = call ptr @fn_lbl(ptr @.str4044)
store ptr %t681, ptr %t682
%t683 = call ptr @fn_lbl(ptr @.str4045)
store ptr %t683, ptr %t684
%t685 = call ptr @fn_lbl(ptr @.str4046)
store ptr %t685, ptr %t686
call void @fn_emit(ptr @.str4047)
%t687 = load ptr, ptr %t680
call void @fn_emit(ptr %t687)
call void @fn_emit(ptr @.str4048)
%t688 = load ptr, ptr %t682
call void @fn_emit(ptr %t688)
call void @fn_emit(ptr @.str4049)
%t689 = load ptr, ptr %t684
call void @fn_emit(ptr %t689)
call void @fn_emit(ptr @.str4050)
%t690 = load ptr, ptr %t682
call void @fn_emit(ptr %t690)
call void @fn_emit(ptr @.str4051)
%t691 = load ptr, ptr %t45
%t692 = call ptr @fn_str_concat(ptr @.str4052, ptr %t691)
%t693 = call ptr @fn_emit_bind(ptr %t692)
store ptr %t693, ptr %t694
%t695 = call ptr @fn_emit_alloca(ptr @.str4053)
store ptr %t695, ptr %t696
%t697 = load ptr, ptr %t696
call void @fn_store_at(ptr @.str4054, ptr @.str4055, ptr %t697)
%t698 = call ptr @fn_lbl(ptr @.str4056)
store ptr %t698, ptr %t699
%t700 = call ptr @fn_lbl(ptr @.str4057)
store ptr %t700, ptr %t701
%t702 = call ptr @fn_lbl(ptr @.str4058)
store ptr %t702, ptr %t703
call void @fn_emit(ptr @.str4059)
%t704 = load ptr, ptr %t699
call void @fn_emit(ptr %t704)
call void @fn_emit(ptr @.str4060)
%t705 = load ptr, ptr %t699
call void @fn_emit(ptr %t705)
call void @fn_emit(ptr @.str4061)
%t706 = load ptr, ptr %t696
%t707 = call ptr @fn_str_concat(ptr @.str4062, ptr %t706)
%t708 = call ptr @fn_emit_bind(ptr %t707)
store ptr %t708, ptr %t709
%t710 = load ptr, ptr %t709
%t711 = call ptr @fn_str_concat(ptr @.str4063, ptr %t710)
%t712 = call ptr @fn_str_concat(ptr %t711, ptr @.str4064)
%t713 = load ptr, ptr %t694
%t714 = call ptr @fn_str_concat(ptr %t712, ptr %t713)
%t715 = call ptr @fn_emit_bind(ptr %t714)
store ptr %t715, ptr %t716
call void @fn_emit(ptr @.str4065)
%t717 = load ptr, ptr %t716
call void @fn_emit(ptr %t717)
call void @fn_emit(ptr @.str4066)
%t718 = load ptr, ptr %t701
call void @fn_emit(ptr %t718)
call void @fn_emit(ptr @.str4067)
%t719 = load ptr, ptr %t703
call void @fn_emit(ptr %t719)
call void @fn_emit(ptr @.str4068)
%t720 = load ptr, ptr %t701
call void @fn_emit(ptr %t720)
call void @fn_emit(ptr @.str4069)
%t721 = load ptr, ptr %t42
%t722 = load ptr, ptr %t38
%t723 = load ptr, ptr %t709
%t724 = call ptr @fn_list_elem_addr(ptr %t721, ptr %t722, ptr %t723)
store ptr %t724, ptr %t725
%t726 = load ptr, ptr %t38
%t727 = call ptr @fn_str_concat(ptr @.str4070, ptr %t726)
%t728 = call ptr @fn_str_concat(ptr %t727, ptr @.str4071)
%t729 = load ptr, ptr %t725
%t730 = call ptr @fn_str_concat(ptr %t728, ptr %t729)
%t731 = call ptr @fn_emit_bind(ptr %t730)
store ptr %t731, ptr %t732
%t733 = call ptr @fn_emit_alloca(ptr @.str4072)
store ptr %t733, ptr %t734
%t735 = load ptr, ptr %t709
%t736 = call ptr @fn_str_concat(ptr @.str4073, ptr %t735)
%t737 = call ptr @fn_str_concat(ptr %t736, ptr @.str4074)
%t738 = call ptr @fn_emit_bind(ptr %t737)
store ptr %t738, ptr %t739
%t740 = load ptr, ptr %t739
%t741 = load ptr, ptr %t734
call void @fn_store_at(ptr @.str4075, ptr %t740, ptr %t741)
%t742 = call ptr @fn_lbl(ptr @.str4076)
store ptr %t742, ptr %t743
%t744 = call ptr @fn_lbl(ptr @.str4077)
store ptr %t744, ptr %t745
%t746 = call ptr @fn_lbl(ptr @.str4078)
store ptr %t746, ptr %t747
call void @fn_emit(ptr @.str4079)
%t748 = load ptr, ptr %t743
call void @fn_emit(ptr %t748)
call void @fn_emit(ptr @.str4080)
%t749 = load ptr, ptr %t743
call void @fn_emit(ptr %t749)
call void @fn_emit(ptr @.str4081)
%t750 = load ptr, ptr %t734
%t751 = call ptr @fn_str_concat(ptr @.str4082, ptr %t750)
%t752 = call ptr @fn_emit_bind(ptr %t751)
store ptr %t752, ptr %t753
%t754 = load ptr, ptr %t753
%t755 = call ptr @fn_str_concat(ptr @.str4083, ptr %t754)
%t756 = call ptr @fn_str_concat(ptr %t755, ptr @.str4084)
%t757 = call ptr @fn_emit_bind(ptr %t756)
store ptr %t757, ptr %t758
%t759 = load ptr, ptr %t42
%t760 = load ptr, ptr %t38
%t761 = load ptr, ptr %t753
%t762 = call ptr @fn_list_elem_addr(ptr %t759, ptr %t760, ptr %t761)
store ptr %t762, ptr %t763
%t764 = load ptr, ptr %t38
%t765 = call ptr @fn_str_concat(ptr @.str4085, ptr %t764)
%t766 = call ptr @fn_str_concat(ptr %t765, ptr @.str4086)
%t767 = load ptr, ptr %t763
%t768 = call ptr @fn_str_concat(ptr %t766, ptr %t767)
%t769 = call ptr @fn_emit_bind(ptr %t768)
store ptr %t769, ptr %t770
%t771 = load ptr, ptr %t38
%t772 = call ptr @fn_str_concat(ptr @.str4087, ptr %t771)
%t773 = call ptr @fn_str_concat(ptr %t772, ptr @.str4088)
%t774 = load ptr, ptr %t770
%t775 = call ptr @fn_str_concat(ptr %t773, ptr %t774)
%t776 = call ptr @fn_str_concat(ptr %t775, ptr @.str4089)
%t777 = load ptr, ptr %t732
%t778 = call ptr @fn_str_concat(ptr %t776, ptr %t777)
%t779 = call ptr @fn_emit_bind(ptr %t778)
store ptr %t779, ptr %t780
%t781 = load ptr, ptr %t758
%t782 = call ptr @fn_str_concat(ptr @.str4090, ptr %t781)
%t783 = call ptr @fn_str_concat(ptr %t782, ptr @.str4091)
%t784 = load ptr, ptr %t780
%t785 = call ptr @fn_str_concat(ptr %t783, ptr %t784)
%t786 = call ptr @fn_emit_bind(ptr %t785)
store ptr %t786, ptr %t787
call void @fn_emit(ptr @.str4092)
%t788 = load ptr, ptr %t787
call void @fn_emit(ptr %t788)
call void @fn_emit(ptr @.str4093)
%t789 = load ptr, ptr %t745
call void @fn_emit(ptr %t789)
call void @fn_emit(ptr @.str4094)
%t790 = load ptr, ptr %t747
call void @fn_emit(ptr %t790)
call void @fn_emit(ptr @.str4095)
%t791 = load ptr, ptr %t745
call void @fn_emit(ptr %t791)
call void @fn_emit(ptr @.str4096)
%t792 = load ptr, ptr %t753
%t793 = call ptr @fn_str_concat(ptr @.str4097, ptr %t792)
%t794 = call ptr @fn_str_concat(ptr %t793, ptr @.str4098)
%t795 = call ptr @fn_emit_bind(ptr %t794)
store ptr %t795, ptr %t796
%t797 = load ptr, ptr %t42
%t798 = load ptr, ptr %t38
%t799 = load ptr, ptr %t796
%t800 = call ptr @fn_list_elem_addr(ptr %t797, ptr %t798, ptr %t799)
store ptr %t800, ptr %t801
call void @fn_emit(ptr @.str4099)
%t802 = load ptr, ptr %t38
call void @fn_emit(ptr %t802)
call void @fn_emit(ptr @.str4100)
%t803 = load ptr, ptr %t770
call void @fn_emit(ptr %t803)
call void @fn_emit(ptr @.str4101)
%t804 = load ptr, ptr %t801
call void @fn_emit(ptr %t804)
call void @fn_emit(ptr @.str4102)
%t805 = load ptr, ptr %t753
%t806 = call ptr @fn_str_concat(ptr @.str4103, ptr %t805)
%t807 = call ptr @fn_str_concat(ptr %t806, ptr @.str4104)
%t808 = call ptr @fn_emit_bind(ptr %t807)
store ptr %t808, ptr %t809
%t810 = load ptr, ptr %t809
%t811 = load ptr, ptr %t734
call void @fn_store_at(ptr @.str4105, ptr %t810, ptr %t811)
call void @fn_emit(ptr @.str4106)
%t812 = load ptr, ptr %t743
call void @fn_emit(ptr %t812)
call void @fn_emit(ptr @.str4107)
%t813 = load ptr, ptr %t747
call void @fn_emit(ptr %t813)
call void @fn_emit(ptr @.str4108)
%t814 = load ptr, ptr %t734
%t815 = call ptr @fn_str_concat(ptr @.str4109, ptr %t814)
%t816 = call ptr @fn_emit_bind(ptr %t815)
store ptr %t816, ptr %t817
%t818 = load ptr, ptr %t817
%t819 = call ptr @fn_str_concat(ptr @.str4110, ptr %t818)
%t820 = call ptr @fn_str_concat(ptr %t819, ptr @.str4111)
%t821 = call ptr @fn_emit_bind(ptr %t820)
store ptr %t821, ptr %t822
%t823 = load ptr, ptr %t42
%t824 = load ptr, ptr %t38
%t825 = load ptr, ptr %t822
%t826 = call ptr @fn_list_elem_addr(ptr %t823, ptr %t824, ptr %t825)
store ptr %t826, ptr %t827
call void @fn_emit(ptr @.str4112)
%t828 = load ptr, ptr %t38
call void @fn_emit(ptr %t828)
call void @fn_emit(ptr @.str4113)
%t829 = load ptr, ptr %t732
call void @fn_emit(ptr %t829)
call void @fn_emit(ptr @.str4114)
%t830 = load ptr, ptr %t827
call void @fn_emit(ptr %t830)
call void @fn_emit(ptr @.str4115)
%t831 = load ptr, ptr %t709
%t832 = call ptr @fn_str_concat(ptr @.str4116, ptr %t831)
%t833 = call ptr @fn_str_concat(ptr %t832, ptr @.str4117)
%t834 = call ptr @fn_emit_bind(ptr %t833)
store ptr %t834, ptr %t835
%t836 = load ptr, ptr %t835
%t837 = load ptr, ptr %t696
call void @fn_store_at(ptr @.str4118, ptr %t836, ptr %t837)
call void @fn_emit(ptr @.str4119)
%t838 = load ptr, ptr %t699
call void @fn_emit(ptr %t838)
call void @fn_emit(ptr @.str4120)
%t839 = load ptr, ptr %t703
call void @fn_emit(ptr %t839)
call void @fn_emit(ptr @.str4121)
call void @fn_emit(ptr @.str4122)
%t840 = load ptr, ptr %t686
call void @fn_emit(ptr %t840)
call void @fn_emit(ptr @.str4123)
%t841 = load ptr, ptr %t684
call void @fn_emit(ptr %t841)
call void @fn_emit(ptr @.str4124)
%t842 = load ptr, ptr %t42
%t843 = load ptr, ptr %t38
call void @fn_emit_merge_sort(ptr %t842, ptr %t843, i32 3, ptr @.str4125, ptr @.str4126)
call void @fn_emit(ptr @.str4127)
%t844 = load ptr, ptr %t686
call void @fn_emit(ptr %t844)
call void @fn_emit(ptr @.str4128)
%t845 = load ptr, ptr %t686
call void @fn_emit(ptr %t845)
call void @fn_emit(ptr @.str4129)
%t846 = call ptr @fn_val(ptr @.str4130, ptr @.str4131)
store ptr %t846, ptr %retval
br label %ret
ifend43:
%t847 = load ptr, ptr %t0
%t848 = call i32 @fn_str_eq(ptr %t847, ptr @.str4132)
%t849 = icmp ne i32 %t848, 0
br i1 %t849, label %then44, label %ifend46
then44:
%t850 = load ptr, ptr %t0
%t851 = load ptr, ptr %t1
%t852 = call ptr @fn_sort_fn_arg(ptr %t850, ptr %t851)
store ptr %t852, ptr %t853
%t854 = load ptr, ptr %t853
%t855 = call ptr @fn_find_fn(ptr %t854)
%t856 = call ptr @fn_param_types(ptr %t855)
%t857 = getelementptr inbounds %LSlice, ptr %t856, i32 0, i32 1
%t858 = load i32, ptr %t857
%t859 = icmp ne i32 %t858, 2
%t860 = zext i1 %t859 to i32
%t861 = icmp ne i32 %t860, 0
br i1 %t861, label %then47, label %ifend49
then47:
%t862 = load ptr, ptr %t853
%t863 = call ptr @fn_str_concat(ptr @.str4133, ptr %t862)
%t864 = call ptr @fn_str_concat(ptr %t863, ptr @.str4134)
call void @fn_perr(ptr %t864)
br label %ifend49
ifend49:
%t865 = load ptr, ptr %t42
%t866 = load ptr, ptr %t38
%t867 = load ptr, ptr %t853
call void @fn_emit_merge_sort(ptr %t865, ptr %t866, i32 0, ptr %t867, ptr @.str4135)
%t868 = call ptr @fn_val(ptr @.str4136, ptr @.str4137)
store ptr %t868, ptr %retval
br label %ret
ifend46:
%t870 = load ptr, ptr %t0
%t871 = call i32 @fn_str_eq(ptr %t870, ptr @.str4138)
%t872 = icmp ne i32 %t871, 0
%t873 = zext i1 %t872 to i32
store i32 %t873, ptr %t869
br i1 %t872, label %scend51, label %sc50
sc50:
%t874 = load ptr, ptr %t0
%t875 = call i32 @fn_str_eq(ptr %t874, ptr @.str4139)
%t876 = icmp ne i32 %t875, 0
%t877 = zext i1 %t876 to i32
store i32 %t877, ptr %t869
br label %scend51
scend51:
%t878 = load i32, ptr %t869
%t879 = icmp ne i32 %t878, 0
br i1 %t879, label %then52, label %ifend54
then52:
%t880 = load ptr, ptr %t0
%t881 = load ptr, ptr %t1
%t882 = call ptr @fn_sort_fn_arg(ptr %t880, ptr %t881)
store ptr %t882, ptr %t883
%t884 = load ptr, ptr %t883
%t885 = call ptr @fn_find_fn(ptr %t884)
store ptr %t885, ptr %t886
%t887 = load ptr, ptr %t886
%t888 = call ptr @fn_param_types(ptr %t887)
%t889 = getelementptr inbounds %LSlice, ptr %t888, i32 0, i32 1
%t890 = load i32, ptr %t889
%t891 = icmp ne i32 %t890, 1
%t892 = zext i1 %t891 to i32
%t893 = icmp ne i32 %t892, 0
br i1 %t893, label %then55, label %ifend57
then55:
%t894 = load ptr, ptr %t0
%t895 = call ptr @fn_str_concat(ptr @.str4140, ptr %t894)
%t896 = call ptr @fn_str_concat(ptr %t895, ptr @.str4141)
%t897 = load ptr, ptr %t883
%t898 = call ptr @fn_str_concat(ptr %t896, ptr %t897)
%t899 = call ptr @fn_str_concat(ptr %t898, ptr @.str4142)
call void @fn_perr(ptr %t899)
br label %ifend57
ifend57:
%t900 = load ptr, ptr %t886
%t901 = getelementptr inbounds %Cmp_Node, ptr %t900, i32 0, i32 3
%t902 = load ptr, ptr %t901
%t903 = call ptr @fn_llty(ptr %t902)
store ptr %t903, ptr %t904
%t906 = load ptr, ptr %t904
%t907 = call i32 @fn_str_eq(ptr %t906, ptr @.str4143)
%t908 = icmp ne i32 %t907, 0
%t909 = zext i1 %t908 to i32
store i32 %t909, ptr %t905
br i1 %t908, label %scend59, label %sc58
sc58:
%t910 = load ptr, ptr %t904
%t911 = call i32 @fn_str_eq(ptr %t910, ptr @.str4144)
%t912 = icmp ne i32 %t911, 0
%t913 = zext i1 %t912 to i32
store i32 %t913, ptr %t905
br label %scend59
scend59:
%t914 = load i32, ptr %t905
%t915 = icmp ne i32 %t914, 0
br i1 %t915, label %then60, label %ifend62
then60:
%t916 = load ptr, ptr %t0
%t917 = call ptr @fn_str_concat(ptr @.str4145, ptr %t916)
%t918 = call ptr @fn_str_concat(ptr %t917, ptr @.str4146)
%t919 = load ptr, ptr %t883
%t920 = call ptr @fn_str_concat(ptr %t918, ptr %t919)
%t921 = call ptr @fn_str_concat(ptr %t920, ptr @.str4147)
call void @fn_perr(ptr %t921)
br label %ifend62
ifend62:
store i32 1, ptr %t922
%t923 = load ptr, ptr %t0
%t924 = call i32 @fn_str_eq(ptr %t923, ptr @.str4148)
%t925 = icmp ne i32 %t924, 0
br i1 %t925, label %then63, label %ifend65
then63:
store i32 2, ptr %t922
br label %ifend65
ifend65:
%t926 = load ptr, ptr %t42
%t927 = load ptr, ptr %t38
%t928 = load i32, ptr %t922
%t929 = load ptr, ptr %t883
%t930 = load ptr, ptr %t904
call void @fn_emit_merge_sort(ptr %t926, ptr %t927, i32 %t928, ptr %t929, ptr %t930)
%t931 = call ptr @fn_val(ptr @.str4149, ptr @.str4150)
store ptr %t931, ptr %retval
br label %ret
ifend54:
%t932 = load ptr, ptr %t45
%t933 = call ptr @fn_str_concat(ptr @.str4151, ptr %t932)
%t934 = call ptr @fn_emit_bind(ptr %t933)
store ptr %t934, ptr %t935
%t936 = call ptr @fn_emit_alloca(ptr @.str4152)
store ptr %t936, ptr %t937
%t938 = load ptr, ptr %t937
call void @fn_store_at(ptr @.str4153, ptr @.str4154, ptr %t938)
%t939 = call ptr @fn_emit_alloca(ptr @.str4155)
store ptr %t939, ptr %t940
%t941 = load ptr, ptr %t935
%t942 = call ptr @fn_str_concat(ptr @.str4156, ptr %t941)
%t943 = call ptr @fn_str_concat(ptr %t942, ptr @.str4157)
%t944 = call ptr @fn_emit_bind(ptr %t943)
store ptr %t944, ptr %t945
%t946 = load ptr, ptr %t945
%t947 = load ptr, ptr %t940
call void @fn_store_at(ptr @.str4158, ptr %t946, ptr %t947)
%t948 = call ptr @fn_lbl(ptr @.str4159)
store ptr %t948, ptr %t949
%t950 = call ptr @fn_lbl(ptr @.str4160)
store ptr %t950, ptr %t951
%t952 = call ptr @fn_lbl(ptr @.str4161)
store ptr %t952, ptr %t953
call void @fn_emit(ptr @.str4162)
%t954 = load ptr, ptr %t949
call void @fn_emit(ptr %t954)
call void @fn_emit(ptr @.str4163)
%t955 = load ptr, ptr %t949
call void @fn_emit(ptr %t955)
call void @fn_emit(ptr @.str4164)
%t956 = load ptr, ptr %t937
%t957 = call ptr @fn_str_concat(ptr @.str4165, ptr %t956)
%t958 = call ptr @fn_emit_bind(ptr %t957)
store ptr %t958, ptr %t959
%t960 = load ptr, ptr %t940
%t961 = call ptr @fn_str_concat(ptr @.str4166, ptr %t960)
%t962 = call ptr @fn_emit_bind(ptr %t961)
store ptr %t962, ptr %t963
%t964 = load ptr, ptr %t959
%t965 = call ptr @fn_str_concat(ptr @.str4167, ptr %t964)
%t966 = call ptr @fn_str_concat(ptr %t965, ptr @.str4168)
%t967 = load ptr, ptr %t963
%t968 = call ptr @fn_str_concat(ptr %t966, ptr %t967)
%t969 = call ptr @fn_emit_bind(ptr %t968)
store ptr %t969, ptr %t970
call void @fn_emit(ptr @.str4169)
%t971 = load ptr, ptr %t970
call void @fn_emit(ptr %t971)
call void @fn_emit(ptr @.str4170)
%t972 = load ptr, ptr %t951
call void @fn_emit(ptr %t972)
call void @fn_emit(ptr @.str4171)
%t973 = load ptr, ptr %t953
call void @fn_emit(ptr %t973)
call void @fn_emit(ptr @.str4172)
%t974 = load ptr, ptr %t951
call void @fn_emit(ptr %t974)
call void @fn_emit(ptr @.str4173)
%t975 = load ptr, ptr %t42
%t976 = load ptr, ptr %t38
%t977 = load ptr, ptr %t959
%t978 = call ptr @fn_list_elem_addr(ptr %t975, ptr %t976, ptr %t977)
store ptr %t978, ptr %t979
%t980 = load ptr, ptr %t42
%t981 = load ptr, ptr %t38
%t982 = load ptr, ptr %t963
%t983 = call ptr @fn_list_elem_addr(ptr %t980, ptr %t981, ptr %t982)
store ptr %t983, ptr %t984
%t985 = load ptr, ptr %t38
%t986 = call ptr @fn_str_concat(ptr @.str4174, ptr %t985)
%t987 = call ptr @fn_str_concat(ptr %t986, ptr @.str4175)
%t988 = load ptr, ptr %t979
%t989 = call ptr @fn_str_concat(ptr %t987, ptr %t988)
%t990 = call ptr @fn_emit_bind(ptr %t989)
store ptr %t990, ptr %t991
%t992 = load ptr, ptr %t38
%t993 = call ptr @fn_str_concat(ptr @.str4176, ptr %t992)
%t994 = call ptr @fn_str_concat(ptr %t993, ptr @.str4177)
%t995 = load ptr, ptr %t984
%t996 = call ptr @fn_str_concat(ptr %t994, ptr %t995)
%t997 = call ptr @fn_emit_bind(ptr %t996)
store ptr %t997, ptr %t998
call void @fn_emit(ptr @.str4178)
%t999 = load ptr, ptr %t38
call void @fn_emit(ptr %t999)
call void @fn_emit(ptr @.str4179)
%t1000 = load ptr, ptr %t998
call void @fn_emit(ptr %t1000)
call void @fn_emit(ptr @.str4180)
%t1001 = load ptr, ptr %t979
call void @fn_emit(ptr %t1001)
call void @fn_emit(ptr @.str4181)
call void @fn_emit(ptr @.str4182)
%t1002 = load ptr, ptr %t38
call void @fn_emit(ptr %t1002)
call void @fn_emit(ptr @.str4183)
%t1003 = load ptr, ptr %t991
call void @fn_emit(ptr %t1003)
call void @fn_emit(ptr @.str4184)
%t1004 = load ptr, ptr %t984
call void @fn_emit(ptr %t1004)
call void @fn_emit(ptr @.str4185)
%t1005 = load ptr, ptr %t959
%t1006 = call ptr @fn_str_concat(ptr @.str4186, ptr %t1005)
%t1007 = call ptr @fn_str_concat(ptr %t1006, ptr @.str4187)
%t1008 = call ptr @fn_emit_bind(ptr %t1007)
store ptr %t1008, ptr %t1009
%t1010 = load ptr, ptr %t1009
%t1011 = load ptr, ptr %t937
call void @fn_store_at(ptr @.str4188, ptr %t1010, ptr %t1011)
%t1012 = load ptr, ptr %t963
%t1013 = call ptr @fn_str_concat(ptr @.str4189, ptr %t1012)
%t1014 = call ptr @fn_str_concat(ptr %t1013, ptr @.str4190)
%t1015 = call ptr @fn_emit_bind(ptr %t1014)
store ptr %t1015, ptr %t1016
%t1017 = load ptr, ptr %t1016
%t1018 = load ptr, ptr %t940
call void @fn_store_at(ptr @.str4191, ptr %t1017, ptr %t1018)
call void @fn_emit(ptr @.str4192)
%t1019 = load ptr, ptr %t949
call void @fn_emit(ptr %t1019)
call void @fn_emit(ptr @.str4193)
%t1020 = load ptr, ptr %t953
call void @fn_emit(ptr %t1020)
call void @fn_emit(ptr @.str4194)
%t1021 = call ptr @fn_val(ptr @.str4195, ptr @.str4196)
store ptr %t1021, ptr %retval
br label %ret
ret:
%t1022 = load ptr, ptr %retval
ret ptr %t1022
}
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 @fn_str_eq(ptr %t3, ptr @.str4197)
%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_str_eq(ptr %t7, ptr @.str4198)
%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_eq(ptr %t14, ptr @.str4199)
%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 @fn_str_eq(ptr %t22, ptr @.str4200)
%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 @fn_str_eq(ptr %t26, ptr @.str4201)
%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 @fn_str_eq(ptr %t33, ptr @.str4202)
%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 @.str4203)
store ptr %t6, ptr %retval
br label %ret
ret:
%t7 = load ptr, ptr %retval
ret ptr %t7
}
define ptr @fn_ease_bounce_code(ptr %arg_t) {
entry:
%retval = alloca ptr
%t0 = alloca ptr
%t3 = alloca ptr
%t8 = alloca ptr
%t11 = alloca ptr
%t16 = alloca ptr
%t21 = alloca ptr
%t24 = alloca ptr
%t29 = alloca ptr
%t34 = alloca ptr
%t37 = alloca ptr
%t42 = alloca ptr
%t47 = alloca ptr
%t57 = alloca ptr
%t62 = alloca ptr
%t72 = alloca ptr
%t77 = alloca ptr
store ptr %arg_t, ptr %t0
%t1 = load ptr, ptr %t0
%t2 = call ptr @fn_ease_bounce_seg(ptr %t1)
store ptr %t2, ptr %t3
%t4 = load ptr, ptr %t0
%t5 = call ptr @fn_str_concat(ptr @.str4204, ptr %t4)
%t6 = call ptr @fn_str_concat(ptr %t5, ptr @.str4205)
%t7 = call ptr @fn_emit_bind(ptr %t6)
store ptr %t7, ptr %t8
%t9 = load ptr, ptr %t8
%t10 = call ptr @fn_ease_bounce_seg(ptr %t9)
store ptr %t10, ptr %t11
%t12 = load ptr, ptr %t11
%t13 = call ptr @fn_str_concat(ptr @.str4206, ptr %t12)
%t14 = call ptr @fn_str_concat(ptr %t13, ptr @.str4207)
%t15 = call ptr @fn_emit_bind(ptr %t14)
store ptr %t15, ptr %t16
%t17 = load ptr, ptr %t0
%t18 = call ptr @fn_str_concat(ptr @.str4208, ptr %t17)
%t19 = call ptr @fn_str_concat(ptr %t18, ptr @.str4209)
%t20 = call ptr @fn_emit_bind(ptr %t19)
store ptr %t20, ptr %t21
%t22 = load ptr, ptr %t21
%t23 = call ptr @fn_ease_bounce_seg(ptr %t22)
store ptr %t23, ptr %t24
%t25 = load ptr, ptr %t24
%t26 = call ptr @fn_str_concat(ptr @.str4210, ptr %t25)
%t27 = call ptr @fn_str_concat(ptr %t26, ptr @.str4211)
%t28 = call ptr @fn_emit_bind(ptr %t27)
store ptr %t28, ptr %t29
%t30 = load ptr, ptr %t0
%t31 = call ptr @fn_str_concat(ptr @.str4212, ptr %t30)
%t32 = call ptr @fn_str_concat(ptr %t31, ptr @.str4213)
%t33 = call ptr @fn_emit_bind(ptr %t32)
store ptr %t33, ptr %t34
%t35 = load ptr, ptr %t34
%t36 = call ptr @fn_ease_bounce_seg(ptr %t35)
store ptr %t36, ptr %t37
%t38 = load ptr, ptr %t37
%t39 = call ptr @fn_str_concat(ptr @.str4214, ptr %t38)
%t40 = call ptr @fn_str_concat(ptr %t39, ptr @.str4215)
%t41 = call ptr @fn_emit_bind(ptr %t40)
store ptr %t41, ptr %t42
%t43 = load ptr, ptr %t0
%t44 = call ptr @fn_str_concat(ptr @.str4216, ptr %t43)
%t45 = call ptr @fn_str_concat(ptr %t44, ptr @.str4217)
%t46 = call ptr @fn_emit_bind(ptr %t45)
store ptr %t46, ptr %t47
%t48 = load ptr, ptr %t47
%t49 = call ptr @fn_str_concat(ptr @.str4218, ptr %t48)
%t50 = call ptr @fn_str_concat(ptr %t49, ptr @.str4219)
%t51 = load ptr, ptr %t29
%t52 = call ptr @fn_str_concat(ptr %t50, ptr %t51)
%t53 = call ptr @fn_str_concat(ptr %t52, ptr @.str4220)
%t54 = load ptr, ptr %t42
%t55 = call ptr @fn_str_concat(ptr %t53, ptr %t54)
%t56 = call ptr @fn_emit_bind(ptr %t55)
store ptr %t56, ptr %t57
%t58 = load ptr, ptr %t0
%t59 = call ptr @fn_str_concat(ptr @.str4221, ptr %t58)
%t60 = call ptr @fn_str_concat(ptr %t59, ptr @.str4222)
%t61 = call ptr @fn_emit_bind(ptr %t60)
store ptr %t61, ptr %t62
%t63 = load ptr, ptr %t62
%t64 = call ptr @fn_str_concat(ptr @.str4223, ptr %t63)
%t65 = call ptr @fn_str_concat(ptr %t64, ptr @.str4224)
%t66 = load ptr, ptr %t16
%t67 = call ptr @fn_str_concat(ptr %t65, ptr %t66)
%t68 = call ptr @fn_str_concat(ptr %t67, ptr @.str4225)
%t69 = load ptr, ptr %t57
%t70 = call ptr @fn_str_concat(ptr %t68, ptr %t69)
%t71 = call ptr @fn_emit_bind(ptr %t70)
store ptr %t71, ptr %t72
%t73 = load ptr, ptr %t0
%t74 = call ptr @fn_str_concat(ptr @.str4226, ptr %t73)
%t75 = call ptr @fn_str_concat(ptr %t74, ptr @.str4227)
%t76 = call ptr @fn_emit_bind(ptr %t75)
store ptr %t76, ptr %t77
%t78 = load ptr, ptr %t77
%t79 = call ptr @fn_str_concat(ptr @.str4228, ptr %t78)
%t80 = call ptr @fn_str_concat(ptr %t79, ptr @.str4229)
%t81 = load ptr, ptr %t3
%t82 = call ptr @fn_str_concat(ptr %t80, ptr %t81)
%t83 = call ptr @fn_str_concat(ptr %t82, ptr @.str4230)
%t84 = load ptr, ptr %t72
%t85 = call ptr @fn_str_concat(ptr %t83, ptr %t84)
%t86 = call ptr @fn_emit_bind(ptr %t85)
store ptr %t86, ptr %retval
br label %ret
ret:
%t87 = load ptr, ptr %retval
ret ptr %t87
}
define ptr @fn_ease_eval(i32 %arg_mode, ptr %arg_t) {
entry:
%retval = alloca ptr
%t0 = alloca i32
%t1 = alloca ptr
%t21 = alloca ptr
%t32 = alloca ptr
%t36 = alloca ptr
%t41 = alloca ptr
%t46 = alloca ptr
%t60 = alloca ptr
%t64 = alloca ptr
%t67 = alloca ptr
%t70 = alloca ptr
%t85 = alloca ptr
%t89 = alloca ptr
%t94 = alloca ptr
%t99 = alloca ptr
%t102 = alloca ptr
%t107 = alloca ptr
%t111 = alloca ptr
store i32 %arg_mode, ptr %t0
store ptr %arg_t, ptr %t1
%t2 = load i32, ptr %t0
%t3 = icmp eq i32 %t2, 0
%t4 = zext i1 %t3 to i32
%t5 = icmp ne i32 %t4, 0
br i1 %t5, label %then0, label %ifend2
then0:
%t6 = load ptr, ptr %t1
store ptr %t6, ptr %retval
br label %ret
ifend2:
%t7 = load i32, ptr %t0
%t8 = icmp eq i32 %t7, 1
%t9 = zext i1 %t8 to i32
%t10 = icmp ne i32 %t9, 0
br i1 %t10, label %then3, label %ifend5
then3:
%t11 = load ptr, ptr %t1
%t12 = load ptr, ptr %t1
%t13 = call ptr @fn_fx_mul_code(ptr %t11, ptr %t12)
store ptr %t13, ptr %retval
br label %ret
ifend5:
%t14 = load i32, ptr %t0
%t15 = icmp eq i32 %t14, 2
%t16 = zext i1 %t15 to i32
%t17 = icmp ne i32 %t16, 0
br i1 %t17, label %then6, label %ifend8
then6:
%t18 = load ptr, ptr %t1
%t19 = call ptr @fn_str_concat(ptr @.str4231, ptr %t18)
%t20 = call ptr @fn_emit_bind(ptr %t19)
store ptr %t20, ptr %t21
%t22 = load ptr, ptr %t1
%t23 = load ptr, ptr %t21
%t24 = call ptr @fn_fx_mul_code(ptr %t22, ptr %t23)
store ptr %t24, ptr %retval
br label %ret
ifend8:
%t25 = load i32, ptr %t0
%t26 = icmp eq i32 %t25, 3
%t27 = zext i1 %t26 to i32
%t28 = icmp ne i32 %t27, 0
br i1 %t28, label %then9, label %ifend11
then9:
%t29 = load ptr, ptr %t1
%t30 = load ptr, ptr %t1
%t31 = call ptr @fn_fx_mul_code(ptr %t29, ptr %t30)
store ptr %t31, ptr %t32
%t33 = load ptr, ptr %t32
%t34 = load ptr, ptr %t1
%t35 = call ptr @fn_fx_mul_code(ptr %t33, ptr %t34)
store ptr %t35, ptr %t36
%t37 = load ptr, ptr %t32
%t38 = call ptr @fn_str_concat(ptr @.str4232, ptr %t37)
%t39 = call ptr @fn_str_concat(ptr %t38, ptr @.str4233)
%t40 = call ptr @fn_emit_bind(ptr %t39)
store ptr %t40, ptr %t41
%t42 = load ptr, ptr %t36
%t43 = call ptr @fn_str_concat(ptr @.str4234, ptr %t42)
%t44 = call ptr @fn_str_concat(ptr %t43, ptr @.str4235)
%t45 = call ptr @fn_emit_bind(ptr %t44)
store ptr %t45, ptr %t46
%t47 = load ptr, ptr %t41
%t48 = call ptr @fn_str_concat(ptr @.str4236, ptr %t47)
%t49 = call ptr @fn_str_concat(ptr %t48, ptr @.str4237)
%t50 = load ptr, ptr %t46
%t51 = call ptr @fn_str_concat(ptr %t49, ptr %t50)
%t52 = call ptr @fn_emit_bind(ptr %t51)
store ptr %t52, ptr %retval
br label %ret
ifend11:
%t53 = load i32, ptr %t0
%t54 = icmp eq i32 %t53, 4
%t55 = zext i1 %t54 to i32
%t56 = icmp ne i32 %t55, 0
br i1 %t56, label %then12, label %ifend14
then12:
%t57 = load ptr, ptr %t1
%t58 = load ptr, ptr %t1
%t59 = call ptr @fn_fx_mul_code(ptr %t57, ptr %t58)
store ptr %t59, ptr %t60
%t61 = load ptr, ptr %t60
%t62 = load ptr, ptr %t1
%t63 = call ptr @fn_fx_mul_code(ptr %t61, ptr %t62)
store ptr %t63, ptr %t64
%t65 = load ptr, ptr %t64
%t66 = call ptr @fn_fx_mul_code(ptr %t65, ptr @.str4238)
store ptr %t66, ptr %t67
%t68 = load ptr, ptr %t60
%t69 = call ptr @fn_fx_mul_code(ptr %t68, ptr @.str4239)
store ptr %t69, ptr %t70
%t71 = load ptr, ptr %t67
%t72 = call ptr @fn_str_concat(ptr @.str4240, ptr %t71)
%t73 = call ptr @fn_str_concat(ptr %t72, ptr @.str4241)
%t74 = load ptr, ptr %t70
%t75 = call ptr @fn_str_concat(ptr %t73, ptr %t74)
%t76 = call ptr @fn_emit_bind(ptr %t75)
store ptr %t76, ptr %retval
br label %ret
ifend14:
%t77 = load i32, ptr %t0
%t78 = icmp eq i32 %t77, 5
%t79 = zext i1 %t78 to i32
%t80 = icmp ne i32 %t79, 0
br i1 %t80, label %then15, label %ifend17
then15:
store i32 1, ptr @g_g_uses_mathrt
%t81 = load ptr, ptr %t1
%t82 = call ptr @fn_str_concat(ptr @.str4242, ptr %t81)
%t83 = call ptr @fn_str_concat(ptr %t82, ptr @.str4243)
%t84 = call ptr @fn_emit_bind(ptr %t83)
store ptr %t84, ptr %t85
%t86 = load ptr, ptr %t85
%t87 = call ptr @fn_str_concat(ptr @.str4244, ptr %t86)
%t88 = call ptr @fn_emit_bind(ptr %t87)
store ptr %t88, ptr %t89
%t90 = load ptr, ptr %t89
%t91 = call ptr @fn_str_concat(ptr @.str4245, ptr %t90)
%t92 = call ptr @fn_str_concat(ptr %t91, ptr @.str4246)
%t93 = call ptr @fn_emit_bind(ptr %t92)
store ptr %t93, ptr %t94
%t95 = load ptr, ptr %t85
%t96 = call ptr @fn_str_concat(ptr @.str4247, ptr %t95)
%t97 = call ptr @fn_str_concat(ptr %t96, ptr @.str4248)
%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 @.str4249)
store ptr %t101, ptr %t102
%t103 = load ptr, ptr %t102
%t104 = call ptr @fn_str_concat(ptr @.str4250, ptr %t103)
%t105 = call ptr @fn_str_concat(ptr %t104, ptr @.str4251)
%t106 = call ptr @fn_emit_bind(ptr %t105)
store ptr %t106, ptr %t107
%t108 = load ptr, ptr %t94
%t109 = load ptr, ptr %t107
%t110 = call ptr @fn_fx_mul_code(ptr %t108, ptr %t109)
store ptr %t110, ptr %t111
%t112 = load ptr, ptr %t111
%t113 = call ptr @fn_str_concat(ptr @.str4252, ptr %t112)
%t114 = call ptr @fn_str_concat(ptr %t113, ptr @.str4253)
%t115 = call ptr @fn_emit_bind(ptr %t114)
store ptr %t115, ptr %retval
br label %ret
ifend17:
%t116 = load ptr, ptr %t1
%t117 = call ptr @fn_ease_bounce_code(ptr %t116)
store ptr %t117, ptr %retval
br label %ret
ret:
%t118 = load ptr, ptr %retval
ret ptr %t118
}
define ptr @fn_emit_ease_ns(ptr %arg_meth, ptr %arg_e) {
entry:
%retval = alloca ptr
%t0 = alloca ptr
%t1 = alloca ptr
%t10 = alloca ptr
store ptr %arg_meth, ptr %t0
store ptr %arg_e, ptr %t1
%t2 = load ptr, ptr %t1
%t3 = getelementptr inbounds %Cmp_Node, ptr %t2, i32 0, i32 7
%t4 = load ptr, ptr %t3
%t5 = getelementptr inbounds %LSlice, ptr %t4, i32 0, i32 0
%t6 = load ptr, ptr %t5
%t7 = getelementptr inbounds ptr, ptr %t6, i32 0
%t8 = load ptr, ptr %t7
%t9 = call ptr @fn_emit_expr(ptr %t8)
store ptr %t9, ptr %t10
%t11 = load ptr, ptr %t0
%t12 = call i32 @fn_str_eq(ptr %t11, ptr @.str4254)
%t13 = icmp ne i32 %t12, 0
br i1 %t13, label %then0, label %ifend2
then0:
%t14 = load ptr, ptr %t10
%t15 = getelementptr inbounds %Cmp_Val, ptr %t14, i32 0, i32 0
%t16 = load ptr, ptr %t15
%t17 = call ptr @fn_ease_eval(i32 1, ptr %t16)
%t18 = call ptr @fn_val(ptr %t17, ptr @.str4255)
store ptr %t18, ptr %retval
br label %ret
ifend2:
%t19 = load ptr, ptr %t0
%t20 = call i32 @fn_str_eq(ptr %t19, ptr @.str4256)
%t21 = icmp ne i32 %t20, 0
br i1 %t21, label %then3, label %ifend5
then3:
%t22 = load ptr, ptr %t10
%t23 = getelementptr inbounds %Cmp_Val, ptr %t22, i32 0, i32 0
%t24 = load ptr, ptr %t23
%t25 = call ptr @fn_ease_eval(i32 2, ptr %t24)
%t26 = call ptr @fn_val(ptr %t25, ptr @.str4257)
store ptr %t26, ptr %retval
br label %ret
ifend5:
%t27 = load ptr, ptr %t0
%t28 = call i32 @fn_str_eq(ptr %t27, ptr @.str4258)
%t29 = icmp ne i32 %t28, 0
br i1 %t29, label %then6, label %ifend8
then6:
%t30 = load ptr, ptr %t10
%t31 = getelementptr inbounds %Cmp_Val, ptr %t30, i32 0, i32 0
%t32 = load ptr, ptr %t31
%t33 = call ptr @fn_ease_eval(i32 3, ptr %t32)
%t34 = call ptr @fn_val(ptr %t33, ptr @.str4259)
store ptr %t34, ptr %retval
br label %ret
ifend8:
%t35 = load ptr, ptr %t0
%t36 = call i32 @fn_str_eq(ptr %t35, ptr @.str4260)
%t37 = icmp ne i32 %t36, 0
br i1 %t37, label %then9, label %ifend11
then9:
%t38 = load ptr, ptr %t10
%t39 = getelementptr inbounds %Cmp_Val, ptr %t38, i32 0, i32 0
%t40 = load ptr, ptr %t39
%t41 = call ptr @fn_ease_eval(i32 4, ptr %t40)
%t42 = call ptr @fn_val(ptr %t41, ptr @.str4261)
store ptr %t42, ptr %retval
br label %ret
ifend11:
%t43 = load ptr, ptr %t0
%t44 = call i32 @fn_str_eq(ptr %t43, ptr @.str4262)
%t45 = icmp ne i32 %t44, 0
br i1 %t45, label %then12, label %ifend14
then12:
%t46 = load ptr, ptr %t10
%t47 = getelementptr inbounds %Cmp_Val, ptr %t46, i32 0, i32 0
%t48 = load ptr, ptr %t47
%t49 = call ptr @fn_ease_eval(i32 5, ptr %t48)
%t50 = call ptr @fn_val(ptr %t49, ptr @.str4263)
store ptr %t50, ptr %retval
br label %ret
ifend14:
%t51 = load ptr, ptr %t10
%t52 = getelementptr inbounds %Cmp_Val, ptr %t51, i32 0, i32 0
%t53 = load ptr, ptr %t52
%t54 = call ptr @fn_ease_eval(i32 6, ptr %t53)
%t55 = call ptr @fn_val(ptr %t54, ptr @.str4264)
store ptr %t55, ptr %retval
br label %ret
ret:
%t56 = load ptr, ptr %retval
ret ptr %t56
}
define i32 @fn_is_anim_ns(ptr %arg_meth) {
entry:
%retval = alloca i32
%t0 = alloca ptr
%t1 = alloca i32
%t2 = alloca i32
%t20 = alloca i32
%t31 = alloca i32
store ptr %arg_meth, ptr %t0
%t3 = load ptr, ptr %t0
%t4 = call i32 @fn_str_eq(ptr %t3, ptr @.str4265)
%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_str_eq(ptr %t7, ptr @.str4266)
%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_eq(ptr %t14, ptr @.str4267)
%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 @fn_str_eq(ptr %t21, ptr @.str4268)
%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 @fn_str_eq(ptr %t25, ptr @.str4269)
%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 @fn_str_eq(ptr %t32, ptr @.str4270)
%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 @fn_str_eq(ptr %t36, ptr @.str4271)
%t38 = icmp ne i32 %t37, 0
%t39 = zext i1 %t38 to i32
store i32 %t39, ptr %t31
br label %scend13
scend13:
%t40 = load i32, ptr %t31
%t41 = icmp ne i32 %t40, 0
br i1 %t41, label %then14, label %ifend16
then14:
store i32 1, ptr %retval
br label %ret
ifend16:
store i32 0, ptr %retval
br label %ret
ret:
%t42 = load i32, ptr %retval
ret i32 %t42
}
define ptr @fn_anim_elapsed(ptr %arg_timer, ptr %arg_fps) {
entry:
%retval = alloca ptr
%t0 = alloca ptr
%t1 = alloca ptr
%t6 = alloca ptr
%t11 = alloca ptr
%t18 = alloca ptr
%t23 = alloca ptr
store ptr %arg_timer, ptr %t0
store ptr %arg_fps, ptr %t1
%t2 = load ptr, ptr %t0
%t3 = call ptr @fn_str_concat(ptr @.str4272, ptr %t2)
%t4 = call ptr @fn_str_concat(ptr %t3, ptr @.str4273)
%t5 = call ptr @fn_emit_bind(ptr %t4)
store ptr %t5, ptr %t6
%t7 = load ptr, ptr %t1
%t8 = call ptr @fn_str_concat(ptr @.str4274, ptr %t7)
%t9 = call ptr @fn_str_concat(ptr %t8, ptr @.str4275)
%t10 = call ptr @fn_emit_bind(ptr %t9)
store ptr %t10, ptr %t11
%t12 = load ptr, ptr %t6
%t13 = call ptr @fn_str_concat(ptr @.str4276, ptr %t12)
%t14 = call ptr @fn_str_concat(ptr %t13, ptr @.str4277)
%t15 = load ptr, ptr %t11
%t16 = call ptr @fn_str_concat(ptr %t14, ptr %t15)
%t17 = call ptr @fn_emit_bind(ptr %t16)
store ptr %t17, ptr %t18
%t19 = load ptr, ptr %t18
%t20 = call ptr @fn_str_concat(ptr @.str4278, ptr %t19)
%t21 = call ptr @fn_str_concat(ptr %t20, ptr @.str4279)
%t22 = call ptr @fn_emit_bind(ptr %t21)
store ptr %t22, ptr %t23
%t24 = load ptr, ptr %t23
%t25 = call ptr @fn_str_concat(ptr @.str4280, ptr %t24)
%t26 = call ptr @fn_str_concat(ptr %t25, ptr @.str4281)
%t27 = call ptr @fn_emit_bind(ptr %t26)
store ptr %t27, ptr %retval
br label %ret
ret:
%t28 = load ptr, ptr %retval
ret ptr %t28
}
define ptr @fn_anim_atleast1(ptr %arg_v) {
entry:
%retval = alloca ptr
%t0 = alloca ptr
%t5 = alloca ptr
store ptr %arg_v, ptr %t0
%t1 = load ptr, ptr %t0
%t2 = call ptr @fn_str_concat(ptr @.str4282, ptr %t1)
%t3 = call ptr @fn_str_concat(ptr %t2, ptr @.str4283)
%t4 = call ptr @fn_emit_bind(ptr %t3)
store ptr %t4, ptr %t5
%t6 = load ptr, ptr %t5
%t7 = call ptr @fn_str_concat(ptr @.str4284, ptr %t6)
%t8 = call ptr @fn_str_concat(ptr %t7, ptr @.str4285)
%t9 = load ptr, ptr %t0
%t10 = call ptr @fn_str_concat(ptr %t8, ptr %t9)
%t11 = call ptr @fn_emit_bind(ptr %t10)
store ptr %t11, ptr %retval
br label %ret
ret:
%t12 = load ptr, ptr %retval
ret ptr %t12
}
define ptr @fn_emit_anim_ns(ptr %arg_meth, ptr %arg_e) {
entry:
%retval = alloca ptr
%t0 = alloca ptr
%t1 = alloca ptr
%t13 = alloca ptr
%t22 = alloca ptr
%t31 = alloca ptr
%t39 = alloca ptr
%t44 = alloca ptr
%t63 = alloca ptr
%t72 = alloca ptr
%t81 = alloca ptr
%t89 = alloca ptr
%t96 = alloca ptr
%t103 = alloca ptr
%t125 = alloca ptr
%t134 = alloca ptr
%t143 = alloca ptr
%t151 = alloca ptr
%t158 = alloca ptr
%t163 = alloca ptr
%t166 = alloca ptr
%t173 = alloca ptr
%t180 = alloca ptr
%t189 = alloca ptr
%t211 = alloca ptr
%t220 = alloca ptr
%t229 = alloca ptr
%t237 = alloca ptr
%t246 = alloca ptr
%t263 = alloca ptr
%t272 = alloca ptr
%t279 = alloca ptr
%t284 = alloca ptr
%t303 = alloca ptr
%t312 = alloca ptr
%t321 = alloca ptr
%t326 = alloca ptr
%t335 = alloca ptr
%t353 = alloca ptr
%t362 = alloca ptr
%t371 = alloca ptr
%t376 = alloca ptr
%t385 = alloca ptr
store ptr %arg_meth, ptr %t0
store ptr %arg_e, ptr %t1
%t2 = load ptr, ptr %t0
%t3 = call i32 @fn_str_eq(ptr %t2, ptr @.str4286)
%t4 = icmp ne i32 %t3, 0
br i1 %t4, label %then0, label %ifend2
then0:
%t5 = load ptr, ptr %t1
%t6 = getelementptr inbounds %Cmp_Node, ptr %t5, i32 0, i32 7
%t7 = load ptr, ptr %t6
%t8 = getelementptr inbounds %LSlice, ptr %t7, i32 0, i32 0
%t9 = load ptr, ptr %t8
%t10 = getelementptr inbounds ptr, ptr %t9, i32 0
%t11 = load ptr, ptr %t10
%t12 = call ptr @fn_emit_expr(ptr %t11)
store ptr %t12, ptr %t13
%t14 = load ptr, ptr %t1
%t15 = getelementptr inbounds %Cmp_Node, ptr %t14, i32 0, i32 7
%t16 = load ptr, ptr %t15
%t17 = getelementptr inbounds %LSlice, ptr %t16, i32 0, i32 0
%t18 = load ptr, ptr %t17
%t19 = getelementptr inbounds ptr, ptr %t18, i32 1
%t20 = load ptr, ptr %t19
%t21 = call ptr @fn_emit_expr(ptr %t20)
store ptr %t21, ptr %t22
%t23 = load ptr, ptr %t1
%t24 = getelementptr inbounds %Cmp_Node, ptr %t23, i32 0, i32 7
%t25 = load ptr, ptr %t24
%t26 = getelementptr inbounds %LSlice, ptr %t25, i32 0, i32 0
%t27 = load ptr, ptr %t26
%t28 = getelementptr inbounds ptr, ptr %t27, i32 2
%t29 = load ptr, ptr %t28
%t30 = call ptr @fn_emit_expr(ptr %t29)
store ptr %t30, ptr %t31
%t32 = load ptr, ptr %t13
%t33 = getelementptr inbounds %Cmp_Val, ptr %t32, i32 0, i32 0
%t34 = load ptr, ptr %t33
%t35 = load ptr, ptr %t22
%t36 = getelementptr inbounds %Cmp_Val, ptr %t35, i32 0, i32 0
%t37 = load ptr, ptr %t36
%t38 = call ptr @fn_anim_elapsed(ptr %t34, ptr %t37)
store ptr %t38, ptr %t39
%t40 = load ptr, ptr %t31
%t41 = getelementptr inbounds %Cmp_Val, ptr %t40, i32 0, i32 0
%t42 = load ptr, ptr %t41
%t43 = call ptr @fn_anim_atleast1(ptr %t42)
store ptr %t43, ptr %t44
%t45 = load ptr, ptr %t39
%t46 = call ptr @fn_str_concat(ptr @.str4287, ptr %t45)
%t47 = call ptr @fn_str_concat(ptr %t46, ptr @.str4288)
%t48 = load ptr, ptr %t44
%t49 = call ptr @fn_str_concat(ptr %t47, ptr %t48)
%t50 = call ptr @fn_emit_bind(ptr %t49)
%t51 = call ptr @fn_val(ptr %t50, ptr @.str4289)
store ptr %t51, ptr %retval
br label %ret
ifend2:
%t52 = load ptr, ptr %t0
%t53 = call i32 @fn_str_eq(ptr %t52, ptr @.str4290)
%t54 = icmp ne i32 %t53, 0
br i1 %t54, label %then3, label %ifend5
then3:
%t55 = load ptr, ptr %t1
%t56 = getelementptr inbounds %Cmp_Node, ptr %t55, i32 0, i32 7
%t57 = load ptr, ptr %t56
%t58 = getelementptr inbounds %LSlice, ptr %t57, i32 0, i32 0
%t59 = load ptr, ptr %t58
%t60 = getelementptr inbounds ptr, ptr %t59, i32 0
%t61 = load ptr, ptr %t60
%t62 = call ptr @fn_emit_expr(ptr %t61)
store ptr %t62, ptr %t63
%t64 = load ptr, ptr %t1
%t65 = getelementptr inbounds %Cmp_Node, ptr %t64, i32 0, i32 7
%t66 = load ptr, ptr %t65
%t67 = getelementptr inbounds %LSlice, ptr %t66, i32 0, i32 0
%t68 = load ptr, ptr %t67
%t69 = getelementptr inbounds ptr, ptr %t68, i32 1
%t70 = load ptr, ptr %t69
%t71 = call ptr @fn_emit_expr(ptr %t70)
store ptr %t71, ptr %t72
%t73 = load ptr, ptr %t1
%t74 = getelementptr inbounds %Cmp_Node, ptr %t73, i32 0, i32 7
%t75 = load ptr, ptr %t74
%t76 = getelementptr inbounds %LSlice, ptr %t75, i32 0, i32 0
%t77 = load ptr, ptr %t76
%t78 = getelementptr inbounds ptr, ptr %t77, i32 2
%t79 = load ptr, ptr %t78
%t80 = call ptr @fn_emit_expr(ptr %t79)
store ptr %t80, ptr %t81
%t82 = load ptr, ptr %t63
%t83 = getelementptr inbounds %Cmp_Val, ptr %t82, i32 0, i32 0
%t84 = load ptr, ptr %t83
%t85 = load ptr, ptr %t72
%t86 = getelementptr inbounds %Cmp_Val, ptr %t85, i32 0, i32 0
%t87 = load ptr, ptr %t86
%t88 = call ptr @fn_anim_elapsed(ptr %t84, ptr %t87)
store ptr %t88, ptr %t89
%t90 = load ptr, ptr %t81
%t91 = getelementptr inbounds %Cmp_Val, ptr %t90, i32 0, i32 0
%t92 = load ptr, ptr %t91
%t93 = call ptr @fn_str_concat(ptr @.str4291, ptr %t92)
%t94 = call ptr @fn_str_concat(ptr %t93, ptr @.str4292)
%t95 = call ptr @fn_emit_bind(ptr %t94)
store ptr %t95, ptr %t96
%t97 = load ptr, ptr %t89
%t98 = call ptr @fn_str_concat(ptr @.str4293, ptr %t97)
%t99 = call ptr @fn_str_concat(ptr %t98, ptr @.str4294)
%t100 = load ptr, ptr %t96
%t101 = call ptr @fn_str_concat(ptr %t99, ptr %t100)
%t102 = call ptr @fn_emit_bind(ptr %t101)
store ptr %t102, ptr %t103
%t104 = load ptr, ptr %t103
%t105 = call ptr @fn_str_concat(ptr @.str4295, ptr %t104)
%t106 = call ptr @fn_str_concat(ptr %t105, ptr @.str4296)
%t107 = load ptr, ptr %t89
%t108 = call ptr @fn_str_concat(ptr %t106, ptr %t107)
%t109 = call ptr @fn_str_concat(ptr %t108, ptr @.str4297)
%t110 = load ptr, ptr %t96
%t111 = call ptr @fn_str_concat(ptr %t109, ptr %t110)
%t112 = call ptr @fn_emit_bind(ptr %t111)
%t113 = call ptr @fn_val(ptr %t112, ptr @.str4298)
store ptr %t113, ptr %retval
br label %ret
ifend5:
%t114 = load ptr, ptr %t0
%t115 = call i32 @fn_str_eq(ptr %t114, ptr @.str4299)
%t116 = icmp ne i32 %t115, 0
br i1 %t116, label %then6, label %ifend8
then6:
%t117 = load ptr, ptr %t1
%t118 = getelementptr inbounds %Cmp_Node, ptr %t117, i32 0, i32 7
%t119 = load ptr, ptr %t118
%t120 = getelementptr inbounds %LSlice, ptr %t119, i32 0, i32 0
%t121 = load ptr, ptr %t120
%t122 = getelementptr inbounds ptr, ptr %t121, i32 0
%t123 = load ptr, ptr %t122
%t124 = call ptr @fn_emit_expr(ptr %t123)
store ptr %t124, ptr %t125
%t126 = load ptr, ptr %t1
%t127 = getelementptr inbounds %Cmp_Node, ptr %t126, i32 0, i32 7
%t128 = load ptr, ptr %t127
%t129 = getelementptr inbounds %LSlice, ptr %t128, i32 0, i32 0
%t130 = load ptr, ptr %t129
%t131 = getelementptr inbounds ptr, ptr %t130, i32 1
%t132 = load ptr, ptr %t131
%t133 = call ptr @fn_emit_expr(ptr %t132)
store ptr %t133, ptr %t134
%t135 = load ptr, ptr %t1
%t136 = getelementptr inbounds %Cmp_Node, ptr %t135, i32 0, i32 7
%t137 = load ptr, ptr %t136
%t138 = getelementptr inbounds %LSlice, ptr %t137, i32 0, i32 0
%t139 = load ptr, ptr %t138
%t140 = getelementptr inbounds ptr, ptr %t139, i32 2
%t141 = load ptr, ptr %t140
%t142 = call ptr @fn_emit_expr(ptr %t141)
store ptr %t142, ptr %t143
%t144 = load ptr, ptr %t125
%t145 = getelementptr inbounds %Cmp_Val, ptr %t144, i32 0, i32 0
%t146 = load ptr, ptr %t145
%t147 = load ptr, ptr %t134
%t148 = getelementptr inbounds %Cmp_Val, ptr %t147, i32 0, i32 0
%t149 = load ptr, ptr %t148
%t150 = call ptr @fn_anim_elapsed(ptr %t146, ptr %t149)
store ptr %t150, ptr %t151
%t152 = load ptr, ptr %t143
%t153 = getelementptr inbounds %Cmp_Val, ptr %t152, i32 0, i32 0
%t154 = load ptr, ptr %t153
%t155 = call ptr @fn_str_concat(ptr @.str4300, ptr %t154)
%t156 = call ptr @fn_str_concat(ptr %t155, ptr @.str4301)
%t157 = call ptr @fn_emit_bind(ptr %t156)
store ptr %t157, ptr %t158
%t159 = load ptr, ptr %t158
%t160 = call ptr @fn_str_concat(ptr @.str4302, ptr %t159)
%t161 = call ptr @fn_str_concat(ptr %t160, ptr @.str4303)
%t162 = call ptr @fn_emit_bind(ptr %t161)
store ptr %t162, ptr %t163
%t164 = load ptr, ptr %t163
%t165 = call ptr @fn_anim_atleast1(ptr %t164)
store ptr %t165, ptr %t166
%t167 = load ptr, ptr %t151
%t168 = call ptr @fn_str_concat(ptr @.str4304, ptr %t167)
%t169 = call ptr @fn_str_concat(ptr %t168, ptr @.str4305)
%t170 = load ptr, ptr %t166
%t171 = call ptr @fn_str_concat(ptr %t169, ptr %t170)
%t172 = call ptr @fn_emit_bind(ptr %t171)
store ptr %t172, ptr %t173
%t174 = load ptr, ptr %t166
%t175 = call ptr @fn_str_concat(ptr @.str4306, ptr %t174)
%t176 = call ptr @fn_str_concat(ptr %t175, ptr @.str4307)
%t177 = load ptr, ptr %t173
%t178 = call ptr @fn_str_concat(ptr %t176, ptr %t177)
%t179 = call ptr @fn_emit_bind(ptr %t178)
store ptr %t179, ptr %t180
%t181 = load ptr, ptr %t173
%t182 = call ptr @fn_str_concat(ptr @.str4308, ptr %t181)
%t183 = call ptr @fn_str_concat(ptr %t182, ptr @.str4309)
%t184 = load ptr, ptr %t143
%t185 = getelementptr inbounds %Cmp_Val, ptr %t184, i32 0, i32 0
%t186 = load ptr, ptr %t185
%t187 = call ptr @fn_str_concat(ptr %t183, ptr %t186)
%t188 = call ptr @fn_emit_bind(ptr %t187)
store ptr %t188, ptr %t189
%t190 = load ptr, ptr %t189
%t191 = call ptr @fn_str_concat(ptr @.str4310, ptr %t190)
%t192 = call ptr @fn_str_concat(ptr %t191, ptr @.str4311)
%t193 = load ptr, ptr %t173
%t194 = call ptr @fn_str_concat(ptr %t192, ptr %t193)
%t195 = call ptr @fn_str_concat(ptr %t194, ptr @.str4312)
%t196 = load ptr, ptr %t180
%t197 = call ptr @fn_str_concat(ptr %t195, ptr %t196)
%t198 = call ptr @fn_emit_bind(ptr %t197)
%t199 = call ptr @fn_val(ptr %t198, ptr @.str4313)
store ptr %t199, ptr %retval
br label %ret
ifend8:
%t200 = load ptr, ptr %t0
%t201 = call i32 @fn_str_eq(ptr %t200, ptr @.str4314)
%t202 = icmp ne i32 %t201, 0
br i1 %t202, label %then9, label %ifend11
then9:
%t203 = load ptr, ptr %t1
%t204 = getelementptr inbounds %Cmp_Node, ptr %t203, i32 0, i32 7
%t205 = load ptr, ptr %t204
%t206 = getelementptr inbounds %LSlice, ptr %t205, i32 0, i32 0
%t207 = load ptr, ptr %t206
%t208 = getelementptr inbounds ptr, ptr %t207, i32 0
%t209 = load ptr, ptr %t208
%t210 = call ptr @fn_emit_expr(ptr %t209)
store ptr %t210, ptr %t211
%t212 = load ptr, ptr %t1
%t213 = getelementptr inbounds %Cmp_Node, ptr %t212, i32 0, i32 7
%t214 = load ptr, ptr %t213
%t215 = getelementptr inbounds %LSlice, ptr %t214, i32 0, i32 0
%t216 = load ptr, ptr %t215
%t217 = getelementptr inbounds ptr, ptr %t216, i32 1
%t218 = load ptr, ptr %t217
%t219 = call ptr @fn_emit_expr(ptr %t218)
store ptr %t219, ptr %t220
%t221 = load ptr, ptr %t1
%t222 = getelementptr inbounds %Cmp_Node, ptr %t221, i32 0, i32 7
%t223 = load ptr, ptr %t222
%t224 = getelementptr inbounds %LSlice, ptr %t223, i32 0, i32 0
%t225 = load ptr, ptr %t224
%t226 = getelementptr inbounds ptr, ptr %t225, i32 2
%t227 = load ptr, ptr %t226
%t228 = call ptr @fn_emit_expr(ptr %t227)
store ptr %t228, ptr %t229
%t230 = load ptr, ptr %t211
%t231 = getelementptr inbounds %Cmp_Val, ptr %t230, i32 0, i32 0
%t232 = load ptr, ptr %t231
%t233 = load ptr, ptr %t220
%t234 = getelementptr inbounds %Cmp_Val, ptr %t233, i32 0, i32 0
%t235 = load ptr, ptr %t234
%t236 = call ptr @fn_anim_elapsed(ptr %t232, ptr %t235)
store ptr %t236, ptr %t237
%t238 = load ptr, ptr %t237
%t239 = call ptr @fn_str_concat(ptr @.str4315, ptr %t238)
%t240 = call ptr @fn_str_concat(ptr %t239, ptr @.str4316)
%t241 = load ptr, ptr %t229
%t242 = getelementptr inbounds %Cmp_Val, ptr %t241, i32 0, i32 0
%t243 = load ptr, ptr %t242
%t244 = call ptr @fn_str_concat(ptr %t240, ptr %t243)
%t245 = call ptr @fn_emit_bind(ptr %t244)
store ptr %t245, ptr %t246
%t247 = load ptr, ptr %t246
%t248 = call ptr @fn_str_concat(ptr @.str4317, ptr %t247)
%t249 = call ptr @fn_str_concat(ptr %t248, ptr @.str4318)
%t250 = call ptr @fn_emit_bind(ptr %t249)
%t251 = call ptr @fn_val(ptr %t250, ptr @.str4319)
store ptr %t251, ptr %retval
br label %ret
ifend11:
%t252 = load ptr, ptr %t0
%t253 = call i32 @fn_str_eq(ptr %t252, ptr @.str4320)
%t254 = icmp ne i32 %t253, 0
br i1 %t254, label %then12, label %ifend14
then12:
%t255 = load ptr, ptr %t1
%t256 = getelementptr inbounds %Cmp_Node, ptr %t255, i32 0, i32 7
%t257 = load ptr, ptr %t256
%t258 = getelementptr inbounds %LSlice, ptr %t257, i32 0, i32 0
%t259 = load ptr, ptr %t258
%t260 = getelementptr inbounds ptr, ptr %t259, i32 0
%t261 = load ptr, ptr %t260
%t262 = call ptr @fn_emit_expr(ptr %t261)
store ptr %t262, ptr %t263
%t264 = load ptr, ptr %t1
%t265 = getelementptr inbounds %Cmp_Node, ptr %t264, i32 0, i32 7
%t266 = load ptr, ptr %t265
%t267 = getelementptr inbounds %LSlice, ptr %t266, i32 0, i32 0
%t268 = load ptr, ptr %t267
%t269 = getelementptr inbounds ptr, ptr %t268, i32 1
%t270 = load ptr, ptr %t269
%t271 = call ptr @fn_emit_expr(ptr %t270)
store ptr %t271, ptr %t272
%t273 = load ptr, ptr %t272
%t274 = getelementptr inbounds %Cmp_Val, ptr %t273, i32 0, i32 0
%t275 = load ptr, ptr %t274
%t276 = call ptr @fn_str_concat(ptr @.str4321, ptr %t275)
%t277 = call ptr @fn_str_concat(ptr %t276, ptr @.str4322)
%t278 = call ptr @fn_emit_bind(ptr %t277)
store ptr %t278, ptr %t279
%t280 = load ptr, ptr %t263
%t281 = getelementptr inbounds %Cmp_Val, ptr %t280, i32 0, i32 0
%t282 = load ptr, ptr %t281
%t283 = call ptr @fn_anim_atleast1(ptr %t282)
store ptr %t283, ptr %t284
%t285 = load ptr, ptr %t279
%t286 = call ptr @fn_str_concat(ptr @.str4323, ptr %t285)
%t287 = call ptr @fn_str_concat(ptr %t286, ptr @.str4324)
%t288 = load ptr, ptr %t284
%t289 = call ptr @fn_str_concat(ptr %t287, ptr %t288)
%t290 = call ptr @fn_emit_bind(ptr %t289)
%t291 = call ptr @fn_val(ptr %t290, ptr @.str4325)
store ptr %t291, ptr %retval
br label %ret
ifend14:
%t292 = load ptr, ptr %t0
%t293 = call i32 @fn_str_eq(ptr %t292, ptr @.str4326)
%t294 = icmp ne i32 %t293, 0
br i1 %t294, label %then15, label %ifend17
then15:
%t295 = load ptr, ptr %t1
%t296 = getelementptr inbounds %Cmp_Node, ptr %t295, i32 0, i32 7
%t297 = load ptr, ptr %t296
%t298 = getelementptr inbounds %LSlice, ptr %t297, i32 0, i32 0
%t299 = load ptr, ptr %t298
%t300 = getelementptr inbounds ptr, ptr %t299, i32 0
%t301 = load ptr, ptr %t300
%t302 = call ptr @fn_emit_expr(ptr %t301)
store ptr %t302, ptr %t303
%t304 = load ptr, ptr %t1
%t305 = getelementptr inbounds %Cmp_Node, ptr %t304, i32 0, i32 7
%t306 = load ptr, ptr %t305
%t307 = getelementptr inbounds %LSlice, ptr %t306, i32 0, i32 0
%t308 = load ptr, ptr %t307
%t309 = getelementptr inbounds ptr, ptr %t308, i32 1
%t310 = load ptr, ptr %t309
%t311 = call ptr @fn_emit_expr(ptr %t310)
store ptr %t311, ptr %t312
%t313 = load ptr, ptr %t1
%t314 = getelementptr inbounds %Cmp_Node, ptr %t313, i32 0, i32 7
%t315 = load ptr, ptr %t314
%t316 = getelementptr inbounds %LSlice, ptr %t315, i32 0, i32 0
%t317 = load ptr, ptr %t316
%t318 = getelementptr inbounds ptr, ptr %t317, i32 2
%t319 = load ptr, ptr %t318
%t320 = call ptr @fn_emit_expr(ptr %t319)
store ptr %t320, ptr %t321
%t322 = load ptr, ptr %t312
%t323 = getelementptr inbounds %Cmp_Val, ptr %t322, i32 0, i32 0
%t324 = load ptr, ptr %t323
%t325 = call ptr @fn_anim_atleast1(ptr %t324)
store ptr %t325, ptr %t326
%t327 = load ptr, ptr %t303
%t328 = getelementptr inbounds %Cmp_Val, ptr %t327, i32 0, i32 0
%t329 = load ptr, ptr %t328
%t330 = call ptr @fn_str_concat(ptr @.str4327, ptr %t329)
%t331 = call ptr @fn_str_concat(ptr %t330, ptr @.str4328)
%t332 = load ptr, ptr %t326
%t333 = call ptr @fn_str_concat(ptr %t331, ptr %t332)
%t334 = call ptr @fn_emit_bind(ptr %t333)
store ptr %t334, ptr %t335
%t336 = load ptr, ptr %t335
%t337 = call ptr @fn_str_concat(ptr @.str4329, ptr %t336)
%t338 = call ptr @fn_str_concat(ptr %t337, ptr @.str4330)
%t339 = load ptr, ptr %t321
%t340 = getelementptr inbounds %Cmp_Val, ptr %t339, i32 0, i32 0
%t341 = load ptr, ptr %t340
%t342 = call ptr @fn_str_concat(ptr %t338, ptr %t341)
%t343 = call ptr @fn_emit_bind(ptr %t342)
%t344 = call ptr @fn_val(ptr %t343, ptr @.str4331)
store ptr %t344, ptr %retval
br label %ret
ifend17:
%t345 = load ptr, ptr %t1
%t346 = getelementptr inbounds %Cmp_Node, ptr %t345, i32 0, i32 7
%t347 = load ptr, ptr %t346
%t348 = getelementptr inbounds %LSlice, ptr %t347, i32 0, i32 0
%t349 = load ptr, ptr %t348
%t350 = getelementptr inbounds ptr, ptr %t349, i32 0
%t351 = load ptr, ptr %t350
%t352 = call ptr @fn_emit_expr(ptr %t351)
store ptr %t352, ptr %t353
%t354 = load ptr, ptr %t1
%t355 = getelementptr inbounds %Cmp_Node, ptr %t354, i32 0, i32 7
%t356 = load ptr, ptr %t355
%t357 = getelementptr inbounds %LSlice, ptr %t356, i32 0, i32 0
%t358 = load ptr, ptr %t357
%t359 = getelementptr inbounds ptr, ptr %t358, i32 1
%t360 = load ptr, ptr %t359
%t361 = call ptr @fn_emit_expr(ptr %t360)
store ptr %t361, ptr %t362
%t363 = load ptr, ptr %t1
%t364 = getelementptr inbounds %Cmp_Node, ptr %t363, i32 0, i32 7
%t365 = load ptr, ptr %t364
%t366 = getelementptr inbounds %LSlice, ptr %t365, i32 0, i32 0
%t367 = load ptr, ptr %t366
%t368 = getelementptr inbounds ptr, ptr %t367, i32 2
%t369 = load ptr, ptr %t368
%t370 = call ptr @fn_emit_expr(ptr %t369)
store ptr %t370, ptr %t371
%t372 = load ptr, ptr %t362
%t373 = getelementptr inbounds %Cmp_Val, ptr %t372, i32 0, i32 0
%t374 = load ptr, ptr %t373
%t375 = call ptr @fn_anim_atleast1(ptr %t374)
store ptr %t375, ptr %t376
%t377 = load ptr, ptr %t353
%t378 = getelementptr inbounds %Cmp_Val, ptr %t377, i32 0, i32 0
%t379 = load ptr, ptr %t378
%t380 = call ptr @fn_str_concat(ptr @.str4332, ptr %t379)
%t381 = call ptr @fn_str_concat(ptr %t380, ptr @.str4333)
%t382 = load ptr, ptr %t376
%t383 = call ptr @fn_str_concat(ptr %t381, ptr %t382)
%t384 = call ptr @fn_emit_bind(ptr %t383)
store ptr %t384, ptr %t385
%t386 = load ptr, ptr %t385
%t387 = call ptr @fn_str_concat(ptr @.str4334, ptr %t386)
%t388 = call ptr @fn_str_concat(ptr %t387, ptr @.str4335)
%t389 = load ptr, ptr %t371
%t390 = getelementptr inbounds %Cmp_Val, ptr %t389, i32 0, i32 0
%t391 = load ptr, ptr %t390
%t392 = call ptr @fn_str_concat(ptr %t388, ptr %t391)
%t393 = call ptr @fn_emit_bind(ptr %t392)
%t394 = call ptr @fn_val(ptr %t393, ptr @.str4336)
store ptr %t394, ptr %retval
br label %ret
ret:
%t395 = load ptr, ptr %retval
ret ptr %t395
}
define i32 @fn_is_tween_ns(ptr %arg_meth) {
entry:
%retval = alloca i32
%t0 = alloca ptr
%t1 = alloca i32
%t2 = alloca i32
%t3 = alloca i32
%t28 = alloca i32
%t29 = alloca i32
%t47 = alloca i32
store ptr %arg_meth, ptr %t0
%t4 = load ptr, ptr %t0
%t5 = call i32 @fn_str_eq(ptr %t4, ptr @.str4337)
%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 @fn_str_eq(ptr %t8, ptr @.str4338)
%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 @fn_str_eq(ptr %t15, ptr @.str4339)
%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 @fn_str_eq(ptr %t22, ptr @.str4340)
%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 @fn_str_eq(ptr %t30, ptr @.str4341)
%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 @fn_str_eq(ptr %t34, ptr @.str4342)
%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 @fn_str_eq(ptr %t41, ptr @.str4343)
%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 @fn_str_eq(ptr %t48, ptr @.str4344)
%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 @fn_str_eq(ptr %t52, ptr @.str4345)
%t54 = icmp ne i32 %t53, 0
%t55 = zext i1 %t54 to i32
store i32 %t55, ptr %t47
br label %scend17
scend17:
%t56 = load i32, ptr %t47
%t57 = icmp ne i32 %t56, 0
br i1 %t57, label %then18, label %ifend20
then18:
store i32 1, ptr %retval
br label %ret
ifend20:
store i32 0, ptr %retval
br label %ret
ret:
%t58 = load i32, ptr %retval
ret i32 %t58
}
define ptr @fn_tween_den(ptr %arg_dur) {
entry:
%retval = alloca ptr
%t0 = alloca ptr
%t5 = alloca ptr
store ptr %arg_dur, ptr %t0
%t1 = load ptr, ptr %t0
%t2 = call ptr @fn_str_concat(ptr @.str4346, ptr %t1)
%t3 = call ptr @fn_str_concat(ptr %t2, ptr @.str4347)
%t4 = call ptr @fn_emit_bind(ptr %t3)
store ptr %t4, ptr %t5
%t6 = load ptr, ptr %t5
%t7 = call ptr @fn_str_concat(ptr @.str4348, ptr %t6)
%t8 = call ptr @fn_str_concat(ptr %t7, ptr @.str4349)
%t9 = load ptr, ptr %t0
%t10 = call ptr @fn_str_concat(ptr %t8, ptr %t9)
%t11 = call ptr @fn_str_concat(ptr %t10, ptr @.str4350)
%t12 = call ptr @fn_emit_bind(ptr %t11)
store ptr %t12, ptr %retval
br label %ret
ret:
%t13 = load ptr, ptr %retval
ret ptr %t13
}
define ptr @fn_emit_tween_ns(ptr %arg_meth, ptr %arg_e) {
entry:
%retval = alloca ptr
%t0 = alloca ptr
%t1 = alloca ptr
%t13 = alloca ptr
%t22 = alloca ptr
%t29 = alloca ptr
%t39 = alloca ptr
%t45 = alloca ptr
%t50 = alloca ptr
%t57 = alloca ptr
%t62 = alloca ptr
%t69 = alloca ptr
%t89 = alloca ptr
%t98 = alloca ptr
%t103 = alloca ptr
%t109 = alloca ptr
%t126 = alloca ptr
%t135 = alloca ptr
%t140 = alloca ptr
%t146 = alloca ptr
%t151 = alloca ptr
%t155 = alloca ptr
%t160 = alloca ptr
%t190 = alloca ptr
%t206 = alloca ptr
%t215 = alloca ptr
%t226 = alloca ptr
%t243 = alloca ptr
%t251 = alloca ptr
%t277 = alloca ptr
%t286 = alloca ptr
%t295 = alloca ptr
%t318 = alloca ptr
%t327 = alloca ptr
%t336 = alloca ptr
%t347 = alloca ptr
%t352 = alloca ptr
%t359 = alloca ptr
%t366 = alloca ptr
%t371 = alloca ptr
%t376 = alloca ptr
%t381 = alloca ptr
%t402 = alloca ptr
%t411 = alloca ptr
%t420 = alloca ptr
%t425 = alloca ptr
%t430 = alloca ptr
%t435 = alloca ptr
%t440 = alloca ptr
%t447 = alloca ptr
%t454 = alloca ptr
%t467 = alloca ptr
%t476 = alloca ptr
%t485 = alloca ptr
%t498 = alloca ptr
%t511 = alloca ptr
%t524 = alloca ptr
store ptr %arg_meth, ptr %t0
store ptr %arg_e, ptr %t1
%t2 = load ptr, ptr %t0
%t3 = call i32 @fn_str_eq(ptr %t2, ptr @.str4351)
%t4 = icmp ne i32 %t3, 0
br i1 %t4, label %then0, label %ifend2
then0:
%t5 = load ptr, ptr %t1
%t6 = getelementptr inbounds %Cmp_Node, ptr %t5, i32 0, i32 7
%t7 = load ptr, ptr %t6
%t8 = getelementptr inbounds %LSlice, ptr %t7, i32 0, i32 0
%t9 = load ptr, ptr %t8
%t10 = getelementptr inbounds ptr, ptr %t9, i32 0
%t11 = load ptr, ptr %t10
%t12 = call ptr @fn_emit_expr(ptr %t11)
store ptr %t12, ptr %t13
%t14 = load ptr, ptr %t1
%t15 = getelementptr inbounds %Cmp_Node, ptr %t14, i32 0, i32 7
%t16 = load ptr, ptr %t15
%t17 = getelementptr inbounds %LSlice, ptr %t16, i32 0, i32 0
%t18 = load ptr, ptr %t17
%t19 = getelementptr inbounds ptr, ptr %t18, i32 1
%t20 = load ptr, ptr %t19
%t21 = call ptr @fn_emit_expr(ptr %t20)
store ptr %t21, ptr %t22
%t23 = load ptr, ptr %t22
%t24 = getelementptr inbounds %Cmp_Val, ptr %t23, i32 0, i32 0
%t25 = load ptr, ptr %t24
%t26 = call ptr @fn_str_concat(ptr @.str4352, ptr %t25)
%t27 = call ptr @fn_str_concat(ptr %t26, ptr @.str4353)
%t28 = call ptr @fn_emit_bind(ptr %t27)
store ptr %t28, ptr %t29
%t30 = load ptr, ptr %t29
%t31 = call ptr @fn_str_concat(ptr @.str4354, ptr %t30)
%t32 = call ptr @fn_str_concat(ptr %t31, ptr @.str4355)
%t33 = load ptr, ptr %t22
%t34 = getelementptr inbounds %Cmp_Val, ptr %t33, i32 0, i32 0
%t35 = load ptr, ptr %t34
%t36 = call ptr @fn_str_concat(ptr %t32, ptr %t35)
%t37 = call ptr @fn_str_concat(ptr %t36, ptr @.str4356)
%t38 = call ptr @fn_emit_bind(ptr %t37)
store ptr %t38, ptr %t39
%t40 = load ptr, ptr %t13
%t41 = getelementptr inbounds %Cmp_Val, ptr %t40, i32 0, i32 0
%t42 = load ptr, ptr %t41
%t43 = load ptr, ptr %t39
%t44 = call ptr @fn_fx_div_code(ptr %t42, ptr %t43)
store ptr %t44, ptr %t45
%t46 = load ptr, ptr %t45
%t47 = call ptr @fn_str_concat(ptr @.str4357, ptr %t46)
%t48 = call ptr @fn_str_concat(ptr %t47, ptr @.str4358)
%t49 = call ptr @fn_emit_bind(ptr %t48)
store ptr %t49, ptr %t50
%t51 = load ptr, ptr %t50
%t52 = call ptr @fn_str_concat(ptr @.str4359, ptr %t51)
%t53 = call ptr @fn_str_concat(ptr %t52, ptr @.str4360)
%t54 = load ptr, ptr %t45
%t55 = call ptr @fn_str_concat(ptr %t53, ptr %t54)
%t56 = call ptr @fn_emit_bind(ptr %t55)
store ptr %t56, ptr %t57
%t58 = load ptr, ptr %t57
%t59 = call ptr @fn_str_concat(ptr @.str4361, ptr %t58)
%t60 = call ptr @fn_str_concat(ptr %t59, ptr @.str4362)
%t61 = call ptr @fn_emit_bind(ptr %t60)
store ptr %t61, ptr %t62
%t63 = load ptr, ptr %t62
%t64 = call ptr @fn_str_concat(ptr @.str4363, ptr %t63)
%t65 = call ptr @fn_str_concat(ptr %t64, ptr @.str4364)
%t66 = load ptr, ptr %t57
%t67 = call ptr @fn_str_concat(ptr %t65, ptr %t66)
%t68 = call ptr @fn_emit_bind(ptr %t67)
store ptr %t68, ptr %t69
%t70 = load ptr, ptr %t29
%t71 = call ptr @fn_str_concat(ptr @.str4365, ptr %t70)
%t72 = call ptr @fn_str_concat(ptr %t71, ptr @.str4366)
%t73 = load ptr, ptr %t69
%t74 = call ptr @fn_str_concat(ptr %t72, ptr %t73)
%t75 = call ptr @fn_str_concat(ptr %t74, ptr @.str4367)
%t76 = call ptr @fn_emit_bind(ptr %t75)
%t77 = call ptr @fn_val(ptr %t76, ptr @.str4368)
store ptr %t77, ptr %retval
br label %ret
ifend2:
%t78 = load ptr, ptr %t0
%t79 = call i32 @fn_str_eq(ptr %t78, ptr @.str4369)
%t80 = icmp ne i32 %t79, 0
br i1 %t80, label %then3, label %ifend5
then3:
%t81 = load ptr, ptr %t1
%t82 = getelementptr inbounds %Cmp_Node, ptr %t81, i32 0, i32 7
%t83 = load ptr, ptr %t82
%t84 = getelementptr inbounds %LSlice, ptr %t83, i32 0, i32 0
%t85 = load ptr, ptr %t84
%t86 = getelementptr inbounds ptr, ptr %t85, i32 0
%t87 = load ptr, ptr %t86
%t88 = call ptr @fn_emit_expr(ptr %t87)
store ptr %t88, ptr %t89
%t90 = load ptr, ptr %t1
%t91 = getelementptr inbounds %Cmp_Node, ptr %t90, i32 0, i32 7
%t92 = load ptr, ptr %t91
%t93 = getelementptr inbounds %LSlice, ptr %t92, i32 0, i32 0
%t94 = load ptr, ptr %t93
%t95 = getelementptr inbounds ptr, ptr %t94, i32 1
%t96 = load ptr, ptr %t95
%t97 = call ptr @fn_emit_expr(ptr %t96)
store ptr %t97, ptr %t98
%t99 = load ptr, ptr %t98
%t100 = getelementptr inbounds %Cmp_Val, ptr %t99, i32 0, i32 0
%t101 = load ptr, ptr %t100
%t102 = call ptr @fn_tween_den(ptr %t101)
store ptr %t102, ptr %t103
%t104 = load ptr, ptr %t89
%t105 = getelementptr inbounds %Cmp_Val, ptr %t104, i32 0, i32 0
%t106 = load ptr, ptr %t105
%t107 = load ptr, ptr %t103
%t108 = call ptr @fn_fx_div_code(ptr %t106, ptr %t107)
store ptr %t108, ptr %t109
%t110 = load ptr, ptr %t109
%t111 = call ptr @fn_str_concat(ptr @.str4370, ptr %t110)
%t112 = call ptr @fn_str_concat(ptr %t111, ptr @.str4371)
%t113 = call ptr @fn_emit_bind(ptr %t112)
%t114 = call ptr @fn_val(ptr %t113, ptr @.str4372)
store ptr %t114, ptr %retval
br label %ret
ifend5:
%t115 = load ptr, ptr %t0
%t116 = call i32 @fn_str_eq(ptr %t115, ptr @.str4373)
%t117 = icmp ne i32 %t116, 0
br i1 %t117, label %then6, label %ifend8
then6:
%t118 = load ptr, ptr %t1
%t119 = getelementptr inbounds %Cmp_Node, ptr %t118, i32 0, i32 7
%t120 = load ptr, ptr %t119
%t121 = getelementptr inbounds %LSlice, ptr %t120, i32 0, i32 0
%t122 = load ptr, ptr %t121
%t123 = getelementptr inbounds ptr, ptr %t122, i32 0
%t124 = load ptr, ptr %t123
%t125 = call ptr @fn_emit_expr(ptr %t124)
store ptr %t125, ptr %t126
%t127 = load ptr, ptr %t1
%t128 = getelementptr inbounds %Cmp_Node, ptr %t127, i32 0, i32 7
%t129 = load ptr, ptr %t128
%t130 = getelementptr inbounds %LSlice, ptr %t129, i32 0, i32 0
%t131 = load ptr, ptr %t130
%t132 = getelementptr inbounds ptr, ptr %t131, i32 1
%t133 = load ptr, ptr %t132
%t134 = call ptr @fn_emit_expr(ptr %t133)
store ptr %t134, ptr %t135
%t136 = load ptr, ptr %t135
%t137 = getelementptr inbounds %Cmp_Val, ptr %t136, i32 0, i32 0
%t138 = load ptr, ptr %t137
%t139 = call ptr @fn_tween_den(ptr %t138)
store ptr %t139, ptr %t140
%t141 = load ptr, ptr %t126
%t142 = getelementptr inbounds %Cmp_Val, ptr %t141, i32 0, i32 0
%t143 = load ptr, ptr %t142
%t144 = load ptr, ptr %t140
%t145 = call ptr @fn_fx_div_code(ptr %t143, ptr %t144)
store ptr %t145, ptr %t146
%t147 = load ptr, ptr %t146
%t148 = call ptr @fn_str_concat(ptr @.str4374, ptr %t147)
%t149 = call ptr @fn_str_concat(ptr %t148, ptr @.str4375)
%t150 = call ptr @fn_emit_bind(ptr %t149)
store ptr %t150, ptr %t151
%t152 = load ptr, ptr %t151
%t153 = call ptr @fn_str_concat(ptr @.str4376, ptr %t152)
%t154 = call ptr @fn_emit_bind(ptr %t153)
store ptr %t154, ptr %t155
%t156 = load ptr, ptr %t151
%t157 = call ptr @fn_str_concat(ptr @.str4377, ptr %t156)
%t158 = call ptr @fn_str_concat(ptr %t157, ptr @.str4378)
%t159 = call ptr @fn_emit_bind(ptr %t158)
store ptr %t159, ptr %t160
%t161 = load ptr, ptr %t160
%t162 = call ptr @fn_str_concat(ptr @.str4379, ptr %t161)
%t163 = call ptr @fn_str_concat(ptr %t162, ptr @.str4380)
%t164 = load ptr, ptr %t151
%t165 = call ptr @fn_str_concat(ptr %t163, ptr %t164)
%t166 = call ptr @fn_str_concat(ptr %t165, ptr @.str4381)
%t167 = load ptr, ptr %t155
%t168 = call ptr @fn_str_concat(ptr %t166, ptr %t167)
%t169 = call ptr @fn_emit_bind(ptr %t168)
%t170 = call ptr @fn_val(ptr %t169, ptr @.str4382)
store ptr %t170, ptr %retval
br label %ret
ifend8:
%t171 = load ptr, ptr %t0
%t172 = call i32 @fn_str_eq(ptr %t171, ptr @.str4383)
%t173 = icmp ne i32 %t172, 0
br i1 %t173, label %then9, label %ifend11
then9:
%t174 = load ptr, ptr %t1
%t175 = getelementptr inbounds %Cmp_Node, ptr %t174, i32 0, i32 7
%t176 = load ptr, ptr %t175
%t177 = getelementptr inbounds %LSlice, ptr %t176, i32 0, i32 1
%t178 = load i32, ptr %t177
%t179 = icmp eq i32 %t178, 1
%t180 = zext i1 %t179 to i32
%t181 = icmp ne i32 %t180, 0
br i1 %t181, label %then12, label %ifend14
then12:
%t182 = load ptr, ptr %t1
%t183 = getelementptr inbounds %Cmp_Node, ptr %t182, i32 0, i32 7
%t184 = load ptr, ptr %t183
%t185 = getelementptr inbounds %LSlice, ptr %t184, i32 0, i32 0
%t186 = load ptr, ptr %t185
%t187 = getelementptr inbounds ptr, ptr %t186, i32 0
%t188 = load ptr, ptr %t187
%t189 = call ptr @fn_emit_expr(ptr %t188)
store ptr %t189, ptr %t190
%t191 = load ptr, ptr %t190
%t192 = getelementptr inbounds %Cmp_Val, ptr %t191, i32 0, i32 0
%t193 = load ptr, ptr %t192
%t194 = call ptr @fn_str_concat(ptr @.str4384, ptr %t193)
%t195 = call ptr @fn_str_concat(ptr %t194, ptr @.str4385)
%t196 = call ptr @fn_emit_bind(ptr %t195)
%t197 = call ptr @fn_val(ptr %t196, ptr @.str4386)
store ptr %t197, ptr %retval
br label %ret
ifend14:
%t198 = load ptr, ptr %t1
%t199 = getelementptr inbounds %Cmp_Node, ptr %t198, i32 0, i32 7
%t200 = load ptr, ptr %t199
%t201 = getelementptr inbounds %LSlice, ptr %t200, i32 0, i32 0
%t202 = load ptr, ptr %t201
%t203 = getelementptr inbounds ptr, ptr %t202, i32 0
%t204 = load ptr, ptr %t203
%t205 = call ptr @fn_emit_expr(ptr %t204)
store ptr %t205, ptr %t206
%t207 = load ptr, ptr %t1
%t208 = getelementptr inbounds %Cmp_Node, ptr %t207, i32 0, i32 7
%t209 = load ptr, ptr %t208
%t210 = getelementptr inbounds %LSlice, ptr %t209, i32 0, i32 0
%t211 = load ptr, ptr %t210
%t212 = getelementptr inbounds ptr, ptr %t211, i32 1
%t213 = load ptr, ptr %t212
%t214 = call ptr @fn_emit_expr(ptr %t213)
store ptr %t214, ptr %t215
%t216 = load ptr, ptr %t206
%t217 = getelementptr inbounds %Cmp_Val, ptr %t216, i32 0, i32 0
%t218 = load ptr, ptr %t217
%t219 = call ptr @fn_str_concat(ptr @.str4387, ptr %t218)
%t220 = call ptr @fn_str_concat(ptr %t219, ptr @.str4388)
%t221 = load ptr, ptr %t215
%t222 = getelementptr inbounds %Cmp_Val, ptr %t221, i32 0, i32 0
%t223 = load ptr, ptr %t222
%t224 = call ptr @fn_str_concat(ptr %t220, ptr %t223)
%t225 = call ptr @fn_emit_bind(ptr %t224)
store ptr %t225, ptr %t226
%t227 = load ptr, ptr %t226
%t228 = call ptr @fn_str_concat(ptr @.str4389, ptr %t227)
%t229 = call ptr @fn_str_concat(ptr %t228, ptr @.str4390)
%t230 = call ptr @fn_emit_bind(ptr %t229)
%t231 = call ptr @fn_val(ptr %t230, ptr @.str4391)
store ptr %t231, ptr %retval
br label %ret
ifend11:
%t232 = load ptr, ptr %t0
%t233 = call i32 @fn_str_eq(ptr %t232, ptr @.str4392)
%t234 = icmp ne i32 %t233, 0
br i1 %t234, label %then15, label %ifend17
then15:
%t235 = load ptr, ptr %t1
%t236 = getelementptr inbounds %Cmp_Node, ptr %t235, i32 0, i32 7
%t237 = load ptr, ptr %t236
%t238 = getelementptr inbounds %LSlice, ptr %t237, i32 0, i32 0
%t239 = load ptr, ptr %t238
%t240 = getelementptr inbounds ptr, ptr %t239, i32 0
%t241 = load ptr, ptr %t240
%t242 = call ptr @fn_emit_expr(ptr %t241)
store ptr %t242, ptr %t243
%t244 = load ptr, ptr %t1
%t245 = getelementptr inbounds %Cmp_Node, ptr %t244, i32 0, i32 7
%t246 = load ptr, ptr %t245
%t247 = getelementptr inbounds %LSlice, ptr %t246, i32 0, i32 0
%t248 = load ptr, ptr %t247
%t249 = getelementptr inbounds ptr, ptr %t248, i32 1
%t250 = load ptr, ptr %t249
store ptr %t250, ptr %t251
%t252 = load ptr, ptr %t251
%t253 = getelementptr inbounds %Cmp_Node, ptr %t252, i32 0, i32 0
%t254 = load i32, ptr %t253
%t255 = icmp ne i32 %t254, 30
%t256 = zext i1 %t255 to i32
%t257 = icmp ne i32 %t256, 0
br i1 %t257, label %then18, label %ifend20
then18:
call void @fn_perr(ptr @.str4393)
br label %ifend20
ifend20:
%t258 = load ptr, ptr %t251
%t259 = getelementptr inbounds %Cmp_Node, ptr %t258, i32 0, i32 2
%t260 = load i32, ptr %t259
%t261 = load ptr, ptr %t243
%t262 = getelementptr inbounds %Cmp_Val, ptr %t261, i32 0, i32 0
%t263 = load ptr, ptr %t262
%t264 = call ptr @fn_ease_eval(i32 %t260, ptr %t263)
%t265 = call ptr @fn_val(ptr %t264, ptr @.str4394)
store ptr %t265, ptr %retval
br label %ret
ifend17:
%t266 = load ptr, ptr %t0
%t267 = call i32 @fn_str_eq(ptr %t266, ptr @.str4395)
%t268 = icmp ne i32 %t267, 0
br i1 %t268, label %then21, label %ifend23
then21:
%t269 = load ptr, ptr %t1
%t270 = getelementptr inbounds %Cmp_Node, ptr %t269, i32 0, i32 7
%t271 = load ptr, ptr %t270
%t272 = getelementptr inbounds %LSlice, ptr %t271, i32 0, i32 0
%t273 = load ptr, ptr %t272
%t274 = getelementptr inbounds ptr, ptr %t273, i32 0
%t275 = load ptr, ptr %t274
%t276 = call ptr @fn_emit_expr(ptr %t275)
store ptr %t276, ptr %t277
%t278 = load ptr, ptr %t1
%t279 = getelementptr inbounds %Cmp_Node, ptr %t278, i32 0, i32 7
%t280 = load ptr, ptr %t279
%t281 = getelementptr inbounds %LSlice, ptr %t280, i32 0, i32 0
%t282 = load ptr, ptr %t281
%t283 = getelementptr inbounds ptr, ptr %t282, i32 1
%t284 = load ptr, ptr %t283
%t285 = call ptr @fn_emit_expr(ptr %t284)
store ptr %t285, ptr %t286
%t287 = load ptr, ptr %t1
%t288 = getelementptr inbounds %Cmp_Node, ptr %t287, i32 0, i32 7
%t289 = load ptr, ptr %t288
%t290 = getelementptr inbounds %LSlice, ptr %t289, i32 0, i32 0
%t291 = load ptr, ptr %t290
%t292 = getelementptr inbounds ptr, ptr %t291, i32 2
%t293 = load ptr, ptr %t292
%t294 = call ptr @fn_emit_expr(ptr %t293)
store ptr %t294, ptr %t295
%t296 = load ptr, ptr %t277
%t297 = getelementptr inbounds %Cmp_Val, ptr %t296, i32 0, i32 0
%t298 = load ptr, ptr %t297
%t299 = load ptr, ptr %t286
%t300 = getelementptr inbounds %Cmp_Val, ptr %t299, i32 0, i32 0
%t301 = load ptr, ptr %t300
%t302 = load ptr, ptr %t295
%t303 = getelementptr inbounds %Cmp_Val, ptr %t302, i32 0, i32 0
%t304 = load ptr, ptr %t303
%t305 = call ptr @fn_fx_lerp_code(ptr %t298, ptr %t301, ptr %t304)
%t306 = call ptr @fn_val(ptr %t305, ptr @.str4396)
store ptr %t306, ptr %retval
br label %ret
ifend23:
%t307 = load ptr, ptr %t0
%t308 = call i32 @fn_str_eq(ptr %t307, ptr @.str4397)
%t309 = icmp ne i32 %t308, 0
br i1 %t309, label %then24, label %ifend26
then24:
%t310 = load ptr, ptr %t1
%t311 = getelementptr inbounds %Cmp_Node, ptr %t310, i32 0, i32 7
%t312 = load ptr, ptr %t311
%t313 = getelementptr inbounds %LSlice, ptr %t312, i32 0, i32 0
%t314 = load ptr, ptr %t313
%t315 = getelementptr inbounds ptr, ptr %t314, i32 0
%t316 = load ptr, ptr %t315
%t317 = call ptr @fn_emit_expr(ptr %t316)
store ptr %t317, ptr %t318
%t319 = load ptr, ptr %t1
%t320 = getelementptr inbounds %Cmp_Node, ptr %t319, i32 0, i32 7
%t321 = load ptr, ptr %t320
%t322 = getelementptr inbounds %LSlice, ptr %t321, i32 0, i32 0
%t323 = load ptr, ptr %t322
%t324 = getelementptr inbounds ptr, ptr %t323, i32 1
%t325 = load ptr, ptr %t324
%t326 = call ptr @fn_emit_expr(ptr %t325)
store ptr %t326, ptr %t327
%t328 = load ptr, ptr %t1
%t329 = getelementptr inbounds %Cmp_Node, ptr %t328, i32 0, i32 7
%t330 = load ptr, ptr %t329
%t331 = getelementptr inbounds %LSlice, ptr %t330, i32 0, i32 0
%t332 = load ptr, ptr %t331
%t333 = getelementptr inbounds ptr, ptr %t332, i32 2
%t334 = load ptr, ptr %t333
%t335 = call ptr @fn_emit_expr(ptr %t334)
store ptr %t335, ptr %t336
%t337 = load ptr, ptr %t327
%t338 = getelementptr inbounds %Cmp_Val, ptr %t337, i32 0, i32 0
%t339 = load ptr, ptr %t338
%t340 = call ptr @fn_str_concat(ptr @.str4398, ptr %t339)
%t341 = call ptr @fn_str_concat(ptr %t340, ptr @.str4399)
%t342 = load ptr, ptr %t318
%t343 = getelementptr inbounds %Cmp_Val, ptr %t342, i32 0, i32 0
%t344 = load ptr, ptr %t343
%t345 = call ptr @fn_str_concat(ptr %t341, ptr %t344)
%t346 = call ptr @fn_emit_bind(ptr %t345)
store ptr %t346, ptr %t347
%t348 = load ptr, ptr %t347
%t349 = call ptr @fn_str_concat(ptr @.str4400, ptr %t348)
%t350 = call ptr @fn_str_concat(ptr %t349, ptr @.str4401)
%t351 = call ptr @fn_emit_bind(ptr %t350)
store ptr %t351, ptr %t352
%t353 = load ptr, ptr %t336
%t354 = getelementptr inbounds %Cmp_Val, ptr %t353, i32 0, i32 0
%t355 = load ptr, ptr %t354
%t356 = call ptr @fn_str_concat(ptr @.str4402, ptr %t355)
%t357 = call ptr @fn_str_concat(ptr %t356, ptr @.str4403)
%t358 = call ptr @fn_emit_bind(ptr %t357)
store ptr %t358, ptr %t359
%t360 = load ptr, ptr %t352
%t361 = call ptr @fn_str_concat(ptr @.str4404, ptr %t360)
%t362 = call ptr @fn_str_concat(ptr %t361, ptr @.str4405)
%t363 = load ptr, ptr %t359
%t364 = call ptr @fn_str_concat(ptr %t362, ptr %t363)
%t365 = call ptr @fn_emit_bind(ptr %t364)
store ptr %t365, ptr %t366
%t367 = load ptr, ptr %t366
%t368 = call ptr @fn_str_concat(ptr @.str4406, ptr %t367)
%t369 = call ptr @fn_str_concat(ptr %t368, ptr @.str4407)
%t370 = call ptr @fn_emit_bind(ptr %t369)
store ptr %t370, ptr %t371
%t372 = load ptr, ptr %t371
%t373 = call ptr @fn_str_concat(ptr @.str4408, ptr %t372)
%t374 = call ptr @fn_str_concat(ptr %t373, ptr @.str4409)
%t375 = call ptr @fn_emit_bind(ptr %t374)
store ptr %t375, ptr %t376
%t377 = load ptr, ptr %t376
%t378 = call ptr @fn_str_concat(ptr @.str4410, ptr %t377)
%t379 = call ptr @fn_str_concat(ptr %t378, ptr @.str4411)
%t380 = call ptr @fn_emit_bind(ptr %t379)
store ptr %t380, ptr %t381
%t382 = load ptr, ptr %t318
%t383 = getelementptr inbounds %Cmp_Val, ptr %t382, i32 0, i32 0
%t384 = load ptr, ptr %t383
%t385 = call ptr @fn_str_concat(ptr @.str4412, ptr %t384)
%t386 = call ptr @fn_str_concat(ptr %t385, ptr @.str4413)
%t387 = load ptr, ptr %t381
%t388 = call ptr @fn_str_concat(ptr %t386, ptr %t387)
%t389 = call ptr @fn_emit_bind(ptr %t388)
%t390 = call ptr @fn_val(ptr %t389, ptr @.str4414)
store ptr %t390, ptr %retval
br label %ret
ifend26:
%t391 = load ptr, ptr %t0
%t392 = call i32 @fn_str_eq(ptr %t391, ptr @.str4415)
%t393 = icmp ne i32 %t392, 0
br i1 %t393, label %then27, label %ifend29
then27:
%t394 = load ptr, ptr %t1
%t395 = getelementptr inbounds %Cmp_Node, ptr %t394, i32 0, i32 7
%t396 = load ptr, ptr %t395
%t397 = getelementptr inbounds %LSlice, ptr %t396, i32 0, i32 0
%t398 = load ptr, ptr %t397
%t399 = getelementptr inbounds ptr, ptr %t398, i32 0
%t400 = load ptr, ptr %t399
%t401 = call ptr @fn_emit_expr(ptr %t400)
store ptr %t401, ptr %t402
%t403 = load ptr, ptr %t1
%t404 = getelementptr inbounds %Cmp_Node, ptr %t403, i32 0, i32 7
%t405 = load ptr, ptr %t404
%t406 = getelementptr inbounds %LSlice, ptr %t405, i32 0, i32 0
%t407 = load ptr, ptr %t406
%t408 = getelementptr inbounds ptr, ptr %t407, i32 1
%t409 = load ptr, ptr %t408
%t410 = call ptr @fn_emit_expr(ptr %t409)
store ptr %t410, ptr %t411
%t412 = load ptr, ptr %t1
%t413 = getelementptr inbounds %Cmp_Node, ptr %t412, i32 0, i32 7
%t414 = load ptr, ptr %t413
%t415 = getelementptr inbounds %LSlice, ptr %t414, i32 0, i32 0
%t416 = load ptr, ptr %t415
%t417 = getelementptr inbounds ptr, ptr %t416, i32 2
%t418 = load ptr, ptr %t417
%t419 = call ptr @fn_emit_expr(ptr %t418)
store ptr %t419, ptr %t420
%t421 = load ptr, ptr %t402
%t422 = getelementptr inbounds %Cmp_Val, ptr %t421, i32 0, i32 0
%t423 = load ptr, ptr %t422
%t424 = call ptr @fn_vec_x(ptr %t423)
store ptr %t424, ptr %t425
%t426 = load ptr, ptr %t402
%t427 = getelementptr inbounds %Cmp_Val, ptr %t426, i32 0, i32 0
%t428 = load ptr, ptr %t427
%t429 = call ptr @fn_vec_y(ptr %t428)
store ptr %t429, ptr %t430
%t431 = load ptr, ptr %t411
%t432 = getelementptr inbounds %Cmp_Val, ptr %t431, i32 0, i32 0
%t433 = load ptr, ptr %t432
%t434 = call ptr @fn_vec_x(ptr %t433)
store ptr %t434, ptr %t435
%t436 = load ptr, ptr %t411
%t437 = getelementptr inbounds %Cmp_Val, ptr %t436, i32 0, i32 0
%t438 = load ptr, ptr %t437
%t439 = call ptr @fn_vec_y(ptr %t438)
store ptr %t439, ptr %t440
%t441 = load ptr, ptr %t425
%t442 = load ptr, ptr %t435
%t443 = load ptr, ptr %t420
%t444 = getelementptr inbounds %Cmp_Val, ptr %t443, i32 0, i32 0
%t445 = load ptr, ptr %t444
%t446 = call ptr @fn_fx_lerp_code(ptr %t441, ptr %t442, ptr %t445)
store ptr %t446, ptr %t447
%t448 = load ptr, ptr %t430
%t449 = load ptr, ptr %t440
%t450 = load ptr, ptr %t420
%t451 = getelementptr inbounds %Cmp_Val, ptr %t450, i32 0, i32 0
%t452 = load ptr, ptr %t451
%t453 = call ptr @fn_fx_lerp_code(ptr %t448, ptr %t449, ptr %t452)
store ptr %t453, ptr %t454
%t455 = load ptr, ptr %t447
%t456 = load ptr, ptr %t454
%t457 = call ptr @fn_vec_pack(ptr %t455, ptr %t456)
%t458 = call ptr @fn_val(ptr %t457, ptr @.str4416)
store ptr %t458, ptr %retval
br label %ret
ifend29:
%t459 = load ptr, ptr %t1
%t460 = getelementptr inbounds %Cmp_Node, ptr %t459, i32 0, i32 7
%t461 = load ptr, ptr %t460
%t462 = getelementptr inbounds %LSlice, ptr %t461, i32 0, i32 0
%t463 = load ptr, ptr %t462
%t464 = getelementptr inbounds ptr, ptr %t463, i32 0
%t465 = load ptr, ptr %t464
%t466 = call ptr @fn_emit_expr(ptr %t465)
store ptr %t466, ptr %t467
%t468 = load ptr, ptr %t1
%t469 = getelementptr inbounds %Cmp_Node, ptr %t468, i32 0, i32 7
%t470 = load ptr, ptr %t469
%t471 = getelementptr inbounds %LSlice, ptr %t470, i32 0, i32 0
%t472 = load ptr, ptr %t471
%t473 = getelementptr inbounds ptr, ptr %t472, i32 1
%t474 = load ptr, ptr %t473
%t475 = call ptr @fn_emit_expr(ptr %t474)
store ptr %t475, ptr %t476
%t477 = load ptr, ptr %t1
%t478 = getelementptr inbounds %Cmp_Node, ptr %t477, i32 0, i32 7
%t479 = load ptr, ptr %t478
%t480 = getelementptr inbounds %LSlice, ptr %t479, i32 0, i32 0
%t481 = load ptr, ptr %t480
%t482 = getelementptr inbounds ptr, ptr %t481, i32 2
%t483 = load ptr, ptr %t482
%t484 = call ptr @fn_emit_expr(ptr %t483)
store ptr %t484, ptr %t485
%t486 = load ptr, ptr %t467
%t487 = getelementptr inbounds %Cmp_Val, ptr %t486, i32 0, i32 0
%t488 = load ptr, ptr %t487
%t489 = call ptr @fn_color_ch(ptr %t488, ptr @.str4417)
%t490 = load ptr, ptr %t476
%t491 = getelementptr inbounds %Cmp_Val, ptr %t490, i32 0, i32 0
%t492 = load ptr, ptr %t491
%t493 = call ptr @fn_color_ch(ptr %t492, ptr @.str4418)
%t494 = load ptr, ptr %t485
%t495 = getelementptr inbounds %Cmp_Val, ptr %t494, i32 0, i32 0
%t496 = load ptr, ptr %t495
%t497 = call ptr @fn_color_lerp_ch(ptr %t489, ptr %t493, ptr %t496)
store ptr %t497, ptr %t498
%t499 = load ptr, ptr %t467
%t500 = getelementptr inbounds %Cmp_Val, ptr %t499, i32 0, i32 0
%t501 = load ptr, ptr %t500
%t502 = call ptr @fn_color_ch(ptr %t501, ptr @.str4419)
%t503 = load ptr, ptr %t476
%t504 = getelementptr inbounds %Cmp_Val, ptr %t503, i32 0, i32 0
%t505 = load ptr, ptr %t504
%t506 = call ptr @fn_color_ch(ptr %t505, ptr @.str4420)
%t507 = load ptr, ptr %t485
%t508 = getelementptr inbounds %Cmp_Val, ptr %t507, i32 0, i32 0
%t509 = load ptr, ptr %t508
%t510 = call ptr @fn_color_lerp_ch(ptr %t502, ptr %t506, ptr %t509)
store ptr %t510, ptr %t511
%t512 = load ptr, ptr %t467
%t513 = getelementptr inbounds %Cmp_Val, ptr %t512, i32 0, i32 0
%t514 = load ptr, ptr %t513
%t515 = call ptr @fn_color_ch(ptr %t514, ptr @.str4421)
%t516 = load ptr, ptr %t476
%t517 = getelementptr inbounds %Cmp_Val, ptr %t516, i32 0, i32 0
%t518 = load ptr, ptr %t517
%t519 = call ptr @fn_color_ch(ptr %t518, ptr @.str4422)
%t520 = load ptr, ptr %t485
%t521 = getelementptr inbounds %Cmp_Val, ptr %t520, i32 0, i32 0
%t522 = load ptr, ptr %t521
%t523 = call ptr @fn_color_lerp_ch(ptr %t515, ptr %t519, ptr %t522)
store ptr %t523, ptr %t524
%t525 = load ptr, ptr %t498
%t526 = load ptr, ptr %t511
%t527 = load ptr, ptr %t524
%t528 = call ptr @fn_color_pack(ptr %t525, ptr %t526, ptr %t527)
%t529 = call ptr @fn_val(ptr %t528, ptr @.str4423)
store ptr %t529, ptr %retval
br label %ret
ret:
%t530 = load ptr, ptr %retval
ret ptr %t530
}
define i32 @fn_is_collide_ns(ptr %arg_meth) {
entry:
%retval = alloca i32
%t0 = alloca ptr
%t1 = alloca i32
%t12 = alloca i32
store ptr %arg_meth, ptr %t0
%t2 = load ptr, ptr %t0
%t3 = call i32 @fn_str_eq(ptr %t2, ptr @.str4424)
%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 @fn_str_eq(ptr %t6, ptr @.str4425)
%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 @fn_str_eq(ptr %t13, ptr @.str4426)
%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 @fn_str_eq(ptr %t17, ptr @.str4427)
%t19 = icmp ne i32 %t18, 0
%t20 = zext i1 %t19 to i32
store i32 %t20, ptr %t12
br label %scend6
scend6:
%t21 = load i32, ptr %t12
%t22 = icmp ne i32 %t21, 0
br i1 %t22, label %then7, label %ifend9
then7:
store i32 1, ptr %retval
br label %ret
ifend9:
store i32 0, ptr %retval
br label %ret
ret:
%t23 = load i32, ptr %retval
ret i32 %t23
}
define ptr @fn_coll_sq_sum(ptr %arg_dx, ptr %arg_dy) {
entry:
%retval = alloca ptr
%t0 = alloca ptr
%t1 = alloca ptr
%t6 = alloca ptr
%t11 = alloca ptr
%t18 = alloca ptr
%t25 = alloca ptr
store ptr %arg_dx, ptr %t0
store ptr %arg_dy, ptr %t1
%t2 = load ptr, ptr %t0
%t3 = call ptr @fn_str_concat(ptr @.str4428, ptr %t2)
%t4 = call ptr @fn_str_concat(ptr %t3, ptr @.str4429)
%t5 = call ptr @fn_emit_bind(ptr %t4)
store ptr %t5, ptr %t6
%t7 = load ptr, ptr %t1
%t8 = call ptr @fn_str_concat(ptr @.str4430, ptr %t7)
%t9 = call ptr @fn_str_concat(ptr %t8, ptr @.str4431)
%t10 = call ptr @fn_emit_bind(ptr %t9)
store ptr %t10, ptr %t11
%t12 = load ptr, ptr %t6
%t13 = call ptr @fn_str_concat(ptr @.str4432, ptr %t12)
%t14 = call ptr @fn_str_concat(ptr %t13, ptr @.str4433)
%t15 = load ptr, ptr %t6
%t16 = call ptr @fn_str_concat(ptr %t14, ptr %t15)
%t17 = call ptr @fn_emit_bind(ptr %t16)
store ptr %t17, ptr %t18
%t19 = load ptr, ptr %t11
%t20 = call ptr @fn_str_concat(ptr @.str4434, ptr %t19)
%t21 = call ptr @fn_str_concat(ptr %t20, ptr @.str4435)
%t22 = load ptr, ptr %t11
%t23 = call ptr @fn_str_concat(ptr %t21, ptr %t22)
%t24 = call ptr @fn_emit_bind(ptr %t23)
store ptr %t24, ptr %t25
%t26 = load ptr, ptr %t18
%t27 = call ptr @fn_str_concat(ptr @.str4436, ptr %t26)
%t28 = call ptr @fn_str_concat(ptr %t27, ptr @.str4437)
%t29 = load ptr, ptr %t25
%t30 = call ptr @fn_str_concat(ptr %t28, ptr %t29)
%t31 = call ptr @fn_emit_bind(ptr %t30)
store ptr %t31, ptr %retval
br label %ret
ret:
%t32 = load ptr, ptr %retval
ret ptr %t32
}
define ptr @fn_coll_clamp(ptr %arg_v, ptr %arg_lo, ptr %arg_hi) {
entry:
%retval = alloca ptr
%t0 = alloca ptr
%t1 = alloca ptr
%t2 = alloca ptr
%t9 = alloca ptr
%t19 = alloca ptr
%t26 = alloca ptr
store ptr %arg_v, ptr %t0
store ptr %arg_lo, ptr %t1
store ptr %arg_hi, ptr %t2
%t3 = load ptr, ptr %t0
%t4 = call ptr @fn_str_concat(ptr @.str4438, ptr %t3)
%t5 = call ptr @fn_str_concat(ptr %t4, ptr @.str4439)
%t6 = load ptr, ptr %t2
%t7 = call ptr @fn_str_concat(ptr %t5, ptr %t6)
%t8 = call ptr @fn_emit_bind(ptr %t7)
store ptr %t8, ptr %t9
%t10 = load ptr, ptr %t9
%t11 = call ptr @fn_str_concat(ptr @.str4440, ptr %t10)
%t12 = call ptr @fn_str_concat(ptr %t11, ptr @.str4441)
%t13 = load ptr, ptr %t0
%t14 = call ptr @fn_str_concat(ptr %t12, ptr %t13)
%t15 = call ptr @fn_str_concat(ptr %t14, ptr @.str4442)
%t16 = load ptr, ptr %t2
%t17 = call ptr @fn_str_concat(ptr %t15, ptr %t16)
%t18 = call ptr @fn_emit_bind(ptr %t17)
store ptr %t18, ptr %t19
%t20 = load ptr, ptr %t1
%t21 = call ptr @fn_str_concat(ptr @.str4443, ptr %t20)
%t22 = call ptr @fn_str_concat(ptr %t21, ptr @.str4444)
%t23 = load ptr, ptr %t19
%t24 = call ptr @fn_str_concat(ptr %t22, ptr %t23)
%t25 = call ptr @fn_emit_bind(ptr %t24)
store ptr %t25, ptr %t26
%t27 = load ptr, ptr %t26
%t28 = call ptr @fn_str_concat(ptr @.str4445, ptr %t27)
%t29 = call ptr @fn_str_concat(ptr %t28, ptr @.str4446)
%t30 = load ptr, ptr %t1
%t31 = call ptr @fn_str_concat(ptr %t29, ptr %t30)
%t32 = call ptr @fn_str_concat(ptr %t31, ptr @.str4447)
%t33 = load ptr, ptr %t19
%t34 = call ptr @fn_str_concat(ptr %t32, ptr %t33)
%t35 = call ptr @fn_emit_bind(ptr %t34)
store ptr %t35, ptr %retval
br label %ret
ret:
%t36 = load ptr, ptr %retval
ret ptr %t36
}
define ptr @fn_emit_collide_ns(ptr %arg_meth, ptr %arg_e) {
entry:
%retval = alloca ptr
%t0 = alloca ptr
%t1 = alloca ptr
%t13 = alloca ptr
%t22 = alloca ptr
%t31 = alloca ptr
%t40 = alloca ptr
%t49 = alloca ptr
%t58 = alloca ptr
%t67 = alloca ptr
%t76 = alloca ptr
%t87 = alloca ptr
%t98 = alloca ptr
%t109 = alloca ptr
%t120 = alloca ptr
%t129 = alloca ptr
%t138 = alloca ptr
%t147 = alloca ptr
%t156 = alloca ptr
%t163 = alloca ptr
%t170 = alloca ptr
%t177 = alloca ptr
%t194 = alloca ptr
%t203 = alloca ptr
%t212 = alloca ptr
%t221 = alloca ptr
%t230 = alloca ptr
%t239 = alloca ptr
%t250 = alloca ptr
%t261 = alloca ptr
%t272 = alloca ptr
%t281 = alloca ptr
%t292 = alloca ptr
%t301 = alloca ptr
%t308 = alloca ptr
%t315 = alloca ptr
%t322 = alloca ptr
%t339 = alloca ptr
%t348 = alloca ptr
%t357 = alloca ptr
%t366 = alloca ptr
%t375 = alloca ptr
%t384 = alloca ptr
%t395 = alloca ptr
%t406 = alloca ptr
%t410 = alloca ptr
%t421 = alloca ptr
%t426 = alloca ptr
%t433 = alloca ptr
%t440 = alloca ptr
%t454 = alloca ptr
%t463 = alloca ptr
%t472 = alloca ptr
%t481 = alloca ptr
%t490 = alloca ptr
%t499 = alloca ptr
%t508 = alloca ptr
%t519 = alloca ptr
%t530 = alloca ptr
%t539 = alloca ptr
%t548 = alloca ptr
%t557 = alloca ptr
%t566 = alloca ptr
%t570 = alloca ptr
%t577 = alloca ptr
%t584 = alloca ptr
%t591 = alloca ptr
store ptr %arg_meth, ptr %t0
store ptr %arg_e, ptr %t1
%t2 = load ptr, ptr %t0
%t3 = call i32 @fn_str_eq(ptr %t2, ptr @.str4448)
%t4 = icmp ne i32 %t3, 0
br i1 %t4, label %then0, label %ifend2
then0:
%t5 = load ptr, ptr %t1
%t6 = getelementptr inbounds %Cmp_Node, ptr %t5, i32 0, i32 7
%t7 = load ptr, ptr %t6
%t8 = getelementptr inbounds %LSlice, ptr %t7, i32 0, i32 0
%t9 = load ptr, ptr %t8
%t10 = getelementptr inbounds ptr, ptr %t9, i32 0
%t11 = load ptr, ptr %t10
%t12 = call ptr @fn_emit_expr(ptr %t11)
store ptr %t12, ptr %t13
%t14 = load ptr, ptr %t1
%t15 = getelementptr inbounds %Cmp_Node, ptr %t14, i32 0, i32 7
%t16 = load ptr, ptr %t15
%t17 = getelementptr inbounds %LSlice, ptr %t16, i32 0, i32 0
%t18 = load ptr, ptr %t17
%t19 = getelementptr inbounds ptr, ptr %t18, i32 1
%t20 = load ptr, ptr %t19
%t21 = call ptr @fn_emit_expr(ptr %t20)
store ptr %t21, ptr %t22
%t23 = load ptr, ptr %t1
%t24 = getelementptr inbounds %Cmp_Node, ptr %t23, i32 0, i32 7
%t25 = load ptr, ptr %t24
%t26 = getelementptr inbounds %LSlice, ptr %t25, i32 0, i32 0
%t27 = load ptr, ptr %t26
%t28 = getelementptr inbounds ptr, ptr %t27, i32 2
%t29 = load ptr, ptr %t28
%t30 = call ptr @fn_emit_expr(ptr %t29)
store ptr %t30, ptr %t31
%t32 = load ptr, ptr %t1
%t33 = getelementptr inbounds %Cmp_Node, ptr %t32, i32 0, i32 7
%t34 = load ptr, ptr %t33
%t35 = getelementptr inbounds %LSlice, ptr %t34, i32 0, i32 0
%t36 = load ptr, ptr %t35
%t37 = getelementptr inbounds ptr, ptr %t36, i32 3
%t38 = load ptr, ptr %t37
%t39 = call ptr @fn_emit_expr(ptr %t38)
store ptr %t39, ptr %t40
%t41 = load ptr, ptr %t1
%t42 = getelementptr inbounds %Cmp_Node, ptr %t41, i32 0, i32 7
%t43 = load ptr, ptr %t42
%t44 = getelementptr inbounds %LSlice, ptr %t43, i32 0, i32 0
%t45 = load ptr, ptr %t44
%t46 = getelementptr inbounds ptr, ptr %t45, i32 4
%t47 = load ptr, ptr %t46
%t48 = call ptr @fn_emit_expr(ptr %t47)
store ptr %t48, ptr %t49
%t50 = load ptr, ptr %t1
%t51 = getelementptr inbounds %Cmp_Node, ptr %t50, i32 0, i32 7
%t52 = load ptr, ptr %t51
%t53 = getelementptr inbounds %LSlice, ptr %t52, i32 0, i32 0
%t54 = load ptr, ptr %t53
%t55 = getelementptr inbounds ptr, ptr %t54, i32 5
%t56 = load ptr, ptr %t55
%t57 = call ptr @fn_emit_expr(ptr %t56)
store ptr %t57, ptr %t58
%t59 = load ptr, ptr %t1
%t60 = getelementptr inbounds %Cmp_Node, ptr %t59, i32 0, i32 7
%t61 = load ptr, ptr %t60
%t62 = getelementptr inbounds %LSlice, ptr %t61, i32 0, i32 0
%t63 = load ptr, ptr %t62
%t64 = getelementptr inbounds ptr, ptr %t63, i32 6
%t65 = load ptr, ptr %t64
%t66 = call ptr @fn_emit_expr(ptr %t65)
store ptr %t66, ptr %t67
%t68 = load ptr, ptr %t1
%t69 = getelementptr inbounds %Cmp_Node, ptr %t68, i32 0, i32 7
%t70 = load ptr, ptr %t69
%t71 = getelementptr inbounds %LSlice, ptr %t70, i32 0, i32 0
%t72 = load ptr, ptr %t71
%t73 = getelementptr inbounds ptr, ptr %t72, i32 7
%t74 = load ptr, ptr %t73
%t75 = call ptr @fn_emit_expr(ptr %t74)
store ptr %t75, ptr %t76
%t77 = load ptr, ptr %t13
%t78 = getelementptr inbounds %Cmp_Val, ptr %t77, i32 0, i32 0
%t79 = load ptr, ptr %t78
%t80 = call ptr @fn_str_concat(ptr @.str4449, ptr %t79)
%t81 = call ptr @fn_str_concat(ptr %t80, ptr @.str4450)
%t82 = load ptr, ptr %t31
%t83 = getelementptr inbounds %Cmp_Val, ptr %t82, i32 0, i32 0
%t84 = load ptr, ptr %t83
%t85 = call ptr @fn_str_concat(ptr %t81, ptr %t84)
%t86 = call ptr @fn_emit_bind(ptr %t85)
store ptr %t86, ptr %t87
%t88 = load ptr, ptr %t49
%t89 = getelementptr inbounds %Cmp_Val, ptr %t88, i32 0, i32 0
%t90 = load ptr, ptr %t89
%t91 = call ptr @fn_str_concat(ptr @.str4451, ptr %t90)
%t92 = call ptr @fn_str_concat(ptr %t91, ptr @.str4452)
%t93 = load ptr, ptr %t67
%t94 = getelementptr inbounds %Cmp_Val, ptr %t93, i32 0, i32 0
%t95 = load ptr, ptr %t94
%t96 = call ptr @fn_str_concat(ptr %t92, ptr %t95)
%t97 = call ptr @fn_emit_bind(ptr %t96)
store ptr %t97, ptr %t98
%t99 = load ptr, ptr %t22
%t100 = getelementptr inbounds %Cmp_Val, ptr %t99, i32 0, i32 0
%t101 = load ptr, ptr %t100
%t102 = call ptr @fn_str_concat(ptr @.str4453, ptr %t101)
%t103 = call ptr @fn_str_concat(ptr %t102, ptr @.str4454)
%t104 = load ptr, ptr %t40
%t105 = getelementptr inbounds %Cmp_Val, ptr %t104, i32 0, i32 0
%t106 = load ptr, ptr %t105
%t107 = call ptr @fn_str_concat(ptr %t103, ptr %t106)
%t108 = call ptr @fn_emit_bind(ptr %t107)
store ptr %t108, ptr %t109
%t110 = load ptr, ptr %t58
%t111 = getelementptr inbounds %Cmp_Val, ptr %t110, i32 0, i32 0
%t112 = load ptr, ptr %t111
%t113 = call ptr @fn_str_concat(ptr @.str4455, ptr %t112)
%t114 = call ptr @fn_str_concat(ptr %t113, ptr @.str4456)
%t115 = load ptr, ptr %t76
%t116 = getelementptr inbounds %Cmp_Val, ptr %t115, i32 0, i32 0
%t117 = load ptr, ptr %t116
%t118 = call ptr @fn_str_concat(ptr %t114, ptr %t117)
%t119 = call ptr @fn_emit_bind(ptr %t118)
store ptr %t119, ptr %t120
%t121 = load ptr, ptr %t13
%t122 = getelementptr inbounds %Cmp_Val, ptr %t121, i32 0, i32 0
%t123 = load ptr, ptr %t122
%t124 = call ptr @fn_str_concat(ptr @.str4457, ptr %t123)
%t125 = call ptr @fn_str_concat(ptr %t124, ptr @.str4458)
%t126 = load ptr, ptr %t98
%t127 = call ptr @fn_str_concat(ptr %t125, ptr %t126)
%t128 = call ptr @fn_emit_bind(ptr %t127)
store ptr %t128, ptr %t129
%t130 = load ptr, ptr %t49
%t131 = getelementptr inbounds %Cmp_Val, ptr %t130, i32 0, i32 0
%t132 = load ptr, ptr %t131
%t133 = call ptr @fn_str_concat(ptr @.str4459, ptr %t132)
%t134 = call ptr @fn_str_concat(ptr %t133, ptr @.str4460)
%t135 = load ptr, ptr %t87
%t136 = call ptr @fn_str_concat(ptr %t134, ptr %t135)
%t137 = call ptr @fn_emit_bind(ptr %t136)
store ptr %t137, ptr %t138
%t139 = load ptr, ptr %t22
%t140 = getelementptr inbounds %Cmp_Val, ptr %t139, i32 0, i32 0
%t141 = load ptr, ptr %t140
%t142 = call ptr @fn_str_concat(ptr @.str4461, ptr %t141)
%t143 = call ptr @fn_str_concat(ptr %t142, ptr @.str4462)
%t144 = load ptr, ptr %t120
%t145 = call ptr @fn_str_concat(ptr %t143, ptr %t144)
%t146 = call ptr @fn_emit_bind(ptr %t145)
store ptr %t146, ptr %t147
%t148 = load ptr, ptr %t58
%t149 = getelementptr inbounds %Cmp_Val, ptr %t148, i32 0, i32 0
%t150 = load ptr, ptr %t149
%t151 = call ptr @fn_str_concat(ptr @.str4463, ptr %t150)
%t152 = call ptr @fn_str_concat(ptr %t151, ptr @.str4464)
%t153 = load ptr, ptr %t109
%t154 = call ptr @fn_str_concat(ptr %t152, ptr %t153)
%t155 = call ptr @fn_emit_bind(ptr %t154)
store ptr %t155, ptr %t156
%t157 = load ptr, ptr %t129
%t158 = call ptr @fn_str_concat(ptr @.str4465, ptr %t157)
%t159 = call ptr @fn_str_concat(ptr %t158, ptr @.str4466)
%t160 = load ptr, ptr %t138
%t161 = call ptr @fn_str_concat(ptr %t159, ptr %t160)
%t162 = call ptr @fn_emit_bind(ptr %t161)
store ptr %t162, ptr %t163
%t164 = load ptr, ptr %t147
%t165 = call ptr @fn_str_concat(ptr @.str4467, ptr %t164)
%t166 = call ptr @fn_str_concat(ptr %t165, ptr @.str4468)
%t167 = load ptr, ptr %t156
%t168 = call ptr @fn_str_concat(ptr %t166, ptr %t167)
%t169 = call ptr @fn_emit_bind(ptr %t168)
store ptr %t169, ptr %t170
%t171 = load ptr, ptr %t163
%t172 = call ptr @fn_str_concat(ptr @.str4469, ptr %t171)
%t173 = call ptr @fn_str_concat(ptr %t172, ptr @.str4470)
%t174 = load ptr, ptr %t170
%t175 = call ptr @fn_str_concat(ptr %t173, ptr %t174)
%t176 = call ptr @fn_emit_bind(ptr %t175)
store ptr %t176, ptr %t177
%t178 = load ptr, ptr %t177
%t179 = call ptr @fn_str_concat(ptr @.str4471, ptr %t178)
%t180 = call ptr @fn_str_concat(ptr %t179, ptr @.str4472)
%t181 = call ptr @fn_emit_bind(ptr %t180)
%t182 = call ptr @fn_val(ptr %t181, ptr @.str4473)
store ptr %t182, ptr %retval
br label %ret
ifend2:
%t183 = load ptr, ptr %t0
%t184 = call i32 @fn_str_eq(ptr %t183, ptr @.str4474)
%t185 = icmp ne i32 %t184, 0
br i1 %t185, label %then3, label %ifend5
then3:
%t186 = load ptr, ptr %t1
%t187 = getelementptr inbounds %Cmp_Node, ptr %t186, i32 0, i32 7
%t188 = load ptr, ptr %t187
%t189 = getelementptr inbounds %LSlice, ptr %t188, i32 0, i32 0
%t190 = load ptr, ptr %t189
%t191 = getelementptr inbounds ptr, ptr %t190, i32 0
%t192 = load ptr, ptr %t191
%t193 = call ptr @fn_emit_expr(ptr %t192)
store ptr %t193, ptr %t194
%t195 = load ptr, ptr %t1
%t196 = getelementptr inbounds %Cmp_Node, ptr %t195, i32 0, i32 7
%t197 = load ptr, ptr %t196
%t198 = getelementptr inbounds %LSlice, ptr %t197, i32 0, i32 0
%t199 = load ptr, ptr %t198
%t200 = getelementptr inbounds ptr, ptr %t199, i32 1
%t201 = load ptr, ptr %t200
%t202 = call ptr @fn_emit_expr(ptr %t201)
store ptr %t202, ptr %t203
%t204 = load ptr, ptr %t1
%t205 = getelementptr inbounds %Cmp_Node, ptr %t204, i32 0, i32 7
%t206 = load ptr, ptr %t205
%t207 = getelementptr inbounds %LSlice, ptr %t206, i32 0, i32 0
%t208 = load ptr, ptr %t207
%t209 = getelementptr inbounds ptr, ptr %t208, i32 2
%t210 = load ptr, ptr %t209
%t211 = call ptr @fn_emit_expr(ptr %t210)
store ptr %t211, ptr %t212
%t213 = load ptr, ptr %t1
%t214 = getelementptr inbounds %Cmp_Node, ptr %t213, i32 0, i32 7
%t215 = load ptr, ptr %t214
%t216 = getelementptr inbounds %LSlice, ptr %t215, i32 0, i32 0
%t217 = load ptr, ptr %t216
%t218 = getelementptr inbounds ptr, ptr %t217, i32 3
%t219 = load ptr, ptr %t218
%t220 = call ptr @fn_emit_expr(ptr %t219)
store ptr %t220, ptr %t221
%t222 = load ptr, ptr %t1
%t223 = getelementptr inbounds %Cmp_Node, ptr %t222, i32 0, i32 7
%t224 = load ptr, ptr %t223
%t225 = getelementptr inbounds %LSlice, ptr %t224, i32 0, i32 0
%t226 = load ptr, ptr %t225
%t227 = getelementptr inbounds ptr, ptr %t226, i32 4
%t228 = load ptr, ptr %t227
%t229 = call ptr @fn_emit_expr(ptr %t228)
store ptr %t229, ptr %t230
%t231 = load ptr, ptr %t1
%t232 = getelementptr inbounds %Cmp_Node, ptr %t231, i32 0, i32 7
%t233 = load ptr, ptr %t232
%t234 = getelementptr inbounds %LSlice, ptr %t233, i32 0, i32 0
%t235 = load ptr, ptr %t234
%t236 = getelementptr inbounds ptr, ptr %t235, i32 5
%t237 = load ptr, ptr %t236
%t238 = call ptr @fn_emit_expr(ptr %t237)
store ptr %t238, ptr %t239
%t240 = load ptr, ptr %t212
%t241 = getelementptr inbounds %Cmp_Val, ptr %t240, i32 0, i32 0
%t242 = load ptr, ptr %t241
%t243 = call ptr @fn_str_concat(ptr @.str4475, ptr %t242)
%t244 = call ptr @fn_str_concat(ptr %t243, ptr @.str4476)
%t245 = load ptr, ptr %t230
%t246 = getelementptr inbounds %Cmp_Val, ptr %t245, i32 0, i32 0
%t247 = load ptr, ptr %t246
%t248 = call ptr @fn_str_concat(ptr %t244, ptr %t247)
%t249 = call ptr @fn_emit_bind(ptr %t248)
store ptr %t249, ptr %t250
%t251 = load ptr, ptr %t221
%t252 = getelementptr inbounds %Cmp_Val, ptr %t251, i32 0, i32 0
%t253 = load ptr, ptr %t252
%t254 = call ptr @fn_str_concat(ptr @.str4477, ptr %t253)
%t255 = call ptr @fn_str_concat(ptr %t254, ptr @.str4478)
%t256 = load ptr, ptr %t239
%t257 = getelementptr inbounds %Cmp_Val, ptr %t256, i32 0, i32 0
%t258 = load ptr, ptr %t257
%t259 = call ptr @fn_str_concat(ptr %t255, ptr %t258)
%t260 = call ptr @fn_emit_bind(ptr %t259)
store ptr %t260, ptr %t261
%t262 = load ptr, ptr %t194
%t263 = getelementptr inbounds %Cmp_Val, ptr %t262, i32 0, i32 0
%t264 = load ptr, ptr %t263
%t265 = call ptr @fn_str_concat(ptr @.str4479, ptr %t264)
%t266 = call ptr @fn_str_concat(ptr %t265, ptr @.str4480)
%t267 = load ptr, ptr %t212
%t268 = getelementptr inbounds %Cmp_Val, ptr %t267, i32 0, i32 0
%t269 = load ptr, ptr %t268
%t270 = call ptr @fn_str_concat(ptr %t266, ptr %t269)
%t271 = call ptr @fn_emit_bind(ptr %t270)
store ptr %t271, ptr %t272
%t273 = load ptr, ptr %t194
%t274 = getelementptr inbounds %Cmp_Val, ptr %t273, i32 0, i32 0
%t275 = load ptr, ptr %t274
%t276 = call ptr @fn_str_concat(ptr @.str4481, ptr %t275)
%t277 = call ptr @fn_str_concat(ptr %t276, ptr @.str4482)
%t278 = load ptr, ptr %t250
%t279 = call ptr @fn_str_concat(ptr %t277, ptr %t278)
%t280 = call ptr @fn_emit_bind(ptr %t279)
store ptr %t280, ptr %t281
%t282 = load ptr, ptr %t203
%t283 = getelementptr inbounds %Cmp_Val, ptr %t282, i32 0, i32 0
%t284 = load ptr, ptr %t283
%t285 = call ptr @fn_str_concat(ptr @.str4483, ptr %t284)
%t286 = call ptr @fn_str_concat(ptr %t285, ptr @.str4484)
%t287 = load ptr, ptr %t221
%t288 = getelementptr inbounds %Cmp_Val, ptr %t287, i32 0, i32 0
%t289 = load ptr, ptr %t288
%t290 = call ptr @fn_str_concat(ptr %t286, ptr %t289)
%t291 = call ptr @fn_emit_bind(ptr %t290)
store ptr %t291, ptr %t292
%t293 = load ptr, ptr %t203
%t294 = getelementptr inbounds %Cmp_Val, ptr %t293, i32 0, i32 0
%t295 = load ptr, ptr %t294
%t296 = call ptr @fn_str_concat(ptr @.str4485, ptr %t295)
%t297 = call ptr @fn_str_concat(ptr %t296, ptr @.str4486)
%t298 = load ptr, ptr %t261
%t299 = call ptr @fn_str_concat(ptr %t297, ptr %t298)
%t300 = call ptr @fn_emit_bind(ptr %t299)
store ptr %t300, ptr %t301
%t302 = load ptr, ptr %t272
%t303 = call ptr @fn_str_concat(ptr @.str4487, ptr %t302)
%t304 = call ptr @fn_str_concat(ptr %t303, ptr @.str4488)
%t305 = load ptr, ptr %t281
%t306 = call ptr @fn_str_concat(ptr %t304, ptr %t305)
%t307 = call ptr @fn_emit_bind(ptr %t306)
store ptr %t307, ptr %t308
%t309 = load ptr, ptr %t292
%t310 = call ptr @fn_str_concat(ptr @.str4489, ptr %t309)
%t311 = call ptr @fn_str_concat(ptr %t310, ptr @.str4490)
%t312 = load ptr, ptr %t301
%t313 = call ptr @fn_str_concat(ptr %t311, ptr %t312)
%t314 = call ptr @fn_emit_bind(ptr %t313)
store ptr %t314, ptr %t315
%t316 = load ptr, ptr %t308
%t317 = call ptr @fn_str_concat(ptr @.str4491, ptr %t316)
%t318 = call ptr @fn_str_concat(ptr %t317, ptr @.str4492)
%t319 = load ptr, ptr %t315
%t320 = call ptr @fn_str_concat(ptr %t318, ptr %t319)
%t321 = call ptr @fn_emit_bind(ptr %t320)
store ptr %t321, ptr %t322
%t323 = load ptr, ptr %t322
%t324 = call ptr @fn_str_concat(ptr @.str4493, ptr %t323)
%t325 = call ptr @fn_str_concat(ptr %t324, ptr @.str4494)
%t326 = call ptr @fn_emit_bind(ptr %t325)
%t327 = call ptr @fn_val(ptr %t326, ptr @.str4495)
store ptr %t327, ptr %retval
br label %ret
ifend5:
%t328 = load ptr, ptr %t0
%t329 = call i32 @fn_str_eq(ptr %t328, ptr @.str4496)
%t330 = icmp ne i32 %t329, 0
br i1 %t330, label %then6, label %ifend8
then6:
%t331 = load ptr, ptr %t1
%t332 = getelementptr inbounds %Cmp_Node, ptr %t331, i32 0, i32 7
%t333 = load ptr, ptr %t332
%t334 = getelementptr inbounds %LSlice, ptr %t333, i32 0, i32 0
%t335 = load ptr, ptr %t334
%t336 = getelementptr inbounds ptr, ptr %t335, i32 0
%t337 = load ptr, ptr %t336
%t338 = call ptr @fn_emit_expr(ptr %t337)
store ptr %t338, ptr %t339
%t340 = load ptr, ptr %t1
%t341 = getelementptr inbounds %Cmp_Node, ptr %t340, i32 0, i32 7
%t342 = load ptr, ptr %t341
%t343 = getelementptr inbounds %LSlice, ptr %t342, i32 0, i32 0
%t344 = load ptr, ptr %t343
%t345 = getelementptr inbounds ptr, ptr %t344, i32 1
%t346 = load ptr, ptr %t345
%t347 = call ptr @fn_emit_expr(ptr %t346)
store ptr %t347, ptr %t348
%t349 = load ptr, ptr %t1
%t350 = getelementptr inbounds %Cmp_Node, ptr %t349, i32 0, i32 7
%t351 = load ptr, ptr %t350
%t352 = getelementptr inbounds %LSlice, ptr %t351, i32 0, i32 0
%t353 = load ptr, ptr %t352
%t354 = getelementptr inbounds ptr, ptr %t353, i32 2
%t355 = load ptr, ptr %t354
%t356 = call ptr @fn_emit_expr(ptr %t355)
store ptr %t356, ptr %t357
%t358 = load ptr, ptr %t1
%t359 = getelementptr inbounds %Cmp_Node, ptr %t358, i32 0, i32 7
%t360 = load ptr, ptr %t359
%t361 = getelementptr inbounds %LSlice, ptr %t360, i32 0, i32 0
%t362 = load ptr, ptr %t361
%t363 = getelementptr inbounds ptr, ptr %t362, i32 3
%t364 = load ptr, ptr %t363
%t365 = call ptr @fn_emit_expr(ptr %t364)
store ptr %t365, ptr %t366
%t367 = load ptr, ptr %t1
%t368 = getelementptr inbounds %Cmp_Node, ptr %t367, i32 0, i32 7
%t369 = load ptr, ptr %t368
%t370 = getelementptr inbounds %LSlice, ptr %t369, i32 0, i32 0
%t371 = load ptr, ptr %t370
%t372 = getelementptr inbounds ptr, ptr %t371, i32 4
%t373 = load ptr, ptr %t372
%t374 = call ptr @fn_emit_expr(ptr %t373)
store ptr %t374, ptr %t375
%t376 = load ptr, ptr %t1
%t377 = getelementptr inbounds %Cmp_Node, ptr %t376, i32 0, i32 7
%t378 = load ptr, ptr %t377
%t379 = getelementptr inbounds %LSlice, ptr %t378, i32 0, i32 0
%t380 = load ptr, ptr %t379
%t381 = getelementptr inbounds ptr, ptr %t380, i32 5
%t382 = load ptr, ptr %t381
%t383 = call ptr @fn_emit_expr(ptr %t382)
store ptr %t383, ptr %t384
%t385 = load ptr, ptr %t339
%t386 = getelementptr inbounds %Cmp_Val, ptr %t385, i32 0, i32 0
%t387 = load ptr, ptr %t386
%t388 = call ptr @fn_str_concat(ptr @.str4497, ptr %t387)
%t389 = call ptr @fn_str_concat(ptr %t388, ptr @.str4498)
%t390 = load ptr, ptr %t366
%t391 = getelementptr inbounds %Cmp_Val, ptr %t390, i32 0, i32 0
%t392 = load ptr, ptr %t391
%t393 = call ptr @fn_str_concat(ptr %t389, ptr %t392)
%t394 = call ptr @fn_emit_bind(ptr %t393)
store ptr %t394, ptr %t395
%t396 = load ptr, ptr %t348
%t397 = getelementptr inbounds %Cmp_Val, ptr %t396, i32 0, i32 0
%t398 = load ptr, ptr %t397
%t399 = call ptr @fn_str_concat(ptr @.str4499, ptr %t398)
%t400 = call ptr @fn_str_concat(ptr %t399, ptr @.str4500)
%t401 = load ptr, ptr %t375
%t402 = getelementptr inbounds %Cmp_Val, ptr %t401, i32 0, i32 0
%t403 = load ptr, ptr %t402
%t404 = call ptr @fn_str_concat(ptr %t400, ptr %t403)
%t405 = call ptr @fn_emit_bind(ptr %t404)
store ptr %t405, ptr %t406
%t407 = load ptr, ptr %t395
%t408 = load ptr, ptr %t406
%t409 = call ptr @fn_coll_sq_sum(ptr %t407, ptr %t408)
store ptr %t409, ptr %t410
%t411 = load ptr, ptr %t357
%t412 = getelementptr inbounds %Cmp_Val, ptr %t411, i32 0, i32 0
%t413 = load ptr, ptr %t412
%t414 = call ptr @fn_str_concat(ptr @.str4501, ptr %t413)
%t415 = call ptr @fn_str_concat(ptr %t414, ptr @.str4502)
%t416 = load ptr, ptr %t384
%t417 = getelementptr inbounds %Cmp_Val, ptr %t416, i32 0, i32 0
%t418 = load ptr, ptr %t417
%t419 = call ptr @fn_str_concat(ptr %t415, ptr %t418)
%t420 = call ptr @fn_emit_bind(ptr %t419)
store ptr %t420, ptr %t421
%t422 = load ptr, ptr %t421
%t423 = call ptr @fn_str_concat(ptr @.str4503, ptr %t422)
%t424 = call ptr @fn_str_concat(ptr %t423, ptr @.str4504)
%t425 = call ptr @fn_emit_bind(ptr %t424)
store ptr %t425, ptr %t426
%t427 = load ptr, ptr %t426
%t428 = call ptr @fn_str_concat(ptr @.str4505, ptr %t427)
%t429 = call ptr @fn_str_concat(ptr %t428, ptr @.str4506)
%t430 = load ptr, ptr %t426
%t431 = call ptr @fn_str_concat(ptr %t429, ptr %t430)
%t432 = call ptr @fn_emit_bind(ptr %t431)
store ptr %t432, ptr %t433
%t434 = load ptr, ptr %t410
%t435 = call ptr @fn_str_concat(ptr @.str4507, ptr %t434)
%t436 = call ptr @fn_str_concat(ptr %t435, ptr @.str4508)
%t437 = load ptr, ptr %t433
%t438 = call ptr @fn_str_concat(ptr %t436, ptr %t437)
%t439 = call ptr @fn_emit_bind(ptr %t438)
store ptr %t439, ptr %t440
%t441 = load ptr, ptr %t440
%t442 = call ptr @fn_str_concat(ptr @.str4509, ptr %t441)
%t443 = call ptr @fn_str_concat(ptr %t442, ptr @.str4510)
%t444 = call ptr @fn_emit_bind(ptr %t443)
%t445 = call ptr @fn_val(ptr %t444, ptr @.str4511)
store ptr %t445, ptr %retval
br label %ret
ifend8:
%t446 = load ptr, ptr %t1
%t447 = getelementptr inbounds %Cmp_Node, ptr %t446, i32 0, i32 7
%t448 = load ptr, ptr %t447
%t449 = getelementptr inbounds %LSlice, ptr %t448, i32 0, i32 0
%t450 = load ptr, ptr %t449
%t451 = getelementptr inbounds ptr, ptr %t450, i32 0
%t452 = load ptr, ptr %t451
%t453 = call ptr @fn_emit_expr(ptr %t452)
store ptr %t453, ptr %t454
%t455 = load ptr, ptr %t1
%t456 = getelementptr inbounds %Cmp_Node, ptr %t455, i32 0, i32 7
%t457 = load ptr, ptr %t456
%t458 = getelementptr inbounds %LSlice, ptr %t457, i32 0, i32 0
%t459 = load ptr, ptr %t458
%t460 = getelementptr inbounds ptr, ptr %t459, i32 1
%t461 = load ptr, ptr %t460
%t462 = call ptr @fn_emit_expr(ptr %t461)
store ptr %t462, ptr %t463
%t464 = load ptr, ptr %t1
%t465 = getelementptr inbounds %Cmp_Node, ptr %t464, i32 0, i32 7
%t466 = load ptr, ptr %t465
%t467 = getelementptr inbounds %LSlice, ptr %t466, i32 0, i32 0
%t468 = load ptr, ptr %t467
%t469 = getelementptr inbounds ptr, ptr %t468, i32 2
%t470 = load ptr, ptr %t469
%t471 = call ptr @fn_emit_expr(ptr %t470)
store ptr %t471, ptr %t472
%t473 = load ptr, ptr %t1
%t474 = getelementptr inbounds %Cmp_Node, ptr %t473, i32 0, i32 7
%t475 = load ptr, ptr %t474
%t476 = getelementptr inbounds %LSlice, ptr %t475, i32 0, i32 0
%t477 = load ptr, ptr %t476
%t478 = getelementptr inbounds ptr, ptr %t477, i32 3
%t479 = load ptr, ptr %t478
%t480 = call ptr @fn_emit_expr(ptr %t479)
store ptr %t480, ptr %t481
%t482 = load ptr, ptr %t1
%t483 = getelementptr inbounds %Cmp_Node, ptr %t482, i32 0, i32 7
%t484 = load ptr, ptr %t483
%t485 = getelementptr inbounds %LSlice, ptr %t484, i32 0, i32 0
%t486 = load ptr, ptr %t485
%t487 = getelementptr inbounds ptr, ptr %t486, i32 4
%t488 = load ptr, ptr %t487
%t489 = call ptr @fn_emit_expr(ptr %t488)
store ptr %t489, ptr %t490
%t491 = load ptr, ptr %t1
%t492 = getelementptr inbounds %Cmp_Node, ptr %t491, i32 0, i32 7
%t493 = load ptr, ptr %t492
%t494 = getelementptr inbounds %LSlice, ptr %t493, i32 0, i32 0
%t495 = load ptr, ptr %t494
%t496 = getelementptr inbounds ptr, ptr %t495, i32 5
%t497 = load ptr, ptr %t496
%t498 = call ptr @fn_emit_expr(ptr %t497)
store ptr %t498, ptr %t499
%t500 = load ptr, ptr %t1
%t501 = getelementptr inbounds %Cmp_Node, ptr %t500, i32 0, i32 7
%t502 = load ptr, ptr %t501
%t503 = getelementptr inbounds %LSlice, ptr %t502, i32 0, i32 0
%t504 = load ptr, ptr %t503
%t505 = getelementptr inbounds ptr, ptr %t504, i32 6
%t506 = load ptr, ptr %t505
%t507 = call ptr @fn_emit_expr(ptr %t506)
store ptr %t507, ptr %t508
%t509 = load ptr, ptr %t454
%t510 = getelementptr inbounds %Cmp_Val, ptr %t509, i32 0, i32 0
%t511 = load ptr, ptr %t510
%t512 = call ptr @fn_str_concat(ptr @.str4512, ptr %t511)
%t513 = call ptr @fn_str_concat(ptr %t512, ptr @.str4513)
%t514 = load ptr, ptr %t472
%t515 = getelementptr inbounds %Cmp_Val, ptr %t514, i32 0, i32 0
%t516 = load ptr, ptr %t515
%t517 = call ptr @fn_str_concat(ptr %t513, ptr %t516)
%t518 = call ptr @fn_emit_bind(ptr %t517)
store ptr %t518, ptr %t519
%t520 = load ptr, ptr %t463
%t521 = getelementptr inbounds %Cmp_Val, ptr %t520, i32 0, i32 0
%t522 = load ptr, ptr %t521
%t523 = call ptr @fn_str_concat(ptr @.str4514, ptr %t522)
%t524 = call ptr @fn_str_concat(ptr %t523, ptr @.str4515)
%t525 = load ptr, ptr %t481
%t526 = getelementptr inbounds %Cmp_Val, ptr %t525, i32 0, i32 0
%t527 = load ptr, ptr %t526
%t528 = call ptr @fn_str_concat(ptr %t524, ptr %t527)
%t529 = call ptr @fn_emit_bind(ptr %t528)
store ptr %t529, ptr %t530
%t531 = load ptr, ptr %t490
%t532 = getelementptr inbounds %Cmp_Val, ptr %t531, i32 0, i32 0
%t533 = load ptr, ptr %t532
%t534 = load ptr, ptr %t454
%t535 = getelementptr inbounds %Cmp_Val, ptr %t534, i32 0, i32 0
%t536 = load ptr, ptr %t535
%t537 = load ptr, ptr %t519
%t538 = call ptr @fn_coll_clamp(ptr %t533, ptr %t536, ptr %t537)
store ptr %t538, ptr %t539
%t540 = load ptr, ptr %t499
%t541 = getelementptr inbounds %Cmp_Val, ptr %t540, i32 0, i32 0
%t542 = load ptr, ptr %t541
%t543 = load ptr, ptr %t463
%t544 = getelementptr inbounds %Cmp_Val, ptr %t543, i32 0, i32 0
%t545 = load ptr, ptr %t544
%t546 = load ptr, ptr %t530
%t547 = call ptr @fn_coll_clamp(ptr %t542, ptr %t545, ptr %t546)
store ptr %t547, ptr %t548
%t549 = load ptr, ptr %t490
%t550 = getelementptr inbounds %Cmp_Val, ptr %t549, i32 0, i32 0
%t551 = load ptr, ptr %t550
%t552 = call ptr @fn_str_concat(ptr @.str4516, ptr %t551)
%t553 = call ptr @fn_str_concat(ptr %t552, ptr @.str4517)
%t554 = load ptr, ptr %t539
%t555 = call ptr @fn_str_concat(ptr %t553, ptr %t554)
%t556 = call ptr @fn_emit_bind(ptr %t555)
store ptr %t556, ptr %t557
%t558 = load ptr, ptr %t499
%t559 = getelementptr inbounds %Cmp_Val, ptr %t558, i32 0, i32 0
%t560 = load ptr, ptr %t559
%t561 = call ptr @fn_str_concat(ptr @.str4518, ptr %t560)
%t562 = call ptr @fn_str_concat(ptr %t561, ptr @.str4519)
%t563 = load ptr, ptr %t548
%t564 = call ptr @fn_str_concat(ptr %t562, ptr %t563)
%t565 = call ptr @fn_emit_bind(ptr %t564)
store ptr %t565, ptr %t566
%t567 = load ptr, ptr %t557
%t568 = load ptr, ptr %t566
%t569 = call ptr @fn_coll_sq_sum(ptr %t567, ptr %t568)
store ptr %t569, ptr %t570
%t571 = load ptr, ptr %t508
%t572 = getelementptr inbounds %Cmp_Val, ptr %t571, i32 0, i32 0
%t573 = load ptr, ptr %t572
%t574 = call ptr @fn_str_concat(ptr @.str4520, ptr %t573)
%t575 = call ptr @fn_str_concat(ptr %t574, ptr @.str4521)
%t576 = call ptr @fn_emit_bind(ptr %t575)
store ptr %t576, ptr %t577
%t578 = load ptr, ptr %t577
%t579 = call ptr @fn_str_concat(ptr @.str4522, ptr %t578)
%t580 = call ptr @fn_str_concat(ptr %t579, ptr @.str4523)
%t581 = load ptr, ptr %t577
%t582 = call ptr @fn_str_concat(ptr %t580, ptr %t581)
%t583 = call ptr @fn_emit_bind(ptr %t582)
store ptr %t583, ptr %t584
%t585 = load ptr, ptr %t570
%t586 = call ptr @fn_str_concat(ptr @.str4524, ptr %t585)
%t587 = call ptr @fn_str_concat(ptr %t586, ptr @.str4525)
%t588 = load ptr, ptr %t584
%t589 = call ptr @fn_str_concat(ptr %t587, ptr %t588)
%t590 = call ptr @fn_emit_bind(ptr %t589)
store ptr %t590, ptr %t591
%t592 = load ptr, ptr %t591
%t593 = call ptr @fn_str_concat(ptr @.str4526, ptr %t592)
%t594 = call ptr @fn_str_concat(ptr %t593, ptr @.str4527)
%t595 = call ptr @fn_emit_bind(ptr %t594)
%t596 = call ptr @fn_val(ptr %t595, ptr @.str4528)
store ptr %t596, ptr %retval
br label %ret
ret:
%t597 = load ptr, ptr %retval
ret ptr %t597
}
define i32 @fn_is_mem_ns(ptr %arg_meth) {
entry:
%retval = alloca i32
%t0 = alloca ptr
%t1 = alloca i32
%t12 = alloca i32
%t13 = alloca i32
%t14 = alloca i32
store ptr %arg_meth, ptr %t0
%t2 = load ptr, ptr %t0
%t3 = call i32 @fn_str_eq(ptr %t2, ptr @.str4529)
%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 @fn_str_eq(ptr %t6, ptr @.str4530)
%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 @fn_str_eq(ptr %t15, ptr @.str4531)
%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 @fn_str_eq(ptr %t19, ptr @.str4532)
%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 @fn_str_eq(ptr %t26, ptr @.str4533)
%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 @fn_str_eq(ptr %t33, ptr @.str4534)
%t35 = icmp ne i32 %t34, 0
%t36 = zext i1 %t35 to i32
store i32 %t36, ptr %t12
br label %scend10
scend10:
%t37 = load i32, ptr %t12
%t38 = icmp ne i32 %t37, 0
br i1 %t38, label %then11, label %ifend13
then11:
store i32 1, ptr %retval
br label %ret
ifend13:
store i32 0, ptr %retval
br label %ret
ret:
%t39 = load i32, ptr %retval
ret i32 %t39
}
define ptr @fn_emit_mem_ns(ptr %arg_meth, ptr %arg_e) {
entry:
%retval = alloca ptr
%t0 = alloca ptr
%t1 = alloca ptr
%t13 = alloca ptr
%t20 = alloca ptr
%t37 = alloca ptr
%t44 = alloca ptr
%t49 = alloca ptr
%t66 = alloca ptr
%t75 = alloca ptr
%t84 = alloca ptr
%t91 = alloca ptr
%t111 = alloca ptr
%t120 = alloca ptr
%t129 = alloca ptr
%t136 = alloca ptr
%t156 = alloca ptr
%t165 = alloca ptr
%t176 = alloca ptr
%t180 = alloca ptr
%t194 = alloca ptr
%t203 = alloca ptr
%t212 = alloca ptr
%t223 = alloca ptr
%t230 = alloca ptr
store ptr %arg_meth, ptr %t0
store ptr %arg_e, ptr %t1
%t2 = load ptr, ptr %t0
%t3 = call i32 @fn_str_eq(ptr %t2, ptr @.str4535)
%t4 = icmp ne i32 %t3, 0
br i1 %t4, label %then0, label %ifend2
then0:
%t5 = load ptr, ptr %t1
%t6 = getelementptr inbounds %Cmp_Node, ptr %t5, i32 0, i32 7
%t7 = load ptr, ptr %t6
%t8 = getelementptr inbounds %LSlice, ptr %t7, i32 0, i32 0
%t9 = load ptr, ptr %t8
%t10 = getelementptr inbounds ptr, ptr %t9, i32 0
%t11 = load ptr, ptr %t10
%t12 = call ptr @fn_emit_expr(ptr %t11)
store ptr %t12, ptr %t13
%t14 = load ptr, ptr %t13
%t15 = getelementptr inbounds %Cmp_Val, ptr %t14, i32 0, i32 0
%t16 = load ptr, ptr %t15
%t17 = call ptr @fn_str_concat(ptr @.str4536, ptr %t16)
%t18 = call ptr @fn_str_concat(ptr %t17, ptr @.str4537)
%t19 = call ptr @fn_emit_bind(ptr %t18)
store ptr %t19, ptr %t20
%t21 = load ptr, ptr %t20
%t22 = call ptr @fn_str_concat(ptr @.str4538, ptr %t21)
%t23 = call ptr @fn_str_concat(ptr %t22, ptr @.str4539)
%t24 = call ptr @fn_emit_bind(ptr %t23)
%t25 = call ptr @fn_val(ptr %t24, ptr @.str4540)
store ptr %t25, ptr %retval
br label %ret
ifend2:
%t26 = load ptr, ptr %t0
%t27 = call i32 @fn_str_eq(ptr %t26, ptr @.str4541)
%t28 = icmp ne i32 %t27, 0
br i1 %t28, label %then3, label %ifend5
then3:
%t29 = load ptr, ptr %t1
%t30 = getelementptr inbounds %Cmp_Node, ptr %t29, i32 0, i32 7
%t31 = load ptr, ptr %t30
%t32 = getelementptr inbounds %LSlice, ptr %t31, i32 0, i32 0
%t33 = load ptr, ptr %t32
%t34 = getelementptr inbounds ptr, ptr %t33, i32 0
%t35 = load ptr, ptr %t34
%t36 = call ptr @fn_emit_expr(ptr %t35)
store ptr %t36, ptr %t37
%t38 = load ptr, ptr %t37
%t39 = getelementptr inbounds %Cmp_Val, ptr %t38, i32 0, i32 0
%t40 = load ptr, ptr %t39
%t41 = call ptr @fn_str_concat(ptr @.str4542, ptr %t40)
%t42 = call ptr @fn_str_concat(ptr %t41, ptr @.str4543)
%t43 = call ptr @fn_emit_bind(ptr %t42)
store ptr %t43, ptr %t44
%t45 = load ptr, ptr %t44
%t46 = call ptr @fn_str_concat(ptr @.str4544, ptr %t45)
%t47 = call ptr @fn_str_concat(ptr %t46, ptr @.str4545)
%t48 = call ptr @fn_emit_bind(ptr %t47)
store ptr %t48, ptr %t49
%t50 = load ptr, ptr %t49
%t51 = call ptr @fn_str_concat(ptr @.str4546, ptr %t50)
%t52 = call ptr @fn_str_concat(ptr %t51, ptr @.str4547)
%t53 = call ptr @fn_emit_bind(ptr %t52)
%t54 = call ptr @fn_val(ptr %t53, ptr @.str4548)
store ptr %t54, ptr %retval
br label %ret
ifend5:
%t55 = load ptr, ptr %t0
%t56 = call i32 @fn_str_eq(ptr %t55, ptr @.str4549)
%t57 = icmp ne i32 %t56, 0
br i1 %t57, label %then6, label %ifend8
then6:
%t58 = load ptr, ptr %t1
%t59 = getelementptr inbounds %Cmp_Node, ptr %t58, i32 0, i32 7
%t60 = load ptr, ptr %t59
%t61 = getelementptr inbounds %LSlice, ptr %t60, i32 0, i32 0
%t62 = load ptr, ptr %t61
%t63 = getelementptr inbounds ptr, ptr %t62, i32 0
%t64 = load ptr, ptr %t63
%t65 = call ptr @fn_emit_expr(ptr %t64)
store ptr %t65, ptr %t66
%t67 = load ptr, ptr %t1
%t68 = getelementptr inbounds %Cmp_Node, ptr %t67, i32 0, i32 7
%t69 = load ptr, ptr %t68
%t70 = getelementptr inbounds %LSlice, ptr %t69, i32 0, i32 0
%t71 = load ptr, ptr %t70
%t72 = getelementptr inbounds ptr, ptr %t71, i32 1
%t73 = load ptr, ptr %t72
%t74 = call ptr @fn_emit_expr(ptr %t73)
store ptr %t74, ptr %t75
%t76 = load ptr, ptr %t1
%t77 = getelementptr inbounds %Cmp_Node, ptr %t76, i32 0, i32 7
%t78 = load ptr, ptr %t77
%t79 = getelementptr inbounds %LSlice, ptr %t78, i32 0, i32 0
%t80 = load ptr, ptr %t79
%t81 = getelementptr inbounds ptr, ptr %t80, i32 2
%t82 = load ptr, ptr %t81
%t83 = call ptr @fn_emit_expr(ptr %t82)
store ptr %t83, ptr %t84
%t85 = load ptr, ptr %t84
%t86 = getelementptr inbounds %Cmp_Val, ptr %t85, i32 0, i32 0
%t87 = load ptr, ptr %t86
%t88 = call ptr @fn_str_concat(ptr @.str4550, ptr %t87)
%t89 = call ptr @fn_str_concat(ptr %t88, ptr @.str4551)
%t90 = call ptr @fn_emit_bind(ptr %t89)
store ptr %t90, ptr %t91
call void @fn_emit(ptr @.str4552)
%t92 = load ptr, ptr %t66
%t93 = getelementptr inbounds %Cmp_Val, ptr %t92, i32 0, i32 0
%t94 = load ptr, ptr %t93
call void @fn_emit(ptr %t94)
call void @fn_emit(ptr @.str4553)
%t95 = load ptr, ptr %t75
%t96 = getelementptr inbounds %Cmp_Val, ptr %t95, i32 0, i32 0
%t97 = load ptr, ptr %t96
call void @fn_emit(ptr %t97)
call void @fn_emit(ptr @.str4554)
%t98 = load ptr, ptr %t91
call void @fn_emit(ptr %t98)
call void @fn_emit(ptr @.str4555)
%t99 = call ptr @fn_val(ptr @.str4556, ptr @.str4557)
store ptr %t99, ptr %retval
br label %ret
ifend8:
%t100 = load ptr, ptr %t0
%t101 = call i32 @fn_str_eq(ptr %t100, ptr @.str4558)
%t102 = icmp ne i32 %t101, 0
br i1 %t102, label %then9, label %ifend11
then9:
%t103 = load ptr, ptr %t1
%t104 = getelementptr inbounds %Cmp_Node, ptr %t103, i32 0, i32 7
%t105 = load ptr, ptr %t104
%t106 = getelementptr inbounds %LSlice, ptr %t105, i32 0, i32 0
%t107 = load ptr, ptr %t106
%t108 = getelementptr inbounds ptr, ptr %t107, i32 0
%t109 = load ptr, ptr %t108
%t110 = call ptr @fn_emit_expr(ptr %t109)
store ptr %t110, ptr %t111
%t112 = load ptr, ptr %t1
%t113 = getelementptr inbounds %Cmp_Node, ptr %t112, i32 0, i32 7
%t114 = load ptr, ptr %t113
%t115 = getelementptr inbounds %LSlice, ptr %t114, i32 0, i32 0
%t116 = load ptr, ptr %t115
%t117 = getelementptr inbounds ptr, ptr %t116, i32 1
%t118 = load ptr, ptr %t117
%t119 = call ptr @fn_emit_expr(ptr %t118)
store ptr %t119, ptr %t120
%t121 = load ptr, ptr %t1
%t122 = getelementptr inbounds %Cmp_Node, ptr %t121, i32 0, i32 7
%t123 = load ptr, ptr %t122
%t124 = getelementptr inbounds %LSlice, ptr %t123, i32 0, i32 0
%t125 = load ptr, ptr %t124
%t126 = getelementptr inbounds ptr, ptr %t125, i32 2
%t127 = load ptr, ptr %t126
%t128 = call ptr @fn_emit_expr(ptr %t127)
store ptr %t128, ptr %t129
%t130 = load ptr, ptr %t129
%t131 = getelementptr inbounds %Cmp_Val, ptr %t130, i32 0, i32 0
%t132 = load ptr, ptr %t131
%t133 = call ptr @fn_str_concat(ptr @.str4559, ptr %t132)
%t134 = call ptr @fn_str_concat(ptr %t133, ptr @.str4560)
%t135 = call ptr @fn_emit_bind(ptr %t134)
store ptr %t135, ptr %t136
call void @fn_emit(ptr @.str4561)
%t137 = load ptr, ptr %t111
%t138 = getelementptr inbounds %Cmp_Val, ptr %t137, i32 0, i32 0
%t139 = load ptr, ptr %t138
call void @fn_emit(ptr %t139)
call void @fn_emit(ptr @.str4562)
%t140 = load ptr, ptr %t120
%t141 = getelementptr inbounds %Cmp_Val, ptr %t140, i32 0, i32 0
%t142 = load ptr, ptr %t141
call void @fn_emit(ptr %t142)
call void @fn_emit(ptr @.str4563)
%t143 = load ptr, ptr %t136
call void @fn_emit(ptr %t143)
call void @fn_emit(ptr @.str4564)
%t144 = call ptr @fn_val(ptr @.str4565, ptr @.str4566)
store ptr %t144, ptr %retval
br label %ret
ifend11:
%t145 = load ptr, ptr %t0
%t146 = call i32 @fn_str_eq(ptr %t145, ptr @.str4567)
%t147 = icmp ne i32 %t146, 0
br i1 %t147, label %then12, label %ifend14
then12:
%t148 = load ptr, ptr %t1
%t149 = getelementptr inbounds %Cmp_Node, ptr %t148, i32 0, i32 7
%t150 = load ptr, ptr %t149
%t151 = getelementptr inbounds %LSlice, ptr %t150, i32 0, i32 0
%t152 = load ptr, ptr %t151
%t153 = getelementptr inbounds ptr, ptr %t152, i32 0
%t154 = load ptr, ptr %t153
%t155 = call ptr @fn_emit_expr(ptr %t154)
store ptr %t155, ptr %t156
%t157 = load ptr, ptr %t1
%t158 = getelementptr inbounds %Cmp_Node, ptr %t157, i32 0, i32 7
%t159 = load ptr, ptr %t158
%t160 = getelementptr inbounds %LSlice, ptr %t159, i32 0, i32 0
%t161 = load ptr, ptr %t160
%t162 = getelementptr inbounds ptr, ptr %t161, i32 1
%t163 = load ptr, ptr %t162
%t164 = call ptr @fn_emit_expr(ptr %t163)
store ptr %t164, ptr %t165
%t166 = load ptr, ptr %t156
%t167 = getelementptr inbounds %Cmp_Val, ptr %t166, i32 0, i32 0
%t168 = load ptr, ptr %t167
%t169 = call ptr @fn_str_concat(ptr @.str4568, ptr %t168)
%t170 = call ptr @fn_str_concat(ptr %t169, ptr @.str4569)
%t171 = load ptr, ptr %t165
%t172 = getelementptr inbounds %Cmp_Val, ptr %t171, i32 0, i32 0
%t173 = load ptr, ptr %t172
%t174 = call ptr @fn_str_concat(ptr %t170, ptr %t173)
%t175 = call ptr @fn_emit_bind(ptr %t174)
store ptr %t175, ptr %t176
%t177 = load ptr, ptr %t176
%t178 = call ptr @fn_str_concat(ptr @.str4570, ptr %t177)
%t179 = call ptr @fn_emit_bind(ptr %t178)
store ptr %t179, ptr %t180
%t181 = load ptr, ptr %t180
%t182 = call ptr @fn_str_concat(ptr @.str4571, ptr %t181)
%t183 = call ptr @fn_str_concat(ptr %t182, ptr @.str4572)
%t184 = call ptr @fn_emit_bind(ptr %t183)
%t185 = call ptr @fn_val(ptr %t184, ptr @.str4573)
store ptr %t185, ptr %retval
br label %ret
ifend14:
%t186 = load ptr, ptr %t1
%t187 = getelementptr inbounds %Cmp_Node, ptr %t186, i32 0, i32 7
%t188 = load ptr, ptr %t187
%t189 = getelementptr inbounds %LSlice, ptr %t188, i32 0, i32 0
%t190 = load ptr, ptr %t189
%t191 = getelementptr inbounds ptr, ptr %t190, i32 0
%t192 = load ptr, ptr %t191
%t193 = call ptr @fn_emit_expr(ptr %t192)
store ptr %t193, ptr %t194
%t195 = load ptr, ptr %t1
%t196 = getelementptr inbounds %Cmp_Node, ptr %t195, i32 0, i32 7
%t197 = load ptr, ptr %t196
%t198 = getelementptr inbounds %LSlice, ptr %t197, i32 0, i32 0
%t199 = load ptr, ptr %t198
%t200 = getelementptr inbounds ptr, ptr %t199, i32 1
%t201 = load ptr, ptr %t200
%t202 = call ptr @fn_emit_expr(ptr %t201)
store ptr %t202, ptr %t203
%t204 = load ptr, ptr %t1
%t205 = getelementptr inbounds %Cmp_Node, ptr %t204, i32 0, i32 7
%t206 = load ptr, ptr %t205
%t207 = getelementptr inbounds %LSlice, ptr %t206, i32 0, i32 0
%t208 = load ptr, ptr %t207
%t209 = getelementptr inbounds ptr, ptr %t208, i32 2
%t210 = load ptr, ptr %t209
%t211 = call ptr @fn_emit_expr(ptr %t210)
store ptr %t211, ptr %t212
%t213 = load ptr, ptr %t194
%t214 = getelementptr inbounds %Cmp_Val, ptr %t213, i32 0, i32 0
%t215 = load ptr, ptr %t214
%t216 = call ptr @fn_str_concat(ptr @.str4574, ptr %t215)
%t217 = call ptr @fn_str_concat(ptr %t216, ptr @.str4575)
%t218 = load ptr, ptr %t203
%t219 = getelementptr inbounds %Cmp_Val, ptr %t218, i32 0, i32 0
%t220 = load ptr, ptr %t219
%t221 = call ptr @fn_str_concat(ptr %t217, ptr %t220)
%t222 = call ptr @fn_emit_bind(ptr %t221)
store ptr %t222, ptr %t223
%t224 = load ptr, ptr %t212
%t225 = getelementptr inbounds %Cmp_Val, ptr %t224, i32 0, i32 0
%t226 = load ptr, ptr %t225
%t227 = call ptr @fn_str_concat(ptr @.str4576, ptr %t226)
%t228 = call ptr @fn_str_concat(ptr %t227, ptr @.str4577)
%t229 = call ptr @fn_emit_bind(ptr %t228)
store ptr %t229, ptr %t230
call void @fn_emit(ptr @.str4578)
%t231 = load ptr, ptr %t230
call void @fn_emit(ptr %t231)
call void @fn_emit(ptr @.str4579)
%t232 = load ptr, ptr %t223
call void @fn_emit(ptr %t232)
call void @fn_emit(ptr @.str4580)
%t233 = call ptr @fn_val(ptr @.str4581, ptr @.str4582)
store ptr %t233, ptr %retval
br label %ret
ret:
%t234 = load ptr, ptr %retval
ret ptr %t234
}
define i32 @fn_is_time_ns(ptr %arg_meth) {
entry:
%retval = alloca i32
%t0 = alloca ptr
%t1 = alloca i32
%t2 = alloca i32
%t3 = alloca i32
store ptr %arg_meth, ptr %t0
%t4 = load ptr, ptr %t0
%t5 = call i32 @fn_str_eq(ptr %t4, ptr @.str4583)
%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 @fn_str_eq(ptr %t8, ptr @.str4584)
%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 @fn_str_eq(ptr %t15, ptr @.str4585)
%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 @fn_str_eq(ptr %t22, ptr @.str4586)
%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 @fn_str_eq(ptr %t28, ptr @.str4587)
%t30 = icmp ne i32 %t29, 0
br i1 %t30, label %then9, label %ifend11
then9:
store i32 1, ptr %retval
br label %ret
ifend11:
store i32 0, ptr %retval
br label %ret
ret:
%t31 = load i32, ptr %retval
ret i32 %t31
}
define ptr @fn_emit_time_ns(ptr %arg_meth, ptr %arg_e) {
entry:
%retval = alloca ptr
%t0 = alloca ptr
%t1 = alloca ptr
%t15 = alloca ptr
%t32 = alloca ptr
%t34 = alloca ptr
%t39 = alloca ptr
%t50 = alloca ptr
store ptr %arg_meth, ptr %t0
store ptr %arg_e, ptr %t1
%t2 = load ptr, ptr %t0
%t3 = call i32 @fn_str_eq(ptr %t2, ptr @.str4588)
%t4 = icmp ne i32 %t3, 0
br i1 %t4, label %then0, label %ifend2
then0:
%t5 = call ptr @fn_emit_bind(ptr @.str4589)
%t6 = call ptr @fn_val(ptr %t5, ptr @.str4590)
store ptr %t6, ptr %retval
br label %ret
ifend2:
%t7 = load ptr, ptr %t0
%t8 = call i32 @fn_str_eq(ptr %t7, ptr @.str4591)
%t9 = icmp ne i32 %t8, 0
br i1 %t9, label %then3, label %ifend5
then3:
%t10 = call ptr @fn_val(ptr @.str4592, ptr @.str4593)
store ptr %t10, ptr %retval
br label %ret
ifend5:
%t11 = load ptr, ptr %t0
%t12 = call i32 @fn_str_eq(ptr %t11, ptr @.str4594)
%t13 = icmp ne i32 %t12, 0
br i1 %t13, label %then6, label %ifend8
then6:
%t14 = call ptr @fn_emit_bind(ptr @.str4595)
store ptr %t14, ptr %t15
%t16 = load ptr, ptr %t15
%t17 = call ptr @fn_str_concat(ptr @.str4596, ptr %t16)
%t18 = call ptr @fn_str_concat(ptr %t17, ptr @.str4597)
%t19 = call ptr @fn_emit_bind(ptr %t18)
%t20 = call ptr @fn_val(ptr %t19, ptr @.str4598)
store ptr %t20, ptr %retval
br label %ret
ifend8:
%t21 = load ptr, ptr %t0
%t22 = call i32 @fn_str_eq(ptr %t21, ptr @.str4599)
%t23 = icmp ne i32 %t22, 0
br i1 %t23, label %then9, label %ifend11
then9:
%t24 = load ptr, ptr %t1
%t25 = getelementptr inbounds %Cmp_Node, ptr %t24, i32 0, i32 7
%t26 = load ptr, ptr %t25
%t27 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 0
%t28 = load ptr, ptr %t27
%t29 = getelementptr inbounds ptr, ptr %t28, i32 0
%t30 = load ptr, ptr %t29
%t31 = call ptr @fn_emit_expr(ptr %t30)
store ptr %t31, ptr %t32
%t33 = call ptr @fn_emit_bind(ptr @.str4600)
store ptr %t33, ptr %t34
%t35 = load ptr, ptr %t34
%t36 = call ptr @fn_str_concat(ptr @.str4601, ptr %t35)
%t37 = call ptr @fn_str_concat(ptr %t36, ptr @.str4602)
%t38 = call ptr @fn_emit_bind(ptr %t37)
store ptr %t38, ptr %t39
%t40 = load ptr, ptr %t39
%t41 = call ptr @fn_str_concat(ptr @.str4603, ptr %t40)
%t42 = call ptr @fn_str_concat(ptr %t41, ptr @.str4604)
%t43 = load ptr, ptr %t32
%t44 = getelementptr inbounds %Cmp_Val, ptr %t43, i32 0, i32 0
%t45 = load ptr, ptr %t44
%t46 = call ptr @fn_str_concat(ptr %t42, ptr %t45)
%t47 = call ptr @fn_emit_bind(ptr %t46)
%t48 = call ptr @fn_val(ptr %t47, ptr @.str4605)
store ptr %t48, ptr %retval
br label %ret
ifend11:
%t49 = call ptr @fn_emit_bind(ptr @.str4606)
store ptr %t49, ptr %t50
%t51 = load ptr, ptr %t50
%t52 = call ptr @fn_str_concat(ptr @.str4607, ptr %t51)
%t53 = call ptr @fn_str_concat(ptr %t52, ptr @.str4608)
%t54 = call ptr @fn_emit_bind(ptr %t53)
%t55 = call ptr @fn_val(ptr %t54, ptr @.str4609)
store ptr %t55, ptr %retval
br label %ret
ret:
%t56 = load ptr, ptr %retval
ret ptr %t56
}
define i32 @fn_is_duration_ns(ptr %arg_meth) {
entry:
%retval = alloca i32
%t0 = alloca ptr
%t1 = alloca i32
%t2 = alloca i32
%t3 = alloca i32
%t28 = alloca i32
%t29 = alloca i32
%t30 = alloca i32
store ptr %arg_meth, ptr %t0
%t4 = load ptr, ptr %t0
%t5 = call i32 @fn_str_eq(ptr %t4, ptr @.str4610)
%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 @fn_str_eq(ptr %t8, ptr @.str4611)
%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 @fn_str_eq(ptr %t15, ptr @.str4612)
%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 @fn_str_eq(ptr %t22, ptr @.str4613)
%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 @fn_str_eq(ptr %t31, ptr @.str4614)
%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 @fn_str_eq(ptr %t35, ptr @.str4615)
%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 @fn_str_eq(ptr %t42, ptr @.str4616)
%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 @fn_str_eq(ptr %t49, ptr @.str4617)
%t51 = icmp ne i32 %t50, 0
%t52 = zext i1 %t51 to i32
store i32 %t52, ptr %t28
br label %scend14
scend14:
%t53 = load i32, ptr %t28
%t54 = icmp ne i32 %t53, 0
br i1 %t54, label %then15, label %ifend17
then15:
store i32 1, ptr %retval
br label %ret
ifend17:
store i32 0, ptr %retval
br label %ret
ret:
%t55 = load i32, ptr %retval
ret i32 %t55
}
define ptr @fn_emit_duration_ns(ptr %arg_meth, ptr %arg_e) {
entry:
%retval = alloca ptr
%t0 = alloca ptr
%t1 = alloca ptr
%t10 = alloca ptr
store ptr %arg_meth, ptr %t0
store ptr %arg_e, ptr %t1
%t2 = load ptr, ptr %t1
%t3 = getelementptr inbounds %Cmp_Node, ptr %t2, i32 0, i32 7
%t4 = load ptr, ptr %t3
%t5 = getelementptr inbounds %LSlice, ptr %t4, i32 0, i32 0
%t6 = load ptr, ptr %t5
%t7 = getelementptr inbounds ptr, ptr %t6, i32 0
%t8 = load ptr, ptr %t7
%t9 = call ptr @fn_emit_expr(ptr %t8)
store ptr %t9, ptr %t10
%t11 = load ptr, ptr %t0
%t12 = call i32 @fn_str_eq(ptr %t11, ptr @.str4618)
%t13 = icmp ne i32 %t12, 0
br i1 %t13, label %then0, label %ifend2
then0:
%t14 = load ptr, ptr %t10
%t15 = getelementptr inbounds %Cmp_Val, ptr %t14, i32 0, i32 0
%t16 = load ptr, ptr %t15
%t17 = call ptr @fn_val(ptr %t16, ptr @.str4619)
store ptr %t17, ptr %retval
br label %ret
ifend2:
%t18 = load ptr, ptr %t0
%t19 = call i32 @fn_str_eq(ptr %t18, ptr @.str4620)
%t20 = icmp ne i32 %t19, 0
br i1 %t20, label %then3, label %ifend5
then3:
%t21 = load ptr, ptr %t10
%t22 = getelementptr inbounds %Cmp_Val, ptr %t21, i32 0, i32 0
%t23 = load ptr, ptr %t22
%t24 = call ptr @fn_str_concat(ptr @.str4621, ptr %t23)
%t25 = call ptr @fn_str_concat(ptr %t24, ptr @.str4622)
%t26 = call ptr @fn_emit_bind(ptr %t25)
%t27 = call ptr @fn_val(ptr %t26, ptr @.str4623)
store ptr %t27, ptr %retval
br label %ret
ifend5:
%t28 = load ptr, ptr %t0
%t29 = call i32 @fn_str_eq(ptr %t28, ptr @.str4624)
%t30 = icmp ne i32 %t29, 0
br i1 %t30, label %then6, label %ifend8
then6:
%t31 = load ptr, ptr %t10
%t32 = getelementptr inbounds %Cmp_Val, ptr %t31, i32 0, i32 0
%t33 = load ptr, ptr %t32
%t34 = call ptr @fn_str_concat(ptr @.str4625, ptr %t33)
%t35 = call ptr @fn_str_concat(ptr %t34, ptr @.str4626)
%t36 = call ptr @fn_emit_bind(ptr %t35)
%t37 = call ptr @fn_val(ptr %t36, ptr @.str4627)
store ptr %t37, ptr %retval
br label %ret
ifend8:
%t38 = load ptr, ptr %t0
%t39 = call i32 @fn_str_eq(ptr %t38, ptr @.str4628)
%t40 = icmp ne i32 %t39, 0
br i1 %t40, label %then9, label %ifend11
then9:
%t41 = load ptr, ptr %t10
%t42 = getelementptr inbounds %Cmp_Val, ptr %t41, i32 0, i32 0
%t43 = load ptr, ptr %t42
%t44 = call ptr @fn_str_concat(ptr @.str4629, ptr %t43)
%t45 = call ptr @fn_str_concat(ptr %t44, ptr @.str4630)
%t46 = call ptr @fn_emit_bind(ptr %t45)
%t47 = call ptr @fn_val(ptr %t46, ptr @.str4631)
store ptr %t47, ptr %retval
br label %ret
ifend11:
%t48 = load ptr, ptr %t0
%t49 = call i32 @fn_str_eq(ptr %t48, ptr @.str4632)
%t50 = icmp ne i32 %t49, 0
br i1 %t50, label %then12, label %ifend14
then12:
%t51 = load ptr, ptr %t10
%t52 = getelementptr inbounds %Cmp_Val, ptr %t51, i32 0, i32 0
%t53 = load ptr, ptr %t52
%t54 = call ptr @fn_val(ptr %t53, ptr @.str4633)
store ptr %t54, ptr %retval
br label %ret
ifend14:
%t55 = load ptr, ptr %t0
%t56 = call i32 @fn_str_eq(ptr %t55, ptr @.str4634)
%t57 = icmp ne i32 %t56, 0
br i1 %t57, label %then15, label %ifend17
then15:
%t58 = load ptr, ptr %t10
%t59 = getelementptr inbounds %Cmp_Val, ptr %t58, i32 0, i32 0
%t60 = load ptr, ptr %t59
%t61 = call ptr @fn_str_concat(ptr @.str4635, ptr %t60)
%t62 = call ptr @fn_str_concat(ptr %t61, ptr @.str4636)
%t63 = call ptr @fn_emit_bind(ptr %t62)
%t64 = call ptr @fn_val(ptr %t63, ptr @.str4637)
store ptr %t64, ptr %retval
br label %ret
ifend17:
%t65 = load ptr, ptr %t0
%t66 = call i32 @fn_str_eq(ptr %t65, ptr @.str4638)
%t67 = icmp ne i32 %t66, 0
br i1 %t67, label %then18, label %ifend20
then18:
%t68 = load ptr, ptr %t10
%t69 = getelementptr inbounds %Cmp_Val, ptr %t68, i32 0, i32 0
%t70 = load ptr, ptr %t69
%t71 = call ptr @fn_str_concat(ptr @.str4639, ptr %t70)
%t72 = call ptr @fn_str_concat(ptr %t71, ptr @.str4640)
%t73 = call ptr @fn_emit_bind(ptr %t72)
%t74 = call ptr @fn_val(ptr %t73, ptr @.str4641)
store ptr %t74, ptr %retval
br label %ret
ifend20:
%t75 = load ptr, ptr %t10
%t76 = getelementptr inbounds %Cmp_Val, ptr %t75, i32 0, i32 0
%t77 = load ptr, ptr %t76
%t78 = call ptr @fn_str_concat(ptr @.str4642, ptr %t77)
%t79 = call ptr @fn_str_concat(ptr %t78, ptr @.str4643)
%t80 = call ptr @fn_emit_bind(ptr %t79)
%t81 = call ptr @fn_val(ptr %t80, ptr @.str4644)
store ptr %t81, ptr %retval
br label %ret
ret:
%t82 = load ptr, ptr %retval
ret ptr %t82
}
define ptr @fn_date_component(ptr %arg_ed, i32 %arg_which) {
entry:
%retval = alloca ptr
%t0 = alloca ptr
%t1 = alloca i32
%t3 = alloca ptr
%t5 = alloca ptr
%t7 = alloca ptr
%t21 = alloca ptr
store ptr %arg_ed, ptr %t0
store i32 %arg_which, ptr %t1
store i32 1, ptr @g_g_uses_datert
%t2 = call ptr @fn_emit_alloca(ptr @.str4645)
store ptr %t2, ptr %t3
%t4 = call ptr @fn_emit_alloca(ptr @.str4646)
store ptr %t4, ptr %t5
%t6 = call ptr @fn_emit_alloca(ptr @.str4647)
store ptr %t6, ptr %t7
%t8 = load ptr, ptr %t0
%t9 = call ptr @fn_str_concat(ptr @.str4648, ptr %t8)
%t10 = call ptr @fn_str_concat(ptr %t9, ptr @.str4649)
%t11 = load ptr, ptr %t3
%t12 = call ptr @fn_str_concat(ptr %t10, ptr %t11)
%t13 = call ptr @fn_str_concat(ptr %t12, ptr @.str4650)
%t14 = load ptr, ptr %t5
%t15 = call ptr @fn_str_concat(ptr %t13, ptr %t14)
%t16 = call ptr @fn_str_concat(ptr %t15, ptr @.str4651)
%t17 = load ptr, ptr %t7
%t18 = call ptr @fn_str_concat(ptr %t16, ptr %t17)
%t19 = call ptr @fn_str_concat(ptr %t18, ptr @.str4652)
call void @fn_emit(ptr %t19)
%t20 = load ptr, ptr %t3
store ptr %t20, ptr %t21
%t22 = load i32, ptr %t1
%t23 = icmp eq i32 %t22, 1
%t24 = zext i1 %t23 to i32
%t25 = icmp ne i32 %t24, 0
br i1 %t25, label %then0, label %ifend2
then0:
%t26 = load ptr, ptr %t5
store ptr %t26, ptr %t21
br label %ifend2
ifend2:
%t27 = load i32, ptr %t1
%t28 = icmp eq i32 %t27, 2
%t29 = zext i1 %t28 to i32
%t30 = icmp ne i32 %t29, 0
br i1 %t30, label %then3, label %ifend5
then3:
%t31 = load ptr, ptr %t7
store ptr %t31, ptr %t21
br label %ifend5
ifend5:
%t32 = load ptr, ptr %t21
%t33 = call ptr @fn_str_concat(ptr @.str4653, ptr %t32)
%t34 = call ptr @fn_emit_bind(ptr %t33)
store ptr %t34, ptr %retval
br label %ret
ret:
%t35 = load ptr, ptr %retval
ret ptr %t35
}
define i32 @fn_is_date_ns(ptr %arg_meth) {
entry:
%retval = alloca i32
%t0 = alloca ptr
%t1 = alloca i32
%t2 = alloca i32
%t3 = alloca i32
%t28 = alloca i32
%t29 = alloca i32
%t47 = alloca i32
%t48 = alloca i32
store ptr %arg_meth, ptr %t0
%t4 = load ptr, ptr %t0
%t5 = call i32 @fn_str_eq(ptr %t4, ptr @.str4654)
%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 @fn_str_eq(ptr %t8, ptr @.str4655)
%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 @fn_str_eq(ptr %t15, ptr @.str4656)
%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 @fn_str_eq(ptr %t22, ptr @.str4657)
%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 @fn_str_eq(ptr %t30, ptr @.str4658)
%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 @fn_str_eq(ptr %t34, ptr @.str4659)
%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 @fn_str_eq(ptr %t41, ptr @.str4660)
%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 @fn_str_eq(ptr %t49, ptr @.str4661)
%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 @fn_str_eq(ptr %t53, ptr @.str4662)
%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 @fn_str_eq(ptr %t60, ptr @.str4663)
%t62 = icmp ne i32 %t61, 0
%t63 = zext i1 %t62 to i32
store i32 %t63, ptr %t47
br label %scend19
scend19:
%t64 = load i32, ptr %t47
%t65 = icmp ne i32 %t64, 0
br i1 %t65, label %then20, label %ifend22
then20:
store i32 1, ptr %retval
br label %ret
ifend22:
store i32 0, ptr %retval
br label %ret
ret:
%t66 = load i32, ptr %retval
ret i32 %t66
}
define ptr @fn_emit_date_ns(ptr %arg_meth, ptr %arg_e) {
entry:
%retval = alloca ptr
%t0 = alloca ptr
%t1 = alloca ptr
%t13 = alloca ptr
%t22 = alloca ptr
%t31 = alloca ptr
%t60 = alloca ptr
%t77 = alloca ptr
%t94 = alloca ptr
%t111 = alloca ptr
%t118 = alloca ptr
%t123 = alloca ptr
%t128 = alloca ptr
%t145 = alloca ptr
%t152 = alloca ptr
%t157 = alloca ptr
%t164 = alloca ptr
%t169 = alloca ptr
%t176 = alloca ptr
%t181 = alloca ptr
%t188 = alloca ptr
%t195 = alloca ptr
%t212 = alloca ptr
%t221 = alloca ptr
%t233 = alloca ptr
%t240 = alloca ptr
%t247 = alloca ptr
%t259 = alloca ptr
%t266 = alloca ptr
%t273 = alloca ptr
%t281 = alloca ptr
%t300 = alloca ptr
%t319 = alloca ptr
%t328 = alloca ptr
%t348 = alloca ptr
%t357 = alloca ptr
store ptr %arg_meth, ptr %t0
store ptr %arg_e, ptr %t1
%t2 = load ptr, ptr %t0
%t3 = call i32 @fn_str_eq(ptr %t2, ptr @.str4664)
%t4 = icmp ne i32 %t3, 0
br i1 %t4, label %then0, label %ifend2
then0:
store i32 1, ptr @g_g_uses_datert
%t5 = load ptr, ptr %t1
%t6 = getelementptr inbounds %Cmp_Node, ptr %t5, i32 0, i32 7
%t7 = load ptr, ptr %t6
%t8 = getelementptr inbounds %LSlice, ptr %t7, i32 0, i32 0
%t9 = load ptr, ptr %t8
%t10 = getelementptr inbounds ptr, ptr %t9, i32 0
%t11 = load ptr, ptr %t10
%t12 = call ptr @fn_emit_expr(ptr %t11)
store ptr %t12, ptr %t13
%t14 = load ptr, ptr %t1
%t15 = getelementptr inbounds %Cmp_Node, ptr %t14, i32 0, i32 7
%t16 = load ptr, ptr %t15
%t17 = getelementptr inbounds %LSlice, ptr %t16, i32 0, i32 0
%t18 = load ptr, ptr %t17
%t19 = getelementptr inbounds ptr, ptr %t18, i32 1
%t20 = load ptr, ptr %t19
%t21 = call ptr @fn_emit_expr(ptr %t20)
store ptr %t21, ptr %t22
%t23 = load ptr, ptr %t1
%t24 = getelementptr inbounds %Cmp_Node, ptr %t23, i32 0, i32 7
%t25 = load ptr, ptr %t24
%t26 = getelementptr inbounds %LSlice, ptr %t25, i32 0, i32 0
%t27 = load ptr, ptr %t26
%t28 = getelementptr inbounds ptr, ptr %t27, i32 2
%t29 = load ptr, ptr %t28
%t30 = call ptr @fn_emit_expr(ptr %t29)
store ptr %t30, ptr %t31
%t32 = load ptr, ptr %t13
%t33 = getelementptr inbounds %Cmp_Val, ptr %t32, i32 0, i32 0
%t34 = load ptr, ptr %t33
%t35 = call ptr @fn_str_concat(ptr @.str4665, ptr %t34)
%t36 = call ptr @fn_str_concat(ptr %t35, ptr @.str4666)
%t37 = load ptr, ptr %t22
%t38 = getelementptr inbounds %Cmp_Val, ptr %t37, i32 0, i32 0
%t39 = load ptr, ptr %t38
%t40 = call ptr @fn_str_concat(ptr %t36, ptr %t39)
%t41 = call ptr @fn_str_concat(ptr %t40, ptr @.str4667)
%t42 = load ptr, ptr %t31
%t43 = getelementptr inbounds %Cmp_Val, ptr %t42, i32 0, i32 0
%t44 = load ptr, ptr %t43
%t45 = call ptr @fn_str_concat(ptr %t41, ptr %t44)
%t46 = call ptr @fn_str_concat(ptr %t45, ptr @.str4668)
%t47 = call ptr @fn_emit_bind(ptr %t46)
%t48 = call ptr @fn_val(ptr %t47, ptr @.str4669)
store ptr %t48, ptr %retval
br label %ret
ifend2:
%t49 = load ptr, ptr %t0
%t50 = call i32 @fn_str_eq(ptr %t49, ptr @.str4670)
%t51 = icmp ne i32 %t50, 0
br i1 %t51, label %then3, label %ifend5
then3:
%t52 = load ptr, ptr %t1
%t53 = getelementptr inbounds %Cmp_Node, ptr %t52, i32 0, i32 7
%t54 = load ptr, ptr %t53
%t55 = getelementptr inbounds %LSlice, ptr %t54, i32 0, i32 0
%t56 = load ptr, ptr %t55
%t57 = getelementptr inbounds ptr, ptr %t56, i32 0
%t58 = load ptr, ptr %t57
%t59 = call ptr @fn_emit_expr(ptr %t58)
store ptr %t59, ptr %t60
%t61 = load ptr, ptr %t60
%t62 = getelementptr inbounds %Cmp_Val, ptr %t61, i32 0, i32 0
%t63 = load ptr, ptr %t62
%t64 = call ptr @fn_date_component(ptr %t63, i32 0)
%t65 = call ptr @fn_val(ptr %t64, ptr @.str4671)
store ptr %t65, ptr %retval
br label %ret
ifend5:
%t66 = load ptr, ptr %t0
%t67 = call i32 @fn_str_eq(ptr %t66, ptr @.str4672)
%t68 = icmp ne i32 %t67, 0
br i1 %t68, label %then6, label %ifend8
then6:
%t69 = load ptr, ptr %t1
%t70 = getelementptr inbounds %Cmp_Node, ptr %t69, i32 0, i32 7
%t71 = load ptr, ptr %t70
%t72 = getelementptr inbounds %LSlice, ptr %t71, i32 0, i32 0
%t73 = load ptr, ptr %t72
%t74 = getelementptr inbounds ptr, ptr %t73, i32 0
%t75 = load ptr, ptr %t74
%t76 = call ptr @fn_emit_expr(ptr %t75)
store ptr %t76, ptr %t77
%t78 = load ptr, ptr %t77
%t79 = getelementptr inbounds %Cmp_Val, ptr %t78, i32 0, i32 0
%t80 = load ptr, ptr %t79
%t81 = call ptr @fn_date_component(ptr %t80, i32 1)
%t82 = call ptr @fn_val(ptr %t81, ptr @.str4673)
store ptr %t82, ptr %retval
br label %ret
ifend8:
%t83 = load ptr, ptr %t0
%t84 = call i32 @fn_str_eq(ptr %t83, ptr @.str4674)
%t85 = icmp ne i32 %t84, 0
br i1 %t85, label %then9, label %ifend11
then9:
%t86 = load ptr, ptr %t1
%t87 = getelementptr inbounds %Cmp_Node, ptr %t86, i32 0, i32 7
%t88 = load ptr, ptr %t87
%t89 = getelementptr inbounds %LSlice, ptr %t88, i32 0, i32 0
%t90 = load ptr, ptr %t89
%t91 = getelementptr inbounds ptr, ptr %t90, i32 0
%t92 = load ptr, ptr %t91
%t93 = call ptr @fn_emit_expr(ptr %t92)
store ptr %t93, ptr %t94
%t95 = load ptr, ptr %t94
%t96 = getelementptr inbounds %Cmp_Val, ptr %t95, i32 0, i32 0
%t97 = load ptr, ptr %t96
%t98 = call ptr @fn_date_component(ptr %t97, i32 2)
%t99 = call ptr @fn_val(ptr %t98, ptr @.str4675)
store ptr %t99, ptr %retval
br label %ret
ifend11:
%t100 = load ptr, ptr %t0
%t101 = call i32 @fn_str_eq(ptr %t100, ptr @.str4676)
%t102 = icmp ne i32 %t101, 0
br i1 %t102, label %then12, label %ifend14
then12:
%t103 = load ptr, ptr %t1
%t104 = getelementptr inbounds %Cmp_Node, ptr %t103, i32 0, i32 7
%t105 = load ptr, ptr %t104
%t106 = getelementptr inbounds %LSlice, ptr %t105, i32 0, i32 0
%t107 = load ptr, ptr %t106
%t108 = getelementptr inbounds ptr, ptr %t107, i32 0
%t109 = load ptr, ptr %t108
%t110 = call ptr @fn_emit_expr(ptr %t109)
store ptr %t110, ptr %t111
%t112 = load ptr, ptr %t111
%t113 = getelementptr inbounds %Cmp_Val, ptr %t112, i32 0, i32 0
%t114 = load ptr, ptr %t113
%t115 = call ptr @fn_str_concat(ptr @.str4677, ptr %t114)
%t116 = call ptr @fn_str_concat(ptr %t115, ptr @.str4678)
%t117 = call ptr @fn_emit_bind(ptr %t116)
store ptr %t117, ptr %t118
%t119 = load ptr, ptr %t118
%t120 = call ptr @fn_str_concat(ptr @.str4679, ptr %t119)
%t121 = call ptr @fn_str_concat(ptr %t120, ptr @.str4680)
%t122 = call ptr @fn_emit_bind(ptr %t121)
store ptr %t122, ptr %t123
%t124 = load ptr, ptr %t123
%t125 = call ptr @fn_str_concat(ptr @.str4681, ptr %t124)
%t126 = call ptr @fn_str_concat(ptr %t125, ptr @.str4682)
%t127 = call ptr @fn_emit_bind(ptr %t126)
store ptr %t127, ptr %t128
%t129 = load ptr, ptr %t128
%t130 = call ptr @fn_str_concat(ptr @.str4683, ptr %t129)
%t131 = call ptr @fn_str_concat(ptr %t130, ptr @.str4684)
%t132 = call ptr @fn_emit_bind(ptr %t131)
%t133 = call ptr @fn_val(ptr %t132, ptr @.str4685)
store ptr %t133, ptr %retval
br label %ret
ifend14:
%t134 = load ptr, ptr %t0
%t135 = call i32 @fn_str_eq(ptr %t134, ptr @.str4686)
%t136 = icmp ne i32 %t135, 0
br i1 %t136, label %then15, label %ifend17
then15:
%t137 = load ptr, ptr %t1
%t138 = getelementptr inbounds %Cmp_Node, ptr %t137, i32 0, i32 7
%t139 = load ptr, ptr %t138
%t140 = getelementptr inbounds %LSlice, ptr %t139, i32 0, i32 0
%t141 = load ptr, ptr %t140
%t142 = getelementptr inbounds ptr, ptr %t141, i32 0
%t143 = load ptr, ptr %t142
%t144 = call ptr @fn_emit_expr(ptr %t143)
store ptr %t144, ptr %t145
%t146 = load ptr, ptr %t145
%t147 = getelementptr inbounds %Cmp_Val, ptr %t146, i32 0, i32 0
%t148 = load ptr, ptr %t147
%t149 = call ptr @fn_str_concat(ptr @.str4687, ptr %t148)
%t150 = call ptr @fn_str_concat(ptr %t149, ptr @.str4688)
%t151 = call ptr @fn_emit_bind(ptr %t150)
store ptr %t151, ptr %t152
%t153 = load ptr, ptr %t152
%t154 = call ptr @fn_str_concat(ptr @.str4689, ptr %t153)
%t155 = call ptr @fn_str_concat(ptr %t154, ptr @.str4690)
%t156 = call ptr @fn_emit_bind(ptr %t155)
store ptr %t156, ptr %t157
%t158 = load ptr, ptr %t145
%t159 = getelementptr inbounds %Cmp_Val, ptr %t158, i32 0, i32 0
%t160 = load ptr, ptr %t159
%t161 = call ptr @fn_str_concat(ptr @.str4691, ptr %t160)
%t162 = call ptr @fn_str_concat(ptr %t161, ptr @.str4692)
%t163 = call ptr @fn_emit_bind(ptr %t162)
store ptr %t163, ptr %t164
%t165 = load ptr, ptr %t164
%t166 = call ptr @fn_str_concat(ptr @.str4693, ptr %t165)
%t167 = call ptr @fn_str_concat(ptr %t166, ptr @.str4694)
%t168 = call ptr @fn_emit_bind(ptr %t167)
store ptr %t168, ptr %t169
%t170 = load ptr, ptr %t145
%t171 = getelementptr inbounds %Cmp_Val, ptr %t170, i32 0, i32 0
%t172 = load ptr, ptr %t171
%t173 = call ptr @fn_str_concat(ptr @.str4695, ptr %t172)
%t174 = call ptr @fn_str_concat(ptr %t173, ptr @.str4696)
%t175 = call ptr @fn_emit_bind(ptr %t174)
store ptr %t175, ptr %t176
%t177 = load ptr, ptr %t176
%t178 = call ptr @fn_str_concat(ptr @.str4697, ptr %t177)
%t179 = call ptr @fn_str_concat(ptr %t178, ptr @.str4698)
%t180 = call ptr @fn_emit_bind(ptr %t179)
store ptr %t180, ptr %t181
%t182 = load ptr, ptr %t157
%t183 = call ptr @fn_str_concat(ptr @.str4699, ptr %t182)
%t184 = call ptr @fn_str_concat(ptr %t183, ptr @.str4700)
%t185 = load ptr, ptr %t169
%t186 = call ptr @fn_str_concat(ptr %t184, ptr %t185)
%t187 = call ptr @fn_emit_bind(ptr %t186)
store ptr %t187, ptr %t188
%t189 = load ptr, ptr %t188
%t190 = call ptr @fn_str_concat(ptr @.str4701, ptr %t189)
%t191 = call ptr @fn_str_concat(ptr %t190, ptr @.str4702)
%t192 = load ptr, ptr %t181
%t193 = call ptr @fn_str_concat(ptr %t191, ptr %t192)
%t194 = call ptr @fn_emit_bind(ptr %t193)
store ptr %t194, ptr %t195
%t196 = load ptr, ptr %t195
%t197 = call ptr @fn_str_concat(ptr @.str4703, ptr %t196)
%t198 = call ptr @fn_str_concat(ptr %t197, ptr @.str4704)
%t199 = call ptr @fn_emit_bind(ptr %t198)
%t200 = call ptr @fn_val(ptr %t199, ptr @.str4705)
store ptr %t200, ptr %retval
br label %ret
ifend17:
%t201 = load ptr, ptr %t0
%t202 = call i32 @fn_str_eq(ptr %t201, ptr @.str4706)
%t203 = icmp ne i32 %t202, 0
br i1 %t203, label %then18, label %ifend20
then18:
store i32 1, ptr @g_g_uses_datert
%t204 = load ptr, ptr %t1
%t205 = getelementptr inbounds %Cmp_Node, ptr %t204, i32 0, i32 7
%t206 = load ptr, ptr %t205
%t207 = getelementptr inbounds %LSlice, ptr %t206, i32 0, i32 0
%t208 = load ptr, ptr %t207
%t209 = getelementptr inbounds ptr, ptr %t208, i32 0
%t210 = load ptr, ptr %t209
%t211 = call ptr @fn_emit_expr(ptr %t210)
store ptr %t211, ptr %t212
%t213 = load ptr, ptr %t1
%t214 = getelementptr inbounds %Cmp_Node, ptr %t213, i32 0, i32 7
%t215 = load ptr, ptr %t214
%t216 = getelementptr inbounds %LSlice, ptr %t215, i32 0, i32 0
%t217 = load ptr, ptr %t216
%t218 = getelementptr inbounds ptr, ptr %t217, i32 1
%t219 = load ptr, ptr %t218
%t220 = call ptr @fn_emit_expr(ptr %t219)
store ptr %t220, ptr %t221
%t222 = load ptr, ptr %t212
%t223 = getelementptr inbounds %Cmp_Val, ptr %t222, i32 0, i32 0
%t224 = load ptr, ptr %t223
%t225 = call ptr @fn_str_concat(ptr @.str4707, ptr %t224)
%t226 = call ptr @fn_str_concat(ptr %t225, ptr @.str4708)
%t227 = load ptr, ptr %t221
%t228 = getelementptr inbounds %Cmp_Val, ptr %t227, i32 0, i32 0
%t229 = load ptr, ptr %t228
%t230 = call ptr @fn_str_concat(ptr %t226, ptr %t229)
%t231 = call ptr @fn_str_concat(ptr %t230, ptr @.str4709)
%t232 = call ptr @fn_emit_bind(ptr %t231)
store ptr %t232, ptr %t233
%t234 = load ptr, ptr %t221
%t235 = getelementptr inbounds %Cmp_Val, ptr %t234, i32 0, i32 0
%t236 = load ptr, ptr %t235
%t237 = call ptr @fn_str_concat(ptr @.str4710, ptr %t236)
%t238 = call ptr @fn_str_concat(ptr %t237, ptr @.str4711)
%t239 = call ptr @fn_emit_bind(ptr %t238)
store ptr %t239, ptr %t240
%t241 = load ptr, ptr %t212
%t242 = getelementptr inbounds %Cmp_Val, ptr %t241, i32 0, i32 0
%t243 = load ptr, ptr %t242
%t244 = call ptr @fn_str_concat(ptr @.str4712, ptr %t243)
%t245 = call ptr @fn_str_concat(ptr %t244, ptr @.str4713)
%t246 = call ptr @fn_emit_bind(ptr %t245)
store ptr %t246, ptr %t247
%t248 = load ptr, ptr %t240
%t249 = call ptr @fn_str_concat(ptr @.str4714, ptr %t248)
%t250 = call ptr @fn_str_concat(ptr %t249, ptr @.str4715)
%t251 = load ptr, ptr %t247
%t252 = call ptr @fn_str_concat(ptr %t250, ptr %t251)
%t253 = call ptr @fn_str_concat(ptr %t252, ptr @.str4716)
%t254 = load ptr, ptr %t212
%t255 = getelementptr inbounds %Cmp_Val, ptr %t254, i32 0, i32 0
%t256 = load ptr, ptr %t255
%t257 = call ptr @fn_str_concat(ptr %t253, ptr %t256)
%t258 = call ptr @fn_emit_bind(ptr %t257)
store ptr %t258, ptr %t259
%t260 = load ptr, ptr %t221
%t261 = getelementptr inbounds %Cmp_Val, ptr %t260, i32 0, i32 0
%t262 = load ptr, ptr %t261
%t263 = call ptr @fn_str_concat(ptr @.str4717, ptr %t262)
%t264 = call ptr @fn_str_concat(ptr %t263, ptr @.str4718)
%t265 = call ptr @fn_emit_bind(ptr %t264)
store ptr %t265, ptr %t266
%t267 = load ptr, ptr %t240
%t268 = call ptr @fn_str_concat(ptr @.str4719, ptr %t267)
%t269 = call ptr @fn_str_concat(ptr %t268, ptr @.str4720)
%t270 = load ptr, ptr %t266
%t271 = call ptr @fn_str_concat(ptr %t269, ptr %t270)
%t272 = call ptr @fn_emit_bind(ptr %t271)
store ptr %t272, ptr %t273
%t274 = load ptr, ptr %t259
%t275 = call ptr @fn_str_concat(ptr @.str4721, ptr %t274)
%t276 = call ptr @fn_str_concat(ptr %t275, ptr @.str4722)
%t277 = load ptr, ptr %t273
%t278 = call ptr @fn_str_concat(ptr %t276, ptr %t277)
%t279 = call ptr @fn_str_concat(ptr %t278, ptr @.str4723)
%t280 = call ptr @fn_emit_bind(ptr %t279)
store ptr %t280, ptr %t281
%t282 = load ptr, ptr %t281
%t283 = call ptr @fn_str_concat(ptr @.str4724, ptr %t282)
%t284 = call ptr @fn_str_concat(ptr %t283, ptr @.str4725)
%t285 = load ptr, ptr %t233
%t286 = call ptr @fn_str_concat(ptr %t284, ptr %t285)
%t287 = call ptr @fn_emit_bind(ptr %t286)
%t288 = call ptr @fn_val(ptr %t287, ptr @.str4726)
store ptr %t288, ptr %retval
br label %ret
ifend20:
%t289 = load ptr, ptr %t0
%t290 = call i32 @fn_str_eq(ptr %t289, ptr @.str4727)
%t291 = icmp ne i32 %t290, 0
br i1 %t291, label %then21, label %ifend23
then21:
%t292 = load ptr, ptr %t1
%t293 = getelementptr inbounds %Cmp_Node, ptr %t292, i32 0, i32 7
%t294 = load ptr, ptr %t293
%t295 = getelementptr inbounds %LSlice, ptr %t294, i32 0, i32 0
%t296 = load ptr, ptr %t295
%t297 = getelementptr inbounds ptr, ptr %t296, i32 0
%t298 = load ptr, ptr %t297
%t299 = call ptr @fn_emit_expr(ptr %t298)
store ptr %t299, ptr %t300
%t301 = load ptr, ptr %t300
%t302 = getelementptr inbounds %Cmp_Val, ptr %t301, i32 0, i32 0
%t303 = load ptr, ptr %t302
%t304 = call ptr @fn_str_concat(ptr @.str4728, ptr %t303)
%t305 = call ptr @fn_str_concat(ptr %t304, ptr @.str4729)
%t306 = call ptr @fn_emit_bind(ptr %t305)
%t307 = call ptr @fn_val(ptr %t306, ptr @.str4730)
store ptr %t307, ptr %retval
br label %ret
ifend23:
%t308 = load ptr, ptr %t0
%t309 = call i32 @fn_str_eq(ptr %t308, ptr @.str4731)
%t310 = icmp ne i32 %t309, 0
br i1 %t310, label %then24, label %ifend26
then24:
%t311 = load ptr, ptr %t1
%t312 = getelementptr inbounds %Cmp_Node, ptr %t311, i32 0, i32 7
%t313 = load ptr, ptr %t312
%t314 = getelementptr inbounds %LSlice, ptr %t313, i32 0, i32 0
%t315 = load ptr, ptr %t314
%t316 = getelementptr inbounds ptr, ptr %t315, i32 0
%t317 = load ptr, ptr %t316
%t318 = call ptr @fn_emit_expr(ptr %t317)
store ptr %t318, ptr %t319
%t320 = load ptr, ptr %t1
%t321 = getelementptr inbounds %Cmp_Node, ptr %t320, i32 0, i32 7
%t322 = load ptr, ptr %t321
%t323 = getelementptr inbounds %LSlice, ptr %t322, i32 0, i32 0
%t324 = load ptr, ptr %t323
%t325 = getelementptr inbounds ptr, ptr %t324, i32 1
%t326 = load ptr, ptr %t325
%t327 = call ptr @fn_emit_expr(ptr %t326)
store ptr %t327, ptr %t328
%t329 = load ptr, ptr %t319
%t330 = getelementptr inbounds %Cmp_Val, ptr %t329, i32 0, i32 0
%t331 = load ptr, ptr %t330
%t332 = call ptr @fn_str_concat(ptr @.str4732, ptr %t331)
%t333 = call ptr @fn_str_concat(ptr %t332, ptr @.str4733)
%t334 = load ptr, ptr %t328
%t335 = getelementptr inbounds %Cmp_Val, ptr %t334, i32 0, i32 0
%t336 = load ptr, ptr %t335
%t337 = call ptr @fn_str_concat(ptr %t333, ptr %t336)
%t338 = call ptr @fn_emit_bind(ptr %t337)
%t339 = call ptr @fn_val(ptr %t338, ptr @.str4734)
store ptr %t339, ptr %retval
br label %ret
ifend26:
%t340 = load ptr, ptr %t1
%t341 = getelementptr inbounds %Cmp_Node, ptr %t340, i32 0, i32 7
%t342 = load ptr, ptr %t341
%t343 = getelementptr inbounds %LSlice, ptr %t342, i32 0, i32 0
%t344 = load ptr, ptr %t343
%t345 = getelementptr inbounds ptr, ptr %t344, i32 0
%t346 = load ptr, ptr %t345
%t347 = call ptr @fn_emit_expr(ptr %t346)
store ptr %t347, ptr %t348
%t349 = load ptr, ptr %t1
%t350 = getelementptr inbounds %Cmp_Node, ptr %t349, i32 0, i32 7
%t351 = load ptr, ptr %t350
%t352 = getelementptr inbounds %LSlice, ptr %t351, i32 0, i32 0
%t353 = load ptr, ptr %t352
%t354 = getelementptr inbounds ptr, ptr %t353, i32 1
%t355 = load ptr, ptr %t354
%t356 = call ptr @fn_emit_expr(ptr %t355)
store ptr %t356, ptr %t357
%t358 = load ptr, ptr %t348
%t359 = getelementptr inbounds %Cmp_Val, ptr %t358, i32 0, i32 0
%t360 = load ptr, ptr %t359
%t361 = call ptr @fn_str_concat(ptr @.str4735, ptr %t360)
%t362 = call ptr @fn_str_concat(ptr %t361, ptr @.str4736)
%t363 = load ptr, ptr %t357
%t364 = getelementptr inbounds %Cmp_Val, ptr %t363, i32 0, i32 0
%t365 = load ptr, ptr %t364
%t366 = call ptr @fn_str_concat(ptr %t362, ptr %t365)
%t367 = call ptr @fn_emit_bind(ptr %t366)
%t368 = call ptr @fn_val(ptr %t367, ptr @.str4737)
store ptr %t368, ptr %retval
br label %ret
ret:
%t369 = load ptr, ptr %retval
ret ptr %t369
}
define ptr @fn_dt_secofday(ptr %arg_t) {
entry:
%retval = alloca ptr
%t0 = alloca ptr
%t5 = alloca ptr
%t10 = alloca ptr
store ptr %arg_t, ptr %t0
%t1 = load ptr, ptr %t0
%t2 = call ptr @fn_str_concat(ptr @.str4738, ptr %t1)
%t3 = call ptr @fn_str_concat(ptr %t2, ptr @.str4739)
%t4 = call ptr @fn_emit_bind(ptr %t3)
store ptr %t4, ptr %t5
%t6 = load ptr, ptr %t5
%t7 = call ptr @fn_str_concat(ptr @.str4740, ptr %t6)
%t8 = call ptr @fn_str_concat(ptr %t7, ptr @.str4741)
%t9 = call ptr @fn_emit_bind(ptr %t8)
store ptr %t9, ptr %t10
%t11 = load ptr, ptr %t10
%t12 = call ptr @fn_str_concat(ptr @.str4742, ptr %t11)
%t13 = call ptr @fn_str_concat(ptr %t12, ptr @.str4743)
%t14 = call ptr @fn_emit_bind(ptr %t13)
store ptr %t14, ptr %retval
br label %ret
ret:
%t15 = load ptr, ptr %retval
ret ptr %t15
}
define ptr @fn_dt_epochday(ptr %arg_t) {
entry:
%retval = alloca ptr
%t0 = alloca ptr
%t3 = alloca ptr
%t10 = alloca ptr
store ptr %arg_t, ptr %t0
%t1 = load ptr, ptr %t0
%t2 = call ptr @fn_dt_secofday(ptr %t1)
store ptr %t2, ptr %t3
%t4 = load ptr, ptr %t0
%t5 = call ptr @fn_str_concat(ptr @.str4744, ptr %t4)
%t6 = call ptr @fn_str_concat(ptr %t5, ptr @.str4745)
%t7 = load ptr, ptr %t3
%t8 = call ptr @fn_str_concat(ptr %t6, ptr %t7)
%t9 = call ptr @fn_emit_bind(ptr %t8)
store ptr %t9, ptr %t10
%t11 = load ptr, ptr %t10
%t12 = call ptr @fn_str_concat(ptr @.str4746, ptr %t11)
%t13 = call ptr @fn_str_concat(ptr %t12, ptr @.str4747)
%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 @fn_str_eq(ptr %t3, ptr @.str4748)
%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_str_eq(ptr %t7, ptr @.str4749)
%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_eq(ptr %t14, ptr @.str4750)
%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 @fn_str_eq(ptr %t23, ptr @.str4751)
%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 @fn_str_eq(ptr %t27, ptr @.str4752)
%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 @fn_str_eq(ptr %t34, ptr @.str4753)
%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 @fn_str_eq(ptr %t41, ptr @.str4754)
%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 @fn_str_eq(ptr %t49, ptr @.str4755)
%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 @fn_str_eq(ptr %t53, ptr @.str4756)
%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 @fn_str_eq(ptr %t60, ptr @.str4757)
%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 @fn_str_eq(ptr %t67, ptr @.str4758)
%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 @fn_str_eq(ptr %t71, ptr @.str4759)
%t73 = icmp ne i32 %t72, 0
%t74 = zext i1 %t73 to i32
store i32 %t74, ptr %t66
br label %scend24
scend24:
%t75 = load i32, ptr %t66
%t76 = icmp ne i32 %t75, 0
br i1 %t76, label %then25, label %ifend27
then25:
store i32 1, ptr %retval
br label %ret
ifend27:
store i32 0, ptr %retval
br label %ret
ret:
%t77 = load i32, ptr %retval
ret i32 %t77
}
define ptr @fn_dt_concat(ptr %arg_a, ptr %arg_b) {
entry:
%retval = alloca ptr
%t0 = alloca ptr
%t1 = alloca ptr
store ptr %arg_a, ptr %t0
store ptr %arg_b, ptr %t1
%t2 = load ptr, ptr %t0
%t3 = call ptr @fn_str_concat(ptr @.str4760, ptr %t2)
%t4 = call ptr @fn_str_concat(ptr %t3, ptr @.str4761)
%t5 = load ptr, ptr %t1
%t6 = call ptr @fn_str_concat(ptr %t4, ptr %t5)
%t7 = call ptr @fn_str_concat(ptr %t6, ptr @.str4762)
%t8 = call ptr @fn_emit_bind(ptr %t7)
store ptr %t8, ptr %retval
br label %ret
ret:
%t9 = load ptr, ptr %retval
ret ptr %t9
}
define i32 @fn_dt_tok_at(ptr %arg_pat, i32 %arg_n, i32 %arg_i, ptr %arg_tok, i32 %arg_tlen) {
entry:
%retval = alloca i32
%t0 = alloca ptr
%t1 = alloca i32
%t2 = alloca i32
%t3 = alloca ptr
%t4 = alloca i32
%t12 = alloca i32
store ptr %arg_pat, ptr %t0
store i32 %arg_n, ptr %t1
store i32 %arg_i, ptr %t2
store ptr %arg_tok, ptr %t3
store i32 %arg_tlen, ptr %t4
%t5 = load i32, ptr %t2
%t6 = load i32, ptr %t4
%t7 = add i32 %t5, %t6
%t8 = load i32, ptr %t1
%t9 = icmp sgt i32 %t7, %t8
%t10 = zext i1 %t9 to i32
%t11 = icmp ne i32 %t10, 0
br i1 %t11, label %then0, label %ifend2
then0:
store i32 0, ptr %retval
br label %ret
ifend2:
store i32 0, ptr %t12
br label %wcond3
wcond3:
%t13 = load i32, ptr %t12
%t14 = load i32, ptr %t4
%t15 = icmp slt i32 %t13, %t14
%t16 = zext i1 %t15 to i32
%t17 = icmp ne i32 %t16, 0
br i1 %t17, label %wbody4, label %wend5
wbody4:
%t18 = load ptr, ptr %t0
%t19 = load i32, ptr %t2
%t20 = load i32, ptr %t12
%t21 = add i32 %t19, %t20
%t22 = getelementptr inbounds i8, ptr %t18, i32 %t21
%t23 = load i8, ptr %t22
%t24 = zext i8 %t23 to i32
%t25 = load ptr, ptr %t3
%t26 = load i32, ptr %t12
%t27 = getelementptr inbounds i8, ptr %t25, i32 %t26
%t28 = load i8, ptr %t27
%t29 = zext i8 %t28 to i32
%t30 = icmp ne i32 %t24, %t29
%t31 = zext i1 %t30 to i32
%t32 = icmp ne i32 %t31, 0
br i1 %t32, label %then6, label %ifend8
then6:
store i32 0, ptr %retval
br label %ret
ifend8:
%t33 = load i32, ptr %t12
%t34 = add i32 %t33, 1
store i32 %t34, ptr %t12
br label %wcond3
wend5:
store i32 1, ptr %retval
br label %ret
ret:
%t35 = load i32, ptr %retval
ret i32 %t35
}
define ptr @fn_emit_datetime_format(ptr %arg_e) {
entry:
%retval = alloca ptr
%t0 = alloca ptr
%t21 = alloca ptr
%t31 = alloca ptr
%t35 = alloca i32
%t40 = alloca ptr
%t42 = alloca ptr
%t44 = alloca ptr
%t46 = alloca ptr
%t62 = alloca ptr
%t66 = alloca ptr
%t70 = alloca ptr
%t75 = alloca ptr
%t80 = alloca ptr
%t85 = alloca ptr
%t90 = alloca ptr
%t95 = alloca ptr
%t100 = alloca ptr
%t102 = alloca ptr
%t104 = alloca ptr
%t105 = alloca i32
%t111 = alloca ptr
%t112 = alloca i32
%t113 = alloca i32
%t170 = alloca ptr
%t189 = alloca ptr
%t200 = alloca ptr
store ptr %arg_e, ptr %t0
store i32 1, ptr @g_g_uses_datert
store i32 1, ptr @g_g_uses_str
%t1 = load ptr, ptr %t0
%t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 7
%t3 = load ptr, ptr %t2
%t4 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 0
%t5 = load ptr, ptr %t4
%t6 = getelementptr inbounds ptr, ptr %t5, i32 1
%t7 = load ptr, ptr %t6
%t8 = getelementptr inbounds %Cmp_Node, ptr %t7, i32 0, i32 0
%t9 = load i32, ptr %t8
%t10 = icmp ne i32 %t9, 31
%t11 = zext i1 %t10 to i32
%t12 = icmp ne i32 %t11, 0
br i1 %t12, label %then0, label %ifend2
then0:
call void @fn_perr(ptr @.str4763)
br label %ifend2
ifend2:
%t13 = load ptr, ptr %t0
%t14 = getelementptr inbounds %Cmp_Node, ptr %t13, i32 0, i32 7
%t15 = load ptr, ptr %t14
%t16 = getelementptr inbounds %LSlice, ptr %t15, i32 0, i32 0
%t17 = load ptr, ptr %t16
%t18 = getelementptr inbounds ptr, ptr %t17, i32 0
%t19 = load ptr, ptr %t18
%t20 = call ptr @fn_emit_expr(ptr %t19)
store ptr %t20, ptr %t21
%t22 = load ptr, ptr %t0
%t23 = getelementptr inbounds %Cmp_Node, ptr %t22, i32 0, i32 7
%t24 = load ptr, ptr %t23
%t25 = getelementptr inbounds %LSlice, ptr %t24, i32 0, i32 0
%t26 = load ptr, ptr %t25
%t27 = getelementptr inbounds ptr, ptr %t26, i32 1
%t28 = load ptr, ptr %t27
%t29 = getelementptr inbounds %Cmp_Node, ptr %t28, i32 0, i32 1
%t30 = load ptr, ptr %t29
store ptr %t30, ptr %t31
%t32 = load ptr, ptr %t31
%t33 = call i64 @strlen(ptr %t32)
%t34 = trunc i64 %t33 to i32
store i32 %t34, ptr %t35
%t36 = load ptr, ptr %t21
%t37 = getelementptr inbounds %Cmp_Val, ptr %t36, i32 0, i32 0
%t38 = load ptr, ptr %t37
%t39 = call ptr @fn_dt_epochday(ptr %t38)
store ptr %t39, ptr %t40
%t41 = call ptr @fn_emit_alloca(ptr @.str4764)
store ptr %t41, ptr %t42
%t43 = call ptr @fn_emit_alloca(ptr @.str4765)
store ptr %t43, ptr %t44
%t45 = call ptr @fn_emit_alloca(ptr @.str4766)
store ptr %t45, ptr %t46
%t47 = load ptr, ptr %t40
%t48 = call ptr @fn_str_concat(ptr @.str4767, ptr %t47)
%t49 = call ptr @fn_str_concat(ptr %t48, ptr @.str4768)
%t50 = load ptr, ptr %t42
%t51 = call ptr @fn_str_concat(ptr %t49, ptr %t50)
%t52 = call ptr @fn_str_concat(ptr %t51, ptr @.str4769)
%t53 = load ptr, ptr %t44
%t54 = call ptr @fn_str_concat(ptr %t52, ptr %t53)
%t55 = call ptr @fn_str_concat(ptr %t54, ptr @.str4770)
%t56 = load ptr, ptr %t46
%t57 = call ptr @fn_str_concat(ptr %t55, ptr %t56)
%t58 = call ptr @fn_str_concat(ptr %t57, ptr @.str4771)
call void @fn_emit(ptr %t58)
%t59 = load ptr, ptr %t42
%t60 = call ptr @fn_str_concat(ptr @.str4772, ptr %t59)
%t61 = call ptr @fn_emit_bind(ptr %t60)
store ptr %t61, ptr %t62
%t63 = load ptr, ptr %t44
%t64 = call ptr @fn_str_concat(ptr @.str4773, ptr %t63)
%t65 = call ptr @fn_emit_bind(ptr %t64)
store ptr %t65, ptr %t66
%t67 = load ptr, ptr %t46
%t68 = call ptr @fn_str_concat(ptr @.str4774, ptr %t67)
%t69 = call ptr @fn_emit_bind(ptr %t68)
store ptr %t69, ptr %t70
%t71 = load ptr, ptr %t21
%t72 = getelementptr inbounds %Cmp_Val, ptr %t71, i32 0, i32 0
%t73 = load ptr, ptr %t72
%t74 = call ptr @fn_dt_secofday(ptr %t73)
store ptr %t74, ptr %t75
%t76 = load ptr, ptr %t75
%t77 = call ptr @fn_str_concat(ptr @.str4775, ptr %t76)
%t78 = call ptr @fn_str_concat(ptr %t77, ptr @.str4776)
%t79 = call ptr @fn_emit_bind(ptr %t78)
store ptr %t79, ptr %t80
%t81 = load ptr, ptr %t75
%t82 = call ptr @fn_str_concat(ptr @.str4777, ptr %t81)
%t83 = call ptr @fn_str_concat(ptr %t82, ptr @.str4778)
%t84 = call ptr @fn_emit_bind(ptr %t83)
store ptr %t84, ptr %t85
%t86 = load ptr, ptr %t85
%t87 = call ptr @fn_str_concat(ptr @.str4779, ptr %t86)
%t88 = call ptr @fn_str_concat(ptr %t87, ptr @.str4780)
%t89 = call ptr @fn_emit_bind(ptr %t88)
store ptr %t89, ptr %t90
%t91 = load ptr, ptr %t75
%t92 = call ptr @fn_str_concat(ptr @.str4781, ptr %t91)
%t93 = call ptr @fn_str_concat(ptr %t92, ptr @.str4782)
%t94 = call ptr @fn_emit_bind(ptr %t93)
store ptr %t94, ptr %t95
%t96 = load ptr, ptr %t62
%t97 = call ptr @fn_str_concat(ptr @.str4783, ptr %t96)
%t98 = call ptr @fn_str_concat(ptr %t97, ptr @.str4784)
%t99 = call ptr @fn_emit_bind(ptr %t98)
store ptr %t99, ptr %t100
%t101 = call ptr @fn_emit_str_const(ptr @.str4785)
store ptr %t101, ptr %t102
%t103 = call ptr @fn_buf_new()
store ptr %t103, ptr %t104
store i32 0, ptr %t105
br label %wcond3
wcond3:
%t106 = load i32, ptr %t105
%t107 = load i32, ptr %t35
%t108 = icmp slt i32 %t106, %t107
%t109 = zext i1 %t108 to i32
%t110 = icmp ne i32 %t109, 0
br i1 %t110, label %wbody4, label %wend5
wbody4:
store ptr null, ptr %t111
store i32 0, ptr %t112
store i32 0, ptr %t113
%t114 = load ptr, ptr %t31
%t115 = load i32, ptr %t35
%t116 = load i32, ptr %t105
%t117 = call i32 @fn_dt_tok_at(ptr %t114, i32 %t115, i32 %t116, ptr @.str4786, i32 4)
%t118 = icmp ne i32 %t117, 0
br i1 %t118, label %then6, label %else7
then6:
%t119 = load ptr, ptr %t62
store ptr %t119, ptr %t111
store i32 4, ptr %t112
store i32 4, ptr %t113
br label %ifend8
else7:
%t120 = load ptr, ptr %t31
%t121 = load i32, ptr %t35
%t122 = load i32, ptr %t105
%t123 = call i32 @fn_dt_tok_at(ptr %t120, i32 %t121, i32 %t122, ptr @.str4787, i32 2)
%t124 = icmp ne i32 %t123, 0
br i1 %t124, label %then9, label %else10
then9:
%t125 = load ptr, ptr %t100
store ptr %t125, ptr %t111
store i32 2, ptr %t112
store i32 2, ptr %t113
br label %ifend11
else10:
%t126 = load ptr, ptr %t31
%t127 = load i32, ptr %t35
%t128 = load i32, ptr %t105
%t129 = call i32 @fn_dt_tok_at(ptr %t126, i32 %t127, i32 %t128, ptr @.str4788, i32 2)
%t130 = icmp ne i32 %t129, 0
br i1 %t130, label %then12, label %else13
then12:
%t131 = load ptr, ptr %t66
store ptr %t131, ptr %t111
store i32 2, ptr %t112
store i32 2, ptr %t113
br label %ifend14
else13:
%t132 = load ptr, ptr %t31
%t133 = load i32, ptr %t35
%t134 = load i32, ptr %t105
%t135 = call i32 @fn_dt_tok_at(ptr %t132, i32 %t133, i32 %t134, ptr @.str4789, i32 2)
%t136 = icmp ne i32 %t135, 0
br i1 %t136, label %then15, label %else16
then15:
%t137 = load ptr, ptr %t70
store ptr %t137, ptr %t111
store i32 2, ptr %t112
store i32 2, ptr %t113
br label %ifend17
else16:
%t138 = load ptr, ptr %t31
%t139 = load i32, ptr %t35
%t140 = load i32, ptr %t105
%t141 = call i32 @fn_dt_tok_at(ptr %t138, i32 %t139, i32 %t140, ptr @.str4790, i32 2)
%t142 = icmp ne i32 %t141, 0
br i1 %t142, label %then18, label %else19
then18:
%t143 = load ptr, ptr %t80
store ptr %t143, ptr %t111
store i32 2, ptr %t112
store i32 2, ptr %t113
br label %ifend20
else19:
%t144 = load ptr, ptr %t31
%t145 = load i32, ptr %t35
%t146 = load i32, ptr %t105
%t147 = call i32 @fn_dt_tok_at(ptr %t144, i32 %t145, i32 %t146, ptr @.str4791, i32 2)
%t148 = icmp ne i32 %t147, 0
br i1 %t148, label %then21, label %else22
then21:
%t149 = load ptr, ptr %t90
store ptr %t149, ptr %t111
store i32 2, ptr %t112
store i32 2, ptr %t113
br label %ifend23
else22:
%t150 = load ptr, ptr %t31
%t151 = load i32, ptr %t35
%t152 = load i32, ptr %t105
%t153 = call i32 @fn_dt_tok_at(ptr %t150, i32 %t151, i32 %t152, ptr @.str4792, i32 2)
%t154 = icmp ne i32 %t153, 0
br i1 %t154, label %then24, label %ifend26
then24:
%t155 = load ptr, ptr %t95
store ptr %t155, ptr %t111
store i32 2, ptr %t112
store i32 2, ptr %t113
br label %ifend26
ifend26:
br label %ifend23
ifend23:
br label %ifend20
ifend20:
br label %ifend17
ifend17:
br label %ifend14
ifend14:
br label %ifend11
ifend11:
br label %ifend8
ifend8:
%t156 = load ptr, ptr %t111
%t157 = icmp eq ptr %t156, null
%t158 = zext i1 %t157 to i32
%t159 = icmp ne i32 %t158, 0
br i1 %t159, label %then27, label %else28
then27:
%t160 = load ptr, ptr %t104
%t161 = load ptr, ptr %t31
%t162 = load i32, ptr %t105
%t163 = getelementptr inbounds i8, ptr %t161, i32 %t162
%t164 = load i8, ptr %t163
%t165 = zext i8 %t164 to i32
call void @fn_buf_putc(ptr %t160, i32 %t165)
%t166 = load i32, ptr %t105
%t167 = add i32 %t166, 1
store i32 %t167, ptr %t105
br label %ifend29
else28:
%t168 = load ptr, ptr %t104
%t169 = call ptr @fn_buf_str(ptr %t168)
store ptr %t169, ptr %t170
%t171 = load ptr, ptr %t170
%t172 = call i64 @strlen(ptr %t171)
%t173 = trunc i64 %t172 to i32
%t174 = icmp sgt i32 %t173, 0
%t175 = zext i1 %t174 to i32
%t176 = icmp ne i32 %t175, 0
br i1 %t176, label %then30, label %ifend32
then30:
%t177 = load ptr, ptr %t102
%t178 = load ptr, ptr %t170
%t179 = call ptr @fn_emit_str_const(ptr %t178)
%t180 = call ptr @fn_dt_concat(ptr %t177, ptr %t179)
store ptr %t180, ptr %t102
br label %ifend32
ifend32:
%t181 = load ptr, ptr %t111
%t182 = call ptr @fn_str_concat(ptr @.str4793, ptr %t181)
%t183 = call ptr @fn_str_concat(ptr %t182, ptr @.str4794)
%t184 = load i32, ptr %t112
%t185 = call ptr @fn_int_str(i32 %t184)
%t186 = call ptr @fn_str_concat(ptr %t183, ptr %t185)
%t187 = call ptr @fn_str_concat(ptr %t186, ptr @.str4795)
%t188 = call ptr @fn_emit_bind(ptr %t187)
store ptr %t188, ptr %t189
%t190 = load ptr, ptr %t102
%t191 = load ptr, ptr %t189
%t192 = call ptr @fn_dt_concat(ptr %t190, ptr %t191)
store ptr %t192, ptr %t102
%t193 = load ptr, ptr %t104
%t194 = getelementptr inbounds %Cmp_Buf, ptr %t193, i32 0, i32 1
store i32 0, ptr %t194
%t195 = load i32, ptr %t105
%t196 = load i32, ptr %t113
%t197 = add i32 %t195, %t196
store i32 %t197, ptr %t105
br label %ifend29
ifend29:
br label %wcond3
wend5:
%t198 = load ptr, ptr %t104
%t199 = call ptr @fn_buf_str(ptr %t198)
store ptr %t199, ptr %t200
%t201 = load ptr, ptr %t200
%t202 = call i64 @strlen(ptr %t201)
%t203 = trunc i64 %t202 to i32
%t204 = icmp sgt i32 %t203, 0
%t205 = zext i1 %t204 to i32
%t206 = icmp ne i32 %t205, 0
br i1 %t206, label %then33, label %ifend35
then33:
%t207 = load ptr, ptr %t102
%t208 = load ptr, ptr %t200
%t209 = call ptr @fn_emit_str_const(ptr %t208)
%t210 = call ptr @fn_dt_concat(ptr %t207, ptr %t209)
store ptr %t210, ptr %t102
br label %ifend35
ifend35:
%t211 = load ptr, ptr %t102
%t212 = call ptr @fn_val(ptr %t211, ptr @.str4796)
store ptr %t212, ptr %retval
br label %ret
ret:
%t213 = load ptr, ptr %retval
ret ptr %t213
}
define ptr @fn_emit_datetime_parse(ptr %arg_e) {
entry:
%retval = alloca ptr
%t0 = alloca ptr
%t21 = alloca ptr
%t31 = alloca ptr
%t35 = alloca i32
%t37 = alloca ptr
%t40 = alloca ptr
%t43 = alloca ptr
%t46 = alloca ptr
%t49 = alloca ptr
%t52 = alloca ptr
%t55 = alloca ptr
%t57 = alloca i32
%t58 = alloca i32
%t64 = alloca ptr
%t65 = alloca i32
%t66 = alloca i32
%t128 = alloca ptr
%t140 = alloca ptr
%t144 = alloca ptr
%t148 = alloca ptr
%t152 = alloca ptr
%t156 = alloca ptr
%t160 = alloca ptr
%t171 = alloca ptr
%t176 = alloca ptr
%t181 = alloca ptr
%t186 = alloca ptr
%t193 = alloca ptr
%t200 = alloca ptr
%t207 = alloca ptr
%t211 = alloca ptr
%t216 = alloca ptr
store ptr %arg_e, ptr %t0
store i32 1, ptr @g_g_uses_datert
%t1 = load ptr, ptr %t0
%t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 7
%t3 = load ptr, ptr %t2
%t4 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 0
%t5 = load ptr, ptr %t4
%t6 = getelementptr inbounds ptr, ptr %t5, i32 1
%t7 = load ptr, ptr %t6
%t8 = getelementptr inbounds %Cmp_Node, ptr %t7, i32 0, i32 0
%t9 = load i32, ptr %t8
%t10 = icmp ne i32 %t9, 31
%t11 = zext i1 %t10 to i32
%t12 = icmp ne i32 %t11, 0
br i1 %t12, label %then0, label %ifend2
then0:
call void @fn_perr(ptr @.str4797)
br label %ifend2
ifend2:
%t13 = load ptr, ptr %t0
%t14 = getelementptr inbounds %Cmp_Node, ptr %t13, i32 0, i32 7
%t15 = load ptr, ptr %t14
%t16 = getelementptr inbounds %LSlice, ptr %t15, i32 0, i32 0
%t17 = load ptr, ptr %t16
%t18 = getelementptr inbounds ptr, ptr %t17, i32 0
%t19 = load ptr, ptr %t18
%t20 = call ptr @fn_emit_expr(ptr %t19)
store ptr %t20, ptr %t21
%t22 = load ptr, ptr %t0
%t23 = getelementptr inbounds %Cmp_Node, ptr %t22, i32 0, i32 7
%t24 = load ptr, ptr %t23
%t25 = getelementptr inbounds %LSlice, ptr %t24, i32 0, i32 0
%t26 = load ptr, ptr %t25
%t27 = getelementptr inbounds ptr, ptr %t26, i32 1
%t28 = load ptr, ptr %t27
%t29 = getelementptr inbounds %Cmp_Node, ptr %t28, i32 0, i32 1
%t30 = load ptr, ptr %t29
store ptr %t30, ptr %t31
%t32 = load ptr, ptr %t31
%t33 = call i64 @strlen(ptr %t32)
%t34 = trunc i64 %t33 to i32
store i32 %t34, ptr %t35
%t36 = call ptr @fn_emit_alloca(ptr @.str4798)
store ptr %t36, ptr %t37
%t38 = load ptr, ptr %t37
call void @fn_store_at(ptr @.str4799, ptr @.str4800, ptr %t38)
%t39 = call ptr @fn_emit_alloca(ptr @.str4801)
store ptr %t39, ptr %t40
%t41 = load ptr, ptr %t40
call void @fn_store_at(ptr @.str4802, ptr @.str4803, ptr %t41)
%t42 = call ptr @fn_emit_alloca(ptr @.str4804)
store ptr %t42, ptr %t43
%t44 = load ptr, ptr %t43
call void @fn_store_at(ptr @.str4805, ptr @.str4806, ptr %t44)
%t45 = call ptr @fn_emit_alloca(ptr @.str4807)
store ptr %t45, ptr %t46
%t47 = load ptr, ptr %t46
call void @fn_store_at(ptr @.str4808, ptr @.str4809, ptr %t47)
%t48 = call ptr @fn_emit_alloca(ptr @.str4810)
store ptr %t48, ptr %t49
%t50 = load ptr, ptr %t49
call void @fn_store_at(ptr @.str4811, ptr @.str4812, ptr %t50)
%t51 = call ptr @fn_emit_alloca(ptr @.str4813)
store ptr %t51, ptr %t52
%t53 = load ptr, ptr %t52
call void @fn_store_at(ptr @.str4814, ptr @.str4815, ptr %t53)
%t54 = call ptr @fn_emit_alloca(ptr @.str4816)
store ptr %t54, ptr %t55
%t56 = load ptr, ptr %t55
call void @fn_store_at(ptr @.str4817, ptr @.str4818, ptr %t56)
store i32 0, ptr %t57
store i32 0, ptr %t58
br label %wcond3
wcond3:
%t59 = load i32, ptr %t58
%t60 = load i32, ptr %t35
%t61 = icmp slt i32 %t59, %t60
%t62 = zext i1 %t61 to i32
%t63 = icmp ne i32 %t62, 0
br i1 %t63, label %wbody4, label %wend5
wbody4:
store ptr null, ptr %t64
store i32 0, ptr %t65
store i32 0, ptr %t66
%t67 = load ptr, ptr %t31
%t68 = load i32, ptr %t35
%t69 = load i32, ptr %t58
%t70 = call i32 @fn_dt_tok_at(ptr %t67, i32 %t68, i32 %t69, ptr @.str4819, i32 4)
%t71 = icmp ne i32 %t70, 0
br i1 %t71, label %then6, label %else7
then6:
%t72 = load ptr, ptr %t40
store ptr %t72, ptr %t64
store i32 4, ptr %t65
store i32 4, ptr %t66
br label %ifend8
else7:
%t73 = load ptr, ptr %t31
%t74 = load i32, ptr %t35
%t75 = load i32, ptr %t58
%t76 = call i32 @fn_dt_tok_at(ptr %t73, i32 %t74, i32 %t75, ptr @.str4820, i32 2)
%t77 = icmp ne i32 %t76, 0
br i1 %t77, label %then9, label %else10
then9:
%t78 = load ptr, ptr %t43
store ptr %t78, ptr %t64
store i32 2, ptr %t65
store i32 2, ptr %t66
br label %ifend11
else10:
%t79 = load ptr, ptr %t31
%t80 = load i32, ptr %t35
%t81 = load i32, ptr %t58
%t82 = call i32 @fn_dt_tok_at(ptr %t79, i32 %t80, i32 %t81, ptr @.str4821, i32 2)
%t83 = icmp ne i32 %t82, 0
br i1 %t83, label %then12, label %else13
then12:
%t84 = load ptr, ptr %t46
store ptr %t84, ptr %t64
store i32 2, ptr %t65
store i32 2, ptr %t66
br label %ifend14
else13:
%t85 = load ptr, ptr %t31
%t86 = load i32, ptr %t35
%t87 = load i32, ptr %t58
%t88 = call i32 @fn_dt_tok_at(ptr %t85, i32 %t86, i32 %t87, ptr @.str4822, i32 2)
%t89 = icmp ne i32 %t88, 0
br i1 %t89, label %then15, label %else16
then15:
%t90 = load ptr, ptr %t49
store ptr %t90, ptr %t64
store i32 2, ptr %t65
store i32 2, ptr %t66
br label %ifend17
else16:
%t91 = load ptr, ptr %t31
%t92 = load i32, ptr %t35
%t93 = load i32, ptr %t58
%t94 = call i32 @fn_dt_tok_at(ptr %t91, i32 %t92, i32 %t93, ptr @.str4823, i32 2)
%t95 = icmp ne i32 %t94, 0
br i1 %t95, label %then18, label %else19
then18:
%t96 = load ptr, ptr %t52
store ptr %t96, ptr %t64
store i32 2, ptr %t65
store i32 2, ptr %t66
br label %ifend20
else19:
%t97 = load ptr, ptr %t31
%t98 = load i32, ptr %t35
%t99 = load i32, ptr %t58
%t100 = call i32 @fn_dt_tok_at(ptr %t97, i32 %t98, i32 %t99, ptr @.str4824, i32 2)
%t101 = icmp ne i32 %t100, 0
br i1 %t101, label %then21, label %ifend23
then21:
%t102 = load ptr, ptr %t55
store ptr %t102, ptr %t64
store i32 2, ptr %t65
store i32 2, ptr %t66
br label %ifend23
ifend23:
br label %ifend20
ifend20:
br label %ifend17
ifend17:
br label %ifend14
ifend14:
br label %ifend11
ifend11:
br label %ifend8
ifend8:
%t103 = load ptr, ptr %t64
%t104 = icmp eq ptr %t103, null
%t105 = zext i1 %t104 to i32
%t106 = icmp ne i32 %t105, 0
br i1 %t106, label %then24, label %else25
then24:
%t107 = load i32, ptr %t57
%t108 = add i32 %t107, 1
store i32 %t108, ptr %t57
%t109 = load i32, ptr %t58
%t110 = add i32 %t109, 1
store i32 %t110, ptr %t58
br label %ifend26
else25:
%t111 = load ptr, ptr %t21
%t112 = getelementptr inbounds %Cmp_Val, ptr %t111, i32 0, i32 0
%t113 = load ptr, ptr %t112
%t114 = call ptr @fn_str_concat(ptr @.str4825, ptr %t113)
%t115 = call ptr @fn_str_concat(ptr %t114, ptr @.str4826)
%t116 = load i32, ptr %t57
%t117 = call ptr @fn_itoa(i32 %t116)
%t118 = call ptr @fn_str_concat(ptr %t115, ptr %t117)
%t119 = call ptr @fn_str_concat(ptr %t118, ptr @.str4827)
%t120 = load i32, ptr %t65
%t121 = call ptr @fn_int_str(i32 %t120)
%t122 = call ptr @fn_str_concat(ptr %t119, ptr %t121)
%t123 = call ptr @fn_str_concat(ptr %t122, ptr @.str4828)
%t124 = load ptr, ptr %t37
%t125 = call ptr @fn_str_concat(ptr %t123, ptr %t124)
%t126 = call ptr @fn_str_concat(ptr %t125, ptr @.str4829)
%t127 = call ptr @fn_emit_bind(ptr %t126)
store ptr %t127, ptr %t128
%t129 = load ptr, ptr %t128
%t130 = load ptr, ptr %t64
call void @fn_store_at(ptr @.str4830, ptr %t129, ptr %t130)
%t131 = load i32, ptr %t57
%t132 = load i32, ptr %t65
%t133 = add i32 %t131, %t132
store i32 %t133, ptr %t57
%t134 = load i32, ptr %t58
%t135 = load i32, ptr %t66
%t136 = add i32 %t134, %t135
store i32 %t136, ptr %t58
br label %ifend26
ifend26:
br label %wcond3
wend5:
%t137 = load ptr, ptr %t40
%t138 = call ptr @fn_str_concat(ptr @.str4831, ptr %t137)
%t139 = call ptr @fn_emit_bind(ptr %t138)
store ptr %t139, ptr %t140
%t141 = load ptr, ptr %t43
%t142 = call ptr @fn_str_concat(ptr @.str4832, ptr %t141)
%t143 = call ptr @fn_emit_bind(ptr %t142)
store ptr %t143, ptr %t144
%t145 = load ptr, ptr %t46
%t146 = call ptr @fn_str_concat(ptr @.str4833, ptr %t145)
%t147 = call ptr @fn_emit_bind(ptr %t146)
store ptr %t147, ptr %t148
%t149 = load ptr, ptr %t49
%t150 = call ptr @fn_str_concat(ptr @.str4834, ptr %t149)
%t151 = call ptr @fn_emit_bind(ptr %t150)
store ptr %t151, ptr %t152
%t153 = load ptr, ptr %t52
%t154 = call ptr @fn_str_concat(ptr @.str4835, ptr %t153)
%t155 = call ptr @fn_emit_bind(ptr %t154)
store ptr %t155, ptr %t156
%t157 = load ptr, ptr %t55
%t158 = call ptr @fn_str_concat(ptr @.str4836, ptr %t157)
%t159 = call ptr @fn_emit_bind(ptr %t158)
store ptr %t159, ptr %t160
%t161 = load ptr, ptr %t140
%t162 = call ptr @fn_str_concat(ptr @.str4837, ptr %t161)
%t163 = call ptr @fn_str_concat(ptr %t162, ptr @.str4838)
%t164 = load ptr, ptr %t144
%t165 = call ptr @fn_str_concat(ptr %t163, ptr %t164)
%t166 = call ptr @fn_str_concat(ptr %t165, ptr @.str4839)
%t167 = load ptr, ptr %t148
%t168 = call ptr @fn_str_concat(ptr %t166, ptr %t167)
%t169 = call ptr @fn_str_concat(ptr %t168, ptr @.str4840)
%t170 = call ptr @fn_emit_bind(ptr %t169)
store ptr %t170, ptr %t171
%t172 = load ptr, ptr %t171
%t173 = call ptr @fn_str_concat(ptr @.str4841, ptr %t172)
%t174 = call ptr @fn_str_concat(ptr %t173, ptr @.str4842)
%t175 = call ptr @fn_emit_bind(ptr %t174)
store ptr %t175, ptr %t176
%t177 = load ptr, ptr %t152
%t178 = call ptr @fn_str_concat(ptr @.str4843, ptr %t177)
%t179 = call ptr @fn_str_concat(ptr %t178, ptr @.str4844)
%t180 = call ptr @fn_emit_bind(ptr %t179)
store ptr %t180, ptr %t181
%t182 = load ptr, ptr %t156
%t183 = call ptr @fn_str_concat(ptr @.str4845, ptr %t182)
%t184 = call ptr @fn_str_concat(ptr %t183, ptr @.str4846)
%t185 = call ptr @fn_emit_bind(ptr %t184)
store ptr %t185, ptr %t186
%t187 = load ptr, ptr %t176
%t188 = call ptr @fn_str_concat(ptr @.str4847, ptr %t187)
%t189 = call ptr @fn_str_concat(ptr %t188, ptr @.str4848)
%t190 = load ptr, ptr %t181
%t191 = call ptr @fn_str_concat(ptr %t189, ptr %t190)
%t192 = call ptr @fn_emit_bind(ptr %t191)
store ptr %t192, ptr %t193
%t194 = load ptr, ptr %t193
%t195 = call ptr @fn_str_concat(ptr @.str4849, ptr %t194)
%t196 = call ptr @fn_str_concat(ptr %t195, ptr @.str4850)
%t197 = load ptr, ptr %t186
%t198 = call ptr @fn_str_concat(ptr %t196, ptr %t197)
%t199 = call ptr @fn_emit_bind(ptr %t198)
store ptr %t199, ptr %t200
%t201 = load ptr, ptr %t200
%t202 = call ptr @fn_str_concat(ptr @.str4851, ptr %t201)
%t203 = call ptr @fn_str_concat(ptr %t202, ptr @.str4852)
%t204 = load ptr, ptr %t160
%t205 = call ptr @fn_str_concat(ptr %t203, ptr %t204)
%t206 = call ptr @fn_emit_bind(ptr %t205)
store ptr %t206, ptr %t207
%t208 = load ptr, ptr %t37
%t209 = call ptr @fn_str_concat(ptr @.str4853, ptr %t208)
%t210 = call ptr @fn_emit_bind(ptr %t209)
store ptr %t210, ptr %t211
%t212 = load ptr, ptr %t211
%t213 = call ptr @fn_str_concat(ptr @.str4854, ptr %t212)
%t214 = call ptr @fn_str_concat(ptr %t213, ptr @.str4855)
%t215 = call ptr @fn_emit_bind(ptr %t214)
store ptr %t215, ptr %t216
%t217 = load ptr, ptr %t216
%t218 = call ptr @fn_str_concat(ptr @.str4856, ptr %t217)
%t219 = call ptr @fn_str_concat(ptr %t218, ptr @.str4857)
%t220 = load ptr, ptr %t207
%t221 = call ptr @fn_str_concat(ptr %t219, ptr %t220)
%t222 = call ptr @fn_emit_bind(ptr %t221)
%t223 = call ptr @fn_val(ptr %t222, ptr @.str4858)
store ptr %t223, ptr %retval
br label %ret
ret:
%t224 = load ptr, ptr %retval
ret ptr %t224
}
define ptr @fn_emit_datetime_ns(ptr %arg_meth, ptr %arg_e) {
entry:
%retval = alloca ptr
%t0 = alloca ptr
%t1 = alloca ptr
%t23 = alloca ptr
%t32 = alloca ptr
%t41 = alloca ptr
%t50 = alloca ptr
%t59 = alloca ptr
%t68 = alloca ptr
%t85 = alloca ptr
%t90 = alloca ptr
%t97 = alloca ptr
%t104 = alloca ptr
%t111 = alloca ptr
%t118 = alloca ptr
%t139 = alloca ptr
%t156 = alloca ptr
%t165 = alloca ptr
%t188 = alloca ptr
%t206 = alloca ptr
%t224 = alloca ptr
%t242 = alloca ptr
%t247 = alloca ptr
%t252 = alloca ptr
%t257 = alloca ptr
%t262 = alloca ptr
%t279 = alloca ptr
%t284 = alloca ptr
%t301 = alloca ptr
%t306 = alloca ptr
%t311 = alloca ptr
%t325 = alloca ptr
%t330 = alloca ptr
store ptr %arg_meth, ptr %t0
store ptr %arg_e, ptr %t1
%t2 = load ptr, ptr %t0
%t3 = call i32 @fn_str_eq(ptr %t2, ptr @.str4859)
%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 @fn_str_eq(ptr %t7, ptr @.str4860)
%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 @fn_str_eq(ptr %t12, ptr @.str4861)
%t14 = icmp ne i32 %t13, 0
br i1 %t14, label %then6, label %ifend8
then6:
store i32 1, ptr @g_g_uses_datert
%t15 = load ptr, ptr %t1
%t16 = getelementptr inbounds %Cmp_Node, ptr %t15, i32 0, i32 7
%t17 = load ptr, ptr %t16
%t18 = getelementptr inbounds %LSlice, ptr %t17, i32 0, i32 0
%t19 = load ptr, ptr %t18
%t20 = getelementptr inbounds ptr, ptr %t19, i32 0
%t21 = load ptr, ptr %t20
%t22 = call ptr @fn_emit_expr(ptr %t21)
store ptr %t22, ptr %t23
%t24 = load ptr, ptr %t1
%t25 = getelementptr inbounds %Cmp_Node, ptr %t24, i32 0, i32 7
%t26 = load ptr, ptr %t25
%t27 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 0
%t28 = load ptr, ptr %t27
%t29 = getelementptr inbounds ptr, ptr %t28, i32 1
%t30 = load ptr, ptr %t29
%t31 = call ptr @fn_emit_expr(ptr %t30)
store ptr %t31, ptr %t32
%t33 = load ptr, ptr %t1
%t34 = getelementptr inbounds %Cmp_Node, ptr %t33, i32 0, i32 7
%t35 = load ptr, ptr %t34
%t36 = getelementptr inbounds %LSlice, ptr %t35, i32 0, i32 0
%t37 = load ptr, ptr %t36
%t38 = getelementptr inbounds ptr, ptr %t37, i32 2
%t39 = load ptr, ptr %t38
%t40 = call ptr @fn_emit_expr(ptr %t39)
store ptr %t40, ptr %t41
%t42 = load ptr, ptr %t1
%t43 = getelementptr inbounds %Cmp_Node, ptr %t42, i32 0, i32 7
%t44 = load ptr, ptr %t43
%t45 = getelementptr inbounds %LSlice, ptr %t44, i32 0, i32 0
%t46 = load ptr, ptr %t45
%t47 = getelementptr inbounds ptr, ptr %t46, i32 3
%t48 = load ptr, ptr %t47
%t49 = call ptr @fn_emit_expr(ptr %t48)
store ptr %t49, ptr %t50
%t51 = load ptr, ptr %t1
%t52 = getelementptr inbounds %Cmp_Node, ptr %t51, i32 0, i32 7
%t53 = load ptr, ptr %t52
%t54 = getelementptr inbounds %LSlice, ptr %t53, i32 0, i32 0
%t55 = load ptr, ptr %t54
%t56 = getelementptr inbounds ptr, ptr %t55, i32 4
%t57 = load ptr, ptr %t56
%t58 = call ptr @fn_emit_expr(ptr %t57)
store ptr %t58, ptr %t59
%t60 = load ptr, ptr %t1
%t61 = getelementptr inbounds %Cmp_Node, ptr %t60, i32 0, i32 7
%t62 = load ptr, ptr %t61
%t63 = getelementptr inbounds %LSlice, ptr %t62, i32 0, i32 0
%t64 = load ptr, ptr %t63
%t65 = getelementptr inbounds ptr, ptr %t64, i32 5
%t66 = load ptr, ptr %t65
%t67 = call ptr @fn_emit_expr(ptr %t66)
store ptr %t67, ptr %t68
%t69 = load ptr, ptr %t23
%t70 = getelementptr inbounds %Cmp_Val, ptr %t69, i32 0, i32 0
%t71 = load ptr, ptr %t70
%t72 = call ptr @fn_str_concat(ptr @.str4862, ptr %t71)
%t73 = call ptr @fn_str_concat(ptr %t72, ptr @.str4863)
%t74 = load ptr, ptr %t32
%t75 = getelementptr inbounds %Cmp_Val, ptr %t74, i32 0, i32 0
%t76 = load ptr, ptr %t75
%t77 = call ptr @fn_str_concat(ptr %t73, ptr %t76)
%t78 = call ptr @fn_str_concat(ptr %t77, ptr @.str4864)
%t79 = load ptr, ptr %t41
%t80 = getelementptr inbounds %Cmp_Val, ptr %t79, i32 0, i32 0
%t81 = load ptr, ptr %t80
%t82 = call ptr @fn_str_concat(ptr %t78, ptr %t81)
%t83 = call ptr @fn_str_concat(ptr %t82, ptr @.str4865)
%t84 = call ptr @fn_emit_bind(ptr %t83)
store ptr %t84, ptr %t85
%t86 = load ptr, ptr %t85
%t87 = call ptr @fn_str_concat(ptr @.str4866, ptr %t86)
%t88 = call ptr @fn_str_concat(ptr %t87, ptr @.str4867)
%t89 = call ptr @fn_emit_bind(ptr %t88)
store ptr %t89, ptr %t90
%t91 = load ptr, ptr %t50
%t92 = getelementptr inbounds %Cmp_Val, ptr %t91, i32 0, i32 0
%t93 = load ptr, ptr %t92
%t94 = call ptr @fn_str_concat(ptr @.str4868, ptr %t93)
%t95 = call ptr @fn_str_concat(ptr %t94, ptr @.str4869)
%t96 = call ptr @fn_emit_bind(ptr %t95)
store ptr %t96, ptr %t97
%t98 = load ptr, ptr %t59
%t99 = getelementptr inbounds %Cmp_Val, ptr %t98, i32 0, i32 0
%t100 = load ptr, ptr %t99
%t101 = call ptr @fn_str_concat(ptr @.str4870, ptr %t100)
%t102 = call ptr @fn_str_concat(ptr %t101, ptr @.str4871)
%t103 = call ptr @fn_emit_bind(ptr %t102)
store ptr %t103, ptr %t104
%t105 = load ptr, ptr %t90
%t106 = call ptr @fn_str_concat(ptr @.str4872, ptr %t105)
%t107 = call ptr @fn_str_concat(ptr %t106, ptr @.str4873)
%t108 = load ptr, ptr %t97
%t109 = call ptr @fn_str_concat(ptr %t107, ptr %t108)
%t110 = call ptr @fn_emit_bind(ptr %t109)
store ptr %t110, ptr %t111
%t112 = load ptr, ptr %t111
%t113 = call ptr @fn_str_concat(ptr @.str4874, ptr %t112)
%t114 = call ptr @fn_str_concat(ptr %t113, ptr @.str4875)
%t115 = load ptr, ptr %t104
%t116 = call ptr @fn_str_concat(ptr %t114, ptr %t115)
%t117 = call ptr @fn_emit_bind(ptr %t116)
store ptr %t117, ptr %t118
%t119 = load ptr, ptr %t118
%t120 = call ptr @fn_str_concat(ptr @.str4876, ptr %t119)
%t121 = call ptr @fn_str_concat(ptr %t120, ptr @.str4877)
%t122 = load ptr, ptr %t68
%t123 = getelementptr inbounds %Cmp_Val, ptr %t122, i32 0, i32 0
%t124 = load ptr, ptr %t123
%t125 = call ptr @fn_str_concat(ptr %t121, ptr %t124)
%t126 = call ptr @fn_emit_bind(ptr %t125)
%t127 = call ptr @fn_val(ptr %t126, ptr @.str4878)
store ptr %t127, ptr %retval
br label %ret
ifend8:
%t128 = load ptr, ptr %t0
%t129 = call i32 @fn_str_eq(ptr %t128, ptr @.str4879)
%t130 = icmp ne i32 %t129, 0
br i1 %t130, label %then9, label %ifend11
then9:
%t131 = load ptr, ptr %t1
%t132 = getelementptr inbounds %Cmp_Node, ptr %t131, i32 0, i32 7
%t133 = load ptr, ptr %t132
%t134 = getelementptr inbounds %LSlice, ptr %t133, i32 0, i32 0
%t135 = load ptr, ptr %t134
%t136 = getelementptr inbounds ptr, ptr %t135, i32 0
%t137 = load ptr, ptr %t136
%t138 = call ptr @fn_emit_expr(ptr %t137)
store ptr %t138, ptr %t139
%t140 = load ptr, ptr %t139
%t141 = getelementptr inbounds %Cmp_Val, ptr %t140, i32 0, i32 0
%t142 = load ptr, ptr %t141
%t143 = call ptr @fn_dt_epochday(ptr %t142)
%t144 = call ptr @fn_val(ptr %t143, ptr @.str4880)
store ptr %t144, ptr %retval
br label %ret
ifend11:
%t145 = load ptr, ptr %t0
%t146 = call i32 @fn_str_eq(ptr %t145, ptr @.str4881)
%t147 = icmp ne i32 %t146, 0
br i1 %t147, label %then12, label %ifend14
then12:
%t148 = load ptr, ptr %t1
%t149 = getelementptr inbounds %Cmp_Node, ptr %t148, i32 0, i32 7
%t150 = load ptr, ptr %t149
%t151 = getelementptr inbounds %LSlice, ptr %t150, i32 0, i32 0
%t152 = load ptr, ptr %t151
%t153 = getelementptr inbounds ptr, ptr %t152, i32 0
%t154 = load ptr, ptr %t153
%t155 = call ptr @fn_emit_expr(ptr %t154)
store ptr %t155, ptr %t156
%t157 = load ptr, ptr %t1
%t158 = getelementptr inbounds %Cmp_Node, ptr %t157, i32 0, i32 7
%t159 = load ptr, ptr %t158
%t160 = getelementptr inbounds %LSlice, ptr %t159, i32 0, i32 0
%t161 = load ptr, ptr %t160
%t162 = getelementptr inbounds ptr, ptr %t161, i32 1
%t163 = load ptr, ptr %t162
%t164 = call ptr @fn_emit_expr(ptr %t163)
store ptr %t164, ptr %t165
%t166 = load ptr, ptr %t156
%t167 = getelementptr inbounds %Cmp_Val, ptr %t166, i32 0, i32 0
%t168 = load ptr, ptr %t167
%t169 = call ptr @fn_str_concat(ptr @.str4882, ptr %t168)
%t170 = call ptr @fn_str_concat(ptr %t169, ptr @.str4883)
%t171 = load ptr, ptr %t165
%t172 = getelementptr inbounds %Cmp_Val, ptr %t171, i32 0, i32 0
%t173 = load ptr, ptr %t172
%t174 = call ptr @fn_str_concat(ptr %t170, ptr %t173)
%t175 = call ptr @fn_emit_bind(ptr %t174)
%t176 = call ptr @fn_val(ptr %t175, ptr @.str4884)
store ptr %t176, ptr %retval
br label %ret
ifend14:
%t177 = load ptr, ptr %t0
%t178 = call i32 @fn_str_eq(ptr %t177, ptr @.str4885)
%t179 = icmp ne i32 %t178, 0
br i1 %t179, label %then15, label %ifend17
then15:
%t180 = load ptr, ptr %t1
%t181 = getelementptr inbounds %Cmp_Node, ptr %t180, i32 0, i32 7
%t182 = load ptr, ptr %t181
%t183 = getelementptr inbounds %LSlice, ptr %t182, i32 0, i32 0
%t184 = load ptr, ptr %t183
%t185 = getelementptr inbounds ptr, ptr %t184, i32 0
%t186 = load ptr, ptr %t185
%t187 = call ptr @fn_emit_expr(ptr %t186)
store ptr %t187, ptr %t188
%t189 = load ptr, ptr %t188
%t190 = getelementptr inbounds %Cmp_Val, ptr %t189, i32 0, i32 0
%t191 = load ptr, ptr %t190
%t192 = call ptr @fn_dt_epochday(ptr %t191)
%t193 = call ptr @fn_date_component(ptr %t192, i32 0)
%t194 = call ptr @fn_val(ptr %t193, ptr @.str4886)
store ptr %t194, ptr %retval
br label %ret
ifend17:
%t195 = load ptr, ptr %t0
%t196 = call i32 @fn_str_eq(ptr %t195, ptr @.str4887)
%t197 = icmp ne i32 %t196, 0
br i1 %t197, label %then18, label %ifend20
then18:
%t198 = load ptr, ptr %t1
%t199 = getelementptr inbounds %Cmp_Node, ptr %t198, i32 0, i32 7
%t200 = load ptr, ptr %t199
%t201 = getelementptr inbounds %LSlice, ptr %t200, i32 0, i32 0
%t202 = load ptr, ptr %t201
%t203 = getelementptr inbounds ptr, ptr %t202, i32 0
%t204 = load ptr, ptr %t203
%t205 = call ptr @fn_emit_expr(ptr %t204)
store ptr %t205, ptr %t206
%t207 = load ptr, ptr %t206
%t208 = getelementptr inbounds %Cmp_Val, ptr %t207, i32 0, i32 0
%t209 = load ptr, ptr %t208
%t210 = call ptr @fn_dt_epochday(ptr %t209)
%t211 = call ptr @fn_date_component(ptr %t210, i32 1)
%t212 = call ptr @fn_val(ptr %t211, ptr @.str4888)
store ptr %t212, ptr %retval
br label %ret
ifend20:
%t213 = load ptr, ptr %t0
%t214 = call i32 @fn_str_eq(ptr %t213, ptr @.str4889)
%t215 = icmp ne i32 %t214, 0
br i1 %t215, label %then21, label %ifend23
then21:
%t216 = load ptr, ptr %t1
%t217 = getelementptr inbounds %Cmp_Node, ptr %t216, i32 0, i32 7
%t218 = load ptr, ptr %t217
%t219 = getelementptr inbounds %LSlice, ptr %t218, i32 0, i32 0
%t220 = load ptr, ptr %t219
%t221 = getelementptr inbounds ptr, ptr %t220, i32 0
%t222 = load ptr, ptr %t221
%t223 = call ptr @fn_emit_expr(ptr %t222)
store ptr %t223, ptr %t224
%t225 = load ptr, ptr %t224
%t226 = getelementptr inbounds %Cmp_Val, ptr %t225, i32 0, i32 0
%t227 = load ptr, ptr %t226
%t228 = call ptr @fn_dt_epochday(ptr %t227)
%t229 = call ptr @fn_date_component(ptr %t228, i32 2)
%t230 = call ptr @fn_val(ptr %t229, ptr @.str4890)
store ptr %t230, ptr %retval
br label %ret
ifend23:
%t231 = load ptr, ptr %t0
%t232 = call i32 @fn_str_eq(ptr %t231, ptr @.str4891)
%t233 = icmp ne i32 %t232, 0
br i1 %t233, label %then24, label %ifend26
then24:
%t234 = load ptr, ptr %t1
%t235 = getelementptr inbounds %Cmp_Node, ptr %t234, i32 0, i32 7
%t236 = load ptr, ptr %t235
%t237 = getelementptr inbounds %LSlice, ptr %t236, i32 0, i32 0
%t238 = load ptr, ptr %t237
%t239 = getelementptr inbounds ptr, ptr %t238, i32 0
%t240 = load ptr, ptr %t239
%t241 = call ptr @fn_emit_expr(ptr %t240)
store ptr %t241, ptr %t242
%t243 = load ptr, ptr %t242
%t244 = getelementptr inbounds %Cmp_Val, ptr %t243, i32 0, i32 0
%t245 = load ptr, ptr %t244
%t246 = call ptr @fn_dt_epochday(ptr %t245)
store ptr %t246, ptr %t247
%t248 = load ptr, ptr %t247
%t249 = call ptr @fn_str_concat(ptr @.str4892, ptr %t248)
%t250 = call ptr @fn_str_concat(ptr %t249, ptr @.str4893)
%t251 = call ptr @fn_emit_bind(ptr %t250)
store ptr %t251, ptr %t252
%t253 = load ptr, ptr %t252
%t254 = call ptr @fn_str_concat(ptr @.str4894, ptr %t253)
%t255 = call ptr @fn_str_concat(ptr %t254, ptr @.str4895)
%t256 = call ptr @fn_emit_bind(ptr %t255)
store ptr %t256, ptr %t257
%t258 = load ptr, ptr %t257
%t259 = call ptr @fn_str_concat(ptr @.str4896, ptr %t258)
%t260 = call ptr @fn_str_concat(ptr %t259, ptr @.str4897)
%t261 = call ptr @fn_emit_bind(ptr %t260)
store ptr %t261, ptr %t262
%t263 = load ptr, ptr %t262
%t264 = call ptr @fn_str_concat(ptr @.str4898, ptr %t263)
%t265 = call ptr @fn_str_concat(ptr %t264, ptr @.str4899)
%t266 = call ptr @fn_emit_bind(ptr %t265)
%t267 = call ptr @fn_val(ptr %t266, ptr @.str4900)
store ptr %t267, ptr %retval
br label %ret
ifend26:
%t268 = load ptr, ptr %t0
%t269 = call i32 @fn_str_eq(ptr %t268, ptr @.str4901)
%t270 = icmp ne i32 %t269, 0
br i1 %t270, label %then27, label %ifend29
then27:
%t271 = load ptr, ptr %t1
%t272 = getelementptr inbounds %Cmp_Node, ptr %t271, i32 0, i32 7
%t273 = load ptr, ptr %t272
%t274 = getelementptr inbounds %LSlice, ptr %t273, i32 0, i32 0
%t275 = load ptr, ptr %t274
%t276 = getelementptr inbounds ptr, ptr %t275, i32 0
%t277 = load ptr, ptr %t276
%t278 = call ptr @fn_emit_expr(ptr %t277)
store ptr %t278, ptr %t279
%t280 = load ptr, ptr %t279
%t281 = getelementptr inbounds %Cmp_Val, ptr %t280, i32 0, i32 0
%t282 = load ptr, ptr %t281
%t283 = call ptr @fn_dt_secofday(ptr %t282)
store ptr %t283, ptr %t284
%t285 = load ptr, ptr %t284
%t286 = call ptr @fn_str_concat(ptr @.str4902, ptr %t285)
%t287 = call ptr @fn_str_concat(ptr %t286, ptr @.str4903)
%t288 = call ptr @fn_emit_bind(ptr %t287)
%t289 = call ptr @fn_val(ptr %t288, ptr @.str4904)
store ptr %t289, ptr %retval
br label %ret
ifend29:
%t290 = load ptr, ptr %t0
%t291 = call i32 @fn_str_eq(ptr %t290, ptr @.str4905)
%t292 = icmp ne i32 %t291, 0
br i1 %t292, label %then30, label %ifend32
then30:
%t293 = load ptr, ptr %t1
%t294 = getelementptr inbounds %Cmp_Node, ptr %t293, i32 0, i32 7
%t295 = load ptr, ptr %t294
%t296 = getelementptr inbounds %LSlice, ptr %t295, i32 0, i32 0
%t297 = load ptr, ptr %t296
%t298 = getelementptr inbounds ptr, ptr %t297, i32 0
%t299 = load ptr, ptr %t298
%t300 = call ptr @fn_emit_expr(ptr %t299)
store ptr %t300, ptr %t301
%t302 = load ptr, ptr %t301
%t303 = getelementptr inbounds %Cmp_Val, ptr %t302, i32 0, i32 0
%t304 = load ptr, ptr %t303
%t305 = call ptr @fn_dt_secofday(ptr %t304)
store ptr %t305, ptr %t306
%t307 = load ptr, ptr %t306
%t308 = call ptr @fn_str_concat(ptr @.str4906, ptr %t307)
%t309 = call ptr @fn_str_concat(ptr %t308, ptr @.str4907)
%t310 = call ptr @fn_emit_bind(ptr %t309)
store ptr %t310, ptr %t311
%t312 = load ptr, ptr %t311
%t313 = call ptr @fn_str_concat(ptr @.str4908, ptr %t312)
%t314 = call ptr @fn_str_concat(ptr %t313, ptr @.str4909)
%t315 = call ptr @fn_emit_bind(ptr %t314)
%t316 = call ptr @fn_val(ptr %t315, ptr @.str4910)
store ptr %t316, ptr %retval
br label %ret
ifend32:
%t317 = load ptr, ptr %t1
%t318 = getelementptr inbounds %Cmp_Node, ptr %t317, i32 0, i32 7
%t319 = load ptr, ptr %t318
%t320 = getelementptr inbounds %LSlice, ptr %t319, i32 0, i32 0
%t321 = load ptr, ptr %t320
%t322 = getelementptr inbounds ptr, ptr %t321, i32 0
%t323 = load ptr, ptr %t322
%t324 = call ptr @fn_emit_expr(ptr %t323)
store ptr %t324, ptr %t325
%t326 = load ptr, ptr %t325
%t327 = getelementptr inbounds %Cmp_Val, ptr %t326, i32 0, i32 0
%t328 = load ptr, ptr %t327
%t329 = call ptr @fn_dt_secofday(ptr %t328)
store ptr %t329, ptr %t330
%t331 = load ptr, ptr %t330
%t332 = call ptr @fn_str_concat(ptr @.str4911, ptr %t331)
%t333 = call ptr @fn_str_concat(ptr %t332, ptr @.str4912)
%t334 = call ptr @fn_emit_bind(ptr %t333)
%t335 = call ptr @fn_val(ptr %t334, ptr @.str4913)
store ptr %t335, ptr %retval
br label %ret
ret:
%t336 = load ptr, ptr %retval
ret ptr %t336
}
define void @fn_emit_datetime_prelude() {
entry:
call void @fn_emith(ptr @.str4914)
call void @fn_emith(ptr @.str4915)
call void @fn_emith(ptr @.str4916)
call void @fn_emith(ptr @.str4917)
call void @fn_emith(ptr @.str4918)
call void @fn_emith(ptr @.str4919)
call void @fn_emith(ptr @.str4920)
call void @fn_emith(ptr @.str4921)
call void @fn_emith(ptr @.str4922)
call void @fn_emith(ptr @.str4923)
call void @fn_emith(ptr @.str4924)
call void @fn_emith(ptr @.str4925)
call void @fn_emith(ptr @.str4926)
call void @fn_emith(ptr @.str4927)
call void @fn_emith(ptr @.str4928)
call void @fn_emith(ptr @.str4929)
call void @fn_emith(ptr @.str4930)
call void @fn_emith(ptr @.str4931)
call void @fn_emith(ptr @.str4932)
call void @fn_emith(ptr @.str4933)
call void @fn_emith(ptr @.str4934)
call void @fn_emith(ptr @.str4935)
call void @fn_emith(ptr @.str4936)
call void @fn_emith(ptr @.str4937)
call void @fn_emith(ptr @.str4938)
call void @fn_emith(ptr @.str4939)
call void @fn_emith(ptr @.str4940)
call void @fn_emith(ptr @.str4941)
call void @fn_emith(ptr @.str4942)
call void @fn_emith(ptr @.str4943)
call void @fn_emith(ptr @.str4944)
call void @fn_emith(ptr @.str4945)
call void @fn_emith(ptr @.str4946)
call void @fn_emith(ptr @.str4947)
call void @fn_emith(ptr @.str4948)
call void @fn_emith(ptr @.str4949)
call void @fn_emith(ptr @.str4950)
call void @fn_emith(ptr @.str4951)
call void @fn_emith(ptr @.str4952)
call void @fn_emith(ptr @.str4953)
call void @fn_emith(ptr @.str4954)
call void @fn_emith(ptr @.str4955)
call void @fn_emith(ptr @.str4956)
call void @fn_emith(ptr @.str4957)
call void @fn_emith(ptr @.str4958)
call void @fn_emith(ptr @.str4959)
call void @fn_emith(ptr @.str4960)
call void @fn_emith(ptr @.str4961)
call void @fn_emith(ptr @.str4962)
call void @fn_emith(ptr @.str4963)
call void @fn_emith(ptr @.str4964)
call void @fn_emith(ptr @.str4965)
call void @fn_emith(ptr @.str4966)
call void @fn_emith(ptr @.str4967)
call void @fn_emith(ptr @.str4968)
call void @fn_emith(ptr @.str4969)
call void @fn_emith(ptr @.str4970)
call void @fn_emith(ptr @.str4971)
call void @fn_emith(ptr @.str4972)
call void @fn_emith(ptr @.str4973)
call void @fn_emith(ptr @.str4974)
call void @fn_emith(ptr @.str4975)
call void @fn_emith(ptr @.str4976)
call void @fn_emith(ptr @.str4977)
call void @fn_emith(ptr @.str4978)
call void @fn_emith(ptr @.str4979)
call void @fn_emith(ptr @.str4980)
call void @fn_emith(ptr @.str4981)
call void @fn_emith(ptr @.str4982)
call void @fn_emith(ptr @.str4983)
call void @fn_emith(ptr @.str4984)
call void @fn_emith(ptr @.str4985)
call void @fn_emith(ptr @.str4986)
call void @fn_emith(ptr @.str4987)
call void @fn_emith(ptr @.str4988)
call void @fn_emith(ptr @.str4989)
call void @fn_emith(ptr @.str4990)
call void @fn_emith(ptr @.str4991)
call void @fn_emith(ptr @.str4992)
call void @fn_emith(ptr @.str4993)
call void @fn_emith(ptr @.str4994)
call void @fn_emith(ptr @.str4995)
call void @fn_emith(ptr @.str4996)
call void @fn_emith(ptr @.str4997)
call void @fn_emith(ptr @.str4998)
call void @fn_emith(ptr @.str4999)
call void @fn_emith(ptr @.str5000)
call void @fn_emith(ptr @.str5001)
call void @fn_emith(ptr @.str5002)
call void @fn_emith(ptr @.str5003)
call void @fn_emith(ptr @.str5004)
call void @fn_emith(ptr @.str5005)
call void @fn_emith(ptr @.str5006)
call void @fn_emith(ptr @.str5007)
call void @fn_emith(ptr @.str5008)
call void @fn_emith(ptr @.str5009)
call void @fn_emith(ptr @.str5010)
call void @fn_emith(ptr @.str5011)
br label %ret
ret:
ret void
}
define 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 @fn_str_eq(ptr %t4, ptr @.str5012)
%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 @fn_str_eq(ptr %t8, ptr @.str5013)
%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 @fn_str_eq(ptr %t15, ptr @.str5014)
%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 @fn_str_eq(ptr %t22, ptr @.str5015)
%t24 = icmp ne i32 %t23, 0
%t25 = zext i1 %t24 to i32
store i32 %t25, ptr %t1
br label %scend5
scend5:
%t26 = load i32, ptr %t1
%t27 = icmp ne i32 %t26, 0
br i1 %t27, label %then6, label %ifend8
then6:
store i32 1, ptr %retval
br label %ret
ifend8:
store i32 0, ptr %retval
br label %ret
ret:
%t28 = load i32, ptr %retval
ret i32 %t28
}
define ptr @fn_emit_clock_ns(ptr %arg_meth, ptr %arg_e) {
entry:
%retval = alloca ptr
%t0 = alloca ptr
%t1 = alloca ptr
%t22 = alloca ptr
%t37 = alloca ptr
%t39 = alloca ptr
%t48 = alloca ptr
store ptr %arg_meth, ptr %t0
store ptr %arg_e, ptr %t1
%t2 = load ptr, ptr %t0
%t3 = call i32 @fn_str_eq(ptr %t2, ptr @.str5016)
%t4 = icmp ne i32 %t3, 0
br i1 %t4, label %then0, label %ifend2
then0:
%t5 = call ptr @fn_emit_bind(ptr @.str5017)
%t6 = call ptr @fn_val(ptr %t5, ptr @.str5018)
store ptr %t6, ptr %retval
br label %ret
ifend2:
%t7 = load ptr, ptr %t0
%t8 = call i32 @fn_str_eq(ptr %t7, ptr @.str5019)
%t9 = icmp ne i32 %t8, 0
br i1 %t9, label %then3, label %ifend5
then3:
call void @fn_emit(ptr @.str5020)
%t10 = call ptr @fn_val(ptr @.str5021, ptr @.str5022)
store ptr %t10, ptr %retval
br label %ret
ifend5:
%t11 = load ptr, ptr %t0
%t12 = call i32 @fn_str_eq(ptr %t11, ptr @.str5023)
%t13 = icmp ne i32 %t12, 0
br i1 %t13, label %then6, label %ifend8
then6:
%t14 = load ptr, ptr %t1
%t15 = getelementptr inbounds %Cmp_Node, ptr %t14, i32 0, i32 7
%t16 = load ptr, ptr %t15
%t17 = getelementptr inbounds %LSlice, ptr %t16, i32 0, i32 0
%t18 = load ptr, ptr %t17
%t19 = getelementptr inbounds ptr, ptr %t18, i32 0
%t20 = load ptr, ptr %t19
%t21 = call ptr @fn_emit_expr(ptr %t20)
store ptr %t21, ptr %t22
%t23 = load ptr, ptr %t22
%t24 = getelementptr inbounds %Cmp_Val, ptr %t23, i32 0, i32 0
%t25 = load ptr, ptr %t24
%t26 = call ptr @fn_str_concat(ptr @.str5024, ptr %t25)
%t27 = call ptr @fn_str_concat(ptr %t26, ptr @.str5025)
call void @fn_emit(ptr %t27)
%t28 = call ptr @fn_val(ptr @.str5026, ptr @.str5027)
store ptr %t28, ptr %retval
br label %ret
ifend8:
%t29 = load ptr, ptr %t1
%t30 = getelementptr inbounds %Cmp_Node, ptr %t29, i32 0, i32 7
%t31 = load ptr, ptr %t30
%t32 = getelementptr inbounds %LSlice, ptr %t31, i32 0, i32 0
%t33 = load ptr, ptr %t32
%t34 = getelementptr inbounds ptr, ptr %t33, i32 0
%t35 = load ptr, ptr %t34
%t36 = call ptr @fn_emit_expr(ptr %t35)
store ptr %t36, ptr %t37
%t38 = call ptr @fn_emit_bind(ptr @.str5028)
store ptr %t38, ptr %t39
%t40 = load ptr, ptr %t39
%t41 = call ptr @fn_str_concat(ptr @.str5029, ptr %t40)
%t42 = call ptr @fn_str_concat(ptr %t41, ptr @.str5030)
%t43 = load ptr, ptr %t37
%t44 = getelementptr inbounds %Cmp_Val, ptr %t43, i32 0, i32 0
%t45 = load ptr, ptr %t44
%t46 = call ptr @fn_str_concat(ptr %t42, ptr %t45)
%t47 = call ptr @fn_emit_bind(ptr %t46)
store ptr %t47, ptr %t48
%t49 = load ptr, ptr %t48
%t50 = call ptr @fn_str_concat(ptr @.str5031, ptr %t49)
%t51 = call ptr @fn_str_concat(ptr %t50, ptr @.str5032)
call void @fn_emit(ptr %t51)
%t52 = call ptr @fn_val(ptr @.str5033, ptr @.str5034)
store ptr %t52, ptr %retval
br label %ret
ret:
%t53 = load ptr, ptr %retval
ret ptr %t53
}
define i32 @fn_is_colorfn_ns(ptr %arg_meth) {
entry:
%retval = alloca i32
%t0 = alloca ptr
%t1 = alloca i32
%t2 = alloca i32
%t20 = alloca i32
%t21 = alloca i32
store ptr %arg_meth, ptr %t0
%t3 = load ptr, ptr %t0
%t4 = call i32 @fn_str_eq(ptr %t3, ptr @.str5035)
%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_str_eq(ptr %t7, ptr @.str5036)
%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_eq(ptr %t14, ptr @.str5037)
%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 @fn_str_eq(ptr %t22, ptr @.str5038)
%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 @fn_str_eq(ptr %t26, ptr @.str5039)
%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 @fn_str_eq(ptr %t33, ptr @.str5040)
%t35 = icmp ne i32 %t34, 0
%t36 = zext i1 %t35 to i32
store i32 %t36, ptr %t20
br label %scend10
scend10:
%t37 = load i32, ptr %t20
%t38 = icmp ne i32 %t37, 0
br i1 %t38, label %then11, label %ifend13
then11:
store i32 1, ptr %retval
br label %ret
ifend13:
store i32 0, ptr %retval
br label %ret
ret:
%t39 = load i32, ptr %retval
ret i32 %t39
}
define ptr @fn_color_ch(ptr %arg_c, ptr %arg_shift) {
entry:
%retval = alloca ptr
%t0 = alloca ptr
%t1 = alloca ptr
%t8 = alloca ptr
store ptr %arg_c, ptr %t0
store ptr %arg_shift, ptr %t1
%t2 = load ptr, ptr %t0
%t3 = call ptr @fn_str_concat(ptr @.str5041, ptr %t2)
%t4 = call ptr @fn_str_concat(ptr %t3, ptr @.str5042)
%t5 = load ptr, ptr %t1
%t6 = call ptr @fn_str_concat(ptr %t4, ptr %t5)
%t7 = call ptr @fn_emit_bind(ptr %t6)
store ptr %t7, ptr %t8
%t9 = load ptr, ptr %t8
%t10 = call ptr @fn_str_concat(ptr @.str5043, ptr %t9)
%t11 = call ptr @fn_str_concat(ptr %t10, ptr @.str5044)
%t12 = call ptr @fn_emit_bind(ptr %t11)
store ptr %t12, ptr %retval
br label %ret
ret:
%t13 = load ptr, ptr %retval
ret ptr %t13
}
define ptr @fn_color_pack(ptr %arg_r, ptr %arg_g, ptr %arg_b) {
entry:
%retval = alloca ptr
%t0 = alloca ptr
%t1 = alloca ptr
%t2 = alloca ptr
%t7 = alloca ptr
%t12 = alloca ptr
%t19 = alloca ptr
store ptr %arg_r, ptr %t0
store ptr %arg_g, ptr %t1
store ptr %arg_b, ptr %t2
%t3 = load ptr, ptr %t0
%t4 = call ptr @fn_str_concat(ptr @.str5045, ptr %t3)
%t5 = call ptr @fn_str_concat(ptr %t4, ptr @.str5046)
%t6 = call ptr @fn_emit_bind(ptr %t5)
store ptr %t6, ptr %t7
%t8 = load ptr, ptr %t1
%t9 = call ptr @fn_str_concat(ptr @.str5047, ptr %t8)
%t10 = call ptr @fn_str_concat(ptr %t9, ptr @.str5048)
%t11 = call ptr @fn_emit_bind(ptr %t10)
store ptr %t11, ptr %t12
%t13 = load ptr, ptr %t7
%t14 = call ptr @fn_str_concat(ptr @.str5049, ptr %t13)
%t15 = call ptr @fn_str_concat(ptr %t14, ptr @.str5050)
%t16 = load ptr, ptr %t12
%t17 = call ptr @fn_str_concat(ptr %t15, ptr %t16)
%t18 = call ptr @fn_emit_bind(ptr %t17)
store ptr %t18, ptr %t19
%t20 = load ptr, ptr %t19
%t21 = call ptr @fn_str_concat(ptr @.str5051, ptr %t20)
%t22 = call ptr @fn_str_concat(ptr %t21, ptr @.str5052)
%t23 = load ptr, ptr %t2
%t24 = call ptr @fn_str_concat(ptr %t22, ptr %t23)
%t25 = call ptr @fn_emit_bind(ptr %t24)
store ptr %t25, ptr %retval
br label %ret
ret:
%t26 = load ptr, ptr %retval
ret ptr %t26
}
define ptr @fn_color_lerp_ch(ptr %arg_ch0, ptr %arg_ch1, ptr %arg_t) {
entry:
%retval = alloca ptr
%t0 = alloca ptr
%t1 = alloca ptr
%t2 = alloca ptr
%t9 = alloca ptr
%t16 = alloca ptr
%t21 = alloca ptr
store ptr %arg_ch0, ptr %t0
store ptr %arg_ch1, ptr %t1
store ptr %arg_t, ptr %t2
%t3 = load ptr, ptr %t1
%t4 = call ptr @fn_str_concat(ptr @.str5053, ptr %t3)
%t5 = call ptr @fn_str_concat(ptr %t4, ptr @.str5054)
%t6 = load ptr, ptr %t0
%t7 = call ptr @fn_str_concat(ptr %t5, ptr %t6)
%t8 = call ptr @fn_emit_bind(ptr %t7)
store ptr %t8, ptr %t9
%t10 = load ptr, ptr %t9
%t11 = call ptr @fn_str_concat(ptr @.str5055, ptr %t10)
%t12 = call ptr @fn_str_concat(ptr %t11, ptr @.str5056)
%t13 = load ptr, ptr %t2
%t14 = call ptr @fn_str_concat(ptr %t12, ptr %t13)
%t15 = call ptr @fn_emit_bind(ptr %t14)
store ptr %t15, ptr %t16
%t17 = load ptr, ptr %t16
%t18 = call ptr @fn_str_concat(ptr @.str5057, ptr %t17)
%t19 = call ptr @fn_str_concat(ptr %t18, ptr @.str5058)
%t20 = call ptr @fn_emit_bind(ptr %t19)
store ptr %t20, ptr %t21
%t22 = load ptr, ptr %t0
%t23 = call ptr @fn_str_concat(ptr @.str5059, ptr %t22)
%t24 = call ptr @fn_str_concat(ptr %t23, ptr @.str5060)
%t25 = load ptr, ptr %t21
%t26 = call ptr @fn_str_concat(ptr %t24, ptr %t25)
%t27 = call ptr @fn_emit_bind(ptr %t26)
store ptr %t27, ptr %retval
br label %ret
ret:
%t28 = load ptr, ptr %retval
ret ptr %t28
}
define ptr @fn_emit_colorfn_ns(ptr %arg_meth, ptr %arg_e) {
entry:
%retval = alloca ptr
%t0 = alloca ptr
%t1 = alloca ptr
%t13 = alloca ptr
%t22 = alloca ptr
%t31 = alloca ptr
%t54 = alloca ptr
%t63 = alloca ptr
%t72 = alloca ptr
%t81 = alloca ptr
%t92 = alloca ptr
%t99 = alloca ptr
%t118 = alloca ptr
%t127 = alloca ptr
%t134 = alloca ptr
%t141 = alloca ptr
%t160 = alloca ptr
%t169 = alloca ptr
%t178 = alloca ptr
%t191 = alloca ptr
%t204 = alloca ptr
%t217 = alloca ptr
%t234 = alloca ptr
%t243 = alloca ptr
%t249 = alloca ptr
%t254 = alloca ptr
%t259 = alloca ptr
%t264 = alloca ptr
%t271 = alloca ptr
%t276 = alloca ptr
%t283 = alloca ptr
%t288 = alloca ptr
%t295 = alloca ptr
%t300 = alloca ptr
%t314 = alloca ptr
%t323 = alloca ptr
%t328 = alloca ptr
%t333 = alloca ptr
%t338 = alloca ptr
%t342 = alloca ptr
%t351 = alloca ptr
%t356 = alloca ptr
%t363 = alloca ptr
%t367 = alloca ptr
%t376 = alloca ptr
%t381 = alloca ptr
%t388 = alloca ptr
%t392 = alloca ptr
%t401 = alloca ptr
%t406 = alloca ptr
%t413 = alloca ptr
store ptr %arg_meth, ptr %t0
store ptr %arg_e, ptr %t1
%t2 = load ptr, ptr %t0
%t3 = call i32 @fn_str_eq(ptr %t2, ptr @.str5061)
%t4 = icmp ne i32 %t3, 0
br i1 %t4, label %then0, label %ifend2
then0:
%t5 = load ptr, ptr %t1
%t6 = getelementptr inbounds %Cmp_Node, ptr %t5, i32 0, i32 7
%t7 = load ptr, ptr %t6
%t8 = getelementptr inbounds %LSlice, ptr %t7, i32 0, i32 0
%t9 = load ptr, ptr %t8
%t10 = getelementptr inbounds ptr, ptr %t9, i32 0
%t11 = load ptr, ptr %t10
%t12 = call ptr @fn_emit_expr(ptr %t11)
store ptr %t12, ptr %t13
%t14 = load ptr, ptr %t1
%t15 = getelementptr inbounds %Cmp_Node, ptr %t14, i32 0, i32 7
%t16 = load ptr, ptr %t15
%t17 = getelementptr inbounds %LSlice, ptr %t16, i32 0, i32 0
%t18 = load ptr, ptr %t17
%t19 = getelementptr inbounds ptr, ptr %t18, i32 1
%t20 = load ptr, ptr %t19
%t21 = call ptr @fn_emit_expr(ptr %t20)
store ptr %t21, ptr %t22
%t23 = load ptr, ptr %t1
%t24 = getelementptr inbounds %Cmp_Node, ptr %t23, i32 0, i32 7
%t25 = load ptr, ptr %t24
%t26 = getelementptr inbounds %LSlice, ptr %t25, i32 0, i32 0
%t27 = load ptr, ptr %t26
%t28 = getelementptr inbounds ptr, ptr %t27, i32 2
%t29 = load ptr, ptr %t28
%t30 = call ptr @fn_emit_expr(ptr %t29)
store ptr %t30, ptr %t31
%t32 = load ptr, ptr %t13
%t33 = getelementptr inbounds %Cmp_Val, ptr %t32, i32 0, i32 0
%t34 = load ptr, ptr %t33
%t35 = load ptr, ptr %t22
%t36 = getelementptr inbounds %Cmp_Val, ptr %t35, i32 0, i32 0
%t37 = load ptr, ptr %t36
%t38 = load ptr, ptr %t31
%t39 = getelementptr inbounds %Cmp_Val, ptr %t38, i32 0, i32 0
%t40 = load ptr, ptr %t39
%t41 = call ptr @fn_color_pack(ptr %t34, ptr %t37, ptr %t40)
%t42 = call ptr @fn_val(ptr %t41, ptr @.str5062)
store ptr %t42, ptr %retval
br label %ret
ifend2:
%t43 = load ptr, ptr %t0
%t44 = call i32 @fn_str_eq(ptr %t43, ptr @.str5063)
%t45 = icmp ne i32 %t44, 0
br i1 %t45, label %then3, label %ifend5
then3:
%t46 = load ptr, ptr %t1
%t47 = getelementptr inbounds %Cmp_Node, ptr %t46, i32 0, i32 7
%t48 = load ptr, ptr %t47
%t49 = getelementptr inbounds %LSlice, ptr %t48, i32 0, i32 0
%t50 = load ptr, ptr %t49
%t51 = getelementptr inbounds ptr, ptr %t50, i32 0
%t52 = load ptr, ptr %t51
%t53 = call ptr @fn_emit_expr(ptr %t52)
store ptr %t53, ptr %t54
%t55 = load ptr, ptr %t1
%t56 = getelementptr inbounds %Cmp_Node, ptr %t55, i32 0, i32 7
%t57 = load ptr, ptr %t56
%t58 = getelementptr inbounds %LSlice, ptr %t57, i32 0, i32 0
%t59 = load ptr, ptr %t58
%t60 = getelementptr inbounds ptr, ptr %t59, i32 1
%t61 = load ptr, ptr %t60
%t62 = call ptr @fn_emit_expr(ptr %t61)
store ptr %t62, ptr %t63
%t64 = load ptr, ptr %t1
%t65 = getelementptr inbounds %Cmp_Node, ptr %t64, i32 0, i32 7
%t66 = load ptr, ptr %t65
%t67 = getelementptr inbounds %LSlice, ptr %t66, i32 0, i32 0
%t68 = load ptr, ptr %t67
%t69 = getelementptr inbounds ptr, ptr %t68, i32 2
%t70 = load ptr, ptr %t69
%t71 = call ptr @fn_emit_expr(ptr %t70)
store ptr %t71, ptr %t72
%t73 = load ptr, ptr %t1
%t74 = getelementptr inbounds %Cmp_Node, ptr %t73, i32 0, i32 7
%t75 = load ptr, ptr %t74
%t76 = getelementptr inbounds %LSlice, ptr %t75, i32 0, i32 0
%t77 = load ptr, ptr %t76
%t78 = getelementptr inbounds ptr, ptr %t77, i32 3
%t79 = load ptr, ptr %t78
%t80 = call ptr @fn_emit_expr(ptr %t79)
store ptr %t80, ptr %t81
%t82 = load ptr, ptr %t54
%t83 = getelementptr inbounds %Cmp_Val, ptr %t82, i32 0, i32 0
%t84 = load ptr, ptr %t83
%t85 = load ptr, ptr %t63
%t86 = getelementptr inbounds %Cmp_Val, ptr %t85, i32 0, i32 0
%t87 = load ptr, ptr %t86
%t88 = load ptr, ptr %t72
%t89 = getelementptr inbounds %Cmp_Val, ptr %t88, i32 0, i32 0
%t90 = load ptr, ptr %t89
%t91 = call ptr @fn_color_pack(ptr %t84, ptr %t87, ptr %t90)
store ptr %t91, ptr %t92
%t93 = load ptr, ptr %t81
%t94 = getelementptr inbounds %Cmp_Val, ptr %t93, i32 0, i32 0
%t95 = load ptr, ptr %t94
%t96 = call ptr @fn_str_concat(ptr @.str5064, ptr %t95)
%t97 = call ptr @fn_str_concat(ptr %t96, ptr @.str5065)
%t98 = call ptr @fn_emit_bind(ptr %t97)
store ptr %t98, ptr %t99
%t100 = load ptr, ptr %t92
%t101 = call ptr @fn_str_concat(ptr @.str5066, ptr %t100)
%t102 = call ptr @fn_str_concat(ptr %t101, ptr @.str5067)
%t103 = load ptr, ptr %t99
%t104 = call ptr @fn_str_concat(ptr %t102, ptr %t103)
%t105 = call ptr @fn_emit_bind(ptr %t104)
%t106 = call ptr @fn_val(ptr %t105, ptr @.str5068)
store ptr %t106, ptr %retval
br label %ret
ifend5:
%t107 = load ptr, ptr %t0
%t108 = call i32 @fn_str_eq(ptr %t107, ptr @.str5069)
%t109 = icmp ne i32 %t108, 0
br i1 %t109, label %then6, label %ifend8
then6:
%t110 = load ptr, ptr %t1
%t111 = getelementptr inbounds %Cmp_Node, ptr %t110, i32 0, i32 7
%t112 = load ptr, ptr %t111
%t113 = getelementptr inbounds %LSlice, ptr %t112, i32 0, i32 0
%t114 = load ptr, ptr %t113
%t115 = getelementptr inbounds ptr, ptr %t114, i32 0
%t116 = load ptr, ptr %t115
%t117 = call ptr @fn_emit_expr(ptr %t116)
store ptr %t117, ptr %t118
%t119 = load ptr, ptr %t1
%t120 = getelementptr inbounds %Cmp_Node, ptr %t119, i32 0, i32 7
%t121 = load ptr, ptr %t120
%t122 = getelementptr inbounds %LSlice, ptr %t121, i32 0, i32 0
%t123 = load ptr, ptr %t122
%t124 = getelementptr inbounds ptr, ptr %t123, i32 1
%t125 = load ptr, ptr %t124
%t126 = call ptr @fn_emit_expr(ptr %t125)
store ptr %t126, ptr %t127
%t128 = load ptr, ptr %t118
%t129 = getelementptr inbounds %Cmp_Val, ptr %t128, i32 0, i32 0
%t130 = load ptr, ptr %t129
%t131 = call ptr @fn_str_concat(ptr @.str5070, ptr %t130)
%t132 = call ptr @fn_str_concat(ptr %t131, ptr @.str5071)
%t133 = call ptr @fn_emit_bind(ptr %t132)
store ptr %t133, ptr %t134
%t135 = load ptr, ptr %t127
%t136 = getelementptr inbounds %Cmp_Val, ptr %t135, i32 0, i32 0
%t137 = load ptr, ptr %t136
%t138 = call ptr @fn_str_concat(ptr @.str5072, ptr %t137)
%t139 = call ptr @fn_str_concat(ptr %t138, ptr @.str5073)
%t140 = call ptr @fn_emit_bind(ptr %t139)
store ptr %t140, ptr %t141
%t142 = load ptr, ptr %t134
%t143 = call ptr @fn_str_concat(ptr @.str5074, ptr %t142)
%t144 = call ptr @fn_str_concat(ptr %t143, ptr @.str5075)
%t145 = load ptr, ptr %t141
%t146 = call ptr @fn_str_concat(ptr %t144, ptr %t145)
%t147 = call ptr @fn_emit_bind(ptr %t146)
%t148 = call ptr @fn_val(ptr %t147, ptr @.str5076)
store ptr %t148, ptr %retval
br label %ret
ifend8:
%t149 = load ptr, ptr %t0
%t150 = call i32 @fn_str_eq(ptr %t149, ptr @.str5077)
%t151 = icmp ne i32 %t150, 0
br i1 %t151, label %then9, label %ifend11
then9:
%t152 = load ptr, ptr %t1
%t153 = getelementptr inbounds %Cmp_Node, ptr %t152, i32 0, i32 7
%t154 = load ptr, ptr %t153
%t155 = getelementptr inbounds %LSlice, ptr %t154, i32 0, i32 0
%t156 = load ptr, ptr %t155
%t157 = getelementptr inbounds ptr, ptr %t156, i32 0
%t158 = load ptr, ptr %t157
%t159 = call ptr @fn_emit_expr(ptr %t158)
store ptr %t159, ptr %t160
%t161 = load ptr, ptr %t1
%t162 = getelementptr inbounds %Cmp_Node, ptr %t161, i32 0, i32 7
%t163 = load ptr, ptr %t162
%t164 = getelementptr inbounds %LSlice, ptr %t163, i32 0, i32 0
%t165 = load ptr, ptr %t164
%t166 = getelementptr inbounds ptr, ptr %t165, i32 1
%t167 = load ptr, ptr %t166
%t168 = call ptr @fn_emit_expr(ptr %t167)
store ptr %t168, ptr %t169
%t170 = load ptr, ptr %t1
%t171 = getelementptr inbounds %Cmp_Node, ptr %t170, i32 0, i32 7
%t172 = load ptr, ptr %t171
%t173 = getelementptr inbounds %LSlice, ptr %t172, i32 0, i32 0
%t174 = load ptr, ptr %t173
%t175 = getelementptr inbounds ptr, ptr %t174, i32 2
%t176 = load ptr, ptr %t175
%t177 = call ptr @fn_emit_expr(ptr %t176)
store ptr %t177, ptr %t178
%t179 = load ptr, ptr %t160
%t180 = getelementptr inbounds %Cmp_Val, ptr %t179, i32 0, i32 0
%t181 = load ptr, ptr %t180
%t182 = call ptr @fn_color_ch(ptr %t181, ptr @.str5078)
%t183 = load ptr, ptr %t169
%t184 = getelementptr inbounds %Cmp_Val, ptr %t183, i32 0, i32 0
%t185 = load ptr, ptr %t184
%t186 = call ptr @fn_color_ch(ptr %t185, ptr @.str5079)
%t187 = load ptr, ptr %t178
%t188 = getelementptr inbounds %Cmp_Val, ptr %t187, i32 0, i32 0
%t189 = load ptr, ptr %t188
%t190 = call ptr @fn_color_lerp_ch(ptr %t182, ptr %t186, ptr %t189)
store ptr %t190, ptr %t191
%t192 = load ptr, ptr %t160
%t193 = getelementptr inbounds %Cmp_Val, ptr %t192, i32 0, i32 0
%t194 = load ptr, ptr %t193
%t195 = call ptr @fn_color_ch(ptr %t194, ptr @.str5080)
%t196 = load ptr, ptr %t169
%t197 = getelementptr inbounds %Cmp_Val, ptr %t196, i32 0, i32 0
%t198 = load ptr, ptr %t197
%t199 = call ptr @fn_color_ch(ptr %t198, ptr @.str5081)
%t200 = load ptr, ptr %t178
%t201 = getelementptr inbounds %Cmp_Val, ptr %t200, i32 0, i32 0
%t202 = load ptr, ptr %t201
%t203 = call ptr @fn_color_lerp_ch(ptr %t195, ptr %t199, ptr %t202)
store ptr %t203, ptr %t204
%t205 = load ptr, ptr %t160
%t206 = getelementptr inbounds %Cmp_Val, ptr %t205, i32 0, i32 0
%t207 = load ptr, ptr %t206
%t208 = call ptr @fn_color_ch(ptr %t207, ptr @.str5082)
%t209 = load ptr, ptr %t169
%t210 = getelementptr inbounds %Cmp_Val, ptr %t209, i32 0, i32 0
%t211 = load ptr, ptr %t210
%t212 = call ptr @fn_color_ch(ptr %t211, ptr @.str5083)
%t213 = load ptr, ptr %t178
%t214 = getelementptr inbounds %Cmp_Val, ptr %t213, i32 0, i32 0
%t215 = load ptr, ptr %t214
%t216 = call ptr @fn_color_lerp_ch(ptr %t208, ptr %t212, ptr %t215)
store ptr %t216, ptr %t217
%t218 = load ptr, ptr %t191
%t219 = load ptr, ptr %t204
%t220 = load ptr, ptr %t217
%t221 = call ptr @fn_color_pack(ptr %t218, ptr %t219, ptr %t220)
%t222 = call ptr @fn_val(ptr %t221, ptr @.str5084)
store ptr %t222, ptr %retval
br label %ret
ifend11:
%t223 = load ptr, ptr %t0
%t224 = call i32 @fn_str_eq(ptr %t223, ptr @.str5085)
%t225 = icmp ne i32 %t224, 0
br i1 %t225, label %then12, label %ifend14
then12:
%t226 = load ptr, ptr %t1
%t227 = getelementptr inbounds %Cmp_Node, ptr %t226, i32 0, i32 7
%t228 = load ptr, ptr %t227
%t229 = getelementptr inbounds %LSlice, ptr %t228, i32 0, i32 0
%t230 = load ptr, ptr %t229
%t231 = getelementptr inbounds ptr, ptr %t230, i32 0
%t232 = load ptr, ptr %t231
%t233 = call ptr @fn_emit_expr(ptr %t232)
store ptr %t233, ptr %t234
%t235 = load ptr, ptr %t1
%t236 = getelementptr inbounds %Cmp_Node, ptr %t235, i32 0, i32 7
%t237 = load ptr, ptr %t236
%t238 = getelementptr inbounds %LSlice, ptr %t237, i32 0, i32 0
%t239 = load ptr, ptr %t238
%t240 = getelementptr inbounds ptr, ptr %t239, i32 1
%t241 = load ptr, ptr %t240
%t242 = call ptr @fn_emit_expr(ptr %t241)
store ptr %t242, ptr %t243
%t244 = load ptr, ptr %t243
%t245 = getelementptr inbounds %Cmp_Val, ptr %t244, i32 0, i32 0
%t246 = load ptr, ptr %t245
%t247 = call ptr @fn_str_concat(ptr @.str5086, ptr %t246)
%t248 = call ptr @fn_emit_bind(ptr %t247)
store ptr %t248, ptr %t249
%t250 = load ptr, ptr %t234
%t251 = getelementptr inbounds %Cmp_Val, ptr %t250, i32 0, i32 0
%t252 = load ptr, ptr %t251
%t253 = call ptr @fn_color_ch(ptr %t252, ptr @.str5087)
store ptr %t253, ptr %t254
%t255 = load ptr, ptr %t234
%t256 = getelementptr inbounds %Cmp_Val, ptr %t255, i32 0, i32 0
%t257 = load ptr, ptr %t256
%t258 = call ptr @fn_color_ch(ptr %t257, ptr @.str5088)
store ptr %t258, ptr %t259
%t260 = load ptr, ptr %t234
%t261 = getelementptr inbounds %Cmp_Val, ptr %t260, i32 0, i32 0
%t262 = load ptr, ptr %t261
%t263 = call ptr @fn_color_ch(ptr %t262, ptr @.str5089)
store ptr %t263, ptr %t264
%t265 = load ptr, ptr %t254
%t266 = call ptr @fn_str_concat(ptr @.str5090, ptr %t265)
%t267 = call ptr @fn_str_concat(ptr %t266, ptr @.str5091)
%t268 = load ptr, ptr %t249
%t269 = call ptr @fn_str_concat(ptr %t267, ptr %t268)
%t270 = call ptr @fn_emit_bind(ptr %t269)
store ptr %t270, ptr %t271
%t272 = load ptr, ptr %t271
%t273 = call ptr @fn_str_concat(ptr @.str5092, ptr %t272)
%t274 = call ptr @fn_str_concat(ptr %t273, ptr @.str5093)
%t275 = call ptr @fn_emit_bind(ptr %t274)
store ptr %t275, ptr %t276
%t277 = load ptr, ptr %t259
%t278 = call ptr @fn_str_concat(ptr @.str5094, ptr %t277)
%t279 = call ptr @fn_str_concat(ptr %t278, ptr @.str5095)
%t280 = load ptr, ptr %t249
%t281 = call ptr @fn_str_concat(ptr %t279, ptr %t280)
%t282 = call ptr @fn_emit_bind(ptr %t281)
store ptr %t282, ptr %t283
%t284 = load ptr, ptr %t283
%t285 = call ptr @fn_str_concat(ptr @.str5096, ptr %t284)
%t286 = call ptr @fn_str_concat(ptr %t285, ptr @.str5097)
%t287 = call ptr @fn_emit_bind(ptr %t286)
store ptr %t287, ptr %t288
%t289 = load ptr, ptr %t264
%t290 = call ptr @fn_str_concat(ptr @.str5098, ptr %t289)
%t291 = call ptr @fn_str_concat(ptr %t290, ptr @.str5099)
%t292 = load ptr, ptr %t249
%t293 = call ptr @fn_str_concat(ptr %t291, ptr %t292)
%t294 = call ptr @fn_emit_bind(ptr %t293)
store ptr %t294, ptr %t295
%t296 = load ptr, ptr %t295
%t297 = call ptr @fn_str_concat(ptr @.str5100, ptr %t296)
%t298 = call ptr @fn_str_concat(ptr %t297, ptr @.str5101)
%t299 = call ptr @fn_emit_bind(ptr %t298)
store ptr %t299, ptr %t300
%t301 = load ptr, ptr %t276
%t302 = load ptr, ptr %t288
%t303 = load ptr, ptr %t300
%t304 = call ptr @fn_color_pack(ptr %t301, ptr %t302, ptr %t303)
%t305 = call ptr @fn_val(ptr %t304, ptr @.str5102)
store ptr %t305, ptr %retval
br label %ret
ifend14:
%t306 = load ptr, ptr %t1
%t307 = getelementptr inbounds %Cmp_Node, ptr %t306, i32 0, i32 7
%t308 = load ptr, ptr %t307
%t309 = getelementptr inbounds %LSlice, ptr %t308, i32 0, i32 0
%t310 = load ptr, ptr %t309
%t311 = getelementptr inbounds ptr, ptr %t310, i32 0
%t312 = load ptr, ptr %t311
%t313 = call ptr @fn_emit_expr(ptr %t312)
store ptr %t313, ptr %t314
%t315 = load ptr, ptr %t1
%t316 = getelementptr inbounds %Cmp_Node, ptr %t315, i32 0, i32 7
%t317 = load ptr, ptr %t316
%t318 = getelementptr inbounds %LSlice, ptr %t317, i32 0, i32 0
%t319 = load ptr, ptr %t318
%t320 = getelementptr inbounds ptr, ptr %t319, i32 1
%t321 = load ptr, ptr %t320
%t322 = call ptr @fn_emit_expr(ptr %t321)
store ptr %t322, ptr %t323
%t324 = load ptr, ptr %t314
%t325 = getelementptr inbounds %Cmp_Val, ptr %t324, i32 0, i32 0
%t326 = load ptr, ptr %t325
%t327 = call ptr @fn_color_ch(ptr %t326, ptr @.str5103)
store ptr %t327, ptr %t328
%t329 = load ptr, ptr %t314
%t330 = getelementptr inbounds %Cmp_Val, ptr %t329, i32 0, i32 0
%t331 = load ptr, ptr %t330
%t332 = call ptr @fn_color_ch(ptr %t331, ptr @.str5104)
store ptr %t332, ptr %t333
%t334 = load ptr, ptr %t314
%t335 = getelementptr inbounds %Cmp_Val, ptr %t334, i32 0, i32 0
%t336 = load ptr, ptr %t335
%t337 = call ptr @fn_color_ch(ptr %t336, ptr @.str5105)
store ptr %t337, ptr %t338
%t339 = load ptr, ptr %t328
%t340 = call ptr @fn_str_concat(ptr @.str5106, ptr %t339)
%t341 = call ptr @fn_emit_bind(ptr %t340)
store ptr %t341, ptr %t342
%t343 = load ptr, ptr %t342
%t344 = call ptr @fn_str_concat(ptr @.str5107, ptr %t343)
%t345 = call ptr @fn_str_concat(ptr %t344, ptr @.str5108)
%t346 = load ptr, ptr %t323
%t347 = getelementptr inbounds %Cmp_Val, ptr %t346, i32 0, i32 0
%t348 = load ptr, ptr %t347
%t349 = call ptr @fn_str_concat(ptr %t345, ptr %t348)
%t350 = call ptr @fn_emit_bind(ptr %t349)
store ptr %t350, ptr %t351
%t352 = load ptr, ptr %t351
%t353 = call ptr @fn_str_concat(ptr @.str5109, ptr %t352)
%t354 = call ptr @fn_str_concat(ptr %t353, ptr @.str5110)
%t355 = call ptr @fn_emit_bind(ptr %t354)
store ptr %t355, ptr %t356
%t357 = load ptr, ptr %t328
%t358 = call ptr @fn_str_concat(ptr @.str5111, ptr %t357)
%t359 = call ptr @fn_str_concat(ptr %t358, ptr @.str5112)
%t360 = load ptr, ptr %t356
%t361 = call ptr @fn_str_concat(ptr %t359, ptr %t360)
%t362 = call ptr @fn_emit_bind(ptr %t361)
store ptr %t362, ptr %t363
%t364 = load ptr, ptr %t333
%t365 = call ptr @fn_str_concat(ptr @.str5113, ptr %t364)
%t366 = call ptr @fn_emit_bind(ptr %t365)
store ptr %t366, ptr %t367
%t368 = load ptr, ptr %t367
%t369 = call ptr @fn_str_concat(ptr @.str5114, ptr %t368)
%t370 = call ptr @fn_str_concat(ptr %t369, ptr @.str5115)
%t371 = load ptr, ptr %t323
%t372 = getelementptr inbounds %Cmp_Val, ptr %t371, i32 0, i32 0
%t373 = load ptr, ptr %t372
%t374 = call ptr @fn_str_concat(ptr %t370, ptr %t373)
%t375 = call ptr @fn_emit_bind(ptr %t374)
store ptr %t375, ptr %t376
%t377 = load ptr, ptr %t376
%t378 = call ptr @fn_str_concat(ptr @.str5116, ptr %t377)
%t379 = call ptr @fn_str_concat(ptr %t378, ptr @.str5117)
%t380 = call ptr @fn_emit_bind(ptr %t379)
store ptr %t380, ptr %t381
%t382 = load ptr, ptr %t333
%t383 = call ptr @fn_str_concat(ptr @.str5118, ptr %t382)
%t384 = call ptr @fn_str_concat(ptr %t383, ptr @.str5119)
%t385 = load ptr, ptr %t381
%t386 = call ptr @fn_str_concat(ptr %t384, ptr %t385)
%t387 = call ptr @fn_emit_bind(ptr %t386)
store ptr %t387, ptr %t388
%t389 = load ptr, ptr %t338
%t390 = call ptr @fn_str_concat(ptr @.str5120, ptr %t389)
%t391 = call ptr @fn_emit_bind(ptr %t390)
store ptr %t391, ptr %t392
%t393 = load ptr, ptr %t392
%t394 = call ptr @fn_str_concat(ptr @.str5121, ptr %t393)
%t395 = call ptr @fn_str_concat(ptr %t394, ptr @.str5122)
%t396 = load ptr, ptr %t323
%t397 = getelementptr inbounds %Cmp_Val, ptr %t396, i32 0, i32 0
%t398 = load ptr, ptr %t397
%t399 = call ptr @fn_str_concat(ptr %t395, ptr %t398)
%t400 = call ptr @fn_emit_bind(ptr %t399)
store ptr %t400, ptr %t401
%t402 = load ptr, ptr %t401
%t403 = call ptr @fn_str_concat(ptr @.str5123, ptr %t402)
%t404 = call ptr @fn_str_concat(ptr %t403, ptr @.str5124)
%t405 = call ptr @fn_emit_bind(ptr %t404)
store ptr %t405, ptr %t406
%t407 = load ptr, ptr %t338
%t408 = call ptr @fn_str_concat(ptr @.str5125, ptr %t407)
%t409 = call ptr @fn_str_concat(ptr %t408, ptr @.str5126)
%t410 = load ptr, ptr %t406
%t411 = call ptr @fn_str_concat(ptr %t409, ptr %t410)
%t412 = call ptr @fn_emit_bind(ptr %t411)
store ptr %t412, ptr %t413
%t414 = load ptr, ptr %t363
%t415 = load ptr, ptr %t388
%t416 = load ptr, ptr %t413
%t417 = call ptr @fn_color_pack(ptr %t414, ptr %t415, ptr %t416)
%t418 = call ptr @fn_val(ptr %t417, ptr @.str5127)
store ptr %t418, ptr %retval
br label %ret
ret:
%t419 = load ptr, ptr %retval
ret ptr %t419
}
define i32 @fn_color_lookup(ptr %arg_name) {
entry:
%retval = alloca i32
%t0 = alloca ptr
store ptr %arg_name, ptr %t0
%t1 = load ptr, ptr %t0
%t2 = call i32 @fn_str_eq(ptr %t1, ptr @.str5128)
%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 @fn_str_eq(ptr %t4, ptr @.str5129)
%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 @fn_str_eq(ptr %t7, ptr @.str5130)
%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 @fn_str_eq(ptr %t10, ptr @.str5131)
%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 @fn_str_eq(ptr %t13, ptr @.str5132)
%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 @fn_str_eq(ptr %t16, ptr @.str5133)
%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 @fn_str_eq(ptr %t19, ptr @.str5134)
%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 @fn_str_eq(ptr %t22, ptr @.str5135)
%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 @fn_str_eq(ptr %t25, ptr @.str5136)
%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 @fn_str_eq(ptr %t28, ptr @.str5137)
%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 @fn_str_eq(ptr %t31, ptr @.str5138)
%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 @fn_str_eq(ptr %t34, ptr @.str5139)
%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 @fn_str_eq(ptr %t37, ptr @.str5140)
%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 @fn_str_eq(ptr %t40, ptr @.str5141)
%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 @fn_str_eq(ptr %t43, ptr @.str5142)
%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 @fn_str_eq(ptr %t46, ptr @.str5143)
%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 @fn_str_eq(ptr %t49, ptr @.str5144)
%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 @fn_str_eq(ptr %t52, ptr @.str5145)
%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 @fn_str_eq(ptr %t55, ptr @.str5146)
%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 @fn_str_eq(ptr %t58, ptr @.str5147)
%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 @fn_str_eq(ptr %t61, ptr @.str5148)
%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 @fn_str_eq(ptr %t64, ptr @.str5149)
%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 @fn_str_eq(ptr %t67, ptr @.str5150)
%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 @fn_str_eq(ptr %t70, ptr @.str5151)
%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 @fn_str_eq(ptr %t73, ptr @.str5152)
%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 @fn_str_eq(ptr %t76, ptr @.str5153)
%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 @fn_str_eq(ptr %t79, ptr @.str5154)
%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 @fn_str_eq(ptr %t82, ptr @.str5155)
%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 @fn_str_eq(ptr %t85, ptr @.str5156)
%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 @fn_str_eq(ptr %t88, ptr @.str5157)
%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 @fn_str_eq(ptr %t91, ptr @.str5158)
%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 @fn_str_eq(ptr %t94, ptr @.str5159)
%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 @fn_str_eq(ptr %t97, ptr @.str5160)
%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 @fn_str_eq(ptr %t100, ptr @.str5161)
%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 @fn_str_eq(ptr %t103, ptr @.str5162)
%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 @fn_str_eq(ptr %t106, ptr @.str5163)
%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 @fn_str_eq(ptr %t109, ptr @.str5164)
%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 @fn_str_eq(ptr %t112, ptr @.str5165)
%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 @fn_str_eq(ptr %t115, ptr @.str5166)
%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 @fn_str_eq(ptr %t118, ptr @.str5167)
%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 @fn_str_eq(ptr %t121, ptr @.str5168)
%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 @fn_str_eq(ptr %t124, ptr @.str5169)
%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 @fn_str_eq(ptr %t127, ptr @.str5170)
%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 @fn_str_eq(ptr %t130, ptr @.str5171)
%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 @fn_str_eq(ptr %t133, ptr @.str5172)
%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 @fn_str_eq(ptr %t136, ptr @.str5173)
%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 @fn_str_eq(ptr %t139, ptr @.str5174)
%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 @fn_str_eq(ptr %t142, ptr @.str5175)
%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 @fn_str_eq(ptr %t145, ptr @.str5176)
%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 @fn_str_eq(ptr %t148, ptr @.str5177)
%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 @fn_str_eq(ptr %t151, ptr @.str5178)
%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 @fn_str_eq(ptr %t154, ptr @.str5179)
%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 @fn_str_eq(ptr %t157, ptr @.str5180)
%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 @fn_str_eq(ptr %t160, ptr @.str5181)
%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 @fn_str_eq(ptr %t163, ptr @.str5182)
%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 @fn_str_eq(ptr %t166, ptr @.str5183)
%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 @fn_str_eq(ptr %t169, ptr @.str5184)
%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 @fn_str_eq(ptr %t172, ptr @.str5185)
%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 @fn_str_eq(ptr %t175, ptr @.str5186)
%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 @fn_str_eq(ptr %t178, ptr @.str5187)
%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 @fn_str_eq(ptr %t181, ptr @.str5188)
%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 @fn_str_eq(ptr %t184, ptr @.str5189)
%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 @fn_str_eq(ptr %t187, ptr @.str5190)
%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 @fn_str_eq(ptr %t190, ptr @.str5191)
%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 @fn_str_eq(ptr %t193, ptr @.str5192)
%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 @fn_str_eq(ptr %t196, ptr @.str5193)
%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 @fn_str_eq(ptr %t199, ptr @.str5194)
%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 @fn_str_eq(ptr %t202, ptr @.str5195)
%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 @fn_str_eq(ptr %t205, ptr @.str5196)
%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 @fn_str_eq(ptr %t208, ptr @.str5197)
%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 @fn_str_eq(ptr %t211, ptr @.str5198)
%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 @fn_str_eq(ptr %t214, ptr @.str5199)
%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 @fn_str_eq(ptr %t217, ptr @.str5200)
%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 @fn_str_eq(ptr %t220, ptr @.str5201)
%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 @fn_str_eq(ptr %t223, ptr @.str5202)
%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 @fn_str_eq(ptr %t226, ptr @.str5203)
%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 @fn_str_eq(ptr %t229, ptr @.str5204)
%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 @fn_str_eq(ptr %t232, ptr @.str5205)
%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 @fn_str_eq(ptr %t235, ptr @.str5206)
%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 @fn_str_eq(ptr %t238, ptr @.str5207)
%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 @fn_str_eq(ptr %t241, ptr @.str5208)
%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 @fn_str_eq(ptr %t244, ptr @.str5209)
%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 @fn_str_eq(ptr %t247, ptr @.str5210)
%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 @fn_str_eq(ptr %t250, ptr @.str5211)
%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 @fn_str_eq(ptr %t253, ptr @.str5212)
%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 @fn_str_eq(ptr %t256, ptr @.str5213)
%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 @fn_str_eq(ptr %t259, ptr @.str5214)
%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 @fn_str_eq(ptr %t262, ptr @.str5215)
%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 @fn_str_eq(ptr %t265, ptr @.str5216)
%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 @fn_str_eq(ptr %t268, ptr @.str5217)
%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 @fn_str_eq(ptr %t271, ptr @.str5218)
%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 @fn_str_eq(ptr %t274, ptr @.str5219)
%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 @fn_str_eq(ptr %t277, ptr @.str5220)
%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 @fn_str_eq(ptr %t280, ptr @.str5221)
%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 @fn_str_eq(ptr %t283, ptr @.str5222)
%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 @fn_str_eq(ptr %t286, ptr @.str5223)
%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 @fn_str_eq(ptr %t289, ptr @.str5224)
%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 @fn_str_eq(ptr %t292, ptr @.str5225)
%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 @fn_str_eq(ptr %t295, ptr @.str5226)
%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 @fn_str_eq(ptr %t298, ptr @.str5227)
%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 @fn_str_eq(ptr %t301, ptr @.str5228)
%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 @fn_str_eq(ptr %t304, ptr @.str5229)
%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 @fn_str_eq(ptr %t307, ptr @.str5230)
%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 @fn_str_eq(ptr %t310, ptr @.str5231)
%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 @fn_str_eq(ptr %t313, ptr @.str5232)
%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 @fn_str_eq(ptr %t316, ptr @.str5233)
%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 @fn_str_eq(ptr %t319, ptr @.str5234)
%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 @fn_str_eq(ptr %t322, ptr @.str5235)
%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 @fn_str_eq(ptr %t325, ptr @.str5236)
%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 @fn_str_eq(ptr %t328, ptr @.str5237)
%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 @fn_str_eq(ptr %t331, ptr @.str5238)
%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 @fn_str_eq(ptr %t334, ptr @.str5239)
%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 @fn_str_eq(ptr %t337, ptr @.str5240)
%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 @fn_str_eq(ptr %t340, ptr @.str5241)
%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 @fn_str_eq(ptr %t343, ptr @.str5242)
%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 @fn_str_eq(ptr %t346, ptr @.str5243)
%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 @fn_str_eq(ptr %t349, ptr @.str5244)
%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 @fn_str_eq(ptr %t352, ptr @.str5245)
%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 @fn_str_eq(ptr %t355, ptr @.str5246)
%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 @fn_str_eq(ptr %t358, ptr @.str5247)
%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 @fn_str_eq(ptr %t361, ptr @.str5248)
%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 @fn_str_eq(ptr %t364, ptr @.str5249)
%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 @fn_str_eq(ptr %t367, ptr @.str5250)
%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 @fn_str_eq(ptr %t370, ptr @.str5251)
%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 @fn_str_eq(ptr %t373, ptr @.str5252)
%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 @fn_str_eq(ptr %t376, ptr @.str5253)
%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 @fn_str_eq(ptr %t379, ptr @.str5254)
%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 @fn_str_eq(ptr %t382, ptr @.str5255)
%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 @fn_str_eq(ptr %t385, ptr @.str5256)
%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 @fn_str_eq(ptr %t388, ptr @.str5257)
%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 @fn_str_eq(ptr %t391, ptr @.str5258)
%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 @fn_str_eq(ptr %t394, ptr @.str5259)
%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 @fn_str_eq(ptr %t397, ptr @.str5260)
%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 @fn_str_eq(ptr %t400, ptr @.str5261)
%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 @fn_str_eq(ptr %t403, ptr @.str5262)
%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 @fn_str_eq(ptr %t406, ptr @.str5263)
%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 @fn_str_eq(ptr %t409, ptr @.str5264)
%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 @fn_str_eq(ptr %t412, ptr @.str5265)
%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 @fn_str_eq(ptr %t415, ptr @.str5266)
%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 @fn_str_eq(ptr %t418, ptr @.str5267)
%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 @fn_str_eq(ptr %t421, ptr @.str5268)
%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 @fn_str_eq(ptr %t424, ptr @.str5269)
%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 @fn_str_eq(ptr %t427, ptr @.str5270)
%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 @fn_str_eq(ptr %t430, ptr @.str5271)
%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 @fn_str_eq(ptr %t433, ptr @.str5272)
%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 @fn_str_eq(ptr %t436, ptr @.str5273)
%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 @fn_str_eq(ptr %t439, ptr @.str5274)
%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 @fn_str_eq(ptr %t442, ptr @.str5275)
%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 @fn_str_eq(ptr %t445, ptr @.str5276)
%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 @fn_str_eq(ptr %t448, ptr @.str5277)
%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 @fn_str_eq(ptr %t451, ptr @.str5278)
%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 @fn_str_eq(ptr %t454, ptr @.str5279)
%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 @fn_str_eq(ptr %t457, ptr @.str5280)
%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 @fn_str_eq(ptr %t460, ptr @.str5281)
%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 @fn_str_eq(ptr %t463, ptr @.str5282)
%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 @fn_str_eq(ptr %t466, ptr @.str5283)
%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 @fn_str_eq(ptr %t469, ptr @.str5284)
%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 @fn_str_eq(ptr %t472, ptr @.str5285)
%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 @fn_str_eq(ptr %t475, ptr @.str5286)
%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 @fn_str_eq(ptr %t478, ptr @.str5287)
%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 @fn_str_eq(ptr %t481, ptr @.str5288)
%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 @fn_str_eq(ptr %t484, ptr @.str5289)
%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 @fn_str_eq(ptr %t487, ptr @.str5290)
%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 @fn_str_eq(ptr %t490, ptr @.str5291)
%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 @fn_str_eq(ptr %t493, ptr @.str5292)
%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 @fn_str_eq(ptr %t496, ptr @.str5293)
%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 @fn_str_eq(ptr %t499, ptr @.str5294)
%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 @fn_str_eq(ptr %t502, ptr @.str5295)
%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 @fn_str_eq(ptr %t505, ptr @.str5296)
%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 @fn_str_eq(ptr %t508, ptr @.str5297)
%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 @fn_str_eq(ptr %t511, ptr @.str5298)
%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 @fn_str_eq(ptr %t514, ptr @.str5299)
%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 @fn_str_eq(ptr %t517, ptr @.str5300)
%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 @fn_str_eq(ptr %t520, ptr @.str5301)
%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 @fn_str_eq(ptr %t523, ptr @.str5302)
%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 @fn_str_eq(ptr %t526, ptr @.str5303)
%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 @fn_str_eq(ptr %t529, ptr @.str5304)
%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 @fn_str_eq(ptr %t532, ptr @.str5305)
%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 @fn_str_eq(ptr %t535, ptr @.str5306)
%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 @fn_str_eq(ptr %t538, ptr @.str5307)
%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 @fn_str_eq(ptr %t541, ptr @.str5308)
%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 @fn_str_eq(ptr %t544, ptr @.str5309)
%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 @fn_str_eq(ptr %t547, ptr @.str5310)
%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 @fn_str_eq(ptr %t550, ptr @.str5311)
%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 @fn_str_eq(ptr %t553, ptr @.str5312)
%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 @fn_str_eq(ptr %t556, ptr @.str5313)
%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 @fn_str_eq(ptr %t559, ptr @.str5314)
%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 @fn_str_eq(ptr %t562, ptr @.str5315)
%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 @fn_str_eq(ptr %t565, ptr @.str5316)
%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 @fn_str_eq(ptr %t568, ptr @.str5317)
%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 @fn_str_eq(ptr %t571, ptr @.str5318)
%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 @fn_str_eq(ptr %t574, ptr @.str5319)
%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 @fn_str_eq(ptr %t577, ptr @.str5320)
%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 @fn_str_eq(ptr %t580, ptr @.str5321)
%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 @fn_str_eq(ptr %t583, ptr @.str5322)
%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 @fn_str_eq(ptr %t586, ptr @.str5323)
%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 @fn_str_eq(ptr %t589, ptr @.str5324)
%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 @fn_str_eq(ptr %t592, ptr @.str5325)
%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 @fn_str_eq(ptr %t595, ptr @.str5326)
%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 @fn_str_eq(ptr %t598, ptr @.str5327)
%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 @fn_str_eq(ptr %t601, ptr @.str5328)
%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 @fn_str_eq(ptr %t604, ptr @.str5329)
%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 @fn_str_eq(ptr %t607, ptr @.str5330)
%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 @fn_str_eq(ptr %t610, ptr @.str5331)
%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 @fn_str_eq(ptr %t613, ptr @.str5332)
%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 @fn_str_eq(ptr %t616, ptr @.str5333)
%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 @fn_str_eq(ptr %t619, ptr @.str5334)
%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 @fn_str_eq(ptr %t622, ptr @.str5335)
%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 @fn_str_eq(ptr %t625, ptr @.str5336)
%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 @fn_str_eq(ptr %t628, ptr @.str5337)
%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 @fn_str_eq(ptr %t631, ptr @.str5338)
%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 @fn_str_eq(ptr %t634, ptr @.str5339)
%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 @fn_str_eq(ptr %t637, ptr @.str5340)
%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 @fn_str_eq(ptr %t640, ptr @.str5341)
%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 @fn_str_eq(ptr %t643, ptr @.str5342)
%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 @fn_str_eq(ptr %t646, ptr @.str5343)
%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 @fn_str_eq(ptr %t649, ptr @.str5344)
%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 @fn_str_eq(ptr %t652, ptr @.str5345)
%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 @fn_str_eq(ptr %t655, ptr @.str5346)
%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 @fn_str_eq(ptr %t658, ptr @.str5347)
%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 @fn_str_eq(ptr %t661, ptr @.str5348)
%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 ptr @fn_emit_sizeof(ptr %arg_llt) {
entry:
%retval = alloca ptr
%t0 = alloca ptr
%t5 = alloca ptr
store ptr %arg_llt, ptr %t0
%t1 = load ptr, ptr %t0
%t2 = call ptr @fn_str_concat(ptr @.str5349, ptr %t1)
%t3 = call ptr @fn_str_concat(ptr %t2, ptr @.str5350)
%t4 = call ptr @fn_emit_bind(ptr %t3)
store ptr %t4, ptr %t5
%t6 = load ptr, ptr %t5
%t7 = call ptr @fn_str_concat(ptr @.str5351, ptr %t6)
%t8 = call ptr @fn_str_concat(ptr %t7, ptr @.str5352)
%t9 = call ptr @fn_emit_bind(ptr %t8)
store ptr %t9, ptr %retval
br label %ret
ret:
%t10 = load ptr, ptr %retval
ret ptr %t10
}
define ptr @fn_rec_field(ptr %arg_rec, ptr %arg_fname) {
entry:
%retval = alloca ptr
%t0 = alloca ptr
%t1 = alloca ptr
%t6 = alloca i32
%t24 = alloca ptr
store ptr %arg_rec, ptr %t0
store ptr %arg_fname, ptr %t1
%t2 = load ptr, ptr %t0
%t3 = icmp eq ptr %t2, null
%t4 = zext i1 %t3 to i32
%t5 = icmp ne i32 %t4, 0
br i1 %t5, label %then0, label %ifend2
then0:
store ptr null, ptr %retval
br label %ret
ifend2:
store i32 0, ptr %t6
br label %wcond3
wcond3:
%t7 = load i32, ptr %t6
%t8 = load ptr, ptr %t0
%t9 = getelementptr inbounds %Cmp_Node, ptr %t8, i32 0, i32 7
%t10 = load ptr, ptr %t9
%t11 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 1
%t12 = load i32, ptr %t11
%t13 = icmp slt i32 %t7, %t12
%t14 = zext i1 %t13 to i32
%t15 = icmp ne i32 %t14, 0
br i1 %t15, label %wbody4, label %wend5
wbody4:
%t16 = load ptr, ptr %t0
%t17 = getelementptr inbounds %Cmp_Node, ptr %t16, i32 0, i32 7
%t18 = load ptr, ptr %t17
%t19 = getelementptr inbounds %LSlice, ptr %t18, i32 0, i32 0
%t20 = load ptr, ptr %t19
%t21 = load i32, ptr %t6
%t22 = getelementptr inbounds ptr, ptr %t20, i32 %t21
%t23 = load ptr, ptr %t22
store ptr %t23, ptr %t24
%t25 = load ptr, ptr %t24
%t26 = getelementptr inbounds %Cmp_Node, ptr %t25, i32 0, i32 1
%t27 = load ptr, ptr %t26
%t28 = load ptr, ptr %t1
%t29 = call i32 @fn_str_eq(ptr %t27, ptr %t28)
%t30 = icmp ne i32 %t29, 0
br i1 %t30, label %then6, label %ifend8
then6:
%t31 = load ptr, ptr %t24
%t32 = getelementptr inbounds %Cmp_Node, ptr %t31, i32 0, i32 4
%t33 = load ptr, ptr %t32
store ptr %t33, ptr %retval
br label %ret
ifend8:
%t34 = load i32, ptr %t6
%t35 = add i32 %t34, 1
store i32 %t35, ptr %t6
br label %wcond3
wend5:
store ptr null, ptr %retval
br label %ret
ret:
%t36 = load ptr, ptr %retval
ret ptr %t36
}
define ptr @fn_emit_new_struct(ptr %arg_name, ptr %arg_rec) {
entry:
%retval = alloca ptr
%t0 = alloca ptr
%t1 = alloca ptr
%t4 = alloca ptr
%t11 = alloca ptr
%t14 = alloca ptr
%t19 = alloca ptr
%t20 = alloca i32
%t38 = alloca ptr
%t40 = alloca ptr
%t50 = alloca ptr
%t51 = alloca ptr
%t65 = alloca ptr
%t74 = alloca ptr
%t81 = alloca ptr
store ptr %arg_name, ptr %t0
store ptr %arg_rec, ptr %t1
%t2 = load ptr, ptr %t0
%t3 = call ptr @fn_layout_node(ptr %t2)
store ptr %t3, ptr %t4
%t5 = load ptr, ptr %t4
%t6 = icmp eq ptr %t5, null
%t7 = zext i1 %t6 to i32
%t8 = icmp ne i32 %t7, 0
br i1 %t8, label %then0, label %ifend2
then0:
call void @fn_perr(ptr @.str5353)
br label %ifend2
ifend2:
%t9 = load ptr, ptr %t0
%t10 = call ptr @fn_layout_ty(ptr %t9)
store ptr %t10, ptr %t11
%t12 = load ptr, ptr %t11
%t13 = call ptr @fn_emit_sizeof(ptr %t12)
store ptr %t13, ptr %t14
%t15 = load ptr, ptr %t14
%t16 = call ptr @fn_str_concat(ptr @.str5354, ptr %t15)
%t17 = call ptr @fn_str_concat(ptr %t16, ptr @.str5355)
%t18 = call ptr @fn_emit_bind(ptr %t17)
store ptr %t18, ptr %t19
store i32 0, ptr %t20
br label %wcond3
wcond3:
%t21 = load i32, ptr %t20
%t22 = load ptr, ptr %t4
%t23 = getelementptr inbounds %Cmp_Node, ptr %t22, i32 0, i32 7
%t24 = load ptr, ptr %t23
%t25 = getelementptr inbounds %LSlice, ptr %t24, i32 0, i32 1
%t26 = load i32, ptr %t25
%t27 = icmp slt i32 %t21, %t26
%t28 = zext i1 %t27 to i32
%t29 = icmp ne i32 %t28, 0
br i1 %t29, label %wbody4, label %wend5
wbody4:
%t30 = load ptr, ptr %t4
%t31 = getelementptr inbounds %Cmp_Node, ptr %t30, i32 0, i32 7
%t32 = load ptr, ptr %t31
%t33 = getelementptr inbounds %LSlice, ptr %t32, i32 0, i32 0
%t34 = load ptr, ptr %t33
%t35 = load i32, ptr %t20
%t36 = getelementptr inbounds ptr, ptr %t34, i32 %t35
%t37 = load ptr, ptr %t36
store ptr %t37, ptr %t38
%t39 = call ptr @fn_nreg()
store ptr %t39, ptr %t40
call void @fn_emit(ptr @.str5356)
%t41 = load ptr, ptr %t40
call void @fn_emit(ptr %t41)
call void @fn_emit(ptr @.str5357)
%t42 = load ptr, ptr %t11
call void @fn_emit(ptr %t42)
call void @fn_emit(ptr @.str5358)
%t43 = load ptr, ptr %t19
call void @fn_emit(ptr %t43)
call void @fn_emit(ptr @.str5359)
%t44 = load i32, ptr %t20
%t45 = call ptr @fn_itoa(i32 %t44)
call void @fn_emit(ptr %t45)
call void @fn_emit(ptr @.str5360)
%t46 = load ptr, ptr %t38
%t47 = getelementptr inbounds %Cmp_Node, ptr %t46, i32 0, i32 3
%t48 = load ptr, ptr %t47
%t49 = call ptr @fn_llty(ptr %t48)
store ptr %t49, ptr %t50
store ptr @.str5361, ptr %t51
%t52 = load ptr, ptr %t50
%t53 = call i32 @fn_str_eq(ptr %t52, ptr @.str5362)
%t54 = icmp ne i32 %t53, 0
br i1 %t54, label %then6, label %ifend8
then6:
store ptr @.str5363, ptr %t51
br label %ifend8
ifend8:
%t55 = load ptr, ptr %t38
%t56 = getelementptr inbounds %Cmp_Node, ptr %t55, i32 0, i32 4
%t57 = load ptr, ptr %t56
%t58 = icmp ne ptr %t57, null
%t59 = zext i1 %t58 to i32
%t60 = icmp ne i32 %t59, 0
br i1 %t60, label %then9, label %ifend11
then9:
%t61 = load ptr, ptr %t38
%t62 = getelementptr inbounds %Cmp_Node, ptr %t61, i32 0, i32 4
%t63 = load ptr, ptr %t62
%t64 = call ptr @fn_emit_expr(ptr %t63)
store ptr %t64, ptr %t65
%t66 = load ptr, ptr %t65
%t67 = getelementptr inbounds %Cmp_Val, ptr %t66, i32 0, i32 0
%t68 = load ptr, ptr %t67
store ptr %t68, ptr %t51
br label %ifend11
ifend11:
%t69 = load ptr, ptr %t1
%t70 = load ptr, ptr %t38
%t71 = getelementptr inbounds %Cmp_Node, ptr %t70, i32 0, i32 1
%t72 = load ptr, ptr %t71
%t73 = call ptr @fn_rec_field(ptr %t69, ptr %t72)
store ptr %t73, ptr %t74
%t75 = load ptr, ptr %t74
%t76 = icmp ne ptr %t75, null
%t77 = zext i1 %t76 to i32
%t78 = icmp ne i32 %t77, 0
br i1 %t78, label %then12, label %ifend14
then12:
%t79 = load ptr, ptr %t74
%t80 = call ptr @fn_emit_expr(ptr %t79)
store ptr %t80, ptr %t81
%t82 = load ptr, ptr %t81
%t83 = getelementptr inbounds %Cmp_Val, ptr %t82, i32 0, i32 0
%t84 = load ptr, ptr %t83
store ptr %t84, ptr %t51
br label %ifend14
ifend14:
call void @fn_emit(ptr @.str5364)
%t85 = load ptr, ptr %t50
call void @fn_emit(ptr %t85)
call void @fn_emit(ptr @.str5365)
%t86 = load ptr, ptr %t51
call void @fn_emit(ptr %t86)
call void @fn_emit(ptr @.str5366)
%t87 = load ptr, ptr %t40
call void @fn_emit(ptr %t87)
call void @fn_emit(ptr @.str5367)
%t88 = load i32, ptr %t20
%t89 = add i32 %t88, 1
store i32 %t89, ptr %t20
br label %wcond3
wend5:
%t90 = load ptr, ptr %t19
%t91 = load ptr, ptr %t0
%t92 = call ptr @fn_val(ptr %t90, ptr %t91)
store ptr %t92, ptr %retval
br label %ret
ret:
%t93 = load ptr, ptr %retval
ret ptr %t93
}
define ptr @fn_emit_new_slice(ptr %arg_ty) {
entry:
%retval = alloca ptr
%t0 = alloca ptr
%t2 = alloca ptr
%t7 = alloca ptr
%t9 = alloca ptr
%t14 = alloca ptr
%t19 = alloca ptr
store ptr %arg_ty, ptr %t0
%t1 = call ptr @fn_emit_sizeof(ptr @.str5368)
store ptr %t1, ptr %t2
%t3 = load ptr, ptr %t2
%t4 = call ptr @fn_str_concat(ptr @.str5369, ptr %t3)
%t5 = call ptr @fn_str_concat(ptr %t4, ptr @.str5370)
%t6 = call ptr @fn_emit_bind(ptr %t5)
store ptr %t6, ptr %t7
%t8 = call ptr @fn_nreg()
store ptr %t8, ptr %t9
call void @fn_emit(ptr @.str5371)
%t10 = load ptr, ptr %t9
call void @fn_emit(ptr %t10)
call void @fn_emit(ptr @.str5372)
%t11 = load ptr, ptr %t7
call void @fn_emit(ptr %t11)
call void @fn_emit(ptr @.str5373)
call void @fn_emit(ptr @.str5374)
%t12 = load ptr, ptr %t9
call void @fn_emit(ptr %t12)
call void @fn_emit(ptr @.str5375)
%t13 = call ptr @fn_nreg()
store ptr %t13, ptr %t14
call void @fn_emit(ptr @.str5376)
%t15 = load ptr, ptr %t14
call void @fn_emit(ptr %t15)
call void @fn_emit(ptr @.str5377)
%t16 = load ptr, ptr %t7
call void @fn_emit(ptr %t16)
call void @fn_emit(ptr @.str5378)
call void @fn_emit(ptr @.str5379)
%t17 = load ptr, ptr %t14
call void @fn_emit(ptr %t17)
call void @fn_emit(ptr @.str5380)
%t18 = call ptr @fn_nreg()
store ptr %t18, ptr %t19
call void @fn_emit(ptr @.str5381)
%t20 = load ptr, ptr %t19
call void @fn_emit(ptr %t20)
call void @fn_emit(ptr @.str5382)
%t21 = load ptr, ptr %t7
call void @fn_emit(ptr %t21)
call void @fn_emit(ptr @.str5383)
call void @fn_emit(ptr @.str5384)
%t22 = load ptr, ptr %t19
call void @fn_emit(ptr %t22)
call void @fn_emit(ptr @.str5385)
%t23 = load ptr, ptr %t7
%t24 = load ptr, ptr %t0
%t25 = call ptr @fn_val(ptr %t23, ptr %t24)
store ptr %t25, ptr %retval
br label %ret
ret:
%t26 = load ptr, ptr %retval
ret ptr %t26
}
define ptr @fn_slice_field(ptr %arg_h, i32 %arg_i) {
entry:
%retval = alloca ptr
%t0 = alloca ptr
%t1 = alloca i32
%t3 = alloca ptr
store ptr %arg_h, ptr %t0
store i32 %arg_i, ptr %t1
%t2 = call ptr @fn_nreg()
store ptr %t2, ptr %t3
call void @fn_emit(ptr @.str5386)
%t4 = load ptr, ptr %t3
call void @fn_emit(ptr %t4)
call void @fn_emit(ptr @.str5387)
%t5 = load ptr, ptr %t0
call void @fn_emit(ptr %t5)
call void @fn_emit(ptr @.str5388)
%t6 = load i32, ptr %t1
%t7 = call ptr @fn_itoa(i32 %t6)
call void @fn_emit(ptr %t7)
call void @fn_emit(ptr @.str5389)
%t8 = load ptr, ptr %t3
store ptr %t8, ptr %retval
br label %ret
ret:
%t9 = load ptr, ptr %retval
ret ptr %t9
}
define ptr @fn_emit_len(ptr %arg_e) {
entry:
%retval = alloca ptr
%t0 = alloca ptr
%t9 = alloca ptr
%t19 = alloca ptr
%t30 = alloca ptr
store ptr %arg_e, ptr %t0
%t1 = load ptr, ptr %t0
%t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 7
%t3 = load ptr, ptr %t2
%t4 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 0
%t5 = load ptr, ptr %t4
%t6 = getelementptr inbounds ptr, ptr %t5, i32 0
%t7 = load ptr, ptr %t6
%t8 = call ptr @fn_emit_expr(ptr %t7)
store ptr %t8, ptr %t9
%t10 = load ptr, ptr %t9
%t11 = getelementptr inbounds %Cmp_Val, ptr %t10, i32 0, i32 1
%t12 = load ptr, ptr %t11
%t13 = call i32 @fn_is_slice_ty(ptr %t12)
%t14 = icmp ne i32 %t13, 0
br i1 %t14, label %then0, label %ifend2
then0:
%t15 = load ptr, ptr %t9
%t16 = getelementptr inbounds %Cmp_Val, ptr %t15, i32 0, i32 0
%t17 = load ptr, ptr %t16
%t18 = call ptr @fn_slice_field(ptr %t17, i32 1)
store ptr %t18, ptr %t19
%t20 = load ptr, ptr %t19
%t21 = call ptr @fn_str_concat(ptr @.str5390, ptr %t20)
%t22 = call ptr @fn_emit_bind(ptr %t21)
%t23 = call ptr @fn_val(ptr %t22, ptr @.str5391)
store ptr %t23, ptr %retval
br label %ret
ifend2:
%t24 = load ptr, ptr %t9
%t25 = getelementptr inbounds %Cmp_Val, ptr %t24, i32 0, i32 0
%t26 = load ptr, ptr %t25
%t27 = call ptr @fn_str_concat(ptr @.str5392, ptr %t26)
%t28 = call ptr @fn_str_concat(ptr %t27, ptr @.str5393)
%t29 = call ptr @fn_emit_bind(ptr %t28)
store ptr %t29, ptr %t30
%t31 = load ptr, ptr %t30
%t32 = call ptr @fn_str_concat(ptr @.str5394, ptr %t31)
%t33 = call ptr @fn_str_concat(ptr %t32, ptr @.str5395)
%t34 = call ptr @fn_emit_bind(ptr %t33)
%t35 = call ptr @fn_val(ptr %t34, ptr @.str5396)
store ptr %t35, ptr %retval
br label %ret
ret:
%t36 = load ptr, ptr %retval
ret ptr %t36
}
define ptr @fn_emit_push(ptr %arg_e) {
entry:
%retval = alloca ptr
%t0 = alloca ptr
%t9 = alloca ptr
%t14 = alloca ptr
%t17 = alloca ptr
%t21 = alloca ptr
%t24 = alloca ptr
%t27 = alloca ptr
%t30 = alloca ptr
%t34 = alloca ptr
%t38 = alloca ptr
%t45 = alloca ptr
%t47 = alloca ptr
%t49 = alloca ptr
%t58 = alloca ptr
%t63 = alloca ptr
%t70 = alloca ptr
%t73 = alloca ptr
%t78 = alloca ptr
%t85 = alloca ptr
%t89 = alloca ptr
%t97 = alloca ptr
%t112 = alloca ptr
%t116 = alloca ptr
%t118 = alloca ptr
%t132 = alloca ptr
store ptr %arg_e, ptr %t0
%t1 = load ptr, ptr %t0
%t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 7
%t3 = load ptr, ptr %t2
%t4 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 0
%t5 = load ptr, ptr %t4
%t6 = getelementptr inbounds ptr, ptr %t5, i32 0
%t7 = load ptr, ptr %t6
%t8 = call ptr @fn_emit_expr(ptr %t7)
store ptr %t8, ptr %t9
%t10 = load ptr, ptr %t9
%t11 = getelementptr inbounds %Cmp_Val, ptr %t10, i32 0, i32 1
%t12 = load ptr, ptr %t11
%t13 = call ptr @fn_slice_elem(ptr %t12)
store ptr %t13, ptr %t14
%t15 = load ptr, ptr %t14
%t16 = call ptr @fn_llty(ptr %t15)
store ptr %t16, ptr %t17
%t18 = load ptr, ptr %t9
%t19 = getelementptr inbounds %Cmp_Val, ptr %t18, i32 0, i32 0
%t20 = load ptr, ptr %t19
store ptr %t20, ptr %t21
%t22 = load ptr, ptr %t21
%t23 = call ptr @fn_slice_field(ptr %t22, i32 1)
store ptr %t23, ptr %t24
%t25 = load ptr, ptr %t21
%t26 = call ptr @fn_slice_field(ptr %t25, i32 2)
store ptr %t26, ptr %t27
%t28 = load ptr, ptr %t21
%t29 = call ptr @fn_slice_field(ptr %t28, i32 0)
store ptr %t29, ptr %t30
%t31 = load ptr, ptr %t24
%t32 = call ptr @fn_str_concat(ptr @.str5397, ptr %t31)
%t33 = call ptr @fn_emit_bind(ptr %t32)
store ptr %t33, ptr %t34
%t35 = load ptr, ptr %t27
%t36 = call ptr @fn_str_concat(ptr @.str5398, ptr %t35)
%t37 = call ptr @fn_emit_bind(ptr %t36)
store ptr %t37, ptr %t38
%t39 = load ptr, ptr %t34
%t40 = call ptr @fn_str_concat(ptr @.str5399, ptr %t39)
%t41 = call ptr @fn_str_concat(ptr %t40, ptr @.str5400)
%t42 = load ptr, ptr %t38
%t43 = call ptr @fn_str_concat(ptr %t41, ptr %t42)
%t44 = call ptr @fn_emit_bind(ptr %t43)
store ptr %t44, ptr %t45
%t46 = call ptr @fn_lbl(ptr @.str5401)
store ptr %t46, ptr %t47
%t48 = call ptr @fn_lbl(ptr @.str5402)
store ptr %t48, ptr %t49
call void @fn_emit(ptr @.str5403)
%t50 = load ptr, ptr %t45
call void @fn_emit(ptr %t50)
call void @fn_emit(ptr @.str5404)
%t51 = load ptr, ptr %t47
call void @fn_emit(ptr %t51)
call void @fn_emit(ptr @.str5405)
%t52 = load ptr, ptr %t49
call void @fn_emit(ptr %t52)
call void @fn_emit(ptr @.str5406)
%t53 = load ptr, ptr %t47
call void @fn_emit(ptr %t53)
call void @fn_emit(ptr @.str5407)
%t54 = load ptr, ptr %t38
%t55 = call ptr @fn_str_concat(ptr @.str5408, ptr %t54)
%t56 = call ptr @fn_str_concat(ptr %t55, ptr @.str5409)
%t57 = call ptr @fn_emit_bind(ptr %t56)
store ptr %t57, ptr %t58
%t59 = load ptr, ptr %t38
%t60 = call ptr @fn_str_concat(ptr @.str5410, ptr %t59)
%t61 = call ptr @fn_str_concat(ptr %t60, ptr @.str5411)
%t62 = call ptr @fn_emit_bind(ptr %t61)
store ptr %t62, ptr %t63
%t64 = load ptr, ptr %t63
%t65 = call ptr @fn_str_concat(ptr @.str5412, ptr %t64)
%t66 = call ptr @fn_str_concat(ptr %t65, ptr @.str5413)
%t67 = load ptr, ptr %t58
%t68 = call ptr @fn_str_concat(ptr %t66, ptr %t67)
%t69 = call ptr @fn_emit_bind(ptr %t68)
store ptr %t69, ptr %t70
%t71 = load ptr, ptr %t17
%t72 = call ptr @fn_emit_sizeof(ptr %t71)
store ptr %t72, ptr %t73
%t74 = load ptr, ptr %t70
%t75 = call ptr @fn_str_concat(ptr @.str5414, ptr %t74)
%t76 = call ptr @fn_str_concat(ptr %t75, ptr @.str5415)
%t77 = call ptr @fn_emit_bind(ptr %t76)
store ptr %t77, ptr %t78
%t79 = load ptr, ptr %t78
%t80 = call ptr @fn_str_concat(ptr @.str5416, ptr %t79)
%t81 = call ptr @fn_str_concat(ptr %t80, ptr @.str5417)
%t82 = load ptr, ptr %t73
%t83 = call ptr @fn_str_concat(ptr %t81, ptr %t82)
%t84 = call ptr @fn_emit_bind(ptr %t83)
store ptr %t84, ptr %t85
%t86 = load ptr, ptr %t30
%t87 = call ptr @fn_str_concat(ptr @.str5418, ptr %t86)
%t88 = call ptr @fn_emit_bind(ptr %t87)
store ptr %t88, ptr %t89
%t90 = load ptr, ptr %t89
%t91 = call ptr @fn_str_concat(ptr @.str5419, ptr %t90)
%t92 = call ptr @fn_str_concat(ptr %t91, ptr @.str5420)
%t93 = load ptr, ptr %t85
%t94 = call ptr @fn_str_concat(ptr %t92, ptr %t93)
%t95 = call ptr @fn_str_concat(ptr %t94, ptr @.str5421)
%t96 = call ptr @fn_emit_bind(ptr %t95)
store ptr %t96, ptr %t97
call void @fn_emit(ptr @.str5422)
%t98 = load ptr, ptr %t97
call void @fn_emit(ptr %t98)
call void @fn_emit(ptr @.str5423)
%t99 = load ptr, ptr %t30
call void @fn_emit(ptr %t99)
call void @fn_emit(ptr @.str5424)
call void @fn_emit(ptr @.str5425)
%t100 = load ptr, ptr %t70
call void @fn_emit(ptr %t100)
call void @fn_emit(ptr @.str5426)
%t101 = load ptr, ptr %t27
call void @fn_emit(ptr %t101)
call void @fn_emit(ptr @.str5427)
call void @fn_emit(ptr @.str5428)
%t102 = load ptr, ptr %t49
call void @fn_emit(ptr %t102)
call void @fn_emit(ptr @.str5429)
%t103 = load ptr, ptr %t49
call void @fn_emit(ptr %t103)
call void @fn_emit(ptr @.str5430)
%t104 = load ptr, ptr %t0
%t105 = getelementptr inbounds %Cmp_Node, ptr %t104, i32 0, i32 7
%t106 = load ptr, ptr %t105
%t107 = getelementptr inbounds %LSlice, ptr %t106, i32 0, i32 0
%t108 = load ptr, ptr %t107
%t109 = getelementptr inbounds ptr, ptr %t108, i32 1
%t110 = load ptr, ptr %t109
%t111 = call ptr @fn_emit_expr(ptr %t110)
store ptr %t111, ptr %t112
%t113 = load ptr, ptr %t30
%t114 = call ptr @fn_str_concat(ptr @.str5431, ptr %t113)
%t115 = call ptr @fn_emit_bind(ptr %t114)
store ptr %t115, ptr %t116
%t117 = call ptr @fn_nreg()
store ptr %t117, ptr %t118
call void @fn_emit(ptr @.str5432)
%t119 = load ptr, ptr %t118
call void @fn_emit(ptr %t119)
call void @fn_emit(ptr @.str5433)
%t120 = load ptr, ptr %t17
call void @fn_emit(ptr %t120)
call void @fn_emit(ptr @.str5434)
%t121 = load ptr, ptr %t116
call void @fn_emit(ptr %t121)
call void @fn_emit(ptr @.str5435)
%t122 = load ptr, ptr %t34
call void @fn_emit(ptr %t122)
call void @fn_emit(ptr @.str5436)
call void @fn_emit(ptr @.str5437)
%t123 = load ptr, ptr %t17
call void @fn_emit(ptr %t123)
call void @fn_emit(ptr @.str5438)
%t124 = load ptr, ptr %t112
%t125 = getelementptr inbounds %Cmp_Val, ptr %t124, i32 0, i32 0
%t126 = load ptr, ptr %t125
call void @fn_emit(ptr %t126)
call void @fn_emit(ptr @.str5439)
%t127 = load ptr, ptr %t118
call void @fn_emit(ptr %t127)
call void @fn_emit(ptr @.str5440)
%t128 = load ptr, ptr %t34
%t129 = call ptr @fn_str_concat(ptr @.str5441, ptr %t128)
%t130 = call ptr @fn_str_concat(ptr %t129, ptr @.str5442)
%t131 = call ptr @fn_emit_bind(ptr %t130)
store ptr %t131, ptr %t132
call void @fn_emit(ptr @.str5443)
%t133 = load ptr, ptr %t132
call void @fn_emit(ptr %t133)
call void @fn_emit(ptr @.str5444)
%t134 = load ptr, ptr %t24
call void @fn_emit(ptr %t134)
call void @fn_emit(ptr @.str5445)
%t135 = call ptr @fn_val(ptr @.str5446, ptr @.str5447)
store ptr %t135, ptr %retval
br label %ret
ret:
%t136 = load ptr, ptr %retval
ret ptr %t136
}
define void @fn_emit_try_body(ptr %arg_b, ptr %arg_slot) {
entry:
%t0 = alloca ptr
%t1 = alloca ptr
%t2 = alloca i32
%t22 = alloca ptr
%t23 = alloca i32
%t51 = alloca ptr
store ptr %arg_b, ptr %t0
store ptr %arg_slot, ptr %t1
store i32 0, ptr %t2
br label %wcond0
wcond0:
%t3 = load i32, ptr %t2
%t4 = load ptr, ptr %t0
%t5 = getelementptr inbounds %Cmp_Node, ptr %t4, i32 0, i32 7
%t6 = load ptr, ptr %t5
%t7 = getelementptr inbounds %LSlice, ptr %t6, i32 0, i32 1
%t8 = load i32, ptr %t7
%t9 = icmp slt i32 %t3, %t8
%t10 = zext i1 %t9 to i32
%t11 = icmp ne i32 %t10, 0
br i1 %t11, label %wbody1, label %wend2
wbody1:
%t12 = load i32, ptr @g_g_term
%t13 = icmp ne i32 %t12, 0
br i1 %t13, label %then3, label %ifend5
then3:
br label %ret
ifend5:
%t14 = load ptr, ptr %t0
%t15 = getelementptr inbounds %Cmp_Node, ptr %t14, i32 0, i32 7
%t16 = load ptr, ptr %t15
%t17 = getelementptr inbounds %LSlice, ptr %t16, i32 0, i32 0
%t18 = load ptr, ptr %t17
%t19 = load i32, ptr %t2
%t20 = getelementptr inbounds ptr, ptr %t18, i32 %t19
%t21 = load ptr, ptr %t20
store ptr %t21, ptr %t22
%t24 = load i32, ptr %t2
%t25 = load ptr, ptr %t0
%t26 = getelementptr inbounds %Cmp_Node, ptr %t25, i32 0, i32 7
%t27 = load ptr, ptr %t26
%t28 = getelementptr inbounds %LSlice, ptr %t27, i32 0, i32 1
%t29 = load i32, ptr %t28
%t30 = sub i32 %t29, 1
%t31 = icmp eq i32 %t24, %t30
%t32 = zext i1 %t31 to i32
%t33 = icmp ne i32 %t32, 0
%t34 = zext i1 %t33 to i32
store i32 %t34, ptr %t23
br i1 %t33, label %sc6, label %scend7
sc6:
%t35 = load ptr, ptr %t22
%t36 = getelementptr inbounds %Cmp_Node, ptr %t35, i32 0, i32 0
%t37 = load i32, ptr %t36
%t38 = icmp eq i32 %t37, 16
%t39 = zext i1 %t38 to i32
%t40 = icmp ne i32 %t39, 0
%t41 = zext i1 %t40 to i32
store i32 %t41, ptr %t23
br label %scend7
scend7:
%t42 = load i32, ptr %t23
%t43 = icmp ne i32 %t42, 0
br i1 %t43, label %then8, label %else9
then8:
%t44 = load ptr, ptr %t22
%t45 = getelementptr inbounds %Cmp_Node, ptr %t44, i32 0, i32 8
%t46 = load i32, ptr %t45
call void @fn_emit_cov_hit(i32 %t46)
%t47 = load ptr, ptr %t22
%t48 = getelementptr inbounds %Cmp_Node, ptr %t47, i32 0, i32 4
%t49 = load ptr, ptr %t48
%t50 = call ptr @fn_emit_expr(ptr %t49)
store ptr %t50, ptr %t51
%t52 = load ptr, ptr %t51
%t53 = call ptr @fn_coerce_code(ptr %t52, ptr @.str5449)
%t54 = call ptr @fn_str_concat(ptr @.str5448, ptr %t53)
%t55 = call ptr @fn_str_concat(ptr %t54, ptr @.str5450)
%t56 = load ptr, ptr %t1
%t57 = call ptr @fn_str_concat(ptr %t55, ptr %t56)
%t58 = call ptr @fn_str_concat(ptr %t57, ptr @.str5451)
call void @fn_emit(ptr %t58)
br label %ifend10
else9:
%t59 = load ptr, ptr %t22
call void @fn_emit_stmt(ptr %t59)
br label %ifend10
ifend10:
%t60 = load i32, ptr %t2
%t61 = add i32 %t60, 1
store i32 %t61, ptr %t2
br label %wcond0
wend2:
br label %ret
ret:
ret void
}
define ptr @fn_emit_try(ptr %arg_e) {
entry:
%retval = alloca ptr
%t0 = alloca ptr
%t5 = alloca ptr
%t24 = alloca ptr
%t34 = alloca ptr
%t38 = alloca ptr
%t43 = alloca ptr
%t45 = alloca ptr
%t47 = alloca ptr
%t49 = alloca ptr
%t67 = alloca ptr
%t71 = alloca ptr
%t89 = alloca ptr
%t93 = alloca ptr
%t95 = alloca ptr
%t103 = alloca i32
store ptr %arg_e, ptr %t0
store i32 1, ptr @g_g_uses_result
%t1 = load ptr, ptr %t0
%t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 4
%t3 = load ptr, ptr %t2
%t4 = call ptr @fn_emit_expr(ptr %t3)
store ptr %t4, ptr %t5
%t6 = load ptr, ptr %t5
%t7 = getelementptr inbounds %Cmp_Val, ptr %t6, i32 0, i32 1
%t8 = load ptr, ptr %t7
%t9 = call i32 @fn_str_eq(ptr %t8, ptr @.str5452)
%t10 = icmp eq i32 %t9, 0
%t11 = zext i1 %t10 to i32
%t12 = icmp ne i32 %t11, 0
br i1 %t12, label %then0, label %ifend2
then0:
%t13 = load ptr, ptr %t5
%t14 = getelementptr inbounds %Cmp_Val, ptr %t13, i32 0, i32 1
%t15 = load ptr, ptr %t14
%t16 = call ptr @fn_str_concat(ptr @.str5453, ptr %t15)
%t17 = call ptr @fn_str_concat(ptr %t16, ptr @.str5454)
%t18 = load ptr, ptr %t0
%t19 = getelementptr inbounds %Cmp_Node, ptr %t18, i32 0, i32 8
%t20 = load i32, ptr %t19
%t21 = call ptr @fn_itoa(i32 %t20)
%t22 = call ptr @fn_str_concat(ptr %t17, ptr %t21)
call void @fn_perr(ptr %t22)
br label %ifend2
ifend2:
%t23 = call ptr @fn_emit_alloca(ptr @.str5455)
store ptr %t23, ptr %t24
%t25 = load ptr, ptr %t24
%t26 = call ptr @fn_str_concat(ptr @.str5456, ptr %t25)
%t27 = call ptr @fn_str_concat(ptr %t26, ptr @.str5457)
call void @fn_emit(ptr %t27)
%t28 = load ptr, ptr %t5
%t29 = getelementptr inbounds %Cmp_Val, ptr %t28, i32 0, i32 0
%t30 = load ptr, ptr %t29
%t31 = call ptr @fn_str_concat(ptr @.str5458, ptr %t30)
%t32 = call ptr @fn_str_concat(ptr %t31, ptr @.str5459)
%t33 = call ptr @fn_emit_bind(ptr %t32)
store ptr %t33, ptr %t34
%t35 = load ptr, ptr %t34
%t36 = call ptr @fn_str_concat(ptr @.str5460, ptr %t35)
%t37 = call ptr @fn_emit_bind(ptr %t36)
store ptr %t37, ptr %t38
%t39 = load ptr, ptr %t38
%t40 = call ptr @fn_str_concat(ptr @.str5461, ptr %t39)
%t41 = call ptr @fn_str_concat(ptr %t40, ptr @.str5462)
%t42 = call ptr @fn_emit_bind(ptr %t41)
store ptr %t42, ptr %t43
%t44 = call ptr @fn_lbl(ptr @.str5463)
store ptr %t44, ptr %t45
%t46 = call ptr @fn_lbl(ptr @.str5464)
store ptr %t46, ptr %t47
%t48 = call ptr @fn_lbl(ptr @.str5465)
store ptr %t48, ptr %t49
%t50 = load ptr, ptr %t43
%t51 = call ptr @fn_str_concat(ptr @.str5466, ptr %t50)
%t52 = call ptr @fn_str_concat(ptr %t51, ptr @.str5467)
%t53 = load ptr, ptr %t45
%t54 = call ptr @fn_str_concat(ptr %t52, ptr %t53)
%t55 = call ptr @fn_str_concat(ptr %t54, ptr @.str5468)
%t56 = load ptr, ptr %t47
%t57 = call ptr @fn_str_concat(ptr %t55, ptr %t56)
%t58 = call ptr @fn_str_concat(ptr %t57, ptr @.str5469)
call void @fn_emit(ptr %t58)
%t59 = load ptr, ptr %t45
%t60 = call ptr @fn_str_concat(ptr %t59, ptr @.str5470)
call void @fn_emit(ptr %t60)
store i32 0, ptr @g_g_term
%t61 = load ptr, ptr %t5
%t62 = getelementptr inbounds %Cmp_Val, ptr %t61, i32 0, i32 0
%t63 = load ptr, ptr %t62
%t64 = call ptr @fn_str_concat(ptr @.str5471, ptr %t63)
%t65 = call ptr @fn_str_concat(ptr %t64, ptr @.str5472)
%t66 = call ptr @fn_emit_bind(ptr %t65)
store ptr %t66, ptr %t67
%t68 = load ptr, ptr %t67
%t69 = call ptr @fn_str_concat(ptr @.str5473, ptr %t68)
%t70 = call ptr @fn_emit_bind(ptr %t69)
store ptr %t70, ptr %t71
%t72 = load ptr, ptr %t71
%t73 = call ptr @fn_str_concat(ptr @.str5474, ptr %t72)
%t74 = call ptr @fn_str_concat(ptr %t73, ptr @.str5475)
%t75 = load ptr, ptr %t24
%t76 = call ptr @fn_str_concat(ptr %t74, ptr %t75)
%t77 = call ptr @fn_str_concat(ptr %t76, ptr @.str5476)
call void @fn_emit(ptr %t77)
%t78 = load ptr, ptr %t49
%t79 = call ptr @fn_str_concat(ptr @.str5477, ptr %t78)
%t80 = call ptr @fn_str_concat(ptr %t79, ptr @.str5478)
call void @fn_emit(ptr %t80)
%t81 = load ptr, ptr %t47
%t82 = call ptr @fn_str_concat(ptr %t81, ptr @.str5479)
call void @fn_emit(ptr %t82)
store i32 0, ptr @g_g_term
%t83 = load ptr, ptr %t5
%t84 = getelementptr inbounds %Cmp_Val, ptr %t83, i32 0, i32 0
%t85 = load ptr, ptr %t84
%t86 = call ptr @fn_str_concat(ptr @.str5480, ptr %t85)
%t87 = call ptr @fn_str_concat(ptr %t86, ptr @.str5481)
%t88 = call ptr @fn_emit_bind(ptr %t87)
store ptr %t88, ptr %t89
%t90 = load ptr, ptr %t89
%t91 = call ptr @fn_str_concat(ptr @.str5482, ptr %t90)
%t92 = call ptr @fn_emit_bind(ptr %t91)
store ptr %t92, ptr %t93
%t94 = call ptr @fn_emit_alloca(ptr @.str5483)
store ptr %t94, ptr %t95
%t96 = load ptr, ptr %t93
%t97 = call ptr @fn_str_concat(ptr @.str5484, ptr %t96)
%t98 = call ptr @fn_str_concat(ptr %t97, ptr @.str5485)
%t99 = load ptr, ptr %t95
%t100 = call ptr @fn_str_concat(ptr %t98, ptr %t99)
%t101 = call ptr @fn_str_concat(ptr %t100, ptr @.str5486)
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 @.str5487, ptr %t104, ptr @.str5488)
%t105 = load ptr, ptr %t0
%t106 = getelementptr inbounds %Cmp_Node, ptr %t105, i32 0, i32 5
%t107 = load ptr, ptr %t106
%t108 = load ptr, ptr %t24
call void @fn_emit_try_body(ptr %t107, ptr %t108)
%t109 = load i32, ptr %t103
store i32 %t109, ptr @g_nloc
%t110 = load i32, ptr @g_g_term
%t111 = icmp eq i32 %t110, 0
%t112 = zext i1 %t111 to i32
%t113 = icmp ne i32 %t112, 0
br i1 %t113, label %then3, label %ifend5
then3:
%t114 = load ptr, ptr %t49
%t115 = call ptr @fn_str_concat(ptr @.str5489, ptr %t114)
%t116 = call ptr @fn_str_concat(ptr %t115, ptr @.str5490)
call void @fn_emit(ptr %t116)
br label %ifend5
ifend5:
%t117 = load ptr, ptr %t49
%t118 = call ptr @fn_str_concat(ptr %t117, ptr @.str5491)
call void @fn_emit(ptr %t118)
store i32 0, ptr @g_g_term
%t119 = load ptr, ptr %t24
%t120 = call ptr @fn_str_concat(ptr @.str5492, ptr %t119)
%t121 = call ptr @fn_emit_bind(ptr %t120)
%t122 = call ptr @fn_val(ptr %t121, ptr @.str5493)
store ptr %t122, ptr %retval
br label %ret
ret:
%t123 = load ptr, ptr %retval
ret ptr %t123
}
define ptr @fn_emit_load_at(ptr %arg_addr, ptr %arg_ty) {
entry:
%retval = alloca ptr
%t0 = alloca ptr
%t1 = alloca ptr
%t9 = alloca ptr
store ptr %arg_addr, ptr %t0
store ptr %arg_ty, ptr %t1
%t2 = load ptr, ptr %t1
%t3 = call ptr @fn_llty(ptr %t2)
%t4 = call ptr @fn_str_concat(ptr @.str5494, ptr %t3)
%t5 = call ptr @fn_str_concat(ptr %t4, ptr @.str5495)
%t6 = load ptr, ptr %t0
%t7 = call ptr @fn_str_concat(ptr %t5, ptr %t6)
%t8 = call ptr @fn_emit_bind(ptr %t7)
store ptr %t8, ptr %t9
%t10 = load ptr, ptr %t9
%t11 = load ptr, ptr %t1
%t12 = call ptr @fn_val(ptr %t10, ptr %t11)
store ptr %t12, ptr %retval
br label %ret
ret:
%t13 = load ptr, ptr %retval
ret ptr %t13
}
define ptr @fn_emit_logic(ptr %arg_e) {
entry:
%retval = alloca ptr
%t0 = alloca ptr
%t2 = alloca ptr
%t7 = alloca ptr
%t14 = alloca ptr
%t19 = alloca ptr
%t23 = alloca ptr
%t25 = alloca ptr
%t42 = alloca ptr
%t49 = alloca ptr
%t54 = alloca ptr
store ptr %arg_e, ptr %t0
%t1 = call ptr @fn_emit_alloca(ptr @.str5496)
store ptr %t1, ptr %t2
%t3 = load ptr, ptr %t0
%t4 = getelementptr inbounds %Cmp_Node, ptr %t3, i32 0, i32 4
%t5 = load ptr, ptr %t4
%t6 = call ptr @fn_emit_expr(ptr %t5)
store ptr %t6, ptr %t7
%t8 = load ptr, ptr %t7
%t9 = getelementptr inbounds %Cmp_Val, ptr %t8, i32 0, i32 0
%t10 = load ptr, ptr %t9
%t11 = call ptr @fn_str_concat(ptr @.str5497, ptr %t10)
%t12 = call ptr @fn_str_concat(ptr %t11, ptr @.str5498)
%t13 = call ptr @fn_emit_bind(ptr %t12)
store ptr %t13, ptr %t14
%t15 = load ptr, ptr %t14
%t16 = call ptr @fn_str_concat(ptr @.str5499, ptr %t15)
%t17 = call ptr @fn_str_concat(ptr %t16, ptr @.str5500)
%t18 = call ptr @fn_emit_bind(ptr %t17)
store ptr %t18, ptr %t19
call void @fn_emit(ptr @.str5501)
%t20 = load ptr, ptr %t19
call void @fn_emit(ptr %t20)
call void @fn_emit(ptr @.str5502)
%t21 = load ptr, ptr %t2
call void @fn_emit(ptr %t21)
call void @fn_emit(ptr @.str5503)
%t22 = call ptr @fn_lbl(ptr @.str5504)
store ptr %t22, ptr %t23
%t24 = call ptr @fn_lbl(ptr @.str5505)
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 @fn_str_eq(ptr %t28, ptr @.str5506)
%t30 = icmp ne i32 %t29, 0
br i1 %t30, label %then0, label %else1
then0:
call void @fn_emit(ptr @.str5507)
%t31 = load ptr, ptr %t14
call void @fn_emit(ptr %t31)
call void @fn_emit(ptr @.str5508)
%t32 = load ptr, ptr %t23
call void @fn_emit(ptr %t32)
call void @fn_emit(ptr @.str5509)
%t33 = load ptr, ptr %t25
call void @fn_emit(ptr %t33)
call void @fn_emit(ptr @.str5510)
br label %ifend2
else1:
call void @fn_emit(ptr @.str5511)
%t34 = load ptr, ptr %t14
call void @fn_emit(ptr %t34)
call void @fn_emit(ptr @.str5512)
%t35 = load ptr, ptr %t25
call void @fn_emit(ptr %t35)
call void @fn_emit(ptr @.str5513)
%t36 = load ptr, ptr %t23
call void @fn_emit(ptr %t36)
call void @fn_emit(ptr @.str5514)
br label %ifend2
ifend2:
%t37 = load ptr, ptr %t23
call void @fn_emit(ptr %t37)
call void @fn_emit(ptr @.str5515)
%t38 = load ptr, ptr %t0
%t39 = getelementptr inbounds %Cmp_Node, ptr %t38, i32 0, i32 5
%t40 = load ptr, ptr %t39
%t41 = call ptr @fn_emit_expr(ptr %t40)
store ptr %t41, ptr %t42
%t43 = load ptr, ptr %t42
%t44 = getelementptr inbounds %Cmp_Val, ptr %t43, i32 0, i32 0
%t45 = load ptr, ptr %t44
%t46 = call ptr @fn_str_concat(ptr @.str5516, ptr %t45)
%t47 = call ptr @fn_str_concat(ptr %t46, ptr @.str5517)
%t48 = call ptr @fn_emit_bind(ptr %t47)
store ptr %t48, ptr %t49
%t50 = load ptr, ptr %t49
%t51 = call ptr @fn_str_concat(ptr @.str5518, ptr %t50)
%t52 = call ptr @fn_str_concat(ptr %t51, ptr @.str5519)
%t53 = call ptr @fn_emit_bind(ptr %t52)
store ptr %t53, ptr %t54
call void @fn_emit(ptr @.str5520)
%t55 = load ptr, ptr %t54
call void @fn_emit(ptr %t55)
call void @fn_emit(ptr @.str5521)
%t56 = load ptr, ptr %t2
call void @fn_emit(ptr %t56)
call void @fn_emit(ptr @.str5522)
call void @fn_emit(ptr @.str5523)
%t57 = load ptr, ptr %t25
call void @fn_emit(ptr %t57)
call void @fn_emit(ptr @.str5524)
%t58 = load ptr, ptr %t25
call void @fn_emit(ptr %t58)
call void @fn_emit(ptr @.str5525)
%t59 = load ptr, ptr %t2
%t60 = call ptr @fn_str_concat(ptr @.str5526, ptr %t59)
%t61 = call ptr @fn_emit_bind(ptr %t60)
%t62 = call ptr @fn_val(ptr %t61, ptr @.str5527)
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 @fn_str_eq(ptr %t1, ptr @.str5528)
%t3 = icmp ne i32 %t2, 0
br i1 %t3, label %then0, label %ifend2
then0:
store ptr @.str5529, ptr %retval
br label %ret
ifend2:
%t4 = load ptr, ptr %t0
%t5 = call i32 @fn_str_eq(ptr %t4, ptr @.str5530)
%t6 = icmp ne i32 %t5, 0
br i1 %t6, label %then3, label %ifend5
then3:
store ptr @.str5531, ptr %retval
br label %ret
ifend5:
%t7 = load ptr, ptr %t0
%t8 = call i32 @fn_str_eq(ptr %t7, ptr @.str5532)
%t9 = icmp ne i32 %t8, 0
br i1 %t9, label %then6, label %ifend8
then6:
store ptr @.str5533, ptr %retval
br label %ret
ifend8:
%t10 = load ptr, ptr %t0
%t11 = call i32 @fn_str_eq(ptr %t10, ptr @.str5534)
%t12 = icmp ne i32 %t11, 0
br i1 %t12, label %then9, label %ifend11
then9:
store ptr @.str5535, ptr %retval
br label %ret
ifend11:
%t13 = load ptr, ptr %t0
%t14 = call i32 @fn_str_eq(ptr %t13, ptr @.str5536)
%t15 = icmp ne i32 %t14, 0
br i1 %t15, label %then12, label %ifend14
then12:
store ptr @.str5537, ptr %retval
br label %ret
ifend14:
store ptr @.str5538, 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 @fn_str_eq(ptr %t6, ptr @.str5539)
%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 @fn_str_eq(ptr %t10, ptr @.str5540)
%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 @fn_str_eq(ptr %t17, ptr @.str5541)
%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 @fn_str_eq(ptr %t24, ptr @.str5542)
%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 @fn_str_eq(ptr %t31, ptr @.str5543)
%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 @fn_str_eq(ptr %t38, ptr @.str5544)
%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 @fn_str_eq(ptr %t1, ptr @.str5545)
%t3 = icmp ne i32 %t2, 0
br i1 %t3, label %then0, label %ifend2
then0:
store ptr @.str5546, ptr %retval
br label %ret
ifend2:
%t4 = load ptr, ptr %t0
%t5 = call i32 @fn_str_eq(ptr %t4, ptr @.str5547)
%t6 = icmp ne i32 %t5, 0
br i1 %t6, label %then3, label %ifend5
then3:
store ptr @.str5548, ptr %retval
br label %ret
ifend5:
%t7 = load ptr, ptr %t0
%t8 = call i32 @fn_str_eq(ptr %t7, ptr @.str5549)
%t9 = icmp ne i32 %t8, 0
br i1 %t9, label %then6, label %ifend8
then6:
store ptr @.str5550, ptr %retval
br label %ret
ifend8:
%t10 = load ptr, ptr %t0
%t11 = call i32 @fn_str_eq(ptr %t10, ptr @.str5551)
%t12 = icmp ne i32 %t11, 0
br i1 %t12, label %then9, label %ifend11
then9:
store ptr @.str5552, ptr %retval
br label %ret
ifend11:
%t13 = load ptr, ptr %t0
%t14 = call i32 @fn_str_eq(ptr %t13, ptr @.str5553)
%t15 = icmp ne i32 %t14, 0
br i1 %t15, label %then12, label %ifend14
then12:
store ptr @.str5554, ptr %retval
br label %ret
ifend14:
%t16 = load ptr, ptr %t0
%t17 = call i32 @fn_str_eq(ptr %t16, ptr @.str5555)
%t18 = icmp ne i32 %t17, 0
br i1 %t18, label %then15, label %ifend17
then15:
store ptr @.str5556, ptr %retval
br label %ret
ifend17:
%t19 = load ptr, ptr %t0
%t20 = call i32 @fn_str_eq(ptr %t19, ptr @.str5557)
%t21 = icmp ne i32 %t20, 0
br i1 %t21, label %then18, label %ifend20
then18:
store ptr @.str5558, ptr %retval
br label %ret
ifend20:
%t22 = load ptr, ptr %t0
%t23 = call i32 @fn_str_eq(ptr %t22, ptr @.str5559)
%t24 = icmp ne i32 %t23, 0
br i1 %t24, label %then21, label %ifend23
then21:
store ptr @.str5560, ptr %retval
br label %ret
ifend23:
%t25 = load ptr, ptr %t0
%t26 = call i32 @fn_str_eq(ptr %t25, ptr @.str5561)
%t27 = icmp ne i32 %t26, 0
br i1 %t27, label %then24, label %ifend26
then24:
store ptr @.str5562, ptr %retval
br label %ret
ifend26:
store ptr @.str5563, 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 @fn_str_eq(ptr %t3, ptr @.str5564)
%t5 = icmp ne i32 %t4, 0
br i1 %t5, label %then0, label %ifend2
then0:
%t6 = load ptr, ptr %t0
%t7 = getelementptr inbounds %Cmp_Val, ptr %t6, i32 0, i32 0
%t8 = load ptr, ptr %t7
store ptr %t8, ptr %retval
br label %ret
ifend2:
%t9 = load ptr, ptr %t0
%t10 = getelementptr inbounds %Cmp_Val, ptr %t9, i32 0, i32 0
%t11 = load ptr, ptr %t10
%t12 = call ptr @fn_str_concat(ptr @.str5565, ptr %t11)
%t13 = call ptr @fn_str_concat(ptr %t12, ptr @.str5566)
%t14 = call ptr @fn_emit_bind(ptr %t13)
store ptr %t14, ptr %retval
br label %ret
ret:
%t15 = load ptr, ptr %retval
ret ptr %t15
}
define ptr @fn_coerce_code(ptr %arg_v, ptr %arg_target) {
entry:
%retval = alloca ptr
%t0 = alloca ptr
%t1 = alloca ptr
%t4 = alloca ptr
%t9 = alloca ptr
%t17 = alloca i32
%t34 = alloca i32
store ptr %arg_v, ptr %t0
store ptr %arg_target, ptr %t1
%t2 = load ptr, ptr %t1
%t3 = call ptr @fn_llty(ptr %t2)
store ptr %t3, ptr %t4
%t5 = load ptr, ptr %t0
%t6 = getelementptr inbounds %Cmp_Val, ptr %t5, i32 0, i32 1
%t7 = load ptr, ptr %t6
%t8 = call ptr @fn_llty(ptr %t7)
store ptr %t8, ptr %t9
%t10 = load ptr, ptr %t4
%t11 = load ptr, ptr %t9
%t12 = call i32 @fn_str_eq(ptr %t10, ptr %t11)
%t13 = icmp ne i32 %t12, 0
br i1 %t13, label %then0, label %ifend2
then0:
%t14 = load ptr, ptr %t0
%t15 = getelementptr inbounds %Cmp_Val, ptr %t14, i32 0, i32 0
%t16 = load ptr, ptr %t15
store ptr %t16, ptr %retval
br label %ret
ifend2:
%t18 = load ptr, ptr %t4
%t19 = call i32 @fn_str_eq(ptr %t18, ptr @.str5567)
%t20 = icmp ne i32 %t19, 0
%t21 = zext i1 %t20 to i32
store i32 %t21, ptr %t17
br i1 %t20, label %sc3, label %scend4
sc3:
%t22 = load ptr, ptr %t9
%t23 = call i32 @fn_str_eq(ptr %t22, ptr @.str5568)
%t24 = icmp ne i32 %t23, 0
%t25 = zext i1 %t24 to i32
store i32 %t25, ptr %t17
br label %scend4
scend4:
%t26 = load i32, ptr %t17
%t27 = icmp ne i32 %t26, 0
br i1 %t27, label %then5, label %ifend7
then5:
%t28 = load ptr, ptr %t0
%t29 = getelementptr inbounds %Cmp_Val, ptr %t28, i32 0, i32 0
%t30 = load ptr, ptr %t29
%t31 = call ptr @fn_str_concat(ptr @.str5569, ptr %t30)
%t32 = call ptr @fn_str_concat(ptr %t31, ptr @.str5570)
%t33 = call ptr @fn_emit_bind(ptr %t32)
store ptr %t33, ptr %retval
br label %ret
ifend7:
%t35 = load ptr, ptr %t4
%t36 = call i32 @fn_str_eq(ptr %t35, ptr @.str5571)
%t37 = icmp ne i32 %t36, 0
%t38 = zext i1 %t37 to i32
store i32 %t38, ptr %t34
br i1 %t37, label %sc8, label %scend9
sc8:
%t39 = load ptr, ptr %t9
%t40 = call i32 @fn_str_eq(ptr %t39, ptr @.str5572)
%t41 = icmp ne i32 %t40, 0
%t42 = zext i1 %t41 to i32
store i32 %t42, ptr %t34
br label %scend9
scend9:
%t43 = load i32, ptr %t34
%t44 = icmp ne i32 %t43, 0
br i1 %t44, label %then10, label %ifend12
then10:
%t45 = load ptr, ptr %t0
%t46 = getelementptr inbounds %Cmp_Val, ptr %t45, i32 0, i32 0
%t47 = load ptr, ptr %t46
%t48 = call ptr @fn_str_concat(ptr @.str5573, ptr %t47)
%t49 = call ptr @fn_str_concat(ptr %t48, ptr @.str5574)
%t50 = call ptr @fn_emit_bind(ptr %t49)
store ptr %t50, ptr %retval
br label %ret
ifend12:
%t51 = load ptr, ptr %t0
%t52 = getelementptr inbounds %Cmp_Val, ptr %t51, i32 0, i32 0
%t53 = load ptr, ptr %t52
store ptr %t53, ptr %retval
br label %ret
ret:
%t54 = load ptr, ptr %retval
ret ptr %t54
}
define ptr @fn_to_long(ptr %arg_v) {
entry:
%retval = alloca ptr
%t0 = alloca ptr
store ptr %arg_v, ptr %t0
%t1 = load ptr, ptr %t0
%t2 = getelementptr inbounds %Cmp_Val, ptr %t1, i32 0, i32 1
%t3 = load ptr, ptr %t2
%t4 = call ptr @fn_llty(ptr %t3)
%t5 = call i32 @fn_str_eq(ptr %t4, ptr @.str5575)
%t6 = icmp ne i32 %t5, 0
br i1 %t6, label %then0, label %ifend2
then0:
%t7 = load ptr, ptr %t0
%t8 = getelementptr inbounds %Cmp_Val, ptr %t7, i32 0, i32 0
%t9 = load ptr, ptr %t8
store ptr %t9, ptr %retval
br label %ret
ifend2:
%t10 = load ptr, ptr %t0
%t11 = getelementptr inbounds %Cmp_Val, ptr %t10, i32 0, i32 0
%t12 = load ptr, ptr %t11
%t13 = call ptr @fn_str_concat(ptr @.str5576, ptr %t12)
%t14 = call ptr @fn_str_concat(ptr %t13, ptr @.str5577)
%t15 = call ptr @fn_emit_bind(ptr %t14)
store ptr %t15, ptr %retval
br label %ret
ret:
%t16 = load ptr, ptr %retval
ret ptr %t16
}
define ptr @fn_emit_str_op(ptr %arg_op, ptr %arg_a, ptr %arg_b) {
entry:
%retval = alloca ptr
%t0 = alloca ptr
%t1 = alloca ptr
%t2 = alloca ptr
%t29 = alloca ptr
%t37 = alloca ptr
store ptr %arg_op, ptr %t0
store ptr %arg_a, ptr %t1
store ptr %arg_b, ptr %t2
store i32 1, ptr @g_g_uses_str
%t3 = load ptr, ptr %t0
%t4 = call i32 @fn_str_eq(ptr %t3, ptr @.str5578)
%t5 = icmp ne i32 %t4, 0
br i1 %t5, label %then0, label %ifend2
then0:
%t6 = load ptr, ptr %t1
%t7 = getelementptr inbounds %Cmp_Val, ptr %t6, i32 0, i32 0
%t8 = load ptr, ptr %t7
%t9 = call ptr @fn_str_concat(ptr @.str5579, ptr %t8)
%t10 = call ptr @fn_str_concat(ptr %t9, ptr @.str5580)
%t11 = load ptr, ptr %t2
%t12 = getelementptr inbounds %Cmp_Val, ptr %t11, i32 0, i32 0
%t13 = load ptr, ptr %t12
%t14 = call ptr @fn_str_concat(ptr %t10, ptr %t13)
%t15 = call ptr @fn_str_concat(ptr %t14, ptr @.str5581)
%t16 = call ptr @fn_emit_bind(ptr %t15)
%t17 = call ptr @fn_val(ptr %t16, ptr @.str5582)
store ptr %t17, ptr %retval
br label %ret
ifend2:
%t18 = load ptr, ptr %t1
%t19 = getelementptr inbounds %Cmp_Val, ptr %t18, i32 0, i32 0
%t20 = load ptr, ptr %t19
%t21 = call ptr @fn_str_concat(ptr @.str5583, ptr %t20)
%t22 = call ptr @fn_str_concat(ptr %t21, ptr @.str5584)
%t23 = load ptr, ptr %t2
%t24 = getelementptr inbounds %Cmp_Val, ptr %t23, i32 0, i32 0
%t25 = load ptr, ptr %t24
%t26 = call ptr @fn_str_concat(ptr %t22, ptr %t25)
%t27 = call ptr @fn_str_concat(ptr %t26, ptr @.str5585)
%t28 = call ptr @fn_emit_bind(ptr %t27)
store ptr %t28, ptr %t29
%t30 = load ptr, ptr %t0
%t31 = call i32 @fn_str_eq(ptr %t30, ptr @.str5586)
%t32 = icmp ne i32 %t31, 0
br i1 %t32, label %then3, label %ifend5
then3:
%t33 = load ptr, ptr %t29
%t34 = call ptr @fn_str_concat(ptr @.str5587, ptr %t33)
%t35 = call ptr @fn_str_concat(ptr %t34, ptr @.str5588)
%t36 = call ptr @fn_emit_bind(ptr %t35)
store ptr %t36, ptr %t37
%t38 = load ptr, ptr %t37
%t39 = call ptr @fn_str_concat(ptr @.str5589, ptr %t38)
%t40 = call ptr @fn_str_concat(ptr %t39, ptr @.str5590)
%t41 = call ptr @fn_emit_bind(ptr %t40)
%t42 = call ptr @fn_val(ptr %t41, ptr @.str5591)
store ptr %t42, ptr %retval
br label %ret
ifend5:
%t43 = load ptr, ptr %t29
%t44 = call ptr @fn_val(ptr %t43, ptr @.str5592)
store ptr %t44, ptr %retval
br label %ret
ret:
%t45 = load ptr, ptr %retval
ret ptr %t45
}
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
%t44 = alloca i32
%t45 = alloca i32
%t65 = alloca i32
%t76 = alloca i32
%t77 = alloca i32
%t106 = alloca i32
%t120 = alloca i32
%t121 = alloca i32
%t122 = alloca i32
%t123 = alloca i32
%t155 = alloca i32
%t164 = alloca ptr
%t168 = alloca ptr
%t169 = alloca ptr
%t182 = alloca i32
%t214 = alloca ptr
%t224 = alloca ptr
%t227 = alloca ptr
%t244 = alloca ptr
%t247 = alloca ptr
%t257 = alloca ptr
%t262 = alloca ptr
%t269 = alloca ptr
%t274 = alloca ptr
%t289 = alloca ptr
%t294 = alloca ptr
%t299 = alloca ptr
%t306 = alloca ptr
%t323 = alloca ptr
%t341 = alloca ptr
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 @fn_str_eq(ptr %t4, ptr @.str5593)
%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 @fn_str_eq(ptr %t10, ptr @.str5594)
%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 %t22
%t30 = getelementptr inbounds %Cmp_Val, ptr %t29, i32 0, i32 1
%t31 = load ptr, ptr %t30
%t32 = call ptr @fn_llty(ptr %t31)
%t33 = call i32 @fn_str_eq(ptr %t32, ptr @.str5595)
%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 %t27
%t37 = getelementptr inbounds %Cmp_Val, ptr %t36, i32 0, i32 1
%t38 = load ptr, ptr %t37
%t39 = call ptr @fn_llty(ptr %t38)
%t40 = call i32 @fn_str_eq(ptr %t39, ptr @.str5596)
%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
store i32 %t43, ptr %t44
%t46 = load ptr, ptr %t0
%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 0
%t50 = load i32, ptr %t49
%t51 = icmp eq i32 %t50, 43
%t52 = zext i1 %t51 to i32
%t53 = icmp ne i32 %t52, 0
%t54 = zext i1 %t53 to i32
store i32 %t54, ptr %t45
br i1 %t53, label %scend8, label %sc7
sc7:
%t55 = load ptr, ptr %t0
%t56 = getelementptr inbounds %Cmp_Node, ptr %t55, i32 0, i32 5
%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, 43
%t61 = zext i1 %t60 to i32
%t62 = icmp ne i32 %t61, 0
%t63 = zext i1 %t62 to i32
store i32 %t63, ptr %t45
br label %scend8
scend8:
%t64 = load i32, ptr %t45
store i32 %t64, ptr %t65
%t66 = load i32, ptr %t44
%t67 = icmp ne i32 %t66, 0
br i1 %t67, label %then9, label %ifend11
then9:
%t68 = load ptr, ptr %t0
%t69 = getelementptr inbounds %Cmp_Node, ptr %t68, i32 0, i32 1
%t70 = load ptr, ptr %t69
%t71 = call i32 @fn_str_eq(ptr %t70, ptr @.str5597)
%t72 = icmp ne i32 %t71, 0
br i1 %t72, label %then12, label %ifend14
then12:
%t73 = load ptr, ptr %t22
%t74 = load ptr, ptr %t27
%t75 = call ptr @fn_emit_str_op(ptr @.str5598, ptr %t73, ptr %t74)
store ptr %t75, ptr %retval
br label %ret
ifend14:
%t78 = load ptr, ptr %t0
%t79 = getelementptr inbounds %Cmp_Node, ptr %t78, i32 0, i32 1
%t80 = load ptr, ptr %t79
%t81 = call i32 @fn_str_eq(ptr %t80, ptr @.str5599)
%t82 = icmp ne i32 %t81, 0
%t83 = zext i1 %t82 to i32
store i32 %t83, ptr %t77
br i1 %t82, label %scend16, label %sc15
sc15:
%t84 = load ptr, ptr %t0
%t85 = getelementptr inbounds %Cmp_Node, ptr %t84, i32 0, i32 1
%t86 = load ptr, ptr %t85
%t87 = call i32 @fn_str_eq(ptr %t86, ptr @.str5600)
%t88 = icmp ne i32 %t87, 0
%t89 = zext i1 %t88 to i32
store i32 %t89, ptr %t77
br label %scend16
scend16:
%t90 = load i32, ptr %t77
%t91 = icmp ne i32 %t90, 0
%t92 = zext i1 %t91 to i32
store i32 %t92, ptr %t76
br i1 %t91, label %sc17, label %scend18
sc17:
%t93 = load i32, ptr %t65
%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 %t76
br label %scend18
scend18:
%t98 = load i32, ptr %t76
%t99 = icmp ne i32 %t98, 0
br i1 %t99, label %then19, label %ifend21
then19:
%t100 = load ptr, ptr %t0
%t101 = getelementptr inbounds %Cmp_Node, ptr %t100, i32 0, i32 1
%t102 = load ptr, ptr %t101
%t103 = load ptr, ptr %t22
%t104 = load ptr, ptr %t27
%t105 = call ptr @fn_emit_str_op(ptr %t102, ptr %t103, ptr %t104)
store ptr %t105, ptr %retval
br label %ret
ifend21:
br label %ifend11
ifend11:
%t107 = load ptr, ptr %t22
%t108 = getelementptr inbounds %Cmp_Val, ptr %t107, i32 0, i32 1
%t109 = load ptr, ptr %t108
%t110 = call i32 @fn_str_eq(ptr %t109, ptr @.str5601)
%t111 = icmp ne i32 %t110, 0
%t112 = zext i1 %t111 to i32
store i32 %t112, ptr %t106
br i1 %t111, label %scend23, label %sc22
sc22:
%t113 = load ptr, ptr %t27
%t114 = getelementptr inbounds %Cmp_Val, ptr %t113, i32 0, i32 1
%t115 = load ptr, ptr %t114
%t116 = call i32 @fn_str_eq(ptr %t115, ptr @.str5602)
%t117 = icmp ne i32 %t116, 0
%t118 = zext i1 %t117 to i32
store i32 %t118, ptr %t106
br label %scend23
scend23:
%t119 = load i32, ptr %t106
store i32 %t119, ptr %t120
%t124 = load ptr, ptr %t22
%t125 = getelementptr inbounds %Cmp_Val, ptr %t124, i32 0, i32 1
%t126 = load ptr, ptr %t125
%t127 = call ptr @fn_llty(ptr %t126)
%t128 = call i32 @fn_str_eq(ptr %t127, ptr @.str5603)
%t129 = icmp ne i32 %t128, 0
%t130 = zext i1 %t129 to i32
store i32 %t130, ptr %t123
br i1 %t129, label %scend25, label %sc24
sc24:
%t131 = load ptr, ptr %t27
%t132 = getelementptr inbounds %Cmp_Val, ptr %t131, i32 0, i32 1
%t133 = load ptr, ptr %t132
%t134 = call ptr @fn_llty(ptr %t133)
%t135 = call i32 @fn_str_eq(ptr %t134, ptr @.str5604)
%t136 = icmp ne i32 %t135, 0
%t137 = zext i1 %t136 to i32
store i32 %t137, ptr %t123
br label %scend25
scend25:
%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 %sc26, label %scend27
sc26:
%t141 = load i32, ptr %t120
%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 %t122
br label %scend27
scend27:
%t146 = load i32, ptr %t122
%t147 = icmp ne i32 %t146, 0
%t148 = zext i1 %t147 to i32
store i32 %t148, ptr %t121
br i1 %t147, label %sc28, label %scend29
sc28:
%t149 = load i32, ptr %t44
%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 %t121
br label %scend29
scend29:
%t154 = load i32, ptr %t121
store i32 %t154, ptr %t155
%t156 = load ptr, ptr %t0
%t157 = getelementptr inbounds %Cmp_Node, ptr %t156, i32 0, i32 1
%t158 = load ptr, ptr %t157
%t159 = call i32 @fn_is_cmp(ptr %t158)
%t160 = icmp ne i32 %t159, 0
br i1 %t160, label %then30, label %ifend32
then30:
%t161 = load ptr, ptr %t22
%t162 = getelementptr inbounds %Cmp_Val, ptr %t161, i32 0, i32 0
%t163 = load ptr, ptr %t162
store ptr %t163, ptr %t164
%t165 = load ptr, ptr %t27
%t166 = getelementptr inbounds %Cmp_Val, ptr %t165, i32 0, i32 0
%t167 = load ptr, ptr %t166
store ptr %t167, ptr %t168
store ptr @.str5605, ptr %t169
%t170 = load i32, ptr %t120
%t171 = icmp ne i32 %t170, 0
br i1 %t171, label %then33, label %else34
then33:
%t172 = load ptr, ptr %t22
%t173 = call ptr @fn_to_fixed(ptr %t172)
store ptr %t173, ptr %t164
%t174 = load ptr, ptr %t27
%t175 = call ptr @fn_to_fixed(ptr %t174)
store ptr %t175, ptr %t168
br label %ifend35
else34:
%t176 = load i32, ptr %t155
%t177 = icmp ne i32 %t176, 0
br i1 %t177, label %then36, label %else37
then36:
store ptr @.str5606, ptr %t169
%t178 = load ptr, ptr %t22
%t179 = call ptr @fn_to_long(ptr %t178)
store ptr %t179, ptr %t164
%t180 = load ptr, ptr %t27
%t181 = call ptr @fn_to_long(ptr %t180)
store ptr %t181, ptr %t168
br label %ifend38
else37:
%t183 = load ptr, ptr %t22
%t184 = getelementptr inbounds %Cmp_Val, ptr %t183, i32 0, i32 1
%t185 = load ptr, ptr %t184
%t186 = call ptr @fn_llty(ptr %t185)
%t187 = call i32 @fn_str_eq(ptr %t186, ptr @.str5607)
%t188 = icmp ne i32 %t187, 0
%t189 = zext i1 %t188 to i32
store i32 %t189, ptr %t182
br i1 %t188, label %scend40, label %sc39
sc39:
%t190 = load ptr, ptr %t27
%t191 = getelementptr inbounds %Cmp_Val, ptr %t190, i32 0, i32 1
%t192 = load ptr, ptr %t191
%t193 = call ptr @fn_llty(ptr %t192)
%t194 = call i32 @fn_str_eq(ptr %t193, ptr @.str5608)
%t195 = icmp ne i32 %t194, 0
%t196 = zext i1 %t195 to i32
store i32 %t196, ptr %t182
br label %scend40
scend40:
%t197 = load i32, ptr %t182
%t198 = icmp ne i32 %t197, 0
br i1 %t198, label %then41, label %ifend43
then41:
store ptr @.str5609, ptr %t169
br label %ifend43
ifend43:
br label %ifend38
ifend38:
br label %ifend35
ifend35:
%t199 = load ptr, ptr %t0
%t200 = getelementptr inbounds %Cmp_Node, ptr %t199, i32 0, i32 1
%t201 = load ptr, ptr %t200
%t202 = call ptr @fn_cmp_code(ptr %t201)
%t203 = call ptr @fn_str_concat(ptr @.str5610, ptr %t202)
%t204 = call ptr @fn_str_concat(ptr %t203, ptr @.str5611)
%t205 = load ptr, ptr %t169
%t206 = call ptr @fn_str_concat(ptr %t204, ptr %t205)
%t207 = call ptr @fn_str_concat(ptr %t206, ptr @.str5612)
%t208 = load ptr, ptr %t164
%t209 = call ptr @fn_str_concat(ptr %t207, ptr %t208)
%t210 = call ptr @fn_str_concat(ptr %t209, ptr @.str5613)
%t211 = load ptr, ptr %t168
%t212 = call ptr @fn_str_concat(ptr %t210, ptr %t211)
%t213 = call ptr @fn_emit_bind(ptr %t212)
store ptr %t213, ptr %t214
%t215 = load ptr, ptr %t214
%t216 = call ptr @fn_str_concat(ptr @.str5614, ptr %t215)
%t217 = call ptr @fn_str_concat(ptr %t216, ptr @.str5615)
%t218 = call ptr @fn_emit_bind(ptr %t217)
%t219 = call ptr @fn_val(ptr %t218, ptr @.str5616)
store ptr %t219, ptr %retval
br label %ret
ifend32:
%t220 = load i32, ptr %t155
%t221 = icmp ne i32 %t220, 0
br i1 %t221, label %then44, label %ifend46
then44:
%t222 = load ptr, ptr %t22
%t223 = call ptr @fn_to_long(ptr %t222)
store ptr %t223, ptr %t224
%t225 = load ptr, ptr %t27
%t226 = call ptr @fn_to_long(ptr %t225)
store ptr %t226, ptr %t227
%t228 = load ptr, ptr %t0
%t229 = getelementptr inbounds %Cmp_Node, ptr %t228, i32 0, i32 1
%t230 = load ptr, ptr %t229
%t231 = call ptr @fn_arith_code(ptr %t230)
%t232 = call ptr @fn_str_concat(ptr %t231, ptr @.str5617)
%t233 = load ptr, ptr %t224
%t234 = call ptr @fn_str_concat(ptr %t232, ptr %t233)
%t235 = call ptr @fn_str_concat(ptr %t234, ptr @.str5618)
%t236 = load ptr, ptr %t227
%t237 = call ptr @fn_str_concat(ptr %t235, ptr %t236)
%t238 = call ptr @fn_emit_bind(ptr %t237)
%t239 = call ptr @fn_val(ptr %t238, ptr @.str5619)
store ptr %t239, ptr %retval
br label %ret
ifend46:
%t240 = load i32, ptr %t120
%t241 = icmp ne i32 %t240, 0
br i1 %t241, label %then47, label %ifend49
then47:
%t242 = load ptr, ptr %t22
%t243 = call ptr @fn_to_fixed(ptr %t242)
store ptr %t243, ptr %t244
%t245 = load ptr, ptr %t27
%t246 = call ptr @fn_to_fixed(ptr %t245)
store ptr %t246, ptr %t247
%t248 = load ptr, ptr %t0
%t249 = getelementptr inbounds %Cmp_Node, ptr %t248, i32 0, i32 1
%t250 = load ptr, ptr %t249
%t251 = call i32 @fn_str_eq(ptr %t250, ptr @.str5620)
%t252 = icmp ne i32 %t251, 0
br i1 %t252, label %then50, label %ifend52
then50:
%t253 = load ptr, ptr %t244
%t254 = call ptr @fn_str_concat(ptr @.str5621, ptr %t253)
%t255 = call ptr @fn_str_concat(ptr %t254, ptr @.str5622)
%t256 = call ptr @fn_emit_bind(ptr %t255)
store ptr %t256, ptr %t257
%t258 = load ptr, ptr %t247
%t259 = call ptr @fn_str_concat(ptr @.str5623, ptr %t258)
%t260 = call ptr @fn_str_concat(ptr %t259, ptr @.str5624)
%t261 = call ptr @fn_emit_bind(ptr %t260)
store ptr %t261, ptr %t262
%t263 = load ptr, ptr %t257
%t264 = call ptr @fn_str_concat(ptr @.str5625, ptr %t263)
%t265 = call ptr @fn_str_concat(ptr %t264, ptr @.str5626)
%t266 = load ptr, ptr %t262
%t267 = call ptr @fn_str_concat(ptr %t265, ptr %t266)
%t268 = call ptr @fn_emit_bind(ptr %t267)
store ptr %t268, ptr %t269
%t270 = load ptr, ptr %t269
%t271 = call ptr @fn_str_concat(ptr @.str5627, ptr %t270)
%t272 = call ptr @fn_str_concat(ptr %t271, ptr @.str5628)
%t273 = call ptr @fn_emit_bind(ptr %t272)
store ptr %t273, ptr %t274
%t275 = load ptr, ptr %t274
%t276 = call ptr @fn_str_concat(ptr @.str5629, ptr %t275)
%t277 = call ptr @fn_str_concat(ptr %t276, ptr @.str5630)
%t278 = call ptr @fn_emit_bind(ptr %t277)
%t279 = call ptr @fn_val(ptr %t278, ptr @.str5631)
store ptr %t279, ptr %retval
br label %ret
ifend52:
%t280 = load ptr, ptr %t0
%t281 = getelementptr inbounds %Cmp_Node, ptr %t280, i32 0, i32 1
%t282 = load ptr, ptr %t281
%t283 = call i32 @fn_str_eq(ptr %t282, ptr @.str5632)
%t284 = icmp ne i32 %t283, 0
br i1 %t284, label %then53, label %ifend55
then53:
%t285 = load ptr, ptr %t244
%t286 = call ptr @fn_str_concat(ptr @.str5633, ptr %t285)
%t287 = call ptr @fn_str_concat(ptr %t286, ptr @.str5634)
%t288 = call ptr @fn_emit_bind(ptr %t287)
store ptr %t288, ptr %t289
%t290 = load ptr, ptr %t289
%t291 = call ptr @fn_str_concat(ptr @.str5635, ptr %t290)
%t292 = call ptr @fn_str_concat(ptr %t291, ptr @.str5636)
%t293 = call ptr @fn_emit_bind(ptr %t292)
store ptr %t293, ptr %t294
%t295 = load ptr, ptr %t247
%t296 = call ptr @fn_str_concat(ptr @.str5637, ptr %t295)
%t297 = call ptr @fn_str_concat(ptr %t296, ptr @.str5638)
%t298 = call ptr @fn_emit_bind(ptr %t297)
store ptr %t298, ptr %t299
%t300 = load ptr, ptr %t294
%t301 = call ptr @fn_str_concat(ptr @.str5639, ptr %t300)
%t302 = call ptr @fn_str_concat(ptr %t301, ptr @.str5640)
%t303 = load ptr, ptr %t299
%t304 = call ptr @fn_str_concat(ptr %t302, ptr %t303)
%t305 = call ptr @fn_emit_bind(ptr %t304)
store ptr %t305, ptr %t306
%t307 = load ptr, ptr %t306
%t308 = call ptr @fn_str_concat(ptr @.str5641, ptr %t307)
%t309 = call ptr @fn_str_concat(ptr %t308, ptr @.str5642)
%t310 = call ptr @fn_emit_bind(ptr %t309)
%t311 = call ptr @fn_val(ptr %t310, ptr @.str5643)
store ptr %t311, ptr %retval
br label %ret
ifend55:
%t312 = load ptr, ptr %t0
%t313 = getelementptr inbounds %Cmp_Node, ptr %t312, i32 0, i32 1
%t314 = load ptr, ptr %t313
%t315 = call ptr @fn_arith_code(ptr %t314)
%t316 = call ptr @fn_str_concat(ptr %t315, ptr @.str5644)
%t317 = load ptr, ptr %t244
%t318 = call ptr @fn_str_concat(ptr %t316, ptr %t317)
%t319 = call ptr @fn_str_concat(ptr %t318, ptr @.str5645)
%t320 = load ptr, ptr %t247
%t321 = call ptr @fn_str_concat(ptr %t319, ptr %t320)
%t322 = call ptr @fn_emit_bind(ptr %t321)
store ptr %t322, ptr %t323
%t324 = load ptr, ptr %t323
%t325 = call ptr @fn_val(ptr %t324, ptr @.str5646)
store ptr %t325, ptr %retval
br label %ret
ifend49:
%t326 = load ptr, ptr %t0
%t327 = getelementptr inbounds %Cmp_Node, ptr %t326, i32 0, i32 1
%t328 = load ptr, ptr %t327
%t329 = call ptr @fn_arith_code(ptr %t328)
%t330 = call ptr @fn_str_concat(ptr %t329, ptr @.str5647)
%t331 = load ptr, ptr %t22
%t332 = getelementptr inbounds %Cmp_Val, ptr %t331, i32 0, i32 0
%t333 = load ptr, ptr %t332
%t334 = call ptr @fn_str_concat(ptr %t330, ptr %t333)
%t335 = call ptr @fn_str_concat(ptr %t334, ptr @.str5648)
%t336 = load ptr, ptr %t27
%t337 = getelementptr inbounds %Cmp_Val, ptr %t336, i32 0, i32 0
%t338 = load ptr, ptr %t337
%t339 = call ptr @fn_str_concat(ptr %t335, ptr %t338)
%t340 = call ptr @fn_emit_bind(ptr %t339)
store ptr %t340, ptr %t341
%t342 = load ptr, ptr %t341
%t343 = call ptr @fn_val(ptr %t342, ptr @.str5649)
store ptr %t343, ptr %retval
br label %ret
ret:
%t344 = load ptr, ptr %retval
ret ptr %t344
}
define i32 @fn_args_are_named(ptr %arg_e) {
entry:
%retval = alloca i32
%t0 = alloca ptr
%t1 = alloca i32
store ptr %arg_e, ptr %t0
store i32 0, ptr %t1
br label %wcond0
wcond0:
%t2 = load i32, ptr %t1
%t3 = load ptr, ptr %t0
%t4 = getelementptr inbounds %Cmp_Node, ptr %t3, i32 0, i32 7
%t5 = load ptr, ptr %t4
%t6 = getelementptr inbounds %LSlice, ptr %t5, i32 0, i32 1
%t7 = load i32, ptr %t6
%t8 = icmp slt i32 %t2, %t7
%t9 = zext i1 %t8 to i32
%t10 = icmp ne i32 %t9, 0
br i1 %t10, label %wbody1, label %wend2
wbody1:
%t11 = load ptr, ptr %t0
%t12 = getelementptr inbounds %Cmp_Node, ptr %t11, i32 0, i32 7
%t13 = load ptr, ptr %t12
%t14 = getelementptr inbounds %LSlice, ptr %t13, i32 0, i32 0
%t15 = load ptr, ptr %t14
%t16 = load i32, ptr %t1
%t17 = getelementptr inbounds ptr, ptr %t15, i32 %t16
%t18 = load ptr, ptr %t17
%t19 = getelementptr inbounds %Cmp_Node, ptr %t18, i32 0, i32 0
%t20 = load i32, ptr %t19
%t21 = icmp eq i32 %t20, 42
%t22 = zext i1 %t21 to i32
%t23 = icmp ne i32 %t22, 0
br i1 %t23, label %then3, label %ifend5
then3:
store i32 1, ptr %retval
br label %ret
ifend5:
%t24 = load i32, ptr %t1
%t25 = add i32 %t24, 1
store i32 %t25, ptr %t1
br label %wcond0
wend2:
store i32 0, ptr %retval
br label %ret
ret:
%t26 = load i32, ptr %retval
ret i32 %t26
}
define void @fn_reorder_named(ptr %arg_e, ptr %arg_labels) {
entry:
%t0 = alloca ptr
%t1 = alloca ptr
%t7 = alloca i32
%t49 = alloca ptr
%t50 = alloca i32
%t58 = alloca ptr
%t59 = alloca i32
store ptr %arg_e, ptr %t0
store ptr %arg_labels, ptr %t1
%t2 = load ptr, ptr %t0
%t3 = call i32 @fn_args_are_named(ptr %t2)
%t4 = icmp eq i32 %t3, 0
%t5 = zext i1 %t4 to i32
%t6 = icmp ne i32 %t5, 0
br i1 %t6, label %then0, label %ifend2
then0:
br label %ret
ifend2:
store i32 0, ptr %t7
br label %wcond3
wcond3:
%t8 = load i32, ptr %t7
%t9 = load ptr, ptr %t0
%t10 = getelementptr inbounds %Cmp_Node, ptr %t9, i32 0, i32 7
%t11 = load ptr, ptr %t10
%t12 = getelementptr inbounds %LSlice, ptr %t11, i32 0, i32 1
%t13 = load i32, ptr %t12
%t14 = icmp slt i32 %t8, %t13
%t15 = zext i1 %t14 to i32
%t16 = icmp ne i32 %t15, 0
br i1 %t16, label %wbody4, label %wend5
wbody4:
%t17 = load ptr, ptr %t0
%t18 = getelementptr inbounds %Cmp_Node, ptr %t17, i32 0, i32 7
%t19 = load ptr, ptr %t18
%t20 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 0
%t21 = load ptr, ptr %t20
%t22 = load i32, ptr %t7
%t23 = getelementptr inbounds ptr, ptr %t21, i32 %t22
%t24 = load ptr, ptr %t23
%t25 = getelementptr inbounds %Cmp_Node, ptr %t24, i32 0, i32 0
%t26 = load i32, ptr %t25
%t27 = icmp ne i32 %t26, 42
%t28 = zext i1 %t27 to i32
%t29 = icmp ne i32 %t28, 0
br i1 %t29, label %then6, label %ifend8
then6:
call void @fn_perr(ptr @.str5650)
br label %ifend8
ifend8:
%t30 = load i32, ptr %t7
%t31 = add i32 %t30, 1
store i32 %t31, ptr %t7
br label %wcond3
wend5:
%t32 = load ptr, ptr %t0
%t33 = getelementptr inbounds %Cmp_Node, ptr %t32, i32 0, i32 7
%t34 = load ptr, ptr %t33
%t35 = getelementptr inbounds %LSlice, ptr %t34, i32 0, i32 1
%t36 = load i32, ptr %t35
%t37 = load ptr, ptr %t1
%t38 = getelementptr inbounds %LSlice, ptr %t37, i32 0, i32 1
%t39 = load i32, ptr %t38
%t40 = icmp ne i32 %t36, %t39
%t41 = zext i1 %t40 to i32
%t42 = icmp ne i32 %t41, 0
br i1 %t42, label %then9, label %ifend11
then9:
call void @fn_perr(ptr @.str5651)
br label %ifend11
ifend11:
%t43 = getelementptr %LSlice, ptr null, i32 1
%t44 = ptrtoint ptr %t43 to i64
%t45 = call ptr @malloc(i64 %t44)
%t46 = getelementptr inbounds %LSlice, ptr %t45, i32 0, i32 0
store ptr null, ptr %t46
%t47 = getelementptr inbounds %LSlice, ptr %t45, i32 0, i32 1
store i32 0, ptr %t47
%t48 = getelementptr inbounds %LSlice, ptr %t45, i32 0, i32 2
store i32 0, ptr %t48
store ptr %t45, ptr %t49
store i32 0, ptr %t50
br label %wcond12
wcond12:
%t51 = load i32, ptr %t50
%t52 = load ptr, ptr %t1
%t53 = getelementptr inbounds %LSlice, ptr %t52, i32 0, i32 1
%t54 = load i32, ptr %t53
%t55 = icmp slt i32 %t51, %t54
%t56 = zext i1 %t55 to i32
%t57 = icmp ne i32 %t56, 0
br i1 %t57, label %wbody13, label %wend14
wbody13:
store ptr null, ptr %t58
store i32 0, ptr %t59
br label %wcond15
wcond15:
%t60 = load i32, ptr %t59
%t61 = load ptr, ptr %t0
%t62 = getelementptr inbounds %Cmp_Node, ptr %t61, i32 0, i32 7
%t63 = load ptr, ptr %t62
%t64 = getelementptr inbounds %LSlice, ptr %t63, i32 0, i32 1
%t65 = load i32, ptr %t64
%t66 = icmp slt i32 %t60, %t65
%t67 = zext i1 %t66 to i32
%t68 = icmp ne i32 %t67, 0
br i1 %t68, label %wbody16, label %wend17
wbody16:
%t69 = load ptr, ptr %t0
%t70 = getelementptr inbounds %Cmp_Node, ptr %t69, i32 0, i32 7
%t71 = load ptr, ptr %t70
%t72 = getelementptr inbounds %LSlice, ptr %t71, i32 0, i32 0
%t73 = load ptr, ptr %t72
%t74 = load i32, ptr %t59
%t75 = getelementptr inbounds ptr, ptr %t73, i32 %t74
%t76 = load ptr, ptr %t75
%t77 = getelementptr inbounds %Cmp_Node, ptr %t76, i32 0, i32 1
%t78 = load ptr, ptr %t77
%t79 = load ptr, ptr %t1
%t80 = getelementptr inbounds %LSlice, ptr %t79, i32 0, i32 0
%t81 = load ptr, ptr %t80
%t82 = load i32, ptr %t50
%t83 = getelementptr inbounds ptr, ptr %t81, i32 %t82
%t84 = load ptr, ptr %t83
%t85 = call i32 @fn_str_eq(ptr %t78, ptr %t84)
%t86 = icmp ne i32 %t85, 0
br i1 %t86, label %then18, label %ifend20
then18:
%t87 = load ptr, ptr %t0
%t88 = getelementptr inbounds %Cmp_Node, ptr %t87, i32 0, i32 7
%t89 = load ptr, ptr %t88
%t90 = getelementptr inbounds %LSlice, ptr %t89, i32 0, i32 0
%t91 = load ptr, ptr %t90
%t92 = load i32, ptr %t59
%t93 = getelementptr inbounds ptr, ptr %t91, i32 %t92
%t94 = load ptr, ptr %t93
store ptr %t94, ptr %t58
br label %ifend20
ifend20:
%t95 = load i32, ptr %t59
%t96 = add i32 %t95, 1
store i32 %t96, ptr %t59
br label %wcond15
wend17:
%t97 = load ptr, ptr %t58
%t98 = icmp eq ptr %t97, null
%t99 = zext i1 %t98 to i32
%t100 = icmp ne i32 %t99, 0
br i1 %t100, label %then21, label %ifend23
then21:
%t101 = load ptr, ptr %t1
%t102 = getelementptr inbounds %LSlice, ptr %t101, i32 0, i32 0
%t103 = load ptr, ptr %t102
%t104 = load i32, ptr %t50
%t105 = getelementptr inbounds ptr, ptr %t103, i32 %t104
%t106 = load ptr, ptr %t105
%t107 = call ptr @fn_str_concat(ptr @.str5652, ptr %t106)
call void @fn_perr(ptr %t107)
br label %ifend23
ifend23:
%t108 = load ptr, ptr %t49
%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 %grow24, label %put25
grow24:
%t115 = mul i32 %t113, 2
%t116 = icmp eq i32 %t113, 0
%t117 = select i1 %t116, i32 8, i32 %t115
%t118 = getelementptr ptr, ptr null, i32 1
%t119 = ptrtoint ptr %t118 to i64
%t120 = zext i32 %t117 to i64
%t121 = mul i64 %t120, %t119
%t122 = load ptr, ptr %t111
%t123 = call ptr @realloc(ptr %t122, i64 %t121)
store ptr %t123, ptr %t111
store i32 %t117, ptr %t110
br label %put25
put25:
%t124 = load ptr, ptr %t58
%t125 = getelementptr inbounds %Cmp_Node, ptr %t124, i32 0, i32 4
%t126 = load ptr, ptr %t125
%t127 = load ptr, ptr %t111
%t128 = getelementptr inbounds ptr, ptr %t127, i32 %t112
store ptr %t126, ptr %t128
%t129 = add i32 %t112, 1
store i32 %t129, ptr %t109
%t130 = load i32, ptr %t50
%t131 = add i32 %t130, 1
store i32 %t131, ptr %t50
br label %wcond12
wend14:
%t132 = load ptr, ptr %t0
%t133 = getelementptr inbounds %Cmp_Node, ptr %t132, i32 0, i32 7
%t134 = load ptr, ptr %t49
store ptr %t134, ptr %t133
br label %ret
ret:
ret void
}
define ptr @fn_param_labels(ptr %arg_fn) {
entry:
%retval = alloca ptr
%t0 = alloca ptr
%t7 = alloca ptr
%t8 = alloca i32
store ptr %arg_fn, ptr %t0
%t1 = getelementptr %LSlice, ptr null, i32 1
%t2 = ptrtoint ptr %t1 to i64
%t3 = call ptr @malloc(i64 %t2)
%t4 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 0
store ptr null, ptr %t4
%t5 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 1
store i32 0, ptr %t5
%t6 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 2
store i32 0, ptr %t6
store ptr %t3, ptr %t7
store i32 0, ptr %t8
br label %wcond0
wcond0:
%t9 = load i32, ptr %t8
%t10 = load ptr, ptr %t0
%t11 = getelementptr inbounds %Cmp_Node, ptr %t10, i32 0, i32 7
%t12 = load ptr, ptr %t11
%t13 = getelementptr inbounds %LSlice, ptr %t12, i32 0, i32 1
%t14 = load i32, ptr %t13
%t15 = icmp slt i32 %t9, %t14
%t16 = zext i1 %t15 to i32
%t17 = icmp ne i32 %t16, 0
br i1 %t17, label %wbody1, label %wend2
wbody1:
%t18 = load ptr, ptr %t0
%t19 = getelementptr inbounds %Cmp_Node, ptr %t18, i32 0, i32 7
%t20 = load ptr, ptr %t19
%t21 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 0
%t22 = load ptr, ptr %t21
%t23 = load i32, ptr %t8
%t24 = getelementptr inbounds ptr, ptr %t22, i32 %t23
%t25 = load ptr, ptr %t24
%t26 = getelementptr inbounds %Cmp_Node, ptr %t25, i32 0, i32 0
%t27 = load i32, ptr %t26
%t28 = icmp eq i32 %t27, 5
%t29 = zext i1 %t28 to i32
%t30 = icmp ne i32 %t29, 0
br i1 %t30, label %then3, label %ifend5
then3:
%t31 = load ptr, ptr %t7
%t32 = getelementptr inbounds %LSlice, ptr %t31, i32 0, i32 1
%t33 = getelementptr inbounds %LSlice, ptr %t31, i32 0, i32 2
%t34 = getelementptr inbounds %LSlice, ptr %t31, 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 ptr, ptr null, i32 1
%t42 = ptrtoint ptr %t41 to i64
%t43 = zext i32 %t40 to i64
%t44 = mul i64 %t43, %t42
%t45 = load ptr, ptr %t34
%t46 = call ptr @realloc(ptr %t45, i64 %t44)
store ptr %t46, ptr %t34
store i32 %t40, ptr %t33
br label %put7
put7:
%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 0
%t51 = load ptr, ptr %t50
%t52 = load i32, ptr %t8
%t53 = getelementptr inbounds ptr, ptr %t51, i32 %t52
%t54 = load ptr, ptr %t53
%t55 = getelementptr inbounds %Cmp_Node, ptr %t54, i32 0, i32 1
%t56 = load ptr, ptr %t55
%t57 = load ptr, ptr %t34
%t58 = getelementptr inbounds ptr, ptr %t57, i32 %t35
store ptr %t56, ptr %t58
%t59 = add i32 %t35, 1
store i32 %t59, ptr %t32
br label %ifend5
ifend5:
%t60 = load i32, ptr %t8
%t61 = add i32 %t60, 1
store i32 %t61, ptr %t8
br label %wcond0
wend2:
%t62 = load ptr, ptr %t7
store ptr %t62, ptr %retval
br label %ret
ret:
%t63 = load ptr, ptr %retval
ret ptr %t63
}
define ptr @fn_param_types(ptr %arg_fn) {
entry:
%retval = alloca ptr
%t0 = alloca ptr
%t7 = alloca ptr
%t8 = alloca i32
store ptr %arg_fn, ptr %t0
%t1 = getelementptr %LSlice, ptr null, i32 1
%t2 = ptrtoint ptr %t1 to i64
%t3 = call ptr @malloc(i64 %t2)
%t4 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 0
store ptr null, ptr %t4
%t5 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 1
store i32 0, ptr %t5
%t6 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 2
store i32 0, ptr %t6
store ptr %t3, ptr %t7
store i32 0, ptr %t8
br label %wcond0
wcond0:
%t9 = load i32, ptr %t8
%t10 = load ptr, ptr %t0
%t11 = getelementptr inbounds %Cmp_Node, ptr %t10, i32 0, i32 7
%t12 = load ptr, ptr %t11
%t13 = getelementptr inbounds %LSlice, ptr %t12, i32 0, i32 1
%t14 = load i32, ptr %t13
%t15 = icmp slt i32 %t9, %t14
%t16 = zext i1 %t15 to i32
%t17 = icmp ne i32 %t16, 0
br i1 %t17, label %wbody1, label %wend2
wbody1:
%t18 = load ptr, ptr %t0
%t19 = getelementptr inbounds %Cmp_Node, ptr %t18, i32 0, i32 7
%t20 = load ptr, ptr %t19
%t21 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 0
%t22 = load ptr, ptr %t21
%t23 = load i32, ptr %t8
%t24 = getelementptr inbounds ptr, ptr %t22, i32 %t23
%t25 = load ptr, ptr %t24
%t26 = getelementptr inbounds %Cmp_Node, ptr %t25, i32 0, i32 0
%t27 = load i32, ptr %t26
%t28 = icmp eq i32 %t27, 5
%t29 = zext i1 %t28 to i32
%t30 = icmp ne i32 %t29, 0
br i1 %t30, label %then3, label %ifend5
then3:
%t31 = load ptr, ptr %t7
%t32 = getelementptr inbounds %LSlice, ptr %t31, i32 0, i32 1
%t33 = getelementptr inbounds %LSlice, ptr %t31, i32 0, i32 2
%t34 = getelementptr inbounds %LSlice, ptr %t31, 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 ptr, ptr null, i32 1
%t42 = ptrtoint ptr %t41 to i64
%t43 = zext i32 %t40 to i64
%t44 = mul i64 %t43, %t42
%t45 = load ptr, ptr %t34
%t46 = call ptr @realloc(ptr %t45, i64 %t44)
store ptr %t46, ptr %t34
store i32 %t40, ptr %t33
br label %put7
put7:
%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 0
%t51 = load ptr, ptr %t50
%t52 = load i32, ptr %t8
%t53 = getelementptr inbounds ptr, ptr %t51, i32 %t52
%t54 = load ptr, ptr %t53
%t55 = getelementptr inbounds %Cmp_Node, ptr %t54, i32 0, i32 3
%t56 = load ptr, ptr %t55
%t57 = load ptr, ptr %t34
%t58 = getelementptr inbounds ptr, ptr %t57, i32 %t35
store ptr %t56, ptr %t58
%t59 = add i32 %t35, 1
store i32 %t59, ptr %t32
br label %ifend5
ifend5:
%t60 = load i32, ptr %t8
%t61 = add i32 %t60, 1
store i32 %t61, ptr %t8
br label %wcond0
wend2:
%t62 = load ptr, ptr %t7
store ptr %t62, ptr %retval
br label %ret
ret:
%t63 = load ptr, ptr %retval
ret ptr %t63
}
define void @fn_emit_expect_fail(ptr %arg_cond1, ptr %arg_msgsym, ptr %arg_got, ptr %arg_want) {
entry:
%t0 = alloca ptr
%t1 = alloca ptr
%t2 = alloca ptr
%t3 = alloca ptr
%t5 = alloca ptr
%t7 = alloca ptr
store ptr %arg_cond1, ptr %t0
store ptr %arg_msgsym, ptr %t1
store ptr %arg_got, ptr %t2
store ptr %arg_want, ptr %t3
%t4 = call ptr @fn_lbl(ptr @.str5653)
store ptr %t4, ptr %t5
%t6 = call ptr @fn_lbl(ptr @.str5654)
store ptr %t6, ptr %t7
%t8 = load ptr, ptr %t0
%t9 = call ptr @fn_str_concat(ptr @.str5655, ptr %t8)
%t10 = call ptr @fn_str_concat(ptr %t9, ptr @.str5656)
%t11 = load ptr, ptr %t5
%t12 = call ptr @fn_str_concat(ptr %t10, ptr %t11)
%t13 = call ptr @fn_str_concat(ptr %t12, ptr @.str5657)
%t14 = load ptr, ptr %t7
%t15 = call ptr @fn_str_concat(ptr %t13, ptr %t14)
%t16 = call ptr @fn_str_concat(ptr %t15, ptr @.str5658)
call void @fn_emit(ptr %t16)
%t17 = load ptr, ptr %t7
%t18 = call ptr @fn_str_concat(ptr %t17, ptr @.str5659)
call void @fn_emit(ptr %t18)
call void @fn_emit(ptr @.str5660)
%t19 = load ptr, ptr %t2
%t20 = call i32 @fn_str_eq(ptr %t19, ptr @.str5661)
%t21 = icmp ne i32 %t20, 0
br i1 %t21, label %then0, label %else1
then0:
%t22 = load ptr, ptr %t1
%t23 = call ptr @fn_str_concat(ptr @.str5662, ptr %t22)
%t24 = call ptr @fn_str_concat(ptr %t23, ptr @.str5663)
call void @fn_emit(ptr %t24)
br label %ifend2
else1:
%t25 = load ptr, ptr %t1
%t26 = call ptr @fn_str_concat(ptr @.str5664, ptr %t25)
%t27 = call ptr @fn_str_concat(ptr %t26, ptr @.str5665)
%t28 = load ptr, ptr %t2
%t29 = call ptr @fn_str_concat(ptr %t27, ptr %t28)
%t30 = call ptr @fn_str_concat(ptr %t29, ptr @.str5666)
%t31 = load ptr, ptr %t3
%t32 = call ptr @fn_str_concat(ptr %t30, ptr %t31)
%t33 = call ptr @fn_str_concat(ptr %t32, ptr @.str5667)
call void @fn_emit(ptr %t33)
br label %ifend2
ifend2:
%t34 = load ptr, ptr %t5
%t35 = call ptr @fn_str_concat(ptr @.str5668, ptr %t34)
%t36 = call ptr @fn_str_concat(ptr %t35, ptr @.str5669)
call void @fn_emit(ptr %t36)
%t37 = load ptr, ptr %t5
%t38 = call ptr @fn_str_concat(ptr %t37, ptr @.str5670)
call void @fn_emit(ptr %t38)
br label %ret
ret:
ret void
}
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
%t274 = alloca ptr
%t281 = alloca ptr
%t6616 = alloca ptr
store ptr %arg_ns, ptr %t0
store ptr %arg_meth, ptr %t1
store ptr %arg_e, ptr %t2
%t3 = load ptr, ptr %t0
%t4 = call i32 @fn_str_eq(ptr %t3, ptr @.str5671)
%t5 = icmp ne i32 %t4, 0
br i1 %t5, label %then0, label %ifend2
then0:
%t6 = load ptr, ptr %t1
%t7 = call i32 @fn_is_math_ns(ptr %t6)
%t8 = icmp ne i32 %t7, 0
br i1 %t8, label %then3, label %ifend5
then3:
%t9 = load ptr, ptr %t1
%t10 = load ptr, ptr %t2
%t11 = call ptr @fn_emit_math_ns(ptr %t9, ptr %t10)
store ptr %t11, ptr %retval
br label %ret
ifend5:
%t12 = load ptr, ptr %t1
%t13 = call ptr @fn_str_concat(ptr @.str5672, ptr %t12)
call void @fn_perr(ptr %t13)
br label %ifend2
ifend2:
%t14 = load ptr, ptr %t0
%t15 = call i32 @fn_str_eq(ptr %t14, ptr @.str5673)
%t16 = icmp ne i32 %t15, 0
br i1 %t16, label %then6, label %ifend8
then6:
%t17 = load ptr, ptr %t1
%t18 = call i32 @fn_is_text_ns(ptr %t17)
%t19 = icmp ne i32 %t18, 0
br i1 %t19, label %then9, label %ifend11
then9:
%t20 = load ptr, ptr %t1
%t21 = load ptr, ptr %t2
%t22 = call ptr @fn_emit_text_ns(ptr %t20, ptr %t21)
store ptr %t22, ptr %retval
br label %ret
ifend11:
%t23 = load ptr, ptr %t1
%t24 = call ptr @fn_str_concat(ptr @.str5674, ptr %t23)
call void @fn_perr(ptr %t24)
br label %ifend8
ifend8:
%t25 = load ptr, ptr %t0
%t26 = call i32 @fn_str_eq(ptr %t25, ptr @.str5675)
%t27 = icmp ne i32 %t26, 0
br i1 %t27, label %then12, label %ifend14
then12:
%t28 = load ptr, ptr %t1
%t29 = call i32 @fn_is_list_ns(ptr %t28)
%t30 = icmp ne i32 %t29, 0
br i1 %t30, label %then15, label %ifend17
then15:
%t31 = load ptr, ptr %t1
%t32 = load ptr, ptr %t2
%t33 = call ptr @fn_emit_list_ns(ptr %t31, ptr %t32)
store ptr %t33, ptr %retval
br label %ret
ifend17:
%t34 = load ptr, ptr %t1
%t35 = call ptr @fn_str_concat(ptr @.str5676, ptr %t34)
call void @fn_perr(ptr %t35)
br label %ifend14
ifend14:
%t36 = load ptr, ptr %t0
%t37 = call i32 @fn_str_eq(ptr %t36, ptr @.str5677)
%t38 = icmp ne i32 %t37, 0
br i1 %t38, label %then18, label %ifend20
then18:
%t39 = load ptr, ptr %t1
%t40 = call i32 @fn_is_ease_ns(ptr %t39)
%t41 = icmp ne i32 %t40, 0
br i1 %t41, label %then21, label %ifend23
then21:
%t42 = load ptr, ptr %t1
%t43 = load ptr, ptr %t2
%t44 = call ptr @fn_emit_ease_ns(ptr %t42, ptr %t43)
store ptr %t44, ptr %retval
br label %ret
ifend23:
%t45 = load ptr, ptr %t1
%t46 = call ptr @fn_str_concat(ptr @.str5678, ptr %t45)
call void @fn_perr(ptr %t46)
br label %ifend20
ifend20:
%t47 = load ptr, ptr %t0
%t48 = call i32 @fn_str_eq(ptr %t47, ptr @.str5679)
%t49 = icmp ne i32 %t48, 0
br i1 %t49, label %then24, label %ifend26
then24:
%t50 = load ptr, ptr %t1
%t51 = call i32 @fn_is_anim_ns(ptr %t50)
%t52 = icmp ne i32 %t51, 0
br i1 %t52, label %then27, label %ifend29
then27:
%t53 = load ptr, ptr %t1
%t54 = load ptr, ptr %t2
%t55 = call ptr @fn_emit_anim_ns(ptr %t53, ptr %t54)
store ptr %t55, ptr %retval
br label %ret
ifend29:
br label %ifend26
ifend26:
%t56 = load ptr, ptr %t0
%t57 = call i32 @fn_str_eq(ptr %t56, ptr @.str5680)
%t58 = icmp ne i32 %t57, 0
br i1 %t58, label %then30, label %ifend32
then30:
%t59 = load ptr, ptr %t1
%t60 = call i32 @fn_is_tween_ns(ptr %t59)
%t61 = icmp ne i32 %t60, 0
br i1 %t61, label %then33, label %ifend35
then33:
%t62 = load ptr, ptr %t1
%t63 = load ptr, ptr %t2
%t64 = call ptr @fn_emit_tween_ns(ptr %t62, ptr %t63)
store ptr %t64, ptr %retval
br label %ret
ifend35:
br label %ifend32
ifend32:
%t65 = load ptr, ptr %t0
%t66 = call i32 @fn_str_eq(ptr %t65, ptr @.str5681)
%t67 = icmp ne i32 %t66, 0
br i1 %t67, label %then36, label %ifend38
then36:
%t68 = load ptr, ptr %t1
%t69 = call i32 @fn_is_collide_ns(ptr %t68)
%t70 = icmp ne i32 %t69, 0
br i1 %t70, label %then39, label %ifend41
then39:
%t71 = load ptr, ptr %t1
%t72 = load ptr, ptr %t2
%t73 = call ptr @fn_emit_collide_ns(ptr %t71, ptr %t72)
store ptr %t73, ptr %retval
br label %ret
ifend41:
%t74 = load ptr, ptr %t1
%t75 = call ptr @fn_str_concat(ptr @.str5682, ptr %t74)
call void @fn_perr(ptr %t75)
br label %ifend38
ifend38:
%t76 = load ptr, ptr %t0
%t77 = call i32 @fn_str_eq(ptr %t76, ptr @.str5683)
%t78 = icmp ne i32 %t77, 0
br i1 %t78, label %then42, label %ifend44
then42:
%t79 = load ptr, ptr %t1
%t80 = call i32 @fn_is_mem_ns(ptr %t79)
%t81 = icmp ne i32 %t80, 0
br i1 %t81, label %then45, label %ifend47
then45:
%t82 = load ptr, ptr %t1
%t83 = load ptr, ptr %t2
%t84 = call ptr @fn_emit_mem_ns(ptr %t82, ptr %t83)
store ptr %t84, ptr %retval
br label %ret
ifend47:
%t85 = load ptr, ptr %t1
%t86 = call ptr @fn_str_concat(ptr @.str5684, ptr %t85)
call void @fn_perr(ptr %t86)
br label %ifend44
ifend44:
%t87 = load ptr, ptr %t0
%t88 = call i32 @fn_str_eq(ptr %t87, ptr @.str5685)
%t89 = icmp ne i32 %t88, 0
br i1 %t89, label %then48, label %ifend50
then48:
%t90 = load ptr, ptr %t1
%t91 = call i32 @fn_is_colorfn_ns(ptr %t90)
%t92 = icmp ne i32 %t91, 0
br i1 %t92, label %then51, label %ifend53
then51:
%t93 = load ptr, ptr %t1
%t94 = load ptr, ptr %t2
%t95 = call ptr @fn_emit_colorfn_ns(ptr %t93, ptr %t94)
store ptr %t95, ptr %retval
br label %ret
ifend53:
%t96 = load ptr, ptr %t1
%t97 = call ptr @fn_str_concat(ptr @.str5686, ptr %t96)
call void @fn_perr(ptr %t97)
br label %ifend50
ifend50:
%t98 = load ptr, ptr %t0
%t99 = call i32 @fn_str_eq(ptr %t98, ptr @.str5687)
%t100 = icmp ne i32 %t99, 0
br i1 %t100, label %then54, label %ifend56
then54:
%t101 = load ptr, ptr %t1
%t102 = call i32 @fn_is_time_ns(ptr %t101)
%t103 = icmp ne i32 %t102, 0
br i1 %t103, label %then57, label %ifend59
then57:
%t104 = load ptr, ptr %t1
%t105 = load ptr, ptr %t2
%t106 = call ptr @fn_emit_time_ns(ptr %t104, ptr %t105)
store ptr %t106, ptr %retval
br label %ret
ifend59:
%t107 = load ptr, ptr %t1
%t108 = call ptr @fn_str_concat(ptr @.str5688, ptr %t107)
call void @fn_perr(ptr %t108)
br label %ifend56
ifend56:
%t109 = load ptr, ptr %t0
%t110 = call i32 @fn_str_eq(ptr %t109, ptr @.str5689)
%t111 = icmp ne i32 %t110, 0
br i1 %t111, label %then60, label %ifend62
then60:
%t112 = load ptr, ptr %t1
%t113 = call i32 @fn_is_hash_ns(ptr %t112)
%t114 = icmp ne i32 %t113, 0
br i1 %t114, label %then63, label %ifend65
then63:
%t115 = load ptr, ptr %t1
%t116 = load ptr, ptr %t2
%t117 = call ptr @fn_emit_hash_ns(ptr %t115, ptr %t116)
store ptr %t117, ptr %retval
br label %ret
ifend65:
%t118 = load ptr, ptr %t1
%t119 = call ptr @fn_str_concat(ptr @.str5690, ptr %t118)
call void @fn_perr(ptr %t119)
br label %ifend62
ifend62:
%t120 = load ptr, ptr %t0
%t121 = call i32 @fn_str_eq(ptr %t120, ptr @.str5691)
%t122 = icmp ne i32 %t121, 0
br i1 %t122, label %then66, label %ifend68
then66:
%t123 = load ptr, ptr %t1
%t124 = call i32 @fn_is_crypto_ns(ptr %t123)
%t125 = icmp ne i32 %t124, 0
br i1 %t125, label %then69, label %ifend71
then69:
%t126 = load ptr, ptr %t1
%t127 = load ptr, ptr %t2
%t128 = call ptr @fn_emit_crypto_ns(ptr %t126, ptr %t127)
store ptr %t128, ptr %retval
br label %ret
ifend71:
%t129 = load ptr, ptr %t1
%t130 = call ptr @fn_str_concat(ptr @.str5692, ptr %t129)
call void @fn_perr(ptr %t130)
br label %ifend68
ifend68:
%t131 = load ptr, ptr %t0
%t132 = call i32 @fn_str_eq(ptr %t131, ptr @.str5693)
%t133 = icmp ne i32 %t132, 0
br i1 %t133, label %then72, label %ifend74
then72:
%t134 = load ptr, ptr %t1
%t135 = call i32 @fn_is_uuid_ns(ptr %t134)
%t136 = icmp ne i32 %t135, 0
br i1 %t136, label %then75, label %ifend77
then75:
%t137 = load ptr, ptr %t1
%t138 = load ptr, ptr %t2
%t139 = call ptr @fn_emit_uuid_ns(ptr %t137, ptr %t138)
store ptr %t139, ptr %retval
br label %ret
ifend77:
%t140 = load ptr, ptr %t1
%t141 = call ptr @fn_str_concat(ptr @.str5694, ptr %t140)
call void @fn_perr(ptr %t141)
br label %ifend74
ifend74:
%t142 = load ptr, ptr %t0
%t143 = call i32 @fn_str_eq(ptr %t142, ptr @.str5695)
%t144 = icmp ne i32 %t143, 0
br i1 %t144, label %then78, label %ifend80
then78:
%t145 = load ptr, ptr %t1
%t146 = call i32 @fn_is_noise_ns(ptr %t145)
%t147 = icmp ne i32 %t146, 0
br i1 %t147, label %then81, label %ifend83
then81:
%t148 = load ptr, ptr %t1
%t149 = load ptr, ptr %t2
%t150 = call ptr @fn_emit_noise_ns(ptr %t148, ptr %t149)
store ptr %t150, ptr %retval
br label %ret
ifend83:
%t151 = load ptr, ptr %t1
%t152 = call ptr @fn_str_concat(ptr @.str5696, ptr %t151)
call void @fn_perr(ptr %t152)
br label %ifend80
ifend80:
%t153 = load ptr, ptr %t0
%t154 = call i32 @fn_str_eq(ptr %t153, ptr @.str5697)
%t155 = icmp ne i32 %t154, 0
br i1 %t155, label %then84, label %ifend86
then84:
%t156 = load ptr, ptr %t1
%t157 = call i32 @fn_is_log_ns(ptr %t156)
%t158 = icmp ne i32 %t157, 0
br i1 %t158, label %then87, label %ifend89
then87:
%t159 = load ptr, ptr %t1
%t160 = load ptr, ptr %t2
%t161 = call ptr @fn_emit_log_ns(ptr %t159, ptr %t160)
store ptr %t161, ptr %retval
br label %ret
ifend89:
%t162 = load ptr, ptr %t1
%t163 = call ptr @fn_str_concat(ptr @.str5698, ptr %t162)
call void @fn_perr(ptr %t163)
br label %ifend86
ifend86:
%t164 = load ptr, ptr %t0
%t165 = call i32 @fn_str_eq(ptr %t164, ptr @.str5699)
%t166 = icmp ne i32 %t165, 0
br i1 %t166, label %then90, label %ifend92
then90:
%t167 = load ptr, ptr %t1
%t168 = call i32 @fn_is_os_ns(ptr %t167)
%t169 = icmp ne i32 %t168, 0
br i1 %t169, label %then93, label %ifend95
then93:
%t170 = load ptr, ptr %t1
%t171 = load ptr, ptr %t2
%t172 = call ptr @fn_emit_os_ns(ptr %t170, ptr %t171)
store ptr %t172, ptr %retval
br label %ret
ifend95:
%t173 = load ptr, ptr %t1
%t174 = call ptr @fn_str_concat(ptr @.str5700, ptr %t173)
call void @fn_perr(ptr %t174)
br label %ifend92
ifend92:
%t175 = load ptr, ptr %t0
%t176 = call i32 @fn_str_eq(ptr %t175, ptr @.str5701)
%t177 = icmp ne i32 %t176, 0
br i1 %t177, label %then96, label %ifend98
then96:
%t178 = load ptr, ptr %t1
%t179 = call i32 @fn_is_unicode_ns(ptr %t178)
%t180 = icmp ne i32 %t179, 0
br i1 %t180, label %then99, label %ifend101
then99:
%t181 = load ptr, ptr %t1
%t182 = load ptr, ptr %t2
%t183 = call ptr @fn_emit_unicode_ns(ptr %t181, ptr %t182)
store ptr %t183, ptr %retval
br label %ret
ifend101:
%t184 = load ptr, ptr %t1
%t185 = call ptr @fn_str_concat(ptr @.str5702, ptr %t184)
call void @fn_perr(ptr %t185)
br label %ifend98
ifend98:
%t186 = load ptr, ptr %t0
%t187 = call i32 @fn_str_eq(ptr %t186, ptr @.str5703)
%t188 = icmp ne i32 %t187, 0
br i1 %t188, label %then102, label %ifend104
then102:
%t189 = load ptr, ptr %t1
%t190 = call i32 @fn_is_fs_ns(ptr %t189)
%t191 = icmp ne i32 %t190, 0
br i1 %t191, label %then105, label %ifend107
then105:
%t192 = load ptr, ptr %t1
%t193 = load ptr, ptr %t2
%t194 = call ptr @fn_emit_fs_ns(ptr %t192, ptr %t193)
store ptr %t194, ptr %retval
br label %ret
ifend107:
%t195 = load ptr, ptr %t1
%t196 = call ptr @fn_str_concat(ptr @.str5704, ptr %t195)
call void @fn_perr(ptr %t196)
br label %ifend104
ifend104:
%t197 = load ptr, ptr %t0
%t198 = call i32 @fn_str_eq(ptr %t197, ptr @.str5705)
%t199 = icmp ne i32 %t198, 0
br i1 %t199, label %then108, label %ifend110
then108:
%t200 = load ptr, ptr %t1
%t201 = call i32 @fn_is_path_ns(ptr %t200)
%t202 = icmp ne i32 %t201, 0
br i1 %t202, label %then111, label %ifend113
then111:
%t203 = load ptr, ptr %t1
%t204 = load ptr, ptr %t2
%t205 = call ptr @fn_emit_path_ns(ptr %t203, ptr %t204)
store ptr %t205, ptr %retval
br label %ret
ifend113:
%t206 = load ptr, ptr %t1
%t207 = call ptr @fn_str_concat(ptr @.str5706, ptr %t206)
call void @fn_perr(ptr %t207)
br label %ifend110
ifend110:
%t208 = load ptr, ptr %t0
%t209 = call i32 @fn_str_eq(ptr %t208, ptr @.str5707)
%t210 = icmp ne i32 %t209, 0
br i1 %t210, label %then114, label %ifend116
then114:
%t211 = load ptr, ptr %t1
%t212 = call i32 @fn_is_mime_ns(ptr %t211)
%t213 = icmp ne i32 %t212, 0
br i1 %t213, label %then117, label %ifend119
then117:
%t214 = load ptr, ptr %t1
%t215 = load ptr, ptr %t2
%t216 = call ptr @fn_emit_mime_ns(ptr %t214, ptr %t215)
store ptr %t216, ptr %retval
br label %ret
ifend119:
%t217 = load ptr, ptr %t1
%t218 = call ptr @fn_str_concat(ptr @.str5708, ptr %t217)
call void @fn_perr(ptr %t218)
br label %ifend116
ifend116:
%t219 = load ptr, ptr %t0
%t220 = call i32 @fn_str_eq(ptr %t219, ptr @.str5709)
%t221 = icmp ne i32 %t220, 0
br i1 %t221, label %then120, label %ifend122
then120:
%t222 = load ptr, ptr %t1
%t223 = call i32 @fn_is_vector_ns(ptr %t222)
%t224 = icmp ne i32 %t223, 0
br i1 %t224, label %then123, label %ifend125
then123:
%t225 = load ptr, ptr %t1
%t226 = load ptr, ptr %t2
%t227 = call ptr @fn_emit_vector_ns(ptr %t225, ptr %t226)
store ptr %t227, ptr %retval
br label %ret
ifend125:
%t228 = load ptr, ptr %t1
%t229 = call ptr @fn_str_concat(ptr @.str5710, ptr %t228)
call void @fn_perr(ptr %t229)
br label %ifend122
ifend122:
%t230 = load ptr, ptr %t0
%t231 = call i32 @fn_str_eq(ptr %t230, ptr @.str5711)
%t232 = icmp ne i32 %t231, 0
br i1 %t232, label %then126, label %ifend128
then126:
%t233 = load ptr, ptr %t1
%t234 = call i32 @fn_is_duration_ns(ptr %t233)
%t235 = icmp ne i32 %t234, 0
br i1 %t235, label %then129, label %ifend131
then129:
%t236 = load ptr, ptr %t1
%t237 = load ptr, ptr %t2
%t238 = call ptr @fn_emit_duration_ns(ptr %t236, ptr %t237)
store ptr %t238, ptr %retval
br label %ret
ifend131:
%t239 = load ptr, ptr %t1
%t240 = call ptr @fn_str_concat(ptr @.str5712, ptr %t239)
call void @fn_perr(ptr %t240)
br label %ifend128
ifend128:
%t241 = load ptr, ptr %t0
%t242 = call i32 @fn_str_eq(ptr %t241, ptr @.str5713)
%t243 = icmp ne i32 %t242, 0
br i1 %t243, label %then132, label %ifend134
then132:
%t244 = load ptr, ptr %t1
%t245 = call i32 @fn_is_date_ns(ptr %t244)
%t246 = icmp ne i32 %t245, 0
br i1 %t246, label %then135, label %ifend137
then135:
%t247 = load ptr, ptr %t1
%t248 = load ptr, ptr %t2
%t249 = call ptr @fn_emit_date_ns(ptr %t247, ptr %t248)
store ptr %t249, ptr %retval
br label %ret
ifend137:
%t250 = load ptr, ptr %t1
%t251 = call ptr @fn_str_concat(ptr @.str5714, ptr %t250)
call void @fn_perr(ptr %t251)
br label %ifend134
ifend134:
%t252 = load ptr, ptr %t0
%t253 = call i32 @fn_str_eq(ptr %t252, ptr @.str5715)
%t254 = icmp ne i32 %t253, 0
br i1 %t254, label %then138, label %ifend140
then138:
%t255 = load ptr, ptr %t1
%t256 = call i32 @fn_is_datetime_ns(ptr %t255)
%t257 = icmp ne i32 %t256, 0
br i1 %t257, label %then141, label %ifend143
then141:
%t258 = load ptr, ptr %t1
%t259 = load ptr, ptr %t2
%t260 = call ptr @fn_emit_datetime_ns(ptr %t258, ptr %t259)
store ptr %t260, ptr %retval
br label %ret
ifend143:
%t261 = load ptr, ptr %t1
%t262 = call ptr @fn_str_concat(ptr @.str5716, ptr %t261)
call void @fn_perr(ptr %t262)
br label %ifend140
ifend140:
%t263 = load ptr, ptr %t0
%t264 = call i32 @fn_str_eq(ptr %t263, ptr @.str5717)
%t265 = icmp ne i32 %t264, 0
br i1 %t265, label %then144, label %ifend146
then144:
%t266 = load ptr, ptr %t1
%t267 = call i32 @fn_is_clock_ns(ptr %t266)
%t268 = icmp ne i32 %t267, 0
br i1 %t268, label %then147, label %ifend149
then147:
%t269 = load ptr, ptr %t1
%t270 = load ptr, ptr %t2
%t271 = call ptr @fn_emit_clock_ns(ptr %t269, ptr %t270)
store ptr %t271, ptr %retval
br label %ret
ifend149:
%t272 = load ptr, ptr %t1
%t273 = call ptr @fn_str_concat(ptr @.str5718, ptr %t272)
call void @fn_perr(ptr %t273)
br label %ifend146
ifend146:
store ptr null, ptr %t274
%t275 = getelementptr %LSlice, ptr null, i32 1
%t276 = ptrtoint ptr %t275 to i64
%t277 = call ptr @malloc(i64 %t276)
%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 %t281
%t282 = load ptr, ptr %t0
%t283 = call i32 @fn_str_eq(ptr %t282, ptr @.str5719)
%t284 = icmp ne i32 %t283, 0
br i1 %t284, label %then150, label %ifend152
then150:
%t285 = load ptr, ptr %t1
%t286 = call i32 @fn_str_eq(ptr %t285, ptr @.str5720)
%t287 = icmp ne i32 %t286, 0
br i1 %t287, label %then153, label %ifend155
then153:
store ptr @.str5721, ptr %t274
%t288 = load ptr, ptr %t281
%t289 = getelementptr inbounds %LSlice, ptr %t288, i32 0, i32 1
%t290 = getelementptr inbounds %LSlice, ptr %t288, i32 0, i32 2
%t291 = getelementptr inbounds %LSlice, ptr %t288, i32 0, i32 0
%t292 = load i32, ptr %t289
%t293 = load i32, ptr %t290
%t294 = icmp sge i32 %t292, %t293
br i1 %t294, label %grow156, label %put157
grow156:
%t295 = mul i32 %t293, 2
%t296 = icmp eq i32 %t293, 0
%t297 = select i1 %t296, i32 8, i32 %t295
%t298 = getelementptr ptr, ptr null, i32 1
%t299 = ptrtoint ptr %t298 to i64
%t300 = zext i32 %t297 to i64
%t301 = mul i64 %t300, %t299
%t302 = load ptr, ptr %t291
%t303 = call ptr @realloc(ptr %t302, i64 %t301)
store ptr %t303, ptr %t291
store i32 %t297, ptr %t290
br label %put157
put157:
%t304 = load ptr, ptr %t291
%t305 = getelementptr inbounds ptr, ptr %t304, i32 %t292
store ptr @.str5722, ptr %t305
%t306 = add i32 %t292, 1
store i32 %t306, ptr %t289
br label %ifend155
ifend155:
%t307 = load ptr, ptr %t1
%t308 = call i32 @fn_str_eq(ptr %t307, ptr @.str5723)
%t309 = icmp ne i32 %t308, 0
br i1 %t309, label %then158, label %ifend160
then158:
store ptr @.str5724, ptr %t274
%t310 = load ptr, ptr %t281
%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 %grow161, label %put162
grow161:
%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
%t325 = call ptr @realloc(ptr %t324, i64 %t323)
store ptr %t325, ptr %t313
store i32 %t319, ptr %t312
br label %put162
put162:
%t326 = load ptr, ptr %t313
%t327 = getelementptr inbounds ptr, ptr %t326, i32 %t314
store ptr @.str5725, ptr %t327
%t328 = add i32 %t314, 1
store i32 %t328, ptr %t311
%t329 = load ptr, ptr %t281
%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 %grow163, label %put164
grow163:
%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
%t344 = call ptr @realloc(ptr %t343, i64 %t342)
store ptr %t344, ptr %t332
store i32 %t338, ptr %t331
br label %put164
put164:
%t345 = load ptr, ptr %t332
%t346 = getelementptr inbounds ptr, ptr %t345, i32 %t333
store ptr @.str5726, ptr %t346
%t347 = add i32 %t333, 1
store i32 %t347, ptr %t330
%t348 = load ptr, ptr %t281
%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 %grow165, label %put166
grow165:
%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
%t363 = call ptr @realloc(ptr %t362, i64 %t361)
store ptr %t363, ptr %t351
store i32 %t357, ptr %t350
br label %put166
put166:
%t364 = load ptr, ptr %t351
%t365 = getelementptr inbounds ptr, ptr %t364, i32 %t352
store ptr @.str5727, ptr %t365
%t366 = add i32 %t352, 1
store i32 %t366, ptr %t349
%t367 = load ptr, ptr %t281
%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 %grow167, label %put168
grow167:
%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
%t382 = call ptr @realloc(ptr %t381, i64 %t380)
store ptr %t382, ptr %t370
store i32 %t376, ptr %t369
br label %put168
put168:
%t383 = load ptr, ptr %t370
%t384 = getelementptr inbounds ptr, ptr %t383, i32 %t371
store ptr @.str5728, ptr %t384
%t385 = add i32 %t371, 1
store i32 %t385, ptr %t368
%t386 = load ptr, ptr %t281
%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 %grow169, label %put170
grow169:
%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
%t401 = call ptr @realloc(ptr %t400, i64 %t399)
store ptr %t401, ptr %t389
store i32 %t395, ptr %t388
br label %put170
put170:
%t402 = load ptr, ptr %t389
%t403 = getelementptr inbounds ptr, ptr %t402, i32 %t390
store ptr @.str5729, ptr %t403
%t404 = add i32 %t390, 1
store i32 %t404, ptr %t387
br label %ifend160
ifend160:
%t405 = load ptr, ptr %t1
%t406 = call i32 @fn_str_eq(ptr %t405, ptr @.str5730)
%t407 = icmp ne i32 %t406, 0
br i1 %t407, label %then171, label %ifend173
then171:
store ptr @.str5731, ptr %t274
%t408 = load ptr, ptr %t281
%t409 = getelementptr inbounds %LSlice, ptr %t408, i32 0, i32 1
%t410 = getelementptr inbounds %LSlice, ptr %t408, i32 0, i32 2
%t411 = getelementptr inbounds %LSlice, ptr %t408, i32 0, i32 0
%t412 = load i32, ptr %t409
%t413 = load i32, ptr %t410
%t414 = icmp sge i32 %t412, %t413
br i1 %t414, label %grow174, label %put175
grow174:
%t415 = mul i32 %t413, 2
%t416 = icmp eq i32 %t413, 0
%t417 = select i1 %t416, i32 8, i32 %t415
%t418 = getelementptr ptr, ptr null, i32 1
%t419 = ptrtoint ptr %t418 to i64
%t420 = zext i32 %t417 to i64
%t421 = mul i64 %t420, %t419
%t422 = load ptr, ptr %t411
%t423 = call ptr @realloc(ptr %t422, i64 %t421)
store ptr %t423, ptr %t411
store i32 %t417, ptr %t410
br label %put175
put175:
%t424 = load ptr, ptr %t411
%t425 = getelementptr inbounds ptr, ptr %t424, i32 %t412
store ptr @.str5732, ptr %t425
%t426 = add i32 %t412, 1
store i32 %t426, ptr %t409
%t427 = load ptr, ptr %t281
%t428 = getelementptr inbounds %LSlice, ptr %t427, i32 0, i32 1
%t429 = getelementptr inbounds %LSlice, ptr %t427, i32 0, i32 2
%t430 = getelementptr inbounds %LSlice, ptr %t427, i32 0, i32 0
%t431 = load i32, ptr %t428
%t432 = load i32, ptr %t429
%t433 = icmp sge i32 %t431, %t432
br i1 %t433, label %grow176, label %put177
grow176:
%t434 = mul i32 %t432, 2
%t435 = icmp eq i32 %t432, 0
%t436 = select i1 %t435, i32 8, i32 %t434
%t437 = getelementptr ptr, ptr null, i32 1
%t438 = ptrtoint ptr %t437 to i64
%t439 = zext i32 %t436 to i64
%t440 = mul i64 %t439, %t438
%t441 = load ptr, ptr %t430
%t442 = call ptr @realloc(ptr %t441, i64 %t440)
store ptr %t442, ptr %t430
store i32 %t436, ptr %t429
br label %put177
put177:
%t443 = load ptr, ptr %t430
%t444 = getelementptr inbounds ptr, ptr %t443, i32 %t431
store ptr @.str5733, ptr %t444
%t445 = add i32 %t431, 1
store i32 %t445, ptr %t428
%t446 = load ptr, ptr %t281
%t447 = getelementptr inbounds %LSlice, ptr %t446, i32 0, i32 1
%t448 = getelementptr inbounds %LSlice, ptr %t446, i32 0, i32 2
%t449 = getelementptr inbounds %LSlice, ptr %t446, i32 0, i32 0
%t450 = load i32, ptr %t447
%t451 = load i32, ptr %t448
%t452 = icmp sge i32 %t450, %t451
br i1 %t452, label %grow178, label %put179
grow178:
%t453 = mul i32 %t451, 2
%t454 = icmp eq i32 %t451, 0
%t455 = select i1 %t454, i32 8, i32 %t453
%t456 = getelementptr ptr, ptr null, i32 1
%t457 = ptrtoint ptr %t456 to i64
%t458 = zext i32 %t455 to i64
%t459 = mul i64 %t458, %t457
%t460 = load ptr, ptr %t449
%t461 = call ptr @realloc(ptr %t460, i64 %t459)
store ptr %t461, ptr %t449
store i32 %t455, ptr %t448
br label %put179
put179:
%t462 = load ptr, ptr %t449
%t463 = getelementptr inbounds ptr, ptr %t462, i32 %t450
store ptr @.str5734, ptr %t463
%t464 = add i32 %t450, 1
store i32 %t464, ptr %t447
%t465 = load ptr, ptr %t281
%t466 = getelementptr inbounds %LSlice, ptr %t465, i32 0, i32 1
%t467 = getelementptr inbounds %LSlice, ptr %t465, i32 0, i32 2
%t468 = getelementptr inbounds %LSlice, ptr %t465, i32 0, i32 0
%t469 = load i32, ptr %t466
%t470 = load i32, ptr %t467
%t471 = icmp sge i32 %t469, %t470
br i1 %t471, label %grow180, label %put181
grow180:
%t472 = mul i32 %t470, 2
%t473 = icmp eq i32 %t470, 0
%t474 = select i1 %t473, i32 8, i32 %t472
%t475 = getelementptr ptr, ptr null, i32 1
%t476 = ptrtoint ptr %t475 to i64
%t477 = zext i32 %t474 to i64
%t478 = mul i64 %t477, %t476
%t479 = load ptr, ptr %t468
%t480 = call ptr @realloc(ptr %t479, i64 %t478)
store ptr %t480, ptr %t468
store i32 %t474, ptr %t467
br label %put181
put181:
%t481 = load ptr, ptr %t468
%t482 = getelementptr inbounds ptr, ptr %t481, i32 %t469
store ptr @.str5735, ptr %t482
%t483 = add i32 %t469, 1
store i32 %t483, ptr %t466
%t484 = load ptr, ptr %t281
%t485 = getelementptr inbounds %LSlice, ptr %t484, i32 0, i32 1
%t486 = getelementptr inbounds %LSlice, ptr %t484, i32 0, i32 2
%t487 = getelementptr inbounds %LSlice, ptr %t484, i32 0, i32 0
%t488 = load i32, ptr %t485
%t489 = load i32, ptr %t486
%t490 = icmp sge i32 %t488, %t489
br i1 %t490, label %grow182, label %put183
grow182:
%t491 = mul i32 %t489, 2
%t492 = icmp eq i32 %t489, 0
%t493 = select i1 %t492, i32 8, i32 %t491
%t494 = getelementptr ptr, ptr null, i32 1
%t495 = ptrtoint ptr %t494 to i64
%t496 = zext i32 %t493 to i64
%t497 = mul i64 %t496, %t495
%t498 = load ptr, ptr %t487
%t499 = call ptr @realloc(ptr %t498, i64 %t497)
store ptr %t499, ptr %t487
store i32 %t493, ptr %t486
br label %put183
put183:
%t500 = load ptr, ptr %t487
%t501 = getelementptr inbounds ptr, ptr %t500, i32 %t488
store ptr @.str5736, ptr %t501
%t502 = add i32 %t488, 1
store i32 %t502, ptr %t485
br label %ifend173
ifend173:
%t503 = load ptr, ptr %t1
%t504 = call i32 @fn_str_eq(ptr %t503, ptr @.str5737)
%t505 = icmp ne i32 %t504, 0
br i1 %t505, label %then184, label %ifend186
then184:
store ptr @.str5738, ptr %t274
%t506 = load ptr, ptr %t281
%t507 = getelementptr inbounds %LSlice, ptr %t506, i32 0, i32 1
%t508 = getelementptr inbounds %LSlice, ptr %t506, i32 0, i32 2
%t509 = getelementptr inbounds %LSlice, ptr %t506, i32 0, i32 0
%t510 = load i32, ptr %t507
%t511 = load i32, ptr %t508
%t512 = icmp sge i32 %t510, %t511
br i1 %t512, label %grow187, label %put188
grow187:
%t513 = mul i32 %t511, 2
%t514 = icmp eq i32 %t511, 0
%t515 = select i1 %t514, i32 8, i32 %t513
%t516 = getelementptr ptr, ptr null, i32 1
%t517 = ptrtoint ptr %t516 to i64
%t518 = zext i32 %t515 to i64
%t519 = mul i64 %t518, %t517
%t520 = load ptr, ptr %t509
%t521 = call ptr @realloc(ptr %t520, i64 %t519)
store ptr %t521, ptr %t509
store i32 %t515, ptr %t508
br label %put188
put188:
%t522 = load ptr, ptr %t509
%t523 = getelementptr inbounds ptr, ptr %t522, i32 %t510
store ptr @.str5739, ptr %t523
%t524 = add i32 %t510, 1
store i32 %t524, ptr %t507
%t525 = load ptr, ptr %t281
%t526 = getelementptr inbounds %LSlice, ptr %t525, i32 0, i32 1
%t527 = getelementptr inbounds %LSlice, ptr %t525, i32 0, i32 2
%t528 = getelementptr inbounds %LSlice, ptr %t525, i32 0, i32 0
%t529 = load i32, ptr %t526
%t530 = load i32, ptr %t527
%t531 = icmp sge i32 %t529, %t530
br i1 %t531, label %grow189, label %put190
grow189:
%t532 = mul i32 %t530, 2
%t533 = icmp eq i32 %t530, 0
%t534 = select i1 %t533, i32 8, i32 %t532
%t535 = getelementptr ptr, ptr null, i32 1
%t536 = ptrtoint ptr %t535 to i64
%t537 = zext i32 %t534 to i64
%t538 = mul i64 %t537, %t536
%t539 = load ptr, ptr %t528
%t540 = call ptr @realloc(ptr %t539, i64 %t538)
store ptr %t540, ptr %t528
store i32 %t534, ptr %t527
br label %put190
put190:
%t541 = load ptr, ptr %t528
%t542 = getelementptr inbounds ptr, ptr %t541, i32 %t529
store ptr @.str5740, ptr %t542
%t543 = add i32 %t529, 1
store i32 %t543, ptr %t526
%t544 = load ptr, ptr %t281
%t545 = getelementptr inbounds %LSlice, ptr %t544, i32 0, i32 1
%t546 = getelementptr inbounds %LSlice, ptr %t544, i32 0, i32 2
%t547 = getelementptr inbounds %LSlice, ptr %t544, i32 0, i32 0
%t548 = load i32, ptr %t545
%t549 = load i32, ptr %t546
%t550 = icmp sge i32 %t548, %t549
br i1 %t550, label %grow191, label %put192
grow191:
%t551 = mul i32 %t549, 2
%t552 = icmp eq i32 %t549, 0
%t553 = select i1 %t552, i32 8, i32 %t551
%t554 = getelementptr ptr, ptr null, i32 1
%t555 = ptrtoint ptr %t554 to i64
%t556 = zext i32 %t553 to i64
%t557 = mul i64 %t556, %t555
%t558 = load ptr, ptr %t547
%t559 = call ptr @realloc(ptr %t558, i64 %t557)
store ptr %t559, ptr %t547
store i32 %t553, ptr %t546
br label %put192
put192:
%t560 = load ptr, ptr %t547
%t561 = getelementptr inbounds ptr, ptr %t560, i32 %t548
store ptr @.str5741, ptr %t561
%t562 = add i32 %t548, 1
store i32 %t562, ptr %t545
br label %ifend186
ifend186:
%t563 = load ptr, ptr %t1
%t564 = call i32 @fn_str_eq(ptr %t563, ptr @.str5742)
%t565 = icmp ne i32 %t564, 0
br i1 %t565, label %then193, label %ifend195
then193:
store ptr @.str5743, ptr %t274
%t566 = load ptr, ptr %t281
%t567 = getelementptr inbounds %LSlice, ptr %t566, i32 0, i32 1
%t568 = getelementptr inbounds %LSlice, ptr %t566, i32 0, i32 2
%t569 = getelementptr inbounds %LSlice, ptr %t566, i32 0, i32 0
%t570 = load i32, ptr %t567
%t571 = load i32, ptr %t568
%t572 = icmp sge i32 %t570, %t571
br i1 %t572, label %grow196, label %put197
grow196:
%t573 = mul i32 %t571, 2
%t574 = icmp eq i32 %t571, 0
%t575 = select i1 %t574, i32 8, i32 %t573
%t576 = getelementptr ptr, ptr null, i32 1
%t577 = ptrtoint ptr %t576 to i64
%t578 = zext i32 %t575 to i64
%t579 = mul i64 %t578, %t577
%t580 = load ptr, ptr %t569
%t581 = call ptr @realloc(ptr %t580, i64 %t579)
store ptr %t581, ptr %t569
store i32 %t575, ptr %t568
br label %put197
put197:
%t582 = load ptr, ptr %t569
%t583 = getelementptr inbounds ptr, ptr %t582, i32 %t570
store ptr @.str5744, ptr %t583
%t584 = add i32 %t570, 1
store i32 %t584, ptr %t567
%t585 = load ptr, ptr %t281
%t586 = getelementptr inbounds %LSlice, ptr %t585, i32 0, i32 1
%t587 = getelementptr inbounds %LSlice, ptr %t585, i32 0, i32 2
%t588 = getelementptr inbounds %LSlice, ptr %t585, i32 0, i32 0
%t589 = load i32, ptr %t586
%t590 = load i32, ptr %t587
%t591 = icmp sge i32 %t589, %t590
br i1 %t591, label %grow198, label %put199
grow198:
%t592 = mul i32 %t590, 2
%t593 = icmp eq i32 %t590, 0
%t594 = select i1 %t593, i32 8, i32 %t592
%t595 = getelementptr ptr, ptr null, i32 1
%t596 = ptrtoint ptr %t595 to i64
%t597 = zext i32 %t594 to i64
%t598 = mul i64 %t597, %t596
%t599 = load ptr, ptr %t588
%t600 = call ptr @realloc(ptr %t599, i64 %t598)
store ptr %t600, ptr %t588
store i32 %t594, ptr %t587
br label %put199
put199:
%t601 = load ptr, ptr %t588
%t602 = getelementptr inbounds ptr, ptr %t601, i32 %t589
store ptr @.str5745, ptr %t602
%t603 = add i32 %t589, 1
store i32 %t603, ptr %t586
%t604 = load ptr, ptr %t281
%t605 = getelementptr inbounds %LSlice, ptr %t604, i32 0, i32 1
%t606 = getelementptr inbounds %LSlice, ptr %t604, i32 0, i32 2
%t607 = getelementptr inbounds %LSlice, ptr %t604, i32 0, i32 0
%t608 = load i32, ptr %t605
%t609 = load i32, ptr %t606
%t610 = icmp sge i32 %t608, %t609
br i1 %t610, label %grow200, label %put201
grow200:
%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
%t619 = call ptr @realloc(ptr %t618, i64 %t617)
store ptr %t619, ptr %t607
store i32 %t613, ptr %t606
br label %put201
put201:
%t620 = load ptr, ptr %t607
%t621 = getelementptr inbounds ptr, ptr %t620, i32 %t608
store ptr @.str5746, ptr %t621
%t622 = add i32 %t608, 1
store i32 %t622, ptr %t605
%t623 = load ptr, ptr %t281
%t624 = getelementptr inbounds %LSlice, ptr %t623, i32 0, i32 1
%t625 = getelementptr inbounds %LSlice, ptr %t623, i32 0, i32 2
%t626 = getelementptr inbounds %LSlice, ptr %t623, i32 0, i32 0
%t627 = load i32, ptr %t624
%t628 = load i32, ptr %t625
%t629 = icmp sge i32 %t627, %t628
br i1 %t629, label %grow202, label %put203
grow202:
%t630 = mul i32 %t628, 2
%t631 = icmp eq i32 %t628, 0
%t632 = select i1 %t631, i32 8, i32 %t630
%t633 = getelementptr ptr, ptr null, i32 1
%t634 = ptrtoint ptr %t633 to i64
%t635 = zext i32 %t632 to i64
%t636 = mul i64 %t635, %t634
%t637 = load ptr, ptr %t626
%t638 = call ptr @realloc(ptr %t637, i64 %t636)
store ptr %t638, ptr %t626
store i32 %t632, ptr %t625
br label %put203
put203:
%t639 = load ptr, ptr %t626
%t640 = getelementptr inbounds ptr, ptr %t639, i32 %t627
store ptr @.str5747, ptr %t640
%t641 = add i32 %t627, 1
store i32 %t641, ptr %t624
%t642 = load ptr, ptr %t281
%t643 = getelementptr inbounds %LSlice, ptr %t642, i32 0, i32 1
%t644 = getelementptr inbounds %LSlice, ptr %t642, i32 0, i32 2
%t645 = getelementptr inbounds %LSlice, ptr %t642, i32 0, i32 0
%t646 = load i32, ptr %t643
%t647 = load i32, ptr %t644
%t648 = icmp sge i32 %t646, %t647
br i1 %t648, label %grow204, label %put205
grow204:
%t649 = mul i32 %t647, 2
%t650 = icmp eq i32 %t647, 0
%t651 = select i1 %t650, i32 8, i32 %t649
%t652 = getelementptr ptr, ptr null, i32 1
%t653 = ptrtoint ptr %t652 to i64
%t654 = zext i32 %t651 to i64
%t655 = mul i64 %t654, %t653
%t656 = load ptr, ptr %t645
%t657 = call ptr @realloc(ptr %t656, i64 %t655)
store ptr %t657, ptr %t645
store i32 %t651, ptr %t644
br label %put205
put205:
%t658 = load ptr, ptr %t645
%t659 = getelementptr inbounds ptr, ptr %t658, i32 %t646
store ptr @.str5748, ptr %t659
%t660 = add i32 %t646, 1
store i32 %t660, ptr %t643
br label %ifend195
ifend195:
%t661 = load ptr, ptr %t1
%t662 = call i32 @fn_str_eq(ptr %t661, ptr @.str5749)
%t663 = icmp ne i32 %t662, 0
br i1 %t663, label %then206, label %ifend208
then206:
store ptr @.str5750, ptr %t274
%t664 = load ptr, ptr %t281
%t665 = getelementptr inbounds %LSlice, ptr %t664, i32 0, i32 1
%t666 = getelementptr inbounds %LSlice, ptr %t664, i32 0, i32 2
%t667 = getelementptr inbounds %LSlice, ptr %t664, i32 0, i32 0
%t668 = load i32, ptr %t665
%t669 = load i32, ptr %t666
%t670 = icmp sge i32 %t668, %t669
br i1 %t670, label %grow209, label %put210
grow209:
%t671 = mul i32 %t669, 2
%t672 = icmp eq i32 %t669, 0
%t673 = select i1 %t672, i32 8, i32 %t671
%t674 = getelementptr ptr, ptr null, i32 1
%t675 = ptrtoint ptr %t674 to i64
%t676 = zext i32 %t673 to i64
%t677 = mul i64 %t676, %t675
%t678 = load ptr, ptr %t667
%t679 = call ptr @realloc(ptr %t678, i64 %t677)
store ptr %t679, ptr %t667
store i32 %t673, ptr %t666
br label %put210
put210:
%t680 = load ptr, ptr %t667
%t681 = getelementptr inbounds ptr, ptr %t680, i32 %t668
store ptr @.str5751, ptr %t681
%t682 = add i32 %t668, 1
store i32 %t682, ptr %t665
%t683 = load ptr, ptr %t281
%t684 = getelementptr inbounds %LSlice, ptr %t683, i32 0, i32 1
%t685 = getelementptr inbounds %LSlice, ptr %t683, i32 0, i32 2
%t686 = getelementptr inbounds %LSlice, ptr %t683, i32 0, i32 0
%t687 = load i32, ptr %t684
%t688 = load i32, ptr %t685
%t689 = icmp sge i32 %t687, %t688
br i1 %t689, label %grow211, label %put212
grow211:
%t690 = mul i32 %t688, 2
%t691 = icmp eq i32 %t688, 0
%t692 = select i1 %t691, i32 8, i32 %t690
%t693 = getelementptr ptr, ptr null, i32 1
%t694 = ptrtoint ptr %t693 to i64
%t695 = zext i32 %t692 to i64
%t696 = mul i64 %t695, %t694
%t697 = load ptr, ptr %t686
%t698 = call ptr @realloc(ptr %t697, i64 %t696)
store ptr %t698, ptr %t686
store i32 %t692, ptr %t685
br label %put212
put212:
%t699 = load ptr, ptr %t686
%t700 = getelementptr inbounds ptr, ptr %t699, i32 %t687
store ptr @.str5752, ptr %t700
%t701 = add i32 %t687, 1
store i32 %t701, ptr %t684
%t702 = load ptr, ptr %t281
%t703 = getelementptr inbounds %LSlice, ptr %t702, i32 0, i32 1
%t704 = getelementptr inbounds %LSlice, ptr %t702, i32 0, i32 2
%t705 = getelementptr inbounds %LSlice, ptr %t702, i32 0, i32 0
%t706 = load i32, ptr %t703
%t707 = load i32, ptr %t704
%t708 = icmp sge i32 %t706, %t707
br i1 %t708, label %grow213, label %put214
grow213:
%t709 = mul i32 %t707, 2
%t710 = icmp eq i32 %t707, 0
%t711 = select i1 %t710, i32 8, i32 %t709
%t712 = getelementptr ptr, ptr null, i32 1
%t713 = ptrtoint ptr %t712 to i64
%t714 = zext i32 %t711 to i64
%t715 = mul i64 %t714, %t713
%t716 = load ptr, ptr %t705
%t717 = call ptr @realloc(ptr %t716, i64 %t715)
store ptr %t717, ptr %t705
store i32 %t711, ptr %t704
br label %put214
put214:
%t718 = load ptr, ptr %t705
%t719 = getelementptr inbounds ptr, ptr %t718, i32 %t706
store ptr @.str5753, ptr %t719
%t720 = add i32 %t706, 1
store i32 %t720, ptr %t703
%t721 = load ptr, ptr %t281
%t722 = getelementptr inbounds %LSlice, ptr %t721, i32 0, i32 1
%t723 = getelementptr inbounds %LSlice, ptr %t721, i32 0, i32 2
%t724 = getelementptr inbounds %LSlice, ptr %t721, i32 0, i32 0
%t725 = load i32, ptr %t722
%t726 = load i32, ptr %t723
%t727 = icmp sge i32 %t725, %t726
br i1 %t727, label %grow215, label %put216
grow215:
%t728 = mul i32 %t726, 2
%t729 = icmp eq i32 %t726, 0
%t730 = select i1 %t729, i32 8, i32 %t728
%t731 = getelementptr ptr, ptr null, i32 1
%t732 = ptrtoint ptr %t731 to i64
%t733 = zext i32 %t730 to i64
%t734 = mul i64 %t733, %t732
%t735 = load ptr, ptr %t724
%t736 = call ptr @realloc(ptr %t735, i64 %t734)
store ptr %t736, ptr %t724
store i32 %t730, ptr %t723
br label %put216
put216:
%t737 = load ptr, ptr %t724
%t738 = getelementptr inbounds ptr, ptr %t737, i32 %t725
store ptr @.str5754, ptr %t738
%t739 = add i32 %t725, 1
store i32 %t739, ptr %t722
%t740 = load ptr, ptr %t281
%t741 = getelementptr inbounds %LSlice, ptr %t740, i32 0, i32 1
%t742 = getelementptr inbounds %LSlice, ptr %t740, i32 0, i32 2
%t743 = getelementptr inbounds %LSlice, ptr %t740, i32 0, i32 0
%t744 = load i32, ptr %t741
%t745 = load i32, ptr %t742
%t746 = icmp sge i32 %t744, %t745
br i1 %t746, label %grow217, label %put218
grow217:
%t747 = mul i32 %t745, 2
%t748 = icmp eq i32 %t745, 0
%t749 = select i1 %t748, i32 8, i32 %t747
%t750 = getelementptr ptr, ptr null, i32 1
%t751 = ptrtoint ptr %t750 to i64
%t752 = zext i32 %t749 to i64
%t753 = mul i64 %t752, %t751
%t754 = load ptr, ptr %t743
%t755 = call ptr @realloc(ptr %t754, i64 %t753)
store ptr %t755, ptr %t743
store i32 %t749, ptr %t742
br label %put218
put218:
%t756 = load ptr, ptr %t743
%t757 = getelementptr inbounds ptr, ptr %t756, i32 %t744
store ptr @.str5755, ptr %t757
%t758 = add i32 %t744, 1
store i32 %t758, ptr %t741
br label %ifend208
ifend208:
%t759 = load ptr, ptr %t1
%t760 = call i32 @fn_str_eq(ptr %t759, ptr @.str5756)
%t761 = icmp ne i32 %t760, 0
br i1 %t761, label %then219, label %ifend221
then219:
store ptr @.str5757, ptr %t274
br label %ifend221
ifend221:
%t762 = load ptr, ptr %t1
%t763 = call i32 @fn_str_eq(ptr %t762, ptr @.str5758)
%t764 = icmp ne i32 %t763, 0
br i1 %t764, label %then222, label %ifend224
then222:
store ptr @.str5759, ptr %t274
br label %ifend224
ifend224:
%t765 = load ptr, ptr %t1
%t766 = call i32 @fn_str_eq(ptr %t765, ptr @.str5760)
%t767 = icmp ne i32 %t766, 0
br i1 %t767, label %then225, label %ifend227
then225:
store ptr @.str5761, ptr %t274
br label %ifend227
ifend227:
%t768 = load ptr, ptr %t1
%t769 = call i32 @fn_str_eq(ptr %t768, ptr @.str5762)
%t770 = icmp ne i32 %t769, 0
br i1 %t770, label %then228, label %ifend230
then228:
store ptr @.str5763, ptr %t274
%t771 = load ptr, ptr %t281
%t772 = getelementptr inbounds %LSlice, ptr %t771, i32 0, i32 1
%t773 = getelementptr inbounds %LSlice, ptr %t771, i32 0, i32 2
%t774 = getelementptr inbounds %LSlice, ptr %t771, i32 0, i32 0
%t775 = load i32, ptr %t772
%t776 = load i32, ptr %t773
%t777 = icmp sge i32 %t775, %t776
br i1 %t777, label %grow231, label %put232
grow231:
%t778 = mul i32 %t776, 2
%t779 = icmp eq i32 %t776, 0
%t780 = select i1 %t779, i32 8, i32 %t778
%t781 = getelementptr ptr, ptr null, i32 1
%t782 = ptrtoint ptr %t781 to i64
%t783 = zext i32 %t780 to i64
%t784 = mul i64 %t783, %t782
%t785 = load ptr, ptr %t774
%t786 = call ptr @realloc(ptr %t785, i64 %t784)
store ptr %t786, ptr %t774
store i32 %t780, ptr %t773
br label %put232
put232:
%t787 = load ptr, ptr %t774
%t788 = getelementptr inbounds ptr, ptr %t787, i32 %t775
store ptr @.str5764, ptr %t788
%t789 = add i32 %t775, 1
store i32 %t789, ptr %t772
br label %ifend230
ifend230:
%t790 = load ptr, ptr %t1
%t791 = call i32 @fn_str_eq(ptr %t790, ptr @.str5765)
%t792 = icmp ne i32 %t791, 0
br i1 %t792, label %then233, label %ifend235
then233:
store ptr @.str5766, ptr %t274
%t793 = load ptr, ptr %t281
%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 %grow236, label %put237
grow236:
%t800 = mul i32 %t798, 2
%t801 = icmp eq i32 %t798, 0
%t802 = select i1 %t801, i32 8, i32 %t800
%t803 = getelementptr ptr, ptr null, i32 1
%t804 = ptrtoint ptr %t803 to i64
%t805 = zext i32 %t802 to i64
%t806 = mul i64 %t805, %t804
%t807 = load ptr, ptr %t796
%t808 = call ptr @realloc(ptr %t807, i64 %t806)
store ptr %t808, ptr %t796
store i32 %t802, ptr %t795
br label %put237
put237:
%t809 = load ptr, ptr %t796
%t810 = getelementptr inbounds ptr, ptr %t809, i32 %t797
store ptr @.str5767, ptr %t810
%t811 = add i32 %t797, 1
store i32 %t811, ptr %t794
%t812 = load ptr, ptr %t281
%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 %grow238, label %put239
grow238:
%t819 = mul i32 %t817, 2
%t820 = icmp eq i32 %t817, 0
%t821 = select i1 %t820, i32 8, i32 %t819
%t822 = getelementptr ptr, ptr null, i32 1
%t823 = ptrtoint ptr %t822 to i64
%t824 = zext i32 %t821 to i64
%t825 = mul i64 %t824, %t823
%t826 = load ptr, ptr %t815
%t827 = call ptr @realloc(ptr %t826, i64 %t825)
store ptr %t827, ptr %t815
store i32 %t821, ptr %t814
br label %put239
put239:
%t828 = load ptr, ptr %t815
%t829 = getelementptr inbounds ptr, ptr %t828, i32 %t816
store ptr @.str5768, ptr %t829
%t830 = add i32 %t816, 1
store i32 %t830, ptr %t813
%t831 = load ptr, ptr %t281
%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 %grow240, label %put241
grow240:
%t838 = mul i32 %t836, 2
%t839 = icmp eq i32 %t836, 0
%t840 = select i1 %t839, i32 8, i32 %t838
%t841 = getelementptr ptr, ptr null, i32 1
%t842 = ptrtoint ptr %t841 to i64
%t843 = zext i32 %t840 to i64
%t844 = mul i64 %t843, %t842
%t845 = load ptr, ptr %t834
%t846 = call ptr @realloc(ptr %t845, i64 %t844)
store ptr %t846, ptr %t834
store i32 %t840, ptr %t833
br label %put241
put241:
%t847 = load ptr, ptr %t834
%t848 = getelementptr inbounds ptr, ptr %t847, i32 %t835
store ptr @.str5769, ptr %t848
%t849 = add i32 %t835, 1
store i32 %t849, ptr %t832
%t850 = load ptr, ptr %t281
%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 %grow242, label %put243
grow242:
%t857 = mul i32 %t855, 2
%t858 = icmp eq i32 %t855, 0
%t859 = select i1 %t858, i32 8, i32 %t857
%t860 = getelementptr ptr, ptr null, i32 1
%t861 = ptrtoint ptr %t860 to i64
%t862 = zext i32 %t859 to i64
%t863 = mul i64 %t862, %t861
%t864 = load ptr, ptr %t853
%t865 = call ptr @realloc(ptr %t864, i64 %t863)
store ptr %t865, ptr %t853
store i32 %t859, ptr %t852
br label %put243
put243:
%t866 = load ptr, ptr %t853
%t867 = getelementptr inbounds ptr, ptr %t866, i32 %t854
store ptr @.str5770, ptr %t867
%t868 = add i32 %t854, 1
store i32 %t868, ptr %t851
%t869 = load ptr, ptr %t281
%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 %grow244, label %put245
grow244:
%t876 = mul i32 %t874, 2
%t877 = icmp eq i32 %t874, 0
%t878 = select i1 %t877, i32 8, i32 %t876
%t879 = getelementptr ptr, ptr null, i32 1
%t880 = ptrtoint ptr %t879 to i64
%t881 = zext i32 %t878 to i64
%t882 = mul i64 %t881, %t880
%t883 = load ptr, ptr %t872
%t884 = call ptr @realloc(ptr %t883, i64 %t882)
store ptr %t884, ptr %t872
store i32 %t878, ptr %t871
br label %put245
put245:
%t885 = load ptr, ptr %t872
%t886 = getelementptr inbounds ptr, ptr %t885, i32 %t873
store ptr @.str5771, ptr %t886
%t887 = add i32 %t873, 1
store i32 %t887, ptr %t870
br label %ifend235
ifend235:
%t888 = load ptr, ptr %t1
%t889 = call i32 @fn_str_eq(ptr %t888, ptr @.str5772)
%t890 = icmp ne i32 %t889, 0
br i1 %t890, label %then246, label %ifend248
then246:
store ptr @.str5773, ptr %t274
%t891 = load ptr, ptr %t281
%t892 = getelementptr inbounds %LSlice, ptr %t891, i32 0, i32 1
%t893 = getelementptr inbounds %LSlice, ptr %t891, i32 0, i32 2
%t894 = getelementptr inbounds %LSlice, ptr %t891, i32 0, i32 0
%t895 = load i32, ptr %t892
%t896 = load i32, ptr %t893
%t897 = icmp sge i32 %t895, %t896
br i1 %t897, label %grow249, label %put250
grow249:
%t898 = mul i32 %t896, 2
%t899 = icmp eq i32 %t896, 0
%t900 = select i1 %t899, i32 8, i32 %t898
%t901 = getelementptr ptr, ptr null, i32 1
%t902 = ptrtoint ptr %t901 to i64
%t903 = zext i32 %t900 to i64
%t904 = mul i64 %t903, %t902
%t905 = load ptr, ptr %t894
%t906 = call ptr @realloc(ptr %t905, i64 %t904)
store ptr %t906, ptr %t894
store i32 %t900, ptr %t893
br label %put250
put250:
%t907 = load ptr, ptr %t894
%t908 = getelementptr inbounds ptr, ptr %t907, i32 %t895
store ptr @.str5774, ptr %t908
%t909 = add i32 %t895, 1
store i32 %t909, ptr %t892
%t910 = load ptr, ptr %t281
%t911 = getelementptr inbounds %LSlice, ptr %t910, i32 0, i32 1
%t912 = getelementptr inbounds %LSlice, ptr %t910, i32 0, i32 2
%t913 = getelementptr inbounds %LSlice, ptr %t910, i32 0, i32 0
%t914 = load i32, ptr %t911
%t915 = load i32, ptr %t912
%t916 = icmp sge i32 %t914, %t915
br i1 %t916, label %grow251, label %put252
grow251:
%t917 = mul i32 %t915, 2
%t918 = icmp eq i32 %t915, 0
%t919 = select i1 %t918, i32 8, i32 %t917
%t920 = getelementptr ptr, ptr null, i32 1
%t921 = ptrtoint ptr %t920 to i64
%t922 = zext i32 %t919 to i64
%t923 = mul i64 %t922, %t921
%t924 = load ptr, ptr %t913
%t925 = call ptr @realloc(ptr %t924, i64 %t923)
store ptr %t925, ptr %t913
store i32 %t919, ptr %t912
br label %put252
put252:
%t926 = load ptr, ptr %t913
%t927 = getelementptr inbounds ptr, ptr %t926, i32 %t914
store ptr @.str5775, ptr %t927
%t928 = add i32 %t914, 1
store i32 %t928, ptr %t911
%t929 = load ptr, ptr %t281
%t930 = getelementptr inbounds %LSlice, ptr %t929, i32 0, i32 1
%t931 = getelementptr inbounds %LSlice, ptr %t929, i32 0, i32 2
%t932 = getelementptr inbounds %LSlice, ptr %t929, i32 0, i32 0
%t933 = load i32, ptr %t930
%t934 = load i32, ptr %t931
%t935 = icmp sge i32 %t933, %t934
br i1 %t935, label %grow253, label %put254
grow253:
%t936 = mul i32 %t934, 2
%t937 = icmp eq i32 %t934, 0
%t938 = select i1 %t937, i32 8, i32 %t936
%t939 = getelementptr ptr, ptr null, i32 1
%t940 = ptrtoint ptr %t939 to i64
%t941 = zext i32 %t938 to i64
%t942 = mul i64 %t941, %t940
%t943 = load ptr, ptr %t932
%t944 = call ptr @realloc(ptr %t943, i64 %t942)
store ptr %t944, ptr %t932
store i32 %t938, ptr %t931
br label %put254
put254:
%t945 = load ptr, ptr %t932
%t946 = getelementptr inbounds ptr, ptr %t945, i32 %t933
store ptr @.str5776, ptr %t946
%t947 = add i32 %t933, 1
store i32 %t947, ptr %t930
%t948 = load ptr, ptr %t281
%t949 = getelementptr inbounds %LSlice, ptr %t948, i32 0, i32 1
%t950 = getelementptr inbounds %LSlice, ptr %t948, i32 0, i32 2
%t951 = getelementptr inbounds %LSlice, ptr %t948, i32 0, i32 0
%t952 = load i32, ptr %t949
%t953 = load i32, ptr %t950
%t954 = icmp sge i32 %t952, %t953
br i1 %t954, label %grow255, label %put256
grow255:
%t955 = mul i32 %t953, 2
%t956 = icmp eq i32 %t953, 0
%t957 = select i1 %t956, i32 8, i32 %t955
%t958 = getelementptr ptr, ptr null, i32 1
%t959 = ptrtoint ptr %t958 to i64
%t960 = zext i32 %t957 to i64
%t961 = mul i64 %t960, %t959
%t962 = load ptr, ptr %t951
%t963 = call ptr @realloc(ptr %t962, i64 %t961)
store ptr %t963, ptr %t951
store i32 %t957, ptr %t950
br label %put256
put256:
%t964 = load ptr, ptr %t951
%t965 = getelementptr inbounds ptr, ptr %t964, i32 %t952
store ptr @.str5777, ptr %t965
%t966 = add i32 %t952, 1
store i32 %t966, ptr %t949
br label %ifend248
ifend248:
%t967 = load ptr, ptr %t1
%t968 = call i32 @fn_str_eq(ptr %t967, ptr @.str5778)
%t969 = icmp ne i32 %t968, 0
br i1 %t969, label %then257, label %ifend259
then257:
store ptr @.str5779, ptr %t274
%t970 = load ptr, ptr %t281
%t971 = getelementptr inbounds %LSlice, ptr %t970, i32 0, i32 1
%t972 = getelementptr inbounds %LSlice, ptr %t970, i32 0, i32 2
%t973 = getelementptr inbounds %LSlice, ptr %t970, i32 0, i32 0
%t974 = load i32, ptr %t971
%t975 = load i32, ptr %t972
%t976 = icmp sge i32 %t974, %t975
br i1 %t976, label %grow260, label %put261
grow260:
%t977 = mul i32 %t975, 2
%t978 = icmp eq i32 %t975, 0
%t979 = select i1 %t978, i32 8, i32 %t977
%t980 = getelementptr ptr, ptr null, i32 1
%t981 = ptrtoint ptr %t980 to i64
%t982 = zext i32 %t979 to i64
%t983 = mul i64 %t982, %t981
%t984 = load ptr, ptr %t973
%t985 = call ptr @realloc(ptr %t984, i64 %t983)
store ptr %t985, ptr %t973
store i32 %t979, ptr %t972
br label %put261
put261:
%t986 = load ptr, ptr %t973
%t987 = getelementptr inbounds ptr, ptr %t986, i32 %t974
store ptr @.str5780, ptr %t987
%t988 = add i32 %t974, 1
store i32 %t988, ptr %t971
%t989 = load ptr, ptr %t281
%t990 = getelementptr inbounds %LSlice, ptr %t989, i32 0, i32 1
%t991 = getelementptr inbounds %LSlice, ptr %t989, i32 0, i32 2
%t992 = getelementptr inbounds %LSlice, ptr %t989, i32 0, i32 0
%t993 = load i32, ptr %t990
%t994 = load i32, ptr %t991
%t995 = icmp sge i32 %t993, %t994
br i1 %t995, label %grow262, label %put263
grow262:
%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
%t1004 = call ptr @realloc(ptr %t1003, i64 %t1002)
store ptr %t1004, ptr %t992
store i32 %t998, ptr %t991
br label %put263
put263:
%t1005 = load ptr, ptr %t992
%t1006 = getelementptr inbounds ptr, ptr %t1005, i32 %t993
store ptr @.str5781, ptr %t1006
%t1007 = add i32 %t993, 1
store i32 %t1007, ptr %t990
%t1008 = load ptr, ptr %t281
%t1009 = getelementptr inbounds %LSlice, ptr %t1008, i32 0, i32 1
%t1010 = getelementptr inbounds %LSlice, ptr %t1008, i32 0, i32 2
%t1011 = getelementptr inbounds %LSlice, ptr %t1008, i32 0, i32 0
%t1012 = load i32, ptr %t1009
%t1013 = load i32, ptr %t1010
%t1014 = icmp sge i32 %t1012, %t1013
br i1 %t1014, label %grow264, label %put265
grow264:
%t1015 = mul i32 %t1013, 2
%t1016 = icmp eq i32 %t1013, 0
%t1017 = select i1 %t1016, i32 8, i32 %t1015
%t1018 = getelementptr ptr, ptr null, i32 1
%t1019 = ptrtoint ptr %t1018 to i64
%t1020 = zext i32 %t1017 to i64
%t1021 = mul i64 %t1020, %t1019
%t1022 = load ptr, ptr %t1011
%t1023 = call ptr @realloc(ptr %t1022, i64 %t1021)
store ptr %t1023, ptr %t1011
store i32 %t1017, ptr %t1010
br label %put265
put265:
%t1024 = load ptr, ptr %t1011
%t1025 = getelementptr inbounds ptr, ptr %t1024, i32 %t1012
store ptr @.str5782, ptr %t1025
%t1026 = add i32 %t1012, 1
store i32 %t1026, ptr %t1009
%t1027 = load ptr, ptr %t281
%t1028 = getelementptr inbounds %LSlice, ptr %t1027, i32 0, i32 1
%t1029 = getelementptr inbounds %LSlice, ptr %t1027, i32 0, i32 2
%t1030 = getelementptr inbounds %LSlice, ptr %t1027, i32 0, i32 0
%t1031 = load i32, ptr %t1028
%t1032 = load i32, ptr %t1029
%t1033 = icmp sge i32 %t1031, %t1032
br i1 %t1033, label %grow266, label %put267
grow266:
%t1034 = mul i32 %t1032, 2
%t1035 = icmp eq i32 %t1032, 0
%t1036 = select i1 %t1035, i32 8, i32 %t1034
%t1037 = getelementptr ptr, ptr null, i32 1
%t1038 = ptrtoint ptr %t1037 to i64
%t1039 = zext i32 %t1036 to i64
%t1040 = mul i64 %t1039, %t1038
%t1041 = load ptr, ptr %t1030
%t1042 = call ptr @realloc(ptr %t1041, i64 %t1040)
store ptr %t1042, ptr %t1030
store i32 %t1036, ptr %t1029
br label %put267
put267:
%t1043 = load ptr, ptr %t1030
%t1044 = getelementptr inbounds ptr, ptr %t1043, i32 %t1031
store ptr @.str5783, ptr %t1044
%t1045 = add i32 %t1031, 1
store i32 %t1045, ptr %t1028
br label %ifend259
ifend259:
%t1046 = load ptr, ptr %t1
%t1047 = call i32 @fn_str_eq(ptr %t1046, ptr @.str5784)
%t1048 = icmp ne i32 %t1047, 0
br i1 %t1048, label %then268, label %ifend270
then268:
store ptr @.str5785, ptr %t274
%t1049 = load ptr, ptr %t281
%t1050 = getelementptr inbounds %LSlice, ptr %t1049, i32 0, i32 1
%t1051 = getelementptr inbounds %LSlice, ptr %t1049, i32 0, i32 2
%t1052 = getelementptr inbounds %LSlice, ptr %t1049, i32 0, i32 0
%t1053 = load i32, ptr %t1050
%t1054 = load i32, ptr %t1051
%t1055 = icmp sge i32 %t1053, %t1054
br i1 %t1055, label %grow271, label %put272
grow271:
%t1056 = mul i32 %t1054, 2
%t1057 = icmp eq i32 %t1054, 0
%t1058 = select i1 %t1057, i32 8, i32 %t1056
%t1059 = getelementptr ptr, ptr null, i32 1
%t1060 = ptrtoint ptr %t1059 to i64
%t1061 = zext i32 %t1058 to i64
%t1062 = mul i64 %t1061, %t1060
%t1063 = load ptr, ptr %t1052
%t1064 = call ptr @realloc(ptr %t1063, i64 %t1062)
store ptr %t1064, ptr %t1052
store i32 %t1058, ptr %t1051
br label %put272
put272:
%t1065 = load ptr, ptr %t1052
%t1066 = getelementptr inbounds ptr, ptr %t1065, i32 %t1053
store ptr @.str5786, ptr %t1066
%t1067 = add i32 %t1053, 1
store i32 %t1067, ptr %t1050
%t1068 = load ptr, ptr %t281
%t1069 = getelementptr inbounds %LSlice, ptr %t1068, i32 0, i32 1
%t1070 = getelementptr inbounds %LSlice, ptr %t1068, i32 0, i32 2
%t1071 = getelementptr inbounds %LSlice, ptr %t1068, i32 0, i32 0
%t1072 = load i32, ptr %t1069
%t1073 = load i32, ptr %t1070
%t1074 = icmp sge i32 %t1072, %t1073
br i1 %t1074, label %grow273, label %put274
grow273:
%t1075 = mul i32 %t1073, 2
%t1076 = icmp eq i32 %t1073, 0
%t1077 = select i1 %t1076, i32 8, i32 %t1075
%t1078 = getelementptr ptr, ptr null, i32 1
%t1079 = ptrtoint ptr %t1078 to i64
%t1080 = zext i32 %t1077 to i64
%t1081 = mul i64 %t1080, %t1079
%t1082 = load ptr, ptr %t1071
%t1083 = call ptr @realloc(ptr %t1082, i64 %t1081)
store ptr %t1083, ptr %t1071
store i32 %t1077, ptr %t1070
br label %put274
put274:
%t1084 = load ptr, ptr %t1071
%t1085 = getelementptr inbounds ptr, ptr %t1084, i32 %t1072
store ptr @.str5787, ptr %t1085
%t1086 = add i32 %t1072, 1
store i32 %t1086, ptr %t1069
%t1087 = load ptr, ptr %t281
%t1088 = getelementptr inbounds %LSlice, ptr %t1087, i32 0, i32 1
%t1089 = getelementptr inbounds %LSlice, ptr %t1087, i32 0, i32 2
%t1090 = getelementptr inbounds %LSlice, ptr %t1087, i32 0, i32 0
%t1091 = load i32, ptr %t1088
%t1092 = load i32, ptr %t1089
%t1093 = icmp sge i32 %t1091, %t1092
br i1 %t1093, label %grow275, label %put276
grow275:
%t1094 = mul i32 %t1092, 2
%t1095 = icmp eq i32 %t1092, 0
%t1096 = select i1 %t1095, i32 8, i32 %t1094
%t1097 = getelementptr ptr, ptr null, i32 1
%t1098 = ptrtoint ptr %t1097 to i64
%t1099 = zext i32 %t1096 to i64
%t1100 = mul i64 %t1099, %t1098
%t1101 = load ptr, ptr %t1090
%t1102 = call ptr @realloc(ptr %t1101, i64 %t1100)
store ptr %t1102, ptr %t1090
store i32 %t1096, ptr %t1089
br label %put276
put276:
%t1103 = load ptr, ptr %t1090
%t1104 = getelementptr inbounds ptr, ptr %t1103, i32 %t1091
store ptr @.str5788, ptr %t1104
%t1105 = add i32 %t1091, 1
store i32 %t1105, ptr %t1088
%t1106 = load ptr, ptr %t281
%t1107 = getelementptr inbounds %LSlice, ptr %t1106, i32 0, i32 1
%t1108 = getelementptr inbounds %LSlice, ptr %t1106, i32 0, i32 2
%t1109 = getelementptr inbounds %LSlice, ptr %t1106, i32 0, i32 0
%t1110 = load i32, ptr %t1107
%t1111 = load i32, ptr %t1108
%t1112 = icmp sge i32 %t1110, %t1111
br i1 %t1112, label %grow277, label %put278
grow277:
%t1113 = mul i32 %t1111, 2
%t1114 = icmp eq i32 %t1111, 0
%t1115 = select i1 %t1114, i32 8, i32 %t1113
%t1116 = getelementptr ptr, ptr null, i32 1
%t1117 = ptrtoint ptr %t1116 to i64
%t1118 = zext i32 %t1115 to i64
%t1119 = mul i64 %t1118, %t1117
%t1120 = load ptr, ptr %t1109
%t1121 = call ptr @realloc(ptr %t1120, i64 %t1119)
store ptr %t1121, ptr %t1109
store i32 %t1115, ptr %t1108
br label %put278
put278:
%t1122 = load ptr, ptr %t1109
%t1123 = getelementptr inbounds ptr, ptr %t1122, i32 %t1110
store ptr @.str5789, ptr %t1123
%t1124 = add i32 %t1110, 1
store i32 %t1124, ptr %t1107
%t1125 = load ptr, ptr %t281
%t1126 = getelementptr inbounds %LSlice, ptr %t1125, i32 0, i32 1
%t1127 = getelementptr inbounds %LSlice, ptr %t1125, i32 0, i32 2
%t1128 = getelementptr inbounds %LSlice, ptr %t1125, i32 0, i32 0
%t1129 = load i32, ptr %t1126
%t1130 = load i32, ptr %t1127
%t1131 = icmp sge i32 %t1129, %t1130
br i1 %t1131, label %grow279, label %put280
grow279:
%t1132 = mul i32 %t1130, 2
%t1133 = icmp eq i32 %t1130, 0
%t1134 = select i1 %t1133, i32 8, i32 %t1132
%t1135 = getelementptr ptr, ptr null, i32 1
%t1136 = ptrtoint ptr %t1135 to i64
%t1137 = zext i32 %t1134 to i64
%t1138 = mul i64 %t1137, %t1136
%t1139 = load ptr, ptr %t1128
%t1140 = call ptr @realloc(ptr %t1139, i64 %t1138)
store ptr %t1140, ptr %t1128
store i32 %t1134, ptr %t1127
br label %put280
put280:
%t1141 = load ptr, ptr %t1128
%t1142 = getelementptr inbounds ptr, ptr %t1141, i32 %t1129
store ptr @.str5790, ptr %t1142
%t1143 = add i32 %t1129, 1
store i32 %t1143, ptr %t1126
%t1144 = load ptr, ptr %t281
%t1145 = getelementptr inbounds %LSlice, ptr %t1144, i32 0, i32 1
%t1146 = getelementptr inbounds %LSlice, ptr %t1144, i32 0, i32 2
%t1147 = getelementptr inbounds %LSlice, ptr %t1144, i32 0, i32 0
%t1148 = load i32, ptr %t1145
%t1149 = load i32, ptr %t1146
%t1150 = icmp sge i32 %t1148, %t1149
br i1 %t1150, label %grow281, label %put282
grow281:
%t1151 = mul i32 %t1149, 2
%t1152 = icmp eq i32 %t1149, 0
%t1153 = select i1 %t1152, i32 8, i32 %t1151
%t1154 = getelementptr ptr, ptr null, i32 1
%t1155 = ptrtoint ptr %t1154 to i64
%t1156 = zext i32 %t1153 to i64
%t1157 = mul i64 %t1156, %t1155
%t1158 = load ptr, ptr %t1147
%t1159 = call ptr @realloc(ptr %t1158, i64 %t1157)
store ptr %t1159, ptr %t1147
store i32 %t1153, ptr %t1146
br label %put282
put282:
%t1160 = load ptr, ptr %t1147
%t1161 = getelementptr inbounds ptr, ptr %t1160, i32 %t1148
store ptr @.str5791, ptr %t1161
%t1162 = add i32 %t1148, 1
store i32 %t1162, ptr %t1145
%t1163 = load ptr, ptr %t281
%t1164 = getelementptr inbounds %LSlice, ptr %t1163, i32 0, i32 1
%t1165 = getelementptr inbounds %LSlice, ptr %t1163, i32 0, i32 2
%t1166 = getelementptr inbounds %LSlice, ptr %t1163, i32 0, i32 0
%t1167 = load i32, ptr %t1164
%t1168 = load i32, ptr %t1165
%t1169 = icmp sge i32 %t1167, %t1168
br i1 %t1169, label %grow283, label %put284
grow283:
%t1170 = mul i32 %t1168, 2
%t1171 = icmp eq i32 %t1168, 0
%t1172 = select i1 %t1171, i32 8, i32 %t1170
%t1173 = getelementptr ptr, ptr null, i32 1
%t1174 = ptrtoint ptr %t1173 to i64
%t1175 = zext i32 %t1172 to i64
%t1176 = mul i64 %t1175, %t1174
%t1177 = load ptr, ptr %t1166
%t1178 = call ptr @realloc(ptr %t1177, i64 %t1176)
store ptr %t1178, ptr %t1166
store i32 %t1172, ptr %t1165
br label %put284
put284:
%t1179 = load ptr, ptr %t1166
%t1180 = getelementptr inbounds ptr, ptr %t1179, i32 %t1167
store ptr @.str5792, ptr %t1180
%t1181 = add i32 %t1167, 1
store i32 %t1181, ptr %t1164
br label %ifend270
ifend270:
%t1182 = load ptr, ptr %t1
%t1183 = call i32 @fn_str_eq(ptr %t1182, ptr @.str5793)
%t1184 = icmp ne i32 %t1183, 0
br i1 %t1184, label %then285, label %ifend287
then285:
store ptr @.str5794, ptr %t274
%t1185 = load ptr, ptr %t281
%t1186 = getelementptr inbounds %LSlice, ptr %t1185, i32 0, i32 1
%t1187 = getelementptr inbounds %LSlice, ptr %t1185, i32 0, i32 2
%t1188 = getelementptr inbounds %LSlice, ptr %t1185, i32 0, i32 0
%t1189 = load i32, ptr %t1186
%t1190 = load i32, ptr %t1187
%t1191 = icmp sge i32 %t1189, %t1190
br i1 %t1191, label %grow288, label %put289
grow288:
%t1192 = mul i32 %t1190, 2
%t1193 = icmp eq i32 %t1190, 0
%t1194 = select i1 %t1193, i32 8, i32 %t1192
%t1195 = getelementptr ptr, ptr null, i32 1
%t1196 = ptrtoint ptr %t1195 to i64
%t1197 = zext i32 %t1194 to i64
%t1198 = mul i64 %t1197, %t1196
%t1199 = load ptr, ptr %t1188
%t1200 = call ptr @realloc(ptr %t1199, i64 %t1198)
store ptr %t1200, ptr %t1188
store i32 %t1194, ptr %t1187
br label %put289
put289:
%t1201 = load ptr, ptr %t1188
%t1202 = getelementptr inbounds ptr, ptr %t1201, i32 %t1189
store ptr @.str5795, ptr %t1202
%t1203 = add i32 %t1189, 1
store i32 %t1203, ptr %t1186
%t1204 = load ptr, ptr %t281
%t1205 = getelementptr inbounds %LSlice, ptr %t1204, i32 0, i32 1
%t1206 = getelementptr inbounds %LSlice, ptr %t1204, i32 0, i32 2
%t1207 = getelementptr inbounds %LSlice, ptr %t1204, i32 0, i32 0
%t1208 = load i32, ptr %t1205
%t1209 = load i32, ptr %t1206
%t1210 = icmp sge i32 %t1208, %t1209
br i1 %t1210, label %grow290, label %put291
grow290:
%t1211 = mul i32 %t1209, 2
%t1212 = icmp eq i32 %t1209, 0
%t1213 = select i1 %t1212, i32 8, i32 %t1211
%t1214 = getelementptr ptr, ptr null, i32 1
%t1215 = ptrtoint ptr %t1214 to i64
%t1216 = zext i32 %t1213 to i64
%t1217 = mul i64 %t1216, %t1215
%t1218 = load ptr, ptr %t1207
%t1219 = call ptr @realloc(ptr %t1218, i64 %t1217)
store ptr %t1219, ptr %t1207
store i32 %t1213, ptr %t1206
br label %put291
put291:
%t1220 = load ptr, ptr %t1207
%t1221 = getelementptr inbounds ptr, ptr %t1220, i32 %t1208
store ptr @.str5796, ptr %t1221
%t1222 = add i32 %t1208, 1
store i32 %t1222, ptr %t1205
%t1223 = load ptr, ptr %t281
%t1224 = getelementptr inbounds %LSlice, ptr %t1223, i32 0, i32 1
%t1225 = getelementptr inbounds %LSlice, ptr %t1223, i32 0, i32 2
%t1226 = getelementptr inbounds %LSlice, ptr %t1223, i32 0, i32 0
%t1227 = load i32, ptr %t1224
%t1228 = load i32, ptr %t1225
%t1229 = icmp sge i32 %t1227, %t1228
br i1 %t1229, label %grow292, label %put293
grow292:
%t1230 = mul i32 %t1228, 2
%t1231 = icmp eq i32 %t1228, 0
%t1232 = select i1 %t1231, i32 8, i32 %t1230
%t1233 = getelementptr ptr, ptr null, i32 1
%t1234 = ptrtoint ptr %t1233 to i64
%t1235 = zext i32 %t1232 to i64
%t1236 = mul i64 %t1235, %t1234
%t1237 = load ptr, ptr %t1226
%t1238 = call ptr @realloc(ptr %t1237, i64 %t1236)
store ptr %t1238, ptr %t1226
store i32 %t1232, ptr %t1225
br label %put293
put293:
%t1239 = load ptr, ptr %t1226
%t1240 = getelementptr inbounds ptr, ptr %t1239, i32 %t1227
store ptr @.str5797, ptr %t1240
%t1241 = add i32 %t1227, 1
store i32 %t1241, ptr %t1224
%t1242 = load ptr, ptr %t281
%t1243 = getelementptr inbounds %LSlice, ptr %t1242, i32 0, i32 1
%t1244 = getelementptr inbounds %LSlice, ptr %t1242, i32 0, i32 2
%t1245 = getelementptr inbounds %LSlice, ptr %t1242, i32 0, i32 0
%t1246 = load i32, ptr %t1243
%t1247 = load i32, ptr %t1244
%t1248 = icmp sge i32 %t1246, %t1247
br i1 %t1248, label %grow294, label %put295
grow294:
%t1249 = mul i32 %t1247, 2
%t1250 = icmp eq i32 %t1247, 0
%t1251 = select i1 %t1250, i32 8, i32 %t1249
%t1252 = getelementptr ptr, ptr null, i32 1
%t1253 = ptrtoint ptr %t1252 to i64
%t1254 = zext i32 %t1251 to i64
%t1255 = mul i64 %t1254, %t1253
%t1256 = load ptr, ptr %t1245
%t1257 = call ptr @realloc(ptr %t1256, i64 %t1255)
store ptr %t1257, ptr %t1245
store i32 %t1251, ptr %t1244
br label %put295
put295:
%t1258 = load ptr, ptr %t1245
%t1259 = getelementptr inbounds ptr, ptr %t1258, i32 %t1246
store ptr @.str5798, ptr %t1259
%t1260 = add i32 %t1246, 1
store i32 %t1260, ptr %t1243
%t1261 = load ptr, ptr %t281
%t1262 = getelementptr inbounds %LSlice, ptr %t1261, i32 0, i32 1
%t1263 = getelementptr inbounds %LSlice, ptr %t1261, i32 0, i32 2
%t1264 = getelementptr inbounds %LSlice, ptr %t1261, i32 0, i32 0
%t1265 = load i32, ptr %t1262
%t1266 = load i32, ptr %t1263
%t1267 = icmp sge i32 %t1265, %t1266
br i1 %t1267, label %grow296, label %put297
grow296:
%t1268 = mul i32 %t1266, 2
%t1269 = icmp eq i32 %t1266, 0
%t1270 = select i1 %t1269, i32 8, i32 %t1268
%t1271 = getelementptr ptr, ptr null, i32 1
%t1272 = ptrtoint ptr %t1271 to i64
%t1273 = zext i32 %t1270 to i64
%t1274 = mul i64 %t1273, %t1272
%t1275 = load ptr, ptr %t1264
%t1276 = call ptr @realloc(ptr %t1275, i64 %t1274)
store ptr %t1276, ptr %t1264
store i32 %t1270, ptr %t1263
br label %put297
put297:
%t1277 = load ptr, ptr %t1264
%t1278 = getelementptr inbounds ptr, ptr %t1277, i32 %t1265
store ptr @.str5799, ptr %t1278
%t1279 = add i32 %t1265, 1
store i32 %t1279, ptr %t1262
%t1280 = load ptr, ptr %t281
%t1281 = getelementptr inbounds %LSlice, ptr %t1280, i32 0, i32 1
%t1282 = getelementptr inbounds %LSlice, ptr %t1280, i32 0, i32 2
%t1283 = getelementptr inbounds %LSlice, ptr %t1280, i32 0, i32 0
%t1284 = load i32, ptr %t1281
%t1285 = load i32, ptr %t1282
%t1286 = icmp sge i32 %t1284, %t1285
br i1 %t1286, label %grow298, label %put299
grow298:
%t1287 = mul i32 %t1285, 2
%t1288 = icmp eq i32 %t1285, 0
%t1289 = select i1 %t1288, i32 8, i32 %t1287
%t1290 = getelementptr ptr, ptr null, i32 1
%t1291 = ptrtoint ptr %t1290 to i64
%t1292 = zext i32 %t1289 to i64
%t1293 = mul i64 %t1292, %t1291
%t1294 = load ptr, ptr %t1283
%t1295 = call ptr @realloc(ptr %t1294, i64 %t1293)
store ptr %t1295, ptr %t1283
store i32 %t1289, ptr %t1282
br label %put299
put299:
%t1296 = load ptr, ptr %t1283
%t1297 = getelementptr inbounds ptr, ptr %t1296, i32 %t1284
store ptr @.str5800, ptr %t1297
%t1298 = add i32 %t1284, 1
store i32 %t1298, ptr %t1281
%t1299 = load ptr, ptr %t281
%t1300 = getelementptr inbounds %LSlice, ptr %t1299, i32 0, i32 1
%t1301 = getelementptr inbounds %LSlice, ptr %t1299, i32 0, i32 2
%t1302 = getelementptr inbounds %LSlice, ptr %t1299, i32 0, i32 0
%t1303 = load i32, ptr %t1300
%t1304 = load i32, ptr %t1301
%t1305 = icmp sge i32 %t1303, %t1304
br i1 %t1305, label %grow300, label %put301
grow300:
%t1306 = mul i32 %t1304, 2
%t1307 = icmp eq i32 %t1304, 0
%t1308 = select i1 %t1307, i32 8, i32 %t1306
%t1309 = getelementptr ptr, ptr null, i32 1
%t1310 = ptrtoint ptr %t1309 to i64
%t1311 = zext i32 %t1308 to i64
%t1312 = mul i64 %t1311, %t1310
%t1313 = load ptr, ptr %t1302
%t1314 = call ptr @realloc(ptr %t1313, i64 %t1312)
store ptr %t1314, ptr %t1302
store i32 %t1308, ptr %t1301
br label %put301
put301:
%t1315 = load ptr, ptr %t1302
%t1316 = getelementptr inbounds ptr, ptr %t1315, i32 %t1303
store ptr @.str5801, ptr %t1316
%t1317 = add i32 %t1303, 1
store i32 %t1317, ptr %t1300
br label %ifend287
ifend287:
%t1318 = load ptr, ptr %t1
%t1319 = call i32 @fn_str_eq(ptr %t1318, ptr @.str5802)
%t1320 = icmp ne i32 %t1319, 0
br i1 %t1320, label %then302, label %ifend304
then302:
store ptr @.str5803, ptr %t274
%t1321 = load ptr, ptr %t281
%t1322 = getelementptr inbounds %LSlice, ptr %t1321, i32 0, i32 1
%t1323 = getelementptr inbounds %LSlice, ptr %t1321, i32 0, i32 2
%t1324 = getelementptr inbounds %LSlice, ptr %t1321, i32 0, i32 0
%t1325 = load i32, ptr %t1322
%t1326 = load i32, ptr %t1323
%t1327 = icmp sge i32 %t1325, %t1326
br i1 %t1327, label %grow305, label %put306
grow305:
%t1328 = mul i32 %t1326, 2
%t1329 = icmp eq i32 %t1326, 0
%t1330 = select i1 %t1329, i32 8, i32 %t1328
%t1331 = getelementptr ptr, ptr null, i32 1
%t1332 = ptrtoint ptr %t1331 to i64
%t1333 = zext i32 %t1330 to i64
%t1334 = mul i64 %t1333, %t1332
%t1335 = load ptr, ptr %t1324
%t1336 = call ptr @realloc(ptr %t1335, i64 %t1334)
store ptr %t1336, ptr %t1324
store i32 %t1330, ptr %t1323
br label %put306
put306:
%t1337 = load ptr, ptr %t1324
%t1338 = getelementptr inbounds ptr, ptr %t1337, i32 %t1325
store ptr @.str5804, ptr %t1338
%t1339 = add i32 %t1325, 1
store i32 %t1339, ptr %t1322
%t1340 = load ptr, ptr %t281
%t1341 = getelementptr inbounds %LSlice, ptr %t1340, i32 0, i32 1
%t1342 = getelementptr inbounds %LSlice, ptr %t1340, i32 0, i32 2
%t1343 = getelementptr inbounds %LSlice, ptr %t1340, i32 0, i32 0
%t1344 = load i32, ptr %t1341
%t1345 = load i32, ptr %t1342
%t1346 = icmp sge i32 %t1344, %t1345
br i1 %t1346, label %grow307, label %put308
grow307:
%t1347 = mul i32 %t1345, 2
%t1348 = icmp eq i32 %t1345, 0
%t1349 = select i1 %t1348, i32 8, i32 %t1347
%t1350 = getelementptr ptr, ptr null, i32 1
%t1351 = ptrtoint ptr %t1350 to i64
%t1352 = zext i32 %t1349 to i64
%t1353 = mul i64 %t1352, %t1351
%t1354 = load ptr, ptr %t1343
%t1355 = call ptr @realloc(ptr %t1354, i64 %t1353)
store ptr %t1355, ptr %t1343
store i32 %t1349, ptr %t1342
br label %put308
put308:
%t1356 = load ptr, ptr %t1343
%t1357 = getelementptr inbounds ptr, ptr %t1356, i32 %t1344
store ptr @.str5805, ptr %t1357
%t1358 = add i32 %t1344, 1
store i32 %t1358, ptr %t1341
%t1359 = load ptr, ptr %t281
%t1360 = getelementptr inbounds %LSlice, ptr %t1359, i32 0, i32 1
%t1361 = getelementptr inbounds %LSlice, ptr %t1359, i32 0, i32 2
%t1362 = getelementptr inbounds %LSlice, ptr %t1359, i32 0, i32 0
%t1363 = load i32, ptr %t1360
%t1364 = load i32, ptr %t1361
%t1365 = icmp sge i32 %t1363, %t1364
br i1 %t1365, label %grow309, label %put310
grow309:
%t1366 = mul i32 %t1364, 2
%t1367 = icmp eq i32 %t1364, 0
%t1368 = select i1 %t1367, i32 8, i32 %t1366
%t1369 = getelementptr ptr, ptr null, i32 1
%t1370 = ptrtoint ptr %t1369 to i64
%t1371 = zext i32 %t1368 to i64
%t1372 = mul i64 %t1371, %t1370
%t1373 = load ptr, ptr %t1362
%t1374 = call ptr @realloc(ptr %t1373, i64 %t1372)
store ptr %t1374, ptr %t1362
store i32 %t1368, ptr %t1361
br label %put310
put310:
%t1375 = load ptr, ptr %t1362
%t1376 = getelementptr inbounds ptr, ptr %t1375, i32 %t1363
store ptr @.str5806, ptr %t1376
%t1377 = add i32 %t1363, 1
store i32 %t1377, ptr %t1360
br label %ifend304
ifend304:
%t1378 = load ptr, ptr %t1
%t1379 = call i32 @fn_str_eq(ptr %t1378, ptr @.str5807)
%t1380 = icmp ne i32 %t1379, 0
br i1 %t1380, label %then311, label %ifend313
then311:
store ptr @.str5808, ptr %t274
%t1381 = load ptr, ptr %t281
%t1382 = getelementptr inbounds %LSlice, ptr %t1381, i32 0, i32 1
%t1383 = getelementptr inbounds %LSlice, ptr %t1381, i32 0, i32 2
%t1384 = getelementptr inbounds %LSlice, ptr %t1381, i32 0, i32 0
%t1385 = load i32, ptr %t1382
%t1386 = load i32, ptr %t1383
%t1387 = icmp sge i32 %t1385, %t1386
br i1 %t1387, label %grow314, label %put315
grow314:
%t1388 = mul i32 %t1386, 2
%t1389 = icmp eq i32 %t1386, 0
%t1390 = select i1 %t1389, i32 8, i32 %t1388
%t1391 = getelementptr ptr, ptr null, i32 1
%t1392 = ptrtoint ptr %t1391 to i64
%t1393 = zext i32 %t1390 to i64
%t1394 = mul i64 %t1393, %t1392
%t1395 = load ptr, ptr %t1384
%t1396 = call ptr @realloc(ptr %t1395, i64 %t1394)
store ptr %t1396, ptr %t1384
store i32 %t1390, ptr %t1383
br label %put315
put315:
%t1397 = load ptr, ptr %t1384
%t1398 = getelementptr inbounds ptr, ptr %t1397, i32 %t1385
store ptr @.str5809, ptr %t1398
%t1399 = add i32 %t1385, 1
store i32 %t1399, ptr %t1382
%t1400 = load ptr, ptr %t281
%t1401 = getelementptr inbounds %LSlice, ptr %t1400, i32 0, i32 1
%t1402 = getelementptr inbounds %LSlice, ptr %t1400, i32 0, i32 2
%t1403 = getelementptr inbounds %LSlice, ptr %t1400, i32 0, i32 0
%t1404 = load i32, ptr %t1401
%t1405 = load i32, ptr %t1402
%t1406 = icmp sge i32 %t1404, %t1405
br i1 %t1406, label %grow316, label %put317
grow316:
%t1407 = mul i32 %t1405, 2
%t1408 = icmp eq i32 %t1405, 0
%t1409 = select i1 %t1408, i32 8, i32 %t1407
%t1410 = getelementptr ptr, ptr null, i32 1
%t1411 = ptrtoint ptr %t1410 to i64
%t1412 = zext i32 %t1409 to i64
%t1413 = mul i64 %t1412, %t1411
%t1414 = load ptr, ptr %t1403
%t1415 = call ptr @realloc(ptr %t1414, i64 %t1413)
store ptr %t1415, ptr %t1403
store i32 %t1409, ptr %t1402
br label %put317
put317:
%t1416 = load ptr, ptr %t1403
%t1417 = getelementptr inbounds ptr, ptr %t1416, i32 %t1404
store ptr @.str5810, ptr %t1417
%t1418 = add i32 %t1404, 1
store i32 %t1418, ptr %t1401
%t1419 = load ptr, ptr %t281
%t1420 = getelementptr inbounds %LSlice, ptr %t1419, i32 0, i32 1
%t1421 = getelementptr inbounds %LSlice, ptr %t1419, i32 0, i32 2
%t1422 = getelementptr inbounds %LSlice, ptr %t1419, i32 0, i32 0
%t1423 = load i32, ptr %t1420
%t1424 = load i32, ptr %t1421
%t1425 = icmp sge i32 %t1423, %t1424
br i1 %t1425, label %grow318, label %put319
grow318:
%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
%t1434 = call ptr @realloc(ptr %t1433, i64 %t1432)
store ptr %t1434, ptr %t1422
store i32 %t1428, ptr %t1421
br label %put319
put319:
%t1435 = load ptr, ptr %t1422
%t1436 = getelementptr inbounds ptr, ptr %t1435, i32 %t1423
store ptr @.str5811, ptr %t1436
%t1437 = add i32 %t1423, 1
store i32 %t1437, ptr %t1420
%t1438 = load ptr, ptr %t281
%t1439 = getelementptr inbounds %LSlice, ptr %t1438, i32 0, i32 1
%t1440 = getelementptr inbounds %LSlice, ptr %t1438, i32 0, i32 2
%t1441 = getelementptr inbounds %LSlice, ptr %t1438, i32 0, i32 0
%t1442 = load i32, ptr %t1439
%t1443 = load i32, ptr %t1440
%t1444 = icmp sge i32 %t1442, %t1443
br i1 %t1444, label %grow320, label %put321
grow320:
%t1445 = mul i32 %t1443, 2
%t1446 = icmp eq i32 %t1443, 0
%t1447 = select i1 %t1446, i32 8, i32 %t1445
%t1448 = getelementptr ptr, ptr null, i32 1
%t1449 = ptrtoint ptr %t1448 to i64
%t1450 = zext i32 %t1447 to i64
%t1451 = mul i64 %t1450, %t1449
%t1452 = load ptr, ptr %t1441
%t1453 = call ptr @realloc(ptr %t1452, i64 %t1451)
store ptr %t1453, ptr %t1441
store i32 %t1447, ptr %t1440
br label %put321
put321:
%t1454 = load ptr, ptr %t1441
%t1455 = getelementptr inbounds ptr, ptr %t1454, i32 %t1442
store ptr @.str5812, ptr %t1455
%t1456 = add i32 %t1442, 1
store i32 %t1456, ptr %t1439
br label %ifend313
ifend313:
%t1457 = load ptr, ptr %t1
%t1458 = call i32 @fn_str_eq(ptr %t1457, ptr @.str5813)
%t1459 = icmp ne i32 %t1458, 0
br i1 %t1459, label %then322, label %ifend324
then322:
store ptr @.str5814, ptr %t274
%t1460 = load ptr, ptr %t281
%t1461 = getelementptr inbounds %LSlice, ptr %t1460, i32 0, i32 1
%t1462 = getelementptr inbounds %LSlice, ptr %t1460, i32 0, i32 2
%t1463 = getelementptr inbounds %LSlice, ptr %t1460, i32 0, i32 0
%t1464 = load i32, ptr %t1461
%t1465 = load i32, ptr %t1462
%t1466 = icmp sge i32 %t1464, %t1465
br i1 %t1466, label %grow325, label %put326
grow325:
%t1467 = mul i32 %t1465, 2
%t1468 = icmp eq i32 %t1465, 0
%t1469 = select i1 %t1468, i32 8, i32 %t1467
%t1470 = getelementptr ptr, ptr null, i32 1
%t1471 = ptrtoint ptr %t1470 to i64
%t1472 = zext i32 %t1469 to i64
%t1473 = mul i64 %t1472, %t1471
%t1474 = load ptr, ptr %t1463
%t1475 = call ptr @realloc(ptr %t1474, i64 %t1473)
store ptr %t1475, ptr %t1463
store i32 %t1469, ptr %t1462
br label %put326
put326:
%t1476 = load ptr, ptr %t1463
%t1477 = getelementptr inbounds ptr, ptr %t1476, i32 %t1464
store ptr @.str5815, ptr %t1477
%t1478 = add i32 %t1464, 1
store i32 %t1478, ptr %t1461
%t1479 = load ptr, ptr %t281
%t1480 = getelementptr inbounds %LSlice, ptr %t1479, i32 0, i32 1
%t1481 = getelementptr inbounds %LSlice, ptr %t1479, i32 0, i32 2
%t1482 = getelementptr inbounds %LSlice, ptr %t1479, i32 0, i32 0
%t1483 = load i32, ptr %t1480
%t1484 = load i32, ptr %t1481
%t1485 = icmp sge i32 %t1483, %t1484
br i1 %t1485, label %grow327, label %put328
grow327:
%t1486 = mul i32 %t1484, 2
%t1487 = icmp eq i32 %t1484, 0
%t1488 = select i1 %t1487, i32 8, i32 %t1486
%t1489 = getelementptr ptr, ptr null, i32 1
%t1490 = ptrtoint ptr %t1489 to i64
%t1491 = zext i32 %t1488 to i64
%t1492 = mul i64 %t1491, %t1490
%t1493 = load ptr, ptr %t1482
%t1494 = call ptr @realloc(ptr %t1493, i64 %t1492)
store ptr %t1494, ptr %t1482
store i32 %t1488, ptr %t1481
br label %put328
put328:
%t1495 = load ptr, ptr %t1482
%t1496 = getelementptr inbounds ptr, ptr %t1495, i32 %t1483
store ptr @.str5816, ptr %t1496
%t1497 = add i32 %t1483, 1
store i32 %t1497, ptr %t1480
%t1498 = load ptr, ptr %t281
%t1499 = getelementptr inbounds %LSlice, ptr %t1498, i32 0, i32 1
%t1500 = getelementptr inbounds %LSlice, ptr %t1498, i32 0, i32 2
%t1501 = getelementptr inbounds %LSlice, ptr %t1498, i32 0, i32 0
%t1502 = load i32, ptr %t1499
%t1503 = load i32, ptr %t1500
%t1504 = icmp sge i32 %t1502, %t1503
br i1 %t1504, label %grow329, label %put330
grow329:
%t1505 = mul i32 %t1503, 2
%t1506 = icmp eq i32 %t1503, 0
%t1507 = select i1 %t1506, i32 8, i32 %t1505
%t1508 = getelementptr ptr, ptr null, i32 1
%t1509 = ptrtoint ptr %t1508 to i64
%t1510 = zext i32 %t1507 to i64
%t1511 = mul i64 %t1510, %t1509
%t1512 = load ptr, ptr %t1501
%t1513 = call ptr @realloc(ptr %t1512, i64 %t1511)
store ptr %t1513, ptr %t1501
store i32 %t1507, ptr %t1500
br label %put330
put330:
%t1514 = load ptr, ptr %t1501
%t1515 = getelementptr inbounds ptr, ptr %t1514, i32 %t1502
store ptr @.str5817, ptr %t1515
%t1516 = add i32 %t1502, 1
store i32 %t1516, ptr %t1499
%t1517 = load ptr, ptr %t281
%t1518 = getelementptr inbounds %LSlice, ptr %t1517, i32 0, i32 1
%t1519 = getelementptr inbounds %LSlice, ptr %t1517, i32 0, i32 2
%t1520 = getelementptr inbounds %LSlice, ptr %t1517, i32 0, i32 0
%t1521 = load i32, ptr %t1518
%t1522 = load i32, ptr %t1519
%t1523 = icmp sge i32 %t1521, %t1522
br i1 %t1523, label %grow331, label %put332
grow331:
%t1524 = mul i32 %t1522, 2
%t1525 = icmp eq i32 %t1522, 0
%t1526 = select i1 %t1525, i32 8, i32 %t1524
%t1527 = getelementptr ptr, ptr null, i32 1
%t1528 = ptrtoint ptr %t1527 to i64
%t1529 = zext i32 %t1526 to i64
%t1530 = mul i64 %t1529, %t1528
%t1531 = load ptr, ptr %t1520
%t1532 = call ptr @realloc(ptr %t1531, i64 %t1530)
store ptr %t1532, ptr %t1520
store i32 %t1526, ptr %t1519
br label %put332
put332:
%t1533 = load ptr, ptr %t1520
%t1534 = getelementptr inbounds ptr, ptr %t1533, i32 %t1521
store ptr @.str5818, ptr %t1534
%t1535 = add i32 %t1521, 1
store i32 %t1535, ptr %t1518
%t1536 = load ptr, ptr %t281
%t1537 = getelementptr inbounds %LSlice, ptr %t1536, i32 0, i32 1
%t1538 = getelementptr inbounds %LSlice, ptr %t1536, i32 0, i32 2
%t1539 = getelementptr inbounds %LSlice, ptr %t1536, i32 0, i32 0
%t1540 = load i32, ptr %t1537
%t1541 = load i32, ptr %t1538
%t1542 = icmp sge i32 %t1540, %t1541
br i1 %t1542, label %grow333, label %put334
grow333:
%t1543 = mul i32 %t1541, 2
%t1544 = icmp eq i32 %t1541, 0
%t1545 = select i1 %t1544, i32 8, i32 %t1543
%t1546 = getelementptr ptr, ptr null, i32 1
%t1547 = ptrtoint ptr %t1546 to i64
%t1548 = zext i32 %t1545 to i64
%t1549 = mul i64 %t1548, %t1547
%t1550 = load ptr, ptr %t1539
%t1551 = call ptr @realloc(ptr %t1550, i64 %t1549)
store ptr %t1551, ptr %t1539
store i32 %t1545, ptr %t1538
br label %put334
put334:
%t1552 = load ptr, ptr %t1539
%t1553 = getelementptr inbounds ptr, ptr %t1552, i32 %t1540
store ptr @.str5819, ptr %t1553
%t1554 = add i32 %t1540, 1
store i32 %t1554, ptr %t1537
br label %ifend324
ifend324:
%t1555 = load ptr, ptr %t1
%t1556 = call i32 @fn_str_eq(ptr %t1555, ptr @.str5820)
%t1557 = icmp ne i32 %t1556, 0
br i1 %t1557, label %then335, label %ifend337
then335:
store ptr @.str5821, ptr %t274
%t1558 = load ptr, ptr %t281
%t1559 = getelementptr inbounds %LSlice, ptr %t1558, i32 0, i32 1
%t1560 = getelementptr inbounds %LSlice, ptr %t1558, i32 0, i32 2
%t1561 = getelementptr inbounds %LSlice, ptr %t1558, i32 0, i32 0
%t1562 = load i32, ptr %t1559
%t1563 = load i32, ptr %t1560
%t1564 = icmp sge i32 %t1562, %t1563
br i1 %t1564, label %grow338, label %put339
grow338:
%t1565 = mul i32 %t1563, 2
%t1566 = icmp eq i32 %t1563, 0
%t1567 = select i1 %t1566, i32 8, i32 %t1565
%t1568 = getelementptr ptr, ptr null, i32 1
%t1569 = ptrtoint ptr %t1568 to i64
%t1570 = zext i32 %t1567 to i64
%t1571 = mul i64 %t1570, %t1569
%t1572 = load ptr, ptr %t1561
%t1573 = call ptr @realloc(ptr %t1572, i64 %t1571)
store ptr %t1573, ptr %t1561
store i32 %t1567, ptr %t1560
br label %put339
put339:
%t1574 = load ptr, ptr %t1561
%t1575 = getelementptr inbounds ptr, ptr %t1574, i32 %t1562
store ptr @.str5822, ptr %t1575
%t1576 = add i32 %t1562, 1
store i32 %t1576, ptr %t1559
%t1577 = load ptr, ptr %t281
%t1578 = getelementptr inbounds %LSlice, ptr %t1577, i32 0, i32 1
%t1579 = getelementptr inbounds %LSlice, ptr %t1577, i32 0, i32 2
%t1580 = getelementptr inbounds %LSlice, ptr %t1577, i32 0, i32 0
%t1581 = load i32, ptr %t1578
%t1582 = load i32, ptr %t1579
%t1583 = icmp sge i32 %t1581, %t1582
br i1 %t1583, label %grow340, label %put341
grow340:
%t1584 = mul i32 %t1582, 2
%t1585 = icmp eq i32 %t1582, 0
%t1586 = select i1 %t1585, i32 8, i32 %t1584
%t1587 = getelementptr ptr, ptr null, i32 1
%t1588 = ptrtoint ptr %t1587 to i64
%t1589 = zext i32 %t1586 to i64
%t1590 = mul i64 %t1589, %t1588
%t1591 = load ptr, ptr %t1580
%t1592 = call ptr @realloc(ptr %t1591, i64 %t1590)
store ptr %t1592, ptr %t1580
store i32 %t1586, ptr %t1579
br label %put341
put341:
%t1593 = load ptr, ptr %t1580
%t1594 = getelementptr inbounds ptr, ptr %t1593, i32 %t1581
store ptr @.str5823, ptr %t1594
%t1595 = add i32 %t1581, 1
store i32 %t1595, ptr %t1578
br label %ifend337
ifend337:
%t1596 = load ptr, ptr %t1
%t1597 = call i32 @fn_str_eq(ptr %t1596, ptr @.str5824)
%t1598 = icmp ne i32 %t1597, 0
br i1 %t1598, label %then342, label %ifend344
then342:
store ptr @.str5825, ptr %t274
%t1599 = load ptr, ptr %t281
%t1600 = getelementptr inbounds %LSlice, ptr %t1599, i32 0, i32 1
%t1601 = getelementptr inbounds %LSlice, ptr %t1599, i32 0, i32 2
%t1602 = getelementptr inbounds %LSlice, ptr %t1599, i32 0, i32 0
%t1603 = load i32, ptr %t1600
%t1604 = load i32, ptr %t1601
%t1605 = icmp sge i32 %t1603, %t1604
br i1 %t1605, label %grow345, label %put346
grow345:
%t1606 = mul i32 %t1604, 2
%t1607 = icmp eq i32 %t1604, 0
%t1608 = select i1 %t1607, i32 8, i32 %t1606
%t1609 = getelementptr ptr, ptr null, i32 1
%t1610 = ptrtoint ptr %t1609 to i64
%t1611 = zext i32 %t1608 to i64
%t1612 = mul i64 %t1611, %t1610
%t1613 = load ptr, ptr %t1602
%t1614 = call ptr @realloc(ptr %t1613, i64 %t1612)
store ptr %t1614, ptr %t1602
store i32 %t1608, ptr %t1601
br label %put346
put346:
%t1615 = load ptr, ptr %t1602
%t1616 = getelementptr inbounds ptr, ptr %t1615, i32 %t1603
store ptr @.str5826, ptr %t1616
%t1617 = add i32 %t1603, 1
store i32 %t1617, ptr %t1600
%t1618 = load ptr, ptr %t281
%t1619 = getelementptr inbounds %LSlice, ptr %t1618, i32 0, i32 1
%t1620 = getelementptr inbounds %LSlice, ptr %t1618, i32 0, i32 2
%t1621 = getelementptr inbounds %LSlice, ptr %t1618, i32 0, i32 0
%t1622 = load i32, ptr %t1619
%t1623 = load i32, ptr %t1620
%t1624 = icmp sge i32 %t1622, %t1623
br i1 %t1624, label %grow347, label %put348
grow347:
%t1625 = mul i32 %t1623, 2
%t1626 = icmp eq i32 %t1623, 0
%t1627 = select i1 %t1626, i32 8, i32 %t1625
%t1628 = getelementptr ptr, ptr null, i32 1
%t1629 = ptrtoint ptr %t1628 to i64
%t1630 = zext i32 %t1627 to i64
%t1631 = mul i64 %t1630, %t1629
%t1632 = load ptr, ptr %t1621
%t1633 = call ptr @realloc(ptr %t1632, i64 %t1631)
store ptr %t1633, ptr %t1621
store i32 %t1627, ptr %t1620
br label %put348
put348:
%t1634 = load ptr, ptr %t1621
%t1635 = getelementptr inbounds ptr, ptr %t1634, i32 %t1622
store ptr @.str5827, ptr %t1635
%t1636 = add i32 %t1622, 1
store i32 %t1636, ptr %t1619
%t1637 = load ptr, ptr %t281
%t1638 = getelementptr inbounds %LSlice, ptr %t1637, i32 0, i32 1
%t1639 = getelementptr inbounds %LSlice, ptr %t1637, i32 0, i32 2
%t1640 = getelementptr inbounds %LSlice, ptr %t1637, i32 0, i32 0
%t1641 = load i32, ptr %t1638
%t1642 = load i32, ptr %t1639
%t1643 = icmp sge i32 %t1641, %t1642
br i1 %t1643, label %grow349, label %put350
grow349:
%t1644 = mul i32 %t1642, 2
%t1645 = icmp eq i32 %t1642, 0
%t1646 = select i1 %t1645, i32 8, i32 %t1644
%t1647 = getelementptr ptr, ptr null, i32 1
%t1648 = ptrtoint ptr %t1647 to i64
%t1649 = zext i32 %t1646 to i64
%t1650 = mul i64 %t1649, %t1648
%t1651 = load ptr, ptr %t1640
%t1652 = call ptr @realloc(ptr %t1651, i64 %t1650)
store ptr %t1652, ptr %t1640
store i32 %t1646, ptr %t1639
br label %put350
put350:
%t1653 = load ptr, ptr %t1640
%t1654 = getelementptr inbounds ptr, ptr %t1653, i32 %t1641
store ptr @.str5828, ptr %t1654
%t1655 = add i32 %t1641, 1
store i32 %t1655, ptr %t1638
%t1656 = load ptr, ptr %t281
%t1657 = getelementptr inbounds %LSlice, ptr %t1656, i32 0, i32 1
%t1658 = getelementptr inbounds %LSlice, ptr %t1656, i32 0, i32 2
%t1659 = getelementptr inbounds %LSlice, ptr %t1656, i32 0, i32 0
%t1660 = load i32, ptr %t1657
%t1661 = load i32, ptr %t1658
%t1662 = icmp sge i32 %t1660, %t1661
br i1 %t1662, label %grow351, label %put352
grow351:
%t1663 = mul i32 %t1661, 2
%t1664 = icmp eq i32 %t1661, 0
%t1665 = select i1 %t1664, i32 8, i32 %t1663
%t1666 = getelementptr ptr, ptr null, i32 1
%t1667 = ptrtoint ptr %t1666 to i64
%t1668 = zext i32 %t1665 to i64
%t1669 = mul i64 %t1668, %t1667
%t1670 = load ptr, ptr %t1659
%t1671 = call ptr @realloc(ptr %t1670, i64 %t1669)
store ptr %t1671, ptr %t1659
store i32 %t1665, ptr %t1658
br label %put352
put352:
%t1672 = load ptr, ptr %t1659
%t1673 = getelementptr inbounds ptr, ptr %t1672, i32 %t1660
store ptr @.str5829, ptr %t1673
%t1674 = add i32 %t1660, 1
store i32 %t1674, ptr %t1657
br label %ifend344
ifend344:
%t1675 = load ptr, ptr %t1
%t1676 = call i32 @fn_str_eq(ptr %t1675, ptr @.str5830)
%t1677 = icmp ne i32 %t1676, 0
br i1 %t1677, label %then353, label %ifend355
then353:
store ptr @.str5831, ptr %t274
br label %ifend355
ifend355:
%t1678 = load ptr, ptr %t1
%t1679 = call i32 @fn_str_eq(ptr %t1678, ptr @.str5832)
%t1680 = icmp ne i32 %t1679, 0
br i1 %t1680, label %then356, label %ifend358
then356:
store ptr @.str5833, ptr %t274
%t1681 = load ptr, ptr %t281
%t1682 = getelementptr inbounds %LSlice, ptr %t1681, i32 0, i32 1
%t1683 = getelementptr inbounds %LSlice, ptr %t1681, i32 0, i32 2
%t1684 = getelementptr inbounds %LSlice, ptr %t1681, i32 0, i32 0
%t1685 = load i32, ptr %t1682
%t1686 = load i32, ptr %t1683
%t1687 = icmp sge i32 %t1685, %t1686
br i1 %t1687, label %grow359, label %put360
grow359:
%t1688 = mul i32 %t1686, 2
%t1689 = icmp eq i32 %t1686, 0
%t1690 = select i1 %t1689, i32 8, i32 %t1688
%t1691 = getelementptr ptr, ptr null, i32 1
%t1692 = ptrtoint ptr %t1691 to i64
%t1693 = zext i32 %t1690 to i64
%t1694 = mul i64 %t1693, %t1692
%t1695 = load ptr, ptr %t1684
%t1696 = call ptr @realloc(ptr %t1695, i64 %t1694)
store ptr %t1696, ptr %t1684
store i32 %t1690, ptr %t1683
br label %put360
put360:
%t1697 = load ptr, ptr %t1684
%t1698 = getelementptr inbounds ptr, ptr %t1697, i32 %t1685
store ptr @.str5834, ptr %t1698
%t1699 = add i32 %t1685, 1
store i32 %t1699, ptr %t1682
br label %ifend358
ifend358:
%t1700 = load ptr, ptr %t1
%t1701 = call i32 @fn_str_eq(ptr %t1700, ptr @.str5835)
%t1702 = icmp ne i32 %t1701, 0
br i1 %t1702, label %then361, label %ifend363
then361:
store ptr @.str5836, ptr %t274
%t1703 = load ptr, ptr %t281
%t1704 = getelementptr inbounds %LSlice, ptr %t1703, i32 0, i32 1
%t1705 = getelementptr inbounds %LSlice, ptr %t1703, i32 0, i32 2
%t1706 = getelementptr inbounds %LSlice, ptr %t1703, i32 0, i32 0
%t1707 = load i32, ptr %t1704
%t1708 = load i32, ptr %t1705
%t1709 = icmp sge i32 %t1707, %t1708
br i1 %t1709, label %grow364, label %put365
grow364:
%t1710 = mul i32 %t1708, 2
%t1711 = icmp eq i32 %t1708, 0
%t1712 = select i1 %t1711, i32 8, i32 %t1710
%t1713 = getelementptr ptr, ptr null, i32 1
%t1714 = ptrtoint ptr %t1713 to i64
%t1715 = zext i32 %t1712 to i64
%t1716 = mul i64 %t1715, %t1714
%t1717 = load ptr, ptr %t1706
%t1718 = call ptr @realloc(ptr %t1717, i64 %t1716)
store ptr %t1718, ptr %t1706
store i32 %t1712, ptr %t1705
br label %put365
put365:
%t1719 = load ptr, ptr %t1706
%t1720 = getelementptr inbounds ptr, ptr %t1719, i32 %t1707
store ptr @.str5837, ptr %t1720
%t1721 = add i32 %t1707, 1
store i32 %t1721, ptr %t1704
br label %ifend363
ifend363:
%t1722 = load ptr, ptr %t1
%t1723 = call i32 @fn_str_eq(ptr %t1722, ptr @.str5838)
%t1724 = icmp ne i32 %t1723, 0
br i1 %t1724, label %then366, label %ifend368
then366:
store ptr @.str5839, ptr %t274
%t1725 = load ptr, ptr %t281
%t1726 = getelementptr inbounds %LSlice, ptr %t1725, i32 0, i32 1
%t1727 = getelementptr inbounds %LSlice, ptr %t1725, i32 0, i32 2
%t1728 = getelementptr inbounds %LSlice, ptr %t1725, i32 0, i32 0
%t1729 = load i32, ptr %t1726
%t1730 = load i32, ptr %t1727
%t1731 = icmp sge i32 %t1729, %t1730
br i1 %t1731, label %grow369, label %put370
grow369:
%t1732 = mul i32 %t1730, 2
%t1733 = icmp eq i32 %t1730, 0
%t1734 = select i1 %t1733, i32 8, i32 %t1732
%t1735 = getelementptr ptr, ptr null, i32 1
%t1736 = ptrtoint ptr %t1735 to i64
%t1737 = zext i32 %t1734 to i64
%t1738 = mul i64 %t1737, %t1736
%t1739 = load ptr, ptr %t1728
%t1740 = call ptr @realloc(ptr %t1739, i64 %t1738)
store ptr %t1740, ptr %t1728
store i32 %t1734, ptr %t1727
br label %put370
put370:
%t1741 = load ptr, ptr %t1728
%t1742 = getelementptr inbounds ptr, ptr %t1741, i32 %t1729
store ptr @.str5840, ptr %t1742
%t1743 = add i32 %t1729, 1
store i32 %t1743, ptr %t1726
%t1744 = load ptr, ptr %t281
%t1745 = getelementptr inbounds %LSlice, ptr %t1744, i32 0, i32 1
%t1746 = getelementptr inbounds %LSlice, ptr %t1744, i32 0, i32 2
%t1747 = getelementptr inbounds %LSlice, ptr %t1744, i32 0, i32 0
%t1748 = load i32, ptr %t1745
%t1749 = load i32, ptr %t1746
%t1750 = icmp sge i32 %t1748, %t1749
br i1 %t1750, label %grow371, label %put372
grow371:
%t1751 = mul i32 %t1749, 2
%t1752 = icmp eq i32 %t1749, 0
%t1753 = select i1 %t1752, i32 8, i32 %t1751
%t1754 = getelementptr ptr, ptr null, i32 1
%t1755 = ptrtoint ptr %t1754 to i64
%t1756 = zext i32 %t1753 to i64
%t1757 = mul i64 %t1756, %t1755
%t1758 = load ptr, ptr %t1747
%t1759 = call ptr @realloc(ptr %t1758, i64 %t1757)
store ptr %t1759, ptr %t1747
store i32 %t1753, ptr %t1746
br label %put372
put372:
%t1760 = load ptr, ptr %t1747
%t1761 = getelementptr inbounds ptr, ptr %t1760, i32 %t1748
store ptr @.str5841, ptr %t1761
%t1762 = add i32 %t1748, 1
store i32 %t1762, ptr %t1745
br label %ifend368
ifend368:
br label %ifend152
ifend152:
%t1763 = load ptr, ptr %t0
%t1764 = call i32 @fn_str_eq(ptr %t1763, ptr @.str5842)
%t1765 = icmp ne i32 %t1764, 0
br i1 %t1765, label %then373, label %ifend375
then373:
%t1766 = load ptr, ptr %t1
%t1767 = call i32 @fn_str_eq(ptr %t1766, ptr @.str5843)
%t1768 = icmp ne i32 %t1767, 0
br i1 %t1768, label %then376, label %ifend378
then376:
store ptr @.str5844, ptr %t274
%t1769 = load ptr, ptr %t281
%t1770 = getelementptr inbounds %LSlice, ptr %t1769, i32 0, i32 1
%t1771 = getelementptr inbounds %LSlice, ptr %t1769, i32 0, i32 2
%t1772 = getelementptr inbounds %LSlice, ptr %t1769, i32 0, i32 0
%t1773 = load i32, ptr %t1770
%t1774 = load i32, ptr %t1771
%t1775 = icmp sge i32 %t1773, %t1774
br i1 %t1775, label %grow379, label %put380
grow379:
%t1776 = mul i32 %t1774, 2
%t1777 = icmp eq i32 %t1774, 0
%t1778 = select i1 %t1777, i32 8, i32 %t1776
%t1779 = getelementptr ptr, ptr null, i32 1
%t1780 = ptrtoint ptr %t1779 to i64
%t1781 = zext i32 %t1778 to i64
%t1782 = mul i64 %t1781, %t1780
%t1783 = load ptr, ptr %t1772
%t1784 = call ptr @realloc(ptr %t1783, i64 %t1782)
store ptr %t1784, ptr %t1772
store i32 %t1778, ptr %t1771
br label %put380
put380:
%t1785 = load ptr, ptr %t1772
%t1786 = getelementptr inbounds ptr, ptr %t1785, i32 %t1773
store ptr @.str5845, ptr %t1786
%t1787 = add i32 %t1773, 1
store i32 %t1787, ptr %t1770
%t1788 = load ptr, ptr %t281
%t1789 = getelementptr inbounds %LSlice, ptr %t1788, i32 0, i32 1
%t1790 = getelementptr inbounds %LSlice, ptr %t1788, i32 0, i32 2
%t1791 = getelementptr inbounds %LSlice, ptr %t1788, i32 0, i32 0
%t1792 = load i32, ptr %t1789
%t1793 = load i32, ptr %t1790
%t1794 = icmp sge i32 %t1792, %t1793
br i1 %t1794, label %grow381, label %put382
grow381:
%t1795 = mul i32 %t1793, 2
%t1796 = icmp eq i32 %t1793, 0
%t1797 = select i1 %t1796, i32 8, i32 %t1795
%t1798 = getelementptr ptr, ptr null, i32 1
%t1799 = ptrtoint ptr %t1798 to i64
%t1800 = zext i32 %t1797 to i64
%t1801 = mul i64 %t1800, %t1799
%t1802 = load ptr, ptr %t1791
%t1803 = call ptr @realloc(ptr %t1802, i64 %t1801)
store ptr %t1803, ptr %t1791
store i32 %t1797, ptr %t1790
br label %put382
put382:
%t1804 = load ptr, ptr %t1791
%t1805 = getelementptr inbounds ptr, ptr %t1804, i32 %t1792
store ptr @.str5846, ptr %t1805
%t1806 = add i32 %t1792, 1
store i32 %t1806, ptr %t1789
br label %ifend378
ifend378:
%t1807 = load ptr, ptr %t1
%t1808 = call i32 @fn_str_eq(ptr %t1807, ptr @.str5847)
%t1809 = icmp ne i32 %t1808, 0
br i1 %t1809, label %then383, label %ifend385
then383:
store ptr @.str5848, ptr %t274
%t1810 = load ptr, ptr %t281
%t1811 = getelementptr inbounds %LSlice, ptr %t1810, i32 0, i32 1
%t1812 = getelementptr inbounds %LSlice, ptr %t1810, i32 0, i32 2
%t1813 = getelementptr inbounds %LSlice, ptr %t1810, i32 0, i32 0
%t1814 = load i32, ptr %t1811
%t1815 = load i32, ptr %t1812
%t1816 = icmp sge i32 %t1814, %t1815
br i1 %t1816, label %grow386, label %put387
grow386:
%t1817 = mul i32 %t1815, 2
%t1818 = icmp eq i32 %t1815, 0
%t1819 = select i1 %t1818, i32 8, i32 %t1817
%t1820 = getelementptr ptr, ptr null, i32 1
%t1821 = ptrtoint ptr %t1820 to i64
%t1822 = zext i32 %t1819 to i64
%t1823 = mul i64 %t1822, %t1821
%t1824 = load ptr, ptr %t1813
%t1825 = call ptr @realloc(ptr %t1824, i64 %t1823)
store ptr %t1825, ptr %t1813
store i32 %t1819, ptr %t1812
br label %put387
put387:
%t1826 = load ptr, ptr %t1813
%t1827 = getelementptr inbounds ptr, ptr %t1826, i32 %t1814
store ptr @.str5849, ptr %t1827
%t1828 = add i32 %t1814, 1
store i32 %t1828, ptr %t1811
%t1829 = load ptr, ptr %t281
%t1830 = getelementptr inbounds %LSlice, ptr %t1829, i32 0, i32 1
%t1831 = getelementptr inbounds %LSlice, ptr %t1829, i32 0, i32 2
%t1832 = getelementptr inbounds %LSlice, ptr %t1829, i32 0, i32 0
%t1833 = load i32, ptr %t1830
%t1834 = load i32, ptr %t1831
%t1835 = icmp sge i32 %t1833, %t1834
br i1 %t1835, label %grow388, label %put389
grow388:
%t1836 = mul i32 %t1834, 2
%t1837 = icmp eq i32 %t1834, 0
%t1838 = select i1 %t1837, i32 8, i32 %t1836
%t1839 = getelementptr ptr, ptr null, i32 1
%t1840 = ptrtoint ptr %t1839 to i64
%t1841 = zext i32 %t1838 to i64
%t1842 = mul i64 %t1841, %t1840
%t1843 = load ptr, ptr %t1832
%t1844 = call ptr @realloc(ptr %t1843, i64 %t1842)
store ptr %t1844, ptr %t1832
store i32 %t1838, ptr %t1831
br label %put389
put389:
%t1845 = load ptr, ptr %t1832
%t1846 = getelementptr inbounds ptr, ptr %t1845, i32 %t1833
store ptr @.str5850, ptr %t1846
%t1847 = add i32 %t1833, 1
store i32 %t1847, ptr %t1830
%t1848 = load ptr, ptr %t281
%t1849 = getelementptr inbounds %LSlice, ptr %t1848, i32 0, i32 1
%t1850 = getelementptr inbounds %LSlice, ptr %t1848, i32 0, i32 2
%t1851 = getelementptr inbounds %LSlice, ptr %t1848, i32 0, i32 0
%t1852 = load i32, ptr %t1849
%t1853 = load i32, ptr %t1850
%t1854 = icmp sge i32 %t1852, %t1853
br i1 %t1854, label %grow390, label %put391
grow390:
%t1855 = mul i32 %t1853, 2
%t1856 = icmp eq i32 %t1853, 0
%t1857 = select i1 %t1856, i32 8, i32 %t1855
%t1858 = getelementptr ptr, ptr null, i32 1
%t1859 = ptrtoint ptr %t1858 to i64
%t1860 = zext i32 %t1857 to i64
%t1861 = mul i64 %t1860, %t1859
%t1862 = load ptr, ptr %t1851
%t1863 = call ptr @realloc(ptr %t1862, i64 %t1861)
store ptr %t1863, ptr %t1851
store i32 %t1857, ptr %t1850
br label %put391
put391:
%t1864 = load ptr, ptr %t1851
%t1865 = getelementptr inbounds ptr, ptr %t1864, i32 %t1852
store ptr @.str5851, ptr %t1865
%t1866 = add i32 %t1852, 1
store i32 %t1866, ptr %t1849
br label %ifend385
ifend385:
%t1867 = load ptr, ptr %t1
%t1868 = call i32 @fn_str_eq(ptr %t1867, ptr @.str5852)
%t1869 = icmp ne i32 %t1868, 0
br i1 %t1869, label %then392, label %ifend394
then392:
store ptr @.str5853, ptr %t274
%t1870 = load ptr, ptr %t281
%t1871 = getelementptr inbounds %LSlice, ptr %t1870, i32 0, i32 1
%t1872 = getelementptr inbounds %LSlice, ptr %t1870, i32 0, i32 2
%t1873 = getelementptr inbounds %LSlice, ptr %t1870, i32 0, i32 0
%t1874 = load i32, ptr %t1871
%t1875 = load i32, ptr %t1872
%t1876 = icmp sge i32 %t1874, %t1875
br i1 %t1876, label %grow395, label %put396
grow395:
%t1877 = mul i32 %t1875, 2
%t1878 = icmp eq i32 %t1875, 0
%t1879 = select i1 %t1878, i32 8, i32 %t1877
%t1880 = getelementptr ptr, ptr null, i32 1
%t1881 = ptrtoint ptr %t1880 to i64
%t1882 = zext i32 %t1879 to i64
%t1883 = mul i64 %t1882, %t1881
%t1884 = load ptr, ptr %t1873
%t1885 = call ptr @realloc(ptr %t1884, i64 %t1883)
store ptr %t1885, ptr %t1873
store i32 %t1879, ptr %t1872
br label %put396
put396:
%t1886 = load ptr, ptr %t1873
%t1887 = getelementptr inbounds ptr, ptr %t1886, i32 %t1874
store ptr @.str5854, ptr %t1887
%t1888 = add i32 %t1874, 1
store i32 %t1888, ptr %t1871
br label %ifend394
ifend394:
br label %ifend375
ifend375:
%t1889 = load ptr, ptr %t0
%t1890 = call i32 @fn_str_eq(ptr %t1889, ptr @.str5855)
%t1891 = icmp ne i32 %t1890, 0
br i1 %t1891, label %then397, label %ifend399
then397:
%t1892 = load ptr, ptr %t1
%t1893 = call i32 @fn_str_eq(ptr %t1892, ptr @.str5856)
%t1894 = icmp ne i32 %t1893, 0
br i1 %t1894, label %then400, label %ifend402
then400:
store ptr @.str5857, ptr %t274
%t1895 = load ptr, ptr %t281
%t1896 = getelementptr inbounds %LSlice, ptr %t1895, i32 0, i32 1
%t1897 = getelementptr inbounds %LSlice, ptr %t1895, i32 0, i32 2
%t1898 = getelementptr inbounds %LSlice, ptr %t1895, i32 0, i32 0
%t1899 = load i32, ptr %t1896
%t1900 = load i32, ptr %t1897
%t1901 = icmp sge i32 %t1899, %t1900
br i1 %t1901, label %grow403, label %put404
grow403:
%t1902 = mul i32 %t1900, 2
%t1903 = icmp eq i32 %t1900, 0
%t1904 = select i1 %t1903, i32 8, i32 %t1902
%t1905 = getelementptr ptr, ptr null, i32 1
%t1906 = ptrtoint ptr %t1905 to i64
%t1907 = zext i32 %t1904 to i64
%t1908 = mul i64 %t1907, %t1906
%t1909 = load ptr, ptr %t1898
%t1910 = call ptr @realloc(ptr %t1909, i64 %t1908)
store ptr %t1910, ptr %t1898
store i32 %t1904, ptr %t1897
br label %put404
put404:
%t1911 = load ptr, ptr %t1898
%t1912 = getelementptr inbounds ptr, ptr %t1911, i32 %t1899
store ptr @.str5858, ptr %t1912
%t1913 = add i32 %t1899, 1
store i32 %t1913, ptr %t1896
%t1914 = load ptr, ptr %t281
%t1915 = getelementptr inbounds %LSlice, ptr %t1914, i32 0, i32 1
%t1916 = getelementptr inbounds %LSlice, ptr %t1914, i32 0, i32 2
%t1917 = getelementptr inbounds %LSlice, ptr %t1914, i32 0, i32 0
%t1918 = load i32, ptr %t1915
%t1919 = load i32, ptr %t1916
%t1920 = icmp sge i32 %t1918, %t1919
br i1 %t1920, label %grow405, label %put406
grow405:
%t1921 = mul i32 %t1919, 2
%t1922 = icmp eq i32 %t1919, 0
%t1923 = select i1 %t1922, i32 8, i32 %t1921
%t1924 = getelementptr ptr, ptr null, i32 1
%t1925 = ptrtoint ptr %t1924 to i64
%t1926 = zext i32 %t1923 to i64
%t1927 = mul i64 %t1926, %t1925
%t1928 = load ptr, ptr %t1917
%t1929 = call ptr @realloc(ptr %t1928, i64 %t1927)
store ptr %t1929, ptr %t1917
store i32 %t1923, ptr %t1916
br label %put406
put406:
%t1930 = load ptr, ptr %t1917
%t1931 = getelementptr inbounds ptr, ptr %t1930, i32 %t1918
store ptr @.str5859, ptr %t1931
%t1932 = add i32 %t1918, 1
store i32 %t1932, ptr %t1915
br label %ifend402
ifend402:
%t1933 = load ptr, ptr %t1
%t1934 = call i32 @fn_str_eq(ptr %t1933, ptr @.str5860)
%t1935 = icmp ne i32 %t1934, 0
br i1 %t1935, label %then407, label %ifend409
then407:
store ptr @.str5861, ptr %t274
%t1936 = load ptr, ptr %t281
%t1937 = getelementptr inbounds %LSlice, ptr %t1936, i32 0, i32 1
%t1938 = getelementptr inbounds %LSlice, ptr %t1936, i32 0, i32 2
%t1939 = getelementptr inbounds %LSlice, ptr %t1936, i32 0, i32 0
%t1940 = load i32, ptr %t1937
%t1941 = load i32, ptr %t1938
%t1942 = icmp sge i32 %t1940, %t1941
br i1 %t1942, label %grow410, label %put411
grow410:
%t1943 = mul i32 %t1941, 2
%t1944 = icmp eq i32 %t1941, 0
%t1945 = select i1 %t1944, i32 8, i32 %t1943
%t1946 = getelementptr ptr, ptr null, i32 1
%t1947 = ptrtoint ptr %t1946 to i64
%t1948 = zext i32 %t1945 to i64
%t1949 = mul i64 %t1948, %t1947
%t1950 = load ptr, ptr %t1939
%t1951 = call ptr @realloc(ptr %t1950, i64 %t1949)
store ptr %t1951, ptr %t1939
store i32 %t1945, ptr %t1938
br label %put411
put411:
%t1952 = load ptr, ptr %t1939
%t1953 = getelementptr inbounds ptr, ptr %t1952, i32 %t1940
store ptr @.str5862, ptr %t1953
%t1954 = add i32 %t1940, 1
store i32 %t1954, ptr %t1937
%t1955 = load ptr, ptr %t281
%t1956 = getelementptr inbounds %LSlice, ptr %t1955, i32 0, i32 1
%t1957 = getelementptr inbounds %LSlice, ptr %t1955, i32 0, i32 2
%t1958 = getelementptr inbounds %LSlice, ptr %t1955, i32 0, i32 0
%t1959 = load i32, ptr %t1956
%t1960 = load i32, ptr %t1957
%t1961 = icmp sge i32 %t1959, %t1960
br i1 %t1961, label %grow412, label %put413
grow412:
%t1962 = mul i32 %t1960, 2
%t1963 = icmp eq i32 %t1960, 0
%t1964 = select i1 %t1963, i32 8, i32 %t1962
%t1965 = getelementptr ptr, ptr null, i32 1
%t1966 = ptrtoint ptr %t1965 to i64
%t1967 = zext i32 %t1964 to i64
%t1968 = mul i64 %t1967, %t1966
%t1969 = load ptr, ptr %t1958
%t1970 = call ptr @realloc(ptr %t1969, i64 %t1968)
store ptr %t1970, ptr %t1958
store i32 %t1964, ptr %t1957
br label %put413
put413:
%t1971 = load ptr, ptr %t1958
%t1972 = getelementptr inbounds ptr, ptr %t1971, i32 %t1959
store ptr @.str5863, ptr %t1972
%t1973 = add i32 %t1959, 1
store i32 %t1973, ptr %t1956
br label %ifend409
ifend409:
%t1974 = load ptr, ptr %t1
%t1975 = call i32 @fn_str_eq(ptr %t1974, ptr @.str5864)
%t1976 = icmp ne i32 %t1975, 0
br i1 %t1976, label %then414, label %ifend416
then414:
store ptr @.str5865, ptr %t274
%t1977 = load ptr, ptr %t281
%t1978 = getelementptr inbounds %LSlice, ptr %t1977, i32 0, i32 1
%t1979 = getelementptr inbounds %LSlice, ptr %t1977, i32 0, i32 2
%t1980 = getelementptr inbounds %LSlice, ptr %t1977, i32 0, i32 0
%t1981 = load i32, ptr %t1978
%t1982 = load i32, ptr %t1979
%t1983 = icmp sge i32 %t1981, %t1982
br i1 %t1983, label %grow417, label %put418
grow417:
%t1984 = mul i32 %t1982, 2
%t1985 = icmp eq i32 %t1982, 0
%t1986 = select i1 %t1985, i32 8, i32 %t1984
%t1987 = getelementptr ptr, ptr null, i32 1
%t1988 = ptrtoint ptr %t1987 to i64
%t1989 = zext i32 %t1986 to i64
%t1990 = mul i64 %t1989, %t1988
%t1991 = load ptr, ptr %t1980
%t1992 = call ptr @realloc(ptr %t1991, i64 %t1990)
store ptr %t1992, ptr %t1980
store i32 %t1986, ptr %t1979
br label %put418
put418:
%t1993 = load ptr, ptr %t1980
%t1994 = getelementptr inbounds ptr, ptr %t1993, i32 %t1981
store ptr @.str5866, ptr %t1994
%t1995 = add i32 %t1981, 1
store i32 %t1995, ptr %t1978
%t1996 = load ptr, ptr %t281
%t1997 = getelementptr inbounds %LSlice, ptr %t1996, i32 0, i32 1
%t1998 = getelementptr inbounds %LSlice, ptr %t1996, i32 0, i32 2
%t1999 = getelementptr inbounds %LSlice, ptr %t1996, i32 0, i32 0
%t2000 = load i32, ptr %t1997
%t2001 = load i32, ptr %t1998
%t2002 = icmp sge i32 %t2000, %t2001
br i1 %t2002, label %grow419, label %put420
grow419:
%t2003 = mul i32 %t2001, 2
%t2004 = icmp eq i32 %t2001, 0
%t2005 = select i1 %t2004, i32 8, i32 %t2003
%t2006 = getelementptr ptr, ptr null, i32 1
%t2007 = ptrtoint ptr %t2006 to i64
%t2008 = zext i32 %t2005 to i64
%t2009 = mul i64 %t2008, %t2007
%t2010 = load ptr, ptr %t1999
%t2011 = call ptr @realloc(ptr %t2010, i64 %t2009)
store ptr %t2011, ptr %t1999
store i32 %t2005, ptr %t1998
br label %put420
put420:
%t2012 = load ptr, ptr %t1999
%t2013 = getelementptr inbounds ptr, ptr %t2012, i32 %t2000
store ptr @.str5867, ptr %t2013
%t2014 = add i32 %t2000, 1
store i32 %t2014, ptr %t1997
br label %ifend416
ifend416:
br label %ifend399
ifend399:
%t2015 = load ptr, ptr %t0
%t2016 = call i32 @fn_str_eq(ptr %t2015, ptr @.str5868)
%t2017 = icmp ne i32 %t2016, 0
br i1 %t2017, label %then421, label %ifend423
then421:
%t2018 = load ptr, ptr %t1
%t2019 = call i32 @fn_str_eq(ptr %t2018, ptr @.str5869)
%t2020 = icmp ne i32 %t2019, 0
br i1 %t2020, label %then424, label %ifend426
then424:
store ptr @.str5870, ptr %t274
%t2021 = load ptr, ptr %t281
%t2022 = getelementptr inbounds %LSlice, ptr %t2021, i32 0, i32 1
%t2023 = getelementptr inbounds %LSlice, ptr %t2021, i32 0, i32 2
%t2024 = getelementptr inbounds %LSlice, ptr %t2021, i32 0, i32 0
%t2025 = load i32, ptr %t2022
%t2026 = load i32, ptr %t2023
%t2027 = icmp sge i32 %t2025, %t2026
br i1 %t2027, label %grow427, label %put428
grow427:
%t2028 = mul i32 %t2026, 2
%t2029 = icmp eq i32 %t2026, 0
%t2030 = select i1 %t2029, i32 8, i32 %t2028
%t2031 = getelementptr ptr, ptr null, i32 1
%t2032 = ptrtoint ptr %t2031 to i64
%t2033 = zext i32 %t2030 to i64
%t2034 = mul i64 %t2033, %t2032
%t2035 = load ptr, ptr %t2024
%t2036 = call ptr @realloc(ptr %t2035, i64 %t2034)
store ptr %t2036, ptr %t2024
store i32 %t2030, ptr %t2023
br label %put428
put428:
%t2037 = load ptr, ptr %t2024
%t2038 = getelementptr inbounds ptr, ptr %t2037, i32 %t2025
store ptr @.str5871, ptr %t2038
%t2039 = add i32 %t2025, 1
store i32 %t2039, ptr %t2022
%t2040 = load ptr, ptr %t281
%t2041 = getelementptr inbounds %LSlice, ptr %t2040, i32 0, i32 1
%t2042 = getelementptr inbounds %LSlice, ptr %t2040, i32 0, i32 2
%t2043 = getelementptr inbounds %LSlice, ptr %t2040, i32 0, i32 0
%t2044 = load i32, ptr %t2041
%t2045 = load i32, ptr %t2042
%t2046 = icmp sge i32 %t2044, %t2045
br i1 %t2046, label %grow429, label %put430
grow429:
%t2047 = mul i32 %t2045, 2
%t2048 = icmp eq i32 %t2045, 0
%t2049 = select i1 %t2048, i32 8, i32 %t2047
%t2050 = getelementptr ptr, ptr null, i32 1
%t2051 = ptrtoint ptr %t2050 to i64
%t2052 = zext i32 %t2049 to i64
%t2053 = mul i64 %t2052, %t2051
%t2054 = load ptr, ptr %t2043
%t2055 = call ptr @realloc(ptr %t2054, i64 %t2053)
store ptr %t2055, ptr %t2043
store i32 %t2049, ptr %t2042
br label %put430
put430:
%t2056 = load ptr, ptr %t2043
%t2057 = getelementptr inbounds ptr, ptr %t2056, i32 %t2044
store ptr @.str5872, ptr %t2057
%t2058 = add i32 %t2044, 1
store i32 %t2058, ptr %t2041
br label %ifend426
ifend426:
%t2059 = load ptr, ptr %t1
%t2060 = call i32 @fn_str_eq(ptr %t2059, ptr @.str5873)
%t2061 = icmp ne i32 %t2060, 0
br i1 %t2061, label %then431, label %ifend433
then431:
store ptr @.str5874, ptr %t274
%t2062 = load ptr, ptr %t281
%t2063 = getelementptr inbounds %LSlice, ptr %t2062, i32 0, i32 1
%t2064 = getelementptr inbounds %LSlice, ptr %t2062, i32 0, i32 2
%t2065 = getelementptr inbounds %LSlice, ptr %t2062, i32 0, i32 0
%t2066 = load i32, ptr %t2063
%t2067 = load i32, ptr %t2064
%t2068 = icmp sge i32 %t2066, %t2067
br i1 %t2068, label %grow434, label %put435
grow434:
%t2069 = mul i32 %t2067, 2
%t2070 = icmp eq i32 %t2067, 0
%t2071 = select i1 %t2070, i32 8, i32 %t2069
%t2072 = getelementptr ptr, ptr null, i32 1
%t2073 = ptrtoint ptr %t2072 to i64
%t2074 = zext i32 %t2071 to i64
%t2075 = mul i64 %t2074, %t2073
%t2076 = load ptr, ptr %t2065
%t2077 = call ptr @realloc(ptr %t2076, i64 %t2075)
store ptr %t2077, ptr %t2065
store i32 %t2071, ptr %t2064
br label %put435
put435:
%t2078 = load ptr, ptr %t2065
%t2079 = getelementptr inbounds ptr, ptr %t2078, i32 %t2066
store ptr @.str5875, ptr %t2079
%t2080 = add i32 %t2066, 1
store i32 %t2080, ptr %t2063
br label %ifend433
ifend433:
%t2081 = load ptr, ptr %t1
%t2082 = call i32 @fn_str_eq(ptr %t2081, ptr @.str5876)
%t2083 = icmp ne i32 %t2082, 0
br i1 %t2083, label %then436, label %ifend438
then436:
store ptr @.str5877, ptr %t274
%t2084 = load ptr, ptr %t281
%t2085 = getelementptr inbounds %LSlice, ptr %t2084, i32 0, i32 1
%t2086 = getelementptr inbounds %LSlice, ptr %t2084, i32 0, i32 2
%t2087 = getelementptr inbounds %LSlice, ptr %t2084, i32 0, i32 0
%t2088 = load i32, ptr %t2085
%t2089 = load i32, ptr %t2086
%t2090 = icmp sge i32 %t2088, %t2089
br i1 %t2090, label %grow439, label %put440
grow439:
%t2091 = mul i32 %t2089, 2
%t2092 = icmp eq i32 %t2089, 0
%t2093 = select i1 %t2092, i32 8, i32 %t2091
%t2094 = getelementptr ptr, ptr null, i32 1
%t2095 = ptrtoint ptr %t2094 to i64
%t2096 = zext i32 %t2093 to i64
%t2097 = mul i64 %t2096, %t2095
%t2098 = load ptr, ptr %t2087
%t2099 = call ptr @realloc(ptr %t2098, i64 %t2097)
store ptr %t2099, ptr %t2087
store i32 %t2093, ptr %t2086
br label %put440
put440:
%t2100 = load ptr, ptr %t2087
%t2101 = getelementptr inbounds ptr, ptr %t2100, i32 %t2088
store ptr @.str5878, ptr %t2101
%t2102 = add i32 %t2088, 1
store i32 %t2102, ptr %t2085
br label %ifend438
ifend438:
%t2103 = load ptr, ptr %t1
%t2104 = call i32 @fn_str_eq(ptr %t2103, ptr @.str5879)
%t2105 = icmp ne i32 %t2104, 0
br i1 %t2105, label %then441, label %ifend443
then441:
store ptr @.str5880, ptr %t274
br label %ifend443
ifend443:
%t2106 = load ptr, ptr %t1
%t2107 = call i32 @fn_str_eq(ptr %t2106, ptr @.str5881)
%t2108 = icmp ne i32 %t2107, 0
br i1 %t2108, label %then444, label %ifend446
then444:
store ptr @.str5882, ptr %t274
%t2109 = load ptr, ptr %t281
%t2110 = getelementptr inbounds %LSlice, ptr %t2109, i32 0, i32 1
%t2111 = getelementptr inbounds %LSlice, ptr %t2109, i32 0, i32 2
%t2112 = getelementptr inbounds %LSlice, ptr %t2109, i32 0, i32 0
%t2113 = load i32, ptr %t2110
%t2114 = load i32, ptr %t2111
%t2115 = icmp sge i32 %t2113, %t2114
br i1 %t2115, label %grow447, label %put448
grow447:
%t2116 = mul i32 %t2114, 2
%t2117 = icmp eq i32 %t2114, 0
%t2118 = select i1 %t2117, i32 8, i32 %t2116
%t2119 = getelementptr ptr, ptr null, i32 1
%t2120 = ptrtoint ptr %t2119 to i64
%t2121 = zext i32 %t2118 to i64
%t2122 = mul i64 %t2121, %t2120
%t2123 = load ptr, ptr %t2112
%t2124 = call ptr @realloc(ptr %t2123, i64 %t2122)
store ptr %t2124, ptr %t2112
store i32 %t2118, ptr %t2111
br label %put448
put448:
%t2125 = load ptr, ptr %t2112
%t2126 = getelementptr inbounds ptr, ptr %t2125, i32 %t2113
store ptr @.str5883, ptr %t2126
%t2127 = add i32 %t2113, 1
store i32 %t2127, ptr %t2110
br label %ifend446
ifend446:
%t2128 = load ptr, ptr %t1
%t2129 = call i32 @fn_str_eq(ptr %t2128, ptr @.str5884)
%t2130 = icmp ne i32 %t2129, 0
br i1 %t2130, label %then449, label %ifend451
then449:
store ptr @.str5885, ptr %t274
br label %ifend451
ifend451:
br label %ifend423
ifend423:
%t2131 = load ptr, ptr %t0
%t2132 = call i32 @fn_str_eq(ptr %t2131, ptr @.str5886)
%t2133 = icmp ne i32 %t2132, 0
br i1 %t2133, label %then452, label %ifend454
then452:
%t2134 = load ptr, ptr %t1
%t2135 = call i32 @fn_str_eq(ptr %t2134, ptr @.str5887)
%t2136 = icmp ne i32 %t2135, 0
br i1 %t2136, label %then455, label %ifend457
then455:
store ptr @.str5888, ptr %t274
br label %ifend457
ifend457:
%t2137 = load ptr, ptr %t1
%t2138 = call i32 @fn_str_eq(ptr %t2137, ptr @.str5889)
%t2139 = icmp ne i32 %t2138, 0
br i1 %t2139, label %then458, label %ifend460
then458:
store ptr @.str5890, ptr %t274
br label %ifend460
ifend460:
%t2140 = load ptr, ptr %t1
%t2141 = call i32 @fn_str_eq(ptr %t2140, ptr @.str5891)
%t2142 = icmp ne i32 %t2141, 0
br i1 %t2142, label %then461, label %ifend463
then461:
store ptr @.str5892, ptr %t274
br label %ifend463
ifend463:
%t2143 = load ptr, ptr %t1
%t2144 = call i32 @fn_str_eq(ptr %t2143, ptr @.str5893)
%t2145 = icmp ne i32 %t2144, 0
br i1 %t2145, label %then464, label %ifend466
then464:
store ptr @.str5894, ptr %t274
br label %ifend466
ifend466:
%t2146 = load ptr, ptr %t1
%t2147 = call i32 @fn_str_eq(ptr %t2146, ptr @.str5895)
%t2148 = icmp ne i32 %t2147, 0
br i1 %t2148, label %then467, label %ifend469
then467:
store ptr @.str5896, ptr %t274
br label %ifend469
ifend469:
%t2149 = load ptr, ptr %t1
%t2150 = call i32 @fn_str_eq(ptr %t2149, ptr @.str5897)
%t2151 = icmp ne i32 %t2150, 0
br i1 %t2151, label %then470, label %ifend472
then470:
store ptr @.str5898, ptr %t274
br label %ifend472
ifend472:
%t2152 = load ptr, ptr %t1
%t2153 = call i32 @fn_str_eq(ptr %t2152, ptr @.str5899)
%t2154 = icmp ne i32 %t2153, 0
br i1 %t2154, label %then473, label %ifend475
then473:
store ptr @.str5900, ptr %t274
br label %ifend475
ifend475:
%t2155 = load ptr, ptr %t1
%t2156 = call i32 @fn_str_eq(ptr %t2155, ptr @.str5901)
%t2157 = icmp ne i32 %t2156, 0
br i1 %t2157, label %then476, label %ifend478
then476:
store ptr @.str5902, ptr %t274
br label %ifend478
ifend478:
%t2158 = load ptr, ptr %t1
%t2159 = call i32 @fn_str_eq(ptr %t2158, ptr @.str5903)
%t2160 = icmp ne i32 %t2159, 0
br i1 %t2160, label %then479, label %ifend481
then479:
store ptr @.str5904, ptr %t274
%t2161 = load ptr, ptr %t281
%t2162 = getelementptr inbounds %LSlice, ptr %t2161, i32 0, i32 1
%t2163 = getelementptr inbounds %LSlice, ptr %t2161, i32 0, i32 2
%t2164 = getelementptr inbounds %LSlice, ptr %t2161, i32 0, i32 0
%t2165 = load i32, ptr %t2162
%t2166 = load i32, ptr %t2163
%t2167 = icmp sge i32 %t2165, %t2166
br i1 %t2167, label %grow482, label %put483
grow482:
%t2168 = mul i32 %t2166, 2
%t2169 = icmp eq i32 %t2166, 0
%t2170 = select i1 %t2169, i32 8, i32 %t2168
%t2171 = getelementptr ptr, ptr null, i32 1
%t2172 = ptrtoint ptr %t2171 to i64
%t2173 = zext i32 %t2170 to i64
%t2174 = mul i64 %t2173, %t2172
%t2175 = load ptr, ptr %t2164
%t2176 = call ptr @realloc(ptr %t2175, i64 %t2174)
store ptr %t2176, ptr %t2164
store i32 %t2170, ptr %t2163
br label %put483
put483:
%t2177 = load ptr, ptr %t2164
%t2178 = getelementptr inbounds ptr, ptr %t2177, i32 %t2165
store ptr @.str5905, ptr %t2178
%t2179 = add i32 %t2165, 1
store i32 %t2179, ptr %t2162
br label %ifend481
ifend481:
%t2180 = load ptr, ptr %t1
%t2181 = call i32 @fn_str_eq(ptr %t2180, ptr @.str5906)
%t2182 = icmp ne i32 %t2181, 0
br i1 %t2182, label %then484, label %ifend486
then484:
store ptr @.str5907, ptr %t274
%t2183 = load ptr, ptr %t281
%t2184 = getelementptr inbounds %LSlice, ptr %t2183, i32 0, i32 1
%t2185 = getelementptr inbounds %LSlice, ptr %t2183, i32 0, i32 2
%t2186 = getelementptr inbounds %LSlice, ptr %t2183, i32 0, i32 0
%t2187 = load i32, ptr %t2184
%t2188 = load i32, ptr %t2185
%t2189 = icmp sge i32 %t2187, %t2188
br i1 %t2189, label %grow487, label %put488
grow487:
%t2190 = mul i32 %t2188, 2
%t2191 = icmp eq i32 %t2188, 0
%t2192 = select i1 %t2191, i32 8, i32 %t2190
%t2193 = getelementptr ptr, ptr null, i32 1
%t2194 = ptrtoint ptr %t2193 to i64
%t2195 = zext i32 %t2192 to i64
%t2196 = mul i64 %t2195, %t2194
%t2197 = load ptr, ptr %t2186
%t2198 = call ptr @realloc(ptr %t2197, i64 %t2196)
store ptr %t2198, ptr %t2186
store i32 %t2192, ptr %t2185
br label %put488
put488:
%t2199 = load ptr, ptr %t2186
%t2200 = getelementptr inbounds ptr, ptr %t2199, i32 %t2187
store ptr @.str5908, ptr %t2200
%t2201 = add i32 %t2187, 1
store i32 %t2201, ptr %t2184
br label %ifend486
ifend486:
%t2202 = load ptr, ptr %t1
%t2203 = call i32 @fn_str_eq(ptr %t2202, ptr @.str5909)
%t2204 = icmp ne i32 %t2203, 0
br i1 %t2204, label %then489, label %ifend491
then489:
store ptr @.str5910, ptr %t274
%t2205 = load ptr, ptr %t281
%t2206 = getelementptr inbounds %LSlice, ptr %t2205, i32 0, i32 1
%t2207 = getelementptr inbounds %LSlice, ptr %t2205, i32 0, i32 2
%t2208 = getelementptr inbounds %LSlice, ptr %t2205, i32 0, i32 0
%t2209 = load i32, ptr %t2206
%t2210 = load i32, ptr %t2207
%t2211 = icmp sge i32 %t2209, %t2210
br i1 %t2211, label %grow492, label %put493
grow492:
%t2212 = mul i32 %t2210, 2
%t2213 = icmp eq i32 %t2210, 0
%t2214 = select i1 %t2213, i32 8, i32 %t2212
%t2215 = getelementptr ptr, ptr null, i32 1
%t2216 = ptrtoint ptr %t2215 to i64
%t2217 = zext i32 %t2214 to i64
%t2218 = mul i64 %t2217, %t2216
%t2219 = load ptr, ptr %t2208
%t2220 = call ptr @realloc(ptr %t2219, i64 %t2218)
store ptr %t2220, ptr %t2208
store i32 %t2214, ptr %t2207
br label %put493
put493:
%t2221 = load ptr, ptr %t2208
%t2222 = getelementptr inbounds ptr, ptr %t2221, i32 %t2209
store ptr @.str5911, ptr %t2222
%t2223 = add i32 %t2209, 1
store i32 %t2223, ptr %t2206
br label %ifend491
ifend491:
%t2224 = load ptr, ptr %t1
%t2225 = call i32 @fn_str_eq(ptr %t2224, ptr @.str5912)
%t2226 = icmp ne i32 %t2225, 0
br i1 %t2226, label %then494, label %ifend496
then494:
store ptr @.str5913, ptr %t274
%t2227 = load ptr, ptr %t281
%t2228 = getelementptr inbounds %LSlice, ptr %t2227, i32 0, i32 1
%t2229 = getelementptr inbounds %LSlice, ptr %t2227, i32 0, i32 2
%t2230 = getelementptr inbounds %LSlice, ptr %t2227, i32 0, i32 0
%t2231 = load i32, ptr %t2228
%t2232 = load i32, ptr %t2229
%t2233 = icmp sge i32 %t2231, %t2232
br i1 %t2233, label %grow497, label %put498
grow497:
%t2234 = mul i32 %t2232, 2
%t2235 = icmp eq i32 %t2232, 0
%t2236 = select i1 %t2235, i32 8, i32 %t2234
%t2237 = getelementptr ptr, ptr null, i32 1
%t2238 = ptrtoint ptr %t2237 to i64
%t2239 = zext i32 %t2236 to i64
%t2240 = mul i64 %t2239, %t2238
%t2241 = load ptr, ptr %t2230
%t2242 = call ptr @realloc(ptr %t2241, i64 %t2240)
store ptr %t2242, ptr %t2230
store i32 %t2236, ptr %t2229
br label %put498
put498:
%t2243 = load ptr, ptr %t2230
%t2244 = getelementptr inbounds ptr, ptr %t2243, i32 %t2231
store ptr @.str5914, ptr %t2244
%t2245 = add i32 %t2231, 1
store i32 %t2245, ptr %t2228
br label %ifend496
ifend496:
%t2246 = load ptr, ptr %t1
%t2247 = call i32 @fn_str_eq(ptr %t2246, ptr @.str5915)
%t2248 = icmp ne i32 %t2247, 0
br i1 %t2248, label %then499, label %ifend501
then499:
store ptr @.str5916, ptr %t274
%t2249 = load ptr, ptr %t281
%t2250 = getelementptr inbounds %LSlice, ptr %t2249, i32 0, i32 1
%t2251 = getelementptr inbounds %LSlice, ptr %t2249, i32 0, i32 2
%t2252 = getelementptr inbounds %LSlice, ptr %t2249, i32 0, i32 0
%t2253 = load i32, ptr %t2250
%t2254 = load i32, ptr %t2251
%t2255 = icmp sge i32 %t2253, %t2254
br i1 %t2255, label %grow502, label %put503
grow502:
%t2256 = mul i32 %t2254, 2
%t2257 = icmp eq i32 %t2254, 0
%t2258 = select i1 %t2257, i32 8, i32 %t2256
%t2259 = getelementptr ptr, ptr null, i32 1
%t2260 = ptrtoint ptr %t2259 to i64
%t2261 = zext i32 %t2258 to i64
%t2262 = mul i64 %t2261, %t2260
%t2263 = load ptr, ptr %t2252
%t2264 = call ptr @realloc(ptr %t2263, i64 %t2262)
store ptr %t2264, ptr %t2252
store i32 %t2258, ptr %t2251
br label %put503
put503:
%t2265 = load ptr, ptr %t2252
%t2266 = getelementptr inbounds ptr, ptr %t2265, i32 %t2253
store ptr @.str5917, ptr %t2266
%t2267 = add i32 %t2253, 1
store i32 %t2267, ptr %t2250
br label %ifend501
ifend501:
%t2268 = load ptr, ptr %t1
%t2269 = call i32 @fn_str_eq(ptr %t2268, ptr @.str5918)
%t2270 = icmp ne i32 %t2269, 0
br i1 %t2270, label %then504, label %ifend506
then504:
store ptr @.str5919, ptr %t274
%t2271 = load ptr, ptr %t281
%t2272 = getelementptr inbounds %LSlice, ptr %t2271, i32 0, i32 1
%t2273 = getelementptr inbounds %LSlice, ptr %t2271, i32 0, i32 2
%t2274 = getelementptr inbounds %LSlice, ptr %t2271, i32 0, i32 0
%t2275 = load i32, ptr %t2272
%t2276 = load i32, ptr %t2273
%t2277 = icmp sge i32 %t2275, %t2276
br i1 %t2277, label %grow507, label %put508
grow507:
%t2278 = mul i32 %t2276, 2
%t2279 = icmp eq i32 %t2276, 0
%t2280 = select i1 %t2279, i32 8, i32 %t2278
%t2281 = getelementptr ptr, ptr null, i32 1
%t2282 = ptrtoint ptr %t2281 to i64
%t2283 = zext i32 %t2280 to i64
%t2284 = mul i64 %t2283, %t2282
%t2285 = load ptr, ptr %t2274
%t2286 = call ptr @realloc(ptr %t2285, i64 %t2284)
store ptr %t2286, ptr %t2274
store i32 %t2280, ptr %t2273
br label %put508
put508:
%t2287 = load ptr, ptr %t2274
%t2288 = getelementptr inbounds ptr, ptr %t2287, i32 %t2275
store ptr @.str5920, ptr %t2288
%t2289 = add i32 %t2275, 1
store i32 %t2289, ptr %t2272
%t2290 = load ptr, ptr %t281
%t2291 = getelementptr inbounds %LSlice, ptr %t2290, i32 0, i32 1
%t2292 = getelementptr inbounds %LSlice, ptr %t2290, i32 0, i32 2
%t2293 = getelementptr inbounds %LSlice, ptr %t2290, i32 0, i32 0
%t2294 = load i32, ptr %t2291
%t2295 = load i32, ptr %t2292
%t2296 = icmp sge i32 %t2294, %t2295
br i1 %t2296, label %grow509, label %put510
grow509:
%t2297 = mul i32 %t2295, 2
%t2298 = icmp eq i32 %t2295, 0
%t2299 = select i1 %t2298, i32 8, i32 %t2297
%t2300 = getelementptr ptr, ptr null, i32 1
%t2301 = ptrtoint ptr %t2300 to i64
%t2302 = zext i32 %t2299 to i64
%t2303 = mul i64 %t2302, %t2301
%t2304 = load ptr, ptr %t2293
%t2305 = call ptr @realloc(ptr %t2304, i64 %t2303)
store ptr %t2305, ptr %t2293
store i32 %t2299, ptr %t2292
br label %put510
put510:
%t2306 = load ptr, ptr %t2293
%t2307 = getelementptr inbounds ptr, ptr %t2306, i32 %t2294
store ptr @.str5921, ptr %t2307
%t2308 = add i32 %t2294, 1
store i32 %t2308, ptr %t2291
br label %ifend506
ifend506:
%t2309 = load ptr, ptr %t1
%t2310 = call i32 @fn_str_eq(ptr %t2309, ptr @.str5922)
%t2311 = icmp ne i32 %t2310, 0
br i1 %t2311, label %then511, label %ifend513
then511:
store ptr @.str5923, ptr %t274
%t2312 = load ptr, ptr %t281
%t2313 = getelementptr inbounds %LSlice, ptr %t2312, i32 0, i32 1
%t2314 = getelementptr inbounds %LSlice, ptr %t2312, i32 0, i32 2
%t2315 = getelementptr inbounds %LSlice, ptr %t2312, i32 0, i32 0
%t2316 = load i32, ptr %t2313
%t2317 = load i32, ptr %t2314
%t2318 = icmp sge i32 %t2316, %t2317
br i1 %t2318, label %grow514, label %put515
grow514:
%t2319 = mul i32 %t2317, 2
%t2320 = icmp eq i32 %t2317, 0
%t2321 = select i1 %t2320, i32 8, i32 %t2319
%t2322 = getelementptr ptr, ptr null, i32 1
%t2323 = ptrtoint ptr %t2322 to i64
%t2324 = zext i32 %t2321 to i64
%t2325 = mul i64 %t2324, %t2323
%t2326 = load ptr, ptr %t2315
%t2327 = call ptr @realloc(ptr %t2326, i64 %t2325)
store ptr %t2327, ptr %t2315
store i32 %t2321, ptr %t2314
br label %put515
put515:
%t2328 = load ptr, ptr %t2315
%t2329 = getelementptr inbounds ptr, ptr %t2328, i32 %t2316
store ptr @.str5924, ptr %t2329
%t2330 = add i32 %t2316, 1
store i32 %t2330, ptr %t2313
%t2331 = load ptr, ptr %t281
%t2332 = getelementptr inbounds %LSlice, ptr %t2331, i32 0, i32 1
%t2333 = getelementptr inbounds %LSlice, ptr %t2331, i32 0, i32 2
%t2334 = getelementptr inbounds %LSlice, ptr %t2331, i32 0, i32 0
%t2335 = load i32, ptr %t2332
%t2336 = load i32, ptr %t2333
%t2337 = icmp sge i32 %t2335, %t2336
br i1 %t2337, label %grow516, label %put517
grow516:
%t2338 = mul i32 %t2336, 2
%t2339 = icmp eq i32 %t2336, 0
%t2340 = select i1 %t2339, i32 8, i32 %t2338
%t2341 = getelementptr ptr, ptr null, i32 1
%t2342 = ptrtoint ptr %t2341 to i64
%t2343 = zext i32 %t2340 to i64
%t2344 = mul i64 %t2343, %t2342
%t2345 = load ptr, ptr %t2334
%t2346 = call ptr @realloc(ptr %t2345, i64 %t2344)
store ptr %t2346, ptr %t2334
store i32 %t2340, ptr %t2333
br label %put517
put517:
%t2347 = load ptr, ptr %t2334
%t2348 = getelementptr inbounds ptr, ptr %t2347, i32 %t2335
store ptr @.str5925, ptr %t2348
%t2349 = add i32 %t2335, 1
store i32 %t2349, ptr %t2332
%t2350 = load ptr, ptr %t281
%t2351 = getelementptr inbounds %LSlice, ptr %t2350, i32 0, i32 1
%t2352 = getelementptr inbounds %LSlice, ptr %t2350, i32 0, i32 2
%t2353 = getelementptr inbounds %LSlice, ptr %t2350, i32 0, i32 0
%t2354 = load i32, ptr %t2351
%t2355 = load i32, ptr %t2352
%t2356 = icmp sge i32 %t2354, %t2355
br i1 %t2356, label %grow518, label %put519
grow518:
%t2357 = mul i32 %t2355, 2
%t2358 = icmp eq i32 %t2355, 0
%t2359 = select i1 %t2358, i32 8, i32 %t2357
%t2360 = getelementptr ptr, ptr null, i32 1
%t2361 = ptrtoint ptr %t2360 to i64
%t2362 = zext i32 %t2359 to i64
%t2363 = mul i64 %t2362, %t2361
%t2364 = load ptr, ptr %t2353
%t2365 = call ptr @realloc(ptr %t2364, i64 %t2363)
store ptr %t2365, ptr %t2353
store i32 %t2359, ptr %t2352
br label %put519
put519:
%t2366 = load ptr, ptr %t2353
%t2367 = getelementptr inbounds ptr, ptr %t2366, i32 %t2354
store ptr @.str5926, ptr %t2367
%t2368 = add i32 %t2354, 1
store i32 %t2368, ptr %t2351
%t2369 = load ptr, ptr %t281
%t2370 = getelementptr inbounds %LSlice, ptr %t2369, i32 0, i32 1
%t2371 = getelementptr inbounds %LSlice, ptr %t2369, i32 0, i32 2
%t2372 = getelementptr inbounds %LSlice, ptr %t2369, i32 0, i32 0
%t2373 = load i32, ptr %t2370
%t2374 = load i32, ptr %t2371
%t2375 = icmp sge i32 %t2373, %t2374
br i1 %t2375, label %grow520, label %put521
grow520:
%t2376 = mul i32 %t2374, 2
%t2377 = icmp eq i32 %t2374, 0
%t2378 = select i1 %t2377, i32 8, i32 %t2376
%t2379 = getelementptr ptr, ptr null, i32 1
%t2380 = ptrtoint ptr %t2379 to i64
%t2381 = zext i32 %t2378 to i64
%t2382 = mul i64 %t2381, %t2380
%t2383 = load ptr, ptr %t2372
%t2384 = call ptr @realloc(ptr %t2383, i64 %t2382)
store ptr %t2384, ptr %t2372
store i32 %t2378, ptr %t2371
br label %put521
put521:
%t2385 = load ptr, ptr %t2372
%t2386 = getelementptr inbounds ptr, ptr %t2385, i32 %t2373
store ptr @.str5927, ptr %t2386
%t2387 = add i32 %t2373, 1
store i32 %t2387, ptr %t2370
br label %ifend513
ifend513:
%t2388 = load ptr, ptr %t1
%t2389 = call i32 @fn_str_eq(ptr %t2388, ptr @.str5928)
%t2390 = icmp ne i32 %t2389, 0
br i1 %t2390, label %then522, label %ifend524
then522:
store ptr @.str5929, ptr %t274
%t2391 = load ptr, ptr %t281
%t2392 = getelementptr inbounds %LSlice, ptr %t2391, i32 0, i32 1
%t2393 = getelementptr inbounds %LSlice, ptr %t2391, i32 0, i32 2
%t2394 = getelementptr inbounds %LSlice, ptr %t2391, i32 0, i32 0
%t2395 = load i32, ptr %t2392
%t2396 = load i32, ptr %t2393
%t2397 = icmp sge i32 %t2395, %t2396
br i1 %t2397, label %grow525, label %put526
grow525:
%t2398 = mul i32 %t2396, 2
%t2399 = icmp eq i32 %t2396, 0
%t2400 = select i1 %t2399, i32 8, i32 %t2398
%t2401 = getelementptr ptr, ptr null, i32 1
%t2402 = ptrtoint ptr %t2401 to i64
%t2403 = zext i32 %t2400 to i64
%t2404 = mul i64 %t2403, %t2402
%t2405 = load ptr, ptr %t2394
%t2406 = call ptr @realloc(ptr %t2405, i64 %t2404)
store ptr %t2406, ptr %t2394
store i32 %t2400, ptr %t2393
br label %put526
put526:
%t2407 = load ptr, ptr %t2394
%t2408 = getelementptr inbounds ptr, ptr %t2407, i32 %t2395
store ptr @.str5930, ptr %t2408
%t2409 = add i32 %t2395, 1
store i32 %t2409, ptr %t2392
br label %ifend524
ifend524:
%t2410 = load ptr, ptr %t1
%t2411 = call i32 @fn_str_eq(ptr %t2410, ptr @.str5931)
%t2412 = icmp ne i32 %t2411, 0
br i1 %t2412, label %then527, label %ifend529
then527:
store ptr @.str5932, ptr %t274
br label %ifend529
ifend529:
%t2413 = load ptr, ptr %t1
%t2414 = call i32 @fn_str_eq(ptr %t2413, ptr @.str5933)
%t2415 = icmp ne i32 %t2414, 0
br i1 %t2415, label %then530, label %ifend532
then530:
store ptr @.str5934, ptr %t274
br label %ifend532
ifend532:
%t2416 = load ptr, ptr %t1
%t2417 = call i32 @fn_str_eq(ptr %t2416, ptr @.str5935)
%t2418 = icmp ne i32 %t2417, 0
br i1 %t2418, label %then533, label %ifend535
then533:
store ptr @.str5936, ptr %t274
br label %ifend535
ifend535:
%t2419 = load ptr, ptr %t1
%t2420 = call i32 @fn_str_eq(ptr %t2419, ptr @.str5937)
%t2421 = icmp ne i32 %t2420, 0
br i1 %t2421, label %then536, label %ifend538
then536:
store ptr @.str5938, ptr %t274
br label %ifend538
ifend538:
%t2422 = load ptr, ptr %t1
%t2423 = call i32 @fn_str_eq(ptr %t2422, ptr @.str5939)
%t2424 = icmp ne i32 %t2423, 0
br i1 %t2424, label %then539, label %ifend541
then539:
store ptr @.str5940, ptr %t274
%t2425 = load ptr, ptr %t281
%t2426 = getelementptr inbounds %LSlice, ptr %t2425, i32 0, i32 1
%t2427 = getelementptr inbounds %LSlice, ptr %t2425, i32 0, i32 2
%t2428 = getelementptr inbounds %LSlice, ptr %t2425, i32 0, i32 0
%t2429 = load i32, ptr %t2426
%t2430 = load i32, ptr %t2427
%t2431 = icmp sge i32 %t2429, %t2430
br i1 %t2431, label %grow542, label %put543
grow542:
%t2432 = mul i32 %t2430, 2
%t2433 = icmp eq i32 %t2430, 0
%t2434 = select i1 %t2433, i32 8, i32 %t2432
%t2435 = getelementptr ptr, ptr null, i32 1
%t2436 = ptrtoint ptr %t2435 to i64
%t2437 = zext i32 %t2434 to i64
%t2438 = mul i64 %t2437, %t2436
%t2439 = load ptr, ptr %t2428
%t2440 = call ptr @realloc(ptr %t2439, i64 %t2438)
store ptr %t2440, ptr %t2428
store i32 %t2434, ptr %t2427
br label %put543
put543:
%t2441 = load ptr, ptr %t2428
%t2442 = getelementptr inbounds ptr, ptr %t2441, i32 %t2429
store ptr @.str5941, ptr %t2442
%t2443 = add i32 %t2429, 1
store i32 %t2443, ptr %t2426
br label %ifend541
ifend541:
%t2444 = load ptr, ptr %t1
%t2445 = call i32 @fn_str_eq(ptr %t2444, ptr @.str5942)
%t2446 = icmp ne i32 %t2445, 0
br i1 %t2446, label %then544, label %ifend546
then544:
store ptr @.str5943, ptr %t274
br label %ifend546
ifend546:
%t2447 = load ptr, ptr %t1
%t2448 = call i32 @fn_str_eq(ptr %t2447, ptr @.str5944)
%t2449 = icmp ne i32 %t2448, 0
br i1 %t2449, label %then547, label %ifend549
then547:
store ptr @.str5945, ptr %t274
%t2450 = load ptr, ptr %t281
%t2451 = getelementptr inbounds %LSlice, ptr %t2450, i32 0, i32 1
%t2452 = getelementptr inbounds %LSlice, ptr %t2450, i32 0, i32 2
%t2453 = getelementptr inbounds %LSlice, ptr %t2450, i32 0, i32 0
%t2454 = load i32, ptr %t2451
%t2455 = load i32, ptr %t2452
%t2456 = icmp sge i32 %t2454, %t2455
br i1 %t2456, label %grow550, label %put551
grow550:
%t2457 = mul i32 %t2455, 2
%t2458 = icmp eq i32 %t2455, 0
%t2459 = select i1 %t2458, i32 8, i32 %t2457
%t2460 = getelementptr ptr, ptr null, i32 1
%t2461 = ptrtoint ptr %t2460 to i64
%t2462 = zext i32 %t2459 to i64
%t2463 = mul i64 %t2462, %t2461
%t2464 = load ptr, ptr %t2453
%t2465 = call ptr @realloc(ptr %t2464, i64 %t2463)
store ptr %t2465, ptr %t2453
store i32 %t2459, ptr %t2452
br label %put551
put551:
%t2466 = load ptr, ptr %t2453
%t2467 = getelementptr inbounds ptr, ptr %t2466, i32 %t2454
store ptr @.str5946, ptr %t2467
%t2468 = add i32 %t2454, 1
store i32 %t2468, ptr %t2451
%t2469 = load ptr, ptr %t281
%t2470 = getelementptr inbounds %LSlice, ptr %t2469, i32 0, i32 1
%t2471 = getelementptr inbounds %LSlice, ptr %t2469, i32 0, i32 2
%t2472 = getelementptr inbounds %LSlice, ptr %t2469, i32 0, i32 0
%t2473 = load i32, ptr %t2470
%t2474 = load i32, ptr %t2471
%t2475 = icmp sge i32 %t2473, %t2474
br i1 %t2475, label %grow552, label %put553
grow552:
%t2476 = mul i32 %t2474, 2
%t2477 = icmp eq i32 %t2474, 0
%t2478 = select i1 %t2477, i32 8, i32 %t2476
%t2479 = getelementptr ptr, ptr null, i32 1
%t2480 = ptrtoint ptr %t2479 to i64
%t2481 = zext i32 %t2478 to i64
%t2482 = mul i64 %t2481, %t2480
%t2483 = load ptr, ptr %t2472
%t2484 = call ptr @realloc(ptr %t2483, i64 %t2482)
store ptr %t2484, ptr %t2472
store i32 %t2478, ptr %t2471
br label %put553
put553:
%t2485 = load ptr, ptr %t2472
%t2486 = getelementptr inbounds ptr, ptr %t2485, i32 %t2473
store ptr @.str5947, ptr %t2486
%t2487 = add i32 %t2473, 1
store i32 %t2487, ptr %t2470
%t2488 = load ptr, ptr %t281
%t2489 = getelementptr inbounds %LSlice, ptr %t2488, i32 0, i32 1
%t2490 = getelementptr inbounds %LSlice, ptr %t2488, i32 0, i32 2
%t2491 = getelementptr inbounds %LSlice, ptr %t2488, i32 0, i32 0
%t2492 = load i32, ptr %t2489
%t2493 = load i32, ptr %t2490
%t2494 = icmp sge i32 %t2492, %t2493
br i1 %t2494, label %grow554, label %put555
grow554:
%t2495 = mul i32 %t2493, 2
%t2496 = icmp eq i32 %t2493, 0
%t2497 = select i1 %t2496, i32 8, i32 %t2495
%t2498 = getelementptr ptr, ptr null, i32 1
%t2499 = ptrtoint ptr %t2498 to i64
%t2500 = zext i32 %t2497 to i64
%t2501 = mul i64 %t2500, %t2499
%t2502 = load ptr, ptr %t2491
%t2503 = call ptr @realloc(ptr %t2502, i64 %t2501)
store ptr %t2503, ptr %t2491
store i32 %t2497, ptr %t2490
br label %put555
put555:
%t2504 = load ptr, ptr %t2491
%t2505 = getelementptr inbounds ptr, ptr %t2504, i32 %t2492
store ptr @.str5948, ptr %t2505
%t2506 = add i32 %t2492, 1
store i32 %t2506, ptr %t2489
%t2507 = load ptr, ptr %t281
%t2508 = getelementptr inbounds %LSlice, ptr %t2507, i32 0, i32 1
%t2509 = getelementptr inbounds %LSlice, ptr %t2507, i32 0, i32 2
%t2510 = getelementptr inbounds %LSlice, ptr %t2507, i32 0, i32 0
%t2511 = load i32, ptr %t2508
%t2512 = load i32, ptr %t2509
%t2513 = icmp sge i32 %t2511, %t2512
br i1 %t2513, label %grow556, label %put557
grow556:
%t2514 = mul i32 %t2512, 2
%t2515 = icmp eq i32 %t2512, 0
%t2516 = select i1 %t2515, i32 8, i32 %t2514
%t2517 = getelementptr ptr, ptr null, i32 1
%t2518 = ptrtoint ptr %t2517 to i64
%t2519 = zext i32 %t2516 to i64
%t2520 = mul i64 %t2519, %t2518
%t2521 = load ptr, ptr %t2510
%t2522 = call ptr @realloc(ptr %t2521, i64 %t2520)
store ptr %t2522, ptr %t2510
store i32 %t2516, ptr %t2509
br label %put557
put557:
%t2523 = load ptr, ptr %t2510
%t2524 = getelementptr inbounds ptr, ptr %t2523, i32 %t2511
store ptr @.str5949, ptr %t2524
%t2525 = add i32 %t2511, 1
store i32 %t2525, ptr %t2508
br label %ifend549
ifend549:
%t2526 = load ptr, ptr %t1
%t2527 = call i32 @fn_str_eq(ptr %t2526, ptr @.str5950)
%t2528 = icmp ne i32 %t2527, 0
br i1 %t2528, label %then558, label %ifend560
then558:
store ptr @.str5951, ptr %t274
%t2529 = load ptr, ptr %t281
%t2530 = getelementptr inbounds %LSlice, ptr %t2529, i32 0, i32 1
%t2531 = getelementptr inbounds %LSlice, ptr %t2529, i32 0, i32 2
%t2532 = getelementptr inbounds %LSlice, ptr %t2529, i32 0, i32 0
%t2533 = load i32, ptr %t2530
%t2534 = load i32, ptr %t2531
%t2535 = icmp sge i32 %t2533, %t2534
br i1 %t2535, label %grow561, label %put562
grow561:
%t2536 = mul i32 %t2534, 2
%t2537 = icmp eq i32 %t2534, 0
%t2538 = select i1 %t2537, i32 8, i32 %t2536
%t2539 = getelementptr ptr, ptr null, i32 1
%t2540 = ptrtoint ptr %t2539 to i64
%t2541 = zext i32 %t2538 to i64
%t2542 = mul i64 %t2541, %t2540
%t2543 = load ptr, ptr %t2532
%t2544 = call ptr @realloc(ptr %t2543, i64 %t2542)
store ptr %t2544, ptr %t2532
store i32 %t2538, ptr %t2531
br label %put562
put562:
%t2545 = load ptr, ptr %t2532
%t2546 = getelementptr inbounds ptr, ptr %t2545, i32 %t2533
store ptr @.str5952, ptr %t2546
%t2547 = add i32 %t2533, 1
store i32 %t2547, ptr %t2530
br label %ifend560
ifend560:
%t2548 = load ptr, ptr %t1
%t2549 = call i32 @fn_str_eq(ptr %t2548, ptr @.str5953)
%t2550 = icmp ne i32 %t2549, 0
br i1 %t2550, label %then563, label %ifend565
then563:
store ptr @.str5954, ptr %t274
%t2551 = load ptr, ptr %t281
%t2552 = getelementptr inbounds %LSlice, ptr %t2551, i32 0, i32 1
%t2553 = getelementptr inbounds %LSlice, ptr %t2551, i32 0, i32 2
%t2554 = getelementptr inbounds %LSlice, ptr %t2551, i32 0, i32 0
%t2555 = load i32, ptr %t2552
%t2556 = load i32, ptr %t2553
%t2557 = icmp sge i32 %t2555, %t2556
br i1 %t2557, label %grow566, label %put567
grow566:
%t2558 = mul i32 %t2556, 2
%t2559 = icmp eq i32 %t2556, 0
%t2560 = select i1 %t2559, i32 8, i32 %t2558
%t2561 = getelementptr ptr, ptr null, i32 1
%t2562 = ptrtoint ptr %t2561 to i64
%t2563 = zext i32 %t2560 to i64
%t2564 = mul i64 %t2563, %t2562
%t2565 = load ptr, ptr %t2554
%t2566 = call ptr @realloc(ptr %t2565, i64 %t2564)
store ptr %t2566, ptr %t2554
store i32 %t2560, ptr %t2553
br label %put567
put567:
%t2567 = load ptr, ptr %t2554
%t2568 = getelementptr inbounds ptr, ptr %t2567, i32 %t2555
store ptr @.str5955, ptr %t2568
%t2569 = add i32 %t2555, 1
store i32 %t2569, ptr %t2552
%t2570 = load ptr, ptr %t281
%t2571 = getelementptr inbounds %LSlice, ptr %t2570, i32 0, i32 1
%t2572 = getelementptr inbounds %LSlice, ptr %t2570, i32 0, i32 2
%t2573 = getelementptr inbounds %LSlice, ptr %t2570, i32 0, i32 0
%t2574 = load i32, ptr %t2571
%t2575 = load i32, ptr %t2572
%t2576 = icmp sge i32 %t2574, %t2575
br i1 %t2576, label %grow568, label %put569
grow568:
%t2577 = mul i32 %t2575, 2
%t2578 = icmp eq i32 %t2575, 0
%t2579 = select i1 %t2578, i32 8, i32 %t2577
%t2580 = getelementptr ptr, ptr null, i32 1
%t2581 = ptrtoint ptr %t2580 to i64
%t2582 = zext i32 %t2579 to i64
%t2583 = mul i64 %t2582, %t2581
%t2584 = load ptr, ptr %t2573
%t2585 = call ptr @realloc(ptr %t2584, i64 %t2583)
store ptr %t2585, ptr %t2573
store i32 %t2579, ptr %t2572
br label %put569
put569:
%t2586 = load ptr, ptr %t2573
%t2587 = getelementptr inbounds ptr, ptr %t2586, i32 %t2574
store ptr @.str5956, ptr %t2587
%t2588 = add i32 %t2574, 1
store i32 %t2588, ptr %t2571
br label %ifend565
ifend565:
%t2589 = load ptr, ptr %t1
%t2590 = call i32 @fn_str_eq(ptr %t2589, ptr @.str5957)
%t2591 = icmp ne i32 %t2590, 0
br i1 %t2591, label %then570, label %ifend572
then570:
store ptr @.str5958, ptr %t274
%t2592 = load ptr, ptr %t281
%t2593 = getelementptr inbounds %LSlice, ptr %t2592, i32 0, i32 1
%t2594 = getelementptr inbounds %LSlice, ptr %t2592, i32 0, i32 2
%t2595 = getelementptr inbounds %LSlice, ptr %t2592, i32 0, i32 0
%t2596 = load i32, ptr %t2593
%t2597 = load i32, ptr %t2594
%t2598 = icmp sge i32 %t2596, %t2597
br i1 %t2598, label %grow573, label %put574
grow573:
%t2599 = mul i32 %t2597, 2
%t2600 = icmp eq i32 %t2597, 0
%t2601 = select i1 %t2600, i32 8, i32 %t2599
%t2602 = getelementptr ptr, ptr null, i32 1
%t2603 = ptrtoint ptr %t2602 to i64
%t2604 = zext i32 %t2601 to i64
%t2605 = mul i64 %t2604, %t2603
%t2606 = load ptr, ptr %t2595
%t2607 = call ptr @realloc(ptr %t2606, i64 %t2605)
store ptr %t2607, ptr %t2595
store i32 %t2601, ptr %t2594
br label %put574
put574:
%t2608 = load ptr, ptr %t2595
%t2609 = getelementptr inbounds ptr, ptr %t2608, i32 %t2596
store ptr @.str5959, ptr %t2609
%t2610 = add i32 %t2596, 1
store i32 %t2610, ptr %t2593
%t2611 = load ptr, ptr %t281
%t2612 = getelementptr inbounds %LSlice, ptr %t2611, i32 0, i32 1
%t2613 = getelementptr inbounds %LSlice, ptr %t2611, i32 0, i32 2
%t2614 = getelementptr inbounds %LSlice, ptr %t2611, i32 0, i32 0
%t2615 = load i32, ptr %t2612
%t2616 = load i32, ptr %t2613
%t2617 = icmp sge i32 %t2615, %t2616
br i1 %t2617, label %grow575, label %put576
grow575:
%t2618 = mul i32 %t2616, 2
%t2619 = icmp eq i32 %t2616, 0
%t2620 = select i1 %t2619, i32 8, i32 %t2618
%t2621 = getelementptr ptr, ptr null, i32 1
%t2622 = ptrtoint ptr %t2621 to i64
%t2623 = zext i32 %t2620 to i64
%t2624 = mul i64 %t2623, %t2622
%t2625 = load ptr, ptr %t2614
%t2626 = call ptr @realloc(ptr %t2625, i64 %t2624)
store ptr %t2626, ptr %t2614
store i32 %t2620, ptr %t2613
br label %put576
put576:
%t2627 = load ptr, ptr %t2614
%t2628 = getelementptr inbounds ptr, ptr %t2627, i32 %t2615
store ptr @.str5960, ptr %t2628
%t2629 = add i32 %t2615, 1
store i32 %t2629, ptr %t2612
br label %ifend572
ifend572:
%t2630 = load ptr, ptr %t1
%t2631 = call i32 @fn_str_eq(ptr %t2630, ptr @.str5961)
%t2632 = icmp ne i32 %t2631, 0
br i1 %t2632, label %then577, label %ifend579
then577:
store ptr @.str5962, ptr %t274
%t2633 = load ptr, ptr %t281
%t2634 = getelementptr inbounds %LSlice, ptr %t2633, i32 0, i32 1
%t2635 = getelementptr inbounds %LSlice, ptr %t2633, i32 0, i32 2
%t2636 = getelementptr inbounds %LSlice, ptr %t2633, i32 0, i32 0
%t2637 = load i32, ptr %t2634
%t2638 = load i32, ptr %t2635
%t2639 = icmp sge i32 %t2637, %t2638
br i1 %t2639, label %grow580, label %put581
grow580:
%t2640 = mul i32 %t2638, 2
%t2641 = icmp eq i32 %t2638, 0
%t2642 = select i1 %t2641, i32 8, i32 %t2640
%t2643 = getelementptr ptr, ptr null, i32 1
%t2644 = ptrtoint ptr %t2643 to i64
%t2645 = zext i32 %t2642 to i64
%t2646 = mul i64 %t2645, %t2644
%t2647 = load ptr, ptr %t2636
%t2648 = call ptr @realloc(ptr %t2647, i64 %t2646)
store ptr %t2648, ptr %t2636
store i32 %t2642, ptr %t2635
br label %put581
put581:
%t2649 = load ptr, ptr %t2636
%t2650 = getelementptr inbounds ptr, ptr %t2649, i32 %t2637
store ptr @.str5963, ptr %t2650
%t2651 = add i32 %t2637, 1
store i32 %t2651, ptr %t2634
%t2652 = load ptr, ptr %t281
%t2653 = getelementptr inbounds %LSlice, ptr %t2652, i32 0, i32 1
%t2654 = getelementptr inbounds %LSlice, ptr %t2652, i32 0, i32 2
%t2655 = getelementptr inbounds %LSlice, ptr %t2652, i32 0, i32 0
%t2656 = load i32, ptr %t2653
%t2657 = load i32, ptr %t2654
%t2658 = icmp sge i32 %t2656, %t2657
br i1 %t2658, label %grow582, label %put583
grow582:
%t2659 = mul i32 %t2657, 2
%t2660 = icmp eq i32 %t2657, 0
%t2661 = select i1 %t2660, i32 8, i32 %t2659
%t2662 = getelementptr ptr, ptr null, i32 1
%t2663 = ptrtoint ptr %t2662 to i64
%t2664 = zext i32 %t2661 to i64
%t2665 = mul i64 %t2664, %t2663
%t2666 = load ptr, ptr %t2655
%t2667 = call ptr @realloc(ptr %t2666, i64 %t2665)
store ptr %t2667, ptr %t2655
store i32 %t2661, ptr %t2654
br label %put583
put583:
%t2668 = load ptr, ptr %t2655
%t2669 = getelementptr inbounds ptr, ptr %t2668, i32 %t2656
store ptr @.str5964, ptr %t2669
%t2670 = add i32 %t2656, 1
store i32 %t2670, ptr %t2653
%t2671 = load ptr, ptr %t281
%t2672 = getelementptr inbounds %LSlice, ptr %t2671, i32 0, i32 1
%t2673 = getelementptr inbounds %LSlice, ptr %t2671, i32 0, i32 2
%t2674 = getelementptr inbounds %LSlice, ptr %t2671, i32 0, i32 0
%t2675 = load i32, ptr %t2672
%t2676 = load i32, ptr %t2673
%t2677 = icmp sge i32 %t2675, %t2676
br i1 %t2677, label %grow584, label %put585
grow584:
%t2678 = mul i32 %t2676, 2
%t2679 = icmp eq i32 %t2676, 0
%t2680 = select i1 %t2679, i32 8, i32 %t2678
%t2681 = getelementptr ptr, ptr null, i32 1
%t2682 = ptrtoint ptr %t2681 to i64
%t2683 = zext i32 %t2680 to i64
%t2684 = mul i64 %t2683, %t2682
%t2685 = load ptr, ptr %t2674
%t2686 = call ptr @realloc(ptr %t2685, i64 %t2684)
store ptr %t2686, ptr %t2674
store i32 %t2680, ptr %t2673
br label %put585
put585:
%t2687 = load ptr, ptr %t2674
%t2688 = getelementptr inbounds ptr, ptr %t2687, i32 %t2675
store ptr @.str5965, ptr %t2688
%t2689 = add i32 %t2675, 1
store i32 %t2689, ptr %t2672
%t2690 = load ptr, ptr %t281
%t2691 = getelementptr inbounds %LSlice, ptr %t2690, i32 0, i32 1
%t2692 = getelementptr inbounds %LSlice, ptr %t2690, i32 0, i32 2
%t2693 = getelementptr inbounds %LSlice, ptr %t2690, i32 0, i32 0
%t2694 = load i32, ptr %t2691
%t2695 = load i32, ptr %t2692
%t2696 = icmp sge i32 %t2694, %t2695
br i1 %t2696, label %grow586, label %put587
grow586:
%t2697 = mul i32 %t2695, 2
%t2698 = icmp eq i32 %t2695, 0
%t2699 = select i1 %t2698, i32 8, i32 %t2697
%t2700 = getelementptr ptr, ptr null, i32 1
%t2701 = ptrtoint ptr %t2700 to i64
%t2702 = zext i32 %t2699 to i64
%t2703 = mul i64 %t2702, %t2701
%t2704 = load ptr, ptr %t2693
%t2705 = call ptr @realloc(ptr %t2704, i64 %t2703)
store ptr %t2705, ptr %t2693
store i32 %t2699, ptr %t2692
br label %put587
put587:
%t2706 = load ptr, ptr %t2693
%t2707 = getelementptr inbounds ptr, ptr %t2706, i32 %t2694
store ptr @.str5966, ptr %t2707
%t2708 = add i32 %t2694, 1
store i32 %t2708, ptr %t2691
%t2709 = load ptr, ptr %t281
%t2710 = getelementptr inbounds %LSlice, ptr %t2709, i32 0, i32 1
%t2711 = getelementptr inbounds %LSlice, ptr %t2709, i32 0, i32 2
%t2712 = getelementptr inbounds %LSlice, ptr %t2709, i32 0, i32 0
%t2713 = load i32, ptr %t2710
%t2714 = load i32, ptr %t2711
%t2715 = icmp sge i32 %t2713, %t2714
br i1 %t2715, label %grow588, label %put589
grow588:
%t2716 = mul i32 %t2714, 2
%t2717 = icmp eq i32 %t2714, 0
%t2718 = select i1 %t2717, i32 8, i32 %t2716
%t2719 = getelementptr ptr, ptr null, i32 1
%t2720 = ptrtoint ptr %t2719 to i64
%t2721 = zext i32 %t2718 to i64
%t2722 = mul i64 %t2721, %t2720
%t2723 = load ptr, ptr %t2712
%t2724 = call ptr @realloc(ptr %t2723, i64 %t2722)
store ptr %t2724, ptr %t2712
store i32 %t2718, ptr %t2711
br label %put589
put589:
%t2725 = load ptr, ptr %t2712
%t2726 = getelementptr inbounds ptr, ptr %t2725, i32 %t2713
store ptr @.str5967, ptr %t2726
%t2727 = add i32 %t2713, 1
store i32 %t2727, ptr %t2710
%t2728 = load ptr, ptr %t281
%t2729 = getelementptr inbounds %LSlice, ptr %t2728, i32 0, i32 1
%t2730 = getelementptr inbounds %LSlice, ptr %t2728, i32 0, i32 2
%t2731 = getelementptr inbounds %LSlice, ptr %t2728, i32 0, i32 0
%t2732 = load i32, ptr %t2729
%t2733 = load i32, ptr %t2730
%t2734 = icmp sge i32 %t2732, %t2733
br i1 %t2734, label %grow590, label %put591
grow590:
%t2735 = mul i32 %t2733, 2
%t2736 = icmp eq i32 %t2733, 0
%t2737 = select i1 %t2736, i32 8, i32 %t2735
%t2738 = getelementptr ptr, ptr null, i32 1
%t2739 = ptrtoint ptr %t2738 to i64
%t2740 = zext i32 %t2737 to i64
%t2741 = mul i64 %t2740, %t2739
%t2742 = load ptr, ptr %t2731
%t2743 = call ptr @realloc(ptr %t2742, i64 %t2741)
store ptr %t2743, ptr %t2731
store i32 %t2737, ptr %t2730
br label %put591
put591:
%t2744 = load ptr, ptr %t2731
%t2745 = getelementptr inbounds ptr, ptr %t2744, i32 %t2732
store ptr @.str5968, ptr %t2745
%t2746 = add i32 %t2732, 1
store i32 %t2746, ptr %t2729
%t2747 = load ptr, ptr %t281
%t2748 = getelementptr inbounds %LSlice, ptr %t2747, i32 0, i32 1
%t2749 = getelementptr inbounds %LSlice, ptr %t2747, i32 0, i32 2
%t2750 = getelementptr inbounds %LSlice, ptr %t2747, i32 0, i32 0
%t2751 = load i32, ptr %t2748
%t2752 = load i32, ptr %t2749
%t2753 = icmp sge i32 %t2751, %t2752
br i1 %t2753, label %grow592, label %put593
grow592:
%t2754 = mul i32 %t2752, 2
%t2755 = icmp eq i32 %t2752, 0
%t2756 = select i1 %t2755, i32 8, i32 %t2754
%t2757 = getelementptr ptr, ptr null, i32 1
%t2758 = ptrtoint ptr %t2757 to i64
%t2759 = zext i32 %t2756 to i64
%t2760 = mul i64 %t2759, %t2758
%t2761 = load ptr, ptr %t2750
%t2762 = call ptr @realloc(ptr %t2761, i64 %t2760)
store ptr %t2762, ptr %t2750
store i32 %t2756, ptr %t2749
br label %put593
put593:
%t2763 = load ptr, ptr %t2750
%t2764 = getelementptr inbounds ptr, ptr %t2763, i32 %t2751
store ptr @.str5969, ptr %t2764
%t2765 = add i32 %t2751, 1
store i32 %t2765, ptr %t2748
br label %ifend579
ifend579:
%t2766 = load ptr, ptr %t1
%t2767 = call i32 @fn_str_eq(ptr %t2766, ptr @.str5970)
%t2768 = icmp ne i32 %t2767, 0
br i1 %t2768, label %then594, label %ifend596
then594:
store ptr @.str5971, ptr %t274
br label %ifend596
ifend596:
%t2769 = load ptr, ptr %t1
%t2770 = call i32 @fn_str_eq(ptr %t2769, ptr @.str5972)
%t2771 = icmp ne i32 %t2770, 0
br i1 %t2771, label %then597, label %ifend599
then597:
store ptr @.str5973, ptr %t274
%t2772 = load ptr, ptr %t281
%t2773 = getelementptr inbounds %LSlice, ptr %t2772, i32 0, i32 1
%t2774 = getelementptr inbounds %LSlice, ptr %t2772, i32 0, i32 2
%t2775 = getelementptr inbounds %LSlice, ptr %t2772, i32 0, i32 0
%t2776 = load i32, ptr %t2773
%t2777 = load i32, ptr %t2774
%t2778 = icmp sge i32 %t2776, %t2777
br i1 %t2778, label %grow600, label %put601
grow600:
%t2779 = mul i32 %t2777, 2
%t2780 = icmp eq i32 %t2777, 0
%t2781 = select i1 %t2780, i32 8, i32 %t2779
%t2782 = getelementptr ptr, ptr null, i32 1
%t2783 = ptrtoint ptr %t2782 to i64
%t2784 = zext i32 %t2781 to i64
%t2785 = mul i64 %t2784, %t2783
%t2786 = load ptr, ptr %t2775
%t2787 = call ptr @realloc(ptr %t2786, i64 %t2785)
store ptr %t2787, ptr %t2775
store i32 %t2781, ptr %t2774
br label %put601
put601:
%t2788 = load ptr, ptr %t2775
%t2789 = getelementptr inbounds ptr, ptr %t2788, i32 %t2776
store ptr @.str5974, ptr %t2789
%t2790 = add i32 %t2776, 1
store i32 %t2790, ptr %t2773
br label %ifend599
ifend599:
%t2791 = load ptr, ptr %t1
%t2792 = call i32 @fn_str_eq(ptr %t2791, ptr @.str5975)
%t2793 = icmp ne i32 %t2792, 0
br i1 %t2793, label %then602, label %ifend604
then602:
store ptr @.str5976, ptr %t274
%t2794 = load ptr, ptr %t281
%t2795 = getelementptr inbounds %LSlice, ptr %t2794, i32 0, i32 1
%t2796 = getelementptr inbounds %LSlice, ptr %t2794, i32 0, i32 2
%t2797 = getelementptr inbounds %LSlice, ptr %t2794, i32 0, i32 0
%t2798 = load i32, ptr %t2795
%t2799 = load i32, ptr %t2796
%t2800 = icmp sge i32 %t2798, %t2799
br i1 %t2800, label %grow605, label %put606
grow605:
%t2801 = mul i32 %t2799, 2
%t2802 = icmp eq i32 %t2799, 0
%t2803 = select i1 %t2802, i32 8, i32 %t2801
%t2804 = getelementptr ptr, ptr null, i32 1
%t2805 = ptrtoint ptr %t2804 to i64
%t2806 = zext i32 %t2803 to i64
%t2807 = mul i64 %t2806, %t2805
%t2808 = load ptr, ptr %t2797
%t2809 = call ptr @realloc(ptr %t2808, i64 %t2807)
store ptr %t2809, ptr %t2797
store i32 %t2803, ptr %t2796
br label %put606
put606:
%t2810 = load ptr, ptr %t2797
%t2811 = getelementptr inbounds ptr, ptr %t2810, i32 %t2798
store ptr @.str5977, ptr %t2811
%t2812 = add i32 %t2798, 1
store i32 %t2812, ptr %t2795
br label %ifend604
ifend604:
%t2813 = load ptr, ptr %t1
%t2814 = call i32 @fn_str_eq(ptr %t2813, ptr @.str5978)
%t2815 = icmp ne i32 %t2814, 0
br i1 %t2815, label %then607, label %ifend609
then607:
store ptr @.str5979, ptr %t274
%t2816 = load ptr, ptr %t281
%t2817 = getelementptr inbounds %LSlice, ptr %t2816, i32 0, i32 1
%t2818 = getelementptr inbounds %LSlice, ptr %t2816, i32 0, i32 2
%t2819 = getelementptr inbounds %LSlice, ptr %t2816, i32 0, i32 0
%t2820 = load i32, ptr %t2817
%t2821 = load i32, ptr %t2818
%t2822 = icmp sge i32 %t2820, %t2821
br i1 %t2822, label %grow610, label %put611
grow610:
%t2823 = mul i32 %t2821, 2
%t2824 = icmp eq i32 %t2821, 0
%t2825 = select i1 %t2824, i32 8, i32 %t2823
%t2826 = getelementptr ptr, ptr null, i32 1
%t2827 = ptrtoint ptr %t2826 to i64
%t2828 = zext i32 %t2825 to i64
%t2829 = mul i64 %t2828, %t2827
%t2830 = load ptr, ptr %t2819
%t2831 = call ptr @realloc(ptr %t2830, i64 %t2829)
store ptr %t2831, ptr %t2819
store i32 %t2825, ptr %t2818
br label %put611
put611:
%t2832 = load ptr, ptr %t2819
%t2833 = getelementptr inbounds ptr, ptr %t2832, i32 %t2820
store ptr @.str5980, ptr %t2833
%t2834 = add i32 %t2820, 1
store i32 %t2834, ptr %t2817
%t2835 = load ptr, ptr %t281
%t2836 = getelementptr inbounds %LSlice, ptr %t2835, i32 0, i32 1
%t2837 = getelementptr inbounds %LSlice, ptr %t2835, i32 0, i32 2
%t2838 = getelementptr inbounds %LSlice, ptr %t2835, i32 0, i32 0
%t2839 = load i32, ptr %t2836
%t2840 = load i32, ptr %t2837
%t2841 = icmp sge i32 %t2839, %t2840
br i1 %t2841, label %grow612, label %put613
grow612:
%t2842 = mul i32 %t2840, 2
%t2843 = icmp eq i32 %t2840, 0
%t2844 = select i1 %t2843, i32 8, i32 %t2842
%t2845 = getelementptr ptr, ptr null, i32 1
%t2846 = ptrtoint ptr %t2845 to i64
%t2847 = zext i32 %t2844 to i64
%t2848 = mul i64 %t2847, %t2846
%t2849 = load ptr, ptr %t2838
%t2850 = call ptr @realloc(ptr %t2849, i64 %t2848)
store ptr %t2850, ptr %t2838
store i32 %t2844, ptr %t2837
br label %put613
put613:
%t2851 = load ptr, ptr %t2838
%t2852 = getelementptr inbounds ptr, ptr %t2851, i32 %t2839
store ptr @.str5981, ptr %t2852
%t2853 = add i32 %t2839, 1
store i32 %t2853, ptr %t2836
%t2854 = load ptr, ptr %t281
%t2855 = getelementptr inbounds %LSlice, ptr %t2854, i32 0, i32 1
%t2856 = getelementptr inbounds %LSlice, ptr %t2854, i32 0, i32 2
%t2857 = getelementptr inbounds %LSlice, ptr %t2854, i32 0, i32 0
%t2858 = load i32, ptr %t2855
%t2859 = load i32, ptr %t2856
%t2860 = icmp sge i32 %t2858, %t2859
br i1 %t2860, label %grow614, label %put615
grow614:
%t2861 = mul i32 %t2859, 2
%t2862 = icmp eq i32 %t2859, 0
%t2863 = select i1 %t2862, i32 8, i32 %t2861
%t2864 = getelementptr ptr, ptr null, i32 1
%t2865 = ptrtoint ptr %t2864 to i64
%t2866 = zext i32 %t2863 to i64
%t2867 = mul i64 %t2866, %t2865
%t2868 = load ptr, ptr %t2857
%t2869 = call ptr @realloc(ptr %t2868, i64 %t2867)
store ptr %t2869, ptr %t2857
store i32 %t2863, ptr %t2856
br label %put615
put615:
%t2870 = load ptr, ptr %t2857
%t2871 = getelementptr inbounds ptr, ptr %t2870, i32 %t2858
store ptr @.str5982, ptr %t2871
%t2872 = add i32 %t2858, 1
store i32 %t2872, ptr %t2855
%t2873 = load ptr, ptr %t281
%t2874 = getelementptr inbounds %LSlice, ptr %t2873, i32 0, i32 1
%t2875 = getelementptr inbounds %LSlice, ptr %t2873, i32 0, i32 2
%t2876 = getelementptr inbounds %LSlice, ptr %t2873, i32 0, i32 0
%t2877 = load i32, ptr %t2874
%t2878 = load i32, ptr %t2875
%t2879 = icmp sge i32 %t2877, %t2878
br i1 %t2879, label %grow616, label %put617
grow616:
%t2880 = mul i32 %t2878, 2
%t2881 = icmp eq i32 %t2878, 0
%t2882 = select i1 %t2881, i32 8, i32 %t2880
%t2883 = getelementptr ptr, ptr null, i32 1
%t2884 = ptrtoint ptr %t2883 to i64
%t2885 = zext i32 %t2882 to i64
%t2886 = mul i64 %t2885, %t2884
%t2887 = load ptr, ptr %t2876
%t2888 = call ptr @realloc(ptr %t2887, i64 %t2886)
store ptr %t2888, ptr %t2876
store i32 %t2882, ptr %t2875
br label %put617
put617:
%t2889 = load ptr, ptr %t2876
%t2890 = getelementptr inbounds ptr, ptr %t2889, i32 %t2877
store ptr @.str5983, ptr %t2890
%t2891 = add i32 %t2877, 1
store i32 %t2891, ptr %t2874
br label %ifend609
ifend609:
br label %ifend454
ifend454:
%t2892 = load ptr, ptr %t0
%t2893 = call i32 @fn_str_eq(ptr %t2892, ptr @.str5984)
%t2894 = icmp ne i32 %t2893, 0
br i1 %t2894, label %then618, label %ifend620
then618:
%t2895 = load ptr, ptr %t1
%t2896 = call i32 @fn_str_eq(ptr %t2895, ptr @.str5985)
%t2897 = icmp ne i32 %t2896, 0
br i1 %t2897, label %then621, label %ifend623
then621:
store ptr @.str5986, ptr %t274
%t2898 = load ptr, ptr %t281
%t2899 = getelementptr inbounds %LSlice, ptr %t2898, i32 0, i32 1
%t2900 = getelementptr inbounds %LSlice, ptr %t2898, i32 0, i32 2
%t2901 = getelementptr inbounds %LSlice, ptr %t2898, i32 0, i32 0
%t2902 = load i32, ptr %t2899
%t2903 = load i32, ptr %t2900
%t2904 = icmp sge i32 %t2902, %t2903
br i1 %t2904, label %grow624, label %put625
grow624:
%t2905 = mul i32 %t2903, 2
%t2906 = icmp eq i32 %t2903, 0
%t2907 = select i1 %t2906, i32 8, i32 %t2905
%t2908 = getelementptr ptr, ptr null, i32 1
%t2909 = ptrtoint ptr %t2908 to i64
%t2910 = zext i32 %t2907 to i64
%t2911 = mul i64 %t2910, %t2909
%t2912 = load ptr, ptr %t2901
%t2913 = call ptr @realloc(ptr %t2912, i64 %t2911)
store ptr %t2913, ptr %t2901
store i32 %t2907, ptr %t2900
br label %put625
put625:
%t2914 = load ptr, ptr %t2901
%t2915 = getelementptr inbounds ptr, ptr %t2914, i32 %t2902
store ptr @.str5987, ptr %t2915
%t2916 = add i32 %t2902, 1
store i32 %t2916, ptr %t2899
br label %ifend623
ifend623:
%t2917 = load ptr, ptr %t1
%t2918 = call i32 @fn_str_eq(ptr %t2917, ptr @.str5988)
%t2919 = icmp ne i32 %t2918, 0
br i1 %t2919, label %then626, label %ifend628
then626:
store ptr @.str5989, ptr %t274
%t2920 = load ptr, ptr %t281
%t2921 = getelementptr inbounds %LSlice, ptr %t2920, i32 0, i32 1
%t2922 = getelementptr inbounds %LSlice, ptr %t2920, i32 0, i32 2
%t2923 = getelementptr inbounds %LSlice, ptr %t2920, i32 0, i32 0
%t2924 = load i32, ptr %t2921
%t2925 = load i32, ptr %t2922
%t2926 = icmp sge i32 %t2924, %t2925
br i1 %t2926, label %grow629, label %put630
grow629:
%t2927 = mul i32 %t2925, 2
%t2928 = icmp eq i32 %t2925, 0
%t2929 = select i1 %t2928, i32 8, i32 %t2927
%t2930 = getelementptr ptr, ptr null, i32 1
%t2931 = ptrtoint ptr %t2930 to i64
%t2932 = zext i32 %t2929 to i64
%t2933 = mul i64 %t2932, %t2931
%t2934 = load ptr, ptr %t2923
%t2935 = call ptr @realloc(ptr %t2934, i64 %t2933)
store ptr %t2935, ptr %t2923
store i32 %t2929, ptr %t2922
br label %put630
put630:
%t2936 = load ptr, ptr %t2923
%t2937 = getelementptr inbounds ptr, ptr %t2936, i32 %t2924
store ptr @.str5990, ptr %t2937
%t2938 = add i32 %t2924, 1
store i32 %t2938, ptr %t2921
br label %ifend628
ifend628:
%t2939 = load ptr, ptr %t1
%t2940 = call i32 @fn_str_eq(ptr %t2939, ptr @.str5991)
%t2941 = icmp ne i32 %t2940, 0
br i1 %t2941, label %then631, label %ifend633
then631:
store ptr @.str5992, ptr %t274
%t2942 = load ptr, ptr %t281
%t2943 = getelementptr inbounds %LSlice, ptr %t2942, i32 0, i32 1
%t2944 = getelementptr inbounds %LSlice, ptr %t2942, i32 0, i32 2
%t2945 = getelementptr inbounds %LSlice, ptr %t2942, i32 0, i32 0
%t2946 = load i32, ptr %t2943
%t2947 = load i32, ptr %t2944
%t2948 = icmp sge i32 %t2946, %t2947
br i1 %t2948, label %grow634, label %put635
grow634:
%t2949 = mul i32 %t2947, 2
%t2950 = icmp eq i32 %t2947, 0
%t2951 = select i1 %t2950, i32 8, i32 %t2949
%t2952 = getelementptr ptr, ptr null, i32 1
%t2953 = ptrtoint ptr %t2952 to i64
%t2954 = zext i32 %t2951 to i64
%t2955 = mul i64 %t2954, %t2953
%t2956 = load ptr, ptr %t2945
%t2957 = call ptr @realloc(ptr %t2956, i64 %t2955)
store ptr %t2957, ptr %t2945
store i32 %t2951, ptr %t2944
br label %put635
put635:
%t2958 = load ptr, ptr %t2945
%t2959 = getelementptr inbounds ptr, ptr %t2958, i32 %t2946
store ptr @.str5993, ptr %t2959
%t2960 = add i32 %t2946, 1
store i32 %t2960, ptr %t2943
br label %ifend633
ifend633:
%t2961 = load ptr, ptr %t1
%t2962 = call i32 @fn_str_eq(ptr %t2961, ptr @.str5994)
%t2963 = icmp ne i32 %t2962, 0
br i1 %t2963, label %then636, label %ifend638
then636:
store ptr @.str5995, ptr %t274
%t2964 = load ptr, ptr %t281
%t2965 = getelementptr inbounds %LSlice, ptr %t2964, i32 0, i32 1
%t2966 = getelementptr inbounds %LSlice, ptr %t2964, i32 0, i32 2
%t2967 = getelementptr inbounds %LSlice, ptr %t2964, i32 0, i32 0
%t2968 = load i32, ptr %t2965
%t2969 = load i32, ptr %t2966
%t2970 = icmp sge i32 %t2968, %t2969
br i1 %t2970, label %grow639, label %put640
grow639:
%t2971 = mul i32 %t2969, 2
%t2972 = icmp eq i32 %t2969, 0
%t2973 = select i1 %t2972, i32 8, i32 %t2971
%t2974 = getelementptr ptr, ptr null, i32 1
%t2975 = ptrtoint ptr %t2974 to i64
%t2976 = zext i32 %t2973 to i64
%t2977 = mul i64 %t2976, %t2975
%t2978 = load ptr, ptr %t2967
%t2979 = call ptr @realloc(ptr %t2978, i64 %t2977)
store ptr %t2979, ptr %t2967
store i32 %t2973, ptr %t2966
br label %put640
put640:
%t2980 = load ptr, ptr %t2967
%t2981 = getelementptr inbounds ptr, ptr %t2980, i32 %t2968
store ptr @.str5996, ptr %t2981
%t2982 = add i32 %t2968, 1
store i32 %t2982, ptr %t2965
br label %ifend638
ifend638:
%t2983 = load ptr, ptr %t1
%t2984 = call i32 @fn_str_eq(ptr %t2983, ptr @.str5997)
%t2985 = icmp ne i32 %t2984, 0
br i1 %t2985, label %then641, label %ifend643
then641:
store ptr @.str5998, ptr %t274
%t2986 = load ptr, ptr %t281
%t2987 = getelementptr inbounds %LSlice, ptr %t2986, i32 0, i32 1
%t2988 = getelementptr inbounds %LSlice, ptr %t2986, i32 0, i32 2
%t2989 = getelementptr inbounds %LSlice, ptr %t2986, i32 0, i32 0
%t2990 = load i32, ptr %t2987
%t2991 = load i32, ptr %t2988
%t2992 = icmp sge i32 %t2990, %t2991
br i1 %t2992, label %grow644, label %put645
grow644:
%t2993 = mul i32 %t2991, 2
%t2994 = icmp eq i32 %t2991, 0
%t2995 = select i1 %t2994, i32 8, i32 %t2993
%t2996 = getelementptr ptr, ptr null, i32 1
%t2997 = ptrtoint ptr %t2996 to i64
%t2998 = zext i32 %t2995 to i64
%t2999 = mul i64 %t2998, %t2997
%t3000 = load ptr, ptr %t2989
%t3001 = call ptr @realloc(ptr %t3000, i64 %t2999)
store ptr %t3001, ptr %t2989
store i32 %t2995, ptr %t2988
br label %put645
put645:
%t3002 = load ptr, ptr %t2989
%t3003 = getelementptr inbounds ptr, ptr %t3002, i32 %t2990
store ptr @.str5999, ptr %t3003
%t3004 = add i32 %t2990, 1
store i32 %t3004, ptr %t2987
br label %ifend643
ifend643:
%t3005 = load ptr, ptr %t1
%t3006 = call i32 @fn_str_eq(ptr %t3005, ptr @.str6000)
%t3007 = icmp ne i32 %t3006, 0
br i1 %t3007, label %then646, label %ifend648
then646:
store ptr @.str6001, ptr %t274
br label %ifend648
ifend648:
%t3008 = load ptr, ptr %t1
%t3009 = call i32 @fn_str_eq(ptr %t3008, ptr @.str6002)
%t3010 = icmp ne i32 %t3009, 0
br i1 %t3010, label %then649, label %ifend651
then649:
store ptr @.str6003, ptr %t274
br label %ifend651
ifend651:
%t3011 = load ptr, ptr %t1
%t3012 = call i32 @fn_str_eq(ptr %t3011, ptr @.str6004)
%t3013 = icmp ne i32 %t3012, 0
br i1 %t3013, label %then652, label %ifend654
then652:
store ptr @.str6005, ptr %t274
%t3014 = load ptr, ptr %t281
%t3015 = getelementptr inbounds %LSlice, ptr %t3014, i32 0, i32 1
%t3016 = getelementptr inbounds %LSlice, ptr %t3014, i32 0, i32 2
%t3017 = getelementptr inbounds %LSlice, ptr %t3014, i32 0, i32 0
%t3018 = load i32, ptr %t3015
%t3019 = load i32, ptr %t3016
%t3020 = icmp sge i32 %t3018, %t3019
br i1 %t3020, label %grow655, label %put656
grow655:
%t3021 = mul i32 %t3019, 2
%t3022 = icmp eq i32 %t3019, 0
%t3023 = select i1 %t3022, i32 8, i32 %t3021
%t3024 = getelementptr ptr, ptr null, i32 1
%t3025 = ptrtoint ptr %t3024 to i64
%t3026 = zext i32 %t3023 to i64
%t3027 = mul i64 %t3026, %t3025
%t3028 = load ptr, ptr %t3017
%t3029 = call ptr @realloc(ptr %t3028, i64 %t3027)
store ptr %t3029, ptr %t3017
store i32 %t3023, ptr %t3016
br label %put656
put656:
%t3030 = load ptr, ptr %t3017
%t3031 = getelementptr inbounds ptr, ptr %t3030, i32 %t3018
store ptr @.str6006, ptr %t3031
%t3032 = add i32 %t3018, 1
store i32 %t3032, ptr %t3015
br label %ifend654
ifend654:
%t3033 = load ptr, ptr %t1
%t3034 = call i32 @fn_str_eq(ptr %t3033, ptr @.str6007)
%t3035 = icmp ne i32 %t3034, 0
br i1 %t3035, label %then657, label %ifend659
then657:
store ptr @.str6008, ptr %t274
%t3036 = load ptr, ptr %t281
%t3037 = getelementptr inbounds %LSlice, ptr %t3036, i32 0, i32 1
%t3038 = getelementptr inbounds %LSlice, ptr %t3036, i32 0, i32 2
%t3039 = getelementptr inbounds %LSlice, ptr %t3036, i32 0, i32 0
%t3040 = load i32, ptr %t3037
%t3041 = load i32, ptr %t3038
%t3042 = icmp sge i32 %t3040, %t3041
br i1 %t3042, label %grow660, label %put661
grow660:
%t3043 = mul i32 %t3041, 2
%t3044 = icmp eq i32 %t3041, 0
%t3045 = select i1 %t3044, i32 8, i32 %t3043
%t3046 = getelementptr ptr, ptr null, i32 1
%t3047 = ptrtoint ptr %t3046 to i64
%t3048 = zext i32 %t3045 to i64
%t3049 = mul i64 %t3048, %t3047
%t3050 = load ptr, ptr %t3039
%t3051 = call ptr @realloc(ptr %t3050, i64 %t3049)
store ptr %t3051, ptr %t3039
store i32 %t3045, ptr %t3038
br label %put661
put661:
%t3052 = load ptr, ptr %t3039
%t3053 = getelementptr inbounds ptr, ptr %t3052, i32 %t3040
store ptr @.str6009, ptr %t3053
%t3054 = add i32 %t3040, 1
store i32 %t3054, ptr %t3037
br label %ifend659
ifend659:
%t3055 = load ptr, ptr %t1
%t3056 = call i32 @fn_str_eq(ptr %t3055, ptr @.str6010)
%t3057 = icmp ne i32 %t3056, 0
br i1 %t3057, label %then662, label %ifend664
then662:
store ptr @.str6011, ptr %t274
%t3058 = load ptr, ptr %t281
%t3059 = getelementptr inbounds %LSlice, ptr %t3058, i32 0, i32 1
%t3060 = getelementptr inbounds %LSlice, ptr %t3058, i32 0, i32 2
%t3061 = getelementptr inbounds %LSlice, ptr %t3058, i32 0, i32 0
%t3062 = load i32, ptr %t3059
%t3063 = load i32, ptr %t3060
%t3064 = icmp sge i32 %t3062, %t3063
br i1 %t3064, label %grow665, label %put666
grow665:
%t3065 = mul i32 %t3063, 2
%t3066 = icmp eq i32 %t3063, 0
%t3067 = select i1 %t3066, i32 8, i32 %t3065
%t3068 = getelementptr ptr, ptr null, i32 1
%t3069 = ptrtoint ptr %t3068 to i64
%t3070 = zext i32 %t3067 to i64
%t3071 = mul i64 %t3070, %t3069
%t3072 = load ptr, ptr %t3061
%t3073 = call ptr @realloc(ptr %t3072, i64 %t3071)
store ptr %t3073, ptr %t3061
store i32 %t3067, ptr %t3060
br label %put666
put666:
%t3074 = load ptr, ptr %t3061
%t3075 = getelementptr inbounds ptr, ptr %t3074, i32 %t3062
store ptr @.str6012, ptr %t3075
%t3076 = add i32 %t3062, 1
store i32 %t3076, ptr %t3059
br label %ifend664
ifend664:
br label %ifend620
ifend620:
%t3077 = load ptr, ptr %t0
%t3078 = call i32 @fn_str_eq(ptr %t3077, ptr @.str6013)
%t3079 = icmp ne i32 %t3078, 0
br i1 %t3079, label %then667, label %ifend669
then667:
%t3080 = load ptr, ptr %t1
%t3081 = call i32 @fn_str_eq(ptr %t3080, ptr @.str6014)
%t3082 = icmp ne i32 %t3081, 0
br i1 %t3082, label %then670, label %ifend672
then670:
store ptr @.str6015, ptr %t274
br label %ifend672
ifend672:
%t3083 = load ptr, ptr %t1
%t3084 = call i32 @fn_str_eq(ptr %t3083, ptr @.str6016)
%t3085 = icmp ne i32 %t3084, 0
br i1 %t3085, label %then673, label %ifend675
then673:
store ptr @.str6017, ptr %t274
br label %ifend675
ifend675:
%t3086 = load ptr, ptr %t1
%t3087 = call i32 @fn_str_eq(ptr %t3086, ptr @.str6018)
%t3088 = icmp ne i32 %t3087, 0
br i1 %t3088, label %then676, label %ifend678
then676:
store ptr @.str6019, ptr %t274
br label %ifend678
ifend678:
%t3089 = load ptr, ptr %t1
%t3090 = call i32 @fn_str_eq(ptr %t3089, ptr @.str6020)
%t3091 = icmp ne i32 %t3090, 0
br i1 %t3091, label %then679, label %ifend681
then679:
store ptr @.str6021, ptr %t274
br label %ifend681
ifend681:
%t3092 = load ptr, ptr %t1
%t3093 = call i32 @fn_str_eq(ptr %t3092, ptr @.str6022)
%t3094 = icmp ne i32 %t3093, 0
br i1 %t3094, label %then682, label %ifend684
then682:
store ptr @.str6023, ptr %t274
br label %ifend684
ifend684:
%t3095 = load ptr, ptr %t1
%t3096 = call i32 @fn_str_eq(ptr %t3095, ptr @.str6024)
%t3097 = icmp ne i32 %t3096, 0
br i1 %t3097, label %then685, label %ifend687
then685:
store ptr @.str6025, ptr %t274
br label %ifend687
ifend687:
%t3098 = load ptr, ptr %t1
%t3099 = call i32 @fn_str_eq(ptr %t3098, ptr @.str6026)
%t3100 = icmp ne i32 %t3099, 0
br i1 %t3100, label %then688, label %ifend690
then688:
store ptr @.str6027, ptr %t274
br label %ifend690
ifend690:
%t3101 = load ptr, ptr %t1
%t3102 = call i32 @fn_str_eq(ptr %t3101, ptr @.str6028)
%t3103 = icmp ne i32 %t3102, 0
br i1 %t3103, label %then691, label %ifend693
then691:
store ptr @.str6029, ptr %t274
br label %ifend693
ifend693:
%t3104 = load ptr, ptr %t1
%t3105 = call i32 @fn_str_eq(ptr %t3104, ptr @.str6030)
%t3106 = icmp ne i32 %t3105, 0
br i1 %t3106, label %then694, label %ifend696
then694:
store ptr @.str6031, ptr %t274
br label %ifend696
ifend696:
%t3107 = load ptr, ptr %t1
%t3108 = call i32 @fn_str_eq(ptr %t3107, ptr @.str6032)
%t3109 = icmp ne i32 %t3108, 0
br i1 %t3109, label %then697, label %ifend699
then697:
store ptr @.str6033, ptr %t274
br label %ifend699
ifend699:
%t3110 = load ptr, ptr %t1
%t3111 = call i32 @fn_str_eq(ptr %t3110, ptr @.str6034)
%t3112 = icmp ne i32 %t3111, 0
br i1 %t3112, label %then700, label %ifend702
then700:
store ptr @.str6035, ptr %t274
br label %ifend702
ifend702:
%t3113 = load ptr, ptr %t1
%t3114 = call i32 @fn_str_eq(ptr %t3113, ptr @.str6036)
%t3115 = icmp ne i32 %t3114, 0
br i1 %t3115, label %then703, label %ifend705
then703:
store ptr @.str6037, ptr %t274
br label %ifend705
ifend705:
%t3116 = load ptr, ptr %t1
%t3117 = call i32 @fn_str_eq(ptr %t3116, ptr @.str6038)
%t3118 = icmp ne i32 %t3117, 0
br i1 %t3118, label %then706, label %ifend708
then706:
store ptr @.str6039, ptr %t274
br label %ifend708
ifend708:
%t3119 = load ptr, ptr %t1
%t3120 = call i32 @fn_str_eq(ptr %t3119, ptr @.str6040)
%t3121 = icmp ne i32 %t3120, 0
br i1 %t3121, label %then709, label %ifend711
then709:
store ptr @.str6041, ptr %t274
br label %ifend711
ifend711:
%t3122 = load ptr, ptr %t1
%t3123 = call i32 @fn_str_eq(ptr %t3122, ptr @.str6042)
%t3124 = icmp ne i32 %t3123, 0
br i1 %t3124, label %then712, label %ifend714
then712:
store ptr @.str6043, ptr %t274
br label %ifend714
ifend714:
%t3125 = load ptr, ptr %t1
%t3126 = call i32 @fn_str_eq(ptr %t3125, ptr @.str6044)
%t3127 = icmp ne i32 %t3126, 0
br i1 %t3127, label %then715, label %ifend717
then715:
store ptr @.str6045, ptr %t274
br label %ifend717
ifend717:
br label %ifend669
ifend669:
%t3128 = load ptr, ptr %t0
%t3129 = call i32 @fn_str_eq(ptr %t3128, ptr @.str6046)
%t3130 = icmp ne i32 %t3129, 0
br i1 %t3130, label %then718, label %ifend720
then718:
%t3131 = load ptr, ptr %t1
%t3132 = call i32 @fn_str_eq(ptr %t3131, ptr @.str6047)
%t3133 = icmp ne i32 %t3132, 0
br i1 %t3133, label %then721, label %ifend723
then721:
store ptr @.str6048, ptr %t274
br label %ifend723
ifend723:
%t3134 = load ptr, ptr %t1
%t3135 = call i32 @fn_str_eq(ptr %t3134, ptr @.str6049)
%t3136 = icmp ne i32 %t3135, 0
br i1 %t3136, label %then724, label %ifend726
then724:
store ptr @.str6050, ptr %t274
br label %ifend726
ifend726:
%t3137 = load ptr, ptr %t1
%t3138 = call i32 @fn_str_eq(ptr %t3137, ptr @.str6051)
%t3139 = icmp ne i32 %t3138, 0
br i1 %t3139, label %then727, label %ifend729
then727:
store ptr @.str6052, ptr %t274
br label %ifend729
ifend729:
%t3140 = load ptr, ptr %t1
%t3141 = call i32 @fn_str_eq(ptr %t3140, ptr @.str6053)
%t3142 = icmp ne i32 %t3141, 0
br i1 %t3142, label %then730, label %ifend732
then730:
store ptr @.str6054, ptr %t274
br label %ifend732
ifend732:
%t3143 = load ptr, ptr %t1
%t3144 = call i32 @fn_str_eq(ptr %t3143, ptr @.str6055)
%t3145 = icmp ne i32 %t3144, 0
br i1 %t3145, label %then733, label %ifend735
then733:
store ptr @.str6056, ptr %t274
br label %ifend735
ifend735:
%t3146 = load ptr, ptr %t1
%t3147 = call i32 @fn_str_eq(ptr %t3146, ptr @.str6057)
%t3148 = icmp ne i32 %t3147, 0
br i1 %t3148, label %then736, label %ifend738
then736:
store ptr @.str6058, ptr %t274
br label %ifend738
ifend738:
%t3149 = load ptr, ptr %t1
%t3150 = call i32 @fn_str_eq(ptr %t3149, ptr @.str6059)
%t3151 = icmp ne i32 %t3150, 0
br i1 %t3151, label %then739, label %ifend741
then739:
store ptr @.str6060, ptr %t274
br label %ifend741
ifend741:
%t3152 = load ptr, ptr %t1
%t3153 = call i32 @fn_str_eq(ptr %t3152, ptr @.str6061)
%t3154 = icmp ne i32 %t3153, 0
br i1 %t3154, label %then742, label %ifend744
then742:
store ptr @.str6062, ptr %t274
br label %ifend744
ifend744:
%t3155 = load ptr, ptr %t1
%t3156 = call i32 @fn_str_eq(ptr %t3155, ptr @.str6063)
%t3157 = icmp ne i32 %t3156, 0
br i1 %t3157, label %then745, label %ifend747
then745:
store ptr @.str6064, ptr %t274
br label %ifend747
ifend747:
br label %ifend720
ifend720:
%t3158 = load ptr, ptr %t0
%t3159 = call i32 @fn_str_eq(ptr %t3158, ptr @.str6065)
%t3160 = icmp ne i32 %t3159, 0
br i1 %t3160, label %then748, label %ifend750
then748:
%t3161 = load ptr, ptr %t1
%t3162 = call i32 @fn_str_eq(ptr %t3161, ptr @.str6066)
%t3163 = icmp ne i32 %t3162, 0
br i1 %t3163, label %then751, label %ifend753
then751:
store ptr @.str6067, ptr %t274
br label %ifend753
ifend753:
%t3164 = load ptr, ptr %t1
%t3165 = call i32 @fn_str_eq(ptr %t3164, ptr @.str6068)
%t3166 = icmp ne i32 %t3165, 0
br i1 %t3166, label %then754, label %ifend756
then754:
store ptr @.str6069, ptr %t274
br label %ifend756
ifend756:
%t3167 = load ptr, ptr %t1
%t3168 = call i32 @fn_str_eq(ptr %t3167, ptr @.str6070)
%t3169 = icmp ne i32 %t3168, 0
br i1 %t3169, label %then757, label %ifend759
then757:
store ptr @.str6071, ptr %t274
br label %ifend759
ifend759:
%t3170 = load ptr, ptr %t1
%t3171 = call i32 @fn_str_eq(ptr %t3170, ptr @.str6072)
%t3172 = icmp ne i32 %t3171, 0
br i1 %t3172, label %then760, label %ifend762
then760:
store ptr @.str6073, ptr %t274
br label %ifend762
ifend762:
%t3173 = load ptr, ptr %t1
%t3174 = call i32 @fn_str_eq(ptr %t3173, ptr @.str6074)
%t3175 = icmp ne i32 %t3174, 0
br i1 %t3175, label %then763, label %ifend765
then763:
store ptr @.str6075, ptr %t274
br label %ifend765
ifend765:
%t3176 = load ptr, ptr %t1
%t3177 = call i32 @fn_str_eq(ptr %t3176, ptr @.str6076)
%t3178 = icmp ne i32 %t3177, 0
br i1 %t3178, label %then766, label %ifend768
then766:
store ptr @.str6077, ptr %t274
br label %ifend768
ifend768:
%t3179 = load ptr, ptr %t1
%t3180 = call i32 @fn_str_eq(ptr %t3179, ptr @.str6078)
%t3181 = icmp ne i32 %t3180, 0
br i1 %t3181, label %then769, label %ifend771
then769:
store ptr @.str6079, ptr %t274
br label %ifend771
ifend771:
%t3182 = load ptr, ptr %t1
%t3183 = call i32 @fn_str_eq(ptr %t3182, ptr @.str6080)
%t3184 = icmp ne i32 %t3183, 0
br i1 %t3184, label %then772, label %ifend774
then772:
store ptr @.str6081, ptr %t274
br label %ifend774
ifend774:
br label %ifend750
ifend750:
%t3185 = load ptr, ptr %t0
%t3186 = call i32 @fn_str_eq(ptr %t3185, ptr @.str6082)
%t3187 = icmp ne i32 %t3186, 0
br i1 %t3187, label %then775, label %ifend777
then775:
%t3188 = load ptr, ptr %t1
%t3189 = call i32 @fn_str_eq(ptr %t3188, ptr @.str6083)
%t3190 = icmp ne i32 %t3189, 0
br i1 %t3190, label %then778, label %ifend780
then778:
store ptr @.str6084, ptr %t274
br label %ifend780
ifend780:
%t3191 = load ptr, ptr %t1
%t3192 = call i32 @fn_str_eq(ptr %t3191, ptr @.str6085)
%t3193 = icmp ne i32 %t3192, 0
br i1 %t3193, label %then781, label %ifend783
then781:
store ptr @.str6086, ptr %t274
br label %ifend783
ifend783:
br label %ifend777
ifend777:
%t3194 = load ptr, ptr %t0
%t3195 = call i32 @fn_str_eq(ptr %t3194, ptr @.str6087)
%t3196 = icmp ne i32 %t3195, 0
br i1 %t3196, label %then784, label %ifend786
then784:
%t3197 = load ptr, ptr %t1
%t3198 = call i32 @fn_str_eq(ptr %t3197, ptr @.str6088)
%t3199 = icmp ne i32 %t3198, 0
br i1 %t3199, label %then787, label %ifend789
then787:
store ptr @.str6089, ptr %t274
%t3200 = load ptr, ptr %t281
%t3201 = getelementptr inbounds %LSlice, ptr %t3200, i32 0, i32 1
%t3202 = getelementptr inbounds %LSlice, ptr %t3200, i32 0, i32 2
%t3203 = getelementptr inbounds %LSlice, ptr %t3200, i32 0, i32 0
%t3204 = load i32, ptr %t3201
%t3205 = load i32, ptr %t3202
%t3206 = icmp sge i32 %t3204, %t3205
br i1 %t3206, label %grow790, label %put791
grow790:
%t3207 = mul i32 %t3205, 2
%t3208 = icmp eq i32 %t3205, 0
%t3209 = select i1 %t3208, i32 8, i32 %t3207
%t3210 = getelementptr ptr, ptr null, i32 1
%t3211 = ptrtoint ptr %t3210 to i64
%t3212 = zext i32 %t3209 to i64
%t3213 = mul i64 %t3212, %t3211
%t3214 = load ptr, ptr %t3203
%t3215 = call ptr @realloc(ptr %t3214, i64 %t3213)
store ptr %t3215, ptr %t3203
store i32 %t3209, ptr %t3202
br label %put791
put791:
%t3216 = load ptr, ptr %t3203
%t3217 = getelementptr inbounds ptr, ptr %t3216, i32 %t3204
store ptr @.str6090, ptr %t3217
%t3218 = add i32 %t3204, 1
store i32 %t3218, ptr %t3201
br label %ifend789
ifend789:
%t3219 = load ptr, ptr %t1
%t3220 = call i32 @fn_str_eq(ptr %t3219, ptr @.str6091)
%t3221 = icmp ne i32 %t3220, 0
br i1 %t3221, label %then792, label %ifend794
then792:
store ptr @.str6092, ptr %t274
%t3222 = load ptr, ptr %t281
%t3223 = getelementptr inbounds %LSlice, ptr %t3222, i32 0, i32 1
%t3224 = getelementptr inbounds %LSlice, ptr %t3222, i32 0, i32 2
%t3225 = getelementptr inbounds %LSlice, ptr %t3222, i32 0, i32 0
%t3226 = load i32, ptr %t3223
%t3227 = load i32, ptr %t3224
%t3228 = icmp sge i32 %t3226, %t3227
br i1 %t3228, label %grow795, label %put796
grow795:
%t3229 = mul i32 %t3227, 2
%t3230 = icmp eq i32 %t3227, 0
%t3231 = select i1 %t3230, i32 8, i32 %t3229
%t3232 = getelementptr ptr, ptr null, i32 1
%t3233 = ptrtoint ptr %t3232 to i64
%t3234 = zext i32 %t3231 to i64
%t3235 = mul i64 %t3234, %t3233
%t3236 = load ptr, ptr %t3225
%t3237 = call ptr @realloc(ptr %t3236, i64 %t3235)
store ptr %t3237, ptr %t3225
store i32 %t3231, ptr %t3224
br label %put796
put796:
%t3238 = load ptr, ptr %t3225
%t3239 = getelementptr inbounds ptr, ptr %t3238, i32 %t3226
store ptr @.str6093, ptr %t3239
%t3240 = add i32 %t3226, 1
store i32 %t3240, ptr %t3223
br label %ifend794
ifend794:
%t3241 = load ptr, ptr %t1
%t3242 = call i32 @fn_str_eq(ptr %t3241, ptr @.str6094)
%t3243 = icmp ne i32 %t3242, 0
br i1 %t3243, label %then797, label %ifend799
then797:
store ptr @.str6095, ptr %t274
%t3244 = load ptr, ptr %t281
%t3245 = getelementptr inbounds %LSlice, ptr %t3244, i32 0, i32 1
%t3246 = getelementptr inbounds %LSlice, ptr %t3244, i32 0, i32 2
%t3247 = getelementptr inbounds %LSlice, ptr %t3244, i32 0, i32 0
%t3248 = load i32, ptr %t3245
%t3249 = load i32, ptr %t3246
%t3250 = icmp sge i32 %t3248, %t3249
br i1 %t3250, label %grow800, label %put801
grow800:
%t3251 = mul i32 %t3249, 2
%t3252 = icmp eq i32 %t3249, 0
%t3253 = select i1 %t3252, i32 8, i32 %t3251
%t3254 = getelementptr ptr, ptr null, i32 1
%t3255 = ptrtoint ptr %t3254 to i64
%t3256 = zext i32 %t3253 to i64
%t3257 = mul i64 %t3256, %t3255
%t3258 = load ptr, ptr %t3247
%t3259 = call ptr @realloc(ptr %t3258, i64 %t3257)
store ptr %t3259, ptr %t3247
store i32 %t3253, ptr %t3246
br label %put801
put801:
%t3260 = load ptr, ptr %t3247
%t3261 = getelementptr inbounds ptr, ptr %t3260, i32 %t3248
store ptr @.str6096, ptr %t3261
%t3262 = add i32 %t3248, 1
store i32 %t3262, ptr %t3245
%t3263 = load ptr, ptr %t281
%t3264 = getelementptr inbounds %LSlice, ptr %t3263, i32 0, i32 1
%t3265 = getelementptr inbounds %LSlice, ptr %t3263, i32 0, i32 2
%t3266 = getelementptr inbounds %LSlice, ptr %t3263, i32 0, i32 0
%t3267 = load i32, ptr %t3264
%t3268 = load i32, ptr %t3265
%t3269 = icmp sge i32 %t3267, %t3268
br i1 %t3269, label %grow802, label %put803
grow802:
%t3270 = mul i32 %t3268, 2
%t3271 = icmp eq i32 %t3268, 0
%t3272 = select i1 %t3271, i32 8, i32 %t3270
%t3273 = getelementptr ptr, ptr null, i32 1
%t3274 = ptrtoint ptr %t3273 to i64
%t3275 = zext i32 %t3272 to i64
%t3276 = mul i64 %t3275, %t3274
%t3277 = load ptr, ptr %t3266
%t3278 = call ptr @realloc(ptr %t3277, i64 %t3276)
store ptr %t3278, ptr %t3266
store i32 %t3272, ptr %t3265
br label %put803
put803:
%t3279 = load ptr, ptr %t3266
%t3280 = getelementptr inbounds ptr, ptr %t3279, i32 %t3267
store ptr @.str6097, ptr %t3280
%t3281 = add i32 %t3267, 1
store i32 %t3281, ptr %t3264
br label %ifend799
ifend799:
%t3282 = load ptr, ptr %t1
%t3283 = call i32 @fn_str_eq(ptr %t3282, ptr @.str6098)
%t3284 = icmp ne i32 %t3283, 0
br i1 %t3284, label %then804, label %ifend806
then804:
store ptr @.str6099, ptr %t274
%t3285 = load ptr, ptr %t281
%t3286 = getelementptr inbounds %LSlice, ptr %t3285, i32 0, i32 1
%t3287 = getelementptr inbounds %LSlice, ptr %t3285, i32 0, i32 2
%t3288 = getelementptr inbounds %LSlice, ptr %t3285, i32 0, i32 0
%t3289 = load i32, ptr %t3286
%t3290 = load i32, ptr %t3287
%t3291 = icmp sge i32 %t3289, %t3290
br i1 %t3291, label %grow807, label %put808
grow807:
%t3292 = mul i32 %t3290, 2
%t3293 = icmp eq i32 %t3290, 0
%t3294 = select i1 %t3293, i32 8, i32 %t3292
%t3295 = getelementptr ptr, ptr null, i32 1
%t3296 = ptrtoint ptr %t3295 to i64
%t3297 = zext i32 %t3294 to i64
%t3298 = mul i64 %t3297, %t3296
%t3299 = load ptr, ptr %t3288
%t3300 = call ptr @realloc(ptr %t3299, i64 %t3298)
store ptr %t3300, ptr %t3288
store i32 %t3294, ptr %t3287
br label %put808
put808:
%t3301 = load ptr, ptr %t3288
%t3302 = getelementptr inbounds ptr, ptr %t3301, i32 %t3289
store ptr @.str6100, ptr %t3302
%t3303 = add i32 %t3289, 1
store i32 %t3303, ptr %t3286
%t3304 = load ptr, ptr %t281
%t3305 = getelementptr inbounds %LSlice, ptr %t3304, i32 0, i32 1
%t3306 = getelementptr inbounds %LSlice, ptr %t3304, i32 0, i32 2
%t3307 = getelementptr inbounds %LSlice, ptr %t3304, i32 0, i32 0
%t3308 = load i32, ptr %t3305
%t3309 = load i32, ptr %t3306
%t3310 = icmp sge i32 %t3308, %t3309
br i1 %t3310, label %grow809, label %put810
grow809:
%t3311 = mul i32 %t3309, 2
%t3312 = icmp eq i32 %t3309, 0
%t3313 = select i1 %t3312, i32 8, i32 %t3311
%t3314 = getelementptr ptr, ptr null, i32 1
%t3315 = ptrtoint ptr %t3314 to i64
%t3316 = zext i32 %t3313 to i64
%t3317 = mul i64 %t3316, %t3315
%t3318 = load ptr, ptr %t3307
%t3319 = call ptr @realloc(ptr %t3318, i64 %t3317)
store ptr %t3319, ptr %t3307
store i32 %t3313, ptr %t3306
br label %put810
put810:
%t3320 = load ptr, ptr %t3307
%t3321 = getelementptr inbounds ptr, ptr %t3320, i32 %t3308
store ptr @.str6101, ptr %t3321
%t3322 = add i32 %t3308, 1
store i32 %t3322, ptr %t3305
br label %ifend806
ifend806:
%t3323 = load ptr, ptr %t1
%t3324 = call i32 @fn_str_eq(ptr %t3323, ptr @.str6102)
%t3325 = icmp ne i32 %t3324, 0
br i1 %t3325, label %then811, label %ifend813
then811:
store ptr @.str6103, ptr %t274
%t3326 = load ptr, ptr %t281
%t3327 = getelementptr inbounds %LSlice, ptr %t3326, i32 0, i32 1
%t3328 = getelementptr inbounds %LSlice, ptr %t3326, i32 0, i32 2
%t3329 = getelementptr inbounds %LSlice, ptr %t3326, i32 0, i32 0
%t3330 = load i32, ptr %t3327
%t3331 = load i32, ptr %t3328
%t3332 = icmp sge i32 %t3330, %t3331
br i1 %t3332, label %grow814, label %put815
grow814:
%t3333 = mul i32 %t3331, 2
%t3334 = icmp eq i32 %t3331, 0
%t3335 = select i1 %t3334, i32 8, i32 %t3333
%t3336 = getelementptr ptr, ptr null, i32 1
%t3337 = ptrtoint ptr %t3336 to i64
%t3338 = zext i32 %t3335 to i64
%t3339 = mul i64 %t3338, %t3337
%t3340 = load ptr, ptr %t3329
%t3341 = call ptr @realloc(ptr %t3340, i64 %t3339)
store ptr %t3341, ptr %t3329
store i32 %t3335, ptr %t3328
br label %put815
put815:
%t3342 = load ptr, ptr %t3329
%t3343 = getelementptr inbounds ptr, ptr %t3342, i32 %t3330
store ptr @.str6104, ptr %t3343
%t3344 = add i32 %t3330, 1
store i32 %t3344, ptr %t3327
%t3345 = load ptr, ptr %t281
%t3346 = getelementptr inbounds %LSlice, ptr %t3345, i32 0, i32 1
%t3347 = getelementptr inbounds %LSlice, ptr %t3345, i32 0, i32 2
%t3348 = getelementptr inbounds %LSlice, ptr %t3345, i32 0, i32 0
%t3349 = load i32, ptr %t3346
%t3350 = load i32, ptr %t3347
%t3351 = icmp sge i32 %t3349, %t3350
br i1 %t3351, label %grow816, label %put817
grow816:
%t3352 = mul i32 %t3350, 2
%t3353 = icmp eq i32 %t3350, 0
%t3354 = select i1 %t3353, i32 8, i32 %t3352
%t3355 = getelementptr ptr, ptr null, i32 1
%t3356 = ptrtoint ptr %t3355 to i64
%t3357 = zext i32 %t3354 to i64
%t3358 = mul i64 %t3357, %t3356
%t3359 = load ptr, ptr %t3348
%t3360 = call ptr @realloc(ptr %t3359, i64 %t3358)
store ptr %t3360, ptr %t3348
store i32 %t3354, ptr %t3347
br label %put817
put817:
%t3361 = load ptr, ptr %t3348
%t3362 = getelementptr inbounds ptr, ptr %t3361, i32 %t3349
store ptr @.str6105, ptr %t3362
%t3363 = add i32 %t3349, 1
store i32 %t3363, ptr %t3346
br label %ifend813
ifend813:
%t3364 = load ptr, ptr %t1
%t3365 = call i32 @fn_str_eq(ptr %t3364, ptr @.str6106)
%t3366 = icmp ne i32 %t3365, 0
br i1 %t3366, label %then818, label %ifend820
then818:
store ptr @.str6107, ptr %t274
%t3367 = load ptr, ptr %t281
%t3368 = getelementptr inbounds %LSlice, ptr %t3367, i32 0, i32 1
%t3369 = getelementptr inbounds %LSlice, ptr %t3367, i32 0, i32 2
%t3370 = getelementptr inbounds %LSlice, ptr %t3367, i32 0, i32 0
%t3371 = load i32, ptr %t3368
%t3372 = load i32, ptr %t3369
%t3373 = icmp sge i32 %t3371, %t3372
br i1 %t3373, label %grow821, label %put822
grow821:
%t3374 = mul i32 %t3372, 2
%t3375 = icmp eq i32 %t3372, 0
%t3376 = select i1 %t3375, i32 8, i32 %t3374
%t3377 = getelementptr ptr, ptr null, i32 1
%t3378 = ptrtoint ptr %t3377 to i64
%t3379 = zext i32 %t3376 to i64
%t3380 = mul i64 %t3379, %t3378
%t3381 = load ptr, ptr %t3370
%t3382 = call ptr @realloc(ptr %t3381, i64 %t3380)
store ptr %t3382, ptr %t3370
store i32 %t3376, ptr %t3369
br label %put822
put822:
%t3383 = load ptr, ptr %t3370
%t3384 = getelementptr inbounds ptr, ptr %t3383, i32 %t3371
store ptr @.str6108, ptr %t3384
%t3385 = add i32 %t3371, 1
store i32 %t3385, ptr %t3368
%t3386 = load ptr, ptr %t281
%t3387 = getelementptr inbounds %LSlice, ptr %t3386, i32 0, i32 1
%t3388 = getelementptr inbounds %LSlice, ptr %t3386, i32 0, i32 2
%t3389 = getelementptr inbounds %LSlice, ptr %t3386, i32 0, i32 0
%t3390 = load i32, ptr %t3387
%t3391 = load i32, ptr %t3388
%t3392 = icmp sge i32 %t3390, %t3391
br i1 %t3392, label %grow823, label %put824
grow823:
%t3393 = mul i32 %t3391, 2
%t3394 = icmp eq i32 %t3391, 0
%t3395 = select i1 %t3394, i32 8, i32 %t3393
%t3396 = getelementptr ptr, ptr null, i32 1
%t3397 = ptrtoint ptr %t3396 to i64
%t3398 = zext i32 %t3395 to i64
%t3399 = mul i64 %t3398, %t3397
%t3400 = load ptr, ptr %t3389
%t3401 = call ptr @realloc(ptr %t3400, i64 %t3399)
store ptr %t3401, ptr %t3389
store i32 %t3395, ptr %t3388
br label %put824
put824:
%t3402 = load ptr, ptr %t3389
%t3403 = getelementptr inbounds ptr, ptr %t3402, i32 %t3390
store ptr @.str6109, ptr %t3403
%t3404 = add i32 %t3390, 1
store i32 %t3404, ptr %t3387
br label %ifend820
ifend820:
%t3405 = load ptr, ptr %t1
%t3406 = call i32 @fn_str_eq(ptr %t3405, ptr @.str6110)
%t3407 = icmp ne i32 %t3406, 0
br i1 %t3407, label %then825, label %ifend827
then825:
store ptr @.str6111, ptr %t274
%t3408 = load ptr, ptr %t281
%t3409 = getelementptr inbounds %LSlice, ptr %t3408, i32 0, i32 1
%t3410 = getelementptr inbounds %LSlice, ptr %t3408, i32 0, i32 2
%t3411 = getelementptr inbounds %LSlice, ptr %t3408, i32 0, i32 0
%t3412 = load i32, ptr %t3409
%t3413 = load i32, ptr %t3410
%t3414 = icmp sge i32 %t3412, %t3413
br i1 %t3414, label %grow828, label %put829
grow828:
%t3415 = mul i32 %t3413, 2
%t3416 = icmp eq i32 %t3413, 0
%t3417 = select i1 %t3416, i32 8, i32 %t3415
%t3418 = getelementptr ptr, ptr null, i32 1
%t3419 = ptrtoint ptr %t3418 to i64
%t3420 = zext i32 %t3417 to i64
%t3421 = mul i64 %t3420, %t3419
%t3422 = load ptr, ptr %t3411
%t3423 = call ptr @realloc(ptr %t3422, i64 %t3421)
store ptr %t3423, ptr %t3411
store i32 %t3417, ptr %t3410
br label %put829
put829:
%t3424 = load ptr, ptr %t3411
%t3425 = getelementptr inbounds ptr, ptr %t3424, i32 %t3412
store ptr @.str6112, ptr %t3425
%t3426 = add i32 %t3412, 1
store i32 %t3426, ptr %t3409
%t3427 = load ptr, ptr %t281
%t3428 = getelementptr inbounds %LSlice, ptr %t3427, i32 0, i32 1
%t3429 = getelementptr inbounds %LSlice, ptr %t3427, i32 0, i32 2
%t3430 = getelementptr inbounds %LSlice, ptr %t3427, i32 0, i32 0
%t3431 = load i32, ptr %t3428
%t3432 = load i32, ptr %t3429
%t3433 = icmp sge i32 %t3431, %t3432
br i1 %t3433, label %grow830, label %put831
grow830:
%t3434 = mul i32 %t3432, 2
%t3435 = icmp eq i32 %t3432, 0
%t3436 = select i1 %t3435, i32 8, i32 %t3434
%t3437 = getelementptr ptr, ptr null, i32 1
%t3438 = ptrtoint ptr %t3437 to i64
%t3439 = zext i32 %t3436 to i64
%t3440 = mul i64 %t3439, %t3438
%t3441 = load ptr, ptr %t3430
%t3442 = call ptr @realloc(ptr %t3441, i64 %t3440)
store ptr %t3442, ptr %t3430
store i32 %t3436, ptr %t3429
br label %put831
put831:
%t3443 = load ptr, ptr %t3430
%t3444 = getelementptr inbounds ptr, ptr %t3443, i32 %t3431
store ptr @.str6113, ptr %t3444
%t3445 = add i32 %t3431, 1
store i32 %t3445, ptr %t3428
%t3446 = load ptr, ptr %t281
%t3447 = getelementptr inbounds %LSlice, ptr %t3446, i32 0, i32 1
%t3448 = getelementptr inbounds %LSlice, ptr %t3446, i32 0, i32 2
%t3449 = getelementptr inbounds %LSlice, ptr %t3446, i32 0, i32 0
%t3450 = load i32, ptr %t3447
%t3451 = load i32, ptr %t3448
%t3452 = icmp sge i32 %t3450, %t3451
br i1 %t3452, label %grow832, label %put833
grow832:
%t3453 = mul i32 %t3451, 2
%t3454 = icmp eq i32 %t3451, 0
%t3455 = select i1 %t3454, i32 8, i32 %t3453
%t3456 = getelementptr ptr, ptr null, i32 1
%t3457 = ptrtoint ptr %t3456 to i64
%t3458 = zext i32 %t3455 to i64
%t3459 = mul i64 %t3458, %t3457
%t3460 = load ptr, ptr %t3449
%t3461 = call ptr @realloc(ptr %t3460, i64 %t3459)
store ptr %t3461, ptr %t3449
store i32 %t3455, ptr %t3448
br label %put833
put833:
%t3462 = load ptr, ptr %t3449
%t3463 = getelementptr inbounds ptr, ptr %t3462, i32 %t3450
store ptr @.str6114, ptr %t3463
%t3464 = add i32 %t3450, 1
store i32 %t3464, ptr %t3447
br label %ifend827
ifend827:
%t3465 = load ptr, ptr %t1
%t3466 = call i32 @fn_str_eq(ptr %t3465, ptr @.str6115)
%t3467 = icmp ne i32 %t3466, 0
br i1 %t3467, label %then834, label %ifend836
then834:
store ptr @.str6116, ptr %t274
%t3468 = load ptr, ptr %t281
%t3469 = getelementptr inbounds %LSlice, ptr %t3468, i32 0, i32 1
%t3470 = getelementptr inbounds %LSlice, ptr %t3468, i32 0, i32 2
%t3471 = getelementptr inbounds %LSlice, ptr %t3468, i32 0, i32 0
%t3472 = load i32, ptr %t3469
%t3473 = load i32, ptr %t3470
%t3474 = icmp sge i32 %t3472, %t3473
br i1 %t3474, label %grow837, label %put838
grow837:
%t3475 = mul i32 %t3473, 2
%t3476 = icmp eq i32 %t3473, 0
%t3477 = select i1 %t3476, i32 8, i32 %t3475
%t3478 = getelementptr ptr, ptr null, i32 1
%t3479 = ptrtoint ptr %t3478 to i64
%t3480 = zext i32 %t3477 to i64
%t3481 = mul i64 %t3480, %t3479
%t3482 = load ptr, ptr %t3471
%t3483 = call ptr @realloc(ptr %t3482, i64 %t3481)
store ptr %t3483, ptr %t3471
store i32 %t3477, ptr %t3470
br label %put838
put838:
%t3484 = load ptr, ptr %t3471
%t3485 = getelementptr inbounds ptr, ptr %t3484, i32 %t3472
store ptr @.str6117, ptr %t3485
%t3486 = add i32 %t3472, 1
store i32 %t3486, ptr %t3469
%t3487 = load ptr, ptr %t281
%t3488 = getelementptr inbounds %LSlice, ptr %t3487, i32 0, i32 1
%t3489 = getelementptr inbounds %LSlice, ptr %t3487, i32 0, i32 2
%t3490 = getelementptr inbounds %LSlice, ptr %t3487, i32 0, i32 0
%t3491 = load i32, ptr %t3488
%t3492 = load i32, ptr %t3489
%t3493 = icmp sge i32 %t3491, %t3492
br i1 %t3493, label %grow839, label %put840
grow839:
%t3494 = mul i32 %t3492, 2
%t3495 = icmp eq i32 %t3492, 0
%t3496 = select i1 %t3495, i32 8, i32 %t3494
%t3497 = getelementptr ptr, ptr null, i32 1
%t3498 = ptrtoint ptr %t3497 to i64
%t3499 = zext i32 %t3496 to i64
%t3500 = mul i64 %t3499, %t3498
%t3501 = load ptr, ptr %t3490
%t3502 = call ptr @realloc(ptr %t3501, i64 %t3500)
store ptr %t3502, ptr %t3490
store i32 %t3496, ptr %t3489
br label %put840
put840:
%t3503 = load ptr, ptr %t3490
%t3504 = getelementptr inbounds ptr, ptr %t3503, i32 %t3491
store ptr @.str6118, ptr %t3504
%t3505 = add i32 %t3491, 1
store i32 %t3505, ptr %t3488
%t3506 = load ptr, ptr %t281
%t3507 = getelementptr inbounds %LSlice, ptr %t3506, i32 0, i32 1
%t3508 = getelementptr inbounds %LSlice, ptr %t3506, i32 0, i32 2
%t3509 = getelementptr inbounds %LSlice, ptr %t3506, i32 0, i32 0
%t3510 = load i32, ptr %t3507
%t3511 = load i32, ptr %t3508
%t3512 = icmp sge i32 %t3510, %t3511
br i1 %t3512, label %grow841, label %put842
grow841:
%t3513 = mul i32 %t3511, 2
%t3514 = icmp eq i32 %t3511, 0
%t3515 = select i1 %t3514, i32 8, i32 %t3513
%t3516 = getelementptr ptr, ptr null, i32 1
%t3517 = ptrtoint ptr %t3516 to i64
%t3518 = zext i32 %t3515 to i64
%t3519 = mul i64 %t3518, %t3517
%t3520 = load ptr, ptr %t3509
%t3521 = call ptr @realloc(ptr %t3520, i64 %t3519)
store ptr %t3521, ptr %t3509
store i32 %t3515, ptr %t3508
br label %put842
put842:
%t3522 = load ptr, ptr %t3509
%t3523 = getelementptr inbounds ptr, ptr %t3522, i32 %t3510
store ptr @.str6119, ptr %t3523
%t3524 = add i32 %t3510, 1
store i32 %t3524, ptr %t3507
br label %ifend836
ifend836:
%t3525 = load ptr, ptr %t1
%t3526 = call i32 @fn_str_eq(ptr %t3525, ptr @.str6120)
%t3527 = icmp ne i32 %t3526, 0
br i1 %t3527, label %then843, label %ifend845
then843:
store ptr @.str6121, ptr %t274
%t3528 = load ptr, ptr %t281
%t3529 = getelementptr inbounds %LSlice, ptr %t3528, i32 0, i32 1
%t3530 = getelementptr inbounds %LSlice, ptr %t3528, i32 0, i32 2
%t3531 = getelementptr inbounds %LSlice, ptr %t3528, i32 0, i32 0
%t3532 = load i32, ptr %t3529
%t3533 = load i32, ptr %t3530
%t3534 = icmp sge i32 %t3532, %t3533
br i1 %t3534, label %grow846, label %put847
grow846:
%t3535 = mul i32 %t3533, 2
%t3536 = icmp eq i32 %t3533, 0
%t3537 = select i1 %t3536, i32 8, i32 %t3535
%t3538 = getelementptr ptr, ptr null, i32 1
%t3539 = ptrtoint ptr %t3538 to i64
%t3540 = zext i32 %t3537 to i64
%t3541 = mul i64 %t3540, %t3539
%t3542 = load ptr, ptr %t3531
%t3543 = call ptr @realloc(ptr %t3542, i64 %t3541)
store ptr %t3543, ptr %t3531
store i32 %t3537, ptr %t3530
br label %put847
put847:
%t3544 = load ptr, ptr %t3531
%t3545 = getelementptr inbounds ptr, ptr %t3544, i32 %t3532
store ptr @.str6122, ptr %t3545
%t3546 = add i32 %t3532, 1
store i32 %t3546, ptr %t3529
%t3547 = load ptr, ptr %t281
%t3548 = getelementptr inbounds %LSlice, ptr %t3547, i32 0, i32 1
%t3549 = getelementptr inbounds %LSlice, ptr %t3547, i32 0, i32 2
%t3550 = getelementptr inbounds %LSlice, ptr %t3547, i32 0, i32 0
%t3551 = load i32, ptr %t3548
%t3552 = load i32, ptr %t3549
%t3553 = icmp sge i32 %t3551, %t3552
br i1 %t3553, label %grow848, label %put849
grow848:
%t3554 = mul i32 %t3552, 2
%t3555 = icmp eq i32 %t3552, 0
%t3556 = select i1 %t3555, i32 8, i32 %t3554
%t3557 = getelementptr ptr, ptr null, i32 1
%t3558 = ptrtoint ptr %t3557 to i64
%t3559 = zext i32 %t3556 to i64
%t3560 = mul i64 %t3559, %t3558
%t3561 = load ptr, ptr %t3550
%t3562 = call ptr @realloc(ptr %t3561, i64 %t3560)
store ptr %t3562, ptr %t3550
store i32 %t3556, ptr %t3549
br label %put849
put849:
%t3563 = load ptr, ptr %t3550
%t3564 = getelementptr inbounds ptr, ptr %t3563, i32 %t3551
store ptr @.str6123, ptr %t3564
%t3565 = add i32 %t3551, 1
store i32 %t3565, ptr %t3548
br label %ifend845
ifend845:
%t3566 = load ptr, ptr %t1
%t3567 = call i32 @fn_str_eq(ptr %t3566, ptr @.str6124)
%t3568 = icmp ne i32 %t3567, 0
br i1 %t3568, label %then850, label %ifend852
then850:
store ptr @.str6125, ptr %t274
%t3569 = load ptr, ptr %t281
%t3570 = getelementptr inbounds %LSlice, ptr %t3569, i32 0, i32 1
%t3571 = getelementptr inbounds %LSlice, ptr %t3569, i32 0, i32 2
%t3572 = getelementptr inbounds %LSlice, ptr %t3569, i32 0, i32 0
%t3573 = load i32, ptr %t3570
%t3574 = load i32, ptr %t3571
%t3575 = icmp sge i32 %t3573, %t3574
br i1 %t3575, label %grow853, label %put854
grow853:
%t3576 = mul i32 %t3574, 2
%t3577 = icmp eq i32 %t3574, 0
%t3578 = select i1 %t3577, i32 8, i32 %t3576
%t3579 = getelementptr ptr, ptr null, i32 1
%t3580 = ptrtoint ptr %t3579 to i64
%t3581 = zext i32 %t3578 to i64
%t3582 = mul i64 %t3581, %t3580
%t3583 = load ptr, ptr %t3572
%t3584 = call ptr @realloc(ptr %t3583, i64 %t3582)
store ptr %t3584, ptr %t3572
store i32 %t3578, ptr %t3571
br label %put854
put854:
%t3585 = load ptr, ptr %t3572
%t3586 = getelementptr inbounds ptr, ptr %t3585, i32 %t3573
store ptr @.str6126, ptr %t3586
%t3587 = add i32 %t3573, 1
store i32 %t3587, ptr %t3570
br label %ifend852
ifend852:
%t3588 = load ptr, ptr %t1
%t3589 = call i32 @fn_str_eq(ptr %t3588, ptr @.str6127)
%t3590 = icmp ne i32 %t3589, 0
br i1 %t3590, label %then855, label %ifend857
then855:
store ptr @.str6128, ptr %t274
%t3591 = load ptr, ptr %t281
%t3592 = getelementptr inbounds %LSlice, ptr %t3591, i32 0, i32 1
%t3593 = getelementptr inbounds %LSlice, ptr %t3591, i32 0, i32 2
%t3594 = getelementptr inbounds %LSlice, ptr %t3591, i32 0, i32 0
%t3595 = load i32, ptr %t3592
%t3596 = load i32, ptr %t3593
%t3597 = icmp sge i32 %t3595, %t3596
br i1 %t3597, label %grow858, label %put859
grow858:
%t3598 = mul i32 %t3596, 2
%t3599 = icmp eq i32 %t3596, 0
%t3600 = select i1 %t3599, i32 8, i32 %t3598
%t3601 = getelementptr ptr, ptr null, i32 1
%t3602 = ptrtoint ptr %t3601 to i64
%t3603 = zext i32 %t3600 to i64
%t3604 = mul i64 %t3603, %t3602
%t3605 = load ptr, ptr %t3594
%t3606 = call ptr @realloc(ptr %t3605, i64 %t3604)
store ptr %t3606, ptr %t3594
store i32 %t3600, ptr %t3593
br label %put859
put859:
%t3607 = load ptr, ptr %t3594
%t3608 = getelementptr inbounds ptr, ptr %t3607, i32 %t3595
store ptr @.str6129, ptr %t3608
%t3609 = add i32 %t3595, 1
store i32 %t3609, ptr %t3592
%t3610 = load ptr, ptr %t281
%t3611 = getelementptr inbounds %LSlice, ptr %t3610, i32 0, i32 1
%t3612 = getelementptr inbounds %LSlice, ptr %t3610, i32 0, i32 2
%t3613 = getelementptr inbounds %LSlice, ptr %t3610, i32 0, i32 0
%t3614 = load i32, ptr %t3611
%t3615 = load i32, ptr %t3612
%t3616 = icmp sge i32 %t3614, %t3615
br i1 %t3616, label %grow860, label %put861
grow860:
%t3617 = mul i32 %t3615, 2
%t3618 = icmp eq i32 %t3615, 0
%t3619 = select i1 %t3618, i32 8, i32 %t3617
%t3620 = getelementptr ptr, ptr null, i32 1
%t3621 = ptrtoint ptr %t3620 to i64
%t3622 = zext i32 %t3619 to i64
%t3623 = mul i64 %t3622, %t3621
%t3624 = load ptr, ptr %t3613
%t3625 = call ptr @realloc(ptr %t3624, i64 %t3623)
store ptr %t3625, ptr %t3613
store i32 %t3619, ptr %t3612
br label %put861
put861:
%t3626 = load ptr, ptr %t3613
%t3627 = getelementptr inbounds ptr, ptr %t3626, i32 %t3614
store ptr @.str6130, ptr %t3627
%t3628 = add i32 %t3614, 1
store i32 %t3628, ptr %t3611
br label %ifend857
ifend857:
%t3629 = load ptr, ptr %t1
%t3630 = call i32 @fn_str_eq(ptr %t3629, ptr @.str6131)
%t3631 = icmp ne i32 %t3630, 0
br i1 %t3631, label %then862, label %ifend864
then862:
store ptr @.str6132, ptr %t274
%t3632 = load ptr, ptr %t281
%t3633 = getelementptr inbounds %LSlice, ptr %t3632, i32 0, i32 1
%t3634 = getelementptr inbounds %LSlice, ptr %t3632, i32 0, i32 2
%t3635 = getelementptr inbounds %LSlice, ptr %t3632, i32 0, i32 0
%t3636 = load i32, ptr %t3633
%t3637 = load i32, ptr %t3634
%t3638 = icmp sge i32 %t3636, %t3637
br i1 %t3638, label %grow865, label %put866
grow865:
%t3639 = mul i32 %t3637, 2
%t3640 = icmp eq i32 %t3637, 0
%t3641 = select i1 %t3640, i32 8, i32 %t3639
%t3642 = getelementptr ptr, ptr null, i32 1
%t3643 = ptrtoint ptr %t3642 to i64
%t3644 = zext i32 %t3641 to i64
%t3645 = mul i64 %t3644, %t3643
%t3646 = load ptr, ptr %t3635
%t3647 = call ptr @realloc(ptr %t3646, i64 %t3645)
store ptr %t3647, ptr %t3635
store i32 %t3641, ptr %t3634
br label %put866
put866:
%t3648 = load ptr, ptr %t3635
%t3649 = getelementptr inbounds ptr, ptr %t3648, i32 %t3636
store ptr @.str6133, ptr %t3649
%t3650 = add i32 %t3636, 1
store i32 %t3650, ptr %t3633
%t3651 = load ptr, ptr %t281
%t3652 = getelementptr inbounds %LSlice, ptr %t3651, i32 0, i32 1
%t3653 = getelementptr inbounds %LSlice, ptr %t3651, i32 0, i32 2
%t3654 = getelementptr inbounds %LSlice, ptr %t3651, i32 0, i32 0
%t3655 = load i32, ptr %t3652
%t3656 = load i32, ptr %t3653
%t3657 = icmp sge i32 %t3655, %t3656
br i1 %t3657, label %grow867, label %put868
grow867:
%t3658 = mul i32 %t3656, 2
%t3659 = icmp eq i32 %t3656, 0
%t3660 = select i1 %t3659, i32 8, i32 %t3658
%t3661 = getelementptr ptr, ptr null, i32 1
%t3662 = ptrtoint ptr %t3661 to i64
%t3663 = zext i32 %t3660 to i64
%t3664 = mul i64 %t3663, %t3662
%t3665 = load ptr, ptr %t3654
%t3666 = call ptr @realloc(ptr %t3665, i64 %t3664)
store ptr %t3666, ptr %t3654
store i32 %t3660, ptr %t3653
br label %put868
put868:
%t3667 = load ptr, ptr %t3654
%t3668 = getelementptr inbounds ptr, ptr %t3667, i32 %t3655
store ptr @.str6134, ptr %t3668
%t3669 = add i32 %t3655, 1
store i32 %t3669, ptr %t3652
br label %ifend864
ifend864:
%t3670 = load ptr, ptr %t1
%t3671 = call i32 @fn_str_eq(ptr %t3670, ptr @.str6135)
%t3672 = icmp ne i32 %t3671, 0
br i1 %t3672, label %then869, label %ifend871
then869:
store ptr @.str6136, ptr %t274
%t3673 = load ptr, ptr %t281
%t3674 = getelementptr inbounds %LSlice, ptr %t3673, i32 0, i32 1
%t3675 = getelementptr inbounds %LSlice, ptr %t3673, i32 0, i32 2
%t3676 = getelementptr inbounds %LSlice, ptr %t3673, i32 0, i32 0
%t3677 = load i32, ptr %t3674
%t3678 = load i32, ptr %t3675
%t3679 = icmp sge i32 %t3677, %t3678
br i1 %t3679, label %grow872, label %put873
grow872:
%t3680 = mul i32 %t3678, 2
%t3681 = icmp eq i32 %t3678, 0
%t3682 = select i1 %t3681, i32 8, i32 %t3680
%t3683 = getelementptr ptr, ptr null, i32 1
%t3684 = ptrtoint ptr %t3683 to i64
%t3685 = zext i32 %t3682 to i64
%t3686 = mul i64 %t3685, %t3684
%t3687 = load ptr, ptr %t3676
%t3688 = call ptr @realloc(ptr %t3687, i64 %t3686)
store ptr %t3688, ptr %t3676
store i32 %t3682, ptr %t3675
br label %put873
put873:
%t3689 = load ptr, ptr %t3676
%t3690 = getelementptr inbounds ptr, ptr %t3689, i32 %t3677
store ptr @.str6137, ptr %t3690
%t3691 = add i32 %t3677, 1
store i32 %t3691, ptr %t3674
br label %ifend871
ifend871:
br label %ifend786
ifend786:
%t3692 = load ptr, ptr %t0
%t3693 = call i32 @fn_str_eq(ptr %t3692, ptr @.str6138)
%t3694 = icmp ne i32 %t3693, 0
br i1 %t3694, label %then874, label %ifend876
then874:
%t3695 = load ptr, ptr %t1
%t3696 = call i32 @fn_str_eq(ptr %t3695, ptr @.str6139)
%t3697 = icmp ne i32 %t3696, 0
br i1 %t3697, label %then877, label %ifend879
then877:
store ptr @.str6140, ptr %t274
%t3698 = load ptr, ptr %t281
%t3699 = getelementptr inbounds %LSlice, ptr %t3698, i32 0, i32 1
%t3700 = getelementptr inbounds %LSlice, ptr %t3698, i32 0, i32 2
%t3701 = getelementptr inbounds %LSlice, ptr %t3698, i32 0, i32 0
%t3702 = load i32, ptr %t3699
%t3703 = load i32, ptr %t3700
%t3704 = icmp sge i32 %t3702, %t3703
br i1 %t3704, label %grow880, label %put881
grow880:
%t3705 = mul i32 %t3703, 2
%t3706 = icmp eq i32 %t3703, 0
%t3707 = select i1 %t3706, i32 8, i32 %t3705
%t3708 = getelementptr ptr, ptr null, i32 1
%t3709 = ptrtoint ptr %t3708 to i64
%t3710 = zext i32 %t3707 to i64
%t3711 = mul i64 %t3710, %t3709
%t3712 = load ptr, ptr %t3701
%t3713 = call ptr @realloc(ptr %t3712, i64 %t3711)
store ptr %t3713, ptr %t3701
store i32 %t3707, ptr %t3700
br label %put881
put881:
%t3714 = load ptr, ptr %t3701
%t3715 = getelementptr inbounds ptr, ptr %t3714, i32 %t3702
store ptr @.str6141, ptr %t3715
%t3716 = add i32 %t3702, 1
store i32 %t3716, ptr %t3699
%t3717 = load ptr, ptr %t281
%t3718 = getelementptr inbounds %LSlice, ptr %t3717, i32 0, i32 1
%t3719 = getelementptr inbounds %LSlice, ptr %t3717, i32 0, i32 2
%t3720 = getelementptr inbounds %LSlice, ptr %t3717, i32 0, i32 0
%t3721 = load i32, ptr %t3718
%t3722 = load i32, ptr %t3719
%t3723 = icmp sge i32 %t3721, %t3722
br i1 %t3723, label %grow882, label %put883
grow882:
%t3724 = mul i32 %t3722, 2
%t3725 = icmp eq i32 %t3722, 0
%t3726 = select i1 %t3725, i32 8, i32 %t3724
%t3727 = getelementptr ptr, ptr null, i32 1
%t3728 = ptrtoint ptr %t3727 to i64
%t3729 = zext i32 %t3726 to i64
%t3730 = mul i64 %t3729, %t3728
%t3731 = load ptr, ptr %t3720
%t3732 = call ptr @realloc(ptr %t3731, i64 %t3730)
store ptr %t3732, ptr %t3720
store i32 %t3726, ptr %t3719
br label %put883
put883:
%t3733 = load ptr, ptr %t3720
%t3734 = getelementptr inbounds ptr, ptr %t3733, i32 %t3721
store ptr @.str6142, ptr %t3734
%t3735 = add i32 %t3721, 1
store i32 %t3735, ptr %t3718
%t3736 = load ptr, ptr %t281
%t3737 = getelementptr inbounds %LSlice, ptr %t3736, i32 0, i32 1
%t3738 = getelementptr inbounds %LSlice, ptr %t3736, i32 0, i32 2
%t3739 = getelementptr inbounds %LSlice, ptr %t3736, i32 0, i32 0
%t3740 = load i32, ptr %t3737
%t3741 = load i32, ptr %t3738
%t3742 = icmp sge i32 %t3740, %t3741
br i1 %t3742, label %grow884, label %put885
grow884:
%t3743 = mul i32 %t3741, 2
%t3744 = icmp eq i32 %t3741, 0
%t3745 = select i1 %t3744, i32 8, i32 %t3743
%t3746 = getelementptr ptr, ptr null, i32 1
%t3747 = ptrtoint ptr %t3746 to i64
%t3748 = zext i32 %t3745 to i64
%t3749 = mul i64 %t3748, %t3747
%t3750 = load ptr, ptr %t3739
%t3751 = call ptr @realloc(ptr %t3750, i64 %t3749)
store ptr %t3751, ptr %t3739
store i32 %t3745, ptr %t3738
br label %put885
put885:
%t3752 = load ptr, ptr %t3739
%t3753 = getelementptr inbounds ptr, ptr %t3752, i32 %t3740
store ptr @.str6143, ptr %t3753
%t3754 = add i32 %t3740, 1
store i32 %t3754, ptr %t3737
%t3755 = load ptr, ptr %t281
%t3756 = getelementptr inbounds %LSlice, ptr %t3755, i32 0, i32 1
%t3757 = getelementptr inbounds %LSlice, ptr %t3755, i32 0, i32 2
%t3758 = getelementptr inbounds %LSlice, ptr %t3755, i32 0, i32 0
%t3759 = load i32, ptr %t3756
%t3760 = load i32, ptr %t3757
%t3761 = icmp sge i32 %t3759, %t3760
br i1 %t3761, label %grow886, label %put887
grow886:
%t3762 = mul i32 %t3760, 2
%t3763 = icmp eq i32 %t3760, 0
%t3764 = select i1 %t3763, i32 8, i32 %t3762
%t3765 = getelementptr ptr, ptr null, i32 1
%t3766 = ptrtoint ptr %t3765 to i64
%t3767 = zext i32 %t3764 to i64
%t3768 = mul i64 %t3767, %t3766
%t3769 = load ptr, ptr %t3758
%t3770 = call ptr @realloc(ptr %t3769, i64 %t3768)
store ptr %t3770, ptr %t3758
store i32 %t3764, ptr %t3757
br label %put887
put887:
%t3771 = load ptr, ptr %t3758
%t3772 = getelementptr inbounds ptr, ptr %t3771, i32 %t3759
store ptr @.str6144, ptr %t3772
%t3773 = add i32 %t3759, 1
store i32 %t3773, ptr %t3756
br label %ifend879
ifend879:
%t3774 = load ptr, ptr %t1
%t3775 = call i32 @fn_str_eq(ptr %t3774, ptr @.str6145)
%t3776 = icmp ne i32 %t3775, 0
br i1 %t3776, label %then888, label %ifend890
then888:
store ptr @.str6146, ptr %t274
%t3777 = load ptr, ptr %t281
%t3778 = getelementptr inbounds %LSlice, ptr %t3777, i32 0, i32 1
%t3779 = getelementptr inbounds %LSlice, ptr %t3777, i32 0, i32 2
%t3780 = getelementptr inbounds %LSlice, ptr %t3777, i32 0, i32 0
%t3781 = load i32, ptr %t3778
%t3782 = load i32, ptr %t3779
%t3783 = icmp sge i32 %t3781, %t3782
br i1 %t3783, label %grow891, label %put892
grow891:
%t3784 = mul i32 %t3782, 2
%t3785 = icmp eq i32 %t3782, 0
%t3786 = select i1 %t3785, i32 8, i32 %t3784
%t3787 = getelementptr ptr, ptr null, i32 1
%t3788 = ptrtoint ptr %t3787 to i64
%t3789 = zext i32 %t3786 to i64
%t3790 = mul i64 %t3789, %t3788
%t3791 = load ptr, ptr %t3780
%t3792 = call ptr @realloc(ptr %t3791, i64 %t3790)
store ptr %t3792, ptr %t3780
store i32 %t3786, ptr %t3779
br label %put892
put892:
%t3793 = load ptr, ptr %t3780
%t3794 = getelementptr inbounds ptr, ptr %t3793, i32 %t3781
store ptr @.str6147, ptr %t3794
%t3795 = add i32 %t3781, 1
store i32 %t3795, ptr %t3778
%t3796 = load ptr, ptr %t281
%t3797 = getelementptr inbounds %LSlice, ptr %t3796, i32 0, i32 1
%t3798 = getelementptr inbounds %LSlice, ptr %t3796, i32 0, i32 2
%t3799 = getelementptr inbounds %LSlice, ptr %t3796, i32 0, i32 0
%t3800 = load i32, ptr %t3797
%t3801 = load i32, ptr %t3798
%t3802 = icmp sge i32 %t3800, %t3801
br i1 %t3802, label %grow893, label %put894
grow893:
%t3803 = mul i32 %t3801, 2
%t3804 = icmp eq i32 %t3801, 0
%t3805 = select i1 %t3804, i32 8, i32 %t3803
%t3806 = getelementptr ptr, ptr null, i32 1
%t3807 = ptrtoint ptr %t3806 to i64
%t3808 = zext i32 %t3805 to i64
%t3809 = mul i64 %t3808, %t3807
%t3810 = load ptr, ptr %t3799
%t3811 = call ptr @realloc(ptr %t3810, i64 %t3809)
store ptr %t3811, ptr %t3799
store i32 %t3805, ptr %t3798
br label %put894
put894:
%t3812 = load ptr, ptr %t3799
%t3813 = getelementptr inbounds ptr, ptr %t3812, i32 %t3800
store ptr @.str6148, ptr %t3813
%t3814 = add i32 %t3800, 1
store i32 %t3814, ptr %t3797
%t3815 = load ptr, ptr %t281
%t3816 = getelementptr inbounds %LSlice, ptr %t3815, i32 0, i32 1
%t3817 = getelementptr inbounds %LSlice, ptr %t3815, i32 0, i32 2
%t3818 = getelementptr inbounds %LSlice, ptr %t3815, i32 0, i32 0
%t3819 = load i32, ptr %t3816
%t3820 = load i32, ptr %t3817
%t3821 = icmp sge i32 %t3819, %t3820
br i1 %t3821, label %grow895, label %put896
grow895:
%t3822 = mul i32 %t3820, 2
%t3823 = icmp eq i32 %t3820, 0
%t3824 = select i1 %t3823, i32 8, i32 %t3822
%t3825 = getelementptr ptr, ptr null, i32 1
%t3826 = ptrtoint ptr %t3825 to i64
%t3827 = zext i32 %t3824 to i64
%t3828 = mul i64 %t3827, %t3826
%t3829 = load ptr, ptr %t3818
%t3830 = call ptr @realloc(ptr %t3829, i64 %t3828)
store ptr %t3830, ptr %t3818
store i32 %t3824, ptr %t3817
br label %put896
put896:
%t3831 = load ptr, ptr %t3818
%t3832 = getelementptr inbounds ptr, ptr %t3831, i32 %t3819
store ptr @.str6149, ptr %t3832
%t3833 = add i32 %t3819, 1
store i32 %t3833, ptr %t3816
br label %ifend890
ifend890:
%t3834 = load ptr, ptr %t1
%t3835 = call i32 @fn_str_eq(ptr %t3834, ptr @.str6150)
%t3836 = icmp ne i32 %t3835, 0
br i1 %t3836, label %then897, label %ifend899
then897:
store ptr @.str6151, ptr %t274
%t3837 = load ptr, ptr %t281
%t3838 = getelementptr inbounds %LSlice, ptr %t3837, i32 0, i32 1
%t3839 = getelementptr inbounds %LSlice, ptr %t3837, i32 0, i32 2
%t3840 = getelementptr inbounds %LSlice, ptr %t3837, i32 0, i32 0
%t3841 = load i32, ptr %t3838
%t3842 = load i32, ptr %t3839
%t3843 = icmp sge i32 %t3841, %t3842
br i1 %t3843, label %grow900, label %put901
grow900:
%t3844 = mul i32 %t3842, 2
%t3845 = icmp eq i32 %t3842, 0
%t3846 = select i1 %t3845, i32 8, i32 %t3844
%t3847 = getelementptr ptr, ptr null, i32 1
%t3848 = ptrtoint ptr %t3847 to i64
%t3849 = zext i32 %t3846 to i64
%t3850 = mul i64 %t3849, %t3848
%t3851 = load ptr, ptr %t3840
%t3852 = call ptr @realloc(ptr %t3851, i64 %t3850)
store ptr %t3852, ptr %t3840
store i32 %t3846, ptr %t3839
br label %put901
put901:
%t3853 = load ptr, ptr %t3840
%t3854 = getelementptr inbounds ptr, ptr %t3853, i32 %t3841
store ptr @.str6152, ptr %t3854
%t3855 = add i32 %t3841, 1
store i32 %t3855, ptr %t3838
%t3856 = load ptr, ptr %t281
%t3857 = getelementptr inbounds %LSlice, ptr %t3856, i32 0, i32 1
%t3858 = getelementptr inbounds %LSlice, ptr %t3856, i32 0, i32 2
%t3859 = getelementptr inbounds %LSlice, ptr %t3856, i32 0, i32 0
%t3860 = load i32, ptr %t3857
%t3861 = load i32, ptr %t3858
%t3862 = icmp sge i32 %t3860, %t3861
br i1 %t3862, label %grow902, label %put903
grow902:
%t3863 = mul i32 %t3861, 2
%t3864 = icmp eq i32 %t3861, 0
%t3865 = select i1 %t3864, i32 8, i32 %t3863
%t3866 = getelementptr ptr, ptr null, i32 1
%t3867 = ptrtoint ptr %t3866 to i64
%t3868 = zext i32 %t3865 to i64
%t3869 = mul i64 %t3868, %t3867
%t3870 = load ptr, ptr %t3859
%t3871 = call ptr @realloc(ptr %t3870, i64 %t3869)
store ptr %t3871, ptr %t3859
store i32 %t3865, ptr %t3858
br label %put903
put903:
%t3872 = load ptr, ptr %t3859
%t3873 = getelementptr inbounds ptr, ptr %t3872, i32 %t3860
store ptr @.str6153, ptr %t3873
%t3874 = add i32 %t3860, 1
store i32 %t3874, ptr %t3857
%t3875 = load ptr, ptr %t281
%t3876 = getelementptr inbounds %LSlice, ptr %t3875, i32 0, i32 1
%t3877 = getelementptr inbounds %LSlice, ptr %t3875, i32 0, i32 2
%t3878 = getelementptr inbounds %LSlice, ptr %t3875, i32 0, i32 0
%t3879 = load i32, ptr %t3876
%t3880 = load i32, ptr %t3877
%t3881 = icmp sge i32 %t3879, %t3880
br i1 %t3881, label %grow904, label %put905
grow904:
%t3882 = mul i32 %t3880, 2
%t3883 = icmp eq i32 %t3880, 0
%t3884 = select i1 %t3883, i32 8, i32 %t3882
%t3885 = getelementptr ptr, ptr null, i32 1
%t3886 = ptrtoint ptr %t3885 to i64
%t3887 = zext i32 %t3884 to i64
%t3888 = mul i64 %t3887, %t3886
%t3889 = load ptr, ptr %t3878
%t3890 = call ptr @realloc(ptr %t3889, i64 %t3888)
store ptr %t3890, ptr %t3878
store i32 %t3884, ptr %t3877
br label %put905
put905:
%t3891 = load ptr, ptr %t3878
%t3892 = getelementptr inbounds ptr, ptr %t3891, i32 %t3879
store ptr @.str6154, ptr %t3892
%t3893 = add i32 %t3879, 1
store i32 %t3893, ptr %t3876
%t3894 = load ptr, ptr %t281
%t3895 = getelementptr inbounds %LSlice, ptr %t3894, i32 0, i32 1
%t3896 = getelementptr inbounds %LSlice, ptr %t3894, i32 0, i32 2
%t3897 = getelementptr inbounds %LSlice, ptr %t3894, i32 0, i32 0
%t3898 = load i32, ptr %t3895
%t3899 = load i32, ptr %t3896
%t3900 = icmp sge i32 %t3898, %t3899
br i1 %t3900, label %grow906, label %put907
grow906:
%t3901 = mul i32 %t3899, 2
%t3902 = icmp eq i32 %t3899, 0
%t3903 = select i1 %t3902, i32 8, i32 %t3901
%t3904 = getelementptr ptr, ptr null, i32 1
%t3905 = ptrtoint ptr %t3904 to i64
%t3906 = zext i32 %t3903 to i64
%t3907 = mul i64 %t3906, %t3905
%t3908 = load ptr, ptr %t3897
%t3909 = call ptr @realloc(ptr %t3908, i64 %t3907)
store ptr %t3909, ptr %t3897
store i32 %t3903, ptr %t3896
br label %put907
put907:
%t3910 = load ptr, ptr %t3897
%t3911 = getelementptr inbounds ptr, ptr %t3910, i32 %t3898
store ptr @.str6155, ptr %t3911
%t3912 = add i32 %t3898, 1
store i32 %t3912, ptr %t3895
%t3913 = load ptr, ptr %t281
%t3914 = getelementptr inbounds %LSlice, ptr %t3913, i32 0, i32 1
%t3915 = getelementptr inbounds %LSlice, ptr %t3913, i32 0, i32 2
%t3916 = getelementptr inbounds %LSlice, ptr %t3913, i32 0, i32 0
%t3917 = load i32, ptr %t3914
%t3918 = load i32, ptr %t3915
%t3919 = icmp sge i32 %t3917, %t3918
br i1 %t3919, label %grow908, label %put909
grow908:
%t3920 = mul i32 %t3918, 2
%t3921 = icmp eq i32 %t3918, 0
%t3922 = select i1 %t3921, i32 8, i32 %t3920
%t3923 = getelementptr ptr, ptr null, i32 1
%t3924 = ptrtoint ptr %t3923 to i64
%t3925 = zext i32 %t3922 to i64
%t3926 = mul i64 %t3925, %t3924
%t3927 = load ptr, ptr %t3916
%t3928 = call ptr @realloc(ptr %t3927, i64 %t3926)
store ptr %t3928, ptr %t3916
store i32 %t3922, ptr %t3915
br label %put909
put909:
%t3929 = load ptr, ptr %t3916
%t3930 = getelementptr inbounds ptr, ptr %t3929, i32 %t3917
store ptr @.str6156, ptr %t3930
%t3931 = add i32 %t3917, 1
store i32 %t3931, ptr %t3914
br label %ifend899
ifend899:
%t3932 = load ptr, ptr %t1
%t3933 = call i32 @fn_str_eq(ptr %t3932, ptr @.str6157)
%t3934 = icmp ne i32 %t3933, 0
br i1 %t3934, label %then910, label %ifend912
then910:
store ptr @.str6158, ptr %t274
%t3935 = load ptr, ptr %t281
%t3936 = getelementptr inbounds %LSlice, ptr %t3935, i32 0, i32 1
%t3937 = getelementptr inbounds %LSlice, ptr %t3935, i32 0, i32 2
%t3938 = getelementptr inbounds %LSlice, ptr %t3935, i32 0, i32 0
%t3939 = load i32, ptr %t3936
%t3940 = load i32, ptr %t3937
%t3941 = icmp sge i32 %t3939, %t3940
br i1 %t3941, label %grow913, label %put914
grow913:
%t3942 = mul i32 %t3940, 2
%t3943 = icmp eq i32 %t3940, 0
%t3944 = select i1 %t3943, i32 8, i32 %t3942
%t3945 = getelementptr ptr, ptr null, i32 1
%t3946 = ptrtoint ptr %t3945 to i64
%t3947 = zext i32 %t3944 to i64
%t3948 = mul i64 %t3947, %t3946
%t3949 = load ptr, ptr %t3938
%t3950 = call ptr @realloc(ptr %t3949, i64 %t3948)
store ptr %t3950, ptr %t3938
store i32 %t3944, ptr %t3937
br label %put914
put914:
%t3951 = load ptr, ptr %t3938
%t3952 = getelementptr inbounds ptr, ptr %t3951, i32 %t3939
store ptr @.str6159, ptr %t3952
%t3953 = add i32 %t3939, 1
store i32 %t3953, ptr %t3936
%t3954 = load ptr, ptr %t281
%t3955 = getelementptr inbounds %LSlice, ptr %t3954, i32 0, i32 1
%t3956 = getelementptr inbounds %LSlice, ptr %t3954, i32 0, i32 2
%t3957 = getelementptr inbounds %LSlice, ptr %t3954, i32 0, i32 0
%t3958 = load i32, ptr %t3955
%t3959 = load i32, ptr %t3956
%t3960 = icmp sge i32 %t3958, %t3959
br i1 %t3960, label %grow915, label %put916
grow915:
%t3961 = mul i32 %t3959, 2
%t3962 = icmp eq i32 %t3959, 0
%t3963 = select i1 %t3962, i32 8, i32 %t3961
%t3964 = getelementptr ptr, ptr null, i32 1
%t3965 = ptrtoint ptr %t3964 to i64
%t3966 = zext i32 %t3963 to i64
%t3967 = mul i64 %t3966, %t3965
%t3968 = load ptr, ptr %t3957
%t3969 = call ptr @realloc(ptr %t3968, i64 %t3967)
store ptr %t3969, ptr %t3957
store i32 %t3963, ptr %t3956
br label %put916
put916:
%t3970 = load ptr, ptr %t3957
%t3971 = getelementptr inbounds ptr, ptr %t3970, i32 %t3958
store ptr @.str6160, ptr %t3971
%t3972 = add i32 %t3958, 1
store i32 %t3972, ptr %t3955
%t3973 = load ptr, ptr %t281
%t3974 = getelementptr inbounds %LSlice, ptr %t3973, i32 0, i32 1
%t3975 = getelementptr inbounds %LSlice, ptr %t3973, i32 0, i32 2
%t3976 = getelementptr inbounds %LSlice, ptr %t3973, i32 0, i32 0
%t3977 = load i32, ptr %t3974
%t3978 = load i32, ptr %t3975
%t3979 = icmp sge i32 %t3977, %t3978
br i1 %t3979, label %grow917, label %put918
grow917:
%t3980 = mul i32 %t3978, 2
%t3981 = icmp eq i32 %t3978, 0
%t3982 = select i1 %t3981, i32 8, i32 %t3980
%t3983 = getelementptr ptr, ptr null, i32 1
%t3984 = ptrtoint ptr %t3983 to i64
%t3985 = zext i32 %t3982 to i64
%t3986 = mul i64 %t3985, %t3984
%t3987 = load ptr, ptr %t3976
%t3988 = call ptr @realloc(ptr %t3987, i64 %t3986)
store ptr %t3988, ptr %t3976
store i32 %t3982, ptr %t3975
br label %put918
put918:
%t3989 = load ptr, ptr %t3976
%t3990 = getelementptr inbounds ptr, ptr %t3989, i32 %t3977
store ptr @.str6161, ptr %t3990
%t3991 = add i32 %t3977, 1
store i32 %t3991, ptr %t3974
br label %ifend912
ifend912:
%t3992 = load ptr, ptr %t1
%t3993 = call i32 @fn_str_eq(ptr %t3992, ptr @.str6162)
%t3994 = icmp ne i32 %t3993, 0
br i1 %t3994, label %then919, label %ifend921
then919:
store ptr @.str6163, ptr %t274
%t3995 = load ptr, ptr %t281
%t3996 = getelementptr inbounds %LSlice, ptr %t3995, i32 0, i32 1
%t3997 = getelementptr inbounds %LSlice, ptr %t3995, i32 0, i32 2
%t3998 = getelementptr inbounds %LSlice, ptr %t3995, i32 0, i32 0
%t3999 = load i32, ptr %t3996
%t4000 = load i32, ptr %t3997
%t4001 = icmp sge i32 %t3999, %t4000
br i1 %t4001, label %grow922, label %put923
grow922:
%t4002 = mul i32 %t4000, 2
%t4003 = icmp eq i32 %t4000, 0
%t4004 = select i1 %t4003, i32 8, i32 %t4002
%t4005 = getelementptr ptr, ptr null, i32 1
%t4006 = ptrtoint ptr %t4005 to i64
%t4007 = zext i32 %t4004 to i64
%t4008 = mul i64 %t4007, %t4006
%t4009 = load ptr, ptr %t3998
%t4010 = call ptr @realloc(ptr %t4009, i64 %t4008)
store ptr %t4010, ptr %t3998
store i32 %t4004, ptr %t3997
br label %put923
put923:
%t4011 = load ptr, ptr %t3998
%t4012 = getelementptr inbounds ptr, ptr %t4011, i32 %t3999
store ptr @.str6164, ptr %t4012
%t4013 = add i32 %t3999, 1
store i32 %t4013, ptr %t3996
%t4014 = load ptr, ptr %t281
%t4015 = getelementptr inbounds %LSlice, ptr %t4014, i32 0, i32 1
%t4016 = getelementptr inbounds %LSlice, ptr %t4014, i32 0, i32 2
%t4017 = getelementptr inbounds %LSlice, ptr %t4014, i32 0, i32 0
%t4018 = load i32, ptr %t4015
%t4019 = load i32, ptr %t4016
%t4020 = icmp sge i32 %t4018, %t4019
br i1 %t4020, label %grow924, label %put925
grow924:
%t4021 = mul i32 %t4019, 2
%t4022 = icmp eq i32 %t4019, 0
%t4023 = select i1 %t4022, i32 8, i32 %t4021
%t4024 = getelementptr ptr, ptr null, i32 1
%t4025 = ptrtoint ptr %t4024 to i64
%t4026 = zext i32 %t4023 to i64
%t4027 = mul i64 %t4026, %t4025
%t4028 = load ptr, ptr %t4017
%t4029 = call ptr @realloc(ptr %t4028, i64 %t4027)
store ptr %t4029, ptr %t4017
store i32 %t4023, ptr %t4016
br label %put925
put925:
%t4030 = load ptr, ptr %t4017
%t4031 = getelementptr inbounds ptr, ptr %t4030, i32 %t4018
store ptr @.str6165, ptr %t4031
%t4032 = add i32 %t4018, 1
store i32 %t4032, ptr %t4015
%t4033 = load ptr, ptr %t281
%t4034 = getelementptr inbounds %LSlice, ptr %t4033, i32 0, i32 1
%t4035 = getelementptr inbounds %LSlice, ptr %t4033, i32 0, i32 2
%t4036 = getelementptr inbounds %LSlice, ptr %t4033, i32 0, i32 0
%t4037 = load i32, ptr %t4034
%t4038 = load i32, ptr %t4035
%t4039 = icmp sge i32 %t4037, %t4038
br i1 %t4039, label %grow926, label %put927
grow926:
%t4040 = mul i32 %t4038, 2
%t4041 = icmp eq i32 %t4038, 0
%t4042 = select i1 %t4041, i32 8, i32 %t4040
%t4043 = getelementptr ptr, ptr null, i32 1
%t4044 = ptrtoint ptr %t4043 to i64
%t4045 = zext i32 %t4042 to i64
%t4046 = mul i64 %t4045, %t4044
%t4047 = load ptr, ptr %t4036
%t4048 = call ptr @realloc(ptr %t4047, i64 %t4046)
store ptr %t4048, ptr %t4036
store i32 %t4042, ptr %t4035
br label %put927
put927:
%t4049 = load ptr, ptr %t4036
%t4050 = getelementptr inbounds ptr, ptr %t4049, i32 %t4037
store ptr @.str6166, ptr %t4050
%t4051 = add i32 %t4037, 1
store i32 %t4051, ptr %t4034
%t4052 = load ptr, ptr %t281
%t4053 = getelementptr inbounds %LSlice, ptr %t4052, i32 0, i32 1
%t4054 = getelementptr inbounds %LSlice, ptr %t4052, i32 0, i32 2
%t4055 = getelementptr inbounds %LSlice, ptr %t4052, i32 0, i32 0
%t4056 = load i32, ptr %t4053
%t4057 = load i32, ptr %t4054
%t4058 = icmp sge i32 %t4056, %t4057
br i1 %t4058, label %grow928, label %put929
grow928:
%t4059 = mul i32 %t4057, 2
%t4060 = icmp eq i32 %t4057, 0
%t4061 = select i1 %t4060, i32 8, i32 %t4059
%t4062 = getelementptr ptr, ptr null, i32 1
%t4063 = ptrtoint ptr %t4062 to i64
%t4064 = zext i32 %t4061 to i64
%t4065 = mul i64 %t4064, %t4063
%t4066 = load ptr, ptr %t4055
%t4067 = call ptr @realloc(ptr %t4066, i64 %t4065)
store ptr %t4067, ptr %t4055
store i32 %t4061, ptr %t4054
br label %put929
put929:
%t4068 = load ptr, ptr %t4055
%t4069 = getelementptr inbounds ptr, ptr %t4068, i32 %t4056
store ptr @.str6167, ptr %t4069
%t4070 = add i32 %t4056, 1
store i32 %t4070, ptr %t4053
%t4071 = load ptr, ptr %t281
%t4072 = getelementptr inbounds %LSlice, ptr %t4071, i32 0, i32 1
%t4073 = getelementptr inbounds %LSlice, ptr %t4071, i32 0, i32 2
%t4074 = getelementptr inbounds %LSlice, ptr %t4071, i32 0, i32 0
%t4075 = load i32, ptr %t4072
%t4076 = load i32, ptr %t4073
%t4077 = icmp sge i32 %t4075, %t4076
br i1 %t4077, label %grow930, label %put931
grow930:
%t4078 = mul i32 %t4076, 2
%t4079 = icmp eq i32 %t4076, 0
%t4080 = select i1 %t4079, i32 8, i32 %t4078
%t4081 = getelementptr ptr, ptr null, i32 1
%t4082 = ptrtoint ptr %t4081 to i64
%t4083 = zext i32 %t4080 to i64
%t4084 = mul i64 %t4083, %t4082
%t4085 = load ptr, ptr %t4074
%t4086 = call ptr @realloc(ptr %t4085, i64 %t4084)
store ptr %t4086, ptr %t4074
store i32 %t4080, ptr %t4073
br label %put931
put931:
%t4087 = load ptr, ptr %t4074
%t4088 = getelementptr inbounds ptr, ptr %t4087, i32 %t4075
store ptr @.str6168, ptr %t4088
%t4089 = add i32 %t4075, 1
store i32 %t4089, ptr %t4072
br label %ifend921
ifend921:
br label %ifend876
ifend876:
%t4090 = load ptr, ptr %t0
%t4091 = call i32 @fn_str_eq(ptr %t4090, ptr @.str6169)
%t4092 = icmp ne i32 %t4091, 0
br i1 %t4092, label %then932, label %ifend934
then932:
%t4093 = load ptr, ptr %t1
%t4094 = call i32 @fn_str_eq(ptr %t4093, ptr @.str6170)
%t4095 = icmp ne i32 %t4094, 0
br i1 %t4095, label %then935, label %ifend937
then935:
store ptr @.str6171, ptr %t274
%t4096 = load ptr, ptr %t281
%t4097 = getelementptr inbounds %LSlice, ptr %t4096, i32 0, i32 1
%t4098 = getelementptr inbounds %LSlice, ptr %t4096, i32 0, i32 2
%t4099 = getelementptr inbounds %LSlice, ptr %t4096, i32 0, i32 0
%t4100 = load i32, ptr %t4097
%t4101 = load i32, ptr %t4098
%t4102 = icmp sge i32 %t4100, %t4101
br i1 %t4102, label %grow938, label %put939
grow938:
%t4103 = mul i32 %t4101, 2
%t4104 = icmp eq i32 %t4101, 0
%t4105 = select i1 %t4104, i32 8, i32 %t4103
%t4106 = getelementptr ptr, ptr null, i32 1
%t4107 = ptrtoint ptr %t4106 to i64
%t4108 = zext i32 %t4105 to i64
%t4109 = mul i64 %t4108, %t4107
%t4110 = load ptr, ptr %t4099
%t4111 = call ptr @realloc(ptr %t4110, i64 %t4109)
store ptr %t4111, ptr %t4099
store i32 %t4105, ptr %t4098
br label %put939
put939:
%t4112 = load ptr, ptr %t4099
%t4113 = getelementptr inbounds ptr, ptr %t4112, i32 %t4100
store ptr @.str6172, ptr %t4113
%t4114 = add i32 %t4100, 1
store i32 %t4114, ptr %t4097
br label %ifend937
ifend937:
%t4115 = load ptr, ptr %t1
%t4116 = call i32 @fn_str_eq(ptr %t4115, ptr @.str6173)
%t4117 = icmp ne i32 %t4116, 0
br i1 %t4117, label %then940, label %ifend942
then940:
store ptr @.str6174, ptr %t274
%t4118 = load ptr, ptr %t281
%t4119 = getelementptr inbounds %LSlice, ptr %t4118, i32 0, i32 1
%t4120 = getelementptr inbounds %LSlice, ptr %t4118, i32 0, i32 2
%t4121 = getelementptr inbounds %LSlice, ptr %t4118, i32 0, i32 0
%t4122 = load i32, ptr %t4119
%t4123 = load i32, ptr %t4120
%t4124 = icmp sge i32 %t4122, %t4123
br i1 %t4124, label %grow943, label %put944
grow943:
%t4125 = mul i32 %t4123, 2
%t4126 = icmp eq i32 %t4123, 0
%t4127 = select i1 %t4126, i32 8, i32 %t4125
%t4128 = getelementptr ptr, ptr null, i32 1
%t4129 = ptrtoint ptr %t4128 to i64
%t4130 = zext i32 %t4127 to i64
%t4131 = mul i64 %t4130, %t4129
%t4132 = load ptr, ptr %t4121
%t4133 = call ptr @realloc(ptr %t4132, i64 %t4131)
store ptr %t4133, ptr %t4121
store i32 %t4127, ptr %t4120
br label %put944
put944:
%t4134 = load ptr, ptr %t4121
%t4135 = getelementptr inbounds ptr, ptr %t4134, i32 %t4122
store ptr @.str6175, ptr %t4135
%t4136 = add i32 %t4122, 1
store i32 %t4136, ptr %t4119
%t4137 = load ptr, ptr %t281
%t4138 = getelementptr inbounds %LSlice, ptr %t4137, i32 0, i32 1
%t4139 = getelementptr inbounds %LSlice, ptr %t4137, i32 0, i32 2
%t4140 = getelementptr inbounds %LSlice, ptr %t4137, i32 0, i32 0
%t4141 = load i32, ptr %t4138
%t4142 = load i32, ptr %t4139
%t4143 = icmp sge i32 %t4141, %t4142
br i1 %t4143, label %grow945, label %put946
grow945:
%t4144 = mul i32 %t4142, 2
%t4145 = icmp eq i32 %t4142, 0
%t4146 = select i1 %t4145, i32 8, i32 %t4144
%t4147 = getelementptr ptr, ptr null, i32 1
%t4148 = ptrtoint ptr %t4147 to i64
%t4149 = zext i32 %t4146 to i64
%t4150 = mul i64 %t4149, %t4148
%t4151 = load ptr, ptr %t4140
%t4152 = call ptr @realloc(ptr %t4151, i64 %t4150)
store ptr %t4152, ptr %t4140
store i32 %t4146, ptr %t4139
br label %put946
put946:
%t4153 = load ptr, ptr %t4140
%t4154 = getelementptr inbounds ptr, ptr %t4153, i32 %t4141
store ptr @.str6176, ptr %t4154
%t4155 = add i32 %t4141, 1
store i32 %t4155, ptr %t4138
%t4156 = load ptr, ptr %t281
%t4157 = getelementptr inbounds %LSlice, ptr %t4156, i32 0, i32 1
%t4158 = getelementptr inbounds %LSlice, ptr %t4156, i32 0, i32 2
%t4159 = getelementptr inbounds %LSlice, ptr %t4156, i32 0, i32 0
%t4160 = load i32, ptr %t4157
%t4161 = load i32, ptr %t4158
%t4162 = icmp sge i32 %t4160, %t4161
br i1 %t4162, label %grow947, label %put948
grow947:
%t4163 = mul i32 %t4161, 2
%t4164 = icmp eq i32 %t4161, 0
%t4165 = select i1 %t4164, i32 8, i32 %t4163
%t4166 = getelementptr ptr, ptr null, i32 1
%t4167 = ptrtoint ptr %t4166 to i64
%t4168 = zext i32 %t4165 to i64
%t4169 = mul i64 %t4168, %t4167
%t4170 = load ptr, ptr %t4159
%t4171 = call ptr @realloc(ptr %t4170, i64 %t4169)
store ptr %t4171, ptr %t4159
store i32 %t4165, ptr %t4158
br label %put948
put948:
%t4172 = load ptr, ptr %t4159
%t4173 = getelementptr inbounds ptr, ptr %t4172, i32 %t4160
store ptr @.str6177, ptr %t4173
%t4174 = add i32 %t4160, 1
store i32 %t4174, ptr %t4157
%t4175 = load ptr, ptr %t281
%t4176 = getelementptr inbounds %LSlice, ptr %t4175, i32 0, i32 1
%t4177 = getelementptr inbounds %LSlice, ptr %t4175, i32 0, i32 2
%t4178 = getelementptr inbounds %LSlice, ptr %t4175, i32 0, i32 0
%t4179 = load i32, ptr %t4176
%t4180 = load i32, ptr %t4177
%t4181 = icmp sge i32 %t4179, %t4180
br i1 %t4181, label %grow949, label %put950
grow949:
%t4182 = mul i32 %t4180, 2
%t4183 = icmp eq i32 %t4180, 0
%t4184 = select i1 %t4183, i32 8, i32 %t4182
%t4185 = getelementptr ptr, ptr null, i32 1
%t4186 = ptrtoint ptr %t4185 to i64
%t4187 = zext i32 %t4184 to i64
%t4188 = mul i64 %t4187, %t4186
%t4189 = load ptr, ptr %t4178
%t4190 = call ptr @realloc(ptr %t4189, i64 %t4188)
store ptr %t4190, ptr %t4178
store i32 %t4184, ptr %t4177
br label %put950
put950:
%t4191 = load ptr, ptr %t4178
%t4192 = getelementptr inbounds ptr, ptr %t4191, i32 %t4179
store ptr @.str6178, ptr %t4192
%t4193 = add i32 %t4179, 1
store i32 %t4193, ptr %t4176
%t4194 = load ptr, ptr %t281
%t4195 = getelementptr inbounds %LSlice, ptr %t4194, i32 0, i32 1
%t4196 = getelementptr inbounds %LSlice, ptr %t4194, i32 0, i32 2
%t4197 = getelementptr inbounds %LSlice, ptr %t4194, i32 0, i32 0
%t4198 = load i32, ptr %t4195
%t4199 = load i32, ptr %t4196
%t4200 = icmp sge i32 %t4198, %t4199
br i1 %t4200, label %grow951, label %put952
grow951:
%t4201 = mul i32 %t4199, 2
%t4202 = icmp eq i32 %t4199, 0
%t4203 = select i1 %t4202, i32 8, i32 %t4201
%t4204 = getelementptr ptr, ptr null, i32 1
%t4205 = ptrtoint ptr %t4204 to i64
%t4206 = zext i32 %t4203 to i64
%t4207 = mul i64 %t4206, %t4205
%t4208 = load ptr, ptr %t4197
%t4209 = call ptr @realloc(ptr %t4208, i64 %t4207)
store ptr %t4209, ptr %t4197
store i32 %t4203, ptr %t4196
br label %put952
put952:
%t4210 = load ptr, ptr %t4197
%t4211 = getelementptr inbounds ptr, ptr %t4210, i32 %t4198
store ptr @.str6179, ptr %t4211
%t4212 = add i32 %t4198, 1
store i32 %t4212, ptr %t4195
br label %ifend942
ifend942:
%t4213 = load ptr, ptr %t1
%t4214 = call i32 @fn_str_eq(ptr %t4213, ptr @.str6180)
%t4215 = icmp ne i32 %t4214, 0
br i1 %t4215, label %then953, label %ifend955
then953:
store ptr @.str6181, ptr %t274
%t4216 = load ptr, ptr %t281
%t4217 = getelementptr inbounds %LSlice, ptr %t4216, i32 0, i32 1
%t4218 = getelementptr inbounds %LSlice, ptr %t4216, i32 0, i32 2
%t4219 = getelementptr inbounds %LSlice, ptr %t4216, i32 0, i32 0
%t4220 = load i32, ptr %t4217
%t4221 = load i32, ptr %t4218
%t4222 = icmp sge i32 %t4220, %t4221
br i1 %t4222, label %grow956, label %put957
grow956:
%t4223 = mul i32 %t4221, 2
%t4224 = icmp eq i32 %t4221, 0
%t4225 = select i1 %t4224, i32 8, i32 %t4223
%t4226 = getelementptr ptr, ptr null, i32 1
%t4227 = ptrtoint ptr %t4226 to i64
%t4228 = zext i32 %t4225 to i64
%t4229 = mul i64 %t4228, %t4227
%t4230 = load ptr, ptr %t4219
%t4231 = call ptr @realloc(ptr %t4230, i64 %t4229)
store ptr %t4231, ptr %t4219
store i32 %t4225, ptr %t4218
br label %put957
put957:
%t4232 = load ptr, ptr %t4219
%t4233 = getelementptr inbounds ptr, ptr %t4232, i32 %t4220
store ptr @.str6182, ptr %t4233
%t4234 = add i32 %t4220, 1
store i32 %t4234, ptr %t4217
%t4235 = load ptr, ptr %t281
%t4236 = getelementptr inbounds %LSlice, ptr %t4235, i32 0, i32 1
%t4237 = getelementptr inbounds %LSlice, ptr %t4235, i32 0, i32 2
%t4238 = getelementptr inbounds %LSlice, ptr %t4235, i32 0, i32 0
%t4239 = load i32, ptr %t4236
%t4240 = load i32, ptr %t4237
%t4241 = icmp sge i32 %t4239, %t4240
br i1 %t4241, label %grow958, label %put959
grow958:
%t4242 = mul i32 %t4240, 2
%t4243 = icmp eq i32 %t4240, 0
%t4244 = select i1 %t4243, i32 8, i32 %t4242
%t4245 = getelementptr ptr, ptr null, i32 1
%t4246 = ptrtoint ptr %t4245 to i64
%t4247 = zext i32 %t4244 to i64
%t4248 = mul i64 %t4247, %t4246
%t4249 = load ptr, ptr %t4238
%t4250 = call ptr @realloc(ptr %t4249, i64 %t4248)
store ptr %t4250, ptr %t4238
store i32 %t4244, ptr %t4237
br label %put959
put959:
%t4251 = load ptr, ptr %t4238
%t4252 = getelementptr inbounds ptr, ptr %t4251, i32 %t4239
store ptr @.str6183, ptr %t4252
%t4253 = add i32 %t4239, 1
store i32 %t4253, ptr %t4236
%t4254 = load ptr, ptr %t281
%t4255 = getelementptr inbounds %LSlice, ptr %t4254, i32 0, i32 1
%t4256 = getelementptr inbounds %LSlice, ptr %t4254, i32 0, i32 2
%t4257 = getelementptr inbounds %LSlice, ptr %t4254, i32 0, i32 0
%t4258 = load i32, ptr %t4255
%t4259 = load i32, ptr %t4256
%t4260 = icmp sge i32 %t4258, %t4259
br i1 %t4260, label %grow960, label %put961
grow960:
%t4261 = mul i32 %t4259, 2
%t4262 = icmp eq i32 %t4259, 0
%t4263 = select i1 %t4262, i32 8, i32 %t4261
%t4264 = getelementptr ptr, ptr null, i32 1
%t4265 = ptrtoint ptr %t4264 to i64
%t4266 = zext i32 %t4263 to i64
%t4267 = mul i64 %t4266, %t4265
%t4268 = load ptr, ptr %t4257
%t4269 = call ptr @realloc(ptr %t4268, i64 %t4267)
store ptr %t4269, ptr %t4257
store i32 %t4263, ptr %t4256
br label %put961
put961:
%t4270 = load ptr, ptr %t4257
%t4271 = getelementptr inbounds ptr, ptr %t4270, i32 %t4258
store ptr @.str6184, ptr %t4271
%t4272 = add i32 %t4258, 1
store i32 %t4272, ptr %t4255
%t4273 = load ptr, ptr %t281
%t4274 = getelementptr inbounds %LSlice, ptr %t4273, i32 0, i32 1
%t4275 = getelementptr inbounds %LSlice, ptr %t4273, i32 0, i32 2
%t4276 = getelementptr inbounds %LSlice, ptr %t4273, i32 0, i32 0
%t4277 = load i32, ptr %t4274
%t4278 = load i32, ptr %t4275
%t4279 = icmp sge i32 %t4277, %t4278
br i1 %t4279, label %grow962, label %put963
grow962:
%t4280 = mul i32 %t4278, 2
%t4281 = icmp eq i32 %t4278, 0
%t4282 = select i1 %t4281, i32 8, i32 %t4280
%t4283 = getelementptr ptr, ptr null, i32 1
%t4284 = ptrtoint ptr %t4283 to i64
%t4285 = zext i32 %t4282 to i64
%t4286 = mul i64 %t4285, %t4284
%t4287 = load ptr, ptr %t4276
%t4288 = call ptr @realloc(ptr %t4287, i64 %t4286)
store ptr %t4288, ptr %t4276
store i32 %t4282, ptr %t4275
br label %put963
put963:
%t4289 = load ptr, ptr %t4276
%t4290 = getelementptr inbounds ptr, ptr %t4289, i32 %t4277
store ptr @.str6185, ptr %t4290
%t4291 = add i32 %t4277, 1
store i32 %t4291, ptr %t4274
%t4292 = load ptr, ptr %t281
%t4293 = getelementptr inbounds %LSlice, ptr %t4292, i32 0, i32 1
%t4294 = getelementptr inbounds %LSlice, ptr %t4292, i32 0, i32 2
%t4295 = getelementptr inbounds %LSlice, ptr %t4292, i32 0, i32 0
%t4296 = load i32, ptr %t4293
%t4297 = load i32, ptr %t4294
%t4298 = icmp sge i32 %t4296, %t4297
br i1 %t4298, label %grow964, label %put965
grow964:
%t4299 = mul i32 %t4297, 2
%t4300 = icmp eq i32 %t4297, 0
%t4301 = select i1 %t4300, i32 8, i32 %t4299
%t4302 = getelementptr ptr, ptr null, i32 1
%t4303 = ptrtoint ptr %t4302 to i64
%t4304 = zext i32 %t4301 to i64
%t4305 = mul i64 %t4304, %t4303
%t4306 = load ptr, ptr %t4295
%t4307 = call ptr @realloc(ptr %t4306, i64 %t4305)
store ptr %t4307, ptr %t4295
store i32 %t4301, ptr %t4294
br label %put965
put965:
%t4308 = load ptr, ptr %t4295
%t4309 = getelementptr inbounds ptr, ptr %t4308, i32 %t4296
store ptr @.str6186, ptr %t4309
%t4310 = add i32 %t4296, 1
store i32 %t4310, ptr %t4293
%t4311 = load ptr, ptr %t281
%t4312 = getelementptr inbounds %LSlice, ptr %t4311, i32 0, i32 1
%t4313 = getelementptr inbounds %LSlice, ptr %t4311, i32 0, i32 2
%t4314 = getelementptr inbounds %LSlice, ptr %t4311, i32 0, i32 0
%t4315 = load i32, ptr %t4312
%t4316 = load i32, ptr %t4313
%t4317 = icmp sge i32 %t4315, %t4316
br i1 %t4317, label %grow966, label %put967
grow966:
%t4318 = mul i32 %t4316, 2
%t4319 = icmp eq i32 %t4316, 0
%t4320 = select i1 %t4319, i32 8, i32 %t4318
%t4321 = getelementptr ptr, ptr null, i32 1
%t4322 = ptrtoint ptr %t4321 to i64
%t4323 = zext i32 %t4320 to i64
%t4324 = mul i64 %t4323, %t4322
%t4325 = load ptr, ptr %t4314
%t4326 = call ptr @realloc(ptr %t4325, i64 %t4324)
store ptr %t4326, ptr %t4314
store i32 %t4320, ptr %t4313
br label %put967
put967:
%t4327 = load ptr, ptr %t4314
%t4328 = getelementptr inbounds ptr, ptr %t4327, i32 %t4315
store ptr @.str6187, ptr %t4328
%t4329 = add i32 %t4315, 1
store i32 %t4329, ptr %t4312
%t4330 = load ptr, ptr %t281
%t4331 = getelementptr inbounds %LSlice, ptr %t4330, i32 0, i32 1
%t4332 = getelementptr inbounds %LSlice, ptr %t4330, i32 0, i32 2
%t4333 = getelementptr inbounds %LSlice, ptr %t4330, i32 0, i32 0
%t4334 = load i32, ptr %t4331
%t4335 = load i32, ptr %t4332
%t4336 = icmp sge i32 %t4334, %t4335
br i1 %t4336, label %grow968, label %put969
grow968:
%t4337 = mul i32 %t4335, 2
%t4338 = icmp eq i32 %t4335, 0
%t4339 = select i1 %t4338, i32 8, i32 %t4337
%t4340 = getelementptr ptr, ptr null, i32 1
%t4341 = ptrtoint ptr %t4340 to i64
%t4342 = zext i32 %t4339 to i64
%t4343 = mul i64 %t4342, %t4341
%t4344 = load ptr, ptr %t4333
%t4345 = call ptr @realloc(ptr %t4344, i64 %t4343)
store ptr %t4345, ptr %t4333
store i32 %t4339, ptr %t4332
br label %put969
put969:
%t4346 = load ptr, ptr %t4333
%t4347 = getelementptr inbounds ptr, ptr %t4346, i32 %t4334
store ptr @.str6188, ptr %t4347
%t4348 = add i32 %t4334, 1
store i32 %t4348, ptr %t4331
br label %ifend955
ifend955:
%t4349 = load ptr, ptr %t1
%t4350 = call i32 @fn_str_eq(ptr %t4349, ptr @.str6189)
%t4351 = icmp ne i32 %t4350, 0
br i1 %t4351, label %then970, label %ifend972
then970:
store ptr @.str6190, ptr %t274
%t4352 = load ptr, ptr %t281
%t4353 = getelementptr inbounds %LSlice, ptr %t4352, i32 0, i32 1
%t4354 = getelementptr inbounds %LSlice, ptr %t4352, i32 0, i32 2
%t4355 = getelementptr inbounds %LSlice, ptr %t4352, i32 0, i32 0
%t4356 = load i32, ptr %t4353
%t4357 = load i32, ptr %t4354
%t4358 = icmp sge i32 %t4356, %t4357
br i1 %t4358, label %grow973, label %put974
grow973:
%t4359 = mul i32 %t4357, 2
%t4360 = icmp eq i32 %t4357, 0
%t4361 = select i1 %t4360, i32 8, i32 %t4359
%t4362 = getelementptr ptr, ptr null, i32 1
%t4363 = ptrtoint ptr %t4362 to i64
%t4364 = zext i32 %t4361 to i64
%t4365 = mul i64 %t4364, %t4363
%t4366 = load ptr, ptr %t4355
%t4367 = call ptr @realloc(ptr %t4366, i64 %t4365)
store ptr %t4367, ptr %t4355
store i32 %t4361, ptr %t4354
br label %put974
put974:
%t4368 = load ptr, ptr %t4355
%t4369 = getelementptr inbounds ptr, ptr %t4368, i32 %t4356
store ptr @.str6191, ptr %t4369
%t4370 = add i32 %t4356, 1
store i32 %t4370, ptr %t4353
%t4371 = load ptr, ptr %t281
%t4372 = getelementptr inbounds %LSlice, ptr %t4371, i32 0, i32 1
%t4373 = getelementptr inbounds %LSlice, ptr %t4371, i32 0, i32 2
%t4374 = getelementptr inbounds %LSlice, ptr %t4371, i32 0, i32 0
%t4375 = load i32, ptr %t4372
%t4376 = load i32, ptr %t4373
%t4377 = icmp sge i32 %t4375, %t4376
br i1 %t4377, label %grow975, label %put976
grow975:
%t4378 = mul i32 %t4376, 2
%t4379 = icmp eq i32 %t4376, 0
%t4380 = select i1 %t4379, i32 8, i32 %t4378
%t4381 = getelementptr ptr, ptr null, i32 1
%t4382 = ptrtoint ptr %t4381 to i64
%t4383 = zext i32 %t4380 to i64
%t4384 = mul i64 %t4383, %t4382
%t4385 = load ptr, ptr %t4374
%t4386 = call ptr @realloc(ptr %t4385, i64 %t4384)
store ptr %t4386, ptr %t4374
store i32 %t4380, ptr %t4373
br label %put976
put976:
%t4387 = load ptr, ptr %t4374
%t4388 = getelementptr inbounds ptr, ptr %t4387, i32 %t4375
store ptr @.str6192, ptr %t4388
%t4389 = add i32 %t4375, 1
store i32 %t4389, ptr %t4372
%t4390 = load ptr, ptr %t281
%t4391 = getelementptr inbounds %LSlice, ptr %t4390, i32 0, i32 1
%t4392 = getelementptr inbounds %LSlice, ptr %t4390, i32 0, i32 2
%t4393 = getelementptr inbounds %LSlice, ptr %t4390, i32 0, i32 0
%t4394 = load i32, ptr %t4391
%t4395 = load i32, ptr %t4392
%t4396 = icmp sge i32 %t4394, %t4395
br i1 %t4396, label %grow977, label %put978
grow977:
%t4397 = mul i32 %t4395, 2
%t4398 = icmp eq i32 %t4395, 0
%t4399 = select i1 %t4398, i32 8, i32 %t4397
%t4400 = getelementptr ptr, ptr null, i32 1
%t4401 = ptrtoint ptr %t4400 to i64
%t4402 = zext i32 %t4399 to i64
%t4403 = mul i64 %t4402, %t4401
%t4404 = load ptr, ptr %t4393
%t4405 = call ptr @realloc(ptr %t4404, i64 %t4403)
store ptr %t4405, ptr %t4393
store i32 %t4399, ptr %t4392
br label %put978
put978:
%t4406 = load ptr, ptr %t4393
%t4407 = getelementptr inbounds ptr, ptr %t4406, i32 %t4394
store ptr @.str6193, ptr %t4407
%t4408 = add i32 %t4394, 1
store i32 %t4408, ptr %t4391
%t4409 = load ptr, ptr %t281
%t4410 = getelementptr inbounds %LSlice, ptr %t4409, i32 0, i32 1
%t4411 = getelementptr inbounds %LSlice, ptr %t4409, i32 0, i32 2
%t4412 = getelementptr inbounds %LSlice, ptr %t4409, i32 0, i32 0
%t4413 = load i32, ptr %t4410
%t4414 = load i32, ptr %t4411
%t4415 = icmp sge i32 %t4413, %t4414
br i1 %t4415, label %grow979, label %put980
grow979:
%t4416 = mul i32 %t4414, 2
%t4417 = icmp eq i32 %t4414, 0
%t4418 = select i1 %t4417, i32 8, i32 %t4416
%t4419 = getelementptr ptr, ptr null, i32 1
%t4420 = ptrtoint ptr %t4419 to i64
%t4421 = zext i32 %t4418 to i64
%t4422 = mul i64 %t4421, %t4420
%t4423 = load ptr, ptr %t4412
%t4424 = call ptr @realloc(ptr %t4423, i64 %t4422)
store ptr %t4424, ptr %t4412
store i32 %t4418, ptr %t4411
br label %put980
put980:
%t4425 = load ptr, ptr %t4412
%t4426 = getelementptr inbounds ptr, ptr %t4425, i32 %t4413
store ptr @.str6194, ptr %t4426
%t4427 = add i32 %t4413, 1
store i32 %t4427, ptr %t4410
br label %ifend972
ifend972:
%t4428 = load ptr, ptr %t1
%t4429 = call i32 @fn_str_eq(ptr %t4428, ptr @.str6195)
%t4430 = icmp ne i32 %t4429, 0
br i1 %t4430, label %then981, label %ifend983
then981:
store ptr @.str6196, ptr %t274
br label %ifend983
ifend983:
%t4431 = load ptr, ptr %t1
%t4432 = call i32 @fn_str_eq(ptr %t4431, ptr @.str6197)
%t4433 = icmp ne i32 %t4432, 0
br i1 %t4433, label %then984, label %ifend986
then984:
store ptr @.str6198, ptr %t274
%t4434 = load ptr, ptr %t281
%t4435 = getelementptr inbounds %LSlice, ptr %t4434, i32 0, i32 1
%t4436 = getelementptr inbounds %LSlice, ptr %t4434, i32 0, i32 2
%t4437 = getelementptr inbounds %LSlice, ptr %t4434, i32 0, i32 0
%t4438 = load i32, ptr %t4435
%t4439 = load i32, ptr %t4436
%t4440 = icmp sge i32 %t4438, %t4439
br i1 %t4440, label %grow987, label %put988
grow987:
%t4441 = mul i32 %t4439, 2
%t4442 = icmp eq i32 %t4439, 0
%t4443 = select i1 %t4442, i32 8, i32 %t4441
%t4444 = getelementptr ptr, ptr null, i32 1
%t4445 = ptrtoint ptr %t4444 to i64
%t4446 = zext i32 %t4443 to i64
%t4447 = mul i64 %t4446, %t4445
%t4448 = load ptr, ptr %t4437
%t4449 = call ptr @realloc(ptr %t4448, i64 %t4447)
store ptr %t4449, ptr %t4437
store i32 %t4443, ptr %t4436
br label %put988
put988:
%t4450 = load ptr, ptr %t4437
%t4451 = getelementptr inbounds ptr, ptr %t4450, i32 %t4438
store ptr @.str6199, ptr %t4451
%t4452 = add i32 %t4438, 1
store i32 %t4452, ptr %t4435
br label %ifend986
ifend986:
%t4453 = load ptr, ptr %t1
%t4454 = call i32 @fn_str_eq(ptr %t4453, ptr @.str6200)
%t4455 = icmp ne i32 %t4454, 0
br i1 %t4455, label %then989, label %ifend991
then989:
store ptr @.str6201, ptr %t274
%t4456 = load ptr, ptr %t281
%t4457 = getelementptr inbounds %LSlice, ptr %t4456, i32 0, i32 1
%t4458 = getelementptr inbounds %LSlice, ptr %t4456, i32 0, i32 2
%t4459 = getelementptr inbounds %LSlice, ptr %t4456, i32 0, i32 0
%t4460 = load i32, ptr %t4457
%t4461 = load i32, ptr %t4458
%t4462 = icmp sge i32 %t4460, %t4461
br i1 %t4462, label %grow992, label %put993
grow992:
%t4463 = mul i32 %t4461, 2
%t4464 = icmp eq i32 %t4461, 0
%t4465 = select i1 %t4464, i32 8, i32 %t4463
%t4466 = getelementptr ptr, ptr null, i32 1
%t4467 = ptrtoint ptr %t4466 to i64
%t4468 = zext i32 %t4465 to i64
%t4469 = mul i64 %t4468, %t4467
%t4470 = load ptr, ptr %t4459
%t4471 = call ptr @realloc(ptr %t4470, i64 %t4469)
store ptr %t4471, ptr %t4459
store i32 %t4465, ptr %t4458
br label %put993
put993:
%t4472 = load ptr, ptr %t4459
%t4473 = getelementptr inbounds ptr, ptr %t4472, i32 %t4460
store ptr @.str6202, ptr %t4473
%t4474 = add i32 %t4460, 1
store i32 %t4474, ptr %t4457
br label %ifend991
ifend991:
%t4475 = load ptr, ptr %t1
%t4476 = call i32 @fn_str_eq(ptr %t4475, ptr @.str6203)
%t4477 = icmp ne i32 %t4476, 0
br i1 %t4477, label %then994, label %ifend996
then994:
store ptr @.str6204, ptr %t274
%t4478 = load ptr, ptr %t281
%t4479 = getelementptr inbounds %LSlice, ptr %t4478, i32 0, i32 1
%t4480 = getelementptr inbounds %LSlice, ptr %t4478, i32 0, i32 2
%t4481 = getelementptr inbounds %LSlice, ptr %t4478, i32 0, i32 0
%t4482 = load i32, ptr %t4479
%t4483 = load i32, ptr %t4480
%t4484 = icmp sge i32 %t4482, %t4483
br i1 %t4484, label %grow997, label %put998
grow997:
%t4485 = mul i32 %t4483, 2
%t4486 = icmp eq i32 %t4483, 0
%t4487 = select i1 %t4486, i32 8, i32 %t4485
%t4488 = getelementptr ptr, ptr null, i32 1
%t4489 = ptrtoint ptr %t4488 to i64
%t4490 = zext i32 %t4487 to i64
%t4491 = mul i64 %t4490, %t4489
%t4492 = load ptr, ptr %t4481
%t4493 = call ptr @realloc(ptr %t4492, i64 %t4491)
store ptr %t4493, ptr %t4481
store i32 %t4487, ptr %t4480
br label %put998
put998:
%t4494 = load ptr, ptr %t4481
%t4495 = getelementptr inbounds ptr, ptr %t4494, i32 %t4482
store ptr @.str6205, ptr %t4495
%t4496 = add i32 %t4482, 1
store i32 %t4496, ptr %t4479
br label %ifend996
ifend996:
%t4497 = load ptr, ptr %t1
%t4498 = call i32 @fn_str_eq(ptr %t4497, ptr @.str6206)
%t4499 = icmp ne i32 %t4498, 0
br i1 %t4499, label %then999, label %ifend1001
then999:
store ptr @.str6207, ptr %t274
br label %ifend1001
ifend1001:
%t4500 = load ptr, ptr %t1
%t4501 = call i32 @fn_str_eq(ptr %t4500, ptr @.str6208)
%t4502 = icmp ne i32 %t4501, 0
br i1 %t4502, label %then1002, label %ifend1004
then1002:
store ptr @.str6209, ptr %t274
%t4503 = load ptr, ptr %t281
%t4504 = getelementptr inbounds %LSlice, ptr %t4503, i32 0, i32 1
%t4505 = getelementptr inbounds %LSlice, ptr %t4503, i32 0, i32 2
%t4506 = getelementptr inbounds %LSlice, ptr %t4503, i32 0, i32 0
%t4507 = load i32, ptr %t4504
%t4508 = load i32, ptr %t4505
%t4509 = icmp sge i32 %t4507, %t4508
br i1 %t4509, label %grow1005, label %put1006
grow1005:
%t4510 = mul i32 %t4508, 2
%t4511 = icmp eq i32 %t4508, 0
%t4512 = select i1 %t4511, i32 8, i32 %t4510
%t4513 = getelementptr ptr, ptr null, i32 1
%t4514 = ptrtoint ptr %t4513 to i64
%t4515 = zext i32 %t4512 to i64
%t4516 = mul i64 %t4515, %t4514
%t4517 = load ptr, ptr %t4506
%t4518 = call ptr @realloc(ptr %t4517, i64 %t4516)
store ptr %t4518, ptr %t4506
store i32 %t4512, ptr %t4505
br label %put1006
put1006:
%t4519 = load ptr, ptr %t4506
%t4520 = getelementptr inbounds ptr, ptr %t4519, i32 %t4507
store ptr @.str6210, ptr %t4520
%t4521 = add i32 %t4507, 1
store i32 %t4521, ptr %t4504
br label %ifend1004
ifend1004:
%t4522 = load ptr, ptr %t1
%t4523 = call i32 @fn_str_eq(ptr %t4522, ptr @.str6211)
%t4524 = icmp ne i32 %t4523, 0
br i1 %t4524, label %then1007, label %ifend1009
then1007:
store ptr @.str6212, ptr %t274
%t4525 = load ptr, ptr %t281
%t4526 = getelementptr inbounds %LSlice, ptr %t4525, i32 0, i32 1
%t4527 = getelementptr inbounds %LSlice, ptr %t4525, i32 0, i32 2
%t4528 = getelementptr inbounds %LSlice, ptr %t4525, i32 0, i32 0
%t4529 = load i32, ptr %t4526
%t4530 = load i32, ptr %t4527
%t4531 = icmp sge i32 %t4529, %t4530
br i1 %t4531, label %grow1010, label %put1011
grow1010:
%t4532 = mul i32 %t4530, 2
%t4533 = icmp eq i32 %t4530, 0
%t4534 = select i1 %t4533, i32 8, i32 %t4532
%t4535 = getelementptr ptr, ptr null, i32 1
%t4536 = ptrtoint ptr %t4535 to i64
%t4537 = zext i32 %t4534 to i64
%t4538 = mul i64 %t4537, %t4536
%t4539 = load ptr, ptr %t4528
%t4540 = call ptr @realloc(ptr %t4539, i64 %t4538)
store ptr %t4540, ptr %t4528
store i32 %t4534, ptr %t4527
br label %put1011
put1011:
%t4541 = load ptr, ptr %t4528
%t4542 = getelementptr inbounds ptr, ptr %t4541, i32 %t4529
store ptr @.str6213, ptr %t4542
%t4543 = add i32 %t4529, 1
store i32 %t4543, ptr %t4526
%t4544 = load ptr, ptr %t281
%t4545 = getelementptr inbounds %LSlice, ptr %t4544, i32 0, i32 1
%t4546 = getelementptr inbounds %LSlice, ptr %t4544, i32 0, i32 2
%t4547 = getelementptr inbounds %LSlice, ptr %t4544, i32 0, i32 0
%t4548 = load i32, ptr %t4545
%t4549 = load i32, ptr %t4546
%t4550 = icmp sge i32 %t4548, %t4549
br i1 %t4550, label %grow1012, label %put1013
grow1012:
%t4551 = mul i32 %t4549, 2
%t4552 = icmp eq i32 %t4549, 0
%t4553 = select i1 %t4552, i32 8, i32 %t4551
%t4554 = getelementptr ptr, ptr null, i32 1
%t4555 = ptrtoint ptr %t4554 to i64
%t4556 = zext i32 %t4553 to i64
%t4557 = mul i64 %t4556, %t4555
%t4558 = load ptr, ptr %t4547
%t4559 = call ptr @realloc(ptr %t4558, i64 %t4557)
store ptr %t4559, ptr %t4547
store i32 %t4553, ptr %t4546
br label %put1013
put1013:
%t4560 = load ptr, ptr %t4547
%t4561 = getelementptr inbounds ptr, ptr %t4560, i32 %t4548
store ptr @.str6214, ptr %t4561
%t4562 = add i32 %t4548, 1
store i32 %t4562, ptr %t4545
%t4563 = load ptr, ptr %t281
%t4564 = getelementptr inbounds %LSlice, ptr %t4563, i32 0, i32 1
%t4565 = getelementptr inbounds %LSlice, ptr %t4563, i32 0, i32 2
%t4566 = getelementptr inbounds %LSlice, ptr %t4563, i32 0, i32 0
%t4567 = load i32, ptr %t4564
%t4568 = load i32, ptr %t4565
%t4569 = icmp sge i32 %t4567, %t4568
br i1 %t4569, label %grow1014, label %put1015
grow1014:
%t4570 = mul i32 %t4568, 2
%t4571 = icmp eq i32 %t4568, 0
%t4572 = select i1 %t4571, i32 8, i32 %t4570
%t4573 = getelementptr ptr, ptr null, i32 1
%t4574 = ptrtoint ptr %t4573 to i64
%t4575 = zext i32 %t4572 to i64
%t4576 = mul i64 %t4575, %t4574
%t4577 = load ptr, ptr %t4566
%t4578 = call ptr @realloc(ptr %t4577, i64 %t4576)
store ptr %t4578, ptr %t4566
store i32 %t4572, ptr %t4565
br label %put1015
put1015:
%t4579 = load ptr, ptr %t4566
%t4580 = getelementptr inbounds ptr, ptr %t4579, i32 %t4567
store ptr @.str6215, ptr %t4580
%t4581 = add i32 %t4567, 1
store i32 %t4581, ptr %t4564
%t4582 = load ptr, ptr %t281
%t4583 = getelementptr inbounds %LSlice, ptr %t4582, i32 0, i32 1
%t4584 = getelementptr inbounds %LSlice, ptr %t4582, i32 0, i32 2
%t4585 = getelementptr inbounds %LSlice, ptr %t4582, i32 0, i32 0
%t4586 = load i32, ptr %t4583
%t4587 = load i32, ptr %t4584
%t4588 = icmp sge i32 %t4586, %t4587
br i1 %t4588, label %grow1016, label %put1017
grow1016:
%t4589 = mul i32 %t4587, 2
%t4590 = icmp eq i32 %t4587, 0
%t4591 = select i1 %t4590, i32 8, i32 %t4589
%t4592 = getelementptr ptr, ptr null, i32 1
%t4593 = ptrtoint ptr %t4592 to i64
%t4594 = zext i32 %t4591 to i64
%t4595 = mul i64 %t4594, %t4593
%t4596 = load ptr, ptr %t4585
%t4597 = call ptr @realloc(ptr %t4596, i64 %t4595)
store ptr %t4597, ptr %t4585
store i32 %t4591, ptr %t4584
br label %put1017
put1017:
%t4598 = load ptr, ptr %t4585
%t4599 = getelementptr inbounds ptr, ptr %t4598, i32 %t4586
store ptr @.str6216, ptr %t4599
%t4600 = add i32 %t4586, 1
store i32 %t4600, ptr %t4583
%t4601 = load ptr, ptr %t281
%t4602 = getelementptr inbounds %LSlice, ptr %t4601, i32 0, i32 1
%t4603 = getelementptr inbounds %LSlice, ptr %t4601, i32 0, i32 2
%t4604 = getelementptr inbounds %LSlice, ptr %t4601, i32 0, i32 0
%t4605 = load i32, ptr %t4602
%t4606 = load i32, ptr %t4603
%t4607 = icmp sge i32 %t4605, %t4606
br i1 %t4607, label %grow1018, label %put1019
grow1018:
%t4608 = mul i32 %t4606, 2
%t4609 = icmp eq i32 %t4606, 0
%t4610 = select i1 %t4609, i32 8, i32 %t4608
%t4611 = getelementptr ptr, ptr null, i32 1
%t4612 = ptrtoint ptr %t4611 to i64
%t4613 = zext i32 %t4610 to i64
%t4614 = mul i64 %t4613, %t4612
%t4615 = load ptr, ptr %t4604
%t4616 = call ptr @realloc(ptr %t4615, i64 %t4614)
store ptr %t4616, ptr %t4604
store i32 %t4610, ptr %t4603
br label %put1019
put1019:
%t4617 = load ptr, ptr %t4604
%t4618 = getelementptr inbounds ptr, ptr %t4617, i32 %t4605
store ptr @.str6217, ptr %t4618
%t4619 = add i32 %t4605, 1
store i32 %t4619, ptr %t4602
%t4620 = load ptr, ptr %t281
%t4621 = getelementptr inbounds %LSlice, ptr %t4620, i32 0, i32 1
%t4622 = getelementptr inbounds %LSlice, ptr %t4620, i32 0, i32 2
%t4623 = getelementptr inbounds %LSlice, ptr %t4620, i32 0, i32 0
%t4624 = load i32, ptr %t4621
%t4625 = load i32, ptr %t4622
%t4626 = icmp sge i32 %t4624, %t4625
br i1 %t4626, label %grow1020, label %put1021
grow1020:
%t4627 = mul i32 %t4625, 2
%t4628 = icmp eq i32 %t4625, 0
%t4629 = select i1 %t4628, i32 8, i32 %t4627
%t4630 = getelementptr ptr, ptr null, i32 1
%t4631 = ptrtoint ptr %t4630 to i64
%t4632 = zext i32 %t4629 to i64
%t4633 = mul i64 %t4632, %t4631
%t4634 = load ptr, ptr %t4623
%t4635 = call ptr @realloc(ptr %t4634, i64 %t4633)
store ptr %t4635, ptr %t4623
store i32 %t4629, ptr %t4622
br label %put1021
put1021:
%t4636 = load ptr, ptr %t4623
%t4637 = getelementptr inbounds ptr, ptr %t4636, i32 %t4624
store ptr @.str6218, ptr %t4637
%t4638 = add i32 %t4624, 1
store i32 %t4638, ptr %t4621
br label %ifend1009
ifend1009:
%t4639 = load ptr, ptr %t1
%t4640 = call i32 @fn_str_eq(ptr %t4639, ptr @.str6219)
%t4641 = icmp ne i32 %t4640, 0
br i1 %t4641, label %then1022, label %ifend1024
then1022:
store ptr @.str6220, ptr %t274
br label %ifend1024
ifend1024:
%t4642 = load ptr, ptr %t1
%t4643 = call i32 @fn_str_eq(ptr %t4642, ptr @.str6221)
%t4644 = icmp ne i32 %t4643, 0
br i1 %t4644, label %then1025, label %ifend1027
then1025:
store ptr @.str6222, ptr %t274
%t4645 = load ptr, ptr %t281
%t4646 = getelementptr inbounds %LSlice, ptr %t4645, i32 0, i32 1
%t4647 = getelementptr inbounds %LSlice, ptr %t4645, i32 0, i32 2
%t4648 = getelementptr inbounds %LSlice, ptr %t4645, i32 0, i32 0
%t4649 = load i32, ptr %t4646
%t4650 = load i32, ptr %t4647
%t4651 = icmp sge i32 %t4649, %t4650
br i1 %t4651, label %grow1028, label %put1029
grow1028:
%t4652 = mul i32 %t4650, 2
%t4653 = icmp eq i32 %t4650, 0
%t4654 = select i1 %t4653, i32 8, i32 %t4652
%t4655 = getelementptr ptr, ptr null, i32 1
%t4656 = ptrtoint ptr %t4655 to i64
%t4657 = zext i32 %t4654 to i64
%t4658 = mul i64 %t4657, %t4656
%t4659 = load ptr, ptr %t4648
%t4660 = call ptr @realloc(ptr %t4659, i64 %t4658)
store ptr %t4660, ptr %t4648
store i32 %t4654, ptr %t4647
br label %put1029
put1029:
%t4661 = load ptr, ptr %t4648
%t4662 = getelementptr inbounds ptr, ptr %t4661, i32 %t4649
store ptr @.str6223, ptr %t4662
%t4663 = add i32 %t4649, 1
store i32 %t4663, ptr %t4646
br label %ifend1027
ifend1027:
br label %ifend934
ifend934:
%t4664 = load ptr, ptr %t0
%t4665 = call i32 @fn_str_eq(ptr %t4664, ptr @.str6224)
%t4666 = icmp ne i32 %t4665, 0
br i1 %t4666, label %then1030, label %ifend1032
then1030:
%t4667 = load ptr, ptr %t1
%t4668 = call i32 @fn_str_eq(ptr %t4667, ptr @.str6225)
%t4669 = icmp ne i32 %t4668, 0
br i1 %t4669, label %then1033, label %ifend1035
then1033:
store ptr @.str6226, ptr %t274
%t4670 = load ptr, ptr %t281
%t4671 = getelementptr inbounds %LSlice, ptr %t4670, i32 0, i32 1
%t4672 = getelementptr inbounds %LSlice, ptr %t4670, i32 0, i32 2
%t4673 = getelementptr inbounds %LSlice, ptr %t4670, i32 0, i32 0
%t4674 = load i32, ptr %t4671
%t4675 = load i32, ptr %t4672
%t4676 = icmp sge i32 %t4674, %t4675
br i1 %t4676, label %grow1036, label %put1037
grow1036:
%t4677 = mul i32 %t4675, 2
%t4678 = icmp eq i32 %t4675, 0
%t4679 = select i1 %t4678, i32 8, i32 %t4677
%t4680 = getelementptr ptr, ptr null, i32 1
%t4681 = ptrtoint ptr %t4680 to i64
%t4682 = zext i32 %t4679 to i64
%t4683 = mul i64 %t4682, %t4681
%t4684 = load ptr, ptr %t4673
%t4685 = call ptr @realloc(ptr %t4684, i64 %t4683)
store ptr %t4685, ptr %t4673
store i32 %t4679, ptr %t4672
br label %put1037
put1037:
%t4686 = load ptr, ptr %t4673
%t4687 = getelementptr inbounds ptr, ptr %t4686, i32 %t4674
store ptr @.str6227, ptr %t4687
%t4688 = add i32 %t4674, 1
store i32 %t4688, ptr %t4671
%t4689 = load ptr, ptr %t281
%t4690 = getelementptr inbounds %LSlice, ptr %t4689, i32 0, i32 1
%t4691 = getelementptr inbounds %LSlice, ptr %t4689, i32 0, i32 2
%t4692 = getelementptr inbounds %LSlice, ptr %t4689, i32 0, i32 0
%t4693 = load i32, ptr %t4690
%t4694 = load i32, ptr %t4691
%t4695 = icmp sge i32 %t4693, %t4694
br i1 %t4695, label %grow1038, label %put1039
grow1038:
%t4696 = mul i32 %t4694, 2
%t4697 = icmp eq i32 %t4694, 0
%t4698 = select i1 %t4697, i32 8, i32 %t4696
%t4699 = getelementptr ptr, ptr null, i32 1
%t4700 = ptrtoint ptr %t4699 to i64
%t4701 = zext i32 %t4698 to i64
%t4702 = mul i64 %t4701, %t4700
%t4703 = load ptr, ptr %t4692
%t4704 = call ptr @realloc(ptr %t4703, i64 %t4702)
store ptr %t4704, ptr %t4692
store i32 %t4698, ptr %t4691
br label %put1039
put1039:
%t4705 = load ptr, ptr %t4692
%t4706 = getelementptr inbounds ptr, ptr %t4705, i32 %t4693
store ptr @.str6228, ptr %t4706
%t4707 = add i32 %t4693, 1
store i32 %t4707, ptr %t4690
%t4708 = load ptr, ptr %t281
%t4709 = getelementptr inbounds %LSlice, ptr %t4708, i32 0, i32 1
%t4710 = getelementptr inbounds %LSlice, ptr %t4708, i32 0, i32 2
%t4711 = getelementptr inbounds %LSlice, ptr %t4708, i32 0, i32 0
%t4712 = load i32, ptr %t4709
%t4713 = load i32, ptr %t4710
%t4714 = icmp sge i32 %t4712, %t4713
br i1 %t4714, label %grow1040, label %put1041
grow1040:
%t4715 = mul i32 %t4713, 2
%t4716 = icmp eq i32 %t4713, 0
%t4717 = select i1 %t4716, i32 8, i32 %t4715
%t4718 = getelementptr ptr, ptr null, i32 1
%t4719 = ptrtoint ptr %t4718 to i64
%t4720 = zext i32 %t4717 to i64
%t4721 = mul i64 %t4720, %t4719
%t4722 = load ptr, ptr %t4711
%t4723 = call ptr @realloc(ptr %t4722, i64 %t4721)
store ptr %t4723, ptr %t4711
store i32 %t4717, ptr %t4710
br label %put1041
put1041:
%t4724 = load ptr, ptr %t4711
%t4725 = getelementptr inbounds ptr, ptr %t4724, i32 %t4712
store ptr @.str6229, ptr %t4725
%t4726 = add i32 %t4712, 1
store i32 %t4726, ptr %t4709
%t4727 = load ptr, ptr %t281
%t4728 = getelementptr inbounds %LSlice, ptr %t4727, i32 0, i32 1
%t4729 = getelementptr inbounds %LSlice, ptr %t4727, i32 0, i32 2
%t4730 = getelementptr inbounds %LSlice, ptr %t4727, i32 0, i32 0
%t4731 = load i32, ptr %t4728
%t4732 = load i32, ptr %t4729
%t4733 = icmp sge i32 %t4731, %t4732
br i1 %t4733, label %grow1042, label %put1043
grow1042:
%t4734 = mul i32 %t4732, 2
%t4735 = icmp eq i32 %t4732, 0
%t4736 = select i1 %t4735, i32 8, i32 %t4734
%t4737 = getelementptr ptr, ptr null, i32 1
%t4738 = ptrtoint ptr %t4737 to i64
%t4739 = zext i32 %t4736 to i64
%t4740 = mul i64 %t4739, %t4738
%t4741 = load ptr, ptr %t4730
%t4742 = call ptr @realloc(ptr %t4741, i64 %t4740)
store ptr %t4742, ptr %t4730
store i32 %t4736, ptr %t4729
br label %put1043
put1043:
%t4743 = load ptr, ptr %t4730
%t4744 = getelementptr inbounds ptr, ptr %t4743, i32 %t4731
store ptr @.str6230, ptr %t4744
%t4745 = add i32 %t4731, 1
store i32 %t4745, ptr %t4728
br label %ifend1035
ifend1035:
%t4746 = load ptr, ptr %t1
%t4747 = call i32 @fn_str_eq(ptr %t4746, ptr @.str6231)
%t4748 = icmp ne i32 %t4747, 0
br i1 %t4748, label %then1044, label %ifend1046
then1044:
store ptr @.str6232, ptr %t274
%t4749 = load ptr, ptr %t281
%t4750 = getelementptr inbounds %LSlice, ptr %t4749, i32 0, i32 1
%t4751 = getelementptr inbounds %LSlice, ptr %t4749, i32 0, i32 2
%t4752 = getelementptr inbounds %LSlice, ptr %t4749, i32 0, i32 0
%t4753 = load i32, ptr %t4750
%t4754 = load i32, ptr %t4751
%t4755 = icmp sge i32 %t4753, %t4754
br i1 %t4755, label %grow1047, label %put1048
grow1047:
%t4756 = mul i32 %t4754, 2
%t4757 = icmp eq i32 %t4754, 0
%t4758 = select i1 %t4757, i32 8, i32 %t4756
%t4759 = getelementptr ptr, ptr null, i32 1
%t4760 = ptrtoint ptr %t4759 to i64
%t4761 = zext i32 %t4758 to i64
%t4762 = mul i64 %t4761, %t4760
%t4763 = load ptr, ptr %t4752
%t4764 = call ptr @realloc(ptr %t4763, i64 %t4762)
store ptr %t4764, ptr %t4752
store i32 %t4758, ptr %t4751
br label %put1048
put1048:
%t4765 = load ptr, ptr %t4752
%t4766 = getelementptr inbounds ptr, ptr %t4765, i32 %t4753
store ptr @.str6233, ptr %t4766
%t4767 = add i32 %t4753, 1
store i32 %t4767, ptr %t4750
%t4768 = load ptr, ptr %t281
%t4769 = getelementptr inbounds %LSlice, ptr %t4768, i32 0, i32 1
%t4770 = getelementptr inbounds %LSlice, ptr %t4768, i32 0, i32 2
%t4771 = getelementptr inbounds %LSlice, ptr %t4768, i32 0, i32 0
%t4772 = load i32, ptr %t4769
%t4773 = load i32, ptr %t4770
%t4774 = icmp sge i32 %t4772, %t4773
br i1 %t4774, label %grow1049, label %put1050
grow1049:
%t4775 = mul i32 %t4773, 2
%t4776 = icmp eq i32 %t4773, 0
%t4777 = select i1 %t4776, i32 8, i32 %t4775
%t4778 = getelementptr ptr, ptr null, i32 1
%t4779 = ptrtoint ptr %t4778 to i64
%t4780 = zext i32 %t4777 to i64
%t4781 = mul i64 %t4780, %t4779
%t4782 = load ptr, ptr %t4771
%t4783 = call ptr @realloc(ptr %t4782, i64 %t4781)
store ptr %t4783, ptr %t4771
store i32 %t4777, ptr %t4770
br label %put1050
put1050:
%t4784 = load ptr, ptr %t4771
%t4785 = getelementptr inbounds ptr, ptr %t4784, i32 %t4772
store ptr @.str6234, ptr %t4785
%t4786 = add i32 %t4772, 1
store i32 %t4786, ptr %t4769
br label %ifend1046
ifend1046:
%t4787 = load ptr, ptr %t1
%t4788 = call i32 @fn_str_eq(ptr %t4787, ptr @.str6235)
%t4789 = icmp ne i32 %t4788, 0
br i1 %t4789, label %then1051, label %ifend1053
then1051:
store ptr @.str6236, ptr %t274
%t4790 = load ptr, ptr %t281
%t4791 = getelementptr inbounds %LSlice, ptr %t4790, i32 0, i32 1
%t4792 = getelementptr inbounds %LSlice, ptr %t4790, i32 0, i32 2
%t4793 = getelementptr inbounds %LSlice, ptr %t4790, i32 0, i32 0
%t4794 = load i32, ptr %t4791
%t4795 = load i32, ptr %t4792
%t4796 = icmp sge i32 %t4794, %t4795
br i1 %t4796, label %grow1054, label %put1055
grow1054:
%t4797 = mul i32 %t4795, 2
%t4798 = icmp eq i32 %t4795, 0
%t4799 = select i1 %t4798, i32 8, i32 %t4797
%t4800 = getelementptr ptr, ptr null, i32 1
%t4801 = ptrtoint ptr %t4800 to i64
%t4802 = zext i32 %t4799 to i64
%t4803 = mul i64 %t4802, %t4801
%t4804 = load ptr, ptr %t4793
%t4805 = call ptr @realloc(ptr %t4804, i64 %t4803)
store ptr %t4805, ptr %t4793
store i32 %t4799, ptr %t4792
br label %put1055
put1055:
%t4806 = load ptr, ptr %t4793
%t4807 = getelementptr inbounds ptr, ptr %t4806, i32 %t4794
store ptr @.str6237, ptr %t4807
%t4808 = add i32 %t4794, 1
store i32 %t4808, ptr %t4791
br label %ifend1053
ifend1053:
%t4809 = load ptr, ptr %t1
%t4810 = call i32 @fn_str_eq(ptr %t4809, ptr @.str6238)
%t4811 = icmp ne i32 %t4810, 0
br i1 %t4811, label %then1056, label %ifend1058
then1056:
%t4812 = load ptr, ptr %t2
%t4813 = getelementptr inbounds %Cmp_Node, ptr %t4812, i32 0, i32 7
%t4814 = load ptr, ptr %t4813
%t4815 = getelementptr inbounds %LSlice, ptr %t4814, i32 0, i32 1
%t4816 = load i32, ptr %t4815
%t4817 = icmp eq i32 %t4816, 2
%t4818 = zext i1 %t4817 to i32
%t4819 = icmp ne i32 %t4818, 0
br i1 %t4819, label %then1059, label %else1060
then1059:
store ptr @.str6239, ptr %t274
%t4820 = load ptr, ptr %t281
%t4821 = getelementptr inbounds %LSlice, ptr %t4820, i32 0, i32 1
%t4822 = getelementptr inbounds %LSlice, ptr %t4820, i32 0, i32 2
%t4823 = getelementptr inbounds %LSlice, ptr %t4820, i32 0, i32 0
%t4824 = load i32, ptr %t4821
%t4825 = load i32, ptr %t4822
%t4826 = icmp sge i32 %t4824, %t4825
br i1 %t4826, label %grow1062, label %put1063
grow1062:
%t4827 = mul i32 %t4825, 2
%t4828 = icmp eq i32 %t4825, 0
%t4829 = select i1 %t4828, i32 8, i32 %t4827
%t4830 = getelementptr ptr, ptr null, i32 1
%t4831 = ptrtoint ptr %t4830 to i64
%t4832 = zext i32 %t4829 to i64
%t4833 = mul i64 %t4832, %t4831
%t4834 = load ptr, ptr %t4823
%t4835 = call ptr @realloc(ptr %t4834, i64 %t4833)
store ptr %t4835, ptr %t4823
store i32 %t4829, ptr %t4822
br label %put1063
put1063:
%t4836 = load ptr, ptr %t4823
%t4837 = getelementptr inbounds ptr, ptr %t4836, i32 %t4824
store ptr @.str6240, ptr %t4837
%t4838 = add i32 %t4824, 1
store i32 %t4838, ptr %t4821
%t4839 = load ptr, ptr %t281
%t4840 = getelementptr inbounds %LSlice, ptr %t4839, i32 0, i32 1
%t4841 = getelementptr inbounds %LSlice, ptr %t4839, i32 0, i32 2
%t4842 = getelementptr inbounds %LSlice, ptr %t4839, i32 0, i32 0
%t4843 = load i32, ptr %t4840
%t4844 = load i32, ptr %t4841
%t4845 = icmp sge i32 %t4843, %t4844
br i1 %t4845, label %grow1064, label %put1065
grow1064:
%t4846 = mul i32 %t4844, 2
%t4847 = icmp eq i32 %t4844, 0
%t4848 = select i1 %t4847, i32 8, i32 %t4846
%t4849 = getelementptr ptr, ptr null, i32 1
%t4850 = ptrtoint ptr %t4849 to i64
%t4851 = zext i32 %t4848 to i64
%t4852 = mul i64 %t4851, %t4850
%t4853 = load ptr, ptr %t4842
%t4854 = call ptr @realloc(ptr %t4853, i64 %t4852)
store ptr %t4854, ptr %t4842
store i32 %t4848, ptr %t4841
br label %put1065
put1065:
%t4855 = load ptr, ptr %t4842
%t4856 = getelementptr inbounds ptr, ptr %t4855, i32 %t4843
store ptr @.str6241, ptr %t4856
%t4857 = add i32 %t4843, 1
store i32 %t4857, ptr %t4840
br label %ifend1061
else1060:
store ptr @.str6242, ptr %t274
%t4858 = load ptr, ptr %t281
%t4859 = getelementptr inbounds %LSlice, ptr %t4858, i32 0, i32 1
%t4860 = getelementptr inbounds %LSlice, ptr %t4858, i32 0, i32 2
%t4861 = getelementptr inbounds %LSlice, ptr %t4858, i32 0, i32 0
%t4862 = load i32, ptr %t4859
%t4863 = load i32, ptr %t4860
%t4864 = icmp sge i32 %t4862, %t4863
br i1 %t4864, label %grow1066, label %put1067
grow1066:
%t4865 = mul i32 %t4863, 2
%t4866 = icmp eq i32 %t4863, 0
%t4867 = select i1 %t4866, i32 8, i32 %t4865
%t4868 = getelementptr ptr, ptr null, i32 1
%t4869 = ptrtoint ptr %t4868 to i64
%t4870 = zext i32 %t4867 to i64
%t4871 = mul i64 %t4870, %t4869
%t4872 = load ptr, ptr %t4861
%t4873 = call ptr @realloc(ptr %t4872, i64 %t4871)
store ptr %t4873, ptr %t4861
store i32 %t4867, ptr %t4860
br label %put1067
put1067:
%t4874 = load ptr, ptr %t4861
%t4875 = getelementptr inbounds ptr, ptr %t4874, i32 %t4862
store ptr @.str6243, ptr %t4875
%t4876 = add i32 %t4862, 1
store i32 %t4876, ptr %t4859
%t4877 = load ptr, ptr %t281
%t4878 = getelementptr inbounds %LSlice, ptr %t4877, i32 0, i32 1
%t4879 = getelementptr inbounds %LSlice, ptr %t4877, i32 0, i32 2
%t4880 = getelementptr inbounds %LSlice, ptr %t4877, i32 0, i32 0
%t4881 = load i32, ptr %t4878
%t4882 = load i32, ptr %t4879
%t4883 = icmp sge i32 %t4881, %t4882
br i1 %t4883, label %grow1068, label %put1069
grow1068:
%t4884 = mul i32 %t4882, 2
%t4885 = icmp eq i32 %t4882, 0
%t4886 = select i1 %t4885, i32 8, i32 %t4884
%t4887 = getelementptr ptr, ptr null, i32 1
%t4888 = ptrtoint ptr %t4887 to i64
%t4889 = zext i32 %t4886 to i64
%t4890 = mul i64 %t4889, %t4888
%t4891 = load ptr, ptr %t4880
%t4892 = call ptr @realloc(ptr %t4891, i64 %t4890)
store ptr %t4892, ptr %t4880
store i32 %t4886, ptr %t4879
br label %put1069
put1069:
%t4893 = load ptr, ptr %t4880
%t4894 = getelementptr inbounds ptr, ptr %t4893, i32 %t4881
store ptr @.str6244, ptr %t4894
%t4895 = add i32 %t4881, 1
store i32 %t4895, ptr %t4878
%t4896 = load ptr, ptr %t281
%t4897 = getelementptr inbounds %LSlice, ptr %t4896, i32 0, i32 1
%t4898 = getelementptr inbounds %LSlice, ptr %t4896, i32 0, i32 2
%t4899 = getelementptr inbounds %LSlice, ptr %t4896, i32 0, i32 0
%t4900 = load i32, ptr %t4897
%t4901 = load i32, ptr %t4898
%t4902 = icmp sge i32 %t4900, %t4901
br i1 %t4902, label %grow1070, label %put1071
grow1070:
%t4903 = mul i32 %t4901, 2
%t4904 = icmp eq i32 %t4901, 0
%t4905 = select i1 %t4904, i32 8, i32 %t4903
%t4906 = getelementptr ptr, ptr null, i32 1
%t4907 = ptrtoint ptr %t4906 to i64
%t4908 = zext i32 %t4905 to i64
%t4909 = mul i64 %t4908, %t4907
%t4910 = load ptr, ptr %t4899
%t4911 = call ptr @realloc(ptr %t4910, i64 %t4909)
store ptr %t4911, ptr %t4899
store i32 %t4905, ptr %t4898
br label %put1071
put1071:
%t4912 = load ptr, ptr %t4899
%t4913 = getelementptr inbounds ptr, ptr %t4912, i32 %t4900
store ptr @.str6245, ptr %t4913
%t4914 = add i32 %t4900, 1
store i32 %t4914, ptr %t4897
%t4915 = load ptr, ptr %t281
%t4916 = getelementptr inbounds %LSlice, ptr %t4915, i32 0, i32 1
%t4917 = getelementptr inbounds %LSlice, ptr %t4915, i32 0, i32 2
%t4918 = getelementptr inbounds %LSlice, ptr %t4915, i32 0, i32 0
%t4919 = load i32, ptr %t4916
%t4920 = load i32, ptr %t4917
%t4921 = icmp sge i32 %t4919, %t4920
br i1 %t4921, label %grow1072, label %put1073
grow1072:
%t4922 = mul i32 %t4920, 2
%t4923 = icmp eq i32 %t4920, 0
%t4924 = select i1 %t4923, i32 8, i32 %t4922
%t4925 = getelementptr ptr, ptr null, i32 1
%t4926 = ptrtoint ptr %t4925 to i64
%t4927 = zext i32 %t4924 to i64
%t4928 = mul i64 %t4927, %t4926
%t4929 = load ptr, ptr %t4918
%t4930 = call ptr @realloc(ptr %t4929, i64 %t4928)
store ptr %t4930, ptr %t4918
store i32 %t4924, ptr %t4917
br label %put1073
put1073:
%t4931 = load ptr, ptr %t4918
%t4932 = getelementptr inbounds ptr, ptr %t4931, i32 %t4919
store ptr @.str6246, ptr %t4932
%t4933 = add i32 %t4919, 1
store i32 %t4933, ptr %t4916
br label %ifend1061
ifend1061:
br label %ifend1058
ifend1058:
br label %ifend1032
ifend1032:
%t4934 = load ptr, ptr %t0
%t4935 = call i32 @fn_str_eq(ptr %t4934, ptr @.str6247)
%t4936 = icmp ne i32 %t4935, 0
br i1 %t4936, label %then1074, label %ifend1076
then1074:
%t4937 = load ptr, ptr %t1
%t4938 = call i32 @fn_str_eq(ptr %t4937, ptr @.str6248)
%t4939 = icmp ne i32 %t4938, 0
br i1 %t4939, label %then1077, label %ifend1079
then1077:
store ptr @.str6249, ptr %t274
%t4940 = load ptr, ptr %t281
%t4941 = getelementptr inbounds %LSlice, ptr %t4940, i32 0, i32 1
%t4942 = getelementptr inbounds %LSlice, ptr %t4940, i32 0, i32 2
%t4943 = getelementptr inbounds %LSlice, ptr %t4940, i32 0, i32 0
%t4944 = load i32, ptr %t4941
%t4945 = load i32, ptr %t4942
%t4946 = icmp sge i32 %t4944, %t4945
br i1 %t4946, label %grow1080, label %put1081
grow1080:
%t4947 = mul i32 %t4945, 2
%t4948 = icmp eq i32 %t4945, 0
%t4949 = select i1 %t4948, i32 8, i32 %t4947
%t4950 = getelementptr ptr, ptr null, i32 1
%t4951 = ptrtoint ptr %t4950 to i64
%t4952 = zext i32 %t4949 to i64
%t4953 = mul i64 %t4952, %t4951
%t4954 = load ptr, ptr %t4943
%t4955 = call ptr @realloc(ptr %t4954, i64 %t4953)
store ptr %t4955, ptr %t4943
store i32 %t4949, ptr %t4942
br label %put1081
put1081:
%t4956 = load ptr, ptr %t4943
%t4957 = getelementptr inbounds ptr, ptr %t4956, i32 %t4944
store ptr @.str6250, ptr %t4957
%t4958 = add i32 %t4944, 1
store i32 %t4958, ptr %t4941
%t4959 = load ptr, ptr %t281
%t4960 = getelementptr inbounds %LSlice, ptr %t4959, i32 0, i32 1
%t4961 = getelementptr inbounds %LSlice, ptr %t4959, i32 0, i32 2
%t4962 = getelementptr inbounds %LSlice, ptr %t4959, i32 0, i32 0
%t4963 = load i32, ptr %t4960
%t4964 = load i32, ptr %t4961
%t4965 = icmp sge i32 %t4963, %t4964
br i1 %t4965, label %grow1082, label %put1083
grow1082:
%t4966 = mul i32 %t4964, 2
%t4967 = icmp eq i32 %t4964, 0
%t4968 = select i1 %t4967, i32 8, i32 %t4966
%t4969 = getelementptr ptr, ptr null, i32 1
%t4970 = ptrtoint ptr %t4969 to i64
%t4971 = zext i32 %t4968 to i64
%t4972 = mul i64 %t4971, %t4970
%t4973 = load ptr, ptr %t4962
%t4974 = call ptr @realloc(ptr %t4973, i64 %t4972)
store ptr %t4974, ptr %t4962
store i32 %t4968, ptr %t4961
br label %put1083
put1083:
%t4975 = load ptr, ptr %t4962
%t4976 = getelementptr inbounds ptr, ptr %t4975, i32 %t4963
store ptr @.str6251, ptr %t4976
%t4977 = add i32 %t4963, 1
store i32 %t4977, ptr %t4960
%t4978 = load ptr, ptr %t281
%t4979 = getelementptr inbounds %LSlice, ptr %t4978, i32 0, i32 1
%t4980 = getelementptr inbounds %LSlice, ptr %t4978, i32 0, i32 2
%t4981 = getelementptr inbounds %LSlice, ptr %t4978, i32 0, i32 0
%t4982 = load i32, ptr %t4979
%t4983 = load i32, ptr %t4980
%t4984 = icmp sge i32 %t4982, %t4983
br i1 %t4984, label %grow1084, label %put1085
grow1084:
%t4985 = mul i32 %t4983, 2
%t4986 = icmp eq i32 %t4983, 0
%t4987 = select i1 %t4986, i32 8, i32 %t4985
%t4988 = getelementptr ptr, ptr null, i32 1
%t4989 = ptrtoint ptr %t4988 to i64
%t4990 = zext i32 %t4987 to i64
%t4991 = mul i64 %t4990, %t4989
%t4992 = load ptr, ptr %t4981
%t4993 = call ptr @realloc(ptr %t4992, i64 %t4991)
store ptr %t4993, ptr %t4981
store i32 %t4987, ptr %t4980
br label %put1085
put1085:
%t4994 = load ptr, ptr %t4981
%t4995 = getelementptr inbounds ptr, ptr %t4994, i32 %t4982
store ptr @.str6252, ptr %t4995
%t4996 = add i32 %t4982, 1
store i32 %t4996, ptr %t4979
%t4997 = load ptr, ptr %t281
%t4998 = getelementptr inbounds %LSlice, ptr %t4997, i32 0, i32 1
%t4999 = getelementptr inbounds %LSlice, ptr %t4997, i32 0, i32 2
%t5000 = getelementptr inbounds %LSlice, ptr %t4997, i32 0, i32 0
%t5001 = load i32, ptr %t4998
%t5002 = load i32, ptr %t4999
%t5003 = icmp sge i32 %t5001, %t5002
br i1 %t5003, label %grow1086, label %put1087
grow1086:
%t5004 = mul i32 %t5002, 2
%t5005 = icmp eq i32 %t5002, 0
%t5006 = select i1 %t5005, i32 8, i32 %t5004
%t5007 = getelementptr ptr, ptr null, i32 1
%t5008 = ptrtoint ptr %t5007 to i64
%t5009 = zext i32 %t5006 to i64
%t5010 = mul i64 %t5009, %t5008
%t5011 = load ptr, ptr %t5000
%t5012 = call ptr @realloc(ptr %t5011, i64 %t5010)
store ptr %t5012, ptr %t5000
store i32 %t5006, ptr %t4999
br label %put1087
put1087:
%t5013 = load ptr, ptr %t5000
%t5014 = getelementptr inbounds ptr, ptr %t5013, i32 %t5001
store ptr @.str6253, ptr %t5014
%t5015 = add i32 %t5001, 1
store i32 %t5015, ptr %t4998
%t5016 = load ptr, ptr %t281
%t5017 = getelementptr inbounds %LSlice, ptr %t5016, i32 0, i32 1
%t5018 = getelementptr inbounds %LSlice, ptr %t5016, i32 0, i32 2
%t5019 = getelementptr inbounds %LSlice, ptr %t5016, i32 0, i32 0
%t5020 = load i32, ptr %t5017
%t5021 = load i32, ptr %t5018
%t5022 = icmp sge i32 %t5020, %t5021
br i1 %t5022, label %grow1088, label %put1089
grow1088:
%t5023 = mul i32 %t5021, 2
%t5024 = icmp eq i32 %t5021, 0
%t5025 = select i1 %t5024, i32 8, i32 %t5023
%t5026 = getelementptr ptr, ptr null, i32 1
%t5027 = ptrtoint ptr %t5026 to i64
%t5028 = zext i32 %t5025 to i64
%t5029 = mul i64 %t5028, %t5027
%t5030 = load ptr, ptr %t5019
%t5031 = call ptr @realloc(ptr %t5030, i64 %t5029)
store ptr %t5031, ptr %t5019
store i32 %t5025, ptr %t5018
br label %put1089
put1089:
%t5032 = load ptr, ptr %t5019
%t5033 = getelementptr inbounds ptr, ptr %t5032, i32 %t5020
store ptr @.str6254, ptr %t5033
%t5034 = add i32 %t5020, 1
store i32 %t5034, ptr %t5017
br label %ifend1079
ifend1079:
br label %ifend1076
ifend1076:
%t5035 = load ptr, ptr %t0
%t5036 = call i32 @fn_str_eq(ptr %t5035, ptr @.str6255)
%t5037 = icmp ne i32 %t5036, 0
br i1 %t5037, label %then1090, label %ifend1092
then1090:
%t5038 = load ptr, ptr %t1
%t5039 = call i32 @fn_str_eq(ptr %t5038, ptr @.str6256)
%t5040 = icmp ne i32 %t5039, 0
br i1 %t5040, label %then1093, label %ifend1095
then1093:
store ptr @.str6257, ptr %t274
%t5041 = load ptr, ptr %t281
%t5042 = getelementptr inbounds %LSlice, ptr %t5041, i32 0, i32 1
%t5043 = getelementptr inbounds %LSlice, ptr %t5041, i32 0, i32 2
%t5044 = getelementptr inbounds %LSlice, ptr %t5041, i32 0, i32 0
%t5045 = load i32, ptr %t5042
%t5046 = load i32, ptr %t5043
%t5047 = icmp sge i32 %t5045, %t5046
br i1 %t5047, label %grow1096, label %put1097
grow1096:
%t5048 = mul i32 %t5046, 2
%t5049 = icmp eq i32 %t5046, 0
%t5050 = select i1 %t5049, i32 8, i32 %t5048
%t5051 = getelementptr ptr, ptr null, i32 1
%t5052 = ptrtoint ptr %t5051 to i64
%t5053 = zext i32 %t5050 to i64
%t5054 = mul i64 %t5053, %t5052
%t5055 = load ptr, ptr %t5044
%t5056 = call ptr @realloc(ptr %t5055, i64 %t5054)
store ptr %t5056, ptr %t5044
store i32 %t5050, ptr %t5043
br label %put1097
put1097:
%t5057 = load ptr, ptr %t5044
%t5058 = getelementptr inbounds ptr, ptr %t5057, i32 %t5045
store ptr @.str6258, ptr %t5058
%t5059 = add i32 %t5045, 1
store i32 %t5059, ptr %t5042
%t5060 = load ptr, ptr %t281
%t5061 = getelementptr inbounds %LSlice, ptr %t5060, i32 0, i32 1
%t5062 = getelementptr inbounds %LSlice, ptr %t5060, i32 0, i32 2
%t5063 = getelementptr inbounds %LSlice, ptr %t5060, i32 0, i32 0
%t5064 = load i32, ptr %t5061
%t5065 = load i32, ptr %t5062
%t5066 = icmp sge i32 %t5064, %t5065
br i1 %t5066, label %grow1098, label %put1099
grow1098:
%t5067 = mul i32 %t5065, 2
%t5068 = icmp eq i32 %t5065, 0
%t5069 = select i1 %t5068, i32 8, i32 %t5067
%t5070 = getelementptr ptr, ptr null, i32 1
%t5071 = ptrtoint ptr %t5070 to i64
%t5072 = zext i32 %t5069 to i64
%t5073 = mul i64 %t5072, %t5071
%t5074 = load ptr, ptr %t5063
%t5075 = call ptr @realloc(ptr %t5074, i64 %t5073)
store ptr %t5075, ptr %t5063
store i32 %t5069, ptr %t5062
br label %put1099
put1099:
%t5076 = load ptr, ptr %t5063
%t5077 = getelementptr inbounds ptr, ptr %t5076, i32 %t5064
store ptr @.str6259, ptr %t5077
%t5078 = add i32 %t5064, 1
store i32 %t5078, ptr %t5061
%t5079 = load ptr, ptr %t281
%t5080 = getelementptr inbounds %LSlice, ptr %t5079, i32 0, i32 1
%t5081 = getelementptr inbounds %LSlice, ptr %t5079, i32 0, i32 2
%t5082 = getelementptr inbounds %LSlice, ptr %t5079, i32 0, i32 0
%t5083 = load i32, ptr %t5080
%t5084 = load i32, ptr %t5081
%t5085 = icmp sge i32 %t5083, %t5084
br i1 %t5085, label %grow1100, label %put1101
grow1100:
%t5086 = mul i32 %t5084, 2
%t5087 = icmp eq i32 %t5084, 0
%t5088 = select i1 %t5087, i32 8, i32 %t5086
%t5089 = getelementptr ptr, ptr null, i32 1
%t5090 = ptrtoint ptr %t5089 to i64
%t5091 = zext i32 %t5088 to i64
%t5092 = mul i64 %t5091, %t5090
%t5093 = load ptr, ptr %t5082
%t5094 = call ptr @realloc(ptr %t5093, i64 %t5092)
store ptr %t5094, ptr %t5082
store i32 %t5088, ptr %t5081
br label %put1101
put1101:
%t5095 = load ptr, ptr %t5082
%t5096 = getelementptr inbounds ptr, ptr %t5095, i32 %t5083
store ptr @.str6260, ptr %t5096
%t5097 = add i32 %t5083, 1
store i32 %t5097, ptr %t5080
%t5098 = load ptr, ptr %t281
%t5099 = getelementptr inbounds %LSlice, ptr %t5098, i32 0, i32 1
%t5100 = getelementptr inbounds %LSlice, ptr %t5098, i32 0, i32 2
%t5101 = getelementptr inbounds %LSlice, ptr %t5098, i32 0, i32 0
%t5102 = load i32, ptr %t5099
%t5103 = load i32, ptr %t5100
%t5104 = icmp sge i32 %t5102, %t5103
br i1 %t5104, label %grow1102, label %put1103
grow1102:
%t5105 = mul i32 %t5103, 2
%t5106 = icmp eq i32 %t5103, 0
%t5107 = select i1 %t5106, i32 8, i32 %t5105
%t5108 = getelementptr ptr, ptr null, i32 1
%t5109 = ptrtoint ptr %t5108 to i64
%t5110 = zext i32 %t5107 to i64
%t5111 = mul i64 %t5110, %t5109
%t5112 = load ptr, ptr %t5101
%t5113 = call ptr @realloc(ptr %t5112, i64 %t5111)
store ptr %t5113, ptr %t5101
store i32 %t5107, ptr %t5100
br label %put1103
put1103:
%t5114 = load ptr, ptr %t5101
%t5115 = getelementptr inbounds ptr, ptr %t5114, i32 %t5102
store ptr @.str6261, ptr %t5115
%t5116 = add i32 %t5102, 1
store i32 %t5116, ptr %t5099
br label %ifend1095
ifend1095:
%t5117 = load ptr, ptr %t1
%t5118 = call i32 @fn_str_eq(ptr %t5117, ptr @.str6262)
%t5119 = icmp ne i32 %t5118, 0
br i1 %t5119, label %then1104, label %ifend1106
then1104:
store ptr @.str6263, ptr %t274
%t5120 = load ptr, ptr %t281
%t5121 = getelementptr inbounds %LSlice, ptr %t5120, i32 0, i32 1
%t5122 = getelementptr inbounds %LSlice, ptr %t5120, i32 0, i32 2
%t5123 = getelementptr inbounds %LSlice, ptr %t5120, i32 0, i32 0
%t5124 = load i32, ptr %t5121
%t5125 = load i32, ptr %t5122
%t5126 = icmp sge i32 %t5124, %t5125
br i1 %t5126, label %grow1107, label %put1108
grow1107:
%t5127 = mul i32 %t5125, 2
%t5128 = icmp eq i32 %t5125, 0
%t5129 = select i1 %t5128, i32 8, i32 %t5127
%t5130 = getelementptr ptr, ptr null, i32 1
%t5131 = ptrtoint ptr %t5130 to i64
%t5132 = zext i32 %t5129 to i64
%t5133 = mul i64 %t5132, %t5131
%t5134 = load ptr, ptr %t5123
%t5135 = call ptr @realloc(ptr %t5134, i64 %t5133)
store ptr %t5135, ptr %t5123
store i32 %t5129, ptr %t5122
br label %put1108
put1108:
%t5136 = load ptr, ptr %t5123
%t5137 = getelementptr inbounds ptr, ptr %t5136, i32 %t5124
store ptr @.str6264, ptr %t5137
%t5138 = add i32 %t5124, 1
store i32 %t5138, ptr %t5121
%t5139 = load ptr, ptr %t281
%t5140 = getelementptr inbounds %LSlice, ptr %t5139, i32 0, i32 1
%t5141 = getelementptr inbounds %LSlice, ptr %t5139, i32 0, i32 2
%t5142 = getelementptr inbounds %LSlice, ptr %t5139, i32 0, i32 0
%t5143 = load i32, ptr %t5140
%t5144 = load i32, ptr %t5141
%t5145 = icmp sge i32 %t5143, %t5144
br i1 %t5145, label %grow1109, label %put1110
grow1109:
%t5146 = mul i32 %t5144, 2
%t5147 = icmp eq i32 %t5144, 0
%t5148 = select i1 %t5147, i32 8, i32 %t5146
%t5149 = getelementptr ptr, ptr null, i32 1
%t5150 = ptrtoint ptr %t5149 to i64
%t5151 = zext i32 %t5148 to i64
%t5152 = mul i64 %t5151, %t5150
%t5153 = load ptr, ptr %t5142
%t5154 = call ptr @realloc(ptr %t5153, i64 %t5152)
store ptr %t5154, ptr %t5142
store i32 %t5148, ptr %t5141
br label %put1110
put1110:
%t5155 = load ptr, ptr %t5142
%t5156 = getelementptr inbounds ptr, ptr %t5155, i32 %t5143
store ptr @.str6265, ptr %t5156
%t5157 = add i32 %t5143, 1
store i32 %t5157, ptr %t5140
%t5158 = load ptr, ptr %t281
%t5159 = getelementptr inbounds %LSlice, ptr %t5158, i32 0, i32 1
%t5160 = getelementptr inbounds %LSlice, ptr %t5158, i32 0, i32 2
%t5161 = getelementptr inbounds %LSlice, ptr %t5158, i32 0, i32 0
%t5162 = load i32, ptr %t5159
%t5163 = load i32, ptr %t5160
%t5164 = icmp sge i32 %t5162, %t5163
br i1 %t5164, label %grow1111, label %put1112
grow1111:
%t5165 = mul i32 %t5163, 2
%t5166 = icmp eq i32 %t5163, 0
%t5167 = select i1 %t5166, i32 8, i32 %t5165
%t5168 = getelementptr ptr, ptr null, i32 1
%t5169 = ptrtoint ptr %t5168 to i64
%t5170 = zext i32 %t5167 to i64
%t5171 = mul i64 %t5170, %t5169
%t5172 = load ptr, ptr %t5161
%t5173 = call ptr @realloc(ptr %t5172, i64 %t5171)
store ptr %t5173, ptr %t5161
store i32 %t5167, ptr %t5160
br label %put1112
put1112:
%t5174 = load ptr, ptr %t5161
%t5175 = getelementptr inbounds ptr, ptr %t5174, i32 %t5162
store ptr @.str6266, ptr %t5175
%t5176 = add i32 %t5162, 1
store i32 %t5176, ptr %t5159
%t5177 = load ptr, ptr %t281
%t5178 = getelementptr inbounds %LSlice, ptr %t5177, i32 0, i32 1
%t5179 = getelementptr inbounds %LSlice, ptr %t5177, i32 0, i32 2
%t5180 = getelementptr inbounds %LSlice, ptr %t5177, i32 0, i32 0
%t5181 = load i32, ptr %t5178
%t5182 = load i32, ptr %t5179
%t5183 = icmp sge i32 %t5181, %t5182
br i1 %t5183, label %grow1113, label %put1114
grow1113:
%t5184 = mul i32 %t5182, 2
%t5185 = icmp eq i32 %t5182, 0
%t5186 = select i1 %t5185, i32 8, i32 %t5184
%t5187 = getelementptr ptr, ptr null, i32 1
%t5188 = ptrtoint ptr %t5187 to i64
%t5189 = zext i32 %t5186 to i64
%t5190 = mul i64 %t5189, %t5188
%t5191 = load ptr, ptr %t5180
%t5192 = call ptr @realloc(ptr %t5191, i64 %t5190)
store ptr %t5192, ptr %t5180
store i32 %t5186, ptr %t5179
br label %put1114
put1114:
%t5193 = load ptr, ptr %t5180
%t5194 = getelementptr inbounds ptr, ptr %t5193, i32 %t5181
store ptr @.str6267, ptr %t5194
%t5195 = add i32 %t5181, 1
store i32 %t5195, ptr %t5178
br label %ifend1106
ifend1106:
%t5196 = load ptr, ptr %t1
%t5197 = call i32 @fn_str_eq(ptr %t5196, ptr @.str6268)
%t5198 = icmp ne i32 %t5197, 0
br i1 %t5198, label %then1115, label %ifend1117
then1115:
store ptr @.str6269, ptr %t274
%t5199 = load ptr, ptr %t281
%t5200 = getelementptr inbounds %LSlice, ptr %t5199, i32 0, i32 1
%t5201 = getelementptr inbounds %LSlice, ptr %t5199, i32 0, i32 2
%t5202 = getelementptr inbounds %LSlice, ptr %t5199, i32 0, i32 0
%t5203 = load i32, ptr %t5200
%t5204 = load i32, ptr %t5201
%t5205 = icmp sge i32 %t5203, %t5204
br i1 %t5205, label %grow1118, label %put1119
grow1118:
%t5206 = mul i32 %t5204, 2
%t5207 = icmp eq i32 %t5204, 0
%t5208 = select i1 %t5207, i32 8, i32 %t5206
%t5209 = getelementptr ptr, ptr null, i32 1
%t5210 = ptrtoint ptr %t5209 to i64
%t5211 = zext i32 %t5208 to i64
%t5212 = mul i64 %t5211, %t5210
%t5213 = load ptr, ptr %t5202
%t5214 = call ptr @realloc(ptr %t5213, i64 %t5212)
store ptr %t5214, ptr %t5202
store i32 %t5208, ptr %t5201
br label %put1119
put1119:
%t5215 = load ptr, ptr %t5202
%t5216 = getelementptr inbounds ptr, ptr %t5215, i32 %t5203
store ptr @.str6270, ptr %t5216
%t5217 = add i32 %t5203, 1
store i32 %t5217, ptr %t5200
%t5218 = load ptr, ptr %t281
%t5219 = getelementptr inbounds %LSlice, ptr %t5218, i32 0, i32 1
%t5220 = getelementptr inbounds %LSlice, ptr %t5218, i32 0, i32 2
%t5221 = getelementptr inbounds %LSlice, ptr %t5218, i32 0, i32 0
%t5222 = load i32, ptr %t5219
%t5223 = load i32, ptr %t5220
%t5224 = icmp sge i32 %t5222, %t5223
br i1 %t5224, label %grow1120, label %put1121
grow1120:
%t5225 = mul i32 %t5223, 2
%t5226 = icmp eq i32 %t5223, 0
%t5227 = select i1 %t5226, i32 8, i32 %t5225
%t5228 = getelementptr ptr, ptr null, i32 1
%t5229 = ptrtoint ptr %t5228 to i64
%t5230 = zext i32 %t5227 to i64
%t5231 = mul i64 %t5230, %t5229
%t5232 = load ptr, ptr %t5221
%t5233 = call ptr @realloc(ptr %t5232, i64 %t5231)
store ptr %t5233, ptr %t5221
store i32 %t5227, ptr %t5220
br label %put1121
put1121:
%t5234 = load ptr, ptr %t5221
%t5235 = getelementptr inbounds ptr, ptr %t5234, i32 %t5222
store ptr @.str6271, ptr %t5235
%t5236 = add i32 %t5222, 1
store i32 %t5236, ptr %t5219
br label %ifend1117
ifend1117:
%t5237 = load ptr, ptr %t1
%t5238 = call i32 @fn_str_eq(ptr %t5237, ptr @.str6272)
%t5239 = icmp ne i32 %t5238, 0
br i1 %t5239, label %then1122, label %ifend1124
then1122:
store ptr @.str6273, ptr %t274
%t5240 = load ptr, ptr %t281
%t5241 = getelementptr inbounds %LSlice, ptr %t5240, i32 0, i32 1
%t5242 = getelementptr inbounds %LSlice, ptr %t5240, i32 0, i32 2
%t5243 = getelementptr inbounds %LSlice, ptr %t5240, i32 0, i32 0
%t5244 = load i32, ptr %t5241
%t5245 = load i32, ptr %t5242
%t5246 = icmp sge i32 %t5244, %t5245
br i1 %t5246, label %grow1125, label %put1126
grow1125:
%t5247 = mul i32 %t5245, 2
%t5248 = icmp eq i32 %t5245, 0
%t5249 = select i1 %t5248, i32 8, i32 %t5247
%t5250 = getelementptr ptr, ptr null, i32 1
%t5251 = ptrtoint ptr %t5250 to i64
%t5252 = zext i32 %t5249 to i64
%t5253 = mul i64 %t5252, %t5251
%t5254 = load ptr, ptr %t5243
%t5255 = call ptr @realloc(ptr %t5254, i64 %t5253)
store ptr %t5255, ptr %t5243
store i32 %t5249, ptr %t5242
br label %put1126
put1126:
%t5256 = load ptr, ptr %t5243
%t5257 = getelementptr inbounds ptr, ptr %t5256, i32 %t5244
store ptr @.str6274, ptr %t5257
%t5258 = add i32 %t5244, 1
store i32 %t5258, ptr %t5241
br label %ifend1124
ifend1124:
%t5259 = load ptr, ptr %t1
%t5260 = call i32 @fn_str_eq(ptr %t5259, ptr @.str6275)
%t5261 = icmp ne i32 %t5260, 0
br i1 %t5261, label %then1127, label %ifend1129
then1127:
store ptr @.str6276, ptr %t274
%t5262 = load ptr, ptr %t281
%t5263 = getelementptr inbounds %LSlice, ptr %t5262, i32 0, i32 1
%t5264 = getelementptr inbounds %LSlice, ptr %t5262, i32 0, i32 2
%t5265 = getelementptr inbounds %LSlice, ptr %t5262, i32 0, i32 0
%t5266 = load i32, ptr %t5263
%t5267 = load i32, ptr %t5264
%t5268 = icmp sge i32 %t5266, %t5267
br i1 %t5268, label %grow1130, label %put1131
grow1130:
%t5269 = mul i32 %t5267, 2
%t5270 = icmp eq i32 %t5267, 0
%t5271 = select i1 %t5270, i32 8, i32 %t5269
%t5272 = getelementptr ptr, ptr null, i32 1
%t5273 = ptrtoint ptr %t5272 to i64
%t5274 = zext i32 %t5271 to i64
%t5275 = mul i64 %t5274, %t5273
%t5276 = load ptr, ptr %t5265
%t5277 = call ptr @realloc(ptr %t5276, i64 %t5275)
store ptr %t5277, ptr %t5265
store i32 %t5271, ptr %t5264
br label %put1131
put1131:
%t5278 = load ptr, ptr %t5265
%t5279 = getelementptr inbounds ptr, ptr %t5278, i32 %t5266
store ptr @.str6277, ptr %t5279
%t5280 = add i32 %t5266, 1
store i32 %t5280, ptr %t5263
br label %ifend1129
ifend1129:
%t5281 = load ptr, ptr %t1
%t5282 = call i32 @fn_str_eq(ptr %t5281, ptr @.str6278)
%t5283 = icmp ne i32 %t5282, 0
br i1 %t5283, label %then1132, label %ifend1134
then1132:
store ptr @.str6279, ptr %t274
%t5284 = load ptr, ptr %t281
%t5285 = getelementptr inbounds %LSlice, ptr %t5284, i32 0, i32 1
%t5286 = getelementptr inbounds %LSlice, ptr %t5284, i32 0, i32 2
%t5287 = getelementptr inbounds %LSlice, ptr %t5284, i32 0, i32 0
%t5288 = load i32, ptr %t5285
%t5289 = load i32, ptr %t5286
%t5290 = icmp sge i32 %t5288, %t5289
br i1 %t5290, label %grow1135, label %put1136
grow1135:
%t5291 = mul i32 %t5289, 2
%t5292 = icmp eq i32 %t5289, 0
%t5293 = select i1 %t5292, i32 8, i32 %t5291
%t5294 = getelementptr ptr, ptr null, i32 1
%t5295 = ptrtoint ptr %t5294 to i64
%t5296 = zext i32 %t5293 to i64
%t5297 = mul i64 %t5296, %t5295
%t5298 = load ptr, ptr %t5287
%t5299 = call ptr @realloc(ptr %t5298, i64 %t5297)
store ptr %t5299, ptr %t5287
store i32 %t5293, ptr %t5286
br label %put1136
put1136:
%t5300 = load ptr, ptr %t5287
%t5301 = getelementptr inbounds ptr, ptr %t5300, i32 %t5288
store ptr @.str6280, ptr %t5301
%t5302 = add i32 %t5288, 1
store i32 %t5302, ptr %t5285
%t5303 = load ptr, ptr %t281
%t5304 = getelementptr inbounds %LSlice, ptr %t5303, i32 0, i32 1
%t5305 = getelementptr inbounds %LSlice, ptr %t5303, i32 0, i32 2
%t5306 = getelementptr inbounds %LSlice, ptr %t5303, i32 0, i32 0
%t5307 = load i32, ptr %t5304
%t5308 = load i32, ptr %t5305
%t5309 = icmp sge i32 %t5307, %t5308
br i1 %t5309, label %grow1137, label %put1138
grow1137:
%t5310 = mul i32 %t5308, 2
%t5311 = icmp eq i32 %t5308, 0
%t5312 = select i1 %t5311, i32 8, i32 %t5310
%t5313 = getelementptr ptr, ptr null, i32 1
%t5314 = ptrtoint ptr %t5313 to i64
%t5315 = zext i32 %t5312 to i64
%t5316 = mul i64 %t5315, %t5314
%t5317 = load ptr, ptr %t5306
%t5318 = call ptr @realloc(ptr %t5317, i64 %t5316)
store ptr %t5318, ptr %t5306
store i32 %t5312, ptr %t5305
br label %put1138
put1138:
%t5319 = load ptr, ptr %t5306
%t5320 = getelementptr inbounds ptr, ptr %t5319, i32 %t5307
store ptr @.str6281, ptr %t5320
%t5321 = add i32 %t5307, 1
store i32 %t5321, ptr %t5304
br label %ifend1134
ifend1134:
br label %ifend1092
ifend1092:
%t5322 = load ptr, ptr %t0
%t5323 = call i32 @fn_str_eq(ptr %t5322, ptr @.str6282)
%t5324 = icmp ne i32 %t5323, 0
br i1 %t5324, label %then1139, label %ifend1141
then1139:
%t5325 = load ptr, ptr %t1
%t5326 = call i32 @fn_str_eq(ptr %t5325, ptr @.str6283)
%t5327 = icmp ne i32 %t5326, 0
br i1 %t5327, label %then1142, label %ifend1144
then1142:
store ptr @.str6284, ptr %t274
%t5328 = load ptr, ptr %t281
%t5329 = getelementptr inbounds %LSlice, ptr %t5328, i32 0, i32 1
%t5330 = getelementptr inbounds %LSlice, ptr %t5328, i32 0, i32 2
%t5331 = getelementptr inbounds %LSlice, ptr %t5328, i32 0, i32 0
%t5332 = load i32, ptr %t5329
%t5333 = load i32, ptr %t5330
%t5334 = icmp sge i32 %t5332, %t5333
br i1 %t5334, label %grow1145, label %put1146
grow1145:
%t5335 = mul i32 %t5333, 2
%t5336 = icmp eq i32 %t5333, 0
%t5337 = select i1 %t5336, i32 8, i32 %t5335
%t5338 = getelementptr ptr, ptr null, i32 1
%t5339 = ptrtoint ptr %t5338 to i64
%t5340 = zext i32 %t5337 to i64
%t5341 = mul i64 %t5340, %t5339
%t5342 = load ptr, ptr %t5331
%t5343 = call ptr @realloc(ptr %t5342, i64 %t5341)
store ptr %t5343, ptr %t5331
store i32 %t5337, ptr %t5330
br label %put1146
put1146:
%t5344 = load ptr, ptr %t5331
%t5345 = getelementptr inbounds ptr, ptr %t5344, i32 %t5332
store ptr @.str6285, ptr %t5345
%t5346 = add i32 %t5332, 1
store i32 %t5346, ptr %t5329
br label %ifend1144
ifend1144:
%t5347 = load ptr, ptr %t1
%t5348 = call i32 @fn_str_eq(ptr %t5347, ptr @.str6286)
%t5349 = icmp ne i32 %t5348, 0
br i1 %t5349, label %then1147, label %ifend1149
then1147:
store ptr @.str6287, ptr %t274
%t5350 = load ptr, ptr %t281
%t5351 = getelementptr inbounds %LSlice, ptr %t5350, i32 0, i32 1
%t5352 = getelementptr inbounds %LSlice, ptr %t5350, i32 0, i32 2
%t5353 = getelementptr inbounds %LSlice, ptr %t5350, i32 0, i32 0
%t5354 = load i32, ptr %t5351
%t5355 = load i32, ptr %t5352
%t5356 = icmp sge i32 %t5354, %t5355
br i1 %t5356, label %grow1150, label %put1151
grow1150:
%t5357 = mul i32 %t5355, 2
%t5358 = icmp eq i32 %t5355, 0
%t5359 = select i1 %t5358, i32 8, i32 %t5357
%t5360 = getelementptr ptr, ptr null, i32 1
%t5361 = ptrtoint ptr %t5360 to i64
%t5362 = zext i32 %t5359 to i64
%t5363 = mul i64 %t5362, %t5361
%t5364 = load ptr, ptr %t5353
%t5365 = call ptr @realloc(ptr %t5364, i64 %t5363)
store ptr %t5365, ptr %t5353
store i32 %t5359, ptr %t5352
br label %put1151
put1151:
%t5366 = load ptr, ptr %t5353
%t5367 = getelementptr inbounds ptr, ptr %t5366, i32 %t5354
store ptr @.str6288, ptr %t5367
%t5368 = add i32 %t5354, 1
store i32 %t5368, ptr %t5351
br label %ifend1149
ifend1149:
%t5369 = load ptr, ptr %t1
%t5370 = call i32 @fn_str_eq(ptr %t5369, ptr @.str6289)
%t5371 = icmp ne i32 %t5370, 0
br i1 %t5371, label %then1152, label %ifend1154
then1152:
store ptr @.str6290, ptr %t274
%t5372 = load ptr, ptr %t281
%t5373 = getelementptr inbounds %LSlice, ptr %t5372, i32 0, i32 1
%t5374 = getelementptr inbounds %LSlice, ptr %t5372, i32 0, i32 2
%t5375 = getelementptr inbounds %LSlice, ptr %t5372, i32 0, i32 0
%t5376 = load i32, ptr %t5373
%t5377 = load i32, ptr %t5374
%t5378 = icmp sge i32 %t5376, %t5377
br i1 %t5378, label %grow1155, label %put1156
grow1155:
%t5379 = mul i32 %t5377, 2
%t5380 = icmp eq i32 %t5377, 0
%t5381 = select i1 %t5380, i32 8, i32 %t5379
%t5382 = getelementptr ptr, ptr null, i32 1
%t5383 = ptrtoint ptr %t5382 to i64
%t5384 = zext i32 %t5381 to i64
%t5385 = mul i64 %t5384, %t5383
%t5386 = load ptr, ptr %t5375
%t5387 = call ptr @realloc(ptr %t5386, i64 %t5385)
store ptr %t5387, ptr %t5375
store i32 %t5381, ptr %t5374
br label %put1156
put1156:
%t5388 = load ptr, ptr %t5375
%t5389 = getelementptr inbounds ptr, ptr %t5388, i32 %t5376
store ptr @.str6291, ptr %t5389
%t5390 = add i32 %t5376, 1
store i32 %t5390, ptr %t5373
%t5391 = load ptr, ptr %t281
%t5392 = getelementptr inbounds %LSlice, ptr %t5391, i32 0, i32 1
%t5393 = getelementptr inbounds %LSlice, ptr %t5391, i32 0, i32 2
%t5394 = getelementptr inbounds %LSlice, ptr %t5391, i32 0, i32 0
%t5395 = load i32, ptr %t5392
%t5396 = load i32, ptr %t5393
%t5397 = icmp sge i32 %t5395, %t5396
br i1 %t5397, label %grow1157, label %put1158
grow1157:
%t5398 = mul i32 %t5396, 2
%t5399 = icmp eq i32 %t5396, 0
%t5400 = select i1 %t5399, i32 8, i32 %t5398
%t5401 = getelementptr ptr, ptr null, i32 1
%t5402 = ptrtoint ptr %t5401 to i64
%t5403 = zext i32 %t5400 to i64
%t5404 = mul i64 %t5403, %t5402
%t5405 = load ptr, ptr %t5394
%t5406 = call ptr @realloc(ptr %t5405, i64 %t5404)
store ptr %t5406, ptr %t5394
store i32 %t5400, ptr %t5393
br label %put1158
put1158:
%t5407 = load ptr, ptr %t5394
%t5408 = getelementptr inbounds ptr, ptr %t5407, i32 %t5395
store ptr @.str6292, ptr %t5408
%t5409 = add i32 %t5395, 1
store i32 %t5409, ptr %t5392
%t5410 = load ptr, ptr %t281
%t5411 = getelementptr inbounds %LSlice, ptr %t5410, i32 0, i32 1
%t5412 = getelementptr inbounds %LSlice, ptr %t5410, i32 0, i32 2
%t5413 = getelementptr inbounds %LSlice, ptr %t5410, i32 0, i32 0
%t5414 = load i32, ptr %t5411
%t5415 = load i32, ptr %t5412
%t5416 = icmp sge i32 %t5414, %t5415
br i1 %t5416, label %grow1159, label %put1160
grow1159:
%t5417 = mul i32 %t5415, 2
%t5418 = icmp eq i32 %t5415, 0
%t5419 = select i1 %t5418, i32 8, i32 %t5417
%t5420 = getelementptr ptr, ptr null, i32 1
%t5421 = ptrtoint ptr %t5420 to i64
%t5422 = zext i32 %t5419 to i64
%t5423 = mul i64 %t5422, %t5421
%t5424 = load ptr, ptr %t5413
%t5425 = call ptr @realloc(ptr %t5424, i64 %t5423)
store ptr %t5425, ptr %t5413
store i32 %t5419, ptr %t5412
br label %put1160
put1160:
%t5426 = load ptr, ptr %t5413
%t5427 = getelementptr inbounds ptr, ptr %t5426, i32 %t5414
store ptr @.str6293, ptr %t5427
%t5428 = add i32 %t5414, 1
store i32 %t5428, ptr %t5411
%t5429 = load ptr, ptr %t281
%t5430 = getelementptr inbounds %LSlice, ptr %t5429, i32 0, i32 1
%t5431 = getelementptr inbounds %LSlice, ptr %t5429, i32 0, i32 2
%t5432 = getelementptr inbounds %LSlice, ptr %t5429, i32 0, i32 0
%t5433 = load i32, ptr %t5430
%t5434 = load i32, ptr %t5431
%t5435 = icmp sge i32 %t5433, %t5434
br i1 %t5435, label %grow1161, label %put1162
grow1161:
%t5436 = mul i32 %t5434, 2
%t5437 = icmp eq i32 %t5434, 0
%t5438 = select i1 %t5437, i32 8, i32 %t5436
%t5439 = getelementptr ptr, ptr null, i32 1
%t5440 = ptrtoint ptr %t5439 to i64
%t5441 = zext i32 %t5438 to i64
%t5442 = mul i64 %t5441, %t5440
%t5443 = load ptr, ptr %t5432
%t5444 = call ptr @realloc(ptr %t5443, i64 %t5442)
store ptr %t5444, ptr %t5432
store i32 %t5438, ptr %t5431
br label %put1162
put1162:
%t5445 = load ptr, ptr %t5432
%t5446 = getelementptr inbounds ptr, ptr %t5445, i32 %t5433
store ptr @.str6294, ptr %t5446
%t5447 = add i32 %t5433, 1
store i32 %t5447, ptr %t5430
%t5448 = load ptr, ptr %t281
%t5449 = getelementptr inbounds %LSlice, ptr %t5448, i32 0, i32 1
%t5450 = getelementptr inbounds %LSlice, ptr %t5448, i32 0, i32 2
%t5451 = getelementptr inbounds %LSlice, ptr %t5448, i32 0, i32 0
%t5452 = load i32, ptr %t5449
%t5453 = load i32, ptr %t5450
%t5454 = icmp sge i32 %t5452, %t5453
br i1 %t5454, label %grow1163, label %put1164
grow1163:
%t5455 = mul i32 %t5453, 2
%t5456 = icmp eq i32 %t5453, 0
%t5457 = select i1 %t5456, i32 8, i32 %t5455
%t5458 = getelementptr ptr, ptr null, i32 1
%t5459 = ptrtoint ptr %t5458 to i64
%t5460 = zext i32 %t5457 to i64
%t5461 = mul i64 %t5460, %t5459
%t5462 = load ptr, ptr %t5451
%t5463 = call ptr @realloc(ptr %t5462, i64 %t5461)
store ptr %t5463, ptr %t5451
store i32 %t5457, ptr %t5450
br label %put1164
put1164:
%t5464 = load ptr, ptr %t5451
%t5465 = getelementptr inbounds ptr, ptr %t5464, i32 %t5452
store ptr @.str6295, ptr %t5465
%t5466 = add i32 %t5452, 1
store i32 %t5466, ptr %t5449
%t5467 = load ptr, ptr %t281
%t5468 = getelementptr inbounds %LSlice, ptr %t5467, i32 0, i32 1
%t5469 = getelementptr inbounds %LSlice, ptr %t5467, i32 0, i32 2
%t5470 = getelementptr inbounds %LSlice, ptr %t5467, i32 0, i32 0
%t5471 = load i32, ptr %t5468
%t5472 = load i32, ptr %t5469
%t5473 = icmp sge i32 %t5471, %t5472
br i1 %t5473, label %grow1165, label %put1166
grow1165:
%t5474 = mul i32 %t5472, 2
%t5475 = icmp eq i32 %t5472, 0
%t5476 = select i1 %t5475, i32 8, i32 %t5474
%t5477 = getelementptr ptr, ptr null, i32 1
%t5478 = ptrtoint ptr %t5477 to i64
%t5479 = zext i32 %t5476 to i64
%t5480 = mul i64 %t5479, %t5478
%t5481 = load ptr, ptr %t5470
%t5482 = call ptr @realloc(ptr %t5481, i64 %t5480)
store ptr %t5482, ptr %t5470
store i32 %t5476, ptr %t5469
br label %put1166
put1166:
%t5483 = load ptr, ptr %t5470
%t5484 = getelementptr inbounds ptr, ptr %t5483, i32 %t5471
store ptr @.str6296, ptr %t5484
%t5485 = add i32 %t5471, 1
store i32 %t5485, ptr %t5468
br label %ifend1154
ifend1154:
%t5486 = load ptr, ptr %t1
%t5487 = call i32 @fn_str_eq(ptr %t5486, ptr @.str6297)
%t5488 = icmp ne i32 %t5487, 0
br i1 %t5488, label %then1167, label %ifend1169
then1167:
store ptr @.str6298, ptr %t274
%t5489 = load ptr, ptr %t281
%t5490 = getelementptr inbounds %LSlice, ptr %t5489, i32 0, i32 1
%t5491 = getelementptr inbounds %LSlice, ptr %t5489, i32 0, i32 2
%t5492 = getelementptr inbounds %LSlice, ptr %t5489, i32 0, i32 0
%t5493 = load i32, ptr %t5490
%t5494 = load i32, ptr %t5491
%t5495 = icmp sge i32 %t5493, %t5494
br i1 %t5495, label %grow1170, label %put1171
grow1170:
%t5496 = mul i32 %t5494, 2
%t5497 = icmp eq i32 %t5494, 0
%t5498 = select i1 %t5497, i32 8, i32 %t5496
%t5499 = getelementptr ptr, ptr null, i32 1
%t5500 = ptrtoint ptr %t5499 to i64
%t5501 = zext i32 %t5498 to i64
%t5502 = mul i64 %t5501, %t5500
%t5503 = load ptr, ptr %t5492
%t5504 = call ptr @realloc(ptr %t5503, i64 %t5502)
store ptr %t5504, ptr %t5492
store i32 %t5498, ptr %t5491
br label %put1171
put1171:
%t5505 = load ptr, ptr %t5492
%t5506 = getelementptr inbounds ptr, ptr %t5505, i32 %t5493
store ptr @.str6299, ptr %t5506
%t5507 = add i32 %t5493, 1
store i32 %t5507, ptr %t5490
%t5508 = load ptr, ptr %t281
%t5509 = getelementptr inbounds %LSlice, ptr %t5508, i32 0, i32 1
%t5510 = getelementptr inbounds %LSlice, ptr %t5508, i32 0, i32 2
%t5511 = getelementptr inbounds %LSlice, ptr %t5508, i32 0, i32 0
%t5512 = load i32, ptr %t5509
%t5513 = load i32, ptr %t5510
%t5514 = icmp sge i32 %t5512, %t5513
br i1 %t5514, label %grow1172, label %put1173
grow1172:
%t5515 = mul i32 %t5513, 2
%t5516 = icmp eq i32 %t5513, 0
%t5517 = select i1 %t5516, i32 8, i32 %t5515
%t5518 = getelementptr ptr, ptr null, i32 1
%t5519 = ptrtoint ptr %t5518 to i64
%t5520 = zext i32 %t5517 to i64
%t5521 = mul i64 %t5520, %t5519
%t5522 = load ptr, ptr %t5511
%t5523 = call ptr @realloc(ptr %t5522, i64 %t5521)
store ptr %t5523, ptr %t5511
store i32 %t5517, ptr %t5510
br label %put1173
put1173:
%t5524 = load ptr, ptr %t5511
%t5525 = getelementptr inbounds ptr, ptr %t5524, i32 %t5512
store ptr @.str6300, ptr %t5525
%t5526 = add i32 %t5512, 1
store i32 %t5526, ptr %t5509
%t5527 = load ptr, ptr %t281
%t5528 = getelementptr inbounds %LSlice, ptr %t5527, i32 0, i32 1
%t5529 = getelementptr inbounds %LSlice, ptr %t5527, i32 0, i32 2
%t5530 = getelementptr inbounds %LSlice, ptr %t5527, i32 0, i32 0
%t5531 = load i32, ptr %t5528
%t5532 = load i32, ptr %t5529
%t5533 = icmp sge i32 %t5531, %t5532
br i1 %t5533, label %grow1174, label %put1175
grow1174:
%t5534 = mul i32 %t5532, 2
%t5535 = icmp eq i32 %t5532, 0
%t5536 = select i1 %t5535, i32 8, i32 %t5534
%t5537 = getelementptr ptr, ptr null, i32 1
%t5538 = ptrtoint ptr %t5537 to i64
%t5539 = zext i32 %t5536 to i64
%t5540 = mul i64 %t5539, %t5538
%t5541 = load ptr, ptr %t5530
%t5542 = call ptr @realloc(ptr %t5541, i64 %t5540)
store ptr %t5542, ptr %t5530
store i32 %t5536, ptr %t5529
br label %put1175
put1175:
%t5543 = load ptr, ptr %t5530
%t5544 = getelementptr inbounds ptr, ptr %t5543, i32 %t5531
store ptr @.str6301, ptr %t5544
%t5545 = add i32 %t5531, 1
store i32 %t5545, ptr %t5528
%t5546 = load ptr, ptr %t281
%t5547 = getelementptr inbounds %LSlice, ptr %t5546, i32 0, i32 1
%t5548 = getelementptr inbounds %LSlice, ptr %t5546, i32 0, i32 2
%t5549 = getelementptr inbounds %LSlice, ptr %t5546, i32 0, i32 0
%t5550 = load i32, ptr %t5547
%t5551 = load i32, ptr %t5548
%t5552 = icmp sge i32 %t5550, %t5551
br i1 %t5552, label %grow1176, label %put1177
grow1176:
%t5553 = mul i32 %t5551, 2
%t5554 = icmp eq i32 %t5551, 0
%t5555 = select i1 %t5554, i32 8, i32 %t5553
%t5556 = getelementptr ptr, ptr null, i32 1
%t5557 = ptrtoint ptr %t5556 to i64
%t5558 = zext i32 %t5555 to i64
%t5559 = mul i64 %t5558, %t5557
%t5560 = load ptr, ptr %t5549
%t5561 = call ptr @realloc(ptr %t5560, i64 %t5559)
store ptr %t5561, ptr %t5549
store i32 %t5555, ptr %t5548
br label %put1177
put1177:
%t5562 = load ptr, ptr %t5549
%t5563 = getelementptr inbounds ptr, ptr %t5562, i32 %t5550
store ptr @.str6302, ptr %t5563
%t5564 = add i32 %t5550, 1
store i32 %t5564, ptr %t5547
%t5565 = load ptr, ptr %t281
%t5566 = getelementptr inbounds %LSlice, ptr %t5565, i32 0, i32 1
%t5567 = getelementptr inbounds %LSlice, ptr %t5565, i32 0, i32 2
%t5568 = getelementptr inbounds %LSlice, ptr %t5565, i32 0, i32 0
%t5569 = load i32, ptr %t5566
%t5570 = load i32, ptr %t5567
%t5571 = icmp sge i32 %t5569, %t5570
br i1 %t5571, label %grow1178, label %put1179
grow1178:
%t5572 = mul i32 %t5570, 2
%t5573 = icmp eq i32 %t5570, 0
%t5574 = select i1 %t5573, i32 8, i32 %t5572
%t5575 = getelementptr ptr, ptr null, i32 1
%t5576 = ptrtoint ptr %t5575 to i64
%t5577 = zext i32 %t5574 to i64
%t5578 = mul i64 %t5577, %t5576
%t5579 = load ptr, ptr %t5568
%t5580 = call ptr @realloc(ptr %t5579, i64 %t5578)
store ptr %t5580, ptr %t5568
store i32 %t5574, ptr %t5567
br label %put1179
put1179:
%t5581 = load ptr, ptr %t5568
%t5582 = getelementptr inbounds ptr, ptr %t5581, i32 %t5569
store ptr @.str6303, ptr %t5582
%t5583 = add i32 %t5569, 1
store i32 %t5583, ptr %t5566
%t5584 = load ptr, ptr %t281
%t5585 = getelementptr inbounds %LSlice, ptr %t5584, i32 0, i32 1
%t5586 = getelementptr inbounds %LSlice, ptr %t5584, i32 0, i32 2
%t5587 = getelementptr inbounds %LSlice, ptr %t5584, i32 0, i32 0
%t5588 = load i32, ptr %t5585
%t5589 = load i32, ptr %t5586
%t5590 = icmp sge i32 %t5588, %t5589
br i1 %t5590, label %grow1180, label %put1181
grow1180:
%t5591 = mul i32 %t5589, 2
%t5592 = icmp eq i32 %t5589, 0
%t5593 = select i1 %t5592, i32 8, i32 %t5591
%t5594 = getelementptr ptr, ptr null, i32 1
%t5595 = ptrtoint ptr %t5594 to i64
%t5596 = zext i32 %t5593 to i64
%t5597 = mul i64 %t5596, %t5595
%t5598 = load ptr, ptr %t5587
%t5599 = call ptr @realloc(ptr %t5598, i64 %t5597)
store ptr %t5599, ptr %t5587
store i32 %t5593, ptr %t5586
br label %put1181
put1181:
%t5600 = load ptr, ptr %t5587
%t5601 = getelementptr inbounds ptr, ptr %t5600, i32 %t5588
store ptr @.str6304, ptr %t5601
%t5602 = add i32 %t5588, 1
store i32 %t5602, ptr %t5585
%t5603 = load ptr, ptr %t281
%t5604 = getelementptr inbounds %LSlice, ptr %t5603, i32 0, i32 1
%t5605 = getelementptr inbounds %LSlice, ptr %t5603, i32 0, i32 2
%t5606 = getelementptr inbounds %LSlice, ptr %t5603, i32 0, i32 0
%t5607 = load i32, ptr %t5604
%t5608 = load i32, ptr %t5605
%t5609 = icmp sge i32 %t5607, %t5608
br i1 %t5609, label %grow1182, label %put1183
grow1182:
%t5610 = mul i32 %t5608, 2
%t5611 = icmp eq i32 %t5608, 0
%t5612 = select i1 %t5611, i32 8, i32 %t5610
%t5613 = getelementptr ptr, ptr null, i32 1
%t5614 = ptrtoint ptr %t5613 to i64
%t5615 = zext i32 %t5612 to i64
%t5616 = mul i64 %t5615, %t5614
%t5617 = load ptr, ptr %t5606
%t5618 = call ptr @realloc(ptr %t5617, i64 %t5616)
store ptr %t5618, ptr %t5606
store i32 %t5612, ptr %t5605
br label %put1183
put1183:
%t5619 = load ptr, ptr %t5606
%t5620 = getelementptr inbounds ptr, ptr %t5619, i32 %t5607
store ptr @.str6305, ptr %t5620
%t5621 = add i32 %t5607, 1
store i32 %t5621, ptr %t5604
br label %ifend1169
ifend1169:
br label %ifend1141
ifend1141:
%t5622 = load ptr, ptr %t0
%t5623 = call i32 @fn_str_eq(ptr %t5622, ptr @.str6306)
%t5624 = icmp ne i32 %t5623, 0
br i1 %t5624, label %then1184, label %ifend1186
then1184:
%t5625 = load ptr, ptr %t1
%t5626 = call i32 @fn_str_eq(ptr %t5625, ptr @.str6307)
%t5627 = icmp ne i32 %t5626, 0
br i1 %t5627, label %then1187, label %ifend1189
then1187:
store ptr @.str6308, ptr %t274
%t5628 = load ptr, ptr %t281
%t5629 = getelementptr inbounds %LSlice, ptr %t5628, i32 0, i32 1
%t5630 = getelementptr inbounds %LSlice, ptr %t5628, i32 0, i32 2
%t5631 = getelementptr inbounds %LSlice, ptr %t5628, i32 0, i32 0
%t5632 = load i32, ptr %t5629
%t5633 = load i32, ptr %t5630
%t5634 = icmp sge i32 %t5632, %t5633
br i1 %t5634, label %grow1190, label %put1191
grow1190:
%t5635 = mul i32 %t5633, 2
%t5636 = icmp eq i32 %t5633, 0
%t5637 = select i1 %t5636, i32 8, i32 %t5635
%t5638 = getelementptr ptr, ptr null, i32 1
%t5639 = ptrtoint ptr %t5638 to i64
%t5640 = zext i32 %t5637 to i64
%t5641 = mul i64 %t5640, %t5639
%t5642 = load ptr, ptr %t5631
%t5643 = call ptr @realloc(ptr %t5642, i64 %t5641)
store ptr %t5643, ptr %t5631
store i32 %t5637, ptr %t5630
br label %put1191
put1191:
%t5644 = load ptr, ptr %t5631
%t5645 = getelementptr inbounds ptr, ptr %t5644, i32 %t5632
store ptr @.str6309, ptr %t5645
%t5646 = add i32 %t5632, 1
store i32 %t5646, ptr %t5629
br label %ifend1189
ifend1189:
%t5647 = load ptr, ptr %t1
%t5648 = call i32 @fn_str_eq(ptr %t5647, ptr @.str6310)
%t5649 = icmp ne i32 %t5648, 0
br i1 %t5649, label %then1192, label %ifend1194
then1192:
store ptr @.str6311, ptr %t274
%t5650 = load ptr, ptr %t281
%t5651 = getelementptr inbounds %LSlice, ptr %t5650, i32 0, i32 1
%t5652 = getelementptr inbounds %LSlice, ptr %t5650, i32 0, i32 2
%t5653 = getelementptr inbounds %LSlice, ptr %t5650, i32 0, i32 0
%t5654 = load i32, ptr %t5651
%t5655 = load i32, ptr %t5652
%t5656 = icmp sge i32 %t5654, %t5655
br i1 %t5656, label %grow1195, label %put1196
grow1195:
%t5657 = mul i32 %t5655, 2
%t5658 = icmp eq i32 %t5655, 0
%t5659 = select i1 %t5658, i32 8, i32 %t5657
%t5660 = getelementptr ptr, ptr null, i32 1
%t5661 = ptrtoint ptr %t5660 to i64
%t5662 = zext i32 %t5659 to i64
%t5663 = mul i64 %t5662, %t5661
%t5664 = load ptr, ptr %t5653
%t5665 = call ptr @realloc(ptr %t5664, i64 %t5663)
store ptr %t5665, ptr %t5653
store i32 %t5659, ptr %t5652
br label %put1196
put1196:
%t5666 = load ptr, ptr %t5653
%t5667 = getelementptr inbounds ptr, ptr %t5666, i32 %t5654
store ptr @.str6312, ptr %t5667
%t5668 = add i32 %t5654, 1
store i32 %t5668, ptr %t5651
%t5669 = load ptr, ptr %t281
%t5670 = getelementptr inbounds %LSlice, ptr %t5669, i32 0, i32 1
%t5671 = getelementptr inbounds %LSlice, ptr %t5669, i32 0, i32 2
%t5672 = getelementptr inbounds %LSlice, ptr %t5669, i32 0, i32 0
%t5673 = load i32, ptr %t5670
%t5674 = load i32, ptr %t5671
%t5675 = icmp sge i32 %t5673, %t5674
br i1 %t5675, label %grow1197, label %put1198
grow1197:
%t5676 = mul i32 %t5674, 2
%t5677 = icmp eq i32 %t5674, 0
%t5678 = select i1 %t5677, i32 8, i32 %t5676
%t5679 = getelementptr ptr, ptr null, i32 1
%t5680 = ptrtoint ptr %t5679 to i64
%t5681 = zext i32 %t5678 to i64
%t5682 = mul i64 %t5681, %t5680
%t5683 = load ptr, ptr %t5672
%t5684 = call ptr @realloc(ptr %t5683, i64 %t5682)
store ptr %t5684, ptr %t5672
store i32 %t5678, ptr %t5671
br label %put1198
put1198:
%t5685 = load ptr, ptr %t5672
%t5686 = getelementptr inbounds ptr, ptr %t5685, i32 %t5673
store ptr @.str6313, ptr %t5686
%t5687 = add i32 %t5673, 1
store i32 %t5687, ptr %t5670
br label %ifend1194
ifend1194:
%t5688 = load ptr, ptr %t1
%t5689 = call i32 @fn_str_eq(ptr %t5688, ptr @.str6314)
%t5690 = icmp ne i32 %t5689, 0
br i1 %t5690, label %then1199, label %ifend1201
then1199:
store ptr @.str6315, ptr %t274
br label %ifend1201
ifend1201:
%t5691 = load ptr, ptr %t1
%t5692 = call i32 @fn_str_eq(ptr %t5691, ptr @.str6316)
%t5693 = icmp ne i32 %t5692, 0
br i1 %t5693, label %then1202, label %ifend1204
then1202:
store ptr @.str6317, ptr %t274
%t5694 = load ptr, ptr %t281
%t5695 = getelementptr inbounds %LSlice, ptr %t5694, i32 0, i32 1
%t5696 = getelementptr inbounds %LSlice, ptr %t5694, i32 0, i32 2
%t5697 = getelementptr inbounds %LSlice, ptr %t5694, i32 0, i32 0
%t5698 = load i32, ptr %t5695
%t5699 = load i32, ptr %t5696
%t5700 = icmp sge i32 %t5698, %t5699
br i1 %t5700, label %grow1205, label %put1206
grow1205:
%t5701 = mul i32 %t5699, 2
%t5702 = icmp eq i32 %t5699, 0
%t5703 = select i1 %t5702, i32 8, i32 %t5701
%t5704 = getelementptr ptr, ptr null, i32 1
%t5705 = ptrtoint ptr %t5704 to i64
%t5706 = zext i32 %t5703 to i64
%t5707 = mul i64 %t5706, %t5705
%t5708 = load ptr, ptr %t5697
%t5709 = call ptr @realloc(ptr %t5708, i64 %t5707)
store ptr %t5709, ptr %t5697
store i32 %t5703, ptr %t5696
br label %put1206
put1206:
%t5710 = load ptr, ptr %t5697
%t5711 = getelementptr inbounds ptr, ptr %t5710, i32 %t5698
store ptr @.str6318, ptr %t5711
%t5712 = add i32 %t5698, 1
store i32 %t5712, ptr %t5695
br label %ifend1204
ifend1204:
%t5713 = load ptr, ptr %t1
%t5714 = call i32 @fn_str_eq(ptr %t5713, ptr @.str6319)
%t5715 = icmp ne i32 %t5714, 0
br i1 %t5715, label %then1207, label %ifend1209
then1207:
store ptr @.str6320, ptr %t274
%t5716 = load ptr, ptr %t281
%t5717 = getelementptr inbounds %LSlice, ptr %t5716, i32 0, i32 1
%t5718 = getelementptr inbounds %LSlice, ptr %t5716, i32 0, i32 2
%t5719 = getelementptr inbounds %LSlice, ptr %t5716, i32 0, i32 0
%t5720 = load i32, ptr %t5717
%t5721 = load i32, ptr %t5718
%t5722 = icmp sge i32 %t5720, %t5721
br i1 %t5722, label %grow1210, label %put1211
grow1210:
%t5723 = mul i32 %t5721, 2
%t5724 = icmp eq i32 %t5721, 0
%t5725 = select i1 %t5724, i32 8, i32 %t5723
%t5726 = getelementptr ptr, ptr null, i32 1
%t5727 = ptrtoint ptr %t5726 to i64
%t5728 = zext i32 %t5725 to i64
%t5729 = mul i64 %t5728, %t5727
%t5730 = load ptr, ptr %t5719
%t5731 = call ptr @realloc(ptr %t5730, i64 %t5729)
store ptr %t5731, ptr %t5719
store i32 %t5725, ptr %t5718
br label %put1211
put1211:
%t5732 = load ptr, ptr %t5719
%t5733 = getelementptr inbounds ptr, ptr %t5732, i32 %t5720
store ptr @.str6321, ptr %t5733
%t5734 = add i32 %t5720, 1
store i32 %t5734, ptr %t5717
br label %ifend1209
ifend1209:
%t5735 = load ptr, ptr %t1
%t5736 = call i32 @fn_str_eq(ptr %t5735, ptr @.str6322)
%t5737 = icmp ne i32 %t5736, 0
br i1 %t5737, label %then1212, label %ifend1214
then1212:
store ptr @.str6323, ptr %t274
%t5738 = load ptr, ptr %t281
%t5739 = getelementptr inbounds %LSlice, ptr %t5738, i32 0, i32 1
%t5740 = getelementptr inbounds %LSlice, ptr %t5738, i32 0, i32 2
%t5741 = getelementptr inbounds %LSlice, ptr %t5738, i32 0, i32 0
%t5742 = load i32, ptr %t5739
%t5743 = load i32, ptr %t5740
%t5744 = icmp sge i32 %t5742, %t5743
br i1 %t5744, label %grow1215, label %put1216
grow1215:
%t5745 = mul i32 %t5743, 2
%t5746 = icmp eq i32 %t5743, 0
%t5747 = select i1 %t5746, i32 8, i32 %t5745
%t5748 = getelementptr ptr, ptr null, i32 1
%t5749 = ptrtoint ptr %t5748 to i64
%t5750 = zext i32 %t5747 to i64
%t5751 = mul i64 %t5750, %t5749
%t5752 = load ptr, ptr %t5741
%t5753 = call ptr @realloc(ptr %t5752, i64 %t5751)
store ptr %t5753, ptr %t5741
store i32 %t5747, ptr %t5740
br label %put1216
put1216:
%t5754 = load ptr, ptr %t5741
%t5755 = getelementptr inbounds ptr, ptr %t5754, i32 %t5742
store ptr @.str6324, ptr %t5755
%t5756 = add i32 %t5742, 1
store i32 %t5756, ptr %t5739
%t5757 = load ptr, ptr %t281
%t5758 = getelementptr inbounds %LSlice, ptr %t5757, i32 0, i32 1
%t5759 = getelementptr inbounds %LSlice, ptr %t5757, i32 0, i32 2
%t5760 = getelementptr inbounds %LSlice, ptr %t5757, i32 0, i32 0
%t5761 = load i32, ptr %t5758
%t5762 = load i32, ptr %t5759
%t5763 = icmp sge i32 %t5761, %t5762
br i1 %t5763, label %grow1217, label %put1218
grow1217:
%t5764 = mul i32 %t5762, 2
%t5765 = icmp eq i32 %t5762, 0
%t5766 = select i1 %t5765, i32 8, i32 %t5764
%t5767 = getelementptr ptr, ptr null, i32 1
%t5768 = ptrtoint ptr %t5767 to i64
%t5769 = zext i32 %t5766 to i64
%t5770 = mul i64 %t5769, %t5768
%t5771 = load ptr, ptr %t5760
%t5772 = call ptr @realloc(ptr %t5771, i64 %t5770)
store ptr %t5772, ptr %t5760
store i32 %t5766, ptr %t5759
br label %put1218
put1218:
%t5773 = load ptr, ptr %t5760
%t5774 = getelementptr inbounds ptr, ptr %t5773, i32 %t5761
store ptr @.str6325, ptr %t5774
%t5775 = add i32 %t5761, 1
store i32 %t5775, ptr %t5758
br label %ifend1214
ifend1214:
%t5776 = load ptr, ptr %t1
%t5777 = call i32 @fn_str_eq(ptr %t5776, ptr @.str6326)
%t5778 = icmp ne i32 %t5777, 0
br i1 %t5778, label %then1219, label %ifend1221
then1219:
store ptr @.str6327, ptr %t274
%t5779 = load ptr, ptr %t281
%t5780 = getelementptr inbounds %LSlice, ptr %t5779, i32 0, i32 1
%t5781 = getelementptr inbounds %LSlice, ptr %t5779, i32 0, i32 2
%t5782 = getelementptr inbounds %LSlice, ptr %t5779, i32 0, i32 0
%t5783 = load i32, ptr %t5780
%t5784 = load i32, ptr %t5781
%t5785 = icmp sge i32 %t5783, %t5784
br i1 %t5785, label %grow1222, label %put1223
grow1222:
%t5786 = mul i32 %t5784, 2
%t5787 = icmp eq i32 %t5784, 0
%t5788 = select i1 %t5787, i32 8, i32 %t5786
%t5789 = getelementptr ptr, ptr null, i32 1
%t5790 = ptrtoint ptr %t5789 to i64
%t5791 = zext i32 %t5788 to i64
%t5792 = mul i64 %t5791, %t5790
%t5793 = load ptr, ptr %t5782
%t5794 = call ptr @realloc(ptr %t5793, i64 %t5792)
store ptr %t5794, ptr %t5782
store i32 %t5788, ptr %t5781
br label %put1223
put1223:
%t5795 = load ptr, ptr %t5782
%t5796 = getelementptr inbounds ptr, ptr %t5795, i32 %t5783
store ptr @.str6328, ptr %t5796
%t5797 = add i32 %t5783, 1
store i32 %t5797, ptr %t5780
%t5798 = load ptr, ptr %t281
%t5799 = getelementptr inbounds %LSlice, ptr %t5798, i32 0, i32 1
%t5800 = getelementptr inbounds %LSlice, ptr %t5798, i32 0, i32 2
%t5801 = getelementptr inbounds %LSlice, ptr %t5798, i32 0, i32 0
%t5802 = load i32, ptr %t5799
%t5803 = load i32, ptr %t5800
%t5804 = icmp sge i32 %t5802, %t5803
br i1 %t5804, label %grow1224, label %put1225
grow1224:
%t5805 = mul i32 %t5803, 2
%t5806 = icmp eq i32 %t5803, 0
%t5807 = select i1 %t5806, i32 8, i32 %t5805
%t5808 = getelementptr ptr, ptr null, i32 1
%t5809 = ptrtoint ptr %t5808 to i64
%t5810 = zext i32 %t5807 to i64
%t5811 = mul i64 %t5810, %t5809
%t5812 = load ptr, ptr %t5801
%t5813 = call ptr @realloc(ptr %t5812, i64 %t5811)
store ptr %t5813, ptr %t5801
store i32 %t5807, ptr %t5800
br label %put1225
put1225:
%t5814 = load ptr, ptr %t5801
%t5815 = getelementptr inbounds ptr, ptr %t5814, i32 %t5802
store ptr @.str6329, ptr %t5815
%t5816 = add i32 %t5802, 1
store i32 %t5816, ptr %t5799
br label %ifend1221
ifend1221:
%t5817 = load ptr, ptr %t1
%t5818 = call i32 @fn_str_eq(ptr %t5817, ptr @.str6330)
%t5819 = icmp ne i32 %t5818, 0
br i1 %t5819, label %then1226, label %ifend1228
then1226:
store ptr @.str6331, ptr %t274
%t5820 = load ptr, ptr %t281
%t5821 = getelementptr inbounds %LSlice, ptr %t5820, i32 0, i32 1
%t5822 = getelementptr inbounds %LSlice, ptr %t5820, i32 0, i32 2
%t5823 = getelementptr inbounds %LSlice, ptr %t5820, i32 0, i32 0
%t5824 = load i32, ptr %t5821
%t5825 = load i32, ptr %t5822
%t5826 = icmp sge i32 %t5824, %t5825
br i1 %t5826, label %grow1229, label %put1230
grow1229:
%t5827 = mul i32 %t5825, 2
%t5828 = icmp eq i32 %t5825, 0
%t5829 = select i1 %t5828, i32 8, i32 %t5827
%t5830 = getelementptr ptr, ptr null, i32 1
%t5831 = ptrtoint ptr %t5830 to i64
%t5832 = zext i32 %t5829 to i64
%t5833 = mul i64 %t5832, %t5831
%t5834 = load ptr, ptr %t5823
%t5835 = call ptr @realloc(ptr %t5834, i64 %t5833)
store ptr %t5835, ptr %t5823
store i32 %t5829, ptr %t5822
br label %put1230
put1230:
%t5836 = load ptr, ptr %t5823
%t5837 = getelementptr inbounds ptr, ptr %t5836, i32 %t5824
store ptr @.str6332, ptr %t5837
%t5838 = add i32 %t5824, 1
store i32 %t5838, ptr %t5821
%t5839 = load ptr, ptr %t281
%t5840 = getelementptr inbounds %LSlice, ptr %t5839, i32 0, i32 1
%t5841 = getelementptr inbounds %LSlice, ptr %t5839, i32 0, i32 2
%t5842 = getelementptr inbounds %LSlice, ptr %t5839, i32 0, i32 0
%t5843 = load i32, ptr %t5840
%t5844 = load i32, ptr %t5841
%t5845 = icmp sge i32 %t5843, %t5844
br i1 %t5845, label %grow1231, label %put1232
grow1231:
%t5846 = mul i32 %t5844, 2
%t5847 = icmp eq i32 %t5844, 0
%t5848 = select i1 %t5847, i32 8, i32 %t5846
%t5849 = getelementptr ptr, ptr null, i32 1
%t5850 = ptrtoint ptr %t5849 to i64
%t5851 = zext i32 %t5848 to i64
%t5852 = mul i64 %t5851, %t5850
%t5853 = load ptr, ptr %t5842
%t5854 = call ptr @realloc(ptr %t5853, i64 %t5852)
store ptr %t5854, ptr %t5842
store i32 %t5848, ptr %t5841
br label %put1232
put1232:
%t5855 = load ptr, ptr %t5842
%t5856 = getelementptr inbounds ptr, ptr %t5855, i32 %t5843
store ptr @.str6333, ptr %t5856
%t5857 = add i32 %t5843, 1
store i32 %t5857, ptr %t5840
%t5858 = load ptr, ptr %t281
%t5859 = getelementptr inbounds %LSlice, ptr %t5858, i32 0, i32 1
%t5860 = getelementptr inbounds %LSlice, ptr %t5858, i32 0, i32 2
%t5861 = getelementptr inbounds %LSlice, ptr %t5858, i32 0, i32 0
%t5862 = load i32, ptr %t5859
%t5863 = load i32, ptr %t5860
%t5864 = icmp sge i32 %t5862, %t5863
br i1 %t5864, label %grow1233, label %put1234
grow1233:
%t5865 = mul i32 %t5863, 2
%t5866 = icmp eq i32 %t5863, 0
%t5867 = select i1 %t5866, i32 8, i32 %t5865
%t5868 = getelementptr ptr, ptr null, i32 1
%t5869 = ptrtoint ptr %t5868 to i64
%t5870 = zext i32 %t5867 to i64
%t5871 = mul i64 %t5870, %t5869
%t5872 = load ptr, ptr %t5861
%t5873 = call ptr @realloc(ptr %t5872, i64 %t5871)
store ptr %t5873, ptr %t5861
store i32 %t5867, ptr %t5860
br label %put1234
put1234:
%t5874 = load ptr, ptr %t5861
%t5875 = getelementptr inbounds ptr, ptr %t5874, i32 %t5862
store ptr @.str6334, ptr %t5875
%t5876 = add i32 %t5862, 1
store i32 %t5876, ptr %t5859
br label %ifend1228
ifend1228:
%t5877 = load ptr, ptr %t1
%t5878 = call i32 @fn_str_eq(ptr %t5877, ptr @.str6335)
%t5879 = icmp ne i32 %t5878, 0
br i1 %t5879, label %then1235, label %ifend1237
then1235:
store ptr @.str6336, ptr %t274
%t5880 = load ptr, ptr %t281
%t5881 = getelementptr inbounds %LSlice, ptr %t5880, i32 0, i32 1
%t5882 = getelementptr inbounds %LSlice, ptr %t5880, i32 0, i32 2
%t5883 = getelementptr inbounds %LSlice, ptr %t5880, i32 0, i32 0
%t5884 = load i32, ptr %t5881
%t5885 = load i32, ptr %t5882
%t5886 = icmp sge i32 %t5884, %t5885
br i1 %t5886, label %grow1238, label %put1239
grow1238:
%t5887 = mul i32 %t5885, 2
%t5888 = icmp eq i32 %t5885, 0
%t5889 = select i1 %t5888, i32 8, i32 %t5887
%t5890 = getelementptr ptr, ptr null, i32 1
%t5891 = ptrtoint ptr %t5890 to i64
%t5892 = zext i32 %t5889 to i64
%t5893 = mul i64 %t5892, %t5891
%t5894 = load ptr, ptr %t5883
%t5895 = call ptr @realloc(ptr %t5894, i64 %t5893)
store ptr %t5895, ptr %t5883
store i32 %t5889, ptr %t5882
br label %put1239
put1239:
%t5896 = load ptr, ptr %t5883
%t5897 = getelementptr inbounds ptr, ptr %t5896, i32 %t5884
store ptr @.str6337, ptr %t5897
%t5898 = add i32 %t5884, 1
store i32 %t5898, ptr %t5881
%t5899 = load ptr, ptr %t281
%t5900 = getelementptr inbounds %LSlice, ptr %t5899, i32 0, i32 1
%t5901 = getelementptr inbounds %LSlice, ptr %t5899, i32 0, i32 2
%t5902 = getelementptr inbounds %LSlice, ptr %t5899, i32 0, i32 0
%t5903 = load i32, ptr %t5900
%t5904 = load i32, ptr %t5901
%t5905 = icmp sge i32 %t5903, %t5904
br i1 %t5905, label %grow1240, label %put1241
grow1240:
%t5906 = mul i32 %t5904, 2
%t5907 = icmp eq i32 %t5904, 0
%t5908 = select i1 %t5907, i32 8, i32 %t5906
%t5909 = getelementptr ptr, ptr null, i32 1
%t5910 = ptrtoint ptr %t5909 to i64
%t5911 = zext i32 %t5908 to i64
%t5912 = mul i64 %t5911, %t5910
%t5913 = load ptr, ptr %t5902
%t5914 = call ptr @realloc(ptr %t5913, i64 %t5912)
store ptr %t5914, ptr %t5902
store i32 %t5908, ptr %t5901
br label %put1241
put1241:
%t5915 = load ptr, ptr %t5902
%t5916 = getelementptr inbounds ptr, ptr %t5915, i32 %t5903
store ptr @.str6338, ptr %t5916
%t5917 = add i32 %t5903, 1
store i32 %t5917, ptr %t5900
%t5918 = load ptr, ptr %t281
%t5919 = getelementptr inbounds %LSlice, ptr %t5918, i32 0, i32 1
%t5920 = getelementptr inbounds %LSlice, ptr %t5918, i32 0, i32 2
%t5921 = getelementptr inbounds %LSlice, ptr %t5918, i32 0, i32 0
%t5922 = load i32, ptr %t5919
%t5923 = load i32, ptr %t5920
%t5924 = icmp sge i32 %t5922, %t5923
br i1 %t5924, label %grow1242, label %put1243
grow1242:
%t5925 = mul i32 %t5923, 2
%t5926 = icmp eq i32 %t5923, 0
%t5927 = select i1 %t5926, i32 8, i32 %t5925
%t5928 = getelementptr ptr, ptr null, i32 1
%t5929 = ptrtoint ptr %t5928 to i64
%t5930 = zext i32 %t5927 to i64
%t5931 = mul i64 %t5930, %t5929
%t5932 = load ptr, ptr %t5921
%t5933 = call ptr @realloc(ptr %t5932, i64 %t5931)
store ptr %t5933, ptr %t5921
store i32 %t5927, ptr %t5920
br label %put1243
put1243:
%t5934 = load ptr, ptr %t5921
%t5935 = getelementptr inbounds ptr, ptr %t5934, i32 %t5922
store ptr @.str6339, ptr %t5935
%t5936 = add i32 %t5922, 1
store i32 %t5936, ptr %t5919
%t5937 = load ptr, ptr %t281
%t5938 = getelementptr inbounds %LSlice, ptr %t5937, i32 0, i32 1
%t5939 = getelementptr inbounds %LSlice, ptr %t5937, i32 0, i32 2
%t5940 = getelementptr inbounds %LSlice, ptr %t5937, i32 0, i32 0
%t5941 = load i32, ptr %t5938
%t5942 = load i32, ptr %t5939
%t5943 = icmp sge i32 %t5941, %t5942
br i1 %t5943, label %grow1244, label %put1245
grow1244:
%t5944 = mul i32 %t5942, 2
%t5945 = icmp eq i32 %t5942, 0
%t5946 = select i1 %t5945, i32 8, i32 %t5944
%t5947 = getelementptr ptr, ptr null, i32 1
%t5948 = ptrtoint ptr %t5947 to i64
%t5949 = zext i32 %t5946 to i64
%t5950 = mul i64 %t5949, %t5948
%t5951 = load ptr, ptr %t5940
%t5952 = call ptr @realloc(ptr %t5951, i64 %t5950)
store ptr %t5952, ptr %t5940
store i32 %t5946, ptr %t5939
br label %put1245
put1245:
%t5953 = load ptr, ptr %t5940
%t5954 = getelementptr inbounds ptr, ptr %t5953, i32 %t5941
store ptr @.str6340, ptr %t5954
%t5955 = add i32 %t5941, 1
store i32 %t5955, ptr %t5938
br label %ifend1237
ifend1237:
%t5956 = load ptr, ptr %t1
%t5957 = call i32 @fn_str_eq(ptr %t5956, ptr @.str6341)
%t5958 = icmp ne i32 %t5957, 0
br i1 %t5958, label %then1246, label %ifend1248
then1246:
store ptr @.str6342, ptr %t274
%t5959 = load ptr, ptr %t281
%t5960 = getelementptr inbounds %LSlice, ptr %t5959, i32 0, i32 1
%t5961 = getelementptr inbounds %LSlice, ptr %t5959, i32 0, i32 2
%t5962 = getelementptr inbounds %LSlice, ptr %t5959, i32 0, i32 0
%t5963 = load i32, ptr %t5960
%t5964 = load i32, ptr %t5961
%t5965 = icmp sge i32 %t5963, %t5964
br i1 %t5965, label %grow1249, label %put1250
grow1249:
%t5966 = mul i32 %t5964, 2
%t5967 = icmp eq i32 %t5964, 0
%t5968 = select i1 %t5967, i32 8, i32 %t5966
%t5969 = getelementptr ptr, ptr null, i32 1
%t5970 = ptrtoint ptr %t5969 to i64
%t5971 = zext i32 %t5968 to i64
%t5972 = mul i64 %t5971, %t5970
%t5973 = load ptr, ptr %t5962
%t5974 = call ptr @realloc(ptr %t5973, i64 %t5972)
store ptr %t5974, ptr %t5962
store i32 %t5968, ptr %t5961
br label %put1250
put1250:
%t5975 = load ptr, ptr %t5962
%t5976 = getelementptr inbounds ptr, ptr %t5975, i32 %t5963
store ptr @.str6343, ptr %t5976
%t5977 = add i32 %t5963, 1
store i32 %t5977, ptr %t5960
%t5978 = load ptr, ptr %t281
%t5979 = getelementptr inbounds %LSlice, ptr %t5978, i32 0, i32 1
%t5980 = getelementptr inbounds %LSlice, ptr %t5978, i32 0, i32 2
%t5981 = getelementptr inbounds %LSlice, ptr %t5978, i32 0, i32 0
%t5982 = load i32, ptr %t5979
%t5983 = load i32, ptr %t5980
%t5984 = icmp sge i32 %t5982, %t5983
br i1 %t5984, label %grow1251, label %put1252
grow1251:
%t5985 = mul i32 %t5983, 2
%t5986 = icmp eq i32 %t5983, 0
%t5987 = select i1 %t5986, i32 8, i32 %t5985
%t5988 = getelementptr ptr, ptr null, i32 1
%t5989 = ptrtoint ptr %t5988 to i64
%t5990 = zext i32 %t5987 to i64
%t5991 = mul i64 %t5990, %t5989
%t5992 = load ptr, ptr %t5981
%t5993 = call ptr @realloc(ptr %t5992, i64 %t5991)
store ptr %t5993, ptr %t5981
store i32 %t5987, ptr %t5980
br label %put1252
put1252:
%t5994 = load ptr, ptr %t5981
%t5995 = getelementptr inbounds ptr, ptr %t5994, i32 %t5982
store ptr @.str6344, ptr %t5995
%t5996 = add i32 %t5982, 1
store i32 %t5996, ptr %t5979
br label %ifend1248
ifend1248:
%t5997 = load ptr, ptr %t1
%t5998 = call i32 @fn_str_eq(ptr %t5997, ptr @.str6345)
%t5999 = icmp ne i32 %t5998, 0
br i1 %t5999, label %then1253, label %ifend1255
then1253:
store ptr @.str6346, ptr %t274
%t6000 = load ptr, ptr %t281
%t6001 = getelementptr inbounds %LSlice, ptr %t6000, i32 0, i32 1
%t6002 = getelementptr inbounds %LSlice, ptr %t6000, i32 0, i32 2
%t6003 = getelementptr inbounds %LSlice, ptr %t6000, i32 0, i32 0
%t6004 = load i32, ptr %t6001
%t6005 = load i32, ptr %t6002
%t6006 = icmp sge i32 %t6004, %t6005
br i1 %t6006, label %grow1256, label %put1257
grow1256:
%t6007 = mul i32 %t6005, 2
%t6008 = icmp eq i32 %t6005, 0
%t6009 = select i1 %t6008, i32 8, i32 %t6007
%t6010 = getelementptr ptr, ptr null, i32 1
%t6011 = ptrtoint ptr %t6010 to i64
%t6012 = zext i32 %t6009 to i64
%t6013 = mul i64 %t6012, %t6011
%t6014 = load ptr, ptr %t6003
%t6015 = call ptr @realloc(ptr %t6014, i64 %t6013)
store ptr %t6015, ptr %t6003
store i32 %t6009, ptr %t6002
br label %put1257
put1257:
%t6016 = load ptr, ptr %t6003
%t6017 = getelementptr inbounds ptr, ptr %t6016, i32 %t6004
store ptr @.str6347, ptr %t6017
%t6018 = add i32 %t6004, 1
store i32 %t6018, ptr %t6001
br label %ifend1255
ifend1255:
%t6019 = load ptr, ptr %t1
%t6020 = call i32 @fn_str_eq(ptr %t6019, ptr @.str6348)
%t6021 = icmp ne i32 %t6020, 0
br i1 %t6021, label %then1258, label %ifend1260
then1258:
store ptr @.str6349, ptr %t274
%t6022 = load ptr, ptr %t281
%t6023 = getelementptr inbounds %LSlice, ptr %t6022, i32 0, i32 1
%t6024 = getelementptr inbounds %LSlice, ptr %t6022, i32 0, i32 2
%t6025 = getelementptr inbounds %LSlice, ptr %t6022, i32 0, i32 0
%t6026 = load i32, ptr %t6023
%t6027 = load i32, ptr %t6024
%t6028 = icmp sge i32 %t6026, %t6027
br i1 %t6028, label %grow1261, label %put1262
grow1261:
%t6029 = mul i32 %t6027, 2
%t6030 = icmp eq i32 %t6027, 0
%t6031 = select i1 %t6030, i32 8, i32 %t6029
%t6032 = getelementptr ptr, ptr null, i32 1
%t6033 = ptrtoint ptr %t6032 to i64
%t6034 = zext i32 %t6031 to i64
%t6035 = mul i64 %t6034, %t6033
%t6036 = load ptr, ptr %t6025
%t6037 = call ptr @realloc(ptr %t6036, i64 %t6035)
store ptr %t6037, ptr %t6025
store i32 %t6031, ptr %t6024
br label %put1262
put1262:
%t6038 = load ptr, ptr %t6025
%t6039 = getelementptr inbounds ptr, ptr %t6038, i32 %t6026
store ptr @.str6350, ptr %t6039
%t6040 = add i32 %t6026, 1
store i32 %t6040, ptr %t6023
br label %ifend1260
ifend1260:
%t6041 = load ptr, ptr %t1
%t6042 = call i32 @fn_str_eq(ptr %t6041, ptr @.str6351)
%t6043 = icmp ne i32 %t6042, 0
br i1 %t6043, label %then1263, label %ifend1265
then1263:
store ptr @.str6352, ptr %t274
%t6044 = load ptr, ptr %t281
%t6045 = getelementptr inbounds %LSlice, ptr %t6044, i32 0, i32 1
%t6046 = getelementptr inbounds %LSlice, ptr %t6044, i32 0, i32 2
%t6047 = getelementptr inbounds %LSlice, ptr %t6044, i32 0, i32 0
%t6048 = load i32, ptr %t6045
%t6049 = load i32, ptr %t6046
%t6050 = icmp sge i32 %t6048, %t6049
br i1 %t6050, label %grow1266, label %put1267
grow1266:
%t6051 = mul i32 %t6049, 2
%t6052 = icmp eq i32 %t6049, 0
%t6053 = select i1 %t6052, i32 8, i32 %t6051
%t6054 = getelementptr ptr, ptr null, i32 1
%t6055 = ptrtoint ptr %t6054 to i64
%t6056 = zext i32 %t6053 to i64
%t6057 = mul i64 %t6056, %t6055
%t6058 = load ptr, ptr %t6047
%t6059 = call ptr @realloc(ptr %t6058, i64 %t6057)
store ptr %t6059, ptr %t6047
store i32 %t6053, ptr %t6046
br label %put1267
put1267:
%t6060 = load ptr, ptr %t6047
%t6061 = getelementptr inbounds ptr, ptr %t6060, i32 %t6048
store ptr @.str6353, ptr %t6061
%t6062 = add i32 %t6048, 1
store i32 %t6062, ptr %t6045
br label %ifend1265
ifend1265:
%t6063 = load ptr, ptr %t1
%t6064 = call i32 @fn_str_eq(ptr %t6063, ptr @.str6354)
%t6065 = icmp ne i32 %t6064, 0
br i1 %t6065, label %then1268, label %ifend1270
then1268:
store ptr @.str6355, ptr %t274
%t6066 = load ptr, ptr %t281
%t6067 = getelementptr inbounds %LSlice, ptr %t6066, i32 0, i32 1
%t6068 = getelementptr inbounds %LSlice, ptr %t6066, i32 0, i32 2
%t6069 = getelementptr inbounds %LSlice, ptr %t6066, i32 0, i32 0
%t6070 = load i32, ptr %t6067
%t6071 = load i32, ptr %t6068
%t6072 = icmp sge i32 %t6070, %t6071
br i1 %t6072, label %grow1271, label %put1272
grow1271:
%t6073 = mul i32 %t6071, 2
%t6074 = icmp eq i32 %t6071, 0
%t6075 = select i1 %t6074, i32 8, i32 %t6073
%t6076 = getelementptr ptr, ptr null, i32 1
%t6077 = ptrtoint ptr %t6076 to i64
%t6078 = zext i32 %t6075 to i64
%t6079 = mul i64 %t6078, %t6077
%t6080 = load ptr, ptr %t6069
%t6081 = call ptr @realloc(ptr %t6080, i64 %t6079)
store ptr %t6081, ptr %t6069
store i32 %t6075, ptr %t6068
br label %put1272
put1272:
%t6082 = load ptr, ptr %t6069
%t6083 = getelementptr inbounds ptr, ptr %t6082, i32 %t6070
store ptr @.str6356, ptr %t6083
%t6084 = add i32 %t6070, 1
store i32 %t6084, ptr %t6067
%t6085 = load ptr, ptr %t281
%t6086 = getelementptr inbounds %LSlice, ptr %t6085, i32 0, i32 1
%t6087 = getelementptr inbounds %LSlice, ptr %t6085, i32 0, i32 2
%t6088 = getelementptr inbounds %LSlice, ptr %t6085, i32 0, i32 0
%t6089 = load i32, ptr %t6086
%t6090 = load i32, ptr %t6087
%t6091 = icmp sge i32 %t6089, %t6090
br i1 %t6091, label %grow1273, label %put1274
grow1273:
%t6092 = mul i32 %t6090, 2
%t6093 = icmp eq i32 %t6090, 0
%t6094 = select i1 %t6093, i32 8, i32 %t6092
%t6095 = getelementptr ptr, ptr null, i32 1
%t6096 = ptrtoint ptr %t6095 to i64
%t6097 = zext i32 %t6094 to i64
%t6098 = mul i64 %t6097, %t6096
%t6099 = load ptr, ptr %t6088
%t6100 = call ptr @realloc(ptr %t6099, i64 %t6098)
store ptr %t6100, ptr %t6088
store i32 %t6094, ptr %t6087
br label %put1274
put1274:
%t6101 = load ptr, ptr %t6088
%t6102 = getelementptr inbounds ptr, ptr %t6101, i32 %t6089
store ptr @.str6357, ptr %t6102
%t6103 = add i32 %t6089, 1
store i32 %t6103, ptr %t6086
br label %ifend1270
ifend1270:
br label %ifend1186
ifend1186:
%t6104 = load ptr, ptr %t0
%t6105 = call i32 @fn_str_eq(ptr %t6104, ptr @.str6358)
%t6106 = icmp ne i32 %t6105, 0
br i1 %t6106, label %then1275, label %ifend1277
then1275:
%t6107 = load ptr, ptr %t1
%t6108 = call i32 @fn_str_eq(ptr %t6107, ptr @.str6359)
%t6109 = icmp ne i32 %t6108, 0
br i1 %t6109, label %then1278, label %ifend1280
then1278:
store ptr @.str6360, ptr %t274
br label %ifend1280
ifend1280:
%t6110 = load ptr, ptr %t1
%t6111 = call i32 @fn_str_eq(ptr %t6110, ptr @.str6361)
%t6112 = icmp ne i32 %t6111, 0
br i1 %t6112, label %then1281, label %ifend1283
then1281:
store ptr @.str6362, ptr %t274
%t6113 = load ptr, ptr %t281
%t6114 = getelementptr inbounds %LSlice, ptr %t6113, i32 0, i32 1
%t6115 = getelementptr inbounds %LSlice, ptr %t6113, i32 0, i32 2
%t6116 = getelementptr inbounds %LSlice, ptr %t6113, i32 0, i32 0
%t6117 = load i32, ptr %t6114
%t6118 = load i32, ptr %t6115
%t6119 = icmp sge i32 %t6117, %t6118
br i1 %t6119, label %grow1284, label %put1285
grow1284:
%t6120 = mul i32 %t6118, 2
%t6121 = icmp eq i32 %t6118, 0
%t6122 = select i1 %t6121, i32 8, i32 %t6120
%t6123 = getelementptr ptr, ptr null, i32 1
%t6124 = ptrtoint ptr %t6123 to i64
%t6125 = zext i32 %t6122 to i64
%t6126 = mul i64 %t6125, %t6124
%t6127 = load ptr, ptr %t6116
%t6128 = call ptr @realloc(ptr %t6127, i64 %t6126)
store ptr %t6128, ptr %t6116
store i32 %t6122, ptr %t6115
br label %put1285
put1285:
%t6129 = load ptr, ptr %t6116
%t6130 = getelementptr inbounds ptr, ptr %t6129, i32 %t6117
store ptr @.str6363, ptr %t6130
%t6131 = add i32 %t6117, 1
store i32 %t6131, ptr %t6114
br label %ifend1283
ifend1283:
%t6132 = load ptr, ptr %t1
%t6133 = call i32 @fn_str_eq(ptr %t6132, ptr @.str6364)
%t6134 = icmp ne i32 %t6133, 0
br i1 %t6134, label %then1286, label %ifend1288
then1286:
store ptr @.str6365, ptr %t274
%t6135 = load ptr, ptr %t281
%t6136 = getelementptr inbounds %LSlice, ptr %t6135, i32 0, i32 1
%t6137 = getelementptr inbounds %LSlice, ptr %t6135, i32 0, i32 2
%t6138 = getelementptr inbounds %LSlice, ptr %t6135, i32 0, i32 0
%t6139 = load i32, ptr %t6136
%t6140 = load i32, ptr %t6137
%t6141 = icmp sge i32 %t6139, %t6140
br i1 %t6141, label %grow1289, label %put1290
grow1289:
%t6142 = mul i32 %t6140, 2
%t6143 = icmp eq i32 %t6140, 0
%t6144 = select i1 %t6143, i32 8, i32 %t6142
%t6145 = getelementptr ptr, ptr null, i32 1
%t6146 = ptrtoint ptr %t6145 to i64
%t6147 = zext i32 %t6144 to i64
%t6148 = mul i64 %t6147, %t6146
%t6149 = load ptr, ptr %t6138
%t6150 = call ptr @realloc(ptr %t6149, i64 %t6148)
store ptr %t6150, ptr %t6138
store i32 %t6144, ptr %t6137
br label %put1290
put1290:
%t6151 = load ptr, ptr %t6138
%t6152 = getelementptr inbounds ptr, ptr %t6151, i32 %t6139
store ptr @.str6366, ptr %t6152
%t6153 = add i32 %t6139, 1
store i32 %t6153, ptr %t6136
br label %ifend1288
ifend1288:
%t6154 = load ptr, ptr %t1
%t6155 = call i32 @fn_str_eq(ptr %t6154, ptr @.str6367)
%t6156 = icmp ne i32 %t6155, 0
br i1 %t6156, label %then1291, label %ifend1293
then1291:
store ptr @.str6368, ptr %t274
%t6157 = load ptr, ptr %t281
%t6158 = getelementptr inbounds %LSlice, ptr %t6157, i32 0, i32 1
%t6159 = getelementptr inbounds %LSlice, ptr %t6157, i32 0, i32 2
%t6160 = getelementptr inbounds %LSlice, ptr %t6157, i32 0, i32 0
%t6161 = load i32, ptr %t6158
%t6162 = load i32, ptr %t6159
%t6163 = icmp sge i32 %t6161, %t6162
br i1 %t6163, label %grow1294, label %put1295
grow1294:
%t6164 = mul i32 %t6162, 2
%t6165 = icmp eq i32 %t6162, 0
%t6166 = select i1 %t6165, i32 8, i32 %t6164
%t6167 = getelementptr ptr, ptr null, i32 1
%t6168 = ptrtoint ptr %t6167 to i64
%t6169 = zext i32 %t6166 to i64
%t6170 = mul i64 %t6169, %t6168
%t6171 = load ptr, ptr %t6160
%t6172 = call ptr @realloc(ptr %t6171, i64 %t6170)
store ptr %t6172, ptr %t6160
store i32 %t6166, ptr %t6159
br label %put1295
put1295:
%t6173 = load ptr, ptr %t6160
%t6174 = getelementptr inbounds ptr, ptr %t6173, i32 %t6161
store ptr @.str6369, ptr %t6174
%t6175 = add i32 %t6161, 1
store i32 %t6175, ptr %t6158
br label %ifend1293
ifend1293:
%t6176 = load ptr, ptr %t1
%t6177 = call i32 @fn_str_eq(ptr %t6176, ptr @.str6370)
%t6178 = icmp ne i32 %t6177, 0
br i1 %t6178, label %then1296, label %ifend1298
then1296:
store ptr @.str6371, ptr %t274
%t6179 = load ptr, ptr %t281
%t6180 = getelementptr inbounds %LSlice, ptr %t6179, i32 0, i32 1
%t6181 = getelementptr inbounds %LSlice, ptr %t6179, i32 0, i32 2
%t6182 = getelementptr inbounds %LSlice, ptr %t6179, i32 0, i32 0
%t6183 = load i32, ptr %t6180
%t6184 = load i32, ptr %t6181
%t6185 = icmp sge i32 %t6183, %t6184
br i1 %t6185, label %grow1299, label %put1300
grow1299:
%t6186 = mul i32 %t6184, 2
%t6187 = icmp eq i32 %t6184, 0
%t6188 = select i1 %t6187, i32 8, i32 %t6186
%t6189 = getelementptr ptr, ptr null, i32 1
%t6190 = ptrtoint ptr %t6189 to i64
%t6191 = zext i32 %t6188 to i64
%t6192 = mul i64 %t6191, %t6190
%t6193 = load ptr, ptr %t6182
%t6194 = call ptr @realloc(ptr %t6193, i64 %t6192)
store ptr %t6194, ptr %t6182
store i32 %t6188, ptr %t6181
br label %put1300
put1300:
%t6195 = load ptr, ptr %t6182
%t6196 = getelementptr inbounds ptr, ptr %t6195, i32 %t6183
store ptr @.str6372, ptr %t6196
%t6197 = add i32 %t6183, 1
store i32 %t6197, ptr %t6180
br label %ifend1298
ifend1298:
%t6198 = load ptr, ptr %t1
%t6199 = call i32 @fn_str_eq(ptr %t6198, ptr @.str6373)
%t6200 = icmp ne i32 %t6199, 0
br i1 %t6200, label %then1301, label %ifend1303
then1301:
store ptr @.str6374, ptr %t274
br label %ifend1303
ifend1303:
%t6201 = load ptr, ptr %t1
%t6202 = call i32 @fn_str_eq(ptr %t6201, ptr @.str6375)
%t6203 = icmp ne i32 %t6202, 0
br i1 %t6203, label %then1304, label %ifend1306
then1304:
store ptr @.str6376, ptr %t274
br label %ifend1306
ifend1306:
%t6204 = load ptr, ptr %t1
%t6205 = call i32 @fn_str_eq(ptr %t6204, ptr @.str6377)
%t6206 = icmp ne i32 %t6205, 0
br i1 %t6206, label %then1307, label %ifend1309
then1307:
store ptr @.str6378, ptr %t274
%t6207 = load ptr, ptr %t281
%t6208 = getelementptr inbounds %LSlice, ptr %t6207, i32 0, i32 1
%t6209 = getelementptr inbounds %LSlice, ptr %t6207, i32 0, i32 2
%t6210 = getelementptr inbounds %LSlice, ptr %t6207, i32 0, i32 0
%t6211 = load i32, ptr %t6208
%t6212 = load i32, ptr %t6209
%t6213 = icmp sge i32 %t6211, %t6212
br i1 %t6213, label %grow1310, label %put1311
grow1310:
%t6214 = mul i32 %t6212, 2
%t6215 = icmp eq i32 %t6212, 0
%t6216 = select i1 %t6215, i32 8, i32 %t6214
%t6217 = getelementptr ptr, ptr null, i32 1
%t6218 = ptrtoint ptr %t6217 to i64
%t6219 = zext i32 %t6216 to i64
%t6220 = mul i64 %t6219, %t6218
%t6221 = load ptr, ptr %t6210
%t6222 = call ptr @realloc(ptr %t6221, i64 %t6220)
store ptr %t6222, ptr %t6210
store i32 %t6216, ptr %t6209
br label %put1311
put1311:
%t6223 = load ptr, ptr %t6210
%t6224 = getelementptr inbounds ptr, ptr %t6223, i32 %t6211
store ptr @.str6379, ptr %t6224
%t6225 = add i32 %t6211, 1
store i32 %t6225, ptr %t6208
%t6226 = load ptr, ptr %t281
%t6227 = getelementptr inbounds %LSlice, ptr %t6226, i32 0, i32 1
%t6228 = getelementptr inbounds %LSlice, ptr %t6226, i32 0, i32 2
%t6229 = getelementptr inbounds %LSlice, ptr %t6226, i32 0, i32 0
%t6230 = load i32, ptr %t6227
%t6231 = load i32, ptr %t6228
%t6232 = icmp sge i32 %t6230, %t6231
br i1 %t6232, label %grow1312, label %put1313
grow1312:
%t6233 = mul i32 %t6231, 2
%t6234 = icmp eq i32 %t6231, 0
%t6235 = select i1 %t6234, i32 8, i32 %t6233
%t6236 = getelementptr ptr, ptr null, i32 1
%t6237 = ptrtoint ptr %t6236 to i64
%t6238 = zext i32 %t6235 to i64
%t6239 = mul i64 %t6238, %t6237
%t6240 = load ptr, ptr %t6229
%t6241 = call ptr @realloc(ptr %t6240, i64 %t6239)
store ptr %t6241, ptr %t6229
store i32 %t6235, ptr %t6228
br label %put1313
put1313:
%t6242 = load ptr, ptr %t6229
%t6243 = getelementptr inbounds ptr, ptr %t6242, i32 %t6230
store ptr @.str6380, ptr %t6243
%t6244 = add i32 %t6230, 1
store i32 %t6244, ptr %t6227
br label %ifend1309
ifend1309:
%t6245 = load ptr, ptr %t1
%t6246 = call i32 @fn_str_eq(ptr %t6245, ptr @.str6381)
%t6247 = icmp ne i32 %t6246, 0
br i1 %t6247, label %then1314, label %ifend1316
then1314:
store ptr @.str6382, ptr %t274
%t6248 = load ptr, ptr %t281
%t6249 = getelementptr inbounds %LSlice, ptr %t6248, i32 0, i32 1
%t6250 = getelementptr inbounds %LSlice, ptr %t6248, i32 0, i32 2
%t6251 = getelementptr inbounds %LSlice, ptr %t6248, i32 0, i32 0
%t6252 = load i32, ptr %t6249
%t6253 = load i32, ptr %t6250
%t6254 = icmp sge i32 %t6252, %t6253
br i1 %t6254, label %grow1317, label %put1318
grow1317:
%t6255 = mul i32 %t6253, 2
%t6256 = icmp eq i32 %t6253, 0
%t6257 = select i1 %t6256, i32 8, i32 %t6255
%t6258 = getelementptr ptr, ptr null, i32 1
%t6259 = ptrtoint ptr %t6258 to i64
%t6260 = zext i32 %t6257 to i64
%t6261 = mul i64 %t6260, %t6259
%t6262 = load ptr, ptr %t6251
%t6263 = call ptr @realloc(ptr %t6262, i64 %t6261)
store ptr %t6263, ptr %t6251
store i32 %t6257, ptr %t6250
br label %put1318
put1318:
%t6264 = load ptr, ptr %t6251
%t6265 = getelementptr inbounds ptr, ptr %t6264, i32 %t6252
store ptr @.str6383, ptr %t6265
%t6266 = add i32 %t6252, 1
store i32 %t6266, ptr %t6249
%t6267 = load ptr, ptr %t281
%t6268 = getelementptr inbounds %LSlice, ptr %t6267, i32 0, i32 1
%t6269 = getelementptr inbounds %LSlice, ptr %t6267, i32 0, i32 2
%t6270 = getelementptr inbounds %LSlice, ptr %t6267, i32 0, i32 0
%t6271 = load i32, ptr %t6268
%t6272 = load i32, ptr %t6269
%t6273 = icmp sge i32 %t6271, %t6272
br i1 %t6273, label %grow1319, label %put1320
grow1319:
%t6274 = mul i32 %t6272, 2
%t6275 = icmp eq i32 %t6272, 0
%t6276 = select i1 %t6275, i32 8, i32 %t6274
%t6277 = getelementptr ptr, ptr null, i32 1
%t6278 = ptrtoint ptr %t6277 to i64
%t6279 = zext i32 %t6276 to i64
%t6280 = mul i64 %t6279, %t6278
%t6281 = load ptr, ptr %t6270
%t6282 = call ptr @realloc(ptr %t6281, i64 %t6280)
store ptr %t6282, ptr %t6270
store i32 %t6276, ptr %t6269
br label %put1320
put1320:
%t6283 = load ptr, ptr %t6270
%t6284 = getelementptr inbounds ptr, ptr %t6283, i32 %t6271
store ptr @.str6384, ptr %t6284
%t6285 = add i32 %t6271, 1
store i32 %t6285, ptr %t6268
%t6286 = load ptr, ptr %t281
%t6287 = getelementptr inbounds %LSlice, ptr %t6286, i32 0, i32 1
%t6288 = getelementptr inbounds %LSlice, ptr %t6286, i32 0, i32 2
%t6289 = getelementptr inbounds %LSlice, ptr %t6286, i32 0, i32 0
%t6290 = load i32, ptr %t6287
%t6291 = load i32, ptr %t6288
%t6292 = icmp sge i32 %t6290, %t6291
br i1 %t6292, label %grow1321, label %put1322
grow1321:
%t6293 = mul i32 %t6291, 2
%t6294 = icmp eq i32 %t6291, 0
%t6295 = select i1 %t6294, i32 8, i32 %t6293
%t6296 = getelementptr ptr, ptr null, i32 1
%t6297 = ptrtoint ptr %t6296 to i64
%t6298 = zext i32 %t6295 to i64
%t6299 = mul i64 %t6298, %t6297
%t6300 = load ptr, ptr %t6289
%t6301 = call ptr @realloc(ptr %t6300, i64 %t6299)
store ptr %t6301, ptr %t6289
store i32 %t6295, ptr %t6288
br label %put1322
put1322:
%t6302 = load ptr, ptr %t6289
%t6303 = getelementptr inbounds ptr, ptr %t6302, i32 %t6290
store ptr @.str6385, ptr %t6303
%t6304 = add i32 %t6290, 1
store i32 %t6304, ptr %t6287
br label %ifend1316
ifend1316:
%t6305 = load ptr, ptr %t1
%t6306 = call i32 @fn_str_eq(ptr %t6305, ptr @.str6386)
%t6307 = icmp ne i32 %t6306, 0
br i1 %t6307, label %then1323, label %ifend1325
then1323:
store ptr @.str6387, ptr %t274
%t6308 = load ptr, ptr %t281
%t6309 = getelementptr inbounds %LSlice, ptr %t6308, i32 0, i32 1
%t6310 = getelementptr inbounds %LSlice, ptr %t6308, i32 0, i32 2
%t6311 = getelementptr inbounds %LSlice, ptr %t6308, i32 0, i32 0
%t6312 = load i32, ptr %t6309
%t6313 = load i32, ptr %t6310
%t6314 = icmp sge i32 %t6312, %t6313
br i1 %t6314, label %grow1326, label %put1327
grow1326:
%t6315 = mul i32 %t6313, 2
%t6316 = icmp eq i32 %t6313, 0
%t6317 = select i1 %t6316, i32 8, i32 %t6315
%t6318 = getelementptr ptr, ptr null, i32 1
%t6319 = ptrtoint ptr %t6318 to i64
%t6320 = zext i32 %t6317 to i64
%t6321 = mul i64 %t6320, %t6319
%t6322 = load ptr, ptr %t6311
%t6323 = call ptr @realloc(ptr %t6322, i64 %t6321)
store ptr %t6323, ptr %t6311
store i32 %t6317, ptr %t6310
br label %put1327
put1327:
%t6324 = load ptr, ptr %t6311
%t6325 = getelementptr inbounds ptr, ptr %t6324, i32 %t6312
store ptr @.str6388, ptr %t6325
%t6326 = add i32 %t6312, 1
store i32 %t6326, ptr %t6309
%t6327 = load ptr, ptr %t281
%t6328 = getelementptr inbounds %LSlice, ptr %t6327, i32 0, i32 1
%t6329 = getelementptr inbounds %LSlice, ptr %t6327, i32 0, i32 2
%t6330 = getelementptr inbounds %LSlice, ptr %t6327, i32 0, i32 0
%t6331 = load i32, ptr %t6328
%t6332 = load i32, ptr %t6329
%t6333 = icmp sge i32 %t6331, %t6332
br i1 %t6333, label %grow1328, label %put1329
grow1328:
%t6334 = mul i32 %t6332, 2
%t6335 = icmp eq i32 %t6332, 0
%t6336 = select i1 %t6335, i32 8, i32 %t6334
%t6337 = getelementptr ptr, ptr null, i32 1
%t6338 = ptrtoint ptr %t6337 to i64
%t6339 = zext i32 %t6336 to i64
%t6340 = mul i64 %t6339, %t6338
%t6341 = load ptr, ptr %t6330
%t6342 = call ptr @realloc(ptr %t6341, i64 %t6340)
store ptr %t6342, ptr %t6330
store i32 %t6336, ptr %t6329
br label %put1329
put1329:
%t6343 = load ptr, ptr %t6330
%t6344 = getelementptr inbounds ptr, ptr %t6343, i32 %t6331
store ptr @.str6389, ptr %t6344
%t6345 = add i32 %t6331, 1
store i32 %t6345, ptr %t6328
br label %ifend1325
ifend1325:
%t6346 = load ptr, ptr %t1
%t6347 = call i32 @fn_str_eq(ptr %t6346, ptr @.str6390)
%t6348 = icmp ne i32 %t6347, 0
br i1 %t6348, label %then1330, label %ifend1332
then1330:
store ptr @.str6391, ptr %t274
%t6349 = load ptr, ptr %t281
%t6350 = getelementptr inbounds %LSlice, ptr %t6349, i32 0, i32 1
%t6351 = getelementptr inbounds %LSlice, ptr %t6349, i32 0, i32 2
%t6352 = getelementptr inbounds %LSlice, ptr %t6349, i32 0, i32 0
%t6353 = load i32, ptr %t6350
%t6354 = load i32, ptr %t6351
%t6355 = icmp sge i32 %t6353, %t6354
br i1 %t6355, label %grow1333, label %put1334
grow1333:
%t6356 = mul i32 %t6354, 2
%t6357 = icmp eq i32 %t6354, 0
%t6358 = select i1 %t6357, i32 8, i32 %t6356
%t6359 = getelementptr ptr, ptr null, i32 1
%t6360 = ptrtoint ptr %t6359 to i64
%t6361 = zext i32 %t6358 to i64
%t6362 = mul i64 %t6361, %t6360
%t6363 = load ptr, ptr %t6352
%t6364 = call ptr @realloc(ptr %t6363, i64 %t6362)
store ptr %t6364, ptr %t6352
store i32 %t6358, ptr %t6351
br label %put1334
put1334:
%t6365 = load ptr, ptr %t6352
%t6366 = getelementptr inbounds ptr, ptr %t6365, i32 %t6353
store ptr @.str6392, ptr %t6366
%t6367 = add i32 %t6353, 1
store i32 %t6367, ptr %t6350
%t6368 = load ptr, ptr %t281
%t6369 = getelementptr inbounds %LSlice, ptr %t6368, i32 0, i32 1
%t6370 = getelementptr inbounds %LSlice, ptr %t6368, i32 0, i32 2
%t6371 = getelementptr inbounds %LSlice, ptr %t6368, i32 0, i32 0
%t6372 = load i32, ptr %t6369
%t6373 = load i32, ptr %t6370
%t6374 = icmp sge i32 %t6372, %t6373
br i1 %t6374, label %grow1335, label %put1336
grow1335:
%t6375 = mul i32 %t6373, 2
%t6376 = icmp eq i32 %t6373, 0
%t6377 = select i1 %t6376, i32 8, i32 %t6375
%t6378 = getelementptr ptr, ptr null, i32 1
%t6379 = ptrtoint ptr %t6378 to i64
%t6380 = zext i32 %t6377 to i64
%t6381 = mul i64 %t6380, %t6379
%t6382 = load ptr, ptr %t6371
%t6383 = call ptr @realloc(ptr %t6382, i64 %t6381)
store ptr %t6383, ptr %t6371
store i32 %t6377, ptr %t6370
br label %put1336
put1336:
%t6384 = load ptr, ptr %t6371
%t6385 = getelementptr inbounds ptr, ptr %t6384, i32 %t6372
store ptr @.str6393, ptr %t6385
%t6386 = add i32 %t6372, 1
store i32 %t6386, ptr %t6369
br label %ifend1332
ifend1332:
%t6387 = load ptr, ptr %t1
%t6388 = call i32 @fn_str_eq(ptr %t6387, ptr @.str6394)
%t6389 = icmp ne i32 %t6388, 0
br i1 %t6389, label %then1337, label %ifend1339
then1337:
store ptr @.str6395, ptr %t274
%t6390 = load ptr, ptr %t281
%t6391 = getelementptr inbounds %LSlice, ptr %t6390, i32 0, i32 1
%t6392 = getelementptr inbounds %LSlice, ptr %t6390, i32 0, i32 2
%t6393 = getelementptr inbounds %LSlice, ptr %t6390, i32 0, i32 0
%t6394 = load i32, ptr %t6391
%t6395 = load i32, ptr %t6392
%t6396 = icmp sge i32 %t6394, %t6395
br i1 %t6396, label %grow1340, label %put1341
grow1340:
%t6397 = mul i32 %t6395, 2
%t6398 = icmp eq i32 %t6395, 0
%t6399 = select i1 %t6398, i32 8, i32 %t6397
%t6400 = getelementptr ptr, ptr null, i32 1
%t6401 = ptrtoint ptr %t6400 to i64
%t6402 = zext i32 %t6399 to i64
%t6403 = mul i64 %t6402, %t6401
%t6404 = load ptr, ptr %t6393
%t6405 = call ptr @realloc(ptr %t6404, i64 %t6403)
store ptr %t6405, ptr %t6393
store i32 %t6399, ptr %t6392
br label %put1341
put1341:
%t6406 = load ptr, ptr %t6393
%t6407 = getelementptr inbounds ptr, ptr %t6406, i32 %t6394
store ptr @.str6396, ptr %t6407
%t6408 = add i32 %t6394, 1
store i32 %t6408, ptr %t6391
%t6409 = load ptr, ptr %t281
%t6410 = getelementptr inbounds %LSlice, ptr %t6409, i32 0, i32 1
%t6411 = getelementptr inbounds %LSlice, ptr %t6409, i32 0, i32 2
%t6412 = getelementptr inbounds %LSlice, ptr %t6409, i32 0, i32 0
%t6413 = load i32, ptr %t6410
%t6414 = load i32, ptr %t6411
%t6415 = icmp sge i32 %t6413, %t6414
br i1 %t6415, label %grow1342, label %put1343
grow1342:
%t6416 = mul i32 %t6414, 2
%t6417 = icmp eq i32 %t6414, 0
%t6418 = select i1 %t6417, i32 8, i32 %t6416
%t6419 = getelementptr ptr, ptr null, i32 1
%t6420 = ptrtoint ptr %t6419 to i64
%t6421 = zext i32 %t6418 to i64
%t6422 = mul i64 %t6421, %t6420
%t6423 = load ptr, ptr %t6412
%t6424 = call ptr @realloc(ptr %t6423, i64 %t6422)
store ptr %t6424, ptr %t6412
store i32 %t6418, ptr %t6411
br label %put1343
put1343:
%t6425 = load ptr, ptr %t6412
%t6426 = getelementptr inbounds ptr, ptr %t6425, i32 %t6413
store ptr @.str6397, ptr %t6426
%t6427 = add i32 %t6413, 1
store i32 %t6427, ptr %t6410
br label %ifend1339
ifend1339:
%t6428 = load ptr, ptr %t1
%t6429 = call i32 @fn_str_eq(ptr %t6428, ptr @.str6398)
%t6430 = icmp ne i32 %t6429, 0
br i1 %t6430, label %then1344, label %ifend1346
then1344:
store ptr @.str6399, ptr %t274
%t6431 = load ptr, ptr %t281
%t6432 = getelementptr inbounds %LSlice, ptr %t6431, i32 0, i32 1
%t6433 = getelementptr inbounds %LSlice, ptr %t6431, i32 0, i32 2
%t6434 = getelementptr inbounds %LSlice, ptr %t6431, i32 0, i32 0
%t6435 = load i32, ptr %t6432
%t6436 = load i32, ptr %t6433
%t6437 = icmp sge i32 %t6435, %t6436
br i1 %t6437, label %grow1347, label %put1348
grow1347:
%t6438 = mul i32 %t6436, 2
%t6439 = icmp eq i32 %t6436, 0
%t6440 = select i1 %t6439, i32 8, i32 %t6438
%t6441 = getelementptr ptr, ptr null, i32 1
%t6442 = ptrtoint ptr %t6441 to i64
%t6443 = zext i32 %t6440 to i64
%t6444 = mul i64 %t6443, %t6442
%t6445 = load ptr, ptr %t6434
%t6446 = call ptr @realloc(ptr %t6445, i64 %t6444)
store ptr %t6446, ptr %t6434
store i32 %t6440, ptr %t6433
br label %put1348
put1348:
%t6447 = load ptr, ptr %t6434
%t6448 = getelementptr inbounds ptr, ptr %t6447, i32 %t6435
store ptr @.str6400, ptr %t6448
%t6449 = add i32 %t6435, 1
store i32 %t6449, ptr %t6432
%t6450 = load ptr, ptr %t281
%t6451 = getelementptr inbounds %LSlice, ptr %t6450, i32 0, i32 1
%t6452 = getelementptr inbounds %LSlice, ptr %t6450, i32 0, i32 2
%t6453 = getelementptr inbounds %LSlice, ptr %t6450, i32 0, i32 0
%t6454 = load i32, ptr %t6451
%t6455 = load i32, ptr %t6452
%t6456 = icmp sge i32 %t6454, %t6455
br i1 %t6456, label %grow1349, label %put1350
grow1349:
%t6457 = mul i32 %t6455, 2
%t6458 = icmp eq i32 %t6455, 0
%t6459 = select i1 %t6458, i32 8, i32 %t6457
%t6460 = getelementptr ptr, ptr null, i32 1
%t6461 = ptrtoint ptr %t6460 to i64
%t6462 = zext i32 %t6459 to i64
%t6463 = mul i64 %t6462, %t6461
%t6464 = load ptr, ptr %t6453
%t6465 = call ptr @realloc(ptr %t6464, i64 %t6463)
store ptr %t6465, ptr %t6453
store i32 %t6459, ptr %t6452
br label %put1350
put1350:
%t6466 = load ptr, ptr %t6453
%t6467 = getelementptr inbounds ptr, ptr %t6466, i32 %t6454
store ptr @.str6401, ptr %t6467
%t6468 = add i32 %t6454, 1
store i32 %t6468, ptr %t6451
br label %ifend1346
ifend1346:
%t6469 = load ptr, ptr %t1
%t6470 = call i32 @fn_str_eq(ptr %t6469, ptr @.str6402)
%t6471 = icmp ne i32 %t6470, 0
br i1 %t6471, label %then1351, label %ifend1353
then1351:
store ptr @.str6403, ptr %t274
%t6472 = load ptr, ptr %t281
%t6473 = getelementptr inbounds %LSlice, ptr %t6472, i32 0, i32 1
%t6474 = getelementptr inbounds %LSlice, ptr %t6472, i32 0, i32 2
%t6475 = getelementptr inbounds %LSlice, ptr %t6472, i32 0, i32 0
%t6476 = load i32, ptr %t6473
%t6477 = load i32, ptr %t6474
%t6478 = icmp sge i32 %t6476, %t6477
br i1 %t6478, label %grow1354, label %put1355
grow1354:
%t6479 = mul i32 %t6477, 2
%t6480 = icmp eq i32 %t6477, 0
%t6481 = select i1 %t6480, i32 8, i32 %t6479
%t6482 = getelementptr ptr, ptr null, i32 1
%t6483 = ptrtoint ptr %t6482 to i64
%t6484 = zext i32 %t6481 to i64
%t6485 = mul i64 %t6484, %t6483
%t6486 = load ptr, ptr %t6475
%t6487 = call ptr @realloc(ptr %t6486, i64 %t6485)
store ptr %t6487, ptr %t6475
store i32 %t6481, ptr %t6474
br label %put1355
put1355:
%t6488 = load ptr, ptr %t6475
%t6489 = getelementptr inbounds ptr, ptr %t6488, i32 %t6476
store ptr @.str6404, ptr %t6489
%t6490 = add i32 %t6476, 1
store i32 %t6490, ptr %t6473
br label %ifend1353
ifend1353:
%t6491 = load ptr, ptr %t1
%t6492 = call i32 @fn_str_eq(ptr %t6491, ptr @.str6405)
%t6493 = icmp ne i32 %t6492, 0
br i1 %t6493, label %then1356, label %ifend1358
then1356:
store ptr @.str6406, ptr %t274
%t6494 = load ptr, ptr %t281
%t6495 = getelementptr inbounds %LSlice, ptr %t6494, i32 0, i32 1
%t6496 = getelementptr inbounds %LSlice, ptr %t6494, i32 0, i32 2
%t6497 = getelementptr inbounds %LSlice, ptr %t6494, i32 0, i32 0
%t6498 = load i32, ptr %t6495
%t6499 = load i32, ptr %t6496
%t6500 = icmp sge i32 %t6498, %t6499
br i1 %t6500, label %grow1359, label %put1360
grow1359:
%t6501 = mul i32 %t6499, 2
%t6502 = icmp eq i32 %t6499, 0
%t6503 = select i1 %t6502, i32 8, i32 %t6501
%t6504 = getelementptr ptr, ptr null, i32 1
%t6505 = ptrtoint ptr %t6504 to i64
%t6506 = zext i32 %t6503 to i64
%t6507 = mul i64 %t6506, %t6505
%t6508 = load ptr, ptr %t6497
%t6509 = call ptr @realloc(ptr %t6508, i64 %t6507)
store ptr %t6509, ptr %t6497
store i32 %t6503, ptr %t6496
br label %put1360
put1360:
%t6510 = load ptr, ptr %t6497
%t6511 = getelementptr inbounds ptr, ptr %t6510, i32 %t6498
store ptr @.str6407, ptr %t6511
%t6512 = add i32 %t6498, 1
store i32 %t6512, ptr %t6495
br label %ifend1358
ifend1358:
%t6513 = load ptr, ptr %t1
%t6514 = call i32 @fn_str_eq(ptr %t6513, ptr @.str6408)
%t6515 = icmp ne i32 %t6514, 0
br i1 %t6515, label %then1361, label %ifend1363
then1361:
store ptr @.str6409, ptr %t274
%t6516 = load ptr, ptr %t281
%t6517 = getelementptr inbounds %LSlice, ptr %t6516, i32 0, i32 1
%t6518 = getelementptr inbounds %LSlice, ptr %t6516, i32 0, i32 2
%t6519 = getelementptr inbounds %LSlice, ptr %t6516, i32 0, i32 0
%t6520 = load i32, ptr %t6517
%t6521 = load i32, ptr %t6518
%t6522 = icmp sge i32 %t6520, %t6521
br i1 %t6522, label %grow1364, label %put1365
grow1364:
%t6523 = mul i32 %t6521, 2
%t6524 = icmp eq i32 %t6521, 0
%t6525 = select i1 %t6524, i32 8, i32 %t6523
%t6526 = getelementptr ptr, ptr null, i32 1
%t6527 = ptrtoint ptr %t6526 to i64
%t6528 = zext i32 %t6525 to i64
%t6529 = mul i64 %t6528, %t6527
%t6530 = load ptr, ptr %t6519
%t6531 = call ptr @realloc(ptr %t6530, i64 %t6529)
store ptr %t6531, ptr %t6519
store i32 %t6525, ptr %t6518
br label %put1365
put1365:
%t6532 = load ptr, ptr %t6519
%t6533 = getelementptr inbounds ptr, ptr %t6532, i32 %t6520
store ptr @.str6410, ptr %t6533
%t6534 = add i32 %t6520, 1
store i32 %t6534, ptr %t6517
br label %ifend1363
ifend1363:
%t6535 = load ptr, ptr %t1
%t6536 = call i32 @fn_str_eq(ptr %t6535, ptr @.str6411)
%t6537 = icmp ne i32 %t6536, 0
br i1 %t6537, label %then1366, label %ifend1368
then1366:
store ptr @.str6412, ptr %t274
%t6538 = load ptr, ptr %t281
%t6539 = getelementptr inbounds %LSlice, ptr %t6538, i32 0, i32 1
%t6540 = getelementptr inbounds %LSlice, ptr %t6538, i32 0, i32 2
%t6541 = getelementptr inbounds %LSlice, ptr %t6538, i32 0, i32 0
%t6542 = load i32, ptr %t6539
%t6543 = load i32, ptr %t6540
%t6544 = icmp sge i32 %t6542, %t6543
br i1 %t6544, label %grow1369, label %put1370
grow1369:
%t6545 = mul i32 %t6543, 2
%t6546 = icmp eq i32 %t6543, 0
%t6547 = select i1 %t6546, i32 8, i32 %t6545
%t6548 = getelementptr ptr, ptr null, i32 1
%t6549 = ptrtoint ptr %t6548 to i64
%t6550 = zext i32 %t6547 to i64
%t6551 = mul i64 %t6550, %t6549
%t6552 = load ptr, ptr %t6541
%t6553 = call ptr @realloc(ptr %t6552, i64 %t6551)
store ptr %t6553, ptr %t6541
store i32 %t6547, ptr %t6540
br label %put1370
put1370:
%t6554 = load ptr, ptr %t6541
%t6555 = getelementptr inbounds ptr, ptr %t6554, i32 %t6542
store ptr @.str6413, ptr %t6555
%t6556 = add i32 %t6542, 1
store i32 %t6556, ptr %t6539
br label %ifend1368
ifend1368:
br label %ifend1277
ifend1277:
%t6557 = load ptr, ptr %t0
%t6558 = call i32 @fn_str_eq(ptr %t6557, ptr @.str6414)
%t6559 = icmp ne i32 %t6558, 0
br i1 %t6559, label %then1371, label %ifend1373
then1371:
%t6560 = load ptr, ptr %t1
%t6561 = call i32 @fn_str_eq(ptr %t6560, ptr @.str6415)
%t6562 = icmp ne i32 %t6561, 0
br i1 %t6562, label %then1374, label %ifend1376
then1374:
store ptr @.str6416, ptr %t274
%t6563 = load ptr, ptr %t281
%t6564 = getelementptr inbounds %LSlice, ptr %t6563, i32 0, i32 1
%t6565 = getelementptr inbounds %LSlice, ptr %t6563, i32 0, i32 2
%t6566 = getelementptr inbounds %LSlice, ptr %t6563, i32 0, i32 0
%t6567 = load i32, ptr %t6564
%t6568 = load i32, ptr %t6565
%t6569 = icmp sge i32 %t6567, %t6568
br i1 %t6569, label %grow1377, label %put1378
grow1377:
%t6570 = mul i32 %t6568, 2
%t6571 = icmp eq i32 %t6568, 0
%t6572 = select i1 %t6571, i32 8, i32 %t6570
%t6573 = getelementptr ptr, ptr null, i32 1
%t6574 = ptrtoint ptr %t6573 to i64
%t6575 = zext i32 %t6572 to i64
%t6576 = mul i64 %t6575, %t6574
%t6577 = load ptr, ptr %t6566
%t6578 = call ptr @realloc(ptr %t6577, i64 %t6576)
store ptr %t6578, ptr %t6566
store i32 %t6572, ptr %t6565
br label %put1378
put1378:
%t6579 = load ptr, ptr %t6566
%t6580 = getelementptr inbounds ptr, ptr %t6579, i32 %t6567
store ptr @.str6417, ptr %t6580
%t6581 = add i32 %t6567, 1
store i32 %t6581, ptr %t6564
br label %ifend1376
ifend1376:
%t6582 = load ptr, ptr %t1
%t6583 = call i32 @fn_str_eq(ptr %t6582, ptr @.str6418)
%t6584 = icmp ne i32 %t6583, 0
br i1 %t6584, label %then1379, label %ifend1381
then1379:
store ptr @.str6419, ptr %t274
%t6585 = load ptr, ptr %t281
%t6586 = getelementptr inbounds %LSlice, ptr %t6585, i32 0, i32 1
%t6587 = getelementptr inbounds %LSlice, ptr %t6585, i32 0, i32 2
%t6588 = getelementptr inbounds %LSlice, ptr %t6585, i32 0, i32 0
%t6589 = load i32, ptr %t6586
%t6590 = load i32, ptr %t6587
%t6591 = icmp sge i32 %t6589, %t6590
br i1 %t6591, label %grow1382, label %put1383
grow1382:
%t6592 = mul i32 %t6590, 2
%t6593 = icmp eq i32 %t6590, 0
%t6594 = select i1 %t6593, i32 8, i32 %t6592
%t6595 = getelementptr ptr, ptr null, i32 1
%t6596 = ptrtoint ptr %t6595 to i64
%t6597 = zext i32 %t6594 to i64
%t6598 = mul i64 %t6597, %t6596
%t6599 = load ptr, ptr %t6588
%t6600 = call ptr @realloc(ptr %t6599, i64 %t6598)
store ptr %t6600, ptr %t6588
store i32 %t6594, ptr %t6587
br label %put1383
put1383:
%t6601 = load ptr, ptr %t6588
%t6602 = getelementptr inbounds ptr, ptr %t6601, i32 %t6589
store ptr @.str6420, ptr %t6602
%t6603 = add i32 %t6589, 1
store i32 %t6603, ptr %t6586
br label %ifend1381
ifend1381:
br label %ifend1373
ifend1373:
%t6604 = load ptr, ptr %t274
%t6605 = icmp eq ptr %t6604, null
%t6606 = zext i1 %t6605 to i32
%t6607 = icmp ne i32 %t6606, 0
br i1 %t6607, label %then1384, label %ifend1386
then1384:
%t6608 = load ptr, ptr %t0
%t6609 = call ptr @fn_str_concat(ptr @.str6421, ptr %t6608)
%t6610 = call ptr @fn_str_concat(ptr %t6609, ptr @.str6422)
%t6611 = load ptr, ptr %t1
%t6612 = call ptr @fn_str_concat(ptr %t6610, ptr %t6611)
call void @fn_perr(ptr %t6612)
br label %ifend1386
ifend1386:
%t6613 = load ptr, ptr %t2
%t6614 = load ptr, ptr %t281
call void @fn_reorder_named(ptr %t6613, ptr %t6614)
%t6615 = call ptr @fn_node(i32 33)
store ptr %t6615, ptr %t6616
%t6617 = load ptr, ptr %t6616
%t6618 = getelementptr inbounds %Cmp_Node, ptr %t6617, i32 0, i32 1
%t6619 = load ptr, ptr %t274
store ptr %t6619, ptr %t6618
%t6620 = load ptr, ptr %t2
%t6621 = getelementptr inbounds %Cmp_Node, ptr %t6620, i32 0, i32 4
%t6622 = load ptr, ptr %t6616
store ptr %t6622, ptr %t6621
%t6623 = load ptr, ptr %t2
%t6624 = call ptr @fn_emit_call(ptr %t6623)
store ptr %t6624, ptr %retval
br label %ret
ret:
%t6625 = load ptr, ptr %retval
ret ptr %t6625
}
define ptr @fn_emit_call(ptr %arg_e) {
entry:
%retval = alloca ptr
%t0 = alloca ptr
%t38 = alloca ptr
%t91 = alloca ptr
%t110 = alloca ptr
%t119 = alloca ptr
%t142 = alloca ptr
%t151 = alloca ptr
%t175 = alloca ptr
%t184 = alloca ptr
%t193 = alloca ptr
%t215 = alloca ptr
%t234 = alloca ptr
%t253 = alloca ptr
%t262 = alloca ptr
%t281 = alloca ptr
%t293 = alloca ptr
%t298 = alloca ptr
%t332 = alloca ptr
%t348 = alloca ptr
%t353 = alloca i32
%t373 = alloca ptr
%t382 = alloca ptr
%t391 = alloca ptr
%t402 = alloca i32
%t422 = alloca ptr
%t431 = alloca ptr
%t465 = alloca ptr
%t504 = alloca ptr
%t544 = alloca ptr
%t551 = alloca ptr
%t568 = alloca ptr
%t575 = alloca ptr
%t580 = alloca ptr
%t597 = alloca ptr
%t616 = alloca ptr
%t635 = alloca ptr
%t642 = alloca ptr
%t652 = alloca ptr
%t667 = alloca ptr
%t676 = alloca ptr
%t687 = alloca ptr
%t697 = alloca ptr
%t718 = alloca ptr
%t727 = alloca ptr
%t736 = alloca ptr
%t747 = alloca ptr
%t751 = alloca ptr
%t756 = alloca ptr
%t766 = alloca ptr
%t775 = alloca ptr
%t785 = alloca ptr
%t806 = alloca ptr
%t816 = alloca ptr
%t818 = alloca ptr
%t842 = alloca ptr
%t849 = alloca ptr
%t851 = alloca ptr
%t853 = alloca ptr
%t873 = alloca ptr
%t883 = alloca ptr
%t885 = alloca ptr
%t900 = alloca i32
%t920 = alloca ptr
%t922 = alloca ptr
%t927 = alloca ptr
%t935 = alloca ptr
%t947 = alloca ptr
%t953 = alloca i32
%t973 = alloca ptr
%t975 = alloca ptr
%t980 = alloca ptr
%t988 = alloca ptr
%t996 = alloca ptr
%t1007 = alloca i32
%t1027 = alloca ptr
%t1034 = alloca ptr
%t1038 = alloca ptr
%t1043 = alloca ptr
%t1049 = alloca i32
%t1069 = alloca ptr
%t1076 = alloca ptr
%t1080 = alloca ptr
%t1085 = alloca ptr
%t1102 = alloca ptr
%t1121 = alloca ptr
%t1130 = alloca ptr
%t1154 = alloca ptr
%t1163 = alloca ptr
%t1172 = alloca ptr
%t1189 = alloca ptr
%t1206 = alloca ptr
%t1215 = alloca ptr
%t1224 = alloca ptr
%t1233 = alloca ptr
%t1240 = alloca ptr
%t1263 = alloca ptr
%t1272 = alloca ptr
%t1301 = alloca ptr
%t1320 = alloca ptr
%t1339 = alloca ptr
%t1348 = alloca ptr
%t1372 = alloca ptr
%t1381 = alloca ptr
%t1405 = alloca ptr
%t1414 = alloca ptr
%t1433 = alloca ptr
%t1442 = alloca ptr
%t1461 = alloca ptr
%t1485 = alloca ptr
%t1504 = alloca ptr
%t1523 = alloca ptr
%t1532 = alloca ptr
%t1556 = alloca ptr
%t1565 = alloca ptr
%t1598 = alloca ptr
%t1612 = alloca ptr
%t1619 = alloca ptr
%t1620 = alloca i32
%t1639 = alloca ptr
%t1690 = alloca ptr
%t1691 = alloca ptr
%t1738 = alloca ptr
%t1740 = alloca ptr
%t1747 = alloca ptr
%t1762 = alloca ptr
%t1769 = alloca ptr
%t1776 = alloca ptr
%t1777 = alloca i32
%t1796 = alloca ptr
%t1800 = alloca ptr
%t1862 = alloca ptr
%t1863 = alloca ptr
store ptr %arg_e, ptr %t0
%t1 = load ptr, ptr %t0
%t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 4
%t3 = load ptr, ptr %t2
%t4 = getelementptr inbounds %Cmp_Node, ptr %t3, i32 0, i32 0
%t5 = load i32, ptr %t4
%t6 = icmp eq i32 %t5, 35
%t7 = zext i1 %t6 to i32
%t8 = icmp ne i32 %t7, 0
br i1 %t8, label %then0, label %ifend2
then0:
%t9 = load ptr, ptr %t0
%t10 = getelementptr inbounds %Cmp_Node, ptr %t9, i32 0, i32 4
%t11 = load ptr, ptr %t10
%t12 = getelementptr inbounds %Cmp_Node, ptr %t11, i32 0, i32 4
%t13 = load ptr, ptr %t12
%t14 = getelementptr inbounds %Cmp_Node, ptr %t13, i32 0, i32 0
%t15 = load i32, ptr %t14
%t16 = icmp eq i32 %t15, 33
%t17 = zext i1 %t16 to i32
%t18 = icmp ne i32 %t17, 0
br i1 %t18, label %then3, label %ifend5
then3:
%t19 = load ptr, ptr %t0
%t20 = getelementptr inbounds %Cmp_Node, ptr %t19, i32 0, i32 4
%t21 = load ptr, ptr %t20
%t22 = getelementptr inbounds %Cmp_Node, ptr %t21, i32 0, i32 4
%t23 = load ptr, ptr %t22
%t24 = getelementptr inbounds %Cmp_Node, ptr %t23, i32 0, i32 1
%t25 = load ptr, ptr %t24
%t26 = load ptr, ptr %t0
%t27 = getelementptr inbounds %Cmp_Node, ptr %t26, i32 0, i32 4
%t28 = load ptr, ptr %t27
%t29 = getelementptr inbounds %Cmp_Node, ptr %t28, i32 0, i32 1
%t30 = load ptr, ptr %t29
%t31 = load ptr, ptr %t0
%t32 = call ptr @fn_emit_ns_call(ptr %t25, ptr %t30, ptr %t31)
store ptr %t32, ptr %retval
br label %ret
ifend5:
call void @fn_perr(ptr @.str6423)
br label %ifend2
ifend2:
%t33 = load ptr, ptr %t0
%t34 = getelementptr inbounds %Cmp_Node, ptr %t33, i32 0, i32 4
%t35 = load ptr, ptr %t34
%t36 = getelementptr inbounds %Cmp_Node, ptr %t35, i32 0, i32 1
%t37 = load ptr, ptr %t36
store ptr %t37, ptr %t38
%t39 = load ptr, ptr %t38
%t40 = call i32 @fn_str_eq(ptr %t39, ptr @.str6424)
%t41 = icmp ne i32 %t40, 0
br i1 %t41, label %then6, label %ifend8
then6:
%t42 = load i32, ptr @g_nself
%t43 = icmp eq i32 %t42, 0
%t44 = zext i1 %t43 to i32
%t45 = icmp ne i32 %t44, 0
br i1 %t45, label %then9, label %ifend11
then9:
%t46 = call ptr @fn_val(ptr @.str6425, ptr @.str6426)
store ptr %t46, ptr %retval
br label %ret
ifend11:
%t47 = load ptr, ptr @g_self_stk
%t48 = getelementptr inbounds %LSlice, ptr %t47, i32 0, i32 0
%t49 = load ptr, ptr %t48
%t50 = load i32, ptr @g_nself
%t51 = sub i32 %t50, 1
%t52 = getelementptr inbounds ptr, ptr %t49, i32 %t51
%t53 = load ptr, ptr %t52
%t54 = call ptr @fn_str_concat(ptr @.str6427, ptr %t53)
%t55 = call ptr @fn_emit_bind(ptr %t54)
%t56 = call ptr @fn_val(ptr %t55, ptr @.str6428)
store ptr %t56, ptr %retval
br label %ret
ifend8:
%t57 = load ptr, ptr %t38
%t58 = call i32 @fn_str_eq(ptr %t57, ptr @.str6429)
%t59 = icmp ne i32 %t58, 0
br i1 %t59, label %then12, label %ifend14
then12:
%t60 = call ptr @fn_emit_bind(ptr @.str6430)
%t61 = call ptr @fn_val(ptr %t60, ptr @.str6431)
store ptr %t61, ptr %retval
br label %ret
ifend14:
%t62 = load ptr, ptr %t38
%t63 = call i32 @fn_str_eq(ptr %t62, ptr @.str6432)
%t64 = icmp ne i32 %t63, 0
br i1 %t64, label %then15, label %ifend17
then15:
call void @fn_emit(ptr @.str6433)
%t65 = call ptr @fn_val(ptr @.str6434, ptr @.str6435)
store ptr %t65, ptr %retval
br label %ret
ifend17:
%t66 = load ptr, ptr %t38
%t67 = call i32 @fn_str_eq(ptr %t66, ptr @.str6436)
%t68 = icmp ne i32 %t67, 0
br i1 %t68, label %then18, label %ifend20
then18:
call void @fn_emit(ptr @.str6437)
%t69 = call ptr @fn_val(ptr @.str6438, ptr @.str6439)
store ptr %t69, ptr %retval
br label %ret
ifend20:
%t70 = load ptr, ptr %t38
%t71 = call i32 @fn_str_eq(ptr %t70, ptr @.str6440)
%t72 = icmp ne i32 %t71, 0
br i1 %t72, label %then21, label %ifend23
then21:
%t73 = call ptr @fn_emit_bind(ptr @.str6441)
%t74 = call ptr @fn_val(ptr %t73, ptr @.str6442)
store ptr %t74, ptr %retval
br label %ret
ifend23:
%t75 = load ptr, ptr %t38
%t76 = call i32 @fn_str_eq(ptr %t75, ptr @.str6443)
%t77 = icmp ne i32 %t76, 0
br i1 %t77, label %then24, label %ifend26
then24:
%t78 = call ptr @fn_emit_bind(ptr @.str6444)
%t79 = call ptr @fn_val(ptr %t78, ptr @.str6445)
store ptr %t79, ptr %retval
br label %ret
ifend26:
%t80 = load ptr, ptr %t38
%t81 = call i32 @fn_str_eq(ptr %t80, ptr @.str6446)
%t82 = icmp ne i32 %t81, 0
br i1 %t82, label %then27, label %ifend29
then27:
%t83 = load ptr, ptr %t0
%t84 = getelementptr inbounds %Cmp_Node, ptr %t83, i32 0, i32 7
%t85 = load ptr, ptr %t84
%t86 = getelementptr inbounds %LSlice, ptr %t85, i32 0, i32 0
%t87 = load ptr, ptr %t86
%t88 = getelementptr inbounds ptr, ptr %t87, i32 0
%t89 = load ptr, ptr %t88
%t90 = call ptr @fn_emit_expr(ptr %t89)
store ptr %t90, ptr %t91
%t92 = load ptr, ptr %t91
%t93 = getelementptr inbounds %Cmp_Val, ptr %t92, i32 0, i32 0
%t94 = load ptr, ptr %t93
%t95 = call ptr @fn_str_concat(ptr @.str6447, ptr %t94)
%t96 = call ptr @fn_str_concat(ptr %t95, ptr @.str6448)
%t97 = call ptr @fn_emit_bind(ptr %t96)
%t98 = call ptr @fn_val(ptr %t97, ptr @.str6449)
store ptr %t98, ptr %retval
br label %ret
ifend29:
%t99 = load ptr, ptr %t38
%t100 = call i32 @fn_str_eq(ptr %t99, ptr @.str6450)
%t101 = icmp ne i32 %t100, 0
br i1 %t101, label %then30, label %ifend32
then30:
%t102 = load ptr, ptr %t0
%t103 = getelementptr inbounds %Cmp_Node, ptr %t102, i32 0, i32 7
%t104 = load ptr, ptr %t103
%t105 = getelementptr inbounds %LSlice, ptr %t104, i32 0, i32 0
%t106 = load ptr, ptr %t105
%t107 = getelementptr inbounds ptr, ptr %t106, i32 0
%t108 = load ptr, ptr %t107
%t109 = call ptr @fn_emit_expr(ptr %t108)
store ptr %t109, ptr %t110
%t111 = load ptr, ptr %t0
%t112 = getelementptr inbounds %Cmp_Node, ptr %t111, i32 0, i32 7
%t113 = load ptr, ptr %t112
%t114 = getelementptr inbounds %LSlice, ptr %t113, i32 0, i32 0
%t115 = load ptr, ptr %t114
%t116 = getelementptr inbounds ptr, ptr %t115, i32 1
%t117 = load ptr, ptr %t116
%t118 = call ptr @fn_emit_expr(ptr %t117)
store ptr %t118, ptr %t119
call void @fn_emit(ptr @.str6451)
%t120 = load ptr, ptr %t110
%t121 = getelementptr inbounds %Cmp_Val, ptr %t120, i32 0, i32 0
%t122 = load ptr, ptr %t121
call void @fn_emit(ptr %t122)
call void @fn_emit(ptr @.str6452)
%t123 = load ptr, ptr %t119
%t124 = getelementptr inbounds %Cmp_Val, ptr %t123, i32 0, i32 0
%t125 = load ptr, ptr %t124
call void @fn_emit(ptr %t125)
call void @fn_emit(ptr @.str6453)
%t126 = call ptr @fn_val(ptr @.str6454, ptr @.str6455)
store ptr %t126, ptr %retval
br label %ret
ifend32:
%t127 = load ptr, ptr %t38
%t128 = call i32 @fn_str_eq(ptr %t127, ptr @.str6456)
%t129 = icmp ne i32 %t128, 0
br i1 %t129, label %then33, label %ifend35
then33:
call void @fn_emit(ptr @.str6457)
%t130 = call ptr @fn_val(ptr @.str6458, ptr @.str6459)
store ptr %t130, ptr %retval
br label %ret
ifend35:
%t131 = load ptr, ptr %t38
%t132 = call i32 @fn_str_eq(ptr %t131, ptr @.str6460)
%t133 = icmp ne i32 %t132, 0
br i1 %t133, label %then36, label %ifend38
then36:
%t134 = load ptr, ptr %t0
%t135 = getelementptr inbounds %Cmp_Node, ptr %t134, i32 0, i32 7
%t136 = load ptr, ptr %t135
%t137 = getelementptr inbounds %LSlice, ptr %t136, i32 0, i32 0
%t138 = load ptr, ptr %t137
%t139 = getelementptr inbounds ptr, ptr %t138, i32 0
%t140 = load ptr, ptr %t139
%t141 = call ptr @fn_emit_expr(ptr %t140)
store ptr %t141, ptr %t142
%t143 = load ptr, ptr %t0
%t144 = getelementptr inbounds %Cmp_Node, ptr %t143, i32 0, i32 7
%t145 = load ptr, ptr %t144
%t146 = getelementptr inbounds %LSlice, ptr %t145, i32 0, i32 0
%t147 = load ptr, ptr %t146
%t148 = getelementptr inbounds ptr, ptr %t147, i32 1
%t149 = load ptr, ptr %t148
%t150 = call ptr @fn_emit_expr(ptr %t149)
store ptr %t150, ptr %t151
%t152 = load ptr, ptr %t142
%t153 = getelementptr inbounds %Cmp_Val, ptr %t152, i32 0, i32 0
%t154 = load ptr, ptr %t153
%t155 = call ptr @fn_str_concat(ptr @.str6461, ptr %t154)
%t156 = call ptr @fn_str_concat(ptr %t155, ptr @.str6462)
%t157 = load ptr, ptr %t151
%t158 = getelementptr inbounds %Cmp_Val, ptr %t157, i32 0, i32 0
%t159 = load ptr, ptr %t158
%t160 = call ptr @fn_str_concat(ptr %t156, ptr %t159)
%t161 = call ptr @fn_str_concat(ptr %t160, ptr @.str6463)
%t162 = call ptr @fn_emit_bind(ptr %t161)
%t163 = call ptr @fn_val(ptr %t162, ptr @.str6464)
store ptr %t163, ptr %retval
br label %ret
ifend38:
%t164 = load ptr, ptr %t38
%t165 = call i32 @fn_str_eq(ptr %t164, ptr @.str6465)
%t166 = icmp ne i32 %t165, 0
br i1 %t166, label %then39, label %ifend41
then39:
%t167 = load ptr, ptr %t0
%t168 = getelementptr inbounds %Cmp_Node, ptr %t167, i32 0, i32 7
%t169 = load ptr, ptr %t168
%t170 = getelementptr inbounds %LSlice, ptr %t169, i32 0, i32 0
%t171 = load ptr, ptr %t170
%t172 = getelementptr inbounds ptr, ptr %t171, i32 0
%t173 = load ptr, ptr %t172
%t174 = call ptr @fn_emit_expr(ptr %t173)
store ptr %t174, ptr %t175
%t176 = load ptr, ptr %t0
%t177 = getelementptr inbounds %Cmp_Node, ptr %t176, i32 0, i32 7
%t178 = load ptr, ptr %t177
%t179 = getelementptr inbounds %LSlice, ptr %t178, i32 0, i32 0
%t180 = load ptr, ptr %t179
%t181 = getelementptr inbounds ptr, ptr %t180, i32 1
%t182 = load ptr, ptr %t181
%t183 = call ptr @fn_emit_expr(ptr %t182)
store ptr %t183, ptr %t184
%t185 = load ptr, ptr %t0
%t186 = getelementptr inbounds %Cmp_Node, ptr %t185, i32 0, i32 7
%t187 = load ptr, ptr %t186
%t188 = getelementptr inbounds %LSlice, ptr %t187, i32 0, i32 0
%t189 = load ptr, ptr %t188
%t190 = getelementptr inbounds ptr, ptr %t189, i32 2
%t191 = load ptr, ptr %t190
%t192 = call ptr @fn_emit_expr(ptr %t191)
store ptr %t192, ptr %t193
call void @fn_emit(ptr @.str6466)
%t194 = load ptr, ptr %t175
%t195 = getelementptr inbounds %Cmp_Val, ptr %t194, i32 0, i32 0
%t196 = load ptr, ptr %t195
call void @fn_emit(ptr %t196)
call void @fn_emit(ptr @.str6467)
%t197 = load ptr, ptr %t184
%t198 = getelementptr inbounds %Cmp_Val, ptr %t197, i32 0, i32 0
%t199 = load ptr, ptr %t198
call void @fn_emit(ptr %t199)
call void @fn_emit(ptr @.str6468)
%t200 = load ptr, ptr %t193
%t201 = getelementptr inbounds %Cmp_Val, ptr %t200, i32 0, i32 0
%t202 = load ptr, ptr %t201
call void @fn_emit(ptr %t202)
call void @fn_emit(ptr @.str6469)
%t203 = call ptr @fn_val(ptr @.str6470, ptr @.str6471)
store ptr %t203, ptr %retval
br label %ret
ifend41:
%t204 = load ptr, ptr %t38
%t205 = call i32 @fn_str_eq(ptr %t204, ptr @.str6472)
%t206 = icmp ne i32 %t205, 0
br i1 %t206, label %then42, label %ifend44
then42:
%t207 = load ptr, ptr %t0
%t208 = getelementptr inbounds %Cmp_Node, ptr %t207, i32 0, i32 7
%t209 = load ptr, ptr %t208
%t210 = getelementptr inbounds %LSlice, ptr %t209, i32 0, i32 0
%t211 = load ptr, ptr %t210
%t212 = getelementptr inbounds ptr, ptr %t211, i32 0
%t213 = load ptr, ptr %t212
%t214 = call ptr @fn_emit_expr(ptr %t213)
store ptr %t214, ptr %t215
%t216 = load ptr, ptr %t215
%t217 = getelementptr inbounds %Cmp_Val, ptr %t216, i32 0, i32 0
%t218 = load ptr, ptr %t217
%t219 = call ptr @fn_str_concat(ptr @.str6473, ptr %t218)
%t220 = call ptr @fn_str_concat(ptr %t219, ptr @.str6474)
%t221 = call ptr @fn_emit_bind(ptr %t220)
%t222 = call ptr @fn_val(ptr %t221, ptr @.str6475)
store ptr %t222, ptr %retval
br label %ret
ifend44:
%t223 = load ptr, ptr %t38
%t224 = call i32 @fn_str_eq(ptr %t223, ptr @.str6476)
%t225 = icmp ne i32 %t224, 0
br i1 %t225, label %then45, label %ifend47
then45:
%t226 = load ptr, ptr %t0
%t227 = getelementptr inbounds %Cmp_Node, ptr %t226, i32 0, i32 7
%t228 = load ptr, ptr %t227
%t229 = getelementptr inbounds %LSlice, ptr %t228, i32 0, i32 0
%t230 = load ptr, ptr %t229
%t231 = getelementptr inbounds ptr, ptr %t230, i32 0
%t232 = load ptr, ptr %t231
%t233 = call ptr @fn_emit_expr(ptr %t232)
store ptr %t233, ptr %t234
%t235 = load ptr, ptr %t234
%t236 = getelementptr inbounds %Cmp_Val, ptr %t235, i32 0, i32 0
%t237 = load ptr, ptr %t236
%t238 = call ptr @fn_str_concat(ptr @.str6477, ptr %t237)
%t239 = call ptr @fn_str_concat(ptr %t238, ptr @.str6478)
%t240 = call ptr @fn_emit_bind(ptr %t239)
%t241 = call ptr @fn_val(ptr %t240, ptr @.str6479)
store ptr %t241, ptr %retval
br label %ret
ifend47:
%t242 = load ptr, ptr %t38
%t243 = call i32 @fn_str_eq(ptr %t242, ptr @.str6480)
%t244 = icmp ne i32 %t243, 0
br i1 %t244, label %then48, label %ifend50
then48:
%t245 = load ptr, ptr %t0
%t246 = getelementptr inbounds %Cmp_Node, ptr %t245, i32 0, i32 7
%t247 = load ptr, ptr %t246
%t248 = getelementptr inbounds %LSlice, ptr %t247, i32 0, i32 0
%t249 = load ptr, ptr %t248
%t250 = getelementptr inbounds ptr, ptr %t249, i32 0
%t251 = load ptr, ptr %t250
%t252 = call ptr @fn_emit_expr(ptr %t251)
store ptr %t252, ptr %t253
%t254 = load ptr, ptr %t0
%t255 = getelementptr inbounds %Cmp_Node, ptr %t254, i32 0, i32 7
%t256 = load ptr, ptr %t255
%t257 = getelementptr inbounds %LSlice, ptr %t256, i32 0, i32 0
%t258 = load ptr, ptr %t257
%t259 = getelementptr inbounds ptr, ptr %t258, i32 1
%t260 = load ptr, ptr %t259
%t261 = call ptr @fn_emit_expr(ptr %t260)
store ptr %t261, ptr %t262
call void @fn_emit(ptr @.str6481)
%t263 = load ptr, ptr %t253
%t264 = getelementptr inbounds %Cmp_Val, ptr %t263, i32 0, i32 0
%t265 = load ptr, ptr %t264
call void @fn_emit(ptr %t265)
call void @fn_emit(ptr @.str6482)
%t266 = load ptr, ptr %t262
%t267 = getelementptr inbounds %Cmp_Val, ptr %t266, i32 0, i32 0
%t268 = load ptr, ptr %t267
call void @fn_emit(ptr %t268)
call void @fn_emit(ptr @.str6483)
%t269 = call ptr @fn_val(ptr @.str6484, ptr @.str6485)
store ptr %t269, ptr %retval
br label %ret
ifend50:
%t270 = load ptr, ptr %t38
%t271 = call i32 @fn_str_eq(ptr %t270, ptr @.str6486)
%t272 = icmp ne i32 %t271, 0
br i1 %t272, label %then51, label %ifend53
then51:
%t273 = load ptr, ptr %t0
%t274 = getelementptr inbounds %Cmp_Node, ptr %t273, i32 0, i32 7
%t275 = load ptr, ptr %t274
%t276 = getelementptr inbounds %LSlice, ptr %t275, i32 0, i32 0
%t277 = load ptr, ptr %t276
%t278 = getelementptr inbounds ptr, ptr %t277, i32 0
%t279 = load ptr, ptr %t278
%t280 = call ptr @fn_emit_expr(ptr %t279)
store ptr %t280, ptr %t281
%t282 = load ptr, ptr %t281
%t283 = getelementptr inbounds %Cmp_Val, ptr %t282, i32 0, i32 0
%t284 = load ptr, ptr %t283
%t285 = call ptr @fn_str_concat(ptr @.str6487, ptr %t284)
%t286 = call ptr @fn_str_concat(ptr %t285, ptr @.str6488)
%t287 = call ptr @fn_emit_bind(ptr %t286)
%t288 = call ptr @fn_val(ptr %t287, ptr @.str6489)
store ptr %t288, ptr %retval
br label %ret
ifend53:
%t289 = load ptr, ptr %t38
%t290 = call i32 @fn_str_eq(ptr %t289, ptr @.str6490)
%t291 = icmp ne i32 %t290, 0
br i1 %t291, label %then54, label %ifend56
then54:
%t292 = call ptr @fn_emit_bind(ptr @.str6491)
store ptr %t292, ptr %t293
%t294 = load ptr, ptr %t293
%t295 = call ptr @fn_str_concat(ptr @.str6492, ptr %t294)
%t296 = call ptr @fn_str_concat(ptr %t295, ptr @.str6493)
%t297 = call ptr @fn_emit_bind(ptr %t296)
store ptr %t297, ptr %t298
%t299 = load ptr, ptr %t298
%t300 = call ptr @fn_str_concat(ptr @.str6494, ptr %t299)
%t301 = call ptr @fn_str_concat(ptr %t300, ptr @.str6495)
%t302 = call ptr @fn_emit_bind(ptr %t301)
%t303 = call ptr @fn_val(ptr %t302, ptr @.str6496)
store ptr %t303, ptr %retval
br label %ret
ifend56:
%t304 = load ptr, ptr %t38
%t305 = call i32 @fn_str_eq(ptr %t304, ptr @.str6497)
%t306 = icmp ne i32 %t305, 0
br i1 %t306, label %then57, label %ifend59
then57:
%t307 = call ptr @fn_emit_bind(ptr @.str6498)
%t308 = call ptr @fn_val(ptr %t307, ptr @.str6499)
store ptr %t308, ptr %retval
br label %ret
ifend59:
%t309 = load ptr, ptr %t38
%t310 = call i32 @fn_str_eq(ptr %t309, ptr @.str6500)
%t311 = icmp ne i32 %t310, 0
br i1 %t311, label %then60, label %ifend62
then60:
call void @fn_emit(ptr @.str6501)
%t312 = call ptr @fn_val(ptr @.str6502, ptr @.str6503)
store ptr %t312, ptr %retval
br label %ret
ifend62:
%t313 = load ptr, ptr %t38
%t314 = call i32 @fn_str_eq(ptr %t313, ptr @.str6504)
%t315 = icmp ne i32 %t314, 0
br i1 %t315, label %then63, label %ifend65
then63:
call void @fn_emit(ptr @.str6505)
%t316 = call ptr @fn_val(ptr @.str6506, ptr @.str6507)
store ptr %t316, ptr %retval
br label %ret
ifend65:
%t317 = load ptr, ptr %t38
%t318 = call i32 @fn_str_eq(ptr %t317, ptr @.str6508)
%t319 = icmp ne i32 %t318, 0
br i1 %t319, label %then66, label %ifend68
then66:
call void @fn_emit(ptr @.str6509)
%t320 = call ptr @fn_val(ptr @.str6510, ptr @.str6511)
store ptr %t320, ptr %retval
br label %ret
ifend68:
%t321 = load ptr, ptr %t38
%t322 = call i32 @fn_str_eq(ptr %t321, ptr @.str6512)
%t323 = icmp ne i32 %t322, 0
br i1 %t323, label %then69, label %ifend71
then69:
%t324 = load ptr, ptr %t0
%t325 = getelementptr inbounds %Cmp_Node, ptr %t324, i32 0, i32 7
%t326 = load ptr, ptr %t325
%t327 = getelementptr inbounds %LSlice, ptr %t326, i32 0, i32 0
%t328 = load ptr, ptr %t327
%t329 = getelementptr inbounds ptr, ptr %t328, i32 0
%t330 = load ptr, ptr %t329
%t331 = call ptr @fn_emit_expr(ptr %t330)
store ptr %t331, ptr %t332
call void @fn_emit(ptr @.str6513)
%t333 = load ptr, ptr %t332
%t334 = getelementptr inbounds %Cmp_Val, ptr %t333, i32 0, i32 0
%t335 = load ptr, ptr %t334
call void @fn_emit(ptr %t335)
call void @fn_emit(ptr @.str6514)
%t336 = call ptr @fn_val(ptr @.str6515, ptr @.str6516)
store ptr %t336, ptr %retval
br label %ret
ifend71:
%t337 = load ptr, ptr %t38
%t338 = call i32 @fn_str_eq(ptr %t337, ptr @.str6517)
%t339 = icmp ne i32 %t338, 0
br i1 %t339, label %then72, label %ifend74
then72:
%t340 = load ptr, ptr %t0
%t341 = getelementptr inbounds %Cmp_Node, ptr %t340, i32 0, i32 7
%t342 = load ptr, ptr %t341
%t343 = getelementptr inbounds %LSlice, ptr %t342, i32 0, i32 0
%t344 = load ptr, ptr %t343
%t345 = getelementptr inbounds ptr, ptr %t344, i32 0
%t346 = load ptr, ptr %t345
%t347 = call ptr @fn_emit_expr(ptr %t346)
store ptr %t347, ptr %t348
call void @fn_emit(ptr @.str6518)
%t349 = load ptr, ptr %t348
%t350 = getelementptr inbounds %Cmp_Val, ptr %t349, i32 0, i32 0
%t351 = load ptr, ptr %t350
call void @fn_emit(ptr %t351)
call void @fn_emit(ptr @.str6519)
%t352 = call ptr @fn_val(ptr @.str6520, ptr @.str6521)
store ptr %t352, ptr %retval
br label %ret
ifend74:
%t354 = load ptr, ptr %t38
%t355 = call i32 @fn_str_eq(ptr %t354, ptr @.str6522)
%t356 = icmp ne i32 %t355, 0
%t357 = zext i1 %t356 to i32
store i32 %t357, ptr %t353
br i1 %t356, label %sc75, label %scend76
sc75:
%t358 = call ptr @fn_find_extern(ptr @.str6523)
%t359 = icmp eq ptr %t358, null
%t360 = zext i1 %t359 to i32
%t361 = icmp ne i32 %t360, 0
%t362 = zext i1 %t361 to i32
store i32 %t362, ptr %t353
br label %scend76
scend76:
%t363 = load i32, ptr %t353
%t364 = icmp ne i32 %t363, 0
br i1 %t364, label %then77, label %ifend79
then77:
store i32 1, ptr @g_g_uses_loopback
%t365 = load ptr, ptr %t0
%t366 = getelementptr inbounds %Cmp_Node, ptr %t365, i32 0, i32 7
%t367 = load ptr, ptr %t366
%t368 = getelementptr inbounds %LSlice, ptr %t367, i32 0, i32 0
%t369 = load ptr, ptr %t368
%t370 = getelementptr inbounds ptr, ptr %t369, i32 0
%t371 = load ptr, ptr %t370
%t372 = call ptr @fn_emit_expr(ptr %t371)
store ptr %t372, ptr %t373
%t374 = load ptr, ptr %t0
%t375 = getelementptr inbounds %Cmp_Node, ptr %t374, i32 0, i32 7
%t376 = load ptr, ptr %t375
%t377 = getelementptr inbounds %LSlice, ptr %t376, i32 0, i32 0
%t378 = load ptr, ptr %t377
%t379 = getelementptr inbounds ptr, ptr %t378, i32 1
%t380 = load ptr, ptr %t379
%t381 = call ptr @fn_emit_expr(ptr %t380)
store ptr %t381, ptr %t382
%t383 = load ptr, ptr %t0
%t384 = getelementptr inbounds %Cmp_Node, ptr %t383, i32 0, i32 7
%t385 = load ptr, ptr %t384
%t386 = getelementptr inbounds %LSlice, ptr %t385, i32 0, i32 0
%t387 = load ptr, ptr %t386
%t388 = getelementptr inbounds ptr, ptr %t387, i32 2
%t389 = load ptr, ptr %t388
%t390 = call ptr @fn_emit_expr(ptr %t389)
store ptr %t390, ptr %t391
call void @fn_emit(ptr @.str6524)
%t392 = load ptr, ptr %t373
%t393 = getelementptr inbounds %Cmp_Val, ptr %t392, i32 0, i32 0
%t394 = load ptr, ptr %t393
call void @fn_emit(ptr %t394)
call void @fn_emit(ptr @.str6525)
%t395 = load ptr, ptr %t382
%t396 = getelementptr inbounds %Cmp_Val, ptr %t395, i32 0, i32 0
%t397 = load ptr, ptr %t396
call void @fn_emit(ptr %t397)
call void @fn_emit(ptr @.str6526)
%t398 = load ptr, ptr %t391
%t399 = getelementptr inbounds %Cmp_Val, ptr %t398, i32 0, i32 0
%t400 = load ptr, ptr %t399
call void @fn_emit(ptr %t400)
call void @fn_emit(ptr @.str6527)
%t401 = call ptr @fn_val(ptr @.str6528, ptr @.str6529)
store ptr %t401, ptr %retval
br label %ret
ifend79:
%t403 = load ptr, ptr %t38
%t404 = call i32 @fn_str_eq(ptr %t403, ptr @.str6530)
%t405 = icmp ne i32 %t404, 0
%t406 = zext i1 %t405 to i32
store i32 %t406, ptr %t402
br i1 %t405, label %sc80, label %scend81
sc80:
%t407 = call ptr @fn_find_extern(ptr @.str6531)
%t408 = icmp eq ptr %t407, null
%t409 = zext i1 %t408 to i32
%t410 = icmp ne i32 %t409, 0
%t411 = zext i1 %t410 to i32
store i32 %t411, ptr %t402
br label %scend81
scend81:
%t412 = load i32, ptr %t402
%t413 = icmp ne i32 %t412, 0
br i1 %t413, label %then82, label %ifend84
then82:
store i32 1, ptr @g_g_uses_loopback
%t414 = load ptr, ptr %t0
%t415 = getelementptr inbounds %Cmp_Node, ptr %t414, i32 0, i32 7
%t416 = load ptr, ptr %t415
%t417 = getelementptr inbounds %LSlice, ptr %t416, i32 0, i32 0
%t418 = load ptr, ptr %t417
%t419 = getelementptr inbounds ptr, ptr %t418, i32 0
%t420 = load ptr, ptr %t419
%t421 = call ptr @fn_emit_expr(ptr %t420)
store ptr %t421, ptr %t422
%t423 = load ptr, ptr %t0
%t424 = getelementptr inbounds %Cmp_Node, ptr %t423, i32 0, i32 7
%t425 = load ptr, ptr %t424
%t426 = getelementptr inbounds %LSlice, ptr %t425, i32 0, i32 0
%t427 = load ptr, ptr %t426
%t428 = getelementptr inbounds ptr, ptr %t427, i32 1
%t429 = load ptr, ptr %t428
%t430 = call ptr @fn_emit_expr(ptr %t429)
store ptr %t430, ptr %t431
%t432 = load ptr, ptr %t422
%t433 = getelementptr inbounds %Cmp_Val, ptr %t432, i32 0, i32 0
%t434 = load ptr, ptr %t433
%t435 = call ptr @fn_str_concat(ptr @.str6532, ptr %t434)
%t436 = call ptr @fn_str_concat(ptr %t435, ptr @.str6533)
%t437 = load ptr, ptr %t431
%t438 = getelementptr inbounds %Cmp_Val, ptr %t437, i32 0, i32 0
%t439 = load ptr, ptr %t438
%t440 = call ptr @fn_str_concat(ptr %t436, ptr %t439)
%t441 = call ptr @fn_str_concat(ptr %t440, ptr @.str6534)
%t442 = call ptr @fn_emit_bind(ptr %t441)
%t443 = call ptr @fn_val(ptr %t442, ptr @.str6535)
store ptr %t443, ptr %retval
br label %ret
ifend84:
%t444 = load ptr, ptr %t38
%t445 = call i32 @fn_str_eq(ptr %t444, ptr @.str6536)
%t446 = icmp ne i32 %t445, 0
br i1 %t446, label %then85, label %ifend87
then85:
%t447 = load ptr, ptr %t0
%t448 = call ptr @fn_emit_len(ptr %t447)
store ptr %t448, ptr %retval
br label %ret
ifend87:
%t449 = load ptr, ptr %t38
%t450 = call i32 @fn_str_eq(ptr %t449, ptr @.str6537)
%t451 = icmp ne i32 %t450, 0
br i1 %t451, label %then88, label %ifend90
then88:
%t452 = load ptr, ptr %t0
%t453 = call ptr @fn_emit_push(ptr %t452)
store ptr %t453, ptr %retval
br label %ret
ifend90:
%t454 = load ptr, ptr %t38
%t455 = call i32 @fn_str_eq(ptr %t454, ptr @.str6538)
%t456 = icmp ne i32 %t455, 0
br i1 %t456, label %then91, label %ifend93
then91:
%t457 = load ptr, ptr %t0
%t458 = getelementptr inbounds %Cmp_Node, ptr %t457, i32 0, i32 7
%t459 = load ptr, ptr %t458
%t460 = getelementptr inbounds %LSlice, ptr %t459, i32 0, i32 0
%t461 = load ptr, ptr %t460
%t462 = getelementptr inbounds ptr, ptr %t461, i32 0
%t463 = load ptr, ptr %t462
%t464 = call ptr @fn_emit_expr(ptr %t463)
store ptr %t464, ptr %t465
%t466 = load ptr, ptr %t465
%t467 = getelementptr inbounds %Cmp_Val, ptr %t466, i32 0, i32 1
%t468 = load ptr, ptr %t467
%t469 = call ptr @fn_llty(ptr %t468)
%t470 = call i32 @fn_str_eq(ptr %t469, ptr @.str6539)
%t471 = icmp ne i32 %t470, 0
br i1 %t471, label %then94, label %ifend96
then94:
%t472 = load ptr, ptr %t465
store ptr %t472, ptr %retval
br label %ret
ifend96:
%t473 = load ptr, ptr %t465
%t474 = getelementptr inbounds %Cmp_Val, ptr %t473, i32 0, i32 1
%t475 = load ptr, ptr %t474
%t476 = call ptr @fn_llty(ptr %t475)
%t477 = call i32 @fn_str_eq(ptr %t476, ptr @.str6540)
%t478 = icmp ne i32 %t477, 0
br i1 %t478, label %then97, label %ifend99
then97:
store i32 1, ptr @g_g_uses_longstr
%t479 = load ptr, ptr %t465
%t480 = getelementptr inbounds %Cmp_Val, ptr %t479, i32 0, i32 0
%t481 = load ptr, ptr %t480
%t482 = call ptr @fn_str_concat(ptr @.str6541, ptr %t481)
%t483 = call ptr @fn_str_concat(ptr %t482, ptr @.str6542)
%t484 = call ptr @fn_emit_bind(ptr %t483)
%t485 = call ptr @fn_val(ptr %t484, ptr @.str6543)
store ptr %t485, ptr %retval
br label %ret
ifend99:
store i32 1, ptr @g_g_uses_intstr
%t486 = load ptr, ptr %t465
%t487 = getelementptr inbounds %Cmp_Val, ptr %t486, i32 0, i32 0
%t488 = load ptr, ptr %t487
%t489 = call ptr @fn_str_concat(ptr @.str6544, ptr %t488)
%t490 = call ptr @fn_str_concat(ptr %t489, ptr @.str6545)
%t491 = call ptr @fn_emit_bind(ptr %t490)
%t492 = call ptr @fn_val(ptr %t491, ptr @.str6546)
store ptr %t492, ptr %retval
br label %ret
ifend93:
%t493 = load ptr, ptr %t38
%t494 = call i32 @fn_str_eq(ptr %t493, ptr @.str6547)
%t495 = icmp ne i32 %t494, 0
br i1 %t495, label %then100, label %ifend102
then100:
%t496 = load ptr, ptr %t0
%t497 = getelementptr inbounds %Cmp_Node, ptr %t496, i32 0, i32 7
%t498 = load ptr, ptr %t497
%t499 = getelementptr inbounds %LSlice, ptr %t498, i32 0, i32 0
%t500 = load ptr, ptr %t499
%t501 = getelementptr inbounds ptr, ptr %t500, i32 0
%t502 = load ptr, ptr %t501
%t503 = call ptr @fn_emit_expr(ptr %t502)
store ptr %t503, ptr %t504
%t505 = load ptr, ptr %t504
%t506 = getelementptr inbounds %Cmp_Val, ptr %t505, i32 0, i32 1
%t507 = load ptr, ptr %t506
%t508 = call ptr @fn_llty(ptr %t507)
%t509 = call i32 @fn_str_eq(ptr %t508, ptr @.str6548)
%t510 = icmp ne i32 %t509, 0
br i1 %t510, label %then103, label %else104
then103:
%t511 = load ptr, ptr %t504
%t512 = getelementptr inbounds %Cmp_Val, ptr %t511, i32 0, i32 0
%t513 = load ptr, ptr %t512
%t514 = call ptr @fn_str_concat(ptr %t513, ptr @.str6550)
%t515 = call ptr @fn_str_concat(ptr @.str6549, ptr %t514)
call void @fn_emit(ptr %t515)
br label %ifend105
else104:
%t516 = load ptr, ptr %t504
%t517 = getelementptr inbounds %Cmp_Val, ptr %t516, i32 0, i32 1
%t518 = load ptr, ptr %t517
%t519 = call ptr @fn_llty(ptr %t518)
%t520 = call i32 @fn_str_eq(ptr %t519, ptr @.str6551)
%t521 = icmp ne i32 %t520, 0
br i1 %t521, label %then106, label %else107
then106:
%t522 = load ptr, ptr %t504
%t523 = getelementptr inbounds %Cmp_Val, ptr %t522, i32 0, i32 0
%t524 = load ptr, ptr %t523
%t525 = call ptr @fn_str_concat(ptr %t524, ptr @.str6553)
%t526 = call ptr @fn_str_concat(ptr @.str6552, ptr %t525)
call void @fn_emit(ptr %t526)
br label %ifend108
else107:
%t527 = load ptr, ptr %t504
%t528 = getelementptr inbounds %Cmp_Val, ptr %t527, i32 0, i32 0
%t529 = load ptr, ptr %t528
%t530 = call ptr @fn_str_concat(ptr %t529, ptr @.str6555)
%t531 = call ptr @fn_str_concat(ptr @.str6554, ptr %t530)
call void @fn_emit(ptr %t531)
br label %ifend108
ifend108:
br label %ifend105
ifend105:
%t532 = call ptr @fn_val(ptr @.str6556, ptr @.str6557)
store ptr %t532, ptr %retval
br label %ret
ifend102:
%t533 = load ptr, ptr %t38
%t534 = call i32 @fn_str_eq(ptr %t533, ptr @.str6558)
%t535 = icmp ne i32 %t534, 0
br i1 %t535, label %then109, label %ifend111
then109:
%t536 = load ptr, ptr %t0
%t537 = getelementptr inbounds %Cmp_Node, ptr %t536, i32 0, i32 7
%t538 = load ptr, ptr %t537
%t539 = getelementptr inbounds %LSlice, ptr %t538, i32 0, i32 0
%t540 = load ptr, ptr %t539
%t541 = getelementptr inbounds ptr, ptr %t540, i32 0
%t542 = load ptr, ptr %t541
%t543 = call ptr @fn_emit_expr(ptr %t542)
store ptr %t543, ptr %t544
%t545 = load ptr, ptr %t544
%t546 = getelementptr inbounds %Cmp_Val, ptr %t545, i32 0, i32 0
%t547 = load ptr, ptr %t546
%t548 = call ptr @fn_str_concat(ptr @.str6559, ptr %t547)
%t549 = call ptr @fn_str_concat(ptr %t548, ptr @.str6560)
%t550 = call ptr @fn_emit_bind(ptr %t549)
store ptr %t550, ptr %t551
%t552 = load ptr, ptr %t551
%t553 = call ptr @fn_str_concat(ptr @.str6561, ptr %t552)
%t554 = call ptr @fn_str_concat(ptr %t553, ptr @.str6562)
%t555 = call ptr @fn_emit_bind(ptr %t554)
%t556 = call ptr @fn_val(ptr %t555, ptr @.str6563)
store ptr %t556, ptr %retval
br label %ret
ifend111:
%t557 = load ptr, ptr %t38
%t558 = call i32 @fn_str_eq(ptr %t557, ptr @.str6564)
%t559 = icmp ne i32 %t558, 0
br i1 %t559, label %then112, label %ifend114
then112:
%t560 = load ptr, ptr %t0
%t561 = getelementptr inbounds %Cmp_Node, ptr %t560, i32 0, i32 7
%t562 = load ptr, ptr %t561
%t563 = getelementptr inbounds %LSlice, ptr %t562, i32 0, i32 0
%t564 = load ptr, ptr %t563
%t565 = getelementptr inbounds ptr, ptr %t564, i32 0
%t566 = load ptr, ptr %t565
%t567 = call ptr @fn_emit_expr(ptr %t566)
store ptr %t567, ptr %t568
%t569 = load ptr, ptr %t568
%t570 = getelementptr inbounds %Cmp_Val, ptr %t569, i32 0, i32 0
%t571 = load ptr, ptr %t570
%t572 = call ptr @fn_str_concat(ptr @.str6565, ptr %t571)
%t573 = call ptr @fn_str_concat(ptr %t572, ptr @.str6566)
%t574 = call ptr @fn_emit_bind(ptr %t573)
store ptr %t574, ptr %t575
%t576 = load ptr, ptr %t575
%t577 = call ptr @fn_str_concat(ptr @.str6567, ptr %t576)
%t578 = call ptr @fn_str_concat(ptr %t577, ptr @.str6568)
%t579 = call ptr @fn_emit_bind(ptr %t578)
store ptr %t579, ptr %t580
%t581 = load ptr, ptr %t580
%t582 = call ptr @fn_str_concat(ptr @.str6569, ptr %t581)
%t583 = call ptr @fn_str_concat(ptr %t582, ptr @.str6570)
%t584 = call ptr @fn_emit_bind(ptr %t583)
%t585 = call ptr @fn_val(ptr %t584, ptr @.str6571)
store ptr %t585, ptr %retval
br label %ret
ifend114:
%t586 = load ptr, ptr %t38
%t587 = call i32 @fn_str_eq(ptr %t586, ptr @.str6572)
%t588 = icmp ne i32 %t587, 0
br i1 %t588, label %then115, label %ifend117
then115:
%t589 = load ptr, ptr %t0
%t590 = getelementptr inbounds %Cmp_Node, ptr %t589, i32 0, i32 7
%t591 = load ptr, ptr %t590
%t592 = getelementptr inbounds %LSlice, ptr %t591, i32 0, i32 0
%t593 = load ptr, ptr %t592
%t594 = getelementptr inbounds ptr, ptr %t593, i32 0
%t595 = load ptr, ptr %t594
%t596 = call ptr @fn_emit_expr(ptr %t595)
store ptr %t596, ptr %t597
%t598 = load ptr, ptr %t597
%t599 = getelementptr inbounds %Cmp_Val, ptr %t598, i32 0, i32 0
%t600 = load ptr, ptr %t599
%t601 = call ptr @fn_str_concat(ptr @.str6573, ptr %t600)
%t602 = call ptr @fn_str_concat(ptr %t601, ptr @.str6574)
%t603 = call ptr @fn_emit_bind(ptr %t602)
%t604 = call ptr @fn_val(ptr %t603, ptr @.str6575)
store ptr %t604, ptr %retval
br label %ret
ifend117:
%t605 = load ptr, ptr %t38
%t606 = call i32 @fn_str_eq(ptr %t605, ptr @.str6576)
%t607 = icmp ne i32 %t606, 0
br i1 %t607, label %then118, label %ifend120
then118:
%t608 = load ptr, ptr %t0
%t609 = getelementptr inbounds %Cmp_Node, ptr %t608, i32 0, i32 7
%t610 = load ptr, ptr %t609
%t611 = getelementptr inbounds %LSlice, ptr %t610, i32 0, i32 0
%t612 = load ptr, ptr %t611
%t613 = getelementptr inbounds ptr, ptr %t612, i32 0
%t614 = load ptr, ptr %t613
%t615 = call ptr @fn_emit_expr(ptr %t614)
store ptr %t615, ptr %t616
%t617 = load ptr, ptr %t616
%t618 = getelementptr inbounds %Cmp_Val, ptr %t617, i32 0, i32 0
%t619 = load ptr, ptr %t618
%t620 = call ptr @fn_str_concat(ptr @.str6577, ptr %t619)
%t621 = call ptr @fn_str_concat(ptr %t620, ptr @.str6578)
%t622 = call ptr @fn_emit_bind(ptr %t621)
%t623 = call ptr @fn_val(ptr %t622, ptr @.str6579)
store ptr %t623, ptr %retval
br label %ret
ifend120:
%t624 = load ptr, ptr %t38
%t625 = call i32 @fn_str_eq(ptr %t624, ptr @.str6580)
%t626 = icmp ne i32 %t625, 0
br i1 %t626, label %then121, label %ifend123
then121:
store i32 1, ptr @g_g_uses_expect
%t627 = load ptr, ptr %t0
%t628 = getelementptr inbounds %Cmp_Node, ptr %t627, i32 0, i32 7
%t629 = load ptr, ptr %t628
%t630 = getelementptr inbounds %LSlice, ptr %t629, i32 0, i32 0
%t631 = load ptr, ptr %t630
%t632 = getelementptr inbounds ptr, ptr %t631, i32 0
%t633 = load ptr, ptr %t632
%t634 = call ptr @fn_emit_expr(ptr %t633)
store ptr %t634, ptr %t635
%t636 = load ptr, ptr %t635
%t637 = getelementptr inbounds %Cmp_Val, ptr %t636, i32 0, i32 0
%t638 = load ptr, ptr %t637
%t639 = call ptr @fn_str_concat(ptr @.str6581, ptr %t638)
%t640 = call ptr @fn_str_concat(ptr %t639, ptr @.str6582)
%t641 = call ptr @fn_emit_bind(ptr %t640)
store ptr %t641, ptr %t642
%t643 = load ptr, ptr @g_g_src_name
%t644 = call ptr @fn_str_concat(ptr %t643, ptr @.str6583)
%t645 = load ptr, ptr %t0
%t646 = getelementptr inbounds %Cmp_Node, ptr %t645, i32 0, i32 8
%t647 = load i32, ptr %t646
%t648 = call ptr @fn_itoa(i32 %t647)
%t649 = call ptr @fn_str_concat(ptr %t644, ptr %t648)
%t650 = call ptr @fn_str_concat(ptr %t649, ptr @.str6584)
%t651 = call ptr @fn_emit_str_const(ptr %t650)
store ptr %t651, ptr %t652
%t653 = load ptr, ptr %t642
%t654 = load ptr, ptr %t652
call void @fn_emit_expect_fail(ptr %t653, ptr %t654, ptr @.str6585, ptr @.str6586)
%t655 = call ptr @fn_val(ptr @.str6587, ptr @.str6588)
store ptr %t655, ptr %retval
br label %ret
ifend123:
%t656 = load ptr, ptr %t38
%t657 = call i32 @fn_str_eq(ptr %t656, ptr @.str6589)
%t658 = icmp ne i32 %t657, 0
br i1 %t658, label %then124, label %ifend126
then124:
store i32 1, ptr @g_g_uses_expect
%t659 = load ptr, ptr %t0
%t660 = getelementptr inbounds %Cmp_Node, ptr %t659, i32 0, i32 7
%t661 = load ptr, ptr %t660
%t662 = getelementptr inbounds %LSlice, ptr %t661, i32 0, i32 0
%t663 = load ptr, ptr %t662
%t664 = getelementptr inbounds ptr, ptr %t663, i32 0
%t665 = load ptr, ptr %t664
%t666 = call ptr @fn_emit_expr(ptr %t665)
store ptr %t666, ptr %t667
%t668 = load ptr, ptr %t0
%t669 = getelementptr inbounds %Cmp_Node, ptr %t668, i32 0, i32 7
%t670 = load ptr, ptr %t669
%t671 = getelementptr inbounds %LSlice, ptr %t670, i32 0, i32 0
%t672 = load ptr, ptr %t671
%t673 = getelementptr inbounds ptr, ptr %t672, i32 1
%t674 = load ptr, ptr %t673
%t675 = call ptr @fn_emit_expr(ptr %t674)
store ptr %t675, ptr %t676
%t677 = load ptr, ptr %t667
%t678 = getelementptr inbounds %Cmp_Val, ptr %t677, i32 0, i32 0
%t679 = load ptr, ptr %t678
%t680 = call ptr @fn_str_concat(ptr @.str6590, ptr %t679)
%t681 = call ptr @fn_str_concat(ptr %t680, ptr @.str6591)
%t682 = load ptr, ptr %t676
%t683 = getelementptr inbounds %Cmp_Val, ptr %t682, i32 0, i32 0
%t684 = load ptr, ptr %t683
%t685 = call ptr @fn_str_concat(ptr %t681, ptr %t684)
%t686 = call ptr @fn_emit_bind(ptr %t685)
store ptr %t686, ptr %t687
%t688 = load ptr, ptr @g_g_src_name
%t689 = call ptr @fn_str_concat(ptr %t688, ptr @.str6592)
%t690 = load ptr, ptr %t0
%t691 = getelementptr inbounds %Cmp_Node, ptr %t690, i32 0, i32 8
%t692 = load i32, ptr %t691
%t693 = call ptr @fn_itoa(i32 %t692)
%t694 = call ptr @fn_str_concat(ptr %t689, ptr %t693)
%t695 = call ptr @fn_str_concat(ptr %t694, ptr @.str6593)
%t696 = call ptr @fn_emit_str_const(ptr %t695)
store ptr %t696, ptr %t697
%t698 = load ptr, ptr %t687
%t699 = load ptr, ptr %t697
%t700 = load ptr, ptr %t667
%t701 = getelementptr inbounds %Cmp_Val, ptr %t700, i32 0, i32 0
%t702 = load ptr, ptr %t701
%t703 = load ptr, ptr %t676
%t704 = getelementptr inbounds %Cmp_Val, ptr %t703, i32 0, i32 0
%t705 = load ptr, ptr %t704
call void @fn_emit_expect_fail(ptr %t698, ptr %t699, ptr %t702, ptr %t705)
%t706 = call ptr @fn_val(ptr @.str6594, ptr @.str6595)
store ptr %t706, ptr %retval
br label %ret
ifend126:
%t707 = load ptr, ptr %t38
%t708 = call i32 @fn_str_eq(ptr %t707, ptr @.str6596)
%t709 = icmp ne i32 %t708, 0
br i1 %t709, label %then127, label %ifend129
then127:
store i32 1, ptr @g_g_uses_expect
%t710 = load ptr, ptr %t0
%t711 = getelementptr inbounds %Cmp_Node, ptr %t710, i32 0, i32 7
%t712 = load ptr, ptr %t711
%t713 = getelementptr inbounds %LSlice, ptr %t712, i32 0, i32 0
%t714 = load ptr, ptr %t713
%t715 = getelementptr inbounds ptr, ptr %t714, i32 0
%t716 = load ptr, ptr %t715
%t717 = call ptr @fn_emit_expr(ptr %t716)
store ptr %t717, ptr %t718
%t719 = load ptr, ptr %t0
%t720 = getelementptr inbounds %Cmp_Node, ptr %t719, i32 0, i32 7
%t721 = load ptr, ptr %t720
%t722 = getelementptr inbounds %LSlice, ptr %t721, i32 0, i32 0
%t723 = load ptr, ptr %t722
%t724 = getelementptr inbounds ptr, ptr %t723, i32 1
%t725 = load ptr, ptr %t724
%t726 = call ptr @fn_emit_expr(ptr %t725)
store ptr %t726, ptr %t727
%t728 = load ptr, ptr %t0
%t729 = getelementptr inbounds %Cmp_Node, ptr %t728, i32 0, i32 7
%t730 = load ptr, ptr %t729
%t731 = getelementptr inbounds %LSlice, ptr %t730, i32 0, i32 0
%t732 = load ptr, ptr %t731
%t733 = getelementptr inbounds ptr, ptr %t732, i32 2
%t734 = load ptr, ptr %t733
%t735 = call ptr @fn_emit_expr(ptr %t734)
store ptr %t735, ptr %t736
%t737 = load ptr, ptr %t718
%t738 = getelementptr inbounds %Cmp_Val, ptr %t737, i32 0, i32 0
%t739 = load ptr, ptr %t738
%t740 = call ptr @fn_str_concat(ptr @.str6597, ptr %t739)
%t741 = call ptr @fn_str_concat(ptr %t740, ptr @.str6598)
%t742 = load ptr, ptr %t727
%t743 = getelementptr inbounds %Cmp_Val, ptr %t742, i32 0, i32 0
%t744 = load ptr, ptr %t743
%t745 = call ptr @fn_str_concat(ptr %t741, ptr %t744)
%t746 = call ptr @fn_emit_bind(ptr %t745)
store ptr %t746, ptr %t747
%t748 = load ptr, ptr %t747
%t749 = call ptr @fn_str_concat(ptr @.str6599, ptr %t748)
%t750 = call ptr @fn_emit_bind(ptr %t749)
store ptr %t750, ptr %t751
%t752 = load ptr, ptr %t747
%t753 = call ptr @fn_str_concat(ptr @.str6600, ptr %t752)
%t754 = call ptr @fn_str_concat(ptr %t753, ptr @.str6601)
%t755 = call ptr @fn_emit_bind(ptr %t754)
store ptr %t755, ptr %t756
%t757 = load ptr, ptr %t756
%t758 = call ptr @fn_str_concat(ptr @.str6602, ptr %t757)
%t759 = call ptr @fn_str_concat(ptr %t758, ptr @.str6603)
%t760 = load ptr, ptr %t751
%t761 = call ptr @fn_str_concat(ptr %t759, ptr %t760)
%t762 = call ptr @fn_str_concat(ptr %t761, ptr @.str6604)
%t763 = load ptr, ptr %t747
%t764 = call ptr @fn_str_concat(ptr %t762, ptr %t763)
%t765 = call ptr @fn_emit_bind(ptr %t764)
store ptr %t765, ptr %t766
%t767 = load ptr, ptr %t766
%t768 = call ptr @fn_str_concat(ptr @.str6605, ptr %t767)
%t769 = call ptr @fn_str_concat(ptr %t768, ptr @.str6606)
%t770 = load ptr, ptr %t736
%t771 = getelementptr inbounds %Cmp_Val, ptr %t770, i32 0, i32 0
%t772 = load ptr, ptr %t771
%t773 = call ptr @fn_str_concat(ptr %t769, ptr %t772)
%t774 = call ptr @fn_emit_bind(ptr %t773)
store ptr %t774, ptr %t775
%t776 = load ptr, ptr @g_g_src_name
%t777 = call ptr @fn_str_concat(ptr %t776, ptr @.str6607)
%t778 = load ptr, ptr %t0
%t779 = getelementptr inbounds %Cmp_Node, ptr %t778, i32 0, i32 8
%t780 = load i32, ptr %t779
%t781 = call ptr @fn_itoa(i32 %t780)
%t782 = call ptr @fn_str_concat(ptr %t777, ptr %t781)
%t783 = call ptr @fn_str_concat(ptr %t782, ptr @.str6608)
%t784 = call ptr @fn_emit_str_const(ptr %t783)
store ptr %t784, ptr %t785
%t786 = load ptr, ptr %t775
%t787 = load ptr, ptr %t785
%t788 = load ptr, ptr %t718
%t789 = getelementptr inbounds %Cmp_Val, ptr %t788, i32 0, i32 0
%t790 = load ptr, ptr %t789
%t791 = load ptr, ptr %t727
%t792 = getelementptr inbounds %Cmp_Val, ptr %t791, i32 0, i32 0
%t793 = load ptr, ptr %t792
call void @fn_emit_expect_fail(ptr %t786, ptr %t787, ptr %t790, ptr %t793)
%t794 = call ptr @fn_val(ptr @.str6609, ptr @.str6610)
store ptr %t794, ptr %retval
br label %ret
ifend129:
%t795 = load ptr, ptr %t38
%t796 = call i32 @fn_str_eq(ptr %t795, ptr @.str6611)
%t797 = icmp ne i32 %t796, 0
br i1 %t797, label %then130, label %ifend132
then130:
store i32 1, ptr @g_g_uses_panic
%t798 = load ptr, ptr %t0
%t799 = getelementptr inbounds %Cmp_Node, ptr %t798, i32 0, i32 7
%t800 = load ptr, ptr %t799
%t801 = getelementptr inbounds %LSlice, ptr %t800, i32 0, i32 0
%t802 = load ptr, ptr %t801
%t803 = getelementptr inbounds ptr, ptr %t802, i32 0
%t804 = load ptr, ptr %t803
%t805 = call ptr @fn_emit_expr(ptr %t804)
store ptr %t805, ptr %t806
%t807 = load ptr, ptr @g_g_src_name
%t808 = call ptr @fn_str_concat(ptr %t807, ptr @.str6612)
%t809 = load ptr, ptr %t0
%t810 = getelementptr inbounds %Cmp_Node, ptr %t809, i32 0, i32 8
%t811 = load i32, ptr %t810
%t812 = call ptr @fn_itoa(i32 %t811)
%t813 = call ptr @fn_str_concat(ptr %t808, ptr %t812)
%t814 = call ptr @fn_str_concat(ptr %t813, ptr @.str6613)
%t815 = call ptr @fn_emit_str_const(ptr %t814)
store ptr %t815, ptr %t816
%t817 = call ptr @fn_emit_bind(ptr @.str6614)
store ptr %t817, ptr %t818
%t819 = load ptr, ptr %t818
%t820 = call ptr @fn_str_concat(ptr @.str6615, ptr %t819)
%t821 = call ptr @fn_str_concat(ptr %t820, ptr @.str6616)
%t822 = load ptr, ptr %t816
%t823 = call ptr @fn_str_concat(ptr %t821, ptr %t822)
%t824 = call ptr @fn_str_concat(ptr %t823, ptr @.str6617)
%t825 = load ptr, ptr %t806
%t826 = getelementptr inbounds %Cmp_Val, ptr %t825, i32 0, i32 0
%t827 = load ptr, ptr %t826
%t828 = call ptr @fn_str_concat(ptr %t824, ptr %t827)
%t829 = call ptr @fn_str_concat(ptr %t828, ptr @.str6618)
call void @fn_emit(ptr %t829)
call void @fn_emit(ptr @.str6619)
store i32 1, ptr @g_g_term
%t830 = call ptr @fn_val(ptr @.str6620, ptr @.str6621)
store ptr %t830, ptr %retval
br label %ret
ifend132:
%t831 = load ptr, ptr %t38
%t832 = call i32 @fn_str_eq(ptr %t831, ptr @.str6622)
%t833 = icmp ne i32 %t832, 0
br i1 %t833, label %then133, label %ifend135
then133:
store i32 1, ptr @g_g_uses_panic
%t834 = load ptr, ptr %t0
%t835 = getelementptr inbounds %Cmp_Node, ptr %t834, i32 0, i32 7
%t836 = load ptr, ptr %t835
%t837 = getelementptr inbounds %LSlice, ptr %t836, i32 0, i32 0
%t838 = load ptr, ptr %t837
%t839 = getelementptr inbounds ptr, ptr %t838, i32 0
%t840 = load ptr, ptr %t839
%t841 = call ptr @fn_emit_expr(ptr %t840)
store ptr %t841, ptr %t842
%t843 = load ptr, ptr %t842
%t844 = getelementptr inbounds %Cmp_Val, ptr %t843, i32 0, i32 0
%t845 = load ptr, ptr %t844
%t846 = call ptr @fn_str_concat(ptr @.str6623, ptr %t845)
%t847 = call ptr @fn_str_concat(ptr %t846, ptr @.str6624)
%t848 = call ptr @fn_emit_bind(ptr %t847)
store ptr %t848, ptr %t849
%t850 = call ptr @fn_lbl(ptr @.str6625)
store ptr %t850, ptr %t851
%t852 = call ptr @fn_lbl(ptr @.str6626)
store ptr %t852, ptr %t853
%t854 = load ptr, ptr %t849
%t855 = call ptr @fn_str_concat(ptr @.str6627, ptr %t854)
%t856 = call ptr @fn_str_concat(ptr %t855, ptr @.str6628)
%t857 = load ptr, ptr %t851
%t858 = call ptr @fn_str_concat(ptr %t856, ptr %t857)
%t859 = call ptr @fn_str_concat(ptr %t858, ptr @.str6629)
%t860 = load ptr, ptr %t853
%t861 = call ptr @fn_str_concat(ptr %t859, ptr %t860)
%t862 = call ptr @fn_str_concat(ptr %t861, ptr @.str6630)
call void @fn_emit(ptr %t862)
%t863 = load ptr, ptr %t853
%t864 = call ptr @fn_str_concat(ptr %t863, ptr @.str6631)
call void @fn_emit(ptr %t864)
%t865 = load ptr, ptr %t0
%t866 = getelementptr inbounds %Cmp_Node, ptr %t865, i32 0, i32 7
%t867 = load ptr, ptr %t866
%t868 = getelementptr inbounds %LSlice, ptr %t867, i32 0, i32 0
%t869 = load ptr, ptr %t868
%t870 = getelementptr inbounds ptr, ptr %t869, i32 1
%t871 = load ptr, ptr %t870
%t872 = call ptr @fn_emit_expr(ptr %t871)
store ptr %t872, ptr %t873
%t874 = load ptr, ptr @g_g_src_name
%t875 = call ptr @fn_str_concat(ptr %t874, ptr @.str6632)
%t876 = load ptr, ptr %t0
%t877 = getelementptr inbounds %Cmp_Node, ptr %t876, i32 0, i32 8
%t878 = load i32, ptr %t877
%t879 = call ptr @fn_itoa(i32 %t878)
%t880 = call ptr @fn_str_concat(ptr %t875, ptr %t879)
%t881 = call ptr @fn_str_concat(ptr %t880, ptr @.str6633)
%t882 = call ptr @fn_emit_str_const(ptr %t881)
store ptr %t882, ptr %t883
%t884 = call ptr @fn_emit_bind(ptr @.str6634)
store ptr %t884, ptr %t885
%t886 = load ptr, ptr %t885
%t887 = call ptr @fn_str_concat(ptr @.str6635, ptr %t886)
%t888 = call ptr @fn_str_concat(ptr %t887, ptr @.str6636)
%t889 = load ptr, ptr %t883
%t890 = call ptr @fn_str_concat(ptr %t888, ptr %t889)
%t891 = call ptr @fn_str_concat(ptr %t890, ptr @.str6637)
%t892 = load ptr, ptr %t873
%t893 = getelementptr inbounds %Cmp_Val, ptr %t892, i32 0, i32 0
%t894 = load ptr, ptr %t893
%t895 = call ptr @fn_str_concat(ptr %t891, ptr %t894)
%t896 = call ptr @fn_str_concat(ptr %t895, ptr @.str6638)
call void @fn_emit(ptr %t896)
call void @fn_emit(ptr @.str6639)
%t897 = load ptr, ptr %t851
%t898 = call ptr @fn_str_concat(ptr %t897, ptr @.str6640)
call void @fn_emit(ptr %t898)
%t899 = call ptr @fn_val(ptr @.str6641, ptr @.str6642)
store ptr %t899, ptr %retval
br label %ret
ifend135:
%t901 = load ptr, ptr %t38
%t902 = call i32 @fn_str_eq(ptr %t901, ptr @.str6643)
%t903 = icmp ne i32 %t902, 0
%t904 = zext i1 %t903 to i32
store i32 %t904, ptr %t900
br i1 %t903, label %sc136, label %scend137
sc136:
%t905 = call ptr @fn_find_fn(ptr @.str6644)
%t906 = icmp eq ptr %t905, null
%t907 = zext i1 %t906 to i32
%t908 = icmp ne i32 %t907, 0
%t909 = zext i1 %t908 to i32
store i32 %t909, ptr %t900
br label %scend137
scend137:
%t910 = load i32, ptr %t900
%t911 = icmp ne i32 %t910, 0
br i1 %t911, label %then138, label %ifend140
then138:
store i32 1, ptr @g_g_uses_result
%t912 = load ptr, ptr %t0
%t913 = getelementptr inbounds %Cmp_Node, ptr %t912, i32 0, i32 7
%t914 = load ptr, ptr %t913
%t915 = getelementptr inbounds %LSlice, ptr %t914, i32 0, i32 0
%t916 = load ptr, ptr %t915
%t917 = getelementptr inbounds ptr, ptr %t916, i32 0
%t918 = load ptr, ptr %t917
%t919 = call ptr @fn_emit_expr(ptr %t918)
store ptr %t919, ptr %t920
%t921 = call ptr @fn_emit_bind(ptr @.str6645)
store ptr %t921, ptr %t922
%t923 = load ptr, ptr %t922
%t924 = call ptr @fn_str_concat(ptr @.str6646, ptr %t923)
%t925 = call ptr @fn_str_concat(ptr %t924, ptr @.str6647)
%t926 = call ptr @fn_emit_bind(ptr %t925)
store ptr %t926, ptr %t927
%t928 = load ptr, ptr %t927
%t929 = call ptr @fn_str_concat(ptr @.str6648, ptr %t928)
%t930 = call ptr @fn_str_concat(ptr %t929, ptr @.str6649)
call void @fn_emit(ptr %t930)
%t931 = load ptr, ptr %t922
%t932 = call ptr @fn_str_concat(ptr @.str6650, ptr %t931)
%t933 = call ptr @fn_str_concat(ptr %t932, ptr @.str6651)
%t934 = call ptr @fn_emit_bind(ptr %t933)
store ptr %t934, ptr %t935
%t936 = load ptr, ptr %t920
%t937 = call ptr @fn_coerce_code(ptr %t936, ptr @.str6653)
%t938 = call ptr @fn_str_concat(ptr @.str6652, ptr %t937)
%t939 = call ptr @fn_str_concat(ptr %t938, ptr @.str6654)
%t940 = load ptr, ptr %t935
%t941 = call ptr @fn_str_concat(ptr %t939, ptr %t940)
%t942 = call ptr @fn_str_concat(ptr %t941, ptr @.str6655)
call void @fn_emit(ptr %t942)
%t943 = load ptr, ptr %t922
%t944 = call ptr @fn_str_concat(ptr @.str6656, ptr %t943)
%t945 = call ptr @fn_str_concat(ptr %t944, ptr @.str6657)
%t946 = call ptr @fn_emit_bind(ptr %t945)
store ptr %t946, ptr %t947
%t948 = load ptr, ptr %t947
%t949 = call ptr @fn_str_concat(ptr @.str6658, ptr %t948)
%t950 = call ptr @fn_str_concat(ptr %t949, ptr @.str6659)
call void @fn_emit(ptr %t950)
%t951 = load ptr, ptr %t922
%t952 = call ptr @fn_val(ptr %t951, ptr @.str6660)
store ptr %t952, ptr %retval
br label %ret
ifend140:
%t954 = load ptr, ptr %t38
%t955 = call i32 @fn_str_eq(ptr %t954, ptr @.str6661)
%t956 = icmp ne i32 %t955, 0
%t957 = zext i1 %t956 to i32
store i32 %t957, ptr %t953
br i1 %t956, label %sc141, label %scend142
sc141:
%t958 = call ptr @fn_find_fn(ptr @.str6662)
%t959 = icmp eq ptr %t958, null
%t960 = zext i1 %t959 to i32
%t961 = icmp ne i32 %t960, 0
%t962 = zext i1 %t961 to i32
store i32 %t962, ptr %t953
br label %scend142
scend142:
%t963 = load i32, ptr %t953
%t964 = icmp ne i32 %t963, 0
br i1 %t964, label %then143, label %ifend145
then143:
store i32 1, ptr @g_g_uses_result
%t965 = load ptr, ptr %t0
%t966 = getelementptr inbounds %Cmp_Node, ptr %t965, i32 0, i32 7
%t967 = load ptr, ptr %t966
%t968 = getelementptr inbounds %LSlice, ptr %t967, i32 0, i32 0
%t969 = load ptr, ptr %t968
%t970 = getelementptr inbounds ptr, ptr %t969, i32 0
%t971 = load ptr, ptr %t970
%t972 = call ptr @fn_emit_expr(ptr %t971)
store ptr %t972, ptr %t973
%t974 = call ptr @fn_emit_bind(ptr @.str6663)
store ptr %t974, ptr %t975
%t976 = load ptr, ptr %t975
%t977 = call ptr @fn_str_concat(ptr @.str6664, ptr %t976)
%t978 = call ptr @fn_str_concat(ptr %t977, ptr @.str6665)
%t979 = call ptr @fn_emit_bind(ptr %t978)
store ptr %t979, ptr %t980
%t981 = load ptr, ptr %t980
%t982 = call ptr @fn_str_concat(ptr @.str6666, ptr %t981)
%t983 = call ptr @fn_str_concat(ptr %t982, ptr @.str6667)
call void @fn_emit(ptr %t983)
%t984 = load ptr, ptr %t975
%t985 = call ptr @fn_str_concat(ptr @.str6668, ptr %t984)
%t986 = call ptr @fn_str_concat(ptr %t985, ptr @.str6669)
%t987 = call ptr @fn_emit_bind(ptr %t986)
store ptr %t987, ptr %t988
%t989 = load ptr, ptr %t988
%t990 = call ptr @fn_str_concat(ptr @.str6670, ptr %t989)
%t991 = call ptr @fn_str_concat(ptr %t990, ptr @.str6671)
call void @fn_emit(ptr %t991)
%t992 = load ptr, ptr %t975
%t993 = call ptr @fn_str_concat(ptr @.str6672, ptr %t992)
%t994 = call ptr @fn_str_concat(ptr %t993, ptr @.str6673)
%t995 = call ptr @fn_emit_bind(ptr %t994)
store ptr %t995, ptr %t996
%t997 = load ptr, ptr %t973
%t998 = getelementptr inbounds %Cmp_Val, ptr %t997, i32 0, i32 0
%t999 = load ptr, ptr %t998
%t1000 = call ptr @fn_str_concat(ptr @.str6674, ptr %t999)
%t1001 = call ptr @fn_str_concat(ptr %t1000, ptr @.str6675)
%t1002 = load ptr, ptr %t996
%t1003 = call ptr @fn_str_concat(ptr %t1001, ptr %t1002)
%t1004 = call ptr @fn_str_concat(ptr %t1003, ptr @.str6676)
call void @fn_emit(ptr %t1004)
%t1005 = load ptr, ptr %t975
%t1006 = call ptr @fn_val(ptr %t1005, ptr @.str6677)
store ptr %t1006, ptr %retval
br label %ret
ifend145:
%t1008 = load ptr, ptr %t38
%t1009 = call i32 @fn_str_eq(ptr %t1008, ptr @.str6678)
%t1010 = icmp ne i32 %t1009, 0
%t1011 = zext i1 %t1010 to i32
store i32 %t1011, ptr %t1007
br i1 %t1010, label %sc146, label %scend147
sc146:
%t1012 = call ptr @fn_find_fn(ptr @.str6679)
%t1013 = icmp eq ptr %t1012, null
%t1014 = zext i1 %t1013 to i32
%t1015 = icmp ne i32 %t1014, 0
%t1016 = zext i1 %t1015 to i32
store i32 %t1016, ptr %t1007
br label %scend147
scend147:
%t1017 = load i32, ptr %t1007
%t1018 = icmp ne i32 %t1017, 0
br i1 %t1018, label %then148, label %ifend150
then148:
%t1019 = load ptr, ptr %t0
%t1020 = getelementptr inbounds %Cmp_Node, ptr %t1019, i32 0, i32 7
%t1021 = load ptr, ptr %t1020
%t1022 = getelementptr inbounds %LSlice, ptr %t1021, i32 0, i32 0
%t1023 = load ptr, ptr %t1022
%t1024 = getelementptr inbounds ptr, ptr %t1023, i32 0
%t1025 = load ptr, ptr %t1024
%t1026 = call ptr @fn_emit_expr(ptr %t1025)
store ptr %t1026, ptr %t1027
%t1028 = load ptr, ptr %t1027
%t1029 = getelementptr inbounds %Cmp_Val, ptr %t1028, i32 0, i32 0
%t1030 = load ptr, ptr %t1029
%t1031 = call ptr @fn_str_concat(ptr @.str6680, ptr %t1030)
%t1032 = call ptr @fn_str_concat(ptr %t1031, ptr @.str6681)
%t1033 = call ptr @fn_emit_bind(ptr %t1032)
store ptr %t1033, ptr %t1034
%t1035 = load ptr, ptr %t1034
%t1036 = call ptr @fn_str_concat(ptr @.str6682, ptr %t1035)
%t1037 = call ptr @fn_emit_bind(ptr %t1036)
store ptr %t1037, ptr %t1038
%t1039 = load ptr, ptr %t1038
%t1040 = call ptr @fn_str_concat(ptr @.str6683, ptr %t1039)
%t1041 = call ptr @fn_str_concat(ptr %t1040, ptr @.str6684)
%t1042 = call ptr @fn_emit_bind(ptr %t1041)
store ptr %t1042, ptr %t1043
%t1044 = load ptr, ptr %t1043
%t1045 = call ptr @fn_str_concat(ptr @.str6685, ptr %t1044)
%t1046 = call ptr @fn_str_concat(ptr %t1045, ptr @.str6686)
%t1047 = call ptr @fn_emit_bind(ptr %t1046)
%t1048 = call ptr @fn_val(ptr %t1047, ptr @.str6687)
store ptr %t1048, ptr %retval
br label %ret
ifend150:
%t1050 = load ptr, ptr %t38
%t1051 = call i32 @fn_str_eq(ptr %t1050, ptr @.str6688)
%t1052 = icmp ne i32 %t1051, 0
%t1053 = zext i1 %t1052 to i32
store i32 %t1053, ptr %t1049
br i1 %t1052, label %sc151, label %scend152
sc151:
%t1054 = call ptr @fn_find_fn(ptr @.str6689)
%t1055 = icmp eq ptr %t1054, null
%t1056 = zext i1 %t1055 to i32
%t1057 = icmp ne i32 %t1056, 0
%t1058 = zext i1 %t1057 to i32
store i32 %t1058, ptr %t1049
br label %scend152
scend152:
%t1059 = load i32, ptr %t1049
%t1060 = icmp ne i32 %t1059, 0
br i1 %t1060, label %then153, label %ifend155
then153:
%t1061 = load ptr, ptr %t0
%t1062 = getelementptr inbounds %Cmp_Node, ptr %t1061, i32 0, i32 7
%t1063 = load ptr, ptr %t1062
%t1064 = getelementptr inbounds %LSlice, ptr %t1063, i32 0, i32 0
%t1065 = load ptr, ptr %t1064
%t1066 = getelementptr inbounds ptr, ptr %t1065, i32 0
%t1067 = load ptr, ptr %t1066
%t1068 = call ptr @fn_emit_expr(ptr %t1067)
store ptr %t1068, ptr %t1069
%t1070 = load ptr, ptr %t1069
%t1071 = getelementptr inbounds %Cmp_Val, ptr %t1070, i32 0, i32 0
%t1072 = load ptr, ptr %t1071
%t1073 = call ptr @fn_str_concat(ptr @.str6690, ptr %t1072)
%t1074 = call ptr @fn_str_concat(ptr %t1073, ptr @.str6691)
%t1075 = call ptr @fn_emit_bind(ptr %t1074)
store ptr %t1075, ptr %t1076
%t1077 = load ptr, ptr %t1076
%t1078 = call ptr @fn_str_concat(ptr @.str6692, ptr %t1077)
%t1079 = call ptr @fn_emit_bind(ptr %t1078)
store ptr %t1079, ptr %t1080
%t1081 = load ptr, ptr %t1080
%t1082 = call ptr @fn_str_concat(ptr @.str6693, ptr %t1081)
%t1083 = call ptr @fn_str_concat(ptr %t1082, ptr @.str6694)
%t1084 = call ptr @fn_emit_bind(ptr %t1083)
store ptr %t1084, ptr %t1085
%t1086 = load ptr, ptr %t1085
%t1087 = call ptr @fn_str_concat(ptr @.str6695, ptr %t1086)
%t1088 = call ptr @fn_str_concat(ptr %t1087, ptr @.str6696)
%t1089 = call ptr @fn_emit_bind(ptr %t1088)
%t1090 = call ptr @fn_val(ptr %t1089, ptr @.str6697)
store ptr %t1090, ptr %retval
br label %ret
ifend155:
%t1091 = load ptr, ptr %t38
%t1092 = call i32 @fn_str_eq(ptr %t1091, ptr @.str6698)
%t1093 = icmp ne i32 %t1092, 0
br i1 %t1093, label %then156, label %ifend158
then156:
%t1094 = load ptr, ptr %t0
%t1095 = getelementptr inbounds %Cmp_Node, ptr %t1094, i32 0, i32 7
%t1096 = load ptr, ptr %t1095
%t1097 = getelementptr inbounds %LSlice, ptr %t1096, i32 0, i32 0
%t1098 = load ptr, ptr %t1097
%t1099 = getelementptr inbounds ptr, ptr %t1098, i32 0
%t1100 = load ptr, ptr %t1099
%t1101 = call ptr @fn_emit_expr(ptr %t1100)
store ptr %t1101, ptr %t1102
%t1103 = load ptr, ptr %t1102
%t1104 = getelementptr inbounds %Cmp_Val, ptr %t1103, i32 0, i32 0
%t1105 = load ptr, ptr %t1104
%t1106 = call ptr @fn_str_concat(ptr @.str6699, ptr %t1105)
%t1107 = call ptr @fn_str_concat(ptr %t1106, ptr @.str6700)
%t1108 = call ptr @fn_emit_bind(ptr %t1107)
%t1109 = call ptr @fn_val(ptr %t1108, ptr @.str6701)
store ptr %t1109, ptr %retval
br label %ret
ifend158:
%t1110 = load ptr, ptr %t38
%t1111 = call i32 @fn_str_eq(ptr %t1110, ptr @.str6702)
%t1112 = icmp ne i32 %t1111, 0
br i1 %t1112, label %then159, label %ifend161
then159:
%t1113 = load ptr, ptr %t0
%t1114 = getelementptr inbounds %Cmp_Node, ptr %t1113, i32 0, i32 7
%t1115 = load ptr, ptr %t1114
%t1116 = getelementptr inbounds %LSlice, ptr %t1115, i32 0, i32 0
%t1117 = load ptr, ptr %t1116
%t1118 = getelementptr inbounds ptr, ptr %t1117, i32 0
%t1119 = load ptr, ptr %t1118
%t1120 = call ptr @fn_emit_expr(ptr %t1119)
store ptr %t1120, ptr %t1121
%t1122 = load ptr, ptr %t0
%t1123 = getelementptr inbounds %Cmp_Node, ptr %t1122, i32 0, i32 7
%t1124 = load ptr, ptr %t1123
%t1125 = getelementptr inbounds %LSlice, ptr %t1124, i32 0, i32 0
%t1126 = load ptr, ptr %t1125
%t1127 = getelementptr inbounds ptr, ptr %t1126, i32 1
%t1128 = load ptr, ptr %t1127
%t1129 = call ptr @fn_emit_expr(ptr %t1128)
store ptr %t1129, ptr %t1130
%t1131 = load ptr, ptr %t1121
%t1132 = getelementptr inbounds %Cmp_Val, ptr %t1131, i32 0, i32 0
%t1133 = load ptr, ptr %t1132
%t1134 = call ptr @fn_str_concat(ptr @.str6703, ptr %t1133)
%t1135 = call ptr @fn_str_concat(ptr %t1134, ptr @.str6704)
%t1136 = load ptr, ptr %t1130
%t1137 = getelementptr inbounds %Cmp_Val, ptr %t1136, i32 0, i32 0
%t1138 = load ptr, ptr %t1137
%t1139 = call ptr @fn_str_concat(ptr %t1135, ptr %t1138)
%t1140 = call ptr @fn_str_concat(ptr %t1139, ptr @.str6705)
%t1141 = call ptr @fn_emit_bind(ptr %t1140)
%t1142 = call ptr @fn_val(ptr %t1141, ptr @.str6706)
store ptr %t1142, ptr %retval
br label %ret
ifend161:
%t1143 = load ptr, ptr %t38
%t1144 = call i32 @fn_str_eq(ptr %t1143, ptr @.str6707)
%t1145 = icmp ne i32 %t1144, 0
br i1 %t1145, label %then162, label %ifend164
then162:
%t1146 = load ptr, ptr %t0
%t1147 = getelementptr inbounds %Cmp_Node, ptr %t1146, i32 0, i32 7
%t1148 = load ptr, ptr %t1147
%t1149 = getelementptr inbounds %LSlice, ptr %t1148, i32 0, i32 0
%t1150 = load ptr, ptr %t1149
%t1151 = getelementptr inbounds ptr, ptr %t1150, i32 0
%t1152 = load ptr, ptr %t1151
%t1153 = call ptr @fn_emit_expr(ptr %t1152)
store ptr %t1153, ptr %t1154
%t1155 = load ptr, ptr %t0
%t1156 = getelementptr inbounds %Cmp_Node, ptr %t1155, i32 0, i32 7
%t1157 = load ptr, ptr %t1156
%t1158 = getelementptr inbounds %LSlice, ptr %t1157, i32 0, i32 0
%t1159 = load ptr, ptr %t1158
%t1160 = getelementptr inbounds ptr, ptr %t1159, i32 1
%t1161 = load ptr, ptr %t1160
%t1162 = call ptr @fn_emit_expr(ptr %t1161)
store ptr %t1162, ptr %t1163
%t1164 = load ptr, ptr %t0
%t1165 = getelementptr inbounds %Cmp_Node, ptr %t1164, i32 0, i32 7
%t1166 = load ptr, ptr %t1165
%t1167 = getelementptr inbounds %LSlice, ptr %t1166, i32 0, i32 0
%t1168 = load ptr, ptr %t1167
%t1169 = getelementptr inbounds ptr, ptr %t1168, i32 2
%t1170 = load ptr, ptr %t1169
%t1171 = call ptr @fn_emit_expr(ptr %t1170)
store ptr %t1171, ptr %t1172
%t1173 = load ptr, ptr %t1154
%t1174 = getelementptr inbounds %Cmp_Val, ptr %t1173, i32 0, i32 0
%t1175 = load ptr, ptr %t1174
%t1176 = call ptr @fn_str_concat(ptr @.str6708, ptr %t1175)
%t1177 = call ptr @fn_str_concat(ptr %t1176, ptr @.str6709)
%t1178 = load ptr, ptr %t1163
%t1179 = getelementptr inbounds %Cmp_Val, ptr %t1178, i32 0, i32 0
%t1180 = load ptr, ptr %t1179
%t1181 = call ptr @fn_str_concat(ptr %t1177, ptr %t1180)
%t1182 = call ptr @fn_str_concat(ptr %t1181, ptr @.str6710)
%t1183 = load ptr, ptr %t1172
%t1184 = getelementptr inbounds %Cmp_Val, ptr %t1183, i32 0, i32 0
%t1185 = load ptr, ptr %t1184
%t1186 = call ptr @fn_str_concat(ptr %t1182, ptr %t1185)
%t1187 = call ptr @fn_str_concat(ptr %t1186, ptr @.str6711)
%t1188 = call ptr @fn_emit_bind(ptr %t1187)
store ptr %t1188, ptr %t1189
%t1190 = load ptr, ptr %t1189
%t1191 = call ptr @fn_str_concat(ptr @.str6712, ptr %t1190)
%t1192 = call ptr @fn_str_concat(ptr %t1191, ptr @.str6713)
%t1193 = call ptr @fn_emit_bind(ptr %t1192)
%t1194 = call ptr @fn_val(ptr %t1193, ptr @.str6714)
store ptr %t1194, ptr %retval
br label %ret
ifend164:
%t1195 = load ptr, ptr %t38
%t1196 = call i32 @fn_str_eq(ptr %t1195, ptr @.str6715)
%t1197 = icmp ne i32 %t1196, 0
br i1 %t1197, label %then165, label %ifend167
then165:
%t1198 = load ptr, ptr %t0
%t1199 = getelementptr inbounds %Cmp_Node, ptr %t1198, i32 0, i32 7
%t1200 = load ptr, ptr %t1199
%t1201 = getelementptr inbounds %LSlice, ptr %t1200, i32 0, i32 0
%t1202 = load ptr, ptr %t1201
%t1203 = getelementptr inbounds ptr, ptr %t1202, i32 0
%t1204 = load ptr, ptr %t1203
%t1205 = call ptr @fn_emit_expr(ptr %t1204)
store ptr %t1205, ptr %t1206
%t1207 = load ptr, ptr %t0
%t1208 = getelementptr inbounds %Cmp_Node, ptr %t1207, i32 0, i32 7
%t1209 = load ptr, ptr %t1208
%t1210 = getelementptr inbounds %LSlice, ptr %t1209, i32 0, i32 0
%t1211 = load ptr, ptr %t1210
%t1212 = getelementptr inbounds ptr, ptr %t1211, i32 1
%t1213 = load ptr, ptr %t1212
%t1214 = call ptr @fn_emit_expr(ptr %t1213)
store ptr %t1214, ptr %t1215
%t1216 = load ptr, ptr %t0
%t1217 = getelementptr inbounds %Cmp_Node, ptr %t1216, i32 0, i32 7
%t1218 = load ptr, ptr %t1217
%t1219 = getelementptr inbounds %LSlice, ptr %t1218, i32 0, i32 0
%t1220 = load ptr, ptr %t1219
%t1221 = getelementptr inbounds ptr, ptr %t1220, i32 2
%t1222 = load ptr, ptr %t1221
%t1223 = call ptr @fn_emit_expr(ptr %t1222)
store ptr %t1223, ptr %t1224
%t1225 = load ptr, ptr %t0
%t1226 = getelementptr inbounds %Cmp_Node, ptr %t1225, i32 0, i32 7
%t1227 = load ptr, ptr %t1226
%t1228 = getelementptr inbounds %LSlice, ptr %t1227, i32 0, i32 0
%t1229 = load ptr, ptr %t1228
%t1230 = getelementptr inbounds ptr, ptr %t1229, i32 3
%t1231 = load ptr, ptr %t1230
%t1232 = call ptr @fn_emit_expr(ptr %t1231)
store ptr %t1232, ptr %t1233
%t1234 = load ptr, ptr %t1233
%t1235 = getelementptr inbounds %Cmp_Val, ptr %t1234, i32 0, i32 0
%t1236 = load ptr, ptr %t1235
%t1237 = call ptr @fn_str_concat(ptr @.str6716, ptr %t1236)
%t1238 = call ptr @fn_str_concat(ptr %t1237, ptr @.str6717)
%t1239 = call ptr @fn_emit_bind(ptr %t1238)
store ptr %t1239, ptr %t1240
call void @fn_emit(ptr @.str6718)
%t1241 = load ptr, ptr %t1206
%t1242 = getelementptr inbounds %Cmp_Val, ptr %t1241, i32 0, i32 0
%t1243 = load ptr, ptr %t1242
call void @fn_emit(ptr %t1243)
call void @fn_emit(ptr @.str6719)
%t1244 = load ptr, ptr %t1215
%t1245 = getelementptr inbounds %Cmp_Val, ptr %t1244, i32 0, i32 0
%t1246 = load ptr, ptr %t1245
call void @fn_emit(ptr %t1246)
call void @fn_emit(ptr @.str6720)
%t1247 = load ptr, ptr %t1224
%t1248 = getelementptr inbounds %Cmp_Val, ptr %t1247, i32 0, i32 0
%t1249 = load ptr, ptr %t1248
call void @fn_emit(ptr %t1249)
call void @fn_emit(ptr @.str6721)
%t1250 = load ptr, ptr %t1240
call void @fn_emit(ptr %t1250)
call void @fn_emit(ptr @.str6722)
%t1251 = call ptr @fn_val(ptr @.str6723, ptr @.str6724)
store ptr %t1251, ptr %retval
br label %ret
ifend167:
%t1252 = load ptr, ptr %t38
%t1253 = call i32 @fn_str_eq(ptr %t1252, ptr @.str6725)
%t1254 = icmp ne i32 %t1253, 0
br i1 %t1254, label %then168, label %ifend170
then168:
%t1255 = load ptr, ptr %t0
%t1256 = getelementptr inbounds %Cmp_Node, ptr %t1255, i32 0, i32 7
%t1257 = load ptr, ptr %t1256
%t1258 = getelementptr inbounds %LSlice, ptr %t1257, i32 0, i32 0
%t1259 = load ptr, ptr %t1258
%t1260 = getelementptr inbounds ptr, ptr %t1259, i32 0
%t1261 = load ptr, ptr %t1260
%t1262 = call ptr @fn_emit_expr(ptr %t1261)
store ptr %t1262, ptr %t1263
%t1264 = load ptr, ptr %t0
%t1265 = getelementptr inbounds %Cmp_Node, ptr %t1264, i32 0, i32 7
%t1266 = load ptr, ptr %t1265
%t1267 = getelementptr inbounds %LSlice, ptr %t1266, i32 0, i32 0
%t1268 = load ptr, ptr %t1267
%t1269 = getelementptr inbounds ptr, ptr %t1268, i32 1
%t1270 = load ptr, ptr %t1269
%t1271 = call ptr @fn_emit_expr(ptr %t1270)
store ptr %t1271, ptr %t1272
%t1273 = load ptr, ptr %t1263
%t1274 = getelementptr inbounds %Cmp_Val, ptr %t1273, i32 0, i32 0
%t1275 = load ptr, ptr %t1274
%t1276 = call ptr @fn_str_concat(ptr @.str6726, ptr %t1275)
%t1277 = call ptr @fn_str_concat(ptr %t1276, ptr @.str6727)
%t1278 = load ptr, ptr %t1272
%t1279 = getelementptr inbounds %Cmp_Val, ptr %t1278, i32 0, i32 0
%t1280 = load ptr, ptr %t1279
%t1281 = call ptr @fn_str_concat(ptr %t1277, ptr %t1280)
%t1282 = call ptr @fn_str_concat(ptr %t1281, ptr @.str6728)
%t1283 = call ptr @fn_emit_bind(ptr %t1282)
%t1284 = call ptr @fn_val(ptr %t1283, ptr @.str6729)
store ptr %t1284, ptr %retval
br label %ret
ifend170:
%t1285 = load ptr, ptr %t38
%t1286 = call i32 @fn_str_eq(ptr %t1285, ptr @.str6730)
%t1287 = icmp ne i32 %t1286, 0
br i1 %t1287, label %then171, label %ifend173
then171:
%t1288 = call ptr @fn_emit_bind(ptr @.str6731)
%t1289 = call ptr @fn_val(ptr %t1288, ptr @.str6732)
store ptr %t1289, ptr %retval
br label %ret
ifend173:
%t1290 = load ptr, ptr %t38
%t1291 = call i32 @fn_str_eq(ptr %t1290, ptr @.str6733)
%t1292 = icmp ne i32 %t1291, 0
br i1 %t1292, label %then174, label %ifend176
then174:
%t1293 = load ptr, ptr %t0
%t1294 = getelementptr inbounds %Cmp_Node, ptr %t1293, i32 0, i32 7
%t1295 = load ptr, ptr %t1294
%t1296 = getelementptr inbounds %LSlice, ptr %t1295, i32 0, i32 0
%t1297 = load ptr, ptr %t1296
%t1298 = getelementptr inbounds ptr, ptr %t1297, i32 0
%t1299 = load ptr, ptr %t1298
%t1300 = call ptr @fn_emit_expr(ptr %t1299)
store ptr %t1300, ptr %t1301
%t1302 = load ptr, ptr %t1301
%t1303 = getelementptr inbounds %Cmp_Val, ptr %t1302, i32 0, i32 0
%t1304 = load ptr, ptr %t1303
%t1305 = call ptr @fn_str_concat(ptr @.str6734, ptr %t1304)
%t1306 = call ptr @fn_str_concat(ptr %t1305, ptr @.str6735)
%t1307 = call ptr @fn_emit_bind(ptr %t1306)
%t1308 = call ptr @fn_val(ptr %t1307, ptr @.str6736)
store ptr %t1308, ptr %retval
br label %ret
ifend176:
%t1309 = load ptr, ptr %t38
%t1310 = call i32 @fn_str_eq(ptr %t1309, ptr @.str6737)
%t1311 = icmp ne i32 %t1310, 0
br i1 %t1311, label %then177, label %ifend179
then177:
%t1312 = load ptr, ptr %t0
%t1313 = getelementptr inbounds %Cmp_Node, ptr %t1312, i32 0, i32 7
%t1314 = load ptr, ptr %t1313
%t1315 = getelementptr inbounds %LSlice, ptr %t1314, i32 0, i32 0
%t1316 = load ptr, ptr %t1315
%t1317 = getelementptr inbounds ptr, ptr %t1316, i32 0
%t1318 = load ptr, ptr %t1317
%t1319 = call ptr @fn_emit_expr(ptr %t1318)
store ptr %t1319, ptr %t1320
%t1321 = load ptr, ptr %t1320
%t1322 = getelementptr inbounds %Cmp_Val, ptr %t1321, i32 0, i32 0
%t1323 = load ptr, ptr %t1322
%t1324 = call ptr @fn_str_concat(ptr @.str6738, ptr %t1323)
%t1325 = call ptr @fn_str_concat(ptr %t1324, ptr @.str6739)
%t1326 = call ptr @fn_emit_bind(ptr %t1325)
%t1327 = call ptr @fn_val(ptr %t1326, ptr @.str6740)
store ptr %t1327, ptr %retval
br label %ret
ifend179:
%t1328 = load ptr, ptr %t38
%t1329 = call i32 @fn_str_eq(ptr %t1328, ptr @.str6741)
%t1330 = icmp ne i32 %t1329, 0
br i1 %t1330, label %then180, label %ifend182
then180:
%t1331 = load ptr, ptr %t0
%t1332 = getelementptr inbounds %Cmp_Node, ptr %t1331, i32 0, i32 7
%t1333 = load ptr, ptr %t1332
%t1334 = getelementptr inbounds %LSlice, ptr %t1333, i32 0, i32 0
%t1335 = load ptr, ptr %t1334
%t1336 = getelementptr inbounds ptr, ptr %t1335, i32 0
%t1337 = load ptr, ptr %t1336
%t1338 = call ptr @fn_emit_expr(ptr %t1337)
store ptr %t1338, ptr %t1339
%t1340 = load ptr, ptr %t0
%t1341 = getelementptr inbounds %Cmp_Node, ptr %t1340, i32 0, i32 7
%t1342 = load ptr, ptr %t1341
%t1343 = getelementptr inbounds %LSlice, ptr %t1342, i32 0, i32 0
%t1344 = load ptr, ptr %t1343
%t1345 = getelementptr inbounds ptr, ptr %t1344, i32 1
%t1346 = load ptr, ptr %t1345
%t1347 = call ptr @fn_emit_expr(ptr %t1346)
store ptr %t1347, ptr %t1348
%t1349 = load ptr, ptr %t1339
%t1350 = getelementptr inbounds %Cmp_Val, ptr %t1349, i32 0, i32 0
%t1351 = load ptr, ptr %t1350
%t1352 = call ptr @fn_str_concat(ptr @.str6742, ptr %t1351)
%t1353 = call ptr @fn_str_concat(ptr %t1352, ptr @.str6743)
%t1354 = load ptr, ptr %t1348
%t1355 = getelementptr inbounds %Cmp_Val, ptr %t1354, i32 0, i32 0
%t1356 = load ptr, ptr %t1355
%t1357 = call ptr @fn_str_concat(ptr %t1353, ptr %t1356)
%t1358 = call ptr @fn_str_concat(ptr %t1357, ptr @.str6744)
%t1359 = call ptr @fn_emit_bind(ptr %t1358)
%t1360 = call ptr @fn_val(ptr %t1359, ptr @.str6745)
store ptr %t1360, ptr %retval
br label %ret
ifend182:
%t1361 = load ptr, ptr %t38
%t1362 = call i32 @fn_str_eq(ptr %t1361, ptr @.str6746)
%t1363 = icmp ne i32 %t1362, 0
br i1 %t1363, label %then183, label %ifend185
then183:
%t1364 = load ptr, ptr %t0
%t1365 = getelementptr inbounds %Cmp_Node, ptr %t1364, i32 0, i32 7
%t1366 = load ptr, ptr %t1365
%t1367 = getelementptr inbounds %LSlice, ptr %t1366, i32 0, i32 0
%t1368 = load ptr, ptr %t1367
%t1369 = getelementptr inbounds ptr, ptr %t1368, i32 0
%t1370 = load ptr, ptr %t1369
%t1371 = call ptr @fn_emit_expr(ptr %t1370)
store ptr %t1371, ptr %t1372
%t1373 = load ptr, ptr %t0
%t1374 = getelementptr inbounds %Cmp_Node, ptr %t1373, i32 0, i32 7
%t1375 = load ptr, ptr %t1374
%t1376 = getelementptr inbounds %LSlice, ptr %t1375, i32 0, i32 0
%t1377 = load ptr, ptr %t1376
%t1378 = getelementptr inbounds ptr, ptr %t1377, i32 1
%t1379 = load ptr, ptr %t1378
%t1380 = call ptr @fn_emit_expr(ptr %t1379)
store ptr %t1380, ptr %t1381
%t1382 = load ptr, ptr %t1372
%t1383 = getelementptr inbounds %Cmp_Val, ptr %t1382, i32 0, i32 0
%t1384 = load ptr, ptr %t1383
%t1385 = call ptr @fn_str_concat(ptr @.str6747, ptr %t1384)
%t1386 = call ptr @fn_str_concat(ptr %t1385, ptr @.str6748)
%t1387 = load ptr, ptr %t1381
%t1388 = getelementptr inbounds %Cmp_Val, ptr %t1387, i32 0, i32 0
%t1389 = load ptr, ptr %t1388
%t1390 = call ptr @fn_str_concat(ptr %t1386, ptr %t1389)
%t1391 = call ptr @fn_str_concat(ptr %t1390, ptr @.str6749)
%t1392 = call ptr @fn_emit_bind(ptr %t1391)
%t1393 = call ptr @fn_val(ptr %t1392, ptr @.str6750)
store ptr %t1393, ptr %retval
br label %ret
ifend185:
%t1394 = load ptr, ptr %t38
%t1395 = call i32 @fn_str_eq(ptr %t1394, ptr @.str6751)
%t1396 = icmp ne i32 %t1395, 0
br i1 %t1396, label %then186, label %ifend188
then186:
%t1397 = load ptr, ptr %t0
%t1398 = getelementptr inbounds %Cmp_Node, ptr %t1397, i32 0, i32 7
%t1399 = load ptr, ptr %t1398
%t1400 = getelementptr inbounds %LSlice, ptr %t1399, i32 0, i32 0
%t1401 = load ptr, ptr %t1400
%t1402 = getelementptr inbounds ptr, ptr %t1401, i32 0
%t1403 = load ptr, ptr %t1402
%t1404 = call ptr @fn_emit_expr(ptr %t1403)
store ptr %t1404, ptr %t1405
%t1406 = load ptr, ptr %t0
%t1407 = getelementptr inbounds %Cmp_Node, ptr %t1406, i32 0, i32 7
%t1408 = load ptr, ptr %t1407
%t1409 = getelementptr inbounds %LSlice, ptr %t1408, i32 0, i32 0
%t1410 = load ptr, ptr %t1409
%t1411 = getelementptr inbounds ptr, ptr %t1410, i32 1
%t1412 = load ptr, ptr %t1411
%t1413 = call ptr @fn_emit_expr(ptr %t1412)
store ptr %t1413, ptr %t1414
call void @fn_emit(ptr @.str6752)
%t1415 = load ptr, ptr %t1405
%t1416 = getelementptr inbounds %Cmp_Val, ptr %t1415, i32 0, i32 0
%t1417 = load ptr, ptr %t1416
call void @fn_emit(ptr %t1417)
call void @fn_emit(ptr @.str6753)
%t1418 = load ptr, ptr %t1414
%t1419 = getelementptr inbounds %Cmp_Val, ptr %t1418, i32 0, i32 0
%t1420 = load ptr, ptr %t1419
call void @fn_emit(ptr %t1420)
call void @fn_emit(ptr @.str6754)
%t1421 = call ptr @fn_val(ptr @.str6755, ptr @.str6756)
store ptr %t1421, ptr %retval
br label %ret
ifend188:
%t1422 = load ptr, ptr %t38
%t1423 = call i32 @fn_str_eq(ptr %t1422, ptr @.str6757)
%t1424 = icmp ne i32 %t1423, 0
br i1 %t1424, label %then189, label %ifend191
then189:
%t1425 = load ptr, ptr %t0
%t1426 = getelementptr inbounds %Cmp_Node, ptr %t1425, i32 0, i32 7
%t1427 = load ptr, ptr %t1426
%t1428 = getelementptr inbounds %LSlice, ptr %t1427, i32 0, i32 0
%t1429 = load ptr, ptr %t1428
%t1430 = getelementptr inbounds ptr, ptr %t1429, 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 ptr, ptr %t1438, i32 1
%t1440 = load ptr, ptr %t1439
%t1441 = call ptr @fn_emit_expr(ptr %t1440)
store ptr %t1441, ptr %t1442
call void @fn_emit(ptr @.str6758)
%t1443 = load ptr, ptr %t1433
%t1444 = getelementptr inbounds %Cmp_Val, ptr %t1443, i32 0, i32 0
%t1445 = load ptr, ptr %t1444
call void @fn_emit(ptr %t1445)
call void @fn_emit(ptr @.str6759)
%t1446 = load ptr, ptr %t1442
%t1447 = getelementptr inbounds %Cmp_Val, ptr %t1446, i32 0, i32 0
%t1448 = load ptr, ptr %t1447
call void @fn_emit(ptr %t1448)
call void @fn_emit(ptr @.str6760)
%t1449 = call ptr @fn_val(ptr @.str6761, ptr @.str6762)
store ptr %t1449, ptr %retval
br label %ret
ifend191:
%t1450 = load ptr, ptr %t38
%t1451 = call i32 @fn_str_eq(ptr %t1450, ptr @.str6763)
%t1452 = icmp ne i32 %t1451, 0
br i1 %t1452, label %then192, label %ifend194
then192:
%t1453 = load ptr, ptr %t0
%t1454 = getelementptr inbounds %Cmp_Node, ptr %t1453, i32 0, i32 7
%t1455 = load ptr, ptr %t1454
%t1456 = getelementptr inbounds %LSlice, ptr %t1455, i32 0, i32 0
%t1457 = load ptr, ptr %t1456
%t1458 = getelementptr inbounds ptr, ptr %t1457, i32 0
%t1459 = load ptr, ptr %t1458
%t1460 = call ptr @fn_emit_expr(ptr %t1459)
store ptr %t1460, ptr %t1461
%t1462 = load ptr, ptr %t1461
%t1463 = getelementptr inbounds %Cmp_Val, ptr %t1462, i32 0, i32 0
%t1464 = load ptr, ptr %t1463
%t1465 = call ptr @fn_str_concat(ptr @.str6764, ptr %t1464)
%t1466 = call ptr @fn_str_concat(ptr %t1465, ptr @.str6765)
%t1467 = call ptr @fn_emit_bind(ptr %t1466)
%t1468 = call ptr @fn_val(ptr %t1467, ptr @.str6766)
store ptr %t1468, ptr %retval
br label %ret
ifend194:
%t1469 = load ptr, ptr %t38
%t1470 = call i32 @fn_str_eq(ptr %t1469, ptr @.str6767)
%t1471 = icmp ne i32 %t1470, 0
br i1 %t1471, label %then195, label %ifend197
then195:
%t1472 = call ptr @fn_emit_bind(ptr @.str6768)
%t1473 = call ptr @fn_val(ptr %t1472, ptr @.str6769)
store ptr %t1473, ptr %retval
br label %ret
ifend197:
%t1474 = load ptr, ptr %t38
%t1475 = call i32 @fn_str_eq(ptr %t1474, ptr @.str6770)
%t1476 = icmp ne i32 %t1475, 0
br i1 %t1476, label %then198, label %ifend200
then198:
%t1477 = load ptr, ptr %t0
%t1478 = getelementptr inbounds %Cmp_Node, ptr %t1477, i32 0, i32 7
%t1479 = load ptr, ptr %t1478
%t1480 = getelementptr inbounds %LSlice, ptr %t1479, i32 0, i32 0
%t1481 = load ptr, ptr %t1480
%t1482 = getelementptr inbounds ptr, ptr %t1481, i32 0
%t1483 = load ptr, ptr %t1482
%t1484 = call ptr @fn_emit_expr(ptr %t1483)
store ptr %t1484, ptr %t1485
%t1486 = load ptr, ptr %t1485
%t1487 = getelementptr inbounds %Cmp_Val, ptr %t1486, i32 0, i32 0
%t1488 = load ptr, ptr %t1487
%t1489 = call ptr @fn_str_concat(ptr @.str6771, ptr %t1488)
%t1490 = call ptr @fn_str_concat(ptr %t1489, ptr @.str6772)
%t1491 = call ptr @fn_emit_bind(ptr %t1490)
%t1492 = call ptr @fn_val(ptr %t1491, ptr @.str6773)
store ptr %t1492, ptr %retval
br label %ret
ifend200:
%t1493 = load ptr, ptr %t38
%t1494 = call i32 @fn_str_eq(ptr %t1493, ptr @.str6774)
%t1495 = icmp ne i32 %t1494, 0
br i1 %t1495, label %then201, label %ifend203
then201:
%t1496 = load ptr, ptr %t0
%t1497 = getelementptr inbounds %Cmp_Node, ptr %t1496, i32 0, i32 7
%t1498 = load ptr, ptr %t1497
%t1499 = getelementptr inbounds %LSlice, ptr %t1498, i32 0, i32 0
%t1500 = load ptr, ptr %t1499
%t1501 = getelementptr inbounds ptr, ptr %t1500, i32 0
%t1502 = load ptr, ptr %t1501
%t1503 = call ptr @fn_emit_expr(ptr %t1502)
store ptr %t1503, ptr %t1504
%t1505 = load ptr, ptr %t1504
%t1506 = getelementptr inbounds %Cmp_Val, ptr %t1505, i32 0, i32 0
%t1507 = load ptr, ptr %t1506
%t1508 = call ptr @fn_str_concat(ptr @.str6775, ptr %t1507)
%t1509 = call ptr @fn_str_concat(ptr %t1508, ptr @.str6776)
%t1510 = call ptr @fn_emit_bind(ptr %t1509)
%t1511 = call ptr @fn_val(ptr %t1510, ptr @.str6777)
store ptr %t1511, ptr %retval
br label %ret
ifend203:
%t1512 = load ptr, ptr %t38
%t1513 = call i32 @fn_str_eq(ptr %t1512, ptr @.str6778)
%t1514 = icmp ne i32 %t1513, 0
br i1 %t1514, label %then204, label %ifend206
then204:
%t1515 = load ptr, ptr %t0
%t1516 = getelementptr inbounds %Cmp_Node, ptr %t1515, i32 0, i32 7
%t1517 = load ptr, ptr %t1516
%t1518 = getelementptr inbounds %LSlice, ptr %t1517, i32 0, i32 0
%t1519 = load ptr, ptr %t1518
%t1520 = getelementptr inbounds ptr, ptr %t1519, i32 0
%t1521 = load ptr, ptr %t1520
%t1522 = call ptr @fn_emit_expr(ptr %t1521)
store ptr %t1522, ptr %t1523
%t1524 = load ptr, ptr %t0
%t1525 = getelementptr inbounds %Cmp_Node, ptr %t1524, i32 0, i32 7
%t1526 = load ptr, ptr %t1525
%t1527 = getelementptr inbounds %LSlice, ptr %t1526, i32 0, i32 0
%t1528 = load ptr, ptr %t1527
%t1529 = getelementptr inbounds ptr, ptr %t1528, i32 1
%t1530 = load ptr, ptr %t1529
%t1531 = call ptr @fn_emit_expr(ptr %t1530)
store ptr %t1531, ptr %t1532
%t1533 = load ptr, ptr %t1523
%t1534 = getelementptr inbounds %Cmp_Val, ptr %t1533, i32 0, i32 0
%t1535 = load ptr, ptr %t1534
%t1536 = call ptr @fn_str_concat(ptr @.str6779, ptr %t1535)
%t1537 = call ptr @fn_str_concat(ptr %t1536, ptr @.str6780)
%t1538 = load ptr, ptr %t1532
%t1539 = getelementptr inbounds %Cmp_Val, ptr %t1538, i32 0, i32 0
%t1540 = load ptr, ptr %t1539
%t1541 = call ptr @fn_str_concat(ptr %t1537, ptr %t1540)
%t1542 = call ptr @fn_str_concat(ptr %t1541, ptr @.str6781)
%t1543 = call ptr @fn_emit_bind(ptr %t1542)
%t1544 = call ptr @fn_val(ptr %t1543, ptr @.str6782)
store ptr %t1544, ptr %retval
br label %ret
ifend206:
%t1545 = load ptr, ptr %t38
%t1546 = call i32 @fn_str_eq(ptr %t1545, ptr @.str6783)
%t1547 = icmp ne i32 %t1546, 0
br i1 %t1547, label %then207, label %ifend209
then207:
%t1548 = load ptr, ptr %t0
%t1549 = getelementptr inbounds %Cmp_Node, ptr %t1548, i32 0, i32 7
%t1550 = load ptr, ptr %t1549
%t1551 = getelementptr inbounds %LSlice, ptr %t1550, i32 0, i32 0
%t1552 = load ptr, ptr %t1551
%t1553 = getelementptr inbounds ptr, ptr %t1552, i32 0
%t1554 = load ptr, ptr %t1553
%t1555 = call ptr @fn_emit_expr(ptr %t1554)
store ptr %t1555, ptr %t1556
%t1557 = load ptr, ptr %t0
%t1558 = getelementptr inbounds %Cmp_Node, ptr %t1557, i32 0, i32 7
%t1559 = load ptr, ptr %t1558
%t1560 = getelementptr inbounds %LSlice, ptr %t1559, i32 0, i32 0
%t1561 = load ptr, ptr %t1560
%t1562 = getelementptr inbounds ptr, ptr %t1561, i32 1
%t1563 = load ptr, ptr %t1562
%t1564 = call ptr @fn_emit_expr(ptr %t1563)
store ptr %t1564, ptr %t1565
%t1566 = load ptr, ptr %t1556
%t1567 = getelementptr inbounds %Cmp_Val, ptr %t1566, i32 0, i32 0
%t1568 = load ptr, ptr %t1567
%t1569 = call ptr @fn_str_concat(ptr @.str6784, ptr %t1568)
%t1570 = call ptr @fn_str_concat(ptr %t1569, ptr @.str6785)
%t1571 = load ptr, ptr %t1565
%t1572 = getelementptr inbounds %Cmp_Val, ptr %t1571, i32 0, i32 0
%t1573 = load ptr, ptr %t1572
%t1574 = call ptr @fn_str_concat(ptr %t1570, ptr %t1573)
%t1575 = call ptr @fn_str_concat(ptr %t1574, ptr @.str6786)
%t1576 = call ptr @fn_emit_bind(ptr %t1575)
%t1577 = call ptr @fn_val(ptr %t1576, ptr @.str6787)
store ptr %t1577, ptr %retval
br label %ret
ifend209:
%t1578 = load ptr, ptr %t38
%t1579 = call i32 @fn_is_intrinsic(ptr %t1578)
%t1580 = icmp ne i32 %t1579, 0
br i1 %t1580, label %then210, label %ifend212
then210:
%t1581 = load ptr, ptr %t38
%t1582 = load ptr, ptr %t0
%t1583 = call ptr @fn_emit_intrinsic(ptr %t1581, ptr %t1582)
store ptr %t1583, ptr %retval
br label %ret
ifend212:
%t1584 = load ptr, ptr %t38
%t1585 = call i32 @fn_is_intrinsic2(ptr %t1584)
%t1586 = icmp ne i32 %t1585, 0
br i1 %t1586, label %then213, label %ifend215
then213:
%t1587 = load ptr, ptr %t38
%t1588 = load ptr, ptr %t0
%t1589 = call ptr @fn_emit_intrinsic2(ptr %t1587, ptr %t1588)
store ptr %t1589, ptr %retval
br label %ret
ifend215:
%t1590 = load ptr, ptr %t38
%t1591 = call i32 @fn_is_math_builtin(ptr %t1590)
%t1592 = icmp ne i32 %t1591, 0
br i1 %t1592, label %then216, label %ifend218
then216:
%t1593 = load ptr, ptr %t38
%t1594 = load ptr, ptr %t0
%t1595 = call ptr @fn_emit_math_builtin(ptr %t1593, ptr %t1594)
store ptr %t1595, ptr %retval
br label %ret
ifend218:
%t1596 = load ptr, ptr %t38
%t1597 = call ptr @fn_find_extern(ptr %t1596)
store ptr %t1597, ptr %t1598
%t1599 = load ptr, ptr %t1598
%t1600 = icmp ne ptr %t1599, null
%t1601 = zext i1 %t1600 to i32
%t1602 = icmp ne i32 %t1601, 0
br i1 %t1602, label %then219, label %ifend221
then219:
%t1603 = load ptr, ptr %t0
%t1604 = load ptr, ptr %t1598
%t1605 = call ptr @fn_param_labels(ptr %t1604)
call void @fn_reorder_named(ptr %t1603, ptr %t1605)
%t1606 = getelementptr %LSlice, ptr null, i32 1
%t1607 = ptrtoint ptr %t1606 to i64
%t1608 = call ptr @malloc(i64 %t1607)
%t1609 = getelementptr inbounds %LSlice, ptr %t1608, i32 0, i32 0
store ptr null, ptr %t1609
%t1610 = getelementptr inbounds %LSlice, ptr %t1608, i32 0, i32 1
store i32 0, ptr %t1610
%t1611 = getelementptr inbounds %LSlice, ptr %t1608, i32 0, i32 2
store i32 0, ptr %t1611
store ptr %t1608, ptr %t1612
%t1613 = getelementptr %LSlice, ptr null, i32 1
%t1614 = ptrtoint ptr %t1613 to i64
%t1615 = call ptr @malloc(i64 %t1614)
%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 %t1619
store i32 0, ptr %t1620
br label %wcond222
wcond222:
%t1621 = load i32, ptr %t1620
%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 1
%t1626 = load i32, ptr %t1625
%t1627 = icmp slt i32 %t1621, %t1626
%t1628 = zext i1 %t1627 to i32
%t1629 = icmp ne i32 %t1628, 0
br i1 %t1629, label %wbody223, label %wend224
wbody223:
%t1630 = load ptr, ptr %t0
%t1631 = getelementptr inbounds %Cmp_Node, ptr %t1630, i32 0, i32 7
%t1632 = load ptr, ptr %t1631
%t1633 = getelementptr inbounds %LSlice, ptr %t1632, i32 0, i32 0
%t1634 = load ptr, ptr %t1633
%t1635 = load i32, ptr %t1620
%t1636 = getelementptr inbounds ptr, ptr %t1634, i32 %t1635
%t1637 = load ptr, ptr %t1636
%t1638 = call ptr @fn_emit_expr(ptr %t1637)
store ptr %t1638, ptr %t1639
%t1640 = load ptr, ptr %t1612
%t1641 = getelementptr inbounds %LSlice, ptr %t1640, i32 0, i32 1
%t1642 = getelementptr inbounds %LSlice, ptr %t1640, i32 0, i32 2
%t1643 = getelementptr inbounds %LSlice, ptr %t1640, i32 0, i32 0
%t1644 = load i32, ptr %t1641
%t1645 = load i32, ptr %t1642
%t1646 = icmp sge i32 %t1644, %t1645
br i1 %t1646, label %grow225, label %put226
grow225:
%t1647 = mul i32 %t1645, 2
%t1648 = icmp eq i32 %t1645, 0
%t1649 = select i1 %t1648, i32 8, i32 %t1647
%t1650 = getelementptr ptr, ptr null, i32 1
%t1651 = ptrtoint ptr %t1650 to i64
%t1652 = zext i32 %t1649 to i64
%t1653 = mul i64 %t1652, %t1651
%t1654 = load ptr, ptr %t1643
%t1655 = call ptr @realloc(ptr %t1654, i64 %t1653)
store ptr %t1655, ptr %t1643
store i32 %t1649, ptr %t1642
br label %put226
put226:
%t1656 = load ptr, ptr %t1639
%t1657 = getelementptr inbounds %Cmp_Val, ptr %t1656, i32 0, i32 0
%t1658 = load ptr, ptr %t1657
%t1659 = load ptr, ptr %t1643
%t1660 = getelementptr inbounds ptr, ptr %t1659, i32 %t1644
store ptr %t1658, ptr %t1660
%t1661 = add i32 %t1644, 1
store i32 %t1661, ptr %t1641
%t1662 = load ptr, ptr %t1619
%t1663 = getelementptr inbounds %LSlice, ptr %t1662, i32 0, i32 1
%t1664 = getelementptr inbounds %LSlice, ptr %t1662, i32 0, i32 2
%t1665 = getelementptr inbounds %LSlice, ptr %t1662, i32 0, i32 0
%t1666 = load i32, ptr %t1663
%t1667 = load i32, ptr %t1664
%t1668 = icmp sge i32 %t1666, %t1667
br i1 %t1668, label %grow227, label %put228
grow227:
%t1669 = mul i32 %t1667, 2
%t1670 = icmp eq i32 %t1667, 0
%t1671 = select i1 %t1670, i32 8, i32 %t1669
%t1672 = getelementptr ptr, ptr null, i32 1
%t1673 = ptrtoint ptr %t1672 to i64
%t1674 = zext i32 %t1671 to i64
%t1675 = mul i64 %t1674, %t1673
%t1676 = load ptr, ptr %t1665
%t1677 = call ptr @realloc(ptr %t1676, i64 %t1675)
store ptr %t1677, ptr %t1665
store i32 %t1671, ptr %t1664
br label %put228
put228:
%t1678 = load ptr, ptr %t1639
%t1679 = getelementptr inbounds %Cmp_Val, ptr %t1678, i32 0, i32 1
%t1680 = load ptr, ptr %t1679
%t1681 = load ptr, ptr %t1665
%t1682 = getelementptr inbounds ptr, ptr %t1681, i32 %t1666
store ptr %t1680, ptr %t1682
%t1683 = add i32 %t1666, 1
store i32 %t1683, ptr %t1663
%t1684 = load i32, ptr %t1620
%t1685 = add i32 %t1684, 1
store i32 %t1685, ptr %t1620
br label %wcond222
wend224:
%t1686 = load ptr, ptr %t1598
%t1687 = getelementptr inbounds %Cmp_Node, ptr %t1686, i32 0, i32 3
%t1688 = load ptr, ptr %t1687
%t1689 = call ptr @fn_llty(ptr %t1688)
store ptr %t1689, ptr %t1690
call void @fn_emit(ptr @.str6788)
store ptr @.str6789, ptr %t1691
%t1692 = load ptr, ptr %t1690
%t1693 = call i32 @fn_str_eq(ptr %t1692, ptr @.str6790)
%t1694 = icmp eq i32 %t1693, 0
%t1695 = zext i1 %t1694 to i32
%t1696 = icmp ne i32 %t1695, 0
br i1 %t1696, label %then229, label %ifend231
then229:
%t1697 = call ptr @fn_nreg()
store ptr %t1697, ptr %t1691
%t1698 = load ptr, ptr %t1691
call void @fn_emit(ptr %t1698)
call void @fn_emit(ptr @.str6791)
br label %ifend231
ifend231:
call void @fn_emit(ptr @.str6792)
%t1699 = load ptr, ptr %t1690
call void @fn_emit(ptr %t1699)
call void @fn_emit(ptr @.str6793)
%t1700 = load ptr, ptr %t1598
%t1701 = getelementptr inbounds %Cmp_Node, ptr %t1700, i32 0, i32 4
%t1702 = load ptr, ptr %t1701
%t1703 = getelementptr inbounds %Cmp_Node, ptr %t1702, i32 0, i32 1
%t1704 = load ptr, ptr %t1703
call void @fn_emit(ptr %t1704)
call void @fn_emit(ptr @.str6794)
store i32 0, ptr %t1620
br label %wcond232
wcond232:
%t1705 = load i32, ptr %t1620
%t1706 = load ptr, ptr %t1612
%t1707 = getelementptr inbounds %LSlice, ptr %t1706, i32 0, i32 1
%t1708 = load i32, ptr %t1707
%t1709 = icmp slt i32 %t1705, %t1708
%t1710 = zext i1 %t1709 to i32
%t1711 = icmp ne i32 %t1710, 0
br i1 %t1711, label %wbody233, label %wend234
wbody233:
%t1712 = load i32, ptr %t1620
%t1713 = icmp sgt i32 %t1712, 0
%t1714 = zext i1 %t1713 to i32
%t1715 = icmp ne i32 %t1714, 0
br i1 %t1715, label %then235, label %ifend237
then235:
call void @fn_emit(ptr @.str6795)
br label %ifend237
ifend237:
%t1716 = load ptr, ptr %t1619
%t1717 = getelementptr inbounds %LSlice, ptr %t1716, i32 0, i32 0
%t1718 = load ptr, ptr %t1717
%t1719 = load i32, ptr %t1620
%t1720 = getelementptr inbounds ptr, ptr %t1718, i32 %t1719
%t1721 = load ptr, ptr %t1720
%t1722 = call ptr @fn_llty(ptr %t1721)
call void @fn_emit(ptr %t1722)
call void @fn_emit(ptr @.str6796)
%t1723 = load ptr, ptr %t1612
%t1724 = getelementptr inbounds %LSlice, ptr %t1723, i32 0, i32 0
%t1725 = load ptr, ptr %t1724
%t1726 = load i32, ptr %t1620
%t1727 = getelementptr inbounds ptr, ptr %t1725, i32 %t1726
%t1728 = load ptr, ptr %t1727
call void @fn_emit(ptr %t1728)
%t1729 = load i32, ptr %t1620
%t1730 = add i32 %t1729, 1
store i32 %t1730, ptr %t1620
br label %wcond232
wend234:
call void @fn_emit(ptr @.str6797)
%t1731 = load ptr, ptr %t1691
%t1732 = load ptr, ptr %t1598
%t1733 = getelementptr inbounds %Cmp_Node, ptr %t1732, i32 0, i32 3
%t1734 = load ptr, ptr %t1733
%t1735 = call ptr @fn_val(ptr %t1731, ptr %t1734)
store ptr %t1735, ptr %retval
br label %ret
ifend221:
%t1736 = load ptr, ptr %t38
%t1737 = call ptr @fn_find_fn(ptr %t1736)
store ptr %t1737, ptr %t1738
%t1739 = load ptr, ptr %t38
store ptr %t1739, ptr %t1740
%t1741 = load ptr, ptr %t1738
%t1742 = icmp eq ptr %t1741, null
%t1743 = zext i1 %t1742 to i32
%t1744 = icmp ne i32 %t1743, 0
br i1 %t1744, label %then238, label %ifend240
then238:
%t1745 = load ptr, ptr %t38
%t1746 = call ptr @fn_str_concat(ptr @.str6798, ptr %t1745)
store ptr %t1746, ptr %t1747
%t1748 = load ptr, ptr %t1747
%t1749 = call ptr @fn_find_fn(ptr %t1748)
store ptr %t1749, ptr %t1738
%t1750 = load ptr, ptr %t1738
%t1751 = icmp eq ptr %t1750, null
%t1752 = zext i1 %t1751 to i32
%t1753 = icmp ne i32 %t1752, 0
br i1 %t1753, label %then241, label %ifend243
then241:
%t1754 = load ptr, ptr %t38
%t1755 = call ptr @fn_str_concat(ptr @.str6799, ptr %t1754)
call void @fn_perr(ptr %t1755)
br label %ifend243
ifend243:
%t1756 = load ptr, ptr %t1747
store ptr %t1756, ptr %t1740
br label %ifend240
ifend240:
%t1757 = load ptr, ptr %t0
%t1758 = load ptr, ptr %t1738
%t1759 = call ptr @fn_param_labels(ptr %t1758)
call void @fn_reorder_named(ptr %t1757, ptr %t1759)
%t1760 = load ptr, ptr %t1738
%t1761 = call ptr @fn_param_types(ptr %t1760)
store ptr %t1761, ptr %t1762
%t1763 = getelementptr %LSlice, ptr null, i32 1
%t1764 = ptrtoint ptr %t1763 to i64
%t1765 = call ptr @malloc(i64 %t1764)
%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 %t1769
%t1770 = getelementptr %LSlice, ptr null, i32 1
%t1771 = ptrtoint ptr %t1770 to i64
%t1772 = call ptr @malloc(i64 %t1771)
%t1773 = getelementptr inbounds %LSlice, ptr %t1772, i32 0, i32 0
store ptr null, ptr %t1773
%t1774 = getelementptr inbounds %LSlice, ptr %t1772, i32 0, i32 1
store i32 0, ptr %t1774
%t1775 = getelementptr inbounds %LSlice, ptr %t1772, i32 0, i32 2
store i32 0, ptr %t1775
store ptr %t1772, ptr %t1776
store i32 0, ptr %t1777
br label %wcond244
wcond244:
%t1778 = load i32, ptr %t1777
%t1779 = load ptr, ptr %t0
%t1780 = getelementptr inbounds %Cmp_Node, ptr %t1779, i32 0, i32 7
%t1781 = load ptr, ptr %t1780
%t1782 = getelementptr inbounds %LSlice, ptr %t1781, i32 0, i32 1
%t1783 = load i32, ptr %t1782
%t1784 = icmp slt i32 %t1778, %t1783
%t1785 = zext i1 %t1784 to i32
%t1786 = icmp ne i32 %t1785, 0
br i1 %t1786, label %wbody245, label %wend246
wbody245:
%t1787 = load ptr, ptr %t0
%t1788 = getelementptr inbounds %Cmp_Node, ptr %t1787, i32 0, i32 7
%t1789 = load ptr, ptr %t1788
%t1790 = getelementptr inbounds %LSlice, ptr %t1789, i32 0, i32 0
%t1791 = load ptr, ptr %t1790
%t1792 = load i32, ptr %t1777
%t1793 = getelementptr inbounds ptr, ptr %t1791, i32 %t1792
%t1794 = load ptr, ptr %t1793
%t1795 = call ptr @fn_emit_expr(ptr %t1794)
store ptr %t1795, ptr %t1796
%t1797 = load ptr, ptr %t1796
%t1798 = getelementptr inbounds %Cmp_Val, ptr %t1797, i32 0, i32 1
%t1799 = load ptr, ptr %t1798
store ptr %t1799, ptr %t1800
%t1801 = load i32, ptr %t1777
%t1802 = load ptr, ptr %t1762
%t1803 = getelementptr inbounds %LSlice, ptr %t1802, i32 0, i32 1
%t1804 = load i32, ptr %t1803
%t1805 = icmp slt i32 %t1801, %t1804
%t1806 = zext i1 %t1805 to i32
%t1807 = icmp ne i32 %t1806, 0
br i1 %t1807, label %then247, label %ifend249
then247:
%t1808 = load ptr, ptr %t1762
%t1809 = getelementptr inbounds %LSlice, ptr %t1808, i32 0, i32 0
%t1810 = load ptr, ptr %t1809
%t1811 = load i32, ptr %t1777
%t1812 = getelementptr inbounds ptr, ptr %t1810, i32 %t1811
%t1813 = load ptr, ptr %t1812
store ptr %t1813, ptr %t1800
br label %ifend249
ifend249:
%t1814 = load ptr, ptr %t1769
%t1815 = getelementptr inbounds %LSlice, ptr %t1814, i32 0, i32 1
%t1816 = getelementptr inbounds %LSlice, ptr %t1814, i32 0, i32 2
%t1817 = getelementptr inbounds %LSlice, ptr %t1814, i32 0, i32 0
%t1818 = load i32, ptr %t1815
%t1819 = load i32, ptr %t1816
%t1820 = icmp sge i32 %t1818, %t1819
br i1 %t1820, label %grow250, label %put251
grow250:
%t1821 = mul i32 %t1819, 2
%t1822 = icmp eq i32 %t1819, 0
%t1823 = select i1 %t1822, i32 8, i32 %t1821
%t1824 = getelementptr ptr, ptr null, i32 1
%t1825 = ptrtoint ptr %t1824 to i64
%t1826 = zext i32 %t1823 to i64
%t1827 = mul i64 %t1826, %t1825
%t1828 = load ptr, ptr %t1817
%t1829 = call ptr @realloc(ptr %t1828, i64 %t1827)
store ptr %t1829, ptr %t1817
store i32 %t1823, ptr %t1816
br label %put251
put251:
%t1830 = load ptr, ptr %t1796
%t1831 = load ptr, ptr %t1800
%t1832 = call ptr @fn_coerce_code(ptr %t1830, ptr %t1831)
%t1833 = load ptr, ptr %t1817
%t1834 = getelementptr inbounds ptr, ptr %t1833, i32 %t1818
store ptr %t1832, ptr %t1834
%t1835 = add i32 %t1818, 1
store i32 %t1835, ptr %t1815
%t1836 = load ptr, ptr %t1776
%t1837 = getelementptr inbounds %LSlice, ptr %t1836, i32 0, i32 1
%t1838 = getelementptr inbounds %LSlice, ptr %t1836, i32 0, i32 2
%t1839 = getelementptr inbounds %LSlice, ptr %t1836, i32 0, i32 0
%t1840 = load i32, ptr %t1837
%t1841 = load i32, ptr %t1838
%t1842 = icmp sge i32 %t1840, %t1841
br i1 %t1842, label %grow252, label %put253
grow252:
%t1843 = mul i32 %t1841, 2
%t1844 = icmp eq i32 %t1841, 0
%t1845 = select i1 %t1844, i32 8, i32 %t1843
%t1846 = getelementptr ptr, ptr null, i32 1
%t1847 = ptrtoint ptr %t1846 to i64
%t1848 = zext i32 %t1845 to i64
%t1849 = mul i64 %t1848, %t1847
%t1850 = load ptr, ptr %t1839
%t1851 = call ptr @realloc(ptr %t1850, i64 %t1849)
store ptr %t1851, ptr %t1839
store i32 %t1845, ptr %t1838
br label %put253
put253:
%t1852 = load ptr, ptr %t1800
%t1853 = load ptr, ptr %t1839
%t1854 = getelementptr inbounds ptr, ptr %t1853, i32 %t1840
store ptr %t1852, ptr %t1854
%t1855 = add i32 %t1840, 1
store i32 %t1855, ptr %t1837
%t1856 = load i32, ptr %t1777
%t1857 = add i32 %t1856, 1
store i32 %t1857, ptr %t1777
br label %wcond244
wend246:
%t1858 = load ptr, ptr %t1738
%t1859 = getelementptr inbounds %Cmp_Node, ptr %t1858, i32 0, i32 3
%t1860 = load ptr, ptr %t1859
%t1861 = call ptr @fn_llty(ptr %t1860)
store ptr %t1861, ptr %t1862
call void @fn_emit(ptr @.str6800)
store ptr @.str6801, ptr %t1863
%t1864 = load ptr, ptr %t1862
%t1865 = call i32 @fn_str_eq(ptr %t1864, ptr @.str6802)
%t1866 = icmp eq i32 %t1865, 0
%t1867 = zext i1 %t1866 to i32
%t1868 = icmp ne i32 %t1867, 0
br i1 %t1868, label %then254, label %ifend256
then254:
%t1869 = call ptr @fn_nreg()
store ptr %t1869, ptr %t1863
%t1870 = load ptr, ptr %t1863
call void @fn_emit(ptr %t1870)
call void @fn_emit(ptr @.str6803)
br label %ifend256
ifend256:
call void @fn_emit(ptr @.str6804)
%t1871 = load ptr, ptr %t1862
call void @fn_emit(ptr %t1871)
call void @fn_emit(ptr @.str6805)
%t1872 = load ptr, ptr %t1740
call void @fn_emit(ptr %t1872)
call void @fn_emit(ptr @.str6806)
store i32 0, ptr %t1777
br label %wcond257
wcond257:
%t1873 = load i32, ptr %t1777
%t1874 = load ptr, ptr %t1769
%t1875 = getelementptr inbounds %LSlice, ptr %t1874, i32 0, i32 1
%t1876 = load i32, ptr %t1875
%t1877 = icmp slt i32 %t1873, %t1876
%t1878 = zext i1 %t1877 to i32
%t1879 = icmp ne i32 %t1878, 0
br i1 %t1879, label %wbody258, label %wend259
wbody258:
%t1880 = load i32, ptr %t1777
%t1881 = icmp sgt i32 %t1880, 0
%t1882 = zext i1 %t1881 to i32
%t1883 = icmp ne i32 %t1882, 0
br i1 %t1883, label %then260, label %ifend262
then260:
call void @fn_emit(ptr @.str6807)
br label %ifend262
ifend262:
%t1884 = load ptr, ptr %t1776
%t1885 = getelementptr inbounds %LSlice, ptr %t1884, i32 0, i32 0
%t1886 = load ptr, ptr %t1885
%t1887 = load i32, ptr %t1777
%t1888 = getelementptr inbounds ptr, ptr %t1886, i32 %t1887
%t1889 = load ptr, ptr %t1888
%t1890 = call ptr @fn_llty(ptr %t1889)
call void @fn_emit(ptr %t1890)
call void @fn_emit(ptr @.str6808)
%t1891 = load ptr, ptr %t1769
%t1892 = getelementptr inbounds %LSlice, ptr %t1891, i32 0, i32 0
%t1893 = load ptr, ptr %t1892
%t1894 = load i32, ptr %t1777
%t1895 = getelementptr inbounds ptr, ptr %t1893, i32 %t1894
%t1896 = load ptr, ptr %t1895
call void @fn_emit(ptr %t1896)
%t1897 = load i32, ptr %t1777
%t1898 = add i32 %t1897, 1
store i32 %t1898, ptr %t1777
br label %wcond257
wend259:
call void @fn_emit(ptr @.str6809)
%t1899 = load ptr, ptr %t1863
%t1900 = load ptr, ptr %t1738
%t1901 = getelementptr inbounds %Cmp_Node, ptr %t1900, i32 0, i32 3
%t1902 = load ptr, ptr %t1901
%t1903 = call ptr @fn_val(ptr %t1899, ptr %t1902)
store ptr %t1903, ptr %retval
br label %ret
ret:
%t1904 = load ptr, ptr %retval
ret ptr %t1904
}
define ptr @fn_emit_expr(ptr %arg_e) {
entry:
%retval = alloca ptr
%t0 = alloca ptr
%t56 = alloca ptr
%t61 = alloca ptr
%t66 = alloca ptr
%t127 = alloca i32
%t149 = alloca ptr
%t178 = alloca ptr
%t224 = alloca i32
%t245 = alloca i32
%t257 = alloca ptr
%t267 = alloca ptr
%t280 = alloca ptr
%t292 = alloca ptr
%t299 = alloca ptr
%t350 = alloca ptr
%t409 = 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 @.str6810, ptr @.str6811)
store ptr %t5, ptr %retval
br label %ret
ifend2:
%t6 = load ptr, ptr %t0
%t7 = getelementptr inbounds %Cmp_Node, ptr %t6, i32 0, i32 0
%t8 = load i32, ptr %t7
%t9 = icmp eq i32 %t8, 30
%t10 = zext i1 %t9 to i32
%t11 = icmp ne i32 %t10, 0
br i1 %t11, label %then3, label %ifend5
then3:
%t12 = load ptr, ptr %t0
%t13 = getelementptr inbounds %Cmp_Node, ptr %t12, i32 0, i32 2
%t14 = load i32, ptr %t13
%t15 = call ptr @fn_itoa(i32 %t14)
%t16 = call ptr @fn_val(ptr %t15, ptr @.str6812)
store ptr %t16, ptr %retval
br label %ret
ifend5:
%t17 = load ptr, ptr %t0
%t18 = getelementptr inbounds %Cmp_Node, ptr %t17, i32 0, i32 0
%t19 = load i32, ptr %t18
%t20 = icmp eq i32 %t19, 40
%t21 = zext i1 %t20 to i32
%t22 = icmp ne i32 %t21, 0
br i1 %t22, label %then6, label %ifend8
then6:
%t23 = load ptr, ptr %t0
%t24 = getelementptr inbounds %Cmp_Node, ptr %t23, i32 0, i32 2
%t25 = load i32, ptr %t24
%t26 = call ptr @fn_itoa(i32 %t25)
%t27 = call ptr @fn_val(ptr %t26, ptr @.str6813)
store ptr %t27, ptr %retval
br label %ret
ifend8:
%t28 = load ptr, ptr %t0
%t29 = getelementptr inbounds %Cmp_Node, ptr %t28, i32 0, i32 0
%t30 = load i32, ptr %t29
%t31 = icmp eq i32 %t30, 32
%t32 = zext i1 %t31 to i32
%t33 = icmp ne i32 %t32, 0
br i1 %t33, label %then9, label %ifend11
then9:
%t34 = load ptr, ptr %t0
%t35 = getelementptr inbounds %Cmp_Node, ptr %t34, i32 0, i32 2
%t36 = load i32, ptr %t35
%t37 = call ptr @fn_itoa(i32 %t36)
%t38 = call ptr @fn_val(ptr %t37, ptr @.str6814)
store ptr %t38, ptr %retval
br label %ret
ifend11:
%t39 = load ptr, ptr %t0
%t40 = getelementptr inbounds %Cmp_Node, ptr %t39, i32 0, i32 0
%t41 = load i32, ptr %t40
%t42 = icmp eq i32 %t41, 43
%t43 = zext i1 %t42 to i32
%t44 = icmp ne i32 %t43, 0
br i1 %t44, label %then12, label %ifend14
then12:
%t45 = call ptr @fn_val(ptr @.str6815, ptr @.str6816)
store ptr %t45, ptr %retval
br label %ret
ifend14:
%t46 = load ptr, ptr %t0
%t47 = getelementptr inbounds %Cmp_Node, ptr %t46, i32 0, i32 0
%t48 = load i32, ptr %t47
%t49 = icmp eq i32 %t48, 44
%t50 = zext i1 %t49 to i32
%t51 = icmp ne i32 %t50, 0
br i1 %t51, label %then15, label %ifend17
then15:
%t52 = load ptr, ptr %t0
%t53 = getelementptr inbounds %Cmp_Node, ptr %t52, i32 0, i32 4
%t54 = load ptr, ptr %t53
%t55 = call ptr @fn_emit_expr(ptr %t54)
store ptr %t55, ptr %t56
%t57 = load ptr, ptr %t0
%t58 = getelementptr inbounds %Cmp_Node, ptr %t57, i32 0, i32 5
%t59 = load ptr, ptr %t58
%t60 = call ptr @fn_emit_expr(ptr %t59)
store ptr %t60, ptr %t61
%t62 = load ptr, ptr %t0
%t63 = getelementptr inbounds %Cmp_Node, ptr %t62, i32 0, i32 6
%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 %t56
%t68 = getelementptr inbounds %Cmp_Val, ptr %t67, i32 0, i32 0
%t69 = load ptr, ptr %t68
%t70 = call ptr @fn_str_concat(ptr @.str6817, ptr %t69)
%t71 = call ptr @fn_str_concat(ptr %t70, ptr @.str6818)
%t72 = load ptr, ptr %t61
%t73 = getelementptr inbounds %Cmp_Val, ptr %t72, i32 0, i32 0
%t74 = load ptr, ptr %t73
%t75 = call ptr @fn_str_concat(ptr %t71, ptr %t74)
%t76 = call ptr @fn_str_concat(ptr %t75, ptr @.str6819)
%t77 = load ptr, ptr %t66
%t78 = getelementptr inbounds %Cmp_Val, ptr %t77, i32 0, i32 0
%t79 = load ptr, ptr %t78
%t80 = call ptr @fn_str_concat(ptr %t76, ptr %t79)
%t81 = call ptr @fn_str_concat(ptr %t80, ptr @.str6820)
%t82 = call ptr @fn_emit_bind(ptr %t81)
%t83 = call ptr @fn_val(ptr %t82, ptr @.str6821)
store ptr %t83, 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, 31
%t88 = zext i1 %t87 to i32
%t89 = icmp ne i32 %t88, 0
br i1 %t89, label %then18, label %ifend20
then18:
%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_emit_str_const(ptr %t92)
%t94 = call ptr @fn_val(ptr %t93, ptr @.str6822)
store ptr %t94, ptr %retval
br label %ret
ifend20:
%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, 39
%t99 = zext i1 %t98 to i32
%t100 = icmp ne i32 %t99, 0
br i1 %t100, label %then21, label %ifend23
then21:
%t101 = load ptr, ptr %t0
%t102 = getelementptr inbounds %Cmp_Node, ptr %t101, i32 0, i32 1
%t103 = load ptr, ptr %t102
%t104 = call i32 @fn_is_slice_ty(ptr %t103)
%t105 = icmp ne i32 %t104, 0
br i1 %t105, label %then24, label %ifend26
then24:
%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_emit_new_slice(ptr %t108)
store ptr %t109, ptr %retval
br label %ret
ifend26:
%t110 = load ptr, ptr %t0
%t111 = getelementptr inbounds %Cmp_Node, ptr %t110, i32 0, i32 1
%t112 = load ptr, ptr %t111
%t113 = load ptr, ptr %t0
%t114 = getelementptr inbounds %Cmp_Node, ptr %t113, i32 0, i32 4
%t115 = load ptr, ptr %t114
%t116 = call ptr @fn_emit_new_struct(ptr %t112, ptr %t115)
store ptr %t116, ptr %retval
br label %ret
ifend23:
%t117 = load ptr, ptr %t0
%t118 = getelementptr inbounds %Cmp_Node, ptr %t117, i32 0, i32 0
%t119 = load i32, ptr %t118
%t120 = icmp eq i32 %t119, 33
%t121 = zext i1 %t120 to i32
%t122 = icmp ne i32 %t121, 0
br i1 %t122, label %then27, label %ifend29
then27:
%t123 = load ptr, ptr %t0
%t124 = getelementptr inbounds %Cmp_Node, ptr %t123, i32 0, i32 1
%t125 = load ptr, ptr %t124
%t126 = call i32 @fn_loc_find(ptr %t125)
store i32 %t126, ptr %t127
%t128 = load i32, ptr %t127
%t129 = icmp sge i32 %t128, 0
%t130 = zext i1 %t129 to i32
%t131 = icmp ne i32 %t130, 0
br i1 %t131, label %then30, label %ifend32
then30:
%t132 = load ptr, ptr @g_loc_reg
%t133 = getelementptr inbounds %LSlice, ptr %t132, i32 0, i32 0
%t134 = load ptr, ptr %t133
%t135 = load i32, ptr %t127
%t136 = getelementptr inbounds ptr, ptr %t134, i32 %t135
%t137 = load ptr, ptr %t136
%t138 = load ptr, ptr @g_loc_ty
%t139 = getelementptr inbounds %LSlice, ptr %t138, i32 0, i32 0
%t140 = load ptr, ptr %t139
%t141 = load i32, ptr %t127
%t142 = getelementptr inbounds ptr, ptr %t140, i32 %t141
%t143 = load ptr, ptr %t142
%t144 = call ptr @fn_emit_load_at(ptr %t137, ptr %t143)
store ptr %t144, ptr %retval
br label %ret
ifend32:
%t145 = load ptr, ptr %t0
%t146 = getelementptr inbounds %Cmp_Node, ptr %t145, i32 0, i32 1
%t147 = load ptr, ptr %t146
%t148 = call ptr @fn_find_global(ptr %t147)
store ptr %t148, ptr %t149
%t150 = load ptr, ptr %t149
%t151 = icmp ne ptr %t150, null
%t152 = zext i1 %t151 to i32
%t153 = icmp ne i32 %t152, 0
br i1 %t153, label %then33, label %ifend35
then33:
%t154 = load ptr, ptr %t149
%t155 = getelementptr inbounds %Cmp_Node, ptr %t154, i32 0, i32 0
%t156 = load i32, ptr %t155
%t157 = icmp eq i32 %t156, 3
%t158 = zext i1 %t157 to i32
%t159 = icmp ne i32 %t158, 0
br i1 %t159, label %then36, label %ifend38
then36:
%t160 = load ptr, ptr %t149
%t161 = getelementptr inbounds %Cmp_Node, ptr %t160, i32 0, i32 4
%t162 = load ptr, ptr %t161
%t163 = getelementptr inbounds %Cmp_Node, ptr %t162, i32 0, i32 2
%t164 = load i32, ptr %t163
%t165 = call ptr @fn_itoa(i32 %t164)
%t166 = call ptr @fn_val(ptr %t165, ptr @.str6823)
store ptr %t166, ptr %retval
br label %ret
ifend38:
%t167 = load ptr, ptr %t149
%t168 = getelementptr inbounds %Cmp_Node, ptr %t167, i32 0, i32 3
%t169 = load ptr, ptr %t168
%t170 = call ptr @fn_llty(ptr %t169)
%t171 = call ptr @fn_str_concat(ptr @.str6824, ptr %t170)
%t172 = call ptr @fn_str_concat(ptr %t171, ptr @.str6825)
%t173 = load ptr, ptr %t0
%t174 = getelementptr inbounds %Cmp_Node, ptr %t173, i32 0, i32 1
%t175 = load ptr, ptr %t174
%t176 = call ptr @fn_str_concat(ptr %t172, ptr %t175)
%t177 = call ptr @fn_emit_bind(ptr %t176)
store ptr %t177, ptr %t178
%t179 = load ptr, ptr %t178
%t180 = load ptr, ptr %t149
%t181 = getelementptr inbounds %Cmp_Node, ptr %t180, i32 0, i32 3
%t182 = load ptr, ptr %t181
%t183 = call ptr @fn_val(ptr %t179, ptr %t182)
store ptr %t183, ptr %retval
br label %ret
ifend35:
%t184 = load ptr, ptr %t0
%t185 = getelementptr inbounds %Cmp_Node, ptr %t184, i32 0, i32 1
%t186 = load ptr, ptr %t185
%t187 = call i32 @fn_is_ui_ident(ptr %t186)
%t188 = icmp ne i32 %t187, 0
br i1 %t188, label %then39, label %ifend41
then39:
%t189 = load ptr, ptr %t0
%t190 = getelementptr inbounds %Cmp_Node, ptr %t189, i32 0, i32 1
%t191 = load ptr, ptr %t190
%t192 = call i32 @fn_ui_index_of(ptr %t191)
%t193 = call ptr @fn_itoa(i32 %t192)
%t194 = call ptr @fn_val(ptr %t193, ptr @.str6826)
store ptr %t194, ptr %retval
br label %ret
ifend41:
%t195 = load ptr, ptr %t0
%t196 = getelementptr inbounds %Cmp_Node, ptr %t195, i32 0, i32 1
%t197 = load ptr, ptr %t196
%t198 = call ptr @fn_str_concat(ptr @.str6827, ptr %t197)
call void @fn_perr(ptr %t198)
br label %ifend29
ifend29:
%t199 = load ptr, ptr %t0
%t200 = getelementptr inbounds %Cmp_Node, ptr %t199, i32 0, i32 0
%t201 = load i32, ptr %t200
%t202 = icmp eq i32 %t201, 35
%t203 = zext i1 %t202 to i32
%t204 = icmp ne i32 %t203, 0
br i1 %t204, label %then42, label %ifend44
then42:
%t205 = load ptr, ptr %t0
%t206 = getelementptr inbounds %Cmp_Node, ptr %t205, i32 0, i32 4
%t207 = load ptr, ptr %t206
%t208 = getelementptr inbounds %Cmp_Node, ptr %t207, i32 0, i32 0
%t209 = load i32, ptr %t208
%t210 = icmp eq i32 %t209, 33
%t211 = zext i1 %t210 to i32
%t212 = icmp ne i32 %t211, 0
br i1 %t212, label %then45, label %ifend47
then45:
%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 = call i32 @fn_str_eq(ptr %t217, ptr @.str6828)
%t219 = icmp ne i32 %t218, 0
br i1 %t219, label %then48, label %ifend50
then48:
%t220 = load ptr, ptr %t0
%t221 = getelementptr inbounds %Cmp_Node, ptr %t220, i32 0, i32 1
%t222 = load ptr, ptr %t221
%t223 = call i32 @fn_color_lookup(ptr %t222)
store i32 %t223, ptr %t224
%t225 = load i32, ptr %t224
%t226 = icmp slt i32 %t225, 0
%t227 = zext i1 %t226 to i32
%t228 = icmp ne i32 %t227, 0
br i1 %t228, label %then51, label %ifend53
then51:
%t229 = load ptr, ptr %t0
%t230 = getelementptr inbounds %Cmp_Node, ptr %t229, i32 0, i32 1
%t231 = load ptr, ptr %t230
%t232 = call ptr @fn_str_concat(ptr @.str6829, ptr %t231)
call void @fn_perr(ptr %t232)
br label %ifend53
ifend53:
%t233 = load i32, ptr %t224
%t234 = call ptr @fn_itoa(i32 %t233)
%t235 = call ptr @fn_val(ptr %t234, ptr @.str6830)
store ptr %t235, ptr %retval
br label %ret
ifend50:
%t236 = load ptr, ptr %t0
%t237 = getelementptr inbounds %Cmp_Node, ptr %t236, i32 0, i32 4
%t238 = load ptr, ptr %t237
%t239 = getelementptr inbounds %Cmp_Node, ptr %t238, i32 0, i32 1
%t240 = load ptr, ptr %t239
%t241 = load ptr, ptr %t0
%t242 = getelementptr inbounds %Cmp_Node, ptr %t241, i32 0, i32 1
%t243 = load ptr, ptr %t242
%t244 = call i32 @fn_enum_ordinal(ptr %t240, ptr %t243)
store i32 %t244, ptr %t245
%t246 = load i32, ptr %t245
%t247 = icmp sge i32 %t246, 0
%t248 = zext i1 %t247 to i32
%t249 = icmp ne i32 %t248, 0
br i1 %t249, label %then54, label %ifend56
then54:
%t250 = load i32, ptr %t245
%t251 = call ptr @fn_itoa(i32 %t250)
%t252 = call ptr @fn_val(ptr %t251, ptr @.str6831)
store ptr %t252, ptr %retval
br label %ret
ifend56:
br label %ifend47
ifend47:
%t253 = load ptr, ptr %t0
%t254 = getelementptr inbounds %Cmp_Node, ptr %t253, i32 0, i32 4
%t255 = load ptr, ptr %t254
%t256 = call ptr @fn_static_type(ptr %t255)
store ptr %t256, ptr %t257
%t258 = load ptr, ptr %t257
%t259 = icmp ne ptr %t258, null
%t260 = zext i1 %t259 to i32
%t261 = icmp ne i32 %t260, 0
br i1 %t261, label %then57, label %ifend59
then57:
%t262 = load ptr, ptr %t257
%t263 = load ptr, ptr %t0
%t264 = getelementptr inbounds %Cmp_Node, ptr %t263, i32 0, i32 1
%t265 = load ptr, ptr %t264
%t266 = call ptr @fn_computed_expr(ptr %t262, ptr %t265)
store ptr %t266, ptr %t267
%t268 = load ptr, ptr %t267
%t269 = icmp ne ptr %t268, null
%t270 = zext i1 %t269 to i32
%t271 = icmp ne i32 %t270, 0
br i1 %t271, label %then60, label %ifend62
then60:
%t272 = load ptr, ptr %t267
%t273 = load ptr, ptr %t0
%t274 = getelementptr inbounds %Cmp_Node, ptr %t273, i32 0, i32 4
%t275 = load ptr, ptr %t274
%t276 = call ptr @fn_qualify_fields(ptr %t272, ptr %t275)
%t277 = call ptr @fn_emit_expr(ptr %t276)
store ptr %t277, ptr %retval
br label %ret
ifend62:
br label %ifend59
ifend59:
%t278 = load ptr, ptr %t0
%t279 = call ptr @fn_emit_member_addr(ptr %t278)
store ptr %t279, ptr %t280
%t281 = load ptr, ptr %t280
%t282 = load ptr, ptr @g_g_addr_ty
%t283 = call ptr @fn_emit_load_at(ptr %t281, ptr %t282)
store ptr %t283, ptr %retval
br label %ret
ifend44:
%t284 = load ptr, ptr %t0
%t285 = getelementptr inbounds %Cmp_Node, ptr %t284, i32 0, i32 0
%t286 = load i32, ptr %t285
%t287 = icmp eq i32 %t286, 36
%t288 = zext i1 %t287 to i32
%t289 = icmp ne i32 %t288, 0
br i1 %t289, label %then63, label %ifend65
then63:
%t290 = load ptr, ptr %t0
%t291 = call ptr @fn_emit_index_addr(ptr %t290)
store ptr %t291, ptr %t292
%t293 = load ptr, ptr @g_g_addr_ty
%t294 = call i32 @fn_str_eq(ptr %t293, ptr @.str6832)
%t295 = icmp ne i32 %t294, 0
br i1 %t295, label %then66, label %ifend68
then66:
%t296 = load ptr, ptr %t292
%t297 = call ptr @fn_str_concat(ptr @.str6833, ptr %t296)
%t298 = call ptr @fn_emit_bind(ptr %t297)
store ptr %t298, ptr %t299
%t300 = load ptr, ptr %t299
%t301 = call ptr @fn_str_concat(ptr @.str6834, ptr %t300)
%t302 = call ptr @fn_str_concat(ptr %t301, ptr @.str6835)
%t303 = call ptr @fn_emit_bind(ptr %t302)
%t304 = call ptr @fn_val(ptr %t303, ptr @.str6836)
store ptr %t304, ptr %retval
br label %ret
ifend68:
%t305 = load ptr, ptr %t292
%t306 = load ptr, ptr @g_g_addr_ty
%t307 = call ptr @fn_emit_load_at(ptr %t305, ptr %t306)
store ptr %t307, ptr %retval
br label %ret
ifend65:
%t308 = load ptr, ptr %t0
%t309 = getelementptr inbounds %Cmp_Node, ptr %t308, i32 0, i32 0
%t310 = load i32, ptr %t309
%t311 = icmp eq i32 %t310, 49
%t312 = zext i1 %t311 to i32
%t313 = icmp ne i32 %t312, 0
br i1 %t313, label %then69, label %ifend71
then69:
%t314 = load ptr, ptr %t0
%t315 = call ptr @fn_emit_emit(ptr %t314)
store ptr %t315, ptr %retval
br label %ret
ifend71:
%t316 = load ptr, ptr %t0
%t317 = getelementptr inbounds %Cmp_Node, ptr %t316, i32 0, i32 0
%t318 = load i32, ptr %t317
%t319 = icmp eq i32 %t318, 52
%t320 = zext i1 %t319 to i32
%t321 = icmp ne i32 %t320, 0
br i1 %t321, label %then72, label %ifend74
then72:
%t322 = load ptr, ptr %t0
%t323 = call ptr @fn_emit_try(ptr %t322)
store ptr %t323, ptr %retval
br label %ret
ifend74:
%t324 = load ptr, ptr %t0
%t325 = getelementptr inbounds %Cmp_Node, ptr %t324, i32 0, i32 0
%t326 = load i32, ptr %t325
%t327 = icmp eq i32 %t326, 34
%t328 = zext i1 %t327 to i32
%t329 = icmp ne i32 %t328, 0
br i1 %t329, label %then75, label %ifend77
then75:
%t330 = load ptr, ptr %t0
%t331 = call ptr @fn_emit_call(ptr %t330)
store ptr %t331, ptr %retval
br label %ret
ifend77:
%t332 = load ptr, ptr %t0
%t333 = getelementptr inbounds %Cmp_Node, ptr %t332, i32 0, i32 0
%t334 = load i32, ptr %t333
%t335 = icmp eq i32 %t334, 37
%t336 = zext i1 %t335 to i32
%t337 = icmp ne i32 %t336, 0
br i1 %t337, label %then78, label %ifend80
then78:
%t338 = load ptr, ptr %t0
%t339 = call ptr @fn_emit_bin(ptr %t338)
store ptr %t339, ptr %retval
br label %ret
ifend80:
%t340 = load ptr, ptr %t0
%t341 = getelementptr inbounds %Cmp_Node, ptr %t340, i32 0, i32 0
%t342 = load i32, ptr %t341
%t343 = icmp eq i32 %t342, 38
%t344 = zext i1 %t343 to i32
%t345 = icmp ne i32 %t344, 0
br i1 %t345, label %then81, label %ifend83
then81:
%t346 = load ptr, ptr %t0
%t347 = getelementptr inbounds %Cmp_Node, ptr %t346, i32 0, i32 4
%t348 = load ptr, ptr %t347
%t349 = call ptr @fn_emit_expr(ptr %t348)
store ptr %t349, ptr %t350
%t351 = load ptr, ptr %t350
%t352 = getelementptr inbounds %Cmp_Val, ptr %t351, i32 0, i32 1
%t353 = load ptr, ptr %t352
%t354 = call ptr @fn_llty(ptr %t353)
%t355 = call i32 @fn_str_eq(ptr %t354, ptr @.str6837)
%t356 = icmp ne i32 %t355, 0
br i1 %t356, label %then84, label %ifend86
then84:
%t357 = load ptr, ptr %t0
%t358 = getelementptr inbounds %Cmp_Node, ptr %t357, i32 0, i32 1
%t359 = load ptr, ptr %t358
%t360 = call i32 @fn_str_eq(ptr %t359, ptr @.str6838)
%t361 = icmp ne i32 %t360, 0
br i1 %t361, label %then87, label %ifend89
then87:
%t362 = load ptr, ptr %t350
%t363 = getelementptr inbounds %Cmp_Val, ptr %t362, i32 0, i32 0
%t364 = load ptr, ptr %t363
%t365 = call ptr @fn_str_concat(ptr @.str6839, ptr %t364)
%t366 = call ptr @fn_emit_bind(ptr %t365)
%t367 = call ptr @fn_val(ptr %t366, ptr @.str6840)
store ptr %t367, ptr %retval
br label %ret
ifend89:
%t368 = load ptr, ptr %t0
%t369 = getelementptr inbounds %Cmp_Node, ptr %t368, i32 0, i32 1
%t370 = load ptr, ptr %t369
%t371 = call i32 @fn_str_eq(ptr %t370, ptr @.str6841)
%t372 = icmp ne i32 %t371, 0
br i1 %t372, label %then90, label %ifend92
then90:
%t373 = load ptr, ptr %t350
%t374 = getelementptr inbounds %Cmp_Val, ptr %t373, i32 0, i32 0
%t375 = load ptr, ptr %t374
%t376 = call ptr @fn_str_concat(ptr @.str6842, ptr %t375)
%t377 = call ptr @fn_str_concat(ptr %t376, ptr @.str6843)
%t378 = call ptr @fn_emit_bind(ptr %t377)
%t379 = call ptr @fn_val(ptr %t378, ptr @.str6844)
store ptr %t379, ptr %retval
br label %ret
ifend92:
br label %ifend86
ifend86:
%t380 = load ptr, ptr %t0
%t381 = getelementptr inbounds %Cmp_Node, ptr %t380, i32 0, i32 1
%t382 = load ptr, ptr %t381
%t383 = call i32 @fn_str_eq(ptr %t382, ptr @.str6845)
%t384 = icmp ne i32 %t383, 0
br i1 %t384, label %then93, label %ifend95
then93:
%t385 = load ptr, ptr %t350
%t386 = getelementptr inbounds %Cmp_Val, ptr %t385, i32 0, i32 0
%t387 = load ptr, ptr %t386
%t388 = call ptr @fn_str_concat(ptr @.str6846, ptr %t387)
%t389 = call ptr @fn_emit_bind(ptr %t388)
%t390 = call ptr @fn_val(ptr %t389, ptr @.str6847)
store ptr %t390, ptr %retval
br label %ret
ifend95:
%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_str_eq(ptr %t393, ptr @.str6848)
%t395 = icmp ne i32 %t394, 0
br i1 %t395, label %then96, label %ifend98
then96:
%t396 = load ptr, ptr %t350
%t397 = getelementptr inbounds %Cmp_Val, ptr %t396, i32 0, i32 0
%t398 = load ptr, ptr %t397
%t399 = call ptr @fn_str_concat(ptr @.str6849, ptr %t398)
%t400 = call ptr @fn_str_concat(ptr %t399, ptr @.str6850)
%t401 = call ptr @fn_emit_bind(ptr %t400)
%t402 = call ptr @fn_val(ptr %t401, ptr @.str6851)
store ptr %t402, ptr %retval
br label %ret
ifend98:
%t403 = load ptr, ptr %t350
%t404 = getelementptr inbounds %Cmp_Val, ptr %t403, i32 0, i32 0
%t405 = load ptr, ptr %t404
%t406 = call ptr @fn_str_concat(ptr @.str6852, ptr %t405)
%t407 = call ptr @fn_str_concat(ptr %t406, ptr @.str6853)
%t408 = call ptr @fn_emit_bind(ptr %t407)
store ptr %t408, ptr %t409
%t410 = load ptr, ptr %t409
%t411 = call ptr @fn_str_concat(ptr @.str6854, ptr %t410)
%t412 = call ptr @fn_str_concat(ptr %t411, ptr @.str6855)
%t413 = call ptr @fn_emit_bind(ptr %t412)
%t414 = call ptr @fn_val(ptr %t413, ptr @.str6856)
store ptr %t414, ptr %retval
br label %ret
ifend83:
call void @fn_perr(ptr @.str6857)
%t415 = call ptr @fn_val(ptr @.str6858, ptr @.str6859)
store ptr %t415, ptr %retval
br label %ret
ret:
%t416 = load ptr, ptr %retval
ret ptr %t416
}
define void @fn_emit_block(ptr %arg_b) {
entry:
%t0 = alloca ptr
%t1 = alloca i32
store ptr %arg_b, ptr %t0
store i32 0, ptr %t1
br label %wcond0
wcond0:
%t2 = load i32, ptr %t1
%t3 = load ptr, ptr %t0
%t4 = getelementptr inbounds %Cmp_Node, ptr %t3, i32 0, i32 7
%t5 = load ptr, ptr %t4
%t6 = getelementptr inbounds %LSlice, ptr %t5, i32 0, i32 1
%t7 = load i32, ptr %t6
%t8 = icmp slt i32 %t2, %t7
%t9 = zext i1 %t8 to i32
%t10 = icmp ne i32 %t9, 0
br i1 %t10, label %wbody1, label %wend2
wbody1:
%t11 = load i32, ptr @g_g_term
%t12 = icmp ne i32 %t11, 0
br i1 %t12, label %then3, label %ifend5
then3:
br label %ret
ifend5:
%t13 = load ptr, ptr %t0
%t14 = getelementptr inbounds %Cmp_Node, ptr %t13, i32 0, i32 7
%t15 = load ptr, ptr %t14
%t16 = getelementptr inbounds %LSlice, ptr %t15, i32 0, i32 0
%t17 = load ptr, ptr %t16
%t18 = load i32, ptr %t1
%t19 = getelementptr inbounds ptr, ptr %t17, i32 %t18
%t20 = load ptr, ptr %t19
call void @fn_emit_stmt(ptr %t20)
%t21 = load i32, ptr %t1
%t22 = add i32 %t21, 1
store i32 %t22, ptr %t1
br label %wcond0
wend2:
br label %ret
ret:
ret void
}
define void @fn_store_at(ptr %arg_lt, ptr %arg_v, ptr %arg_addr) {
entry:
%t0 = alloca ptr
%t1 = alloca ptr
%t2 = alloca ptr
store ptr %arg_lt, ptr %t0
store ptr %arg_v, ptr %t1
store ptr %arg_addr, ptr %t2
call void @fn_emit(ptr @.str6860)
%t3 = load ptr, ptr %t0
call void @fn_emit(ptr %t3)
call void @fn_emit(ptr @.str6861)
%t4 = load ptr, ptr %t1
call void @fn_emit(ptr %t4)
call void @fn_emit(ptr @.str6862)
%t5 = load ptr, ptr %t2
call void @fn_emit(ptr %t5)
call void @fn_emit(ptr @.str6863)
br label %ret
ret:
ret void
}
define void @fn_emit_assign(ptr %arg_st) {
entry:
%t0 = alloca ptr
%t4 = alloca ptr
%t5 = alloca ptr
%t6 = alloca ptr
%t17 = alloca i32
%t57 = alloca ptr
%t93 = alloca ptr
%t98 = alloca ptr
%t102 = alloca ptr
%t123 = alloca ptr
%t124 = 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 @.str6864, ptr %t5
store ptr @.str6865, ptr %t6
%t7 = load ptr, ptr %t4
%t8 = getelementptr inbounds %Cmp_Node, ptr %t7, i32 0, i32 0
%t9 = load i32, ptr %t8
%t10 = icmp eq i32 %t9, 33
%t11 = zext i1 %t10 to i32
%t12 = icmp ne i32 %t11, 0
br i1 %t12, label %then0, label %else1
then0:
%t13 = load ptr, ptr %t4
%t14 = getelementptr inbounds %Cmp_Node, ptr %t13, i32 0, i32 1
%t15 = load ptr, ptr %t14
%t16 = call i32 @fn_loc_find(ptr %t15)
store i32 %t16, ptr %t17
%t18 = load i32, ptr %t17
%t19 = icmp sge i32 %t18, 0
%t20 = zext i1 %t19 to i32
%t21 = icmp ne i32 %t20, 0
br i1 %t21, label %then3, label %else4
then3:
%t22 = load ptr, ptr @g_loc_mut
%t23 = getelementptr inbounds %LSlice, ptr %t22, i32 0, i32 0
%t24 = load ptr, ptr %t23
%t25 = load i32, ptr %t17
%t26 = getelementptr inbounds i32, ptr %t24, i32 %t25
%t27 = load i32, ptr %t26
%t28 = icmp eq i32 %t27, 0
%t29 = zext i1 %t28 to i32
%t30 = icmp ne i32 %t29, 0
br i1 %t30, label %then6, label %ifend8
then6:
%t31 = load ptr, ptr %t4
%t32 = getelementptr inbounds %Cmp_Node, ptr %t31, i32 0, i32 1
%t33 = load ptr, ptr %t32
%t34 = call ptr @fn_str_concat(ptr @.str6866, ptr %t33)
%t35 = call ptr @fn_str_concat(ptr %t34, ptr @.str6867)
%t36 = load ptr, ptr %t0
%t37 = getelementptr inbounds %Cmp_Node, ptr %t36, i32 0, i32 8
%t38 = load i32, ptr %t37
%t39 = call ptr @fn_itoa(i32 %t38)
%t40 = call ptr @fn_str_concat(ptr %t35, ptr %t39)
call void @fn_perr(ptr %t40)
br label %ifend8
ifend8:
%t41 = load ptr, ptr @g_loc_reg
%t42 = getelementptr inbounds %LSlice, ptr %t41, i32 0, i32 0
%t43 = load ptr, ptr %t42
%t44 = load i32, ptr %t17
%t45 = getelementptr inbounds ptr, ptr %t43, i32 %t44
%t46 = load ptr, ptr %t45
store ptr %t46, ptr %t5
%t47 = load ptr, ptr @g_loc_ty
%t48 = getelementptr inbounds %LSlice, ptr %t47, i32 0, i32 0
%t49 = load ptr, ptr %t48
%t50 = load i32, ptr %t17
%t51 = getelementptr inbounds ptr, ptr %t49, i32 %t50
%t52 = load ptr, ptr %t51
store ptr %t52, ptr %t6
br label %ifend5
else4:
%t53 = load ptr, ptr %t4
%t54 = getelementptr inbounds %Cmp_Node, ptr %t53, i32 0, i32 1
%t55 = load ptr, ptr %t54
%t56 = call ptr @fn_find_global(ptr %t55)
store ptr %t56, ptr %t57
%t58 = load ptr, ptr %t57
%t59 = icmp eq ptr %t58, null
%t60 = zext i1 %t59 to i32
%t61 = icmp ne i32 %t60, 0
br i1 %t61, label %then9, label %ifend11
then9:
%t62 = load ptr, ptr %t4
%t63 = getelementptr inbounds %Cmp_Node, ptr %t62, i32 0, i32 1
%t64 = load ptr, ptr %t63
%t65 = call ptr @fn_str_concat(ptr @.str6868, ptr %t64)
call void @fn_perr(ptr %t65)
br label %ifend11
ifend11:
%t66 = load ptr, ptr %t4
%t67 = getelementptr inbounds %Cmp_Node, ptr %t66, i32 0, i32 1
%t68 = load ptr, ptr %t67
%t69 = call ptr @fn_str_concat(ptr @.str6869, ptr %t68)
store ptr %t69, ptr %t5
%t70 = load ptr, ptr %t57
%t71 = getelementptr inbounds %Cmp_Node, ptr %t70, i32 0, i32 3
%t72 = load ptr, ptr %t71
store ptr %t72, ptr %t6
br label %ifend5
ifend5:
br label %ifend2
else1:
%t73 = load ptr, ptr %t4
%t74 = getelementptr inbounds %Cmp_Node, ptr %t73, i32 0, i32 0
%t75 = load i32, ptr %t74
%t76 = icmp eq i32 %t75, 35
%t77 = zext i1 %t76 to i32
%t78 = icmp ne i32 %t77, 0
br i1 %t78, label %then12, label %else13
then12:
%t79 = load ptr, ptr %t4
%t80 = call ptr @fn_emit_member_addr(ptr %t79)
store ptr %t80, ptr %t5
%t81 = load ptr, ptr @g_g_addr_ty
store ptr %t81, ptr %t6
br label %ifend14
else13:
%t82 = load ptr, ptr %t4
%t83 = getelementptr inbounds %Cmp_Node, ptr %t82, i32 0, i32 0
%t84 = load i32, ptr %t83
%t85 = icmp eq i32 %t84, 36
%t86 = zext i1 %t85 to i32
%t87 = icmp ne i32 %t86, 0
br i1 %t87, label %then15, label %else16
then15:
%t88 = load ptr, ptr %t4
%t89 = call ptr @fn_emit_index_addr(ptr %t88)
store ptr %t89, ptr %t5
%t90 = load ptr, ptr @g_g_addr_ty
store ptr %t90, ptr %t6
br label %ifend17
else16:
call void @fn_perr(ptr @.str6870)
br label %ifend17
ifend17:
br label %ifend14
ifend14:
br label %ifend2
ifend2:
%t91 = load ptr, ptr %t6
%t92 = call ptr @fn_llty(ptr %t91)
store ptr %t92, ptr %t93
%t94 = load ptr, ptr %t0
%t95 = getelementptr inbounds %Cmp_Node, ptr %t94, i32 0, i32 5
%t96 = load ptr, ptr %t95
%t97 = call ptr @fn_emit_expr(ptr %t96)
store ptr %t97, ptr %t98
%t99 = load ptr, ptr %t98
%t100 = load ptr, ptr %t6
%t101 = call ptr @fn_coerce_code(ptr %t99, ptr %t100)
store ptr %t101, ptr %t102
%t103 = load ptr, ptr %t93
%t104 = call i32 @fn_str_eq(ptr %t103, ptr @.str6871)
%t105 = icmp ne i32 %t104, 0
br i1 %t105, label %then18, label %ifend20
then18:
%t106 = load ptr, ptr %t102
%t107 = call ptr @fn_str_concat(ptr @.str6872, ptr %t106)
%t108 = call ptr @fn_str_concat(ptr %t107, ptr @.str6873)
%t109 = call ptr @fn_emit_bind(ptr %t108)
store ptr %t109, ptr %t102
br label %ifend20
ifend20:
%t110 = load ptr, ptr %t0
%t111 = getelementptr inbounds %Cmp_Node, ptr %t110, i32 0, i32 1
%t112 = load ptr, ptr %t111
%t113 = call i32 @fn_str_eq(ptr %t112, ptr @.str6874)
%t114 = icmp eq i32 %t113, 0
%t115 = zext i1 %t114 to i32
%t116 = icmp ne i32 %t115, 0
br i1 %t116, label %then21, label %ifend23
then21:
%t117 = load ptr, ptr %t93
%t118 = call ptr @fn_str_concat(ptr @.str6875, ptr %t117)
%t119 = call ptr @fn_str_concat(ptr %t118, ptr @.str6876)
%t120 = load ptr, ptr %t5
%t121 = call ptr @fn_str_concat(ptr %t119, ptr %t120)
%t122 = call ptr @fn_emit_bind(ptr %t121)
store ptr %t122, ptr %t123
store ptr @.str6877, ptr %t124
%t125 = load ptr, ptr %t0
%t126 = getelementptr inbounds %Cmp_Node, ptr %t125, i32 0, i32 1
%t127 = load ptr, ptr %t126
%t128 = call i32 @fn_str_eq(ptr %t127, ptr @.str6878)
%t129 = icmp ne i32 %t128, 0
br i1 %t129, label %then24, label %ifend26
then24:
store ptr @.str6879, ptr %t124
br label %ifend26
ifend26:
%t130 = load ptr, ptr %t0
%t131 = getelementptr inbounds %Cmp_Node, ptr %t130, i32 0, i32 1
%t132 = load ptr, ptr %t131
%t133 = call i32 @fn_str_eq(ptr %t132, ptr @.str6880)
%t134 = icmp ne i32 %t133, 0
br i1 %t134, label %then27, label %ifend29
then27:
store ptr @.str6881, ptr %t124
br label %ifend29
ifend29:
%t135 = load ptr, ptr %t0
%t136 = getelementptr inbounds %Cmp_Node, ptr %t135, i32 0, i32 1
%t137 = load ptr, ptr %t136
%t138 = call i32 @fn_str_eq(ptr %t137, ptr @.str6882)
%t139 = icmp ne i32 %t138, 0
br i1 %t139, label %then30, label %ifend32
then30:
store ptr @.str6883, ptr %t124
br label %ifend32
ifend32:
%t140 = load ptr, ptr %t124
%t141 = call ptr @fn_str_concat(ptr %t140, ptr @.str6884)
%t142 = load ptr, ptr %t93
%t143 = call ptr @fn_str_concat(ptr %t141, ptr %t142)
%t144 = call ptr @fn_str_concat(ptr %t143, ptr @.str6885)
%t145 = load ptr, ptr %t123
%t146 = call ptr @fn_str_concat(ptr %t144, ptr %t145)
%t147 = call ptr @fn_str_concat(ptr %t146, ptr @.str6886)
%t148 = load ptr, ptr %t102
%t149 = call ptr @fn_str_concat(ptr %t147, ptr %t148)
%t150 = call ptr @fn_emit_bind(ptr %t149)
store ptr %t150, ptr %t102
br label %ifend23
ifend23:
%t151 = load ptr, ptr %t93
%t152 = load ptr, ptr %t102
%t153 = load ptr, ptr %t5
call void @fn_store_at(ptr %t151, ptr %t152, ptr %t153)
br label %ret
ret:
ret void
}
define void @fn_emit_if(ptr %arg_st) {
entry:
%t0 = alloca ptr
%t5 = alloca ptr
%t12 = alloca ptr
%t18 = alloca i32
%t20 = alloca ptr
%t22 = alloca ptr
%t24 = alloca ptr
store ptr %arg_st, ptr %t0
%t1 = load ptr, ptr %t0
%t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 4
%t3 = load ptr, ptr %t2
%t4 = call ptr @fn_emit_expr(ptr %t3)
store ptr %t4, ptr %t5
%t6 = load ptr, ptr %t5
%t7 = getelementptr inbounds %Cmp_Val, ptr %t6, i32 0, i32 0
%t8 = load ptr, ptr %t7
%t9 = call ptr @fn_str_concat(ptr @.str6887, ptr %t8)
%t10 = call ptr @fn_str_concat(ptr %t9, ptr @.str6888)
%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 @.str6889)
store ptr %t19, ptr %t20
%t21 = call ptr @fn_lbl(ptr @.str6890)
store ptr %t21, ptr %t22
%t23 = call ptr @fn_lbl(ptr @.str6891)
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 @.str6892)
%t27 = load ptr, ptr %t12
call void @fn_emit(ptr %t27)
call void @fn_emit(ptr @.str6893)
%t28 = load ptr, ptr %t20
call void @fn_emit(ptr %t28)
call void @fn_emit(ptr @.str6894)
%t29 = load ptr, ptr %t22
call void @fn_emit(ptr %t29)
call void @fn_emit(ptr @.str6895)
br label %ifend2
else1:
call void @fn_emit(ptr @.str6896)
%t30 = load ptr, ptr %t12
call void @fn_emit(ptr %t30)
call void @fn_emit(ptr @.str6897)
%t31 = load ptr, ptr %t20
call void @fn_emit(ptr %t31)
call void @fn_emit(ptr @.str6898)
%t32 = load ptr, ptr %t24
call void @fn_emit(ptr %t32)
call void @fn_emit(ptr @.str6899)
br label %ifend2
ifend2:
%t33 = load ptr, ptr %t20
call void @fn_emit(ptr %t33)
call void @fn_emit(ptr @.str6900)
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 @.str6901)
%t41 = load ptr, ptr %t24
call void @fn_emit(ptr %t41)
call void @fn_emit(ptr @.str6902)
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 @.str6903)
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 @.str6904)
%t63 = load ptr, ptr %t24
call void @fn_emit(ptr %t63)
call void @fn_emit(ptr @.str6905)
br label %ifend14
ifend14:
br label %ifend8
ifend8:
%t64 = load ptr, ptr %t24
call void @fn_emit(ptr %t64)
call void @fn_emit(ptr @.str6906)
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 @.str6907)
store ptr %t1, ptr %t2
%t3 = call ptr @fn_lbl(ptr @.str6908)
store ptr %t3, ptr %t4
%t5 = call ptr @fn_lbl(ptr @.str6909)
store ptr %t5, ptr %t6
call void @fn_emit(ptr @.str6910)
%t7 = load ptr, ptr %t2
call void @fn_emit(ptr %t7)
call void @fn_emit(ptr @.str6911)
%t8 = load ptr, ptr %t2
call void @fn_emit(ptr %t8)
call void @fn_emit(ptr @.str6912)
%t9 = load ptr, ptr %t0
%t10 = getelementptr inbounds %Cmp_Node, ptr %t9, i32 0, i32 4
%t11 = load ptr, ptr %t10
%t12 = call ptr @fn_emit_expr(ptr %t11)
store ptr %t12, ptr %t13
%t14 = load ptr, ptr %t13
%t15 = getelementptr inbounds %Cmp_Val, ptr %t14, i32 0, i32 0
%t16 = load ptr, ptr %t15
%t17 = call ptr @fn_str_concat(ptr @.str6913, ptr %t16)
%t18 = call ptr @fn_str_concat(ptr %t17, ptr @.str6914)
%t19 = call ptr @fn_emit_bind(ptr %t18)
store ptr %t19, ptr %t20
call void @fn_emit(ptr @.str6915)
%t21 = load ptr, ptr %t20
call void @fn_emit(ptr %t21)
call void @fn_emit(ptr @.str6916)
%t22 = load ptr, ptr %t4
call void @fn_emit(ptr %t22)
call void @fn_emit(ptr @.str6917)
%t23 = load ptr, ptr %t6
call void @fn_emit(ptr %t23)
call void @fn_emit(ptr @.str6918)
%t24 = load ptr, ptr %t4
call void @fn_emit(ptr %t24)
call void @fn_emit(ptr @.str6919)
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 @.str6920)
%t34 = load ptr, ptr %t2
call void @fn_emit(ptr %t34)
call void @fn_emit(ptr @.str6921)
br label %ifend2
ifend2:
%t35 = load ptr, ptr %t6
call void @fn_emit(ptr %t35)
call void @fn_emit(ptr @.str6922)
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 @.str6923)
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 @.str6924, 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 @.str6925)
%t16 = call ptr @fn_lbl(ptr @.str6926)
store ptr %t16, ptr %t17
%t18 = call ptr @fn_lbl(ptr @.str6927)
store ptr %t18, ptr %t19
%t20 = call ptr @fn_lbl(ptr @.str6928)
store ptr %t20, ptr %t21
%t22 = call ptr @fn_lbl(ptr @.str6929)
store ptr %t22, ptr %t23
call void @fn_emit(ptr @.str6930)
%t24 = load ptr, ptr %t17
call void @fn_emit(ptr %t24)
call void @fn_emit(ptr @.str6931)
%t25 = load ptr, ptr %t17
call void @fn_emit(ptr %t25)
call void @fn_emit(ptr @.str6932)
%t26 = load ptr, ptr %t2
%t27 = call ptr @fn_str_concat(ptr @.str6933, ptr %t26)
%t28 = call ptr @fn_emit_bind(ptr %t27)
store ptr %t28, ptr %t29
%t30 = load ptr, ptr %t0
%t31 = getelementptr inbounds %Cmp_Node, ptr %t30, i32 0, i32 5
%t32 = load ptr, ptr %t31
%t33 = call ptr @fn_emit_expr(ptr %t32)
store ptr %t33, ptr %t34
%t35 = load ptr, ptr %t29
%t36 = call ptr @fn_str_concat(ptr @.str6934, ptr %t35)
%t37 = call ptr @fn_str_concat(ptr %t36, ptr @.str6935)
%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_str_concat(ptr %t37, ptr %t40)
%t42 = call ptr @fn_emit_bind(ptr %t41)
store ptr %t42, ptr %t43
call void @fn_emit(ptr @.str6936)
%t44 = load ptr, ptr %t43
call void @fn_emit(ptr %t44)
call void @fn_emit(ptr @.str6937)
%t45 = load ptr, ptr %t19
call void @fn_emit(ptr %t45)
call void @fn_emit(ptr @.str6938)
%t46 = load ptr, ptr %t23
call void @fn_emit(ptr %t46)
call void @fn_emit(ptr @.str6939)
%t47 = load ptr, ptr %t19
call void @fn_emit(ptr %t47)
call void @fn_emit(ptr @.str6940)
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 @.str6941)
%t57 = load ptr, ptr %t21
call void @fn_emit(ptr %t57)
call void @fn_emit(ptr @.str6942)
br label %ifend2
ifend2:
%t58 = load ptr, ptr %t21
call void @fn_emit(ptr %t58)
call void @fn_emit(ptr @.str6943)
%t59 = load ptr, ptr %t2
%t60 = call ptr @fn_str_concat(ptr @.str6944, ptr %t59)
%t61 = call ptr @fn_emit_bind(ptr %t60)
store ptr %t61, ptr %t62
%t63 = load ptr, ptr %t62
%t64 = call ptr @fn_str_concat(ptr @.str6945, ptr %t63)
%t65 = call ptr @fn_str_concat(ptr %t64, ptr @.str6946)
%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 @.str6947, ptr %t68, ptr %t69)
call void @fn_emit(ptr @.str6948)
%t70 = load ptr, ptr %t17
call void @fn_emit(ptr %t70)
call void @fn_emit(ptr @.str6949)
%t71 = load ptr, ptr %t23
call void @fn_emit(ptr %t71)
call void @fn_emit(ptr @.str6950)
store i32 0, ptr @g_g_term
br label %ret
ret:
ret void
}
define void @fn_emit_return(ptr %arg_st) {
entry:
%t0 = alloca ptr
%t11 = alloca ptr
store ptr %arg_st, ptr %t0
%t1 = load ptr, ptr %t0
%t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 4
%t3 = load ptr, ptr %t2
%t4 = icmp ne ptr %t3, null
%t5 = zext i1 %t4 to i32
%t6 = icmp ne i32 %t5, 0
br i1 %t6, label %then0, label %ifend2
then0:
%t7 = load ptr, ptr %t0
%t8 = getelementptr inbounds %Cmp_Node, ptr %t7, i32 0, i32 4
%t9 = load ptr, ptr %t8
%t10 = call ptr @fn_emit_expr(ptr %t9)
store ptr %t10, ptr %t11
%t12 = load ptr, ptr @g_ret_ty
%t13 = call ptr @fn_llty(ptr %t12)
%t14 = load ptr, ptr %t11
%t15 = load ptr, ptr @g_ret_ty
%t16 = call ptr @fn_coerce_code(ptr %t14, ptr %t15)
call void @fn_store_at(ptr %t13, ptr %t16, ptr @.str6951)
br label %ifend2
ifend2:
call void @fn_emit(ptr @.str6952)
store i32 1, ptr @g_g_term
br label %ret
ret:
ret void
}
define i32 @fn_arm_is_default(ptr %arg_arm) {
entry:
%retval = alloca i32
%t0 = alloca ptr
%t1 = alloca i32
%t11 = alloca i32
store ptr %arg_arm, ptr %t0
store i32 0, ptr %t1
br label %wcond0
wcond0:
%t2 = load i32, ptr %t1
%t3 = load ptr, ptr %t0
%t4 = getelementptr inbounds %Cmp_Node, ptr %t3, i32 0, i32 7
%t5 = load ptr, ptr %t4
%t6 = getelementptr inbounds %LSlice, ptr %t5, i32 0, i32 1
%t7 = load i32, ptr %t6
%t8 = icmp slt i32 %t2, %t7
%t9 = zext i1 %t8 to i32
%t10 = icmp ne i32 %t9, 0
br i1 %t10, label %wbody1, label %wend2
wbody1:
%t12 = load ptr, ptr %t0
%t13 = getelementptr inbounds %Cmp_Node, ptr %t12, i32 0, i32 7
%t14 = load ptr, ptr %t13
%t15 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 0
%t16 = load ptr, ptr %t15
%t17 = load i32, ptr %t1
%t18 = getelementptr inbounds ptr, ptr %t16, i32 %t17
%t19 = load ptr, ptr %t18
%t20 = getelementptr inbounds %Cmp_Node, ptr %t19, i32 0, i32 0
%t21 = load i32, ptr %t20
%t22 = icmp eq i32 %t21, 33
%t23 = zext i1 %t22 to i32
%t24 = icmp ne i32 %t23, 0
%t25 = zext i1 %t24 to i32
store i32 %t25, ptr %t11
br i1 %t24, label %sc3, label %scend4
sc3:
%t26 = load ptr, ptr %t0
%t27 = getelementptr inbounds %Cmp_Node, ptr %t26, i32 0, i32 7
%t28 = load ptr, ptr %t27
%t29 = getelementptr inbounds %LSlice, ptr %t28, i32 0, i32 0
%t30 = load ptr, ptr %t29
%t31 = load i32, ptr %t1
%t32 = getelementptr inbounds ptr, ptr %t30, i32 %t31
%t33 = load ptr, ptr %t32
%t34 = getelementptr inbounds %Cmp_Node, ptr %t33, i32 0, i32 1
%t35 = load ptr, ptr %t34
%t36 = call i32 @fn_str_eq(ptr %t35, ptr @.str6953)
%t37 = icmp ne i32 %t36, 0
%t38 = zext i1 %t37 to i32
store i32 %t38, ptr %t11
br label %scend4
scend4:
%t39 = load i32, ptr %t11
%t40 = icmp ne i32 %t39, 0
br i1 %t40, label %then5, label %ifend7
then5:
store i32 1, ptr %retval
br label %ret
ifend7:
%t41 = load i32, ptr %t1
%t42 = add i32 %t41, 1
store i32 %t42, ptr %t1
br label %wcond0
wend2:
store i32 0, ptr %retval
br label %ret
ret:
%t43 = load i32, ptr %retval
ret i32 %t43
}
define void @fn_emit_match(ptr %arg_st) {
entry:
%t0 = alloca ptr
%t5 = alloca ptr
%t7 = alloca ptr
%t8 = alloca ptr
%t9 = alloca i32
%t27 = alloca ptr
%t32 = alloca ptr
%t33 = alloca i32
%t34 = alloca i32
%t53 = alloca ptr
%t64 = alloca ptr
%t77 = alloca ptr
%t79 = 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_lbl(ptr @.str6954)
store ptr %t6, ptr %t7
store ptr null, ptr %t8
store i32 0, ptr %t9
br label %wcond0
wcond0:
%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 %wbody1, label %wend2
wbody1:
%t19 = load ptr, ptr %t0
%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 0
%t23 = load ptr, ptr %t22
%t24 = load i32, ptr %t9
%t25 = getelementptr inbounds ptr, ptr %t23, i32 %t24
%t26 = load ptr, ptr %t25
store ptr %t26, ptr %t27
%t28 = load ptr, ptr %t27
%t29 = call i32 @fn_arm_is_default(ptr %t28)
%t30 = icmp ne i32 %t29, 0
br i1 %t30, label %then3, label %else4
then3:
%t31 = load ptr, ptr %t27
store ptr %t31, ptr %t8
br label %ifend5
else4:
store ptr @.str6955, ptr %t32
store i32 1, ptr %t33
store i32 0, ptr %t34
br label %wcond6
wcond6:
%t35 = load i32, ptr %t34
%t36 = load ptr, ptr %t27
%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 %wbody7, label %wend8
wbody7:
%t44 = load ptr, ptr %t27
%t45 = getelementptr inbounds %Cmp_Node, ptr %t44, i32 0, i32 7
%t46 = load ptr, ptr %t45
%t47 = getelementptr inbounds %LSlice, ptr %t46, i32 0, i32 0
%t48 = load ptr, ptr %t47
%t49 = load i32, ptr %t34
%t50 = getelementptr inbounds ptr, ptr %t48, i32 %t49
%t51 = load ptr, ptr %t50
%t52 = call ptr @fn_emit_expr(ptr %t51)
store ptr %t52, ptr %t53
%t54 = load ptr, ptr %t5
%t55 = getelementptr inbounds %Cmp_Val, ptr %t54, i32 0, i32 0
%t56 = load ptr, ptr %t55
%t57 = call ptr @fn_str_concat(ptr @.str6956, ptr %t56)
%t58 = call ptr @fn_str_concat(ptr %t57, ptr @.str6957)
%t59 = load ptr, ptr %t53
%t60 = getelementptr inbounds %Cmp_Val, ptr %t59, i32 0, i32 0
%t61 = load ptr, ptr %t60
%t62 = call ptr @fn_str_concat(ptr %t58, ptr %t61)
%t63 = call ptr @fn_emit_bind(ptr %t62)
store ptr %t63, ptr %t64
%t65 = load i32, ptr %t33
%t66 = icmp ne i32 %t65, 0
br i1 %t66, label %then9, label %else10
then9:
%t67 = load ptr, ptr %t64
store ptr %t67, ptr %t32
store i32 0, ptr %t33
br label %ifend11
else10:
%t68 = load ptr, ptr %t32
%t69 = call ptr @fn_str_concat(ptr @.str6958, ptr %t68)
%t70 = call ptr @fn_str_concat(ptr %t69, ptr @.str6959)
%t71 = load ptr, ptr %t64
%t72 = call ptr @fn_str_concat(ptr %t70, ptr %t71)
%t73 = call ptr @fn_emit_bind(ptr %t72)
store ptr %t73, ptr %t32
br label %ifend11
ifend11:
%t74 = load i32, ptr %t34
%t75 = add i32 %t74, 1
store i32 %t75, ptr %t34
br label %wcond6
wend8:
%t76 = call ptr @fn_lbl(ptr @.str6960)
store ptr %t76, ptr %t77
%t78 = call ptr @fn_lbl(ptr @.str6961)
store ptr %t78, ptr %t79
call void @fn_emit(ptr @.str6962)
%t80 = load ptr, ptr %t32
call void @fn_emit(ptr %t80)
call void @fn_emit(ptr @.str6963)
%t81 = load ptr, ptr %t77
call void @fn_emit(ptr %t81)
call void @fn_emit(ptr @.str6964)
%t82 = load ptr, ptr %t79
call void @fn_emit(ptr %t82)
call void @fn_emit(ptr @.str6965)
%t83 = load ptr, ptr %t77
call void @fn_emit(ptr %t83)
call void @fn_emit(ptr @.str6966)
store i32 0, ptr @g_g_term
%t84 = load ptr, ptr %t27
%t85 = getelementptr inbounds %Cmp_Node, ptr %t84, i32 0, i32 4
%t86 = load ptr, ptr %t85
call void @fn_emit_block(ptr %t86)
%t87 = load i32, ptr @g_g_term
%t88 = icmp eq i32 %t87, 0
%t89 = zext i1 %t88 to i32
%t90 = icmp ne i32 %t89, 0
br i1 %t90, label %then12, label %ifend14
then12:
call void @fn_emit(ptr @.str6967)
%t91 = load ptr, ptr %t7
call void @fn_emit(ptr %t91)
call void @fn_emit(ptr @.str6968)
br label %ifend14
ifend14:
%t92 = load ptr, ptr %t79
call void @fn_emit(ptr %t92)
call void @fn_emit(ptr @.str6969)
store i32 0, ptr @g_g_term
br label %ifend5
ifend5:
%t93 = load i32, ptr %t9
%t94 = add i32 %t93, 1
store i32 %t94, ptr %t9
br label %wcond0
wend2:
%t95 = load ptr, ptr %t8
%t96 = icmp ne ptr %t95, null
%t97 = zext i1 %t96 to i32
%t98 = icmp ne i32 %t97, 0
br i1 %t98, label %then15, label %ifend17
then15:
%t99 = load ptr, ptr %t8
%t100 = getelementptr inbounds %Cmp_Node, ptr %t99, i32 0, i32 4
%t101 = load ptr, ptr %t100
call void @fn_emit_block(ptr %t101)
br label %ifend17
ifend17:
%t102 = load i32, ptr @g_g_term
%t103 = icmp eq i32 %t102, 0
%t104 = zext i1 %t103 to i32
%t105 = icmp ne i32 %t104, 0
br i1 %t105, label %then18, label %ifend20
then18:
call void @fn_emit(ptr @.str6970)
%t106 = load ptr, ptr %t7
call void @fn_emit(ptr %t106)
call void @fn_emit(ptr @.str6971)
br label %ifend20
ifend20:
%t107 = load ptr, ptr %t7
call void @fn_emit(ptr %t107)
call void @fn_emit(ptr @.str6972)
store i32 0, ptr @g_g_term
br label %ret
ret:
ret void
}
define ptr @fn_emit_emit(ptr %arg_st) {
entry:
%retval = alloca ptr
%t0 = alloca ptr
%t5 = alloca ptr
%t20 = alloca ptr
%t27 = alloca ptr
%t28 = alloca i32
%t46 = alloca ptr
%t47 = alloca ptr
%t48 = alloca i32
%t95 = alloca ptr
%t96 = alloca ptr
%t106 = alloca ptr
%t120 = alloca ptr
%t173 = alloca ptr
%t181 = alloca i32
%t182 = alloca i32
%t193 = alloca ptr
%t225 = alloca ptr
%t241 = alloca ptr
%t242 = alloca i32
%t279 = alloca ptr
store ptr %arg_st, ptr %t0
%t1 = load ptr, ptr %t0
%t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 1
%t3 = load ptr, ptr %t2
%t4 = call ptr @fn_find_event(ptr %t3)
store ptr %t4, ptr %t5
%t6 = load ptr, ptr %t5
%t7 = icmp eq ptr %t6, null
%t8 = zext i1 %t7 to i32
%t9 = icmp ne i32 %t8, 0
br i1 %t9, label %then0, label %ifend2
then0:
%t10 = load ptr, ptr %t0
%t11 = getelementptr inbounds %Cmp_Node, ptr %t10, i32 0, i32 1
%t12 = load ptr, ptr %t11
%t13 = call ptr @fn_str_concat(ptr @.str6973, ptr %t12)
call void @fn_perr(ptr %t13)
br label %ifend2
ifend2:
%t14 = getelementptr %LSlice, ptr null, i32 1
%t15 = ptrtoint ptr %t14 to i64
%t16 = call ptr @malloc(i64 %t15)
%t17 = getelementptr inbounds %LSlice, ptr %t16, i32 0, i32 0
store ptr null, ptr %t17
%t18 = getelementptr inbounds %LSlice, ptr %t16, i32 0, i32 1
store i32 0, ptr %t18
%t19 = getelementptr inbounds %LSlice, ptr %t16, i32 0, i32 2
store i32 0, ptr %t19
store ptr %t16, ptr %t20
%t21 = getelementptr %LSlice, ptr null, i32 1
%t22 = ptrtoint ptr %t21 to i64
%t23 = call ptr @malloc(i64 %t22)
%t24 = getelementptr inbounds %LSlice, ptr %t23, i32 0, i32 0
store ptr null, ptr %t24
%t25 = getelementptr inbounds %LSlice, ptr %t23, i32 0, i32 1
store i32 0, ptr %t25
%t26 = getelementptr inbounds %LSlice, ptr %t23, i32 0, i32 2
store i32 0, ptr %t26
store ptr %t23, ptr %t27
store i32 0, ptr %t28
br label %wcond3
wcond3:
%t29 = load i32, ptr %t28
%t30 = load ptr, ptr %t5
%t31 = getelementptr inbounds %Cmp_Node, ptr %t30, i32 0, i32 7
%t32 = load ptr, ptr %t31
%t33 = getelementptr inbounds %LSlice, ptr %t32, i32 0, i32 1
%t34 = load i32, ptr %t33
%t35 = icmp slt i32 %t29, %t34
%t36 = zext i1 %t35 to i32
%t37 = icmp ne i32 %t36, 0
br i1 %t37, label %wbody4, label %wend5
wbody4:
%t38 = load ptr, ptr %t5
%t39 = getelementptr inbounds %Cmp_Node, ptr %t38, i32 0, i32 7
%t40 = load ptr, ptr %t39
%t41 = getelementptr inbounds %LSlice, ptr %t40, i32 0, i32 0
%t42 = load ptr, ptr %t41
%t43 = load i32, ptr %t28
%t44 = getelementptr inbounds ptr, ptr %t42, i32 %t43
%t45 = load ptr, ptr %t44
store ptr %t45, ptr %t46
store ptr null, ptr %t47
store i32 0, ptr %t48
br label %wcond6
wcond6:
%t49 = load i32, ptr %t48
%t50 = load ptr, ptr %t0
%t51 = getelementptr inbounds %Cmp_Node, ptr %t50, i32 0, i32 4
%t52 = load ptr, ptr %t51
%t53 = getelementptr inbounds %Cmp_Node, ptr %t52, i32 0, i32 7
%t54 = load ptr, ptr %t53
%t55 = getelementptr inbounds %LSlice, ptr %t54, i32 0, i32 1
%t56 = load i32, ptr %t55
%t57 = icmp slt i32 %t49, %t56
%t58 = zext i1 %t57 to i32
%t59 = icmp ne i32 %t58, 0
br i1 %t59, label %wbody7, label %wend8
wbody7:
%t60 = load ptr, ptr %t0
%t61 = getelementptr inbounds %Cmp_Node, ptr %t60, i32 0, i32 4
%t62 = load ptr, ptr %t61
%t63 = getelementptr inbounds %Cmp_Node, ptr %t62, i32 0, i32 7
%t64 = load ptr, ptr %t63
%t65 = getelementptr inbounds %LSlice, ptr %t64, i32 0, i32 0
%t66 = load ptr, ptr %t65
%t67 = load i32, ptr %t48
%t68 = getelementptr inbounds ptr, ptr %t66, i32 %t67
%t69 = load ptr, ptr %t68
%t70 = getelementptr inbounds %Cmp_Node, ptr %t69, i32 0, i32 1
%t71 = load ptr, ptr %t70
%t72 = load ptr, ptr %t46
%t73 = getelementptr inbounds %Cmp_Node, ptr %t72, i32 0, i32 1
%t74 = load ptr, ptr %t73
%t75 = call i32 @fn_str_eq(ptr %t71, ptr %t74)
%t76 = icmp ne i32 %t75, 0
br i1 %t76, label %then9, label %ifend11
then9:
%t77 = load ptr, ptr %t0
%t78 = getelementptr inbounds %Cmp_Node, ptr %t77, i32 0, i32 4
%t79 = load ptr, ptr %t78
%t80 = getelementptr inbounds %Cmp_Node, ptr %t79, i32 0, i32 7
%t81 = load ptr, ptr %t80
%t82 = getelementptr inbounds %LSlice, ptr %t81, i32 0, i32 0
%t83 = load ptr, ptr %t82
%t84 = load i32, ptr %t48
%t85 = getelementptr inbounds ptr, ptr %t83, i32 %t84
%t86 = load ptr, ptr %t85
%t87 = getelementptr inbounds %Cmp_Node, ptr %t86, i32 0, i32 4
%t88 = load ptr, ptr %t87
store ptr %t88, ptr %t47
br label %ifend11
ifend11:
%t89 = load i32, ptr %t48
%t90 = add i32 %t89, 1
store i32 %t90, ptr %t48
br label %wcond6
wend8:
%t91 = load ptr, ptr %t46
%t92 = getelementptr inbounds %Cmp_Node, ptr %t91, i32 0, i32 3
%t93 = load ptr, ptr %t92
%t94 = call ptr @fn_llty(ptr %t93)
store ptr %t94, ptr %t95
store ptr @.str6974, ptr %t96
%t97 = load ptr, ptr %t95
%t98 = call i32 @fn_str_eq(ptr %t97, ptr @.str6975)
%t99 = icmp ne i32 %t98, 0
br i1 %t99, label %then12, label %ifend14
then12:
store ptr @.str6976, ptr %t96
br label %ifend14
ifend14:
%t100 = load ptr, ptr %t47
%t101 = icmp ne ptr %t100, null
%t102 = zext i1 %t101 to i32
%t103 = icmp ne i32 %t102, 0
br i1 %t103, label %then15, label %else16
then15:
%t104 = load ptr, ptr %t47
%t105 = call ptr @fn_emit_expr(ptr %t104)
store ptr %t105, ptr %t106
%t107 = load ptr, ptr %t106
%t108 = getelementptr inbounds %Cmp_Val, ptr %t107, i32 0, i32 0
%t109 = load ptr, ptr %t108
store ptr %t109, ptr %t96
br label %ifend17
else16:
%t110 = load ptr, ptr %t46
%t111 = getelementptr inbounds %Cmp_Node, ptr %t110, i32 0, i32 4
%t112 = load ptr, ptr %t111
%t113 = icmp ne ptr %t112, null
%t114 = zext i1 %t113 to i32
%t115 = icmp ne i32 %t114, 0
br i1 %t115, label %then18, label %ifend20
then18:
%t116 = load ptr, ptr %t46
%t117 = getelementptr inbounds %Cmp_Node, ptr %t116, i32 0, i32 4
%t118 = load ptr, ptr %t117
%t119 = call ptr @fn_emit_expr(ptr %t118)
store ptr %t119, ptr %t120
%t121 = load ptr, ptr %t120
%t122 = getelementptr inbounds %Cmp_Val, ptr %t121, i32 0, i32 0
%t123 = load ptr, ptr %t122
store ptr %t123, ptr %t96
br label %ifend20
ifend20:
br label %ifend17
ifend17:
%t124 = load ptr, ptr %t20
%t125 = 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 %grow21, label %put22
grow21:
%t131 = mul i32 %t129, 2
%t132 = icmp eq i32 %t129, 0
%t133 = select i1 %t132, i32 8, i32 %t131
%t134 = getelementptr ptr, ptr null, i32 1
%t135 = ptrtoint ptr %t134 to i64
%t136 = zext i32 %t133 to i64
%t137 = mul i64 %t136, %t135
%t138 = load ptr, ptr %t127
%t139 = call ptr @realloc(ptr %t138, i64 %t137)
store ptr %t139, ptr %t127
store i32 %t133, ptr %t126
br label %put22
put22:
%t140 = load ptr, ptr %t96
%t141 = load ptr, ptr %t127
%t142 = getelementptr inbounds ptr, ptr %t141, i32 %t128
store ptr %t140, ptr %t142
%t143 = add i32 %t128, 1
store i32 %t143, ptr %t125
%t144 = load ptr, ptr %t27
%t145 = getelementptr inbounds %LSlice, ptr %t144, i32 0, i32 1
%t146 = getelementptr inbounds %LSlice, ptr %t144, i32 0, i32 2
%t147 = getelementptr inbounds %LSlice, ptr %t144, i32 0, i32 0
%t148 = load i32, ptr %t145
%t149 = load i32, ptr %t146
%t150 = icmp sge i32 %t148, %t149
br i1 %t150, label %grow23, label %put24
grow23:
%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
%t159 = call ptr @realloc(ptr %t158, i64 %t157)
store ptr %t159, ptr %t147
store i32 %t153, ptr %t146
br label %put24
put24:
%t160 = load ptr, ptr %t95
%t161 = load ptr, ptr %t147
%t162 = getelementptr inbounds ptr, ptr %t161, i32 %t148
store ptr %t160, ptr %t162
%t163 = add i32 %t148, 1
store i32 %t163, ptr %t145
%t164 = load i32, ptr %t28
%t165 = add i32 %t164, 1
store i32 %t165, ptr %t28
br label %wcond3
wend5:
%t166 = load ptr, ptr %t5
%t167 = getelementptr inbounds %Cmp_Node, ptr %t166, i32 0, i32 3
%t168 = load ptr, ptr %t167
%t169 = icmp ne ptr %t168, null
%t170 = zext i1 %t169 to i32
%t171 = icmp ne i32 %t170, 0
br i1 %t171, label %then25, label %ifend27
then25:
%t172 = call ptr @fn_nreg()
store ptr %t172, ptr %t173
call void @fn_emit(ptr @.str6977)
%t174 = load ptr, ptr %t173
call void @fn_emit(ptr %t174)
call void @fn_emit(ptr @.str6978)
call void @fn_emit(ptr @.str6979)
%t175 = load ptr, ptr %t0
%t176 = getelementptr inbounds %Cmp_Node, ptr %t175, i32 0, i32 1
%t177 = load ptr, ptr %t176
%t178 = call i32 @fn_net_event_id(ptr %t177)
%t179 = call ptr @fn_itoa(i32 %t178)
call void @fn_emit(ptr %t179)
call void @fn_emit(ptr @.str6980)
%t180 = load ptr, ptr %t173
call void @fn_emit(ptr %t180)
call void @fn_emit(ptr @.str6981)
store i32 4, ptr %t181
store i32 0, ptr %t182
br label %wcond28
wcond28:
%t183 = load i32, ptr %t182
%t184 = load ptr, ptr %t5
%t185 = getelementptr inbounds %Cmp_Node, ptr %t184, i32 0, i32 7
%t186 = load ptr, ptr %t185
%t187 = getelementptr inbounds %LSlice, ptr %t186, i32 0, i32 1
%t188 = load i32, ptr %t187
%t189 = icmp slt i32 %t183, %t188
%t190 = zext i1 %t189 to i32
%t191 = icmp ne i32 %t190, 0
br i1 %t191, label %wbody29, label %wend30
wbody29:
%t192 = call ptr @fn_nreg()
store ptr %t192, ptr %t193
call void @fn_emit(ptr @.str6982)
%t194 = load ptr, ptr %t193
call void @fn_emit(ptr %t194)
call void @fn_emit(ptr @.str6983)
%t195 = load i32, ptr %t181
%t196 = call ptr @fn_itoa(i32 %t195)
call void @fn_emit(ptr %t196)
call void @fn_emit(ptr @.str6984)
call void @fn_emit(ptr @.str6985)
%t197 = load ptr, ptr %t27
%t198 = getelementptr inbounds %LSlice, ptr %t197, i32 0, i32 0
%t199 = load ptr, ptr %t198
%t200 = load i32, ptr %t182
%t201 = getelementptr inbounds ptr, ptr %t199, i32 %t200
%t202 = load ptr, ptr %t201
call void @fn_emit(ptr %t202)
call void @fn_emit(ptr @.str6986)
%t203 = load ptr, ptr %t20
%t204 = getelementptr inbounds %LSlice, ptr %t203, i32 0, i32 0
%t205 = load ptr, ptr %t204
%t206 = load i32, ptr %t182
%t207 = getelementptr inbounds ptr, ptr %t205, i32 %t206
%t208 = load ptr, ptr %t207
call void @fn_emit(ptr %t208)
call void @fn_emit(ptr @.str6987)
%t209 = load ptr, ptr %t193
call void @fn_emit(ptr %t209)
call void @fn_emit(ptr @.str6988)
%t210 = load i32, ptr %t181
%t211 = load ptr, ptr %t5
%t212 = getelementptr inbounds %Cmp_Node, ptr %t211, i32 0, i32 7
%t213 = load ptr, ptr %t212
%t214 = getelementptr inbounds %LSlice, ptr %t213, i32 0, i32 0
%t215 = load ptr, ptr %t214
%t216 = load i32, ptr %t182
%t217 = getelementptr inbounds ptr, ptr %t215, i32 %t216
%t218 = load ptr, ptr %t217
%t219 = getelementptr inbounds %Cmp_Node, ptr %t218, i32 0, i32 3
%t220 = load ptr, ptr %t219
%t221 = call i32 @fn_net_field_ibytes(ptr %t220)
%t222 = add i32 %t210, %t221
store i32 %t222, ptr %t181
%t223 = load i32, ptr %t182
%t224 = add i32 %t223, 1
store i32 %t224, ptr %t182
br label %wcond28
wend30:
store ptr @.str6989, ptr %t225
%t226 = load ptr, ptr %t5
%t227 = getelementptr inbounds %Cmp_Node, ptr %t226, i32 0, i32 3
%t228 = load ptr, ptr %t227
%t229 = call i32 @fn_str_eq(ptr %t228, ptr @.str6990)
%t230 = icmp ne i32 %t229, 0
br i1 %t230, label %then31, label %ifend33
then31:
store ptr @.str6991, ptr %t225
br label %ifend33
ifend33:
%t231 = call ptr @fn_find_extern(ptr @.str6992)
%t232 = icmp eq ptr %t231, null
%t233 = zext i1 %t232 to i32
%t234 = icmp ne i32 %t233, 0
br i1 %t234, label %then34, label %ifend36
then34:
store i32 1, ptr @g_g_uses_loopback
br label %ifend36
ifend36:
call void @fn_emit(ptr @.str6993)
%t235 = call ptr @fn_net_send_sym()
call void @fn_emit(ptr %t235)
call void @fn_emit(ptr @.str6994)
%t236 = load ptr, ptr %t225
call void @fn_emit(ptr %t236)
call void @fn_emit(ptr @.str6995)
%t237 = load i32, ptr %t181
%t238 = call ptr @fn_itoa(i32 %t237)
call void @fn_emit(ptr %t238)
call void @fn_emit(ptr @.str6996)
%t239 = call ptr @fn_val(ptr @.str6997, ptr @.str6998)
store ptr %t239, ptr %retval
br label %ret
ifend27:
%t240 = call ptr @fn_buf_new()
store ptr %t240, ptr %t241
store i32 0, ptr %t242
br label %wcond37
wcond37:
%t243 = load i32, ptr %t242
%t244 = load ptr, ptr %t20
%t245 = getelementptr inbounds %LSlice, ptr %t244, i32 0, i32 1
%t246 = load i32, ptr %t245
%t247 = icmp slt i32 %t243, %t246
%t248 = zext i1 %t247 to i32
%t249 = icmp ne i32 %t248, 0
br i1 %t249, label %wbody38, label %wend39
wbody38:
%t250 = load i32, ptr %t242
%t251 = icmp sgt i32 %t250, 0
%t252 = zext i1 %t251 to i32
%t253 = icmp ne i32 %t252, 0
br i1 %t253, label %then40, label %ifend42
then40:
%t254 = load ptr, ptr %t241
call void @fn_buf_puts(ptr %t254, ptr @.str6999)
br label %ifend42
ifend42:
%t255 = load ptr, ptr %t241
%t256 = load ptr, ptr %t27
%t257 = getelementptr inbounds %LSlice, ptr %t256, i32 0, i32 0
%t258 = load ptr, ptr %t257
%t259 = load i32, ptr %t242
%t260 = getelementptr inbounds ptr, ptr %t258, i32 %t259
%t261 = load ptr, ptr %t260
call void @fn_buf_puts(ptr %t255, ptr %t261)
%t262 = load ptr, ptr %t241
call void @fn_buf_puts(ptr %t262, ptr @.str7000)
%t263 = load ptr, ptr %t241
%t264 = load ptr, ptr %t20
%t265 = getelementptr inbounds %LSlice, ptr %t264, i32 0, i32 0
%t266 = load ptr, ptr %t265
%t267 = load i32, ptr %t242
%t268 = getelementptr inbounds ptr, ptr %t266, i32 %t267
%t269 = load ptr, ptr %t268
call void @fn_buf_puts(ptr %t263, ptr %t269)
%t270 = load i32, ptr %t242
%t271 = add i32 %t270, 1
store i32 %t271, ptr %t242
br label %wcond37
wend39:
%t272 = load ptr, ptr %t5
%t273 = getelementptr inbounds %Cmp_Node, ptr %t272, i32 0, i32 2
%t274 = load i32, ptr %t273
%t275 = icmp eq i32 %t274, 1
%t276 = zext i1 %t275 to i32
%t277 = icmp ne i32 %t276, 0
br i1 %t277, label %then43, label %ifend45
then43:
%t278 = call ptr @fn_nreg()
store ptr %t278, ptr %t279
call void @fn_emit(ptr @.str7001)
%t280 = load ptr, ptr %t279
call void @fn_emit(ptr %t280)
call void @fn_emit(ptr @.str7002)
%t281 = load ptr, ptr %t0
%t282 = getelementptr inbounds %Cmp_Node, ptr %t281, i32 0, i32 1
%t283 = load ptr, ptr %t282
call void @fn_emit(ptr %t283)
call void @fn_emit(ptr @.str7003)
%t284 = load ptr, ptr %t241
%t285 = call ptr @fn_buf_str(ptr %t284)
call void @fn_emit(ptr %t285)
call void @fn_emit(ptr @.str7004)
%t286 = load ptr, ptr %t279
%t287 = call ptr @fn_val(ptr %t286, ptr @.str7005)
store ptr %t287, ptr %retval
br label %ret
ifend45:
call void @fn_emit(ptr @.str7006)
%t288 = load ptr, ptr %t0
%t289 = getelementptr inbounds %Cmp_Node, ptr %t288, i32 0, i32 1
%t290 = load ptr, ptr %t289
call void @fn_emit(ptr %t290)
call void @fn_emit(ptr @.str7007)
%t291 = load ptr, ptr %t241
%t292 = call ptr @fn_buf_str(ptr %t291)
call void @fn_emit(ptr %t292)
call void @fn_emit(ptr @.str7008)
%t293 = call ptr @fn_val(ptr @.str7009, ptr @.str7010)
store ptr %t293, ptr %retval
br label %ret
ret:
%t294 = load ptr, ptr %retval
ret ptr %t294
}
define void @fn_emit_stmt(ptr %arg_st) {
entry:
%t0 = alloca ptr
%t13 = alloca ptr
%t22 = alloca ptr
%t29 = alloca ptr
%t47 = alloca ptr
%t54 = alloca ptr
%t67 = alloca ptr
%t165 = alloca ptr
%t202 = alloca ptr
%t238 = 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_cov_hit(i32 %t3)
%t4 = load ptr, ptr %t0
%t5 = getelementptr inbounds %Cmp_Node, ptr %t4, i32 0, i32 0
%t6 = load i32, ptr %t5
%t7 = icmp eq i32 %t6, 10
%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 3
%t12 = load ptr, ptr %t11
store ptr %t12, ptr %t13
%t14 = load ptr, ptr %t13
%t15 = icmp eq ptr %t14, null
%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 4
%t20 = load ptr, ptr %t19
%t21 = call ptr @fn_emit_expr(ptr %t20)
store ptr %t21, ptr %t22
%t23 = load ptr, ptr %t22
%t24 = getelementptr inbounds %Cmp_Val, ptr %t23, i32 0, i32 1
%t25 = load ptr, ptr %t24
store ptr %t25, ptr %t13
%t26 = load ptr, ptr %t13
%t27 = call ptr @fn_llty(ptr %t26)
%t28 = call ptr @fn_emit_alloca(ptr %t27)
store ptr %t28, ptr %t29
%t30 = load ptr, ptr %t13
%t31 = call ptr @fn_llty(ptr %t30)
%t32 = load ptr, ptr %t22
%t33 = getelementptr inbounds %Cmp_Val, ptr %t32, i32 0, i32 0
%t34 = load ptr, ptr %t33
%t35 = load ptr, ptr %t29
call void @fn_store_at(ptr %t31, ptr %t34, ptr %t35)
%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 %t29
%t40 = load ptr, ptr %t13
call void @fn_loc_push(ptr %t38, ptr %t39, ptr %t40)
%t41 = load ptr, ptr %t0
%t42 = getelementptr inbounds %Cmp_Node, ptr %t41, i32 0, i32 2
%t43 = load i32, ptr %t42
call void @fn_loc_set_mut(i32 %t43)
br label %ret
ifend5:
%t44 = load ptr, ptr %t13
%t45 = call ptr @fn_llty(ptr %t44)
%t46 = call ptr @fn_emit_alloca(ptr %t45)
store ptr %t46, ptr %t47
%t48 = load ptr, ptr %t0
%t49 = getelementptr inbounds %Cmp_Node, ptr %t48, i32 0, i32 4
%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 %then6, label %else7
then6:
store ptr @.str7011, ptr %t54
%t55 = load ptr, ptr %t13
%t56 = call ptr @fn_llty(ptr %t55)
%t57 = call i32 @fn_str_eq(ptr %t56, ptr @.str7012)
%t58 = icmp ne i32 %t57, 0
br i1 %t58, label %then9, label %ifend11
then9:
store ptr @.str7013, ptr %t54
br label %ifend11
ifend11:
%t59 = load ptr, ptr %t13
%t60 = call ptr @fn_llty(ptr %t59)
%t61 = load ptr, ptr %t54
%t62 = load ptr, ptr %t47
call void @fn_store_at(ptr %t60, ptr %t61, ptr %t62)
br label %ifend8
else7:
%t63 = load ptr, ptr %t0
%t64 = getelementptr inbounds %Cmp_Node, ptr %t63, i32 0, i32 4
%t65 = load ptr, ptr %t64
%t66 = call ptr @fn_emit_expr(ptr %t65)
store ptr %t66, ptr %t67
%t68 = load ptr, ptr %t13
%t69 = call ptr @fn_llty(ptr %t68)
%t70 = load ptr, ptr %t67
%t71 = load ptr, ptr %t13
%t72 = call ptr @fn_coerce_code(ptr %t70, ptr %t71)
%t73 = load ptr, ptr %t47
call void @fn_store_at(ptr %t69, ptr %t72, ptr %t73)
br label %ifend8
ifend8:
%t74 = load ptr, ptr %t0
%t75 = getelementptr inbounds %Cmp_Node, ptr %t74, i32 0, i32 1
%t76 = load ptr, ptr %t75
%t77 = load ptr, ptr %t47
%t78 = load ptr, ptr %t13
call void @fn_loc_push(ptr %t76, ptr %t77, ptr %t78)
%t79 = load ptr, ptr %t0
%t80 = getelementptr inbounds %Cmp_Node, ptr %t79, i32 0, i32 2
%t81 = load i32, ptr %t80
call void @fn_loc_set_mut(i32 %t81)
br label %ret
ifend2:
%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
br i1 %t87, label %then12, label %ifend14
then12:
%t88 = load ptr, ptr %t0
call void @fn_emit_assign(ptr %t88)
br label %ret
ifend14:
%t89 = load ptr, ptr %t0
%t90 = getelementptr inbounds %Cmp_Node, ptr %t89, i32 0, i32 0
%t91 = load i32, ptr %t90
%t92 = icmp eq i32 %t91, 12
%t93 = zext i1 %t92 to i32
%t94 = icmp ne i32 %t93, 0
br i1 %t94, label %then15, label %ifend17
then15:
%t95 = load ptr, ptr %t0
call void @fn_emit_if(ptr %t95)
br label %ret
ifend17:
%t96 = load ptr, ptr %t0
%t97 = getelementptr inbounds %Cmp_Node, ptr %t96, i32 0, i32 0
%t98 = load i32, ptr %t97
%t99 = icmp eq i32 %t98, 13
%t100 = zext i1 %t99 to i32
%t101 = icmp ne i32 %t100, 0
br i1 %t101, label %then18, label %ifend20
then18:
%t102 = load ptr, ptr %t0
call void @fn_emit_while(ptr %t102)
br label %ret
ifend20:
%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, 14
%t107 = zext i1 %t106 to i32
%t108 = icmp ne i32 %t107, 0
br i1 %t108, label %then21, label %ifend23
then21:
%t109 = load ptr, ptr %t0
call void @fn_emit_for(ptr %t109)
br label %ret
ifend23:
%t110 = load ptr, ptr %t0
%t111 = getelementptr inbounds %Cmp_Node, ptr %t110, i32 0, i32 0
%t112 = load i32, ptr %t111
%t113 = icmp eq i32 %t112, 15
%t114 = zext i1 %t113 to i32
%t115 = icmp ne i32 %t114, 0
br i1 %t115, label %then24, label %ifend26
then24:
%t116 = load ptr, ptr %t0
call void @fn_emit_return(ptr %t116)
br label %ret
ifend26:
%t117 = load ptr, ptr %t0
%t118 = getelementptr inbounds %Cmp_Node, ptr %t117, i32 0, i32 0
%t119 = load i32, ptr %t118
%t120 = icmp eq i32 %t119, 17
%t121 = zext i1 %t120 to i32
%t122 = icmp ne i32 %t121, 0
br i1 %t122, label %then27, label %ifend29
then27:
call void @fn_emit(ptr @.str7014)
%t123 = load ptr, ptr @g_brk_lbl
%t124 = getelementptr inbounds %LSlice, ptr %t123, i32 0, i32 0
%t125 = load ptr, ptr %t124
%t126 = load i32, ptr @g_nloop
%t127 = sub i32 %t126, 1
%t128 = getelementptr inbounds ptr, ptr %t125, i32 %t127
%t129 = load ptr, ptr %t128
call void @fn_emit(ptr %t129)
call void @fn_emit(ptr @.str7015)
store i32 1, ptr @g_g_term
br label %ret
ifend29:
%t130 = load ptr, ptr %t0
%t131 = getelementptr inbounds %Cmp_Node, ptr %t130, i32 0, i32 0
%t132 = load i32, ptr %t131
%t133 = icmp eq i32 %t132, 18
%t134 = zext i1 %t133 to i32
%t135 = icmp ne i32 %t134, 0
br i1 %t135, label %then30, label %ifend32
then30:
call void @fn_emit(ptr @.str7016)
%t136 = load ptr, ptr @g_cnt_lbl
%t137 = getelementptr inbounds %LSlice, ptr %t136, i32 0, i32 0
%t138 = load ptr, ptr %t137
%t139 = load i32, ptr @g_nloop
%t140 = sub i32 %t139, 1
%t141 = getelementptr inbounds ptr, ptr %t138, i32 %t140
%t142 = load ptr, ptr %t141
call void @fn_emit(ptr %t142)
call void @fn_emit(ptr @.str7017)
store i32 1, ptr @g_g_term
br label %ret
ifend32:
%t143 = load ptr, ptr %t0
%t144 = getelementptr inbounds %Cmp_Node, ptr %t143, i32 0, i32 0
%t145 = load i32, ptr %t144
%t146 = icmp eq i32 %t145, 19
%t147 = zext i1 %t146 to i32
%t148 = icmp ne i32 %t147, 0
br i1 %t148, label %then33, label %ifend35
then33:
%t149 = load ptr, ptr %t0
call void @fn_emit_match(ptr %t149)
br label %ret
ifend35:
%t150 = load ptr, ptr %t0
%t151 = getelementptr inbounds %Cmp_Node, ptr %t150, i32 0, i32 0
%t152 = load i32, ptr %t151
%t153 = icmp eq i32 %t152, 21
%t154 = zext i1 %t153 to i32
%t155 = icmp ne i32 %t154, 0
br i1 %t155, label %then36, label %ifend38
then36:
%t156 = load ptr, ptr %t0
call void @fn_emit_query(ptr %t156)
br label %ret
ifend38:
%t157 = load ptr, ptr %t0
%t158 = getelementptr inbounds %Cmp_Node, ptr %t157, i32 0, i32 0
%t159 = load i32, ptr %t158
%t160 = icmp eq i32 %t159, 22
%t161 = zext i1 %t160 to i32
%t162 = icmp ne i32 %t161, 0
br i1 %t162, label %then39, label %ifend41
then39:
%t163 = load ptr, ptr %t0
%t164 = call ptr @fn_emit_spawn(ptr %t163)
store ptr %t164, ptr %t165
br label %ret
ifend41:
%t166 = load ptr, ptr %t0
%t167 = getelementptr inbounds %Cmp_Node, ptr %t166, i32 0, i32 0
%t168 = load i32, ptr %t167
%t169 = icmp eq i32 %t168, 23
%t170 = zext i1 %t169 to i32
%t171 = icmp ne i32 %t170, 0
br i1 %t171, label %then42, label %ifend44
then42:
%t172 = load ptr, ptr %t0
call void @fn_emit_despawn(ptr %t172)
br label %ret
ifend44:
%t173 = load ptr, ptr %t0
%t174 = getelementptr inbounds %Cmp_Node, ptr %t173, i32 0, i32 0
%t175 = load i32, ptr %t174
%t176 = icmp eq i32 %t175, 28
%t177 = zext i1 %t176 to i32
%t178 = icmp ne i32 %t177, 0
br i1 %t178, label %then45, label %ifend47
then45:
%t179 = load ptr, ptr %t0
call void @fn_emit_toggle(ptr %t179)
br label %ret
ifend47:
%t180 = load ptr, ptr %t0
%t181 = getelementptr inbounds %Cmp_Node, ptr %t180, i32 0, i32 0
%t182 = load i32, ptr %t181
%t183 = icmp eq i32 %t182, 46
%t184 = zext i1 %t183 to i32
%t185 = icmp ne i32 %t184, 0
br i1 %t185, label %then48, label %ifend50
then48:
%t186 = load ptr, ptr %t0
call void @fn_emit_attach(ptr %t186)
br label %ret
ifend50:
%t187 = load ptr, ptr %t0
%t188 = getelementptr inbounds %Cmp_Node, ptr %t187, i32 0, i32 0
%t189 = load i32, ptr %t188
%t190 = icmp eq i32 %t189, 47
%t191 = zext i1 %t190 to i32
%t192 = icmp ne i32 %t191, 0
br i1 %t192, label %then51, label %ifend53
then51:
%t193 = load ptr, ptr %t0
call void @fn_emit_detach(ptr %t193)
br label %ret
ifend53:
%t194 = load ptr, ptr %t0
%t195 = getelementptr inbounds %Cmp_Node, ptr %t194, i32 0, i32 0
%t196 = load i32, ptr %t195
%t197 = icmp eq i32 %t196, 49
%t198 = zext i1 %t197 to i32
%t199 = icmp ne i32 %t198, 0
br i1 %t199, label %then54, label %ifend56
then54:
%t200 = load ptr, ptr %t0
%t201 = call ptr @fn_emit_emit(ptr %t200)
store ptr %t201, ptr %t202
br label %ret
ifend56:
%t203 = load ptr, ptr %t0
%t204 = getelementptr inbounds %Cmp_Node, ptr %t203, i32 0, i32 0
%t205 = load i32, ptr %t204
%t206 = icmp eq i32 %t205, 50
%t207 = zext i1 %t206 to i32
%t208 = icmp ne i32 %t207, 0
br i1 %t208, label %then57, label %ifend59
then57:
%t209 = load ptr, ptr @g_g_cancel_addr
%t210 = icmp eq ptr %t209, null
%t211 = zext i1 %t210 to i32
%t212 = icmp ne i32 %t211, 0
br i1 %t212, label %then60, label %ifend62
then60:
call void @fn_perr(ptr @.str7018)
br label %ifend62
ifend62:
call void @fn_emit(ptr @.str7019)
%t213 = load ptr, ptr @g_g_cancel_addr
call void @fn_emit(ptr %t213)
call void @fn_emit(ptr @.str7020)
br label %ret
ifend59:
%t214 = load ptr, ptr %t0
%t215 = getelementptr inbounds %Cmp_Node, ptr %t214, i32 0, i32 0
%t216 = load i32, ptr %t215
%t217 = icmp eq i32 %t216, 24
%t218 = zext i1 %t217 to i32
%t219 = icmp ne i32 %t218, 0
br i1 %t219, label %then63, label %ifend65
then63:
%t220 = load ptr, ptr %t0
call void @fn_emit_machine(ptr %t220)
br label %ret
ifend65:
%t221 = load ptr, ptr %t0
%t222 = getelementptr inbounds %Cmp_Node, ptr %t221, i32 0, i32 0
%t223 = load i32, ptr %t222
%t224 = icmp eq i32 %t223, 26
%t225 = zext i1 %t224 to i32
%t226 = icmp ne i32 %t225, 0
br i1 %t226, label %then66, label %ifend68
then66:
%t227 = load ptr, ptr %t0
call void @fn_emit_become(ptr %t227)
br label %ret
ifend68:
%t228 = load ptr, ptr %t0
%t229 = getelementptr inbounds %Cmp_Node, ptr %t228, i32 0, i32 0
%t230 = load i32, ptr %t229
%t231 = icmp eq i32 %t230, 16
%t232 = zext i1 %t231 to i32
%t233 = icmp ne i32 %t232, 0
br i1 %t233, label %then69, label %ifend71
then69:
%t234 = load ptr, ptr %t0
%t235 = getelementptr inbounds %Cmp_Node, ptr %t234, i32 0, i32 4
%t236 = load ptr, ptr %t235
%t237 = call ptr @fn_emit_expr(ptr %t236)
store ptr %t237, ptr %t238
br label %ret
ifend71:
call void @fn_perr(ptr @.str7021)
br label %ret
ret:
ret void
}
define void @fn_loop_push(ptr %arg_cont, ptr %arg_brk) {
entry:
%t0 = alloca ptr
%t1 = alloca ptr
store ptr %arg_cont, ptr %t0
store ptr %arg_brk, ptr %t1
%t2 = load i32, ptr @g_nloop
%t3 = load ptr, ptr @g_cnt_lbl
%t4 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 1
%t5 = load i32, ptr %t4
%t6 = icmp slt i32 %t2, %t5
%t7 = zext i1 %t6 to i32
%t8 = icmp ne i32 %t7, 0
br i1 %t8, label %then0, label %else1
then0:
%t9 = load ptr, ptr @g_cnt_lbl
%t10 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0
%t11 = load ptr, ptr %t10
%t12 = load i32, ptr @g_nloop
%t13 = getelementptr inbounds ptr, ptr %t11, i32 %t12
%t14 = load ptr, ptr %t0
store ptr %t14, ptr %t13
%t15 = load ptr, ptr @g_brk_lbl
%t16 = getelementptr inbounds %LSlice, ptr %t15, i32 0, i32 0
%t17 = load ptr, ptr %t16
%t18 = load i32, ptr @g_nloop
%t19 = getelementptr inbounds ptr, ptr %t17, i32 %t18
%t20 = load ptr, ptr %t1
store ptr %t20, ptr %t19
br label %ifend2
else1:
%t21 = load ptr, ptr @g_cnt_lbl
%t22 = 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 %grow3, label %put4
grow3:
%t28 = mul i32 %t26, 2
%t29 = icmp eq i32 %t26, 0
%t30 = select i1 %t29, i32 8, i32 %t28
%t31 = getelementptr ptr, ptr null, i32 1
%t32 = ptrtoint ptr %t31 to i64
%t33 = zext i32 %t30 to i64
%t34 = mul i64 %t33, %t32
%t35 = load ptr, ptr %t24
%t36 = call ptr @realloc(ptr %t35, i64 %t34)
store ptr %t36, ptr %t24
store i32 %t30, ptr %t23
br label %put4
put4:
%t37 = load ptr, ptr %t0
%t38 = load ptr, ptr %t24
%t39 = getelementptr inbounds ptr, ptr %t38, i32 %t25
store ptr %t37, ptr %t39
%t40 = add i32 %t25, 1
store i32 %t40, ptr %t22
%t41 = load ptr, ptr @g_brk_lbl
%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 %grow5, label %put6
grow5:
%t48 = mul i32 %t46, 2
%t49 = icmp eq i32 %t46, 0
%t50 = select i1 %t49, i32 8, i32 %t48
%t51 = getelementptr ptr, ptr null, i32 1
%t52 = ptrtoint ptr %t51 to i64
%t53 = zext i32 %t50 to i64
%t54 = mul i64 %t53, %t52
%t55 = load ptr, ptr %t44
%t56 = call ptr @realloc(ptr %t55, i64 %t54)
store ptr %t56, ptr %t44
store i32 %t50, ptr %t43
br label %put6
put6:
%t57 = load ptr, ptr %t1
%t58 = load ptr, ptr %t44
%t59 = getelementptr inbounds ptr, ptr %t58, i32 %t45
store ptr %t57, ptr %t59
%t60 = add i32 %t45, 1
store i32 %t60, ptr %t42
br label %ifend2
ifend2:
%t61 = load i32, ptr @g_nloop
%t62 = add i32 %t61, 1
store i32 %t62, ptr @g_nloop
br label %ret
ret:
ret void
}
define void @fn_loop_pop() {
entry:
%t0 = load i32, ptr @g_nloop
%t1 = sub i32 %t0, 1
store i32 %t1, ptr @g_nloop
br label %ret
ret:
ret void
}
define i32 @fn_has_systems() {
entry:
%retval = alloca i32
%t0 = alloca i32
store i32 0, ptr %t0
br label %wcond0
wcond0:
%t1 = load i32, ptr %t0
%t2 = load ptr, ptr @g_prog
%t3 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 1
%t4 = load i32, ptr %t3
%t5 = icmp slt i32 %t1, %t4
%t6 = zext i1 %t5 to i32
%t7 = icmp ne i32 %t6, 0
br i1 %t7, label %wbody1, label %wend2
wbody1:
%t8 = load ptr, ptr @g_prog
%t9 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 0
%t10 = load ptr, ptr %t9
%t11 = load i32, ptr %t0
%t12 = getelementptr inbounds ptr, ptr %t10, i32 %t11
%t13 = load ptr, ptr %t12
%t14 = getelementptr inbounds %Cmp_Node, ptr %t13, i32 0, i32 0
%t15 = load i32, ptr %t14
%t16 = icmp eq i32 %t15, 9
%t17 = zext i1 %t16 to i32
%t18 = icmp ne i32 %t17, 0
br i1 %t18, label %then3, label %ifend5
then3:
store i32 1, ptr %retval
br label %ret
ifend5:
%t19 = load i32, ptr %t0
%t20 = add i32 %t19, 1
store i32 %t20, ptr %t0
br label %wcond0
wend2:
%t21 = call i32 @fn_uses_engine_systems()
%t22 = icmp ne i32 %t21, 0
br i1 %t22, label %then6, label %ifend8
then6:
store i32 1, ptr %retval
br label %ret
ifend8:
store i32 0, ptr %retval
br label %ret
ret:
%t23 = load i32, ptr %retval
ret i32 %t23
}
define i32 @fn_has_models() {
entry:
%retval = alloca i32
%t0 = alloca i32
store i32 0, ptr %t0
br label %wcond0
wcond0:
%t1 = load i32, ptr %t0
%t2 = load ptr, ptr @g_prog
%t3 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 1
%t4 = load i32, ptr %t3
%t5 = icmp slt i32 %t1, %t4
%t6 = zext i1 %t5 to i32
%t7 = icmp ne i32 %t6, 0
br i1 %t7, label %wbody1, label %wend2
wbody1:
%t8 = load ptr, ptr @g_prog
%t9 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 0
%t10 = load ptr, ptr %t9
%t11 = load i32, ptr %t0
%t12 = getelementptr inbounds ptr, ptr %t10, i32 %t11
%t13 = load ptr, ptr %t12
%t14 = getelementptr inbounds %Cmp_Node, ptr %t13, i32 0, i32 0
%t15 = load i32, ptr %t14
%t16 = icmp eq i32 %t15, 10
%t17 = zext i1 %t16 to i32
%t18 = icmp ne i32 %t17, 0
br i1 %t18, label %then3, label %ifend5
then3:
store i32 1, ptr %retval
br label %ret
ifend5:
%t19 = load i32, ptr %t0
%t20 = add i32 %t19, 1
store i32 %t20, ptr %t0
br label %wcond0
wend2:
store i32 0, ptr %retval
br label %ret
ret:
%t21 = load i32, ptr %retval
ret i32 %t21
}
define i32 @fn_uses_engine_systems() {
entry:
%retval = alloca i32
%t0 = call ptr @fn_find_comp(ptr @.str7022)
%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:
store i32 1, ptr %retval
br label %ret
ifend2:
%t4 = call ptr @fn_find_comp(ptr @.str7023)
%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 %retval
br label %ret
ifend5:
%t8 = call ptr @fn_find_comp(ptr @.str7024)
%t9 = icmp ne ptr %t8, null
%t10 = zext i1 %t9 to i32
%t11 = icmp ne i32 %t10, 0
br i1 %t11, label %then6, label %ifend8
then6:
store i32 1, ptr %retval
br label %ret
ifend8:
%t12 = call ptr @fn_find_comp(ptr @.str7025)
%t13 = icmp ne ptr %t12, null
%t14 = zext i1 %t13 to i32
%t15 = icmp ne i32 %t14, 0
br i1 %t15, label %then9, label %ifend11
then9:
store i32 1, ptr %retval
br label %ret
ifend11:
store i32 0, ptr %retval
br label %ret
ret:
%t16 = load i32, ptr %retval
ret i32 %t16
}
define i32 @fn_has_entry() {
entry:
%retval = alloca i32
%t0 = alloca i32
store i32 0, ptr %t0
br label %wcond0
wcond0:
%t1 = load i32, ptr %t0
%t2 = load ptr, ptr @g_prog
%t3 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 1
%t4 = load i32, ptr %t3
%t5 = icmp slt i32 %t1, %t4
%t6 = zext i1 %t5 to i32
%t7 = icmp ne i32 %t6, 0
br i1 %t7, label %wbody1, label %wend2
wbody1:
%t8 = load ptr, ptr @g_prog
%t9 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 0
%t10 = load ptr, ptr %t9
%t11 = load i32, ptr %t0
%t12 = getelementptr inbounds ptr, ptr %t10, i32 %t11
%t13 = load ptr, ptr %t12
%t14 = getelementptr inbounds %Cmp_Node, ptr %t13, i32 0, i32 0
%t15 = load i32, ptr %t14
%t16 = icmp eq i32 %t15, 6
%t17 = zext i1 %t16 to i32
%t18 = icmp ne i32 %t17, 0
br i1 %t18, label %then3, label %ifend5
then3:
store i32 1, ptr %retval
br label %ret
ifend5:
%t19 = load i32, ptr %t0
%t20 = add i32 %t19, 1
store i32 %t20, ptr %t0
br label %wcond0
wend2:
store i32 0, ptr %retval
br label %ret
ret:
%t21 = load i32, ptr %retval
ret i32 %t21
}
define i32 @fn_has_ecs() {
entry:
%retval = alloca i32
%t0 = alloca i32
%t1 = call i32 @fn_has_systems()
%t2 = icmp ne i32 %t1, 0
%t3 = zext i1 %t2 to i32
store i32 %t3, ptr %t0
br i1 %t2, label %scend1, label %sc0
sc0:
%t4 = call i32 @fn_has_models()
%t5 = icmp ne i32 %t4, 0
%t6 = zext i1 %t5 to i32
store i32 %t6, ptr %t0
br label %scend1
scend1:
%t7 = load i32, ptr %t0
store i32 %t7, ptr %retval
br label %ret
ret:
%t8 = load i32, ptr %retval
ret i32 %t8
}
define void @fn_emit_ecs_storage() {
entry:
%t7 = alloca ptr
%t24 = alloca i32
%t38 = alloca ptr
%t90 = alloca i32
call void @fn_emith(ptr @.str7026)
call void @fn_emith(ptr @.str7027)
call void @fn_emith(ptr @.str7028)
%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 @.str7029)
br label %ifend2
ifend2:
call void @fn_emith(ptr @.str7030)
%t6 = call ptr @fn_itoa(i32 1024)
store ptr %t6, ptr %t7
%t8 = load ptr, ptr %t7
%t9 = call ptr @fn_str_concat(ptr @.str7031, ptr %t8)
%t10 = call ptr @fn_str_concat(ptr %t9, ptr @.str7032)
call void @fn_emith(ptr %t10)
%t11 = load ptr, ptr %t7
%t12 = call ptr @fn_str_concat(ptr @.str7033, ptr %t11)
%t13 = call ptr @fn_str_concat(ptr %t12, ptr @.str7034)
call void @fn_emith(ptr %t13)
%t14 = load ptr, ptr %t7
%t15 = call ptr @fn_str_concat(ptr @.str7035, ptr %t14)
%t16 = call ptr @fn_str_concat(ptr %t15, ptr @.str7036)
call void @fn_emith(ptr %t16)
call void @fn_emith(ptr @.str7037)
%t17 = call i32 @fn_net_any()
%t18 = icmp ne i32 %t17, 0
br i1 %t18, label %then3, label %ifend5
then3:
call void @fn_emith(ptr @.str7038)
call void @fn_emith(ptr @.str7039)
br label %ifend5
ifend5:
%t19 = call i32 @fn_net_has_owned()
%t20 = icmp ne i32 %t19, 0
br i1 %t20, label %then6, label %ifend8
then6:
%t21 = load ptr, ptr %t7
%t22 = call ptr @fn_str_concat(ptr @.str7040, ptr %t21)
%t23 = call ptr @fn_str_concat(ptr %t22, ptr @.str7041)
call void @fn_emith(ptr %t23)
br label %ifend8
ifend8:
store i32 0, ptr %t24
br label %wcond9
wcond9:
%t25 = load i32, ptr %t24
%t26 = load ptr, ptr @g_prog
%t27 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 1
%t28 = load i32, ptr %t27
%t29 = icmp slt i32 %t25, %t28
%t30 = zext i1 %t29 to i32
%t31 = icmp ne i32 %t30, 0
br i1 %t31, label %wbody10, label %wend11
wbody10:
%t32 = load ptr, ptr @g_prog
%t33 = getelementptr inbounds %LSlice, ptr %t32, i32 0, i32 0
%t34 = load ptr, ptr %t33
%t35 = load i32, ptr %t24
%t36 = getelementptr inbounds ptr, ptr %t34, i32 %t35
%t37 = load ptr, ptr %t36
store ptr %t37, ptr %t38
%t39 = load ptr, ptr %t38
%t40 = getelementptr inbounds %Cmp_Node, ptr %t39, i32 0, i32 0
%t41 = load i32, ptr %t40
%t42 = icmp eq i32 %t41, 8
%t43 = zext i1 %t42 to i32
%t44 = icmp ne i32 %t43, 0
br i1 %t44, label %then12, label %ifend14
then12:
%t45 = load ptr, ptr %t38
%t46 = getelementptr inbounds %Cmp_Node, ptr %t45, i32 0, i32 1
%t47 = load ptr, ptr %t46
%t48 = call ptr @fn_str_concat(ptr @.str7042, ptr %t47)
%t49 = call ptr @fn_str_concat(ptr %t48, ptr @.str7043)
%t50 = load ptr, ptr %t7
%t51 = call ptr @fn_str_concat(ptr %t49, ptr %t50)
%t52 = call ptr @fn_str_concat(ptr %t51, ptr @.str7044)
%t53 = load ptr, ptr %t38
%t54 = getelementptr inbounds %Cmp_Node, ptr %t53, i32 0, i32 1
%t55 = load ptr, ptr %t54
%t56 = call ptr @fn_str_concat(ptr %t52, ptr %t55)
%t57 = call ptr @fn_str_concat(ptr %t56, ptr @.str7045)
call void @fn_emith(ptr %t57)
%t58 = load ptr, ptr %t38
%t59 = getelementptr inbounds %Cmp_Node, ptr %t58, i32 0, i32 1
%t60 = load ptr, ptr %t59
%t61 = call ptr @fn_str_concat(ptr @.str7046, ptr %t60)
%t62 = call ptr @fn_str_concat(ptr %t61, ptr @.str7047)
%t63 = load ptr, ptr %t7
%t64 = call ptr @fn_str_concat(ptr %t62, ptr %t63)
%t65 = call ptr @fn_str_concat(ptr %t64, ptr @.str7048)
call void @fn_emith(ptr %t65)
br label %ifend14
ifend14:
%t66 = load ptr, ptr %t38
%t67 = getelementptr inbounds %Cmp_Node, ptr %t66, i32 0, i32 0
%t68 = load i32, ptr %t67
%t69 = icmp eq i32 %t68, 10
%t70 = zext i1 %t69 to i32
%t71 = icmp ne i32 %t70, 0
br i1 %t71, label %then15, label %ifend17
then15:
%t72 = load ptr, ptr %t38
%t73 = getelementptr inbounds %Cmp_Node, ptr %t72, i32 0, i32 1
%t74 = load ptr, ptr %t73
%t75 = call ptr @fn_str_concat(ptr @.str7049, ptr %t74)
%t76 = call ptr @fn_str_concat(ptr %t75, ptr @.str7050)
call void @fn_emith(ptr %t76)
br label %ifend17
ifend17:
%t77 = load ptr, ptr %t38
%t78 = getelementptr inbounds %Cmp_Node, ptr %t77, i32 0, i32 0
%t79 = load i32, ptr %t78
%t80 = icmp eq i32 %t79, 9
%t81 = zext i1 %t80 to i32
%t82 = icmp ne i32 %t81, 0
br i1 %t82, label %then18, label %ifend20
then18:
%t83 = load ptr, ptr %t38
%t84 = getelementptr inbounds %Cmp_Node, ptr %t83, i32 0, i32 1
%t85 = load ptr, ptr %t84
%t86 = call ptr @fn_str_concat(ptr @.str7051, ptr %t85)
%t87 = call ptr @fn_str_concat(ptr %t86, ptr @.str7052)
call void @fn_emith(ptr %t87)
br label %ifend20
ifend20:
%t88 = load i32, ptr %t24
%t89 = add i32 %t88, 1
store i32 %t89, ptr %t24
br label %wcond9
wend11:
store i32 0, ptr %t90
br label %wcond21
wcond21:
%t91 = load i32, ptr %t90
%t92 = load ptr, ptr @g_g_toggled_layers
%t93 = getelementptr inbounds %LSlice, ptr %t92, i32 0, i32 1
%t94 = load i32, ptr %t93
%t95 = icmp slt i32 %t91, %t94
%t96 = zext i1 %t95 to i32
%t97 = icmp ne i32 %t96, 0
br i1 %t97, label %wbody22, label %wend23
wbody22:
%t98 = load ptr, ptr @g_g_toggled_layers
%t99 = getelementptr inbounds %LSlice, ptr %t98, i32 0, i32 0
%t100 = load ptr, ptr %t99
%t101 = load i32, ptr %t90
%t102 = getelementptr inbounds ptr, ptr %t100, i32 %t101
%t103 = load ptr, ptr %t102
%t104 = call ptr @fn_str_concat(ptr @.str7053, ptr %t103)
%t105 = call ptr @fn_str_concat(ptr %t104, ptr @.str7054)
call void @fn_emith(ptr %t105)
%t106 = load i32, ptr %t90
%t107 = add i32 %t106, 1
store i32 %t107, ptr %t90
br label %wcond21
wend23:
br label %ret
ret:
ret void
}
define void @fn_emit_ecs_allocator() {
entry:
%t1 = alloca ptr
%t2 = alloca i32
%t24 = alloca ptr
%t0 = call ptr @fn_itoa(i32 1024)
store ptr %t0, ptr %t1
call void @fn_emit(ptr @.str7055)
store i32 0, ptr %t2
br label %wcond0
wcond0:
%t3 = load i32, ptr %t2
%t4 = load ptr, ptr @g_prog
%t5 = getelementptr inbounds %LSlice, ptr %t4, i32 0, i32 1
%t6 = load i32, ptr %t5
%t7 = icmp slt i32 %t3, %t6
%t8 = zext i1 %t7 to i32
%t9 = icmp ne i32 %t8, 0
br i1 %t9, label %wbody1, label %wend2
wbody1:
%t10 = load ptr, ptr @g_prog
%t11 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 0
%t12 = load ptr, ptr %t11
%t13 = load i32, ptr %t2
%t14 = getelementptr inbounds ptr, ptr %t12, i32 %t13
%t15 = load ptr, ptr %t14
%t16 = getelementptr inbounds %Cmp_Node, ptr %t15, i32 0, i32 0
%t17 = load i32, ptr %t16
%t18 = icmp eq i32 %t17, 8
%t19 = zext i1 %t18 to i32
%t20 = icmp ne i32 %t19, 0
br i1 %t20, label %then3, label %ifend5
then3:
%t21 = load i32, ptr %t2
%t22 = call ptr @fn_itoa(i32 %t21)
%t23 = call ptr @fn_str_concat(ptr @.str7056, ptr %t22)
store ptr %t23, ptr %t24
call void @fn_emit(ptr @.str7057)
%t25 = load ptr, ptr %t24
call void @fn_emit(ptr %t25)
call void @fn_emit(ptr @.str7058)
%t26 = load ptr, ptr %t1
call void @fn_emit(ptr %t26)
call void @fn_emit(ptr @.str7059)
%t27 = load ptr, ptr @g_prog
%t28 = getelementptr inbounds %LSlice, ptr %t27, i32 0, i32 0
%t29 = load ptr, ptr %t28
%t30 = load i32, ptr %t2
%t31 = getelementptr inbounds ptr, ptr %t29, i32 %t30
%t32 = load ptr, ptr %t31
%t33 = getelementptr inbounds %Cmp_Node, ptr %t32, i32 0, i32 1
%t34 = load ptr, ptr %t33
call void @fn_emit(ptr %t34)
call void @fn_emit(ptr @.str7060)
call void @fn_emit(ptr @.str7061)
%t35 = load ptr, ptr %t24
call void @fn_emit(ptr %t35)
call void @fn_emit(ptr @.str7062)
br label %ifend5
ifend5:
%t36 = load i32, ptr %t2
%t37 = add i32 %t36, 1
store i32 %t37, ptr %t2
br label %wcond0
wend2:
call void @fn_emit(ptr @.str7063)
%t38 = load ptr, ptr %t1
call void @fn_emit(ptr %t38)
call void @fn_emit(ptr @.str7064)
call void @fn_emit(ptr @.str7065)
%t39 = call i32 @fn_net_has_owned()
%t40 = icmp ne i32 %t39, 0
br i1 %t40, label %then6, label %ifend8
then6:
call void @fn_emit(ptr @.str7066)
%t41 = load ptr, ptr %t1
call void @fn_emit(ptr %t41)
call void @fn_emit(ptr @.str7067)
call void @fn_emit(ptr @.str7068)
br label %ifend8
ifend8:
call void @fn_emit(ptr @.str7069)
call void @fn_emit(ptr @.str7070)
call void @fn_emit(ptr @.str7071)
call void @fn_emit(ptr @.str7072)
call void @fn_emit(ptr @.str7073)
call void @fn_emit(ptr @.str7074)
call void @fn_emit(ptr @.str7075)
call void @fn_emit(ptr @.str7076)
call void @fn_emit(ptr @.str7077)
%t42 = load ptr, ptr %t1
call void @fn_emit(ptr %t42)
call void @fn_emit(ptr @.str7078)
call void @fn_emit(ptr @.str7079)
call void @fn_emit(ptr @.str7080)
call void @fn_emit(ptr @.str7081)
call void @fn_emit(ptr @.str7082)
call void @fn_emit(ptr @.str7083)
call void @fn_emit(ptr @.str7084)
call void @fn_emit(ptr @.str7085)
call void @fn_emit(ptr @.str7086)
call void @fn_emit(ptr @.str7087)
call void @fn_emit(ptr @.str7088)
call void @fn_emit(ptr @.str7089)
%t43 = load ptr, ptr %t1
call void @fn_emit(ptr %t43)
call void @fn_emit(ptr @.str7090)
call void @fn_emit(ptr @.str7091)
call void @fn_emit(ptr @.str7092)
call void @fn_emit(ptr @.str7093)
call void @fn_emit(ptr @.str7094)
%t44 = load ptr, ptr %t1
call void @fn_emit(ptr %t44)
call void @fn_emit(ptr @.str7095)
call void @fn_emit(ptr @.str7096)
call void @fn_emit(ptr @.str7097)
call void @fn_emit(ptr @.str7098)
call void @fn_emit(ptr @.str7099)
%t45 = load ptr, ptr %t1
call void @fn_emit(ptr %t45)
call void @fn_emit(ptr @.str7100)
call void @fn_emit(ptr @.str7101)
call void @fn_emit(ptr @.str7102)
call void @fn_emit(ptr @.str7103)
call void @fn_emit(ptr @.str7104)
br label %ret
ret:
ret void
}
define i32 @fn_find_arch_id(ptr %arg_name) {
entry:
%retval = alloca i32
%t0 = alloca ptr
%t1 = alloca i32
%t2 = alloca i32
store ptr %arg_name, ptr %t0
store i32 0, ptr %t1
store i32 1, ptr %t2
br label %wcond0
wcond0:
%t3 = load i32, ptr %t1
%t4 = load ptr, ptr @g_prog
%t5 = getelementptr inbounds %LSlice, ptr %t4, i32 0, i32 1
%t6 = load i32, ptr %t5
%t7 = icmp slt i32 %t3, %t6
%t8 = zext i1 %t7 to i32
%t9 = icmp ne i32 %t8, 0
br i1 %t9, label %wbody1, label %wend2
wbody1:
%t10 = load ptr, ptr @g_prog
%t11 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 0
%t12 = load ptr, ptr %t11
%t13 = load i32, ptr %t1
%t14 = getelementptr inbounds ptr, ptr %t12, i32 %t13
%t15 = load ptr, ptr %t14
%t16 = getelementptr inbounds %Cmp_Node, ptr %t15, i32 0, i32 0
%t17 = load i32, ptr %t16
%t18 = icmp eq i32 %t17, 10
%t19 = zext i1 %t18 to i32
%t20 = icmp ne i32 %t19, 0
br i1 %t20, label %then3, label %ifend5
then3:
%t21 = load ptr, ptr @g_prog
%t22 = getelementptr inbounds %LSlice, ptr %t21, i32 0, i32 0
%t23 = load ptr, ptr %t22
%t24 = load i32, ptr %t1
%t25 = getelementptr inbounds ptr, ptr %t23, i32 %t24
%t26 = load ptr, ptr %t25
%t27 = getelementptr inbounds %Cmp_Node, ptr %t26, i32 0, i32 1
%t28 = load ptr, ptr %t27
%t29 = load ptr, ptr %t0
%t30 = call i32 @fn_str_eq(ptr %t28, ptr %t29)
%t31 = icmp ne i32 %t30, 0
br i1 %t31, label %then6, label %ifend8
then6:
%t32 = load i32, ptr %t2
store i32 %t32, ptr %retval
br label %ret
ifend8:
%t33 = load i32, ptr %t2
%t34 = add i32 %t33, 1
store i32 %t34, ptr %t2
br label %ifend5
ifend5:
%t35 = load i32, ptr %t1
%t36 = add i32 %t35, 1
store i32 %t36, ptr %t1
br label %wcond0
wend2:
store i32 0, ptr %retval
br label %ret
ret:
%t37 = load i32, ptr %retval
ret i32 %t37
}
define void @fn_emit_query(ptr %arg_st) {
entry:
%t0 = alloca ptr
%t2 = alloca ptr
%t4 = alloca ptr
%t42 = alloca ptr
%t44 = alloca ptr
%t46 = alloca ptr
%t48 = alloca ptr
%t54 = alloca ptr
%t56 = alloca ptr
%t63 = alloca ptr
%t71 = alloca ptr
%t73 = alloca ptr
%t80 = alloca ptr
%t85 = alloca ptr
%t87 = alloca ptr
%t95 = alloca ptr
%t96 = alloca i32
%t114 = alloca ptr
%t119 = alloca i32
%t120 = alloca ptr
%t126 = alloca ptr
%t133 = alloca ptr
%t141 = alloca ptr
%t147 = alloca ptr
%t152 = alloca ptr
%t160 = alloca ptr
%t170 = alloca ptr
%t176 = alloca ptr
%t184 = alloca i32
%t185 = alloca i32
%t203 = alloca ptr
%t204 = alloca i32
%t232 = alloca ptr
%t243 = alloca ptr
%t274 = alloca ptr
%t281 = alloca ptr
%t283 = alloca ptr
%t303 = alloca ptr
%t308 = alloca ptr
store ptr %arg_st, ptr %t0
%t1 = call ptr @fn_itoa(i32 1024)
store ptr %t1, ptr %t2
%t3 = call ptr @fn_emit_alloca(ptr @.str7105)
store ptr %t3, ptr %t4
%t5 = load ptr, ptr %t4
call void @fn_store_at(ptr @.str7106, ptr @.str7107, ptr %t5)
%t6 = load i32, ptr @g_nself
%t7 = load ptr, ptr @g_self_stk
%t8 = getelementptr inbounds %LSlice, ptr %t7, i32 0, i32 1
%t9 = load i32, ptr %t8
%t10 = icmp slt i32 %t6, %t9
%t11 = zext i1 %t10 to i32
%t12 = icmp ne i32 %t11, 0
br i1 %t12, label %then0, label %else1
then0:
%t13 = load ptr, ptr @g_self_stk
%t14 = getelementptr inbounds %LSlice, ptr %t13, i32 0, i32 0
%t15 = load ptr, ptr %t14
%t16 = load i32, ptr @g_nself
%t17 = getelementptr inbounds ptr, ptr %t15, i32 %t16
%t18 = load ptr, ptr %t4
store ptr %t18, ptr %t17
br label %ifend2
else1:
%t19 = load ptr, ptr @g_self_stk
%t20 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 1
%t21 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 2
%t22 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 0
%t23 = load i32, ptr %t20
%t24 = load i32, ptr %t21
%t25 = icmp sge i32 %t23, %t24
br i1 %t25, label %grow3, label %put4
grow3:
%t26 = mul i32 %t24, 2
%t27 = icmp eq i32 %t24, 0
%t28 = select i1 %t27, i32 8, i32 %t26
%t29 = getelementptr ptr, ptr null, i32 1
%t30 = ptrtoint ptr %t29 to i64
%t31 = zext i32 %t28 to i64
%t32 = mul i64 %t31, %t30
%t33 = load ptr, ptr %t22
%t34 = call ptr @realloc(ptr %t33, i64 %t32)
store ptr %t34, ptr %t22
store i32 %t28, ptr %t21
br label %put4
put4:
%t35 = load ptr, ptr %t4
%t36 = load ptr, ptr %t22
%t37 = getelementptr inbounds ptr, ptr %t36, i32 %t23
store ptr %t35, ptr %t37
%t38 = add i32 %t23, 1
store i32 %t38, ptr %t20
br label %ifend2
ifend2:
%t39 = load i32, ptr @g_nself
%t40 = add i32 %t39, 1
store i32 %t40, ptr @g_nself
%t41 = call ptr @fn_lbl(ptr @.str7108)
store ptr %t41, ptr %t42
%t43 = call ptr @fn_lbl(ptr @.str7109)
store ptr %t43, ptr %t44
%t45 = call ptr @fn_lbl(ptr @.str7110)
store ptr %t45, ptr %t46
%t47 = call ptr @fn_lbl(ptr @.str7111)
store ptr %t47, ptr %t48
call void @fn_emit(ptr @.str7112)
%t49 = load ptr, ptr %t42
call void @fn_emit(ptr %t49)
call void @fn_emit(ptr @.str7113)
%t50 = load ptr, ptr %t42
call void @fn_emit(ptr %t50)
call void @fn_emit(ptr @.str7114)
%t51 = load ptr, ptr %t4
%t52 = call ptr @fn_str_concat(ptr @.str7115, ptr %t51)
%t53 = call ptr @fn_emit_bind(ptr %t52)
store ptr %t53, ptr %t54
%t55 = call ptr @fn_emit_bind(ptr @.str7116)
store ptr %t55, ptr %t56
%t57 = load ptr, ptr %t54
%t58 = call ptr @fn_str_concat(ptr @.str7117, ptr %t57)
%t59 = call ptr @fn_str_concat(ptr %t58, ptr @.str7118)
%t60 = load ptr, ptr %t56
%t61 = call ptr @fn_str_concat(ptr %t59, ptr %t60)
%t62 = call ptr @fn_emit_bind(ptr %t61)
store ptr %t62, ptr %t63
call void @fn_emit(ptr @.str7119)
%t64 = load ptr, ptr %t63
call void @fn_emit(ptr %t64)
call void @fn_emit(ptr @.str7120)
%t65 = load ptr, ptr %t44
call void @fn_emit(ptr %t65)
call void @fn_emit(ptr @.str7121)
%t66 = load ptr, ptr %t48
call void @fn_emit(ptr %t66)
call void @fn_emit(ptr @.str7122)
%t67 = load ptr, ptr %t44
call void @fn_emit(ptr %t67)
call void @fn_emit(ptr @.str7123)
store i32 0, ptr @g_g_term
%t68 = load ptr, ptr %t4
%t69 = call ptr @fn_str_concat(ptr @.str7124, ptr %t68)
%t70 = call ptr @fn_emit_bind(ptr %t69)
store ptr %t70, ptr %t71
%t72 = call ptr @fn_nreg()
store ptr %t72, ptr %t73
call void @fn_emit(ptr @.str7125)
%t74 = load ptr, ptr %t73
call void @fn_emit(ptr %t74)
call void @fn_emit(ptr @.str7126)
%t75 = load ptr, ptr %t2
call void @fn_emit(ptr %t75)
call void @fn_emit(ptr @.str7127)
%t76 = load ptr, ptr %t71
call void @fn_emit(ptr %t76)
call void @fn_emit(ptr @.str7128)
%t77 = load ptr, ptr %t73
%t78 = call ptr @fn_str_concat(ptr @.str7129, ptr %t77)
%t79 = call ptr @fn_emit_bind(ptr %t78)
store ptr %t79, ptr %t80
%t81 = load ptr, ptr %t80
%t82 = call ptr @fn_str_concat(ptr @.str7130, ptr %t81)
%t83 = call ptr @fn_str_concat(ptr %t82, ptr @.str7131)
%t84 = call ptr @fn_emit_bind(ptr %t83)
store ptr %t84, ptr %t85
%t86 = call ptr @fn_lbl(ptr @.str7132)
store ptr %t86, ptr %t87
call void @fn_emit(ptr @.str7133)
%t88 = load ptr, ptr %t85
call void @fn_emit(ptr %t88)
call void @fn_emit(ptr @.str7134)
%t89 = load ptr, ptr %t87
call void @fn_emit(ptr %t89)
call void @fn_emit(ptr @.str7135)
%t90 = load ptr, ptr %t46
call void @fn_emit(ptr %t90)
call void @fn_emit(ptr @.str7136)
%t91 = load ptr, ptr %t87
call void @fn_emit(ptr %t91)
call void @fn_emit(ptr @.str7137)
%t92 = load ptr, ptr %t0
%t93 = getelementptr inbounds %Cmp_Node, ptr %t92, i32 0, i32 6
%t94 = load ptr, ptr %t93
store ptr %t94, ptr %t95
store i32 0, ptr %t96
br label %wcond5
wcond5:
%t97 = load i32, ptr %t96
%t98 = load ptr, ptr %t95
%t99 = getelementptr inbounds %Cmp_Node, ptr %t98, i32 0, i32 7
%t100 = load ptr, ptr %t99
%t101 = getelementptr inbounds %LSlice, ptr %t100, i32 0, i32 1
%t102 = load i32, ptr %t101
%t103 = icmp slt i32 %t97, %t102
%t104 = zext i1 %t103 to i32
%t105 = icmp ne i32 %t104, 0
br i1 %t105, label %wbody6, label %wend7
wbody6:
%t106 = load ptr, ptr %t95
%t107 = getelementptr inbounds %Cmp_Node, ptr %t106, i32 0, i32 7
%t108 = load ptr, ptr %t107
%t109 = getelementptr inbounds %LSlice, ptr %t108, i32 0, i32 0
%t110 = load ptr, ptr %t109
%t111 = load i32, ptr %t96
%t112 = getelementptr inbounds ptr, ptr %t110, i32 %t111
%t113 = load ptr, ptr %t112
store ptr %t113, ptr %t114
%t115 = load ptr, ptr %t114
%t116 = getelementptr inbounds %Cmp_Node, ptr %t115, i32 0, i32 1
%t117 = load ptr, ptr %t116
%t118 = call i32 @fn_find_arch_id(ptr %t117)
store i32 %t118, ptr %t119
store ptr @.str7138, ptr %t120
%t121 = load i32, ptr %t119
%t122 = icmp sgt i32 %t121, 0
%t123 = zext i1 %t122 to i32
%t124 = icmp ne i32 %t123, 0
br i1 %t124, label %then8, label %else9
then8:
%t125 = call ptr @fn_nreg()
store ptr %t125, ptr %t126
call void @fn_emit(ptr @.str7139)
%t127 = load ptr, ptr %t126
call void @fn_emit(ptr %t127)
call void @fn_emit(ptr @.str7140)
%t128 = load ptr, ptr %t2
call void @fn_emit(ptr %t128)
call void @fn_emit(ptr @.str7141)
%t129 = load ptr, ptr %t71
call void @fn_emit(ptr %t129)
call void @fn_emit(ptr @.str7142)
%t130 = load ptr, ptr %t126
%t131 = call ptr @fn_str_concat(ptr @.str7143, ptr %t130)
%t132 = call ptr @fn_emit_bind(ptr %t131)
store ptr %t132, ptr %t133
%t134 = load ptr, ptr %t133
%t135 = call ptr @fn_str_concat(ptr @.str7144, ptr %t134)
%t136 = call ptr @fn_str_concat(ptr %t135, ptr @.str7145)
%t137 = load i32, ptr %t119
%t138 = call ptr @fn_itoa(i32 %t137)
%t139 = call ptr @fn_str_concat(ptr %t136, ptr %t138)
%t140 = call ptr @fn_emit_bind(ptr %t139)
store ptr %t140, ptr %t141
%t142 = load ptr, ptr %t114
%t143 = getelementptr inbounds %Cmp_Node, ptr %t142, i32 0, i32 1
%t144 = load ptr, ptr %t143
%t145 = call ptr @fn_str_concat(ptr @.str7146, ptr %t144)
%t146 = call ptr @fn_emit_bind(ptr %t145)
store ptr %t146, ptr %t147
%t148 = load ptr, ptr %t147
%t149 = call ptr @fn_str_concat(ptr @.str7147, ptr %t148)
%t150 = call ptr @fn_str_concat(ptr %t149, ptr @.str7148)
%t151 = call ptr @fn_emit_bind(ptr %t150)
store ptr %t151, ptr %t152
%t153 = load ptr, ptr %t141
%t154 = call ptr @fn_str_concat(ptr @.str7149, ptr %t153)
%t155 = call ptr @fn_str_concat(ptr %t154, ptr @.str7150)
%t156 = load ptr, ptr %t152
%t157 = call ptr @fn_str_concat(ptr %t155, ptr %t156)
%t158 = call ptr @fn_emit_bind(ptr %t157)
store ptr %t158, ptr %t120
br label %ifend10
else9:
%t159 = call ptr @fn_nreg()
store ptr %t159, ptr %t160
call void @fn_emit(ptr @.str7151)
%t161 = load ptr, ptr %t160
call void @fn_emit(ptr %t161)
call void @fn_emit(ptr @.str7152)
%t162 = load ptr, ptr %t2
call void @fn_emit(ptr %t162)
call void @fn_emit(ptr @.str7153)
%t163 = load ptr, ptr %t114
%t164 = getelementptr inbounds %Cmp_Node, ptr %t163, i32 0, i32 1
%t165 = load ptr, ptr %t164
call void @fn_emit(ptr %t165)
call void @fn_emit(ptr @.str7154)
%t166 = load ptr, ptr %t71
call void @fn_emit(ptr %t166)
call void @fn_emit(ptr @.str7155)
%t167 = load ptr, ptr %t160
%t168 = call ptr @fn_str_concat(ptr @.str7156, ptr %t167)
%t169 = call ptr @fn_emit_bind(ptr %t168)
store ptr %t169, ptr %t170
%t171 = load ptr, ptr %t170
%t172 = call ptr @fn_str_concat(ptr @.str7157, ptr %t171)
%t173 = call ptr @fn_str_concat(ptr %t172, ptr @.str7158)
%t174 = call ptr @fn_emit_bind(ptr %t173)
store ptr %t174, ptr %t120
br label %ifend10
ifend10:
%t175 = call ptr @fn_lbl(ptr @.str7159)
store ptr %t175, ptr %t176
call void @fn_emit(ptr @.str7160)
%t177 = load ptr, ptr %t120
call void @fn_emit(ptr %t177)
call void @fn_emit(ptr @.str7161)
%t178 = load ptr, ptr %t176
call void @fn_emit(ptr %t178)
call void @fn_emit(ptr @.str7162)
%t179 = load ptr, ptr %t46
call void @fn_emit(ptr %t179)
call void @fn_emit(ptr @.str7163)
%t180 = load ptr, ptr %t176
call void @fn_emit(ptr %t180)
call void @fn_emit(ptr @.str7164)
%t181 = load i32, ptr %t96
%t182 = add i32 %t181, 1
store i32 %t182, ptr %t96
br label %wcond5
wend7:
%t183 = load i32, ptr @g_nloc
store i32 %t183, ptr %t184
store i32 0, ptr %t185
store i32 0, ptr %t96
br label %wcond11
wcond11:
%t186 = load i32, ptr %t96
%t187 = load ptr, ptr %t95
%t188 = getelementptr inbounds %Cmp_Node, ptr %t187, i32 0, i32 7
%t189 = load ptr, ptr %t188
%t190 = getelementptr inbounds %LSlice, ptr %t189, i32 0, i32 1
%t191 = load i32, ptr %t190
%t192 = icmp slt i32 %t186, %t191
%t193 = zext i1 %t192 to i32
%t194 = icmp ne i32 %t193, 0
br i1 %t194, label %wbody12, label %wend13
wbody12:
%t195 = load ptr, ptr %t95
%t196 = getelementptr inbounds %Cmp_Node, ptr %t195, i32 0, i32 7
%t197 = load ptr, ptr %t196
%t198 = getelementptr inbounds %LSlice, ptr %t197, i32 0, i32 0
%t199 = load ptr, ptr %t198
%t200 = load i32, ptr %t96
%t201 = getelementptr inbounds ptr, ptr %t199, i32 %t200
%t202 = load ptr, ptr %t201
store ptr %t202, ptr %t203
%t205 = load ptr, ptr %t203
%t206 = getelementptr inbounds %Cmp_Node, ptr %t205, i32 0, i32 2
%t207 = load i32, ptr %t206
%t208 = icmp eq i32 %t207, 0
%t209 = zext i1 %t208 to i32
%t210 = icmp ne i32 %t209, 0
%t211 = zext i1 %t210 to i32
store i32 %t211, ptr %t204
br i1 %t210, label %sc14, label %scend15
sc14:
%t212 = load ptr, ptr %t203
%t213 = getelementptr inbounds %Cmp_Node, ptr %t212, i32 0, i32 1
%t214 = load ptr, ptr %t213
%t215 = call i32 @fn_find_arch_id(ptr %t214)
%t216 = icmp eq i32 %t215, 0
%t217 = zext i1 %t216 to i32
%t218 = icmp ne i32 %t217, 0
%t219 = zext i1 %t218 to i32
store i32 %t219, ptr %t204
br label %scend15
scend15:
%t220 = load i32, ptr %t204
%t221 = icmp ne i32 %t220, 0
br i1 %t221, label %then16, label %ifend18
then16:
%t222 = load i32, ptr %t185
%t223 = load ptr, ptr %t0
%t224 = getelementptr inbounds %Cmp_Node, ptr %t223, i32 0, i32 7
%t225 = load ptr, ptr %t224
%t226 = getelementptr inbounds %LSlice, ptr %t225, i32 0, i32 1
%t227 = load i32, ptr %t226
%t228 = icmp slt i32 %t222, %t227
%t229 = zext i1 %t228 to i32
%t230 = icmp ne i32 %t229, 0
br i1 %t230, label %then19, label %ifend21
then19:
%t231 = call ptr @fn_nreg()
store ptr %t231, ptr %t232
call void @fn_emit(ptr @.str7165)
%t233 = load ptr, ptr %t232
call void @fn_emit(ptr %t233)
call void @fn_emit(ptr @.str7166)
%t234 = load ptr, ptr %t2
call void @fn_emit(ptr %t234)
call void @fn_emit(ptr @.str7167)
%t235 = load ptr, ptr %t203
%t236 = getelementptr inbounds %Cmp_Node, ptr %t235, i32 0, i32 1
%t237 = load ptr, ptr %t236
call void @fn_emit(ptr %t237)
call void @fn_emit(ptr @.str7168)
%t238 = load ptr, ptr %t203
%t239 = getelementptr inbounds %Cmp_Node, ptr %t238, i32 0, i32 1
%t240 = load ptr, ptr %t239
call void @fn_emit(ptr %t240)
call void @fn_emit(ptr @.str7169)
%t241 = load ptr, ptr %t71
call void @fn_emit(ptr %t241)
call void @fn_emit(ptr @.str7170)
%t242 = call ptr @fn_emit_alloca(ptr @.str7171)
store ptr %t242, ptr %t243
call void @fn_emit(ptr @.str7172)
%t244 = load ptr, ptr %t232
call void @fn_emit(ptr %t244)
call void @fn_emit(ptr @.str7173)
%t245 = load ptr, ptr %t243
call void @fn_emit(ptr %t245)
call void @fn_emit(ptr @.str7174)
%t246 = load ptr, ptr %t0
%t247 = getelementptr inbounds %Cmp_Node, ptr %t246, i32 0, i32 7
%t248 = load ptr, ptr %t247
%t249 = getelementptr inbounds %LSlice, ptr %t248, i32 0, i32 0
%t250 = load ptr, ptr %t249
%t251 = load i32, ptr %t185
%t252 = getelementptr inbounds ptr, ptr %t250, i32 %t251
%t253 = load ptr, ptr %t252
%t254 = getelementptr inbounds %Cmp_Node, ptr %t253, i32 0, i32 1
%t255 = load ptr, ptr %t254
%t256 = load ptr, ptr %t243
%t257 = load ptr, ptr %t203
%t258 = getelementptr inbounds %Cmp_Node, ptr %t257, i32 0, i32 1
%t259 = load ptr, ptr %t258
call void @fn_loc_push(ptr %t255, ptr %t256, ptr %t259)
%t260 = load i32, ptr %t185
%t261 = add i32 %t260, 1
store i32 %t261, ptr %t185
br label %ifend21
ifend21:
br label %ifend18
ifend18:
%t262 = load i32, ptr %t96
%t263 = add i32 %t262, 1
store i32 %t263, ptr %t96
br label %wcond11
wend13:
%t264 = load ptr, ptr %t0
%t265 = getelementptr inbounds %Cmp_Node, ptr %t264, i32 0, i32 5
%t266 = load ptr, ptr %t265
%t267 = icmp ne ptr %t266, null
%t268 = zext i1 %t267 to i32
%t269 = icmp ne i32 %t268, 0
br i1 %t269, label %then22, label %ifend24
then22:
%t270 = load ptr, ptr %t0
%t271 = getelementptr inbounds %Cmp_Node, ptr %t270, i32 0, i32 5
%t272 = load ptr, ptr %t271
%t273 = call ptr @fn_emit_expr(ptr %t272)
store ptr %t273, ptr %t274
%t275 = load ptr, ptr %t274
%t276 = getelementptr inbounds %Cmp_Val, ptr %t275, i32 0, i32 0
%t277 = load ptr, ptr %t276
%t278 = call ptr @fn_str_concat(ptr @.str7175, ptr %t277)
%t279 = call ptr @fn_str_concat(ptr %t278, ptr @.str7176)
%t280 = call ptr @fn_emit_bind(ptr %t279)
store ptr %t280, ptr %t281
%t282 = call ptr @fn_lbl(ptr @.str7177)
store ptr %t282, ptr %t283
call void @fn_emit(ptr @.str7178)
%t284 = load ptr, ptr %t281
call void @fn_emit(ptr %t284)
call void @fn_emit(ptr @.str7179)
%t285 = load ptr, ptr %t283
call void @fn_emit(ptr %t285)
call void @fn_emit(ptr @.str7180)
%t286 = load ptr, ptr %t46
call void @fn_emit(ptr %t286)
call void @fn_emit(ptr @.str7181)
%t287 = load ptr, ptr %t283
call void @fn_emit(ptr %t287)
call void @fn_emit(ptr @.str7182)
br label %ifend24
ifend24:
%t288 = load ptr, ptr %t46
%t289 = load ptr, ptr %t48
call void @fn_loop_push(ptr %t288, ptr %t289)
%t290 = load ptr, ptr %t0
%t291 = getelementptr inbounds %Cmp_Node, ptr %t290, i32 0, i32 4
%t292 = load ptr, ptr %t291
call void @fn_emit_block(ptr %t292)
call void @fn_loop_pop()
%t293 = load i32, ptr %t184
store i32 %t293, ptr @g_nloc
%t294 = load i32, ptr @g_g_term
%t295 = icmp eq i32 %t294, 0
%t296 = zext i1 %t295 to i32
%t297 = icmp ne i32 %t296, 0
br i1 %t297, label %then25, label %ifend27
then25:
call void @fn_emit(ptr @.str7183)
%t298 = load ptr, ptr %t46
call void @fn_emit(ptr %t298)
call void @fn_emit(ptr @.str7184)
br label %ifend27
ifend27:
%t299 = load ptr, ptr %t46
call void @fn_emit(ptr %t299)
call void @fn_emit(ptr @.str7185)
%t300 = load ptr, ptr %t4
%t301 = call ptr @fn_str_concat(ptr @.str7186, ptr %t300)
%t302 = call ptr @fn_emit_bind(ptr %t301)
store ptr %t302, ptr %t303
%t304 = load ptr, ptr %t303
%t305 = call ptr @fn_str_concat(ptr @.str7187, ptr %t304)
%t306 = call ptr @fn_str_concat(ptr %t305, ptr @.str7188)
%t307 = call ptr @fn_emit_bind(ptr %t306)
store ptr %t307, ptr %t308
%t309 = load ptr, ptr %t308
%t310 = load ptr, ptr %t4
call void @fn_store_at(ptr @.str7189, ptr %t309, ptr %t310)
call void @fn_emit(ptr @.str7190)
%t311 = load ptr, ptr %t42
call void @fn_emit(ptr %t311)
call void @fn_emit(ptr @.str7191)
%t312 = load ptr, ptr %t48
call void @fn_emit(ptr %t312)
call void @fn_emit(ptr @.str7192)
store i32 0, ptr @g_g_term
%t313 = load i32, ptr @g_nself
%t314 = sub i32 %t313, 1
store i32 %t314, ptr @g_nself
br label %ret
ret:
ret void
}
define void @fn_emit_init_component(ptr %arg_e, ptr %arg_comp, ptr %arg_rec) {
entry:
%t0 = alloca ptr
%t1 = alloca ptr
%t2 = alloca ptr
%t4 = alloca ptr
%t7 = alloca ptr
%t15 = alloca ptr
%t22 = alloca ptr
%t28 = alloca i32
%t46 = alloca ptr
%t48 = alloca ptr
%t58 = alloca ptr
%t59 = alloca ptr
%t73 = alloca ptr
%t86 = alloca i32
%t104 = alloca ptr
%t110 = alloca i32
%t116 = alloca ptr
%t126 = alloca ptr
%t141 = alloca ptr
%t147 = alloca i32
%t149 = alloca ptr
%t160 = alloca ptr
store ptr %arg_e, ptr %t0
store ptr %arg_comp, ptr %t1
store ptr %arg_rec, ptr %t2
%t3 = call ptr @fn_itoa(i32 1024)
store ptr %t3, ptr %t4
%t5 = load ptr, ptr %t1
%t6 = call ptr @fn_find_comp(ptr %t5)
store ptr %t6, ptr %t7
%t8 = load ptr, ptr %t7
%t9 = icmp eq ptr %t8, null
%t10 = zext i1 %t9 to i32
%t11 = icmp ne i32 %t10, 0
br i1 %t11, label %then0, label %ifend2
then0:
%t12 = load ptr, ptr %t1
%t13 = call ptr @fn_str_concat(ptr @.str7193, ptr %t12)
call void @fn_perr(ptr %t13)
br label %ifend2
ifend2:
%t14 = call ptr @fn_nreg()
store ptr %t14, ptr %t15
call void @fn_emit(ptr @.str7194)
%t16 = load ptr, ptr %t15
call void @fn_emit(ptr %t16)
call void @fn_emit(ptr @.str7195)
%t17 = load ptr, ptr %t4
call void @fn_emit(ptr %t17)
call void @fn_emit(ptr @.str7196)
%t18 = load ptr, ptr %t1
call void @fn_emit(ptr %t18)
call void @fn_emit(ptr @.str7197)
%t19 = load ptr, ptr %t0
call void @fn_emit(ptr %t19)
call void @fn_emit(ptr @.str7198)
call void @fn_emit(ptr @.str7199)
%t20 = load ptr, ptr %t15
call void @fn_emit(ptr %t20)
call void @fn_emit(ptr @.str7200)
%t21 = call ptr @fn_nreg()
store ptr %t21, ptr %t22
call void @fn_emit(ptr @.str7201)
%t23 = load ptr, ptr %t22
call void @fn_emit(ptr %t23)
call void @fn_emit(ptr @.str7202)
%t24 = load ptr, ptr %t4
call void @fn_emit(ptr %t24)
call void @fn_emit(ptr @.str7203)
%t25 = load ptr, ptr %t1
call void @fn_emit(ptr %t25)
call void @fn_emit(ptr @.str7204)
%t26 = load ptr, ptr %t1
call void @fn_emit(ptr %t26)
call void @fn_emit(ptr @.str7205)
%t27 = load ptr, ptr %t0
call void @fn_emit(ptr %t27)
call void @fn_emit(ptr @.str7206)
store i32 0, ptr %t28
br label %wcond3
wcond3:
%t29 = load i32, ptr %t28
%t30 = load ptr, ptr %t7
%t31 = getelementptr inbounds %Cmp_Node, ptr %t30, i32 0, i32 7
%t32 = load ptr, ptr %t31
%t33 = getelementptr inbounds %LSlice, ptr %t32, i32 0, i32 1
%t34 = load i32, ptr %t33
%t35 = icmp slt i32 %t29, %t34
%t36 = zext i1 %t35 to i32
%t37 = icmp ne i32 %t36, 0
br i1 %t37, label %wbody4, label %wend5
wbody4:
%t38 = load ptr, ptr %t7
%t39 = getelementptr inbounds %Cmp_Node, ptr %t38, i32 0, i32 7
%t40 = load ptr, ptr %t39
%t41 = getelementptr inbounds %LSlice, ptr %t40, i32 0, i32 0
%t42 = load ptr, ptr %t41
%t43 = load i32, ptr %t28
%t44 = getelementptr inbounds ptr, ptr %t42, i32 %t43
%t45 = load ptr, ptr %t44
store ptr %t45, ptr %t46
%t47 = call ptr @fn_nreg()
store ptr %t47, ptr %t48
call void @fn_emit(ptr @.str7207)
%t49 = load ptr, ptr %t48
call void @fn_emit(ptr %t49)
call void @fn_emit(ptr @.str7208)
%t50 = load ptr, ptr %t1
call void @fn_emit(ptr %t50)
call void @fn_emit(ptr @.str7209)
%t51 = load ptr, ptr %t22
call void @fn_emit(ptr %t51)
call void @fn_emit(ptr @.str7210)
%t52 = load i32, ptr %t28
%t53 = call ptr @fn_itoa(i32 %t52)
call void @fn_emit(ptr %t53)
call void @fn_emit(ptr @.str7211)
%t54 = load ptr, ptr %t46
%t55 = getelementptr inbounds %Cmp_Node, ptr %t54, i32 0, i32 3
%t56 = load ptr, ptr %t55
%t57 = call ptr @fn_llty(ptr %t56)
store ptr %t57, ptr %t58
store ptr @.str7212, ptr %t59
%t60 = load ptr, ptr %t58
%t61 = call i32 @fn_str_eq(ptr %t60, ptr @.str7213)
%t62 = icmp ne i32 %t61, 0
br i1 %t62, label %then6, label %ifend8
then6:
store ptr @.str7214, ptr %t59
br label %ifend8
ifend8:
%t63 = load ptr, ptr %t46
%t64 = getelementptr inbounds %Cmp_Node, ptr %t63, i32 0, i32 4
%t65 = load ptr, ptr %t64
%t66 = icmp ne ptr %t65, null
%t67 = zext i1 %t66 to i32
%t68 = icmp ne i32 %t67, 0
br i1 %t68, label %then9, label %ifend11
then9:
%t69 = load ptr, ptr %t46
%t70 = getelementptr inbounds %Cmp_Node, ptr %t69, i32 0, i32 4
%t71 = load ptr, ptr %t70
%t72 = call ptr @fn_emit_expr(ptr %t71)
store ptr %t72, ptr %t73
%t74 = load ptr, ptr %t73
%t75 = getelementptr inbounds %Cmp_Val, ptr %t74, i32 0, i32 0
%t76 = load ptr, ptr %t75
store ptr %t76, ptr %t59
br label %ifend11
ifend11:
call void @fn_emit(ptr @.str7215)
%t77 = load ptr, ptr %t58
call void @fn_emit(ptr %t77)
call void @fn_emit(ptr @.str7216)
%t78 = load ptr, ptr %t59
call void @fn_emit(ptr %t78)
call void @fn_emit(ptr @.str7217)
%t79 = load ptr, ptr %t48
call void @fn_emit(ptr %t79)
call void @fn_emit(ptr @.str7218)
%t80 = load i32, ptr %t28
%t81 = add i32 %t80, 1
store i32 %t81, ptr %t28
br label %wcond3
wend5:
%t82 = load ptr, ptr %t2
%t83 = icmp ne ptr %t82, null
%t84 = zext i1 %t83 to i32
%t85 = icmp ne i32 %t84, 0
br i1 %t85, label %then12, label %ifend14
then12:
store i32 0, ptr %t86
br label %wcond15
wcond15:
%t87 = load i32, ptr %t86
%t88 = load ptr, ptr %t2
%t89 = getelementptr inbounds %Cmp_Node, ptr %t88, i32 0, i32 7
%t90 = load ptr, ptr %t89
%t91 = getelementptr inbounds %LSlice, ptr %t90, i32 0, i32 1
%t92 = load i32, ptr %t91
%t93 = icmp slt i32 %t87, %t92
%t94 = zext i1 %t93 to i32
%t95 = icmp ne i32 %t94, 0
br i1 %t95, label %wbody16, label %wend17
wbody16:
%t96 = load ptr, ptr %t2
%t97 = getelementptr inbounds %Cmp_Node, ptr %t96, i32 0, i32 7
%t98 = load ptr, ptr %t97
%t99 = getelementptr inbounds %LSlice, ptr %t98, i32 0, i32 0
%t100 = load ptr, ptr %t99
%t101 = load i32, ptr %t86
%t102 = getelementptr inbounds ptr, ptr %t100, i32 %t101
%t103 = load ptr, ptr %t102
store ptr %t103, ptr %t104
%t105 = load ptr, ptr %t7
%t106 = load ptr, ptr %t104
%t107 = getelementptr inbounds %Cmp_Node, ptr %t106, i32 0, i32 1
%t108 = load ptr, ptr %t107
%t109 = call i32 @fn_field_index(ptr %t105, ptr %t108)
store i32 %t109, ptr %t110
%t111 = load i32, ptr %t110
%t112 = icmp sge i32 %t111, 0
%t113 = zext i1 %t112 to i32
%t114 = icmp ne i32 %t113, 0
br i1 %t114, label %then18, label %ifend20
then18:
%t115 = call ptr @fn_nreg()
store ptr %t115, ptr %t116
call void @fn_emit(ptr @.str7219)
%t117 = load ptr, ptr %t116
call void @fn_emit(ptr %t117)
call void @fn_emit(ptr @.str7220)
%t118 = load ptr, ptr %t1
call void @fn_emit(ptr %t118)
call void @fn_emit(ptr @.str7221)
%t119 = load ptr, ptr %t22
call void @fn_emit(ptr %t119)
call void @fn_emit(ptr @.str7222)
%t120 = load i32, ptr %t110
%t121 = call ptr @fn_itoa(i32 %t120)
call void @fn_emit(ptr %t121)
call void @fn_emit(ptr @.str7223)
%t122 = load ptr, ptr %t104
%t123 = getelementptr inbounds %Cmp_Node, ptr %t122, i32 0, i32 4
%t124 = load ptr, ptr %t123
%t125 = call ptr @fn_emit_expr(ptr %t124)
store ptr %t125, ptr %t126
call void @fn_emit(ptr @.str7224)
%t127 = load ptr, ptr %t7
%t128 = load ptr, ptr %t104
%t129 = getelementptr inbounds %Cmp_Node, ptr %t128, i32 0, i32 1
%t130 = load ptr, ptr %t129
%t131 = call ptr @fn_field_type(ptr %t127, ptr %t130)
%t132 = call ptr @fn_llty(ptr %t131)
call void @fn_emit(ptr %t132)
call void @fn_emit(ptr @.str7225)
%t133 = load ptr, ptr %t126
%t134 = getelementptr inbounds %Cmp_Val, ptr %t133, i32 0, i32 0
%t135 = load ptr, ptr %t134
call void @fn_emit(ptr %t135)
call void @fn_emit(ptr @.str7226)
%t136 = load ptr, ptr %t116
call void @fn_emit(ptr %t136)
call void @fn_emit(ptr @.str7227)
br label %ifend20
ifend20:
%t137 = load i32, ptr %t86
%t138 = add i32 %t137, 1
store i32 %t138, ptr %t86
br label %wcond15
wend17:
br label %ifend14
ifend14:
%t139 = load ptr, ptr %t1
%t140 = call ptr @fn_onattach_body(ptr %t139)
store ptr %t140, ptr %t141
%t142 = load ptr, ptr %t141
%t143 = icmp ne ptr %t142, null
%t144 = zext i1 %t143 to i32
%t145 = icmp ne i32 %t144, 0
br i1 %t145, label %then21, label %ifend23
then21:
%t146 = load i32, ptr @g_nloc
store i32 %t146, ptr %t147
%t148 = call ptr @fn_emit_alloca(ptr @.str7228)
store ptr %t148, ptr %t149
call void @fn_emit(ptr @.str7229)
%t150 = load ptr, ptr %t22
call void @fn_emit(ptr %t150)
call void @fn_emit(ptr @.str7230)
%t151 = load ptr, ptr %t149
call void @fn_emit(ptr %t151)
call void @fn_emit(ptr @.str7231)
%t152 = load ptr, ptr %t1
%t153 = load ptr, ptr %t149
%t154 = load ptr, ptr %t1
call void @fn_loc_push(ptr %t152, ptr %t153, ptr %t154)
%t155 = load ptr, ptr %t141
call void @fn_emit_block(ptr %t155)
%t156 = load i32, ptr %t147
store i32 %t156, ptr @g_nloc
br label %ifend23
ifend23:
%t157 = load ptr, ptr %t1
%t158 = call ptr @fn_str_concat(ptr @.str7232, ptr %t157)
%t159 = call ptr @fn_str_concat(ptr %t158, ptr @.str7233)
store ptr %t159, ptr %t160
%t161 = load ptr, ptr %t160
%t162 = call ptr @fn_find_event(ptr %t161)
%t163 = icmp ne ptr %t162, null
%t164 = zext i1 %t163 to i32
%t165 = icmp ne i32 %t164, 0
br i1 %t165, label %then24, label %ifend26
then24:
call void @fn_emit(ptr @.str7234)
%t166 = load ptr, ptr %t160
call void @fn_emit(ptr %t166)
call void @fn_emit(ptr @.str7235)
%t167 = load ptr, ptr %t0
call void @fn_emit(ptr %t167)
call void @fn_emit(ptr @.str7236)
br label %ifend26
ifend26:
br label %ret
ret:
ret void
}
define void @fn_emit_bind_props(ptr %arg_model, ptr %arg_e) {
entry:
%t0 = alloca ptr
%t1 = alloca ptr
%t3 = alloca ptr
%t4 = alloca i32
%t24 = alloca ptr
%t26 = alloca ptr
%t33 = alloca ptr
store ptr %arg_model, ptr %t0
store ptr %arg_e, ptr %t1
%t2 = call ptr @fn_itoa(i32 1024)
store ptr %t2, ptr %t3
store i32 0, ptr %t4
br label %wcond0
wcond0:
%t5 = load i32, ptr %t4
%t6 = load ptr, ptr %t0
%t7 = getelementptr inbounds %Cmp_Node, ptr %t6, i32 0, i32 7
%t8 = load ptr, ptr %t7
%t9 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 1
%t10 = load i32, ptr %t9
%t11 = icmp slt i32 %t5, %t10
%t12 = zext i1 %t11 to i32
%t13 = icmp ne i32 %t12, 0
br i1 %t13, label %wbody1, label %wend2
wbody1:
%t14 = load ptr, ptr %t0
%t15 = getelementptr inbounds %Cmp_Node, ptr %t14, i32 0, i32 7
%t16 = load ptr, ptr %t15
%t17 = getelementptr inbounds %LSlice, ptr %t16, i32 0, i32 0
%t18 = load ptr, ptr %t17
%t19 = load i32, ptr %t4
%t20 = getelementptr inbounds ptr, ptr %t18, i32 %t19
%t21 = load ptr, ptr %t20
%t22 = getelementptr inbounds %Cmp_Node, ptr %t21, i32 0, i32 1
%t23 = load ptr, ptr %t22
store ptr %t23, ptr %t24
%t25 = call ptr @fn_nreg()
store ptr %t25, ptr %t26
call void @fn_emit(ptr @.str7237)
%t27 = load ptr, ptr %t26
call void @fn_emit(ptr %t27)
call void @fn_emit(ptr @.str7238)
%t28 = load ptr, ptr %t3
call void @fn_emit(ptr %t28)
call void @fn_emit(ptr @.str7239)
%t29 = load ptr, ptr %t24
call void @fn_emit(ptr %t29)
call void @fn_emit(ptr @.str7240)
%t30 = load ptr, ptr %t24
call void @fn_emit(ptr %t30)
call void @fn_emit(ptr @.str7241)
%t31 = load ptr, ptr %t1
call void @fn_emit(ptr %t31)
call void @fn_emit(ptr @.str7242)
%t32 = call ptr @fn_emit_alloca(ptr @.str7243)
store ptr %t32, ptr %t33
call void @fn_emit(ptr @.str7244)
%t34 = load ptr, ptr %t26
call void @fn_emit(ptr %t34)
call void @fn_emit(ptr @.str7245)
%t35 = load ptr, ptr %t33
call void @fn_emit(ptr %t35)
call void @fn_emit(ptr @.str7246)
%t36 = load ptr, ptr %t24
%t37 = load ptr, ptr %t33
%t38 = load ptr, ptr %t24
call void @fn_loc_push(ptr %t36, ptr %t37, ptr %t38)
%t39 = load i32, ptr %t4
%t40 = add i32 %t39, 1
store i32 %t40, ptr %t4
br label %wcond0
wend2:
br label %ret
ret:
ret void
}
define ptr @fn_emit_spawn(ptr %arg_st) {
entry:
%retval = alloca ptr
%t0 = alloca ptr
%t2 = alloca ptr
%t7 = alloca i32
%t13 = alloca ptr
%t15 = alloca ptr
%t26 = alloca ptr
%t27 = alloca i32
%t47 = alloca ptr
%t48 = alloca ptr
%t49 = alloca i32
%t93 = alloca ptr
%t99 = alloca i32
%t109 = alloca ptr
%t117 = alloca i32
store ptr %arg_st, ptr %t0
%t1 = call ptr @fn_emit_bind(ptr @.str7247)
store ptr %t1, ptr %t2
%t3 = load ptr, ptr %t0
%t4 = getelementptr inbounds %Cmp_Node, ptr %t3, i32 0, i32 1
%t5 = load ptr, ptr %t4
%t6 = call i32 @fn_find_arch_id(ptr %t5)
store i32 %t6, ptr %t7
%t8 = load i32, ptr %t7
%t9 = icmp sgt i32 %t8, 0
%t10 = zext i1 %t9 to i32
%t11 = icmp ne i32 %t10, 0
br i1 %t11, label %then0, label %else1
then0:
%t12 = call ptr @fn_itoa(i32 1024)
store ptr %t12, ptr %t13
%t14 = call ptr @fn_nreg()
store ptr %t14, ptr %t15
call void @fn_emit(ptr @.str7248)
%t16 = load ptr, ptr %t15
call void @fn_emit(ptr %t16)
call void @fn_emit(ptr @.str7249)
%t17 = load ptr, ptr %t13
call void @fn_emit(ptr %t17)
call void @fn_emit(ptr @.str7250)
%t18 = load ptr, ptr %t2
call void @fn_emit(ptr %t18)
call void @fn_emit(ptr @.str7251)
call void @fn_emit(ptr @.str7252)
%t19 = load i32, ptr %t7
%t20 = call ptr @fn_itoa(i32 %t19)
call void @fn_emit(ptr %t20)
call void @fn_emit(ptr @.str7253)
%t21 = load ptr, ptr %t15
call void @fn_emit(ptr %t21)
call void @fn_emit(ptr @.str7254)
%t22 = load ptr, ptr %t0
%t23 = getelementptr inbounds %Cmp_Node, ptr %t22, i32 0, i32 1
%t24 = load ptr, ptr %t23
%t25 = call ptr @fn_find_arch(ptr %t24)
store ptr %t25, ptr %t26
store i32 0, ptr %t27
br label %wcond3
wcond3:
%t28 = load i32, ptr %t27
%t29 = load ptr, ptr %t26
%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 slt i32 %t28, %t33
%t35 = zext i1 %t34 to i32
%t36 = icmp ne i32 %t35, 0
br i1 %t36, label %wbody4, label %wend5
wbody4:
%t37 = load ptr, ptr %t26
%t38 = getelementptr inbounds %Cmp_Node, ptr %t37, i32 0, i32 7
%t39 = load ptr, ptr %t38
%t40 = getelementptr inbounds %LSlice, ptr %t39, i32 0, i32 0
%t41 = load ptr, ptr %t40
%t42 = load i32, ptr %t27
%t43 = getelementptr inbounds ptr, ptr %t41, i32 %t42
%t44 = load ptr, ptr %t43
%t45 = getelementptr inbounds %Cmp_Node, ptr %t44, i32 0, i32 1
%t46 = load ptr, ptr %t45
store ptr %t46, ptr %t47
store ptr null, ptr %t48
store i32 0, ptr %t49
br label %wcond6
wcond6:
%t50 = load i32, 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 = icmp slt i32 %t50, %t55
%t57 = zext i1 %t56 to i32
%t58 = icmp ne i32 %t57, 0
br i1 %t58, label %wbody7, label %wend8
wbody7:
%t59 = load ptr, ptr %t0
%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 = load i32, ptr %t49
%t65 = getelementptr inbounds ptr, ptr %t63, i32 %t64
%t66 = load ptr, ptr %t65
%t67 = getelementptr inbounds %Cmp_Node, ptr %t66, i32 0, i32 1
%t68 = load ptr, ptr %t67
%t69 = load ptr, ptr %t47
%t70 = call i32 @fn_str_eq(ptr %t68, ptr %t69)
%t71 = icmp ne i32 %t70, 0
br i1 %t71, label %then9, label %ifend11
then9:
%t72 = load ptr, ptr %t0
%t73 = getelementptr inbounds %Cmp_Node, ptr %t72, i32 0, i32 7
%t74 = load ptr, ptr %t73
%t75 = getelementptr inbounds %LSlice, ptr %t74, i32 0, i32 0
%t76 = load ptr, ptr %t75
%t77 = load i32, ptr %t49
%t78 = getelementptr inbounds ptr, ptr %t76, i32 %t77
%t79 = load ptr, ptr %t78
%t80 = getelementptr inbounds %Cmp_Node, ptr %t79, i32 0, i32 4
%t81 = load ptr, ptr %t80
store ptr %t81, ptr %t48
br label %ifend11
ifend11:
%t82 = load i32, ptr %t49
%t83 = add i32 %t82, 1
store i32 %t83, ptr %t49
br label %wcond6
wend8:
%t84 = load ptr, ptr %t2
%t85 = load ptr, ptr %t47
%t86 = load ptr, ptr %t48
call void @fn_emit_init_component(ptr %t84, ptr %t85, ptr %t86)
%t87 = load i32, ptr %t27
%t88 = add i32 %t87, 1
store i32 %t88, ptr %t27
br label %wcond3
wend5:
%t89 = load ptr, ptr %t0
%t90 = getelementptr inbounds %Cmp_Node, ptr %t89, i32 0, i32 1
%t91 = load ptr, ptr %t90
%t92 = call ptr @fn_onspawn_body(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 %then12, label %ifend14
then12:
%t98 = load i32, ptr @g_nloc
store i32 %t98, ptr %t99
%t100 = load ptr, ptr %t26
%t101 = load ptr, ptr %t2
call void @fn_emit_bind_props(ptr %t100, ptr %t101)
%t102 = load ptr, ptr %t93
call void @fn_emit_block(ptr %t102)
%t103 = load i32, ptr %t99
store i32 %t103, ptr @g_nloc
br label %ifend14
ifend14:
%t104 = load ptr, ptr %t0
%t105 = getelementptr inbounds %Cmp_Node, ptr %t104, i32 0, i32 1
%t106 = load ptr, ptr %t105
%t107 = call ptr @fn_str_concat(ptr @.str7255, ptr %t106)
%t108 = call ptr @fn_str_concat(ptr %t107, ptr @.str7256)
store ptr %t108, ptr %t109
%t110 = load ptr, ptr %t109
%t111 = call ptr @fn_find_event(ptr %t110)
%t112 = icmp ne ptr %t111, null
%t113 = zext i1 %t112 to i32
%t114 = icmp ne i32 %t113, 0
br i1 %t114, label %then15, label %ifend17
then15:
call void @fn_emit(ptr @.str7257)
%t115 = load ptr, ptr %t109
call void @fn_emit(ptr %t115)
call void @fn_emit(ptr @.str7258)
%t116 = load ptr, ptr %t2
call void @fn_emit(ptr %t116)
call void @fn_emit(ptr @.str7259)
br label %ifend17
ifend17:
br label %ifend2
else1:
store i32 0, ptr %t117
br label %wcond18
wcond18:
%t118 = load i32, ptr %t117
%t119 = load ptr, ptr %t0
%t120 = getelementptr inbounds %Cmp_Node, ptr %t119, i32 0, i32 7
%t121 = load ptr, ptr %t120
%t122 = getelementptr inbounds %LSlice, ptr %t121, i32 0, i32 1
%t123 = load i32, ptr %t122
%t124 = icmp slt i32 %t118, %t123
%t125 = zext i1 %t124 to i32
%t126 = icmp ne i32 %t125, 0
br i1 %t126, label %wbody19, label %wend20
wbody19:
%t127 = load ptr, ptr %t2
%t128 = load ptr, ptr %t0
%t129 = getelementptr inbounds %Cmp_Node, ptr %t128, i32 0, i32 7
%t130 = load ptr, ptr %t129
%t131 = getelementptr inbounds %LSlice, ptr %t130, i32 0, i32 0
%t132 = load ptr, ptr %t131
%t133 = load i32, ptr %t117
%t134 = getelementptr inbounds ptr, ptr %t132, i32 %t133
%t135 = load ptr, ptr %t134
%t136 = getelementptr inbounds %Cmp_Node, ptr %t135, i32 0, i32 1
%t137 = load ptr, ptr %t136
%t138 = load ptr, ptr %t0
%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 = load i32, ptr %t117
%t144 = getelementptr inbounds ptr, ptr %t142, i32 %t143
%t145 = load ptr, ptr %t144
%t146 = getelementptr inbounds %Cmp_Node, ptr %t145, i32 0, i32 4
%t147 = load ptr, ptr %t146
call void @fn_emit_init_component(ptr %t127, ptr %t137, ptr %t147)
%t148 = load i32, ptr %t117
%t149 = add i32 %t148, 1
store i32 %t149, ptr %t117
br label %wcond18
wend20:
br label %ifend2
ifend2:
%t150 = load ptr, ptr %t2
store ptr %t150, ptr %retval
br label %ret
ret:
%t151 = load ptr, ptr %retval
ret ptr %t151
}
define void @fn_emit_despawn(ptr %arg_st) {
entry:
%t0 = alloca ptr
%t5 = alloca ptr
%t13 = alloca ptr
%t15 = alloca ptr
%t24 = alloca ptr
%t25 = alloca i32
%t41 = alloca ptr
%t50 = alloca ptr
%t52 = alloca ptr
%t54 = alloca ptr
%t66 = alloca ptr
store ptr %arg_st, ptr %t0
%t1 = load ptr, ptr %t0
%t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 4
%t3 = load ptr, ptr %t2
%t4 = call ptr @fn_emit_expr(ptr %t3)
store ptr %t4, ptr %t5
%t6 = load ptr, ptr @g_g_ondespawn
%t7 = getelementptr inbounds %LSlice, ptr %t6, i32 0, i32 1
%t8 = load i32, ptr %t7
%t9 = icmp sgt i32 %t8, 0
%t10 = zext i1 %t9 to i32
%t11 = icmp ne i32 %t10, 0
br i1 %t11, label %then0, label %ifend2
then0:
%t12 = call ptr @fn_itoa(i32 1024)
store ptr %t12, ptr %t13
%t14 = call ptr @fn_nreg()
store ptr %t14, ptr %t15
call void @fn_emit(ptr @.str7260)
%t16 = load ptr, ptr %t15
call void @fn_emit(ptr %t16)
call void @fn_emit(ptr @.str7261)
%t17 = load ptr, ptr %t13
call void @fn_emit(ptr %t17)
call void @fn_emit(ptr @.str7262)
%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 @.str7263)
%t21 = load ptr, ptr %t15
%t22 = call ptr @fn_str_concat(ptr @.str7264, ptr %t21)
%t23 = call ptr @fn_emit_bind(ptr %t22)
store ptr %t23, ptr %t24
store i32 0, ptr %t25
br label %wcond3
wcond3:
%t26 = load i32, ptr %t25
%t27 = load ptr, ptr @g_g_ondespawn
%t28 = getelementptr inbounds %LSlice, ptr %t27, i32 0, i32 1
%t29 = load i32, ptr %t28
%t30 = icmp slt i32 %t26, %t29
%t31 = zext i1 %t30 to i32
%t32 = icmp ne i32 %t31, 0
br i1 %t32, label %wbody4, label %wend5
wbody4:
%t33 = load ptr, ptr @g_g_ondespawn
%t34 = getelementptr inbounds %LSlice, ptr %t33, i32 0, i32 0
%t35 = load ptr, ptr %t34
%t36 = load i32, ptr %t25
%t37 = getelementptr inbounds ptr, ptr %t35, i32 %t36
%t38 = load ptr, ptr %t37
%t39 = getelementptr inbounds %Cmp_Node, ptr %t38, i32 0, i32 1
%t40 = load ptr, ptr %t39
store ptr %t40, ptr %t41
%t42 = load ptr, ptr %t24
%t43 = call ptr @fn_str_concat(ptr @.str7265, ptr %t42)
%t44 = call ptr @fn_str_concat(ptr %t43, ptr @.str7266)
%t45 = load ptr, ptr %t41
%t46 = call i32 @fn_find_arch_id(ptr %t45)
%t47 = call ptr @fn_itoa(i32 %t46)
%t48 = call ptr @fn_str_concat(ptr %t44, ptr %t47)
%t49 = call ptr @fn_emit_bind(ptr %t48)
store ptr %t49, ptr %t50
%t51 = call ptr @fn_lbl(ptr @.str7267)
store ptr %t51, ptr %t52
%t53 = call ptr @fn_lbl(ptr @.str7268)
store ptr %t53, ptr %t54
call void @fn_emit(ptr @.str7269)
%t55 = load ptr, ptr %t50
call void @fn_emit(ptr %t55)
call void @fn_emit(ptr @.str7270)
%t56 = load ptr, ptr %t52
call void @fn_emit(ptr %t56)
call void @fn_emit(ptr @.str7271)
%t57 = load ptr, ptr %t54
call void @fn_emit(ptr %t57)
call void @fn_emit(ptr @.str7272)
%t58 = load ptr, ptr %t52
call void @fn_emit(ptr %t58)
call void @fn_emit(ptr @.str7273)
%t59 = load ptr, ptr %t41
call void @fn_emit(ptr %t59)
call void @fn_emit(ptr @.str7274)
%t60 = load ptr, ptr %t5
%t61 = getelementptr inbounds %Cmp_Val, ptr %t60, i32 0, i32 0
%t62 = load ptr, ptr %t61
call void @fn_emit(ptr %t62)
call void @fn_emit(ptr @.str7275)
%t63 = load ptr, ptr %t41
%t64 = call ptr @fn_str_concat(ptr @.str7276, ptr %t63)
%t65 = call ptr @fn_str_concat(ptr %t64, ptr @.str7277)
store ptr %t65, ptr %t66
%t67 = load ptr, ptr %t66
%t68 = call ptr @fn_find_event(ptr %t67)
%t69 = icmp ne ptr %t68, null
%t70 = zext i1 %t69 to i32
%t71 = icmp ne i32 %t70, 0
br i1 %t71, label %then6, label %ifend8
then6:
call void @fn_emit(ptr @.str7278)
%t72 = load ptr, ptr %t66
call void @fn_emit(ptr %t72)
call void @fn_emit(ptr @.str7279)
%t73 = load ptr, ptr %t5
%t74 = getelementptr inbounds %Cmp_Val, ptr %t73, i32 0, i32 0
%t75 = load ptr, ptr %t74
call void @fn_emit(ptr %t75)
call void @fn_emit(ptr @.str7280)
br label %ifend8
ifend8:
call void @fn_emit(ptr @.str7281)
%t76 = load ptr, ptr %t54
call void @fn_emit(ptr %t76)
call void @fn_emit(ptr @.str7282)
%t77 = load ptr, ptr %t54
call void @fn_emit(ptr %t77)
call void @fn_emit(ptr @.str7283)
%t78 = load i32, ptr %t25
%t79 = add i32 %t78, 1
store i32 %t79, ptr %t25
br label %wcond3
wend5:
br label %ifend2
ifend2:
%t80 = load ptr, ptr @g_g_events
%t81 = getelementptr inbounds %LSlice, ptr %t80, i32 0, i32 1
%t82 = load i32, ptr %t81
%t83 = icmp sgt i32 %t82, 0
%t84 = zext i1 %t83 to i32
%t85 = icmp ne i32 %t84, 0
br i1 %t85, label %then9, label %ifend11
then9:
call void @fn_emit(ptr @.str7284)
%t86 = load ptr, ptr %t5
%t87 = getelementptr inbounds %Cmp_Val, ptr %t86, i32 0, i32 0
%t88 = load ptr, ptr %t87
call void @fn_emit(ptr %t88)
call void @fn_emit(ptr @.str7285)
br label %ifend11
ifend11:
call void @fn_emit(ptr @.str7286)
%t89 = load ptr, ptr %t5
%t90 = getelementptr inbounds %Cmp_Val, ptr %t89, i32 0, i32 0
%t91 = load ptr, ptr %t90
call void @fn_emit(ptr %t91)
call void @fn_emit(ptr @.str7287)
br label %ret
ret:
ret void
}
define void @fn_emit_attach(ptr %arg_st) {
entry:
%t0 = alloca ptr
%t5 = alloca ptr
%t7 = alloca ptr
%t9 = alloca ptr
%t21 = alloca ptr
%t26 = alloca ptr
%t28 = alloca ptr
%t30 = alloca ptr
store ptr %arg_st, ptr %t0
%t1 = load ptr, ptr %t0
%t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 4
%t3 = load ptr, ptr %t2
%t4 = call ptr @fn_emit_expr(ptr %t3)
store ptr %t4, ptr %t5
%t6 = call ptr @fn_itoa(i32 1024)
store ptr %t6, ptr %t7
%t8 = call ptr @fn_nreg()
store ptr %t8, ptr %t9
call void @fn_emit(ptr @.str7288)
%t10 = load ptr, ptr %t9
call void @fn_emit(ptr %t10)
call void @fn_emit(ptr @.str7289)
%t11 = load ptr, ptr %t7
call void @fn_emit(ptr %t11)
call void @fn_emit(ptr @.str7290)
%t12 = load ptr, ptr %t0
%t13 = getelementptr inbounds %Cmp_Node, ptr %t12, i32 0, i32 1
%t14 = load ptr, ptr %t13
call void @fn_emit(ptr %t14)
call void @fn_emit(ptr @.str7291)
%t15 = load ptr, ptr %t5
%t16 = getelementptr inbounds %Cmp_Val, ptr %t15, i32 0, i32 0
%t17 = load ptr, ptr %t16
call void @fn_emit(ptr %t17)
call void @fn_emit(ptr @.str7292)
%t18 = load ptr, ptr %t9
%t19 = call ptr @fn_str_concat(ptr @.str7293, ptr %t18)
%t20 = call ptr @fn_emit_bind(ptr %t19)
store ptr %t20, ptr %t21
%t22 = load ptr, ptr %t21
%t23 = call ptr @fn_str_concat(ptr @.str7294, ptr %t22)
%t24 = call ptr @fn_str_concat(ptr %t23, ptr @.str7295)
%t25 = call ptr @fn_emit_bind(ptr %t24)
store ptr %t25, ptr %t26
%t27 = call ptr @fn_lbl(ptr @.str7296)
store ptr %t27, ptr %t28
%t29 = call ptr @fn_lbl(ptr @.str7297)
store ptr %t29, ptr %t30
call void @fn_emit(ptr @.str7298)
%t31 = load ptr, ptr %t26
call void @fn_emit(ptr %t31)
call void @fn_emit(ptr @.str7299)
%t32 = load ptr, ptr %t28
call void @fn_emit(ptr %t32)
call void @fn_emit(ptr @.str7300)
%t33 = load ptr, ptr %t30
call void @fn_emit(ptr %t33)
call void @fn_emit(ptr @.str7301)
%t34 = load ptr, ptr %t28
call void @fn_emit(ptr %t34)
call void @fn_emit(ptr @.str7302)
store i32 0, ptr @g_g_term
%t35 = load ptr, ptr %t5
%t36 = getelementptr inbounds %Cmp_Val, ptr %t35, i32 0, i32 0
%t37 = load ptr, ptr %t36
%t38 = load ptr, ptr %t0
%t39 = getelementptr inbounds %Cmp_Node, ptr %t38, i32 0, i32 1
%t40 = load ptr, ptr %t39
%t41 = load ptr, ptr %t0
%t42 = getelementptr inbounds %Cmp_Node, ptr %t41, i32 0, i32 5
%t43 = load ptr, ptr %t42
call void @fn_emit_init_component(ptr %t37, ptr %t40, ptr %t43)
%t44 = load i32, ptr @g_g_term
%t45 = icmp eq i32 %t44, 0
%t46 = zext i1 %t45 to i32
%t47 = icmp ne i32 %t46, 0
br i1 %t47, label %then0, label %ifend2
then0:
call void @fn_emit(ptr @.str7303)
%t48 = load ptr, ptr %t30
call void @fn_emit(ptr %t48)
call void @fn_emit(ptr @.str7304)
br label %ifend2
ifend2:
%t49 = load ptr, ptr %t30
call void @fn_emit(ptr %t49)
call void @fn_emit(ptr @.str7305)
store i32 0, ptr @g_g_term
br label %ret
ret:
ret void
}
define void @fn_emit_detach(ptr %arg_st) {
entry:
%t0 = alloca ptr
%t5 = alloca ptr
%t7 = alloca ptr
%t9 = alloca ptr
%t21 = alloca ptr
%t26 = alloca ptr
%t28 = alloca ptr
%t30 = alloca ptr
%t40 = alloca ptr
%t46 = alloca i32
%t48 = alloca ptr
%t61 = alloca ptr
%t78 = alloca ptr
store ptr %arg_st, ptr %t0
%t1 = load ptr, ptr %t0
%t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 4
%t3 = load ptr, ptr %t2
%t4 = call ptr @fn_emit_expr(ptr %t3)
store ptr %t4, ptr %t5
%t6 = call ptr @fn_itoa(i32 1024)
store ptr %t6, ptr %t7
%t8 = call ptr @fn_nreg()
store ptr %t8, ptr %t9
call void @fn_emit(ptr @.str7306)
%t10 = load ptr, ptr %t9
call void @fn_emit(ptr %t10)
call void @fn_emit(ptr @.str7307)
%t11 = load ptr, ptr %t7
call void @fn_emit(ptr %t11)
call void @fn_emit(ptr @.str7308)
%t12 = load ptr, ptr %t0
%t13 = getelementptr inbounds %Cmp_Node, ptr %t12, i32 0, i32 1
%t14 = load ptr, ptr %t13
call void @fn_emit(ptr %t14)
call void @fn_emit(ptr @.str7309)
%t15 = load ptr, ptr %t5
%t16 = getelementptr inbounds %Cmp_Val, ptr %t15, i32 0, i32 0
%t17 = load ptr, ptr %t16
call void @fn_emit(ptr %t17)
call void @fn_emit(ptr @.str7310)
%t18 = load ptr, ptr %t9
%t19 = call ptr @fn_str_concat(ptr @.str7311, ptr %t18)
%t20 = call ptr @fn_emit_bind(ptr %t19)
store ptr %t20, ptr %t21
%t22 = load ptr, ptr %t21
%t23 = call ptr @fn_str_concat(ptr @.str7312, ptr %t22)
%t24 = call ptr @fn_str_concat(ptr %t23, ptr @.str7313)
%t25 = call ptr @fn_emit_bind(ptr %t24)
store ptr %t25, ptr %t26
%t27 = call ptr @fn_lbl(ptr @.str7314)
store ptr %t27, ptr %t28
%t29 = call ptr @fn_lbl(ptr @.str7315)
store ptr %t29, ptr %t30
call void @fn_emit(ptr @.str7316)
%t31 = load ptr, ptr %t26
call void @fn_emit(ptr %t31)
call void @fn_emit(ptr @.str7317)
%t32 = load ptr, ptr %t28
call void @fn_emit(ptr %t32)
call void @fn_emit(ptr @.str7318)
%t33 = load ptr, ptr %t30
call void @fn_emit(ptr %t33)
call void @fn_emit(ptr @.str7319)
%t34 = load ptr, ptr %t28
call void @fn_emit(ptr %t34)
call void @fn_emit(ptr @.str7320)
store i32 0, ptr @g_g_term
call void @fn_emit(ptr @.str7321)
%t35 = load ptr, ptr %t9
call void @fn_emit(ptr %t35)
call void @fn_emit(ptr @.str7322)
%t36 = load ptr, ptr %t0
%t37 = getelementptr inbounds %Cmp_Node, ptr %t36, i32 0, i32 1
%t38 = load ptr, ptr %t37
%t39 = call ptr @fn_ondetach_body(ptr %t38)
store ptr %t39, ptr %t40
%t41 = load ptr, ptr %t40
%t42 = icmp ne ptr %t41, null
%t43 = zext i1 %t42 to i32
%t44 = icmp ne i32 %t43, 0
br i1 %t44, label %then0, label %ifend2
then0:
%t45 = load i32, ptr @g_nloc
store i32 %t45, ptr %t46
%t47 = call ptr @fn_nreg()
store ptr %t47, ptr %t48
call void @fn_emit(ptr @.str7323)
%t49 = load ptr, ptr %t48
call void @fn_emit(ptr %t49)
call void @fn_emit(ptr @.str7324)
%t50 = load ptr, ptr %t7
call void @fn_emit(ptr %t50)
call void @fn_emit(ptr @.str7325)
%t51 = load ptr, ptr %t0
%t52 = getelementptr inbounds %Cmp_Node, ptr %t51, i32 0, i32 1
%t53 = load ptr, ptr %t52
call void @fn_emit(ptr %t53)
call void @fn_emit(ptr @.str7326)
%t54 = load ptr, ptr %t0
%t55 = getelementptr inbounds %Cmp_Node, ptr %t54, i32 0, i32 1
%t56 = load ptr, ptr %t55
call void @fn_emit(ptr %t56)
call void @fn_emit(ptr @.str7327)
%t57 = load ptr, ptr %t5
%t58 = getelementptr inbounds %Cmp_Val, ptr %t57, i32 0, i32 0
%t59 = load ptr, ptr %t58
call void @fn_emit(ptr %t59)
call void @fn_emit(ptr @.str7328)
%t60 = call ptr @fn_emit_alloca(ptr @.str7329)
store ptr %t60, ptr %t61
call void @fn_emit(ptr @.str7330)
%t62 = load ptr, ptr %t48
call void @fn_emit(ptr %t62)
call void @fn_emit(ptr @.str7331)
%t63 = load ptr, ptr %t61
call void @fn_emit(ptr %t63)
call void @fn_emit(ptr @.str7332)
%t64 = load ptr, ptr %t0
%t65 = getelementptr inbounds %Cmp_Node, ptr %t64, i32 0, i32 1
%t66 = load ptr, ptr %t65
%t67 = load ptr, ptr %t61
%t68 = load ptr, ptr %t0
%t69 = getelementptr inbounds %Cmp_Node, ptr %t68, i32 0, i32 1
%t70 = load ptr, ptr %t69
call void @fn_loc_push(ptr %t66, ptr %t67, ptr %t70)
%t71 = load ptr, ptr %t40
call void @fn_emit_block(ptr %t71)
%t72 = load i32, ptr %t46
store i32 %t72, ptr @g_nloc
br label %ifend2
ifend2:
%t73 = load ptr, ptr %t0
%t74 = getelementptr inbounds %Cmp_Node, ptr %t73, i32 0, i32 1
%t75 = load ptr, ptr %t74
%t76 = call ptr @fn_str_concat(ptr @.str7333, ptr %t75)
%t77 = call ptr @fn_str_concat(ptr %t76, ptr @.str7334)
store ptr %t77, ptr %t78
%t79 = load ptr, ptr %t78
%t80 = call ptr @fn_find_event(ptr %t79)
%t81 = icmp ne ptr %t80, null
%t82 = zext i1 %t81 to i32
%t83 = icmp ne i32 %t82, 0
br i1 %t83, label %then3, label %ifend5
then3:
call void @fn_emit(ptr @.str7335)
%t84 = load ptr, ptr %t78
call void @fn_emit(ptr %t84)
call void @fn_emit(ptr @.str7336)
%t85 = load ptr, ptr %t5
%t86 = getelementptr inbounds %Cmp_Val, ptr %t85, i32 0, i32 0
%t87 = load ptr, ptr %t86
call void @fn_emit(ptr %t87)
call void @fn_emit(ptr @.str7337)
br label %ifend5
ifend5:
%t88 = load i32, ptr @g_g_term
%t89 = icmp eq i32 %t88, 0
%t90 = zext i1 %t89 to i32
%t91 = icmp ne i32 %t90, 0
br i1 %t91, label %then6, label %ifend8
then6:
call void @fn_emit(ptr @.str7338)
%t92 = load ptr, ptr %t30
call void @fn_emit(ptr %t92)
call void @fn_emit(ptr @.str7339)
br label %ifend8
ifend8:
%t93 = load ptr, ptr %t30
call void @fn_emit(ptr %t93)
call void @fn_emit(ptr @.str7340)
store i32 0, ptr @g_g_term
br label %ret
ret:
ret void
}
define void @fn_emit_toggle(ptr %arg_st) {
entry:
%t0 = alloca ptr
%t1 = alloca ptr
%t8 = alloca i32
%t33 = alloca ptr
%t61 = alloca ptr
%t63 = alloca ptr
%t65 = alloca ptr
%t76 = alloca ptr
%t96 = alloca i32
%t98 = alloca ptr
%t111 = alloca ptr
%t128 = alloca ptr
%t149 = alloca ptr
store ptr %arg_st, ptr %t0
store ptr @.str7341, 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 @.str7342, 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 @fn_str_eq(ptr %t18, ptr @.str7343)
%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:
call void @fn_emit(ptr @.str7344)
%t24 = load ptr, ptr %t1
call void @fn_emit(ptr %t24)
call void @fn_emit(ptr @.str7345)
%t25 = load ptr, ptr %t0
%t26 = getelementptr inbounds %Cmp_Node, ptr %t25, i32 0, i32 1
%t27 = load ptr, ptr %t26
call void @fn_emit(ptr %t27)
call void @fn_emit(ptr @.str7346)
%t28 = load ptr, ptr %t0
%t29 = getelementptr inbounds %Cmp_Node, ptr %t28, i32 0, i32 1
%t30 = load ptr, ptr %t29
%t31 = call ptr @fn_str_concat(ptr @.str7347, ptr %t30)
%t32 = call ptr @fn_str_concat(ptr %t31, ptr @.str7348)
store ptr %t32, ptr %t33
%t34 = load ptr, ptr %t0
%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
br i1 %t39, label %then8, label %ifend10
then8:
%t40 = load ptr, ptr %t0
%t41 = getelementptr inbounds %Cmp_Node, ptr %t40, i32 0, i32 1
%t42 = load ptr, ptr %t41
%t43 = call ptr @fn_str_concat(ptr @.str7349, ptr %t42)
%t44 = call ptr @fn_str_concat(ptr %t43, ptr @.str7350)
store ptr %t44, ptr %t33
br label %ifend10
ifend10:
%t45 = load ptr, ptr %t33
%t46 = call ptr @fn_find_event(ptr %t45)
%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:
call void @fn_emit(ptr @.str7351)
%t50 = load ptr, ptr %t33
call void @fn_emit(ptr %t50)
call void @fn_emit(ptr @.str7352)
br label %ifend13
ifend13:
br label %ret
ifend7:
%t51 = load ptr, ptr %t0
%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
br i1 %t56, label %then14, label %else15
then14:
%t57 = load ptr, ptr %t0
%t58 = getelementptr inbounds %Cmp_Node, ptr %t57, i32 0, i32 4
%t59 = load ptr, ptr %t58
%t60 = call ptr @fn_emit_expr(ptr %t59)
store ptr %t60, ptr %t61
%t62 = call ptr @fn_itoa(i32 1024)
store ptr %t62, ptr %t63
%t64 = call ptr @fn_nreg()
store ptr %t64, ptr %t65
call void @fn_emit(ptr @.str7353)
%t66 = load ptr, ptr %t65
call void @fn_emit(ptr %t66)
call void @fn_emit(ptr @.str7354)
%t67 = load ptr, ptr %t63
call void @fn_emit(ptr %t67)
call void @fn_emit(ptr @.str7355)
%t68 = load ptr, ptr %t0
%t69 = getelementptr inbounds %Cmp_Node, ptr %t68, i32 0, i32 1
%t70 = load ptr, ptr %t69
call void @fn_emit(ptr %t70)
call void @fn_emit(ptr @.str7356)
%t71 = load ptr, ptr %t61
%t72 = getelementptr inbounds %Cmp_Val, ptr %t71, i32 0, i32 0
%t73 = load ptr, ptr %t72
call void @fn_emit(ptr %t73)
call void @fn_emit(ptr @.str7357)
call void @fn_emit(ptr @.str7358)
%t74 = load ptr, ptr %t1
call void @fn_emit(ptr %t74)
call void @fn_emit(ptr @.str7359)
%t75 = load ptr, ptr %t65
call void @fn_emit(ptr %t75)
call void @fn_emit(ptr @.str7360)
store ptr null, ptr %t76
%t77 = load ptr, ptr %t0
%t78 = getelementptr inbounds %Cmp_Node, ptr %t77, i32 0, i32 2
%t79 = load i32, ptr %t78
%t80 = icmp eq i32 %t79, 1
%t81 = zext i1 %t80 to i32
%t82 = icmp ne i32 %t81, 0
br i1 %t82, label %then17, label %else18
then17:
%t83 = load ptr, ptr %t0
%t84 = getelementptr inbounds %Cmp_Node, ptr %t83, i32 0, i32 1
%t85 = load ptr, ptr %t84
%t86 = call ptr @fn_onenable_body(ptr %t85)
store ptr %t86, ptr %t76
br label %ifend19
else18:
%t87 = load ptr, ptr %t0
%t88 = getelementptr inbounds %Cmp_Node, ptr %t87, i32 0, i32 1
%t89 = load ptr, ptr %t88
%t90 = call ptr @fn_ondisable_body(ptr %t89)
store ptr %t90, ptr %t76
br label %ifend19
ifend19:
%t91 = load ptr, ptr %t76
%t92 = icmp ne ptr %t91, null
%t93 = zext i1 %t92 to i32
%t94 = icmp ne i32 %t93, 0
br i1 %t94, label %then20, label %ifend22
then20:
%t95 = load i32, ptr @g_nloc
store i32 %t95, ptr %t96
%t97 = call ptr @fn_nreg()
store ptr %t97, ptr %t98
call void @fn_emit(ptr @.str7361)
%t99 = load ptr, ptr %t98
call void @fn_emit(ptr %t99)
call void @fn_emit(ptr @.str7362)
%t100 = load ptr, ptr %t63
call void @fn_emit(ptr %t100)
call void @fn_emit(ptr @.str7363)
%t101 = load ptr, ptr %t0
%t102 = getelementptr inbounds %Cmp_Node, ptr %t101, i32 0, i32 1
%t103 = load ptr, ptr %t102
call void @fn_emit(ptr %t103)
call void @fn_emit(ptr @.str7364)
%t104 = load ptr, ptr %t0
%t105 = getelementptr inbounds %Cmp_Node, ptr %t104, i32 0, i32 1
%t106 = load ptr, ptr %t105
call void @fn_emit(ptr %t106)
call void @fn_emit(ptr @.str7365)
%t107 = load ptr, ptr %t61
%t108 = getelementptr inbounds %Cmp_Val, ptr %t107, i32 0, i32 0
%t109 = load ptr, ptr %t108
call void @fn_emit(ptr %t109)
call void @fn_emit(ptr @.str7366)
%t110 = call ptr @fn_emit_alloca(ptr @.str7367)
store ptr %t110, ptr %t111
call void @fn_emit(ptr @.str7368)
%t112 = load ptr, ptr %t98
call void @fn_emit(ptr %t112)
call void @fn_emit(ptr @.str7369)
%t113 = load ptr, ptr %t111
call void @fn_emit(ptr %t113)
call void @fn_emit(ptr @.str7370)
%t114 = load ptr, ptr %t0
%t115 = getelementptr inbounds %Cmp_Node, ptr %t114, i32 0, i32 1
%t116 = load ptr, ptr %t115
%t117 = load ptr, ptr %t111
%t118 = load ptr, ptr %t0
%t119 = getelementptr inbounds %Cmp_Node, ptr %t118, i32 0, i32 1
%t120 = load ptr, ptr %t119
call void @fn_loc_push(ptr %t116, ptr %t117, ptr %t120)
%t121 = load ptr, ptr %t76
call void @fn_emit_block(ptr %t121)
%t122 = load i32, ptr %t96
store i32 %t122, ptr @g_nloc
br label %ifend22
ifend22:
%t123 = load ptr, ptr %t0
%t124 = getelementptr inbounds %Cmp_Node, ptr %t123, i32 0, i32 1
%t125 = load ptr, ptr %t124
%t126 = call ptr @fn_str_concat(ptr @.str7371, ptr %t125)
%t127 = call ptr @fn_str_concat(ptr %t126, ptr @.str7372)
store ptr %t127, ptr %t128
%t129 = load ptr, ptr %t0
%t130 = getelementptr inbounds %Cmp_Node, ptr %t129, i32 0, i32 2
%t131 = load i32, ptr %t130
%t132 = icmp eq i32 %t131, 1
%t133 = zext i1 %t132 to i32
%t134 = icmp ne i32 %t133, 0
br i1 %t134, label %then23, label %ifend25
then23:
%t135 = load ptr, ptr %t0
%t136 = getelementptr inbounds %Cmp_Node, ptr %t135, i32 0, i32 1
%t137 = load ptr, ptr %t136
%t138 = call ptr @fn_str_concat(ptr @.str7373, ptr %t137)
%t139 = call ptr @fn_str_concat(ptr %t138, ptr @.str7374)
store ptr %t139, ptr %t128
br label %ifend25
ifend25:
%t140 = load ptr, ptr %t128
%t141 = call ptr @fn_find_event(ptr %t140)
%t142 = icmp ne ptr %t141, null
%t143 = zext i1 %t142 to i32
%t144 = icmp ne i32 %t143, 0
br i1 %t144, label %then26, label %ifend28
then26:
call void @fn_emit(ptr @.str7375)
%t145 = load ptr, ptr %t128
call void @fn_emit(ptr %t145)
call void @fn_emit(ptr @.str7376)
%t146 = load ptr, ptr %t61
%t147 = getelementptr inbounds %Cmp_Val, ptr %t146, i32 0, i32 0
%t148 = load ptr, ptr %t147
call void @fn_emit(ptr %t148)
call void @fn_emit(ptr @.str7377)
br label %ifend28
ifend28:
br label %ifend16
else15:
store ptr @.str7378, ptr %t149
%t150 = load ptr, ptr %t0
%t151 = getelementptr inbounds %Cmp_Node, ptr %t150, i32 0, i32 1
%t152 = load ptr, ptr %t151
%t153 = call i32 @fn_is_model(ptr %t152)
%t154 = icmp ne i32 %t153, 0
br i1 %t154, label %then29, label %ifend31
then29:
store ptr @.str7379, ptr %t149
br label %ifend31
ifend31:
call void @fn_emit(ptr @.str7380)
%t155 = load ptr, ptr %t1
call void @fn_emit(ptr %t155)
call void @fn_emit(ptr @.str7381)
%t156 = load ptr, ptr %t149
call void @fn_emit(ptr %t156)
%t157 = load ptr, ptr %t0
%t158 = getelementptr inbounds %Cmp_Node, ptr %t157, i32 0, i32 1
%t159 = load ptr, ptr %t158
call void @fn_emit(ptr %t159)
call void @fn_emit(ptr @.str7382)
br label %ifend16
ifend16:
br label %ret
ret:
ret void
}
define void @fn_emit_system_fn(ptr %arg_sys) {
entry:
%t0 = alloca ptr
%t5 = alloca ptr
%t8 = alloca ptr
store ptr %arg_sys, ptr %t0
%t1 = load ptr, ptr %t0
%t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 6
%t3 = load ptr, ptr %t2
store ptr %t3, ptr @g_g_cur_scene
store i32 0, ptr @g_ll_t
store i32 0, ptr @g_ll_lbl
store i32 0, ptr @g_g_term
call void @fn_loc_reset()
store i32 0, ptr @g_nloop
store i32 0, ptr @g_nself
store ptr @.str7383, ptr @g_ret_ty
%t4 = call ptr @fn_buf_new()
store ptr %t4, ptr %t5
%t6 = call ptr @fn_buf_new()
store ptr %t6, ptr @g_falloc
%t7 = load ptr, ptr @g_code
store ptr %t7, ptr %t8
%t9 = load ptr, ptr %t5
store ptr %t9, ptr @g_code
%t10 = load ptr, ptr %t0
%t11 = getelementptr inbounds %Cmp_Node, ptr %t10, i32 0, i32 4
%t12 = load ptr, ptr %t11
call void @fn_emit_block(ptr %t12)
%t13 = load i32, ptr @g_g_term
%t14 = icmp eq i32 %t13, 0
%t15 = zext i1 %t14 to i32
%t16 = icmp ne i32 %t15, 0
br i1 %t16, label %then0, label %ifend2
then0:
call void @fn_emit(ptr @.str7384)
br label %ifend2
ifend2:
call void @fn_emit(ptr @.str7385)
%t17 = load ptr, ptr %t8
store ptr %t17, ptr @g_code
call void @fn_emit(ptr @.str7386)
%t18 = load ptr, ptr %t0
%t19 = getelementptr inbounds %Cmp_Node, ptr %t18, i32 0, i32 1
%t20 = load ptr, ptr %t19
call void @fn_emit(ptr %t20)
call void @fn_emit(ptr @.str7387)
%t21 = load ptr, ptr @g_falloc
%t22 = call ptr @fn_buf_str(ptr %t21)
call void @fn_emit(ptr %t22)
%t23 = load ptr, ptr %t5
%t24 = call ptr @fn_buf_str(ptr %t23)
call void @fn_emit(ptr %t24)
call void @fn_emit(ptr @.str7388)
br label %ret
ret:
ret void
}
define void @fn_emit_call_one(ptr %arg_d) {
entry:
%t0 = alloca ptr
%t6 = alloca ptr
%t11 = alloca ptr
%t12 = alloca i32
%t37 = alloca ptr
%t42 = alloca ptr
%t56 = alloca ptr
%t61 = alloca ptr
%t69 = alloca ptr
%t71 = alloca ptr
store ptr %arg_d, ptr %t0
%t1 = load ptr, ptr %t0
%t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 1
%t3 = load ptr, ptr %t2
%t4 = call ptr @fn_str_concat(ptr @.str7389, ptr %t3)
%t5 = call ptr @fn_emit_bind(ptr %t4)
store ptr %t5, ptr %t6
%t7 = load ptr, ptr %t6
%t8 = call ptr @fn_str_concat(ptr @.str7390, ptr %t7)
%t9 = call ptr @fn_str_concat(ptr %t8, ptr @.str7391)
%t10 = call ptr @fn_emit_bind(ptr %t9)
store ptr %t10, ptr %t11
%t13 = load ptr, ptr %t0
%t14 = getelementptr inbounds %Cmp_Node, ptr %t13, i32 0, i32 5
%t15 = load ptr, ptr %t14
%t16 = icmp ne ptr %t15, null
%t17 = zext i1 %t16 to i32
%t18 = icmp ne i32 %t17, 0
%t19 = zext i1 %t18 to i32
store i32 %t19, ptr %t12
br i1 %t18, label %sc0, label %scend1
sc0:
%t20 = load ptr, ptr %t0
%t21 = getelementptr inbounds %Cmp_Node, ptr %t20, i32 0, i32 5
%t22 = load ptr, ptr %t21
%t23 = getelementptr inbounds %Cmp_Node, ptr %t22, i32 0, i32 1
%t24 = load ptr, ptr %t23
%t25 = call i32 @fn_is_toggled_layer(ptr %t24)
%t26 = icmp ne i32 %t25, 0
%t27 = zext i1 %t26 to i32
store i32 %t27, ptr %t12
br label %scend1
scend1:
%t28 = load i32, ptr %t12
%t29 = icmp ne i32 %t28, 0
br i1 %t29, label %then2, label %ifend4
then2:
%t30 = load ptr, ptr %t0
%t31 = getelementptr inbounds %Cmp_Node, ptr %t30, i32 0, i32 5
%t32 = load ptr, ptr %t31
%t33 = getelementptr inbounds %Cmp_Node, ptr %t32, i32 0, i32 1
%t34 = load ptr, ptr %t33
%t35 = call ptr @fn_str_concat(ptr @.str7392, ptr %t34)
%t36 = call ptr @fn_emit_bind(ptr %t35)
store ptr %t36, ptr %t37
%t38 = load ptr, ptr %t37
%t39 = call ptr @fn_str_concat(ptr @.str7393, ptr %t38)
%t40 = call ptr @fn_str_concat(ptr %t39, ptr @.str7394)
%t41 = call ptr @fn_emit_bind(ptr %t40)
store ptr %t41, ptr %t42
%t43 = load ptr, ptr %t11
%t44 = call ptr @fn_str_concat(ptr @.str7395, ptr %t43)
%t45 = call ptr @fn_str_concat(ptr %t44, ptr @.str7396)
%t46 = load ptr, ptr %t42
%t47 = call ptr @fn_str_concat(ptr %t45, ptr %t46)
%t48 = call ptr @fn_emit_bind(ptr %t47)
store ptr %t48, ptr %t11
br label %ifend4
ifend4:
%t49 = load ptr, ptr %t0
%t50 = getelementptr inbounds %Cmp_Node, ptr %t49, i32 0, i32 2
%t51 = load i32, ptr %t50
%t52 = icmp eq i32 %t51, 1
%t53 = zext i1 %t52 to i32
%t54 = icmp ne i32 %t53, 0
br i1 %t54, label %then5, label %ifend7
then5:
%t55 = call ptr @fn_emit_bind(ptr @.str7397)
store ptr %t55, ptr %t56
%t57 = load ptr, ptr %t56
%t58 = call ptr @fn_str_concat(ptr @.str7398, ptr %t57)
%t59 = call ptr @fn_str_concat(ptr %t58, ptr @.str7399)
%t60 = call ptr @fn_emit_bind(ptr %t59)
store ptr %t60, ptr %t61
%t62 = load ptr, ptr %t11
%t63 = call ptr @fn_str_concat(ptr @.str7400, ptr %t62)
%t64 = call ptr @fn_str_concat(ptr %t63, ptr @.str7401)
%t65 = load ptr, ptr %t61
%t66 = call ptr @fn_str_concat(ptr %t64, ptr %t65)
%t67 = call ptr @fn_emit_bind(ptr %t66)
store ptr %t67, ptr %t11
br label %ifend7
ifend7:
%t68 = call ptr @fn_lbl(ptr @.str7402)
store ptr %t68, ptr %t69
%t70 = call ptr @fn_lbl(ptr @.str7403)
store ptr %t70, ptr %t71
call void @fn_emit(ptr @.str7404)
%t72 = load ptr, ptr %t11
call void @fn_emit(ptr %t72)
call void @fn_emit(ptr @.str7405)
%t73 = load ptr, ptr %t69
call void @fn_emit(ptr %t73)
call void @fn_emit(ptr @.str7406)
%t74 = load ptr, ptr %t71
call void @fn_emit(ptr %t74)
call void @fn_emit(ptr @.str7407)
%t75 = load ptr, ptr %t69
call void @fn_emit(ptr %t75)
call void @fn_emit(ptr @.str7408)
%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 @.str7409)
call void @fn_emit(ptr @.str7410)
%t79 = load ptr, ptr %t71
call void @fn_emit(ptr %t79)
call void @fn_emit(ptr @.str7411)
%t80 = load ptr, ptr %t71
call void @fn_emit(ptr %t80)
call void @fn_emit(ptr @.str7412)
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
%t2 = alloca i32
store ptr %arg_comp, ptr %t0
store ptr %arg_fn, ptr %t1
%t3 = load ptr, ptr %t0
%t4 = call ptr @fn_find_comp(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 %t2
br i1 %t7, label %sc0, label %scend1
sc0:
%t9 = load ptr, ptr %t1
%t10 = call ptr @fn_find_fn(ptr %t9)
%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 %t2
br label %scend1
scend1:
%t15 = load i32, ptr %t2
%t16 = icmp ne i32 %t15, 0
br i1 %t16, label %then2, label %ifend4
then2:
call void @fn_emit(ptr @.str7413)
%t17 = load ptr, ptr %t1
call void @fn_emit(ptr %t17)
call void @fn_emit(ptr @.str7414)
br label %ifend4
ifend4:
br label %ret
ret:
ret void
}
define void @fn_emit_engine_systems_for_phase(ptr %arg_phase) {
entry:
%t0 = alloca ptr
%t4 = alloca i32
store ptr %arg_phase, ptr %t0
%t1 = load ptr, ptr %t0
%t2 = call i32 @fn_str_eq(ptr %t1, ptr @.str7415)
%t3 = icmp ne i32 %t2, 0
br i1 %t3, label %then0, label %ifend2
then0:
call void @fn_emit_one_engine_system(ptr @.str7416, ptr @.str7417)
call void @fn_emit_one_engine_system(ptr @.str7418, ptr @.str7419)
%t5 = load i32, ptr @g_g_uses_tween_rt
%t6 = icmp ne i32 %t5, 0
%t7 = zext i1 %t6 to i32
store i32 %t7, ptr %t4
br i1 %t6, label %sc3, label %scend4
sc3:
%t8 = call ptr @fn_find_fn(ptr @.str7420)
%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 %t4
br label %scend4
scend4:
%t13 = load i32, ptr %t4
%t14 = icmp ne i32 %t13, 0
br i1 %t14, label %then5, label %ifend7
then5:
call void @fn_emit(ptr @.str7421)
br label %ifend7
ifend7:
br label %ifend2
ifend2:
%t15 = load ptr, ptr %t0
%t16 = call i32 @fn_str_eq(ptr %t15, ptr @.str7422)
%t17 = icmp ne i32 %t16, 0
br i1 %t17, label %then8, label %ifend10
then8:
call void @fn_emit_one_engine_system(ptr @.str7423, ptr @.str7424)
br label %ifend10
ifend10:
br label %ret
ret:
ret void
}
define void @fn_emit_calls_for_phase(ptr %arg_phase) {
entry:
%t0 = alloca ptr
%t1 = alloca i32
%t15 = alloca ptr
%t16 = alloca i32
%t17 = alloca i32
%t47 = alloca i32
%t61 = alloca ptr
%t62 = alloca i32
%t63 = alloca i32
%t95 = alloca ptr
%t109 = alloca ptr
%t110 = alloca i32
%t111 = alloca i32
%t149 = alloca ptr
%t151 = alloca ptr
%t153 = alloca ptr
store ptr %arg_phase, ptr %t0
store i32 0, ptr %t1
br label %wcond0
wcond0:
%t2 = load i32, ptr %t1
%t3 = load ptr, ptr @g_prog
%t4 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 1
%t5 = load i32, ptr %t4
%t6 = icmp slt i32 %t2, %t5
%t7 = zext i1 %t6 to i32
%t8 = icmp ne i32 %t7, 0
br i1 %t8, label %wbody1, label %wend2
wbody1:
%t9 = load ptr, ptr @g_prog
%t10 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0
%t11 = load ptr, ptr %t10
%t12 = load i32, ptr %t1
%t13 = getelementptr inbounds ptr, ptr %t11, i32 %t12
%t14 = load ptr, ptr %t13
store ptr %t14, ptr %t15
%t18 = load ptr, ptr %t15
%t19 = getelementptr inbounds %Cmp_Node, ptr %t18, i32 0, i32 0
%t20 = load i32, ptr %t19
%t21 = icmp eq i32 %t20, 9
%t22 = zext i1 %t21 to i32
%t23 = icmp ne i32 %t22, 0
%t24 = zext i1 %t23 to i32
store i32 %t24, ptr %t17
br i1 %t23, label %sc3, label %scend4
sc3:
%t25 = load ptr, ptr %t15
%t26 = getelementptr inbounds %Cmp_Node, ptr %t25, i32 0, i32 3
%t27 = load ptr, ptr %t26
%t28 = load ptr, ptr %t0
%t29 = call i32 @fn_str_eq(ptr %t27, ptr %t28)
%t30 = icmp ne i32 %t29, 0
%t31 = zext i1 %t30 to i32
store i32 %t31, ptr %t17
br label %scend4
scend4:
%t32 = load i32, ptr %t17
%t33 = icmp ne i32 %t32, 0
%t34 = zext i1 %t33 to i32
store i32 %t34, ptr %t16
br i1 %t33, label %sc5, label %scend6
sc5:
%t35 = load ptr, ptr %t15
%t36 = getelementptr inbounds %Cmp_Node, ptr %t35, i32 0, i32 6
%t37 = load ptr, ptr %t36
%t38 = icmp eq ptr %t37, null
%t39 = zext i1 %t38 to i32
%t40 = icmp ne i32 %t39, 0
%t41 = zext i1 %t40 to i32
store i32 %t41, ptr %t16
br label %scend6
scend6:
%t42 = load i32, ptr %t16
%t43 = icmp ne i32 %t42, 0
br i1 %t43, label %then7, label %ifend9
then7:
%t44 = load ptr, ptr %t15
call void @fn_emit_call_one(ptr %t44)
br label %ifend9
ifend9:
%t45 = load i32, ptr %t1
%t46 = add i32 %t45, 1
store i32 %t46, ptr %t1
br label %wcond0
wend2:
store i32 0, ptr %t47
store i32 0, ptr %t1
br label %wcond10
wcond10:
%t48 = load i32, ptr %t1
%t49 = load ptr, ptr @g_prog
%t50 = getelementptr inbounds %LSlice, ptr %t49, i32 0, i32 1
%t51 = load i32, ptr %t50
%t52 = icmp slt i32 %t48, %t51
%t53 = zext i1 %t52 to i32
%t54 = icmp ne i32 %t53, 0
br i1 %t54, label %wbody11, label %wend12
wbody11:
%t55 = load ptr, ptr @g_prog
%t56 = getelementptr inbounds %LSlice, ptr %t55, i32 0, i32 0
%t57 = load ptr, ptr %t56
%t58 = load i32, ptr %t1
%t59 = getelementptr inbounds ptr, ptr %t57, i32 %t58
%t60 = load ptr, ptr %t59
store ptr %t60, ptr %t61
%t64 = load ptr, ptr %t61
%t65 = getelementptr inbounds %Cmp_Node, ptr %t64, i32 0, i32 0
%t66 = load i32, ptr %t65
%t67 = icmp eq i32 %t66, 9
%t68 = zext i1 %t67 to i32
%t69 = icmp ne i32 %t68, 0
%t70 = zext i1 %t69 to i32
store i32 %t70, ptr %t63
br i1 %t69, label %sc13, label %scend14
sc13:
%t71 = load ptr, ptr %t61
%t72 = getelementptr inbounds %Cmp_Node, ptr %t71, i32 0, i32 3
%t73 = load ptr, ptr %t72
%t74 = load ptr, ptr %t0
%t75 = call i32 @fn_str_eq(ptr %t73, ptr %t74)
%t76 = icmp ne i32 %t75, 0
%t77 = zext i1 %t76 to i32
store i32 %t77, ptr %t63
br label %scend14
scend14:
%t78 = load i32, ptr %t63
%t79 = icmp ne i32 %t78, 0
%t80 = zext i1 %t79 to i32
store i32 %t80, ptr %t62
br i1 %t79, label %sc15, label %scend16
sc15:
%t81 = load ptr, ptr %t61
%t82 = getelementptr inbounds %Cmp_Node, ptr %t81, i32 0, i32 6
%t83 = load ptr, ptr %t82
%t84 = icmp ne ptr %t83, null
%t85 = zext i1 %t84 to i32
%t86 = icmp ne i32 %t85, 0
%t87 = zext i1 %t86 to i32
store i32 %t87, ptr %t62
br label %scend16
scend16:
%t88 = load i32, ptr %t62
%t89 = icmp ne i32 %t88, 0
br i1 %t89, label %then17, label %ifend19
then17:
store i32 1, ptr %t47
br label %ifend19
ifend19:
%t90 = load i32, ptr %t1
%t91 = add i32 %t90, 1
store i32 %t91, ptr %t1
br label %wcond10
wend12:
%t92 = load i32, ptr %t47
%t93 = icmp ne i32 %t92, 0
br i1 %t93, label %then20, label %ifend22
then20:
%t94 = call ptr @fn_emit_bind(ptr @.str7425)
store ptr %t94, ptr %t95
store i32 0, ptr %t1
br label %wcond23
wcond23:
%t96 = load i32, ptr %t1
%t97 = load ptr, ptr @g_prog
%t98 = getelementptr inbounds %LSlice, ptr %t97, i32 0, i32 1
%t99 = load i32, ptr %t98
%t100 = icmp slt i32 %t96, %t99
%t101 = zext i1 %t100 to i32
%t102 = icmp ne i32 %t101, 0
br i1 %t102, label %wbody24, label %wend25
wbody24:
%t103 = load ptr, ptr @g_prog
%t104 = getelementptr inbounds %LSlice, ptr %t103, i32 0, i32 0
%t105 = load ptr, ptr %t104
%t106 = load i32, ptr %t1
%t107 = getelementptr inbounds ptr, ptr %t105, i32 %t106
%t108 = load ptr, ptr %t107
store ptr %t108, ptr %t109
%t112 = load ptr, ptr %t109
%t113 = getelementptr inbounds %Cmp_Node, ptr %t112, i32 0, i32 0
%t114 = load i32, ptr %t113
%t115 = icmp eq i32 %t114, 9
%t116 = zext i1 %t115 to i32
%t117 = icmp ne i32 %t116, 0
%t118 = zext i1 %t117 to i32
store i32 %t118, ptr %t111
br i1 %t117, label %sc26, label %scend27
sc26:
%t119 = load ptr, ptr %t109
%t120 = getelementptr inbounds %Cmp_Node, ptr %t119, i32 0, i32 3
%t121 = load ptr, ptr %t120
%t122 = load ptr, ptr %t0
%t123 = call i32 @fn_str_eq(ptr %t121, ptr %t122)
%t124 = icmp ne i32 %t123, 0
%t125 = zext i1 %t124 to i32
store i32 %t125, ptr %t111
br label %scend27
scend27:
%t126 = load i32, ptr %t111
%t127 = icmp ne i32 %t126, 0
%t128 = zext i1 %t127 to i32
store i32 %t128, ptr %t110
br i1 %t127, label %sc28, label %scend29
sc28:
%t129 = load ptr, ptr %t109
%t130 = getelementptr inbounds %Cmp_Node, ptr %t129, i32 0, i32 6
%t131 = load ptr, ptr %t130
%t132 = icmp ne ptr %t131, null
%t133 = zext i1 %t132 to i32
%t134 = icmp ne i32 %t133, 0
%t135 = zext i1 %t134 to i32
store i32 %t135, ptr %t110
br label %scend29
scend29:
%t136 = load i32, ptr %t110
%t137 = icmp ne i32 %t136, 0
br i1 %t137, label %then30, label %ifend32
then30:
%t138 = load ptr, ptr %t95
%t139 = call ptr @fn_str_concat(ptr @.str7426, ptr %t138)
%t140 = call ptr @fn_str_concat(ptr %t139, ptr @.str7427)
%t141 = load ptr, ptr %t109
%t142 = getelementptr inbounds %Cmp_Node, ptr %t141, i32 0, i32 6
%t143 = load ptr, ptr %t142
%t144 = getelementptr inbounds %Cmp_Node, ptr %t143, i32 0, i32 2
%t145 = load i32, ptr %t144
%t146 = call ptr @fn_itoa(i32 %t145)
%t147 = call ptr @fn_str_concat(ptr %t140, ptr %t146)
%t148 = call ptr @fn_emit_bind(ptr %t147)
store ptr %t148, ptr %t149
%t150 = call ptr @fn_lbl(ptr @.str7428)
store ptr %t150, ptr %t151
%t152 = call ptr @fn_lbl(ptr @.str7429)
store ptr %t152, ptr %t153
call void @fn_emit(ptr @.str7430)
%t154 = load ptr, ptr %t149
call void @fn_emit(ptr %t154)
call void @fn_emit(ptr @.str7431)
%t155 = load ptr, ptr %t151
call void @fn_emit(ptr %t155)
call void @fn_emit(ptr @.str7432)
%t156 = load ptr, ptr %t153
call void @fn_emit(ptr %t156)
call void @fn_emit(ptr @.str7433)
%t157 = load ptr, ptr %t151
call void @fn_emit(ptr %t157)
call void @fn_emit(ptr @.str7434)
%t158 = load ptr, ptr %t109
call void @fn_emit_call_one(ptr %t158)
call void @fn_emit(ptr @.str7435)
%t159 = load ptr, ptr %t153
call void @fn_emit(ptr %t159)
call void @fn_emit(ptr @.str7436)
%t160 = load ptr, ptr %t153
call void @fn_emit(ptr %t160)
call void @fn_emit(ptr @.str7437)
br label %ifend32
ifend32:
%t161 = load i32, ptr %t1
%t162 = add i32 %t161, 1
store i32 %t162, ptr %t1
br label %wcond23
wend25:
br label %ifend22
ifend22:
%t163 = load ptr, ptr %t0
call void @fn_emit_engine_systems_for_phase(ptr %t163)
br label %ret
ret:
ret void
}
define void @fn_emit_scene_fn(ptr %arg_name, ptr %arg_kind, ptr %arg_body) {
entry:
%t0 = alloca ptr
%t1 = alloca ptr
%t2 = alloca ptr
%t4 = alloca ptr
%t7 = alloca ptr
%t19 = alloca ptr
%t20 = alloca i32
store ptr %arg_name, ptr %t0
store ptr %arg_kind, ptr %t1
store ptr %arg_body, 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 @.str7438, 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 = load ptr, ptr %t2
%t10 = icmp ne 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 %t2
call void @fn_emit_block(ptr %t13)
br label %ifend2
ifend2:
%t14 = load ptr, ptr %t0
%t15 = call ptr @fn_str_concat(ptr @.str7439, ptr %t14)
%t16 = call ptr @fn_str_concat(ptr %t15, ptr @.str7440)
%t17 = load ptr, ptr %t1
%t18 = call ptr @fn_str_concat(ptr %t16, ptr %t17)
store ptr %t18, ptr %t19
%t21 = load i32, ptr @g_g_term
%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 %t20
br i1 %t24, label %sc3, label %scend4
sc3:
%t26 = load ptr, ptr %t19
%t27 = call ptr @fn_find_event(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 %t20
br label %scend4
scend4:
%t32 = load i32, ptr %t20
%t33 = icmp ne i32 %t32, 0
br i1 %t33, label %then5, label %ifend7
then5:
call void @fn_emit(ptr @.str7441)
%t34 = load ptr, ptr %t19
call void @fn_emit(ptr %t34)
call void @fn_emit(ptr @.str7442)
br label %ifend7
ifend7:
%t35 = load i32, ptr @g_g_term
%t36 = icmp eq i32 %t35, 0
%t37 = zext i1 %t36 to i32
%t38 = icmp ne i32 %t37, 0
br i1 %t38, label %then8, label %ifend10
then8:
call void @fn_emit(ptr @.str7443)
br label %ifend10
ifend10:
call void @fn_emit(ptr @.str7444)
%t39 = load ptr, ptr %t7
store ptr %t39, ptr @g_code
call void @fn_emit(ptr @.str7445)
%t40 = load ptr, ptr %t1
call void @fn_emit(ptr %t40)
call void @fn_emit(ptr @.str7446)
%t41 = load ptr, ptr %t0
call void @fn_emit(ptr %t41)
call void @fn_emit(ptr @.str7447)
%t42 = load ptr, ptr @g_falloc
%t43 = call ptr @fn_buf_str(ptr %t42)
call void @fn_emit(ptr %t43)
%t44 = load ptr, ptr %t4
%t45 = call ptr @fn_buf_str(ptr %t44)
call void @fn_emit(ptr %t45)
call void @fn_emit(ptr @.str7448)
br label %ret
ret:
ret void
}
define void @fn_emit_scene_hooks() {
entry:
%t0 = alloca i32
%t14 = alloca ptr
store i32 0, ptr %t0
br label %wcond0
wcond0:
%t1 = load i32, ptr %t0
%t2 = load ptr, ptr @g_g_scenes
%t3 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 1
%t4 = load i32, ptr %t3
%t5 = icmp slt i32 %t1, %t4
%t6 = zext i1 %t5 to i32
%t7 = icmp ne i32 %t6, 0
br i1 %t7, label %wbody1, label %wend2
wbody1:
%t8 = load ptr, ptr @g_g_scenes
%t9 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 0
%t10 = load ptr, ptr %t9
%t11 = load i32, ptr %t0
%t12 = getelementptr inbounds ptr, ptr %t10, i32 %t11
%t13 = load ptr, ptr %t12
store ptr %t13, ptr %t14
%t15 = load ptr, ptr %t14
store ptr %t15, ptr @g_g_cur_scene
%t16 = load ptr, ptr %t14
%t17 = getelementptr inbounds %Cmp_Node, ptr %t16, i32 0, i32 1
%t18 = load ptr, ptr %t17
%t19 = load ptr, ptr %t14
%t20 = getelementptr inbounds %Cmp_Node, ptr %t19, i32 0, i32 4
%t21 = load ptr, ptr %t20
call void @fn_emit_scene_fn(ptr %t18, ptr @.str7449, ptr %t21)
%t22 = load ptr, ptr %t14
%t23 = getelementptr inbounds %Cmp_Node, ptr %t22, i32 0, i32 1
%t24 = load ptr, ptr %t23
%t25 = load ptr, ptr %t14
%t26 = getelementptr inbounds %Cmp_Node, ptr %t25, i32 0, i32 5
%t27 = load ptr, ptr %t26
call void @fn_emit_scene_fn(ptr %t24, ptr @.str7450, ptr %t27)
%t28 = load i32, ptr %t0
%t29 = add i32 %t28, 1
store i32 %t29, ptr %t0
br label %wcond0
wend2:
br label %ret
ret:
ret void
}
define void @fn_emit_despawn_hooks() {
entry:
%t0 = alloca i32
%t14 = alloca ptr
%t19 = alloca ptr
%t21 = alloca ptr
%t24 = alloca ptr
%t33 = alloca ptr
store i32 0, ptr %t0
br label %wcond0
wcond0:
%t1 = load i32, ptr %t0
%t2 = load ptr, ptr @g_g_ondespawn
%t3 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 1
%t4 = load i32, ptr %t3
%t5 = icmp slt i32 %t1, %t4
%t6 = zext i1 %t5 to i32
%t7 = icmp ne i32 %t6, 0
br i1 %t7, label %wbody1, label %wend2
wbody1:
%t8 = load ptr, ptr @g_g_ondespawn
%t9 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 0
%t10 = load ptr, ptr %t9
%t11 = load i32, ptr %t0
%t12 = getelementptr inbounds ptr, ptr %t10, i32 %t11
%t13 = load ptr, ptr %t12
store ptr %t13, ptr %t14
%t15 = load ptr, ptr %t14
%t16 = getelementptr inbounds %Cmp_Node, ptr %t15, i32 0, i32 1
%t17 = load ptr, ptr %t16
%t18 = call ptr @fn_find_arch(ptr %t17)
store ptr %t18, ptr %t19
store i32 0, ptr @g_ll_t
store i32 0, ptr @g_ll_lbl
store i32 0, ptr @g_g_term
call void @fn_loc_reset()
store i32 0, ptr @g_nloop
store i32 0, ptr @g_nself
store ptr @.str7451, ptr @g_ret_ty
%t20 = call ptr @fn_buf_new()
store ptr %t20, ptr %t21
%t22 = call ptr @fn_buf_new()
store ptr %t22, ptr @g_falloc
%t23 = load ptr, ptr @g_code
store ptr %t23, ptr %t24
%t25 = load ptr, ptr %t21
store ptr %t25, ptr @g_code
%t26 = load ptr, ptr %t14
%t27 = getelementptr inbounds %Cmp_Node, ptr %t26, i32 0, i32 3
%t28 = load ptr, ptr %t27
%t29 = icmp ne ptr %t28, null
%t30 = zext i1 %t29 to i32
%t31 = icmp ne i32 %t30, 0
br i1 %t31, label %then3, label %ifend5
then3:
%t32 = call ptr @fn_emit_alloca(ptr @.str7452)
store ptr %t32, ptr %t33
call void @fn_emit(ptr @.str7453)
%t34 = load ptr, ptr %t33
call void @fn_emit(ptr %t34)
call void @fn_emit(ptr @.str7454)
%t35 = load ptr, ptr %t14
%t36 = getelementptr inbounds %Cmp_Node, ptr %t35, i32 0, i32 3
%t37 = load ptr, ptr %t36
%t38 = load ptr, ptr %t33
call void @fn_loc_push(ptr %t37, ptr %t38, ptr @.str7455)
br label %ifend5
ifend5:
%t39 = load ptr, ptr %t19
call void @fn_emit_bind_props(ptr %t39, ptr @.str7456)
%t40 = load ptr, ptr %t14
%t41 = getelementptr inbounds %Cmp_Node, ptr %t40, i32 0, i32 4
%t42 = load ptr, ptr %t41
call void @fn_emit_block(ptr %t42)
%t43 = load i32, ptr @g_g_term
%t44 = icmp eq i32 %t43, 0
%t45 = zext i1 %t44 to i32
%t46 = icmp ne i32 %t45, 0
br i1 %t46, label %then6, label %ifend8
then6:
call void @fn_emit(ptr @.str7457)
br label %ifend8
ifend8:
call void @fn_emit(ptr @.str7458)
%t47 = load ptr, ptr %t24
store ptr %t47, ptr @g_code
call void @fn_emit(ptr @.str7459)
%t48 = load ptr, ptr %t14
%t49 = getelementptr inbounds %Cmp_Node, ptr %t48, i32 0, i32 1
%t50 = load ptr, ptr %t49
call void @fn_emit(ptr %t50)
call void @fn_emit(ptr @.str7460)
%t51 = load ptr, ptr @g_falloc
%t52 = call ptr @fn_buf_str(ptr %t51)
call void @fn_emit(ptr %t52)
%t53 = load ptr, ptr %t21
%t54 = call ptr @fn_buf_str(ptr %t53)
call void @fn_emit(ptr %t54)
call void @fn_emit(ptr @.str7461)
%t55 = load i32, ptr %t0
%t56 = add i32 %t55, 1
store i32 %t56, ptr %t0
br label %wcond0
wend2:
call void @fn_emit_despawn_all_fn()
br label %ret
ret:
ret void
}
define void @fn_emit_despawn_all_fn() {
entry:
%t7 = alloca ptr
%t10 = alloca i32
%t26 = alloca ptr
%t29 = alloca ptr
%t42 = alloca ptr
%t0 = load ptr, ptr @g_g_ondespawn
%t1 = getelementptr inbounds %LSlice, ptr %t0, i32 0, i32 1
%t2 = load i32, ptr %t1
%t3 = icmp eq i32 %t2, 0
%t4 = zext i1 %t3 to i32
%t5 = icmp ne i32 %t4, 0
br i1 %t5, label %then0, label %ifend2
then0:
br label %ret
ifend2:
%t6 = call ptr @fn_itoa(i32 1024)
store ptr %t6, ptr %t7
call void @fn_emit(ptr @.str7462)
call void @fn_emit(ptr @.str7463)
call void @fn_emit(ptr @.str7464)
call void @fn_emit(ptr @.str7465)
call void @fn_emit(ptr @.str7466)
%t8 = load ptr, ptr %t7
call void @fn_emit(ptr %t8)
call void @fn_emit(ptr @.str7467)
call void @fn_emit(ptr @.str7468)
call void @fn_emit(ptr @.str7469)
call void @fn_emit(ptr @.str7470)
%t9 = load ptr, ptr %t7
call void @fn_emit(ptr %t9)
call void @fn_emit(ptr @.str7471)
call void @fn_emit(ptr @.str7472)
store i32 0, ptr %t10
br label %wcond3
wcond3:
%t11 = load i32, ptr %t10
%t12 = load ptr, ptr @g_g_ondespawn
%t13 = getelementptr inbounds %LSlice, ptr %t12, i32 0, i32 1
%t14 = load i32, ptr %t13
%t15 = icmp slt i32 %t11, %t14
%t16 = zext i1 %t15 to i32
%t17 = icmp ne i32 %t16, 0
br i1 %t17, label %wbody4, label %wend5
wbody4:
%t18 = load ptr, ptr @g_g_ondespawn
%t19 = getelementptr inbounds %LSlice, ptr %t18, i32 0, i32 0
%t20 = load ptr, ptr %t19
%t21 = load i32, ptr %t10
%t22 = getelementptr inbounds ptr, ptr %t20, i32 %t21
%t23 = load ptr, ptr %t22
%t24 = getelementptr inbounds %Cmp_Node, ptr %t23, i32 0, i32 1
%t25 = load ptr, ptr %t24
store ptr %t25, ptr %t26
%t27 = load i32, ptr %t10
%t28 = call ptr @fn_itoa(i32 %t27)
store ptr %t28, ptr %t29
call void @fn_emit(ptr @.str7473)
%t30 = load ptr, ptr %t29
call void @fn_emit(ptr %t30)
call void @fn_emit(ptr @.str7474)
%t31 = load ptr, ptr %t26
%t32 = call i32 @fn_find_arch_id(ptr %t31)
%t33 = call ptr @fn_itoa(i32 %t32)
call void @fn_emit(ptr %t33)
call void @fn_emit(ptr @.str7475)
call void @fn_emit(ptr @.str7476)
%t34 = load ptr, ptr %t29
call void @fn_emit(ptr %t34)
call void @fn_emit(ptr @.str7477)
%t35 = load ptr, ptr %t29
call void @fn_emit(ptr %t35)
call void @fn_emit(ptr @.str7478)
%t36 = load ptr, ptr %t29
call void @fn_emit(ptr %t36)
call void @fn_emit(ptr @.str7479)
call void @fn_emit(ptr @.str7480)
%t37 = load ptr, ptr %t29
call void @fn_emit(ptr %t37)
call void @fn_emit(ptr @.str7481)
%t38 = load ptr, ptr %t26
call void @fn_emit(ptr %t38)
call void @fn_emit(ptr @.str7482)
%t39 = load ptr, ptr %t26
%t40 = call ptr @fn_str_concat(ptr @.str7483, ptr %t39)
%t41 = call ptr @fn_str_concat(ptr %t40, ptr @.str7484)
store ptr %t41, ptr %t42
%t43 = load ptr, ptr %t42
%t44 = call ptr @fn_find_event(ptr %t43)
%t45 = icmp ne ptr %t44, null
%t46 = zext i1 %t45 to i32
%t47 = icmp ne i32 %t46, 0
br i1 %t47, label %then6, label %ifend8
then6:
call void @fn_emit(ptr @.str7485)
%t48 = load ptr, ptr %t42
call void @fn_emit(ptr %t48)
call void @fn_emit(ptr @.str7486)
br label %ifend8
ifend8:
call void @fn_emit(ptr @.str7487)
%t49 = load ptr, ptr %t29
call void @fn_emit(ptr %t49)
call void @fn_emit(ptr @.str7488)
call void @fn_emit(ptr @.str7489)
%t50 = load ptr, ptr %t29
call void @fn_emit(ptr %t50)
call void @fn_emit(ptr @.str7490)
%t51 = load i32, ptr %t10
%t52 = add i32 %t51, 1
store i32 %t52, ptr %t10
br label %wcond3
wend5:
call void @fn_emit(ptr @.str7491)
call void @fn_emit(ptr @.str7492)
call void @fn_emit(ptr @.str7493)
br label %ret
ret:
ret void
}
define void @fn_emit_event_fns() {
entry:
%t0 = alloca i32
%t14 = alloca ptr
%t18 = alloca ptr
%t20 = alloca ptr
%t22 = alloca i32
%t89 = alloca ptr
%t92 = alloca ptr
%t104 = alloca ptr
%t105 = alloca i32
%t123 = alloca ptr
%t128 = alloca ptr
%t130 = alloca ptr
%t142 = alloca ptr
%t156 = alloca ptr
%t176 = alloca i32
%t177 = alloca i32
%t212 = alloca ptr
%t215 = alloca ptr
%t217 = alloca ptr
%t219 = alloca ptr
%t225 = alloca ptr
%t229 = alloca ptr
%t236 = alloca ptr
%t242 = alloca ptr
%t250 = alloca ptr
%t255 = alloca ptr
%t257 = alloca ptr
%t259 = alloca ptr
%t272 = alloca ptr
%t286 = alloca ptr
%t289 = alloca ptr
%t298 = alloca i32
%t334 = alloca ptr
%t335 = alloca i32
%t351 = alloca ptr
%t354 = alloca ptr
call void @fn_emith(ptr @.str7494)
store i32 0, ptr %t0
br label %wcond0
wcond0:
%t1 = load i32, ptr %t0
%t2 = load ptr, ptr @g_g_events
%t3 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 1
%t4 = load i32, ptr %t3
%t5 = icmp slt i32 %t1, %t4
%t6 = zext i1 %t5 to i32
%t7 = icmp ne i32 %t6, 0
br i1 %t7, label %wbody1, label %wend2
wbody1:
%t8 = load ptr, ptr @g_g_events
%t9 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 0
%t10 = load ptr, ptr %t9
%t11 = load i32, ptr %t0
%t12 = getelementptr inbounds ptr, ptr %t10, i32 %t11
%t13 = load ptr, ptr %t12
store ptr %t13, ptr %t14
%t15 = load ptr, ptr %t14
%t16 = getelementptr inbounds %Cmp_Node, ptr %t15, i32 0, i32 1
%t17 = load ptr, ptr %t16
store ptr %t17, ptr %t18
%t19 = call ptr @fn_itoa(i32 16)
store ptr %t19, ptr %t20
call void @fn_emith(ptr @.str7495)
%t21 = load ptr, ptr %t18
call void @fn_emith(ptr %t21)
call void @fn_emith(ptr @.str7496)
store i32 0, ptr %t22
br label %wcond3
wcond3:
%t23 = load i32, ptr %t22
%t24 = load ptr, ptr %t14
%t25 = getelementptr inbounds %Cmp_Node, ptr %t24, i32 0, i32 7
%t26 = load ptr, ptr %t25
%t27 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 1
%t28 = load i32, ptr %t27
%t29 = icmp slt i32 %t23, %t28
%t30 = zext i1 %t29 to i32
%t31 = icmp ne i32 %t30, 0
br i1 %t31, label %wbody4, label %wend5
wbody4:
%t32 = load i32, ptr %t22
%t33 = icmp sgt i32 %t32, 0
%t34 = zext i1 %t33 to i32
%t35 = icmp ne i32 %t34, 0
br i1 %t35, label %then6, label %ifend8
then6:
call void @fn_emith(ptr @.str7497)
br label %ifend8
ifend8:
%t36 = load ptr, ptr %t14
%t37 = getelementptr inbounds %Cmp_Node, ptr %t36, i32 0, i32 7
%t38 = load ptr, ptr %t37
%t39 = getelementptr inbounds %LSlice, ptr %t38, i32 0, i32 0
%t40 = load ptr, ptr %t39
%t41 = load i32, ptr %t22
%t42 = getelementptr inbounds ptr, ptr %t40, i32 %t41
%t43 = load ptr, ptr %t42
%t44 = getelementptr inbounds %Cmp_Node, ptr %t43, i32 0, i32 3
%t45 = load ptr, ptr %t44
%t46 = call ptr @fn_llty(ptr %t45)
call void @fn_emith(ptr %t46)
%t47 = load i32, ptr %t22
%t48 = add i32 %t47, 1
store i32 %t48, ptr %t22
br label %wcond3
wend5:
%t49 = load ptr, ptr %t14
%t50 = getelementptr inbounds %Cmp_Node, ptr %t49, i32 0, i32 2
%t51 = load i32, ptr %t50
%t52 = icmp eq i32 %t51, 1
%t53 = zext i1 %t52 to i32
%t54 = icmp ne i32 %t53, 0
br i1 %t54, label %then9, label %ifend11
then9:
%t55 = load ptr, ptr %t14
%t56 = getelementptr inbounds %Cmp_Node, ptr %t55, i32 0, i32 7
%t57 = load ptr, ptr %t56
%t58 = getelementptr inbounds %LSlice, ptr %t57, i32 0, i32 1
%t59 = load i32, ptr %t58
%t60 = icmp sgt i32 %t59, 0
%t61 = zext i1 %t60 to i32
%t62 = icmp ne i32 %t61, 0
br i1 %t62, label %then12, label %ifend14
then12:
call void @fn_emith(ptr @.str7498)
br label %ifend14
ifend14:
call void @fn_emith(ptr @.str7499)
br label %ifend11
ifend11:
call void @fn_emith(ptr @.str7500)
call void @fn_emith(ptr @.str7501)
%t63 = load ptr, ptr %t18
call void @fn_emith(ptr %t63)
call void @fn_emith(ptr @.str7502)
%t64 = load ptr, ptr %t20
call void @fn_emith(ptr %t64)
call void @fn_emith(ptr @.str7503)
call void @fn_emith(ptr @.str7504)
%t65 = load ptr, ptr %t18
call void @fn_emith(ptr %t65)
call void @fn_emith(ptr @.str7505)
call void @fn_emith(ptr @.str7506)
%t66 = load ptr, ptr %t18
call void @fn_emith(ptr %t66)
call void @fn_emith(ptr @.str7507)
%t67 = load ptr, ptr %t20
call void @fn_emith(ptr %t67)
call void @fn_emith(ptr @.str7508)
call void @fn_emit(ptr @.str7509)
%t68 = load ptr, ptr %t18
call void @fn_emit(ptr %t68)
call void @fn_emit(ptr @.str7510)
call void @fn_emit(ptr @.str7511)
%t69 = load ptr, ptr %t18
call void @fn_emit(ptr %t69)
call void @fn_emit(ptr @.str7512)
call void @fn_emit(ptr @.str7513)
%t70 = load ptr, ptr %t20
call void @fn_emit(ptr %t70)
call void @fn_emit(ptr @.str7514)
call void @fn_emit(ptr @.str7515)
call void @fn_emit(ptr @.str7516)
%t71 = load ptr, ptr %t20
call void @fn_emit(ptr %t71)
call void @fn_emit(ptr @.str7517)
%t72 = load ptr, ptr %t18
call void @fn_emit(ptr %t72)
call void @fn_emit(ptr @.str7518)
call void @fn_emit(ptr @.str7519)
call void @fn_emit(ptr @.str7520)
%t73 = load ptr, ptr %t20
call void @fn_emit(ptr %t73)
call void @fn_emit(ptr @.str7521)
%t74 = load ptr, ptr %t18
call void @fn_emit(ptr %t74)
call void @fn_emit(ptr @.str7522)
call void @fn_emit(ptr @.str7523)
call void @fn_emit(ptr @.str7524)
%t75 = load ptr, ptr %t18
call void @fn_emit(ptr %t75)
call void @fn_emit(ptr @.str7525)
call void @fn_emit(ptr @.str7526)
call void @fn_emit(ptr @.str7527)
%t76 = load ptr, ptr %t18
call void @fn_emit(ptr %t76)
call void @fn_emit(ptr @.str7528)
call void @fn_emit(ptr @.str7529)
%t77 = load ptr, ptr %t18
call void @fn_emit(ptr %t77)
call void @fn_emit(ptr @.str7530)
call void @fn_emit(ptr @.str7531)
%t78 = load ptr, ptr %t20
call void @fn_emit(ptr %t78)
call void @fn_emit(ptr @.str7532)
call void @fn_emit(ptr @.str7533)
call void @fn_emit(ptr @.str7534)
%t79 = load ptr, ptr %t20
call void @fn_emit(ptr %t79)
call void @fn_emit(ptr @.str7535)
%t80 = load ptr, ptr %t18
call void @fn_emit(ptr %t80)
call void @fn_emit(ptr @.str7536)
call void @fn_emit(ptr @.str7537)
call void @fn_emit(ptr @.str7538)
%t81 = load ptr, ptr %t20
call void @fn_emit(ptr %t81)
call void @fn_emit(ptr @.str7539)
%t82 = load ptr, ptr %t18
call void @fn_emit(ptr %t82)
call void @fn_emit(ptr @.str7540)
call void @fn_emit(ptr @.str7541)
call void @fn_emit(ptr @.str7542)
%t83 = load ptr, ptr %t18
call void @fn_emit(ptr %t83)
call void @fn_emit(ptr @.str7543)
call void @fn_emit(ptr @.str7544)
call void @fn_emit(ptr @.str7545)
%t84 = load ptr, ptr %t18
call void @fn_emit(ptr %t84)
call void @fn_emit(ptr @.str7546)
call void @fn_emit(ptr @.str7547)
%t85 = load ptr, ptr %t18
call void @fn_emit(ptr %t85)
call void @fn_emit(ptr @.str7548)
call void @fn_emit(ptr @.str7549)
call void @fn_emit(ptr @.str7550)
call void @fn_emit(ptr @.str7551)
%t86 = load ptr, ptr %t20
call void @fn_emit(ptr %t86)
call void @fn_emit(ptr @.str7552)
%t87 = load ptr, ptr %t18
call void @fn_emit(ptr %t87)
call void @fn_emit(ptr @.str7553)
call void @fn_emit(ptr @.str7554)
call void @fn_emit(ptr @.str7555)
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 @.str7556, ptr @g_ret_ty
%t88 = call ptr @fn_buf_new()
store ptr %t88, ptr %t89
%t90 = call ptr @fn_buf_new()
store ptr %t90, ptr @g_falloc
%t91 = load ptr, ptr @g_code
store ptr %t91, ptr %t92
%t93 = load ptr, ptr %t89
store ptr %t93, ptr @g_code
call void @fn_emit(ptr @.str7557)
call void @fn_emit(ptr @.str7558)
%t94 = call ptr @fn_itoa(i32 32)
call void @fn_emit(ptr %t94)
call void @fn_emit(ptr @.str7559)
call void @fn_emit(ptr @.str7560)
call void @fn_emit(ptr @.str7561)
%t95 = load ptr, ptr %t14
%t96 = getelementptr inbounds %Cmp_Node, ptr %t95, i32 0, i32 2
%t97 = load i32, ptr %t96
%t98 = icmp eq i32 %t97, 1
%t99 = zext i1 %t98 to i32
%t100 = icmp ne i32 %t99, 0
br i1 %t100, label %then15, label %else16
then15:
call void @fn_emit(ptr @.str7562)
br label %ifend17
else16:
call void @fn_emit(ptr @.str7563)
br label %ifend17
ifend17:
call void @fn_emit(ptr @.str7564)
call void @fn_emit(ptr @.str7565)
%t101 = load ptr, ptr %t18
%t102 = call ptr @fn_str_concat(ptr @.str7566, ptr %t101)
%t103 = call ptr @fn_emit_alloca(ptr %t102)
store ptr %t103, ptr %t104
store i32 0, ptr %t105
br label %wcond18
wcond18:
%t106 = load i32, ptr %t105
%t107 = load ptr, ptr %t14
%t108 = getelementptr inbounds %Cmp_Node, ptr %t107, i32 0, i32 7
%t109 = load ptr, ptr %t108
%t110 = getelementptr inbounds %LSlice, ptr %t109, i32 0, i32 1
%t111 = load i32, ptr %t110
%t112 = icmp slt i32 %t106, %t111
%t113 = zext i1 %t112 to i32
%t114 = icmp ne i32 %t113, 0
br i1 %t114, label %wbody19, label %wend20
wbody19:
%t115 = load ptr, ptr %t14
%t116 = getelementptr inbounds %Cmp_Node, ptr %t115, i32 0, i32 7
%t117 = load ptr, ptr %t116
%t118 = getelementptr inbounds %LSlice, ptr %t117, i32 0, i32 0
%t119 = load ptr, ptr %t118
%t120 = load i32, ptr %t105
%t121 = getelementptr inbounds ptr, ptr %t119, i32 %t120
%t122 = load ptr, ptr %t121
store ptr %t122, ptr %t123
%t124 = load ptr, ptr %t123
%t125 = getelementptr inbounds %Cmp_Node, ptr %t124, i32 0, i32 3
%t126 = load ptr, ptr %t125
%t127 = call ptr @fn_llty(ptr %t126)
store ptr %t127, ptr %t128
%t129 = call ptr @fn_nreg()
store ptr %t129, ptr %t130
call void @fn_emit(ptr @.str7567)
%t131 = load ptr, ptr %t130
call void @fn_emit(ptr %t131)
call void @fn_emit(ptr @.str7568)
%t132 = load ptr, ptr %t18
call void @fn_emit(ptr %t132)
call void @fn_emit(ptr @.str7569)
%t133 = load ptr, ptr %t104
call void @fn_emit(ptr %t133)
call void @fn_emit(ptr @.str7570)
%t134 = load i32, ptr %t105
%t135 = call ptr @fn_itoa(i32 %t134)
call void @fn_emit(ptr %t135)
call void @fn_emit(ptr @.str7571)
call void @fn_emit(ptr @.str7572)
%t136 = load ptr, ptr %t128
call void @fn_emit(ptr %t136)
call void @fn_emit(ptr @.str7573)
%t137 = load i32, ptr %t105
%t138 = call ptr @fn_itoa(i32 %t137)
call void @fn_emit(ptr %t138)
call void @fn_emit(ptr @.str7574)
%t139 = load ptr, ptr %t130
call void @fn_emit(ptr %t139)
call void @fn_emit(ptr @.str7575)
%t140 = load ptr, ptr %t128
%t141 = call ptr @fn_emit_alloca(ptr %t140)
store ptr %t141, ptr %t142
call void @fn_emit(ptr @.str7576)
%t143 = load ptr, ptr %t128
call void @fn_emit(ptr %t143)
call void @fn_emit(ptr @.str7577)
%t144 = load i32, ptr %t105
%t145 = call ptr @fn_itoa(i32 %t144)
call void @fn_emit(ptr %t145)
call void @fn_emit(ptr @.str7578)
%t146 = load ptr, ptr %t142
call void @fn_emit(ptr %t146)
call void @fn_emit(ptr @.str7579)
%t147 = load ptr, ptr %t123
%t148 = getelementptr inbounds %Cmp_Node, ptr %t147, i32 0, i32 1
%t149 = load ptr, ptr %t148
%t150 = load ptr, ptr %t142
%t151 = load ptr, ptr %t123
%t152 = getelementptr inbounds %Cmp_Node, ptr %t151, i32 0, i32 3
%t153 = load ptr, ptr %t152
call void @fn_loc_push(ptr %t149, ptr %t150, ptr %t153)
%t154 = load i32, ptr %t105
%t155 = add i32 %t154, 1
store i32 %t155, ptr %t105
br label %wcond18
wend20:
store ptr null, ptr %t156
%t157 = load ptr, ptr %t14
%t158 = getelementptr inbounds %Cmp_Node, ptr %t157, i32 0, i32 2
%t159 = load i32, ptr %t158
%t160 = icmp eq i32 %t159, 1
%t161 = zext i1 %t160 to i32
%t162 = icmp ne i32 %t161, 0
br i1 %t162, label %then21, label %ifend23
then21:
%t163 = call ptr @fn_nreg()
store ptr %t163, ptr %t156
call void @fn_emit(ptr @.str7580)
%t164 = load ptr, ptr %t156
call void @fn_emit(ptr %t164)
call void @fn_emit(ptr @.str7581)
%t165 = load ptr, ptr %t18
call void @fn_emit(ptr %t165)
call void @fn_emit(ptr @.str7582)
%t166 = load ptr, ptr %t104
call void @fn_emit(ptr %t166)
call void @fn_emit(ptr @.str7583)
%t167 = load ptr, ptr %t14
%t168 = getelementptr inbounds %Cmp_Node, ptr %t167, i32 0, i32 7
%t169 = load ptr, ptr %t168
%t170 = getelementptr inbounds %LSlice, ptr %t169, i32 0, i32 1
%t171 = load i32, ptr %t170
%t172 = call ptr @fn_itoa(i32 %t171)
call void @fn_emit(ptr %t172)
call void @fn_emit(ptr @.str7584)
call void @fn_emit(ptr @.str7585)
%t173 = load ptr, ptr %t156
call void @fn_emit(ptr %t173)
call void @fn_emit(ptr @.str7586)
%t174 = load ptr, ptr %t156
store ptr %t174, ptr @g_g_cancel_addr
br label %ifend23
ifend23:
%t175 = load i32, ptr @g_nloc
store i32 %t175, ptr %t176
store i32 0, ptr %t177
br label %wcond24
wcond24:
%t178 = load i32, ptr %t177
%t179 = load ptr, ptr @g_g_onlisten
%t180 = getelementptr inbounds %LSlice, ptr %t179, i32 0, i32 1
%t181 = load i32, ptr %t180
%t182 = icmp slt i32 %t178, %t181
%t183 = zext i1 %t182 to i32
%t184 = icmp ne i32 %t183, 0
br i1 %t184, label %wbody25, label %wend26
wbody25:
%t185 = load ptr, ptr @g_g_onlisten
%t186 = getelementptr inbounds %LSlice, ptr %t185, i32 0, i32 0
%t187 = load ptr, ptr %t186
%t188 = load i32, ptr %t177
%t189 = getelementptr inbounds ptr, ptr %t187, i32 %t188
%t190 = load ptr, ptr %t189
%t191 = getelementptr inbounds %Cmp_Node, ptr %t190, i32 0, i32 1
%t192 = load ptr, ptr %t191
%t193 = load ptr, ptr %t18
%t194 = call i32 @fn_str_eq(ptr %t192, ptr %t193)
%t195 = icmp ne i32 %t194, 0
br i1 %t195, label %then27, label %ifend29
then27:
%t196 = load i32, ptr %t176
store i32 %t196, ptr @g_nloc
store i32 0, ptr @g_g_term
%t197 = load ptr, ptr @g_g_onlisten
%t198 = getelementptr inbounds %LSlice, ptr %t197, i32 0, i32 0
%t199 = load ptr, ptr %t198
%t200 = load i32, ptr %t177
%t201 = getelementptr inbounds ptr, ptr %t199, i32 %t200
%t202 = load ptr, ptr %t201
%t203 = getelementptr inbounds %Cmp_Node, ptr %t202, i32 0, i32 4
%t204 = load ptr, ptr %t203
call void @fn_emit_block(ptr %t204)
br label %ifend29
ifend29:
%t205 = load i32, ptr %t177
%t206 = add i32 %t205, 1
store i32 %t206, ptr %t177
br label %wcond24
wend26:
%t207 = load i32, ptr @g_g_term
%t208 = icmp eq i32 %t207, 0
%t209 = zext i1 %t208 to i32
%t210 = icmp ne i32 %t209, 0
br i1 %t210, label %then30, label %ifend32
then30:
%t211 = call ptr @fn_emit_alloca(ptr @.str7587)
store ptr %t211, ptr %t212
call void @fn_emit(ptr @.str7588)
%t213 = load ptr, ptr %t212
call void @fn_emit(ptr %t213)
call void @fn_emit(ptr @.str7589)
%t214 = call ptr @fn_lbl(ptr @.str7590)
store ptr %t214, ptr %t215
%t216 = call ptr @fn_lbl(ptr @.str7591)
store ptr %t216, ptr %t217
%t218 = call ptr @fn_lbl(ptr @.str7592)
store ptr %t218, ptr %t219
call void @fn_emit(ptr @.str7593)
%t220 = load ptr, ptr %t215
call void @fn_emit(ptr %t220)
call void @fn_emit(ptr @.str7594)
%t221 = load ptr, ptr %t215
call void @fn_emit(ptr %t221)
call void @fn_emit(ptr @.str7595)
%t222 = load ptr, ptr %t212
%t223 = call ptr @fn_str_concat(ptr @.str7596, ptr %t222)
%t224 = call ptr @fn_emit_bind(ptr %t223)
store ptr %t224, ptr %t225
%t226 = load ptr, ptr %t18
%t227 = call ptr @fn_str_concat(ptr @.str7597, ptr %t226)
%t228 = call ptr @fn_emit_bind(ptr %t227)
store ptr %t228, ptr %t229
%t230 = load ptr, ptr %t225
%t231 = call ptr @fn_str_concat(ptr @.str7598, ptr %t230)
%t232 = call ptr @fn_str_concat(ptr %t231, ptr @.str7599)
%t233 = load ptr, ptr %t229
%t234 = call ptr @fn_str_concat(ptr %t232, ptr %t233)
%t235 = call ptr @fn_emit_bind(ptr %t234)
store ptr %t235, ptr %t236
call void @fn_emit(ptr @.str7600)
%t237 = load ptr, ptr %t236
call void @fn_emit(ptr %t237)
call void @fn_emit(ptr @.str7601)
%t238 = load ptr, ptr %t217
call void @fn_emit(ptr %t238)
call void @fn_emit(ptr @.str7602)
%t239 = load ptr, ptr %t219
call void @fn_emit(ptr %t239)
call void @fn_emit(ptr @.str7603)
%t240 = load ptr, ptr %t217
call void @fn_emit(ptr %t240)
call void @fn_emit(ptr @.str7604)
%t241 = call ptr @fn_nreg()
store ptr %t241, ptr %t242
call void @fn_emit(ptr @.str7605)
%t243 = load ptr, ptr %t242
call void @fn_emit(ptr %t243)
call void @fn_emit(ptr @.str7606)
%t244 = load ptr, ptr %t20
call void @fn_emit(ptr %t244)
call void @fn_emit(ptr @.str7607)
%t245 = load ptr, ptr %t18
call void @fn_emit(ptr %t245)
call void @fn_emit(ptr @.str7608)
%t246 = load ptr, ptr %t225
call void @fn_emit(ptr %t246)
call void @fn_emit(ptr @.str7609)
%t247 = load ptr, ptr %t242
%t248 = call ptr @fn_str_concat(ptr @.str7610, ptr %t247)
%t249 = call ptr @fn_emit_bind(ptr %t248)
store ptr %t249, ptr %t250
%t251 = load ptr, ptr %t250
%t252 = call ptr @fn_str_concat(ptr @.str7611, ptr %t251)
%t253 = call ptr @fn_str_concat(ptr %t252, ptr @.str7612)
%t254 = call ptr @fn_emit_bind(ptr %t253)
store ptr %t254, ptr %t255
%t256 = call ptr @fn_lbl(ptr @.str7613)
store ptr %t256, ptr %t257
%t258 = call ptr @fn_lbl(ptr @.str7614)
store ptr %t258, ptr %t259
call void @fn_emit(ptr @.str7615)
%t260 = load ptr, ptr %t255
call void @fn_emit(ptr %t260)
call void @fn_emit(ptr @.str7616)
%t261 = load ptr, ptr %t259
call void @fn_emit(ptr %t261)
call void @fn_emit(ptr @.str7617)
%t262 = load ptr, ptr %t257
call void @fn_emit(ptr %t262)
call void @fn_emit(ptr @.str7618)
%t263 = load ptr, ptr %t257
call void @fn_emit(ptr %t263)
call void @fn_emit(ptr @.str7619)
call void @fn_emit(ptr @.str7620)
%t264 = load ptr, ptr %t250
call void @fn_emit(ptr %t264)
call void @fn_emit(ptr @.str7621)
%t265 = load ptr, ptr %t104
call void @fn_emit(ptr %t265)
call void @fn_emit(ptr @.str7622)
call void @fn_emit(ptr @.str7623)
%t266 = load ptr, ptr %t259
call void @fn_emit(ptr %t266)
call void @fn_emit(ptr @.str7624)
%t267 = load ptr, ptr %t259
call void @fn_emit(ptr %t267)
call void @fn_emit(ptr @.str7625)
%t268 = load ptr, ptr %t225
%t269 = call ptr @fn_str_concat(ptr @.str7626, ptr %t268)
%t270 = call ptr @fn_str_concat(ptr %t269, ptr @.str7627)
%t271 = call ptr @fn_emit_bind(ptr %t270)
store ptr %t271, ptr %t272
call void @fn_emit(ptr @.str7628)
%t273 = load ptr, ptr %t272
call void @fn_emit(ptr %t273)
call void @fn_emit(ptr @.str7629)
%t274 = load ptr, ptr %t212
call void @fn_emit(ptr %t274)
call void @fn_emit(ptr @.str7630)
call void @fn_emit(ptr @.str7631)
%t275 = load ptr, ptr %t215
call void @fn_emit(ptr %t275)
call void @fn_emit(ptr @.str7632)
%t276 = load ptr, ptr %t219
call void @fn_emit(ptr %t276)
call void @fn_emit(ptr @.str7633)
call void @fn_emit(ptr @.str7634)
br label %ifend32
ifend32:
call void @fn_emit(ptr @.str7635)
call void @fn_emit(ptr @.str7636)
%t277 = load ptr, ptr %t14
%t278 = getelementptr inbounds %Cmp_Node, ptr %t277, i32 0, i32 2
%t279 = load i32, ptr %t278
%t280 = icmp eq i32 %t279, 1
%t281 = zext i1 %t280 to i32
%t282 = icmp ne i32 %t281, 0
br i1 %t282, label %then33, label %else34
then33:
%t283 = load ptr, ptr %t156
%t284 = call ptr @fn_str_concat(ptr @.str7637, ptr %t283)
%t285 = call ptr @fn_emit_bind(ptr %t284)
store ptr %t285, ptr %t286
call void @fn_emit(ptr @.str7638)
%t287 = load ptr, ptr %t286
call void @fn_emit(ptr %t287)
call void @fn_emit(ptr @.str7639)
br label %ifend35
else34:
call void @fn_emit(ptr @.str7640)
br label %ifend35
ifend35:
store ptr null, ptr @g_g_cancel_addr
%t288 = load ptr, ptr %t92
store ptr %t288, ptr @g_code
store ptr @.str7641, ptr %t289
%t290 = load ptr, ptr %t14
%t291 = getelementptr inbounds %Cmp_Node, ptr %t290, i32 0, i32 2
%t292 = load i32, ptr %t291
%t293 = icmp eq i32 %t292, 1
%t294 = zext i1 %t293 to i32
%t295 = icmp ne i32 %t294, 0
br i1 %t295, label %then36, label %ifend38
then36:
store ptr @.str7642, ptr %t289
br label %ifend38
ifend38:
call void @fn_emit(ptr @.str7643)
%t296 = load ptr, ptr %t289
call void @fn_emit(ptr %t296)
call void @fn_emit(ptr @.str7644)
%t297 = load ptr, ptr %t18
call void @fn_emit(ptr %t297)
call void @fn_emit(ptr @.str7645)
store i32 0, ptr %t298
br label %wcond39
wcond39:
%t299 = load i32, ptr %t298
%t300 = load ptr, ptr %t14
%t301 = getelementptr inbounds %Cmp_Node, ptr %t300, i32 0, i32 7
%t302 = load ptr, ptr %t301
%t303 = getelementptr inbounds %LSlice, ptr %t302, i32 0, i32 1
%t304 = load i32, ptr %t303
%t305 = icmp slt i32 %t299, %t304
%t306 = zext i1 %t305 to i32
%t307 = icmp ne i32 %t306, 0
br i1 %t307, label %wbody40, label %wend41
wbody40:
%t308 = load i32, ptr %t298
%t309 = icmp sgt i32 %t308, 0
%t310 = zext i1 %t309 to i32
%t311 = icmp ne i32 %t310, 0
br i1 %t311, label %then42, label %ifend44
then42:
call void @fn_emit(ptr @.str7646)
br label %ifend44
ifend44:
%t312 = load ptr, ptr %t14
%t313 = getelementptr inbounds %Cmp_Node, ptr %t312, i32 0, i32 7
%t314 = load ptr, ptr %t313
%t315 = getelementptr inbounds %LSlice, ptr %t314, i32 0, i32 0
%t316 = load ptr, ptr %t315
%t317 = load i32, ptr %t298
%t318 = getelementptr inbounds ptr, ptr %t316, i32 %t317
%t319 = load ptr, ptr %t318
%t320 = getelementptr inbounds %Cmp_Node, ptr %t319, i32 0, i32 3
%t321 = load ptr, ptr %t320
%t322 = call ptr @fn_llty(ptr %t321)
call void @fn_emit(ptr %t322)
call void @fn_emit(ptr @.str7647)
%t323 = load i32, ptr %t298
%t324 = call ptr @fn_itoa(i32 %t323)
call void @fn_emit(ptr %t324)
%t325 = load i32, ptr %t298
%t326 = add i32 %t325, 1
store i32 %t326, ptr %t298
br label %wcond39
wend41:
call void @fn_emit(ptr @.str7648)
%t327 = load ptr, ptr @g_falloc
%t328 = call ptr @fn_buf_str(ptr %t327)
call void @fn_emit(ptr %t328)
%t329 = load ptr, ptr %t89
%t330 = call ptr @fn_buf_str(ptr %t329)
call void @fn_emit(ptr %t330)
call void @fn_emit(ptr @.str7649)
%t331 = load i32, ptr %t0
%t332 = add i32 %t331, 1
store i32 %t332, ptr %t0
br label %wcond0
wend2:
%t333 = call ptr @fn_itoa(i32 16)
store ptr %t333, ptr %t334
call void @fn_emit(ptr @.str7650)
store i32 0, ptr %t335
br label %wcond45
wcond45:
%t336 = load i32, ptr %t335
%t337 = load ptr, ptr @g_g_events
%t338 = getelementptr inbounds %LSlice, ptr %t337, i32 0, i32 1
%t339 = load i32, ptr %t338
%t340 = icmp slt i32 %t336, %t339
%t341 = zext i1 %t340 to i32
%t342 = icmp ne i32 %t341, 0
br i1 %t342, label %wbody46, label %wend47
wbody46:
%t343 = load ptr, ptr @g_g_events
%t344 = getelementptr inbounds %LSlice, ptr %t343, i32 0, i32 0
%t345 = load ptr, ptr %t344
%t346 = load i32, ptr %t335
%t347 = getelementptr inbounds ptr, ptr %t345, i32 %t346
%t348 = load ptr, ptr %t347
%t349 = getelementptr inbounds %Cmp_Node, ptr %t348, i32 0, i32 1
%t350 = load ptr, ptr %t349
store ptr %t350, ptr %t351
%t352 = load i32, ptr %t335
%t353 = call ptr @fn_itoa(i32 %t352)
store ptr %t353, ptr %t354
call void @fn_emit(ptr @.str7651)
%t355 = load ptr, ptr %t354
call void @fn_emit(ptr %t355)
call void @fn_emit(ptr @.str7652)
call void @fn_emit(ptr @.str7653)
%t356 = load ptr, ptr %t354
call void @fn_emit(ptr %t356)
call void @fn_emit(ptr @.str7654)
call void @fn_emit(ptr @.str7655)
%t357 = load ptr, ptr %t354
call void @fn_emit(ptr %t357)
call void @fn_emit(ptr @.str7656)
%t358 = load ptr, ptr %t351
call void @fn_emit(ptr %t358)
call void @fn_emit(ptr @.str7657)
call void @fn_emit(ptr @.str7658)
%t359 = load ptr, ptr %t354
call void @fn_emit(ptr %t359)
call void @fn_emit(ptr @.str7659)
%t360 = load ptr, ptr %t354
call void @fn_emit(ptr %t360)
call void @fn_emit(ptr @.str7660)
%t361 = load ptr, ptr %t354
call void @fn_emit(ptr %t361)
call void @fn_emit(ptr @.str7661)
call void @fn_emit(ptr @.str7662)
%t362 = load ptr, ptr %t354
call void @fn_emit(ptr %t362)
call void @fn_emit(ptr @.str7663)
%t363 = load ptr, ptr %t354
call void @fn_emit(ptr %t363)
call void @fn_emit(ptr @.str7664)
%t364 = load ptr, ptr %t354
call void @fn_emit(ptr %t364)
call void @fn_emit(ptr @.str7665)
call void @fn_emit(ptr @.str7666)
%t365 = load ptr, ptr %t354
call void @fn_emit(ptr %t365)
call void @fn_emit(ptr @.str7667)
call void @fn_emit(ptr @.str7668)
%t366 = load ptr, ptr %t354
call void @fn_emit(ptr %t366)
call void @fn_emit(ptr @.str7669)
%t367 = load ptr, ptr %t334
call void @fn_emit(ptr %t367)
call void @fn_emit(ptr @.str7670)
%t368 = load ptr, ptr %t351
call void @fn_emit(ptr %t368)
call void @fn_emit(ptr @.str7671)
%t369 = load ptr, ptr %t354
call void @fn_emit(ptr %t369)
call void @fn_emit(ptr @.str7672)
call void @fn_emit(ptr @.str7673)
%t370 = load ptr, ptr %t354
call void @fn_emit(ptr %t370)
call void @fn_emit(ptr @.str7674)
%t371 = load ptr, ptr %t354
call void @fn_emit(ptr %t371)
call void @fn_emit(ptr @.str7675)
call void @fn_emit(ptr @.str7676)
%t372 = load ptr, ptr %t354
call void @fn_emit(ptr %t372)
call void @fn_emit(ptr @.str7677)
%t373 = load ptr, ptr %t354
call void @fn_emit(ptr %t373)
call void @fn_emit(ptr @.str7678)
call void @fn_emit(ptr @.str7679)
%t374 = load ptr, ptr %t354
call void @fn_emit(ptr %t374)
call void @fn_emit(ptr @.str7680)
%t375 = load ptr, ptr %t354
call void @fn_emit(ptr %t375)
call void @fn_emit(ptr @.str7681)
%t376 = load ptr, ptr %t354
call void @fn_emit(ptr %t376)
call void @fn_emit(ptr @.str7682)
call void @fn_emit(ptr @.str7683)
%t377 = load ptr, ptr %t354
call void @fn_emit(ptr %t377)
call void @fn_emit(ptr @.str7684)
call void @fn_emit(ptr @.str7685)
%t378 = load ptr, ptr %t354
call void @fn_emit(ptr %t378)
call void @fn_emit(ptr @.str7686)
%t379 = load ptr, ptr %t334
call void @fn_emit(ptr %t379)
call void @fn_emit(ptr @.str7687)
%t380 = load ptr, ptr %t351
call void @fn_emit(ptr %t380)
call void @fn_emit(ptr @.str7688)
%t381 = load ptr, ptr %t354
call void @fn_emit(ptr %t381)
call void @fn_emit(ptr @.str7689)
call void @fn_emit(ptr @.str7690)
%t382 = load ptr, ptr %t354
call void @fn_emit(ptr %t382)
call void @fn_emit(ptr @.str7691)
%t383 = load ptr, ptr %t354
call void @fn_emit(ptr %t383)
call void @fn_emit(ptr @.str7692)
call void @fn_emit(ptr @.str7693)
%t384 = load ptr, ptr %t354
call void @fn_emit(ptr %t384)
call void @fn_emit(ptr @.str7694)
call void @fn_emit(ptr @.str7695)
%t385 = load ptr, ptr %t354
call void @fn_emit(ptr %t385)
call void @fn_emit(ptr @.str7696)
%t386 = load ptr, ptr %t354
call void @fn_emit(ptr %t386)
call void @fn_emit(ptr @.str7697)
%t387 = load ptr, ptr %t354
call void @fn_emit(ptr %t387)
call void @fn_emit(ptr @.str7698)
%t388 = load ptr, ptr %t354
call void @fn_emit(ptr %t388)
call void @fn_emit(ptr @.str7699)
call void @fn_emit(ptr @.str7700)
%t389 = load ptr, ptr %t354
call void @fn_emit(ptr %t389)
call void @fn_emit(ptr @.str7701)
%t390 = load i32, ptr %t335
%t391 = add i32 %t390, 1
%t392 = load ptr, ptr @g_g_events
%t393 = getelementptr inbounds %LSlice, ptr %t392, i32 0, i32 1
%t394 = load i32, ptr %t393
%t395 = icmp slt i32 %t391, %t394
%t396 = zext i1 %t395 to i32
%t397 = icmp ne i32 %t396, 0
br i1 %t397, label %then48, label %else49
then48:
call void @fn_emit(ptr @.str7702)
%t398 = load i32, ptr %t335
%t399 = add i32 %t398, 1
%t400 = call ptr @fn_itoa(i32 %t399)
call void @fn_emit(ptr %t400)
call void @fn_emit(ptr @.str7703)
br label %ifend50
else49:
call void @fn_emit(ptr @.str7704)
br label %ifend50
ifend50:
%t401 = load i32, ptr %t335
%t402 = add i32 %t401, 1
store i32 %t402, ptr %t335
br label %wcond45
wend47:
call void @fn_emit(ptr @.str7705)
br label %ret
ret:
ret void
}
define void @fn_emit_world_table() {
entry:
%t1 = alloca ptr
%t2 = alloca i32
%t3 = alloca i32
%t28 = alloca ptr
%t29 = alloca i32
%t30 = alloca i32
%t58 = alloca ptr
%t61 = alloca ptr
%t101 = alloca ptr
%t104 = alloca ptr
%t111 = alloca i32
%t132 = alloca ptr
%t138 = alloca ptr
%t181 = alloca ptr
%t185 = alloca ptr
%t188 = alloca ptr
%t199 = alloca i32
%t220 = alloca ptr
%t226 = alloca ptr
%t293 = alloca ptr
%t297 = alloca ptr
%t300 = alloca ptr
%t311 = alloca i32
%t332 = alloca ptr
%t338 = alloca ptr
%t401 = alloca ptr
%t404 = alloca ptr
%t459 = alloca ptr
%t462 = alloca ptr
%t512 = alloca ptr
%t514 = alloca ptr
%t517 = alloca ptr
%t520 = alloca ptr
%t526 = alloca ptr
%t562 = alloca ptr
%t565 = alloca ptr
%t0 = call ptr @fn_itoa(i32 1024)
store ptr %t0, ptr %t1
call void @fn_emith(ptr @.str7706)
store i32 0, ptr %t2
store i32 0, ptr %t3
br label %wcond0
wcond0:
%t4 = load i32, ptr %t3
%t5 = load ptr, ptr @g_prog
%t6 = getelementptr inbounds %LSlice, ptr %t5, i32 0, i32 1
%t7 = load i32, ptr %t6
%t8 = icmp slt i32 %t4, %t7
%t9 = zext i1 %t8 to i32
%t10 = icmp ne i32 %t9, 0
br i1 %t10, label %wbody1, label %wend2
wbody1:
%t11 = load ptr, ptr @g_prog
%t12 = getelementptr inbounds %LSlice, ptr %t11, i32 0, i32 0
%t13 = load ptr, ptr %t12
%t14 = load i32, ptr %t3
%t15 = getelementptr inbounds ptr, ptr %t13, i32 %t14
%t16 = load ptr, ptr %t15
%t17 = getelementptr inbounds %Cmp_Node, ptr %t16, i32 0, i32 0
%t18 = load i32, ptr %t17
%t19 = icmp eq i32 %t18, 8
%t20 = zext i1 %t19 to i32
%t21 = icmp ne i32 %t20, 0
br i1 %t21, label %then3, label %ifend5
then3:
%t22 = load i32, ptr %t2
%t23 = add i32 %t22, 1
store i32 %t23, ptr %t2
br label %ifend5
ifend5:
%t24 = load i32, ptr %t3
%t25 = add i32 %t24, 1
store i32 %t25, ptr %t3
br label %wcond0
wend2:
%t26 = load i32, ptr %t2
%t27 = call ptr @fn_itoa(i32 %t26)
store ptr %t27, ptr %t28
call void @fn_emith(ptr @.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_emit(ptr @.str7712)
store i32 0, ptr %t29
store i32 0, ptr %t30
br label %wcond6
wcond6:
%t31 = load i32, ptr %t30
%t32 = load ptr, ptr @g_prog
%t33 = getelementptr inbounds %LSlice, ptr %t32, i32 0, i32 1
%t34 = load i32, ptr %t33
%t35 = icmp slt i32 %t31, %t34
%t36 = zext i1 %t35 to i32
%t37 = icmp ne i32 %t36, 0
br i1 %t37, label %wbody7, label %wend8
wbody7:
%t38 = load ptr, ptr @g_prog
%t39 = getelementptr inbounds %LSlice, ptr %t38, i32 0, i32 0
%t40 = load ptr, ptr %t39
%t41 = load i32, ptr %t30
%t42 = getelementptr inbounds ptr, ptr %t40, i32 %t41
%t43 = load ptr, ptr %t42
%t44 = getelementptr inbounds %Cmp_Node, ptr %t43, i32 0, i32 0
%t45 = load i32, ptr %t44
%t46 = icmp eq i32 %t45, 8
%t47 = zext i1 %t46 to i32
%t48 = icmp ne i32 %t47, 0
br i1 %t48, label %then9, label %ifend11
then9:
%t49 = load ptr, ptr @g_prog
%t50 = getelementptr inbounds %LSlice, ptr %t49, i32 0, i32 0
%t51 = load ptr, ptr %t50
%t52 = load i32, ptr %t30
%t53 = getelementptr inbounds ptr, ptr %t51, i32 %t52
%t54 = load ptr, ptr %t53
%t55 = getelementptr inbounds %Cmp_Node, ptr %t54, i32 0, i32 1
%t56 = load ptr, ptr %t55
%t57 = call ptr @fn_emit_str_const(ptr %t56)
store ptr %t57, ptr %t58
%t59 = load i32, ptr %t29
%t60 = call ptr @fn_itoa(i32 %t59)
store ptr %t60, ptr %t61
call void @fn_emit(ptr @.str7713)
%t62 = load ptr, ptr %t61
call void @fn_emit(ptr %t62)
call void @fn_emit(ptr @.str7714)
%t63 = load ptr, ptr %t58
call void @fn_emit(ptr %t63)
call void @fn_emit(ptr @.str7715)
call void @fn_emit(ptr @.str7716)
%t64 = load ptr, ptr %t61
call void @fn_emit(ptr %t64)
call void @fn_emit(ptr @.str7717)
%t65 = load ptr, ptr %t61
call void @fn_emit(ptr %t65)
call void @fn_emit(ptr @.str7718)
call void @fn_emit(ptr @.str7719)
%t66 = load ptr, ptr %t61
call void @fn_emit(ptr %t66)
call void @fn_emit(ptr @.str7720)
%t67 = load ptr, ptr %t61
call void @fn_emit(ptr %t67)
call void @fn_emit(ptr @.str7721)
%t68 = load ptr, ptr %t61
call void @fn_emit(ptr %t68)
call void @fn_emit(ptr @.str7722)
call void @fn_emit(ptr @.str7723)
%t69 = load ptr, ptr %t61
call void @fn_emit(ptr %t69)
call void @fn_emit(ptr @.str7724)
%t70 = load ptr, ptr %t61
call void @fn_emit(ptr %t70)
call void @fn_emit(ptr @.str7725)
call void @fn_emit(ptr @.str7726)
%t71 = load ptr, ptr %t61
call void @fn_emit(ptr %t71)
call void @fn_emit(ptr @.str7727)
%t72 = load i32, ptr %t29
%t73 = add i32 %t72, 1
store i32 %t73, ptr %t29
br label %ifend11
ifend11:
%t74 = load i32, ptr %t30
%t75 = add i32 %t74, 1
store i32 %t75, ptr %t30
br label %wcond6
wend8:
call void @fn_emit(ptr @.str7728)
call void @fn_emit(ptr @.str7729)
call void @fn_emit(ptr @.str7730)
call void @fn_emit(ptr @.str7731)
%t76 = load ptr, ptr %t28
call void @fn_emit(ptr %t76)
call void @fn_emit(ptr @.str7732)
call void @fn_emit(ptr @.str7733)
call void @fn_emit(ptr @.str7734)
call void @fn_emit(ptr @.str7735)
store i32 0, ptr %t29
store i32 0, ptr %t30
br label %wcond12
wcond12:
%t77 = load i32, ptr %t30
%t78 = load ptr, ptr @g_prog
%t79 = getelementptr inbounds %LSlice, ptr %t78, i32 0, i32 1
%t80 = load i32, ptr %t79
%t81 = icmp slt i32 %t77, %t80
%t82 = zext i1 %t81 to i32
%t83 = icmp ne i32 %t82, 0
br i1 %t83, label %wbody13, label %wend14
wbody13:
%t84 = load ptr, ptr @g_prog
%t85 = getelementptr inbounds %LSlice, ptr %t84, i32 0, i32 0
%t86 = load ptr, ptr %t85
%t87 = load i32, ptr %t30
%t88 = getelementptr inbounds ptr, ptr %t86, i32 %t87
%t89 = load ptr, ptr %t88
%t90 = getelementptr inbounds %Cmp_Node, ptr %t89, i32 0, i32 0
%t91 = load i32, ptr %t90
%t92 = icmp eq i32 %t91, 8
%t93 = zext i1 %t92 to i32
%t94 = icmp ne i32 %t93, 0
br i1 %t94, label %then15, label %ifend17
then15:
%t95 = load ptr, ptr @g_prog
%t96 = getelementptr inbounds %LSlice, ptr %t95, i32 0, i32 0
%t97 = load ptr, ptr %t96
%t98 = load i32, ptr %t30
%t99 = getelementptr inbounds ptr, ptr %t97, i32 %t98
%t100 = load ptr, ptr %t99
store ptr %t100, ptr %t101
%t102 = load i32, ptr %t29
%t103 = call ptr @fn_itoa(i32 %t102)
store ptr %t103, ptr %t104
call void @fn_emit(ptr @.str7736)
%t105 = load ptr, ptr %t104
call void @fn_emit(ptr %t105)
call void @fn_emit(ptr @.str7737)
%t106 = load ptr, ptr %t104
call void @fn_emit(ptr %t106)
call void @fn_emit(ptr @.str7738)
call void @fn_emit(ptr @.str7739)
%t107 = load ptr, ptr %t104
call void @fn_emit(ptr %t107)
call void @fn_emit(ptr @.str7740)
%t108 = load ptr, ptr %t104
call void @fn_emit(ptr %t108)
call void @fn_emit(ptr @.str7741)
%t109 = load ptr, ptr %t104
call void @fn_emit(ptr %t109)
call void @fn_emit(ptr @.str7742)
call void @fn_emit(ptr @.str7743)
%t110 = load ptr, ptr %t104
call void @fn_emit(ptr %t110)
call void @fn_emit(ptr @.str7744)
store i32 0, ptr %t111
br label %wcond18
wcond18:
%t112 = load i32, ptr %t111
%t113 = load ptr, ptr %t101
%t114 = getelementptr inbounds %Cmp_Node, ptr %t113, i32 0, i32 7
%t115 = load ptr, ptr %t114
%t116 = getelementptr inbounds %LSlice, ptr %t115, i32 0, i32 1
%t117 = load i32, ptr %t116
%t118 = icmp slt i32 %t112, %t117
%t119 = zext i1 %t118 to i32
%t120 = icmp ne i32 %t119, 0
br i1 %t120, label %wbody19, label %wend20
wbody19:
%t121 = load ptr, ptr %t101
%t122 = getelementptr inbounds %Cmp_Node, ptr %t121, i32 0, i32 7
%t123 = load ptr, ptr %t122
%t124 = getelementptr inbounds %LSlice, ptr %t123, i32 0, i32 0
%t125 = load ptr, ptr %t124
%t126 = load i32, ptr %t111
%t127 = getelementptr inbounds ptr, ptr %t125, i32 %t126
%t128 = load ptr, ptr %t127
%t129 = getelementptr inbounds %Cmp_Node, ptr %t128, i32 0, i32 1
%t130 = load ptr, ptr %t129
%t131 = call ptr @fn_emit_str_const(ptr %t130)
store ptr %t131, ptr %t132
%t133 = load ptr, ptr %t104
%t134 = call ptr @fn_str_concat(ptr %t133, ptr @.str7745)
%t135 = load i32, ptr %t111
%t136 = call ptr @fn_itoa(i32 %t135)
%t137 = call ptr @fn_str_concat(ptr %t134, ptr %t136)
store ptr %t137, ptr %t138
call void @fn_emit(ptr @.str7746)
%t139 = load ptr, ptr %t138
call void @fn_emit(ptr %t139)
call void @fn_emit(ptr @.str7747)
%t140 = load ptr, ptr %t132
call void @fn_emit(ptr %t140)
call void @fn_emit(ptr @.str7748)
call void @fn_emit(ptr @.str7749)
%t141 = load ptr, ptr %t138
call void @fn_emit(ptr %t141)
call void @fn_emit(ptr @.str7750)
%t142 = load ptr, ptr %t138
call void @fn_emit(ptr %t142)
call void @fn_emit(ptr @.str7751)
call void @fn_emit(ptr @.str7752)
%t143 = load ptr, ptr %t138
call void @fn_emit(ptr %t143)
call void @fn_emit(ptr @.str7753)
%t144 = load ptr, ptr %t138
call void @fn_emit(ptr %t144)
call void @fn_emit(ptr @.str7754)
%t145 = load ptr, ptr %t138
call void @fn_emit(ptr %t145)
call void @fn_emit(ptr @.str7755)
call void @fn_emit(ptr @.str7756)
%t146 = load ptr, ptr %t138
call void @fn_emit(ptr %t146)
call void @fn_emit(ptr @.str7757)
%t147 = load i32, ptr %t111
%t148 = call ptr @fn_itoa(i32 %t147)
call void @fn_emit(ptr %t148)
call void @fn_emit(ptr @.str7758)
call void @fn_emit(ptr @.str7759)
%t149 = load ptr, ptr %t138
call void @fn_emit(ptr %t149)
call void @fn_emit(ptr @.str7760)
%t150 = load i32, ptr %t111
%t151 = add i32 %t150, 1
store i32 %t151, ptr %t111
br label %wcond18
wend20:
call void @fn_emit(ptr @.str7761)
call void @fn_emit(ptr @.str7762)
%t152 = load ptr, ptr %t104
call void @fn_emit(ptr %t152)
call void @fn_emit(ptr @.str7763)
%t153 = load i32, ptr %t29
%t154 = add i32 %t153, 1
store i32 %t154, ptr %t29
br label %ifend17
ifend17:
%t155 = load i32, ptr %t30
%t156 = add i32 %t155, 1
store i32 %t156, ptr %t30
br label %wcond12
wend14:
call void @fn_emit(ptr @.str7764)
call void @fn_emit(ptr @.str7765)
store i32 0, ptr %t29
store i32 0, ptr %t30
br label %wcond21
wcond21:
%t157 = load i32, ptr %t30
%t158 = load ptr, ptr @g_prog
%t159 = getelementptr inbounds %LSlice, ptr %t158, i32 0, i32 1
%t160 = load i32, ptr %t159
%t161 = icmp slt i32 %t157, %t160
%t162 = zext i1 %t161 to i32
%t163 = icmp ne i32 %t162, 0
br i1 %t163, label %wbody22, label %wend23
wbody22:
%t164 = load ptr, ptr @g_prog
%t165 = getelementptr inbounds %LSlice, ptr %t164, i32 0, i32 0
%t166 = load ptr, ptr %t165
%t167 = load i32, ptr %t30
%t168 = getelementptr inbounds ptr, ptr %t166, i32 %t167
%t169 = load ptr, ptr %t168
%t170 = getelementptr inbounds %Cmp_Node, ptr %t169, i32 0, i32 0
%t171 = load i32, ptr %t170
%t172 = icmp eq i32 %t171, 8
%t173 = zext i1 %t172 to i32
%t174 = icmp ne i32 %t173, 0
br i1 %t174, label %then24, label %ifend26
then24:
%t175 = load ptr, ptr @g_prog
%t176 = getelementptr inbounds %LSlice, ptr %t175, i32 0, i32 0
%t177 = load ptr, ptr %t176
%t178 = load i32, ptr %t30
%t179 = getelementptr inbounds ptr, ptr %t177, i32 %t178
%t180 = load ptr, ptr %t179
store ptr %t180, ptr %t181
%t182 = load ptr, ptr %t181
%t183 = getelementptr inbounds %Cmp_Node, ptr %t182, i32 0, i32 1
%t184 = load ptr, ptr %t183
store ptr %t184, ptr %t185
%t186 = load i32, ptr %t29
%t187 = call ptr @fn_itoa(i32 %t186)
store ptr %t187, ptr %t188
call void @fn_emit(ptr @.str7766)
%t189 = load ptr, ptr %t188
call void @fn_emit(ptr %t189)
call void @fn_emit(ptr @.str7767)
%t190 = load ptr, ptr %t188
call void @fn_emit(ptr %t190)
call void @fn_emit(ptr @.str7768)
call void @fn_emit(ptr @.str7769)
%t191 = load ptr, ptr %t188
call void @fn_emit(ptr %t191)
call void @fn_emit(ptr @.str7770)
%t192 = load ptr, ptr %t188
call void @fn_emit(ptr %t192)
call void @fn_emit(ptr @.str7771)
%t193 = load ptr, ptr %t188
call void @fn_emit(ptr %t193)
call void @fn_emit(ptr @.str7772)
call void @fn_emit(ptr @.str7773)
%t194 = load ptr, ptr %t188
call void @fn_emit(ptr %t194)
call void @fn_emit(ptr @.str7774)
call void @fn_emit(ptr @.str7775)
%t195 = load ptr, ptr %t188
call void @fn_emit(ptr %t195)
call void @fn_emit(ptr @.str7776)
%t196 = load ptr, ptr %t1
call void @fn_emit(ptr %t196)
call void @fn_emit(ptr @.str7777)
%t197 = load ptr, ptr %t185
call void @fn_emit(ptr %t197)
call void @fn_emit(ptr @.str7778)
%t198 = load ptr, ptr %t185
call void @fn_emit(ptr %t198)
call void @fn_emit(ptr @.str7779)
store i32 0, ptr %t199
br label %wcond27
wcond27:
%t200 = load i32, ptr %t199
%t201 = load ptr, ptr %t181
%t202 = getelementptr inbounds %Cmp_Node, ptr %t201, i32 0, i32 7
%t203 = load ptr, ptr %t202
%t204 = getelementptr inbounds %LSlice, ptr %t203, i32 0, i32 1
%t205 = load i32, ptr %t204
%t206 = icmp slt i32 %t200, %t205
%t207 = zext i1 %t206 to i32
%t208 = icmp ne i32 %t207, 0
br i1 %t208, label %wbody28, label %wend29
wbody28:
%t209 = load ptr, ptr %t181
%t210 = getelementptr inbounds %Cmp_Node, ptr %t209, i32 0, i32 7
%t211 = load ptr, ptr %t210
%t212 = getelementptr inbounds %LSlice, ptr %t211, i32 0, i32 0
%t213 = load ptr, ptr %t212
%t214 = load i32, ptr %t199
%t215 = getelementptr inbounds ptr, ptr %t213, i32 %t214
%t216 = load ptr, ptr %t215
%t217 = getelementptr inbounds %Cmp_Node, ptr %t216, i32 0, i32 3
%t218 = load ptr, ptr %t217
%t219 = call ptr @fn_llty(ptr %t218)
store ptr %t219, ptr %t220
%t221 = load ptr, ptr %t188
%t222 = call ptr @fn_str_concat(ptr %t221, ptr @.str7780)
%t223 = load i32, ptr %t199
%t224 = call ptr @fn_itoa(i32 %t223)
%t225 = call ptr @fn_str_concat(ptr %t222, ptr %t224)
store ptr %t225, ptr %t226
call void @fn_emit(ptr @.str7781)
%t227 = load ptr, ptr %t226
call void @fn_emit(ptr %t227)
call void @fn_emit(ptr @.str7782)
%t228 = load i32, ptr %t199
%t229 = call ptr @fn_itoa(i32 %t228)
call void @fn_emit(ptr %t229)
call void @fn_emit(ptr @.str7783)
call void @fn_emit(ptr @.str7784)
%t230 = load ptr, ptr %t226
call void @fn_emit(ptr %t230)
call void @fn_emit(ptr @.str7785)
%t231 = load ptr, ptr %t226
call void @fn_emit(ptr %t231)
call void @fn_emit(ptr @.str7786)
%t232 = load ptr, ptr %t226
call void @fn_emit(ptr %t232)
call void @fn_emit(ptr @.str7787)
call void @fn_emit(ptr @.str7788)
%t233 = load ptr, ptr %t226
call void @fn_emit(ptr %t233)
call void @fn_emit(ptr @.str7789)
call void @fn_emit(ptr @.str7790)
%t234 = load ptr, ptr %t226
call void @fn_emit(ptr %t234)
call void @fn_emit(ptr @.str7791)
%t235 = load ptr, ptr %t185
call void @fn_emit(ptr %t235)
call void @fn_emit(ptr @.str7792)
%t236 = load ptr, ptr %t188
call void @fn_emit(ptr %t236)
call void @fn_emit(ptr @.str7793)
%t237 = load i32, ptr %t199
%t238 = call ptr @fn_itoa(i32 %t237)
call void @fn_emit(ptr %t238)
call void @fn_emit(ptr @.str7794)
%t239 = load ptr, ptr %t220
%t240 = call i32 @fn_str_eq(ptr %t239, ptr @.str7795)
%t241 = icmp ne i32 %t240, 0
br i1 %t241, label %then30, label %else31
then30:
call void @fn_emit(ptr @.str7796)
%t242 = load ptr, ptr %t226
call void @fn_emit(ptr %t242)
call void @fn_emit(ptr @.str7797)
%t243 = load ptr, ptr %t226
call void @fn_emit(ptr %t243)
call void @fn_emit(ptr @.str7798)
call void @fn_emit(ptr @.str7799)
%t244 = load ptr, ptr %t226
call void @fn_emit(ptr %t244)
call void @fn_emit(ptr @.str7800)
%t245 = load ptr, ptr %t226
call void @fn_emit(ptr %t245)
call void @fn_emit(ptr @.str7801)
%t246 = load ptr, ptr %t226
call void @fn_emit(ptr %t246)
call void @fn_emit(ptr @.str7802)
br label %ifend32
else31:
%t247 = load ptr, ptr %t220
%t248 = call i32 @fn_str_eq(ptr %t247, ptr @.str7803)
%t249 = icmp ne i32 %t248, 0
br i1 %t249, label %then33, label %else34
then33:
call void @fn_emit(ptr @.str7804)
%t250 = load ptr, ptr %t226
call void @fn_emit(ptr %t250)
call void @fn_emit(ptr @.str7805)
%t251 = load ptr, ptr %t226
call void @fn_emit(ptr %t251)
call void @fn_emit(ptr @.str7806)
call void @fn_emit(ptr @.str7807)
%t252 = load ptr, ptr %t226
call void @fn_emit(ptr %t252)
call void @fn_emit(ptr @.str7808)
%t253 = load ptr, ptr %t226
call void @fn_emit(ptr %t253)
call void @fn_emit(ptr @.str7809)
%t254 = load ptr, ptr %t226
call void @fn_emit(ptr %t254)
call void @fn_emit(ptr @.str7810)
br label %ifend35
else34:
call void @fn_emit(ptr @.str7811)
%t255 = load ptr, ptr %t226
call void @fn_emit(ptr %t255)
call void @fn_emit(ptr @.str7812)
%t256 = load ptr, ptr %t226
call void @fn_emit(ptr %t256)
call void @fn_emit(ptr @.str7813)
call void @fn_emit(ptr @.str7814)
%t257 = load ptr, ptr %t226
call void @fn_emit(ptr %t257)
call void @fn_emit(ptr @.str7815)
%t258 = load ptr, ptr %t226
call void @fn_emit(ptr %t258)
call void @fn_emit(ptr @.str7816)
%t259 = load ptr, ptr %t226
call void @fn_emit(ptr %t259)
call void @fn_emit(ptr @.str7817)
br label %ifend35
ifend35:
br label %ifend32
ifend32:
call void @fn_emit(ptr @.str7818)
%t260 = load ptr, ptr %t226
call void @fn_emit(ptr %t260)
call void @fn_emit(ptr @.str7819)
%t261 = load i32, ptr %t199
%t262 = add i32 %t261, 1
store i32 %t262, ptr %t199
br label %wcond27
wend29:
call void @fn_emit(ptr @.str7820)
call void @fn_emit(ptr @.str7821)
%t263 = load ptr, ptr %t188
call void @fn_emit(ptr %t263)
call void @fn_emit(ptr @.str7822)
%t264 = load i32, ptr %t29
%t265 = add i32 %t264, 1
store i32 %t265, ptr %t29
br label %ifend26
ifend26:
%t266 = load i32, ptr %t30
%t267 = add i32 %t266, 1
store i32 %t267, ptr %t30
br label %wcond21
wend23:
call void @fn_emit(ptr @.str7823)
%t268 = load ptr, ptr %t28
call void @fn_emit(ptr %t268)
call void @fn_emit(ptr @.str7824)
call void @fn_emit(ptr @.str7825)
call void @fn_emit(ptr @.str7826)
call void @fn_emit(ptr @.str7827)
call void @fn_emit(ptr @.str7828)
call void @fn_emit(ptr @.str7829)
call void @fn_emit(ptr @.str7830)
store i32 0, ptr %t29
store i32 0, ptr %t30
br label %wcond36
wcond36:
%t269 = load i32, ptr %t30
%t270 = load ptr, ptr @g_prog
%t271 = getelementptr inbounds %LSlice, ptr %t270, i32 0, i32 1
%t272 = load i32, ptr %t271
%t273 = icmp slt i32 %t269, %t272
%t274 = zext i1 %t273 to i32
%t275 = icmp ne i32 %t274, 0
br i1 %t275, label %wbody37, label %wend38
wbody37:
%t276 = load ptr, ptr @g_prog
%t277 = getelementptr inbounds %LSlice, ptr %t276, i32 0, i32 0
%t278 = load ptr, ptr %t277
%t279 = load i32, ptr %t30
%t280 = getelementptr inbounds ptr, ptr %t278, i32 %t279
%t281 = load ptr, ptr %t280
%t282 = getelementptr inbounds %Cmp_Node, ptr %t281, i32 0, i32 0
%t283 = load i32, ptr %t282
%t284 = icmp eq i32 %t283, 8
%t285 = zext i1 %t284 to i32
%t286 = icmp ne i32 %t285, 0
br i1 %t286, label %then39, label %ifend41
then39:
%t287 = load ptr, ptr @g_prog
%t288 = getelementptr inbounds %LSlice, ptr %t287, i32 0, i32 0
%t289 = load ptr, ptr %t288
%t290 = load i32, ptr %t30
%t291 = getelementptr inbounds ptr, ptr %t289, i32 %t290
%t292 = load ptr, ptr %t291
store ptr %t292, ptr %t293
%t294 = load ptr, ptr %t293
%t295 = getelementptr inbounds %Cmp_Node, ptr %t294, i32 0, i32 1
%t296 = load ptr, ptr %t295
store ptr %t296, ptr %t297
%t298 = load i32, ptr %t29
%t299 = call ptr @fn_itoa(i32 %t298)
store ptr %t299, ptr %t300
call void @fn_emit(ptr @.str7831)
%t301 = load ptr, ptr %t300
call void @fn_emit(ptr %t301)
call void @fn_emit(ptr @.str7832)
%t302 = load ptr, ptr %t300
call void @fn_emit(ptr %t302)
call void @fn_emit(ptr @.str7833)
call void @fn_emit(ptr @.str7834)
%t303 = load ptr, ptr %t300
call void @fn_emit(ptr %t303)
call void @fn_emit(ptr @.str7835)
%t304 = load ptr, ptr %t300
call void @fn_emit(ptr %t304)
call void @fn_emit(ptr @.str7836)
%t305 = load ptr, ptr %t300
call void @fn_emit(ptr %t305)
call void @fn_emit(ptr @.str7837)
call void @fn_emit(ptr @.str7838)
%t306 = load ptr, ptr %t300
call void @fn_emit(ptr %t306)
call void @fn_emit(ptr @.str7839)
call void @fn_emit(ptr @.str7840)
%t307 = load ptr, ptr %t300
call void @fn_emit(ptr %t307)
call void @fn_emit(ptr @.str7841)
%t308 = load ptr, ptr %t1
call void @fn_emit(ptr %t308)
call void @fn_emit(ptr @.str7842)
%t309 = load ptr, ptr %t297
call void @fn_emit(ptr %t309)
call void @fn_emit(ptr @.str7843)
%t310 = load ptr, ptr %t297
call void @fn_emit(ptr %t310)
call void @fn_emit(ptr @.str7844)
store i32 0, ptr %t311
br label %wcond42
wcond42:
%t312 = load i32, ptr %t311
%t313 = load ptr, ptr %t293
%t314 = getelementptr inbounds %Cmp_Node, ptr %t313, i32 0, i32 7
%t315 = load ptr, ptr %t314
%t316 = getelementptr inbounds %LSlice, ptr %t315, i32 0, i32 1
%t317 = load i32, ptr %t316
%t318 = icmp slt i32 %t312, %t317
%t319 = zext i1 %t318 to i32
%t320 = icmp ne i32 %t319, 0
br i1 %t320, label %wbody43, label %wend44
wbody43:
%t321 = load ptr, ptr %t293
%t322 = getelementptr inbounds %Cmp_Node, ptr %t321, i32 0, i32 7
%t323 = load ptr, ptr %t322
%t324 = getelementptr inbounds %LSlice, ptr %t323, i32 0, i32 0
%t325 = load ptr, ptr %t324
%t326 = load i32, ptr %t311
%t327 = getelementptr inbounds ptr, ptr %t325, i32 %t326
%t328 = load ptr, ptr %t327
%t329 = getelementptr inbounds %Cmp_Node, ptr %t328, i32 0, i32 3
%t330 = load ptr, ptr %t329
%t331 = call ptr @fn_llty(ptr %t330)
store ptr %t331, ptr %t332
%t333 = load ptr, ptr %t300
%t334 = call ptr @fn_str_concat(ptr %t333, ptr @.str7845)
%t335 = load i32, ptr %t311
%t336 = call ptr @fn_itoa(i32 %t335)
%t337 = call ptr @fn_str_concat(ptr %t334, ptr %t336)
store ptr %t337, ptr %t338
call void @fn_emit(ptr @.str7846)
%t339 = load ptr, ptr %t338
call void @fn_emit(ptr %t339)
call void @fn_emit(ptr @.str7847)
%t340 = load i32, ptr %t311
%t341 = call ptr @fn_itoa(i32 %t340)
call void @fn_emit(ptr %t341)
call void @fn_emit(ptr @.str7848)
call void @fn_emit(ptr @.str7849)
%t342 = load ptr, ptr %t338
call void @fn_emit(ptr %t342)
call void @fn_emit(ptr @.str7850)
%t343 = load ptr, ptr %t338
call void @fn_emit(ptr %t343)
call void @fn_emit(ptr @.str7851)
%t344 = load ptr, ptr %t338
call void @fn_emit(ptr %t344)
call void @fn_emit(ptr @.str7852)
call void @fn_emit(ptr @.str7853)
%t345 = load ptr, ptr %t338
call void @fn_emit(ptr %t345)
call void @fn_emit(ptr @.str7854)
call void @fn_emit(ptr @.str7855)
%t346 = load ptr, ptr %t338
call void @fn_emit(ptr %t346)
call void @fn_emit(ptr @.str7856)
%t347 = load ptr, ptr %t297
call void @fn_emit(ptr %t347)
call void @fn_emit(ptr @.str7857)
%t348 = load ptr, ptr %t300
call void @fn_emit(ptr %t348)
call void @fn_emit(ptr @.str7858)
%t349 = load i32, ptr %t311
%t350 = call ptr @fn_itoa(i32 %t349)
call void @fn_emit(ptr %t350)
call void @fn_emit(ptr @.str7859)
%t351 = load ptr, ptr %t332
%t352 = call i32 @fn_str_eq(ptr %t351, ptr @.str7860)
%t353 = icmp ne i32 %t352, 0
br i1 %t353, label %then45, label %else46
then45:
call void @fn_emit(ptr @.str7861)
%t354 = load ptr, ptr %t338
call void @fn_emit(ptr %t354)
call void @fn_emit(ptr @.str7862)
call void @fn_emit(ptr @.str7863)
%t355 = load ptr, ptr %t338
call void @fn_emit(ptr %t355)
call void @fn_emit(ptr @.str7864)
%t356 = load ptr, ptr %t338
call void @fn_emit(ptr %t356)
call void @fn_emit(ptr @.str7865)
br label %ifend47
else46:
%t357 = load ptr, ptr %t332
%t358 = call i32 @fn_str_eq(ptr %t357, ptr @.str7866)
%t359 = icmp ne i32 %t358, 0
br i1 %t359, label %then48, label %else49
then48:
call void @fn_emit(ptr @.str7867)
%t360 = load ptr, ptr %t338
call void @fn_emit(ptr %t360)
call void @fn_emit(ptr @.str7868)
call void @fn_emit(ptr @.str7869)
%t361 = load ptr, ptr %t338
call void @fn_emit(ptr %t361)
call void @fn_emit(ptr @.str7870)
%t362 = load ptr, ptr %t338
call void @fn_emit(ptr %t362)
call void @fn_emit(ptr @.str7871)
br label %ifend50
else49:
call void @fn_emit(ptr @.str7872)
%t363 = load ptr, ptr %t338
call void @fn_emit(ptr %t363)
call void @fn_emit(ptr @.str7873)
call void @fn_emit(ptr @.str7874)
%t364 = load ptr, ptr %t338
call void @fn_emit(ptr %t364)
call void @fn_emit(ptr @.str7875)
%t365 = load ptr, ptr %t338
call void @fn_emit(ptr %t365)
call void @fn_emit(ptr @.str7876)
br label %ifend50
ifend50:
br label %ifend47
ifend47:
call void @fn_emit(ptr @.str7877)
%t366 = load ptr, ptr %t338
call void @fn_emit(ptr %t366)
call void @fn_emit(ptr @.str7878)
%t367 = load i32, ptr %t311
%t368 = add i32 %t367, 1
store i32 %t368, ptr %t311
br label %wcond42
wend44:
call void @fn_emit(ptr @.str7879)
call void @fn_emit(ptr @.str7880)
%t369 = load ptr, ptr %t300
call void @fn_emit(ptr %t369)
call void @fn_emit(ptr @.str7881)
%t370 = load i32, ptr %t29
%t371 = add i32 %t370, 1
store i32 %t371, ptr %t29
br label %ifend41
ifend41:
%t372 = load i32, ptr %t30
%t373 = add i32 %t372, 1
store i32 %t373, ptr %t30
br label %wcond36
wend38:
call void @fn_emit(ptr @.str7882)
%t374 = load ptr, ptr %t28
call void @fn_emit(ptr %t374)
call void @fn_emit(ptr @.str7883)
call void @fn_emit(ptr @.str7884)
call void @fn_emit(ptr @.str7885)
call void @fn_emit(ptr @.str7886)
call void @fn_emit(ptr @.str7887)
call void @fn_emit(ptr @.str7888)
call void @fn_emit(ptr @.str7889)
store i32 0, ptr %t29
store i32 0, ptr %t30
br label %wcond51
wcond51:
%t375 = load i32, ptr %t30
%t376 = load ptr, ptr @g_prog
%t377 = getelementptr inbounds %LSlice, ptr %t376, i32 0, i32 1
%t378 = load i32, ptr %t377
%t379 = icmp slt i32 %t375, %t378
%t380 = zext i1 %t379 to i32
%t381 = icmp ne i32 %t380, 0
br i1 %t381, label %wbody52, label %wend53
wbody52:
%t382 = load ptr, ptr @g_prog
%t383 = getelementptr inbounds %LSlice, ptr %t382, i32 0, i32 0
%t384 = load ptr, ptr %t383
%t385 = load i32, ptr %t30
%t386 = getelementptr inbounds ptr, ptr %t384, i32 %t385
%t387 = load ptr, ptr %t386
%t388 = getelementptr inbounds %Cmp_Node, ptr %t387, i32 0, i32 0
%t389 = load i32, ptr %t388
%t390 = icmp eq i32 %t389, 8
%t391 = zext i1 %t390 to i32
%t392 = icmp ne i32 %t391, 0
br i1 %t392, label %then54, label %ifend56
then54:
%t393 = load ptr, ptr @g_prog
%t394 = getelementptr inbounds %LSlice, ptr %t393, i32 0, i32 0
%t395 = load ptr, ptr %t394
%t396 = load i32, ptr %t30
%t397 = getelementptr inbounds ptr, ptr %t395, i32 %t396
%t398 = load ptr, ptr %t397
%t399 = getelementptr inbounds %Cmp_Node, ptr %t398, i32 0, i32 1
%t400 = load ptr, ptr %t399
store ptr %t400, ptr %t401
%t402 = load i32, ptr %t29
%t403 = call ptr @fn_itoa(i32 %t402)
store ptr %t403, ptr %t404
call void @fn_emit(ptr @.str7890)
%t405 = load ptr, ptr %t404
call void @fn_emit(ptr %t405)
call void @fn_emit(ptr @.str7891)
%t406 = load ptr, ptr %t404
call void @fn_emit(ptr %t406)
call void @fn_emit(ptr @.str7892)
call void @fn_emit(ptr @.str7893)
%t407 = load ptr, ptr %t404
call void @fn_emit(ptr %t407)
call void @fn_emit(ptr @.str7894)
%t408 = load ptr, ptr %t404
call void @fn_emit(ptr %t408)
call void @fn_emit(ptr @.str7895)
%t409 = load ptr, ptr %t404
call void @fn_emit(ptr %t409)
call void @fn_emit(ptr @.str7896)
call void @fn_emit(ptr @.str7897)
%t410 = load ptr, ptr %t404
call void @fn_emit(ptr %t410)
call void @fn_emit(ptr @.str7898)
call void @fn_emit(ptr @.str7899)
%t411 = load ptr, ptr %t404
call void @fn_emit(ptr %t411)
call void @fn_emit(ptr @.str7900)
%t412 = load ptr, ptr %t1
call void @fn_emit(ptr %t412)
call void @fn_emit(ptr @.str7901)
%t413 = load ptr, ptr %t401
call void @fn_emit(ptr %t413)
call void @fn_emit(ptr @.str7902)
call void @fn_emit(ptr @.str7903)
%t414 = load ptr, ptr %t404
call void @fn_emit(ptr %t414)
call void @fn_emit(ptr @.str7904)
%t415 = load ptr, ptr %t404
call void @fn_emit(ptr %t415)
call void @fn_emit(ptr @.str7905)
call void @fn_emit(ptr @.str7906)
%t416 = load ptr, ptr %t404
call void @fn_emit(ptr %t416)
call void @fn_emit(ptr @.str7907)
%t417 = load ptr, ptr %t404
call void @fn_emit(ptr %t417)
call void @fn_emit(ptr @.str7908)
%t418 = load ptr, ptr %t404
call void @fn_emit(ptr %t418)
call void @fn_emit(ptr @.str7909)
call void @fn_emit(ptr @.str7910)
%t419 = load ptr, ptr %t404
call void @fn_emit(ptr %t419)
call void @fn_emit(ptr @.str7911)
%t420 = load i32, ptr %t29
%t421 = add i32 %t420, 1
store i32 %t421, ptr %t29
br label %ifend56
ifend56:
%t422 = load i32, ptr %t30
%t423 = add i32 %t422, 1
store i32 %t423, ptr %t30
br label %wcond51
wend53:
call void @fn_emit(ptr @.str7912)
%t424 = load ptr, ptr %t28
call void @fn_emit(ptr %t424)
call void @fn_emit(ptr @.str7913)
call void @fn_emit(ptr @.str7914)
call void @fn_emit(ptr @.str7915)
call void @fn_emit(ptr @.str7916)
call void @fn_emit(ptr @.str7917)
call void @fn_emit(ptr @.str7918)
call void @fn_emit(ptr @.str7919)
%t425 = load ptr, ptr %t1
call void @fn_emit(ptr %t425)
call void @fn_emit(ptr @.str7920)
call void @fn_emit(ptr @.str7921)
call void @fn_emit(ptr @.str7922)
call void @fn_emit(ptr @.str7923)
%t426 = load ptr, ptr %t1
call void @fn_emit(ptr %t426)
call void @fn_emit(ptr @.str7924)
%t427 = load ptr, ptr %t1
call void @fn_emit(ptr %t427)
call void @fn_emit(ptr @.str7925)
call void @fn_emit(ptr @.str7926)
call void @fn_emit(ptr @.str7927)
call void @fn_emit(ptr @.str7928)
call void @fn_emit(ptr @.str7929)
%t428 = load ptr, ptr %t28
call void @fn_emit(ptr %t428)
call void @fn_emit(ptr @.str7930)
call void @fn_emit(ptr @.str7931)
call void @fn_emit(ptr @.str7932)
call void @fn_emit(ptr @.str7933)
%t429 = load ptr, ptr %t28
call void @fn_emit(ptr %t429)
call void @fn_emit(ptr @.str7934)
call void @fn_emit(ptr @.str7935)
call void @fn_emit(ptr @.str7936)
%t430 = load ptr, ptr %t28
call void @fn_emit(ptr %t430)
call void @fn_emit(ptr @.str7937)
call void @fn_emit(ptr @.str7938)
call void @fn_emit(ptr @.str7939)
call void @fn_emit(ptr @.str7940)
%t431 = load ptr, ptr %t1
call void @fn_emit(ptr %t431)
call void @fn_emit(ptr @.str7941)
call void @fn_emit(ptr @.str7942)
call void @fn_emit(ptr @.str7943)
store i32 0, ptr %t29
store i32 0, ptr %t30
br label %wcond57
wcond57:
%t432 = load i32, ptr %t30
%t433 = load ptr, ptr @g_prog
%t434 = getelementptr inbounds %LSlice, ptr %t433, i32 0, i32 1
%t435 = load i32, ptr %t434
%t436 = icmp slt i32 %t432, %t435
%t437 = zext i1 %t436 to i32
%t438 = icmp ne i32 %t437, 0
br i1 %t438, label %wbody58, label %wend59
wbody58:
%t439 = load ptr, ptr @g_prog
%t440 = getelementptr inbounds %LSlice, ptr %t439, i32 0, i32 0
%t441 = load ptr, ptr %t440
%t442 = load i32, ptr %t30
%t443 = getelementptr inbounds ptr, ptr %t441, i32 %t442
%t444 = load ptr, ptr %t443
%t445 = getelementptr inbounds %Cmp_Node, ptr %t444, i32 0, i32 0
%t446 = load i32, ptr %t445
%t447 = icmp eq i32 %t446, 10
%t448 = zext i1 %t447 to i32
%t449 = icmp ne i32 %t448, 0
br i1 %t449, label %then60, label %ifend62
then60:
%t450 = load ptr, ptr @g_prog
%t451 = getelementptr inbounds %LSlice, ptr %t450, i32 0, i32 0
%t452 = load ptr, ptr %t451
%t453 = load i32, ptr %t30
%t454 = getelementptr inbounds ptr, ptr %t452, i32 %t453
%t455 = load ptr, ptr %t454
%t456 = getelementptr inbounds %Cmp_Node, ptr %t455, i32 0, i32 1
%t457 = load ptr, ptr %t456
%t458 = call ptr @fn_emit_str_const(ptr %t457)
store ptr %t458, ptr %t459
%t460 = load i32, ptr %t29
%t461 = call ptr @fn_itoa(i32 %t460)
store ptr %t461, ptr %t462
call void @fn_emit(ptr @.str7944)
%t463 = load ptr, ptr %t462
call void @fn_emit(ptr %t463)
call void @fn_emit(ptr @.str7945)
%t464 = load ptr, ptr %t459
call void @fn_emit(ptr %t464)
call void @fn_emit(ptr @.str7946)
call void @fn_emit(ptr @.str7947)
%t465 = load ptr, ptr %t462
call void @fn_emit(ptr %t465)
call void @fn_emit(ptr @.str7948)
%t466 = load ptr, ptr %t462
call void @fn_emit(ptr %t466)
call void @fn_emit(ptr @.str7949)
call void @fn_emit(ptr @.str7950)
%t467 = load ptr, ptr %t462
call void @fn_emit(ptr %t467)
call void @fn_emit(ptr @.str7951)
%t468 = load ptr, ptr %t462
call void @fn_emit(ptr %t468)
call void @fn_emit(ptr @.str7952)
%t469 = load ptr, ptr %t462
call void @fn_emit(ptr %t469)
call void @fn_emit(ptr @.str7953)
call void @fn_emit(ptr @.str7954)
%t470 = load ptr, ptr %t462
call void @fn_emit(ptr %t470)
call void @fn_emit(ptr @.str7955)
%t471 = load ptr, ptr @g_prog
%t472 = getelementptr inbounds %LSlice, ptr %t471, i32 0, i32 0
%t473 = load ptr, ptr %t472
%t474 = load i32, ptr %t30
%t475 = getelementptr inbounds ptr, ptr %t473, i32 %t474
%t476 = load ptr, ptr %t475
%t477 = getelementptr inbounds %Cmp_Node, ptr %t476, i32 0, i32 1
%t478 = load ptr, ptr %t477
%t479 = call i32 @fn_find_arch_id(ptr %t478)
%t480 = call ptr @fn_itoa(i32 %t479)
call void @fn_emit(ptr %t480)
call void @fn_emit(ptr @.str7956)
call void @fn_emit(ptr @.str7957)
%t481 = load ptr, ptr %t462
call void @fn_emit(ptr %t481)
call void @fn_emit(ptr @.str7958)
%t482 = load i32, ptr %t29
%t483 = add i32 %t482, 1
store i32 %t483, ptr %t29
br label %ifend62
ifend62:
%t484 = load i32, ptr %t30
%t485 = add i32 %t484, 1
store i32 %t485, ptr %t30
br label %wcond57
wend59:
call void @fn_emit(ptr @.str7959)
store i32 0, ptr %t30
br label %wcond63
wcond63:
%t486 = load i32, ptr %t30
%t487 = load ptr, ptr @g_prog
%t488 = getelementptr inbounds %LSlice, ptr %t487, i32 0, i32 1
%t489 = load i32, ptr %t488
%t490 = icmp slt i32 %t486, %t489
%t491 = zext i1 %t490 to i32
%t492 = icmp ne i32 %t491, 0
br i1 %t492, label %wbody64, label %wend65
wbody64:
%t493 = load ptr, ptr @g_prog
%t494 = getelementptr inbounds %LSlice, ptr %t493, i32 0, i32 0
%t495 = load ptr, ptr %t494
%t496 = load i32, ptr %t30
%t497 = getelementptr inbounds ptr, ptr %t495, i32 %t496
%t498 = load ptr, ptr %t497
%t499 = getelementptr inbounds %Cmp_Node, ptr %t498, i32 0, i32 0
%t500 = load i32, ptr %t499
%t501 = icmp eq i32 %t500, 10
%t502 = zext i1 %t501 to i32
%t503 = icmp ne i32 %t502, 0
br i1 %t503, label %then66, label %ifend68
then66:
%t504 = load ptr, ptr @g_prog
%t505 = getelementptr inbounds %LSlice, ptr %t504, i32 0, i32 0
%t506 = load ptr, ptr %t505
%t507 = load i32, ptr %t30
%t508 = getelementptr inbounds ptr, ptr %t506, i32 %t507
%t509 = load ptr, ptr %t508
%t510 = getelementptr inbounds %Cmp_Node, ptr %t509, i32 0, i32 1
%t511 = load ptr, ptr %t510
store ptr %t511, ptr %t512
store i32 0, ptr @g_ll_t
store i32 0, ptr @g_ll_lbl
store i32 0, ptr @g_g_term
call void @fn_loc_reset()
store i32 0, ptr @g_nloop
store i32 0, ptr @g_nself
store ptr @.str7960, ptr @g_ret_ty
%t513 = call ptr @fn_buf_new()
store ptr %t513, ptr %t514
%t515 = call ptr @fn_buf_new()
store ptr %t515, ptr @g_falloc
%t516 = load ptr, ptr @g_code
store ptr %t516, ptr %t517
%t518 = load ptr, ptr %t514
store ptr %t518, ptr @g_code
%t519 = call ptr @fn_node(i32 22)
store ptr %t519, ptr %t520
%t521 = load ptr, ptr %t520
%t522 = getelementptr inbounds %Cmp_Node, ptr %t521, i32 0, i32 1
%t523 = load ptr, ptr %t512
store ptr %t523, ptr %t522
%t524 = load ptr, ptr %t520
%t525 = call ptr @fn_emit_spawn(ptr %t524)
store ptr %t525, ptr %t526
call void @fn_emit(ptr @.str7961)
%t527 = load ptr, ptr %t526
call void @fn_emit(ptr %t527)
call void @fn_emit(ptr @.str7962)
%t528 = load ptr, ptr %t517
store ptr %t528, ptr @g_code
call void @fn_emit(ptr @.str7963)
%t529 = load ptr, ptr %t512
call void @fn_emit(ptr %t529)
call void @fn_emit(ptr @.str7964)
%t530 = load ptr, ptr @g_falloc
%t531 = call ptr @fn_buf_str(ptr %t530)
call void @fn_emit(ptr %t531)
%t532 = load ptr, ptr %t514
%t533 = call ptr @fn_buf_str(ptr %t532)
call void @fn_emit(ptr %t533)
call void @fn_emit(ptr @.str7965)
br label %ifend68
ifend68:
%t534 = load i32, ptr %t30
%t535 = add i32 %t534, 1
store i32 %t535, ptr %t30
br label %wcond63
wend65:
call void @fn_emit(ptr @.str7966)
store i32 0, ptr %t29
store i32 0, ptr %t30
br label %wcond69
wcond69:
%t536 = load i32, ptr %t30
%t537 = load ptr, ptr @g_prog
%t538 = getelementptr inbounds %LSlice, ptr %t537, i32 0, i32 1
%t539 = load i32, ptr %t538
%t540 = icmp slt i32 %t536, %t539
%t541 = zext i1 %t540 to i32
%t542 = icmp ne i32 %t541, 0
br i1 %t542, label %wbody70, label %wend71
wbody70:
%t543 = load ptr, ptr @g_prog
%t544 = getelementptr inbounds %LSlice, ptr %t543, i32 0, i32 0
%t545 = load ptr, ptr %t544
%t546 = load i32, ptr %t30
%t547 = getelementptr inbounds ptr, ptr %t545, i32 %t546
%t548 = load ptr, ptr %t547
%t549 = getelementptr inbounds %Cmp_Node, ptr %t548, i32 0, i32 0
%t550 = load i32, ptr %t549
%t551 = icmp eq i32 %t550, 10
%t552 = zext i1 %t551 to i32
%t553 = icmp ne i32 %t552, 0
br i1 %t553, label %then72, label %ifend74
then72:
%t554 = load ptr, ptr @g_prog
%t555 = getelementptr inbounds %LSlice, ptr %t554, i32 0, i32 0
%t556 = load ptr, ptr %t555
%t557 = load i32, ptr %t30
%t558 = getelementptr inbounds ptr, ptr %t556, i32 %t557
%t559 = load ptr, ptr %t558
%t560 = getelementptr inbounds %Cmp_Node, ptr %t559, i32 0, i32 1
%t561 = load ptr, ptr %t560
store ptr %t561, ptr %t562
%t563 = load i32, ptr %t29
%t564 = call ptr @fn_itoa(i32 %t563)
store ptr %t564, ptr %t565
call void @fn_emit(ptr @.str7967)
%t566 = load ptr, ptr %t565
call void @fn_emit(ptr %t566)
call void @fn_emit(ptr @.str7968)
%t567 = load ptr, ptr %t562
%t568 = call i32 @fn_find_arch_id(ptr %t567)
%t569 = call ptr @fn_itoa(i32 %t568)
call void @fn_emit(ptr %t569)
call void @fn_emit(ptr @.str7969)
call void @fn_emit(ptr @.str7970)
%t570 = load ptr, ptr %t565
call void @fn_emit(ptr %t570)
call void @fn_emit(ptr @.str7971)
%t571 = load ptr, ptr %t565
call void @fn_emit(ptr %t571)
call void @fn_emit(ptr @.str7972)
%t572 = load ptr, ptr %t565
call void @fn_emit(ptr %t572)
call void @fn_emit(ptr @.str7973)
call void @fn_emit(ptr @.str7974)
%t573 = load ptr, ptr %t565
call void @fn_emit(ptr %t573)
call void @fn_emit(ptr @.str7975)
%t574 = load ptr, ptr %t565
call void @fn_emit(ptr %t574)
call void @fn_emit(ptr @.str7976)
%t575 = load ptr, ptr %t562
call void @fn_emit(ptr %t575)
call void @fn_emit(ptr @.str7977)
%t576 = load ptr, ptr %t565
call void @fn_emit(ptr %t576)
call void @fn_emit(ptr @.str7978)
call void @fn_emit(ptr @.str7979)
%t577 = load ptr, ptr %t565
call void @fn_emit(ptr %t577)
call void @fn_emit(ptr @.str7980)
%t578 = load i32, ptr %t29
%t579 = add i32 %t578, 1
store i32 %t579, ptr %t29
br label %ifend74
ifend74:
%t580 = load i32, ptr %t30
%t581 = add i32 %t580, 1
store i32 %t581, ptr %t30
br label %wcond69
wend71:
call void @fn_emit(ptr @.str7981)
call void @fn_emit(ptr @.str7982)
call void @fn_emit(ptr @.str7983)
call void @fn_emit(ptr @.str7984)
call void @fn_emit(ptr @.str7985)
call void @fn_emit(ptr @.str7986)
%t582 = load ptr, ptr %t1
call void @fn_emit(ptr %t582)
call void @fn_emit(ptr @.str7987)
call void @fn_emit(ptr @.str7988)
call void @fn_emit(ptr @.str7989)
call void @fn_emit(ptr @.str7990)
call void @fn_emit(ptr @.str7991)
call void @fn_emit(ptr @.str7992)
call void @fn_emit_world_reflect_enum()
br label %ret
ret:
ret void
}
define void @fn_emit_world_reflect_enum() {
entry:
%t1 = alloca ptr
%t3 = alloca ptr
%t4 = alloca i32
%t5 = alloca i32
%t30 = alloca ptr
%t32 = alloca i32
%t60 = alloca ptr
%t63 = alloca ptr
%t102 = alloca ptr
%t105 = alloca ptr
%t148 = alloca ptr
%t151 = alloca ptr
%t158 = alloca i32
%t179 = alloca ptr
%t185 = alloca ptr
%t228 = alloca ptr
%t231 = alloca ptr
%t238 = alloca i32
%t259 = alloca ptr
%t265 = alloca ptr
%t0 = call ptr @fn_emit_str_const(ptr @.str7993)
store ptr %t0, ptr %t1
%t2 = call ptr @fn_emit_str_const(ptr @.str7994)
store ptr %t2, ptr %t3
store i32 0, ptr %t4
store i32 0, ptr %t5
br label %wcond0
wcond0:
%t6 = load i32, ptr %t5
%t7 = load ptr, ptr @g_prog
%t8 = getelementptr inbounds %LSlice, ptr %t7, i32 0, i32 1
%t9 = load i32, ptr %t8
%t10 = icmp slt i32 %t6, %t9
%t11 = zext i1 %t10 to i32
%t12 = icmp ne i32 %t11, 0
br i1 %t12, label %wbody1, label %wend2
wbody1:
%t13 = load ptr, ptr @g_prog
%t14 = getelementptr inbounds %LSlice, ptr %t13, i32 0, i32 0
%t15 = load ptr, ptr %t14
%t16 = load i32, ptr %t5
%t17 = getelementptr inbounds ptr, ptr %t15, i32 %t16
%t18 = load ptr, ptr %t17
%t19 = getelementptr inbounds %Cmp_Node, ptr %t18, i32 0, i32 0
%t20 = load i32, ptr %t19
%t21 = icmp eq i32 %t20, 8
%t22 = zext i1 %t21 to i32
%t23 = icmp ne i32 %t22, 0
br i1 %t23, label %then3, label %ifend5
then3:
%t24 = load i32, ptr %t4
%t25 = add i32 %t24, 1
store i32 %t25, ptr %t4
br label %ifend5
ifend5:
%t26 = load i32, ptr %t5
%t27 = add i32 %t26, 1
store i32 %t27, ptr %t5
br label %wcond0
wend2:
%t28 = load i32, ptr %t4
%t29 = call ptr @fn_itoa(i32 %t28)
store ptr %t29, ptr %t30
call void @fn_emit(ptr @.str7995)
call void @fn_emit(ptr @.str7996)
%t31 = load ptr, ptr %t30
call void @fn_emit(ptr %t31)
call void @fn_emit(ptr @.str7997)
call void @fn_emit(ptr @.str7998)
store i32 0, ptr %t32
store i32 0, ptr %t5
br label %wcond6
wcond6:
%t33 = load i32, ptr %t5
%t34 = load ptr, ptr @g_prog
%t35 = getelementptr inbounds %LSlice, ptr %t34, i32 0, i32 1
%t36 = load i32, ptr %t35
%t37 = icmp slt i32 %t33, %t36
%t38 = zext i1 %t37 to i32
%t39 = icmp ne i32 %t38, 0
br i1 %t39, label %wbody7, label %wend8
wbody7:
%t40 = load ptr, ptr @g_prog
%t41 = getelementptr inbounds %LSlice, ptr %t40, i32 0, i32 0
%t42 = load ptr, ptr %t41
%t43 = load i32, ptr %t5
%t44 = getelementptr inbounds ptr, ptr %t42, i32 %t43
%t45 = load ptr, ptr %t44
%t46 = getelementptr inbounds %Cmp_Node, ptr %t45, i32 0, i32 0
%t47 = load i32, ptr %t46
%t48 = icmp eq i32 %t47, 8
%t49 = zext i1 %t48 to i32
%t50 = icmp ne i32 %t49, 0
br i1 %t50, label %then9, label %ifend11
then9:
%t51 = load ptr, ptr @g_prog
%t52 = getelementptr inbounds %LSlice, ptr %t51, i32 0, i32 0
%t53 = load ptr, ptr %t52
%t54 = load i32, ptr %t5
%t55 = getelementptr inbounds ptr, ptr %t53, i32 %t54
%t56 = load ptr, ptr %t55
%t57 = getelementptr inbounds %Cmp_Node, ptr %t56, i32 0, i32 1
%t58 = load ptr, ptr %t57
%t59 = call ptr @fn_emit_str_const(ptr %t58)
store ptr %t59, ptr %t60
%t61 = load i32, ptr %t32
%t62 = call ptr @fn_itoa(i32 %t61)
store ptr %t62, ptr %t63
call void @fn_emit(ptr @.str7999)
%t64 = load ptr, ptr %t63
call void @fn_emit(ptr %t64)
call void @fn_emit(ptr @.str8000)
%t65 = load ptr, ptr %t63
call void @fn_emit(ptr %t65)
call void @fn_emit(ptr @.str8001)
call void @fn_emit(ptr @.str8002)
%t66 = load ptr, ptr %t63
call void @fn_emit(ptr %t66)
call void @fn_emit(ptr @.str8003)
%t67 = load ptr, ptr %t63
call void @fn_emit(ptr %t67)
call void @fn_emit(ptr @.str8004)
%t68 = load ptr, ptr %t63
call void @fn_emit(ptr %t68)
call void @fn_emit(ptr @.str8005)
call void @fn_emit(ptr @.str8006)
%t69 = load ptr, ptr %t63
call void @fn_emit(ptr %t69)
call void @fn_emit(ptr @.str8007)
%t70 = load ptr, ptr %t60
call void @fn_emit(ptr %t70)
call void @fn_emit(ptr @.str8008)
call void @fn_emit(ptr @.str8009)
%t71 = load ptr, ptr %t63
call void @fn_emit(ptr %t71)
call void @fn_emit(ptr @.str8010)
%t72 = load i32, ptr %t32
%t73 = add i32 %t72, 1
store i32 %t73, ptr %t32
br label %ifend11
ifend11:
%t74 = load i32, ptr %t5
%t75 = add i32 %t74, 1
store i32 %t75, ptr %t5
br label %wcond6
wend8:
call void @fn_emit(ptr @.str8011)
%t76 = load ptr, ptr %t30
call void @fn_emit(ptr %t76)
call void @fn_emit(ptr @.str8012)
call void @fn_emit(ptr @.str8013)
call void @fn_emit(ptr @.str8014)
call void @fn_emit(ptr @.str8015)
%t77 = load ptr, ptr %t1
call void @fn_emit(ptr %t77)
call void @fn_emit(ptr @.str8016)
call void @fn_emit(ptr @.str8017)
store i32 0, ptr %t32
store i32 0, ptr %t5
br label %wcond12
wcond12:
%t78 = load i32, ptr %t5
%t79 = load ptr, ptr @g_prog
%t80 = getelementptr inbounds %LSlice, ptr %t79, i32 0, i32 1
%t81 = load i32, ptr %t80
%t82 = icmp slt i32 %t78, %t81
%t83 = zext i1 %t82 to i32
%t84 = icmp ne i32 %t83, 0
br i1 %t84, label %wbody13, label %wend14
wbody13:
%t85 = load ptr, ptr @g_prog
%t86 = getelementptr inbounds %LSlice, ptr %t85, i32 0, i32 0
%t87 = load ptr, ptr %t86
%t88 = load i32, ptr %t5
%t89 = getelementptr inbounds ptr, ptr %t87, i32 %t88
%t90 = load ptr, ptr %t89
%t91 = getelementptr inbounds %Cmp_Node, ptr %t90, i32 0, i32 0
%t92 = load i32, ptr %t91
%t93 = icmp eq i32 %t92, 8
%t94 = zext i1 %t93 to i32
%t95 = icmp ne i32 %t94, 0
br i1 %t95, label %then15, label %ifend17
then15:
%t96 = load ptr, ptr @g_prog
%t97 = getelementptr inbounds %LSlice, ptr %t96, i32 0, i32 0
%t98 = load ptr, ptr %t97
%t99 = load i32, ptr %t5
%t100 = getelementptr inbounds ptr, ptr %t98, i32 %t99
%t101 = load ptr, ptr %t100
store ptr %t101, ptr %t102
%t103 = load i32, ptr %t32
%t104 = call ptr @fn_itoa(i32 %t103)
store ptr %t104, ptr %t105
call void @fn_emit(ptr @.str8018)
%t106 = load ptr, ptr %t105
call void @fn_emit(ptr %t106)
call void @fn_emit(ptr @.str8019)
%t107 = load ptr, ptr %t105
call void @fn_emit(ptr %t107)
call void @fn_emit(ptr @.str8020)
call void @fn_emit(ptr @.str8021)
%t108 = load ptr, ptr %t105
call void @fn_emit(ptr %t108)
call void @fn_emit(ptr @.str8022)
%t109 = load ptr, ptr %t105
call void @fn_emit(ptr %t109)
call void @fn_emit(ptr @.str8023)
%t110 = load ptr, ptr %t105
call void @fn_emit(ptr %t110)
call void @fn_emit(ptr @.str8024)
call void @fn_emit(ptr @.str8025)
%t111 = load ptr, ptr %t105
call void @fn_emit(ptr %t111)
call void @fn_emit(ptr @.str8026)
%t112 = load ptr, ptr %t102
%t113 = getelementptr inbounds %Cmp_Node, ptr %t112, i32 0, i32 7
%t114 = load ptr, ptr %t113
%t115 = getelementptr inbounds %LSlice, ptr %t114, i32 0, i32 1
%t116 = load i32, ptr %t115
%t117 = call ptr @fn_itoa(i32 %t116)
call void @fn_emit(ptr %t117)
call void @fn_emit(ptr @.str8027)
call void @fn_emit(ptr @.str8028)
%t118 = load ptr, ptr %t105
call void @fn_emit(ptr %t118)
call void @fn_emit(ptr @.str8029)
%t119 = load i32, ptr %t32
%t120 = add i32 %t119, 1
store i32 %t120, ptr %t32
br label %ifend17
ifend17:
%t121 = load i32, ptr %t5
%t122 = add i32 %t121, 1
store i32 %t122, ptr %t5
br label %wcond12
wend14:
call void @fn_emit(ptr @.str8030)
%t123 = load ptr, ptr %t30
call void @fn_emit(ptr %t123)
call void @fn_emit(ptr @.str8031)
call void @fn_emit(ptr @.str8032)
call void @fn_emit(ptr @.str8033)
call void @fn_emit(ptr @.str8034)
call void @fn_emit(ptr @.str8035)
store i32 0, ptr %t32
store i32 0, ptr %t5
br label %wcond18
wcond18:
%t124 = load i32, ptr %t5
%t125 = load ptr, ptr @g_prog
%t126 = getelementptr inbounds %LSlice, ptr %t125, i32 0, i32 1
%t127 = load i32, ptr %t126
%t128 = icmp slt i32 %t124, %t127
%t129 = zext i1 %t128 to i32
%t130 = icmp ne i32 %t129, 0
br i1 %t130, label %wbody19, label %wend20
wbody19:
%t131 = load ptr, ptr @g_prog
%t132 = getelementptr inbounds %LSlice, ptr %t131, i32 0, i32 0
%t133 = load ptr, ptr %t132
%t134 = load i32, ptr %t5
%t135 = getelementptr inbounds ptr, ptr %t133, i32 %t134
%t136 = load ptr, ptr %t135
%t137 = getelementptr inbounds %Cmp_Node, ptr %t136, i32 0, i32 0
%t138 = load i32, ptr %t137
%t139 = icmp eq i32 %t138, 8
%t140 = zext i1 %t139 to i32
%t141 = icmp ne i32 %t140, 0
br i1 %t141, label %then21, label %ifend23
then21:
%t142 = load ptr, ptr @g_prog
%t143 = getelementptr inbounds %LSlice, ptr %t142, i32 0, i32 0
%t144 = load ptr, ptr %t143
%t145 = load i32, ptr %t5
%t146 = getelementptr inbounds ptr, ptr %t144, i32 %t145
%t147 = load ptr, ptr %t146
store ptr %t147, ptr %t148
%t149 = load i32, ptr %t32
%t150 = call ptr @fn_itoa(i32 %t149)
store ptr %t150, ptr %t151
call void @fn_emit(ptr @.str8036)
%t152 = load ptr, ptr %t151
call void @fn_emit(ptr %t152)
call void @fn_emit(ptr @.str8037)
%t153 = load ptr, ptr %t151
call void @fn_emit(ptr %t153)
call void @fn_emit(ptr @.str8038)
call void @fn_emit(ptr @.str8039)
%t154 = load ptr, ptr %t151
call void @fn_emit(ptr %t154)
call void @fn_emit(ptr @.str8040)
%t155 = load ptr, ptr %t151
call void @fn_emit(ptr %t155)
call void @fn_emit(ptr @.str8041)
%t156 = load ptr, ptr %t151
call void @fn_emit(ptr %t156)
call void @fn_emit(ptr @.str8042)
call void @fn_emit(ptr @.str8043)
%t157 = load ptr, ptr %t151
call void @fn_emit(ptr %t157)
call void @fn_emit(ptr @.str8044)
store i32 0, ptr %t158
br label %wcond24
wcond24:
%t159 = load i32, ptr %t158
%t160 = load ptr, ptr %t148
%t161 = getelementptr inbounds %Cmp_Node, ptr %t160, i32 0, i32 7
%t162 = load ptr, ptr %t161
%t163 = getelementptr inbounds %LSlice, ptr %t162, i32 0, i32 1
%t164 = load i32, ptr %t163
%t165 = icmp slt i32 %t159, %t164
%t166 = zext i1 %t165 to i32
%t167 = icmp ne i32 %t166, 0
br i1 %t167, label %wbody25, label %wend26
wbody25:
%t168 = load ptr, ptr %t148
%t169 = getelementptr inbounds %Cmp_Node, ptr %t168, i32 0, i32 7
%t170 = load ptr, ptr %t169
%t171 = getelementptr inbounds %LSlice, ptr %t170, i32 0, i32 0
%t172 = load ptr, ptr %t171
%t173 = load i32, ptr %t158
%t174 = getelementptr inbounds ptr, ptr %t172, i32 %t173
%t175 = load ptr, ptr %t174
%t176 = getelementptr inbounds %Cmp_Node, ptr %t175, i32 0, i32 1
%t177 = load ptr, ptr %t176
%t178 = call ptr @fn_emit_str_const(ptr %t177)
store ptr %t178, ptr %t179
%t180 = load ptr, ptr %t151
%t181 = call ptr @fn_str_concat(ptr %t180, ptr @.str8045)
%t182 = load i32, ptr %t158
%t183 = call ptr @fn_itoa(i32 %t182)
%t184 = call ptr @fn_str_concat(ptr %t181, ptr %t183)
store ptr %t184, ptr %t185
call void @fn_emit(ptr @.str8046)
%t186 = load ptr, ptr %t185
call void @fn_emit(ptr %t186)
call void @fn_emit(ptr @.str8047)
%t187 = load i32, ptr %t158
%t188 = call ptr @fn_itoa(i32 %t187)
call void @fn_emit(ptr %t188)
call void @fn_emit(ptr @.str8048)
call void @fn_emit(ptr @.str8049)
%t189 = load ptr, ptr %t185
call void @fn_emit(ptr %t189)
call void @fn_emit(ptr @.str8050)
%t190 = load ptr, ptr %t185
call void @fn_emit(ptr %t190)
call void @fn_emit(ptr @.str8051)
%t191 = load ptr, ptr %t185
call void @fn_emit(ptr %t191)
call void @fn_emit(ptr @.str8052)
call void @fn_emit(ptr @.str8053)
%t192 = load ptr, ptr %t185
call void @fn_emit(ptr %t192)
call void @fn_emit(ptr @.str8054)
%t193 = load ptr, ptr %t179
call void @fn_emit(ptr %t193)
call void @fn_emit(ptr @.str8055)
call void @fn_emit(ptr @.str8056)
%t194 = load ptr, ptr %t185
call void @fn_emit(ptr %t194)
call void @fn_emit(ptr @.str8057)
%t195 = load i32, ptr %t158
%t196 = add i32 %t195, 1
store i32 %t196, ptr %t158
br label %wcond24
wend26:
call void @fn_emit(ptr @.str8058)
%t197 = load ptr, ptr %t1
call void @fn_emit(ptr %t197)
call void @fn_emit(ptr @.str8059)
call void @fn_emit(ptr @.str8060)
%t198 = load ptr, ptr %t151
call void @fn_emit(ptr %t198)
call void @fn_emit(ptr @.str8061)
%t199 = load i32, ptr %t32
%t200 = add i32 %t199, 1
store i32 %t200, ptr %t32
br label %ifend23
ifend23:
%t201 = load i32, ptr %t5
%t202 = add i32 %t201, 1
store i32 %t202, ptr %t5
br label %wcond18
wend20:
call void @fn_emit(ptr @.str8062)
%t203 = load ptr, ptr %t1
call void @fn_emit(ptr %t203)
call void @fn_emit(ptr @.str8063)
call void @fn_emit(ptr @.str8064)
store i32 0, ptr %t32
store i32 0, ptr %t5
br label %wcond27
wcond27:
%t204 = load i32, ptr %t5
%t205 = load ptr, ptr @g_prog
%t206 = getelementptr inbounds %LSlice, ptr %t205, i32 0, i32 1
%t207 = load i32, ptr %t206
%t208 = icmp slt i32 %t204, %t207
%t209 = zext i1 %t208 to i32
%t210 = icmp ne i32 %t209, 0
br i1 %t210, label %wbody28, label %wend29
wbody28:
%t211 = load ptr, ptr @g_prog
%t212 = getelementptr inbounds %LSlice, ptr %t211, i32 0, i32 0
%t213 = load ptr, ptr %t212
%t214 = load i32, ptr %t5
%t215 = getelementptr inbounds ptr, ptr %t213, i32 %t214
%t216 = load ptr, ptr %t215
%t217 = getelementptr inbounds %Cmp_Node, ptr %t216, i32 0, i32 0
%t218 = load i32, ptr %t217
%t219 = icmp eq i32 %t218, 8
%t220 = zext i1 %t219 to i32
%t221 = icmp ne i32 %t220, 0
br i1 %t221, label %then30, label %ifend32
then30:
%t222 = load ptr, ptr @g_prog
%t223 = getelementptr inbounds %LSlice, ptr %t222, i32 0, i32 0
%t224 = load ptr, ptr %t223
%t225 = load i32, ptr %t5
%t226 = getelementptr inbounds ptr, ptr %t224, i32 %t225
%t227 = load ptr, ptr %t226
store ptr %t227, ptr %t228
%t229 = load i32, ptr %t32
%t230 = call ptr @fn_itoa(i32 %t229)
store ptr %t230, ptr %t231
call void @fn_emit(ptr @.str8065)
%t232 = load ptr, ptr %t231
call void @fn_emit(ptr %t232)
call void @fn_emit(ptr @.str8066)
%t233 = load ptr, ptr %t231
call void @fn_emit(ptr %t233)
call void @fn_emit(ptr @.str8067)
call void @fn_emit(ptr @.str8068)
%t234 = load ptr, ptr %t231
call void @fn_emit(ptr %t234)
call void @fn_emit(ptr @.str8069)
%t235 = load ptr, ptr %t231
call void @fn_emit(ptr %t235)
call void @fn_emit(ptr @.str8070)
%t236 = load ptr, ptr %t231
call void @fn_emit(ptr %t236)
call void @fn_emit(ptr @.str8071)
call void @fn_emit(ptr @.str8072)
%t237 = load ptr, ptr %t231
call void @fn_emit(ptr %t237)
call void @fn_emit(ptr @.str8073)
store i32 0, ptr %t238
br label %wcond33
wcond33:
%t239 = load i32, ptr %t238
%t240 = load ptr, ptr %t228
%t241 = getelementptr inbounds %Cmp_Node, ptr %t240, i32 0, i32 7
%t242 = load ptr, ptr %t241
%t243 = getelementptr inbounds %LSlice, ptr %t242, i32 0, i32 1
%t244 = load i32, ptr %t243
%t245 = icmp slt i32 %t239, %t244
%t246 = zext i1 %t245 to i32
%t247 = icmp ne i32 %t246, 0
br i1 %t247, label %wbody34, label %wend35
wbody34:
%t248 = load ptr, ptr %t228
%t249 = getelementptr inbounds %Cmp_Node, ptr %t248, i32 0, i32 7
%t250 = load ptr, ptr %t249
%t251 = getelementptr inbounds %LSlice, ptr %t250, i32 0, i32 0
%t252 = load ptr, ptr %t251
%t253 = load i32, ptr %t238
%t254 = getelementptr inbounds ptr, ptr %t252, i32 %t253
%t255 = load ptr, ptr %t254
%t256 = getelementptr inbounds %Cmp_Node, ptr %t255, i32 0, i32 3
%t257 = load ptr, ptr %t256
%t258 = call ptr @fn_emit_str_const(ptr %t257)
store ptr %t258, ptr %t259
%t260 = load ptr, ptr %t231
%t261 = call ptr @fn_str_concat(ptr %t260, ptr @.str8074)
%t262 = load i32, ptr %t238
%t263 = call ptr @fn_itoa(i32 %t262)
%t264 = call ptr @fn_str_concat(ptr %t261, ptr %t263)
store ptr %t264, ptr %t265
call void @fn_emit(ptr @.str8075)
%t266 = load ptr, ptr %t265
call void @fn_emit(ptr %t266)
call void @fn_emit(ptr @.str8076)
%t267 = load i32, ptr %t238
%t268 = call ptr @fn_itoa(i32 %t267)
call void @fn_emit(ptr %t268)
call void @fn_emit(ptr @.str8077)
call void @fn_emit(ptr @.str8078)
%t269 = load ptr, ptr %t265
call void @fn_emit(ptr %t269)
call void @fn_emit(ptr @.str8079)
%t270 = load ptr, ptr %t265
call void @fn_emit(ptr %t270)
call void @fn_emit(ptr @.str8080)
%t271 = load ptr, ptr %t265
call void @fn_emit(ptr %t271)
call void @fn_emit(ptr @.str8081)
call void @fn_emit(ptr @.str8082)
%t272 = load ptr, ptr %t265
call void @fn_emit(ptr %t272)
call void @fn_emit(ptr @.str8083)
%t273 = load ptr, ptr %t259
call void @fn_emit(ptr %t273)
call void @fn_emit(ptr @.str8084)
call void @fn_emit(ptr @.str8085)
%t274 = load ptr, ptr %t265
call void @fn_emit(ptr %t274)
call void @fn_emit(ptr @.str8086)
%t275 = load i32, ptr %t238
%t276 = add i32 %t275, 1
store i32 %t276, ptr %t238
br label %wcond33
wend35:
call void @fn_emit(ptr @.str8087)
%t277 = load ptr, ptr %t3
call void @fn_emit(ptr %t277)
call void @fn_emit(ptr @.str8088)
call void @fn_emit(ptr @.str8089)
%t278 = load ptr, ptr %t231
call void @fn_emit(ptr %t278)
call void @fn_emit(ptr @.str8090)
%t279 = load i32, ptr %t32
%t280 = add i32 %t279, 1
store i32 %t280, ptr %t32
br label %ifend32
ifend32:
%t281 = load i32, ptr %t5
%t282 = add i32 %t281, 1
store i32 %t282, ptr %t5
br label %wcond27
wend29:
call void @fn_emit(ptr @.str8091)
%t283 = load ptr, ptr %t3
call void @fn_emit(ptr %t283)
call void @fn_emit(ptr @.str8092)
br label %ret
ret:
ret void
}
define void @fn_emit_tick_helpers() {
entry:
call void @fn_emit(ptr @.str8093)
store i32 0, ptr @g_ll_t
store i32 0, ptr @g_ll_lbl
call void @fn_emit_calls_for_phase(ptr @.str8094)
call void @fn_emit_calls_for_phase(ptr @.str8095)
call void @fn_emit_calls_for_phase(ptr @.str8096)
call void @fn_emit_calls_for_phase(ptr @.str8097)
call void @fn_emit(ptr @.str8098)
call void @fn_emit(ptr @.str8099)
store i32 0, ptr @g_ll_t
store i32 0, ptr @g_ll_lbl
call void @fn_emit_calls_for_phase(ptr @.str8100)
call void @fn_emit(ptr @.str8101)
br label %ret
ret:
ret void
}
define void @fn_emit_game_defs() {
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 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 0
%t10 = load ptr, ptr %t9
%t11 = load i32, ptr %t0
%t12 = getelementptr inbounds ptr, ptr %t10, i32 %t11
%t13 = load ptr, ptr %t12
%t14 = getelementptr inbounds %Cmp_Node, ptr %t13, i32 0, i32 0
%t15 = load i32, ptr %t14
%t16 = icmp eq i32 %t15, 9
%t17 = zext i1 %t16 to i32
%t18 = icmp ne i32 %t17, 0
br i1 %t18, label %then3, label %ifend5
then3:
%t19 = load ptr, ptr @g_prog
%t20 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 0
%t21 = load ptr, ptr %t20
%t22 = load i32, ptr %t0
%t23 = getelementptr inbounds ptr, ptr %t21, i32 %t22
%t24 = load ptr, ptr %t23
call void @fn_emit_system_fn(ptr %t24)
br label %ifend5
ifend5:
%t25 = load i32, ptr %t0
%t26 = add i32 %t25, 1
store i32 %t26, ptr %t0
br label %wcond0
wend2:
call void @fn_emit_despawn_hooks()
call void @fn_emit_scene_hooks()
call void @fn_emit_tick_helpers()
br label %ret
ret:
ret void
}
define void @fn_emit_game_main() {
entry:
%t12 = alloca i32
%t47 = alloca ptr
%t52 = alloca ptr
%t58 = alloca ptr
%t63 = alloca ptr
%t70 = alloca ptr
%t78 = alloca ptr
%t81 = alloca ptr
%t86 = alloca ptr
call void @fn_emit_game_defs()
call void @fn_emit(ptr @.str8102)
call void @fn_emit(ptr @.str8103)
call void @fn_emit(ptr @.str8104)
%t0 = call ptr @fn_find_fn(ptr @.str8105)
%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 @.str8106)
br label %ifend2
ifend2:
call void @fn_emit_calls_for_phase(ptr @.str8107)
%t4 = load ptr, ptr @g_g_scenes
%t5 = getelementptr inbounds %LSlice, ptr %t4, i32 0, i32 1
%t6 = load i32, ptr %t5
%t7 = icmp sgt i32 %t6, 0
%t8 = zext i1 %t7 to i32
%t9 = icmp ne i32 %t8, 0
br i1 %t9, label %then3, label %ifend5
then3:
call void @fn_emit(ptr @.str8108)
%t10 = load i32, ptr @g_g_start_scene
%t11 = call ptr @fn_itoa(i32 %t10)
call void @fn_emit(ptr %t11)
call void @fn_emit(ptr @.str8109)
store i32 0, ptr %t12
br label %wcond6
wcond6:
%t13 = load i32, ptr %t12
%t14 = load ptr, ptr @g_g_scenes
%t15 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 1
%t16 = load i32, ptr %t15
%t17 = icmp slt i32 %t13, %t16
%t18 = zext i1 %t17 to i32
%t19 = icmp ne i32 %t18, 0
br i1 %t19, label %wbody7, label %wend8
wbody7:
%t20 = load ptr, ptr @g_g_scenes
%t21 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 0
%t22 = load ptr, ptr %t21
%t23 = load i32, ptr %t12
%t24 = getelementptr inbounds ptr, ptr %t22, i32 %t23
%t25 = load ptr, ptr %t24
%t26 = getelementptr inbounds %Cmp_Node, ptr %t25, i32 0, i32 2
%t27 = load i32, ptr %t26
%t28 = load i32, ptr @g_g_start_scene
%t29 = icmp eq i32 %t27, %t28
%t30 = zext i1 %t29 to i32
%t31 = icmp ne i32 %t30, 0
br i1 %t31, label %then9, label %ifend11
then9:
call void @fn_emit(ptr @.str8110)
%t32 = load ptr, ptr @g_g_scenes
%t33 = getelementptr inbounds %LSlice, ptr %t32, i32 0, i32 0
%t34 = load ptr, ptr %t33
%t35 = load i32, ptr %t12
%t36 = getelementptr inbounds ptr, ptr %t34, i32 %t35
%t37 = load ptr, ptr %t36
%t38 = getelementptr inbounds %Cmp_Node, ptr %t37, i32 0, i32 1
%t39 = load ptr, ptr %t38
call void @fn_emit(ptr %t39)
call void @fn_emit(ptr @.str8111)
br label %ifend11
ifend11:
%t40 = load i32, ptr %t12
%t41 = add i32 %t40, 1
store i32 %t41, ptr %t12
br label %wcond6
wend8:
br label %ifend5
ifend5:
%t42 = call ptr @fn_find_event(ptr @.str8112)
%t43 = icmp ne ptr %t42, null
%t44 = zext i1 %t43 to i32
%t45 = icmp ne i32 %t44, 0
br i1 %t45, label %then12, label %ifend14
then12:
call void @fn_emit(ptr @.str8113)
br label %ifend14
ifend14:
call void @fn_emit(ptr @.str8114)
call void @fn_emit(ptr @.str8115)
%t46 = call ptr @fn_emit_bind(ptr @.str8116)
store ptr %t46, ptr %t47
%t48 = load ptr, ptr %t47
%t49 = call ptr @fn_str_concat(ptr @.str8117, ptr %t48)
%t50 = call ptr @fn_str_concat(ptr %t49, ptr @.str8118)
%t51 = call ptr @fn_emit_bind(ptr %t50)
store ptr %t51, ptr %t52
%t53 = call ptr @fn_find_fn(ptr @.str8119)
%t54 = icmp ne ptr %t53, null
%t55 = zext i1 %t54 to i32
%t56 = icmp ne i32 %t55, 0
br i1 %t56, label %then15, label %else16
then15:
%t57 = call ptr @fn_emit_bind(ptr @.str8120)
store ptr %t57, ptr %t58
%t59 = load ptr, ptr %t58
%t60 = call ptr @fn_str_concat(ptr @.str8121, ptr %t59)
%t61 = call ptr @fn_str_concat(ptr %t60, ptr @.str8122)
%t62 = call ptr @fn_emit_bind(ptr %t61)
store ptr %t62, ptr %t63
%t64 = load ptr, ptr %t52
%t65 = call ptr @fn_str_concat(ptr @.str8123, ptr %t64)
%t66 = call ptr @fn_str_concat(ptr %t65, ptr @.str8124)
%t67 = load ptr, ptr %t63
%t68 = call ptr @fn_str_concat(ptr %t66, ptr %t67)
%t69 = call ptr @fn_emit_bind(ptr %t68)
store ptr %t69, ptr %t70
call void @fn_emit(ptr @.str8125)
%t71 = load ptr, ptr %t70
call void @fn_emit(ptr %t71)
call void @fn_emit(ptr @.str8126)
br label %ifend17
else16:
call void @fn_emit(ptr @.str8127)
%t72 = load ptr, ptr %t52
call void @fn_emit(ptr %t72)
call void @fn_emit(ptr @.str8128)
br label %ifend17
ifend17:
call void @fn_emit(ptr @.str8129)
%t73 = call ptr @fn_find_fn(ptr @.str8130)
%t74 = icmp ne ptr %t73, null
%t75 = zext i1 %t74 to i32
%t76 = icmp ne i32 %t75, 0
br i1 %t76, label %then18, label %ifend20
then18:
%t77 = call ptr @fn_emit_bind(ptr @.str8131)
store ptr %t77, ptr %t78
call void @fn_emit(ptr @.str8132)
%t79 = load ptr, ptr %t78
call void @fn_emit(ptr %t79)
call void @fn_emit(ptr @.str8133)
br label %ifend20
ifend20:
call void @fn_emit_calls_for_phase(ptr @.str8134)
call void @fn_emit_calls_for_phase(ptr @.str8135)
call void @fn_emit_calls_for_phase(ptr @.str8136)
call void @fn_emit_calls_for_phase(ptr @.str8137)
call void @fn_emit_calls_for_phase(ptr @.str8138)
%t80 = call ptr @fn_emit_bind(ptr @.str8139)
store ptr %t80, ptr %t81
%t82 = load ptr, ptr %t81
%t83 = call ptr @fn_str_concat(ptr @.str8140, ptr %t82)
%t84 = call ptr @fn_str_concat(ptr %t83, ptr @.str8141)
%t85 = call ptr @fn_emit_bind(ptr %t84)
store ptr %t85, ptr %t86
call void @fn_emit(ptr @.str8142)
%t87 = load ptr, ptr %t86
call void @fn_emit(ptr %t87)
call void @fn_emit(ptr @.str8143)
call void @fn_emit(ptr @.str8144)
call void @fn_emit(ptr @.str8145)
%t88 = load ptr, ptr @g_g_ondespawn
%t89 = getelementptr inbounds %LSlice, ptr %t88, i32 0, i32 1
%t90 = load i32, ptr %t89
%t91 = icmp sgt i32 %t90, 0
%t92 = zext i1 %t91 to i32
%t93 = icmp ne i32 %t92, 0
br i1 %t93, label %then21, label %ifend23
then21:
call void @fn_emit(ptr @.str8146)
br label %ifend23
ifend23:
call void @fn_emit_calls_for_phase(ptr @.str8147)
%t94 = call ptr @fn_find_event(ptr @.str8148)
%t95 = icmp ne ptr %t94, null
%t96 = zext i1 %t95 to i32
%t97 = icmp ne i32 %t96, 0
br i1 %t97, label %then24, label %ifend26
then24:
call void @fn_emit(ptr @.str8149)
br label %ifend26
ifend26:
%t98 = call ptr @fn_find_fn(ptr @.str8150)
%t99 = icmp ne ptr %t98, null
%t100 = zext i1 %t99 to i32
%t101 = icmp ne i32 %t100, 0
br i1 %t101, label %then27, label %ifend29
then27:
call void @fn_emit(ptr @.str8151)
br label %ifend29
ifend29:
call void @fn_emit(ptr @.str8152)
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 void @fn_emit_machine(ptr %arg_st) {
entry:
%t0 = alloca ptr
%t5 = alloca ptr
%t6 = alloca ptr
%t22 = alloca ptr
%t65 = alloca ptr
%t66 = alloca i32
%t84 = alloca ptr
%t89 = alloca ptr
%t98 = alloca ptr
%t100 = alloca ptr
%t102 = alloca ptr
store ptr %arg_st, ptr %t0
%t1 = load ptr, ptr %t0
%t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 4
%t3 = load ptr, ptr %t2
%t4 = call ptr @fn_machine_var(ptr %t3)
store ptr %t4, ptr %t5
store ptr @.str8153, ptr %t6
%t7 = load ptr, ptr %t5
%t8 = icmp ne ptr %t7, null
%t9 = zext i1 %t8 to i32
%t10 = icmp ne i32 %t9, 0
br i1 %t10, label %then0, label %else1
then0:
%t11 = load ptr, ptr %t0
%t12 = getelementptr inbounds %Cmp_Node, ptr %t11, i32 0, i32 4
%t13 = load ptr, ptr %t12
%t14 = getelementptr inbounds %Cmp_Node, ptr %t13, i32 0, i32 1
%t15 = load ptr, ptr %t14
%t16 = call ptr @fn_str_concat(ptr @.str8154, ptr %t15)
%t17 = call ptr @fn_emit_bind(ptr %t16)
store ptr %t17, ptr %t6
br label %ifend2
else1:
%t18 = load ptr, ptr %t0
%t19 = getelementptr inbounds %Cmp_Node, ptr %t18, i32 0, i32 4
%t20 = load ptr, ptr %t19
%t21 = call ptr @fn_emit_expr(ptr %t20)
store ptr %t21, ptr %t22
%t23 = load ptr, ptr %t22
%t24 = getelementptr inbounds %Cmp_Val, ptr %t23, i32 0, i32 0
%t25 = load ptr, ptr %t24
%t26 = call ptr @fn_str_concat(ptr @.str8155, ptr %t25)
%t27 = call ptr @fn_str_concat(ptr %t26, ptr @.str8156)
%t28 = call ptr @fn_emit_bind(ptr %t27)
store ptr %t28, ptr %t6
br label %ifend2
ifend2:
%t29 = load i32, ptr @g_nmach
%t30 = load ptr, ptr @g_mach_stk
%t31 = getelementptr inbounds %LSlice, ptr %t30, i32 0, i32 1
%t32 = load i32, ptr %t31
%t33 = icmp slt i32 %t29, %t32
%t34 = zext i1 %t33 to i32
%t35 = icmp ne i32 %t34, 0
br i1 %t35, label %then3, label %else4
then3:
%t36 = load ptr, ptr @g_mach_stk
%t37 = getelementptr inbounds %LSlice, ptr %t36, i32 0, i32 0
%t38 = load ptr, ptr %t37
%t39 = load i32, ptr @g_nmach
%t40 = getelementptr inbounds ptr, ptr %t38, i32 %t39
%t41 = load ptr, ptr %t0
store ptr %t41, ptr %t40
br label %ifend5
else4:
%t42 = load ptr, ptr @g_mach_stk
%t43 = getelementptr inbounds %LSlice, ptr %t42, i32 0, i32 1
%t44 = getelementptr inbounds %LSlice, ptr %t42, i32 0, i32 2
%t45 = getelementptr inbounds %LSlice, ptr %t42, i32 0, i32 0
%t46 = load i32, ptr %t43
%t47 = load i32, ptr %t44
%t48 = icmp sge i32 %t46, %t47
br i1 %t48, label %grow6, label %put7
grow6:
%t49 = mul i32 %t47, 2
%t50 = icmp eq i32 %t47, 0
%t51 = select i1 %t50, i32 8, i32 %t49
%t52 = getelementptr ptr, ptr null, i32 1
%t53 = ptrtoint ptr %t52 to i64
%t54 = zext i32 %t51 to i64
%t55 = mul i64 %t54, %t53
%t56 = load ptr, ptr %t45
%t57 = call ptr @realloc(ptr %t56, i64 %t55)
store ptr %t57, ptr %t45
store i32 %t51, ptr %t44
br label %put7
put7:
%t58 = load ptr, ptr %t0
%t59 = load ptr, ptr %t45
%t60 = getelementptr inbounds ptr, ptr %t59, i32 %t46
store ptr %t58, ptr %t60
%t61 = add i32 %t46, 1
store i32 %t61, ptr %t43
br label %ifend5
ifend5:
%t62 = load i32, ptr @g_nmach
%t63 = add i32 %t62, 1
store i32 %t63, ptr @g_nmach
%t64 = call ptr @fn_lbl(ptr @.str8157)
store ptr %t64, ptr %t65
store i32 0, ptr %t66
br label %wcond8
wcond8:
%t67 = load i32, ptr %t66
%t68 = load ptr, ptr %t0
%t69 = getelementptr inbounds %Cmp_Node, ptr %t68, i32 0, i32 7
%t70 = load ptr, ptr %t69
%t71 = getelementptr inbounds %LSlice, ptr %t70, i32 0, i32 1
%t72 = load i32, ptr %t71
%t73 = icmp slt i32 %t67, %t72
%t74 = zext i1 %t73 to i32
%t75 = icmp ne i32 %t74, 0
br i1 %t75, label %wbody9, label %wend10
wbody9:
%t76 = load ptr, ptr %t0
%t77 = getelementptr inbounds %Cmp_Node, ptr %t76, i32 0, i32 7
%t78 = load ptr, ptr %t77
%t79 = getelementptr inbounds %LSlice, ptr %t78, i32 0, i32 0
%t80 = load ptr, ptr %t79
%t81 = load i32, ptr %t66
%t82 = getelementptr inbounds ptr, ptr %t80, i32 %t81
%t83 = load ptr, ptr %t82
store ptr %t83, ptr %t84
%t85 = load ptr, ptr %t84
%t86 = getelementptr inbounds %Cmp_Node, ptr %t85, i32 0, i32 5
%t87 = load ptr, ptr %t86
%t88 = call ptr @fn_emit_expr(ptr %t87)
store ptr %t88, ptr %t89
%t90 = load ptr, ptr %t6
%t91 = call ptr @fn_str_concat(ptr @.str8158, ptr %t90)
%t92 = call ptr @fn_str_concat(ptr %t91, ptr @.str8159)
%t93 = load ptr, ptr %t89
%t94 = getelementptr inbounds %Cmp_Val, ptr %t93, i32 0, i32 0
%t95 = load ptr, ptr %t94
%t96 = call ptr @fn_str_concat(ptr %t92, ptr %t95)
%t97 = call ptr @fn_emit_bind(ptr %t96)
store ptr %t97, ptr %t98
%t99 = call ptr @fn_lbl(ptr @.str8160)
store ptr %t99, ptr %t100
%t101 = call ptr @fn_lbl(ptr @.str8161)
store ptr %t101, ptr %t102
call void @fn_emit(ptr @.str8162)
%t103 = load ptr, ptr %t98
call void @fn_emit(ptr %t103)
call void @fn_emit(ptr @.str8163)
%t104 = load ptr, ptr %t100
call void @fn_emit(ptr %t104)
call void @fn_emit(ptr @.str8164)
%t105 = load ptr, ptr %t102
call void @fn_emit(ptr %t105)
call void @fn_emit(ptr @.str8165)
%t106 = load ptr, ptr %t100
call void @fn_emit(ptr %t106)
call void @fn_emit(ptr @.str8166)
store i32 0, ptr @g_g_term
%t107 = load ptr, ptr %t84
%t108 = getelementptr inbounds %Cmp_Node, ptr %t107, i32 0, i32 4
%t109 = load ptr, ptr %t108
call void @fn_emit_block(ptr %t109)
%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 %then11, label %ifend13
then11:
call void @fn_emit(ptr @.str8167)
%t114 = load ptr, ptr %t65
call void @fn_emit(ptr %t114)
call void @fn_emit(ptr @.str8168)
br label %ifend13
ifend13:
%t115 = load ptr, ptr %t102
call void @fn_emit(ptr %t115)
call void @fn_emit(ptr @.str8169)
store i32 0, ptr @g_g_term
%t116 = load i32, ptr %t66
%t117 = add i32 %t116, 1
store i32 %t117, ptr %t66
br label %wcond8
wend10:
%t118 = load i32, ptr @g_g_term
%t119 = icmp eq i32 %t118, 0
%t120 = zext i1 %t119 to i32
%t121 = icmp ne i32 %t120, 0
br i1 %t121, label %then14, label %ifend16
then14:
call void @fn_emit(ptr @.str8170)
%t122 = load ptr, ptr %t65
call void @fn_emit(ptr %t122)
call void @fn_emit(ptr @.str8171)
br label %ifend16
ifend16:
%t123 = load ptr, ptr %t65
call void @fn_emit(ptr %t123)
call void @fn_emit(ptr @.str8172)
store i32 0, ptr @g_g_term
%t124 = load i32, ptr @g_nmach
%t125 = sub i32 %t124, 1
store i32 %t125, ptr @g_nmach
br label %ret
ret:
ret void
}
define void @fn_emit_become(ptr %arg_st) {
entry:
%t0 = alloca ptr
%t12 = alloca ptr
%t13 = alloca ptr
%t14 = alloca i32
%t57 = alloca ptr
%t62 = alloca ptr
%t79 = alloca ptr
%t90 = alloca ptr
store ptr %arg_st, ptr %t0
%t1 = load i32, ptr @g_nmach
%t2 = icmp sgt i32 %t1, 0
%t3 = zext i1 %t2 to i32
%t4 = icmp ne i32 %t3, 0
br i1 %t4, label %then0, label %ifend2
then0:
%t5 = load ptr, ptr @g_mach_stk
%t6 = getelementptr inbounds %LSlice, ptr %t5, i32 0, i32 0
%t7 = load ptr, ptr %t6
%t8 = load i32, ptr @g_nmach
%t9 = sub i32 %t8, 1
%t10 = getelementptr inbounds ptr, ptr %t7, i32 %t9
%t11 = load ptr, ptr %t10
store ptr %t11, ptr %t12
store ptr null, ptr %t13
store i32 0, ptr %t14
br label %wcond3
wcond3:
%t15 = load i32, ptr %t14
%t16 = load ptr, ptr %t12
%t17 = getelementptr inbounds %Cmp_Node, ptr %t16, i32 0, i32 7
%t18 = load ptr, ptr %t17
%t19 = getelementptr inbounds %LSlice, ptr %t18, i32 0, i32 1
%t20 = load i32, ptr %t19
%t21 = icmp slt i32 %t15, %t20
%t22 = zext i1 %t21 to i32
%t23 = icmp ne i32 %t22, 0
br i1 %t23, label %wbody4, label %wend5
wbody4:
%t24 = load ptr, ptr %t12
%t25 = getelementptr inbounds %Cmp_Node, ptr %t24, i32 0, i32 7
%t26 = load ptr, ptr %t25
%t27 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 0
%t28 = load ptr, ptr %t27
%t29 = load i32, ptr %t14
%t30 = getelementptr inbounds ptr, ptr %t28, i32 %t29
%t31 = load ptr, ptr %t30
%t32 = getelementptr inbounds %Cmp_Node, ptr %t31, i32 0, i32 1
%t33 = load ptr, ptr %t32
%t34 = load ptr, ptr %t0
%t35 = getelementptr inbounds %Cmp_Node, ptr %t34, i32 0, i32 1
%t36 = load ptr, ptr %t35
%t37 = call i32 @fn_str_eq(ptr %t33, ptr %t36)
%t38 = icmp ne i32 %t37, 0
br i1 %t38, label %then6, label %ifend8
then6:
%t39 = load ptr, ptr %t12
%t40 = getelementptr inbounds %Cmp_Node, ptr %t39, i32 0, i32 7
%t41 = load ptr, ptr %t40
%t42 = getelementptr inbounds %LSlice, ptr %t41, i32 0, i32 0
%t43 = load ptr, ptr %t42
%t44 = load i32, ptr %t14
%t45 = getelementptr inbounds ptr, ptr %t43, i32 %t44
%t46 = load ptr, ptr %t45
store ptr %t46, ptr %t13
br label %ifend8
ifend8:
%t47 = load i32, ptr %t14
%t48 = add i32 %t47, 1
store i32 %t48, ptr %t14
br label %wcond3
wend5:
%t49 = load ptr, ptr %t13
%t50 = icmp ne ptr %t49, null
%t51 = zext i1 %t50 to i32
%t52 = icmp ne i32 %t51, 0
br i1 %t52, label %then9, label %ifend11
then9:
%t53 = load ptr, ptr %t12
%t54 = getelementptr inbounds %Cmp_Node, ptr %t53, i32 0, i32 4
%t55 = load ptr, ptr %t54
%t56 = call ptr @fn_machine_var(ptr %t55)
store ptr %t56, ptr %t57
%t58 = load ptr, ptr %t13
%t59 = getelementptr inbounds %Cmp_Node, ptr %t58, i32 0, i32 5
%t60 = load ptr, ptr %t59
%t61 = call ptr @fn_emit_expr(ptr %t60)
store ptr %t61, ptr %t62
%t63 = load ptr, ptr %t57
%t64 = icmp ne ptr %t63, null
%t65 = zext i1 %t64 to i32
%t66 = icmp ne i32 %t65, 0
br i1 %t66, label %then12, label %else13
then12:
call void @fn_emit(ptr @.str8173)
%t67 = load ptr, ptr %t62
%t68 = getelementptr inbounds %Cmp_Val, ptr %t67, i32 0, i32 0
%t69 = load ptr, ptr %t68
call void @fn_emit(ptr %t69)
call void @fn_emit(ptr @.str8174)
%t70 = load ptr, ptr %t12
%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 %t73
call void @fn_emit(ptr %t74)
call void @fn_emit(ptr @.str8175)
br label %ifend14
else13:
%t75 = load ptr, ptr %t12
%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
call void @fn_emit(ptr @.str8176)
%t80 = load ptr, ptr %t79
%t81 = getelementptr inbounds %Cmp_Val, ptr %t80, i32 0, i32 0
%t82 = load ptr, ptr %t81
call void @fn_emit(ptr %t82)
call void @fn_emit(ptr @.str8177)
%t83 = load ptr, ptr %t62
%t84 = getelementptr inbounds %Cmp_Val, ptr %t83, i32 0, i32 0
%t85 = load ptr, ptr %t84
call void @fn_emit(ptr %t85)
call void @fn_emit(ptr @.str8178)
br label %ifend14
ifend14:
br label %ret
ifend11:
br label %ifend2
ifend2:
%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_find_scene(ptr %t88)
store ptr %t89, ptr %t90
%t91 = load ptr, ptr %t90
%t92 = icmp eq ptr %t91, null
%t93 = zext i1 %t92 to i32
%t94 = icmp ne i32 %t93, 0
br i1 %t94, label %then15, label %ifend17
then15:
%t95 = load ptr, ptr %t0
%t96 = getelementptr inbounds %Cmp_Node, ptr %t95, i32 0, i32 1
%t97 = load ptr, ptr %t96
%t98 = call ptr @fn_str_concat(ptr @.str8179, ptr %t97)
call void @fn_perr(ptr %t98)
br label %ifend17
ifend17:
%t99 = load ptr, ptr @g_g_cur_scene
%t100 = icmp ne ptr %t99, null
%t101 = zext i1 %t100 to i32
%t102 = icmp ne i32 %t101, 0
br i1 %t102, label %then18, label %ifend20
then18:
call void @fn_emit(ptr @.str8180)
%t103 = load ptr, ptr @g_g_cur_scene
%t104 = getelementptr inbounds %Cmp_Node, ptr %t103, i32 0, i32 1
%t105 = load ptr, ptr %t104
call void @fn_emit(ptr %t105)
call void @fn_emit(ptr @.str8181)
br label %ifend20
ifend20:
call void @fn_emit(ptr @.str8182)
%t106 = load ptr, ptr %t90
%t107 = getelementptr inbounds %Cmp_Node, ptr %t106, i32 0, i32 2
%t108 = load i32, ptr %t107
%t109 = call ptr @fn_itoa(i32 %t108)
call void @fn_emit(ptr %t109)
call void @fn_emit(ptr @.str8183)
call void @fn_emit(ptr @.str8184)
%t110 = load ptr, ptr %t90
%t111 = getelementptr inbounds %Cmp_Node, ptr %t110, i32 0, i32 1
%t112 = load ptr, ptr %t111
call void @fn_emit(ptr %t112)
call void @fn_emit(ptr @.str8185)
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 @fn_str_eq(ptr %t3, ptr @.str8186)
%t5 = icmp ne i32 %t4, 0
br i1 %t5, label %then0, label %ifend2
then0:
%t6 = load i32, ptr @g_g_iok
%t7 = call ptr @fn_itoa(i32 %t6)
%t8 = call ptr @fn_str_concat(ptr @.str8187, ptr %t7)
store ptr %t8, ptr %t9
%t10 = load i32, ptr @g_g_iok
%t11 = add i32 %t10, 1
store i32 %t11, ptr @g_g_iok
call void @fn_emit(ptr @.str8188)
%t12 = load ptr, ptr %t9
call void @fn_emit(ptr %t12)
call void @fn_emit(ptr @.str8189)
%t13 = load ptr, ptr %t0
call void @fn_emit(ptr %t13)
call void @fn_emit(ptr @.str8190)
%t14 = load ptr, ptr %t1
call void @fn_emit(ptr %t14)
call void @fn_emit(ptr @.str8191)
%t15 = load ptr, ptr %t2
call void @fn_emit(ptr %t15)
call void @fn_emit(ptr @.str8192)
br label %ret
ifend2:
%t16 = load ptr, ptr @g_g_snap_mode
%t17 = call i32 @fn_str_eq(ptr %t16, ptr @.str8193)
%t18 = icmp ne i32 %t17, 0
br i1 %t18, label %then3, label %ifend5
then3:
%t19 = load i32, ptr @g_g_iok
%t20 = call ptr @fn_itoa(i32 %t19)
%t21 = call ptr @fn_str_concat(ptr @.str8194, ptr %t20)
store ptr %t21, ptr %t22
call void @fn_emit(ptr @.str8195)
%t23 = load ptr, ptr %t22
call void @fn_emit(ptr %t23)
call void @fn_emit(ptr @.str8196)
%t24 = load ptr, ptr @g_g_off
call void @fn_emit(ptr %t24)
call void @fn_emit(ptr @.str8197)
%t25 = load ptr, ptr %t2
call void @fn_emit(ptr %t25)
call void @fn_emit(ptr @.str8198)
%t26 = load ptr, ptr %t22
store ptr %t26, ptr @g_g_off
%t27 = load i32, ptr @g_g_iok
%t28 = add i32 %t27, 1
store i32 %t28, ptr @g_g_iok
br label %ret
ifend5:
%t29 = load i32, ptr @g_g_iok
%t30 = call ptr @fn_itoa(i32 %t29)
%t31 = call ptr @fn_str_concat(ptr @.str8199, ptr %t30)
store ptr %t31, ptr %t32
call void @fn_emit(ptr @.str8200)
%t33 = load ptr, ptr %t32
call void @fn_emit(ptr %t33)
call void @fn_emit(ptr @.str8201)
%t34 = load ptr, ptr @g_g_off
call void @fn_emit(ptr %t34)
call void @fn_emit(ptr @.str8202)
%t35 = load ptr, ptr @g_g_snap_mode
%t36 = call i32 @fn_str_eq(ptr %t35, ptr @.str8203)
%t37 = icmp ne i32 %t36, 0
br i1 %t37, label %then6, label %else7
then6:
call void @fn_emit(ptr @.str8204)
%t38 = load ptr, ptr %t32
call void @fn_emit(ptr %t38)
call void @fn_emit(ptr @.str8205)
%t39 = load ptr, ptr %t1
call void @fn_emit(ptr %t39)
call void @fn_emit(ptr @.str8206)
%t40 = load ptr, ptr %t2
call void @fn_emit(ptr %t40)
call void @fn_emit(ptr @.str8207)
br label %ifend8
else7:
call void @fn_emit(ptr @.str8208)
%t41 = load ptr, ptr %t1
call void @fn_emit(ptr %t41)
call void @fn_emit(ptr @.str8209)
%t42 = load ptr, ptr %t32
call void @fn_emit(ptr %t42)
call void @fn_emit(ptr @.str8210)
%t43 = load ptr, ptr %t2
call void @fn_emit(ptr %t43)
call void @fn_emit(ptr @.str8211)
br label %ifend8
ifend8:
%t44 = load i32, ptr @g_g_iok
%t45 = call ptr @fn_itoa(i32 %t44)
%t46 = call ptr @fn_str_concat(ptr @.str8212, ptr %t45)
store ptr %t46, ptr %t47
call void @fn_emit(ptr @.str8213)
%t48 = load ptr, ptr %t47
call void @fn_emit(ptr %t48)
call void @fn_emit(ptr @.str8214)
%t49 = load ptr, ptr @g_g_off
call void @fn_emit(ptr %t49)
call void @fn_emit(ptr @.str8215)
%t50 = load ptr, ptr %t2
call void @fn_emit(ptr %t50)
call void @fn_emit(ptr @.str8216)
%t51 = load ptr, ptr %t47
store ptr %t51, ptr @g_g_off
%t52 = load i32, ptr @g_g_iok
%t53 = add i32 %t52, 1
store i32 %t53, ptr @g_g_iok
br label %ret
ret:
ret void
}
define void @fn_emit_snapshot_blocks(ptr %arg_fn2) {
entry:
%t0 = alloca ptr
%t2 = alloca ptr
%t12 = alloca i32
%t43 = alloca i32
%t70 = alloca ptr
%t74 = alloca ptr
store ptr %arg_fn2, ptr %t0
store i32 0, ptr @g_g_iok
store ptr @.str8217, ptr @g_g_off
%t1 = call ptr @fn_itoa(i32 1024)
store ptr %t1, ptr %t2
%t3 = load ptr, ptr %t0
call void @fn_emit_io(ptr %t3, ptr @.str8218, ptr @.str8219)
%t4 = load ptr, ptr %t0
call void @fn_emit_io(ptr %t4, ptr @.str8220, ptr @.str8221)
call void @fn_emit(ptr @.str8222)
%t5 = load ptr, ptr %t2
call void @fn_emit(ptr %t5)
call void @fn_emit(ptr @.str8223)
%t6 = load ptr, ptr %t0
call void @fn_emit_io(ptr %t6, ptr @.str8224, ptr @.str8225)
%t7 = load ptr, ptr %t0
call void @fn_emit_io(ptr %t7, ptr @.str8226, ptr @.str8227)
%t8 = load ptr, ptr %t0
call void @fn_emit_io(ptr %t8, ptr @.str8228, ptr @.str8229)
%t9 = call i32 @fn_net_has_owned()
%t10 = icmp ne i32 %t9, 0
br i1 %t10, label %then0, label %ifend2
then0:
%t11 = load ptr, ptr %t0
call void @fn_emit_io(ptr %t11, ptr @.str8230, ptr @.str8231)
br label %ifend2
ifend2:
store i32 0, ptr %t12
br label %wcond3
wcond3:
%t13 = load i32, ptr %t12
%t14 = load ptr, ptr @g_prog
%t15 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 1
%t16 = load i32, ptr %t15
%t17 = icmp slt i32 %t13, %t16
%t18 = zext i1 %t17 to i32
%t19 = icmp ne i32 %t18, 0
br i1 %t19, label %wbody4, label %wend5
wbody4:
%t20 = load ptr, ptr @g_prog
%t21 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 0
%t22 = load ptr, ptr %t21
%t23 = load i32, ptr %t12
%t24 = getelementptr inbounds ptr, ptr %t22, i32 %t23
%t25 = load ptr, ptr %t24
%t26 = getelementptr inbounds %Cmp_Node, ptr %t25, i32 0, i32 0
%t27 = load i32, ptr %t26
%t28 = icmp eq i32 %t27, 2
%t29 = zext i1 %t28 to i32
%t30 = icmp ne i32 %t29, 0
br i1 %t30, label %then6, label %ifend8
then6:
%t31 = load ptr, ptr %t0
%t32 = load ptr, ptr @g_prog
%t33 = getelementptr inbounds %LSlice, ptr %t32, i32 0, i32 0
%t34 = load ptr, ptr %t33
%t35 = load i32, ptr %t12
%t36 = getelementptr inbounds ptr, ptr %t34, i32 %t35
%t37 = load ptr, ptr %t36
%t38 = getelementptr inbounds %Cmp_Node, ptr %t37, i32 0, i32 1
%t39 = load ptr, ptr %t38
%t40 = call ptr @fn_str_concat(ptr @.str8232, ptr %t39)
call void @fn_emit_io(ptr %t31, ptr %t40, ptr @.str8233)
br label %ifend8
ifend8:
%t41 = load i32, ptr %t12
%t42 = add i32 %t41, 1
store i32 %t42, ptr %t12
br label %wcond3
wend5:
store i32 0, ptr %t43
store i32 0, ptr %t12
br label %wcond9
wcond9:
%t44 = load i32, ptr %t12
%t45 = load ptr, ptr @g_prog
%t46 = getelementptr inbounds %LSlice, ptr %t45, i32 0, i32 1
%t47 = load i32, ptr %t46
%t48 = icmp slt i32 %t44, %t47
%t49 = zext i1 %t48 to i32
%t50 = icmp ne i32 %t49, 0
br i1 %t50, label %wbody10, label %wend11
wbody10:
%t51 = load ptr, ptr @g_prog
%t52 = getelementptr inbounds %LSlice, ptr %t51, i32 0, i32 0
%t53 = load ptr, ptr %t52
%t54 = load i32, ptr %t12
%t55 = getelementptr inbounds ptr, ptr %t53, i32 %t54
%t56 = load ptr, ptr %t55
%t57 = getelementptr inbounds %Cmp_Node, ptr %t56, i32 0, i32 0
%t58 = load i32, ptr %t57
%t59 = icmp eq i32 %t58, 8
%t60 = zext i1 %t59 to i32
%t61 = icmp ne i32 %t60, 0
br i1 %t61, label %then12, label %ifend14
then12:
%t62 = load ptr, ptr @g_prog
%t63 = getelementptr inbounds %LSlice, ptr %t62, i32 0, i32 0
%t64 = load ptr, ptr %t63
%t65 = load i32, ptr %t12
%t66 = getelementptr inbounds ptr, ptr %t64, i32 %t65
%t67 = load ptr, ptr %t66
%t68 = getelementptr inbounds %Cmp_Node, ptr %t67, i32 0, i32 1
%t69 = load ptr, ptr %t68
store ptr %t69, ptr %t70
%t71 = load i32, ptr %t43
%t72 = call ptr @fn_itoa(i32 %t71)
%t73 = call ptr @fn_str_concat(ptr @.str8234, ptr %t72)
store ptr %t73, ptr %t74
call void @fn_emit(ptr @.str8235)
%t75 = load ptr, ptr %t74
call void @fn_emit(ptr %t75)
call void @fn_emit(ptr @.str8236)
%t76 = load ptr, ptr %t70
call void @fn_emit(ptr %t76)
call void @fn_emit(ptr @.str8237)
%t77 = load ptr, ptr %t2
call void @fn_emit(ptr %t77)
call void @fn_emit(ptr @.str8238)
%t78 = load ptr, ptr %t0
%t79 = load ptr, ptr %t70
%t80 = call ptr @fn_str_concat(ptr @.str8239, ptr %t79)
%t81 = load ptr, ptr %t74
call void @fn_emit_io(ptr %t78, ptr %t80, ptr %t81)
%t82 = load ptr, ptr %t0
%t83 = load ptr, ptr %t70
%t84 = call ptr @fn_str_concat(ptr @.str8240, ptr %t83)
%t85 = load ptr, ptr %t2
call void @fn_emit_io(ptr %t82, ptr %t84, ptr %t85)
%t86 = load i32, ptr %t43
%t87 = add i32 %t86, 1
store i32 %t87, ptr %t43
br label %ifend14
ifend14:
%t88 = load i32, ptr %t12
%t89 = add i32 %t88, 1
store i32 %t89, ptr %t12
br label %wcond9
wend11:
br label %ret
ret:
ret void
}
define void @fn_emit_snapshot() {
entry:
%t3 = alloca i32
%t7 = alloca i32
%t15 = alloca ptr
%t22 = alloca ptr
store ptr @.str8241, ptr @g_g_snap_mode
call void @fn_emith(ptr @.str8242)
call void @fn_emith(ptr @.str8243)
call void @fn_emith(ptr @.str8244)
%t0 = call ptr @fn_find_fn(ptr @.str8245)
%t1 = icmp ne ptr %t0, null
%t2 = zext i1 %t1 to i32
store i32 %t2, ptr %t3
%t4 = call ptr @fn_find_fn(ptr @.str8246)
%t5 = icmp ne ptr %t4, null
%t6 = zext i1 %t5 to i32
store i32 %t6, ptr %t7
call void @fn_emit(ptr @.str8247)
call void @fn_emit(ptr @.str8248)
call void @fn_emit(ptr @.str8249)
call void @fn_emit(ptr @.str8250)
call void @fn_emit_snapshot_blocks(ptr @.str8251)
%t8 = load i32, ptr %t3
%t9 = icmp ne i32 %t8, 0
br i1 %t9, label %then0, label %ifend2
then0:
call void @fn_emit(ptr @.str8252)
br label %ifend2
ifend2:
call void @fn_emit(ptr @.str8253)
call void @fn_emit(ptr @.str8254)
call void @fn_emit(ptr @.str8255)
call void @fn_emit(ptr @.str8256)
call void @fn_emit(ptr @.str8257)
call void @fn_emit_snapshot_blocks(ptr @.str8258)
%t10 = load i32, ptr %t7
%t11 = icmp ne i32 %t10, 0
br i1 %t11, label %then3, label %ifend5
then3:
call void @fn_emit(ptr @.str8259)
br label %ifend5
ifend5:
call void @fn_emit(ptr @.str8260)
call void @fn_emit(ptr @.str8261)
store ptr @.str8262, ptr @g_g_snap_mode
call void @fn_emit_snapshot_blocks(ptr @.str8263)
%t12 = load i32, ptr @g_g_iok
%t13 = call ptr @fn_itoa(i32 %t12)
%t14 = call ptr @fn_str_concat(ptr @.str8264, ptr %t13)
store ptr %t14, ptr %t15
call void @fn_emit(ptr @.str8265)
%t16 = load ptr, ptr %t15
call void @fn_emit(ptr %t16)
call void @fn_emit(ptr @.str8266)
%t17 = load ptr, ptr @g_g_off
call void @fn_emit(ptr %t17)
call void @fn_emit(ptr @.str8267)
call void @fn_emit(ptr @.str8268)
%t18 = load ptr, ptr %t15
call void @fn_emit(ptr %t18)
call void @fn_emit(ptr @.str8269)
call void @fn_emit(ptr @.str8270)
store ptr @.str8271, ptr @g_g_snap_mode
call void @fn_emit_snapshot_blocks(ptr @.str8272)
call void @fn_emit(ptr @.str8273)
call void @fn_emit(ptr @.str8274)
store ptr @.str8275, ptr @g_g_snap_mode
call void @fn_emit_snapshot_blocks(ptr @.str8276)
%t19 = load i32, ptr @g_g_iok
%t20 = call ptr @fn_itoa(i32 %t19)
%t21 = call ptr @fn_str_concat(ptr @.str8277, ptr %t20)
store ptr %t21, ptr %t22
call void @fn_emit(ptr @.str8278)
%t23 = load ptr, ptr %t22
call void @fn_emit(ptr %t23)
call void @fn_emit(ptr @.str8279)
%t24 = load ptr, ptr @g_g_off
call void @fn_emit(ptr %t24)
call void @fn_emit(ptr @.str8280)
call void @fn_emit(ptr @.str8281)
%t25 = load ptr, ptr %t22
call void @fn_emit(ptr %t25)
call void @fn_emit(ptr @.str8282)
store ptr @.str8283, 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 @fn_str_eq(ptr %t2, ptr @.str8284)
%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 @fn_str_eq(ptr %t2, ptr @.str8285)
%t4 = icmp ne i32 %t3, 0
br i1 %t4, label %then0, label %ifend2
then0:
store ptr @.str8286, ptr %retval
br label %ret
ifend2:
store ptr @.str8287, ptr %retval
br label %ret
ret:
%t5 = load ptr, ptr %retval
ret ptr %t5
}
define i32 @fn_net_model_bytes(ptr %arg_m) {
entry:
%retval = alloca i32
%t0 = alloca ptr
%t1 = alloca i32
%t2 = alloca i32
%t36 = alloca ptr
%t41 = alloca i32
store ptr %arg_m, ptr %t0
store i32 0, ptr %t1
store i32 0, ptr %t2
br label %wcond0
wcond0:
%t3 = load i32, ptr %t2
%t4 = load ptr, ptr %t0
%t5 = getelementptr inbounds %Cmp_Node, ptr %t4, i32 0, i32 7
%t6 = load ptr, ptr %t5
%t7 = getelementptr inbounds %LSlice, ptr %t6, i32 0, i32 1
%t8 = load i32, ptr %t7
%t9 = icmp slt i32 %t3, %t8
%t10 = zext i1 %t9 to i32
%t11 = icmp ne i32 %t10, 0
br i1 %t11, label %wbody1, label %wend2
wbody1:
%t12 = load ptr, ptr %t0
%t13 = getelementptr inbounds %Cmp_Node, ptr %t12, i32 0, i32 7
%t14 = load ptr, ptr %t13
%t15 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 0
%t16 = load ptr, ptr %t15
%t17 = load i32, ptr %t2
%t18 = getelementptr inbounds ptr, ptr %t16, i32 %t17
%t19 = load ptr, ptr %t18
%t20 = getelementptr inbounds %Cmp_Node, ptr %t19, i32 0, i32 2
%t21 = load i32, ptr %t20
%t22 = icmp eq i32 %t21, 1
%t23 = zext i1 %t22 to i32
%t24 = icmp ne i32 %t23, 0
br i1 %t24, label %then3, label %ifend5
then3:
%t25 = load ptr, ptr %t0
%t26 = getelementptr inbounds %Cmp_Node, ptr %t25, i32 0, i32 7
%t27 = load ptr, ptr %t26
%t28 = getelementptr inbounds %LSlice, ptr %t27, i32 0, i32 0
%t29 = load ptr, ptr %t28
%t30 = load i32, ptr %t2
%t31 = getelementptr inbounds ptr, ptr %t29, i32 %t30
%t32 = load ptr, ptr %t31
%t33 = getelementptr inbounds %Cmp_Node, ptr %t32, i32 0, i32 1
%t34 = load ptr, ptr %t33
%t35 = call ptr @fn_find_comp(ptr %t34)
store ptr %t35, ptr %t36
%t37 = load ptr, ptr %t36
%t38 = icmp ne ptr %t37, null
%t39 = zext i1 %t38 to i32
%t40 = icmp ne i32 %t39, 0
br i1 %t40, label %then6, label %ifend8
then6:
store i32 0, ptr %t41
br label %wcond9
wcond9:
%t42 = load i32, ptr %t41
%t43 = load ptr, ptr %t36
%t44 = getelementptr inbounds %Cmp_Node, ptr %t43, i32 0, i32 7
%t45 = load ptr, ptr %t44
%t46 = getelementptr inbounds %LSlice, ptr %t45, i32 0, i32 1
%t47 = load i32, ptr %t46
%t48 = icmp slt i32 %t42, %t47
%t49 = zext i1 %t48 to i32
%t50 = icmp ne i32 %t49, 0
br i1 %t50, label %wbody10, label %wend11
wbody10:
%t51 = load ptr, ptr %t36
%t52 = getelementptr inbounds %Cmp_Node, ptr %t51, i32 0, i32 7
%t53 = load ptr, ptr %t52
%t54 = getelementptr inbounds %LSlice, ptr %t53, i32 0, i32 0
%t55 = load ptr, ptr %t54
%t56 = load i32, ptr %t41
%t57 = getelementptr inbounds ptr, ptr %t55, i32 %t56
%t58 = load ptr, ptr %t57
%t59 = getelementptr inbounds %Cmp_Node, ptr %t58, i32 0, i32 2
%t60 = load i32, ptr %t59
%t61 = icmp eq i32 %t60, 1
%t62 = zext i1 %t61 to i32
%t63 = icmp ne i32 %t62, 0
br i1 %t63, label %then12, label %ifend14
then12:
%t64 = load i32, ptr %t1
%t65 = load ptr, ptr %t36
%t66 = getelementptr inbounds %Cmp_Node, ptr %t65, i32 0, i32 7
%t67 = load ptr, ptr %t66
%t68 = getelementptr inbounds %LSlice, ptr %t67, i32 0, i32 0
%t69 = load ptr, ptr %t68
%t70 = load i32, ptr %t41
%t71 = getelementptr inbounds ptr, ptr %t69, i32 %t70
%t72 = load ptr, ptr %t71
%t73 = getelementptr inbounds %Cmp_Node, ptr %t72, i32 0, i32 3
%t74 = load ptr, ptr %t73
%t75 = call i32 @fn_net_field_ibytes(ptr %t74)
%t76 = add i32 %t64, %t75
store i32 %t76, ptr %t1
br label %ifend14
ifend14:
%t77 = load i32, ptr %t41
%t78 = add i32 %t77, 1
store i32 %t78, ptr %t41
br label %wcond9
wend11:
br label %ifend8
ifend8:
br label %ifend5
ifend5:
%t79 = load i32, ptr %t2
%t80 = add i32 %t79, 1
store i32 %t80, ptr %t2
br label %wcond0
wend2:
%t81 = load i32, ptr %t1
store i32 %t81, ptr %retval
br label %ret
ret:
%t82 = load i32, ptr %retval
ret i32 %t82
}
define i32 @fn_net_model_syncs(ptr %arg_m) {
entry:
%retval = alloca i32
%t0 = alloca ptr
store ptr %arg_m, ptr %t0
%t1 = load ptr, ptr %t0
%t2 = call i32 @fn_net_model_bytes(ptr %t1)
%t3 = icmp sgt i32 %t2, 0
%t4 = zext i1 %t3 to i32
store i32 %t4, ptr %retval
br label %ret
ret:
%t5 = load i32, ptr %retval
ret i32 %t5
}
define i32 @fn_net_has_sync() {
entry:
%retval = alloca i32
%t0 = alloca i32
store i32 0, ptr %t0
br label %wcond0
wcond0:
%t1 = load i32, ptr %t0
%t2 = load ptr, ptr @g_prog
%t3 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 1
%t4 = load i32, ptr %t3
%t5 = icmp slt i32 %t1, %t4
%t6 = zext i1 %t5 to i32
%t7 = icmp ne i32 %t6, 0
br i1 %t7, label %wbody1, label %wend2
wbody1:
%t8 = load ptr, ptr @g_prog
%t9 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 0
%t10 = load ptr, ptr %t9
%t11 = load i32, ptr %t0
%t12 = getelementptr inbounds ptr, ptr %t10, i32 %t11
%t13 = load ptr, ptr %t12
%t14 = getelementptr inbounds %Cmp_Node, ptr %t13, i32 0, i32 0
%t15 = load i32, ptr %t14
%t16 = icmp eq i32 %t15, 10
%t17 = zext i1 %t16 to i32
%t18 = icmp ne i32 %t17, 0
br i1 %t18, label %then3, label %ifend5
then3:
%t19 = load ptr, ptr @g_prog
%t20 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 0
%t21 = load ptr, ptr %t20
%t22 = load i32, ptr %t0
%t23 = getelementptr inbounds ptr, ptr %t21, i32 %t22
%t24 = load ptr, ptr %t23
%t25 = call i32 @fn_net_model_syncs(ptr %t24)
%t26 = icmp ne i32 %t25, 0
br i1 %t26, label %then6, label %ifend8
then6:
store i32 1, ptr %retval
br label %ret
ifend8:
br label %ifend5
ifend5:
%t27 = load i32, ptr %t0
%t28 = add i32 %t27, 1
store i32 %t28, ptr %t0
br label %wcond0
wend2:
store i32 0, ptr %retval
br label %ret
ret:
%t29 = load i32, ptr %retval
ret i32 %t29
}
define i32 @fn_net_has_owned() {
entry:
%retval = alloca i32
%t0 = alloca i32
%t8 = alloca i32
store i32 0, ptr %t0
br label %wcond0
wcond0:
%t1 = load i32, ptr %t0
%t2 = load ptr, ptr @g_prog
%t3 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 1
%t4 = load i32, ptr %t3
%t5 = icmp slt i32 %t1, %t4
%t6 = zext i1 %t5 to i32
%t7 = icmp ne i32 %t6, 0
br i1 %t7, label %wbody1, label %wend2
wbody1:
%t9 = load ptr, ptr @g_prog
%t10 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0
%t11 = load ptr, ptr %t10
%t12 = load i32, ptr %t0
%t13 = getelementptr inbounds ptr, ptr %t11, i32 %t12
%t14 = load ptr, ptr %t13
%t15 = getelementptr inbounds %Cmp_Node, ptr %t14, i32 0, i32 0
%t16 = load i32, ptr %t15
%t17 = icmp eq i32 %t16, 10
%t18 = zext i1 %t17 to i32
%t19 = icmp ne i32 %t18, 0
%t20 = zext i1 %t19 to i32
store i32 %t20, ptr %t8
br i1 %t19, label %sc3, label %scend4
sc3:
%t21 = load ptr, ptr @g_prog
%t22 = getelementptr inbounds %LSlice, ptr %t21, i32 0, i32 0
%t23 = load ptr, ptr %t22
%t24 = load i32, ptr %t0
%t25 = getelementptr inbounds ptr, ptr %t23, i32 %t24
%t26 = load ptr, ptr %t25
%t27 = getelementptr inbounds %Cmp_Node, ptr %t26, i32 0, i32 2
%t28 = load i32, ptr %t27
%t29 = icmp eq i32 %t28, 1
%t30 = zext i1 %t29 to i32
%t31 = icmp ne i32 %t30, 0
%t32 = zext i1 %t31 to i32
store i32 %t32, ptr %t8
br label %scend4
scend4:
%t33 = load i32, ptr %t8
%t34 = icmp ne i32 %t33, 0
br i1 %t34, label %then5, label %ifend7
then5:
store i32 1, ptr %retval
br label %ret
ifend7:
%t35 = load i32, ptr %t0
%t36 = add i32 %t35, 1
store i32 %t36, ptr %t0
br label %wcond0
wend2:
store i32 0, ptr %retval
br label %ret
ret:
%t37 = load i32, ptr %retval
ret i32 %t37
}
define i32 @fn_net_has_role() {
entry:
%retval = alloca i32
%t0 = alloca i32
%t8 = alloca i32
store i32 0, ptr %t0
br label %wcond0
wcond0:
%t1 = load i32, ptr %t0
%t2 = load ptr, ptr @g_prog
%t3 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 1
%t4 = load i32, ptr %t3
%t5 = icmp slt i32 %t1, %t4
%t6 = zext i1 %t5 to i32
%t7 = icmp ne i32 %t6, 0
br i1 %t7, label %wbody1, label %wend2
wbody1:
%t9 = load ptr, ptr @g_prog
%t10 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0
%t11 = load ptr, ptr %t10
%t12 = load i32, ptr %t0
%t13 = getelementptr inbounds ptr, ptr %t11, i32 %t12
%t14 = load ptr, ptr %t13
%t15 = getelementptr inbounds %Cmp_Node, ptr %t14, i32 0, i32 0
%t16 = load i32, ptr %t15
%t17 = icmp eq i32 %t16, 9
%t18 = zext i1 %t17 to i32
%t19 = icmp ne i32 %t18, 0
%t20 = zext i1 %t19 to i32
store i32 %t20, ptr %t8
br i1 %t19, label %sc3, label %scend4
sc3:
%t21 = load ptr, ptr @g_prog
%t22 = getelementptr inbounds %LSlice, ptr %t21, i32 0, i32 0
%t23 = load ptr, ptr %t22
%t24 = load i32, ptr %t0
%t25 = getelementptr inbounds ptr, ptr %t23, i32 %t24
%t26 = load ptr, ptr %t25
%t27 = getelementptr inbounds %Cmp_Node, ptr %t26, i32 0, i32 2
%t28 = load i32, ptr %t27
%t29 = icmp ne i32 %t28, 0
%t30 = zext i1 %t29 to i32
%t31 = icmp ne i32 %t30, 0
%t32 = zext i1 %t31 to i32
store i32 %t32, ptr %t8
br label %scend4
scend4:
%t33 = load i32, ptr %t8
%t34 = icmp ne i32 %t33, 0
br i1 %t34, label %then5, label %ifend7
then5:
store i32 1, ptr %retval
br label %ret
ifend7:
%t35 = load i32, ptr %t0
%t36 = add i32 %t35, 1
store i32 %t36, ptr %t0
br label %wcond0
wend2:
store i32 0, ptr %retval
br label %ret
ret:
%t37 = load i32, ptr %retval
ret i32 %t37
}
define i32 @fn_net_any() {
entry:
%retval = alloca i32
%t0 = alloca i32
%t1 = alloca i32
%t2 = call i32 @fn_net_has_sync()
%t3 = icmp ne i32 %t2, 0
%t4 = zext i1 %t3 to i32
store i32 %t4, ptr %t1
br i1 %t3, label %scend1, label %sc0
sc0:
%t5 = call i32 @fn_net_has_owned()
%t6 = icmp ne i32 %t5, 0
%t7 = zext i1 %t6 to i32
store i32 %t7, ptr %t1
br label %scend1
scend1:
%t8 = load i32, ptr %t1
%t9 = icmp ne i32 %t8, 0
%t10 = zext i1 %t9 to i32
store i32 %t10, ptr %t0
br i1 %t9, label %scend3, label %sc2
sc2:
%t11 = call i32 @fn_net_has_role()
%t12 = icmp ne i32 %t11, 0
%t13 = zext i1 %t12 to i32
store i32 %t13, ptr %t0
br label %scend3
scend3:
%t14 = load i32, ptr %t0
store i32 %t14, ptr %retval
br label %ret
ret:
%t15 = load i32, ptr %retval
ret i32 %t15
}
define void @fn_net_warn(ptr %arg_msg) {
entry:
%t0 = alloca ptr
%t2 = alloca ptr
store ptr %arg_msg, ptr %t0
%t1 = load ptr, ptr @__stderrp
store ptr %t1, ptr %t2
%t3 = load ptr, ptr %t2
%t4 = zext i32 23 to i64
%t5 = call i64 @fwrite(ptr @.str8288, 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 @.str8289, i64 1, i64 %t16, ptr %t15)
%t18 = trunc i64 %t17 to i32
br label %ret
ret:
ret void
}
define void @fn_net_check() {
entry:
%t0 = alloca i32
%t25 = alloca ptr
%t26 = alloca i32
%t59 = alloca ptr
%t62 = alloca ptr
%t67 = alloca i32
%t68 = alloca i32
store i32 0, ptr %t0
br label %wcond0
wcond0:
%t1 = load i32, ptr %t0
%t2 = load ptr, ptr @g_prog
%t3 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 1
%t4 = load i32, ptr %t3
%t5 = icmp slt i32 %t1, %t4
%t6 = zext i1 %t5 to i32
%t7 = icmp ne i32 %t6, 0
br i1 %t7, label %wbody1, label %wend2
wbody1:
%t8 = load ptr, ptr @g_prog
%t9 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 0
%t10 = load ptr, ptr %t9
%t11 = load i32, ptr %t0
%t12 = getelementptr inbounds ptr, ptr %t10, i32 %t11
%t13 = load ptr, ptr %t12
%t14 = getelementptr inbounds %Cmp_Node, ptr %t13, i32 0, i32 0
%t15 = load i32, ptr %t14
%t16 = icmp eq i32 %t15, 10
%t17 = zext i1 %t16 to i32
%t18 = icmp ne i32 %t17, 0
br i1 %t18, label %then3, label %ifend5
then3:
%t19 = load ptr, ptr @g_prog
%t20 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 0
%t21 = load ptr, ptr %t20
%t22 = load i32, ptr %t0
%t23 = getelementptr inbounds ptr, ptr %t21, i32 %t22
%t24 = load ptr, ptr %t23
store ptr %t24, ptr %t25
store i32 0, ptr %t26
br label %wcond6
wcond6:
%t27 = load i32, ptr %t26
%t28 = load ptr, ptr %t25
%t29 = getelementptr inbounds %Cmp_Node, ptr %t28, i32 0, i32 7
%t30 = load ptr, ptr %t29
%t31 = getelementptr inbounds %LSlice, ptr %t30, i32 0, i32 1
%t32 = load i32, ptr %t31
%t33 = icmp slt i32 %t27, %t32
%t34 = zext i1 %t33 to i32
%t35 = icmp ne i32 %t34, 0
br i1 %t35, label %wbody7, label %wend8
wbody7:
%t36 = load ptr, ptr %t25
%t37 = getelementptr inbounds %Cmp_Node, ptr %t36, i32 0, i32 7
%t38 = load ptr, ptr %t37
%t39 = getelementptr inbounds %LSlice, ptr %t38, i32 0, i32 0
%t40 = load ptr, ptr %t39
%t41 = load i32, ptr %t26
%t42 = getelementptr inbounds ptr, ptr %t40, i32 %t41
%t43 = load ptr, ptr %t42
%t44 = getelementptr inbounds %Cmp_Node, ptr %t43, i32 0, i32 2
%t45 = load i32, ptr %t44
%t46 = icmp eq i32 %t45, 1
%t47 = zext i1 %t46 to i32
%t48 = icmp ne i32 %t47, 0
br i1 %t48, label %then9, label %ifend11
then9:
%t49 = load ptr, ptr %t25
%t50 = getelementptr inbounds %Cmp_Node, ptr %t49, i32 0, i32 7
%t51 = load ptr, ptr %t50
%t52 = getelementptr inbounds %LSlice, ptr %t51, i32 0, i32 0
%t53 = load ptr, ptr %t52
%t54 = load i32, ptr %t26
%t55 = getelementptr inbounds ptr, ptr %t53, i32 %t54
%t56 = load ptr, ptr %t55
%t57 = getelementptr inbounds %Cmp_Node, ptr %t56, i32 0, i32 1
%t58 = load ptr, ptr %t57
store ptr %t58, ptr %t59
%t60 = load ptr, ptr %t59
%t61 = call ptr @fn_find_comp(ptr %t60)
store ptr %t61, ptr %t62
%t63 = load ptr, ptr %t62
%t64 = icmp ne ptr %t63, null
%t65 = zext i1 %t64 to i32
%t66 = icmp ne i32 %t65, 0
br i1 %t66, label %then12, label %ifend14
then12:
store i32 0, ptr %t67
store i32 0, ptr %t68
br label %wcond15
wcond15:
%t69 = load i32, ptr %t68
%t70 = load ptr, ptr %t62
%t71 = getelementptr inbounds %Cmp_Node, ptr %t70, i32 0, i32 7
%t72 = load ptr, ptr %t71
%t73 = getelementptr inbounds %LSlice, ptr %t72, i32 0, i32 1
%t74 = load i32, ptr %t73
%t75 = icmp slt i32 %t69, %t74
%t76 = zext i1 %t75 to i32
%t77 = icmp ne i32 %t76, 0
br i1 %t77, label %wbody16, label %wend17
wbody16:
%t78 = load ptr, ptr %t62
%t79 = getelementptr inbounds %Cmp_Node, ptr %t78, i32 0, i32 7
%t80 = load ptr, ptr %t79
%t81 = getelementptr inbounds %LSlice, ptr %t80, i32 0, i32 0
%t82 = load ptr, ptr %t81
%t83 = load i32, ptr %t68
%t84 = getelementptr inbounds ptr, ptr %t82, i32 %t83
%t85 = load ptr, ptr %t84
%t86 = getelementptr inbounds %Cmp_Node, ptr %t85, i32 0, i32 2
%t87 = load i32, ptr %t86
%t88 = icmp eq i32 %t87, 1
%t89 = zext i1 %t88 to i32
%t90 = icmp ne i32 %t89, 0
br i1 %t90, label %then18, label %ifend20
then18:
store i32 1, ptr %t67
%t91 = load ptr, ptr %t62
%t92 = getelementptr inbounds %Cmp_Node, ptr %t91, i32 0, i32 7
%t93 = load ptr, ptr %t92
%t94 = getelementptr inbounds %LSlice, ptr %t93, i32 0, i32 0
%t95 = load ptr, ptr %t94
%t96 = load i32, ptr %t68
%t97 = getelementptr inbounds ptr, ptr %t95, i32 %t96
%t98 = load ptr, ptr %t97
%t99 = getelementptr inbounds %Cmp_Node, ptr %t98, i32 0, i32 3
%t100 = load ptr, ptr %t99
%t101 = call ptr @fn_llty(ptr %t100)
%t102 = call i32 @fn_str_eq(ptr %t101, ptr @.str8290)
%t103 = icmp ne i32 %t102, 0
br i1 %t103, label %then21, label %ifend23
then21:
%t104 = load ptr, ptr %t59
%t105 = call ptr @fn_str_concat(ptr @.str8291, ptr %t104)
%t106 = call ptr @fn_str_concat(ptr %t105, ptr @.str8292)
%t107 = load ptr, ptr %t62
%t108 = getelementptr inbounds %Cmp_Node, ptr %t107, i32 0, i32 7
%t109 = load ptr, ptr %t108
%t110 = getelementptr inbounds %LSlice, ptr %t109, i32 0, i32 0
%t111 = load ptr, ptr %t110
%t112 = load i32, ptr %t68
%t113 = getelementptr inbounds ptr, ptr %t111, i32 %t112
%t114 = load ptr, ptr %t113
%t115 = getelementptr inbounds %Cmp_Node, ptr %t114, i32 0, i32 1
%t116 = load ptr, ptr %t115
%t117 = call ptr @fn_str_concat(ptr %t106, ptr %t116)
%t118 = call ptr @fn_str_concat(ptr %t117, ptr @.str8293)
call void @fn_perr(ptr %t118)
br label %ifend23
ifend23:
br label %ifend20
ifend20:
%t119 = load i32, ptr %t68
%t120 = add i32 %t119, 1
store i32 %t120, ptr %t68
br label %wcond15
wend17:
%t121 = load i32, ptr %t67
%t122 = icmp eq i32 %t121, 0
%t123 = zext i1 %t122 to i32
%t124 = icmp ne i32 %t123, 0
br i1 %t124, label %then24, label %ifend26
then24:
%t125 = load ptr, ptr %t25
%t126 = getelementptr inbounds %Cmp_Node, ptr %t125, i32 0, i32 1
%t127 = load ptr, ptr %t126
%t128 = call ptr @fn_str_concat(ptr @.str8294, ptr %t127)
%t129 = call ptr @fn_str_concat(ptr %t128, ptr @.str8295)
%t130 = load ptr, ptr %t59
%t131 = call ptr @fn_str_concat(ptr %t129, ptr %t130)
%t132 = call ptr @fn_str_concat(ptr %t131, ptr @.str8296)
call void @fn_net_warn(ptr %t132)
br label %ifend26
ifend26:
br label %ifend14
ifend14:
br label %ifend11
ifend11:
%t133 = load i32, ptr %t26
%t134 = add i32 %t133, 1
store i32 %t134, ptr %t26
br label %wcond6
wend8:
br label %ifend5
ifend5:
%t135 = load i32, ptr %t0
%t136 = add i32 %t135, 1
store i32 %t136, ptr %t0
br label %wcond0
wend2:
br label %ret
ret:
ret void
}
define void @fn_emit_net_serialize(ptr %arg_m) {
entry:
%t0 = alloca ptr
%t2 = alloca ptr
%t6 = alloca i32
%t7 = alloca i32
%t40 = alloca ptr
%t43 = alloca ptr
%t49 = alloca ptr
%t54 = alloca i32
%t88 = alloca ptr
%t90 = alloca ptr
%t97 = alloca ptr
store ptr %arg_m, ptr %t0
store i32 0, ptr @g_ll_t
%t1 = call ptr @fn_itoa(i32 1024)
store ptr %t1, ptr %t2
call void @fn_emit(ptr @.str8297)
%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 @.str8298)
store i32 0, ptr %t6
store i32 0, ptr %t7
br label %wcond0
wcond0:
%t8 = load i32, ptr %t7
%t9 = load ptr, ptr %t0
%t10 = getelementptr inbounds %Cmp_Node, ptr %t9, i32 0, i32 7
%t11 = load ptr, ptr %t10
%t12 = getelementptr inbounds %LSlice, ptr %t11, i32 0, i32 1
%t13 = load i32, ptr %t12
%t14 = icmp slt i32 %t8, %t13
%t15 = zext i1 %t14 to i32
%t16 = icmp ne i32 %t15, 0
br i1 %t16, label %wbody1, label %wend2
wbody1:
%t17 = load ptr, ptr %t0
%t18 = getelementptr inbounds %Cmp_Node, ptr %t17, i32 0, i32 7
%t19 = load ptr, ptr %t18
%t20 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 0
%t21 = load ptr, ptr %t20
%t22 = load i32, ptr %t7
%t23 = getelementptr inbounds ptr, ptr %t21, i32 %t22
%t24 = load ptr, ptr %t23
%t25 = getelementptr inbounds %Cmp_Node, ptr %t24, i32 0, i32 2
%t26 = load i32, ptr %t25
%t27 = icmp eq i32 %t26, 1
%t28 = zext i1 %t27 to i32
%t29 = icmp ne i32 %t28, 0
br i1 %t29, label %then3, label %ifend5
then3:
%t30 = load ptr, ptr %t0
%t31 = getelementptr inbounds %Cmp_Node, ptr %t30, i32 0, i32 7
%t32 = load ptr, ptr %t31
%t33 = getelementptr inbounds %LSlice, ptr %t32, i32 0, i32 0
%t34 = load ptr, ptr %t33
%t35 = load i32, ptr %t7
%t36 = getelementptr inbounds ptr, ptr %t34, i32 %t35
%t37 = load ptr, ptr %t36
%t38 = getelementptr inbounds %Cmp_Node, ptr %t37, i32 0, i32 1
%t39 = load ptr, ptr %t38
store ptr %t39, ptr %t40
%t41 = load ptr, ptr %t40
%t42 = call ptr @fn_find_comp(ptr %t41)
store ptr %t42, ptr %t43
%t44 = load ptr, ptr %t43
%t45 = icmp ne ptr %t44, null
%t46 = zext i1 %t45 to i32
%t47 = icmp ne i32 %t46, 0
br i1 %t47, label %then6, label %ifend8
then6:
%t48 = call ptr @fn_nreg()
store ptr %t48, ptr %t49
call void @fn_emit(ptr @.str8299)
%t50 = load ptr, ptr %t49
call void @fn_emit(ptr %t50)
call void @fn_emit(ptr @.str8300)
%t51 = load ptr, ptr %t2
call void @fn_emit(ptr %t51)
call void @fn_emit(ptr @.str8301)
%t52 = load ptr, ptr %t40
call void @fn_emit(ptr %t52)
call void @fn_emit(ptr @.str8302)
%t53 = load ptr, ptr %t40
call void @fn_emit(ptr %t53)
call void @fn_emit(ptr @.str8303)
store i32 0, ptr %t54
br label %wcond9
wcond9:
%t55 = load i32, ptr %t54
%t56 = load ptr, ptr %t43
%t57 = getelementptr inbounds %Cmp_Node, ptr %t56, i32 0, i32 7
%t58 = load ptr, ptr %t57
%t59 = getelementptr inbounds %LSlice, ptr %t58, i32 0, i32 1
%t60 = load i32, ptr %t59
%t61 = icmp slt i32 %t55, %t60
%t62 = zext i1 %t61 to i32
%t63 = icmp ne i32 %t62, 0
br i1 %t63, label %wbody10, label %wend11
wbody10:
%t64 = load ptr, ptr %t43
%t65 = getelementptr inbounds %Cmp_Node, ptr %t64, i32 0, i32 7
%t66 = load ptr, ptr %t65
%t67 = getelementptr inbounds %LSlice, ptr %t66, i32 0, i32 0
%t68 = load ptr, ptr %t67
%t69 = load i32, ptr %t54
%t70 = getelementptr inbounds ptr, ptr %t68, i32 %t69
%t71 = load ptr, ptr %t70
%t72 = getelementptr inbounds %Cmp_Node, ptr %t71, i32 0, i32 2
%t73 = load i32, ptr %t72
%t74 = icmp eq i32 %t73, 1
%t75 = zext i1 %t74 to i32
%t76 = icmp ne i32 %t75, 0
br i1 %t76, label %then12, label %ifend14
then12:
%t77 = load ptr, ptr %t43
%t78 = getelementptr inbounds %Cmp_Node, ptr %t77, i32 0, i32 7
%t79 = load ptr, ptr %t78
%t80 = getelementptr inbounds %LSlice, ptr %t79, i32 0, i32 0
%t81 = load ptr, ptr %t80
%t82 = load i32, ptr %t54
%t83 = getelementptr inbounds ptr, ptr %t81, i32 %t82
%t84 = load ptr, ptr %t83
%t85 = getelementptr inbounds %Cmp_Node, ptr %t84, i32 0, i32 3
%t86 = load ptr, ptr %t85
%t87 = call ptr @fn_net_field_bytes(ptr %t86)
store ptr %t87, ptr %t88
%t89 = call ptr @fn_nreg()
store ptr %t89, ptr %t90
call void @fn_emit(ptr @.str8304)
%t91 = load ptr, ptr %t90
call void @fn_emit(ptr %t91)
call void @fn_emit(ptr @.str8305)
%t92 = load ptr, ptr %t40
call void @fn_emit(ptr %t92)
call void @fn_emit(ptr @.str8306)
%t93 = load ptr, ptr %t49
call void @fn_emit(ptr %t93)
call void @fn_emit(ptr @.str8307)
%t94 = load i32, ptr %t54
%t95 = call ptr @fn_itoa(i32 %t94)
call void @fn_emit(ptr %t95)
call void @fn_emit(ptr @.str8308)
%t96 = call ptr @fn_nreg()
store ptr %t96, ptr %t97
call void @fn_emit(ptr @.str8309)
%t98 = load ptr, ptr %t97
call void @fn_emit(ptr %t98)
call void @fn_emit(ptr @.str8310)
%t99 = load i32, ptr %t6
%t100 = call ptr @fn_itoa(i32 %t99)
call void @fn_emit(ptr %t100)
call void @fn_emit(ptr @.str8311)
call void @fn_emit(ptr @.str8312)
%t101 = load ptr, ptr %t97
call void @fn_emit(ptr %t101)
call void @fn_emit(ptr @.str8313)
%t102 = load ptr, ptr %t90
call void @fn_emit(ptr %t102)
call void @fn_emit(ptr @.str8314)
%t103 = load ptr, ptr %t88
call void @fn_emit(ptr %t103)
call void @fn_emit(ptr @.str8315)
%t104 = load i32, ptr %t6
%t105 = load ptr, ptr %t43
%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 = load i32, ptr %t54
%t111 = getelementptr inbounds ptr, ptr %t109, i32 %t110
%t112 = load ptr, ptr %t111
%t113 = getelementptr inbounds %Cmp_Node, ptr %t112, i32 0, i32 3
%t114 = load ptr, ptr %t113
%t115 = call i32 @fn_net_field_ibytes(ptr %t114)
%t116 = add i32 %t104, %t115
store i32 %t116, ptr %t6
br label %ifend14
ifend14:
%t117 = load i32, ptr %t54
%t118 = add i32 %t117, 1
store i32 %t118, ptr %t54
br label %wcond9
wend11:
br label %ifend8
ifend8:
br label %ifend5
ifend5:
%t119 = load i32, ptr %t7
%t120 = add i32 %t119, 1
store i32 %t120, ptr %t7
br label %wcond0
wend2:
call void @fn_emit(ptr @.str8316)
%t121 = load i32, ptr %t6
%t122 = call ptr @fn_itoa(i32 %t121)
call void @fn_emit(ptr %t122)
call void @fn_emit(ptr @.str8317)
br label %ret
ret:
ret void
}
define void @fn_emit_net_apply(ptr %arg_m) {
entry:
%t0 = alloca ptr
%t2 = alloca ptr
%t6 = alloca i32
%t7 = alloca i32
%t40 = alloca ptr
%t43 = alloca ptr
%t49 = alloca ptr
%t54 = alloca i32
%t88 = alloca ptr
%t90 = alloca ptr
%t97 = alloca ptr
store ptr %arg_m, ptr %t0
store i32 0, ptr @g_ll_t
%t1 = call ptr @fn_itoa(i32 1024)
store ptr %t1, ptr %t2
call void @fn_emit(ptr @.str8318)
%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 @.str8319)
store i32 0, ptr %t6
store i32 0, ptr %t7
br label %wcond0
wcond0:
%t8 = load i32, ptr %t7
%t9 = load ptr, ptr %t0
%t10 = getelementptr inbounds %Cmp_Node, ptr %t9, i32 0, i32 7
%t11 = load ptr, ptr %t10
%t12 = getelementptr inbounds %LSlice, ptr %t11, i32 0, i32 1
%t13 = load i32, ptr %t12
%t14 = icmp slt i32 %t8, %t13
%t15 = zext i1 %t14 to i32
%t16 = icmp ne i32 %t15, 0
br i1 %t16, label %wbody1, label %wend2
wbody1:
%t17 = load ptr, ptr %t0
%t18 = getelementptr inbounds %Cmp_Node, ptr %t17, i32 0, i32 7
%t19 = load ptr, ptr %t18
%t20 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 0
%t21 = load ptr, ptr %t20
%t22 = load i32, ptr %t7
%t23 = getelementptr inbounds ptr, ptr %t21, i32 %t22
%t24 = load ptr, ptr %t23
%t25 = getelementptr inbounds %Cmp_Node, ptr %t24, i32 0, i32 2
%t26 = load i32, ptr %t25
%t27 = icmp eq i32 %t26, 1
%t28 = zext i1 %t27 to i32
%t29 = icmp ne i32 %t28, 0
br i1 %t29, label %then3, label %ifend5
then3:
%t30 = load ptr, ptr %t0
%t31 = getelementptr inbounds %Cmp_Node, ptr %t30, i32 0, i32 7
%t32 = load ptr, ptr %t31
%t33 = getelementptr inbounds %LSlice, ptr %t32, i32 0, i32 0
%t34 = load ptr, ptr %t33
%t35 = load i32, ptr %t7
%t36 = getelementptr inbounds ptr, ptr %t34, i32 %t35
%t37 = load ptr, ptr %t36
%t38 = getelementptr inbounds %Cmp_Node, ptr %t37, i32 0, i32 1
%t39 = load ptr, ptr %t38
store ptr %t39, ptr %t40
%t41 = load ptr, ptr %t40
%t42 = call ptr @fn_find_comp(ptr %t41)
store ptr %t42, ptr %t43
%t44 = load ptr, ptr %t43
%t45 = icmp ne ptr %t44, null
%t46 = zext i1 %t45 to i32
%t47 = icmp ne i32 %t46, 0
br i1 %t47, label %then6, label %ifend8
then6:
%t48 = call ptr @fn_nreg()
store ptr %t48, ptr %t49
call void @fn_emit(ptr @.str8320)
%t50 = load ptr, ptr %t49
call void @fn_emit(ptr %t50)
call void @fn_emit(ptr @.str8321)
%t51 = load ptr, ptr %t2
call void @fn_emit(ptr %t51)
call void @fn_emit(ptr @.str8322)
%t52 = load ptr, ptr %t40
call void @fn_emit(ptr %t52)
call void @fn_emit(ptr @.str8323)
%t53 = load ptr, ptr %t40
call void @fn_emit(ptr %t53)
call void @fn_emit(ptr @.str8324)
store i32 0, ptr %t54
br label %wcond9
wcond9:
%t55 = load i32, ptr %t54
%t56 = load ptr, ptr %t43
%t57 = getelementptr inbounds %Cmp_Node, ptr %t56, i32 0, i32 7
%t58 = load ptr, ptr %t57
%t59 = getelementptr inbounds %LSlice, ptr %t58, i32 0, i32 1
%t60 = load i32, ptr %t59
%t61 = icmp slt i32 %t55, %t60
%t62 = zext i1 %t61 to i32
%t63 = icmp ne i32 %t62, 0
br i1 %t63, label %wbody10, label %wend11
wbody10:
%t64 = load ptr, ptr %t43
%t65 = getelementptr inbounds %Cmp_Node, ptr %t64, i32 0, i32 7
%t66 = load ptr, ptr %t65
%t67 = getelementptr inbounds %LSlice, ptr %t66, i32 0, i32 0
%t68 = load ptr, ptr %t67
%t69 = load i32, ptr %t54
%t70 = getelementptr inbounds ptr, ptr %t68, i32 %t69
%t71 = load ptr, ptr %t70
%t72 = getelementptr inbounds %Cmp_Node, ptr %t71, i32 0, i32 2
%t73 = load i32, ptr %t72
%t74 = icmp eq i32 %t73, 1
%t75 = zext i1 %t74 to i32
%t76 = icmp ne i32 %t75, 0
br i1 %t76, label %then12, label %ifend14
then12:
%t77 = load ptr, ptr %t43
%t78 = getelementptr inbounds %Cmp_Node, ptr %t77, i32 0, i32 7
%t79 = load ptr, ptr %t78
%t80 = getelementptr inbounds %LSlice, ptr %t79, i32 0, i32 0
%t81 = load ptr, ptr %t80
%t82 = load i32, ptr %t54
%t83 = getelementptr inbounds ptr, ptr %t81, i32 %t82
%t84 = load ptr, ptr %t83
%t85 = getelementptr inbounds %Cmp_Node, ptr %t84, i32 0, i32 3
%t86 = load ptr, ptr %t85
%t87 = call ptr @fn_net_field_bytes(ptr %t86)
store ptr %t87, ptr %t88
%t89 = call ptr @fn_nreg()
store ptr %t89, ptr %t90
call void @fn_emit(ptr @.str8325)
%t91 = load ptr, ptr %t90
call void @fn_emit(ptr %t91)
call void @fn_emit(ptr @.str8326)
%t92 = load ptr, ptr %t40
call void @fn_emit(ptr %t92)
call void @fn_emit(ptr @.str8327)
%t93 = load ptr, ptr %t49
call void @fn_emit(ptr %t93)
call void @fn_emit(ptr @.str8328)
%t94 = load i32, ptr %t54
%t95 = call ptr @fn_itoa(i32 %t94)
call void @fn_emit(ptr %t95)
call void @fn_emit(ptr @.str8329)
%t96 = call ptr @fn_nreg()
store ptr %t96, ptr %t97
call void @fn_emit(ptr @.str8330)
%t98 = load ptr, ptr %t97
call void @fn_emit(ptr %t98)
call void @fn_emit(ptr @.str8331)
%t99 = load i32, ptr %t6
%t100 = call ptr @fn_itoa(i32 %t99)
call void @fn_emit(ptr %t100)
call void @fn_emit(ptr @.str8332)
call void @fn_emit(ptr @.str8333)
%t101 = load ptr, ptr %t90
call void @fn_emit(ptr %t101)
call void @fn_emit(ptr @.str8334)
%t102 = load ptr, ptr %t97
call void @fn_emit(ptr %t102)
call void @fn_emit(ptr @.str8335)
%t103 = load ptr, ptr %t88
call void @fn_emit(ptr %t103)
call void @fn_emit(ptr @.str8336)
%t104 = load i32, ptr %t6
%t105 = load ptr, ptr %t43
%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 = load i32, ptr %t54
%t111 = getelementptr inbounds ptr, ptr %t109, i32 %t110
%t112 = load ptr, ptr %t111
%t113 = getelementptr inbounds %Cmp_Node, ptr %t112, i32 0, i32 3
%t114 = load ptr, ptr %t113
%t115 = call i32 @fn_net_field_ibytes(ptr %t114)
%t116 = add i32 %t104, %t115
store i32 %t116, ptr %t6
br label %ifend14
ifend14:
%t117 = load i32, ptr %t54
%t118 = add i32 %t117, 1
store i32 %t118, ptr %t54
br label %wcond9
wend11:
br label %ifend8
ifend8:
br label %ifend5
ifend5:
%t119 = load i32, ptr %t7
%t120 = add i32 %t119, 1
store i32 %t120, ptr %t7
br label %wcond0
wend2:
call void @fn_emit(ptr @.str8337)
br label %ret
ret:
ret void
}
define void @fn_emit_net_dispatch() {
entry:
%t1 = alloca ptr
%t3 = alloca i32
%t4 = alloca i32
%t12 = alloca i32
%t44 = alloca ptr
%t47 = alloca ptr
%t72 = alloca i32
%t104 = alloca ptr
%t107 = alloca ptr
%t130 = alloca i32
%t162 = alloca ptr
%t165 = alloca ptr
%t0 = call ptr @fn_itoa(i32 1024)
store ptr %t0, ptr %t1
call void @fn_emit(ptr @.str8338)
call void @fn_emit(ptr @.str8339)
%t2 = load ptr, ptr %t1
call void @fn_emit(ptr %t2)
call void @fn_emit(ptr @.str8340)
store i32 0, ptr %t3
store i32 0, ptr %t4
br label %wcond0
wcond0:
%t5 = load i32, ptr %t4
%t6 = load ptr, ptr @g_prog
%t7 = getelementptr inbounds %LSlice, ptr %t6, i32 0, i32 1
%t8 = load i32, ptr %t7
%t9 = icmp slt i32 %t5, %t8
%t10 = zext i1 %t9 to i32
%t11 = icmp ne i32 %t10, 0
br i1 %t11, label %wbody1, label %wend2
wbody1:
%t13 = load ptr, ptr @g_prog
%t14 = getelementptr inbounds %LSlice, ptr %t13, i32 0, i32 0
%t15 = load ptr, ptr %t14
%t16 = load i32, ptr %t4
%t17 = getelementptr inbounds ptr, ptr %t15, i32 %t16
%t18 = load ptr, ptr %t17
%t19 = getelementptr inbounds %Cmp_Node, ptr %t18, i32 0, i32 0
%t20 = load i32, ptr %t19
%t21 = icmp eq i32 %t20, 10
%t22 = zext i1 %t21 to i32
%t23 = icmp ne i32 %t22, 0
%t24 = zext i1 %t23 to i32
store i32 %t24, ptr %t12
br i1 %t23, label %sc3, label %scend4
sc3:
%t25 = load ptr, ptr @g_prog
%t26 = getelementptr inbounds %LSlice, ptr %t25, i32 0, i32 0
%t27 = load ptr, ptr %t26
%t28 = load i32, ptr %t4
%t29 = getelementptr inbounds ptr, ptr %t27, i32 %t28
%t30 = load ptr, ptr %t29
%t31 = call i32 @fn_net_model_syncs(ptr %t30)
%t32 = icmp ne i32 %t31, 0
%t33 = zext i1 %t32 to i32
store i32 %t33, ptr %t12
br label %scend4
scend4:
%t34 = load i32, ptr %t12
%t35 = icmp ne i32 %t34, 0
br i1 %t35, label %then5, label %ifend7
then5:
%t36 = load ptr, ptr @g_prog
%t37 = getelementptr inbounds %LSlice, ptr %t36, i32 0, i32 0
%t38 = load ptr, ptr %t37
%t39 = load i32, ptr %t4
%t40 = getelementptr inbounds ptr, ptr %t38, i32 %t39
%t41 = load ptr, ptr %t40
%t42 = getelementptr inbounds %Cmp_Node, ptr %t41, i32 0, i32 1
%t43 = load ptr, ptr %t42
store ptr %t43, ptr %t44
%t45 = load i32, ptr %t3
%t46 = call ptr @fn_itoa(i32 %t45)
store ptr %t46, ptr %t47
call void @fn_emit(ptr @.str8341)
%t48 = load ptr, ptr %t47
call void @fn_emit(ptr %t48)
call void @fn_emit(ptr @.str8342)
%t49 = load ptr, ptr %t44
%t50 = call i32 @fn_find_arch_id(ptr %t49)
%t51 = call ptr @fn_itoa(i32 %t50)
call void @fn_emit(ptr %t51)
call void @fn_emit(ptr @.str8343)
call void @fn_emit(ptr @.str8344)
%t52 = load ptr, ptr %t47
call void @fn_emit(ptr %t52)
call void @fn_emit(ptr @.str8345)
%t53 = load ptr, ptr %t47
call void @fn_emit(ptr %t53)
call void @fn_emit(ptr @.str8346)
%t54 = load ptr, ptr %t47
call void @fn_emit(ptr %t54)
call void @fn_emit(ptr @.str8347)
call void @fn_emit(ptr @.str8348)
%t55 = load ptr, ptr %t47
call void @fn_emit(ptr %t55)
call void @fn_emit(ptr @.str8349)
%t56 = load ptr, ptr %t47
call void @fn_emit(ptr %t56)
call void @fn_emit(ptr @.str8350)
%t57 = load ptr, ptr %t44
call void @fn_emit(ptr %t57)
call void @fn_emit(ptr @.str8351)
%t58 = load ptr, ptr %t47
call void @fn_emit(ptr %t58)
call void @fn_emit(ptr @.str8352)
call void @fn_emit(ptr @.str8353)
%t59 = load ptr, ptr %t47
call void @fn_emit(ptr %t59)
call void @fn_emit(ptr @.str8354)
%t60 = load i32, ptr %t3
%t61 = add i32 %t60, 1
store i32 %t61, ptr %t3
br label %ifend7
ifend7:
%t62 = load i32, ptr %t4
%t63 = add i32 %t62, 1
store i32 %t63, ptr %t4
br label %wcond0
wend2:
call void @fn_emit(ptr @.str8355)
call void @fn_emit(ptr @.str8356)
call void @fn_emit(ptr @.str8357)
%t64 = load ptr, ptr %t1
call void @fn_emit(ptr %t64)
call void @fn_emit(ptr @.str8358)
store i32 0, ptr %t3
store i32 0, ptr %t4
br label %wcond8
wcond8:
%t65 = load i32, ptr %t4
%t66 = load ptr, ptr @g_prog
%t67 = getelementptr inbounds %LSlice, ptr %t66, i32 0, i32 1
%t68 = load i32, ptr %t67
%t69 = icmp slt i32 %t65, %t68
%t70 = zext i1 %t69 to i32
%t71 = icmp ne i32 %t70, 0
br i1 %t71, label %wbody9, label %wend10
wbody9:
%t73 = load ptr, ptr @g_prog
%t74 = getelementptr inbounds %LSlice, ptr %t73, i32 0, i32 0
%t75 = load ptr, ptr %t74
%t76 = load i32, ptr %t4
%t77 = getelementptr inbounds ptr, ptr %t75, i32 %t76
%t78 = load ptr, ptr %t77
%t79 = getelementptr inbounds %Cmp_Node, ptr %t78, i32 0, i32 0
%t80 = load i32, ptr %t79
%t81 = icmp eq i32 %t80, 10
%t82 = zext i1 %t81 to i32
%t83 = icmp ne i32 %t82, 0
%t84 = zext i1 %t83 to i32
store i32 %t84, ptr %t72
br i1 %t83, label %sc11, label %scend12
sc11:
%t85 = load ptr, ptr @g_prog
%t86 = getelementptr inbounds %LSlice, ptr %t85, i32 0, i32 0
%t87 = load ptr, ptr %t86
%t88 = load i32, ptr %t4
%t89 = getelementptr inbounds ptr, ptr %t87, i32 %t88
%t90 = load ptr, ptr %t89
%t91 = call i32 @fn_net_model_syncs(ptr %t90)
%t92 = icmp ne i32 %t91, 0
%t93 = zext i1 %t92 to i32
store i32 %t93, ptr %t72
br label %scend12
scend12:
%t94 = load i32, ptr %t72
%t95 = icmp ne i32 %t94, 0
br i1 %t95, label %then13, label %ifend15
then13:
%t96 = load ptr, ptr @g_prog
%t97 = getelementptr inbounds %LSlice, ptr %t96, i32 0, i32 0
%t98 = load ptr, ptr %t97
%t99 = load i32, ptr %t4
%t100 = getelementptr inbounds ptr, ptr %t98, i32 %t99
%t101 = load ptr, ptr %t100
%t102 = getelementptr inbounds %Cmp_Node, ptr %t101, i32 0, i32 1
%t103 = load ptr, ptr %t102
store ptr %t103, ptr %t104
%t105 = load i32, ptr %t3
%t106 = call ptr @fn_itoa(i32 %t105)
store ptr %t106, ptr %t107
call void @fn_emit(ptr @.str8359)
%t108 = load ptr, ptr %t107
call void @fn_emit(ptr %t108)
call void @fn_emit(ptr @.str8360)
%t109 = load ptr, ptr %t104
%t110 = call i32 @fn_find_arch_id(ptr %t109)
%t111 = call ptr @fn_itoa(i32 %t110)
call void @fn_emit(ptr %t111)
call void @fn_emit(ptr @.str8361)
call void @fn_emit(ptr @.str8362)
%t112 = load ptr, ptr %t107
call void @fn_emit(ptr %t112)
call void @fn_emit(ptr @.str8363)
%t113 = load ptr, ptr %t107
call void @fn_emit(ptr %t113)
call void @fn_emit(ptr @.str8364)
%t114 = load ptr, ptr %t107
call void @fn_emit(ptr %t114)
call void @fn_emit(ptr @.str8365)
call void @fn_emit(ptr @.str8366)
%t115 = load ptr, ptr %t107
call void @fn_emit(ptr %t115)
call void @fn_emit(ptr @.str8367)
%t116 = load ptr, ptr %t104
call void @fn_emit(ptr %t116)
call void @fn_emit(ptr @.str8368)
call void @fn_emit(ptr @.str8369)
%t117 = load ptr, ptr %t107
call void @fn_emit(ptr %t117)
call void @fn_emit(ptr @.str8370)
%t118 = load i32, ptr %t3
%t119 = add i32 %t118, 1
store i32 %t119, ptr %t3
br label %ifend15
ifend15:
%t120 = load i32, ptr %t4
%t121 = add i32 %t120, 1
store i32 %t121, ptr %t4
br label %wcond8
wend10:
call void @fn_emit(ptr @.str8371)
call void @fn_emit(ptr @.str8372)
call void @fn_emit(ptr @.str8373)
%t122 = load ptr, ptr %t1
call void @fn_emit(ptr %t122)
call void @fn_emit(ptr @.str8374)
store i32 0, ptr %t3
store i32 0, ptr %t4
br label %wcond16
wcond16:
%t123 = load i32, ptr %t4
%t124 = load ptr, ptr @g_prog
%t125 = getelementptr inbounds %LSlice, ptr %t124, i32 0, i32 1
%t126 = load i32, ptr %t125
%t127 = icmp slt i32 %t123, %t126
%t128 = zext i1 %t127 to i32
%t129 = icmp ne i32 %t128, 0
br i1 %t129, label %wbody17, label %wend18
wbody17:
%t131 = load ptr, ptr @g_prog
%t132 = getelementptr inbounds %LSlice, ptr %t131, i32 0, i32 0
%t133 = load ptr, ptr %t132
%t134 = load i32, ptr %t4
%t135 = getelementptr inbounds ptr, ptr %t133, i32 %t134
%t136 = load ptr, ptr %t135
%t137 = getelementptr inbounds %Cmp_Node, ptr %t136, i32 0, i32 0
%t138 = load i32, ptr %t137
%t139 = icmp eq i32 %t138, 10
%t140 = zext i1 %t139 to i32
%t141 = icmp ne i32 %t140, 0
%t142 = zext i1 %t141 to i32
store i32 %t142, ptr %t130
br i1 %t141, label %sc19, label %scend20
sc19:
%t143 = load ptr, ptr @g_prog
%t144 = getelementptr inbounds %LSlice, ptr %t143, i32 0, i32 0
%t145 = load ptr, ptr %t144
%t146 = load i32, ptr %t4
%t147 = getelementptr inbounds ptr, ptr %t145, i32 %t146
%t148 = load ptr, ptr %t147
%t149 = call i32 @fn_net_model_syncs(ptr %t148)
%t150 = icmp ne i32 %t149, 0
%t151 = zext i1 %t150 to i32
store i32 %t151, ptr %t130
br label %scend20
scend20:
%t152 = load i32, ptr %t130
%t153 = icmp ne i32 %t152, 0
br i1 %t153, label %then21, label %ifend23
then21:
%t154 = load ptr, ptr @g_prog
%t155 = getelementptr inbounds %LSlice, ptr %t154, i32 0, i32 0
%t156 = load ptr, ptr %t155
%t157 = load i32, ptr %t4
%t158 = getelementptr inbounds ptr, ptr %t156, i32 %t157
%t159 = load ptr, ptr %t158
%t160 = getelementptr inbounds %Cmp_Node, ptr %t159, i32 0, i32 1
%t161 = load ptr, ptr %t160
store ptr %t161, ptr %t162
%t163 = load i32, ptr %t3
%t164 = call ptr @fn_itoa(i32 %t163)
store ptr %t164, ptr %t165
call void @fn_emit(ptr @.str8375)
%t166 = load ptr, ptr %t165
call void @fn_emit(ptr %t166)
call void @fn_emit(ptr @.str8376)
%t167 = load ptr, ptr %t162
%t168 = call i32 @fn_find_arch_id(ptr %t167)
%t169 = call ptr @fn_itoa(i32 %t168)
call void @fn_emit(ptr %t169)
call void @fn_emit(ptr @.str8377)
call void @fn_emit(ptr @.str8378)
%t170 = load ptr, ptr %t165
call void @fn_emit(ptr %t170)
call void @fn_emit(ptr @.str8379)
%t171 = load ptr, ptr %t165
call void @fn_emit(ptr %t171)
call void @fn_emit(ptr @.str8380)
%t172 = load ptr, ptr %t165
call void @fn_emit(ptr %t172)
call void @fn_emit(ptr @.str8381)
call void @fn_emit(ptr @.str8382)
%t173 = load ptr, ptr %t165
call void @fn_emit(ptr %t173)
call void @fn_emit(ptr @.str8383)
%t174 = load ptr, ptr @g_prog
%t175 = getelementptr inbounds %LSlice, ptr %t174, i32 0, i32 0
%t176 = load ptr, ptr %t175
%t177 = load i32, ptr %t4
%t178 = getelementptr inbounds ptr, ptr %t176, i32 %t177
%t179 = load ptr, ptr %t178
%t180 = call i32 @fn_net_model_bytes(ptr %t179)
%t181 = call ptr @fn_itoa(i32 %t180)
call void @fn_emit(ptr %t181)
call void @fn_emit(ptr @.str8384)
call void @fn_emit(ptr @.str8385)
%t182 = load ptr, ptr %t165
call void @fn_emit(ptr %t182)
call void @fn_emit(ptr @.str8386)
%t183 = load i32, ptr %t3
%t184 = add i32 %t183, 1
store i32 %t184, ptr %t3
br label %ifend23
ifend23:
%t185 = load i32, ptr %t4
%t186 = add i32 %t185, 1
store i32 %t186, ptr %t4
br label %wcond16
wend18:
call void @fn_emit(ptr @.str8387)
br label %ret
ret:
ret void
}
define void @fn_emit_net_owner() {
entry:
%t1 = alloca ptr
%t0 = call ptr @fn_itoa(i32 1024)
store ptr %t0, ptr %t1
call void @fn_emit(ptr @.str8388)
call void @fn_emit(ptr @.str8389)
%t2 = load ptr, ptr %t1
call void @fn_emit(ptr %t2)
call void @fn_emit(ptr @.str8390)
call void @fn_emit(ptr @.str8391)
call void @fn_emit(ptr @.str8392)
%t3 = load ptr, ptr %t1
call void @fn_emit(ptr %t3)
call void @fn_emit(ptr @.str8393)
call void @fn_emit(ptr @.str8394)
call void @fn_emit(ptr @.str8395)
%t4 = load ptr, ptr %t1
call void @fn_emit(ptr %t4)
call void @fn_emit(ptr @.str8396)
call void @fn_emit(ptr @.str8397)
br label %ret
ret:
ret void
}
define void @fn_emit_loopback() {
entry:
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_emit(ptr @.str8402)
call void @fn_emit(ptr @.str8403)
call void @fn_emit(ptr @.str8404)
call void @fn_emit(ptr @.str8405)
call void @fn_emit(ptr @.str8406)
call void @fn_emit(ptr @.str8407)
call void @fn_emit(ptr @.str8408)
call void @fn_emit(ptr @.str8409)
call void @fn_emit(ptr @.str8410)
call void @fn_emit(ptr @.str8411)
call void @fn_emit(ptr @.str8412)
call void @fn_emit(ptr @.str8413)
call void @fn_emit(ptr @.str8414)
call void @fn_emit(ptr @.str8415)
call void @fn_emit(ptr @.str8416)
call void @fn_emit(ptr @.str8417)
call void @fn_emit(ptr @.str8418)
call void @fn_emit(ptr @.str8419)
call void @fn_emit(ptr @.str8420)
call void @fn_emit(ptr @.str8421)
call void @fn_emit(ptr @.str8422)
call void @fn_emit(ptr @.str8423)
br label %ret
ret:
ret void
}
define i32 @fn_net_has_remote() {
entry:
%retval = alloca i32
%t0 = alloca i32
store i32 0, ptr %t0
br label %wcond0
wcond0:
%t1 = load i32, ptr %t0
%t2 = load ptr, ptr @g_g_events
%t3 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 1
%t4 = load i32, ptr %t3
%t5 = icmp slt i32 %t1, %t4
%t6 = zext i1 %t5 to i32
%t7 = icmp ne i32 %t6, 0
br i1 %t7, label %wbody1, label %wend2
wbody1:
%t8 = load ptr, ptr @g_g_events
%t9 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 0
%t10 = load ptr, ptr %t9
%t11 = load i32, ptr %t0
%t12 = getelementptr inbounds ptr, ptr %t10, i32 %t11
%t13 = load ptr, ptr %t12
%t14 = getelementptr inbounds %Cmp_Node, ptr %t13, i32 0, i32 3
%t15 = load ptr, ptr %t14
%t16 = icmp ne ptr %t15, null
%t17 = zext i1 %t16 to i32
%t18 = icmp ne i32 %t17, 0
br i1 %t18, label %then3, label %ifend5
then3:
store i32 1, ptr %retval
br label %ret
ifend5:
%t19 = load i32, ptr %t0
%t20 = add i32 %t19, 1
store i32 %t20, ptr %t0
br label %wcond0
wend2:
store i32 0, ptr %retval
br label %ret
ret:
%t21 = load i32, ptr %retval
ret i32 %t21
}
define i32 @fn_net_event_id(ptr %arg_name) {
entry:
%retval = alloca i32
%t0 = alloca ptr
%t1 = alloca i32
store ptr %arg_name, ptr %t0
store i32 0, ptr %t1
br label %wcond0
wcond0:
%t2 = load i32, ptr %t1
%t3 = load ptr, ptr @g_g_events
%t4 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 1
%t5 = load i32, ptr %t4
%t6 = icmp slt i32 %t2, %t5
%t7 = zext i1 %t6 to i32
%t8 = icmp ne i32 %t7, 0
br i1 %t8, label %wbody1, label %wend2
wbody1:
%t9 = load ptr, ptr @g_g_events
%t10 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0
%t11 = load ptr, ptr %t10
%t12 = load i32, ptr %t1
%t13 = getelementptr inbounds ptr, ptr %t11, i32 %t12
%t14 = load ptr, ptr %t13
%t15 = getelementptr inbounds %Cmp_Node, ptr %t14, i32 0, i32 1
%t16 = load ptr, ptr %t15
%t17 = load ptr, ptr %t0
%t18 = call i32 @fn_str_eq(ptr %t16, ptr %t17)
%t19 = icmp ne i32 %t18, 0
br i1 %t19, label %then3, label %ifend5
then3:
%t20 = load i32, ptr %t1
store i32 %t20, ptr %retval
br label %ret
ifend5:
%t21 = load i32, ptr %t1
%t22 = add i32 %t21, 1
store i32 %t22, ptr %t1
br label %wcond0
wend2:
%t23 = sub i32 0, 1
store i32 %t23, ptr %retval
br label %ret
ret:
%t24 = load i32, ptr %retval
ret i32 %t24
}
define ptr @fn_net_send_sym() {
entry:
%retval = alloca ptr
%t1 = alloca ptr
%t0 = call ptr @fn_find_extern(ptr @.str8424)
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 @.str8425, 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 @.str8426)
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 @.str8427, ptr %retval
br label %ret
ret:
%t11 = load ptr, ptr %retval
ret ptr %t11
}
define void @fn_emit_net_pump() {
entry:
%t5 = alloca ptr
%t7 = alloca i32
%t21 = alloca ptr
%t30 = alloca ptr
%t41 = alloca i32
%t42 = alloca i32
%t44 = alloca ptr
%t65 = alloca ptr
%t71 = alloca ptr
call void @fn_emith(ptr @.str8428)
%t0 = call ptr @fn_find_extern(ptr @.str8429)
%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 @.str8430)
call void @fn_emit(ptr @.str8431)
%t6 = load ptr, ptr %t5
call void @fn_emit(ptr %t6)
call void @fn_emit(ptr @.str8432)
call void @fn_emit(ptr @.str8433)
call void @fn_emit(ptr @.str8434)
store i32 0, ptr %t7
br label %wcond3
wcond3:
%t8 = load i32, ptr %t7
%t9 = load ptr, ptr @g_g_events
%t10 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 1
%t11 = load i32, ptr %t10
%t12 = icmp slt i32 %t8, %t11
%t13 = zext i1 %t12 to i32
%t14 = icmp ne i32 %t13, 0
br i1 %t14, label %wbody4, label %wend5
wbody4:
%t15 = load ptr, ptr @g_g_events
%t16 = getelementptr inbounds %LSlice, ptr %t15, i32 0, i32 0
%t17 = load ptr, ptr %t16
%t18 = load i32, ptr %t7
%t19 = getelementptr inbounds ptr, ptr %t17, i32 %t18
%t20 = load ptr, ptr %t19
store ptr %t20, ptr %t21
%t22 = load ptr, ptr %t21
%t23 = getelementptr inbounds %Cmp_Node, ptr %t22, i32 0, i32 3
%t24 = load ptr, ptr %t23
%t25 = icmp ne ptr %t24, null
%t26 = zext i1 %t25 to i32
%t27 = icmp ne i32 %t26, 0
br i1 %t27, label %then6, label %ifend8
then6:
%t28 = load i32, ptr %t7
%t29 = call ptr @fn_itoa(i32 %t28)
store ptr %t29, ptr %t30
call void @fn_emit(ptr @.str8435)
%t31 = load ptr, ptr %t30
call void @fn_emit(ptr %t31)
call void @fn_emit(ptr @.str8436)
%t32 = load ptr, ptr %t21
%t33 = getelementptr inbounds %Cmp_Node, ptr %t32, i32 0, i32 1
%t34 = load ptr, ptr %t33
%t35 = call i32 @fn_net_event_id(ptr %t34)
%t36 = call ptr @fn_itoa(i32 %t35)
call void @fn_emit(ptr %t36)
call void @fn_emit(ptr @.str8437)
call void @fn_emit(ptr @.str8438)
%t37 = load ptr, ptr %t30
call void @fn_emit(ptr %t37)
call void @fn_emit(ptr @.str8439)
%t38 = load ptr, ptr %t30
call void @fn_emit(ptr %t38)
call void @fn_emit(ptr @.str8440)
%t39 = load ptr, ptr %t30
call void @fn_emit(ptr %t39)
call void @fn_emit(ptr @.str8441)
call void @fn_emit(ptr @.str8442)
%t40 = load ptr, ptr %t30
call void @fn_emit(ptr %t40)
call void @fn_emit(ptr @.str8443)
store i32 4, ptr %t41
store i32 0, ptr %t42
%t43 = call ptr @fn_buf_new()
store ptr %t43, ptr %t44
br label %wcond9
wcond9:
%t45 = load i32, ptr %t42
%t46 = load ptr, ptr %t21
%t47 = getelementptr inbounds %Cmp_Node, ptr %t46, i32 0, i32 7
%t48 = load ptr, ptr %t47
%t49 = getelementptr inbounds %LSlice, ptr %t48, i32 0, i32 1
%t50 = load i32, ptr %t49
%t51 = icmp slt i32 %t45, %t50
%t52 = zext i1 %t51 to i32
%t53 = icmp ne i32 %t52, 0
br i1 %t53, label %wbody10, label %wend11
wbody10:
%t54 = load ptr, ptr %t21
%t55 = getelementptr inbounds %Cmp_Node, ptr %t54, i32 0, i32 7
%t56 = load ptr, ptr %t55
%t57 = getelementptr inbounds %LSlice, ptr %t56, i32 0, i32 0
%t58 = load ptr, ptr %t57
%t59 = load i32, ptr %t42
%t60 = getelementptr inbounds ptr, ptr %t58, i32 %t59
%t61 = load ptr, ptr %t60
%t62 = getelementptr inbounds %Cmp_Node, ptr %t61, i32 0, i32 3
%t63 = load ptr, ptr %t62
%t64 = call ptr @fn_llty(ptr %t63)
store ptr %t64, ptr %t65
%t66 = load ptr, ptr %t30
%t67 = call ptr @fn_str_concat(ptr %t66, ptr @.str8444)
%t68 = load i32, ptr %t42
%t69 = call ptr @fn_itoa(i32 %t68)
%t70 = call ptr @fn_str_concat(ptr %t67, ptr %t69)
store ptr %t70, ptr %t71
call void @fn_emit(ptr @.str8445)
%t72 = load ptr, ptr %t71
call void @fn_emit(ptr %t72)
call void @fn_emit(ptr @.str8446)
%t73 = load i32, ptr %t41
%t74 = call ptr @fn_itoa(i32 %t73)
call void @fn_emit(ptr %t74)
call void @fn_emit(ptr @.str8447)
call void @fn_emit(ptr @.str8448)
%t75 = load ptr, ptr %t71
call void @fn_emit(ptr %t75)
call void @fn_emit(ptr @.str8449)
%t76 = load ptr, ptr %t65
call void @fn_emit(ptr %t76)
call void @fn_emit(ptr @.str8450)
%t77 = load ptr, ptr %t71
call void @fn_emit(ptr %t77)
call void @fn_emit(ptr @.str8451)
%t78 = load i32, ptr %t42
%t79 = icmp sgt i32 %t78, 0
%t80 = zext i1 %t79 to i32
%t81 = icmp ne i32 %t80, 0
br i1 %t81, label %then12, label %ifend14
then12:
%t82 = load ptr, ptr %t44
call void @fn_buf_puts(ptr %t82, ptr @.str8452)
br label %ifend14
ifend14:
%t83 = load ptr, ptr %t44
%t84 = load ptr, ptr %t65
call void @fn_buf_puts(ptr %t83, ptr %t84)
%t85 = load ptr, ptr %t44
call void @fn_buf_puts(ptr %t85, ptr @.str8453)
%t86 = load ptr, ptr %t44
%t87 = load ptr, ptr %t71
call void @fn_buf_puts(ptr %t86, ptr %t87)
%t88 = load i32, ptr %t41
%t89 = load ptr, ptr %t21
%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 = load i32, ptr %t42
%t95 = getelementptr inbounds ptr, ptr %t93, i32 %t94
%t96 = load ptr, ptr %t95
%t97 = getelementptr inbounds %Cmp_Node, ptr %t96, i32 0, i32 3
%t98 = load ptr, ptr %t97
%t99 = call i32 @fn_net_field_ibytes(ptr %t98)
%t100 = add i32 %t88, %t99
store i32 %t100, ptr %t41
%t101 = load i32, ptr %t42
%t102 = add i32 %t101, 1
store i32 %t102, ptr %t42
br label %wcond9
wend11:
call void @fn_emit(ptr @.str8454)
%t103 = load ptr, ptr %t21
%t104 = getelementptr inbounds %Cmp_Node, ptr %t103, i32 0, i32 1
%t105 = load ptr, ptr %t104
call void @fn_emit(ptr %t105)
call void @fn_emit(ptr @.str8455)
%t106 = load ptr, ptr %t44
%t107 = call ptr @fn_buf_str(ptr %t106)
call void @fn_emit(ptr %t107)
call void @fn_emit(ptr @.str8456)
call void @fn_emit(ptr @.str8457)
call void @fn_emit(ptr @.str8458)
%t108 = load ptr, ptr %t30
call void @fn_emit(ptr %t108)
call void @fn_emit(ptr @.str8459)
br label %ifend8
ifend8:
%t109 = load i32, ptr %t7
%t110 = add i32 %t109, 1
store i32 %t110, ptr %t7
br label %wcond3
wend5:
call void @fn_emit(ptr @.str8460)
call void @fn_emit(ptr @.str8461)
br label %ret
ret:
ret void
}
define void @fn_emit_net() {
entry:
%t2 = alloca i32
%t10 = alloca i32
%t0 = call i32 @fn_net_has_sync()
%t1 = icmp ne i32 %t0, 0
br i1 %t1, label %then0, label %ifend2
then0:
call void @fn_net_check()
store i32 0, ptr %t2
br label %wcond3
wcond3:
%t3 = load i32, ptr %t2
%t4 = load ptr, ptr @g_prog
%t5 = getelementptr inbounds %LSlice, ptr %t4, i32 0, i32 1
%t6 = load i32, ptr %t5
%t7 = icmp slt i32 %t3, %t6
%t8 = zext i1 %t7 to i32
%t9 = icmp ne i32 %t8, 0
br i1 %t9, label %wbody4, label %wend5
wbody4:
%t11 = load ptr, ptr @g_prog
%t12 = getelementptr inbounds %LSlice, ptr %t11, i32 0, i32 0
%t13 = load ptr, ptr %t12
%t14 = load i32, ptr %t2
%t15 = getelementptr inbounds ptr, ptr %t13, i32 %t14
%t16 = load ptr, ptr %t15
%t17 = getelementptr inbounds %Cmp_Node, ptr %t16, i32 0, i32 0
%t18 = load i32, ptr %t17
%t19 = icmp eq i32 %t18, 10
%t20 = zext i1 %t19 to i32
%t21 = icmp ne i32 %t20, 0
%t22 = zext i1 %t21 to i32
store i32 %t22, ptr %t10
br i1 %t21, label %sc6, label %scend7
sc6:
%t23 = load ptr, ptr @g_prog
%t24 = getelementptr inbounds %LSlice, ptr %t23, i32 0, i32 0
%t25 = load ptr, ptr %t24
%t26 = load i32, ptr %t2
%t27 = getelementptr inbounds ptr, ptr %t25, i32 %t26
%t28 = load ptr, ptr %t27
%t29 = call i32 @fn_net_model_syncs(ptr %t28)
%t30 = icmp ne i32 %t29, 0
%t31 = zext i1 %t30 to i32
store i32 %t31, ptr %t10
br label %scend7
scend7:
%t32 = load i32, ptr %t10
%t33 = icmp ne i32 %t32, 0
br i1 %t33, label %then8, label %ifend10
then8:
%t34 = load ptr, ptr @g_prog
%t35 = getelementptr inbounds %LSlice, ptr %t34, i32 0, i32 0
%t36 = load ptr, ptr %t35
%t37 = load i32, ptr %t2
%t38 = getelementptr inbounds ptr, ptr %t36, i32 %t37
%t39 = load ptr, ptr %t38
call void @fn_emit_net_serialize(ptr %t39)
%t40 = load ptr, ptr @g_prog
%t41 = getelementptr inbounds %LSlice, ptr %t40, i32 0, i32 0
%t42 = load ptr, ptr %t41
%t43 = load i32, ptr %t2
%t44 = getelementptr inbounds ptr, ptr %t42, i32 %t43
%t45 = load ptr, ptr %t44
call void @fn_emit_net_apply(ptr %t45)
br label %ifend10
ifend10:
%t46 = load i32, ptr %t2
%t47 = add i32 %t46, 1
store i32 %t47, ptr %t2
br label %wcond3
wend5:
call void @fn_emit_net_dispatch()
br label %ifend2
ifend2:
%t48 = call i32 @fn_net_has_owned()
%t49 = icmp ne i32 %t48, 0
br i1 %t49, label %then11, label %ifend13
then11:
call void @fn_emit_net_owner()
br label %ifend13
ifend13:
%t50 = call i32 @fn_net_has_remote()
%t51 = icmp ne i32 %t50, 0
br i1 %t51, label %then14, label %ifend16
then14:
call void @fn_emith(ptr @.str8462)
call void @fn_emit_net_pump()
br label %ifend16
ifend16:
br label %ret
ret:
ret void
}
define i32 @fn_ui_wtype(ptr %arg_w) {
entry:
%retval = alloca i32
%t0 = alloca ptr
%t4 = alloca ptr
store ptr %arg_w, ptr %t0
%t1 = load ptr, ptr %t0
%t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 1
%t3 = load ptr, ptr %t2
store ptr %t3, ptr %t4
%t5 = load ptr, ptr %t4
%t6 = call i32 @fn_str_eq(ptr %t5, ptr @.str8463)
%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 @fn_str_eq(ptr %t8, ptr @.str8464)
%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 @fn_str_eq(ptr %t11, ptr @.str8465)
%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 @fn_str_eq(ptr %t14, ptr @.str8466)
%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 @fn_str_eq(ptr %t17, ptr @.str8467)
%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 @fn_str_eq(ptr %t20, ptr @.str8468)
%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 @fn_str_eq(ptr %t23, ptr @.str8469)
%t25 = icmp ne i32 %t24, 0
br i1 %t25, label %then18, label %ifend20
then18:
store i32 6, ptr %retval
br label %ret
ifend20:
store i32 0, ptr %retval
br label %ret
ret:
%t26 = load i32, ptr %retval
ret i32 %t26
}
define ptr @fn_ui_prop(ptr %arg_w, ptr %arg_key) {
entry:
%retval = alloca ptr
%t0 = alloca ptr
%t1 = alloca ptr
%t2 = alloca i32
store ptr %arg_w, ptr %t0
store ptr %arg_key, ptr %t1
store i32 0, ptr %t2
br label %wcond0
wcond0:
%t3 = load i32, ptr %t2
%t4 = load ptr, ptr %t0
%t5 = getelementptr inbounds %Cmp_Node, ptr %t4, i32 0, i32 5
%t6 = load ptr, ptr %t5
%t7 = getelementptr inbounds %Cmp_Node, ptr %t6, i32 0, i32 7
%t8 = load ptr, ptr %t7
%t9 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 1
%t10 = load i32, ptr %t9
%t11 = icmp slt i32 %t3, %t10
%t12 = zext i1 %t11 to i32
%t13 = icmp ne i32 %t12, 0
br i1 %t13, label %wbody1, label %wend2
wbody1:
%t14 = load ptr, ptr %t0
%t15 = getelementptr inbounds %Cmp_Node, ptr %t14, i32 0, i32 5
%t16 = load ptr, ptr %t15
%t17 = getelementptr inbounds %Cmp_Node, ptr %t16, i32 0, i32 7
%t18 = load ptr, ptr %t17
%t19 = getelementptr inbounds %LSlice, ptr %t18, i32 0, i32 0
%t20 = load ptr, ptr %t19
%t21 = load i32, ptr %t2
%t22 = getelementptr inbounds ptr, ptr %t20, i32 %t21
%t23 = load ptr, ptr %t22
%t24 = getelementptr inbounds %Cmp_Node, ptr %t23, i32 0, i32 1
%t25 = load ptr, ptr %t24
%t26 = load ptr, ptr %t1
%t27 = call i32 @fn_str_eq(ptr %t25, ptr %t26)
%t28 = icmp ne i32 %t27, 0
br i1 %t28, label %then3, label %ifend5
then3:
%t29 = load ptr, ptr %t0
%t30 = getelementptr inbounds %Cmp_Node, ptr %t29, i32 0, i32 5
%t31 = load ptr, ptr %t30
%t32 = getelementptr inbounds %Cmp_Node, ptr %t31, i32 0, i32 7
%t33 = load ptr, ptr %t32
%t34 = getelementptr inbounds %LSlice, ptr %t33, i32 0, i32 0
%t35 = load ptr, ptr %t34
%t36 = load i32, ptr %t2
%t37 = getelementptr inbounds ptr, ptr %t35, i32 %t36
%t38 = load ptr, ptr %t37
%t39 = getelementptr inbounds %Cmp_Node, ptr %t38, i32 0, i32 4
%t40 = load ptr, ptr %t39
store ptr %t40, ptr %retval
br label %ret
ifend5:
%t41 = load i32, ptr %t2
%t42 = add i32 %t41, 1
store i32 %t42, ptr %t2
br label %wcond0
wend2:
store ptr null, ptr %retval
br label %ret
ret:
%t43 = load ptr, ptr %retval
ret ptr %t43
}
define 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 = getelementptr inbounds %LSlice, ptr %t6, i32 0, i32 1
%t8 = getelementptr inbounds %LSlice, ptr %t6, i32 0, i32 2
%t9 = getelementptr inbounds %LSlice, ptr %t6, 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
%t21 = call ptr @realloc(ptr %t20, i64 %t19)
store ptr %t21, ptr %t9
store i32 %t15, ptr %t8
br label %put1
put1:
%t22 = load ptr, ptr %t0
%t23 = load ptr, ptr %t9
%t24 = getelementptr inbounds ptr, ptr %t23, i32 %t10
store ptr %t22, ptr %t24
%t25 = add i32 %t10, 1
store i32 %t25, ptr %t7
%t26 = load ptr, ptr @g_uiw_parent
%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 i32, 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
%t41 = call ptr @realloc(ptr %t40, i64 %t39)
store ptr %t41, ptr %t29
store i32 %t35, ptr %t28
br label %put3
put3:
%t42 = load i32, ptr %t1
%t43 = load ptr, ptr %t29
%t44 = getelementptr inbounds i32, ptr %t43, i32 %t30
store i32 %t42, ptr %t44
%t45 = add i32 %t30, 1
store i32 %t45, ptr %t27
store i32 0, ptr %t46
br label %wcond4
wcond4:
%t47 = load i32, ptr %t46
%t48 = load ptr, ptr %t0
%t49 = getelementptr inbounds %Cmp_Node, ptr %t48, i32 0, i32 7
%t50 = load ptr, ptr %t49
%t51 = getelementptr inbounds %LSlice, ptr %t50, i32 0, i32 1
%t52 = load i32, ptr %t51
%t53 = icmp slt i32 %t47, %t52
%t54 = zext i1 %t53 to i32
%t55 = icmp ne i32 %t54, 0
br i1 %t55, label %wbody5, label %wend6
wbody5:
%t56 = load ptr, ptr %t0
%t57 = getelementptr inbounds %Cmp_Node, ptr %t56, i32 0, i32 7
%t58 = load ptr, ptr %t57
%t59 = getelementptr inbounds %LSlice, ptr %t58, i32 0, i32 0
%t60 = load ptr, ptr %t59
%t61 = load i32, ptr %t46
%t62 = getelementptr inbounds ptr, ptr %t60, i32 %t61
%t63 = load ptr, ptr %t62
%t64 = load i32, ptr %t5
call void @fn_ui_flatten(ptr %t63, i32 %t64)
%t65 = load i32, ptr %t46
%t66 = add i32 %t65, 1
store i32 %t66, ptr %t46
br label %wcond4
wend6:
br label %ret
ret:
ret void
}
define void @fn_ui_flatten_all() {
entry:
%t18 = alloca i32
%t26 = alloca i32
%t0 = getelementptr %LSlice, ptr null, i32 1
%t1 = ptrtoint ptr %t0 to i64
%t2 = call ptr @malloc(i64 %t1)
%t3 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 0
store ptr null, ptr %t3
%t4 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 1
store i32 0, ptr %t4
%t5 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 2
store i32 0, ptr %t5
store ptr %t2, ptr @g_uiw
%t6 = getelementptr %LSlice, ptr null, i32 1
%t7 = ptrtoint ptr %t6 to i64
%t8 = call ptr @malloc(i64 %t7)
%t9 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 0
store ptr null, ptr %t9
%t10 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 1
store i32 0, ptr %t10
%t11 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 2
store i32 0, ptr %t11
store ptr %t8, ptr @g_uiw_parent
%t12 = getelementptr %LSlice, ptr null, i32 1
%t13 = ptrtoint ptr %t12 to i64
%t14 = call ptr @malloc(i64 %t13)
%t15 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 0
store ptr null, ptr %t15
%t16 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 1
store i32 0, ptr %t16
%t17 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 2
store i32 0, ptr %t17
store ptr %t14, ptr @g_ui_roots
store i32 0, ptr %t18
br label %wcond0
wcond0:
%t19 = load i32, ptr %t18
%t20 = load ptr, ptr @g_prog
%t21 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 1
%t22 = load i32, ptr %t21
%t23 = icmp slt i32 %t19, %t22
%t24 = zext i1 %t23 to i32
%t25 = icmp ne i32 %t24, 0
br i1 %t25, label %wbody1, label %wend2
wbody1:
%t27 = load ptr, ptr @g_prog
%t28 = getelementptr inbounds %LSlice, ptr %t27, i32 0, i32 0
%t29 = load ptr, ptr %t28
%t30 = load i32, ptr %t18
%t31 = getelementptr inbounds ptr, ptr %t29, i32 %t30
%t32 = load ptr, ptr %t31
%t33 = getelementptr inbounds %Cmp_Node, ptr %t32, i32 0, i32 0
%t34 = load i32, ptr %t33
%t35 = icmp eq i32 %t34, 12
%t36 = zext i1 %t35 to i32
%t37 = icmp ne i32 %t36, 0
%t38 = zext i1 %t37 to i32
store i32 %t38, ptr %t26
br i1 %t37, label %sc3, label %scend4
sc3:
%t39 = load ptr, ptr @g_prog
%t40 = getelementptr inbounds %LSlice, ptr %t39, i32 0, i32 0
%t41 = load ptr, ptr %t40
%t42 = load i32, ptr %t18
%t43 = getelementptr inbounds ptr, ptr %t41, i32 %t42
%t44 = load ptr, ptr %t43
%t45 = getelementptr inbounds %Cmp_Node, ptr %t44, i32 0, i32 2
%t46 = load i32, ptr %t45
%t47 = icmp eq i32 %t46, 1
%t48 = zext i1 %t47 to i32
%t49 = icmp ne i32 %t48, 0
%t50 = zext i1 %t49 to i32
store i32 %t50, ptr %t26
br label %scend4
scend4:
%t51 = load i32, ptr %t26
%t52 = icmp ne i32 %t51, 0
br i1 %t52, label %then5, label %ifend7
then5:
%t53 = load ptr, ptr @g_ui_roots
%t54 = getelementptr inbounds %LSlice, ptr %t53, i32 0, i32 1
%t55 = getelementptr inbounds %LSlice, ptr %t53, i32 0, i32 2
%t56 = getelementptr inbounds %LSlice, ptr %t53, i32 0, i32 0
%t57 = load i32, ptr %t54
%t58 = load i32, ptr %t55
%t59 = icmp sge i32 %t57, %t58
br i1 %t59, label %grow8, label %put9
grow8:
%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
%t68 = call ptr @realloc(ptr %t67, i64 %t66)
store ptr %t68, ptr %t56
store i32 %t62, ptr %t55
br label %put9
put9:
%t69 = load ptr, ptr @g_uiw
%t70 = getelementptr inbounds %LSlice, ptr %t69, i32 0, i32 1
%t71 = load i32, ptr %t70
%t72 = load ptr, ptr %t56
%t73 = getelementptr inbounds i32, ptr %t72, i32 %t57
store i32 %t71, ptr %t73
%t74 = add i32 %t57, 1
store i32 %t74, ptr %t54
%t75 = load ptr, ptr @g_prog
%t76 = getelementptr inbounds %LSlice, ptr %t75, i32 0, i32 0
%t77 = load ptr, ptr %t76
%t78 = load i32, ptr %t18
%t79 = getelementptr inbounds ptr, ptr %t77, i32 %t78
%t80 = load ptr, ptr %t79
%t81 = getelementptr inbounds %Cmp_Node, ptr %t80, i32 0, i32 4
%t82 = load ptr, ptr %t81
%t83 = sub i32 0, 1
call void @fn_ui_flatten(ptr %t82, i32 %t83)
br label %ifend7
ifend7:
%t84 = load i32, ptr %t18
%t85 = add i32 %t84, 1
store i32 %t85, ptr %t18
br label %wcond0
wend2:
br label %ret
ret:
ret void
}
define i32 @fn_has_ui() {
entry:
%retval = alloca i32
%t0 = alloca i32
%t8 = alloca i32
store i32 0, ptr %t0
br label %wcond0
wcond0:
%t1 = load i32, ptr %t0
%t2 = load ptr, ptr @g_prog
%t3 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 1
%t4 = load i32, ptr %t3
%t5 = icmp slt i32 %t1, %t4
%t6 = zext i1 %t5 to i32
%t7 = icmp ne i32 %t6, 0
br i1 %t7, label %wbody1, label %wend2
wbody1:
%t9 = load ptr, ptr @g_prog
%t10 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0
%t11 = load ptr, ptr %t10
%t12 = load i32, ptr %t0
%t13 = getelementptr inbounds ptr, ptr %t11, i32 %t12
%t14 = load ptr, ptr %t13
%t15 = getelementptr inbounds %Cmp_Node, ptr %t14, i32 0, i32 0
%t16 = load i32, ptr %t15
%t17 = icmp eq i32 %t16, 12
%t18 = zext i1 %t17 to i32
%t19 = icmp ne i32 %t18, 0
%t20 = zext i1 %t19 to i32
store i32 %t20, ptr %t8
br i1 %t19, label %sc3, label %scend4
sc3:
%t21 = load ptr, ptr @g_prog
%t22 = getelementptr inbounds %LSlice, ptr %t21, i32 0, i32 0
%t23 = load ptr, ptr %t22
%t24 = load i32, ptr %t0
%t25 = getelementptr inbounds ptr, ptr %t23, i32 %t24
%t26 = load ptr, ptr %t25
%t27 = getelementptr inbounds %Cmp_Node, ptr %t26, i32 0, i32 2
%t28 = load i32, ptr %t27
%t29 = icmp eq i32 %t28, 1
%t30 = zext i1 %t29 to i32
%t31 = icmp ne i32 %t30, 0
%t32 = zext i1 %t31 to i32
store i32 %t32, ptr %t8
br label %scend4
scend4:
%t33 = load i32, ptr %t8
%t34 = icmp ne i32 %t33, 0
br i1 %t34, label %then5, label %ifend7
then5:
store i32 1, ptr %retval
br label %ret
ifend7:
%t35 = load i32, ptr %t0
%t36 = add i32 %t35, 1
store i32 %t36, ptr %t0
br label %wcond0
wend2:
store i32 0, ptr %retval
br label %ret
ret:
%t37 = load i32, ptr %retval
ret i32 %t37
}
define i32 @fn_ui_index_of(ptr %arg_nm) {
entry:
%retval = alloca i32
%t0 = alloca ptr
%t6 = alloca ptr
%t7 = alloca i32
%t8 = alloca i32
%t9 = alloca i32
%t17 = alloca i32
%t79 = alloca ptr
%t84 = alloca i32
store ptr %arg_nm, ptr %t0
%t1 = load ptr, ptr %t0
%t2 = load ptr, ptr %t0
%t3 = call i64 @strlen(ptr %t2)
%t4 = trunc i64 %t3 to i32
%t5 = call ptr @fn_str_slice(ptr %t1, i32 3, i32 %t4)
store ptr %t5, ptr %t6
store i32 0, 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 @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:
%t18 = load ptr, ptr @g_prog
%t19 = getelementptr inbounds %LSlice, ptr %t18, i32 0, i32 0
%t20 = load ptr, ptr %t19
%t21 = load i32, ptr %t9
%t22 = getelementptr inbounds ptr, ptr %t20, i32 %t21
%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, 12
%t27 = zext i1 %t26 to i32
%t28 = icmp ne i32 %t27, 0
%t29 = zext i1 %t28 to i32
store i32 %t29, ptr %t17
br i1 %t28, label %sc3, label %scend4
sc3:
%t30 = load ptr, ptr @g_prog
%t31 = getelementptr inbounds %LSlice, ptr %t30, i32 0, i32 0
%t32 = load ptr, ptr %t31
%t33 = load i32, ptr %t9
%t34 = getelementptr inbounds ptr, ptr %t32, i32 %t33
%t35 = load ptr, ptr %t34
%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 %t17
br label %scend4
scend4:
%t42 = load i32, ptr %t17
%t43 = icmp ne i32 %t42, 0
br i1 %t43, label %then5, label %ifend7
then5:
%t44 = load ptr, ptr @g_prog
%t45 = getelementptr inbounds %LSlice, ptr %t44, i32 0, i32 0
%t46 = load ptr, ptr %t45
%t47 = load i32, ptr %t9
%t48 = getelementptr inbounds ptr, ptr %t46, i32 %t47
%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 %t6
%t53 = call i32 @fn_str_eq(ptr %t51, ptr %t52)
%t54 = icmp ne i32 %t53, 0
br i1 %t54, label %then8, label %ifend10
then8:
%t55 = load ptr, ptr @g_ui_roots
%t56 = getelementptr inbounds %LSlice, ptr %t55, i32 0, i32 0
%t57 = load ptr, ptr %t56
%t58 = load i32, ptr %t8
%t59 = getelementptr inbounds i32, ptr %t57, i32 %t58
%t60 = load i32, ptr %t59
store i32 %t60, ptr %retval
br label %ret
ifend10:
%t61 = load i32, ptr %t8
%t62 = add i32 %t61, 1
store i32 %t62, ptr %t8
br label %ifend7
ifend7:
%t63 = load i32, ptr %t9
%t64 = add i32 %t63, 1
store i32 %t64, ptr %t9
br label %wcond0
wend2:
store i32 0, ptr %t9
br label %wcond11
wcond11:
%t65 = load i32, ptr %t9
%t66 = load ptr, ptr @g_uiw
%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 %wbody12, label %wend13
wbody12:
%t72 = load ptr, ptr @g_uiw
%t73 = getelementptr inbounds %LSlice, ptr %t72, i32 0, i32 0
%t74 = load ptr, ptr %t73
%t75 = load i32, ptr %t9
%t76 = getelementptr inbounds ptr, ptr %t74, i32 %t75
%t77 = load ptr, ptr %t76
%t78 = call ptr @fn_ui_prop(ptr %t77, ptr @.str8470)
store ptr %t78, ptr %t79
%t80 = load ptr, ptr %t79
%t81 = icmp ne ptr %t80, null
%t82 = zext i1 %t81 to i32
%t83 = icmp ne i32 %t82, 0
br i1 %t83, label %then14, label %ifend16
then14:
%t85 = load ptr, ptr %t79
%t86 = getelementptr inbounds %Cmp_Node, ptr %t85, i32 0, i32 0
%t87 = load i32, ptr %t86
%t88 = icmp eq i32 %t87, 33
%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 %sc17, label %scend18
sc17:
%t92 = load ptr, ptr %t79
%t93 = getelementptr inbounds %Cmp_Node, ptr %t92, i32 0, i32 1
%t94 = load ptr, ptr %t93
%t95 = load ptr, ptr %t6
%t96 = call i32 @fn_str_eq(ptr %t94, ptr %t95)
%t97 = icmp ne i32 %t96, 0
%t98 = zext i1 %t97 to i32
store i32 %t98, ptr %t84
br label %scend18
scend18:
%t99 = load i32, ptr %t84
%t100 = icmp ne i32 %t99, 0
br i1 %t100, label %then19, label %ifend21
then19:
%t101 = load i32, ptr %t9
store i32 %t101, ptr %retval
br label %ret
ifend21:
br label %ifend16
ifend16:
%t102 = load i32, ptr %t9
%t103 = add i32 %t102, 1
store i32 %t103, ptr %t9
br label %wcond11
wend13:
store i32 0, ptr %retval
br label %ret
ret:
%t104 = load i32, ptr %retval
ret i32 %t104
}
define i32 @fn_is_ui_ident(ptr %arg_nm) {
entry:
%retval = alloca i32
%t0 = alloca ptr
%t1 = alloca i32
%t2 = alloca i32
%t3 = alloca i32
store ptr %arg_nm, ptr %t0
%t4 = load ptr, ptr %t0
%t5 = call i64 @strlen(ptr %t4)
%t6 = trunc i64 %t5 to i32
%t7 = icmp sgt i32 %t6, 3
%t8 = zext i1 %t7 to i32
%t9 = icmp ne i32 %t8, 0
%t10 = zext i1 %t9 to i32
store i32 %t10, ptr %t3
br i1 %t9, label %sc0, label %scend1
sc0:
%t11 = load ptr, ptr %t0
%t12 = getelementptr inbounds i8, ptr %t11, i32 0
%t13 = load i8, ptr %t12
%t14 = zext i8 %t13 to i32
%t15 = icmp eq i32 %t14, 85
%t16 = zext i1 %t15 to i32
%t17 = icmp ne i32 %t16, 0
%t18 = zext i1 %t17 to i32
store i32 %t18, ptr %t3
br label %scend1
scend1:
%t19 = load i32, ptr %t3
%t20 = icmp ne i32 %t19, 0
%t21 = zext i1 %t20 to i32
store i32 %t21, ptr %t2
br i1 %t20, label %sc2, label %scend3
sc2:
%t22 = load ptr, ptr %t0
%t23 = getelementptr inbounds i8, ptr %t22, i32 1
%t24 = load i8, ptr %t23
%t25 = zext i8 %t24 to i32
%t26 = icmp eq i32 %t25, 73
%t27 = zext i1 %t26 to i32
%t28 = icmp ne i32 %t27, 0
%t29 = zext i1 %t28 to i32
store i32 %t29, ptr %t2
br label %scend3
scend3:
%t30 = load i32, ptr %t2
%t31 = icmp ne i32 %t30, 0
%t32 = zext i1 %t31 to i32
store i32 %t32, ptr %t1
br i1 %t31, label %sc4, label %scend5
sc4:
%t33 = load ptr, ptr %t0
%t34 = getelementptr inbounds i8, ptr %t33, i32 2
%t35 = load i8, ptr %t34
%t36 = zext i8 %t35 to i32
%t37 = icmp eq i32 %t36, 95
%t38 = zext i1 %t37 to i32
%t39 = icmp ne i32 %t38, 0
%t40 = zext i1 %t39 to i32
store i32 %t40, ptr %t1
br label %scend5
scend5:
%t41 = load i32, ptr %t1
store i32 %t41, ptr %retval
br label %ret
ret:
%t42 = load i32, ptr %retval
ret i32 %t42
}
define void @fn_ll_ui_set(i32 %arg_idx, i32 %arg_key, ptr %arg_val) {
entry:
%t0 = alloca i32
%t1 = alloca i32
%t2 = alloca ptr
store i32 %arg_idx, ptr %t0
store i32 %arg_key, ptr %t1
store ptr %arg_val, ptr %t2
call void @fn_emit(ptr @.str8471)
%t3 = load i32, ptr %t0
%t4 = call ptr @fn_itoa(i32 %t3)
call void @fn_emit(ptr %t4)
call void @fn_emit(ptr @.str8472)
%t5 = load i32, ptr %t1
%t6 = call ptr @fn_itoa(i32 %t5)
call void @fn_emit(ptr %t6)
call void @fn_emit(ptr @.str8473)
%t7 = load ptr, ptr %t2
call void @fn_emit(ptr %t7)
call void @fn_emit(ptr @.str8474)
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 @fn_str_eq(ptr %t1, ptr @.str8475)
%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 @fn_str_eq(ptr %t4, ptr @.str8476)
%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 @fn_str_eq(ptr %t7, ptr @.str8477)
%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 @fn_str_eq(ptr %t10, ptr @.str8478)
%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 @fn_str_eq(ptr %t13, ptr @.str8479)
%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 @fn_str_eq(ptr %t16, ptr @.str8480)
%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 @fn_str_eq(ptr %t19, ptr @.str8481)
%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 @fn_str_eq(ptr %t22, ptr @.str8482)
%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 @fn_str_eq(ptr %t25, ptr @.str8483)
%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 @fn_str_eq(ptr %t28, ptr @.str8484)
%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 @fn_str_eq(ptr %t31, ptr @.str8485)
%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 @fn_str_eq(ptr %t34, ptr @.str8486)
%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 @fn_str_eq(ptr %t37, ptr @.str8487)
%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 @fn_str_eq(ptr %t40, ptr @.str8488)
%t42 = icmp ne i32 %t41, 0
br i1 %t42, label %then39, label %ifend41
then39:
store i32 17, ptr %retval
br label %ret
ifend41:
%t43 = sub i32 0, 1
store i32 %t43, ptr %retval
br label %ret
ret:
%t44 = load i32, ptr %retval
ret i32 %t44
}
define void @fn_emit_ui_build() {
entry:
%t1 = alloca ptr
%t4 = alloca ptr
%t10 = alloca i32
%t24 = alloca ptr
%t27 = alloca i32
%t44 = alloca i32
%t66 = alloca ptr
%t70 = alloca ptr
%t74 = alloca ptr
%t85 = alloca ptr
%t91 = alloca i32
%t104 = alloca ptr
%t111 = alloca ptr
%t128 = alloca i32
%t144 = alloca ptr
%t151 = alloca i32
%t158 = alloca ptr
%t164 = alloca i32
call void @fn_ui_flatten_all()
store i32 0, ptr @g_ll_t
store i32 0, ptr @g_ll_lbl
store i32 0, ptr @g_g_term
call void @fn_loc_reset()
store i32 0, ptr @g_nloop
%t0 = call ptr @fn_buf_new()
store ptr %t0, ptr %t1
%t2 = call ptr @fn_buf_new()
store ptr %t2, ptr @g_falloc
%t3 = load ptr, ptr @g_code
store ptr %t3, ptr %t4
%t5 = load ptr, ptr %t1
store ptr %t5, ptr @g_code
call void @fn_emit(ptr @.str8489)
%t6 = load ptr, ptr @g_uiw
%t7 = getelementptr inbounds %LSlice, ptr %t6, i32 0, i32 1
%t8 = load i32, ptr %t7
%t9 = call ptr @fn_itoa(i32 %t8)
call void @fn_emit(ptr %t9)
call void @fn_emit(ptr @.str8490)
store i32 0, ptr %t10
br label %wcond0
wcond0:
%t11 = load i32, ptr %t10
%t12 = load ptr, ptr @g_uiw
%t13 = getelementptr inbounds %LSlice, ptr %t12, i32 0, i32 1
%t14 = load i32, ptr %t13
%t15 = icmp slt i32 %t11, %t14
%t16 = zext i1 %t15 to i32
%t17 = icmp ne i32 %t16, 0
br i1 %t17, label %wbody1, label %wend2
wbody1:
%t18 = load ptr, ptr @g_uiw
%t19 = getelementptr inbounds %LSlice, ptr %t18, i32 0, i32 0
%t20 = load ptr, ptr %t19
%t21 = load i32, ptr %t10
%t22 = getelementptr inbounds ptr, ptr %t20, i32 %t21
%t23 = load ptr, ptr %t22
store ptr %t23, ptr %t24
%t25 = load ptr, ptr %t24
%t26 = call i32 @fn_ui_wtype(ptr %t25)
store i32 %t26, ptr %t27
%t28 = load i32, ptr %t10
%t29 = load i32, ptr %t27
%t30 = call ptr @fn_itoa(i32 %t29)
call void @fn_ll_ui_set(i32 %t28, i32 0, ptr %t30)
%t31 = load i32, ptr %t10
%t32 = load ptr, ptr @g_uiw_parent
%t33 = getelementptr inbounds %LSlice, ptr %t32, i32 0, i32 0
%t34 = load ptr, ptr %t33
%t35 = load i32, ptr %t10
%t36 = getelementptr inbounds i32, ptr %t34, i32 %t35
%t37 = load i32, ptr %t36
%t38 = call ptr @fn_itoa(i32 %t37)
call void @fn_ll_ui_set(i32 %t31, i32 1, ptr %t38)
%t39 = load i32, ptr %t27
%t40 = icmp eq i32 %t39, 4
%t41 = zext i1 %t40 to i32
%t42 = icmp ne i32 %t41, 0
br i1 %t42, label %then3, label %ifend5
then3:
%t43 = load i32, ptr %t10
call void @fn_ll_ui_set(i32 %t43, i32 17, ptr @.str8491)
br label %ifend5
ifend5:
store i32 0, ptr %t44
br label %wcond6
wcond6:
%t45 = load i32, ptr %t44
%t46 = load ptr, ptr %t24
%t47 = getelementptr inbounds %Cmp_Node, ptr %t46, i32 0, i32 5
%t48 = load ptr, ptr %t47
%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 %t45, %t52
%t54 = zext i1 %t53 to i32
%t55 = icmp ne i32 %t54, 0
br i1 %t55, label %wbody7, label %wend8
wbody7:
%t56 = load ptr, ptr %t24
%t57 = getelementptr inbounds %Cmp_Node, ptr %t56, i32 0, i32 5
%t58 = load ptr, ptr %t57
%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 = load i32, ptr %t44
%t64 = getelementptr inbounds ptr, ptr %t62, i32 %t63
%t65 = load ptr, ptr %t64
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 %t68
store ptr %t69, ptr %t70
%t71 = load ptr, ptr %t66
%t72 = getelementptr inbounds %Cmp_Node, ptr %t71, i32 0, i32 4
%t73 = load ptr, ptr %t72
store ptr %t73, ptr %t74
%t75 = load ptr, ptr %t70
%t76 = call i32 @fn_str_eq(ptr %t75, ptr @.str8492)
%t77 = icmp ne i32 %t76, 0
br i1 %t77, label %then9, label %ifend11
then9:
%t78 = load i32, ptr %t44
%t79 = add i32 %t78, 1
store i32 %t79, ptr %t44
br label %wcond6
ifend11:
%t80 = load ptr, ptr %t70
%t81 = call i32 @fn_str_eq(ptr %t80, ptr @.str8493)
%t82 = icmp ne i32 %t81, 0
br i1 %t82, label %then12, label %else13
then12:
%t83 = load ptr, ptr %t74
%t84 = call ptr @fn_emit_expr(ptr %t83)
store ptr %t84, ptr %t85
call void @fn_emit(ptr @.str8494)
%t86 = load i32, ptr %t10
%t87 = call ptr @fn_itoa(i32 %t86)
call void @fn_emit(ptr %t87)
call void @fn_emit(ptr @.str8495)
%t88 = load ptr, ptr %t85
%t89 = getelementptr inbounds %Cmp_Val, ptr %t88, i32 0, i32 0
%t90 = load ptr, ptr %t89
call void @fn_emit(ptr %t90)
call void @fn_emit(ptr @.str8496)
br label %ifend14
else13:
%t92 = load ptr, ptr %t70
%t93 = call i32 @fn_str_eq(ptr %t92, ptr @.str8497)
%t94 = icmp ne i32 %t93, 0
%t95 = zext i1 %t94 to i32
store i32 %t95, ptr %t91
br i1 %t94, label %scend16, label %sc15
sc15:
%t96 = load ptr, ptr %t70
%t97 = call i32 @fn_str_eq(ptr %t96, ptr @.str8498)
%t98 = icmp ne i32 %t97, 0
%t99 = zext i1 %t98 to i32
store i32 %t99, ptr %t91
br label %scend16
scend16:
%t100 = load i32, ptr %t91
%t101 = icmp ne i32 %t100, 0
br i1 %t101, label %then17, label %else18
then17:
%t102 = load ptr, ptr %t74
%t103 = call ptr @fn_emit_expr(ptr %t102)
store ptr %t103, ptr %t104
%t105 = load ptr, ptr %t104
%t106 = getelementptr inbounds %Cmp_Val, ptr %t105, i32 0, i32 0
%t107 = load ptr, ptr %t106
%t108 = call ptr @fn_str_concat(ptr @.str8499, ptr %t107)
%t109 = call ptr @fn_str_concat(ptr %t108, ptr @.str8500)
%t110 = call ptr @fn_emit_bind(ptr %t109)
store ptr %t110, ptr %t111
%t112 = load ptr, ptr %t70
%t113 = call i32 @fn_str_eq(ptr %t112, ptr @.str8501)
%t114 = icmp ne i32 %t113, 0
br i1 %t114, label %then20, label %else21
then20:
%t115 = load i32, ptr %t10
%t116 = load ptr, ptr %t111
call void @fn_ll_ui_set(i32 %t115, i32 20, ptr %t116)
br label %ifend22
else21:
%t117 = load i32, ptr %t10
%t118 = load ptr, ptr %t111
call void @fn_ll_ui_set(i32 %t117, i32 19, ptr %t118)
br label %ifend22
ifend22:
br label %ifend19
else18:
%t119 = load ptr, ptr %t70
%t120 = call i32 @fn_str_eq(ptr %t119, ptr @.str8502)
%t121 = icmp ne i32 %t120, 0
br i1 %t121, label %then23, label %else24
then23:
%t122 = load ptr, ptr %t74
%t123 = getelementptr inbounds %Cmp_Node, ptr %t122, i32 0, i32 0
%t124 = load i32, ptr %t123
%t125 = icmp eq i32 %t124, 33
%t126 = zext i1 %t125 to i32
%t127 = icmp ne i32 %t126, 0
br i1 %t127, label %then26, label %else27
then26:
store i32 0, ptr %t128
%t129 = load ptr, ptr %t74
%t130 = getelementptr inbounds %Cmp_Node, ptr %t129, i32 0, i32 1
%t131 = load ptr, ptr %t130
%t132 = call i32 @fn_str_eq(ptr %t131, ptr @.str8503)
%t133 = icmp ne i32 %t132, 0
br i1 %t133, label %then29, label %ifend31
then29:
store i32 1, ptr %t128
br label %ifend31
ifend31:
%t134 = load ptr, ptr %t74
%t135 = getelementptr inbounds %Cmp_Node, ptr %t134, i32 0, i32 1
%t136 = load ptr, ptr %t135
%t137 = call i32 @fn_str_eq(ptr %t136, ptr @.str8504)
%t138 = icmp ne i32 %t137, 0
br i1 %t138, label %then32, label %ifend34
then32:
store i32 2, ptr %t128
br label %ifend34
ifend34:
%t139 = load i32, ptr %t10
%t140 = load i32, ptr %t128
%t141 = call ptr @fn_itoa(i32 %t140)
call void @fn_ll_ui_set(i32 %t139, i32 12, ptr %t141)
br label %ifend28
else27:
%t142 = load ptr, ptr %t74
%t143 = call ptr @fn_emit_expr(ptr %t142)
store ptr %t143, ptr %t144
%t145 = load i32, ptr %t10
%t146 = load ptr, ptr %t144
%t147 = getelementptr inbounds %Cmp_Val, ptr %t146, i32 0, i32 0
%t148 = load ptr, ptr %t147
call void @fn_ll_ui_set(i32 %t145, i32 12, ptr %t148)
br label %ifend28
ifend28:
br label %ifend25
else24:
%t149 = load ptr, ptr %t70
%t150 = call i32 @fn_ui_prop_key(ptr %t149)
store i32 %t150, ptr %t151
%t152 = load i32, ptr %t151
%t153 = icmp sge i32 %t152, 0
%t154 = zext i1 %t153 to i32
%t155 = icmp ne i32 %t154, 0
br i1 %t155, label %then35, label %ifend37
then35:
%t156 = load ptr, ptr %t74
%t157 = call ptr @fn_emit_expr(ptr %t156)
store ptr %t157, ptr %t158
%t159 = load i32, ptr %t10
%t160 = load i32, ptr %t151
%t161 = load ptr, ptr %t158
%t162 = getelementptr inbounds %Cmp_Val, ptr %t161, i32 0, i32 0
%t163 = load ptr, ptr %t162
call void @fn_ll_ui_set(i32 %t159, i32 %t160, ptr %t163)
%t165 = load i32, ptr %t151
%t166 = icmp eq i32 %t165, 4
%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 %scend39, label %sc38
sc38:
%t170 = load i32, ptr %t151
%t171 = icmp eq i32 %t170, 5
%t172 = zext i1 %t171 to i32
%t173 = icmp ne i32 %t172, 0
%t174 = zext i1 %t173 to i32
store i32 %t174, ptr %t164
br label %scend39
scend39:
%t175 = load i32, ptr %t164
%t176 = icmp ne i32 %t175, 0
br i1 %t176, label %then40, label %ifend42
then40:
%t177 = load i32, ptr %t10
call void @fn_ll_ui_set(i32 %t177, i32 6, ptr @.str8505)
br label %ifend42
ifend42:
br label %ifend37
ifend37:
br label %ifend25
ifend25:
br label %ifend19
ifend19:
br label %ifend14
ifend14:
%t178 = load i32, ptr %t44
%t179 = add i32 %t178, 1
store i32 %t179, ptr %t44
br label %wcond6
wend8:
%t180 = load i32, ptr %t10
%t181 = add i32 %t180, 1
store i32 %t181, ptr %t10
br label %wcond0
wend2:
%t182 = load ptr, ptr %t4
store ptr %t182, ptr @g_code
call void @fn_emit(ptr @.str8506)
%t183 = load ptr, ptr @g_falloc
%t184 = call ptr @fn_buf_str(ptr %t183)
call void @fn_emit(ptr %t184)
%t185 = load ptr, ptr %t1
%t186 = call ptr @fn_buf_str(ptr %t185)
call void @fn_emit(ptr %t186)
call void @fn_emit(ptr @.str8507)
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 @.str8508)
br label %ifend5
ifend5:
%t15 = load ptr, ptr %t0
%t16 = getelementptr inbounds %Cmp_Node, ptr %t15, i32 0, i32 7
%t17 = load ptr, ptr %t16
%t18 = getelementptr inbounds %LSlice, ptr %t17, i32 0, i32 0
%t19 = load ptr, ptr %t18
%t20 = load i32, ptr %t1
%t21 = getelementptr inbounds ptr, ptr %t19, i32 %t20
%t22 = load ptr, ptr %t21
%t23 = getelementptr inbounds %Cmp_Node, ptr %t22, i32 0, i32 3
%t24 = load ptr, ptr %t23
%t25 = call ptr @fn_llty(ptr %t24)
call void @fn_emit(ptr %t25)
call void @fn_emit(ptr @.str8509)
%t26 = load ptr, ptr %t0
%t27 = getelementptr inbounds %Cmp_Node, ptr %t26, i32 0, i32 7
%t28 = load ptr, ptr %t27
%t29 = getelementptr inbounds %LSlice, ptr %t28, i32 0, i32 0
%t30 = load ptr, ptr %t29
%t31 = load i32, ptr %t1
%t32 = getelementptr inbounds ptr, ptr %t30, i32 %t31
%t33 = load ptr, ptr %t32
%t34 = getelementptr inbounds %Cmp_Node, ptr %t33, i32 0, i32 1
%t35 = load ptr, ptr %t34
call void @fn_emit(ptr %t35)
%t36 = load i32, ptr %t1
%t37 = add i32 %t36, 1
store i32 %t37, ptr %t1
br label %wcond0
wend2:
br label %ret
ret:
ret void
}
define void @fn_emit_fn(ptr %arg_d) {
entry:
%t0 = alloca ptr
%t5 = alloca ptr
%t8 = alloca ptr
%t12 = alloca ptr
%t22 = alloca i32
%t40 = alloca ptr
%t46 = alloca ptr
%t78 = alloca ptr
store ptr %arg_d, ptr %t0
store i32 0, ptr @g_ll_t
store i32 0, ptr @g_ll_lbl
store i32 0, ptr @g_g_term
call void @fn_loc_reset()
store i32 0, ptr @g_nloop
%t1 = load ptr, ptr %t0
%t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 3
%t3 = load ptr, ptr %t2
store ptr %t3, ptr @g_ret_ty
%t4 = call ptr @fn_buf_new()
store ptr %t4, ptr %t5
%t6 = call ptr @fn_buf_new()
store ptr %t6, ptr @g_falloc
%t7 = load ptr, ptr @g_code
store ptr %t7, ptr %t8
%t9 = load ptr, ptr %t5
store ptr %t9, ptr @g_code
%t10 = load ptr, ptr @g_ret_ty
%t11 = call ptr @fn_llty(ptr %t10)
store ptr %t11, ptr %t12
%t13 = load ptr, ptr %t12
%t14 = call i32 @fn_str_eq(ptr %t13, ptr @.str8510)
%t15 = icmp eq i32 %t14, 0
%t16 = zext i1 %t15 to i32
%t17 = icmp ne i32 %t16, 0
br i1 %t17, label %then0, label %ifend2
then0:
%t18 = load ptr, ptr @g_falloc
call void @fn_buf_puts(ptr %t18, ptr @.str8511)
%t19 = load ptr, ptr @g_falloc
%t20 = load ptr, ptr %t12
call void @fn_buf_puts(ptr %t19, ptr %t20)
%t21 = load ptr, ptr @g_falloc
call void @fn_buf_puts(ptr %t21, ptr @.str8512)
br label %ifend2
ifend2:
store i32 0, ptr %t22
br label %wcond3
wcond3:
%t23 = load i32, ptr %t22
%t24 = load ptr, ptr %t0
%t25 = getelementptr inbounds %Cmp_Node, ptr %t24, i32 0, i32 7
%t26 = load ptr, ptr %t25
%t27 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 1
%t28 = load i32, ptr %t27
%t29 = icmp slt i32 %t23, %t28
%t30 = zext i1 %t29 to i32
%t31 = icmp ne i32 %t30, 0
br i1 %t31, label %wbody4, label %wend5
wbody4:
%t32 = load ptr, ptr %t0
%t33 = getelementptr inbounds %Cmp_Node, ptr %t32, i32 0, i32 7
%t34 = load ptr, ptr %t33
%t35 = getelementptr inbounds %LSlice, ptr %t34, i32 0, i32 0
%t36 = load ptr, ptr %t35
%t37 = load i32, ptr %t22
%t38 = getelementptr inbounds ptr, ptr %t36, i32 %t37
%t39 = load ptr, ptr %t38
store ptr %t39, ptr %t40
%t41 = load ptr, ptr %t40
%t42 = getelementptr inbounds %Cmp_Node, ptr %t41, i32 0, i32 3
%t43 = load ptr, ptr %t42
%t44 = call ptr @fn_llty(ptr %t43)
%t45 = call ptr @fn_emit_alloca(ptr %t44)
store ptr %t45, ptr %t46
call void @fn_emit(ptr @.str8513)
%t47 = load ptr, ptr %t40
%t48 = getelementptr inbounds %Cmp_Node, ptr %t47, i32 0, i32 3
%t49 = load ptr, ptr %t48
%t50 = call ptr @fn_llty(ptr %t49)
call void @fn_emit(ptr %t50)
call void @fn_emit(ptr @.str8514)
%t51 = load ptr, ptr %t40
%t52 = getelementptr inbounds %Cmp_Node, ptr %t51, i32 0, i32 1
%t53 = load ptr, ptr %t52
call void @fn_emit(ptr %t53)
call void @fn_emit(ptr @.str8515)
%t54 = load ptr, ptr %t46
call void @fn_emit(ptr %t54)
call void @fn_emit(ptr @.str8516)
%t55 = load ptr, ptr %t40
%t56 = getelementptr inbounds %Cmp_Node, ptr %t55, i32 0, i32 1
%t57 = load ptr, ptr %t56
%t58 = load ptr, ptr %t46
%t59 = load ptr, ptr %t40
%t60 = getelementptr inbounds %Cmp_Node, ptr %t59, i32 0, i32 3
%t61 = load ptr, ptr %t60
call void @fn_loc_push(ptr %t57, ptr %t58, ptr %t61)
%t62 = load i32, ptr %t22
%t63 = add i32 %t62, 1
store i32 %t63, ptr %t22
br label %wcond3
wend5:
%t64 = load ptr, ptr %t0
%t65 = getelementptr inbounds %Cmp_Node, ptr %t64, i32 0, i32 4
%t66 = load ptr, ptr %t65
call void @fn_emit_block(ptr %t66)
%t67 = load i32, ptr @g_g_term
%t68 = icmp eq i32 %t67, 0
%t69 = zext i1 %t68 to i32
%t70 = icmp ne i32 %t69, 0
br i1 %t70, label %then6, label %ifend8
then6:
call void @fn_emit(ptr @.str8517)
br label %ifend8
ifend8:
call void @fn_emit(ptr @.str8518)
%t71 = load ptr, ptr %t12
%t72 = call i32 @fn_str_eq(ptr %t71, ptr @.str8519)
%t73 = icmp ne i32 %t72, 0
br i1 %t73, label %then9, label %else10
then9:
call void @fn_emit(ptr @.str8520)
br label %ifend11
else10:
%t74 = load ptr, ptr %t12
%t75 = call ptr @fn_str_concat(ptr @.str8521, ptr %t74)
%t76 = call ptr @fn_str_concat(ptr %t75, ptr @.str8522)
%t77 = call ptr @fn_emit_bind(ptr %t76)
store ptr %t77, ptr %t78
call void @fn_emit(ptr @.str8523)
%t79 = load ptr, ptr %t12
call void @fn_emit(ptr %t79)
call void @fn_emit(ptr @.str8524)
%t80 = load ptr, ptr %t78
call void @fn_emit(ptr %t80)
call void @fn_emit(ptr @.str8525)
br label %ifend11
ifend11:
%t81 = load ptr, ptr %t8
store ptr %t81, ptr @g_code
call void @fn_emit(ptr @.str8526)
%t82 = load ptr, ptr %t12
call void @fn_emit(ptr %t82)
call void @fn_emit(ptr @.str8527)
%t83 = load ptr, ptr %t0
%t84 = getelementptr inbounds %Cmp_Node, ptr %t83, i32 0, i32 1
%t85 = load ptr, ptr %t84
call void @fn_emit(ptr %t85)
call void @fn_emit(ptr @.str8528)
%t86 = load ptr, ptr %t0
call void @fn_emit_params_sig(ptr %t86)
call void @fn_emit(ptr @.str8529)
%t87 = load ptr, ptr @g_falloc
%t88 = call ptr @fn_buf_str(ptr %t87)
call void @fn_emit(ptr %t88)
%t89 = load ptr, ptr %t5
%t90 = call ptr @fn_buf_str(ptr %t89)
call void @fn_emit(ptr %t90)
call void @fn_emit(ptr @.str8530)
br label %ret
ret:
ret void
}
define void @fn_emit_main(ptr %arg_d) {
entry:
%t0 = alloca ptr
%t2 = alloca ptr
%t5 = alloca ptr
%t20 = alloca ptr
store ptr %arg_d, ptr %t0
store i32 0, ptr @g_ll_t
store i32 0, ptr @g_ll_lbl
store i32 0, ptr @g_g_term
call void @fn_loc_reset()
store i32 0, ptr @g_nloop
store ptr @.str8531, 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 @.str8532)
call void @fn_emit(ptr @.str8533)
call void @fn_emit(ptr @.str8534)
call void @fn_emit(ptr @.str8535)
%t8 = call ptr @fn_find_fn(ptr @.str8536)
%t9 = icmp ne ptr %t8, null
%t10 = zext i1 %t9 to i32
%t11 = icmp ne i32 %t10, 0
br i1 %t11, label %then0, label %ifend2
then0:
call void @fn_emit(ptr @.str8537)
br label %ifend2
ifend2:
%t12 = load ptr, ptr %t0
%t13 = getelementptr inbounds %Cmp_Node, ptr %t12, i32 0, i32 4
%t14 = load ptr, ptr %t13
call void @fn_emit_block(ptr %t14)
%t15 = load i32, ptr @g_g_term
%t16 = icmp eq i32 %t15, 0
%t17 = zext i1 %t16 to i32
%t18 = icmp ne i32 %t17, 0
br i1 %t18, label %then3, label %ifend5
then3:
call void @fn_emit(ptr @.str8538)
br label %ifend5
ifend5:
call void @fn_emit(ptr @.str8539)
%t19 = call ptr @fn_emit_bind(ptr @.str8540)
store ptr %t19, ptr %t20
call void @fn_emit(ptr @.str8541)
%t21 = load ptr, ptr %t20
call void @fn_emit(ptr %t21)
call void @fn_emit(ptr @.str8542)
%t22 = load ptr, ptr %t5
store ptr %t22, ptr @g_code
call void @fn_emit(ptr @.str8543)
%t23 = load ptr, ptr @g_falloc
%t24 = call ptr @fn_buf_str(ptr %t23)
call void @fn_emit(ptr %t24)
%t25 = load ptr, ptr %t2
%t26 = call ptr @fn_buf_str(ptr %t25)
call void @fn_emit(ptr %t26)
call void @fn_emit(ptr @.str8544)
br label %ret
ret:
ret void
}
define void @fn_emit_test_fn(ptr %arg_t, i32 %arg_idx) {
entry:
%t0 = alloca ptr
%t1 = alloca i32
%t3 = alloca ptr
%t6 = alloca ptr
store ptr %arg_t, ptr %t0
store i32 %arg_idx, ptr %t1
store i32 0, ptr @g_ll_t
store i32 0, ptr @g_ll_lbl
store i32 0, ptr @g_g_term
call void @fn_loc_reset()
store i32 0, ptr @g_nloop
store ptr @.str8545, ptr @g_ret_ty
%t2 = call ptr @fn_buf_new()
store ptr %t2, ptr %t3
%t4 = call ptr @fn_buf_new()
store ptr %t4, ptr @g_falloc
%t5 = load ptr, ptr @g_code
store ptr %t5, ptr %t6
%t7 = load ptr, ptr %t3
store ptr %t7, ptr @g_code
%t8 = load ptr, ptr %t0
%t9 = getelementptr inbounds %Cmp_Node, ptr %t8, i32 0, i32 4
%t10 = load ptr, ptr %t9
call void @fn_emit_block(ptr %t10)
%t11 = load i32, ptr @g_g_term
%t12 = icmp eq i32 %t11, 0
%t13 = zext i1 %t12 to i32
%t14 = icmp ne i32 %t13, 0
br i1 %t14, label %then0, label %ifend2
then0:
call void @fn_emit(ptr @.str8546)
br label %ifend2
ifend2:
call void @fn_emit(ptr @.str8547)
%t15 = load ptr, ptr %t6
store ptr %t15, ptr @g_code
call void @fn_emit(ptr @.str8548)
%t16 = load i32, ptr %t1
%t17 = call ptr @fn_itoa(i32 %t16)
call void @fn_emit(ptr %t17)
call void @fn_emit(ptr @.str8549)
%t18 = load ptr, ptr @g_falloc
%t19 = call ptr @fn_buf_str(ptr %t18)
call void @fn_emit(ptr %t19)
%t20 = load ptr, ptr %t3
%t21 = call ptr @fn_buf_str(ptr %t20)
call void @fn_emit(ptr %t21)
call void @fn_emit(ptr @.str8550)
br label %ret
ret:
ret void
}
define void @fn_emit_test_runner() {
entry:
%t0 = alloca i32
%t38 = alloca ptr
%t49 = alloca ptr
%t55 = alloca ptr
%t60 = alloca ptr
%t62 = alloca ptr
%t64 = alloca ptr
%t66 = alloca ptr
%t87 = alloca ptr
%t92 = alloca ptr
%t107 = alloca ptr
%t117 = alloca ptr
%t128 = alloca ptr
%t133 = alloca ptr
call void @fn_emith(ptr @.str8551)
call void @fn_emith(ptr @.str8552)
store i32 0, ptr %t0
br label %wcond0
wcond0:
%t1 = load i32, ptr %t0
%t2 = load ptr, ptr @g_g_tests
%t3 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 1
%t4 = load i32, ptr %t3
%t5 = icmp slt i32 %t1, %t4
%t6 = zext i1 %t5 to i32
%t7 = icmp ne i32 %t6, 0
br i1 %t7, label %wbody1, label %wend2
wbody1:
%t8 = load ptr, ptr @g_g_tests
%t9 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 0
%t10 = load ptr, ptr %t9
%t11 = load i32, ptr %t0
%t12 = getelementptr inbounds ptr, ptr %t10, i32 %t11
%t13 = load ptr, ptr %t12
%t14 = load i32, ptr %t0
call void @fn_emit_test_fn(ptr %t13, i32 %t14)
%t15 = load i32, ptr %t0
%t16 = add i32 %t15, 1
store i32 %t16, ptr %t0
br label %wcond0
wend2:
%t17 = load i32, ptr @g_g_uses_expect
%t18 = icmp ne i32 %t17, 0
br i1 %t18, label %then3, label %ifend5
then3:
call void @fn_emith(ptr @.str8553)
br label %ifend5
ifend5:
store i32 0, ptr @g_ll_t
store i32 0, ptr @g_ll_lbl
call void @fn_emit(ptr @.str8554)
call void @fn_emit(ptr @.str8555)
call void @fn_emit(ptr @.str8556)
call void @fn_emit(ptr @.str8557)
%t19 = call i32 @fn_has_ecs()
%t20 = icmp ne i32 %t19, 0
br i1 %t20, label %then6, label %ifend8
then6:
call void @fn_emit(ptr @.str8558)
br label %ifend8
ifend8:
store i32 0, ptr %t0
br label %wcond9
wcond9:
%t21 = load i32, ptr %t0
%t22 = load ptr, ptr @g_g_tests
%t23 = getelementptr inbounds %LSlice, ptr %t22, i32 0, i32 1
%t24 = load i32, ptr %t23
%t25 = icmp slt i32 %t21, %t24
%t26 = zext i1 %t25 to i32
%t27 = icmp ne i32 %t26, 0
br i1 %t27, label %wbody10, label %wend11
wbody10:
%t28 = load ptr, ptr @g_g_tests
%t29 = getelementptr inbounds %LSlice, ptr %t28, i32 0, i32 0
%t30 = load ptr, ptr %t29
%t31 = load i32, ptr %t0
%t32 = getelementptr inbounds ptr, ptr %t30, i32 %t31
%t33 = load ptr, ptr %t32
%t34 = getelementptr inbounds %Cmp_Node, ptr %t33, i32 0, i32 1
%t35 = load ptr, ptr %t34
%t36 = call ptr @fn_str_concat(ptr @.str8559, ptr %t35)
%t37 = call ptr @fn_emit_str_const(ptr %t36)
store ptr %t37, ptr %t38
%t39 = load ptr, ptr @g_g_tests
%t40 = getelementptr inbounds %LSlice, ptr %t39, i32 0, i32 0
%t41 = load ptr, ptr %t40
%t42 = load i32, ptr %t0
%t43 = getelementptr inbounds ptr, ptr %t41, i32 %t42
%t44 = load ptr, ptr %t43
%t45 = getelementptr inbounds %Cmp_Node, ptr %t44, i32 0, i32 1
%t46 = load ptr, ptr %t45
%t47 = call ptr @fn_str_concat(ptr @.str8560, ptr %t46)
%t48 = call ptr @fn_emit_str_const(ptr %t47)
store ptr %t48, ptr %t49
call void @fn_emit(ptr @.str8561)
%t50 = load i32, ptr %t0
%t51 = call ptr @fn_itoa(i32 %t50)
%t52 = call ptr @fn_str_concat(ptr @.str8562, ptr %t51)
%t53 = call ptr @fn_str_concat(ptr %t52, ptr @.str8563)
call void @fn_emit(ptr %t53)
%t54 = call ptr @fn_emit_bind(ptr @.str8564)
store ptr %t54, ptr %t55
%t56 = load ptr, ptr %t55
%t57 = call ptr @fn_str_concat(ptr @.str8565, ptr %t56)
%t58 = call ptr @fn_str_concat(ptr %t57, ptr @.str8566)
%t59 = call ptr @fn_emit_bind(ptr %t58)
store ptr %t59, ptr %t60
%t61 = call ptr @fn_lbl(ptr @.str8567)
store ptr %t61, ptr %t62
%t63 = call ptr @fn_lbl(ptr @.str8568)
store ptr %t63, ptr %t64
%t65 = call ptr @fn_lbl(ptr @.str8569)
store ptr %t65, ptr %t66
%t67 = load ptr, ptr %t60
%t68 = call ptr @fn_str_concat(ptr @.str8570, ptr %t67)
%t69 = call ptr @fn_str_concat(ptr %t68, ptr @.str8571)
%t70 = load ptr, ptr %t64
%t71 = call ptr @fn_str_concat(ptr %t69, ptr %t70)
%t72 = call ptr @fn_str_concat(ptr %t71, ptr @.str8572)
%t73 = load ptr, ptr %t62
%t74 = call ptr @fn_str_concat(ptr %t72, ptr %t73)
%t75 = call ptr @fn_str_concat(ptr %t74, ptr @.str8573)
call void @fn_emit(ptr %t75)
%t76 = load ptr, ptr %t62
%t77 = call ptr @fn_str_concat(ptr %t76, ptr @.str8574)
call void @fn_emit(ptr %t77)
%t78 = load ptr, ptr %t38
%t79 = call ptr @fn_str_concat(ptr @.str8575, ptr %t78)
%t80 = call ptr @fn_str_concat(ptr %t79, ptr @.str8576)
call void @fn_emit(ptr %t80)
%t81 = load ptr, ptr %t66
%t82 = call ptr @fn_str_concat(ptr @.str8577, ptr %t81)
%t83 = call ptr @fn_str_concat(ptr %t82, ptr @.str8578)
call void @fn_emit(ptr %t83)
%t84 = load ptr, ptr %t64
%t85 = call ptr @fn_str_concat(ptr %t84, ptr @.str8579)
call void @fn_emit(ptr %t85)
%t86 = call ptr @fn_emit_bind(ptr @.str8580)
store ptr %t86, ptr %t87
%t88 = load ptr, ptr %t87
%t89 = call ptr @fn_str_concat(ptr @.str8581, ptr %t88)
%t90 = call ptr @fn_str_concat(ptr %t89, ptr @.str8582)
%t91 = call ptr @fn_emit_bind(ptr %t90)
store ptr %t91, ptr %t92
%t93 = load ptr, ptr %t92
%t94 = call ptr @fn_str_concat(ptr @.str8583, ptr %t93)
%t95 = call ptr @fn_str_concat(ptr %t94, ptr @.str8584)
call void @fn_emit(ptr %t95)
%t96 = load ptr, ptr %t49
%t97 = call ptr @fn_str_concat(ptr @.str8585, ptr %t96)
%t98 = call ptr @fn_str_concat(ptr %t97, ptr @.str8586)
call void @fn_emit(ptr %t98)
%t99 = load ptr, ptr %t66
%t100 = call ptr @fn_str_concat(ptr @.str8587, ptr %t99)
%t101 = call ptr @fn_str_concat(ptr %t100, ptr @.str8588)
call void @fn_emit(ptr %t101)
%t102 = load ptr, ptr %t66
%t103 = call ptr @fn_str_concat(ptr %t102, ptr @.str8589)
call void @fn_emit(ptr %t103)
%t104 = load i32, ptr %t0
%t105 = add i32 %t104, 1
store i32 %t105, ptr %t0
br label %wcond9
wend11:
%t106 = call ptr @fn_emit_bind(ptr @.str8590)
store ptr %t106, ptr %t107
%t108 = load ptr, ptr @g_g_tests
%t109 = getelementptr inbounds %LSlice, ptr %t108, i32 0, i32 1
%t110 = load i32, ptr %t109
%t111 = call ptr @fn_itoa(i32 %t110)
%t112 = call ptr @fn_str_concat(ptr @.str8591, ptr %t111)
%t113 = call ptr @fn_str_concat(ptr %t112, ptr @.str8592)
%t114 = load ptr, ptr %t107
%t115 = call ptr @fn_str_concat(ptr %t113, ptr %t114)
%t116 = call ptr @fn_emit_bind(ptr %t115)
store ptr %t116, ptr %t117
%t118 = load ptr, ptr %t117
%t119 = call ptr @fn_str_concat(ptr @.str8593, ptr %t118)
%t120 = call ptr @fn_str_concat(ptr %t119, ptr @.str8594)
%t121 = load ptr, ptr %t107
%t122 = call ptr @fn_str_concat(ptr %t120, ptr %t121)
%t123 = call ptr @fn_str_concat(ptr %t122, ptr @.str8595)
call void @fn_emit(ptr %t123)
%t124 = load ptr, ptr %t107
%t125 = call ptr @fn_str_concat(ptr @.str8596, ptr %t124)
%t126 = call ptr @fn_str_concat(ptr %t125, ptr @.str8597)
%t127 = call ptr @fn_emit_bind(ptr %t126)
store ptr %t127, ptr %t128
%t129 = load ptr, ptr %t128
%t130 = call ptr @fn_str_concat(ptr @.str8598, ptr %t129)
%t131 = call ptr @fn_str_concat(ptr %t130, ptr @.str8599)
%t132 = call ptr @fn_emit_bind(ptr %t131)
store ptr %t132, ptr %t133
%t134 = load ptr, ptr %t133
%t135 = call ptr @fn_str_concat(ptr @.str8600, ptr %t134)
%t136 = call ptr @fn_str_concat(ptr %t135, ptr @.str8601)
call void @fn_emit(ptr %t136)
br label %ret
ret:
ret void
}
define void @fn_emit_program() {
entry:
%t58 = alloca i32
%t95 = alloca i32
%t99 = alloca i32
%t100 = alloca i32
%t101 = alloca i32
%t143 = alloca i32
%t0 = call ptr @fn_buf_new()
store ptr %t0, ptr @g_head
%t1 = call ptr @fn_buf_new()
store ptr %t1, ptr @g_code
store i32 0, ptr @g_g_uses_str
store i32 0, ptr @g_g_uses_intstr
store i32 0, ptr @g_g_uses_strslice
store i32 0, ptr @g_g_uses_loopback
store i32 0, ptr @g_g_uses_expect
store i32 0, ptr @g_g_uses_panic
store i32 0, ptr @g_g_uses_result
%t2 = getelementptr %LSlice, ptr null, i32 1
%t3 = ptrtoint ptr %t2 to i64
%t4 = call ptr @malloc(i64 %t3)
%t5 = getelementptr inbounds %LSlice, ptr %t4, i32 0, i32 0
store ptr null, ptr %t5
%t6 = getelementptr inbounds %LSlice, ptr %t4, i32 0, i32 1
store i32 0, ptr %t6
%t7 = getelementptr inbounds %LSlice, ptr %t4, i32 0, i32 2
store i32 0, ptr %t7
store ptr %t4, ptr @g_g_cov_lines
store i32 1, ptr @g_g_cov_active
%t8 = getelementptr %LSlice, ptr null, i32 1
%t9 = ptrtoint ptr %t8 to i64
%t10 = call ptr @malloc(i64 %t9)
%t11 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 0
store ptr null, ptr %t11
%t12 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 1
store i32 0, ptr %t12
%t13 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 2
store i32 0, ptr %t13
store ptr %t10, ptr @g_loc_name
%t14 = getelementptr %LSlice, ptr null, i32 1
%t15 = ptrtoint ptr %t14 to i64
%t16 = call ptr @malloc(i64 %t15)
%t17 = getelementptr inbounds %LSlice, ptr %t16, i32 0, i32 0
store ptr null, ptr %t17
%t18 = getelementptr inbounds %LSlice, ptr %t16, i32 0, i32 1
store i32 0, ptr %t18
%t19 = getelementptr inbounds %LSlice, ptr %t16, i32 0, i32 2
store i32 0, ptr %t19
store ptr %t16, ptr @g_loc_reg
%t20 = getelementptr %LSlice, ptr null, i32 1
%t21 = ptrtoint ptr %t20 to i64
%t22 = call ptr @malloc(i64 %t21)
%t23 = getelementptr inbounds %LSlice, ptr %t22, i32 0, i32 0
store ptr null, ptr %t23
%t24 = getelementptr inbounds %LSlice, ptr %t22, i32 0, i32 1
store i32 0, ptr %t24
%t25 = getelementptr inbounds %LSlice, ptr %t22, i32 0, i32 2
store i32 0, ptr %t25
store ptr %t22, ptr @g_loc_ty
%t26 = getelementptr %LSlice, ptr null, i32 1
%t27 = ptrtoint ptr %t26 to i64
%t28 = call ptr @malloc(i64 %t27)
%t29 = getelementptr inbounds %LSlice, ptr %t28, i32 0, i32 0
store ptr null, ptr %t29
%t30 = getelementptr inbounds %LSlice, ptr %t28, i32 0, i32 1
store i32 0, ptr %t30
%t31 = getelementptr inbounds %LSlice, ptr %t28, i32 0, i32 2
store i32 0, ptr %t31
store ptr %t28, ptr @g_loc_mut
%t32 = getelementptr %LSlice, ptr null, i32 1
%t33 = ptrtoint ptr %t32 to i64
%t34 = call ptr @malloc(i64 %t33)
%t35 = getelementptr inbounds %LSlice, ptr %t34, i32 0, i32 0
store ptr null, ptr %t35
%t36 = getelementptr inbounds %LSlice, ptr %t34, i32 0, i32 1
store i32 0, ptr %t36
%t37 = getelementptr inbounds %LSlice, ptr %t34, i32 0, i32 2
store i32 0, ptr %t37
store ptr %t34, ptr @g_brk_lbl
%t38 = getelementptr %LSlice, ptr null, i32 1
%t39 = ptrtoint ptr %t38 to i64
%t40 = call ptr @malloc(i64 %t39)
%t41 = getelementptr inbounds %LSlice, ptr %t40, i32 0, i32 0
store ptr null, ptr %t41
%t42 = getelementptr inbounds %LSlice, ptr %t40, i32 0, i32 1
store i32 0, ptr %t42
%t43 = getelementptr inbounds %LSlice, ptr %t40, i32 0, i32 2
store i32 0, ptr %t43
store ptr %t40, ptr @g_cnt_lbl
%t44 = getelementptr %LSlice, ptr null, i32 1
%t45 = ptrtoint ptr %t44 to i64
%t46 = call ptr @malloc(i64 %t45)
%t47 = getelementptr inbounds %LSlice, ptr %t46, i32 0, i32 0
store ptr null, ptr %t47
%t48 = getelementptr inbounds %LSlice, ptr %t46, i32 0, i32 1
store i32 0, ptr %t48
%t49 = getelementptr inbounds %LSlice, ptr %t46, i32 0, i32 2
store i32 0, ptr %t49
store ptr %t46, ptr @g_self_stk
%t50 = getelementptr %LSlice, ptr null, i32 1
%t51 = ptrtoint ptr %t50 to i64
%t52 = call ptr @malloc(i64 %t51)
%t53 = getelementptr inbounds %LSlice, ptr %t52, i32 0, i32 0
store ptr null, ptr %t53
%t54 = getelementptr inbounds %LSlice, ptr %t52, i32 0, i32 1
store i32 0, ptr %t54
%t55 = getelementptr inbounds %LSlice, ptr %t52, i32 0, i32 2
store i32 0, ptr %t55
store ptr %t52, ptr @g_mach_stk
call void @fn_emit_header()
call void @fn_emit_extern_decls()
%t56 = call i32 @fn_has_ecs()
%t57 = icmp ne i32 %t56, 0
br i1 %t57, label %then0, label %ifend2
then0:
call void @fn_emit_ecs_storage()
br label %ifend2
ifend2:
store i32 0, ptr %t58
br label %wcond3
wcond3:
%t59 = load i32, ptr %t58
%t60 = load ptr, ptr @g_prog
%t61 = getelementptr inbounds %LSlice, ptr %t60, i32 0, i32 1
%t62 = load i32, ptr %t61
%t63 = icmp slt i32 %t59, %t62
%t64 = zext i1 %t63 to i32
%t65 = icmp ne i32 %t64, 0
br i1 %t65, label %wbody4, label %wend5
wbody4:
%t66 = load ptr, ptr @g_prog
%t67 = getelementptr inbounds %LSlice, ptr %t66, i32 0, i32 0
%t68 = load ptr, ptr %t67
%t69 = load i32, ptr %t58
%t70 = getelementptr inbounds ptr, ptr %t68, i32 %t69
%t71 = load ptr, ptr %t70
%t72 = getelementptr inbounds %Cmp_Node, ptr %t71, i32 0, i32 0
%t73 = load i32, ptr %t72
%t74 = icmp eq i32 %t73, 4
%t75 = zext i1 %t74 to i32
%t76 = icmp ne i32 %t75, 0
br i1 %t76, label %then6, label %ifend8
then6:
%t77 = load i32, ptr %t58
%t78 = load i32, ptr @g_g_prog_user_end
%t79 = icmp slt i32 %t77, %t78
%t80 = zext i1 %t79 to i32
store i32 %t80, ptr @g_g_cov_active
%t81 = load ptr, ptr @g_prog
%t82 = getelementptr inbounds %LSlice, ptr %t81, i32 0, i32 0
%t83 = load ptr, ptr %t82
%t84 = load i32, ptr %t58
%t85 = getelementptr inbounds ptr, ptr %t83, i32 %t84
%t86 = load ptr, ptr %t85
call void @fn_emit_fn(ptr %t86)
store i32 1, ptr @g_g_cov_active
br label %ifend8
ifend8:
%t87 = load i32, ptr %t58
%t88 = add i32 %t87, 1
store i32 %t88, ptr %t58
br label %wcond3
wend5:
%t89 = load ptr, ptr @g_g_events
%t90 = getelementptr inbounds %LSlice, ptr %t89, i32 0, i32 1
%t91 = load i32, ptr %t90
%t92 = icmp sgt i32 %t91, 0
%t93 = zext i1 %t92 to i32
%t94 = icmp ne i32 %t93, 0
br i1 %t94, label %then9, label %ifend11
then9:
call void @fn_emit_event_fns()
br label %ifend11
ifend11:
%t96 = call i32 @fn_has_ecs()
%t97 = icmp ne i32 %t96, 0
%t98 = zext i1 %t97 to i32
store i32 %t98, ptr %t95
br i1 %t97, label %sc12, label %scend13
sc12:
%t102 = load ptr, ptr @g_g_events
%t103 = getelementptr inbounds %LSlice, ptr %t102, i32 0, i32 1
%t104 = load i32, ptr %t103
%t105 = icmp sgt 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 %t101
br i1 %t107, label %scend15, label %sc14
sc14:
%t109 = load i32, ptr @g_g_uses_query
%t110 = icmp ne i32 %t109, 0
%t111 = zext i1 %t110 to i32
store i32 %t111, ptr %t101
br label %scend15
scend15:
%t112 = load i32, ptr %t101
%t113 = icmp ne i32 %t112, 0
%t114 = zext i1 %t113 to i32
store i32 %t114, ptr %t100
br i1 %t113, label %scend17, label %sc16
sc16:
%t115 = load i32, ptr @g_g_uses_reflect
%t116 = icmp ne i32 %t115, 0
%t117 = zext i1 %t116 to i32
store i32 %t117, ptr %t100
br label %scend17
scend17:
%t118 = load i32, ptr %t100
%t119 = icmp ne i32 %t118, 0
%t120 = zext i1 %t119 to i32
store i32 %t120, ptr %t99
br i1 %t119, label %scend19, label %sc18
sc18:
%t121 = load i32, ptr @g_g_uses_esys
%t122 = icmp ne i32 %t121, 0
%t123 = zext i1 %t122 to i32
store i32 %t123, ptr %t99
br label %scend19
scend19:
%t124 = load i32, ptr %t99
%t125 = icmp ne i32 %t124, 0
%t126 = zext i1 %t125 to i32
store i32 %t126, ptr %t95
br label %scend13
scend13:
%t127 = load i32, ptr %t95
%t128 = icmp ne i32 %t127, 0
br i1 %t128, label %then20, label %ifend22
then20:
call void @fn_emit_world_table()
br label %ifend22
ifend22:
%t129 = call i32 @fn_has_ecs()
%t130 = icmp ne i32 %t129, 0
br i1 %t130, label %then23, label %ifend25
then23:
call void @fn_emit_ecs_allocator()
call void @fn_emit_snapshot()
br label %ifend25
ifend25:
%t131 = call i32 @fn_has_ecs()
%t132 = icmp ne i32 %t131, 0
br i1 %t132, label %then26, label %ifend28
then26:
call void @fn_emit_net()
br label %ifend28
ifend28:
%t133 = call i32 @fn_has_ui()
%t134 = icmp ne i32 %t133, 0
br i1 %t134, label %then29, label %ifend31
then29:
call void @fn_emit_ui_build()
br label %ifend31
ifend31:
%t135 = load ptr, ptr @g_g_tests
%t136 = getelementptr inbounds %LSlice, ptr %t135, i32 0, i32 1
%t137 = load i32, ptr %t136
%t138 = icmp sgt i32 %t137, 0
%t139 = zext i1 %t138 to i32
%t140 = icmp ne i32 %t139, 0
br i1 %t140, label %then32, label %else33
then32:
%t141 = call i32 @fn_has_systems()
%t142 = icmp ne i32 %t141, 0
br i1 %t142, label %then35, label %ifend37
then35:
call void @fn_emit_game_defs()
br label %ifend37
ifend37:
call void @fn_emit_test_runner()
br label %ifend34
else33:
%t144 = call i32 @fn_has_systems()
%t145 = icmp ne i32 %t144, 0
%t146 = zext i1 %t145 to i32
store i32 %t146, ptr %t143
br i1 %t145, label %sc38, label %scend39
sc38:
%t147 = call i32 @fn_has_entry()
%t148 = icmp ne i32 %t147, 0
%t149 = zext i1 %t148 to i32
store i32 %t149, ptr %t143
br label %scend39
scend39:
%t150 = load i32, ptr %t143
%t151 = icmp ne i32 %t150, 0
br i1 %t151, label %then40, label %else41
then40:
call void @fn_emit_game_defs()
store i32 0, ptr %t58
br label %wcond43
wcond43:
%t152 = load i32, ptr %t58
%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 %wbody44, label %wend45
wbody44:
%t159 = load ptr, ptr @g_prog
%t160 = getelementptr inbounds %LSlice, ptr %t159, i32 0, i32 0
%t161 = load ptr, ptr %t160
%t162 = load i32, ptr %t58
%t163 = getelementptr inbounds ptr, ptr %t161, i32 %t162
%t164 = load ptr, ptr %t163
%t165 = getelementptr inbounds %Cmp_Node, ptr %t164, i32 0, i32 0
%t166 = load i32, ptr %t165
%t167 = icmp eq i32 %t166, 6
%t168 = zext i1 %t167 to i32
%t169 = icmp ne i32 %t168, 0
br i1 %t169, label %then46, label %ifend48
then46:
%t170 = load ptr, ptr @g_prog
%t171 = getelementptr inbounds %LSlice, ptr %t170, i32 0, i32 0
%t172 = load ptr, ptr %t171
%t173 = load i32, ptr %t58
%t174 = getelementptr inbounds ptr, ptr %t172, i32 %t173
%t175 = load ptr, ptr %t174
call void @fn_emit_main(ptr %t175)
br label %ifend48
ifend48:
%t176 = load i32, ptr %t58
%t177 = add i32 %t176, 1
store i32 %t177, ptr %t58
br label %wcond43
wend45:
br label %ifend42
else41:
%t178 = call i32 @fn_has_systems()
%t179 = icmp ne i32 %t178, 0
br i1 %t179, label %then49, label %else50
then49:
call void @fn_emit_game_main()
br label %ifend51
else50:
store i32 0, ptr %t58
br label %wcond52
wcond52:
%t180 = load i32, ptr %t58
%t181 = load ptr, ptr @g_prog
%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 %wbody53, label %wend54
wbody53:
%t187 = load ptr, ptr @g_prog
%t188 = getelementptr inbounds %LSlice, ptr %t187, i32 0, i32 0
%t189 = load ptr, ptr %t188
%t190 = load i32, ptr %t58
%t191 = getelementptr inbounds ptr, ptr %t189, i32 %t190
%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 %then55, label %ifend57
then55:
%t198 = load ptr, ptr @g_prog
%t199 = getelementptr inbounds %LSlice, ptr %t198, i32 0, i32 0
%t200 = load ptr, ptr %t199
%t201 = load i32, ptr %t58
%t202 = getelementptr inbounds ptr, ptr %t200, i32 %t201
%t203 = load ptr, ptr %t202
call void @fn_emit_main(ptr %t203)
br label %ifend57
ifend57:
%t204 = load i32, ptr %t58
%t205 = add i32 %t204, 1
store i32 %t205, ptr %t58
br label %wcond52
wend54:
br label %ifend51
ifend51:
br label %ifend42
ifend42:
br label %ifend34
ifend34:
%t206 = load i32, ptr @g_g_uses_loopback
%t207 = icmp ne i32 %t206, 0
br i1 %t207, label %then58, label %ifend60
then58:
call void @fn_emit_loopback()
br label %ifend60
ifend60:
%t208 = load i32, ptr @g_g_uses_str
%t209 = icmp ne i32 %t208, 0
br i1 %t209, label %then61, label %ifend63
then61:
call void @fn_emit_str_prelude()
br label %ifend63
ifend63:
%t210 = load i32, ptr @g_g_uses_intstr
%t211 = icmp ne i32 %t210, 0
br i1 %t211, label %then64, label %ifend66
then64:
call void @fn_emit_int_str()
br label %ifend66
ifend66:
%t212 = load i32, ptr @g_g_uses_longstr
%t213 = icmp ne i32 %t212, 0
br i1 %t213, label %then67, label %ifend69
then67:
call void @fn_emit_long_str()
br label %ifend69
ifend69:
%t214 = load i32, ptr @g_g_uses_strslice
%t215 = icmp ne i32 %t214, 0
br i1 %t215, label %then70, label %ifend72
then70:
call void @fn_emit_str_slice()
br label %ifend72
ifend72:
%t216 = load i32, ptr @g_g_uses_mathrt
%t217 = icmp ne i32 %t216, 0
br i1 %t217, label %then73, label %ifend75
then73:
call void @fn_emit_math_prelude()
br label %ifend75
ifend75:
%t218 = load i32, ptr @g_g_uses_textrt
%t219 = icmp ne i32 %t218, 0
br i1 %t219, label %then76, label %ifend78
then76:
call void @fn_emit_text_prelude()
br label %ifend78
ifend78:
%t220 = load i32, ptr @g_g_uses_textrt2
%t221 = icmp ne i32 %t220, 0
br i1 %t221, label %then79, label %ifend81
then79:
call void @fn_emit_text2_prelude()
br label %ifend81
ifend81:
%t222 = load i32, ptr @g_g_uses_hashrt
%t223 = icmp ne i32 %t222, 0
br i1 %t223, label %then82, label %ifend84
then82:
call void @fn_emit_hash_prelude()
br label %ifend84
ifend84:
%t224 = load i32, ptr @g_g_uses_cryptort
%t225 = icmp ne i32 %t224, 0
br i1 %t225, label %then85, label %ifend87
then85:
call void @fn_emit_crypto_prelude()
br label %ifend87
ifend87:
%t226 = load i32, ptr @g_g_uses_uuidrt
%t227 = icmp ne i32 %t226, 0
br i1 %t227, label %then88, label %ifend90
then88:
call void @fn_emit_uuid_prelude()
br label %ifend90
ifend90:
%t228 = load i32, ptr @g_g_uses_noisert
%t229 = icmp ne i32 %t228, 0
br i1 %t229, label %then91, label %ifend93
then91:
call void @fn_emit_noise_prelude()
br label %ifend93
ifend93:
%t230 = load i32, ptr @g_g_uses_logrt
%t231 = icmp ne i32 %t230, 0
br i1 %t231, label %then94, label %ifend96
then94:
call void @fn_emit_log_prelude()
br label %ifend96
ifend96:
%t232 = load i32, ptr @g_g_uses_osrt
%t233 = icmp ne i32 %t232, 0
br i1 %t233, label %then97, label %ifend99
then97:
call void @fn_emit_os_prelude()
br label %ifend99
ifend99:
%t234 = load i32, ptr @g_g_uses_unicodert
%t235 = icmp ne i32 %t234, 0
br i1 %t235, label %then100, label %ifend102
then100:
call void @fn_emit_unicode_prelude()
br label %ifend102
ifend102:
%t236 = load i32, ptr @g_g_uses_fsrt
%t237 = icmp ne i32 %t236, 0
br i1 %t237, label %then103, label %ifend105
then103:
call void @fn_emit_fs_prelude()
br label %ifend105
ifend105:
%t238 = load i32, ptr @g_g_uses_datert
%t239 = icmp ne i32 %t238, 0
br i1 %t239, label %then106, label %ifend108
then106:
call void @fn_emit_datetime_prelude()
br label %ifend108
ifend108:
%t240 = load i32, ptr @g_g_uses_panic
%t241 = icmp ne i32 %t240, 0
br i1 %t241, label %then109, label %ifend111
then109:
call void @fn_emith(ptr @.str8602)
call void @fn_emith(ptr @.str8603)
br label %ifend111
ifend111:
%t242 = load i32, ptr @g_g_uses_result
%t243 = icmp ne i32 %t242, 0
br i1 %t243, label %then112, label %ifend114
then112:
call void @fn_emith(ptr @.str8604)
br label %ifend114
ifend114:
call void @fn_emit_cov_runtime()
br label %ret
ret:
ret void
}
define void @fn_emit_cov_runtime() {
entry:
%t7 = alloca i32
%t14 = alloca ptr
%t16 = alloca i32
%t41 = alloca ptr
%t43 = alloca ptr
%t45 = alloca ptr
%t47 = alloca ptr
%t0 = load i32, ptr @g_g_coverage
%t1 = icmp eq i32 %t0, 0
%t2 = zext i1 %t1 to i32
%t3 = icmp ne i32 %t2, 0
br i1 %t3, label %then0, label %ifend2
then0:
br label %ret
ifend2:
%t4 = load ptr, ptr @g_g_cov_lines
%t5 = getelementptr inbounds %LSlice, ptr %t4, i32 0, i32 1
%t6 = load i32, ptr %t5
store i32 %t6, ptr %t7
%t8 = load i32, ptr %t7
%t9 = icmp eq i32 %t8, 0
%t10 = zext i1 %t9 to i32
%t11 = icmp ne i32 %t10, 0
br i1 %t11, label %then3, label %ifend5
then3:
br label %ret
ifend5:
%t12 = load i32, ptr %t7
%t13 = call ptr @fn_itoa(i32 %t12)
store ptr %t13, ptr %t14
call void @fn_emith(ptr @.str8605)
%t15 = load ptr, ptr %t14
call void @fn_emith(ptr %t15)
call void @fn_emith(ptr @.str8606)
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 @.str8607)
br label %ifend11
ifend11:
call void @fn_emith(ptr @.str8608)
%t26 = load ptr, ptr @g_g_cov_lines
%t27 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 0
%t28 = load ptr, ptr %t27
%t29 = load i32, ptr %t16
%t30 = getelementptr inbounds i32, ptr %t28, i32 %t29
%t31 = load i32, ptr %t30
%t32 = call ptr @fn_itoa(i32 %t31)
call void @fn_emith(ptr %t32)
%t33 = load i32, ptr %t16
%t34 = add i32 %t33, 1
store i32 %t34, ptr %t16
br label %wcond6
wend8:
call void @fn_emith(ptr @.str8609)
call void @fn_emith(ptr @.str8610)
%t35 = load ptr, ptr %t14
call void @fn_emith(ptr %t35)
call void @fn_emith(ptr @.str8611)
%t36 = load ptr, ptr %t14
%t37 = call ptr @fn_str_concat(ptr @.str8612, ptr %t36)
%t38 = call ptr @fn_str_concat(ptr %t37, ptr @.str8613)
call void @fn_emith(ptr %t38)
%t39 = load ptr, ptr @g_g_src_name
%t40 = call ptr @fn_emit_str_const(ptr %t39)
store ptr %t40, ptr %t41
%t42 = call ptr @fn_emit_str_const(ptr @.str8614)
store ptr %t42, ptr %t43
%t44 = call ptr @fn_emit_str_const(ptr @.str8615)
store ptr %t44, ptr %t45
%t46 = call ptr @fn_emit_str_const(ptr @.str8616)
store ptr %t46, ptr %t47
call void @fn_emith(ptr @.str8617)
call void @fn_emith(ptr @.str8618)
%t48 = load i32, ptr @g_g_uses_panic
%t49 = icmp eq i32 %t48, 0
%t50 = zext i1 %t49 to i32
%t51 = icmp ne i32 %t50, 0
br i1 %t51, label %then12, label %ifend14
then12:
call void @fn_emith(ptr @.str8619)
br label %ifend14
ifend14:
call void @fn_emith(ptr @.str8620)
call void @fn_emit(ptr @.str8621)
%t52 = load ptr, ptr %t43
%t53 = call ptr @fn_str_concat(ptr @.str8622, ptr %t52)
%t54 = call ptr @fn_str_concat(ptr %t53, ptr @.str8623)
call void @fn_emit(ptr %t54)
call void @fn_emit(ptr @.str8624)
%t55 = load ptr, ptr %t45
%t56 = call ptr @fn_str_concat(ptr @.str8625, ptr %t55)
%t57 = call ptr @fn_str_concat(ptr %t56, ptr @.str8626)
call void @fn_emit(ptr %t57)
%t58 = load ptr, ptr %t47
%t59 = call ptr @fn_str_concat(ptr @.str8627, ptr %t58)
%t60 = call ptr @fn_str_concat(ptr %t59, ptr @.str8628)
call void @fn_emit(ptr %t60)
call void @fn_emit(ptr @.str8629)
call void @fn_emit(ptr @.str8630)
call void @fn_emit(ptr @.str8631)
%t61 = load ptr, ptr %t41
%t62 = call ptr @fn_str_concat(ptr @.str8632, ptr %t61)
%t63 = call ptr @fn_str_concat(ptr %t62, ptr @.str8633)
call void @fn_emit(ptr %t63)
call void @fn_emit(ptr @.str8634)
call void @fn_emit(ptr @.str8635)
call void @fn_emit(ptr @.str8636)
%t64 = load ptr, ptr %t14
%t65 = call ptr @fn_str_concat(ptr @.str8637, ptr %t64)
%t66 = call ptr @fn_str_concat(ptr %t65, ptr @.str8638)
call void @fn_emit(ptr %t66)
call void @fn_emit(ptr @.str8639)
call void @fn_emit(ptr @.str8640)
call void @fn_emit(ptr @.str8641)
%t67 = load ptr, ptr %t14
call void @fn_emit(ptr %t67)
call void @fn_emit(ptr @.str8642)
call void @fn_emit(ptr @.str8643)
call void @fn_emit(ptr @.str8644)
%t68 = load ptr, ptr %t14
call void @fn_emit(ptr %t68)
call void @fn_emit(ptr @.str8645)
call void @fn_emit(ptr @.str8646)
call void @fn_emit(ptr @.str8647)
call void @fn_emit(ptr @.str8648)
call void @fn_emit(ptr @.str8649)
call void @fn_emit(ptr @.str8650)
call void @fn_emit(ptr @.str8651)
call void @fn_emit(ptr @.str8652)
call void @fn_emit(ptr @.str8653)
call void @fn_emit(ptr @.str8654)
call void @fn_emit(ptr @.str8655)
call void @fn_emit(ptr @.str8656)
call void @fn_emith(ptr @.str8657)
br label %ret
ret:
ret void
}
define i32 @fn_ir_flush(ptr %arg_path) {
entry:
%retval = alloca i32
%t0 = alloca ptr
%t3 = alloca ptr
%t6 = alloca ptr
%t12 = alloca ptr
%t31 = alloca ptr
store ptr %arg_path, ptr %t0
%t1 = load ptr, ptr @g_head
%t2 = call ptr @fn_buf_str(ptr %t1)
store ptr %t2, ptr %t3
%t4 = load ptr, ptr @g_code
%t5 = call ptr @fn_buf_str(ptr %t4)
store ptr %t5, ptr %t6
%t7 = load ptr, ptr %t0
%t8 = icmp eq ptr %t7, null
%t9 = zext i1 %t8 to i32
%t10 = icmp ne i32 %t9, 0
br i1 %t10, label %then0, label %ifend2
then0:
%t11 = load ptr, ptr @__stdoutp
store ptr %t11, ptr %t12
%t13 = load ptr, ptr %t12
%t14 = load ptr, ptr %t3
%t15 = load ptr, ptr %t3
%t16 = call i64 @strlen(ptr %t15)
%t17 = trunc i64 %t16 to i32
%t18 = zext i32 %t17 to i64
%t19 = call i64 @fwrite(ptr %t14, i64 1, i64 %t18, ptr %t13)
%t20 = trunc i64 %t19 to i32
%t21 = load ptr, ptr %t12
%t22 = load ptr, ptr %t6
%t23 = load ptr, ptr %t6
%t24 = call i64 @strlen(ptr %t23)
%t25 = trunc i64 %t24 to i32
%t26 = zext i32 %t25 to i64
%t27 = call i64 @fwrite(ptr %t22, i64 1, i64 %t26, ptr %t21)
%t28 = trunc i64 %t27 to i32
store i32 1, ptr %retval
br label %ret
ifend2:
%t29 = load ptr, ptr %t0
%t30 = call ptr @fopen(ptr %t29, ptr @.str8658)
store ptr %t30, ptr %t31
%t32 = load ptr, ptr %t31
%t33 = icmp eq ptr %t32, null
%t34 = zext i1 %t33 to i32
%t35 = icmp ne i32 %t34, 0
br i1 %t35, label %then3, label %ifend5
then3:
store i32 0, ptr %retval
br label %ret
ifend5:
%t36 = load ptr, ptr %t31
%t37 = load ptr, ptr %t3
%t38 = load ptr, ptr %t3
%t39 = call i64 @strlen(ptr %t38)
%t40 = trunc i64 %t39 to i32
%t41 = zext i32 %t40 to i64
%t42 = call i64 @fwrite(ptr %t37, i64 1, i64 %t41, ptr %t36)
%t43 = trunc i64 %t42 to i32
%t44 = load ptr, ptr %t31
%t45 = load ptr, ptr %t6
%t46 = load ptr, ptr %t6
%t47 = call i64 @strlen(ptr %t46)
%t48 = trunc i64 %t47 to i32
%t49 = zext i32 %t48 to i64
%t50 = call i64 @fwrite(ptr %t45, i64 1, i64 %t49, ptr %t44)
%t51 = trunc i64 %t50 to i32
%t52 = load ptr, ptr %t31
call i32 @fclose(ptr %t52)
store i32 1, ptr %retval
br label %ret
ret:
%t53 = load i32, ptr %retval
ret i32 %t53
}
define ptr @fn_base_name(ptr %arg_path) {
entry:
%retval = alloca ptr
%t0 = alloca ptr
%t2 = alloca i32
%t3 = alloca i32
store ptr %arg_path, ptr %t0
%t1 = sub i32 0, 1
store i32 %t1, ptr %t2
store i32 0, ptr %t3
br label %wcond0
wcond0:
%t4 = load ptr, ptr %t0
%t5 = load i32, ptr %t3
%t6 = getelementptr inbounds i8, ptr %t4, i32 %t5
%t7 = load i8, ptr %t6
%t8 = zext i8 %t7 to i32
%t9 = icmp ne i32 %t8, 0
%t10 = zext i1 %t9 to i32
%t11 = icmp ne i32 %t10, 0
br i1 %t11, label %wbody1, label %wend2
wbody1:
%t12 = load ptr, ptr %t0
%t13 = load i32, ptr %t3
%t14 = getelementptr inbounds i8, ptr %t12, i32 %t13
%t15 = load i8, ptr %t14
%t16 = zext i8 %t15 to i32
%t17 = icmp eq i32 %t16, 47
%t18 = zext i1 %t17 to i32
%t19 = icmp ne i32 %t18, 0
br i1 %t19, label %then3, label %ifend5
then3:
%t20 = load i32, ptr %t3
store i32 %t20, ptr %t2
br label %ifend5
ifend5:
%t21 = load i32, ptr %t3
%t22 = add i32 %t21, 1
store i32 %t22, ptr %t3
br label %wcond0
wend2:
%t23 = load ptr, ptr %t0
%t24 = load i32, ptr %t2
%t25 = add i32 %t24, 1
%t26 = load i32, ptr %t3
%t27 = call ptr @fn_str_slice(ptr %t23, i32 %t25, i32 %t26)
store ptr %t27, ptr %retval
br label %ret
ret:
%t28 = load ptr, ptr %retval
ret ptr %t28
}
define ptr @fn_strip_ludic(ptr %arg_name) {
entry:
%retval = alloca ptr
%t0 = alloca ptr
%t4 = alloca i32
store ptr %arg_name, ptr %t0
%t1 = load ptr, ptr %t0
%t2 = call i64 @strlen(ptr %t1)
%t3 = trunc i64 %t2 to i32
store i32 %t3, ptr %t4
%t5 = load i32, ptr %t4
%t6 = icmp sgt i32 %t5, 6
%t7 = zext i1 %t6 to i32
%t8 = icmp ne i32 %t7, 0
br i1 %t8, label %then0, label %ifend2
then0:
%t9 = load ptr, ptr %t0
%t10 = load i32, ptr %t4
%t11 = sub i32 %t10, 6
%t12 = load i32, ptr %t4
%t13 = call ptr @fn_str_slice(ptr %t9, i32 %t11, i32 %t12)
%t14 = call i32 @fn_str_eq(ptr %t13, ptr @.str8659)
%t15 = icmp ne i32 %t14, 0
br i1 %t15, label %then3, label %ifend5
then3:
%t16 = load ptr, ptr %t0
%t17 = load i32, ptr %t4
%t18 = sub i32 %t17, 6
%t19 = call ptr @fn_str_slice(ptr %t16, i32 0, i32 %t18)
store ptr %t19, ptr %retval
br label %ret
ifend5:
br label %ifend2
ifend2:
%t20 = load ptr, ptr %t0
store ptr %t20, ptr %retval
br label %ret
ret:
%t21 = load ptr, ptr %retval
ret ptr %t21
}
define ptr @fn_getenv_or(ptr %arg_name, ptr %arg_dflt) {
entry:
%retval = alloca ptr
%t0 = alloca ptr
%t1 = alloca ptr
%t4 = alloca ptr
store ptr %arg_name, ptr %t0
store ptr %arg_dflt, ptr %t1
%t2 = load ptr, ptr %t0
%t3 = call ptr @getenv(ptr %t2)
store ptr %t3, ptr %t4
%t5 = load ptr, ptr %t4
%t6 = icmp eq ptr %t5, null
%t7 = zext i1 %t6 to i32
%t8 = icmp ne i32 %t7, 0
br i1 %t8, label %then0, label %ifend2
then0:
%t9 = load ptr, ptr %t1
store ptr %t9, ptr %retval
br label %ret
ifend2:
%t10 = load ptr, ptr %t4
store ptr %t10, ptr %retval
br label %ret
ret:
%t11 = load ptr, ptr %retval
ret ptr %t11
}
define ptr @fn_ensure_slash(ptr %arg_d) {
entry:
%retval = alloca ptr
%t0 = alloca ptr
%t4 = alloca i32
store ptr %arg_d, ptr %t0
%t1 = load ptr, ptr %t0
%t2 = call i64 @strlen(ptr %t1)
%t3 = trunc i64 %t2 to i32
store i32 %t3, ptr %t4
%t5 = load i32, ptr %t4
%t6 = icmp eq i32 %t5, 0
%t7 = zext i1 %t6 to i32
%t8 = icmp ne i32 %t7, 0
br i1 %t8, label %then0, label %ifend2
then0:
%t9 = load ptr, ptr %t0
store ptr %t9, ptr %retval
br label %ret
ifend2:
%t10 = load ptr, ptr %t0
%t11 = load i32, ptr %t4
%t12 = sub i32 %t11, 1
%t13 = getelementptr inbounds i8, ptr %t10, i32 %t12
%t14 = load i8, ptr %t13
%t15 = zext i8 %t14 to i32
%t16 = icmp eq i32 %t15, 47
%t17 = zext i1 %t16 to i32
%t18 = icmp ne i32 %t17, 0
br i1 %t18, label %then3, label %ifend5
then3:
%t19 = load ptr, ptr %t0
store ptr %t19, ptr %retval
br label %ret
ifend5:
%t20 = load ptr, ptr %t0
%t21 = call ptr @fn_str_concat(ptr %t20, ptr @.str8660)
store ptr %t21, ptr %retval
br label %ret
ret:
%t22 = load ptr, ptr %retval
ret ptr %t22
}
define void @fn_die(ptr %arg_msg) {
entry:
%t0 = alloca ptr
store ptr %arg_msg, ptr %t0
%t1 = load ptr, ptr @__stderrp
%t2 = load ptr, ptr %t0
%t3 = load ptr, ptr %t0
%t4 = call i64 @strlen(ptr %t3)
%t5 = trunc i64 %t4 to i32
%t6 = zext i32 %t5 to i64
%t7 = call i64 @fwrite(ptr %t2, i64 1, i64 %t6, ptr %t1)
%t8 = trunc i64 %t7 to i32
call void @exit(i32 1)
unreachable
ret:
ret void
}
define ptr @fn_chomp(ptr %arg_s) {
entry:
%retval = alloca ptr
%t0 = alloca ptr
%t4 = alloca i32
%t5 = alloca i32
%t11 = alloca i32
%t12 = alloca i32
store ptr %arg_s, ptr %t0
%t1 = load ptr, ptr %t0
%t2 = call i64 @strlen(ptr %t1)
%t3 = trunc i64 %t2 to i32
store i32 %t3, ptr %t4
br label %wcond0
wcond0:
%t6 = load i32, ptr %t4
%t7 = icmp sgt i32 %t6, 0
%t8 = zext i1 %t7 to i32
%t9 = icmp ne i32 %t8, 0
%t10 = zext i1 %t9 to i32
store i32 %t10, ptr %t5
br i1 %t9, label %sc3, label %scend4
sc3:
%t13 = load ptr, ptr %t0
%t14 = load i32, ptr %t4
%t15 = sub i32 %t14, 1
%t16 = getelementptr inbounds i8, ptr %t13, i32 %t15
%t17 = load i8, ptr %t16
%t18 = zext i8 %t17 to i32
%t19 = icmp eq i32 %t18, 10
%t20 = zext i1 %t19 to i32
%t21 = icmp ne i32 %t20, 0
%t22 = zext i1 %t21 to i32
store i32 %t22, ptr %t12
br i1 %t21, label %scend6, label %sc5
sc5:
%t23 = load ptr, ptr %t0
%t24 = load i32, ptr %t4
%t25 = sub i32 %t24, 1
%t26 = getelementptr inbounds i8, ptr %t23, i32 %t25
%t27 = load i8, ptr %t26
%t28 = zext i8 %t27 to i32
%t29 = icmp eq i32 %t28, 13
%t30 = zext i1 %t29 to i32
%t31 = icmp ne i32 %t30, 0
%t32 = zext i1 %t31 to i32
store i32 %t32, ptr %t12
br label %scend6
scend6:
%t33 = load i32, ptr %t12
%t34 = icmp ne i32 %t33, 0
%t35 = zext i1 %t34 to i32
store i32 %t35, ptr %t11
br i1 %t34, label %scend8, label %sc7
sc7:
%t36 = load ptr, ptr %t0
%t37 = load i32, ptr %t4
%t38 = sub i32 %t37, 1
%t39 = getelementptr inbounds i8, ptr %t36, i32 %t38
%t40 = load i8, ptr %t39
%t41 = zext i8 %t40 to i32
%t42 = icmp eq i32 %t41, 32
%t43 = zext i1 %t42 to i32
%t44 = icmp ne i32 %t43, 0
%t45 = zext i1 %t44 to i32
store i32 %t45, ptr %t11
br label %scend8
scend8:
%t46 = load i32, ptr %t11
%t47 = icmp ne i32 %t46, 0
%t48 = zext i1 %t47 to i32
store i32 %t48, ptr %t5
br label %scend4
scend4:
%t49 = load i32, ptr %t5
%t50 = icmp ne i32 %t49, 0
br i1 %t50, label %wbody1, label %wend2
wbody1:
%t51 = load i32, ptr %t4
%t52 = sub i32 %t51, 1
store i32 %t52, ptr %t4
br label %wcond0
wend2:
%t53 = load ptr, ptr %t0
%t54 = load i32, ptr %t4
%t55 = call ptr @fn_str_slice(ptr %t53, i32 0, i32 %t54)
store ptr %t55, ptr %retval
br label %ret
ret:
%t56 = load ptr, ptr %retval
ret ptr %t56
}
define void @fn_show_version() {
entry:
%t6 = alloca ptr
%t10 = alloca ptr
%t0 = load ptr, ptr @L_argv
%t1 = getelementptr ptr, ptr %t0, i32 0
%t2 = load ptr, ptr %t1
%t3 = call ptr @fn_dir_of(ptr %t2)
%t4 = call ptr @fn_getenv_or(ptr @.str8661, ptr %t3)
%t5 = call ptr @fn_ensure_slash(ptr %t4)
store ptr %t5, ptr %t6
%t7 = load ptr, ptr %t6
%t8 = call ptr @fn_path_join(ptr %t7, ptr @.str8662)
%t9 = call ptr @fn_read_file(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 %else1
then0:
call i32 (ptr, ...) @printf(ptr @.fmt_line, ptr @.str8663)
br label %ifend2
else1:
%t15 = load ptr, ptr %t10
%t16 = call ptr @fn_chomp(ptr %t15)
%t17 = call ptr @fn_str_concat(ptr @.str8664, ptr %t16)
call i32 (ptr, ...) @printf(ptr @.fmt_line, ptr %t17)
br label %ifend2
ifend2:
call void @exit(i32 0)
unreachable
ret:
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
%t13 = alloca i32
%t23 = alloca ptr
%t72 = alloca ptr
%t90 = alloca ptr
%t105 = alloca i32
%t115 = alloca i32
%t124 = alloca i32
%t141 = alloca i32
%t158 = alloca ptr
%t170 = alloca ptr
%t177 = alloca ptr
%t184 = alloca ptr
%t189 = alloca ptr
%t194 = alloca ptr
%t204 = alloca ptr
%t216 = alloca i32
%t232 = alloca i32
store i32 %argc, ptr @L_argc
store ptr %argv, ptr @L_argv
store i32 0, ptr %retval
store ptr null, ptr %t0
store ptr null, ptr %t1
store i32 0, ptr %t2
store i32 0, ptr %t3
store i32 0, ptr %t4
store i32 0, ptr %t5
store i32 0, ptr %t6
store i32 0, ptr @g_g_coverage
%t7 = load ptr, ptr @L_argv
%t8 = getelementptr ptr, ptr %t7, i32 0
%t9 = load ptr, ptr %t8
%t10 = call ptr @fn_base_name(ptr %t9)
%t11 = call i32 @fn_str_eq(ptr %t10, ptr @.str8665)
%t12 = icmp ne i32 %t11, 0
br i1 %t12, label %then0, label %ifend2
then0:
store i32 1, ptr %t6
br label %ifend2
ifend2:
store i32 1, ptr %t13
br label %wcond3
wcond3:
%t14 = load i32, ptr %t13
%t15 = load i32, ptr @L_argc
%t16 = icmp slt i32 %t14, %t15
%t17 = zext i1 %t16 to i32
%t18 = icmp ne i32 %t17, 0
br i1 %t18, label %wbody4, label %wend5
wbody4:
%t19 = load i32, ptr %t13
%t20 = load ptr, ptr @L_argv
%t21 = getelementptr ptr, ptr %t20, i32 %t19
%t22 = load ptr, ptr %t21
store ptr %t22, ptr %t23
%t24 = load ptr, ptr %t23
%t25 = call i32 @fn_str_eq(ptr %t24, ptr @.str8666)
%t26 = icmp ne i32 %t25, 0
br i1 %t26, label %then6, label %else7
then6:
call void @fn_show_version()
br label %ifend8
else7:
%t27 = load ptr, ptr %t23
%t28 = call i32 @fn_str_eq(ptr %t27, ptr @.str8667)
%t29 = icmp ne i32 %t28, 0
br i1 %t29, label %then9, label %else10
then9:
store i32 1, ptr %t2
br label %ifend11
else10:
%t30 = load ptr, ptr %t23
%t31 = call i32 @fn_str_eq(ptr %t30, ptr @.str8668)
%t32 = icmp ne i32 %t31, 0
br i1 %t32, label %then12, label %else13
then12:
store i32 2, ptr %t2
br label %ifend14
else13:
%t33 = load ptr, ptr %t23
%t34 = call i32 @fn_str_eq(ptr %t33, ptr @.str8669)
%t35 = icmp ne i32 %t34, 0
br i1 %t35, label %then15, label %else16
then15:
store i32 1, ptr %t3
br label %ifend17
else16:
%t36 = load ptr, ptr %t23
%t37 = call i32 @fn_str_eq(ptr %t36, ptr @.str8670)
%t38 = icmp ne i32 %t37, 0
br i1 %t38, label %then18, label %else19
then18:
store i32 1, ptr %t4
br label %ifend20
else19:
%t39 = load ptr, ptr %t23
%t40 = call i32 @fn_str_eq(ptr %t39, ptr @.str8671)
%t41 = icmp ne i32 %t40, 0
br i1 %t41, label %then21, label %else22
then21:
store i32 1, ptr %t5
br label %ifend23
else22:
%t42 = load ptr, ptr %t23
%t43 = call i32 @fn_str_eq(ptr %t42, ptr @.str8672)
%t44 = icmp ne i32 %t43, 0
br i1 %t44, label %then24, label %else25
then24:
store i32 1, ptr %t6
br label %ifend26
else25:
%t45 = load ptr, ptr %t23
%t46 = call i32 @fn_str_eq(ptr %t45, ptr @.str8673)
%t47 = icmp ne i32 %t46, 0
br i1 %t47, label %then27, label %else28
then27:
store i32 1, ptr @g_g_coverage
br label %ifend29
else28:
%t48 = load ptr, ptr %t23
%t49 = call i32 @fn_str_eq(ptr %t48, ptr @.str8674)
%t50 = icmp ne i32 %t49, 0
br i1 %t50, label %then30, label %else31
then30:
%t51 = load i32, ptr %t13
%t52 = add i32 %t51, 1
store i32 %t52, ptr %t13
%t53 = load i32, ptr %t13
%t54 = load i32, ptr @L_argc
%t55 = icmp slt i32 %t53, %t54
%t56 = zext i1 %t55 to i32
%t57 = icmp ne i32 %t56, 0
br i1 %t57, label %then33, label %ifend35
then33:
%t58 = load i32, ptr %t13
%t59 = load ptr, ptr @L_argv
%t60 = getelementptr ptr, ptr %t59, i32 %t58
%t61 = load ptr, ptr %t60
store ptr %t61, ptr %t1
br label %ifend35
ifend35:
br label %ifend32
else31:
%t62 = load ptr, ptr %t23
%t63 = getelementptr inbounds i8, ptr %t62, i32 0
%t64 = load i8, ptr %t63
%t65 = zext i8 %t64 to i32
%t66 = icmp eq i32 %t65, 45
%t67 = zext i1 %t66 to i32
%t68 = icmp ne i32 %t67, 0
br i1 %t68, label %then36, label %else37
then36:
%t69 = load ptr, ptr %t23
%t70 = call ptr @fn_str_concat(ptr @.str8675, ptr %t69)
%t71 = call ptr @fn_str_concat(ptr %t70, ptr @.str8676)
store ptr %t71, ptr %t72
%t73 = load ptr, ptr @__stderrp
%t74 = load ptr, ptr %t72
%t75 = load ptr, ptr %t72
%t76 = call i64 @strlen(ptr %t75)
%t77 = trunc i64 %t76 to i32
%t78 = zext i32 %t77 to i64
%t79 = call i64 @fwrite(ptr %t74, i64 1, i64 %t78, ptr %t73)
%t80 = trunc i64 %t79 to i32
br label %ifend38
else37:
%t81 = load ptr, ptr %t23
store ptr %t81, ptr %t0
br label %ifend38
ifend38:
br label %ifend32
ifend32:
br label %ifend29
ifend29:
br label %ifend26
ifend26:
br label %ifend23
ifend23:
br label %ifend20
ifend20:
br label %ifend17
ifend17:
br label %ifend14
ifend14:
br label %ifend11
ifend11:
br label %ifend8
ifend8:
%t82 = load i32, ptr %t13
%t83 = add i32 %t82, 1
store i32 %t83, ptr %t13
br label %wcond3
wend5:
%t84 = load ptr, ptr %t0
%t85 = icmp eq ptr %t84, null
%t86 = zext i1 %t85 to i32
%t87 = icmp ne i32 %t86, 0
br i1 %t87, label %then39, label %ifend41
then39:
call void @fn_die(ptr @.str8677)
br label %ifend41
ifend41:
%t88 = load ptr, ptr %t0
%t89 = call ptr @fn_read_file(ptr %t88)
store ptr %t89, ptr %t90
%t91 = load ptr, ptr %t90
%t92 = icmp eq ptr %t91, null
%t93 = zext i1 %t92 to i32
%t94 = icmp ne i32 %t93, 0
br i1 %t94, label %then42, label %ifend44
then42:
call void @fn_die(ptr @.str8678)
br label %ifend44
ifend44:
%t95 = load ptr, ptr %t0
%t96 = call ptr @fn_dir_of(ptr %t95)
store ptr %t96, ptr @g_cur_dir
%t97 = load ptr, ptr %t0
%t98 = call ptr @fn_base_name(ptr %t97)
store ptr %t98, ptr @g_g_src_name
%t99 = load ptr, ptr %t90
call void @fn_lex(ptr %t99)
call void @fn_parse_program()
%t100 = load ptr, ptr @g_prog
%t101 = getelementptr inbounds %LSlice, ptr %t100, i32 0, i32 1
%t102 = load i32, ptr %t101
store i32 %t102, ptr @g_g_prog_user_end
%t103 = load i32, ptr %t4
%t104 = icmp ne i32 %t103, 0
br i1 %t104, label %then45, label %ifend47
then45:
call void @exit(i32 0)
unreachable
ifend47:
call void @fn_maybe_splice_runtime()
%t106 = load i32, ptr %t6
%t107 = icmp ne i32 %t106, 0
%t108 = zext i1 %t107 to i32
store i32 %t108, ptr %t105
br i1 %t107, label %scend49, label %sc48
sc48:
%t109 = load ptr, ptr %t1
%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 %t105
br label %scend49
scend49:
%t114 = load i32, ptr %t105
store i32 %t114, ptr %t115
%t116 = load i32, ptr %t2
%t117 = icmp eq i32 %t116, 1
%t118 = zext i1 %t117 to i32
%t119 = icmp ne i32 %t118, 0
br i1 %t119, label %then50, label %else51
then50:
store i32 1, ptr @g_g_windowed
br label %ifend52
else51:
%t120 = load i32, ptr %t2
%t121 = icmp eq i32 %t120, 2
%t122 = zext i1 %t121 to i32
%t123 = icmp ne i32 %t122, 0
br i1 %t123, label %then53, label %else54
then53:
store i32 0, ptr @g_g_windowed
br label %ifend55
else54:
%t125 = load i32, ptr %t115
%t126 = icmp ne i32 %t125, 0
%t127 = zext i1 %t126 to i32
store i32 %t127, ptr %t124
br i1 %t126, label %sc56, label %scend57
sc56:
%t128 = call i32 @fn_has_systems()
%t129 = icmp ne i32 %t128, 0
%t130 = zext i1 %t129 to i32
store i32 %t130, ptr %t124
br label %scend57
scend57:
%t131 = load i32, ptr %t124
store i32 %t131, ptr @g_g_windowed
br label %ifend55
ifend55:
br label %ifend52
ifend52:
call void @fn_emit_program()
%t132 = load i32, ptr %t3
%t133 = icmp ne i32 %t132, 0
br i1 %t133, label %then58, label %ifend60
then58:
%t134 = load ptr, ptr %t1
%t135 = call i32 @fn_ir_flush(ptr %t134)
br label %ret
ifend60:
%t136 = load i32, ptr %t115
%t137 = icmp eq i32 %t136, 0
%t138 = zext i1 %t137 to i32
%t139 = icmp ne i32 %t138, 0
br i1 %t139, label %then61, label %ifend63
then61:
%t140 = call i32 @fn_ir_flush(ptr null)
br label %ret
ifend63:
%t142 = load i32, ptr %t6
%t143 = icmp ne i32 %t142, 0
%t144 = zext i1 %t143 to i32
store i32 %t144, ptr %t141
br i1 %t143, label %sc64, label %scend65
sc64:
%t145 = load ptr, ptr %t1
%t146 = icmp eq ptr %t145, null
%t147 = zext i1 %t146 to i32
%t148 = icmp ne i32 %t147, 0
%t149 = zext i1 %t148 to i32
store i32 %t149, ptr %t141
br label %scend65
scend65:
%t150 = load i32, ptr %t141
%t151 = icmp ne i32 %t150, 0
br i1 %t151, label %then66, label %ifend68
then66:
%t152 = load ptr, ptr %t0
%t153 = call ptr @fn_base_name(ptr %t152)
%t154 = call ptr @fn_strip_ludic(ptr %t153)
%t155 = call ptr @fn_str_concat(ptr @.str8679, ptr %t154)
store ptr %t155, ptr %t1
br label %ifend68
ifend68:
%t156 = load ptr, ptr %t1
%t157 = call ptr @fn_dir_of(ptr %t156)
store ptr %t157, ptr %t158
%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
br i1 %t164, label %then69, label %ifend71
then69:
%t165 = load ptr, ptr %t158
%t166 = call ptr @fn_str_concat(ptr @.str8680, ptr %t165)
%t167 = call i32 @system(ptr %t166)
br label %ifend71
ifend71:
%t168 = load ptr, ptr %t1
%t169 = call ptr @fn_str_concat(ptr %t168, ptr @.str8681)
store ptr %t169, ptr %t170
%t171 = load ptr, ptr %t170
%t172 = call i32 @fn_ir_flush(ptr %t171)
%t173 = icmp eq i32 %t172, 0
%t174 = zext i1 %t173 to i32
%t175 = icmp ne i32 %t174, 0
br i1 %t175, label %then72, label %ifend74
then72:
call void @fn_die(ptr @.str8682)
br label %ifend74
ifend74:
%t176 = call ptr @fn_getenv_or(ptr @.str8683, ptr @.str8684)
store ptr %t176, ptr %t177
%t178 = load ptr, ptr @L_argv
%t179 = getelementptr ptr, ptr %t178, i32 0
%t180 = load ptr, ptr %t179
%t181 = call ptr @fn_dir_of(ptr %t180)
%t182 = call ptr @fn_getenv_or(ptr @.str8685, ptr %t181)
%t183 = call ptr @fn_ensure_slash(ptr %t182)
store ptr %t183, ptr %t184
%t185 = load ptr, ptr %t177
%t186 = call ptr @fn_str_concat(ptr %t185, ptr @.str8686)
%t187 = load ptr, ptr %t170
%t188 = call ptr @fn_str_concat(ptr %t186, ptr %t187)
store ptr %t188, ptr %t189
%t190 = load i32, ptr @g_g_windowed
%t191 = icmp ne i32 %t190, 0
br i1 %t191, label %then75, label %ifend77
then75:
%t192 = load ptr, ptr %t184
%t193 = call ptr @fn_path_join(ptr %t192, ptr @.str8687)
store ptr %t193, ptr %t194
%t195 = load ptr, ptr %t189
%t196 = call ptr @fn_str_concat(ptr %t195, ptr @.str8688)
%t197 = load ptr, ptr %t194
%t198 = call ptr @fn_str_concat(ptr %t196, ptr %t197)
%t199 = call ptr @fn_str_concat(ptr %t198, ptr @.str8689)
store ptr %t199, ptr %t189
%t200 = load i32, ptr @g_g_uses_audio
%t201 = icmp ne i32 %t200, 0
br i1 %t201, label %then78, label %ifend80
then78:
%t202 = load ptr, ptr %t184
%t203 = call ptr @fn_path_join(ptr %t202, ptr @.str8690)
store ptr %t203, ptr %t204
%t205 = load ptr, ptr %t189
%t206 = call ptr @fn_str_concat(ptr %t205, ptr @.str8691)
%t207 = load ptr, ptr %t204
%t208 = call ptr @fn_str_concat(ptr %t206, ptr %t207)
%t209 = call ptr @fn_str_concat(ptr %t208, ptr @.str8692)
store ptr %t209, ptr %t189
br label %ifend80
ifend80:
br label %ifend77
ifend77:
%t210 = load ptr, ptr %t189
%t211 = call ptr @fn_str_concat(ptr %t210, ptr @.str8693)
%t212 = load ptr, ptr %t1
%t213 = call ptr @fn_str_concat(ptr %t211, ptr %t212)
store ptr %t213, ptr %t189
%t214 = load ptr, ptr %t189
%t215 = call i32 @system(ptr %t214)
store i32 %t215, ptr %t216
%t217 = load i32, ptr %t5
%t218 = icmp eq i32 %t217, 0
%t219 = zext i1 %t218 to i32
%t220 = icmp ne i32 %t219, 0
br i1 %t220, label %then81, label %ifend83
then81:
%t221 = load ptr, ptr %t170
%t222 = call ptr @fn_str_concat(ptr @.str8694, ptr %t221)
%t223 = call i32 @system(ptr %t222)
br label %ifend83
ifend83:
%t224 = load i32, ptr %t216
%t225 = icmp ne i32 %t224, 0
%t226 = zext i1 %t225 to i32
%t227 = icmp ne i32 %t226, 0
br i1 %t227, label %then84, label %ifend86
then84:
call void @fn_die(ptr @.str8695)
br label %ifend86
ifend86:
%t228 = load i32, ptr %t6
%t229 = icmp ne i32 %t228, 0
br i1 %t229, label %then87, label %ifend89
then87:
%t230 = load ptr, ptr %t1
%t231 = call i32 @system(ptr %t230)
store i32 %t231, ptr %t232
%t233 = load i32, ptr %t232
%t234 = lshr i32 %t233, 8
%t235 = and i32 %t234, 255
call void @exit(i32 %t235)
unreachable
ifend89:
br label %ret
ret:
%t236 = load i32, ptr %retval
ret i32 %t236
}