diff --git a/changes/windows-target.md b/changes/windows-target.md index dfbec5da..8bf8de09 100644 --- a/changes/windows-target.md +++ b/changes/windows-target.md @@ -26,6 +26,14 @@ type: feat clip, loops, volume, rate and a balance pan through the output matrix, RIFF WAVE in PCM or float. It reads a clip through the asset pack, so a bundled game's first `Audio.load` succeeds - AVAudioPlayer takes a filesystem path, which is why macOS cannot. +- **The CLI on Windows** — `ludic build`, `ludic run` and `ludic-dev build` work from a Windows + checkout. Every shell command the CLI issues runs through Git for Windows' bash + (`$LUDIC_BASH` names another), `compile_app` links through `ludicc -o`, and a checkout + bootstraps from the new `selfhost/ludicc.win.seed.ll`, which `ludic-dev reseed` now + writes beside the macOS seed. +- **`ludic bundle` on Windows** — `build//` holding a GUI-subsystem `.exe`, the + `game.lpak` and `packs.index`; an `.ico` beside `app icon` is compiled with `llvm-rc` and + linked in. `ludicc` gains `--gui` (no console behind the window) and `--link `. - **Not yet** — the splash and `App.set_icon` do nothing, and `Http.*` is still a macOS platform layer; a Windows build that uses it stops with a message saying so. - **`Gl.*` on Windows** — `gl_win.ll` makes a WGL 4.1 core context on a hidden window's DC, diff --git a/selfhost/ludicc.seed.ll b/selfhost/ludicc.seed.ll index 1fb3e40a..367aa5f1 100644 --- a/selfhost/ludicc.seed.ll +++ b/selfhost/ludicc.seed.ll @@ -11308,54 +11308,61 @@ declare void @hs_free(i32) @.str11120 = private unnamed_addr constant [6 x i8] c"--run\00" @.str11121 = private unnamed_addr constant [11 x i8] c"--coverage\00" @.str11122 = private unnamed_addr constant [9 x i8] c"--target\00" -@.str11123 = private unnamed_addr constant [3 x i8] c"-o\00" -@.str11124 = private unnamed_addr constant [31 x i8] c"ludicc: ignoring unknown flag \00" -@.str11125 = private unnamed_addr constant [2 x i8] c"\0A\00" -@.str11126 = private unnamed_addr constant [108 x i8] c"usage: ludicc [-o out] [--windowed|--headless] [--target triple] [--emit-llvm] [--save-temps]\0A\00" -@.str11127 = private unnamed_addr constant [8 x i8] c"windows\00" -@.str11128 = private unnamed_addr constant [27 x i8] c"ludicc: cannot open input\0A\00" -@.str11129 = private unnamed_addr constant [48 x i8] c"ludicc: Http.* is not available on Windows yet\0A\00" -@.str11130 = private unnamed_addr constant [5 x i8] c"TEMP\00" -@.str11131 = private unnamed_addr constant [2 x i8] c".\00" -@.str11132 = private unnamed_addr constant [12 x i8] c"/ludic-run-\00" -@.str11133 = private unnamed_addr constant [16 x i8] c"/tmp/ludic-run-\00" -@.str11134 = private unnamed_addr constant [5 x i8] c".exe\00" -@.str11135 = private unnamed_addr constant [5 x i8] c".exe\00" -@.str11136 = private unnamed_addr constant [4 x i8] c".ll\00" -@.str11137 = private unnamed_addr constant [25 x i8] c"ludicc: cannot write IR\0A\00" -@.str11138 = private unnamed_addr constant [27 x i8] c" -O2 -Wno-override-module \00" -@.str11139 = private unnamed_addr constant [24 x i8] c"runtime/native/win32.ll\00" -@.str11140 = private unnamed_addr constant [2 x i8] c" \00" -@.str11141 = private unnamed_addr constant [55 x i8] c" -luser32 -lgdi32 -lxinput -Wl,/ignore:importeddllmain\00" -@.str11142 = private unnamed_addr constant [28 x i8] c"runtime/native/audio_win.ll\00" -@.str11143 = private unnamed_addr constant [2 x i8] c" \00" -@.str11144 = private unnamed_addr constant [19 x i8] c" -lxaudio2 -lole32\00" -@.str11145 = private unnamed_addr constant [24 x i8] c"runtime/native/cocoa.ll\00" -@.str11146 = private unnamed_addr constant [2 x i8] c" \00" -@.str11147 = private unnamed_addr constant [79 x i8] c" -framework Cocoa -Wl,-needed_framework,GameController -Wl,-rpath,@loader_path\00" -@.str11148 = private unnamed_addr constant [24 x i8] c"runtime/native/audio.ll\00" -@.str11149 = private unnamed_addr constant [2 x i8] c" \00" -@.str11150 = private unnamed_addr constant [36 x i8] c" -Wl,-needed_framework,AVFoundation\00" -@.str11151 = private unnamed_addr constant [23 x i8] c"runtime/native/http.ll\00" -@.str11152 = private unnamed_addr constant [2 x i8] c" \00" -@.str11153 = private unnamed_addr constant [34 x i8] c" -Wl,-needed_framework,Foundation\00" -@.str11154 = private unnamed_addr constant [25 x i8] c"runtime/native/gl_win.ll\00" -@.str11155 = private unnamed_addr constant [32 x i8] c"runtime/native/gl_thunks_win.ll\00" -@.str11156 = private unnamed_addr constant [31 x i8] c"runtime/native/gl_win_nowin.ll\00" -@.str11157 = private unnamed_addr constant [27 x i8] c"runtime/native/win32_gl.ll\00" -@.str11158 = private unnamed_addr constant [2 x i8] c" \00" -@.str11159 = private unnamed_addr constant [2 x i8] c" \00" +@.str11123 = private unnamed_addr constant [6 x i8] c"--gui\00" +@.str11124 = private unnamed_addr constant [7 x i8] c"--link\00" +@.str11125 = private unnamed_addr constant [3 x i8] c"-o\00" +@.str11126 = private unnamed_addr constant [31 x i8] c"ludicc: ignoring unknown flag \00" +@.str11127 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11128 = private unnamed_addr constant [108 x i8] c"usage: ludicc [-o out] [--windowed|--headless] [--target triple] [--emit-llvm] [--save-temps]\0A\00" +@.str11129 = private unnamed_addr constant [8 x i8] c"windows\00" +@.str11130 = private unnamed_addr constant [27 x i8] c"ludicc: cannot open input\0A\00" +@.str11131 = private unnamed_addr constant [48 x i8] c"ludicc: Http.* is not available on Windows yet\0A\00" +@.str11132 = private unnamed_addr constant [5 x i8] c"TEMP\00" +@.str11133 = private unnamed_addr constant [2 x i8] c".\00" +@.str11134 = private unnamed_addr constant [12 x i8] c"/ludic-run-\00" +@.str11135 = private unnamed_addr constant [16 x i8] c"/tmp/ludic-run-\00" +@.str11136 = private unnamed_addr constant [5 x i8] c".exe\00" +@.str11137 = private unnamed_addr constant [5 x i8] c".exe\00" +@.str11138 = private unnamed_addr constant [4 x i8] c".ll\00" +@.str11139 = private unnamed_addr constant [25 x i8] c"ludicc: cannot write IR\0A\00" +@.str11140 = private unnamed_addr constant [27 x i8] c" -O2 -Wno-override-module \00" +@.str11141 = private unnamed_addr constant [24 x i8] c"runtime/native/win32.ll\00" +@.str11142 = private unnamed_addr constant [2 x i8] c" \00" +@.str11143 = private unnamed_addr constant [55 x i8] c" -luser32 -lgdi32 -lxinput -Wl,/ignore:importeddllmain\00" +@.str11144 = private unnamed_addr constant [28 x i8] c"runtime/native/audio_win.ll\00" +@.str11145 = private unnamed_addr constant [2 x i8] c" \00" +@.str11146 = private unnamed_addr constant [19 x i8] c" -lxaudio2 -lole32\00" +@.str11147 = private unnamed_addr constant [24 x i8] c"runtime/native/cocoa.ll\00" +@.str11148 = private unnamed_addr constant [2 x i8] c" \00" +@.str11149 = private unnamed_addr constant [79 x i8] c" -framework Cocoa -Wl,-needed_framework,GameController -Wl,-rpath,@loader_path\00" +@.str11150 = private unnamed_addr constant [24 x i8] c"runtime/native/audio.ll\00" +@.str11151 = private unnamed_addr constant [2 x i8] c" \00" +@.str11152 = private unnamed_addr constant [36 x i8] c" -Wl,-needed_framework,AVFoundation\00" +@.str11153 = private unnamed_addr constant [23 x i8] c"runtime/native/http.ll\00" +@.str11154 = private unnamed_addr constant [2 x i8] c" \00" +@.str11155 = private unnamed_addr constant [34 x i8] c" -Wl,-needed_framework,Foundation\00" +@.str11156 = private unnamed_addr constant [25 x i8] c"runtime/native/gl_win.ll\00" +@.str11157 = private unnamed_addr constant [32 x i8] c"runtime/native/gl_thunks_win.ll\00" +@.str11158 = private unnamed_addr constant [31 x i8] c"runtime/native/gl_win_nowin.ll\00" +@.str11159 = private unnamed_addr constant [27 x i8] c"runtime/native/win32_gl.ll\00" @.str11160 = private unnamed_addr constant [2 x i8] c" \00" -@.str11161 = private unnamed_addr constant [29 x i8] c" -luser32 -lgdi32 -lopengl32\00" -@.str11162 = private unnamed_addr constant [21 x i8] c"runtime/native/gl.ll\00" -@.str11163 = private unnamed_addr constant [28 x i8] c"runtime/native/gl_thunks.ll\00" -@.str11164 = private unnamed_addr constant [2 x i8] c" \00" -@.str11165 = private unnamed_addr constant [2 x i8] c" \00" -@.str11166 = private unnamed_addr constant [19 x i8] c" -framework OpenGL\00" -@.str11167 = private unnamed_addr constant [5 x i8] c" -o \00" -@.str11168 = private unnamed_addr constant [21 x i8] c"ludicc: link failed\0A\00" -@.str11169 = private unnamed_addr constant [2 x i8] c"\22\00" -@.str11170 = private unnamed_addr constant [2 x i8] c"\22\00" +@.str11161 = private unnamed_addr constant [2 x i8] c" \00" +@.str11162 = private unnamed_addr constant [2 x i8] c" \00" +@.str11163 = private unnamed_addr constant [29 x i8] c" -luser32 -lgdi32 -lopengl32\00" +@.str11164 = private unnamed_addr constant [21 x i8] c"runtime/native/gl.ll\00" +@.str11165 = private unnamed_addr constant [28 x i8] c"runtime/native/gl_thunks.ll\00" +@.str11166 = private unnamed_addr constant [2 x i8] c" \00" +@.str11167 = private unnamed_addr constant [2 x i8] c" \00" +@.str11168 = private unnamed_addr constant [19 x i8] c" -framework OpenGL\00" +@.str11169 = private unnamed_addr constant [50 x i8] c" -Wl,/subsystem:windows -Wl,/entry:mainCRTStartup\00" +@.str11170 = private unnamed_addr constant [3 x i8] c" \22\00" +@.str11171 = private unnamed_addr constant [2 x i8] c"\22\00" +@.str11172 = private unnamed_addr constant [5 x i8] c" -o \00" +@.str11173 = private unnamed_addr constant [2 x i8] c"\22\00" +@.str11174 = private unnamed_addr constant [2 x i8] c"\22\00" +@.str11175 = private unnamed_addr constant [21 x i8] c"ludicc: link failed\0A\00" +@.str11176 = private unnamed_addr constant [2 x i8] c"\22\00" +@.str11177 = private unnamed_addr constant [2 x i8] c"\22\00" define i32 @lp_str_eq(ptr %a, ptr %b) { entry: br label %loop @@ -12160,56 +12167,56 @@ sod: store i32 %fcnt, ptr %d2 ret ptr %h } -@.str11171 = private unnamed_addr constant [4 x i8] c"png\00" -@.str11172 = private unnamed_addr constant [10 x i8] c"image/png\00" -@.str11173 = private unnamed_addr constant [4 x i8] c"jpg\00" -@.str11174 = private unnamed_addr constant [11 x i8] c"image/jpeg\00" -@.str11175 = private unnamed_addr constant [5 x i8] c"jpeg\00" -@.str11176 = private unnamed_addr constant [11 x i8] c"image/jpeg\00" -@.str11177 = private unnamed_addr constant [4 x i8] c"gif\00" -@.str11178 = private unnamed_addr constant [10 x i8] c"image/gif\00" -@.str11179 = private unnamed_addr constant [4 x i8] c"bmp\00" -@.str11180 = private unnamed_addr constant [10 x i8] c"image/bmp\00" -@.str11181 = private unnamed_addr constant [5 x i8] c"webp\00" -@.str11182 = private unnamed_addr constant [11 x i8] c"image/webp\00" -@.str11183 = private unnamed_addr constant [4 x i8] c"svg\00" -@.str11184 = private unnamed_addr constant [14 x i8] c"image/svg+xml\00" -@.str11185 = private unnamed_addr constant [4 x i8] c"txt\00" -@.str11186 = private unnamed_addr constant [11 x i8] c"text/plain\00" -@.str11187 = private unnamed_addr constant [3 x i8] c"md\00" -@.str11188 = private unnamed_addr constant [14 x i8] c"text/markdown\00" -@.str11189 = private unnamed_addr constant [4 x i8] c"csv\00" -@.str11190 = private unnamed_addr constant [9 x i8] c"text/csv\00" -@.str11191 = private unnamed_addr constant [5 x i8] c"html\00" -@.str11192 = private unnamed_addr constant [10 x i8] c"text/html\00" -@.str11193 = private unnamed_addr constant [4 x i8] c"htm\00" -@.str11194 = private unnamed_addr constant [10 x i8] c"text/html\00" -@.str11195 = private unnamed_addr constant [4 x i8] c"css\00" -@.str11196 = private unnamed_addr constant [9 x i8] c"text/css\00" -@.str11197 = private unnamed_addr constant [3 x i8] c"js\00" -@.str11198 = private unnamed_addr constant [16 x i8] c"text/javascript\00" -@.str11199 = private unnamed_addr constant [5 x i8] c"json\00" -@.str11200 = private unnamed_addr constant [17 x i8] c"application/json\00" -@.str11201 = private unnamed_addr constant [4 x i8] c"xml\00" -@.str11202 = private unnamed_addr constant [16 x i8] c"application/xml\00" -@.str11203 = private unnamed_addr constant [4 x i8] c"zip\00" -@.str11204 = private unnamed_addr constant [16 x i8] c"application/zip\00" -@.str11205 = private unnamed_addr constant [4 x i8] c"pdf\00" -@.str11206 = private unnamed_addr constant [16 x i8] c"application/pdf\00" -@.str11207 = private unnamed_addr constant [4 x i8] c"wav\00" -@.str11208 = private unnamed_addr constant [10 x i8] c"audio/wav\00" -@.str11209 = private unnamed_addr constant [4 x i8] c"ogg\00" -@.str11210 = private unnamed_addr constant [10 x i8] c"audio/ogg\00" -@.str11211 = private unnamed_addr constant [4 x i8] c"mp3\00" -@.str11212 = private unnamed_addr constant [11 x i8] c"audio/mpeg\00" -@.str11213 = private unnamed_addr constant [4 x i8] c"ttf\00" -@.str11214 = private unnamed_addr constant [9 x i8] c"font/ttf\00" -@.str11215 = private unnamed_addr constant [4 x i8] c"otf\00" -@.str11216 = private unnamed_addr constant [9 x i8] c"font/otf\00" -@.str11217 = private unnamed_addr constant [6 x i8] c"ludic\00" -@.str11218 = private unnamed_addr constant [13 x i8] c"text/x-ludic\00" -@.str11219 = private unnamed_addr constant [25 x i8] c"application/octet-stream\00" -@mime_tbl = private unnamed_addr constant [24 x { ptr, ptr }] [{ ptr, ptr } { ptr @.str11171, ptr @.str11172 }, { ptr, ptr } { ptr @.str11173, ptr @.str11174 }, { ptr, ptr } { ptr @.str11175, ptr @.str11176 }, { ptr, ptr } { ptr @.str11177, ptr @.str11178 }, { ptr, ptr } { ptr @.str11179, ptr @.str11180 }, { ptr, ptr } { ptr @.str11181, ptr @.str11182 }, { ptr, ptr } { ptr @.str11183, ptr @.str11184 }, { ptr, ptr } { ptr @.str11185, ptr @.str11186 }, { ptr, ptr } { ptr @.str11187, ptr @.str11188 }, { ptr, ptr } { ptr @.str11189, ptr @.str11190 }, { ptr, ptr } { ptr @.str11191, ptr @.str11192 }, { ptr, ptr } { ptr @.str11193, ptr @.str11194 }, { ptr, ptr } { ptr @.str11195, ptr @.str11196 }, { ptr, ptr } { ptr @.str11197, ptr @.str11198 }, { ptr, ptr } { ptr @.str11199, ptr @.str11200 }, { ptr, ptr } { ptr @.str11201, ptr @.str11202 }, { ptr, ptr } { ptr @.str11203, ptr @.str11204 }, { ptr, ptr } { ptr @.str11205, ptr @.str11206 }, { ptr, ptr } { ptr @.str11207, ptr @.str11208 }, { ptr, ptr } { ptr @.str11209, ptr @.str11210 }, { ptr, ptr } { ptr @.str11211, ptr @.str11212 }, { ptr, ptr } { ptr @.str11213, ptr @.str11214 }, { ptr, ptr } { ptr @.str11215, ptr @.str11216 }, { ptr, ptr } { ptr @.str11217, ptr @.str11218 }] +@.str11178 = private unnamed_addr constant [4 x i8] c"png\00" +@.str11179 = private unnamed_addr constant [10 x i8] c"image/png\00" +@.str11180 = private unnamed_addr constant [4 x i8] c"jpg\00" +@.str11181 = private unnamed_addr constant [11 x i8] c"image/jpeg\00" +@.str11182 = private unnamed_addr constant [5 x i8] c"jpeg\00" +@.str11183 = private unnamed_addr constant [11 x i8] c"image/jpeg\00" +@.str11184 = private unnamed_addr constant [4 x i8] c"gif\00" +@.str11185 = private unnamed_addr constant [10 x i8] c"image/gif\00" +@.str11186 = private unnamed_addr constant [4 x i8] c"bmp\00" +@.str11187 = private unnamed_addr constant [10 x i8] c"image/bmp\00" +@.str11188 = private unnamed_addr constant [5 x i8] c"webp\00" +@.str11189 = private unnamed_addr constant [11 x i8] c"image/webp\00" +@.str11190 = private unnamed_addr constant [4 x i8] c"svg\00" +@.str11191 = private unnamed_addr constant [14 x i8] c"image/svg+xml\00" +@.str11192 = private unnamed_addr constant [4 x i8] c"txt\00" +@.str11193 = private unnamed_addr constant [11 x i8] c"text/plain\00" +@.str11194 = private unnamed_addr constant [3 x i8] c"md\00" +@.str11195 = private unnamed_addr constant [14 x i8] c"text/markdown\00" +@.str11196 = private unnamed_addr constant [4 x i8] c"csv\00" +@.str11197 = private unnamed_addr constant [9 x i8] c"text/csv\00" +@.str11198 = private unnamed_addr constant [5 x i8] c"html\00" +@.str11199 = private unnamed_addr constant [10 x i8] c"text/html\00" +@.str11200 = private unnamed_addr constant [4 x i8] c"htm\00" +@.str11201 = private unnamed_addr constant [10 x i8] c"text/html\00" +@.str11202 = private unnamed_addr constant [4 x i8] c"css\00" +@.str11203 = private unnamed_addr constant [9 x i8] c"text/css\00" +@.str11204 = private unnamed_addr constant [3 x i8] c"js\00" +@.str11205 = private unnamed_addr constant [16 x i8] c"text/javascript\00" +@.str11206 = private unnamed_addr constant [5 x i8] c"json\00" +@.str11207 = private unnamed_addr constant [17 x i8] c"application/json\00" +@.str11208 = private unnamed_addr constant [4 x i8] c"xml\00" +@.str11209 = private unnamed_addr constant [16 x i8] c"application/xml\00" +@.str11210 = private unnamed_addr constant [4 x i8] c"zip\00" +@.str11211 = private unnamed_addr constant [16 x i8] c"application/zip\00" +@.str11212 = private unnamed_addr constant [4 x i8] c"pdf\00" +@.str11213 = private unnamed_addr constant [16 x i8] c"application/pdf\00" +@.str11214 = private unnamed_addr constant [4 x i8] c"wav\00" +@.str11215 = private unnamed_addr constant [10 x i8] c"audio/wav\00" +@.str11216 = private unnamed_addr constant [4 x i8] c"ogg\00" +@.str11217 = private unnamed_addr constant [10 x i8] c"audio/ogg\00" +@.str11218 = private unnamed_addr constant [4 x i8] c"mp3\00" +@.str11219 = private unnamed_addr constant [11 x i8] c"audio/mpeg\00" +@.str11220 = private unnamed_addr constant [4 x i8] c"ttf\00" +@.str11221 = private unnamed_addr constant [9 x i8] c"font/ttf\00" +@.str11222 = private unnamed_addr constant [4 x i8] c"otf\00" +@.str11223 = private unnamed_addr constant [9 x i8] c"font/otf\00" +@.str11224 = private unnamed_addr constant [6 x i8] c"ludic\00" +@.str11225 = private unnamed_addr constant [13 x i8] c"text/x-ludic\00" +@.str11226 = private unnamed_addr constant [25 x i8] c"application/octet-stream\00" +@mime_tbl = private unnamed_addr constant [24 x { ptr, ptr }] [{ ptr, ptr } { ptr @.str11178, ptr @.str11179 }, { ptr, ptr } { ptr @.str11180, ptr @.str11181 }, { ptr, ptr } { ptr @.str11182, ptr @.str11183 }, { ptr, ptr } { ptr @.str11184, ptr @.str11185 }, { ptr, ptr } { ptr @.str11186, ptr @.str11187 }, { ptr, ptr } { ptr @.str11188, ptr @.str11189 }, { ptr, ptr } { ptr @.str11190, ptr @.str11191 }, { ptr, ptr } { ptr @.str11192, ptr @.str11193 }, { ptr, ptr } { ptr @.str11194, ptr @.str11195 }, { ptr, ptr } { ptr @.str11196, ptr @.str11197 }, { ptr, ptr } { ptr @.str11198, ptr @.str11199 }, { ptr, ptr } { ptr @.str11200, ptr @.str11201 }, { ptr, ptr } { ptr @.str11202, ptr @.str11203 }, { ptr, ptr } { ptr @.str11204, ptr @.str11205 }, { ptr, ptr } { ptr @.str11206, ptr @.str11207 }, { ptr, ptr } { ptr @.str11208, ptr @.str11209 }, { ptr, ptr } { ptr @.str11210, ptr @.str11211 }, { ptr, ptr } { ptr @.str11212, ptr @.str11213 }, { ptr, ptr } { ptr @.str11214, ptr @.str11215 }, { ptr, ptr } { ptr @.str11216, ptr @.str11217 }, { ptr, ptr } { ptr @.str11218, ptr @.str11219 }, { ptr, ptr } { ptr @.str11220, ptr @.str11221 }, { ptr, ptr } { ptr @.str11222, ptr @.str11223 }, { ptr, ptr } { ptr @.str11224, ptr @.str11225 }] define ptr @lp_mime_of(ptr %path) { entry: %ext = call ptr @lp_path_ext(ptr %path) @@ -12237,7 +12244,7 @@ nx: store i32 %i1, ptr %ip br label %lp def: - %d = call ptr @lp_fs_strdup(ptr @.str11219) + %d = call ptr @lp_fs_strdup(ptr @.str11226) ret ptr %d } define ptr @lp_mime_lc(ptr %s) { @@ -110115,33 +110122,38 @@ entry: %t6 = alloca i32 %t7 = alloca ptr %t8 = alloca i32 - %t18 = alloca ptr - %t84 = alloca ptr - %t109 = alloca ptr - %t125 = alloca i32 - %t135 = alloca i32 - %t144 = alloca i32 - %t161 = alloca i32 - %t170 = alloca i32 - %t199 = alloca i32 - %t200 = alloca i32 - %t219 = alloca ptr - %t229 = alloca ptr - %t236 = alloca ptr - %t238 = alloca ptr - %t243 = alloca ptr - %t250 = alloca ptr - %t260 = alloca ptr - %t270 = alloca ptr + %t15 = alloca ptr + %t16 = alloca i32 + %t26 = alloca ptr + %t128 = alloca ptr + %t153 = alloca ptr + %t169 = alloca i32 + %t179 = alloca i32 + %t188 = alloca i32 + %t205 = alloca i32 + %t214 = alloca i32 + %t243 = alloca i32 + %t244 = alloca i32 + %t263 = alloca ptr + %t273 = alloca ptr %t280 = alloca ptr - %t290 = alloca ptr - %t302 = alloca ptr - %t305 = alloca ptr - %t308 = alloca ptr - %t326 = alloca ptr - %t329 = alloca ptr - %t344 = alloca i32 - %t365 = alloca i32 + %t282 = alloca ptr + %t287 = alloca ptr + %t294 = alloca ptr + %t304 = alloca ptr + %t314 = alloca ptr + %t324 = alloca ptr + %t334 = alloca ptr + %t346 = alloca ptr + %t349 = alloca ptr + %t352 = alloca ptr + %t370 = alloca ptr + %t373 = alloca ptr + %t382 = alloca i32 + %t393 = alloca i32 + %t418 = alloca ptr + %t426 = alloca i32 + %t447 = alloca i32 store i32 %argc, ptr @L_argc store ptr %argv, ptr @L_argv store i32 0, ptr %retval @@ -110154,170 +110166,243 @@ entry: store i32 0, ptr %t5 store i32 0, ptr %t6 store ptr null, ptr %t7 + store i32 0, ptr %t8 + %t9 = getelementptr %LSlice, ptr null, i32 1 + %t10 = ptrtoint ptr %t9 to i64 + %t11 = call ptr @malloc(i64 %t10) + %t12 = getelementptr inbounds %LSlice, ptr %t11, i32 0, i32 0 + store ptr null, ptr %t12 + %t13 = getelementptr inbounds %LSlice, ptr %t11, i32 0, i32 1 + store i32 0, ptr %t13 + %t14 = getelementptr inbounds %LSlice, ptr %t11, i32 0, i32 2 + store i32 0, ptr %t14 + store ptr %t11, ptr %t15 store i32 0, ptr @g_g_coverage - store i32 1, ptr %t8 + store i32 1, ptr %t16 br label %wcond0 wcond0: - %t9 = load i32, ptr %t8 - %t10 = load i32, ptr @L_argc - %t11 = icmp slt i32 %t9, %t10 - %t12 = zext i1 %t11 to i32 - %t13 = icmp ne i32 %t12, 0 - br i1 %t13, label %wbody1, label %wend2 -wbody1: - %t14 = load i32, ptr %t8 - %t15 = load ptr, ptr @L_argv - %t16 = getelementptr ptr, ptr %t15, i32 %t14 - %t17 = load ptr, ptr %t16 - store ptr %t17, ptr %t18 - %t19 = load ptr, ptr %t18 - %t20 = call i32 @lp_str_eq(ptr %t19, ptr @.str11113) + %t17 = load i32, ptr %t16 + %t18 = load i32, ptr @L_argc + %t19 = icmp slt i32 %t17, %t18 + %t20 = zext i1 %t19 to i32 %t21 = icmp ne i32 %t20, 0 - br i1 %t21, label %then3, label %else4 + br i1 %t21, label %wbody1, label %wend2 +wbody1: + %t22 = load i32, ptr %t16 + %t23 = load ptr, ptr @L_argv + %t24 = getelementptr ptr, ptr %t23, i32 %t22 + %t25 = load ptr, ptr %t24 + store ptr %t25, ptr %t26 + %t27 = load ptr, ptr %t26 + %t28 = call i32 @lp_str_eq(ptr %t27, ptr @.str11113) + %t29 = icmp ne i32 %t28, 0 + br i1 %t29, label %then3, label %else4 then3: call void @fn_show_version() br label %ifend5 else4: - %t22 = load ptr, ptr %t18 - %t23 = call i32 @lp_str_eq(ptr %t22, ptr @.str11114) - %t24 = icmp ne i32 %t23, 0 - br i1 %t24, label %then6, label %else7 + %t30 = load ptr, ptr %t26 + %t31 = call i32 @lp_str_eq(ptr %t30, ptr @.str11114) + %t32 = icmp ne i32 %t31, 0 + br i1 %t32, label %then6, label %else7 then6: store i32 1, ptr %t2 br label %ifend8 else7: - %t25 = load ptr, ptr %t18 - %t26 = call i32 @lp_str_eq(ptr %t25, ptr @.str11115) - %t27 = icmp ne i32 %t26, 0 - br i1 %t27, label %then9, label %else10 + %t33 = load ptr, ptr %t26 + %t34 = call i32 @lp_str_eq(ptr %t33, ptr @.str11115) + %t35 = icmp ne i32 %t34, 0 + br i1 %t35, label %then9, label %else10 then9: store i32 2, ptr %t2 br label %ifend11 else10: - %t28 = load ptr, ptr %t18 - %t29 = call i32 @lp_str_eq(ptr %t28, ptr @.str11116) - %t30 = icmp ne i32 %t29, 0 - br i1 %t30, label %then12, label %else13 + %t36 = load ptr, ptr %t26 + %t37 = call i32 @lp_str_eq(ptr %t36, ptr @.str11116) + %t38 = icmp ne i32 %t37, 0 + br i1 %t38, label %then12, label %else13 then12: store i32 1, ptr %t3 br label %ifend14 else13: - %t31 = load ptr, ptr %t18 - %t32 = call i32 @lp_str_eq(ptr %t31, ptr @.str11117) - %t33 = icmp ne i32 %t32, 0 - br i1 %t33, label %then15, label %else16 + %t39 = load ptr, ptr %t26 + %t40 = call i32 @lp_str_eq(ptr %t39, ptr @.str11117) + %t41 = icmp ne i32 %t40, 0 + br i1 %t41, label %then15, label %else16 then15: store i32 1, ptr @g_g_emit_module store i32 1, ptr %t3 br label %ifend17 else16: - %t34 = load ptr, ptr %t18 - %t35 = call i32 @lp_str_eq(ptr %t34, ptr @.str11118) - %t36 = icmp ne i32 %t35, 0 - br i1 %t36, label %then18, label %else19 + %t42 = load ptr, ptr %t26 + %t43 = call i32 @lp_str_eq(ptr %t42, ptr @.str11118) + %t44 = icmp ne i32 %t43, 0 + br i1 %t44, label %then18, label %else19 then18: store i32 1, ptr %t4 br label %ifend20 else19: - %t37 = load ptr, ptr %t18 - %t38 = call i32 @lp_str_eq(ptr %t37, ptr @.str11119) - %t39 = icmp ne i32 %t38, 0 - br i1 %t39, label %then21, label %else22 + %t45 = load ptr, ptr %t26 + %t46 = call i32 @lp_str_eq(ptr %t45, ptr @.str11119) + %t47 = icmp ne i32 %t46, 0 + br i1 %t47, label %then21, label %else22 then21: store i32 1, ptr %t5 br label %ifend23 else22: - %t40 = load ptr, ptr %t18 - %t41 = call i32 @lp_str_eq(ptr %t40, ptr @.str11120) - %t42 = icmp ne i32 %t41, 0 - br i1 %t42, label %then24, label %else25 + %t48 = load ptr, ptr %t26 + %t49 = call i32 @lp_str_eq(ptr %t48, ptr @.str11120) + %t50 = icmp ne i32 %t49, 0 + br i1 %t50, label %then24, label %else25 then24: store i32 1, ptr %t6 br label %ifend26 else25: - %t43 = load ptr, ptr %t18 - %t44 = call i32 @lp_str_eq(ptr %t43, ptr @.str11121) - %t45 = icmp ne i32 %t44, 0 - br i1 %t45, label %then27, label %else28 + %t51 = load ptr, ptr %t26 + %t52 = call i32 @lp_str_eq(ptr %t51, ptr @.str11121) + %t53 = icmp ne i32 %t52, 0 + br i1 %t53, label %then27, label %else28 then27: store i32 1, ptr @g_g_coverage br label %ifend29 else28: - %t46 = load ptr, ptr %t18 - %t47 = call i32 @lp_str_eq(ptr %t46, ptr @.str11122) - %t48 = icmp ne i32 %t47, 0 - br i1 %t48, label %then30, label %else31 + %t54 = load ptr, ptr %t26 + %t55 = call i32 @lp_str_eq(ptr %t54, ptr @.str11122) + %t56 = icmp ne i32 %t55, 0 + br i1 %t56, label %then30, label %else31 then30: - %t49 = load i32, ptr %t8 - %t50 = add i32 %t49, 1 - store i32 %t50, ptr %t8 - %t51 = load i32, ptr %t8 - %t52 = load i32, ptr @L_argc - %t53 = icmp slt i32 %t51, %t52 - %t54 = zext i1 %t53 to i32 - %t55 = icmp ne i32 %t54, 0 - br i1 %t55, label %then33, label %ifend35 + %t57 = load i32, ptr %t16 + %t58 = add i32 %t57, 1 + store i32 %t58, ptr %t16 + %t59 = load i32, ptr %t16 + %t60 = load i32, ptr @L_argc + %t61 = icmp slt i32 %t59, %t60 + %t62 = zext i1 %t61 to i32 + %t63 = icmp ne i32 %t62, 0 + br i1 %t63, label %then33, label %ifend35 then33: - %t56 = load i32, ptr %t8 - %t57 = load ptr, ptr @L_argv - %t58 = getelementptr ptr, ptr %t57, i32 %t56 - %t59 = load ptr, ptr %t58 - store ptr %t59, ptr %t7 + %t64 = load i32, ptr %t16 + %t65 = load ptr, ptr @L_argv + %t66 = getelementptr ptr, ptr %t65, i32 %t64 + %t67 = load ptr, ptr %t66 + store ptr %t67, ptr %t7 br label %ifend35 ifend35: br label %ifend32 else31: - %t60 = load ptr, ptr %t18 - %t61 = call i32 @lp_str_eq(ptr %t60, ptr @.str11123) - %t62 = icmp ne i32 %t61, 0 - br i1 %t62, label %then36, label %else37 + %t68 = load ptr, ptr %t26 + %t69 = call i32 @lp_str_eq(ptr %t68, ptr @.str11123) + %t70 = icmp ne i32 %t69, 0 + br i1 %t70, label %then36, label %else37 then36: - %t63 = load i32, ptr %t8 - %t64 = add i32 %t63, 1 - store i32 %t64, ptr %t8 - %t65 = load i32, ptr %t8 - %t66 = load i32, ptr @L_argc - %t67 = icmp slt i32 %t65, %t66 - %t68 = zext i1 %t67 to i32 - %t69 = icmp ne i32 %t68, 0 - br i1 %t69, label %then39, label %ifend41 -then39: - %t70 = load i32, ptr %t8 - %t71 = load ptr, ptr @L_argv - %t72 = getelementptr ptr, ptr %t71, i32 %t70 - %t73 = load ptr, ptr %t72 - store ptr %t73, ptr %t1 - br label %ifend41 -ifend41: + store i32 1, ptr %t8 br label %ifend38 else37: - %t74 = load ptr, ptr %t18 - %t75 = getelementptr inbounds i8, ptr %t74, i32 0 - %t76 = load i8, ptr %t75 - %t77 = zext i8 %t76 to i32 - %t78 = icmp eq i32 %t77, 45 + %t71 = load ptr, ptr %t26 + %t72 = call i32 @lp_str_eq(ptr %t71, ptr @.str11124) + %t73 = icmp ne i32 %t72, 0 + br i1 %t73, label %then39, label %else40 +then39: + %t74 = load i32, ptr %t16 + %t75 = add i32 %t74, 1 + store i32 %t75, ptr %t16 + %t76 = load i32, ptr %t16 + %t77 = load i32, ptr @L_argc + %t78 = icmp slt i32 %t76, %t77 %t79 = zext i1 %t78 to i32 %t80 = icmp ne i32 %t79, 0 - br i1 %t80, label %then42, label %else43 + br i1 %t80, label %then42, label %ifend44 then42: - %t81 = load ptr, ptr %t18 - %t82 = call ptr @lp_str_concat(ptr @.str11124, ptr %t81) - %t83 = call ptr @lp_str_concat(ptr %t82, ptr @.str11125) - store ptr %t83, ptr %t84 - %t85 = load ptr, ptr @__stderrp - %t86 = load ptr, ptr %t84 - %t87 = load ptr, ptr %t84 - %t88 = call i64 @strlen(ptr %t87) - %t89 = trunc i64 %t88 to i32 - %t90 = zext i32 %t89 to i64 - %t91 = call i64 @fwrite(ptr %t86, i64 1, i64 %t90, ptr %t85) - %t92 = trunc i64 %t91 to i32 - br label %ifend44 -else43: - %t93 = load ptr, ptr %t18 - store ptr %t93, ptr %t0 + %t81 = load ptr, ptr %t15 + %t82 = load i32, ptr %t16 + %t83 = load ptr, ptr @L_argv + %t84 = getelementptr ptr, ptr %t83, i32 %t82 + %t85 = load ptr, ptr %t84 + %t86 = getelementptr inbounds %LSlice, ptr %t81, i32 0, i32 1 + %t87 = getelementptr inbounds %LSlice, ptr %t81, i32 0, i32 2 + %t88 = getelementptr inbounds %LSlice, ptr %t81, i32 0, i32 0 + %t89 = load i32, ptr %t86 + %t90 = load i32, ptr %t87 + %t91 = icmp sge i32 %t89, %t90 + br i1 %t91, label %grow45, label %put46 +grow45: + %t92 = mul i32 %t90, 2 + %t93 = icmp eq i32 %t90, 0 + %t94 = select i1 %t93, i32 8, i32 %t92 + %t95 = getelementptr ptr, ptr null, i32 1 + %t96 = ptrtoint ptr %t95 to i64 + %t97 = zext i32 %t94 to i64 + %t98 = mul i64 %t97, %t96 + %t99 = load ptr, ptr %t88 + %t100 = call ptr @realloc(ptr %t99, i64 %t98) + store ptr %t100, ptr %t88 + store i32 %t94, ptr %t87 + br label %put46 +put46: + %t101 = load ptr, ptr %t88 + %t102 = getelementptr inbounds ptr, ptr %t101, i32 %t89 + store ptr %t85, ptr %t102 + %t103 = add i32 %t89, 1 + store i32 %t103, ptr %t86 br label %ifend44 ifend44: + br label %ifend41 +else40: + %t104 = load ptr, ptr %t26 + %t105 = call i32 @lp_str_eq(ptr %t104, ptr @.str11125) + %t106 = icmp ne i32 %t105, 0 + br i1 %t106, label %then47, label %else48 +then47: + %t107 = load i32, ptr %t16 + %t108 = add i32 %t107, 1 + store i32 %t108, ptr %t16 + %t109 = load i32, ptr %t16 + %t110 = load i32, ptr @L_argc + %t111 = icmp slt i32 %t109, %t110 + %t112 = zext i1 %t111 to i32 + %t113 = icmp ne i32 %t112, 0 + br i1 %t113, label %then50, label %ifend52 +then50: + %t114 = load i32, ptr %t16 + %t115 = load ptr, ptr @L_argv + %t116 = getelementptr ptr, ptr %t115, i32 %t114 + %t117 = load ptr, ptr %t116 + store ptr %t117, ptr %t1 + br label %ifend52 +ifend52: + br label %ifend49 +else48: + %t118 = load ptr, ptr %t26 + %t119 = getelementptr inbounds i8, ptr %t118, i32 0 + %t120 = load i8, ptr %t119 + %t121 = zext i8 %t120 to i32 + %t122 = icmp eq i32 %t121, 45 + %t123 = zext i1 %t122 to i32 + %t124 = icmp ne i32 %t123, 0 + br i1 %t124, label %then53, label %else54 +then53: + %t125 = load ptr, ptr %t26 + %t126 = call ptr @lp_str_concat(ptr @.str11126, ptr %t125) + %t127 = call ptr @lp_str_concat(ptr %t126, ptr @.str11127) + store ptr %t127, ptr %t128 + %t129 = load ptr, ptr @__stderrp + %t130 = load ptr, ptr %t128 + %t131 = load ptr, ptr %t128 + %t132 = call i64 @strlen(ptr %t131) + %t133 = trunc i64 %t132 to i32 + %t134 = zext i32 %t133 to i64 + %t135 = call i64 @fwrite(ptr %t130, i64 1, i64 %t134, ptr %t129) + %t136 = trunc i64 %t135 to i32 + br label %ifend55 +else54: + %t137 = load ptr, ptr %t26 + store ptr %t137, ptr %t0 + br label %ifend55 +ifend55: + br label %ifend49 +ifend49: + br label %ifend41 +ifend41: br label %ifend38 ifend38: br label %ifend32 @@ -110340,472 +110425,533 @@ ifend11: ifend8: br label %ifend5 ifend5: - %t94 = load i32, ptr %t8 - %t95 = add i32 %t94, 1 - store i32 %t95, ptr %t8 + %t138 = load i32, ptr %t16 + %t139 = add i32 %t138, 1 + store i32 %t139, ptr %t16 br label %wcond0 wend2: - %t96 = load ptr, ptr %t0 - %t97 = icmp eq ptr %t96, null - %t98 = zext i1 %t97 to i32 - %t99 = icmp ne i32 %t98, 0 - br i1 %t99, label %then45, label %ifend47 -then45: - call void @fn_die(ptr @.str11126) - br label %ifend47 -ifend47: - %t100 = load ptr, ptr %t7 - %t101 = icmp ne ptr %t100, null - %t102 = zext i1 %t101 to i32 - %t103 = icmp ne i32 %t102, 0 - br i1 %t103, label %then48, label %else49 -then48: - %t104 = load ptr, ptr %t7 - %t105 = call i32 @fn_has_sub(ptr %t104, ptr @.str11127) - store i32 %t105, ptr @g_g_target_win - br label %ifend50 -else49: - %t106 = call i32 @fn_host_is_windows() - store i32 %t106, ptr @g_g_target_win - br label %ifend50 -ifend50: - %t107 = load ptr, ptr %t0 - %t108 = call ptr @fn_read_file(ptr %t107) - store ptr %t108, ptr %t109 - %t110 = load ptr, ptr %t109 - %t111 = icmp eq ptr %t110, null - %t112 = zext i1 %t111 to i32 - %t113 = icmp ne i32 %t112, 0 - br i1 %t113, label %then51, label %ifend53 -then51: - call void @fn_die(ptr @.str11128) - br label %ifend53 -ifend53: - %t114 = load ptr, ptr %t0 - %t115 = call ptr @fn_dir_of(ptr %t114) - store ptr %t115, ptr @g_cur_dir - %t116 = load ptr, ptr %t0 - %t117 = call ptr @fn_base_name(ptr %t116) - store ptr %t117, ptr @g_g_src_name - %t118 = load ptr, ptr %t0 - store ptr %t118, ptr @g_g_parse_file - %t119 = load ptr, ptr %t109 - call void @fn_lex(ptr %t119) - call void @fn_parse_program() - %t120 = load ptr, ptr @g_prog - %t121 = getelementptr inbounds %LSlice, ptr %t120, i32 0, i32 1 - %t122 = load i32, ptr %t121 - store i32 %t122, ptr @g_g_prog_user_end - %t123 = load i32, ptr %t4 - %t124 = icmp ne i32 %t123, 0 - br i1 %t124, label %then54, label %ifend56 -then54: - call void @exit(i32 0) - unreachable -ifend56: - call void @fn_maybe_splice_runtime() - call void @fn_ui_register_gotos() - %t126 = load i32, ptr %t6 - %t127 = icmp ne i32 %t126, 0 - %t128 = zext i1 %t127 to i32 - store i32 %t128, ptr %t125 - br i1 %t127, label %scend58, label %sc57 -sc57: - %t129 = load ptr, ptr %t1 - %t130 = icmp ne ptr %t129, null - %t131 = zext i1 %t130 to i32 - %t132 = icmp ne i32 %t131, 0 - %t133 = zext i1 %t132 to i32 - store i32 %t133, ptr %t125 - br label %scend58 -scend58: - %t134 = load i32, ptr %t125 - store i32 %t134, ptr %t135 - %t136 = load i32, ptr %t2 - %t137 = icmp eq i32 %t136, 1 - %t138 = zext i1 %t137 to i32 - %t139 = icmp ne i32 %t138, 0 - br i1 %t139, label %then59, label %else60 -then59: - store i32 1, ptr @g_g_windowed - br label %ifend61 -else60: - %t140 = load i32, ptr %t2 - %t141 = icmp eq i32 %t140, 2 + %t140 = load ptr, ptr %t0 + %t141 = icmp eq ptr %t140, null %t142 = zext i1 %t141 to i32 %t143 = icmp ne i32 %t142, 0 - br i1 %t143, label %then62, label %else63 -then62: - store i32 0, ptr @g_g_windowed - br label %ifend64 -else63: - %t145 = load i32, ptr %t135 - %t146 = icmp ne i32 %t145, 0 - %t147 = zext i1 %t146 to i32 - store i32 %t147, ptr %t144 - br i1 %t146, label %sc65, label %scend66 -sc65: - %t148 = call i32 @fn_has_systems() - %t149 = icmp ne i32 %t148, 0 - %t150 = zext i1 %t149 to i32 - store i32 %t150, ptr %t144 - br label %scend66 -scend66: - %t151 = load i32, ptr %t144 - store i32 %t151, ptr @g_g_windowed - br label %ifend64 -ifend64: + br i1 %t143, label %then56, label %ifend58 +then56: + call void @fn_die(ptr @.str11128) + br label %ifend58 +ifend58: + %t144 = load ptr, ptr %t7 + %t145 = icmp ne ptr %t144, null + %t146 = zext i1 %t145 to i32 + %t147 = icmp ne i32 %t146, 0 + br i1 %t147, label %then59, label %else60 +then59: + %t148 = load ptr, ptr %t7 + %t149 = call i32 @fn_has_sub(ptr %t148, ptr @.str11129) + store i32 %t149, ptr @g_g_target_win + br label %ifend61 +else60: + %t150 = call i32 @fn_host_is_windows() + store i32 %t150, ptr @g_g_target_win br label %ifend61 ifend61: + %t151 = load ptr, ptr %t0 + %t152 = call ptr @fn_read_file(ptr %t151) + store ptr %t152, ptr %t153 + %t154 = load ptr, ptr %t153 + %t155 = icmp eq ptr %t154, null + %t156 = zext i1 %t155 to i32 + %t157 = icmp ne i32 %t156, 0 + br i1 %t157, label %then62, label %ifend64 +then62: + call void @fn_die(ptr @.str11130) + br label %ifend64 +ifend64: + %t158 = load ptr, ptr %t0 + %t159 = call ptr @fn_dir_of(ptr %t158) + store ptr %t159, ptr @g_cur_dir + %t160 = load ptr, ptr %t0 + %t161 = call ptr @fn_base_name(ptr %t160) + store ptr %t161, ptr @g_g_src_name + %t162 = load ptr, ptr %t0 + store ptr %t162, ptr @g_g_parse_file + %t163 = load ptr, ptr %t153 + call void @fn_lex(ptr %t163) + call void @fn_parse_program() + %t164 = load ptr, ptr @g_prog + %t165 = getelementptr inbounds %LSlice, ptr %t164, i32 0, i32 1 + %t166 = load i32, ptr %t165 + store i32 %t166, ptr @g_g_prog_user_end + %t167 = load i32, ptr %t4 + %t168 = icmp ne i32 %t167, 0 + br i1 %t168, label %then65, label %ifend67 +then65: + call void @exit(i32 0) + unreachable +ifend67: + call void @fn_maybe_splice_runtime() + call void @fn_ui_register_gotos() + %t170 = load i32, ptr %t6 + %t171 = icmp ne i32 %t170, 0 + %t172 = zext i1 %t171 to i32 + store i32 %t172, ptr %t169 + br i1 %t171, label %scend69, label %sc68 +sc68: + %t173 = load ptr, ptr %t1 + %t174 = icmp ne ptr %t173, null + %t175 = zext i1 %t174 to i32 + %t176 = icmp ne i32 %t175, 0 + %t177 = zext i1 %t176 to i32 + store i32 %t177, ptr %t169 + br label %scend69 +scend69: + %t178 = load i32, ptr %t169 + store i32 %t178, ptr %t179 + %t180 = load i32, ptr %t2 + %t181 = icmp eq i32 %t180, 1 + %t182 = zext i1 %t181 to i32 + %t183 = icmp ne i32 %t182, 0 + br i1 %t183, label %then70, label %else71 +then70: + store i32 1, ptr @g_g_windowed + br label %ifend72 +else71: + %t184 = load i32, ptr %t2 + %t185 = icmp eq i32 %t184, 2 + %t186 = zext i1 %t185 to i32 + %t187 = icmp ne i32 %t186, 0 + br i1 %t187, label %then73, label %else74 +then73: + store i32 0, ptr @g_g_windowed + br label %ifend75 +else74: + %t189 = load i32, ptr %t179 + %t190 = icmp ne i32 %t189, 0 + %t191 = zext i1 %t190 to i32 + store i32 %t191, ptr %t188 + br i1 %t190, label %sc76, label %scend77 +sc76: + %t192 = call i32 @fn_has_systems() + %t193 = icmp ne i32 %t192, 0 + %t194 = zext i1 %t193 to i32 + store i32 %t194, ptr %t188 + br label %scend77 +scend77: + %t195 = load i32, ptr %t188 + store i32 %t195, ptr @g_g_windowed + br label %ifend75 +ifend75: + br label %ifend72 +ifend72: store i32 0, ptr @g_g_parsing call void @fn_emit_program() - %t152 = load i32, ptr %t3 - %t153 = icmp ne i32 %t152, 0 - br i1 %t153, label %then67, label %ifend69 -then67: - %t154 = load ptr, ptr %t1 - %t155 = call i32 @fn_ir_flush(ptr %t154) + %t196 = load i32, ptr %t3 + %t197 = icmp ne i32 %t196, 0 + br i1 %t197, label %then78, label %ifend80 +then78: + %t198 = load ptr, ptr %t1 + %t199 = call i32 @fn_ir_flush(ptr %t198) br label %ret -ifend69: - %t156 = load i32, ptr %t135 - %t157 = icmp eq i32 %t156, 0 - %t158 = zext i1 %t157 to i32 - %t159 = icmp ne i32 %t158, 0 - br i1 %t159, label %then70, label %ifend72 -then70: - %t160 = call i32 @fn_ir_flush(ptr null) +ifend80: + %t200 = load i32, ptr %t179 + %t201 = icmp eq i32 %t200, 0 + %t202 = zext i1 %t201 to i32 + %t203 = icmp ne i32 %t202, 0 + br i1 %t203, label %then81, label %ifend83 +then81: + %t204 = call i32 @fn_ir_flush(ptr null) br label %ret -ifend72: - %t162 = load i32, ptr @g_g_target_win - %t163 = icmp ne i32 %t162, 0 - %t164 = zext i1 %t163 to i32 - store i32 %t164, ptr %t161 - br i1 %t163, label %sc73, label %scend74 -sc73: - %t165 = load i32, ptr @g_g_uses_http - %t166 = icmp ne i32 %t165, 0 - %t167 = zext i1 %t166 to i32 - store i32 %t167, ptr %t161 - br label %scend74 -scend74: - %t168 = load i32, ptr %t161 - %t169 = icmp ne i32 %t168, 0 - br i1 %t169, label %then75, label %ifend77 -then75: - call void @fn_die(ptr @.str11129) - br label %ifend77 -ifend77: - %t171 = load i32, ptr %t6 - %t172 = icmp ne i32 %t171, 0 - %t173 = zext i1 %t172 to i32 - store i32 %t173, ptr %t170 - br i1 %t172, label %sc78, label %scend79 -sc78: - %t174 = load ptr, ptr %t1 - %t175 = icmp eq ptr %t174, null - %t176 = zext i1 %t175 to i32 - %t177 = icmp ne i32 %t176, 0 - %t178 = zext i1 %t177 to i32 - store i32 %t178, ptr %t170 - br label %scend79 -scend79: - %t179 = load i32, ptr %t170 - %t180 = icmp ne i32 %t179, 0 - br i1 %t180, label %then80, label %ifend82 -then80: - %t181 = call i32 @fn_host_is_windows() - %t182 = icmp ne i32 %t181, 0 - br i1 %t182, label %then83, label %else84 -then83: - %t183 = call ptr @fn_getenv_or(ptr @.str11130, ptr @.str11131) - %t184 = call ptr @fn_fwd_slashes(ptr %t183) - %t185 = call ptr @lp_str_concat(ptr %t184, ptr @.str11132) - %t186 = load ptr, ptr %t0 - %t187 = call ptr @fn_base_name(ptr %t186) - %t188 = call ptr @fn_strip_ludic(ptr %t187) - %t189 = call ptr @lp_str_concat(ptr %t185, ptr %t188) - store ptr %t189, ptr %t1 - br label %ifend85 -else84: - %t190 = load ptr, ptr %t0 - %t191 = call ptr @fn_base_name(ptr %t190) - %t192 = call ptr @fn_strip_ludic(ptr %t191) - %t193 = call ptr @lp_str_concat(ptr @.str11133, ptr %t192) - store ptr %t193, ptr %t1 - br label %ifend85 -ifend85: - br label %ifend82 -ifend82: - %t194 = load i32, ptr @g_g_target_win - %t195 = icmp ne i32 %t194, 0 - br i1 %t195, label %then86, label %ifend88 +ifend83: + %t206 = load i32, ptr @g_g_target_win + %t207 = icmp ne i32 %t206, 0 + %t208 = zext i1 %t207 to i32 + store i32 %t208, ptr %t205 + br i1 %t207, label %sc84, label %scend85 +sc84: + %t209 = load i32, ptr @g_g_uses_http + %t210 = icmp ne i32 %t209, 0 + %t211 = zext i1 %t210 to i32 + store i32 %t211, ptr %t205 + br label %scend85 +scend85: + %t212 = load i32, ptr %t205 + %t213 = icmp ne i32 %t212, 0 + br i1 %t213, label %then86, label %ifend88 then86: - %t196 = load ptr, ptr %t1 - %t197 = call i64 @strlen(ptr %t196) - %t198 = trunc i64 %t197 to i32 - store i32 %t198, ptr %t199 - store i32 0, ptr %t200 - %t201 = load i32, ptr %t199 - %t202 = icmp sge i32 %t201, 4 - %t203 = zext i1 %t202 to i32 - %t204 = icmp ne i32 %t203, 0 - br i1 %t204, label %then89, label %ifend91 -then89: - %t205 = load ptr, ptr %t1 - %t206 = load i32, ptr %t199 - %t207 = sub i32 %t206, 4 - %t208 = load i32, ptr %t199 - %t209 = call ptr @lp_str_slice(ptr %t205, i32 %t207, i32 %t208) - %t210 = call i32 @lp_str_eq(ptr %t209, ptr @.str11134) - store i32 %t210, ptr %t200 - br label %ifend91 -ifend91: - %t211 = load i32, ptr %t200 - %t212 = icmp eq i32 %t211, 0 - %t213 = zext i1 %t212 to i32 - %t214 = icmp ne i32 %t213, 0 - br i1 %t214, label %then92, label %ifend94 -then92: - %t215 = load ptr, ptr %t1 - %t216 = call ptr @lp_str_concat(ptr %t215, ptr @.str11135) - store ptr %t216, ptr %t1 - br label %ifend94 -ifend94: + call void @fn_die(ptr @.str11131) br label %ifend88 ifend88: - %t217 = load ptr, ptr %t1 - %t218 = call ptr @fn_dir_of(ptr %t217) - store ptr %t218, ptr %t219 - %t220 = load ptr, ptr %t219 - %t221 = call i64 @strlen(ptr %t220) - %t222 = trunc i64 %t221 to i32 - %t223 = icmp sgt i32 %t222, 0 - %t224 = zext i1 %t223 to i32 - %t225 = icmp ne i32 %t224, 0 - br i1 %t225, label %then95, label %ifend97 -then95: - %t226 = load ptr, ptr %t219 - call void @fn_make_dir(ptr %t226) - br label %ifend97 -ifend97: - %t227 = load ptr, ptr %t1 - %t228 = call ptr @lp_str_concat(ptr %t227, ptr @.str11136) - store ptr %t228, ptr %t229 - %t230 = load ptr, ptr %t229 - %t231 = call i32 @fn_ir_flush(ptr %t230) - %t232 = icmp eq i32 %t231, 0 - %t233 = zext i1 %t232 to i32 - %t234 = icmp ne i32 %t233, 0 - br i1 %t234, label %then98, label %ifend100 -then98: - call void @fn_die(ptr @.str11137) - br label %ifend100 -ifend100: - %t235 = call ptr @fn_find_cc() - store ptr %t235, ptr %t236 - %t237 = call ptr @fn_ludic_home() - store ptr %t237, ptr %t238 - %t239 = load ptr, ptr %t236 - %t240 = call ptr @lp_str_concat(ptr %t239, ptr @.str11138) - %t241 = load ptr, ptr %t229 - %t242 = call ptr @lp_str_concat(ptr %t240, ptr %t241) - store ptr %t242, ptr %t243 - %t244 = load i32, ptr @g_g_target_win - %t245 = icmp ne i32 %t244, 0 - br i1 %t245, label %then101, label %else102 -then101: - %t246 = load i32, ptr @g_g_windowed - %t247 = icmp ne i32 %t246, 0 - br i1 %t247, label %then104, label %ifend106 -then104: - %t248 = load ptr, ptr %t238 - %t249 = call ptr @fn_join_path(ptr %t248, ptr @.str11139) - store ptr %t249, ptr %t250 - %t251 = load ptr, ptr %t243 - %t252 = call ptr @lp_str_concat(ptr %t251, ptr @.str11140) - %t253 = load ptr, ptr %t250 - %t254 = call ptr @lp_str_concat(ptr %t252, ptr %t253) - %t255 = call ptr @lp_str_concat(ptr %t254, ptr @.str11141) - store ptr %t255, ptr %t243 - %t256 = load i32, ptr @g_g_uses_audio - %t257 = icmp ne i32 %t256, 0 - br i1 %t257, label %then107, label %ifend109 -then107: - %t258 = load ptr, ptr %t238 - %t259 = call ptr @fn_join_path(ptr %t258, ptr @.str11142) - store ptr %t259, ptr %t260 - %t261 = load ptr, ptr %t243 - %t262 = call ptr @lp_str_concat(ptr %t261, ptr @.str11143) - %t263 = load ptr, ptr %t260 - %t264 = call ptr @lp_str_concat(ptr %t262, ptr %t263) - %t265 = call ptr @lp_str_concat(ptr %t264, ptr @.str11144) - store ptr %t265, ptr %t243 - br label %ifend109 -ifend109: - br label %ifend106 -ifend106: - br label %ifend103 -else102: - %t266 = load i32, ptr @g_g_windowed - %t267 = icmp ne i32 %t266, 0 - br i1 %t267, label %then110, label %ifend112 -then110: - %t268 = load ptr, ptr %t238 - %t269 = call ptr @fn_join_path(ptr %t268, ptr @.str11145) - store ptr %t269, ptr %t270 - %t271 = load ptr, ptr %t243 - %t272 = call ptr @lp_str_concat(ptr %t271, ptr @.str11146) - %t273 = load ptr, ptr %t270 - %t274 = call ptr @lp_str_concat(ptr %t272, ptr %t273) - %t275 = call ptr @lp_str_concat(ptr %t274, ptr @.str11147) - store ptr %t275, ptr %t243 - %t276 = load i32, ptr @g_g_uses_audio - %t277 = icmp ne i32 %t276, 0 - br i1 %t277, label %then113, label %ifend115 -then113: - %t278 = load ptr, ptr %t238 - %t279 = call ptr @fn_join_path(ptr %t278, ptr @.str11148) + %t215 = load i32, ptr %t6 + %t216 = icmp ne i32 %t215, 0 + %t217 = zext i1 %t216 to i32 + store i32 %t217, ptr %t214 + br i1 %t216, label %sc89, label %scend90 +sc89: + %t218 = load ptr, ptr %t1 + %t219 = icmp eq ptr %t218, null + %t220 = zext i1 %t219 to i32 + %t221 = icmp ne i32 %t220, 0 + %t222 = zext i1 %t221 to i32 + store i32 %t222, ptr %t214 + br label %scend90 +scend90: + %t223 = load i32, ptr %t214 + %t224 = icmp ne i32 %t223, 0 + br i1 %t224, label %then91, label %ifend93 +then91: + %t225 = call i32 @fn_host_is_windows() + %t226 = icmp ne i32 %t225, 0 + br i1 %t226, label %then94, label %else95 +then94: + %t227 = call ptr @fn_getenv_or(ptr @.str11132, ptr @.str11133) + %t228 = call ptr @fn_fwd_slashes(ptr %t227) + %t229 = call ptr @lp_str_concat(ptr %t228, ptr @.str11134) + %t230 = load ptr, ptr %t0 + %t231 = call ptr @fn_base_name(ptr %t230) + %t232 = call ptr @fn_strip_ludic(ptr %t231) + %t233 = call ptr @lp_str_concat(ptr %t229, ptr %t232) + store ptr %t233, ptr %t1 + br label %ifend96 +else95: + %t234 = load ptr, ptr %t0 + %t235 = call ptr @fn_base_name(ptr %t234) + %t236 = call ptr @fn_strip_ludic(ptr %t235) + %t237 = call ptr @lp_str_concat(ptr @.str11135, ptr %t236) + store ptr %t237, ptr %t1 + br label %ifend96 +ifend96: + br label %ifend93 +ifend93: + %t238 = load i32, ptr @g_g_target_win + %t239 = icmp ne i32 %t238, 0 + br i1 %t239, label %then97, label %ifend99 +then97: + %t240 = load ptr, ptr %t1 + %t241 = call i64 @strlen(ptr %t240) + %t242 = trunc i64 %t241 to i32 + store i32 %t242, ptr %t243 + store i32 0, ptr %t244 + %t245 = load i32, ptr %t243 + %t246 = icmp sge i32 %t245, 4 + %t247 = zext i1 %t246 to i32 + %t248 = icmp ne i32 %t247, 0 + br i1 %t248, label %then100, label %ifend102 +then100: + %t249 = load ptr, ptr %t1 + %t250 = load i32, ptr %t243 + %t251 = sub i32 %t250, 4 + %t252 = load i32, ptr %t243 + %t253 = call ptr @lp_str_slice(ptr %t249, i32 %t251, i32 %t252) + %t254 = call i32 @lp_str_eq(ptr %t253, ptr @.str11136) + store i32 %t254, ptr %t244 + br label %ifend102 +ifend102: + %t255 = load i32, ptr %t244 + %t256 = icmp eq i32 %t255, 0 + %t257 = zext i1 %t256 to i32 + %t258 = icmp ne i32 %t257, 0 + br i1 %t258, label %then103, label %ifend105 +then103: + %t259 = load ptr, ptr %t1 + %t260 = call ptr @lp_str_concat(ptr %t259, ptr @.str11137) + store ptr %t260, ptr %t1 + br label %ifend105 +ifend105: + br label %ifend99 +ifend99: + %t261 = load ptr, ptr %t1 + %t262 = call ptr @fn_dir_of(ptr %t261) + store ptr %t262, ptr %t263 + %t264 = load ptr, ptr %t263 + %t265 = call i64 @strlen(ptr %t264) + %t266 = trunc i64 %t265 to i32 + %t267 = icmp sgt i32 %t266, 0 + %t268 = zext i1 %t267 to i32 + %t269 = icmp ne i32 %t268, 0 + br i1 %t269, label %then106, label %ifend108 +then106: + %t270 = load ptr, ptr %t263 + call void @fn_make_dir(ptr %t270) + br label %ifend108 +ifend108: + %t271 = load ptr, ptr %t1 + %t272 = call ptr @lp_str_concat(ptr %t271, ptr @.str11138) + store ptr %t272, ptr %t273 + %t274 = load ptr, ptr %t273 + %t275 = call i32 @fn_ir_flush(ptr %t274) + %t276 = icmp eq i32 %t275, 0 + %t277 = zext i1 %t276 to i32 + %t278 = icmp ne i32 %t277, 0 + br i1 %t278, label %then109, label %ifend111 +then109: + call void @fn_die(ptr @.str11139) + br label %ifend111 +ifend111: + %t279 = call ptr @fn_find_cc() store ptr %t279, ptr %t280 - %t281 = load ptr, ptr %t243 - %t282 = call ptr @lp_str_concat(ptr %t281, ptr @.str11149) + %t281 = call ptr @fn_ludic_home() + store ptr %t281, ptr %t282 %t283 = load ptr, ptr %t280 - %t284 = call ptr @lp_str_concat(ptr %t282, ptr %t283) - %t285 = call ptr @lp_str_concat(ptr %t284, ptr @.str11150) - store ptr %t285, ptr %t243 - br label %ifend115 -ifend115: - br label %ifend112 -ifend112: - br label %ifend103 -ifend103: - %t286 = load i32, ptr @g_g_uses_http - %t287 = icmp ne i32 %t286, 0 - br i1 %t287, label %then116, label %ifend118 -then116: - %t288 = load ptr, ptr %t238 - %t289 = call ptr @fn_join_path(ptr %t288, ptr @.str11151) - store ptr %t289, ptr %t290 - %t291 = load ptr, ptr %t243 - %t292 = call ptr @lp_str_concat(ptr %t291, ptr @.str11152) - %t293 = load ptr, ptr %t290 - %t294 = call ptr @lp_str_concat(ptr %t292, ptr %t293) - %t295 = call ptr @lp_str_concat(ptr %t294, ptr @.str11153) - store ptr %t295, ptr %t243 - br label %ifend118 -ifend118: - %t296 = load i32, ptr @g_g_uses_gl - %t297 = icmp ne i32 %t296, 0 - br i1 %t297, label %then119, label %ifend121 -then119: - %t298 = load i32, ptr @g_g_target_win - %t299 = icmp ne i32 %t298, 0 - br i1 %t299, label %then122, label %else123 -then122: - %t300 = load ptr, ptr %t238 - %t301 = call ptr @fn_join_path(ptr %t300, ptr @.str11154) - store ptr %t301, ptr %t302 - %t303 = load ptr, ptr %t238 - %t304 = call ptr @fn_join_path(ptr %t303, ptr @.str11155) - store ptr %t304, ptr %t305 - %t306 = load ptr, ptr %t238 - %t307 = call ptr @fn_join_path(ptr %t306, ptr @.str11156) - store ptr %t307, ptr %t308 - %t309 = load i32, ptr @g_g_windowed - %t310 = icmp ne i32 %t309, 0 - br i1 %t310, label %then125, label %ifend127 -then125: - %t311 = load ptr, ptr %t238 - %t312 = call ptr @fn_join_path(ptr %t311, ptr @.str11157) - store ptr %t312, ptr %t308 - br label %ifend127 -ifend127: - %t313 = load ptr, ptr %t243 - %t314 = call ptr @lp_str_concat(ptr %t313, ptr @.str11158) - %t315 = load ptr, ptr %t302 - %t316 = call ptr @lp_str_concat(ptr %t314, ptr %t315) - %t317 = call ptr @lp_str_concat(ptr %t316, ptr @.str11159) - %t318 = load ptr, ptr %t305 - %t319 = call ptr @lp_str_concat(ptr %t317, ptr %t318) - %t320 = call ptr @lp_str_concat(ptr %t319, ptr @.str11160) - %t321 = load ptr, ptr %t308 - %t322 = call ptr @lp_str_concat(ptr %t320, ptr %t321) - %t323 = call ptr @lp_str_concat(ptr %t322, ptr @.str11161) - store ptr %t323, ptr %t243 - br label %ifend124 -else123: - %t324 = load ptr, ptr %t238 - %t325 = call ptr @fn_join_path(ptr %t324, ptr @.str11162) - store ptr %t325, ptr %t326 - %t327 = load ptr, ptr %t238 - %t328 = call ptr @fn_join_path(ptr %t327, ptr @.str11163) - store ptr %t328, ptr %t329 - %t330 = load ptr, ptr %t243 - %t331 = call ptr @lp_str_concat(ptr %t330, ptr @.str11164) - %t332 = load ptr, ptr %t326 - %t333 = call ptr @lp_str_concat(ptr %t331, ptr %t332) - %t334 = call ptr @lp_str_concat(ptr %t333, ptr @.str11165) - %t335 = load ptr, ptr %t329 - %t336 = call ptr @lp_str_concat(ptr %t334, ptr %t335) - %t337 = call ptr @lp_str_concat(ptr %t336, ptr @.str11166) - store ptr %t337, ptr %t243 - br label %ifend124 -ifend124: - br label %ifend121 -ifend121: - %t338 = load ptr, ptr %t243 - %t339 = call ptr @lp_str_concat(ptr %t338, ptr @.str11167) - %t340 = load ptr, ptr %t1 - %t341 = call ptr @lp_str_concat(ptr %t339, ptr %t340) - store ptr %t341, ptr %t243 - %t342 = load ptr, ptr %t243 - %t343 = call i32 @system(ptr %t342) - store i32 %t343, ptr %t344 - %t345 = load i32, ptr %t5 - %t346 = icmp eq i32 %t345, 0 - %t347 = zext i1 %t346 to i32 - %t348 = icmp ne i32 %t347, 0 - br i1 %t348, label %then128, label %ifend130 -then128: - %t349 = load ptr, ptr %t229 - call void @fn_remove_file(ptr %t349) - br label %ifend130 -ifend130: - %t350 = load i32, ptr %t344 - %t351 = icmp ne i32 %t350, 0 - %t352 = zext i1 %t351 to i32 - %t353 = icmp ne i32 %t352, 0 - br i1 %t353, label %then131, label %ifend133 -then131: - call void @fn_die(ptr @.str11168) - br label %ifend133 -ifend133: - %t354 = load i32, ptr %t6 - %t355 = icmp ne i32 %t354, 0 - br i1 %t355, label %then134, label %ifend136 -then134: - %t356 = call i32 @fn_host_is_windows() - %t357 = icmp ne i32 %t356, 0 - br i1 %t357, label %then137, label %ifend139 -then137: - %t358 = load ptr, ptr %t1 - %t359 = call ptr @fn_win_path(ptr %t358) - %t360 = call ptr @lp_str_concat(ptr @.str11169, ptr %t359) - %t361 = call ptr @lp_str_concat(ptr %t360, ptr @.str11170) - %t362 = call i32 @system(ptr %t361) - call void @exit(i32 %t362) + %t284 = call ptr @lp_str_concat(ptr %t283, ptr @.str11140) + %t285 = load ptr, ptr %t273 + %t286 = call ptr @lp_str_concat(ptr %t284, ptr %t285) + store ptr %t286, ptr %t287 + %t288 = load i32, ptr @g_g_target_win + %t289 = icmp ne i32 %t288, 0 + br i1 %t289, label %then112, label %else113 +then112: + %t290 = load i32, ptr @g_g_windowed + %t291 = icmp ne i32 %t290, 0 + br i1 %t291, label %then115, label %ifend117 +then115: + %t292 = load ptr, ptr %t282 + %t293 = call ptr @fn_join_path(ptr %t292, ptr @.str11141) + store ptr %t293, ptr %t294 + %t295 = load ptr, ptr %t287 + %t296 = call ptr @lp_str_concat(ptr %t295, ptr @.str11142) + %t297 = load ptr, ptr %t294 + %t298 = call ptr @lp_str_concat(ptr %t296, ptr %t297) + %t299 = call ptr @lp_str_concat(ptr %t298, ptr @.str11143) + store ptr %t299, ptr %t287 + %t300 = load i32, ptr @g_g_uses_audio + %t301 = icmp ne i32 %t300, 0 + br i1 %t301, label %then118, label %ifend120 +then118: + %t302 = load ptr, ptr %t282 + %t303 = call ptr @fn_join_path(ptr %t302, ptr @.str11144) + store ptr %t303, ptr %t304 + %t305 = load ptr, ptr %t287 + %t306 = call ptr @lp_str_concat(ptr %t305, ptr @.str11145) + %t307 = load ptr, ptr %t304 + %t308 = call ptr @lp_str_concat(ptr %t306, ptr %t307) + %t309 = call ptr @lp_str_concat(ptr %t308, ptr @.str11146) + store ptr %t309, ptr %t287 + br label %ifend120 +ifend120: + br label %ifend117 +ifend117: + br label %ifend114 +else113: + %t310 = load i32, ptr @g_g_windowed + %t311 = icmp ne i32 %t310, 0 + br i1 %t311, label %then121, label %ifend123 +then121: + %t312 = load ptr, ptr %t282 + %t313 = call ptr @fn_join_path(ptr %t312, ptr @.str11147) + store ptr %t313, ptr %t314 + %t315 = load ptr, ptr %t287 + %t316 = call ptr @lp_str_concat(ptr %t315, ptr @.str11148) + %t317 = load ptr, ptr %t314 + %t318 = call ptr @lp_str_concat(ptr %t316, ptr %t317) + %t319 = call ptr @lp_str_concat(ptr %t318, ptr @.str11149) + store ptr %t319, ptr %t287 + %t320 = load i32, ptr @g_g_uses_audio + %t321 = icmp ne i32 %t320, 0 + br i1 %t321, label %then124, label %ifend126 +then124: + %t322 = load ptr, ptr %t282 + %t323 = call ptr @fn_join_path(ptr %t322, ptr @.str11150) + store ptr %t323, ptr %t324 + %t325 = load ptr, ptr %t287 + %t326 = call ptr @lp_str_concat(ptr %t325, ptr @.str11151) + %t327 = load ptr, ptr %t324 + %t328 = call ptr @lp_str_concat(ptr %t326, ptr %t327) + %t329 = call ptr @lp_str_concat(ptr %t328, ptr @.str11152) + store ptr %t329, ptr %t287 + br label %ifend126 +ifend126: + br label %ifend123 +ifend123: + br label %ifend114 +ifend114: + %t330 = load i32, ptr @g_g_uses_http + %t331 = icmp ne i32 %t330, 0 + br i1 %t331, label %then127, label %ifend129 +then127: + %t332 = load ptr, ptr %t282 + %t333 = call ptr @fn_join_path(ptr %t332, ptr @.str11153) + store ptr %t333, ptr %t334 + %t335 = load ptr, ptr %t287 + %t336 = call ptr @lp_str_concat(ptr %t335, ptr @.str11154) + %t337 = load ptr, ptr %t334 + %t338 = call ptr @lp_str_concat(ptr %t336, ptr %t337) + %t339 = call ptr @lp_str_concat(ptr %t338, ptr @.str11155) + store ptr %t339, ptr %t287 + br label %ifend129 +ifend129: + %t340 = load i32, ptr @g_g_uses_gl + %t341 = icmp ne i32 %t340, 0 + br i1 %t341, label %then130, label %ifend132 +then130: + %t342 = load i32, ptr @g_g_target_win + %t343 = icmp ne i32 %t342, 0 + br i1 %t343, label %then133, label %else134 +then133: + %t344 = load ptr, ptr %t282 + %t345 = call ptr @fn_join_path(ptr %t344, ptr @.str11156) + store ptr %t345, ptr %t346 + %t347 = load ptr, ptr %t282 + %t348 = call ptr @fn_join_path(ptr %t347, ptr @.str11157) + store ptr %t348, ptr %t349 + %t350 = load ptr, ptr %t282 + %t351 = call ptr @fn_join_path(ptr %t350, ptr @.str11158) + store ptr %t351, ptr %t352 + %t353 = load i32, ptr @g_g_windowed + %t354 = icmp ne i32 %t353, 0 + br i1 %t354, label %then136, label %ifend138 +then136: + %t355 = load ptr, ptr %t282 + %t356 = call ptr @fn_join_path(ptr %t355, ptr @.str11159) + store ptr %t356, ptr %t352 + br label %ifend138 +ifend138: + %t357 = load ptr, ptr %t287 + %t358 = call ptr @lp_str_concat(ptr %t357, ptr @.str11160) + %t359 = load ptr, ptr %t346 + %t360 = call ptr @lp_str_concat(ptr %t358, ptr %t359) + %t361 = call ptr @lp_str_concat(ptr %t360, ptr @.str11161) + %t362 = load ptr, ptr %t349 + %t363 = call ptr @lp_str_concat(ptr %t361, ptr %t362) + %t364 = call ptr @lp_str_concat(ptr %t363, ptr @.str11162) + %t365 = load ptr, ptr %t352 + %t366 = call ptr @lp_str_concat(ptr %t364, ptr %t365) + %t367 = call ptr @lp_str_concat(ptr %t366, ptr @.str11163) + store ptr %t367, ptr %t287 + br label %ifend135 +else134: + %t368 = load ptr, ptr %t282 + %t369 = call ptr @fn_join_path(ptr %t368, ptr @.str11164) + store ptr %t369, ptr %t370 + %t371 = load ptr, ptr %t282 + %t372 = call ptr @fn_join_path(ptr %t371, ptr @.str11165) + store ptr %t372, ptr %t373 + %t374 = load ptr, ptr %t287 + %t375 = call ptr @lp_str_concat(ptr %t374, ptr @.str11166) + %t376 = load ptr, ptr %t370 + %t377 = call ptr @lp_str_concat(ptr %t375, ptr %t376) + %t378 = call ptr @lp_str_concat(ptr %t377, ptr @.str11167) + %t379 = load ptr, ptr %t373 + %t380 = call ptr @lp_str_concat(ptr %t378, ptr %t379) + %t381 = call ptr @lp_str_concat(ptr %t380, ptr @.str11168) + store ptr %t381, ptr %t287 + br label %ifend135 +ifend135: + br label %ifend132 +ifend132: + %t383 = load i32, ptr @g_g_target_win + %t384 = icmp ne i32 %t383, 0 + %t385 = zext i1 %t384 to i32 + store i32 %t385, ptr %t382 + br i1 %t384, label %sc139, label %scend140 +sc139: + %t386 = load i32, ptr %t8 + %t387 = icmp ne i32 %t386, 0 + %t388 = zext i1 %t387 to i32 + store i32 %t388, ptr %t382 + br label %scend140 +scend140: + %t389 = load i32, ptr %t382 + %t390 = icmp ne i32 %t389, 0 + br i1 %t390, label %then141, label %ifend143 +then141: + %t391 = load ptr, ptr %t287 + %t392 = call ptr @lp_str_concat(ptr %t391, ptr @.str11169) + store ptr %t392, ptr %t287 + br label %ifend143 +ifend143: + store i32 0, ptr %t393 + br label %wcond144 +wcond144: + %t394 = load i32, ptr %t393 + %t395 = load ptr, ptr %t15 + %t396 = getelementptr inbounds %LSlice, ptr %t395, i32 0, i32 1 + %t397 = load i32, ptr %t396 + %t398 = icmp slt i32 %t394, %t397 + %t399 = zext i1 %t398 to i32 + %t400 = icmp ne i32 %t399, 0 + br i1 %t400, label %wbody145, label %wend146 +wbody145: + %t401 = load ptr, ptr %t287 + %t402 = call ptr @lp_str_concat(ptr %t401, ptr @.str11170) + %t403 = load ptr, ptr %t15 + %t404 = getelementptr inbounds %LSlice, ptr %t403, i32 0, i32 0 + %t405 = load ptr, ptr %t404 + %t406 = load i32, ptr %t393 + %t407 = getelementptr inbounds ptr, ptr %t405, i32 %t406 + %t408 = load ptr, ptr %t407 + %t409 = call ptr @lp_str_concat(ptr %t402, ptr %t408) + %t410 = call ptr @lp_str_concat(ptr %t409, ptr @.str11171) + store ptr %t410, ptr %t287 + %t411 = load i32, ptr %t393 + %t412 = add i32 %t411, 1 + store i32 %t412, ptr %t393 + br label %wcond144 +wend146: + %t413 = load ptr, ptr %t287 + %t414 = call ptr @lp_str_concat(ptr %t413, ptr @.str11172) + %t415 = load ptr, ptr %t1 + %t416 = call ptr @lp_str_concat(ptr %t414, ptr %t415) + store ptr %t416, ptr %t287 + %t417 = load ptr, ptr %t287 + store ptr %t417, ptr %t418 + %t419 = call i32 @fn_host_is_windows() + %t420 = icmp ne i32 %t419, 0 + br i1 %t420, label %then147, label %ifend149 +then147: + %t421 = load ptr, ptr %t287 + %t422 = call ptr @lp_str_concat(ptr @.str11173, ptr %t421) + %t423 = call ptr @lp_str_concat(ptr %t422, ptr @.str11174) + store ptr %t423, ptr %t418 + br label %ifend149 +ifend149: + %t424 = load ptr, ptr %t418 + %t425 = call i32 @system(ptr %t424) + store i32 %t425, ptr %t426 + %t427 = load i32, ptr %t5 + %t428 = icmp eq i32 %t427, 0 + %t429 = zext i1 %t428 to i32 + %t430 = icmp ne i32 %t429, 0 + br i1 %t430, label %then150, label %ifend152 +then150: + %t431 = load ptr, ptr %t273 + call void @fn_remove_file(ptr %t431) + br label %ifend152 +ifend152: + %t432 = load i32, ptr %t426 + %t433 = icmp ne i32 %t432, 0 + %t434 = zext i1 %t433 to i32 + %t435 = icmp ne i32 %t434, 0 + br i1 %t435, label %then153, label %ifend155 +then153: + call void @fn_die(ptr @.str11175) + br label %ifend155 +ifend155: + %t436 = load i32, ptr %t6 + %t437 = icmp ne i32 %t436, 0 + br i1 %t437, label %then156, label %ifend158 +then156: + %t438 = call i32 @fn_host_is_windows() + %t439 = icmp ne i32 %t438, 0 + br i1 %t439, label %then159, label %ifend161 +then159: + %t440 = load ptr, ptr %t1 + %t441 = call ptr @fn_win_path(ptr %t440) + %t442 = call ptr @lp_str_concat(ptr @.str11176, ptr %t441) + %t443 = call ptr @lp_str_concat(ptr %t442, ptr @.str11177) + %t444 = call i32 @system(ptr %t443) + call void @exit(i32 %t444) unreachable -ifend139: - %t363 = load ptr, ptr %t1 - %t364 = call i32 @system(ptr %t363) - store i32 %t364, ptr %t365 - %t366 = load i32, ptr %t365 - %t367 = lshr i32 %t366, 8 - %t368 = and i32 %t367, 255 - call void @exit(i32 %t368) +ifend161: + %t445 = load ptr, ptr %t1 + %t446 = call i32 @system(ptr %t445) + store i32 %t446, ptr %t447 + %t448 = load i32, ptr %t447 + %t449 = lshr i32 %t448, 8 + %t450 = and i32 %t449, 255 + call void @exit(i32 %t450) unreachable -ifend136: +ifend158: br label %ret ret: - %t369 = load i32, ptr %retval - ret i32 %t369 + %t451 = load i32, ptr %retval + ret i32 %t451 } diff --git a/selfhost/ludicc.win.seed.ll b/selfhost/ludicc.win.seed.ll new file mode 100644 index 00000000..b9b68798 --- /dev/null +++ b/selfhost/ludicc.win.seed.ll @@ -0,0 +1,111260 @@ +; Ludic (self-hosted) -> LLVM IR +declare i32 @printf(ptr, ...) +declare ptr @malloc(i64) +declare ptr @realloc(ptr, i64) +declare void @free(ptr) +declare i64 @fread(ptr, i64, i64, ptr) +declare i64 @fwrite(ptr, i64, i64, ptr) +declare i32 @fclose(ptr) +declare void @exit(i32) +declare i32 @system(ptr) +declare ptr @getenv(ptr) +declare ptr @memcpy(ptr, ptr, i64) +declare ptr @memset(ptr, i32, i64) +declare i64 @strlen(ptr) +declare i32 @strcmp(ptr, ptr) +declare i32 @strncmp(ptr, ptr, i64) +declare ptr @strstr(ptr, ptr) +declare i32 @atoi(ptr) +declare i32 @getchar() +declare i32 @putchar(i32) +declare void @win_open(i32, i32, i32, ptr) +declare i32 @win_poll() +declare void @win_present(ptr, i32, i32) +declare i32 @win_running() +declare void @win_close() +declare void @win_held(ptr) +declare void @win_mouse(ptr) +declare void @win_pad(ptr) +declare void @win_touch(ptr) +declare void @win_cursor_mode(i32) +declare ptr @snd_load(ptr) +declare void @snd_play(ptr, i32, i32, i32) +declare void @snd_stop(ptr) +declare i32 @snd_playing(ptr) +declare void @snd_set_volume(ptr, i32) +declare void @snd_set_rate(ptr, i32) +declare void @snd_set_pan(ptr, i32) +declare ptr @hs_req_new(ptr, ptr) +declare void @hs_req_header(ptr, ptr, ptr) +declare void @hs_req_body(ptr, ptr, i32) +declare void @hs_send(i32, ptr) +declare i32 @hs_done(i32) +declare i32 @hs_status(i32) +declare ptr @hs_body(i32) +declare i32 @hs_blen(i32) +declare ptr @hs_header(i32, ptr) +declare void @hs_free(i32) +declare ptr @__acrt_iob_func(i32) +declare i32 @_setmode(i32, i32) +declare ptr @_fsopen(ptr, ptr, i32) +declare i64 @_ftelli64(ptr) +declare i32 @_fseeki64(ptr, i64, i32) +declare i64 @_time64(ptr) +declare i32 @_access(ptr, i32) +declare i32 @_mkdir(ptr) +declare i32 @_chdir(ptr) +declare i32 @_getpid() +declare i32 @_open(ptr, i32, ...) +declare i32 @_close(i32) +declare i64 @_lseeki64(i32, i64, i32) +declare i32 @_putenv_s(ptr, ptr) +declare i64 @_get_osfhandle(i32) +declare i32 @_open_osfhandle(i64, i32) +declare ptr @_fdopen(i32, ptr) +declare i32 @MoveFileExA(ptr, ptr, i32) +declare i32 @DeleteFileA(ptr) +declare i32 @RemoveDirectoryA(ptr) +declare ptr @FindFirstFileA(ptr, ptr) +declare i32 @FindNextFileA(ptr, ptr) +declare i32 @FindClose(ptr) +declare ptr @CreateFileMappingA(ptr, ptr, i32, i32, i32, ptr) +declare ptr @MapViewOfFile(ptr, i32, i32, i32, i64) +declare i32 @CloseHandle(ptr) +declare i32 @GetModuleFileNameA(ptr, ptr, i32) +declare i32 @GetTempPathA(i32, ptr) +declare i32 @GetTempFileNameA(ptr, ptr, i32, ptr) +declare ptr @CreateFileA(ptr, i32, i32, ptr, i32, i32, ptr) +declare i32 @WriteFile(ptr, ptr, i32, ptr, ptr) +declare i32 @SetFilePointer(ptr, i32, ptr, i32) +@.win_rb = private unnamed_addr constant [3 x i8] c"rb\00" +@.win_lpk = private unnamed_addr constant [4 x i8] c"lpk\00" +@.win_empty = private unnamed_addr constant [1 x i8] c"\00" +@.win_windows = private unnamed_addr constant [8 x i8] c"Windows\00" +@.win_x64 = private unnamed_addr constant [7 x i8] c"x86_64\00" +define internal void @lp_win_slashes(ptr %s) { +entry: + br label %lp +lp: + %p = phi ptr [ %s, %entry ], [ %p1, %nx ] + %c = load i8, ptr %p + %z = icmp eq i8 %c, 0 + br i1 %z, label %done, label %chk +chk: + %bs = icmp eq i8 %c, 92 + br i1 %bs, label %fix, label %nx +fix: + store i8 47, ptr %p + br label %nx +nx: + %p1 = getelementptr i8, ptr %p, i64 1 + br label %lp +done: + ret void +} +@L_win_stdio_bin = internal global i32 0 +define internal ptr @lp_win_stdio(i32 %fd) { +entry: + %b = load i32, ptr @L_win_stdio_bin + %done = icmp ne i32 %b, 0 + br i1 %done, label %get, label %set +set: + store i32 1, ptr @L_win_stdio_bin + %s1 = call i32 @_setmode(i32 1, i32 32768) + %s2 = call i32 @_setmode(i32 2, i32 32768) + br label %get +get: + %f = call ptr @__acrt_iob_func(i32 %fd) + ret ptr %f +} +define internal ptr @fopen(ptr %p, ptr %m) { +entry: + %buf = alloca [8 x i8] + %ip = alloca i32 + %hb = alloca i32 + store i32 0, ptr %ip + store i32 0, ptr %hb + br label %lp +lp: + %i = load i32, ptr %ip + %src = getelementptr i8, ptr %m, i32 %i + %c = load i8, ptr %src + %z = icmp eq i8 %c, 0 + %full = icmp sge i32 %i, 6 + %stop = or i1 %z, %full + br i1 %stop, label %fin, label %cp +cp: + %dst = getelementptr i8, ptr %buf, i32 %i + store i8 %c, ptr %dst + %isb = icmp eq i8 %c, 98 + %hbv = load i32, ptr %hb + %hbn = select i1 %isb, i32 1, i32 %hbv + store i32 %hbn, ptr %hb + %i1 = add i32 %i, 1 + store i32 %i1, ptr %ip + br label %lp +fin: + %hbf = load i32, ptr %hb + %need = icmp eq i32 %hbf, 0 + br i1 %need, label %addb, label %term +addb: + %bp = getelementptr i8, ptr %buf, i32 %i + store i8 98, ptr %bp + %i2 = add i32 %i, 1 + store i32 %i2, ptr %ip + br label %term +term: + %ie = load i32, ptr %ip + %ep = getelementptr i8, ptr %buf, i32 %ie + store i8 0, ptr %ep + %f = call ptr @_fsopen(ptr %p, ptr %buf, i32 64) + ret ptr %f +} +define internal i64 @ftell(ptr %f) { +entry: + %r = call i64 @_ftelli64(ptr %f) + ret i64 %r +} +define internal i32 @fseek(ptr %f, i64 %o, i32 %w) { +entry: + %r = call i32 @_fseeki64(ptr %f, i64 %o, i32 %w) + ret i32 %r +} +define internal i32 @rename(ptr %a, ptr %b) { +entry: + %r = call i32 @MoveFileExA(ptr %a, ptr %b, i32 11) + %ok = icmp ne i32 %r, 0 + %v = select i1 %ok, i32 0, i32 -1 + ret i32 %v +} +define internal i32 @remove(ptr %p) { +entry: + %d = call i32 @DeleteFileA(ptr %p) + %ok = icmp ne i32 %d, 0 + br i1 %ok, label %yes, label %dir +dir: + %r = call i32 @RemoveDirectoryA(ptr %p) + %ok2 = icmp ne i32 %r, 0 + br i1 %ok2, label %yes, label %no +yes: + ret i32 0 +no: + ret i32 -1 +} +define internal i32 @access(ptr %p, i32 %m) { +entry: + %r = call i32 @_access(ptr %p, i32 %m) + ret i32 %r +} +define internal i32 @mkdir(ptr %p, i32 %mode) { +entry: + %r = call i32 @_mkdir(ptr %p) + ret i32 %r +} +define internal i32 @open(ptr %p, i32 %fl, ...) { +entry: + %f2 = or i32 %fl, 32768 + %r = call i32 (ptr, i32, ...) @_open(ptr %p, i32 %f2) + ret i32 %r +} +define internal i32 @close(i32 %fd) { +entry: + %r = call i32 @_close(i32 %fd) + ret i32 %r +} +define internal i64 @lseek(i32 %fd, i64 %o, i32 %w) { +entry: + %r = call i64 @_lseeki64(i32 %fd, i64 %o, i32 %w) + ret i64 %r +} +define internal ptr @opendir(ptr %path) { +entry: + %l = call i64 @strlen(ptr %path) + %cap = add i64 %l, 3 + %pat = call ptr @malloc(i64 %cap) + call ptr @memcpy(ptr %pat, ptr %path, i64 %l) + %e0 = getelementptr i8, ptr %pat, i64 %l + store i8 47, ptr %e0 + %e1 = getelementptr i8, ptr %e0, i64 1 + store i8 42, ptr %e1 + %e2 = getelementptr i8, ptr %e0, i64 2 + store i8 0, ptr %e2 + %d = call ptr @malloc(i64 368) + %fd = getelementptr i8, ptr %d, i64 16 + %h = call ptr @FindFirstFileA(ptr %pat, ptr %fd) + call void @free(ptr %pat) + %bad = icmp eq ptr %h, inttoptr (i64 -1 to ptr) + br i1 %bad, label %no, label %ok +no: + call void @free(ptr %d) + ret ptr null +ok: + store ptr %h, ptr %d + %fl = getelementptr i8, ptr %d, i64 8 + store i32 1, ptr %fl + ret ptr %d +} +define internal ptr @readdir(ptr %d) { +entry: + %fl = getelementptr i8, ptr %d, i64 8 + %f = load i32, ptr %fl + %first = icmp ne i32 %f, 0 + br i1 %first, label %take, label %next +take: + store i32 0, ptr %fl + br label %give +next: + %h = load ptr, ptr %d + %fd = getelementptr i8, ptr %d, i64 16 + %ok = call i32 @FindNextFileA(ptr %h, ptr %fd) + %more = icmp ne i32 %ok, 0 + br i1 %more, label %give, label %end +give: + %de = getelementptr i8, ptr %d, i64 39 + ret ptr %de +end: + ret ptr null +} +define internal i32 @closedir(ptr %d) { +entry: + %h = load ptr, ptr %d + %r = call i32 @FindClose(ptr %h) + call void @free(ptr %d) + ret i32 0 +} +define internal ptr @mmap(ptr %a, i64 %len, i32 %prot, i32 %flags, i32 %fd, i64 %off) { +entry: + %oh = call i64 @_get_osfhandle(i32 %fd) + %h = inttoptr i64 %oh to ptr + %m = call ptr @CreateFileMappingA(ptr %h, ptr null, i32 2, i32 0, i32 0, ptr null) + %nm = icmp eq ptr %m, null + br i1 %nm, label %bad, label %map +map: + %v = call ptr @MapViewOfFile(ptr %m, i32 4, i32 0, i32 0, i64 0) + %c = call i32 @CloseHandle(ptr %m) + %nv = icmp eq ptr %v, null + br i1 %nv, label %bad, label %ok +ok: + ret ptr %v +bad: + ret ptr inttoptr (i64 -1 to ptr) +} +define internal ptr @fmemopen(ptr %buf, i64 %len, ptr %mode) { +entry: + %dir = alloca [270 x i8] + %name = alloca [270 x i8] + %wr = alloca i32 + %n = call i32 @GetTempPathA(i32 260, ptr %dir) + %z = icmp eq i32 %n, 0 + br i1 %z, label %bad, label %mk +mk: + %u = call i32 @GetTempFileNameA(ptr %dir, ptr @.win_lpk, i32 0, ptr %name) + %uz = icmp eq i32 %u, 0 + br i1 %uz, label %bad, label %cr +cr: + %h = call ptr @CreateFileA(ptr %name, i32 -1073741824, i32 7, ptr null, i32 2, i32 67109120, ptr null) + %hb = icmp eq ptr %h, inttoptr (i64 -1 to ptr) + br i1 %hb, label %bad, label %wrt +wrt: + %l32 = trunc i64 %len to i32 + %w = call i32 @WriteFile(ptr %h, ptr %buf, i32 %l32, ptr %wr, ptr null) + %sp = call i32 @SetFilePointer(ptr %h, i32 0, ptr null, i32 0) + %hi = ptrtoint ptr %h to i64 + %fd = call i32 @_open_osfhandle(i64 %hi, i32 32768) + %fdb = icmp slt i32 %fd, 0 + br i1 %fdb, label %shut, label %fdo +fdo: + %f = call ptr @_fdopen(i32 %fd, ptr @.win_rb) + ret ptr %f +shut: + %c = call i32 @CloseHandle(ptr %h) + br label %bad +bad: + ret ptr null +} +define internal i32 @_NSGetExecutablePath(ptr %buf, ptr %szp) { +entry: + %sz = load i32, ptr %szp + %n = call i32 @GetModuleFileNameA(ptr null, ptr %buf, i32 %sz) + %bad = icmp eq i32 %n, 0 + %full = icmp sge i32 %n, %sz + %no = or i1 %bad, %full + br i1 %no, label %fail, label %fix +fix: + call void @lp_win_slashes(ptr %buf) + ret i32 0 +fail: + ret i32 -1 +} +define internal i32 @chdir(ptr %p) { +entry: + %r = call i32 @_chdir(ptr %p) + ret i32 %r +} +define internal i32 @getpid() { +entry: + %r = call i32 @_getpid() + ret i32 %r +} +define internal i64 @time(ptr %t) { +entry: + %r = call i64 @_time64(ptr %t) + ret i64 %r +} +define internal i32 @setenv(ptr %n, ptr %v, i32 %o) { +entry: + %r = call i32 @_putenv_s(ptr %n, ptr %v) + ret i32 %r +} +define internal i32 @unsetenv(ptr %n) { +entry: + %r = call i32 @_putenv_s(ptr %n, ptr @.win_empty) + ret i32 %r +} +define internal i32 @uname(ptr %buf) { +entry: + call ptr @memcpy(ptr %buf, ptr @.win_windows, i64 8) + %m = getelementptr i8, ptr %buf, i64 1024 + call ptr @memcpy(ptr %m, ptr @.win_x64, i64 7) + ret i32 0 +} +@.fmt_int = private unnamed_addr constant [4 x i8] c"%d\0A\00" +@.fmt_long = private unnamed_addr constant [6 x i8] c"%lld\0A\00" +@.fmt_line = private unnamed_addr constant [4 x i8] c"%s\0A\00" +@L_argc = internal global i32 0 +@L_argv = internal global ptr null +@L_clock = internal global i32 0 +@.gametitle = private unnamed_addr constant [9 x i8] c"SelfHost\00" +%LSlice = type { ptr, i32, i32 } +%Cmp_Buf = type { ptr, i32, i32 } +%Cmp_Node = type { i32, ptr, i32, ptr, ptr, ptr, ptr, ptr, i32, ptr } +%Cmp_Tok = type { i32, ptr, i32, i32 } +%Cmp_Val = type { ptr, ptr } +@g_toks = internal global ptr null +@g_pi = internal global i32 0 +@g_prog = internal global ptr null +@g_g_game_name = internal global ptr null +@g_g_parse_file = internal global ptr null +@g_g_parsing = internal global i32 1 +@g_g_err_file = internal global ptr null +@g_g_err_line = internal global i32 0 +@g_g_interp_line = internal global i32 1 +@g_loaded_paths = internal global ptr null +@g_cur_dir = internal global ptr null +@g_g_uses_regex = internal global i32 0 +@g_g_uses_bignum = internal global i32 0 +@g_g_uses_dict = internal global i32 0 +@g_g_uses_numeric = internal global i32 0 +@g_g_uses_jobs = internal global i32 0 +@g_g_uses_query = internal global i32 0 +@g_g_uses_reflect = internal global i32 0 +@g_g_uses_light = internal global i32 0 +@g_g_uses_value = internal global i32 0 +@g_g_uses_xml = internal global i32 0 +@g_g_uses_base64 = internal global i32 0 +@g_g_uses_tiled = internal global i32 0 +@g_g_uses_atlas = internal global i32 0 +@g_g_uses_reflect_io = internal global i32 0 +@g_g_uses_esys = internal global i32 0 +@g_g_uses_input = internal global i32 0 +@g_g_has_clear_color = internal global i32 0 +@g_g_clear_color = internal global ptr null +@g_g_warned_draw_sprite = internal global i32 0 +@g_g_uses_world_despawn = internal global i32 0 +@g_g_uses_anim_rt = internal global i32 0 +@g_g_uses_tween_rt = internal global i32 0 +@g_g_uses_fx = internal global i32 0 +@g_g_uses_audio = internal global i32 0 +@g_g_uses_http = internal global i32 0 +@g_g_uses_gl = internal global i32 0 +@g_g_mod_sys_fn = internal global ptr null +@g_g_mod_sys_phase = internal global ptr null +@g_g_esys_comp = internal global ptr null +@g_g_esys_fn = internal global ptr null +@g_g_esys_phase = internal global ptr null +@g_g_namespaces = internal global ptr null +@g_g_ns_blocks = internal global ptr null +@g_g_ns_exports = internal global ptr null +@g_g_disabled_sys = internal global ptr null +@g_head = internal global ptr null +@g_code = internal global ptr null +@g_falloc = internal global ptr null +@g_ll_t = internal global i32 0 +@g_ll_lbl = internal global i32 0 +@g_ll_str = internal global i32 0 +@g_loc_name = internal global ptr null +@g_loc_reg = internal global ptr null +@g_loc_ty = internal global ptr null +@g_loc_mut = internal global ptr null +@g_nloc = internal global i32 0 +@g_g_emit_module = internal global i32 0 +@g_g_uses_str = internal global i32 0 +@g_g_uses_intstr = internal global i32 0 +@g_g_uses_strslice = internal global i32 0 +@g_g_uses_mathrt = internal global i32 0 +@g_g_uses_textrt = internal global i32 0 +@g_g_uses_textrt2 = internal global i32 0 +@g_g_uses_hashrt = internal global i32 0 +@g_g_uses_cryptort = internal global i32 0 +@g_g_uses_uuidrt = internal global i32 0 +@g_g_uses_noisert = internal global i32 0 +@g_g_uses_logrt = internal global i32 0 +@g_g_uses_osrt = internal global i32 0 +@g_g_uses_pid = internal global i32 0 +@g_g_uses_unicodert = internal global i32 0 +@g_g_uses_fsrt = internal global i32 0 +@g_g_uses_pak = internal global i32 0 +@g_g_uses_datert = internal global i32 0 +@g_g_uses_expect = internal global i32 0 +@g_g_uses_panic = internal global i32 0 +@g_g_uses_result = internal global i32 0 +@g_g_uses_option = internal global i32 0 +@g_g_tests = internal global ptr null +@g_g_src_name = internal global ptr null +@g_g_uses_longstr = internal global i32 0 +@g_g_coverage = internal global i32 0 +@g_g_cov_active = internal global i32 1 +@g_g_cov_lines = internal global ptr null +@g_g_prog_user_end = internal global i32 0 +@g_brk_lbl = internal global ptr null +@g_cnt_lbl = internal global ptr null +@g_nloop = internal global i32 0 +@g_ret_ty = internal global ptr null +@g_g_term = internal global i32 0 +@g_self_stk = internal global ptr null +@g_nself = internal global i32 0 +@g_mach_stk = internal global ptr null +@g_nmach = internal global i32 0 +@g_g_scenes = internal global ptr null +@g_g_scene_count = internal global i32 0 +@g_g_start_scene = internal global i32 0 +@g_g_cur_scene = internal global ptr null +@g_g_var_ord = internal global i32 0 +@g_g_computed = internal global ptr null +@g_g_onspawn = internal global ptr null +@g_g_ondespawn = internal global ptr null +@g_g_onattach = internal global ptr null +@g_g_ondetach = internal global ptr null +@g_g_onenable = internal global ptr null +@g_g_ondisable = internal global ptr null +@g_g_events = internal global ptr null +@g_g_onlisten = internal global ptr null +@g_g_cancel_addr = internal global ptr null +@g_g_toggled_layers = internal global ptr null +@g_g_addr_ty = internal global ptr null +@g_g_intrin_ok = internal global i32 0 +@g_g_windowed = internal global i32 0 +@g_g_target_win = internal global i32 0 +@g_g_iok = internal global i32 0 +@g_g_snap_mode = internal global ptr null +@g_g_off = internal global ptr null +@g_g_uses_loopback = internal global i32 0 +@g_uiw = internal global ptr null +@g_uiw_parent = internal global ptr null +@g_ui_roots = internal global ptr null +@.str0 = private unnamed_addr constant [3 x i8] c"rb\00" +@.str1 = private unnamed_addr constant [23 x i8] c"unexpected character '\00" +@.str2 = private unnamed_addr constant [9 x i8] c"' (byte \00" +@.str3 = private unnamed_addr constant [2 x i8] c")\00" +@.str4 = private unnamed_addr constant [2 x i8] c":\00" +@.str5 = private unnamed_addr constant [10 x i8] c": error: \00" +@.str6 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str7 = private unnamed_addr constant [52 x i8] c"unterminated character literal (expected closing ')\00" +@.str8 = private unnamed_addr constant [1 x i8] c"\00" +@.str9 = private unnamed_addr constant [2 x i8] c":\00" +@.str10 = private unnamed_addr constant [10 x i8] c": error: \00" +@.str11 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str12 = private unnamed_addr constant [12 x i8] c"end of file\00" +@.str13 = private unnamed_addr constant [12 x i8] c"end of line\00" +@.str14 = private unnamed_addr constant [8 x i8] c"number \00" +@.str15 = private unnamed_addr constant [9 x i8] c"string \22\00" +@.str16 = private unnamed_addr constant [2 x i8] c"\22\00" +@.str17 = private unnamed_addr constant [2 x i8] c"'\00" +@.str18 = private unnamed_addr constant [2 x i8] c"'\00" +@.str19 = private unnamed_addr constant [11 x i8] c"expected '\00" +@.str20 = private unnamed_addr constant [8 x i8] c"', got \00" +@.str21 = private unnamed_addr constant [29 x i8] c"expected an identifier, got \00" +@.str22 = private unnamed_addr constant [2 x i8] c"[\00" +@.str23 = private unnamed_addr constant [2 x i8] c"]\00" +@.str24 = private unnamed_addr constant [2 x i8] c"(\00" +@.str25 = private unnamed_addr constant [2 x i8] c")\00" +@.str26 = private unnamed_addr constant [2 x i8] c":\00" +@.str27 = private unnamed_addr constant [2 x i8] c":\00" +@.str28 = private unnamed_addr constant [2 x i8] c",\00" +@.str29 = private unnamed_addr constant [2 x i8] c")\00" +@.str30 = private unnamed_addr constant [2 x i8] c"+\00" +@.str31 = private unnamed_addr constant [7 x i8] c"string\00" +@.str32 = private unnamed_addr constant [2 x i8] c"(\00" +@.str33 = private unnamed_addr constant [2 x i8] c")\00" +@.str34 = private unnamed_addr constant [2 x i8] c":\00" +@.str35 = private unnamed_addr constant [2 x i8] c",\00" +@.str36 = private unnamed_addr constant [2 x i8] c")\00" +@.str37 = private unnamed_addr constant [2 x i8] c"[\00" +@.str38 = private unnamed_addr constant [2 x i8] c"]\00" +@.str39 = private unnamed_addr constant [2 x i8] c",\00" +@.str40 = private unnamed_addr constant [2 x i8] c"]\00" +@.str41 = private unnamed_addr constant [2 x i8] c"[\00" +@.str42 = private unnamed_addr constant [5 x i8] c"emit\00" +@.str43 = private unnamed_addr constant [5 x i8] c"true\00" +@.str44 = private unnamed_addr constant [6 x i8] c"false\00" +@.str45 = private unnamed_addr constant [5 x i8] c"null\00" +@.str46 = private unnamed_addr constant [4 x i8] c"new\00" +@.str47 = private unnamed_addr constant [2 x i8] c"{\00" +@.str48 = private unnamed_addr constant [6 x i8] c"spawn\00" +@.str49 = private unnamed_addr constant [4 x i8] c"try\00" +@.str50 = private unnamed_addr constant [5 x i8] c"else\00" +@.str51 = private unnamed_addr constant [37 x i8] c"try needs an `else { ... }` fallback\00" +@.str52 = private unnamed_addr constant [2 x i8] c"(\00" +@.str53 = private unnamed_addr constant [2 x i8] c")\00" +@.str54 = private unnamed_addr constant [20 x i8] c"expected expression\00" +@.str55 = private unnamed_addr constant [2 x i8] c".\00" +@.str56 = private unnamed_addr constant [6 x i8] c"Regex\00" +@.str57 = private unnamed_addr constant [7 x i8] c"BigInt\00" +@.str58 = private unnamed_addr constant [8 x i8] c"Decimal\00" +@.str59 = private unnamed_addr constant [5 x i8] c"Dict\00" +@.str60 = private unnamed_addr constant [4 x i8] c"Set\00" +@.str61 = private unnamed_addr constant [5 x i8] c"Huge\00" +@.str62 = private unnamed_addr constant [6 x i8] c"Angle\00" +@.str63 = private unnamed_addr constant [8 x i8] c"Percent\00" +@.str64 = private unnamed_addr constant [4 x i8] c"Job\00" +@.str65 = private unnamed_addr constant [8 x i8] c"Promise\00" +@.str66 = private unnamed_addr constant [5 x i8] c"Sync\00" +@.str67 = private unnamed_addr constant [6 x i8] c"Query\00" +@.str68 = private unnamed_addr constant [8 x i8] c"Reflect\00" +@.str69 = private unnamed_addr constant [6 x i8] c"Light\00" +@.str70 = private unnamed_addr constant [6 x i8] c"Value\00" +@.str71 = private unnamed_addr constant [5 x i8] c"Json\00" +@.str72 = private unnamed_addr constant [4 x i8] c"Xml\00" +@.str73 = private unnamed_addr constant [7 x i8] c"Base64\00" +@.str74 = private unnamed_addr constant [6 x i8] c"Tiled\00" +@.str75 = private unnamed_addr constant [7 x i8] c"Sprite\00" +@.str76 = private unnamed_addr constant [6 x i8] c"sheet\00" +@.str77 = private unnamed_addr constant [5 x i8] c"cell\00" +@.str78 = private unnamed_addr constant [10 x i8] c"cell_span\00" +@.str79 = private unnamed_addr constant [7 x i8] c"define\00" +@.str80 = private unnamed_addr constant [6 x i8] c"named\00" +@.str81 = private unnamed_addr constant [5 x i8] c"draw\00" +@.str82 = private unnamed_addr constant [12 x i8] c"draw_scaled\00" +@.str83 = private unnamed_addr constant [6 x i8] c"width\00" +@.str84 = private unnamed_addr constant [7 x i8] c"height\00" +@.str85 = private unnamed_addr constant [7 x i8] c"Assets\00" +@.str86 = private unnamed_addr constant [8 x i8] c"Reflect\00" +@.str87 = private unnamed_addr constant [10 x i8] c"serialize\00" +@.str88 = private unnamed_addr constant [6 x i8] c"apply\00" +@.str89 = private unnamed_addr constant [6 x i8] c"Input\00" +@.str90 = private unnamed_addr constant [5 x i8] c"bind\00" +@.str91 = private unnamed_addr constant [7 x i8] c"rebind\00" +@.str92 = private unnamed_addr constant [5 x i8] c"poll\00" +@.str93 = private unnamed_addr constant [5 x i8] c"down\00" +@.str94 = private unnamed_addr constant [8 x i8] c"pressed\00" +@.str95 = private unnamed_addr constant [7 x i8] c"record\00" +@.str96 = private unnamed_addr constant [7 x i8] c"replay\00" +@.str97 = private unnamed_addr constant [7 x i8] c"action\00" +@.str98 = private unnamed_addr constant [9 x i8] c"bind_pad\00" +@.str99 = private unnamed_addr constant [7 x i8] c"active\00" +@.str100 = private unnamed_addr constant [13 x i8] c"just_pressed\00" +@.str101 = private unnamed_addr constant [14 x i8] c"just_released\00" +@.str102 = private unnamed_addr constant [6 x i8] c"Input\00" +@.str103 = private unnamed_addr constant [9 x i8] c"key_down\00" +@.str104 = private unnamed_addr constant [12 x i8] c"key_pressed\00" +@.str105 = private unnamed_addr constant [13 x i8] c"key_released\00" +@.str106 = private unnamed_addr constant [6 x i8] c"press\00" +@.str107 = private unnamed_addr constant [8 x i8] c"release\00" +@.str108 = private unnamed_addr constant [5 x i8] c"axis\00" +@.str109 = private unnamed_addr constant [7 x i8] c"axis_i\00" +@.str110 = private unnamed_addr constant [7 x i8] c"vector\00" +@.str111 = private unnamed_addr constant [9 x i8] c"strength\00" +@.str112 = private unnamed_addr constant [8 x i8] c"mouse_x\00" +@.str113 = private unnamed_addr constant [8 x i8] c"mouse_y\00" +@.str114 = private unnamed_addr constant [9 x i8] c"mouse_dx\00" +@.str115 = private unnamed_addr constant [9 x i8] c"mouse_dy\00" +@.str116 = private unnamed_addr constant [11 x i8] c"mouse_down\00" +@.str117 = private unnamed_addr constant [6 x i8] c"wheel\00" +@.str118 = private unnamed_addr constant [10 x i8] c"set_mouse\00" +@.str119 = private unnamed_addr constant [14 x i8] c"pad_connected\00" +@.str120 = private unnamed_addr constant [11 x i8] c"pad_button\00" +@.str121 = private unnamed_addr constant [9 x i8] c"pad_axis\00" +@.str122 = private unnamed_addr constant [7 x i8] c"move_i\00" +@.str123 = private unnamed_addr constant [8 x i8] c"set_pad\00" +@.str124 = private unnamed_addr constant [12 x i8] c"touch_count\00" +@.str125 = private unnamed_addr constant [8 x i8] c"touch_x\00" +@.str126 = private unnamed_addr constant [8 x i8] c"touch_y\00" +@.str127 = private unnamed_addr constant [10 x i8] c"set_touch\00" +@.str128 = private unnamed_addr constant [12 x i8] c"cursor_mode\00" +@.str129 = private unnamed_addr constant [5 x i8] c"Anim\00" +@.str130 = private unnamed_addr constant [5 x i8] c"play\00" +@.str131 = private unnamed_addr constant [5 x i8] c"clip\00" +@.str132 = private unnamed_addr constant [9 x i8] c"on_frame\00" +@.str133 = private unnamed_addr constant [6 x i8] c"fired\00" +@.str134 = private unnamed_addr constant [7 x i8] c"Motion\00" +@.str135 = private unnamed_addr constant [3 x i8] c"to\00" +@.str136 = private unnamed_addr constant [6 x i8] c"Audio\00" +@.str137 = private unnamed_addr constant [5 x i8] c"Http\00" +@.str138 = private unnamed_addr constant [3 x i8] c"Gl\00" +@.str139 = private unnamed_addr constant [6 x i8] c"Tween\00" +@.str140 = private unnamed_addr constant [3 x i8] c"to\00" +@.str141 = private unnamed_addr constant [6 x i8] c"chain\00" +@.str142 = private unnamed_addr constant [6 x i8] c"delay\00" +@.str143 = private unnamed_addr constant [6 x i8] c"value\00" +@.str144 = private unnamed_addr constant [5 x i8] c"stop\00" +@.str145 = private unnamed_addr constant [9 x i8] c"parallel\00" +@.str146 = private unnamed_addr constant [3 x i8] c"Fx\00" +@.str147 = private unnamed_addr constant [2 x i8] c"[\00" +@.str148 = private unnamed_addr constant [3 x i8] c"..\00" +@.str149 = private unnamed_addr constant [2 x i8] c"]\00" +@.str150 = private unnamed_addr constant [2 x i8] c"]\00" +@.str151 = private unnamed_addr constant [2 x i8] c"(\00" +@.str152 = private unnamed_addr constant [12 x i8] c"draw_sprite\00" +@.str153 = private unnamed_addr constant [19 x i8] c"draw_sprite_scaled\00" +@.str154 = private unnamed_addr constant [2 x i8] c"-\00" +@.str155 = private unnamed_addr constant [2 x i8] c"-\00" +@.str156 = private unnamed_addr constant [2 x i8] c"~\00" +@.str157 = private unnamed_addr constant [2 x i8] c"~\00" +@.str158 = private unnamed_addr constant [4 x i8] c"not\00" +@.str159 = private unnamed_addr constant [4 x i8] c"not\00" +@.str160 = private unnamed_addr constant [2 x i8] c"*\00" +@.str161 = private unnamed_addr constant [2 x i8] c"/\00" +@.str162 = private unnamed_addr constant [2 x i8] c"%\00" +@.str163 = private unnamed_addr constant [3 x i8] c"<<\00" +@.str164 = private unnamed_addr constant [3 x i8] c">>\00" +@.str165 = private unnamed_addr constant [2 x i8] c"&\00" +@.str166 = private unnamed_addr constant [2 x i8] c"+\00" +@.str167 = private unnamed_addr constant [2 x i8] c"-\00" +@.str168 = private unnamed_addr constant [2 x i8] c"|\00" +@.str169 = private unnamed_addr constant [2 x i8] c"^\00" +@.str170 = private unnamed_addr constant [2 x i8] c"<\00" +@.str171 = private unnamed_addr constant [3 x i8] c"<=\00" +@.str172 = private unnamed_addr constant [2 x i8] c">\00" +@.str173 = private unnamed_addr constant [3 x i8] c">=\00" +@.str174 = private unnamed_addr constant [3 x i8] c"==\00" +@.str175 = private unnamed_addr constant [3 x i8] c"!=\00" +@.str176 = private unnamed_addr constant [4 x i8] c"and\00" +@.str177 = private unnamed_addr constant [4 x i8] c"and\00" +@.str178 = private unnamed_addr constant [3 x i8] c"or\00" +@.str179 = private unnamed_addr constant [3 x i8] c"or\00" +@.str180 = private unnamed_addr constant [2 x i8] c"{\00" +@.str181 = private unnamed_addr constant [2 x i8] c"}\00" +@.str182 = private unnamed_addr constant [2 x i8] c":\00" +@.str183 = private unnamed_addr constant [2 x i8] c",\00" +@.str184 = private unnamed_addr constant [2 x i8] c"}\00" +@.str185 = private unnamed_addr constant [2 x i8] c"{\00" +@.str186 = private unnamed_addr constant [2 x i8] c"}\00" +@.str187 = private unnamed_addr constant [2 x i8] c"}\00" +@.str188 = private unnamed_addr constant [43 x i8] c"expected newline or ';' between statements\00" +@.str189 = private unnamed_addr constant [2 x i8] c"}\00" +@.str190 = private unnamed_addr constant [4 x i8] c"let\00" +@.str191 = private unnamed_addr constant [4 x i8] c"var\00" +@.str192 = private unnamed_addr constant [4 x i8] c"var\00" +@.str193 = private unnamed_addr constant [2 x i8] c":\00" +@.str194 = private unnamed_addr constant [2 x i8] c"=\00" +@.str195 = private unnamed_addr constant [7 x i8] c"return\00" +@.str196 = private unnamed_addr constant [2 x i8] c"}\00" +@.str197 = private unnamed_addr constant [3 x i8] c"if\00" +@.str198 = private unnamed_addr constant [5 x i8] c"else\00" +@.str199 = private unnamed_addr constant [3 x i8] c"if\00" +@.str200 = private unnamed_addr constant [6 x i8] c"while\00" +@.str201 = private unnamed_addr constant [4 x i8] c"for\00" +@.str202 = private unnamed_addr constant [2 x i8] c"(\00" +@.str203 = private unnamed_addr constant [3 x i8] c"..\00" +@.str204 = private unnamed_addr constant [6 x i8] c"spawn\00" +@.str205 = private unnamed_addr constant [8 x i8] c"machine\00" +@.str206 = private unnamed_addr constant [2 x i8] c"{\00" +@.str207 = private unnamed_addr constant [2 x i8] c"}\00" +@.str208 = private unnamed_addr constant [2 x i8] c"=\00" +@.str209 = private unnamed_addr constant [2 x i8] c"}\00" +@.str210 = private unnamed_addr constant [5 x i8] c"emit\00" +@.str211 = private unnamed_addr constant [7 x i8] c"become\00" +@.str212 = private unnamed_addr constant [8 x i8] c"despawn\00" +@.str213 = private unnamed_addr constant [7 x i8] c"enable\00" +@.str214 = private unnamed_addr constant [8 x i8] c"disable\00" +@.str215 = private unnamed_addr constant [7 x i8] c"enable\00" +@.str216 = private unnamed_addr constant [6 x i8] c"layer\00" +@.str217 = private unnamed_addr constant [6 x i8] c"layer\00" +@.str218 = private unnamed_addr constant [7 x i8] c"system\00" +@.str219 = private unnamed_addr constant [7 x i8] c"system\00" +@.str220 = private unnamed_addr constant [3 x i8] c"on\00" +@.str221 = private unnamed_addr constant [7 x i8] c"attach\00" +@.str222 = private unnamed_addr constant [3 x i8] c"on\00" +@.str223 = private unnamed_addr constant [27 x i8] c"attach needs 'on '\00" +@.str224 = private unnamed_addr constant [2 x i8] c"{\00" +@.str225 = private unnamed_addr constant [7 x i8] c"detach\00" +@.str226 = private unnamed_addr constant [3 x i8] c"on\00" +@.str227 = private unnamed_addr constant [27 x i8] c"detach needs 'on '\00" +@.str228 = private unnamed_addr constant [6 x i8] c"break\00" +@.str229 = private unnamed_addr constant [9 x i8] c"continue\00" +@.str230 = private unnamed_addr constant [7 x i8] c"cancel\00" +@.str231 = private unnamed_addr constant [6 x i8] c"match\00" +@.str232 = private unnamed_addr constant [2 x i8] c"{\00" +@.str233 = private unnamed_addr constant [2 x i8] c"}\00" +@.str234 = private unnamed_addr constant [2 x i8] c",\00" +@.str235 = private unnamed_addr constant [3 x i8] c"=>\00" +@.str236 = private unnamed_addr constant [2 x i8] c"{\00" +@.str237 = private unnamed_addr constant [2 x i8] c"}\00" +@.str238 = private unnamed_addr constant [2 x i8] c"=\00" +@.str239 = private unnamed_addr constant [3 x i8] c"+=\00" +@.str240 = private unnamed_addr constant [3 x i8] c"-=\00" +@.str241 = private unnamed_addr constant [3 x i8] c"*=\00" +@.str242 = private unnamed_addr constant [3 x i8] c"/=\00" +@.str243 = private unnamed_addr constant [2 x i8] c":\00" +@.str244 = private unnamed_addr constant [2 x i8] c"=\00" +@.str245 = private unnamed_addr constant [2 x i8] c":\00" +@.str246 = private unnamed_addr constant [2 x i8] c"=\00" +@.str247 = private unnamed_addr constant [4 x i8] c"new\00" +@.str248 = private unnamed_addr constant [6 x i8] c"match\00" +@.str249 = private unnamed_addr constant [8 x i8] c"machine\00" +@.str250 = private unnamed_addr constant [7 x i8] c"become\00" +@.str251 = private unnamed_addr constant [6 x i8] c"spawn\00" +@.str252 = private unnamed_addr constant [8 x i8] c"despawn\00" +@.str253 = private unnamed_addr constant [6 x i8] c"query\00" +@.str254 = private unnamed_addr constant [7 x i8] c"cancel\00" +@.str255 = private unnamed_addr constant [6 x i8] c"scene\00" +@.str256 = private unnamed_addr constant [6 x i8] c"layer\00" +@.str257 = private unnamed_addr constant [8 x i8] c"handler\00" +@.str258 = private unnamed_addr constant [9 x i8] c"property\00" +@.str259 = private unnamed_addr constant [6 x i8] c"model\00" +@.str260 = private unnamed_addr constant [5 x i8] c"enum\00" +@.str261 = private unnamed_addr constant [6 x i8] c"event\00" +@.str262 = private unnamed_addr constant [10 x i8] c"namespace\00" +@.str263 = private unnamed_addr constant [9 x i8] c"function\00" +@.str264 = private unnamed_addr constant [4 x i8] c"let\00" +@.str265 = private unnamed_addr constant [7 x i8] c"prefab\00" +@.str266 = private unnamed_addr constant [4 x i8] c"var\00" +@.str267 = private unnamed_addr constant [6 x i8] c"const\00" +@.str268 = private unnamed_addr constant [3 x i8] c"if\00" +@.str269 = private unnamed_addr constant [5 x i8] c"else\00" +@.str270 = private unnamed_addr constant [6 x i8] c"while\00" +@.str271 = private unnamed_addr constant [4 x i8] c"for\00" +@.str272 = private unnamed_addr constant [7 x i8] c"return\00" +@.str273 = private unnamed_addr constant [7 x i8] c"import\00" +@.str274 = private unnamed_addr constant [8 x i8] c"program\00" +@.str275 = private unnamed_addr constant [6 x i8] c"entry\00" +@.str276 = private unnamed_addr constant [3 x i8] c"ui\00" +@.str277 = private unnamed_addr constant [6 x i8] c"break\00" +@.str278 = private unnamed_addr constant [9 x i8] c"continue\00" +@.str279 = private unnamed_addr constant [4 x i8] c"and\00" +@.str280 = private unnamed_addr constant [3 x i8] c"or\00" +@.str281 = private unnamed_addr constant [4 x i8] c"not\00" +@.str282 = private unnamed_addr constant [5 x i8] c"true\00" +@.str283 = private unnamed_addr constant [6 x i8] c"false\00" +@.str284 = private unnamed_addr constant [5 x i8] c"null\00" +@.str285 = private unnamed_addr constant [2 x i8] c"(\00" +@.str286 = private unnamed_addr constant [2 x i8] c"'\00" +@.str287 = private unnamed_addr constant [48 x i8] c"' is a reserved word and cannot name a function\00" +@.str288 = private unnamed_addr constant [2 x i8] c")\00" +@.str289 = private unnamed_addr constant [2 x i8] c":\00" +@.str290 = private unnamed_addr constant [2 x i8] c",\00" +@.str291 = private unnamed_addr constant [2 x i8] c")\00" +@.str292 = private unnamed_addr constant [5 x i8] c"void\00" +@.str293 = private unnamed_addr constant [3 x i8] c"->\00" +@.str294 = private unnamed_addr constant [2 x i8] c"{\00" +@.str295 = private unnamed_addr constant [2 x i8] c"}\00" +@.str296 = private unnamed_addr constant [7 x i8] c"export\00" +@.str297 = private unnamed_addr constant [9 x i8] c"internal\00" +@.str298 = private unnamed_addr constant [9 x i8] c"function\00" +@.str299 = private unnamed_addr constant [54 x i8] c"a namespace body holds functions: expected `function`\00" +@.str300 = private unnamed_addr constant [2 x i8] c"}\00" +@.str301 = private unnamed_addr constant [2 x i8] c"_\00" +@.str302 = private unnamed_addr constant [3 x i8] c"OS\00" +@.str303 = private unnamed_addr constant [11 x i8] c"Windows_NT\00" +@.str304 = private unnamed_addr constant [1 x i8] c"\00" +@.str305 = private unnamed_addr constant [11 x i8] c"LUDIC_HOME\00" +@.str306 = private unnamed_addr constant [1 x i8] c"\00" +@.str307 = private unnamed_addr constant [5 x i8] c"bin/\00" +@.str308 = private unnamed_addr constant [5 x i8] c"PATH\00" +@.str309 = private unnamed_addr constant [1 x i8] c"\00" +@.str310 = private unnamed_addr constant [3 x i8] c"rb\00" +@.str311 = private unnamed_addr constant [5 x i8] c".exe\00" +@.str312 = private unnamed_addr constant [3 x i8] c"rb\00" +@.str313 = private unnamed_addr constant [1 x i8] c"\00" +@.str314 = private unnamed_addr constant [23 x i8] c"ludicc: warning: bare \00" +@.str315 = private unnamed_addr constant [139 x i8] c"(...) is deprecated (#85) \E2\80\94 use Screen.sprite / Screen.sprite_scaled, or declare a Sprite component for the engine sprite-render system\0A\00" +@.str316 = private unnamed_addr constant [2 x i8] c"@\00" +@.str317 = private unnamed_addr constant [7 x i8] c"export\00" +@.str318 = private unnamed_addr constant [7 x i8] c"Public\00" +@.str319 = private unnamed_addr constant [3 x i8] c"On\00" +@.str320 = private unnamed_addr constant [2 x i8] c"(\00" +@.str321 = private unnamed_addr constant [2 x i8] c")\00" +@.str322 = private unnamed_addr constant [8 x i8] c"Queries\00" +@.str323 = private unnamed_addr constant [8 x i8] c"OnSpawn\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 [10 x i8] c"OnDespawn\00" +@.str327 = private unnamed_addr constant [2 x i8] c"(\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 [9 x i8] c"OnAttach\00" +@.str332 = private unnamed_addr constant [2 x i8] c"(\00" +@.str333 = private unnamed_addr constant [2 x i8] c")\00" +@.str334 = private unnamed_addr constant [9 x i8] c"OnDetach\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 [9 x i8] c"OnEnable\00" +@.str338 = private unnamed_addr constant [2 x i8] c"(\00" +@.str339 = private unnamed_addr constant [2 x i8] c")\00" +@.str340 = private unnamed_addr constant [10 x i8] c"OnDisable\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 [8 x i8] c"OnStart\00" +@.str344 = private unnamed_addr constant [6 x i8] c"Start\00" +@.str345 = private unnamed_addr constant [7 x i8] c"OnQuit\00" +@.str346 = private unnamed_addr constant [7 x i8] c"OnQuit\00" +@.str347 = private unnamed_addr constant [5 x i8] c"Sync\00" +@.str348 = private unnamed_addr constant [6 x i8] c"Owned\00" +@.str349 = private unnamed_addr constant [7 x i8] c"Server\00" +@.str350 = private unnamed_addr constant [7 x i8] c"server\00" +@.str351 = private unnamed_addr constant [10 x i8] c"Predicted\00" +@.str352 = private unnamed_addr constant [10 x i8] c"predicted\00" +@.str353 = private unnamed_addr constant [9 x i8] c"ToServer\00" +@.str354 = private unnamed_addr constant [9 x i8] c"toserver\00" +@.str355 = private unnamed_addr constant [10 x i8] c"ToClients\00" +@.str356 = private unnamed_addr constant [10 x i8] c"toclients\00" +@.str357 = private unnamed_addr constant [7 x i8] c"System\00" +@.str358 = private unnamed_addr constant [7 x i8] c"Update\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 [13 x i8] c"EngineSystem\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 [10 x i8] c"Namespace\00" +@.str366 = private unnamed_addr constant [2 x i8] c"(\00" +@.str367 = private unnamed_addr constant [2 x i8] c")\00" +@.str368 = private unnamed_addr constant [11 x i8] c"ClearColor\00" +@.str369 = private unnamed_addr constant [2 x i8] c"(\00" +@.str370 = private unnamed_addr constant [2 x i8] c")\00" +@.str371 = private unnamed_addr constant [2 x i8] c"(\00" +@.str372 = private unnamed_addr constant [2 x i8] c"(\00" +@.str373 = private unnamed_addr constant [2 x i8] c")\00" +@.str374 = private unnamed_addr constant [7 x i8] c"import\00" +@.str375 = private unnamed_addr constant [29 x i8] c"expected \22path\22 after import\00" +@.str376 = private unnamed_addr constant [5 x i8] c"enum\00" +@.str377 = private unnamed_addr constant [6 x i8] c"event\00" +@.str378 = private unnamed_addr constant [9 x i8] c"property\00" +@.str379 = private unnamed_addr constant [6 x i8] c"model\00" +@.str380 = private unnamed_addr constant [6 x i8] c"scene\00" +@.str381 = private unnamed_addr constant [7 x i8] c"prefab\00" +@.str382 = private unnamed_addr constant [8 x i8] c"handler\00" +@.str383 = private unnamed_addr constant [7 x i8] c"server\00" +@.str384 = private unnamed_addr constant [7 x i8] c"model_\00" +@.str385 = private unnamed_addr constant [7 x i8] c"_spawn\00" +@.str386 = private unnamed_addr constant [7 x i8] c"model_\00" +@.str387 = private unnamed_addr constant [9 x i8] c"_despawn\00" +@.str388 = private unnamed_addr constant [6 x i8] c"prop_\00" +@.str389 = private unnamed_addr constant [8 x i8] c"_attach\00" +@.str390 = private unnamed_addr constant [6 x i8] c"prop_\00" +@.str391 = private unnamed_addr constant [8 x i8] c"_detach\00" +@.str392 = private unnamed_addr constant [6 x i8] c"prop_\00" +@.str393 = private unnamed_addr constant [8 x i8] c"_enable\00" +@.str394 = private unnamed_addr constant [6 x i8] c"prop_\00" +@.str395 = private unnamed_addr constant [9 x i8] c"_disable\00" +@.str396 = private unnamed_addr constant [6 x i8] c"Start\00" +@.str397 = private unnamed_addr constant [14 x i8] c"program_start\00" +@.str398 = private unnamed_addr constant [13 x i8] c"program_quit\00" +@.str399 = private unnamed_addr constant [3 x i8] c"ui\00" +@.str400 = private unnamed_addr constant [10 x i8] c"namespace\00" +@.str401 = private unnamed_addr constant [4 x i8] c"var\00" +@.str402 = private unnamed_addr constant [6 x i8] c"const\00" +@.str403 = private unnamed_addr constant [9 x i8] c"function\00" +@.str404 = private unnamed_addr constant [7 x i8] c"extern\00" +@.str405 = private unnamed_addr constant [6 x i8] c"entry\00" +@.str406 = private unnamed_addr constant [5 x i8] c"test\00" +@.str407 = private unnamed_addr constant [71 x i8] c"expected a declaration (property, model, handler, function, \E2\80\A6), got \00" +@.str408 = private unnamed_addr constant [36 x i8] c"expected a \22name\22 string after test\00" +@.str409 = private unnamed_addr constant [9 x i8] c"runtime/\00" +@.str410 = private unnamed_addr constant [22 x i8] c"import: no directory \00" +@.str411 = private unnamed_addr constant [7 x i8] c".ludic\00" +@.str412 = private unnamed_addr constant [2 x i8] c"/\00" +@.str413 = private unnamed_addr constant [9 x i8] c"/*.ludic\00" +@.str414 = private unnamed_addr constant [14 x i8] c"LUDIC_MODULES\00" +@.str415 = private unnamed_addr constant [14 x i8] c"ludic_modules\00" +@.str416 = private unnamed_addr constant [10 x i8] c"packages/\00" +@.str417 = private unnamed_addr constant [20 x i8] c"cannot open import \00" +@.str418 = private unnamed_addr constant [27 x i8] c"runtime/native/audio.ludic\00" +@.str419 = private unnamed_addr constant [1 x i8] c"\00" +@.str420 = private unnamed_addr constant [26 x i8] c"runtime/native/core.ludic\00" +@.str421 = private unnamed_addr constant [1 x i8] c"\00" +@.str422 = private unnamed_addr constant [27 x i8] c"runtime/native/regex.ludic\00" +@.str423 = private unnamed_addr constant [30 x i8] c"runtime/native/regex_vm.ludic\00" +@.str424 = private unnamed_addr constant [1 x i8] c"\00" +@.str425 = private unnamed_addr constant [28 x i8] c"runtime/native/bignum.ludic\00" +@.str426 = private unnamed_addr constant [1 x i8] c"\00" +@.str427 = private unnamed_addr constant [26 x i8] c"runtime/native/dict.ludic\00" +@.str428 = private unnamed_addr constant [1 x i8] c"\00" +@.str429 = private unnamed_addr constant [29 x i8] c"runtime/native/numeric.ludic\00" +@.str430 = private unnamed_addr constant [1 x i8] c"\00" +@.str431 = private unnamed_addr constant [26 x i8] c"runtime/native/jobs.ludic\00" +@.str432 = private unnamed_addr constant [1 x i8] c"\00" +@.str433 = private unnamed_addr constant [27 x i8] c"runtime/native/query.ludic\00" +@.str434 = private unnamed_addr constant [1 x i8] c"\00" +@.str435 = private unnamed_addr constant [27 x i8] c"runtime/native/light.ludic\00" +@.str436 = private unnamed_addr constant [1 x i8] c"\00" +@.str437 = private unnamed_addr constant [27 x i8] c"runtime/native/value.ludic\00" +@.str438 = private unnamed_addr constant [1 x i8] c"\00" +@.str439 = private unnamed_addr constant [25 x i8] c"runtime/native/xml.ludic\00" +@.str440 = private unnamed_addr constant [1 x i8] c"\00" +@.str441 = private unnamed_addr constant [26 x i8] c"runtime/native/core.ludic\00" +@.str442 = private unnamed_addr constant [27 x i8] c"runtime/native/audio.ludic\00" +@.str443 = private unnamed_addr constant [27 x i8] c"runtime/native/atlas.ludic\00" +@.str444 = private unnamed_addr constant [1 x i8] c"\00" +@.str445 = private unnamed_addr constant [26 x i8] c"runtime/native/core.ludic\00" +@.str446 = private unnamed_addr constant [24 x i8] c"runtime/native/fx.ludic\00" +@.str447 = private unnamed_addr constant [1 x i8] c"\00" +@.str448 = private unnamed_addr constant [29 x i8] c"runtime/native/inflate.ludic\00" +@.str449 = private unnamed_addr constant [26 x i8] c"runtime/native/zstd.ludic\00" +@.str450 = private unnamed_addr constant [28 x i8] c"runtime/native/base64.ludic\00" +@.str451 = private unnamed_addr constant [1 x i8] c"\00" +@.str452 = private unnamed_addr constant [26 x i8] c"runtime/native/core.ludic\00" +@.str453 = private unnamed_addr constant [25 x i8] c"runtime/native/xml.ludic\00" +@.str454 = private unnamed_addr constant [29 x i8] c"runtime/native/inflate.ludic\00" +@.str455 = private unnamed_addr constant [26 x i8] c"runtime/native/zstd.ludic\00" +@.str456 = private unnamed_addr constant [28 x i8] c"runtime/native/base64.ludic\00" +@.str457 = private unnamed_addr constant [27 x i8] c"runtime/native/value.ludic\00" +@.str458 = private unnamed_addr constant [27 x i8] c"runtime/native/tiled.ludic\00" +@.str459 = private unnamed_addr constant [33 x i8] c"runtime/native/tiled_spawn.ludic\00" +@.str460 = private unnamed_addr constant [1 x i8] c"\00" +@.str461 = private unnamed_addr constant [32 x i8] c"runtime/native/reflect_io.ludic\00" +@.str462 = private unnamed_addr constant [1 x i8] c"\00" +@.str463 = private unnamed_addr constant [26 x i8] c"runtime/native/core.ludic\00" +@.str464 = private unnamed_addr constant [27 x i8] c"runtime/native/input.ludic\00" +@.str465 = private unnamed_addr constant [1 x i8] c"\00" +@.str466 = private unnamed_addr constant [26 x i8] c"runtime/native/core.ludic\00" +@.str467 = private unnamed_addr constant [27 x i8] c"runtime/native/tween.ludic\00" +@.str468 = private unnamed_addr constant [1 x i8] c"\00" +@.str469 = private unnamed_addr constant [27 x i8] c"runtime/native/audio.ludic\00" +@.str470 = private unnamed_addr constant [1 x i8] c"\00" +@.str471 = private unnamed_addr constant [26 x i8] c"runtime/native/http.ludic\00" +@.str472 = private unnamed_addr constant [1 x i8] c"\00" +@.str473 = private unnamed_addr constant [24 x i8] c"runtime/native/gl.ludic\00" +@.str474 = private unnamed_addr constant [1 x i8] c"\00" +@.str475 = private unnamed_addr constant [26 x i8] c"runtime/native/core.ludic\00" +@.str476 = private unnamed_addr constant [29 x i8] c"runtime/native/systems.ludic\00" +@.str477 = private unnamed_addr constant [1 x i8] c"\00" +@.str478 = private unnamed_addr constant [11 x i8] c"SpriteAnim\00" +@.str479 = private unnamed_addr constant [7 x i8] c"Motion\00" +@.str480 = private unnamed_addr constant [29 x i8] c"runtime/native/systems.ludic\00" +@.str481 = private unnamed_addr constant [5 x i8] c"Body\00" +@.str482 = private unnamed_addr constant [26 x i8] c"runtime/native/core.ludic\00" +@.str483 = private unnamed_addr constant [34 x i8] c"runtime/native/systems_move.ludic\00" +@.str484 = private unnamed_addr constant [7 x i8] c"Sprite\00" +@.str485 = private unnamed_addr constant [26 x i8] c"runtime/native/core.ludic\00" +@.str486 = private unnamed_addr constant [36 x i8] c"runtime/native/systems_sprite.ludic\00" +@.str487 = private unnamed_addr constant [9 x i8] c"TileSkin\00" +@.str488 = private unnamed_addr constant [26 x i8] c"runtime/native/core.ludic\00" +@.str489 = private unnamed_addr constant [38 x i8] c"runtime/native/systems_tileskin.ludic\00" +@.str490 = private unnamed_addr constant [7 x i8] c"Bounds\00" +@.str491 = private unnamed_addr constant [36 x i8] c"runtime/native/systems_bounds.ludic\00" +@.str492 = private unnamed_addr constant [8 x i8] c"Light2D\00" +@.str493 = private unnamed_addr constant [9 x i8] c"Occluder\00" +@.str494 = private unnamed_addr constant [27 x i8] c"runtime/native/light.ludic\00" +@.str495 = private unnamed_addr constant [35 x i8] c"runtime/native/systems_light.ludic\00" +@.str496 = private unnamed_addr constant [11 x i8] c"SpriteAnim\00" +@.str497 = private unnamed_addr constant [16 x i8] c"esys_spriteanim\00" +@.str498 = private unnamed_addr constant [7 x i8] c"Update\00" +@.str499 = private unnamed_addr constant [7 x i8] c"Motion\00" +@.str500 = private unnamed_addr constant [12 x i8] c"esys_motion\00" +@.str501 = private unnamed_addr constant [7 x i8] c"Update\00" +@.str502 = private unnamed_addr constant [5 x i8] c"Body\00" +@.str503 = private unnamed_addr constant [10 x i8] c"esys_move\00" +@.str504 = private unnamed_addr constant [7 x i8] c"Update\00" +@.str505 = private unnamed_addr constant [7 x i8] c"Bounds\00" +@.str506 = private unnamed_addr constant [12 x i8] c"esys_bounds\00" +@.str507 = private unnamed_addr constant [11 x i8] c"LateUpdate\00" +@.str508 = private unnamed_addr constant [9 x i8] c"TileSkin\00" +@.str509 = private unnamed_addr constant [14 x i8] c"esys_tileskin\00" +@.str510 = private unnamed_addr constant [7 x i8] c"Render\00" +@.str511 = private unnamed_addr constant [7 x i8] c"Sprite\00" +@.str512 = private unnamed_addr constant [12 x i8] c"esys_sprite\00" +@.str513 = private unnamed_addr constant [7 x i8] c"Render\00" +@.str514 = private unnamed_addr constant [8 x i8] c"Light2D\00" +@.str515 = private unnamed_addr constant [13 x i8] c"esys_light2d\00" +@.str516 = private unnamed_addr constant [7 x i8] c"Render\00" +@.str517 = private unnamed_addr constant [6 x i8] c"Ludic\00" +@.str518 = private unnamed_addr constant [7 x i8] c"import\00" +@.str519 = private unnamed_addr constant [2 x i8] c"@\00" +@.str520 = private unnamed_addr constant [2 x i8] c"(\00" +@.str521 = private unnamed_addr constant [2 x i8] c"(\00" +@.str522 = private unnamed_addr constant [2 x i8] c")\00" +@.str523 = private unnamed_addr constant [8 x i8] c"program\00" +@.str524 = private unnamed_addr constant [2 x i8] c"{\00" +@.str525 = private unnamed_addr constant [2 x i8] c"}\00" +@.str526 = private unnamed_addr constant [2 x i8] c"{\00" +@.str527 = private unnamed_addr constant [2 x i8] c"}\00" +@.str528 = private unnamed_addr constant [2 x i8] c"@\00" +@.str529 = private unnamed_addr constant [9 x i8] c"Computed\00" +@.str530 = private unnamed_addr constant [5 x i8] c"Sync\00" +@.str531 = private unnamed_addr constant [2 x i8] c":\00" +@.str532 = private unnamed_addr constant [2 x i8] c"=\00" +@.str533 = private unnamed_addr constant [2 x i8] c",\00" +@.str534 = private unnamed_addr constant [2 x i8] c"}\00" +@.str535 = private unnamed_addr constant [12 x i8] c"cancellable\00" +@.str536 = private unnamed_addr constant [2 x i8] c"{\00" +@.str537 = private unnamed_addr constant [2 x i8] c"}\00" +@.str538 = private unnamed_addr constant [2 x i8] c":\00" +@.str539 = private unnamed_addr constant [2 x i8] c"=\00" +@.str540 = private unnamed_addr constant [2 x i8] c",\00" +@.str541 = private unnamed_addr constant [2 x i8] c"}\00" +@.str542 = private unnamed_addr constant [7 x i8] c"Update\00" +@.str543 = private unnamed_addr constant [2 x i8] c"@\00" +@.str544 = private unnamed_addr constant [2 x i8] c"(\00" +@.str545 = private unnamed_addr constant [2 x i8] c"(\00" +@.str546 = private unnamed_addr constant [2 x i8] c")\00" +@.str547 = private unnamed_addr constant [6 x i8] c"phase\00" +@.str548 = private unnamed_addr constant [16 x i8] c"unknown phase '\00" +@.str549 = private unnamed_addr constant [78 x i8] c"' (expected Start, Input, FixedUpdate, Update, LateUpdate, Render or Overlay)\00" +@.str550 = private unnamed_addr constant [2 x i8] c"[\00" +@.str551 = private unnamed_addr constant [2 x i8] c"]\00" +@.str552 = private unnamed_addr constant [2 x i8] c"{\00" +@.str553 = private unnamed_addr constant [2 x i8] c"}\00" +@.str554 = private unnamed_addr constant [2 x i8] c",\00" +@.str555 = private unnamed_addr constant [2 x i8] c"]\00" +@.str556 = private unnamed_addr constant [6 x i8] c"where\00" +@.str557 = private unnamed_addr constant [2 x i8] c"(\00" +@.str558 = private unnamed_addr constant [2 x i8] c")\00" +@.str559 = private unnamed_addr constant [2 x i8] c",\00" +@.str560 = private unnamed_addr constant [2 x i8] c")\00" +@.str561 = private unnamed_addr constant [6 x i8] c"query\00" +@.str562 = private unnamed_addr constant [29 x i8] c"expected 'query' in for-loop\00" +@.str563 = private unnamed_addr constant [4 x i8] c"and\00" +@.str564 = private unnamed_addr constant [2 x i8] c"(\00" +@.str565 = private unnamed_addr constant [2 x i8] c")\00" +@.str566 = private unnamed_addr constant [2 x i8] c")\00" +@.str567 = private unnamed_addr constant [2 x i8] c":\00" +@.str568 = private unnamed_addr constant [6 x i8] c"these\00" +@.str569 = private unnamed_addr constant [2 x i8] c"[\00" +@.str570 = private unnamed_addr constant [2 x i8] c"]\00" +@.str571 = private unnamed_addr constant [2 x i8] c"{\00" +@.str572 = private unnamed_addr constant [2 x i8] c"}\00" +@.str573 = private unnamed_addr constant [2 x i8] c",\00" +@.str574 = private unnamed_addr constant [2 x i8] c"]\00" +@.str575 = private unnamed_addr constant [3 x i8] c"on\00" +@.str576 = private unnamed_addr constant [2 x i8] c",\00" +@.str577 = private unnamed_addr constant [2 x i8] c")\00" +@.str578 = private unnamed_addr constant [2 x i8] c"{\00" +@.str579 = private unnamed_addr constant [2 x i8] c"}\00" +@.str580 = private unnamed_addr constant [2 x i8] c"}\00" +@.str581 = private unnamed_addr constant [2 x i8] c",\00" +@.str582 = private unnamed_addr constant [2 x i8] c":\00" +@.str583 = private unnamed_addr constant [2 x i8] c"{\00" +@.str584 = private unnamed_addr constant [2 x i8] c"}\00" +@.str585 = private unnamed_addr constant [6 x i8] c"start\00" +@.str586 = private unnamed_addr constant [7 x i8] c"public\00" +@.str587 = private unnamed_addr constant [6 x i8] c"shows\00" +@.str588 = private unnamed_addr constant [6 x i8] c"lasts\00" +@.str589 = private unnamed_addr constant [6 x i8] c"loads\00" +@.str590 = private unnamed_addr constant [6 x i8] c"start\00" +@.str591 = private unnamed_addr constant [6 x i8] c"shows\00" +@.str592 = private unnamed_addr constant [6 x i8] c"lasts\00" +@.str593 = private unnamed_addr constant [5 x i8] c"then\00" +@.str594 = private unnamed_addr constant [27 x i8] c"lasts N needs `then Scene`\00" +@.str595 = private unnamed_addr constant [6 x i8] c"loads\00" +@.str596 = private unnamed_addr constant [5 x i8] c"then\00" +@.str597 = private unnamed_addr constant [25 x i8] c"loads needs `then Scene`\00" +@.str598 = private unnamed_addr constant [7 x i8] c"scene_\00" +@.str599 = private unnamed_addr constant [7 x i8] c"_enter\00" +@.str600 = private unnamed_addr constant [7 x i8] c"scene_\00" +@.str601 = private unnamed_addr constant [6 x i8] c"_exit\00" +@.str602 = private unnamed_addr constant [2 x i8] c"{\00" +@.str603 = private unnamed_addr constant [2 x i8] c"}\00" +@.str604 = private unnamed_addr constant [3 x i8] c"on\00" +@.str605 = private unnamed_addr constant [6 x i8] c"enter\00" +@.str606 = private unnamed_addr constant [5 x i8] c"exit\00" +@.str607 = private unnamed_addr constant [38 x i8] c"expected 'enter' or 'exit' after 'on'\00" +@.str608 = private unnamed_addr constant [6 x i8] c"layer\00" +@.str609 = private unnamed_addr constant [7 x i8] c"public\00" +@.str610 = private unnamed_addr constant [7 x i8] c"layer_\00" +@.str611 = private unnamed_addr constant [6 x i8] c"_show\00" +@.str612 = private unnamed_addr constant [7 x i8] c"layer_\00" +@.str613 = private unnamed_addr constant [6 x i8] c"_hide\00" +@.str614 = private unnamed_addr constant [2 x i8] c"{\00" +@.str615 = private unnamed_addr constant [2 x i8] c"}\00" +@.str616 = private unnamed_addr constant [2 x i8] c"@\00" +@.str617 = private unnamed_addr constant [8 x i8] c"Queries\00" +@.str618 = private unnamed_addr constant [56 x i8] c"a handler inside a layer may only carry @Queries (got @\00" +@.str619 = private unnamed_addr constant [2 x i8] c")\00" +@.str620 = private unnamed_addr constant [8 x i8] c"handler\00" +@.str621 = private unnamed_addr constant [28 x i8] c"expected 'handler' in layer\00" +@.str622 = private unnamed_addr constant [2 x i8] c"_\00" +@.str623 = private unnamed_addr constant [2 x i8] c"}\00" +@.str624 = private unnamed_addr constant [39 x i8] c"expected 'on', 'layer' or '}' in scene\00" +@.str625 = private unnamed_addr constant [2 x i8] c"}\00" +@.str626 = private unnamed_addr constant [8 x i8] c"_Loader\00" +@.str627 = private unnamed_addr constant [7 x i8] c"Update\00" +@.str628 = private unnamed_addr constant [7 x i8] c"Assets\00" +@.str629 = private unnamed_addr constant [5 x i8] c"pump\00" +@.str630 = private unnamed_addr constant [7 x i8] c"Assets\00" +@.str631 = private unnamed_addr constant [6 x i8] c"ready\00" +@.str632 = private unnamed_addr constant [11 x i8] c"_LoaderBar\00" +@.str633 = private unnamed_addr constant [7 x i8] c"Render\00" +@.str634 = private unnamed_addr constant [21 x i8] c"assets_draw_progress\00" +@.str635 = private unnamed_addr constant [7 x i8] c"scene_\00" +@.str636 = private unnamed_addr constant [6 x i8] c"_left\00" +@.str637 = private unnamed_addr constant [4 x i8] c"int\00" +@.str638 = private unnamed_addr constant [2 x i8] c"=\00" +@.str639 = private unnamed_addr constant [7 x i8] c"_Timer\00" +@.str640 = private unnamed_addr constant [7 x i8] c"Update\00" +@.str641 = private unnamed_addr constant [3 x i8] c"-=\00" +@.str642 = private unnamed_addr constant [3 x i8] c"<=\00" +@.str643 = private unnamed_addr constant [3 x i8] c"id\00" +@.str644 = private unnamed_addr constant [5 x i8] c"goto\00" +@.str645 = private unnamed_addr constant [3 x i8] c"==\00" +@.str646 = private unnamed_addr constant [3 x i8] c"id\00" +@.str647 = private unnamed_addr constant [4 x i8] c"UI_\00" +@.str648 = private unnamed_addr constant [10 x i8] c"UiClicked\00" +@.str649 = private unnamed_addr constant [2 x i8] c"{\00" +@.str650 = private unnamed_addr constant [2 x i8] c"}\00" +@.str651 = private unnamed_addr constant [2 x i8] c"(\00" +@.str652 = private unnamed_addr constant [2 x i8] c")\00" +@.str653 = private unnamed_addr constant [2 x i8] c",\00" +@.str654 = private unnamed_addr constant [2 x i8] c")\00" +@.str655 = private unnamed_addr constant [2 x i8] c",\00" +@.str656 = private unnamed_addr constant [2 x i8] c"}\00" +@.str657 = private unnamed_addr constant [2 x i8] c"{\00" +@.str658 = private unnamed_addr constant [2 x i8] c"}\00" +@.str659 = private unnamed_addr constant [2 x i8] c"@\00" +@.str660 = private unnamed_addr constant [5 x i8] c"Sync\00" +@.str661 = private unnamed_addr constant [2 x i8] c",\00" +@.str662 = private unnamed_addr constant [2 x i8] c"}\00" +@.str663 = private unnamed_addr constant [2 x i8] c"(\00" +@.str664 = private unnamed_addr constant [2 x i8] c")\00" +@.str665 = private unnamed_addr constant [2 x i8] c":\00" +@.str666 = private unnamed_addr constant [2 x i8] c",\00" +@.str667 = private unnamed_addr constant [2 x i8] c")\00" +@.str668 = private unnamed_addr constant [5 x i8] c"void\00" +@.str669 = private unnamed_addr constant [3 x i8] c"->\00" +@.str670 = private unnamed_addr constant [2 x i8] c"=\00" +@.str671 = private unnamed_addr constant [2 x i8] c":\00" +@.str672 = private unnamed_addr constant [2 x i8] c":\00" +@.str673 = private unnamed_addr constant [2 x i8] c"{\00" +@.str674 = private unnamed_addr constant [2 x i8] c"}\00" +@.str675 = private unnamed_addr constant [2 x i8] c"}\00" +@.str676 = private unnamed_addr constant [2 x i8] c"{\00" +@.str677 = private unnamed_addr constant [2 x i8] c"}\00" +@.str678 = private unnamed_addr constant [3 x i8] c" \00" +@.str679 = private unnamed_addr constant [53 x i8] c" = getelementptr inbounds i32, ptr @L_cov_hits, i32 \00" +@.str680 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str681 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str682 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str683 = private unnamed_addr constant [4 x i8] c", 1\00" +@.str684 = private unnamed_addr constant [13 x i8] c" store i32 \00" +@.str685 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str686 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str687 = private unnamed_addr constant [3 x i8] c"%t\00" +@.str688 = private unnamed_addr constant [3 x i8] c" \00" +@.str689 = private unnamed_addr constant [11 x i8] c" = alloca \00" +@.str690 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str691 = private unnamed_addr constant [3 x i8] c"%t\00" +@.str692 = private unnamed_addr constant [4 x i8] c"int\00" +@.str693 = private unnamed_addr constant [5 x i8] c"bool\00" +@.str694 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str695 = private unnamed_addr constant [7 x i8] c"entity\00" +@.str696 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str697 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str698 = private unnamed_addr constant [10 x i8] c"countdown\00" +@.str699 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str700 = private unnamed_addr constant [5 x i8] c"long\00" +@.str701 = private unnamed_addr constant [4 x i8] c"i64\00" +@.str702 = private unnamed_addr constant [7 x i8] c"Vector\00" +@.str703 = private unnamed_addr constant [4 x i8] c"i64\00" +@.str704 = private unnamed_addr constant [6 x i8] c"IVec2\00" +@.str705 = private unnamed_addr constant [4 x i8] c"i64\00" +@.str706 = private unnamed_addr constant [5 x i8] c"Rect\00" +@.str707 = private unnamed_addr constant [5 x i8] c"i128\00" +@.str708 = private unnamed_addr constant [5 x i8] c"byte\00" +@.str709 = private unnamed_addr constant [3 x i8] c"i8\00" +@.str710 = private unnamed_addr constant [6 x i8] c"words\00" +@.str711 = private unnamed_addr constant [7 x i8] c"fixeds\00" +@.str712 = private unnamed_addr constant [9 x i8] c"pointers\00" +@.str713 = private unnamed_addr constant [4 x i8] c"ptr\00" +@.str714 = private unnamed_addr constant [5 x i8] c"void\00" +@.str715 = private unnamed_addr constant [5 x i8] c"void\00" +@.str716 = private unnamed_addr constant [4 x i8] c"ptr\00" +@.str717 = private unnamed_addr constant [6 x i8] c"%Cmp_\00" +@.str718 = private unnamed_addr constant [4 x i8] c"int\00" +@.str719 = private unnamed_addr constant [10 x i8] c"EndReason\00" +@.str720 = private unnamed_addr constant [10 x i8] c"Despawned\00" +@.str721 = private unnamed_addr constant [10 x i8] c"SceneExit\00" +@.str722 = private unnamed_addr constant [5 x i8] c"Quit\00" +@.str723 = private unnamed_addr constant [10 x i8] c"countdown\00" +@.str724 = private unnamed_addr constant [2 x i8] c".\00" +@.str725 = private unnamed_addr constant [2 x i8] c".\00" +@.str726 = private unnamed_addr constant [3 x i8] c"of\00" +@.str727 = private unnamed_addr constant [6 x i8] c"IVec2\00" +@.str728 = private unnamed_addr constant [5 x i8] c"make\00" +@.str729 = private unnamed_addr constant [5 x i8] c"zero\00" +@.str730 = private unnamed_addr constant [4 x i8] c"add\00" +@.str731 = private unnamed_addr constant [4 x i8] c"sub\00" +@.str732 = private unnamed_addr constant [6 x i8] c"scale\00" +@.str733 = private unnamed_addr constant [6 x i8] c"along\00" +@.str734 = private unnamed_addr constant [5 x i8] c"step\00" +@.str735 = private unnamed_addr constant [6 x i8] c"IVec2\00" +@.str736 = private unnamed_addr constant [4 x i8] c"Map\00" +@.str737 = private unnamed_addr constant [12 x i8] c"random_cell\00" +@.str738 = private unnamed_addr constant [16 x i8] c"random_cell_far\00" +@.str739 = private unnamed_addr constant [8 x i8] c"to_tile\00" +@.str740 = private unnamed_addr constant [6 x i8] c"IVec2\00" +@.str741 = private unnamed_addr constant [9 x i8] c"Collider\00" +@.str742 = private unnamed_addr constant [7 x i8] c"center\00" +@.str743 = private unnamed_addr constant [6 x i8] c"IVec2\00" +@.str744 = private unnamed_addr constant [6 x i8] c"Input\00" +@.str745 = private unnamed_addr constant [7 x i8] c"move_i\00" +@.str746 = private unnamed_addr constant [6 x i8] c"IVec2\00" +@.str747 = private unnamed_addr constant [2 x i8] c"_\00" +@.str748 = private unnamed_addr constant [3 x i8] c"[]\00" +@.str749 = private unnamed_addr constant [7 x i8] c"string\00" +@.str750 = private unnamed_addr constant [4 x i8] c"int\00" +@.str751 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str752 = private unnamed_addr constant [5 x i8] c"bool\00" +@.str753 = private unnamed_addr constant [7 x i8] c"entity\00" +@.str754 = private unnamed_addr constant [4 x i8] c"int\00" +@.str755 = private unnamed_addr constant [7 x i8] c"reason\00" +@.str756 = private unnamed_addr constant [4 x i8] c"int\00" +@.str757 = private unnamed_addr constant [6 x i8] c"@.str\00" +@.str758 = private unnamed_addr constant [35 x i8] c" = private unnamed_addr constant [\00" +@.str759 = private unnamed_addr constant [10 x i8] c" x i8] c\22\00" +@.str760 = private unnamed_addr constant [6 x i8] c"\5C00\22\0A\00" +@.str761 = private unnamed_addr constant [4 x i8] c"ptr\00" +@.str762 = private unnamed_addr constant [5 x i8] c"null\00" +@.str763 = private unnamed_addr constant [2 x i8] c"0\00" +@.str764 = private unnamed_addr constant [2 x i8] c"-\00" +@.str765 = private unnamed_addr constant [2 x i8] c"-\00" +@.str766 = private unnamed_addr constant [4 x i8] c"ptr\00" +@.str767 = private unnamed_addr constant [5 x i8] c"null\00" +@.str768 = private unnamed_addr constant [2 x i8] c"0\00" +@.str769 = private unnamed_addr constant [2 x i8] c"-\00" +@.str770 = private unnamed_addr constant [5 x i8] c"void\00" +@.str771 = private unnamed_addr constant [9 x i8] c" store \00" +@.str772 = private unnamed_addr constant [2 x i8] c" \00" +@.str773 = private unnamed_addr constant [10 x i8] c", ptr @g_\00" +@.str774 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str775 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" +@.str776 = private unnamed_addr constant [40 x i8] c"define void @L_init_globals() {\0Aentry:\0A\00" +@.str777 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" +@.str778 = private unnamed_addr constant [34 x i8] c"; Ludic (self-hosted) -> LLVM IR\0A\00" +@.str779 = private unnamed_addr constant [31 x i8] c"declare i32 @printf(ptr, ...)\0A\00" +@.str780 = private unnamed_addr constant [26 x i8] c"declare ptr @malloc(i64)\0A\00" +@.str781 = private unnamed_addr constant [32 x i8] c"declare ptr @realloc(ptr, i64)\0A\00" +@.str782 = private unnamed_addr constant [25 x i8] c"declare void @free(ptr)\0A\00" +@.str783 = private unnamed_addr constant [40 x i8] c"declare i64 @fread(ptr, i64, i64, ptr)\0A\00" +@.str784 = private unnamed_addr constant [41 x i8] c"declare i64 @fwrite(ptr, i64, i64, ptr)\0A\00" +@.str785 = private unnamed_addr constant [26 x i8] c"declare i32 @fclose(ptr)\0A\00" +@.str786 = private unnamed_addr constant [30 x i8] c"declare ptr @fopen(ptr, ptr)\0A\00" +@.str787 = private unnamed_addr constant [35 x i8] c"declare i32 @fseek(ptr, i64, i32)\0A\00" +@.str788 = private unnamed_addr constant [25 x i8] c"declare i64 @ftell(ptr)\0A\00" +@.str789 = private unnamed_addr constant [24 x i8] c"declare i64 @time(ptr)\0A\00" +@.str790 = private unnamed_addr constant [25 x i8] c"declare void @exit(i32)\0A\00" +@.str791 = private unnamed_addr constant [26 x i8] c"declare i32 @system(ptr)\0A\00" +@.str792 = private unnamed_addr constant [26 x i8] c"declare ptr @getenv(ptr)\0A\00" +@.str793 = private unnamed_addr constant [36 x i8] c"declare ptr @memcpy(ptr, ptr, i64)\0A\00" +@.str794 = private unnamed_addr constant [36 x i8] c"declare ptr @memset(ptr, i32, i64)\0A\00" +@.str795 = private unnamed_addr constant [26 x i8] c"declare i64 @strlen(ptr)\0A\00" +@.str796 = private unnamed_addr constant [31 x i8] c"declare i32 @strcmp(ptr, ptr)\0A\00" +@.str797 = private unnamed_addr constant [37 x i8] c"declare i32 @strncmp(ptr, ptr, i64)\0A\00" +@.str798 = private unnamed_addr constant [31 x i8] c"declare ptr @strstr(ptr, ptr)\0A\00" +@.str799 = private unnamed_addr constant [24 x i8] c"declare i32 @atoi(ptr)\0A\00" +@.str800 = private unnamed_addr constant [24 x i8] c"declare i32 @getchar()\0A\00" +@.str801 = private unnamed_addr constant [27 x i8] c"declare i32 @putchar(i32)\0A\00" +@.str802 = private unnamed_addr constant [44 x i8] c"declare void @win_open(i32, i32, i32, ptr)\0A\00" +@.str803 = private unnamed_addr constant [25 x i8] c"declare i32 @win_poll()\0A\00" +@.str804 = private unnamed_addr constant [42 x i8] c"declare void @win_present(ptr, i32, i32)\0A\00" +@.str805 = private unnamed_addr constant [28 x i8] c"declare i32 @win_running()\0A\00" +@.str806 = private unnamed_addr constant [27 x i8] c"declare void @win_close()\0A\00" +@.str807 = private unnamed_addr constant [29 x i8] c"declare void @win_held(ptr)\0A\00" +@.str808 = private unnamed_addr constant [30 x i8] c"declare void @win_mouse(ptr)\0A\00" +@.str809 = private unnamed_addr constant [28 x i8] c"declare void @win_pad(ptr)\0A\00" +@.str810 = private unnamed_addr constant [30 x i8] c"declare void @win_touch(ptr)\0A\00" +@.str811 = private unnamed_addr constant [36 x i8] c"declare void @win_cursor_mode(i32)\0A\00" +@.str812 = private unnamed_addr constant [28 x i8] c"declare ptr @snd_load(ptr)\0A\00" +@.str813 = private unnamed_addr constant [44 x i8] c"declare void @snd_play(ptr, i32, i32, i32)\0A\00" +@.str814 = private unnamed_addr constant [29 x i8] c"declare void @snd_stop(ptr)\0A\00" +@.str815 = private unnamed_addr constant [31 x i8] c"declare i32 @snd_playing(ptr)\0A\00" +@.str816 = private unnamed_addr constant [40 x i8] c"declare void @snd_set_volume(ptr, i32)\0A\00" +@.str817 = private unnamed_addr constant [38 x i8] c"declare void @snd_set_rate(ptr, i32)\0A\00" +@.str818 = private unnamed_addr constant [37 x i8] c"declare void @snd_set_pan(ptr, i32)\0A\00" +@.str819 = private unnamed_addr constant [35 x i8] c"declare ptr @hs_req_new(ptr, ptr)\0A\00" +@.str820 = private unnamed_addr constant [44 x i8] c"declare void @hs_req_header(ptr, ptr, ptr)\0A\00" +@.str821 = private unnamed_addr constant [42 x i8] c"declare void @hs_req_body(ptr, ptr, i32)\0A\00" +@.str822 = private unnamed_addr constant [33 x i8] c"declare void @hs_send(i32, ptr)\0A\00" +@.str823 = private unnamed_addr constant [27 x i8] c"declare i32 @hs_done(i32)\0A\00" +@.str824 = private unnamed_addr constant [29 x i8] c"declare i32 @hs_status(i32)\0A\00" +@.str825 = private unnamed_addr constant [27 x i8] c"declare ptr @hs_body(i32)\0A\00" +@.str826 = private unnamed_addr constant [27 x i8] c"declare i32 @hs_blen(i32)\0A\00" +@.str827 = private unnamed_addr constant [34 x i8] c"declare ptr @hs_header(i32, ptr)\0A\00" +@.str828 = private unnamed_addr constant [28 x i8] c"declare void @hs_free(i32)\0A\00" +@.str829 = private unnamed_addr constant [34 x i8] c"@__stderrp = external global ptr\0A\00" +@.str830 = private unnamed_addr constant [34 x i8] c"@__stdoutp = external global ptr\0A\00" +@.str831 = 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" +@.str832 = 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" +@.str833 = 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" +@.str834 = private unnamed_addr constant [33 x i8] c"@L_argc = internal global i32 0\0A\00" +@.str835 = private unnamed_addr constant [36 x i8] c"@L_argv = internal global ptr null\0A\00" +@.str836 = private unnamed_addr constant [34 x i8] c"@L_clock = internal global i32 0\0A\00" +@.str837 = private unnamed_addr constant [46 x i8] c"@.gametitle = private unnamed_addr constant [\00" +@.str838 = private unnamed_addr constant [10 x i8] c" x i8] c\22\00" +@.str839 = private unnamed_addr constant [6 x i8] c"\5C00\22\0A\00" +@.str840 = private unnamed_addr constant [34 x i8] c"%LSlice = type { ptr, i32, i32 }\0A\00" +@.str841 = private unnamed_addr constant [10 x i8] c"property \00" +@.str842 = private unnamed_addr constant [63 x i8] c" is also a property of the engine runtime; choose another name\00" +@.str843 = private unnamed_addr constant [10 x i8] c"property \00" +@.str844 = private unnamed_addr constant [19 x i8] c" is declared twice\00" +@.str845 = private unnamed_addr constant [11 x i8] c" = type { \00" +@.str846 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str847 = private unnamed_addr constant [3 x i8] c", \00" +@.str848 = private unnamed_addr constant [4 x i8] c" }\0A\00" +@.str849 = private unnamed_addr constant [10 x i8] c"variable \00" +@.str850 = private unnamed_addr constant [63 x i8] c" is also a variable of the engine runtime; choose another name\00" +@.str851 = private unnamed_addr constant [10 x i8] c"variable \00" +@.str852 = private unnamed_addr constant [19 x i8] c" is declared twice\00" +@.str853 = private unnamed_addr constant [4 x i8] c"@g_\00" +@.str854 = private unnamed_addr constant [20 x i8] c" = internal global \00" +@.str855 = private unnamed_addr constant [2 x i8] c" \00" +@.str856 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str857 = private unnamed_addr constant [9 x i8] c"declare \00" +@.str858 = private unnamed_addr constant [3 x i8] c" @\00" +@.str859 = private unnamed_addr constant [2 x i8] c"(\00" +@.str860 = private unnamed_addr constant [3 x i8] c", \00" +@.str861 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str862 = private unnamed_addr constant [41 x i8] c"define i32 @lp_str_eq(ptr %a, ptr %b) {\0A\00" +@.str863 = private unnamed_addr constant [25 x i8] c"entry:\0A br label %loop\0A\00" +@.str864 = private unnamed_addr constant [52 x i8] c"loop:\0A %i = phi i32 [ 0, %entry ], [ %i1, %cont ]\0A\00" +@.str865 = private unnamed_addr constant [51 x i8] c" %pa = getelementptr inbounds i8, ptr %a, i32 %i\0A\00" +@.str866 = private unnamed_addr constant [51 x i8] c" %pb = getelementptr inbounds i8, ptr %b, i32 %i\0A\00" +@.str867 = private unnamed_addr constant [51 x i8] c" %ca = load i8, ptr %pa\0A %cb = load i8, ptr %pb\0A\00" +@.str868 = private unnamed_addr constant [66 x i8] c" %df = icmp ne i8 %ca, %cb\0A br i1 %df, label %ret0, label %chk\0A\00" +@.str869 = 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" +@.str870 = private unnamed_addr constant [46 x i8] c"cont:\0A %i1 = add i32 %i, 1\0A br label %loop\0A\00" +@.str871 = private unnamed_addr constant [39 x i8] c"ret1:\0A ret i32 1\0Aret0:\0A ret i32 0\0A}\0A\00" +@.str872 = private unnamed_addr constant [45 x i8] c"define ptr @lp_str_concat(ptr %a, ptr %b) {\0A\00" +@.str873 = private unnamed_addr constant [23 x i8] c"entry:\0A br label %al\0A\00" +@.str874 = private unnamed_addr constant [51 x i8] c"al:\0A %ia = phi i32 [ 0, %entry ], [ %ia1, %alb ]\0A\00" +@.str875 = private unnamed_addr constant [78 x i8] c" %pa = getelementptr inbounds i8, ptr %a, i32 %ia\0A %cca = load i8, ptr %pa\0A\00" +@.str876 = private unnamed_addr constant [64 x i8] c" %za = icmp eq i8 %cca, 0\0A br i1 %za, label %bl0, label %alb\0A\00" +@.str877 = private unnamed_addr constant [45 x i8] c"alb:\0A %ia1 = add i32 %ia, 1\0A br label %al\0A\00" +@.str878 = private unnamed_addr constant [21 x i8] c"bl0:\0A br label %bl\0A\00" +@.str879 = private unnamed_addr constant [49 x i8] c"bl:\0A %ib = phi i32 [ 0, %bl0 ], [ %ib1, %blb ]\0A\00" +@.str880 = private unnamed_addr constant [78 x i8] c" %pb = getelementptr inbounds i8, ptr %b, i32 %ib\0A %ccb = load i8, ptr %pb\0A\00" +@.str881 = private unnamed_addr constant [66 x i8] c" %zb = icmp eq i8 %ccb, 0\0A br i1 %zb, label %alloc, label %blb\0A\00" +@.str882 = private unnamed_addr constant [45 x i8] c"blb:\0A %ib1 = add i32 %ib, 1\0A br label %bl\0A\00" +@.str883 = private unnamed_addr constant [58 x i8] c"alloc:\0A %sum = add i32 %ia, %ib\0A %sz = add i32 %sum, 1\0A\00" +@.str884 = 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" +@.str885 = private unnamed_addr constant [49 x i8] c"c1:\0A %i = phi i32 [ 0, %alloc ], [ %i1, %c1b ]\0A\00" +@.str886 = private unnamed_addr constant [66 x i8] c" %d1 = icmp slt i32 %i, %ia\0A br i1 %d1, label %c1b, label %c2i\0A\00" +@.str887 = 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" +@.str888 = private unnamed_addr constant [77 x i8] c" %o1 = getelementptr inbounds i8, ptr %out, i32 %i\0A store i8 %v1, ptr %o1\0A\00" +@.str889 = private unnamed_addr constant [38 x i8] c" %i1 = add i32 %i, 1\0A br label %c1\0A\00" +@.str890 = private unnamed_addr constant [21 x i8] c"c2i:\0A br label %c2\0A\00" +@.str891 = private unnamed_addr constant [47 x i8] c"c2:\0A %j = phi i32 [ 0, %c2i ], [ %j1, %c2b ]\0A\00" +@.str892 = private unnamed_addr constant [66 x i8] c" %d2 = icmp slt i32 %j, %ib\0A br i1 %d2, label %c2b, label %fin\0A\00" +@.str893 = 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" +@.str894 = 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" +@.str895 = private unnamed_addr constant [38 x i8] c" %j1 = add i32 %j, 1\0A br label %c2\0A\00" +@.str896 = 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" +@.str897 = private unnamed_addr constant [35 x i8] c"define ptr @lp_int_str(i32 %n0) {\0A\00" +@.str898 = private unnamed_addr constant [42 x i8] c"entry:\0A %buf = call ptr @malloc(i64 24)\0A\00" +@.str899 = private unnamed_addr constant [56 x i8] c" %isneg = icmp slt i32 %n0, 0\0A %neg = sub i32 0, %n0\0A\00" +@.str900 = private unnamed_addr constant [44 x i8] c" %n = select i1 %isneg, i32 %neg, i32 %n0\0A\00" +@.str901 = private unnamed_addr constant [79 x i8] c" %term = getelementptr inbounds i8, ptr %buf, i32 23\0A store i8 0, ptr %term\0A\00" +@.str902 = private unnamed_addr constant [70 x i8] c" %iszero = icmp eq i32 %n0, 0\0A br i1 %iszero, label %zc, label %dl\0A\00" +@.str903 = 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" +@.str904 = private unnamed_addr constant [23 x i8] c"dl:\0A br label %dloop\0A\00" +@.str905 = 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" +@.str906 = private unnamed_addr constant [72 x i8] c" %done = icmp eq i32 %cur, 0\0A br i1 %done, label %sign, label %dbody\0A\00" +@.str907 = 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" +@.str908 = private unnamed_addr constant [80 x i8] c" %pp = getelementptr inbounds i8, ptr %buf, i32 %pos\0A store i8 %ch8, ptr %pp\0A\00" +@.str909 = 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" +@.str910 = private unnamed_addr constant [49 x i8] c"sign:\0A br i1 %isneg, label %addneg, label %fin\0A\00" +@.str911 = 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" +@.str912 = private unnamed_addr constant [60 x i8] c"fin:\0A %fpos = phi i32 [ %pos, %sign ], [ %posn, %addneg ]\0A\00" +@.str913 = 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" +@.str914 = private unnamed_addr constant [36 x i8] c"define ptr @lp_long_str(i64 %n0) {\0A\00" +@.str915 = private unnamed_addr constant [42 x i8] c"entry:\0A %buf = call ptr @malloc(i64 24)\0A\00" +@.str916 = private unnamed_addr constant [56 x i8] c" %isneg = icmp slt i64 %n0, 0\0A %neg = sub i64 0, %n0\0A\00" +@.str917 = private unnamed_addr constant [44 x i8] c" %n = select i1 %isneg, i64 %neg, i64 %n0\0A\00" +@.str918 = private unnamed_addr constant [79 x i8] c" %term = getelementptr inbounds i8, ptr %buf, i32 23\0A store i8 0, ptr %term\0A\00" +@.str919 = private unnamed_addr constant [70 x i8] c" %iszero = icmp eq i64 %n0, 0\0A br i1 %iszero, label %zc, label %dl\0A\00" +@.str920 = 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" +@.str921 = private unnamed_addr constant [23 x i8] c"dl:\0A br label %dloop\0A\00" +@.str922 = 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" +@.str923 = private unnamed_addr constant [72 x i8] c" %done = icmp eq i64 %cur, 0\0A br i1 %done, label %sign, label %dbody\0A\00" +@.str924 = 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" +@.str925 = private unnamed_addr constant [80 x i8] c" %pp = getelementptr inbounds i8, ptr %buf, i32 %pos\0A store i8 %ch8, ptr %pp\0A\00" +@.str926 = 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" +@.str927 = private unnamed_addr constant [49 x i8] c"sign:\0A br i1 %isneg, label %addneg, label %fin\0A\00" +@.str928 = 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" +@.str929 = private unnamed_addr constant [60 x i8] c"fin:\0A %fpos = phi i32 [ %pos, %sign ], [ %posn, %addneg ]\0A\00" +@.str930 = 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" +@.str931 = private unnamed_addr constant [58 x i8] c"define ptr @lp_str_slice(ptr %s, i32 %start, i32 %end) {\0A\00" +@.str932 = private unnamed_addr constant [62 x i8] c"entry:\0A %len = sub i32 %end, %start\0A %sz = add i32 %len, 1\0A\00" +@.str933 = 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" +@.str934 = private unnamed_addr constant [52 x i8] c"loop:\0A %i = phi i32 [ 0, %entry ], [ %i1, %body ]\0A\00" +@.str935 = private unnamed_addr constant [66 x i8] c" %d = icmp slt i32 %i, %len\0A br i1 %d, label %body, label %fin\0A\00" +@.str936 = 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" +@.str937 = 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" +@.str938 = 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" +@.str939 = private unnamed_addr constant [32 x i8] c"member access on non-aggregate \00" +@.str940 = private unnamed_addr constant [15 x i8] c"no such field \00" +@.str941 = private unnamed_addr constant [3 x i8] c" \00" +@.str942 = private unnamed_addr constant [27 x i8] c" = getelementptr inbounds \00" +@.str943 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str944 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" +@.str945 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str946 = private unnamed_addr constant [6 x i8] c"words\00" +@.str947 = private unnamed_addr constant [33 x i8] c"getelementptr inbounds i32, ptr \00" +@.str948 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str949 = private unnamed_addr constant [4 x i8] c"int\00" +@.str950 = private unnamed_addr constant [7 x i8] c"fixeds\00" +@.str951 = private unnamed_addr constant [33 x i8] c"getelementptr inbounds i32, ptr \00" +@.str952 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str953 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str954 = private unnamed_addr constant [9 x i8] c"pointers\00" +@.str955 = private unnamed_addr constant [33 x i8] c"getelementptr inbounds ptr, ptr \00" +@.str956 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str957 = private unnamed_addr constant [4 x i8] c"ptr\00" +@.str958 = private unnamed_addr constant [32 x i8] c"getelementptr inbounds i8, ptr \00" +@.str959 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str960 = private unnamed_addr constant [5 x i8] c"byte\00" +@.str961 = private unnamed_addr constant [3 x i8] c" \00" +@.str962 = private unnamed_addr constant [40 x i8] c" = getelementptr inbounds %LSlice, ptr \00" +@.str963 = private unnamed_addr constant [16 x i8] c", i32 0, i32 0\0A\00" +@.str964 = private unnamed_addr constant [3 x i8] c" \00" +@.str965 = private unnamed_addr constant [18 x i8] c" = load ptr, ptr \00" +@.str966 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str967 = private unnamed_addr constant [3 x i8] c" \00" +@.str968 = private unnamed_addr constant [27 x i8] c" = getelementptr inbounds \00" +@.str969 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str970 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str971 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str972 = private unnamed_addr constant [7 x i8] c"resize\00" +@.str973 = private unnamed_addr constant [10 x i8] c"file_open\00" +@.str974 = private unnamed_addr constant [10 x i8] c"file_read\00" +@.str975 = private unnamed_addr constant [11 x i8] c"file_write\00" +@.str976 = private unnamed_addr constant [10 x i8] c"file_seek\00" +@.str977 = private unnamed_addr constant [10 x i8] c"file_tell\00" +@.str978 = private unnamed_addr constant [11 x i8] c"file_close\00" +@.str979 = private unnamed_addr constant [10 x i8] c"arg_count\00" +@.str980 = private unnamed_addr constant [4 x i8] c"arg\00" +@.str981 = private unnamed_addr constant [5 x i8] c"exit\00" +@.str982 = private unnamed_addr constant [12 x i8] c"file_stderr\00" +@.str983 = private unnamed_addr constant [12 x i8] c"file_stdout\00" +@.str984 = private unnamed_addr constant [4 x i8] c"run\00" +@.str985 = private unnamed_addr constant [7 x i8] c"getenv\00" +@.str986 = private unnamed_addr constant [14 x i8] c"world_despawn\00" +@.str987 = private unnamed_addr constant [3 x i8] c" \00" +@.str988 = private unnamed_addr constant [4 x i8] c" = \00" +@.str989 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str990 = private unnamed_addr constant [7 x i8] c"resize\00" +@.str991 = private unnamed_addr constant [10 x i8] c"zext i32 \00" +@.str992 = private unnamed_addr constant [8 x i8] c" to i64\00" +@.str993 = private unnamed_addr constant [23 x i8] c"call ptr @realloc(ptr \00" +@.str994 = private unnamed_addr constant [7 x i8] c", i64 \00" +@.str995 = private unnamed_addr constant [2 x i8] c")\00" +@.str996 = private unnamed_addr constant [8 x i8] c"pointer\00" +@.str997 = private unnamed_addr constant [10 x i8] c"file_open\00" +@.str998 = private unnamed_addr constant [27 x i8] c"call ptr @lp_pak_open(ptr \00" +@.str999 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str1000 = private unnamed_addr constant [2 x i8] c")\00" +@.str1001 = private unnamed_addr constant [8 x i8] c"pointer\00" +@.str1002 = private unnamed_addr constant [10 x i8] c"file_read\00" +@.str1003 = private unnamed_addr constant [11 x i8] c"file_write\00" +@.str1004 = private unnamed_addr constant [10 x i8] c"zext i32 \00" +@.str1005 = private unnamed_addr constant [8 x i8] c" to i64\00" +@.str1006 = private unnamed_addr constant [7 x i8] c"@fread\00" +@.str1007 = private unnamed_addr constant [11 x i8] c"file_write\00" +@.str1008 = private unnamed_addr constant [8 x i8] c"@fwrite\00" +@.str1009 = private unnamed_addr constant [10 x i8] c"call i64 \00" +@.str1010 = private unnamed_addr constant [6 x i8] c"(ptr \00" +@.str1011 = private unnamed_addr constant [14 x i8] c", i64 1, i64 \00" +@.str1012 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str1013 = private unnamed_addr constant [2 x i8] c")\00" +@.str1014 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" +@.str1015 = private unnamed_addr constant [8 x i8] c" to i32\00" +@.str1016 = private unnamed_addr constant [4 x i8] c"int\00" +@.str1017 = private unnamed_addr constant [10 x i8] c"file_seek\00" +@.str1018 = private unnamed_addr constant [10 x i8] c"sext i32 \00" +@.str1019 = private unnamed_addr constant [8 x i8] c" to i64\00" +@.str1020 = private unnamed_addr constant [21 x i8] c"call i32 @fseek(ptr \00" +@.str1021 = private unnamed_addr constant [7 x i8] c", i64 \00" +@.str1022 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str1023 = private unnamed_addr constant [2 x i8] c")\00" +@.str1024 = private unnamed_addr constant [4 x i8] c"int\00" +@.str1025 = private unnamed_addr constant [10 x i8] c"file_tell\00" +@.str1026 = private unnamed_addr constant [21 x i8] c"call i64 @ftell(ptr \00" +@.str1027 = private unnamed_addr constant [2 x i8] c")\00" +@.str1028 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" +@.str1029 = private unnamed_addr constant [8 x i8] c" to i32\00" +@.str1030 = private unnamed_addr constant [4 x i8] c"int\00" +@.str1031 = private unnamed_addr constant [11 x i8] c"file_close\00" +@.str1032 = private unnamed_addr constant [24 x i8] c" call i32 @fclose(ptr \00" +@.str1033 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str1034 = private unnamed_addr constant [2 x i8] c"0\00" +@.str1035 = private unnamed_addr constant [5 x i8] c"void\00" +@.str1036 = private unnamed_addr constant [14 x i8] c"world_despawn\00" +@.str1037 = private unnamed_addr constant [35 x i8] c" call void @fn_world_despawn(i32 \00" +@.str1038 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str1039 = private unnamed_addr constant [2 x i8] c"0\00" +@.str1040 = private unnamed_addr constant [5 x i8] c"void\00" +@.str1041 = private unnamed_addr constant [10 x i8] c"arg_count\00" +@.str1042 = private unnamed_addr constant [22 x i8] c"load i32, ptr @L_argc\00" +@.str1043 = private unnamed_addr constant [4 x i8] c"int\00" +@.str1044 = private unnamed_addr constant [4 x i8] c"arg\00" +@.str1045 = private unnamed_addr constant [22 x i8] c"load ptr, ptr @L_argv\00" +@.str1046 = private unnamed_addr constant [24 x i8] c"getelementptr ptr, ptr \00" +@.str1047 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str1048 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" +@.str1049 = private unnamed_addr constant [7 x i8] c"string\00" +@.str1050 = private unnamed_addr constant [5 x i8] c"exit\00" +@.str1051 = private unnamed_addr constant [23 x i8] c" call void @exit(i32 \00" +@.str1052 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str1053 = private unnamed_addr constant [15 x i8] c" unreachable\0A\00" +@.str1054 = private unnamed_addr constant [2 x i8] c"0\00" +@.str1055 = private unnamed_addr constant [5 x i8] c"void\00" +@.str1056 = private unnamed_addr constant [12 x i8] c"file_stderr\00" +@.str1057 = private unnamed_addr constant [8 x i8] c"pointer\00" +@.str1058 = private unnamed_addr constant [12 x i8] c"file_stdout\00" +@.str1059 = private unnamed_addr constant [8 x i8] c"pointer\00" +@.str1060 = private unnamed_addr constant [4 x i8] c"run\00" +@.str1061 = private unnamed_addr constant [22 x i8] c"call i32 @system(ptr \00" +@.str1062 = private unnamed_addr constant [2 x i8] c")\00" +@.str1063 = private unnamed_addr constant [4 x i8] c"int\00" +@.str1064 = private unnamed_addr constant [7 x i8] c"getenv\00" +@.str1065 = private unnamed_addr constant [22 x i8] c"call ptr @getenv(ptr \00" +@.str1066 = private unnamed_addr constant [2 x i8] c")\00" +@.str1067 = private unnamed_addr constant [7 x i8] c"string\00" +@.str1068 = private unnamed_addr constant [2 x i8] c"0\00" +@.str1069 = private unnamed_addr constant [5 x i8] c"void\00" +@.str1070 = private unnamed_addr constant [28 x i8] c"call ptr @lp_win_stdio(i32 \00" +@.str1071 = private unnamed_addr constant [2 x i8] c")\00" +@.str1072 = private unnamed_addr constant [25 x i8] c"load ptr, ptr @__stderrp\00" +@.str1073 = private unnamed_addr constant [25 x i8] c"load ptr, ptr @__stdoutp\00" +@.str1074 = private unnamed_addr constant [5 x i8] c"free\00" +@.str1075 = private unnamed_addr constant [5 x i8] c"fill\00" +@.str1076 = private unnamed_addr constant [7 x i8] c"offset\00" +@.str1077 = private unnamed_addr constant [10 x i8] c"read_char\00" +@.str1078 = private unnamed_addr constant [9 x i8] c"as_fixed\00" +@.str1079 = private unnamed_addr constant [7 x i8] c"as_int\00" +@.str1080 = private unnamed_addr constant [12 x i8] c"is_windowed\00" +@.str1081 = private unnamed_addr constant [11 x i8] c"game_title\00" +@.str1082 = private unnamed_addr constant [9 x i8] c"win_open\00" +@.str1083 = private unnamed_addr constant [9 x i8] c"win_poll\00" +@.str1084 = private unnamed_addr constant [12 x i8] c"win_present\00" +@.str1085 = private unnamed_addr constant [12 x i8] c"win_running\00" +@.str1086 = private unnamed_addr constant [10 x i8] c"win_close\00" +@.str1087 = private unnamed_addr constant [9 x i8] c"win_held\00" +@.str1088 = private unnamed_addr constant [10 x i8] c"win_mouse\00" +@.str1089 = private unnamed_addr constant [8 x i8] c"win_pad\00" +@.str1090 = private unnamed_addr constant [10 x i8] c"win_touch\00" +@.str1091 = private unnamed_addr constant [16 x i8] c"win_cursor_mode\00" +@.str1092 = private unnamed_addr constant [9 x i8] c"snd_load\00" +@.str1093 = private unnamed_addr constant [9 x i8] c"snd_play\00" +@.str1094 = private unnamed_addr constant [9 x i8] c"snd_stop\00" +@.str1095 = private unnamed_addr constant [12 x i8] c"snd_playing\00" +@.str1096 = private unnamed_addr constant [15 x i8] c"snd_set_volume\00" +@.str1097 = private unnamed_addr constant [13 x i8] c"snd_set_rate\00" +@.str1098 = private unnamed_addr constant [12 x i8] c"snd_set_pan\00" +@.str1099 = private unnamed_addr constant [11 x i8] c"hs_req_new\00" +@.str1100 = private unnamed_addr constant [14 x i8] c"hs_req_header\00" +@.str1101 = private unnamed_addr constant [12 x i8] c"hs_req_body\00" +@.str1102 = private unnamed_addr constant [8 x i8] c"hs_send\00" +@.str1103 = private unnamed_addr constant [8 x i8] c"hs_done\00" +@.str1104 = private unnamed_addr constant [10 x i8] c"hs_status\00" +@.str1105 = private unnamed_addr constant [8 x i8] c"hs_body\00" +@.str1106 = private unnamed_addr constant [8 x i8] c"hs_blen\00" +@.str1107 = private unnamed_addr constant [10 x i8] c"hs_header\00" +@.str1108 = private unnamed_addr constant [8 x i8] c"hs_free\00" +@.str1109 = private unnamed_addr constant [5 x i8] c"free\00" +@.str1110 = private unnamed_addr constant [23 x i8] c" call void @free(ptr \00" +@.str1111 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str1112 = private unnamed_addr constant [2 x i8] c"0\00" +@.str1113 = private unnamed_addr constant [5 x i8] c"void\00" +@.str1114 = private unnamed_addr constant [5 x i8] c"fill\00" +@.str1115 = private unnamed_addr constant [10 x i8] c"zext i32 \00" +@.str1116 = private unnamed_addr constant [8 x i8] c" to i64\00" +@.str1117 = private unnamed_addr constant [24 x i8] c" call ptr @memset(ptr \00" +@.str1118 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str1119 = private unnamed_addr constant [7 x i8] c", i64 \00" +@.str1120 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str1121 = private unnamed_addr constant [2 x i8] c"0\00" +@.str1122 = private unnamed_addr constant [5 x i8] c"void\00" +@.str1123 = private unnamed_addr constant [7 x i8] c"offset\00" +@.str1124 = private unnamed_addr constant [3 x i8] c" \00" +@.str1125 = private unnamed_addr constant [35 x i8] c" = getelementptr inbounds i8, ptr \00" +@.str1126 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str1127 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str1128 = private unnamed_addr constant [8 x i8] c"pointer\00" +@.str1129 = private unnamed_addr constant [10 x i8] c"read_char\00" +@.str1130 = private unnamed_addr constant [20 x i8] c"call i32 @getchar()\00" +@.str1131 = private unnamed_addr constant [4 x i8] c"int\00" +@.str1132 = private unnamed_addr constant [9 x i8] c"as_fixed\00" +@.str1133 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str1134 = private unnamed_addr constant [7 x i8] c"as_int\00" +@.str1135 = private unnamed_addr constant [4 x i8] c"int\00" +@.str1136 = private unnamed_addr constant [12 x i8] c"is_windowed\00" +@.str1137 = private unnamed_addr constant [2 x i8] c"1\00" +@.str1138 = private unnamed_addr constant [5 x i8] c"bool\00" +@.str1139 = private unnamed_addr constant [2 x i8] c"0\00" +@.str1140 = private unnamed_addr constant [5 x i8] c"bool\00" +@.str1141 = private unnamed_addr constant [11 x i8] c"game_title\00" +@.str1142 = private unnamed_addr constant [12 x i8] c"@.gametitle\00" +@.str1143 = private unnamed_addr constant [7 x i8] c"string\00" +@.str1144 = private unnamed_addr constant [9 x i8] c"win_poll\00" +@.str1145 = private unnamed_addr constant [21 x i8] c"call i32 @win_poll()\00" +@.str1146 = private unnamed_addr constant [4 x i8] c"int\00" +@.str1147 = private unnamed_addr constant [12 x i8] c"win_running\00" +@.str1148 = private unnamed_addr constant [24 x i8] c"call i32 @win_running()\00" +@.str1149 = private unnamed_addr constant [5 x i8] c"bool\00" +@.str1150 = private unnamed_addr constant [9 x i8] c"win_open\00" +@.str1151 = private unnamed_addr constant [27 x i8] c" call void @win_open(i32 \00" +@.str1152 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str1153 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str1154 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str1155 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str1156 = private unnamed_addr constant [2 x i8] c"0\00" +@.str1157 = private unnamed_addr constant [5 x i8] c"void\00" +@.str1158 = private unnamed_addr constant [12 x i8] c"win_present\00" +@.str1159 = private unnamed_addr constant [30 x i8] c" call void @win_present(ptr \00" +@.str1160 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str1161 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str1162 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str1163 = private unnamed_addr constant [2 x i8] c"0\00" +@.str1164 = private unnamed_addr constant [5 x i8] c"void\00" +@.str1165 = private unnamed_addr constant [10 x i8] c"win_close\00" +@.str1166 = private unnamed_addr constant [26 x i8] c" call void @win_close()\0A\00" +@.str1167 = private unnamed_addr constant [2 x i8] c"0\00" +@.str1168 = private unnamed_addr constant [5 x i8] c"void\00" +@.str1169 = private unnamed_addr constant [9 x i8] c"win_held\00" +@.str1170 = private unnamed_addr constant [27 x i8] c" call void @win_held(ptr \00" +@.str1171 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str1172 = private unnamed_addr constant [2 x i8] c"0\00" +@.str1173 = private unnamed_addr constant [5 x i8] c"void\00" +@.str1174 = private unnamed_addr constant [10 x i8] c"win_mouse\00" +@.str1175 = private unnamed_addr constant [28 x i8] c" call void @win_mouse(ptr \00" +@.str1176 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str1177 = private unnamed_addr constant [2 x i8] c"0\00" +@.str1178 = private unnamed_addr constant [5 x i8] c"void\00" +@.str1179 = private unnamed_addr constant [8 x i8] c"win_pad\00" +@.str1180 = private unnamed_addr constant [26 x i8] c" call void @win_pad(ptr \00" +@.str1181 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str1182 = private unnamed_addr constant [2 x i8] c"0\00" +@.str1183 = private unnamed_addr constant [5 x i8] c"void\00" +@.str1184 = private unnamed_addr constant [10 x i8] c"win_touch\00" +@.str1185 = private unnamed_addr constant [28 x i8] c" call void @win_touch(ptr \00" +@.str1186 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str1187 = private unnamed_addr constant [2 x i8] c"0\00" +@.str1188 = private unnamed_addr constant [5 x i8] c"void\00" +@.str1189 = private unnamed_addr constant [16 x i8] c"win_cursor_mode\00" +@.str1190 = private unnamed_addr constant [34 x i8] c" call void @win_cursor_mode(i32 \00" +@.str1191 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str1192 = private unnamed_addr constant [2 x i8] c"0\00" +@.str1193 = private unnamed_addr constant [5 x i8] c"void\00" +@.str1194 = private unnamed_addr constant [9 x i8] c"snd_load\00" +@.str1195 = private unnamed_addr constant [24 x i8] c"call ptr @snd_load(ptr \00" +@.str1196 = private unnamed_addr constant [2 x i8] c")\00" +@.str1197 = private unnamed_addr constant [8 x i8] c"pointer\00" +@.str1198 = private unnamed_addr constant [9 x i8] c"snd_play\00" +@.str1199 = private unnamed_addr constant [27 x i8] c" call void @snd_play(ptr \00" +@.str1200 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str1201 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str1202 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str1203 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str1204 = private unnamed_addr constant [2 x i8] c"0\00" +@.str1205 = private unnamed_addr constant [5 x i8] c"void\00" +@.str1206 = private unnamed_addr constant [9 x i8] c"snd_stop\00" +@.str1207 = private unnamed_addr constant [27 x i8] c" call void @snd_stop(ptr \00" +@.str1208 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str1209 = private unnamed_addr constant [2 x i8] c"0\00" +@.str1210 = private unnamed_addr constant [5 x i8] c"void\00" +@.str1211 = private unnamed_addr constant [12 x i8] c"snd_playing\00" +@.str1212 = private unnamed_addr constant [27 x i8] c"call i32 @snd_playing(ptr \00" +@.str1213 = private unnamed_addr constant [2 x i8] c")\00" +@.str1214 = private unnamed_addr constant [4 x i8] c"int\00" +@.str1215 = private unnamed_addr constant [15 x i8] c"snd_set_volume\00" +@.str1216 = private unnamed_addr constant [33 x i8] c" call void @snd_set_volume(ptr \00" +@.str1217 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str1218 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str1219 = private unnamed_addr constant [2 x i8] c"0\00" +@.str1220 = private unnamed_addr constant [5 x i8] c"void\00" +@.str1221 = private unnamed_addr constant [13 x i8] c"snd_set_rate\00" +@.str1222 = private unnamed_addr constant [31 x i8] c" call void @snd_set_rate(ptr \00" +@.str1223 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str1224 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str1225 = private unnamed_addr constant [2 x i8] c"0\00" +@.str1226 = private unnamed_addr constant [5 x i8] c"void\00" +@.str1227 = private unnamed_addr constant [12 x i8] c"snd_set_pan\00" +@.str1228 = private unnamed_addr constant [30 x i8] c" call void @snd_set_pan(ptr \00" +@.str1229 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str1230 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str1231 = private unnamed_addr constant [2 x i8] c"0\00" +@.str1232 = private unnamed_addr constant [5 x i8] c"void\00" +@.str1233 = private unnamed_addr constant [11 x i8] c"hs_req_new\00" +@.str1234 = private unnamed_addr constant [26 x i8] c"call ptr @hs_req_new(ptr \00" +@.str1235 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str1236 = private unnamed_addr constant [2 x i8] c")\00" +@.str1237 = private unnamed_addr constant [8 x i8] c"pointer\00" +@.str1238 = private unnamed_addr constant [14 x i8] c"hs_req_header\00" +@.str1239 = private unnamed_addr constant [32 x i8] c" call void @hs_req_header(ptr \00" +@.str1240 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str1241 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str1242 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str1243 = private unnamed_addr constant [2 x i8] c"0\00" +@.str1244 = private unnamed_addr constant [5 x i8] c"void\00" +@.str1245 = private unnamed_addr constant [12 x i8] c"hs_req_body\00" +@.str1246 = private unnamed_addr constant [30 x i8] c" call void @hs_req_body(ptr \00" +@.str1247 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str1248 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str1249 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str1250 = private unnamed_addr constant [2 x i8] c"0\00" +@.str1251 = private unnamed_addr constant [5 x i8] c"void\00" +@.str1252 = private unnamed_addr constant [8 x i8] c"hs_send\00" +@.str1253 = private unnamed_addr constant [26 x i8] c" call void @hs_send(i32 \00" +@.str1254 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str1255 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str1256 = private unnamed_addr constant [2 x i8] c"0\00" +@.str1257 = private unnamed_addr constant [5 x i8] c"void\00" +@.str1258 = private unnamed_addr constant [8 x i8] c"hs_done\00" +@.str1259 = private unnamed_addr constant [23 x i8] c"call i32 @hs_done(i32 \00" +@.str1260 = private unnamed_addr constant [2 x i8] c")\00" +@.str1261 = private unnamed_addr constant [4 x i8] c"int\00" +@.str1262 = private unnamed_addr constant [10 x i8] c"hs_status\00" +@.str1263 = private unnamed_addr constant [25 x i8] c"call i32 @hs_status(i32 \00" +@.str1264 = private unnamed_addr constant [2 x i8] c")\00" +@.str1265 = private unnamed_addr constant [4 x i8] c"int\00" +@.str1266 = private unnamed_addr constant [8 x i8] c"hs_body\00" +@.str1267 = private unnamed_addr constant [23 x i8] c"call ptr @hs_body(i32 \00" +@.str1268 = private unnamed_addr constant [2 x i8] c")\00" +@.str1269 = private unnamed_addr constant [8 x i8] c"pointer\00" +@.str1270 = private unnamed_addr constant [8 x i8] c"hs_blen\00" +@.str1271 = private unnamed_addr constant [23 x i8] c"call i32 @hs_blen(i32 \00" +@.str1272 = private unnamed_addr constant [2 x i8] c")\00" +@.str1273 = private unnamed_addr constant [4 x i8] c"int\00" +@.str1274 = private unnamed_addr constant [10 x i8] c"hs_header\00" +@.str1275 = private unnamed_addr constant [25 x i8] c"call ptr @hs_header(i32 \00" +@.str1276 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str1277 = private unnamed_addr constant [2 x i8] c")\00" +@.str1278 = private unnamed_addr constant [8 x i8] c"pointer\00" +@.str1279 = private unnamed_addr constant [8 x i8] c"hs_free\00" +@.str1280 = private unnamed_addr constant [26 x i8] c" call void @hs_free(i32 \00" +@.str1281 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str1282 = private unnamed_addr constant [2 x i8] c"0\00" +@.str1283 = private unnamed_addr constant [5 x i8] c"void\00" +@.str1284 = private unnamed_addr constant [2 x i8] c"0\00" +@.str1285 = private unnamed_addr constant [5 x i8] c"void\00" +@.str1286 = private unnamed_addr constant [4 x i8] c"min\00" +@.str1287 = private unnamed_addr constant [4 x i8] c"max\00" +@.str1288 = private unnamed_addr constant [4 x i8] c"abs\00" +@.str1289 = private unnamed_addr constant [6 x i8] c"clamp\00" +@.str1290 = private unnamed_addr constant [4 x i8] c"abs\00" +@.str1291 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" +@.str1292 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str1293 = private unnamed_addr constant [12 x i8] c"sub i32 0, \00" +@.str1294 = private unnamed_addr constant [11 x i8] c"select i1 \00" +@.str1295 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str1296 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str1297 = private unnamed_addr constant [4 x i8] c"min\00" +@.str1298 = private unnamed_addr constant [4 x i8] c"max\00" +@.str1299 = private unnamed_addr constant [4 x i8] c"slt\00" +@.str1300 = private unnamed_addr constant [4 x i8] c"max\00" +@.str1301 = private unnamed_addr constant [4 x i8] c"sgt\00" +@.str1302 = private unnamed_addr constant [6 x i8] c"icmp \00" +@.str1303 = private unnamed_addr constant [6 x i8] c" i32 \00" +@.str1304 = private unnamed_addr constant [3 x i8] c", \00" +@.str1305 = private unnamed_addr constant [11 x i8] c"select i1 \00" +@.str1306 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str1307 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str1308 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" +@.str1309 = private unnamed_addr constant [3 x i8] c", \00" +@.str1310 = private unnamed_addr constant [11 x i8] c"select i1 \00" +@.str1311 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str1312 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str1313 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00" +@.str1314 = private unnamed_addr constant [3 x i8] c", \00" +@.str1315 = private unnamed_addr constant [11 x i8] c"select i1 \00" +@.str1316 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str1317 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str1318 = private unnamed_addr constant [10 x i8] c"sext i32 \00" +@.str1319 = private unnamed_addr constant [8 x i8] c" to i64\00" +@.str1320 = private unnamed_addr constant [10 x i8] c"sext i32 \00" +@.str1321 = private unnamed_addr constant [8 x i8] c" to i64\00" +@.str1322 = private unnamed_addr constant [9 x i8] c"mul i64 \00" +@.str1323 = private unnamed_addr constant [3 x i8] c", \00" +@.str1324 = private unnamed_addr constant [10 x i8] c"ashr i64 \00" +@.str1325 = private unnamed_addr constant [5 x i8] c", 16\00" +@.str1326 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" +@.str1327 = private unnamed_addr constant [8 x i8] c" to i32\00" +@.str1328 = private unnamed_addr constant [10 x i8] c"sext i32 \00" +@.str1329 = private unnamed_addr constant [8 x i8] c" to i64\00" +@.str1330 = private unnamed_addr constant [9 x i8] c"shl i64 \00" +@.str1331 = private unnamed_addr constant [5 x i8] c", 16\00" +@.str1332 = private unnamed_addr constant [10 x i8] c"sext i32 \00" +@.str1333 = private unnamed_addr constant [8 x i8] c" to i64\00" +@.str1334 = private unnamed_addr constant [10 x i8] c"sdiv i64 \00" +@.str1335 = private unnamed_addr constant [3 x i8] c", \00" +@.str1336 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" +@.str1337 = private unnamed_addr constant [8 x i8] c" to i32\00" +@.str1338 = private unnamed_addr constant [9 x i8] c"sub i32 \00" +@.str1339 = private unnamed_addr constant [3 x i8] c", \00" +@.str1340 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str1341 = private unnamed_addr constant [3 x i8] c", \00" +@.str1342 = private unnamed_addr constant [9 x i8] c"sub i32 \00" +@.str1343 = private unnamed_addr constant [3 x i8] c", \00" +@.str1344 = private unnamed_addr constant [9 x i8] c"sub i32 \00" +@.str1345 = private unnamed_addr constant [3 x i8] c", \00" +@.str1346 = private unnamed_addr constant [4 x i8] c"min\00" +@.str1347 = private unnamed_addr constant [4 x i8] c"max\00" +@.str1348 = private unnamed_addr constant [4 x i8] c"abs\00" +@.str1349 = private unnamed_addr constant [6 x i8] c"clamp\00" +@.str1350 = private unnamed_addr constant [5 x i8] c"sign\00" +@.str1351 = private unnamed_addr constant [6 x i8] c"floor\00" +@.str1352 = private unnamed_addr constant [5 x i8] c"ceil\00" +@.str1353 = private unnamed_addr constant [6 x i8] c"round\00" +@.str1354 = private unnamed_addr constant [5 x i8] c"lerp\00" +@.str1355 = private unnamed_addr constant [13 x i8] c"inverse_lerp\00" +@.str1356 = private unnamed_addr constant [6 x i8] c"remap\00" +@.str1357 = private unnamed_addr constant [5 x i8] c"sqrt\00" +@.str1358 = private unnamed_addr constant [4 x i8] c"sin\00" +@.str1359 = private unnamed_addr constant [4 x i8] c"cos\00" +@.str1360 = private unnamed_addr constant [4 x i8] c"tan\00" +@.str1361 = private unnamed_addr constant [6 x i8] c"hypot\00" +@.str1362 = private unnamed_addr constant [6 x i8] c"atan2\00" +@.str1363 = private unnamed_addr constant [5 x i8] c"asin\00" +@.str1364 = private unnamed_addr constant [5 x i8] c"acos\00" +@.str1365 = private unnamed_addr constant [11 x i8] c"deg_to_rad\00" +@.str1366 = private unnamed_addr constant [11 x i8] c"rad_to_deg\00" +@.str1367 = private unnamed_addr constant [7 x i8] c"posmod\00" +@.str1368 = private unnamed_addr constant [5 x i8] c"wrap\00" +@.str1369 = private unnamed_addr constant [10 x i8] c"ping_pong\00" +@.str1370 = private unnamed_addr constant [8 x i8] c"snapped\00" +@.str1371 = private unnamed_addr constant [12 x i8] c"move_toward\00" +@.str1372 = private unnamed_addr constant [11 x i8] c"smoothstep\00" +@.str1373 = private unnamed_addr constant [5 x i8] c"dist\00" +@.str1374 = private unnamed_addr constant [6 x i8] c"dist2\00" +@.str1375 = private unnamed_addr constant [4 x i8] c"exp\00" +@.str1376 = private unnamed_addr constant [4 x i8] c"log\00" +@.str1377 = private unnamed_addr constant [4 x i8] c"pow\00" +@.str1378 = private unnamed_addr constant [4 x i8] c"min\00" +@.str1379 = private unnamed_addr constant [4 x i8] c"max\00" +@.str1380 = private unnamed_addr constant [4 x i8] c"abs\00" +@.str1381 = private unnamed_addr constant [6 x i8] c"clamp\00" +@.str1382 = private unnamed_addr constant [5 x i8] c"sign\00" +@.str1383 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00" +@.str1384 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str1385 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" +@.str1386 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str1387 = private unnamed_addr constant [11 x i8] c"select i1 \00" +@.str1388 = private unnamed_addr constant [16 x i8] c", i32 -1, i32 0\00" +@.str1389 = private unnamed_addr constant [11 x i8] c"select i1 \00" +@.str1390 = private unnamed_addr constant [14 x i8] c", i32 1, i32 \00" +@.str1391 = private unnamed_addr constant [4 x i8] c"int\00" +@.str1392 = private unnamed_addr constant [6 x i8] c"floor\00" +@.str1393 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" +@.str1394 = private unnamed_addr constant [5 x i8] c", 16\00" +@.str1395 = private unnamed_addr constant [4 x i8] c"int\00" +@.str1396 = private unnamed_addr constant [5 x i8] c"ceil\00" +@.str1397 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str1398 = private unnamed_addr constant [8 x i8] c", 65535\00" +@.str1399 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" +@.str1400 = private unnamed_addr constant [5 x i8] c", 16\00" +@.str1401 = private unnamed_addr constant [4 x i8] c"int\00" +@.str1402 = private unnamed_addr constant [6 x i8] c"round\00" +@.str1403 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str1404 = private unnamed_addr constant [8 x i8] c", 32768\00" +@.str1405 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" +@.str1406 = private unnamed_addr constant [5 x i8] c", 16\00" +@.str1407 = private unnamed_addr constant [4 x i8] c"int\00" +@.str1408 = private unnamed_addr constant [5 x i8] c"lerp\00" +@.str1409 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str1410 = private unnamed_addr constant [13 x i8] c"inverse_lerp\00" +@.str1411 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str1412 = private unnamed_addr constant [5 x i8] c"sqrt\00" +@.str1413 = private unnamed_addr constant [26 x i8] c"call i32 @lp_fx_sqrt(i32 \00" +@.str1414 = private unnamed_addr constant [2 x i8] c")\00" +@.str1415 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str1416 = private unnamed_addr constant [4 x i8] c"sin\00" +@.str1417 = private unnamed_addr constant [25 x i8] c"call i32 @lp_fx_sin(i32 \00" +@.str1418 = private unnamed_addr constant [2 x i8] c")\00" +@.str1419 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str1420 = private unnamed_addr constant [4 x i8] c"cos\00" +@.str1421 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str1422 = private unnamed_addr constant [9 x i8] c", 102944\00" +@.str1423 = private unnamed_addr constant [25 x i8] c"call i32 @lp_fx_sin(i32 \00" +@.str1424 = private unnamed_addr constant [2 x i8] c")\00" +@.str1425 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str1426 = private unnamed_addr constant [4 x i8] c"tan\00" +@.str1427 = private unnamed_addr constant [25 x i8] c"call i32 @lp_fx_sin(i32 \00" +@.str1428 = private unnamed_addr constant [2 x i8] c")\00" +@.str1429 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str1430 = private unnamed_addr constant [9 x i8] c", 102944\00" +@.str1431 = private unnamed_addr constant [25 x i8] c"call i32 @lp_fx_sin(i32 \00" +@.str1432 = private unnamed_addr constant [2 x i8] c")\00" +@.str1433 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str1434 = private unnamed_addr constant [6 x i8] c"atan2\00" +@.str1435 = private unnamed_addr constant [27 x i8] c"call i32 @lp_fx_atan2(i32 \00" +@.str1436 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str1437 = private unnamed_addr constant [2 x i8] c")\00" +@.str1438 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str1439 = private unnamed_addr constant [5 x i8] c"asin\00" +@.str1440 = private unnamed_addr constant [16 x i8] c"sub i32 65536, \00" +@.str1441 = private unnamed_addr constant [26 x i8] c"call i32 @lp_fx_sqrt(i32 \00" +@.str1442 = private unnamed_addr constant [2 x i8] c")\00" +@.str1443 = private unnamed_addr constant [27 x i8] c"call i32 @lp_fx_atan2(i32 \00" +@.str1444 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str1445 = private unnamed_addr constant [2 x i8] c")\00" +@.str1446 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str1447 = private unnamed_addr constant [5 x i8] c"acos\00" +@.str1448 = private unnamed_addr constant [16 x i8] c"sub i32 65536, \00" +@.str1449 = private unnamed_addr constant [26 x i8] c"call i32 @lp_fx_sqrt(i32 \00" +@.str1450 = private unnamed_addr constant [2 x i8] c")\00" +@.str1451 = private unnamed_addr constant [27 x i8] c"call i32 @lp_fx_atan2(i32 \00" +@.str1452 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str1453 = private unnamed_addr constant [2 x i8] c")\00" +@.str1454 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str1455 = private unnamed_addr constant [6 x i8] c"hypot\00" +@.str1456 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str1457 = private unnamed_addr constant [3 x i8] c", \00" +@.str1458 = private unnamed_addr constant [26 x i8] c"call i32 @lp_fx_sqrt(i32 \00" +@.str1459 = private unnamed_addr constant [2 x i8] c")\00" +@.str1460 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str1461 = private unnamed_addr constant [6 x i8] c"dist2\00" +@.str1462 = private unnamed_addr constant [9 x i8] c"sub i32 \00" +@.str1463 = private unnamed_addr constant [3 x i8] c", \00" +@.str1464 = private unnamed_addr constant [9 x i8] c"sub i32 \00" +@.str1465 = private unnamed_addr constant [3 x i8] c", \00" +@.str1466 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str1467 = private unnamed_addr constant [3 x i8] c", \00" +@.str1468 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str1469 = private unnamed_addr constant [5 x i8] c"dist\00" +@.str1470 = private unnamed_addr constant [9 x i8] c"sub i32 \00" +@.str1471 = private unnamed_addr constant [3 x i8] c", \00" +@.str1472 = private unnamed_addr constant [9 x i8] c"sub i32 \00" +@.str1473 = private unnamed_addr constant [3 x i8] c", \00" +@.str1474 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str1475 = private unnamed_addr constant [3 x i8] c", \00" +@.str1476 = private unnamed_addr constant [26 x i8] c"call i32 @lp_fx_sqrt(i32 \00" +@.str1477 = private unnamed_addr constant [2 x i8] c")\00" +@.str1478 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str1479 = private unnamed_addr constant [4 x i8] c"exp\00" +@.str1480 = private unnamed_addr constant [6 x i8] c"94548\00" +@.str1481 = private unnamed_addr constant [26 x i8] c"call i32 @lp_fx_exp2(i32 \00" +@.str1482 = private unnamed_addr constant [2 x i8] c")\00" +@.str1483 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str1484 = private unnamed_addr constant [4 x i8] c"log\00" +@.str1485 = private unnamed_addr constant [26 x i8] c"call i32 @lp_fx_log2(i32 \00" +@.str1486 = private unnamed_addr constant [2 x i8] c")\00" +@.str1487 = private unnamed_addr constant [6 x i8] c"45426\00" +@.str1488 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str1489 = private unnamed_addr constant [4 x i8] c"pow\00" +@.str1490 = private unnamed_addr constant [26 x i8] c"call i32 @lp_fx_log2(i32 \00" +@.str1491 = private unnamed_addr constant [2 x i8] c")\00" +@.str1492 = private unnamed_addr constant [26 x i8] c"call i32 @lp_fx_exp2(i32 \00" +@.str1493 = private unnamed_addr constant [2 x i8] c")\00" +@.str1494 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str1495 = private unnamed_addr constant [11 x i8] c"deg_to_rad\00" +@.str1496 = private unnamed_addr constant [5 x i8] c"1144\00" +@.str1497 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str1498 = private unnamed_addr constant [11 x i8] c"rad_to_deg\00" +@.str1499 = private unnamed_addr constant [8 x i8] c"3754936\00" +@.str1500 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str1501 = private unnamed_addr constant [7 x i8] c"posmod\00" +@.str1502 = private unnamed_addr constant [10 x i8] c"srem i32 \00" +@.str1503 = private unnamed_addr constant [3 x i8] c", \00" +@.str1504 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str1505 = private unnamed_addr constant [3 x i8] c", \00" +@.str1506 = private unnamed_addr constant [10 x i8] c"srem i32 \00" +@.str1507 = private unnamed_addr constant [3 x i8] c", \00" +@.str1508 = private unnamed_addr constant [4 x i8] c"int\00" +@.str1509 = private unnamed_addr constant [5 x i8] c"wrap\00" +@.str1510 = private unnamed_addr constant [9 x i8] c"sub i32 \00" +@.str1511 = private unnamed_addr constant [3 x i8] c", \00" +@.str1512 = private unnamed_addr constant [9 x i8] c"sub i32 \00" +@.str1513 = private unnamed_addr constant [3 x i8] c", \00" +@.str1514 = private unnamed_addr constant [10 x i8] c"srem i32 \00" +@.str1515 = private unnamed_addr constant [3 x i8] c", \00" +@.str1516 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str1517 = private unnamed_addr constant [3 x i8] c", \00" +@.str1518 = private unnamed_addr constant [10 x i8] c"srem i32 \00" +@.str1519 = private unnamed_addr constant [3 x i8] c", \00" +@.str1520 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str1521 = private unnamed_addr constant [3 x i8] c", \00" +@.str1522 = private unnamed_addr constant [4 x i8] c"int\00" +@.str1523 = private unnamed_addr constant [10 x i8] c"ping_pong\00" +@.str1524 = private unnamed_addr constant [9 x i8] c"mul i32 \00" +@.str1525 = private unnamed_addr constant [4 x i8] c", 2\00" +@.str1526 = private unnamed_addr constant [10 x i8] c"srem i32 \00" +@.str1527 = private unnamed_addr constant [3 x i8] c", \00" +@.str1528 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str1529 = private unnamed_addr constant [3 x i8] c", \00" +@.str1530 = private unnamed_addr constant [10 x i8] c"srem i32 \00" +@.str1531 = private unnamed_addr constant [3 x i8] c", \00" +@.str1532 = private unnamed_addr constant [9 x i8] c"sub i32 \00" +@.str1533 = private unnamed_addr constant [3 x i8] c", \00" +@.str1534 = private unnamed_addr constant [12 x i8] c"sub i32 0, \00" +@.str1535 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" +@.str1536 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str1537 = private unnamed_addr constant [11 x i8] c"select i1 \00" +@.str1538 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str1539 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str1540 = private unnamed_addr constant [9 x i8] c"sub i32 \00" +@.str1541 = private unnamed_addr constant [3 x i8] c", \00" +@.str1542 = private unnamed_addr constant [4 x i8] c"int\00" +@.str1543 = private unnamed_addr constant [8 x i8] c"snapped\00" +@.str1544 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str1545 = private unnamed_addr constant [8 x i8] c", 32768\00" +@.str1546 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" +@.str1547 = private unnamed_addr constant [5 x i8] c", 16\00" +@.str1548 = private unnamed_addr constant [9 x i8] c"mul i32 \00" +@.str1549 = private unnamed_addr constant [3 x i8] c", \00" +@.str1550 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str1551 = private unnamed_addr constant [12 x i8] c"move_toward\00" +@.str1552 = private unnamed_addr constant [9 x i8] c"sub i32 \00" +@.str1553 = private unnamed_addr constant [3 x i8] c", \00" +@.str1554 = private unnamed_addr constant [12 x i8] c"sub i32 0, \00" +@.str1555 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" +@.str1556 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str1557 = private unnamed_addr constant [11 x i8] c"select i1 \00" +@.str1558 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str1559 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str1560 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00" +@.str1561 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str1562 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" +@.str1563 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str1564 = private unnamed_addr constant [11 x i8] c"select i1 \00" +@.str1565 = private unnamed_addr constant [16 x i8] c", i32 -1, i32 0\00" +@.str1566 = private unnamed_addr constant [11 x i8] c"select i1 \00" +@.str1567 = private unnamed_addr constant [14 x i8] c", i32 1, i32 \00" +@.str1568 = private unnamed_addr constant [9 x i8] c"mul i32 \00" +@.str1569 = private unnamed_addr constant [3 x i8] c", \00" +@.str1570 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str1571 = private unnamed_addr constant [3 x i8] c", \00" +@.str1572 = private unnamed_addr constant [14 x i8] c"icmp sle i32 \00" +@.str1573 = private unnamed_addr constant [3 x i8] c", \00" +@.str1574 = private unnamed_addr constant [11 x i8] c"select i1 \00" +@.str1575 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str1576 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str1577 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str1578 = private unnamed_addr constant [11 x i8] c"smoothstep\00" +@.str1579 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" +@.str1580 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str1581 = private unnamed_addr constant [11 x i8] c"select i1 \00" +@.str1582 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" +@.str1583 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00" +@.str1584 = private unnamed_addr constant [8 x i8] c", 65536\00" +@.str1585 = private unnamed_addr constant [11 x i8] c"select i1 \00" +@.str1586 = private unnamed_addr constant [18 x i8] c", i32 65536, i32 \00" +@.str1587 = private unnamed_addr constant [9 x i8] c"mul i32 \00" +@.str1588 = private unnamed_addr constant [4 x i8] c", 2\00" +@.str1589 = private unnamed_addr constant [17 x i8] c"sub i32 196608, \00" +@.str1590 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str1591 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str1592 = 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" +@.str1593 = private unnamed_addr constant [34 x i8] c"define i32 @lp_fx_sqrt(i32 %x) {\0A\00" +@.str1594 = 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" +@.str1595 = private unnamed_addr constant [19 x i8] c"ret0:\0A ret i32 0\0A\00" +@.str1596 = private unnamed_addr constant [58 x i8] c"go:\0A %x64 = sext i32 %x to i64\0A %n0 = shl i64 %x64, 16\0A\00" +@.str1597 = private unnamed_addr constant [58 x i8] c" %np = alloca i64\0A %rp = alloca i64\0A %bp = alloca i64\0A\00" +@.str1598 = 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" +@.str1599 = 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" +@.str1600 = 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" +@.str1601 = 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" +@.str1602 = 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" +@.str1603 = 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" +@.str1604 = 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" +@.str1605 = 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" +@.str1606 = 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" +@.str1607 = private unnamed_addr constant [33 x i8] c"define i32 @lp_fx_sin(i32 %x) {\0A\00" +@.str1608 = 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" +@.str1609 = 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" +@.str1610 = private unnamed_addr constant [51 x i8] c" %i1 = add i64 %i0m, 1\0A %i1m = and i64 %i1, 255\0A\00" +@.str1611 = 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" +@.str1612 = 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" +@.str1613 = 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" +@.str1614 = private unnamed_addr constant [43 x i8] c"define i32 @lp_fx_atan2(i32 %y, i32 %x) {\0A\00" +@.str1615 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" +@.str1616 = private unnamed_addr constant [27 x i8] c" %xz = icmp eq i32 %x, 0\0A\00" +@.str1617 = private unnamed_addr constant [27 x i8] c" %yz = icmp eq i32 %y, 0\0A\00" +@.str1618 = private unnamed_addr constant [28 x i8] c" %both0 = and i1 %xz, %yz\0A\00" +@.str1619 = private unnamed_addr constant [37 x i8] c" br i1 %both0, label %z, label %go\0A\00" +@.str1620 = private unnamed_addr constant [4 x i8] c"z:\0A\00" +@.str1621 = private unnamed_addr constant [13 x i8] c" ret i32 0\0A\00" +@.str1622 = private unnamed_addr constant [5 x i8] c"go:\0A\00" +@.str1623 = private unnamed_addr constant [30 x i8] c" %yneg = icmp slt i32 %y, 0\0A\00" +@.str1624 = private unnamed_addr constant [24 x i8] c" %yng = sub i32 0, %y\0A\00" +@.str1625 = private unnamed_addr constant [44 x i8] c" %ay0 = select i1 %yneg, i32 %yng, i32 %y\0A\00" +@.str1626 = private unnamed_addr constant [25 x i8] c" %ay = add i32 %ay0, 1\0A\00" +@.str1627 = private unnamed_addr constant [30 x i8] c" %xpos = icmp sge i32 %x, 0\0A\00" +@.str1628 = private unnamed_addr constant [37 x i8] c" br i1 %xpos, label %xp, label %xn\0A\00" +@.str1629 = private unnamed_addr constant [5 x i8] c"xp:\0A\00" +@.str1630 = private unnamed_addr constant [25 x i8] c" %n1 = sub i32 %x, %ay\0A\00" +@.str1631 = private unnamed_addr constant [25 x i8] c" %d1 = add i32 %x, %ay\0A\00" +@.str1632 = private unnamed_addr constant [16 x i8] c" br label %dv\0A\00" +@.str1633 = private unnamed_addr constant [5 x i8] c"xn:\0A\00" +@.str1634 = private unnamed_addr constant [25 x i8] c" %n2 = add i32 %x, %ay\0A\00" +@.str1635 = private unnamed_addr constant [25 x i8] c" %d2 = sub i32 %ay, %x\0A\00" +@.str1636 = private unnamed_addr constant [16 x i8] c" br label %dv\0A\00" +@.str1637 = private unnamed_addr constant [5 x i8] c"dv:\0A\00" +@.str1638 = private unnamed_addr constant [45 x i8] c" %num = phi i32 [ %n1, %xp ], [ %n2, %xn ]\0A\00" +@.str1639 = private unnamed_addr constant [45 x i8] c" %den = phi i32 [ %d1, %xp ], [ %d2, %xn ]\0A\00" +@.str1640 = private unnamed_addr constant [51 x i8] c" %base = phi i32 [ 51472, %xp ], [ 154416, %xn ]\0A\00" +@.str1641 = private unnamed_addr constant [31 x i8] c" %n64 = sext i32 %num to i64\0A\00" +@.str1642 = private unnamed_addr constant [27 x i8] c" %nsh = shl i64 %n64, 16\0A\00" +@.str1643 = private unnamed_addr constant [31 x i8] c" %d64 = sext i32 %den to i64\0A\00" +@.str1644 = private unnamed_addr constant [30 x i8] c" %rdv = sdiv i64 %nsh, %d64\0A\00" +@.str1645 = private unnamed_addr constant [30 x i8] c" %r = trunc i64 %rdv to i32\0A\00" +@.str1646 = private unnamed_addr constant [30 x i8] c" %r64a = sext i32 %r to i64\0A\00" +@.str1647 = private unnamed_addr constant [30 x i8] c" %r64b = sext i32 %r to i64\0A\00" +@.str1648 = private unnamed_addr constant [30 x i8] c" %rr = mul i64 %r64a, %r64b\0A\00" +@.str1649 = private unnamed_addr constant [27 x i8] c" %rrs = ashr i64 %rr, 16\0A\00" +@.str1650 = private unnamed_addr constant [31 x i8] c" %r2 = trunc i64 %rrs to i32\0A\00" +@.str1651 = private unnamed_addr constant [30 x i8] c" %r2e = sext i32 %r2 to i64\0A\00" +@.str1652 = private unnamed_addr constant [28 x i8] c" %re = sext i32 %r to i64\0A\00" +@.str1653 = private unnamed_addr constant [28 x i8] c" %r3m = mul i64 %r2e, %re\0A\00" +@.str1654 = private unnamed_addr constant [28 x i8] c" %r3s = ashr i64 %r3m, 16\0A\00" +@.str1655 = private unnamed_addr constant [31 x i8] c" %r3 = trunc i64 %r3s to i32\0A\00" +@.str1656 = private unnamed_addr constant [30 x i8] c" %r3e = sext i32 %r3 to i64\0A\00" +@.str1657 = private unnamed_addr constant [29 x i8] c" %c1 = mul i64 %r3e, 12865\0A\00" +@.str1658 = private unnamed_addr constant [27 x i8] c" %c1s = ashr i64 %c1, 16\0A\00" +@.str1659 = private unnamed_addr constant [31 x i8] c" %t1 = trunc i64 %c1s to i32\0A\00" +@.str1660 = private unnamed_addr constant [29 x i8] c" %re2 = sext i32 %r to i64\0A\00" +@.str1661 = private unnamed_addr constant [29 x i8] c" %c2 = mul i64 %re2, 64337\0A\00" +@.str1662 = private unnamed_addr constant [27 x i8] c" %c2s = ashr i64 %c2, 16\0A\00" +@.str1663 = private unnamed_addr constant [31 x i8] c" %t2 = trunc i64 %c2s to i32\0A\00" +@.str1664 = private unnamed_addr constant [28 x i8] c" %poly = sub i32 %t1, %t2\0A\00" +@.str1665 = private unnamed_addr constant [33 x i8] c" %angle = add i32 %poly, %base\0A\00" +@.str1666 = private unnamed_addr constant [31 x i8] c" %angneg = sub i32 0, %angle\0A\00" +@.str1667 = private unnamed_addr constant [51 x i8] c" %res = select i1 %yneg, i32 %angneg, i32 %angle\0A\00" +@.str1668 = private unnamed_addr constant [16 x i8] c" ret i32 %res\0A\00" +@.str1669 = private unnamed_addr constant [3 x i8] c"}\0A\00" +@.str1670 = private unnamed_addr constant [34 x i8] c"define i32 @lp_fx_exp2(i32 %x) {\0A\00" +@.str1671 = 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" +@.str1672 = 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" +@.str1673 = 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" +@.str1674 = 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" +@.str1675 = 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" +@.str1676 = 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" +@.str1677 = private unnamed_addr constant [29 x i8] c" %p = trunc i64 %p1 to i32\0A\00" +@.str1678 = private unnamed_addr constant [30 x i8] c" %ipos = icmp sge i32 %i, 0\0A\00" +@.str1679 = 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" +@.str1680 = private unnamed_addr constant [26 x i8] c" %shl = shl i32 %p, %sa\0A\00" +@.str1681 = 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" +@.str1682 = private unnamed_addr constant [27 x i8] c" %shr = ashr i32 %p, %ra\0A\00" +@.str1683 = private unnamed_addr constant [63 x i8] c" %res = select i1 %ipos, i32 %shl, i32 %shr\0A ret i32 %res\0A}\0A\00" +@.str1684 = private unnamed_addr constant [37 x i8] c"declare i32 @llvm.ctlz.i32(i32, i1)\0A\00" +@.str1685 = private unnamed_addr constant [34 x i8] c"define i32 @lp_fx_log2(i32 %x) {\0A\00" +@.str1686 = 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" +@.str1687 = private unnamed_addr constant [28 x i8] c"neg:\0A ret i32 -2147483648\0A\00" +@.str1688 = 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" +@.str1689 = private unnamed_addr constant [49 x i8] c" %e = sub i32 %pmsb, 16\0A %ef = shl i32 %e, 16\0A\00" +@.str1690 = 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" +@.str1691 = 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" +@.str1692 = private unnamed_addr constant [55 x i8] c" %num = sub i32 %m, 65536\0A %den = add i32 %m, 65536\0A\00" +@.str1693 = 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" +@.str1694 = 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" +@.str1695 = 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" +@.str1696 = 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" +@.str1697 = 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" +@.str1698 = 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" +@.str1699 = 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" +@.str1700 = private unnamed_addr constant [45 x i8] c" %res = add i32 %ef, %l2m\0A ret i32 %res\0A}\0A\00" +@.str1701 = private unnamed_addr constant [10 x i8] c"sext i32 \00" +@.str1702 = private unnamed_addr constant [8 x i8] c" to i64\00" +@.str1703 = private unnamed_addr constant [9 x i8] c"shl i64 \00" +@.str1704 = private unnamed_addr constant [5 x i8] c", 32\00" +@.str1705 = private unnamed_addr constant [10 x i8] c"zext i32 \00" +@.str1706 = private unnamed_addr constant [8 x i8] c" to i64\00" +@.str1707 = private unnamed_addr constant [8 x i8] c"or i64 \00" +@.str1708 = private unnamed_addr constant [3 x i8] c", \00" +@.str1709 = private unnamed_addr constant [10 x i8] c"lshr i64 \00" +@.str1710 = private unnamed_addr constant [5 x i8] c", 32\00" +@.str1711 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" +@.str1712 = private unnamed_addr constant [8 x i8] c" to i32\00" +@.str1713 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" +@.str1714 = private unnamed_addr constant [8 x i8] c" to i32\00" +@.str1715 = private unnamed_addr constant [5 x i8] c"make\00" +@.str1716 = private unnamed_addr constant [5 x i8] c"zero\00" +@.str1717 = private unnamed_addr constant [2 x i8] c"x\00" +@.str1718 = private unnamed_addr constant [2 x i8] c"y\00" +@.str1719 = private unnamed_addr constant [4 x i8] c"add\00" +@.str1720 = private unnamed_addr constant [4 x i8] c"sub\00" +@.str1721 = private unnamed_addr constant [6 x i8] c"scale\00" +@.str1722 = private unnamed_addr constant [4 x i8] c"dot\00" +@.str1723 = private unnamed_addr constant [7 x i8] c"length\00" +@.str1724 = private unnamed_addr constant [9 x i8] c"distance\00" +@.str1725 = private unnamed_addr constant [10 x i8] c"normalize\00" +@.str1726 = private unnamed_addr constant [5 x i8] c"lerp\00" +@.str1727 = private unnamed_addr constant [7 x i8] c"rotate\00" +@.str1728 = private unnamed_addr constant [6 x i8] c"angle\00" +@.str1729 = private unnamed_addr constant [11 x i8] c"from_angle\00" +@.str1730 = private unnamed_addr constant [5 x i8] c"zero\00" +@.str1731 = private unnamed_addr constant [2 x i8] c"0\00" +@.str1732 = private unnamed_addr constant [7 x i8] c"Vector\00" +@.str1733 = private unnamed_addr constant [5 x i8] c"make\00" +@.str1734 = private unnamed_addr constant [7 x i8] c"Vector\00" +@.str1735 = private unnamed_addr constant [2 x i8] c"x\00" +@.str1736 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str1737 = private unnamed_addr constant [2 x i8] c"y\00" +@.str1738 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str1739 = private unnamed_addr constant [4 x i8] c"add\00" +@.str1740 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str1741 = private unnamed_addr constant [3 x i8] c", \00" +@.str1742 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str1743 = private unnamed_addr constant [3 x i8] c", \00" +@.str1744 = private unnamed_addr constant [7 x i8] c"Vector\00" +@.str1745 = private unnamed_addr constant [4 x i8] c"sub\00" +@.str1746 = private unnamed_addr constant [9 x i8] c"sub i32 \00" +@.str1747 = private unnamed_addr constant [3 x i8] c", \00" +@.str1748 = private unnamed_addr constant [9 x i8] c"sub i32 \00" +@.str1749 = private unnamed_addr constant [3 x i8] c", \00" +@.str1750 = private unnamed_addr constant [7 x i8] c"Vector\00" +@.str1751 = private unnamed_addr constant [6 x i8] c"scale\00" +@.str1752 = private unnamed_addr constant [7 x i8] c"Vector\00" +@.str1753 = private unnamed_addr constant [4 x i8] c"dot\00" +@.str1754 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str1755 = private unnamed_addr constant [3 x i8] c", \00" +@.str1756 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str1757 = private unnamed_addr constant [7 x i8] c"length\00" +@.str1758 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str1759 = private unnamed_addr constant [3 x i8] c", \00" +@.str1760 = private unnamed_addr constant [26 x i8] c"call i32 @lp_fx_sqrt(i32 \00" +@.str1761 = private unnamed_addr constant [2 x i8] c")\00" +@.str1762 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str1763 = private unnamed_addr constant [9 x i8] c"distance\00" +@.str1764 = private unnamed_addr constant [9 x i8] c"sub i32 \00" +@.str1765 = private unnamed_addr constant [3 x i8] c", \00" +@.str1766 = private unnamed_addr constant [9 x i8] c"sub i32 \00" +@.str1767 = private unnamed_addr constant [3 x i8] c", \00" +@.str1768 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str1769 = private unnamed_addr constant [3 x i8] c", \00" +@.str1770 = private unnamed_addr constant [26 x i8] c"call i32 @lp_fx_sqrt(i32 \00" +@.str1771 = private unnamed_addr constant [2 x i8] c")\00" +@.str1772 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str1773 = private unnamed_addr constant [10 x i8] c"normalize\00" +@.str1774 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str1775 = private unnamed_addr constant [3 x i8] c", \00" +@.str1776 = private unnamed_addr constant [26 x i8] c"call i32 @lp_fx_sqrt(i32 \00" +@.str1777 = private unnamed_addr constant [2 x i8] c")\00" +@.str1778 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" +@.str1779 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str1780 = private unnamed_addr constant [11 x i8] c"select i1 \00" +@.str1781 = private unnamed_addr constant [18 x i8] c", i32 65536, i32 \00" +@.str1782 = private unnamed_addr constant [6 x i8] c"65536\00" +@.str1783 = private unnamed_addr constant [7 x i8] c"Vector\00" +@.str1784 = private unnamed_addr constant [7 x i8] c"rotate\00" +@.str1785 = private unnamed_addr constant [25 x i8] c"call i32 @lp_fx_sin(i32 \00" +@.str1786 = private unnamed_addr constant [2 x i8] c")\00" +@.str1787 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str1788 = private unnamed_addr constant [9 x i8] c", 102944\00" +@.str1789 = private unnamed_addr constant [25 x i8] c"call i32 @lp_fx_sin(i32 \00" +@.str1790 = private unnamed_addr constant [2 x i8] c")\00" +@.str1791 = private unnamed_addr constant [9 x i8] c"sub i32 \00" +@.str1792 = private unnamed_addr constant [3 x i8] c", \00" +@.str1793 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str1794 = private unnamed_addr constant [3 x i8] c", \00" +@.str1795 = private unnamed_addr constant [7 x i8] c"Vector\00" +@.str1796 = private unnamed_addr constant [6 x i8] c"angle\00" +@.str1797 = private unnamed_addr constant [27 x i8] c"call i32 @lp_fx_atan2(i32 \00" +@.str1798 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str1799 = private unnamed_addr constant [2 x i8] c")\00" +@.str1800 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str1801 = private unnamed_addr constant [11 x i8] c"from_angle\00" +@.str1802 = private unnamed_addr constant [25 x i8] c"call i32 @lp_fx_sin(i32 \00" +@.str1803 = private unnamed_addr constant [2 x i8] c")\00" +@.str1804 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str1805 = private unnamed_addr constant [9 x i8] c", 102944\00" +@.str1806 = private unnamed_addr constant [25 x i8] c"call i32 @lp_fx_sin(i32 \00" +@.str1807 = private unnamed_addr constant [2 x i8] c")\00" +@.str1808 = private unnamed_addr constant [7 x i8] c"Vector\00" +@.str1809 = private unnamed_addr constant [7 x i8] c"Vector\00" +@.str1810 = private unnamed_addr constant [12 x i8] c"sub i32 0, \00" +@.str1811 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" +@.str1812 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str1813 = private unnamed_addr constant [11 x i8] c"select i1 \00" +@.str1814 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str1815 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str1816 = private unnamed_addr constant [5 x i8] c"make\00" +@.str1817 = private unnamed_addr constant [5 x i8] c"zero\00" +@.str1818 = private unnamed_addr constant [2 x i8] c"x\00" +@.str1819 = private unnamed_addr constant [2 x i8] c"y\00" +@.str1820 = private unnamed_addr constant [4 x i8] c"add\00" +@.str1821 = private unnamed_addr constant [4 x i8] c"sub\00" +@.str1822 = private unnamed_addr constant [6 x i8] c"scale\00" +@.str1823 = private unnamed_addr constant [4 x i8] c"dot\00" +@.str1824 = private unnamed_addr constant [6 x i8] c"equal\00" +@.str1825 = private unnamed_addr constant [10 x i8] c"manhattan\00" +@.str1826 = private unnamed_addr constant [10 x i8] c"to_vector\00" +@.str1827 = private unnamed_addr constant [10 x i8] c"distance2\00" +@.str1828 = private unnamed_addr constant [7 x i8] c"within\00" +@.str1829 = private unnamed_addr constant [8 x i8] c"heading\00" +@.str1830 = private unnamed_addr constant [6 x i8] c"along\00" +@.str1831 = private unnamed_addr constant [5 x i8] c"step\00" +@.str1832 = private unnamed_addr constant [5 x i8] c"zero\00" +@.str1833 = private unnamed_addr constant [2 x i8] c"0\00" +@.str1834 = private unnamed_addr constant [6 x i8] c"IVec2\00" +@.str1835 = private unnamed_addr constant [5 x i8] c"make\00" +@.str1836 = private unnamed_addr constant [6 x i8] c"IVec2\00" +@.str1837 = private unnamed_addr constant [2 x i8] c"x\00" +@.str1838 = private unnamed_addr constant [4 x i8] c"int\00" +@.str1839 = private unnamed_addr constant [2 x i8] c"y\00" +@.str1840 = private unnamed_addr constant [4 x i8] c"int\00" +@.str1841 = private unnamed_addr constant [10 x i8] c"distance2\00" +@.str1842 = private unnamed_addr constant [7 x i8] c"within\00" +@.str1843 = private unnamed_addr constant [9 x i8] c"sub i32 \00" +@.str1844 = private unnamed_addr constant [3 x i8] c", \00" +@.str1845 = private unnamed_addr constant [9 x i8] c"sub i32 \00" +@.str1846 = private unnamed_addr constant [3 x i8] c", \00" +@.str1847 = private unnamed_addr constant [9 x i8] c"mul i32 \00" +@.str1848 = private unnamed_addr constant [3 x i8] c", \00" +@.str1849 = private unnamed_addr constant [9 x i8] c"mul i32 \00" +@.str1850 = private unnamed_addr constant [3 x i8] c", \00" +@.str1851 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str1852 = private unnamed_addr constant [3 x i8] c", \00" +@.str1853 = private unnamed_addr constant [10 x i8] c"distance2\00" +@.str1854 = private unnamed_addr constant [4 x i8] c"int\00" +@.str1855 = private unnamed_addr constant [9 x i8] c"mul i32 \00" +@.str1856 = private unnamed_addr constant [3 x i8] c", \00" +@.str1857 = private unnamed_addr constant [14 x i8] c"icmp sle i32 \00" +@.str1858 = private unnamed_addr constant [3 x i8] c", \00" +@.str1859 = private unnamed_addr constant [9 x i8] c"zext i1 \00" +@.str1860 = private unnamed_addr constant [8 x i8] c" to i32\00" +@.str1861 = private unnamed_addr constant [5 x i8] c"bool\00" +@.str1862 = private unnamed_addr constant [8 x i8] c"heading\00" +@.str1863 = private unnamed_addr constant [16 x i8] c"rt_ivec_heading\00" +@.str1864 = private unnamed_addr constant [39 x i8] c"IVec2.heading needs the engine runtime\00" +@.str1865 = private unnamed_addr constant [34 x i8] c"call i32 @fn_rt_ivec_heading(i64 \00" +@.str1866 = private unnamed_addr constant [7 x i8] c", i64 \00" +@.str1867 = private unnamed_addr constant [2 x i8] c")\00" +@.str1868 = private unnamed_addr constant [4 x i8] c"int\00" +@.str1869 = private unnamed_addr constant [6 x i8] c"along\00" +@.str1870 = private unnamed_addr constant [14 x i8] c"rt_ivec_along\00" +@.str1871 = private unnamed_addr constant [37 x i8] c"IVec2.along needs the engine runtime\00" +@.str1872 = private unnamed_addr constant [32 x i8] c"call i64 @fn_rt_ivec_along(i64 \00" +@.str1873 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str1874 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str1875 = private unnamed_addr constant [2 x i8] c")\00" +@.str1876 = private unnamed_addr constant [6 x i8] c"IVec2\00" +@.str1877 = private unnamed_addr constant [5 x i8] c"step\00" +@.str1878 = private unnamed_addr constant [13 x i8] c"rt_ivec_step\00" +@.str1879 = private unnamed_addr constant [36 x i8] c"IVec2.step needs the engine runtime\00" +@.str1880 = private unnamed_addr constant [31 x i8] c"call i64 @fn_rt_ivec_step(i32 \00" +@.str1881 = private unnamed_addr constant [2 x i8] c")\00" +@.str1882 = private unnamed_addr constant [6 x i8] c"IVec2\00" +@.str1883 = private unnamed_addr constant [4 x i8] c"add\00" +@.str1884 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str1885 = private unnamed_addr constant [3 x i8] c", \00" +@.str1886 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str1887 = private unnamed_addr constant [3 x i8] c", \00" +@.str1888 = private unnamed_addr constant [6 x i8] c"IVec2\00" +@.str1889 = private unnamed_addr constant [4 x i8] c"sub\00" +@.str1890 = private unnamed_addr constant [9 x i8] c"sub i32 \00" +@.str1891 = private unnamed_addr constant [3 x i8] c", \00" +@.str1892 = private unnamed_addr constant [9 x i8] c"sub i32 \00" +@.str1893 = private unnamed_addr constant [3 x i8] c", \00" +@.str1894 = private unnamed_addr constant [6 x i8] c"IVec2\00" +@.str1895 = private unnamed_addr constant [6 x i8] c"scale\00" +@.str1896 = private unnamed_addr constant [9 x i8] c"mul i32 \00" +@.str1897 = private unnamed_addr constant [3 x i8] c", \00" +@.str1898 = private unnamed_addr constant [9 x i8] c"mul i32 \00" +@.str1899 = private unnamed_addr constant [3 x i8] c", \00" +@.str1900 = private unnamed_addr constant [6 x i8] c"IVec2\00" +@.str1901 = private unnamed_addr constant [4 x i8] c"dot\00" +@.str1902 = private unnamed_addr constant [9 x i8] c"mul i32 \00" +@.str1903 = private unnamed_addr constant [3 x i8] c", \00" +@.str1904 = private unnamed_addr constant [9 x i8] c"mul i32 \00" +@.str1905 = private unnamed_addr constant [3 x i8] c", \00" +@.str1906 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str1907 = private unnamed_addr constant [3 x i8] c", \00" +@.str1908 = private unnamed_addr constant [4 x i8] c"int\00" +@.str1909 = private unnamed_addr constant [6 x i8] c"equal\00" +@.str1910 = private unnamed_addr constant [13 x i8] c"icmp eq i64 \00" +@.str1911 = private unnamed_addr constant [3 x i8] c", \00" +@.str1912 = private unnamed_addr constant [9 x i8] c"zext i1 \00" +@.str1913 = private unnamed_addr constant [8 x i8] c" to i32\00" +@.str1914 = private unnamed_addr constant [5 x i8] c"bool\00" +@.str1915 = private unnamed_addr constant [10 x i8] c"manhattan\00" +@.str1916 = private unnamed_addr constant [9 x i8] c"sub i32 \00" +@.str1917 = private unnamed_addr constant [3 x i8] c", \00" +@.str1918 = private unnamed_addr constant [9 x i8] c"sub i32 \00" +@.str1919 = private unnamed_addr constant [3 x i8] c", \00" +@.str1920 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str1921 = private unnamed_addr constant [3 x i8] c", \00" +@.str1922 = private unnamed_addr constant [4 x i8] c"int\00" +@.str1923 = private unnamed_addr constant [9 x i8] c"shl i32 \00" +@.str1924 = private unnamed_addr constant [5 x i8] c", 16\00" +@.str1925 = private unnamed_addr constant [9 x i8] c"shl i32 \00" +@.str1926 = private unnamed_addr constant [5 x i8] c", 16\00" +@.str1927 = private unnamed_addr constant [7 x i8] c"Vector\00" +@.str1928 = private unnamed_addr constant [10 x i8] c"zext i32 \00" +@.str1929 = private unnamed_addr constant [9 x i8] c" to i128\00" +@.str1930 = private unnamed_addr constant [10 x i8] c"shl i128 \00" +@.str1931 = private unnamed_addr constant [5 x i8] c", 96\00" +@.str1932 = private unnamed_addr constant [10 x i8] c"zext i32 \00" +@.str1933 = private unnamed_addr constant [9 x i8] c" to i128\00" +@.str1934 = private unnamed_addr constant [10 x i8] c"shl i128 \00" +@.str1935 = private unnamed_addr constant [5 x i8] c", 64\00" +@.str1936 = private unnamed_addr constant [10 x i8] c"zext i32 \00" +@.str1937 = private unnamed_addr constant [9 x i8] c" to i128\00" +@.str1938 = private unnamed_addr constant [10 x i8] c"shl i128 \00" +@.str1939 = private unnamed_addr constant [5 x i8] c", 32\00" +@.str1940 = private unnamed_addr constant [10 x i8] c"zext i32 \00" +@.str1941 = private unnamed_addr constant [9 x i8] c" to i128\00" +@.str1942 = private unnamed_addr constant [9 x i8] c"or i128 \00" +@.str1943 = private unnamed_addr constant [3 x i8] c", \00" +@.str1944 = private unnamed_addr constant [9 x i8] c"or i128 \00" +@.str1945 = private unnamed_addr constant [3 x i8] c", \00" +@.str1946 = private unnamed_addr constant [9 x i8] c"or i128 \00" +@.str1947 = private unnamed_addr constant [3 x i8] c", \00" +@.str1948 = private unnamed_addr constant [12 x i8] c"trunc i128 \00" +@.str1949 = private unnamed_addr constant [8 x i8] c" to i32\00" +@.str1950 = private unnamed_addr constant [11 x i8] c"lshr i128 \00" +@.str1951 = private unnamed_addr constant [3 x i8] c", \00" +@.str1952 = private unnamed_addr constant [12 x i8] c"trunc i128 \00" +@.str1953 = private unnamed_addr constant [8 x i8] c" to i32\00" +@.str1954 = private unnamed_addr constant [6 x i8] c"icmp \00" +@.str1955 = private unnamed_addr constant [6 x i8] c" i32 \00" +@.str1956 = private unnamed_addr constant [3 x i8] c", \00" +@.str1957 = private unnamed_addr constant [9 x i8] c"zext i1 \00" +@.str1958 = private unnamed_addr constant [8 x i8] c" to i32\00" +@.str1959 = private unnamed_addr constant [5 x i8] c"make\00" +@.str1960 = private unnamed_addr constant [2 x i8] c"x\00" +@.str1961 = private unnamed_addr constant [2 x i8] c"y\00" +@.str1962 = private unnamed_addr constant [2 x i8] c"w\00" +@.str1963 = private unnamed_addr constant [2 x i8] c"h\00" +@.str1964 = private unnamed_addr constant [6 x i8] c"right\00" +@.str1965 = private unnamed_addr constant [7 x i8] c"bottom\00" +@.str1966 = private unnamed_addr constant [7 x i8] c"center\00" +@.str1967 = private unnamed_addr constant [9 x i8] c"contains\00" +@.str1968 = private unnamed_addr constant [11 x i8] c"intersects\00" +@.str1969 = private unnamed_addr constant [5 x i8] c"make\00" +@.str1970 = private unnamed_addr constant [5 x i8] c"Rect\00" +@.str1971 = private unnamed_addr constant [2 x i8] c"x\00" +@.str1972 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str1973 = private unnamed_addr constant [2 x i8] c"y\00" +@.str1974 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str1975 = private unnamed_addr constant [2 x i8] c"w\00" +@.str1976 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str1977 = private unnamed_addr constant [2 x i8] c"h\00" +@.str1978 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str1979 = private unnamed_addr constant [6 x i8] c"right\00" +@.str1980 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str1981 = private unnamed_addr constant [3 x i8] c", \00" +@.str1982 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str1983 = private unnamed_addr constant [7 x i8] c"bottom\00" +@.str1984 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str1985 = private unnamed_addr constant [3 x i8] c", \00" +@.str1986 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str1987 = private unnamed_addr constant [7 x i8] c"center\00" +@.str1988 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" +@.str1989 = private unnamed_addr constant [4 x i8] c", 1\00" +@.str1990 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" +@.str1991 = private unnamed_addr constant [4 x i8] c", 1\00" +@.str1992 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str1993 = private unnamed_addr constant [3 x i8] c", \00" +@.str1994 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str1995 = private unnamed_addr constant [3 x i8] c", \00" +@.str1996 = private unnamed_addr constant [7 x i8] c"Vector\00" +@.str1997 = private unnamed_addr constant [9 x i8] c"contains\00" +@.str1998 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str1999 = private unnamed_addr constant [3 x i8] c", \00" +@.str2000 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str2001 = private unnamed_addr constant [3 x i8] c", \00" +@.str2002 = private unnamed_addr constant [4 x i8] c"sge\00" +@.str2003 = private unnamed_addr constant [4 x i8] c"slt\00" +@.str2004 = private unnamed_addr constant [4 x i8] c"sge\00" +@.str2005 = private unnamed_addr constant [4 x i8] c"slt\00" +@.str2006 = private unnamed_addr constant [9 x i8] c"and i32 \00" +@.str2007 = private unnamed_addr constant [3 x i8] c", \00" +@.str2008 = private unnamed_addr constant [9 x i8] c"and i32 \00" +@.str2009 = private unnamed_addr constant [3 x i8] c", \00" +@.str2010 = private unnamed_addr constant [9 x i8] c"and i32 \00" +@.str2011 = private unnamed_addr constant [3 x i8] c", \00" +@.str2012 = private unnamed_addr constant [5 x i8] c"bool\00" +@.str2013 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str2014 = private unnamed_addr constant [3 x i8] c", \00" +@.str2015 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str2016 = private unnamed_addr constant [3 x i8] c", \00" +@.str2017 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str2018 = private unnamed_addr constant [3 x i8] c", \00" +@.str2019 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str2020 = private unnamed_addr constant [3 x i8] c", \00" +@.str2021 = private unnamed_addr constant [4 x i8] c"slt\00" +@.str2022 = private unnamed_addr constant [4 x i8] c"slt\00" +@.str2023 = private unnamed_addr constant [4 x i8] c"slt\00" +@.str2024 = private unnamed_addr constant [4 x i8] c"slt\00" +@.str2025 = private unnamed_addr constant [9 x i8] c"and i32 \00" +@.str2026 = private unnamed_addr constant [3 x i8] c", \00" +@.str2027 = private unnamed_addr constant [9 x i8] c"and i32 \00" +@.str2028 = private unnamed_addr constant [3 x i8] c", \00" +@.str2029 = private unnamed_addr constant [9 x i8] c"and i32 \00" +@.str2030 = private unnamed_addr constant [3 x i8] c", \00" +@.str2031 = private unnamed_addr constant [5 x i8] c"bool\00" +@.str2032 = private unnamed_addr constant [7 x i8] c"length\00" +@.str2033 = private unnamed_addr constant [8 x i8] c"char_at\00" +@.str2034 = private unnamed_addr constant [6 x i8] c"slice\00" +@.str2035 = private unnamed_addr constant [7 x i8] c"equals\00" +@.str2036 = private unnamed_addr constant [7 x i8] c"concat\00" +@.str2037 = private unnamed_addr constant [7 x i8] c"to_int\00" +@.str2038 = private unnamed_addr constant [9 x i8] c"from_int\00" +@.str2039 = private unnamed_addr constant [12 x i8] c"starts_with\00" +@.str2040 = private unnamed_addr constant [10 x i8] c"ends_with\00" +@.str2041 = private unnamed_addr constant [9 x i8] c"contains\00" +@.str2042 = private unnamed_addr constant [9 x i8] c"index_of\00" +@.str2043 = private unnamed_addr constant [6 x i8] c"upper\00" +@.str2044 = private unnamed_addr constant [6 x i8] c"lower\00" +@.str2045 = private unnamed_addr constant [5 x i8] c"trim\00" +@.str2046 = private unnamed_addr constant [7 x i8] c"repeat\00" +@.str2047 = private unnamed_addr constant [9 x i8] c"pad_left\00" +@.str2048 = private unnamed_addr constant [10 x i8] c"pad_right\00" +@.str2049 = private unnamed_addr constant [6 x i8] c"split\00" +@.str2050 = private unnamed_addr constant [5 x i8] c"join\00" +@.str2051 = private unnamed_addr constant [8 x i8] c"replace\00" +@.str2052 = private unnamed_addr constant [9 x i8] c"from_int\00" +@.str2053 = private unnamed_addr constant [26 x i8] c"call ptr @lp_int_str(i32 \00" +@.str2054 = private unnamed_addr constant [2 x i8] c")\00" +@.str2055 = private unnamed_addr constant [7 x i8] c"string\00" +@.str2056 = private unnamed_addr constant [6 x i8] c"slice\00" +@.str2057 = private unnamed_addr constant [28 x i8] c"call ptr @lp_str_slice(ptr \00" +@.str2058 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str2059 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str2060 = private unnamed_addr constant [2 x i8] c")\00" +@.str2061 = private unnamed_addr constant [7 x i8] c"string\00" +@.str2062 = private unnamed_addr constant [7 x i8] c"equals\00" +@.str2063 = private unnamed_addr constant [25 x i8] c"call i32 @lp_str_eq(ptr \00" +@.str2064 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str2065 = private unnamed_addr constant [2 x i8] c")\00" +@.str2066 = private unnamed_addr constant [5 x i8] c"bool\00" +@.str2067 = private unnamed_addr constant [7 x i8] c"concat\00" +@.str2068 = private unnamed_addr constant [29 x i8] c"call ptr @lp_str_concat(ptr \00" +@.str2069 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str2070 = private unnamed_addr constant [2 x i8] c")\00" +@.str2071 = private unnamed_addr constant [7 x i8] c"string\00" +@.str2072 = private unnamed_addr constant [7 x i8] c"length\00" +@.str2073 = private unnamed_addr constant [22 x i8] c"call i64 @strlen(ptr \00" +@.str2074 = private unnamed_addr constant [2 x i8] c")\00" +@.str2075 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" +@.str2076 = private unnamed_addr constant [8 x i8] c" to i32\00" +@.str2077 = private unnamed_addr constant [4 x i8] c"int\00" +@.str2078 = private unnamed_addr constant [8 x i8] c"char_at\00" +@.str2079 = private unnamed_addr constant [32 x i8] c"getelementptr inbounds i8, ptr \00" +@.str2080 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str2081 = private unnamed_addr constant [14 x i8] c"load i8, ptr \00" +@.str2082 = private unnamed_addr constant [9 x i8] c"zext i8 \00" +@.str2083 = private unnamed_addr constant [8 x i8] c" to i32\00" +@.str2084 = private unnamed_addr constant [4 x i8] c"int\00" +@.str2085 = private unnamed_addr constant [7 x i8] c"to_int\00" +@.str2086 = private unnamed_addr constant [20 x i8] c"call i32 @atoi(ptr \00" +@.str2087 = private unnamed_addr constant [2 x i8] c")\00" +@.str2088 = private unnamed_addr constant [4 x i8] c"int\00" +@.str2089 = private unnamed_addr constant [6 x i8] c"upper\00" +@.str2090 = private unnamed_addr constant [28 x i8] c"call ptr @lp_str_upper(ptr \00" +@.str2091 = private unnamed_addr constant [2 x i8] c")\00" +@.str2092 = private unnamed_addr constant [7 x i8] c"string\00" +@.str2093 = private unnamed_addr constant [6 x i8] c"lower\00" +@.str2094 = private unnamed_addr constant [28 x i8] c"call ptr @lp_str_lower(ptr \00" +@.str2095 = private unnamed_addr constant [2 x i8] c")\00" +@.str2096 = private unnamed_addr constant [7 x i8] c"string\00" +@.str2097 = private unnamed_addr constant [5 x i8] c"trim\00" +@.str2098 = private unnamed_addr constant [27 x i8] c"call ptr @lp_str_trim(ptr \00" +@.str2099 = private unnamed_addr constant [2 x i8] c")\00" +@.str2100 = private unnamed_addr constant [7 x i8] c"string\00" +@.str2101 = private unnamed_addr constant [7 x i8] c"repeat\00" +@.str2102 = private unnamed_addr constant [29 x i8] c"call ptr @lp_str_repeat(ptr \00" +@.str2103 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str2104 = private unnamed_addr constant [2 x i8] c")\00" +@.str2105 = private unnamed_addr constant [7 x i8] c"string\00" +@.str2106 = private unnamed_addr constant [9 x i8] c"pad_left\00" +@.str2107 = private unnamed_addr constant [26 x i8] c"call ptr @lp_str_pad(ptr \00" +@.str2108 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str2109 = private unnamed_addr constant [8 x i8] c", i1 1)\00" +@.str2110 = private unnamed_addr constant [7 x i8] c"string\00" +@.str2111 = private unnamed_addr constant [10 x i8] c"pad_right\00" +@.str2112 = private unnamed_addr constant [26 x i8] c"call ptr @lp_str_pad(ptr \00" +@.str2113 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str2114 = private unnamed_addr constant [8 x i8] c", i1 0)\00" +@.str2115 = private unnamed_addr constant [7 x i8] c"string\00" +@.str2116 = private unnamed_addr constant [8 x i8] c"replace\00" +@.str2117 = private unnamed_addr constant [30 x i8] c"call ptr @lp_str_replace(ptr \00" +@.str2118 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str2119 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str2120 = private unnamed_addr constant [2 x i8] c")\00" +@.str2121 = private unnamed_addr constant [7 x i8] c"string\00" +@.str2122 = private unnamed_addr constant [6 x i8] c"split\00" +@.str2123 = private unnamed_addr constant [28 x i8] c"call ptr @lp_str_split(ptr \00" +@.str2124 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str2125 = private unnamed_addr constant [2 x i8] c")\00" +@.str2126 = private unnamed_addr constant [9 x i8] c"[]string\00" +@.str2127 = private unnamed_addr constant [5 x i8] c"join\00" +@.str2128 = private unnamed_addr constant [27 x i8] c"call ptr @lp_str_join(ptr \00" +@.str2129 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str2130 = private unnamed_addr constant [2 x i8] c")\00" +@.str2131 = private unnamed_addr constant [7 x i8] c"string\00" +@.str2132 = private unnamed_addr constant [9 x i8] c"contains\00" +@.str2133 = private unnamed_addr constant [9 x i8] c"index_of\00" +@.str2134 = private unnamed_addr constant [22 x i8] c"call ptr @strstr(ptr \00" +@.str2135 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str2136 = private unnamed_addr constant [2 x i8] c")\00" +@.str2137 = private unnamed_addr constant [9 x i8] c"contains\00" +@.str2138 = private unnamed_addr constant [13 x i8] c"icmp ne ptr \00" +@.str2139 = private unnamed_addr constant [7 x i8] c", null\00" +@.str2140 = private unnamed_addr constant [9 x i8] c"zext i1 \00" +@.str2141 = private unnamed_addr constant [8 x i8] c" to i32\00" +@.str2142 = private unnamed_addr constant [5 x i8] c"bool\00" +@.str2143 = private unnamed_addr constant [13 x i8] c"icmp eq ptr \00" +@.str2144 = private unnamed_addr constant [7 x i8] c", null\00" +@.str2145 = private unnamed_addr constant [14 x i8] c"ptrtoint ptr \00" +@.str2146 = private unnamed_addr constant [8 x i8] c" to i64\00" +@.str2147 = private unnamed_addr constant [14 x i8] c"ptrtoint ptr \00" +@.str2148 = private unnamed_addr constant [8 x i8] c" to i64\00" +@.str2149 = private unnamed_addr constant [9 x i8] c"sub i64 \00" +@.str2150 = private unnamed_addr constant [3 x i8] c", \00" +@.str2151 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" +@.str2152 = private unnamed_addr constant [8 x i8] c" to i32\00" +@.str2153 = private unnamed_addr constant [11 x i8] c"select i1 \00" +@.str2154 = private unnamed_addr constant [15 x i8] c", i32 -1, i32 \00" +@.str2155 = private unnamed_addr constant [4 x i8] c"int\00" +@.str2156 = private unnamed_addr constant [22 x i8] c"call i64 @strlen(ptr \00" +@.str2157 = private unnamed_addr constant [2 x i8] c")\00" +@.str2158 = private unnamed_addr constant [12 x i8] c"starts_with\00" +@.str2159 = private unnamed_addr constant [23 x i8] c"call i32 @strncmp(ptr \00" +@.str2160 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str2161 = private unnamed_addr constant [7 x i8] c", i64 \00" +@.str2162 = private unnamed_addr constant [2 x i8] c")\00" +@.str2163 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" +@.str2164 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str2165 = private unnamed_addr constant [9 x i8] c"zext i1 \00" +@.str2166 = private unnamed_addr constant [8 x i8] c" to i32\00" +@.str2167 = private unnamed_addr constant [5 x i8] c"bool\00" +@.str2168 = private unnamed_addr constant [22 x i8] c"call i64 @strlen(ptr \00" +@.str2169 = private unnamed_addr constant [2 x i8] c")\00" +@.str2170 = private unnamed_addr constant [9 x i8] c"sub i64 \00" +@.str2171 = private unnamed_addr constant [3 x i8] c", \00" +@.str2172 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str2173 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str2174 = private unnamed_addr constant [2 x i8] c"0\00" +@.str2175 = private unnamed_addr constant [14 x i8] c"icmp slt i64 \00" +@.str2176 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str2177 = private unnamed_addr constant [7 x i8] c"ew_cmp\00" +@.str2178 = private unnamed_addr constant [7 x i8] c"ew_end\00" +@.str2179 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str2180 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str2181 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str2182 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str2183 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str2184 = private unnamed_addr constant [32 x i8] c"getelementptr inbounds i8, ptr \00" +@.str2185 = private unnamed_addr constant [7 x i8] c", i64 \00" +@.str2186 = private unnamed_addr constant [23 x i8] c"call i32 @strncmp(ptr \00" +@.str2187 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str2188 = private unnamed_addr constant [7 x i8] c", i64 \00" +@.str2189 = private unnamed_addr constant [2 x i8] c")\00" +@.str2190 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" +@.str2191 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str2192 = private unnamed_addr constant [9 x i8] c"zext i1 \00" +@.str2193 = private unnamed_addr constant [8 x i8] c" to i32\00" +@.str2194 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str2195 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str2196 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str2197 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str2198 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str2199 = private unnamed_addr constant [5 x i8] c"bool\00" +@.str2200 = private unnamed_addr constant [36 x i8] c"define ptr @lp_str_upper(ptr %s) {\0A\00" +@.str2201 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" +@.str2202 = private unnamed_addr constant [33 x i8] c" %n = call i64 @strlen(ptr %s)\0A\00" +@.str2203 = private unnamed_addr constant [23 x i8] c" %sz = add i64 %n, 1\0A\00" +@.str2204 = private unnamed_addr constant [36 x i8] c" %out = call ptr @malloc(i64 %sz)\0A\00" +@.str2205 = private unnamed_addr constant [20 x i8] c" %ip = alloca i64\0A\00" +@.str2206 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %ip\0A\00" +@.str2207 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" +@.str2208 = private unnamed_addr constant [7 x i8] c"cond:\0A\00" +@.str2209 = private unnamed_addr constant [26 x i8] c" %i = load i64, ptr %ip\0A\00" +@.str2210 = private unnamed_addr constant [28 x i8] c" %d = icmp ult i64 %i, %n\0A\00" +@.str2211 = private unnamed_addr constant [37 x i8] c" br i1 %d, label %body, label %fin\0A\00" +@.str2212 = private unnamed_addr constant [7 x i8] c"body:\0A\00" +@.str2213 = private unnamed_addr constant [42 x i8] c" %sp = getelementptr i8, ptr %s, i64 %i\0A\00" +@.str2214 = private unnamed_addr constant [25 x i8] c" %c = load i8, ptr %sp\0A\00" +@.str2215 = private unnamed_addr constant [28 x i8] c" %ge = icmp uge i8 %c, 97\0A\00" +@.str2216 = private unnamed_addr constant [29 x i8] c" %le = icmp ule i8 %c, 122\0A\00" +@.str2217 = private unnamed_addr constant [25 x i8] c" %in = and i1 %ge, %le\0A\00" +@.str2218 = private unnamed_addr constant [24 x i8] c" %cc = add i8 %c, -32\0A\00" +@.str2219 = private unnamed_addr constant [38 x i8] c" %oc = select i1 %in, i8 %cc, i8 %c\0A\00" +@.str2220 = private unnamed_addr constant [44 x i8] c" %op = getelementptr i8, ptr %out, i64 %i\0A\00" +@.str2221 = private unnamed_addr constant [25 x i8] c" store i8 %oc, ptr %op\0A\00" +@.str2222 = private unnamed_addr constant [23 x i8] c" %i1 = add i64 %i, 1\0A\00" +@.str2223 = private unnamed_addr constant [26 x i8] c" store i64 %i1, ptr %ip\0A\00" +@.str2224 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" +@.str2225 = private unnamed_addr constant [6 x i8] c"fin:\0A\00" +@.str2226 = private unnamed_addr constant [44 x i8] c" %tp = getelementptr i8, ptr %out, i64 %n\0A\00" +@.str2227 = private unnamed_addr constant [23 x i8] c" store i8 0, ptr %tp\0A\00" +@.str2228 = private unnamed_addr constant [16 x i8] c" ret ptr %out\0A\00" +@.str2229 = private unnamed_addr constant [3 x i8] c"}\0A\00" +@.str2230 = private unnamed_addr constant [36 x i8] c"define ptr @lp_str_lower(ptr %s) {\0A\00" +@.str2231 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" +@.str2232 = private unnamed_addr constant [33 x i8] c" %n = call i64 @strlen(ptr %s)\0A\00" +@.str2233 = private unnamed_addr constant [23 x i8] c" %sz = add i64 %n, 1\0A\00" +@.str2234 = private unnamed_addr constant [36 x i8] c" %out = call ptr @malloc(i64 %sz)\0A\00" +@.str2235 = private unnamed_addr constant [20 x i8] c" %ip = alloca i64\0A\00" +@.str2236 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %ip\0A\00" +@.str2237 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" +@.str2238 = private unnamed_addr constant [7 x i8] c"cond:\0A\00" +@.str2239 = private unnamed_addr constant [26 x i8] c" %i = load i64, ptr %ip\0A\00" +@.str2240 = private unnamed_addr constant [28 x i8] c" %d = icmp ult i64 %i, %n\0A\00" +@.str2241 = private unnamed_addr constant [37 x i8] c" br i1 %d, label %body, label %fin\0A\00" +@.str2242 = private unnamed_addr constant [7 x i8] c"body:\0A\00" +@.str2243 = private unnamed_addr constant [42 x i8] c" %sp = getelementptr i8, ptr %s, i64 %i\0A\00" +@.str2244 = private unnamed_addr constant [25 x i8] c" %c = load i8, ptr %sp\0A\00" +@.str2245 = private unnamed_addr constant [28 x i8] c" %ge = icmp uge i8 %c, 65\0A\00" +@.str2246 = private unnamed_addr constant [28 x i8] c" %le = icmp ule i8 %c, 90\0A\00" +@.str2247 = private unnamed_addr constant [25 x i8] c" %in = and i1 %ge, %le\0A\00" +@.str2248 = private unnamed_addr constant [23 x i8] c" %cc = add i8 %c, 32\0A\00" +@.str2249 = private unnamed_addr constant [38 x i8] c" %oc = select i1 %in, i8 %cc, i8 %c\0A\00" +@.str2250 = private unnamed_addr constant [44 x i8] c" %op = getelementptr i8, ptr %out, i64 %i\0A\00" +@.str2251 = private unnamed_addr constant [25 x i8] c" store i8 %oc, ptr %op\0A\00" +@.str2252 = private unnamed_addr constant [23 x i8] c" %i1 = add i64 %i, 1\0A\00" +@.str2253 = private unnamed_addr constant [26 x i8] c" store i64 %i1, ptr %ip\0A\00" +@.str2254 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" +@.str2255 = private unnamed_addr constant [6 x i8] c"fin:\0A\00" +@.str2256 = private unnamed_addr constant [44 x i8] c" %tp = getelementptr i8, ptr %out, i64 %n\0A\00" +@.str2257 = private unnamed_addr constant [23 x i8] c" store i8 0, ptr %tp\0A\00" +@.str2258 = private unnamed_addr constant [16 x i8] c" ret ptr %out\0A\00" +@.str2259 = private unnamed_addr constant [3 x i8] c"}\0A\00" +@.str2260 = private unnamed_addr constant [35 x i8] c"define ptr @lp_str_trim(ptr %s) {\0A\00" +@.str2261 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" +@.str2262 = private unnamed_addr constant [33 x i8] c" %n = call i64 @strlen(ptr %s)\0A\00" +@.str2263 = private unnamed_addr constant [20 x i8] c" %sp = alloca i64\0A\00" +@.str2264 = private unnamed_addr constant [20 x i8] c" %ep = alloca i64\0A\00" +@.str2265 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %sp\0A\00" +@.str2266 = private unnamed_addr constant [25 x i8] c" store i64 %n, ptr %ep\0A\00" +@.str2267 = private unnamed_addr constant [19 x i8] c" br label %lcond\0A\00" +@.str2268 = private unnamed_addr constant [8 x i8] c"lcond:\0A\00" +@.str2269 = private unnamed_addr constant [27 x i8] c" %a0 = load i64, ptr %sp\0A\00" +@.str2270 = private unnamed_addr constant [27 x i8] c" %e0 = load i64, ptr %ep\0A\00" +@.str2271 = private unnamed_addr constant [32 x i8] c" %lt0 = icmp ult i64 %a0, %e0\0A\00" +@.str2272 = private unnamed_addr constant [41 x i8] c" br i1 %lt0, label %lchk, label %rcond\0A\00" +@.str2273 = private unnamed_addr constant [7 x i8] c"lchk:\0A\00" +@.str2274 = private unnamed_addr constant [43 x i8] c" %p0 = getelementptr i8, ptr %s, i64 %a0\0A\00" +@.str2275 = private unnamed_addr constant [26 x i8] c" %c0 = load i8, ptr %p0\0A\00" +@.str2276 = private unnamed_addr constant [36 x i8] c" %ws0 = call i1 @lp_is_ws(i8 %c0)\0A\00" +@.str2277 = private unnamed_addr constant [41 x i8] c" br i1 %ws0, label %linc, label %rcond\0A\00" +@.str2278 = private unnamed_addr constant [7 x i8] c"linc:\0A\00" +@.str2279 = private unnamed_addr constant [24 x i8] c" %a1 = add i64 %a0, 1\0A\00" +@.str2280 = private unnamed_addr constant [26 x i8] c" store i64 %a1, ptr %sp\0A\00" +@.str2281 = private unnamed_addr constant [19 x i8] c" br label %lcond\0A\00" +@.str2282 = private unnamed_addr constant [8 x i8] c"rcond:\0A\00" +@.str2283 = private unnamed_addr constant [27 x i8] c" %a2 = load i64, ptr %sp\0A\00" +@.str2284 = private unnamed_addr constant [27 x i8] c" %e2 = load i64, ptr %ep\0A\00" +@.str2285 = private unnamed_addr constant [32 x i8] c" %lt2 = icmp ult i64 %a2, %e2\0A\00" +@.str2286 = private unnamed_addr constant [41 x i8] c" br i1 %lt2, label %rchk, label %build\0A\00" +@.str2287 = private unnamed_addr constant [7 x i8] c"rchk:\0A\00" +@.str2288 = private unnamed_addr constant [25 x i8] c" %em1 = sub i64 %e2, 1\0A\00" +@.str2289 = private unnamed_addr constant [44 x i8] c" %p1 = getelementptr i8, ptr %s, i64 %em1\0A\00" +@.str2290 = private unnamed_addr constant [26 x i8] c" %c1 = load i8, ptr %p1\0A\00" +@.str2291 = private unnamed_addr constant [36 x i8] c" %ws1 = call i1 @lp_is_ws(i8 %c1)\0A\00" +@.str2292 = private unnamed_addr constant [41 x i8] c" br i1 %ws1, label %rdec, label %build\0A\00" +@.str2293 = private unnamed_addr constant [7 x i8] c"rdec:\0A\00" +@.str2294 = private unnamed_addr constant [27 x i8] c" store i64 %em1, ptr %ep\0A\00" +@.str2295 = private unnamed_addr constant [19 x i8] c" br label %rcond\0A\00" +@.str2296 = private unnamed_addr constant [8 x i8] c"build:\0A\00" +@.str2297 = private unnamed_addr constant [27 x i8] c" %st = load i64, ptr %sp\0A\00" +@.str2298 = private unnamed_addr constant [27 x i8] c" %en = load i64, ptr %ep\0A\00" +@.str2299 = private unnamed_addr constant [27 x i8] c" %len = sub i64 %en, %st\0A\00" +@.str2300 = private unnamed_addr constant [25 x i8] c" %sz = add i64 %len, 1\0A\00" +@.str2301 = private unnamed_addr constant [36 x i8] c" %out = call ptr @malloc(i64 %sz)\0A\00" +@.str2302 = private unnamed_addr constant [44 x i8] c" %src = getelementptr i8, ptr %s, i64 %st\0A\00" +@.str2303 = private unnamed_addr constant [50 x i8] c" call ptr @memcpy(ptr %out, ptr %src, i64 %len)\0A\00" +@.str2304 = private unnamed_addr constant [46 x i8] c" %tp = getelementptr i8, ptr %out, i64 %len\0A\00" +@.str2305 = private unnamed_addr constant [23 x i8] c" store i8 0, ptr %tp\0A\00" +@.str2306 = private unnamed_addr constant [16 x i8] c" ret ptr %out\0A\00" +@.str2307 = private unnamed_addr constant [3 x i8] c"}\0A\00" +@.str2308 = private unnamed_addr constant [30 x i8] c"define i1 @lp_is_ws(i8 %c) {\0A\00" +@.str2309 = private unnamed_addr constant [26 x i8] c" %a = icmp eq i8 %c, 32\0A\00" +@.str2310 = private unnamed_addr constant [25 x i8] c" %b = icmp eq i8 %c, 9\0A\00" +@.str2311 = private unnamed_addr constant [26 x i8] c" %d = icmp eq i8 %c, 10\0A\00" +@.str2312 = private unnamed_addr constant [26 x i8] c" %e = icmp eq i8 %c, 13\0A\00" +@.str2313 = private unnamed_addr constant [22 x i8] c" %ab = or i1 %a, %b\0A\00" +@.str2314 = private unnamed_addr constant [22 x i8] c" %de = or i1 %d, %e\0A\00" +@.str2315 = private unnamed_addr constant [23 x i8] c" %r = or i1 %ab, %de\0A\00" +@.str2316 = private unnamed_addr constant [13 x i8] c" ret i1 %r\0A\00" +@.str2317 = private unnamed_addr constant [3 x i8] c"}\0A\00" +@.str2318 = private unnamed_addr constant [47 x i8] c"define ptr @lp_str_repeat(ptr %s, i32 %n32) {\0A\00" +@.str2319 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" +@.str2320 = private unnamed_addr constant [32 x i8] c" %nneg = icmp slt i32 %n32, 0\0A\00" +@.str2321 = private unnamed_addr constant [42 x i8] c" %nn = select i1 %nneg, i32 0, i32 %n32\0A\00" +@.str2322 = private unnamed_addr constant [28 x i8] c" %n = zext i32 %nn to i64\0A\00" +@.str2323 = private unnamed_addr constant [33 x i8] c" %L = call i64 @strlen(ptr %s)\0A\00" +@.str2324 = private unnamed_addr constant [25 x i8] c" %tot = mul i64 %L, %n\0A\00" +@.str2325 = private unnamed_addr constant [25 x i8] c" %sz = add i64 %tot, 1\0A\00" +@.str2326 = private unnamed_addr constant [36 x i8] c" %out = call ptr @malloc(i64 %sz)\0A\00" +@.str2327 = private unnamed_addr constant [20 x i8] c" %ip = alloca i64\0A\00" +@.str2328 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %ip\0A\00" +@.str2329 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" +@.str2330 = private unnamed_addr constant [7 x i8] c"cond:\0A\00" +@.str2331 = private unnamed_addr constant [26 x i8] c" %i = load i64, ptr %ip\0A\00" +@.str2332 = private unnamed_addr constant [28 x i8] c" %d = icmp ult i64 %i, %n\0A\00" +@.str2333 = private unnamed_addr constant [37 x i8] c" br i1 %d, label %body, label %fin\0A\00" +@.str2334 = private unnamed_addr constant [7 x i8] c"body:\0A\00" +@.str2335 = private unnamed_addr constant [25 x i8] c" %off = mul i64 %i, %L\0A\00" +@.str2336 = private unnamed_addr constant [47 x i8] c" %dst = getelementptr i8, ptr %out, i64 %off\0A\00" +@.str2337 = private unnamed_addr constant [46 x i8] c" call ptr @memcpy(ptr %dst, ptr %s, i64 %L)\0A\00" +@.str2338 = private unnamed_addr constant [23 x i8] c" %i1 = add i64 %i, 1\0A\00" +@.str2339 = private unnamed_addr constant [26 x i8] c" store i64 %i1, ptr %ip\0A\00" +@.str2340 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" +@.str2341 = private unnamed_addr constant [6 x i8] c"fin:\0A\00" +@.str2342 = private unnamed_addr constant [46 x i8] c" %tp = getelementptr i8, ptr %out, i64 %tot\0A\00" +@.str2343 = private unnamed_addr constant [23 x i8] c" store i8 0, ptr %tp\0A\00" +@.str2344 = private unnamed_addr constant [16 x i8] c" ret ptr %out\0A\00" +@.str2345 = private unnamed_addr constant [3 x i8] c"}\0A\00" +@.str2346 = private unnamed_addr constant [54 x i8] c"define ptr @lp_str_pad(ptr %s, i32 %w32, i1 %left) {\0A\00" +@.str2347 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" +@.str2348 = private unnamed_addr constant [33 x i8] c" %L = call i64 @strlen(ptr %s)\0A\00" +@.str2349 = private unnamed_addr constant [30 x i8] c" %w0 = sext i32 %w32 to i64\0A\00" +@.str2350 = private unnamed_addr constant [32 x i8] c" %need = icmp ugt i64 %w0, %L\0A\00" +@.str2351 = private unnamed_addr constant [39 x i8] c" br i1 %need, label %do, label %copy\0A\00" +@.str2352 = private unnamed_addr constant [7 x i8] c"copy:\0A\00" +@.str2353 = private unnamed_addr constant [24 x i8] c" %sz0 = add i64 %L, 1\0A\00" +@.str2354 = private unnamed_addr constant [36 x i8] c" %o0 = call ptr @malloc(i64 %sz0)\0A\00" +@.str2355 = private unnamed_addr constant [23 x i8] c" %e0 = add i64 %L, 0\0A\00" +@.str2356 = private unnamed_addr constant [45 x i8] c" call ptr @memcpy(ptr %o0, ptr %s, i64 %L)\0A\00" +@.str2357 = private unnamed_addr constant [43 x i8] c" %t0 = getelementptr i8, ptr %o0, i64 %L\0A\00" +@.str2358 = private unnamed_addr constant [23 x i8] c" store i8 0, ptr %t0\0A\00" +@.str2359 = private unnamed_addr constant [15 x i8] c" ret ptr %o0\0A\00" +@.str2360 = private unnamed_addr constant [5 x i8] c"do:\0A\00" +@.str2361 = private unnamed_addr constant [26 x i8] c" %pad = sub i64 %w0, %L\0A\00" +@.str2362 = private unnamed_addr constant [24 x i8] c" %sz = add i64 %w0, 1\0A\00" +@.str2363 = private unnamed_addr constant [36 x i8] c" %out = call ptr @malloc(i64 %sz)\0A\00" +@.str2364 = private unnamed_addr constant [48 x i8] c" br i1 %left, label %padleft, label %padright\0A\00" +@.str2365 = private unnamed_addr constant [10 x i8] c"padleft:\0A\00" +@.str2366 = private unnamed_addr constant [52 x i8] c" call void @lp_fill_sp(ptr %out, i64 0, i64 %pad)\0A\00" +@.str2367 = private unnamed_addr constant [48 x i8] c" %dstL = getelementptr i8, ptr %out, i64 %pad\0A\00" +@.str2368 = private unnamed_addr constant [47 x i8] c" call ptr @memcpy(ptr %dstL, ptr %s, i64 %L)\0A\00" +@.str2369 = private unnamed_addr constant [18 x i8] c" br label %term\0A\00" +@.str2370 = private unnamed_addr constant [11 x i8] c"padright:\0A\00" +@.str2371 = private unnamed_addr constant [46 x i8] c" call ptr @memcpy(ptr %out, ptr %s, i64 %L)\0A\00" +@.str2372 = private unnamed_addr constant [53 x i8] c" call void @lp_fill_sp(ptr %out, i64 %L, i64 %pad)\0A\00" +@.str2373 = private unnamed_addr constant [18 x i8] c" br label %term\0A\00" +@.str2374 = private unnamed_addr constant [7 x i8] c"term:\0A\00" +@.str2375 = private unnamed_addr constant [45 x i8] c" %tp = getelementptr i8, ptr %out, i64 %w0\0A\00" +@.str2376 = private unnamed_addr constant [23 x i8] c" store i8 0, ptr %tp\0A\00" +@.str2377 = private unnamed_addr constant [16 x i8] c" ret ptr %out\0A\00" +@.str2378 = private unnamed_addr constant [3 x i8] c"}\0A\00" +@.str2379 = private unnamed_addr constant [61 x i8] c"define void @lp_fill_sp(ptr %buf, i64 %start, i64 %count) {\0A\00" +@.str2380 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" +@.str2381 = private unnamed_addr constant [20 x i8] c" %ip = alloca i64\0A\00" +@.str2382 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %ip\0A\00" +@.str2383 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" +@.str2384 = private unnamed_addr constant [7 x i8] c"cond:\0A\00" +@.str2385 = private unnamed_addr constant [26 x i8] c" %i = load i64, ptr %ip\0A\00" +@.str2386 = private unnamed_addr constant [32 x i8] c" %d = icmp ult i64 %i, %count\0A\00" +@.str2387 = private unnamed_addr constant [38 x i8] c" br i1 %d, label %body, label %done\0A\00" +@.str2388 = private unnamed_addr constant [7 x i8] c"body:\0A\00" +@.str2389 = private unnamed_addr constant [29 x i8] c" %off = add i64 %start, %i\0A\00" +@.str2390 = private unnamed_addr constant [45 x i8] c" %p = getelementptr i8, ptr %buf, i64 %off\0A\00" +@.str2391 = private unnamed_addr constant [23 x i8] c" store i8 32, ptr %p\0A\00" +@.str2392 = private unnamed_addr constant [23 x i8] c" %i1 = add i64 %i, 1\0A\00" +@.str2393 = private unnamed_addr constant [26 x i8] c" store i64 %i1, ptr %ip\0A\00" +@.str2394 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" +@.str2395 = private unnamed_addr constant [7 x i8] c"done:\0A\00" +@.str2396 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" +@.str2397 = private unnamed_addr constant [3 x i8] c"}\0A\00" +@.str2398 = private unnamed_addr constant [58 x i8] c"define ptr @lp_str_replace(ptr %s, ptr %from, ptr %to) {\0A\00" +@.str2399 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" +@.str2400 = private unnamed_addr constant [37 x i8] c" %lf = call i64 @strlen(ptr %from)\0A\00" +@.str2401 = private unnamed_addr constant [28 x i8] c" %lz = icmp eq i64 %lf, 0\0A\00" +@.str2402 = private unnamed_addr constant [42 x i8] c" br i1 %lz, label %copyall, label %scan\0A\00" +@.str2403 = private unnamed_addr constant [10 x i8] c"copyall:\0A\00" +@.str2404 = private unnamed_addr constant [35 x i8] c" %ls0 = call i64 @strlen(ptr %s)\0A\00" +@.str2405 = private unnamed_addr constant [26 x i8] c" %sz0 = add i64 %ls0, 1\0A\00" +@.str2406 = private unnamed_addr constant [36 x i8] c" %o0 = call ptr @malloc(i64 %sz0)\0A\00" +@.str2407 = private unnamed_addr constant [47 x i8] c" call ptr @memcpy(ptr %o0, ptr %s, i64 %sz0)\0A\00" +@.str2408 = private unnamed_addr constant [15 x i8] c" ret ptr %o0\0A\00" +@.str2409 = private unnamed_addr constant [7 x i8] c"scan:\0A\00" +@.str2410 = private unnamed_addr constant [35 x i8] c" %lt = call i64 @strlen(ptr %to)\0A\00" +@.str2411 = private unnamed_addr constant [34 x i8] c" %ls = call i64 @strlen(ptr %s)\0A\00" +@.str2412 = private unnamed_addr constant [22 x i8] c" %cntp = alloca i64\0A\00" +@.str2413 = private unnamed_addr constant [26 x i8] c" store i64 0, ptr %cntp\0A\00" +@.str2414 = private unnamed_addr constant [22 x i8] c" %curp = alloca ptr\0A\00" +@.str2415 = private unnamed_addr constant [27 x i8] c" store ptr %s, ptr %curp\0A\00" +@.str2416 = private unnamed_addr constant [19 x i8] c" br label %ccond\0A\00" +@.str2417 = private unnamed_addr constant [8 x i8] c"ccond:\0A\00" +@.str2418 = private unnamed_addr constant [30 x i8] c" %cur = load ptr, ptr %curp\0A\00" +@.str2419 = private unnamed_addr constant [48 x i8] c" %hit = call ptr @strstr(ptr %cur, ptr %from)\0A\00" +@.str2420 = private unnamed_addr constant [36 x i8] c" %isnull = icmp eq ptr %hit, null\0A\00" +@.str2421 = private unnamed_addr constant [44 x i8] c" br i1 %isnull, label %csize, label %cinc\0A\00" +@.str2422 = private unnamed_addr constant [7 x i8] c"cinc:\0A\00" +@.str2423 = private unnamed_addr constant [29 x i8] c" %c0 = load i64, ptr %cntp\0A\00" +@.str2424 = private unnamed_addr constant [24 x i8] c" %c1 = add i64 %c0, 1\0A\00" +@.str2425 = private unnamed_addr constant [28 x i8] c" store i64 %c1, ptr %cntp\0A\00" +@.str2426 = private unnamed_addr constant [46 x i8] c" %adv = getelementptr i8, ptr %hit, i64 %lf\0A\00" +@.str2427 = private unnamed_addr constant [29 x i8] c" store ptr %adv, ptr %curp\0A\00" +@.str2428 = private unnamed_addr constant [19 x i8] c" br label %ccond\0A\00" +@.str2429 = private unnamed_addr constant [8 x i8] c"csize:\0A\00" +@.str2430 = private unnamed_addr constant [30 x i8] c" %cnt = load i64, ptr %cntp\0A\00" +@.str2431 = private unnamed_addr constant [29 x i8] c" %delta = sub i64 %lt, %lf\0A\00" +@.str2432 = private unnamed_addr constant [32 x i8] c" %grow = mul i64 %cnt, %delta\0A\00" +@.str2433 = private unnamed_addr constant [32 x i8] c" %newlen = add i64 %ls, %grow\0A\00" +@.str2434 = private unnamed_addr constant [29 x i8] c" %osz = add i64 %newlen, 1\0A\00" +@.str2435 = private unnamed_addr constant [37 x i8] c" %out = call ptr @malloc(i64 %osz)\0A\00" +@.str2436 = private unnamed_addr constant [22 x i8] c" %srcp = alloca ptr\0A\00" +@.str2437 = private unnamed_addr constant [27 x i8] c" store ptr %s, ptr %srcp\0A\00" +@.str2438 = private unnamed_addr constant [22 x i8] c" %dstp = alloca ptr\0A\00" +@.str2439 = private unnamed_addr constant [29 x i8] c" store ptr %out, ptr %dstp\0A\00" +@.str2440 = private unnamed_addr constant [19 x i8] c" br label %bcond\0A\00" +@.str2441 = private unnamed_addr constant [8 x i8] c"bcond:\0A\00" +@.str2442 = private unnamed_addr constant [30 x i8] c" %src = load ptr, ptr %srcp\0A\00" +@.str2443 = private unnamed_addr constant [47 x i8] c" %h2 = call ptr @strstr(ptr %src, ptr %from)\0A\00" +@.str2444 = private unnamed_addr constant [31 x i8] c" %n2 = icmp eq ptr %h2, null\0A\00" +@.str2445 = private unnamed_addr constant [38 x i8] c" br i1 %n2, label %tail, label %seg\0A\00" +@.str2446 = private unnamed_addr constant [6 x i8] c"seg:\0A\00" +@.str2447 = private unnamed_addr constant [34 x i8] c" %si = ptrtoint ptr %src to i64\0A\00" +@.str2448 = private unnamed_addr constant [33 x i8] c" %hi = ptrtoint ptr %h2 to i64\0A\00" +@.str2449 = private unnamed_addr constant [30 x i8] c" %seglen = sub i64 %hi, %si\0A\00" +@.str2450 = private unnamed_addr constant [31 x i8] c" %dst0 = load ptr, ptr %dstp\0A\00" +@.str2451 = private unnamed_addr constant [54 x i8] c" call ptr @memcpy(ptr %dst0, ptr %src, i64 %seglen)\0A\00" +@.str2452 = private unnamed_addr constant [52 x i8] c" %dst1 = getelementptr i8, ptr %dst0, i64 %seglen\0A\00" +@.str2453 = private unnamed_addr constant [49 x i8] c" call ptr @memcpy(ptr %dst1, ptr %to, i64 %lt)\0A\00" +@.str2454 = private unnamed_addr constant [48 x i8] c" %dst2 = getelementptr i8, ptr %dst1, i64 %lt\0A\00" +@.str2455 = private unnamed_addr constant [30 x i8] c" store ptr %dst2, ptr %dstp\0A\00" +@.str2456 = private unnamed_addr constant [46 x i8] c" %src2 = getelementptr i8, ptr %h2, i64 %lf\0A\00" +@.str2457 = private unnamed_addr constant [30 x i8] c" store ptr %src2, ptr %srcp\0A\00" +@.str2458 = private unnamed_addr constant [19 x i8] c" br label %bcond\0A\00" +@.str2459 = private unnamed_addr constant [7 x i8] c"tail:\0A\00" +@.str2460 = private unnamed_addr constant [31 x i8] c" %src3 = load ptr, ptr %srcp\0A\00" +@.str2461 = private unnamed_addr constant [38 x i8] c" %rem = call i64 @strlen(ptr %src3)\0A\00" +@.str2462 = private unnamed_addr constant [31 x i8] c" %dst3 = load ptr, ptr %dstp\0A\00" +@.str2463 = private unnamed_addr constant [28 x i8] c" %remp1 = add i64 %rem, 1\0A\00" +@.str2464 = private unnamed_addr constant [54 x i8] c" call ptr @memcpy(ptr %dst3, ptr %src3, i64 %remp1)\0A\00" +@.str2465 = private unnamed_addr constant [16 x i8] c" ret ptr %out\0A\00" +@.str2466 = private unnamed_addr constant [3 x i8] c"}\0A\00" +@.str2467 = private unnamed_addr constant [45 x i8] c"define ptr @lp_str_join(ptr %h, ptr %sep) {\0A\00" +@.str2468 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" +@.str2469 = private unnamed_addr constant [62 x i8] c" %lp = getelementptr inbounds %LSlice, ptr %h, i32 0, i32 1\0A\00" +@.str2470 = private unnamed_addr constant [30 x i8] c" %len32 = load i32, ptr %lp\0A\00" +@.str2471 = private unnamed_addr constant [33 x i8] c" %len = sext i32 %len32 to i64\0A\00" +@.str2472 = private unnamed_addr constant [62 x i8] c" %dp = getelementptr inbounds %LSlice, ptr %h, i32 0, i32 0\0A\00" +@.str2473 = private unnamed_addr constant [29 x i8] c" %data = load ptr, ptr %dp\0A\00" +@.str2474 = private unnamed_addr constant [38 x i8] c" %lsep = call i64 @strlen(ptr %sep)\0A\00" +@.str2475 = private unnamed_addr constant [22 x i8] c" %totp = alloca i64\0A\00" +@.str2476 = private unnamed_addr constant [26 x i8] c" store i64 0, ptr %totp\0A\00" +@.str2477 = private unnamed_addr constant [20 x i8] c" %ip = alloca i64\0A\00" +@.str2478 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %ip\0A\00" +@.str2479 = private unnamed_addr constant [19 x i8] c" br label %scond\0A\00" +@.str2480 = private unnamed_addr constant [8 x i8] c"scond:\0A\00" +@.str2481 = private unnamed_addr constant [26 x i8] c" %i = load i64, ptr %ip\0A\00" +@.str2482 = private unnamed_addr constant [30 x i8] c" %d = icmp ult i64 %i, %len\0A\00" +@.str2483 = private unnamed_addr constant [40 x i8] c" br i1 %d, label %sbody, label %alloc\0A\00" +@.str2484 = private unnamed_addr constant [8 x i8] c"sbody:\0A\00" +@.str2485 = private unnamed_addr constant [46 x i8] c" %ep = getelementptr ptr, ptr %data, i64 %i\0A\00" +@.str2486 = private unnamed_addr constant [27 x i8] c" %es = load ptr, ptr %ep\0A\00" +@.str2487 = private unnamed_addr constant [35 x i8] c" %el = call i64 @strlen(ptr %es)\0A\00" +@.str2488 = private unnamed_addr constant [29 x i8] c" %t0 = load i64, ptr %totp\0A\00" +@.str2489 = private unnamed_addr constant [26 x i8] c" %t1 = add i64 %t0, %el\0A\00" +@.str2490 = private unnamed_addr constant [28 x i8] c" store i64 %t1, ptr %totp\0A\00" +@.str2491 = private unnamed_addr constant [23 x i8] c" %i1 = add i64 %i, 1\0A\00" +@.str2492 = private unnamed_addr constant [26 x i8] c" store i64 %i1, ptr %ip\0A\00" +@.str2493 = private unnamed_addr constant [19 x i8] c" br label %scond\0A\00" +@.str2494 = private unnamed_addr constant [8 x i8] c"alloc:\0A\00" +@.str2495 = private unnamed_addr constant [30 x i8] c" %nz = icmp ugt i64 %len, 0\0A\00" +@.str2496 = private unnamed_addr constant [26 x i8] c" %lm1 = sub i64 %len, 1\0A\00" +@.str2497 = private unnamed_addr constant [31 x i8] c" %seps = mul i64 %lm1, %lsep\0A\00" +@.str2498 = private unnamed_addr constant [44 x i8] c" %sepsz = select i1 %nz, i64 %seps, i64 0\0A\00" +@.str2499 = private unnamed_addr constant [31 x i8] c" %tot0 = load i64, ptr %totp\0A\00" +@.str2500 = private unnamed_addr constant [32 x i8] c" %tot = add i64 %tot0, %sepsz\0A\00" +@.str2501 = private unnamed_addr constant [26 x i8] c" %osz = add i64 %tot, 1\0A\00" +@.str2502 = private unnamed_addr constant [37 x i8] c" %out = call ptr @malloc(i64 %osz)\0A\00" +@.str2503 = private unnamed_addr constant [22 x i8] c" %dstp = alloca ptr\0A\00" +@.str2504 = private unnamed_addr constant [29 x i8] c" store ptr %out, ptr %dstp\0A\00" +@.str2505 = private unnamed_addr constant [20 x i8] c" %jp = alloca i64\0A\00" +@.str2506 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %jp\0A\00" +@.str2507 = private unnamed_addr constant [19 x i8] c" br label %jcond\0A\00" +@.str2508 = private unnamed_addr constant [8 x i8] c"jcond:\0A\00" +@.str2509 = private unnamed_addr constant [26 x i8] c" %j = load i64, ptr %jp\0A\00" +@.str2510 = private unnamed_addr constant [31 x i8] c" %d2 = icmp ult i64 %j, %len\0A\00" +@.str2511 = private unnamed_addr constant [40 x i8] c" br i1 %d2, label %jbody, label %jfin\0A\00" +@.str2512 = private unnamed_addr constant [8 x i8] c"jbody:\0A\00" +@.str2513 = private unnamed_addr constant [29 x i8] c" %jnz = icmp ugt i64 %j, 0\0A\00" +@.str2514 = private unnamed_addr constant [43 x i8] c" br i1 %jnz, label %putsep, label %putel\0A\00" +@.str2515 = private unnamed_addr constant [9 x i8] c"putsep:\0A\00" +@.str2516 = private unnamed_addr constant [30 x i8] c" %ds0 = load ptr, ptr %dstp\0A\00" +@.str2517 = private unnamed_addr constant [51 x i8] c" call ptr @memcpy(ptr %ds0, ptr %sep, i64 %lsep)\0A\00" +@.str2518 = private unnamed_addr constant [48 x i8] c" %ds1 = getelementptr i8, ptr %ds0, i64 %lsep\0A\00" +@.str2519 = private unnamed_addr constant [29 x i8] c" store ptr %ds1, ptr %dstp\0A\00" +@.str2520 = private unnamed_addr constant [19 x i8] c" br label %putel\0A\00" +@.str2521 = private unnamed_addr constant [8 x i8] c"putel:\0A\00" +@.str2522 = private unnamed_addr constant [47 x i8] c" %ep2 = getelementptr ptr, ptr %data, i64 %j\0A\00" +@.str2523 = private unnamed_addr constant [29 x i8] c" %es2 = load ptr, ptr %ep2\0A\00" +@.str2524 = private unnamed_addr constant [37 x i8] c" %el2 = call i64 @strlen(ptr %es2)\0A\00" +@.str2525 = private unnamed_addr constant [30 x i8] c" %ds2 = load ptr, ptr %dstp\0A\00" +@.str2526 = private unnamed_addr constant [50 x i8] c" call ptr @memcpy(ptr %ds2, ptr %es2, i64 %el2)\0A\00" +@.str2527 = private unnamed_addr constant [47 x i8] c" %ds3 = getelementptr i8, ptr %ds2, i64 %el2\0A\00" +@.str2528 = private unnamed_addr constant [29 x i8] c" store ptr %ds3, ptr %dstp\0A\00" +@.str2529 = private unnamed_addr constant [23 x i8] c" %j1 = add i64 %j, 1\0A\00" +@.str2530 = private unnamed_addr constant [26 x i8] c" store i64 %j1, ptr %jp\0A\00" +@.str2531 = private unnamed_addr constant [19 x i8] c" br label %jcond\0A\00" +@.str2532 = private unnamed_addr constant [7 x i8] c"jfin:\0A\00" +@.str2533 = private unnamed_addr constant [30 x i8] c" %dsf = load ptr, ptr %dstp\0A\00" +@.str2534 = private unnamed_addr constant [24 x i8] c" store i8 0, ptr %dsf\0A\00" +@.str2535 = private unnamed_addr constant [16 x i8] c" ret ptr %out\0A\00" +@.str2536 = private unnamed_addr constant [3 x i8] c"}\0A\00" +@.str2537 = private unnamed_addr constant [46 x i8] c"define ptr @lp_str_split(ptr %s, ptr %sep) {\0A\00" +@.str2538 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" +@.str2539 = private unnamed_addr constant [38 x i8] c" %lsep = call i64 @strlen(ptr %sep)\0A\00" +@.str2540 = private unnamed_addr constant [22 x i8] c" %cntp = alloca i64\0A\00" +@.str2541 = private unnamed_addr constant [26 x i8] c" store i64 1, ptr %cntp\0A\00" +@.str2542 = private unnamed_addr constant [22 x i8] c" %curp = alloca ptr\0A\00" +@.str2543 = private unnamed_addr constant [27 x i8] c" store ptr %s, ptr %curp\0A\00" +@.str2544 = private unnamed_addr constant [19 x i8] c" br label %ccond\0A\00" +@.str2545 = private unnamed_addr constant [8 x i8] c"ccond:\0A\00" +@.str2546 = private unnamed_addr constant [30 x i8] c" %cur = load ptr, ptr %curp\0A\00" +@.str2547 = private unnamed_addr constant [47 x i8] c" %hit = call ptr @strstr(ptr %cur, ptr %sep)\0A\00" +@.str2548 = private unnamed_addr constant [36 x i8] c" %isnull = icmp eq ptr %hit, null\0A\00" +@.str2549 = private unnamed_addr constant [41 x i8] c" br i1 %isnull, label %mk, label %cinc\0A\00" +@.str2550 = private unnamed_addr constant [7 x i8] c"cinc:\0A\00" +@.str2551 = private unnamed_addr constant [29 x i8] c" %c0 = load i64, ptr %cntp\0A\00" +@.str2552 = private unnamed_addr constant [24 x i8] c" %c1 = add i64 %c0, 1\0A\00" +@.str2553 = private unnamed_addr constant [28 x i8] c" store i64 %c1, ptr %cntp\0A\00" +@.str2554 = private unnamed_addr constant [48 x i8] c" %adv = getelementptr i8, ptr %hit, i64 %lsep\0A\00" +@.str2555 = private unnamed_addr constant [29 x i8] c" store ptr %adv, ptr %curp\0A\00" +@.str2556 = private unnamed_addr constant [19 x i8] c" br label %ccond\0A\00" +@.str2557 = private unnamed_addr constant [5 x i8] c"mk:\0A\00" +@.str2558 = private unnamed_addr constant [30 x i8] c" %cnt = load i64, ptr %cntp\0A\00" +@.str2559 = private unnamed_addr constant [35 x i8] c" %hdr = call ptr @malloc(i64 16)\0A\00" +@.str2560 = private unnamed_addr constant [28 x i8] c" %arrsz = mul i64 %cnt, 8\0A\00" +@.str2561 = private unnamed_addr constant [39 x i8] c" %arr = call ptr @malloc(i64 %arrsz)\0A\00" +@.str2562 = private unnamed_addr constant [64 x i8] c" %d0 = getelementptr inbounds %LSlice, ptr %hdr, i32 0, i32 0\0A\00" +@.str2563 = private unnamed_addr constant [27 x i8] c" store ptr %arr, ptr %d0\0A\00" +@.str2564 = private unnamed_addr constant [34 x i8] c" %cnt32 = trunc i64 %cnt to i32\0A\00" +@.str2565 = private unnamed_addr constant [64 x i8] c" %d1 = getelementptr inbounds %LSlice, ptr %hdr, i32 0, i32 1\0A\00" +@.str2566 = private unnamed_addr constant [29 x i8] c" store i32 %cnt32, ptr %d1\0A\00" +@.str2567 = private unnamed_addr constant [64 x i8] c" %d2 = getelementptr inbounds %LSlice, ptr %hdr, i32 0, i32 2\0A\00" +@.str2568 = private unnamed_addr constant [29 x i8] c" store i32 %cnt32, ptr %d2\0A\00" +@.str2569 = private unnamed_addr constant [22 x i8] c" %srcp = alloca ptr\0A\00" +@.str2570 = private unnamed_addr constant [27 x i8] c" store ptr %s, ptr %srcp\0A\00" +@.str2571 = private unnamed_addr constant [20 x i8] c" %ip = alloca i64\0A\00" +@.str2572 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %ip\0A\00" +@.str2573 = private unnamed_addr constant [19 x i8] c" br label %fcond\0A\00" +@.str2574 = private unnamed_addr constant [8 x i8] c"fcond:\0A\00" +@.str2575 = private unnamed_addr constant [26 x i8] c" %i = load i64, ptr %ip\0A\00" +@.str2576 = private unnamed_addr constant [31 x i8] c" %lt = icmp ult i64 %i, %cnt\0A\00" +@.str2577 = private unnamed_addr constant [40 x i8] c" br i1 %lt, label %fbody, label %done\0A\00" +@.str2578 = private unnamed_addr constant [8 x i8] c"fbody:\0A\00" +@.str2579 = private unnamed_addr constant [30 x i8] c" %src = load ptr, ptr %srcp\0A\00" +@.str2580 = private unnamed_addr constant [46 x i8] c" %h2 = call ptr @strstr(ptr %src, ptr %sep)\0A\00" +@.str2581 = private unnamed_addr constant [31 x i8] c" %n2 = icmp eq ptr %h2, null\0A\00" +@.str2582 = private unnamed_addr constant [38 x i8] c" br i1 %n2, label %last, label %mid\0A\00" +@.str2583 = private unnamed_addr constant [6 x i8] c"mid:\0A\00" +@.str2584 = private unnamed_addr constant [34 x i8] c" %si = ptrtoint ptr %src to i64\0A\00" +@.str2585 = private unnamed_addr constant [33 x i8] c" %hi = ptrtoint ptr %h2 to i64\0A\00" +@.str2586 = private unnamed_addr constant [30 x i8] c" %seglen = sub i64 %hi, %si\0A\00" +@.str2587 = private unnamed_addr constant [19 x i8] c" br label %store\0A\00" +@.str2588 = private unnamed_addr constant [7 x i8] c"last:\0A\00" +@.str2589 = private unnamed_addr constant [37 x i8] c" %rem = call i64 @strlen(ptr %src)\0A\00" +@.str2590 = private unnamed_addr constant [19 x i8] c" br label %store\0A\00" +@.str2591 = private unnamed_addr constant [8 x i8] c"store:\0A\00" +@.str2592 = private unnamed_addr constant [53 x i8] c" %seg = phi i64 [ %seglen, %mid ], [ %rem, %last ]\0A\00" +@.str2593 = private unnamed_addr constant [26 x i8] c" %ssz = add i64 %seg, 1\0A\00" +@.str2594 = private unnamed_addr constant [37 x i8] c" %sub = call ptr @malloc(i64 %ssz)\0A\00" +@.str2595 = private unnamed_addr constant [31 x i8] c" %src2 = load ptr, ptr %srcp\0A\00" +@.str2596 = private unnamed_addr constant [51 x i8] c" call ptr @memcpy(ptr %sub, ptr %src2, i64 %seg)\0A\00" +@.str2597 = private unnamed_addr constant [46 x i8] c" %tp = getelementptr i8, ptr %sub, i64 %seg\0A\00" +@.str2598 = private unnamed_addr constant [23 x i8] c" store i8 0, ptr %tp\0A\00" +@.str2599 = private unnamed_addr constant [47 x i8] c" %slot = getelementptr ptr, ptr %arr, i64 %i\0A\00" +@.str2600 = private unnamed_addr constant [29 x i8] c" store ptr %sub, ptr %slot\0A\00" +@.str2601 = private unnamed_addr constant [48 x i8] c" %adv2 = getelementptr i8, ptr %h2, i64 %lsep\0A\00" +@.str2602 = private unnamed_addr constant [30 x i8] c" store ptr %adv2, ptr %srcp\0A\00" +@.str2603 = private unnamed_addr constant [23 x i8] c" %i1 = add i64 %i, 1\0A\00" +@.str2604 = private unnamed_addr constant [26 x i8] c" store i64 %i1, ptr %ip\0A\00" +@.str2605 = private unnamed_addr constant [19 x i8] c" br label %fcond\0A\00" +@.str2606 = private unnamed_addr constant [7 x i8] c"done:\0A\00" +@.str2607 = private unnamed_addr constant [16 x i8] c" ret ptr %hdr\0A\00" +@.str2608 = private unnamed_addr constant [3 x i8] c"}\0A\00" +@.str2609 = private unnamed_addr constant [3 x i8] c"of\00" +@.str2610 = private unnamed_addr constant [6 x i8] c"fnv1a\00" +@.str2611 = private unnamed_addr constant [6 x i8] c"crc32\00" +@.str2612 = private unnamed_addr constant [4 x i8] c"mix\00" +@.str2613 = private unnamed_addr constant [8 x i8] c"combine\00" +@.str2614 = private unnamed_addr constant [5 x i8] c"of64\00" +@.str2615 = private unnamed_addr constant [9 x i8] c"fnv1a_64\00" +@.str2616 = private unnamed_addr constant [6 x i8] c"mix64\00" +@.str2617 = private unnamed_addr constant [10 x i8] c"lshr i32 \00" +@.str2618 = private unnamed_addr constant [5 x i8] c", 16\00" +@.str2619 = private unnamed_addr constant [9 x i8] c"xor i32 \00" +@.str2620 = private unnamed_addr constant [3 x i8] c", \00" +@.str2621 = private unnamed_addr constant [9 x i8] c"mul i32 \00" +@.str2622 = private unnamed_addr constant [14 x i8] c", -2048144789\00" +@.str2623 = private unnamed_addr constant [10 x i8] c"lshr i32 \00" +@.str2624 = private unnamed_addr constant [5 x i8] c", 13\00" +@.str2625 = private unnamed_addr constant [9 x i8] c"xor i32 \00" +@.str2626 = private unnamed_addr constant [3 x i8] c", \00" +@.str2627 = private unnamed_addr constant [9 x i8] c"mul i32 \00" +@.str2628 = private unnamed_addr constant [14 x i8] c", -1028477387\00" +@.str2629 = private unnamed_addr constant [10 x i8] c"lshr i32 \00" +@.str2630 = private unnamed_addr constant [5 x i8] c", 16\00" +@.str2631 = private unnamed_addr constant [9 x i8] c"xor i32 \00" +@.str2632 = private unnamed_addr constant [3 x i8] c", \00" +@.str2633 = private unnamed_addr constant [10 x i8] c"lshr i64 \00" +@.str2634 = private unnamed_addr constant [5 x i8] c", 33\00" +@.str2635 = private unnamed_addr constant [9 x i8] c"xor i64 \00" +@.str2636 = private unnamed_addr constant [3 x i8] c", \00" +@.str2637 = private unnamed_addr constant [9 x i8] c"mul i64 \00" +@.str2638 = private unnamed_addr constant [21 x i8] c", -49064778989728563\00" +@.str2639 = private unnamed_addr constant [10 x i8] c"lshr i64 \00" +@.str2640 = private unnamed_addr constant [5 x i8] c", 33\00" +@.str2641 = private unnamed_addr constant [9 x i8] c"xor i64 \00" +@.str2642 = private unnamed_addr constant [3 x i8] c", \00" +@.str2643 = private unnamed_addr constant [9 x i8] c"mul i64 \00" +@.str2644 = private unnamed_addr constant [23 x i8] c", -4265267296055464877\00" +@.str2645 = private unnamed_addr constant [10 x i8] c"lshr i64 \00" +@.str2646 = private unnamed_addr constant [5 x i8] c", 33\00" +@.str2647 = private unnamed_addr constant [9 x i8] c"xor i64 \00" +@.str2648 = private unnamed_addr constant [3 x i8] c", \00" +@.str2649 = private unnamed_addr constant [3 x i8] c"of\00" +@.str2650 = private unnamed_addr constant [6 x i8] c"fnv1a\00" +@.str2651 = private unnamed_addr constant [29 x i8] c"call i32 @lp_hash_fnv1a(ptr \00" +@.str2652 = private unnamed_addr constant [2 x i8] c")\00" +@.str2653 = private unnamed_addr constant [4 x i8] c"int\00" +@.str2654 = private unnamed_addr constant [5 x i8] c"of64\00" +@.str2655 = private unnamed_addr constant [9 x i8] c"fnv1a_64\00" +@.str2656 = private unnamed_addr constant [32 x i8] c"call i64 @lp_hash_fnv1a_64(ptr \00" +@.str2657 = private unnamed_addr constant [2 x i8] c")\00" +@.str2658 = private unnamed_addr constant [5 x i8] c"long\00" +@.str2659 = private unnamed_addr constant [6 x i8] c"mix64\00" +@.str2660 = private unnamed_addr constant [5 x i8] c"long\00" +@.str2661 = private unnamed_addr constant [6 x i8] c"crc32\00" +@.str2662 = private unnamed_addr constant [29 x i8] c"call i32 @lp_hash_crc32(ptr \00" +@.str2663 = private unnamed_addr constant [2 x i8] c")\00" +@.str2664 = private unnamed_addr constant [4 x i8] c"int\00" +@.str2665 = private unnamed_addr constant [4 x i8] c"mix\00" +@.str2666 = private unnamed_addr constant [4 x i8] c"int\00" +@.str2667 = private unnamed_addr constant [2 x i8] c"0\00" +@.str2668 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str2669 = private unnamed_addr constant [14 x i8] c", -1640531527\00" +@.str2670 = private unnamed_addr constant [9 x i8] c"shl i32 \00" +@.str2671 = private unnamed_addr constant [4 x i8] c", 6\00" +@.str2672 = private unnamed_addr constant [10 x i8] c"lshr i32 \00" +@.str2673 = private unnamed_addr constant [4 x i8] c", 2\00" +@.str2674 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str2675 = private unnamed_addr constant [3 x i8] c", \00" +@.str2676 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str2677 = private unnamed_addr constant [3 x i8] c", \00" +@.str2678 = private unnamed_addr constant [9 x i8] c"xor i32 \00" +@.str2679 = private unnamed_addr constant [3 x i8] c", \00" +@.str2680 = private unnamed_addr constant [4 x i8] c"int\00" +@.str2681 = private unnamed_addr constant [37 x i8] c"define i32 @lp_hash_fnv1a(ptr %s) {\0A\00" +@.str2682 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" +@.str2683 = private unnamed_addr constant [20 x i8] c" %hp = alloca i32\0A\00" +@.str2684 = private unnamed_addr constant [34 x i8] c" store i32 -2128831035, ptr %hp\0A\00" +@.str2685 = private unnamed_addr constant [20 x i8] c" %ip = alloca i64\0A\00" +@.str2686 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %ip\0A\00" +@.str2687 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" +@.str2688 = private unnamed_addr constant [7 x i8] c"cond:\0A\00" +@.str2689 = private unnamed_addr constant [26 x i8] c" %i = load i64, ptr %ip\0A\00" +@.str2690 = private unnamed_addr constant [41 x i8] c" %p = getelementptr i8, ptr %s, i64 %i\0A\00" +@.str2691 = private unnamed_addr constant [24 x i8] c" %c = load i8, ptr %p\0A\00" +@.str2692 = private unnamed_addr constant [25 x i8] c" %z = icmp eq i8 %c, 0\0A\00" +@.str2693 = private unnamed_addr constant [38 x i8] c" br i1 %z, label %done, label %body\0A\00" +@.str2694 = private unnamed_addr constant [7 x i8] c"body:\0A\00" +@.str2695 = private unnamed_addr constant [27 x i8] c" %ce = zext i8 %c to i32\0A\00" +@.str2696 = private unnamed_addr constant [26 x i8] c" %h = load i32, ptr %hp\0A\00" +@.str2697 = private unnamed_addr constant [24 x i8] c" %x = xor i32 %h, %ce\0A\00" +@.str2698 = private unnamed_addr constant [29 x i8] c" %m = mul i32 %x, 16777619\0A\00" +@.str2699 = private unnamed_addr constant [25 x i8] c" store i32 %m, ptr %hp\0A\00" +@.str2700 = private unnamed_addr constant [23 x i8] c" %i1 = add i64 %i, 1\0A\00" +@.str2701 = private unnamed_addr constant [26 x i8] c" store i64 %i1, ptr %ip\0A\00" +@.str2702 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" +@.str2703 = private unnamed_addr constant [7 x i8] c"done:\0A\00" +@.str2704 = private unnamed_addr constant [27 x i8] c" %hr = load i32, ptr %hp\0A\00" +@.str2705 = private unnamed_addr constant [15 x i8] c" ret i32 %hr\0A\00" +@.str2706 = private unnamed_addr constant [3 x i8] c"}\0A\00" +@.str2707 = private unnamed_addr constant [40 x i8] c"define i64 @lp_hash_fnv1a_64(ptr %s) {\0A\00" +@.str2708 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" +@.str2709 = private unnamed_addr constant [20 x i8] c" %hp = alloca i64\0A\00" +@.str2710 = private unnamed_addr constant [43 x i8] c" store i64 -3750763034362895579, ptr %hp\0A\00" +@.str2711 = private unnamed_addr constant [20 x i8] c" %ip = alloca i64\0A\00" +@.str2712 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %ip\0A\00" +@.str2713 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" +@.str2714 = private unnamed_addr constant [7 x i8] c"cond:\0A\00" +@.str2715 = private unnamed_addr constant [26 x i8] c" %i = load i64, ptr %ip\0A\00" +@.str2716 = private unnamed_addr constant [41 x i8] c" %p = getelementptr i8, ptr %s, i64 %i\0A\00" +@.str2717 = private unnamed_addr constant [24 x i8] c" %c = load i8, ptr %p\0A\00" +@.str2718 = private unnamed_addr constant [25 x i8] c" %z = icmp eq i8 %c, 0\0A\00" +@.str2719 = private unnamed_addr constant [38 x i8] c" br i1 %z, label %done, label %body\0A\00" +@.str2720 = private unnamed_addr constant [7 x i8] c"body:\0A\00" +@.str2721 = private unnamed_addr constant [27 x i8] c" %ce = zext i8 %c to i64\0A\00" +@.str2722 = private unnamed_addr constant [26 x i8] c" %h = load i64, ptr %hp\0A\00" +@.str2723 = private unnamed_addr constant [24 x i8] c" %x = xor i64 %h, %ce\0A\00" +@.str2724 = private unnamed_addr constant [34 x i8] c" %m = mul i64 %x, 1099511628211\0A\00" +@.str2725 = private unnamed_addr constant [25 x i8] c" store i64 %m, ptr %hp\0A\00" +@.str2726 = private unnamed_addr constant [23 x i8] c" %i1 = add i64 %i, 1\0A\00" +@.str2727 = private unnamed_addr constant [26 x i8] c" store i64 %i1, ptr %ip\0A\00" +@.str2728 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" +@.str2729 = private unnamed_addr constant [7 x i8] c"done:\0A\00" +@.str2730 = private unnamed_addr constant [27 x i8] c" %hr = load i64, ptr %hp\0A\00" +@.str2731 = private unnamed_addr constant [15 x i8] c" ret i64 %hr\0A\00" +@.str2732 = private unnamed_addr constant [3 x i8] c"}\0A\00" +@.str2733 = private unnamed_addr constant [37 x i8] c"define i32 @lp_hash_crc32(ptr %s) {\0A\00" +@.str2734 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" +@.str2735 = private unnamed_addr constant [20 x i8] c" %cp = alloca i32\0A\00" +@.str2736 = private unnamed_addr constant [25 x i8] c" store i32 -1, ptr %cp\0A\00" +@.str2737 = private unnamed_addr constant [20 x i8] c" %ip = alloca i64\0A\00" +@.str2738 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %ip\0A\00" +@.str2739 = private unnamed_addr constant [20 x i8] c" %kp = alloca i32\0A\00" +@.str2740 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" +@.str2741 = private unnamed_addr constant [7 x i8] c"cond:\0A\00" +@.str2742 = private unnamed_addr constant [26 x i8] c" %i = load i64, ptr %ip\0A\00" +@.str2743 = private unnamed_addr constant [41 x i8] c" %p = getelementptr i8, ptr %s, i64 %i\0A\00" +@.str2744 = private unnamed_addr constant [25 x i8] c" %ch = load i8, ptr %p\0A\00" +@.str2745 = private unnamed_addr constant [26 x i8] c" %z = icmp eq i8 %ch, 0\0A\00" +@.str2746 = private unnamed_addr constant [38 x i8] c" br i1 %z, label %done, label %body\0A\00" +@.str2747 = private unnamed_addr constant [7 x i8] c"body:\0A\00" +@.str2748 = private unnamed_addr constant [28 x i8] c" %ce = zext i8 %ch to i32\0A\00" +@.str2749 = private unnamed_addr constant [27 x i8] c" %c0 = load i32, ptr %cp\0A\00" +@.str2750 = private unnamed_addr constant [26 x i8] c" %cx = xor i32 %c0, %ce\0A\00" +@.str2751 = private unnamed_addr constant [26 x i8] c" store i32 %cx, ptr %cp\0A\00" +@.str2752 = private unnamed_addr constant [24 x i8] c" store i32 0, ptr %kp\0A\00" +@.str2753 = private unnamed_addr constant [17 x i8] c" br label %bit\0A\00" +@.str2754 = private unnamed_addr constant [6 x i8] c"bit:\0A\00" +@.str2755 = private unnamed_addr constant [26 x i8] c" %k = load i32, ptr %kp\0A\00" +@.str2756 = private unnamed_addr constant [28 x i8] c" %kd = icmp slt i32 %k, 8\0A\00" +@.str2757 = private unnamed_addr constant [45 x i8] c" br i1 %kd, label %bitbody, label %bitdone\0A\00" +@.str2758 = private unnamed_addr constant [10 x i8] c"bitbody:\0A\00" +@.str2759 = private unnamed_addr constant [27 x i8] c" %c1 = load i32, ptr %cp\0A\00" +@.str2760 = private unnamed_addr constant [24 x i8] c" %lb = and i32 %c1, 1\0A\00" +@.str2761 = private unnamed_addr constant [25 x i8] c" %ls = lshr i32 %c1, 1\0A\00" +@.str2762 = private unnamed_addr constant [29 x i8] c" %ism = icmp eq i32 %lb, 1\0A\00" +@.str2763 = private unnamed_addr constant [47 x i8] c" %px = select i1 %ism, i32 -306674912, i32 0\0A\00" +@.str2764 = private unnamed_addr constant [26 x i8] c" %c2 = xor i32 %ls, %px\0A\00" +@.str2765 = private unnamed_addr constant [26 x i8] c" store i32 %c2, ptr %cp\0A\00" +@.str2766 = private unnamed_addr constant [23 x i8] c" %k1 = add i32 %k, 1\0A\00" +@.str2767 = private unnamed_addr constant [26 x i8] c" store i32 %k1, ptr %kp\0A\00" +@.str2768 = private unnamed_addr constant [17 x i8] c" br label %bit\0A\00" +@.str2769 = private unnamed_addr constant [10 x i8] c"bitdone:\0A\00" +@.str2770 = private unnamed_addr constant [23 x i8] c" %i1 = add i64 %i, 1\0A\00" +@.str2771 = private unnamed_addr constant [26 x i8] c" store i64 %i1, ptr %ip\0A\00" +@.str2772 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" +@.str2773 = private unnamed_addr constant [7 x i8] c"done:\0A\00" +@.str2774 = private unnamed_addr constant [27 x i8] c" %cf = load i32, ptr %cp\0A\00" +@.str2775 = private unnamed_addr constant [24 x i8] c" %r = xor i32 %cf, -1\0A\00" +@.str2776 = private unnamed_addr constant [14 x i8] c" ret i32 %r\0A\00" +@.str2777 = private unnamed_addr constant [3 x i8] c"}\0A\00" +@.str2778 = private unnamed_addr constant [7 x i8] c"sha256\00" +@.str2779 = private unnamed_addr constant [12 x i8] c"hmac_sha256\00" +@.str2780 = private unnamed_addr constant [12 x i8] c"verify_hmac\00" +@.str2781 = private unnamed_addr constant [4 x i8] c"hex\00" +@.str2782 = private unnamed_addr constant [9 x i8] c"ct_equal\00" +@.str2783 = private unnamed_addr constant [13 x i8] c"random_bytes\00" +@.str2784 = private unnamed_addr constant [11 x i8] c"random_hex\00" +@.str2785 = private unnamed_addr constant [11 x i8] c"random_u32\00" +@.str2786 = private unnamed_addr constant [7 x i8] c"base64\00" +@.str2787 = private unnamed_addr constant [7 x i8] c"sha256\00" +@.str2788 = private unnamed_addr constant [29 x i8] c"call ptr @lp_sha256_hex(ptr \00" +@.str2789 = private unnamed_addr constant [2 x i8] c")\00" +@.str2790 = private unnamed_addr constant [7 x i8] c"string\00" +@.str2791 = private unnamed_addr constant [12 x i8] c"hmac_sha256\00" +@.str2792 = private unnamed_addr constant [34 x i8] c"call ptr @lp_hmac_sha256_hex(ptr \00" +@.str2793 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str2794 = private unnamed_addr constant [2 x i8] c")\00" +@.str2795 = private unnamed_addr constant [7 x i8] c"string\00" +@.str2796 = private unnamed_addr constant [4 x i8] c"hex\00" +@.str2797 = private unnamed_addr constant [26 x i8] c"call ptr @lp_str_hex(ptr \00" +@.str2798 = private unnamed_addr constant [2 x i8] c")\00" +@.str2799 = private unnamed_addr constant [7 x i8] c"string\00" +@.str2800 = private unnamed_addr constant [9 x i8] c"ct_equal\00" +@.str2801 = private unnamed_addr constant [27 x i8] c"call i32 @lp_ct_streq(ptr \00" +@.str2802 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str2803 = private unnamed_addr constant [2 x i8] c")\00" +@.str2804 = private unnamed_addr constant [5 x i8] c"bool\00" +@.str2805 = private unnamed_addr constant [13 x i8] c"random_bytes\00" +@.str2806 = private unnamed_addr constant [11 x i8] c"random_hex\00" +@.str2807 = private unnamed_addr constant [10 x i8] c"sext i32 \00" +@.str2808 = private unnamed_addr constant [8 x i8] c" to i64\00" +@.str2809 = private unnamed_addr constant [29 x i8] c"call ptr @lp_random_hex(i64 \00" +@.str2810 = private unnamed_addr constant [2 x i8] c")\00" +@.str2811 = private unnamed_addr constant [7 x i8] c"string\00" +@.str2812 = private unnamed_addr constant [11 x i8] c"random_u32\00" +@.str2813 = private unnamed_addr constant [26 x i8] c"call i32 @lp_random_u32()\00" +@.str2814 = private unnamed_addr constant [4 x i8] c"int\00" +@.str2815 = private unnamed_addr constant [7 x i8] c"base64\00" +@.str2816 = private unnamed_addr constant [25 x i8] c"call ptr @lp_base64(ptr \00" +@.str2817 = private unnamed_addr constant [2 x i8] c")\00" +@.str2818 = private unnamed_addr constant [7 x i8] c"string\00" +@.str2819 = private unnamed_addr constant [34 x i8] c"call ptr @lp_hmac_sha256_hex(ptr \00" +@.str2820 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str2821 = private unnamed_addr constant [2 x i8] c")\00" +@.str2822 = private unnamed_addr constant [27 x i8] c"call i32 @lp_ct_streq(ptr \00" +@.str2823 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str2824 = private unnamed_addr constant [2 x i8] c")\00" +@.str2825 = private unnamed_addr constant [5 x i8] c"bool\00" +@.str2826 = 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" +@.str2827 = private unnamed_addr constant [41 x i8] c"define i32 @lp_rotr32(i32 %x, i32 %n) {\0A\00" +@.str2828 = 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" +@.str2829 = private unnamed_addr constant [60 x i8] c"define void @lp_sha256_buf(ptr %msg, i64 %len, ptr %out) {\0A\00" +@.str2830 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" +@.str2831 = private unnamed_addr constant [50 x i8] c" %H = alloca [8 x i32]\0A %W = alloca [64 x i32]\0A\00" +@.str2832 = 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" +@.str2833 = private unnamed_addr constant [39 x i8] c" %ip = alloca i64\0A %bp = alloca i64\0A\00" +@.str2834 = 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" +@.str2835 = private unnamed_addr constant [36 x i8] c" %buf = call ptr @malloc(i64 %pl)\0A\00" +@.str2836 = private unnamed_addr constant [46 x i8] c" call ptr @memset(ptr %buf, i32 0, i64 %pl)\0A\00" +@.str2837 = private unnamed_addr constant [50 x i8] c" call ptr @memcpy(ptr %buf, ptr %msg, i64 %len)\0A\00" +@.str2838 = private unnamed_addr constant [77 x i8] c" %pmark = getelementptr i8, ptr %buf, i64 %len\0A store i8 -128, ptr %pmark\0A\00" +@.str2839 = private unnamed_addr constant [27 x i8] c" %bits = shl i64 %len, 3\0A\00" +@.str2840 = private unnamed_addr constant [41 x i8] c" store i64 0, ptr %ip\0A br label %lenc\0A\00" +@.str2841 = 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" +@.str2842 = private unnamed_addr constant [7 x i8] c"lenb:\0A\00" +@.str2843 = 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" +@.str2844 = 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" +@.str2845 = 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" +@.str2846 = private unnamed_addr constant [8 x i8] c"hinit:\0A\00" +@.str2847 = 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" +@.str2848 = 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" +@.str2849 = 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" +@.str2850 = 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" +@.str2851 = 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" +@.str2852 = 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" +@.str2853 = 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" +@.str2854 = 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" +@.str2855 = 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" +@.str2856 = 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" +@.str2857 = 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" +@.str2858 = private unnamed_addr constant [40 x i8] c" store i64 0, ptr %ip\0A br label %w1c\0A\00" +@.str2859 = 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" +@.str2860 = private unnamed_addr constant [6 x i8] c"w1b:\0A\00" +@.str2861 = private unnamed_addr constant [25 x i8] c" %wi4 = shl i64 %wi, 2\0A\00" +@.str2862 = private unnamed_addr constant [75 x i8] c" %wp0 = getelementptr i8, ptr %base, i64 %wi4\0A %wc0 = load i8, ptr %wp0\0A\00" +@.str2863 = 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" +@.str2864 = 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" +@.str2865 = 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" +@.str2866 = 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" +@.str2867 = 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" +@.str2868 = 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" +@.str2869 = 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" +@.str2870 = 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" +@.str2871 = private unnamed_addr constant [49 x i8] c"w2init:\0A store i64 16, ptr %ip\0A br label %w2c\0A\00" +@.str2872 = 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" +@.str2873 = private unnamed_addr constant [6 x i8] c"w2b:\0A\00" +@.str2874 = 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" +@.str2875 = private unnamed_addr constant [119 x i8] c" %r7 = call i32 @lp_rotr32(i32 %w15, i32 7)\0A %r18 = call i32 @lp_rotr32(i32 %w15, i32 18)\0A %sh3 = lshr i32 %w15, 3\0A\00" +@.str2876 = private unnamed_addr constant [55 x i8] c" %x01 = xor i32 %r7, %r18\0A %s0 = xor i32 %x01, %sh3\0A\00" +@.str2877 = 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" +@.str2878 = private unnamed_addr constant [123 x i8] c" %r17 = call i32 @lp_rotr32(i32 %w2v, i32 17)\0A %r19 = call i32 @lp_rotr32(i32 %w2v, i32 19)\0A %sh10 = lshr i32 %w2v, 10\0A\00" +@.str2879 = private unnamed_addr constant [57 x i8] c" %x02 = xor i32 %r17, %r19\0A %s1 = xor i32 %x02, %sh10\0A\00" +@.str2880 = 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" +@.str2881 = 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" +@.str2882 = 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" +@.str2883 = 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" +@.str2884 = 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" +@.str2885 = private unnamed_addr constant [11 x i8] c"compinit:\0A\00" +@.str2886 = private unnamed_addr constant [53 x i8] c" %cv0 = load i32, ptr %H0\0A store i32 %cv0, ptr %a\0A\00" +@.str2887 = private unnamed_addr constant [53 x i8] c" %cv1 = load i32, ptr %H1\0A store i32 %cv1, ptr %b\0A\00" +@.str2888 = private unnamed_addr constant [53 x i8] c" %cv2 = load i32, ptr %H2\0A store i32 %cv2, ptr %c\0A\00" +@.str2889 = private unnamed_addr constant [53 x i8] c" %cv3 = load i32, ptr %H3\0A store i32 %cv3, ptr %d\0A\00" +@.str2890 = private unnamed_addr constant [53 x i8] c" %cv4 = load i32, ptr %H4\0A store i32 %cv4, ptr %e\0A\00" +@.str2891 = private unnamed_addr constant [53 x i8] c" %cv5 = load i32, ptr %H5\0A store i32 %cv5, ptr %f\0A\00" +@.str2892 = private unnamed_addr constant [53 x i8] c" %cv6 = load i32, ptr %H6\0A store i32 %cv6, ptr %g\0A\00" +@.str2893 = private unnamed_addr constant [53 x i8] c" %cv7 = load i32, ptr %H7\0A store i32 %cv7, ptr %h\0A\00" +@.str2894 = private unnamed_addr constant [39 x i8] c" store i64 0, ptr %ip\0A br label %rc\0A\00" +@.str2895 = 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" +@.str2896 = private unnamed_addr constant [5 x i8] c"rb:\0A\00" +@.str2897 = 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" +@.str2898 = 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" +@.str2899 = private unnamed_addr constant [137 x i8] c" %e6 = call i32 @lp_rotr32(i32 %ev, i32 6)\0A %e11 = call i32 @lp_rotr32(i32 %ev, i32 11)\0A %e25 = call i32 @lp_rotr32(i32 %ev, i32 25)\0A\00" +@.str2900 = private unnamed_addr constant [55 x i8] c" %S1a = xor i32 %e6, %e11\0A %S1 = xor i32 %S1a, %e25\0A\00" +@.str2901 = 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" +@.str2902 = 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" +@.str2903 = 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" +@.str2904 = 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" +@.str2905 = private unnamed_addr constant [138 x i8] c" %a2r = call i32 @lp_rotr32(i32 %av, i32 2)\0A %a13 = call i32 @lp_rotr32(i32 %av, i32 13)\0A %a22 = call i32 @lp_rotr32(i32 %av, i32 22)\0A\00" +@.str2906 = private unnamed_addr constant [56 x i8] c" %S0a = xor i32 %a2r, %a13\0A %S0 = xor i32 %S0a, %a22\0A\00" +@.str2907 = 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" +@.str2908 = private unnamed_addr constant [30 x i8] c" %temp2 = add i32 %S0, %maj\0A\00" +@.str2909 = 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" +@.str2910 = private unnamed_addr constant [57 x i8] c" %newe = add i32 %dv, %temp1\0A store i32 %newe, ptr %e\0A\00" +@.str2911 = 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" +@.str2912 = private unnamed_addr constant [60 x i8] c" %newa = add i32 %temp1, %temp2\0A store i32 %newa, ptr %a\0A\00" +@.str2913 = 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" +@.str2914 = private unnamed_addr constant [7 x i8] c"addH:\0A\00" +@.str2915 = 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" +@.str2916 = 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" +@.str2917 = 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" +@.str2918 = 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" +@.str2919 = 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" +@.str2920 = 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" +@.str2921 = 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" +@.str2922 = 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" +@.str2923 = 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" +@.str2924 = private unnamed_addr constant [45 x i8] c"outp:\0A store i64 0, ptr %ip\0A br label %oc\0A\00" +@.str2925 = 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" +@.str2926 = private unnamed_addr constant [5 x i8] c"ob:\0A\00" +@.str2927 = 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" +@.str2928 = 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" +@.str2929 = 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" +@.str2930 = 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" +@.str2931 = 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" +@.str2932 = 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" +@.str2933 = private unnamed_addr constant [49 x i8] c"freeb:\0A call void @free(ptr %buf)\0A ret void\0A}\0A\00" +@.str2934 = private unnamed_addr constant [35 x i8] c"define i8 @lp_hex_digit(i32 %d) {\0A\00" +@.str2935 = 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" +@.str2936 = private unnamed_addr constant [46 x i8] c"define ptr @lp_hex_encode(ptr %in, i64 %n) {\0A\00" +@.str2937 = 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" +@.str2938 = 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" +@.str2939 = 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" +@.str2940 = private unnamed_addr constant [127 x i8] c" %hi = lshr i32 %bz, 4\0A %lo = and i32 %bz, 15\0A %hc = call i8 @lp_hex_digit(i32 %hi)\0A %lc = call i8 @lp_hex_digit(i32 %lo)\0A\00" +@.str2941 = 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" +@.str2942 = 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" +@.str2943 = 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" +@.str2944 = private unnamed_addr constant [37 x i8] c"define ptr @lp_sha256_hex(ptr %s) {\0A\00" +@.str2945 = 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" +@.str2946 = private unnamed_addr constant [122 x i8] c" call void @lp_sha256_buf(ptr %s, i64 %len, ptr %dp)\0A %hex = call ptr @lp_hex_encode(ptr %dp, i64 32)\0A ret ptr %hex\0A}\0A\00" +@.str2947 = private unnamed_addr constant [34 x i8] c"define ptr @lp_str_hex(ptr %s) {\0A\00" +@.str2948 = private unnamed_addr constant [95 x i8] c" %n = call i64 @strlen(ptr %s)\0A %h = call ptr @lp_hex_encode(ptr %s, i64 %n)\0A ret ptr %h\0A}\0A\00" +@.str2949 = private unnamed_addr constant [55 x i8] c"define void @lp_xor64(ptr %dst, ptr %src, i32 %pad) {\0A\00" +@.str2950 = 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" +@.str2951 = 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" +@.str2952 = 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" +@.str2953 = private unnamed_addr constant [17 x i8] c"d:\0A ret void\0A}\0A\00" +@.str2954 = private unnamed_addr constant [54 x i8] c"define ptr @lp_hmac_sha256_hex(ptr %key, ptr %msg) {\0A\00" +@.str2955 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" +@.str2956 = 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" +@.str2957 = private unnamed_addr constant [75 x i8] c" %klen = call i64 @strlen(ptr %key)\0A %mlen = call i64 @strlen(ptr %msg)\0A\00" +@.str2958 = 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" +@.str2959 = private unnamed_addr constant [74 x i8] c" %big = icmp ugt i64 %klen, 64\0A br i1 %big, label %hashk, label %copyk\0A\00" +@.str2960 = private unnamed_addr constant [83 x i8] c"hashk:\0A call void @lp_sha256_buf(ptr %key, i64 %klen, ptr %k0p)\0A br label %pads\0A\00" +@.str2961 = 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" +@.str2962 = private unnamed_addr constant [7 x i8] c"pads:\0A\00" +@.str2963 = private unnamed_addr constant [70 x i8] c" %inlen = add i64 64, %mlen\0A %inbuf = call ptr @malloc(i64 %inlen)\0A\00" +@.str2964 = private unnamed_addr constant [53 x i8] c" call void @lp_xor64(ptr %inbuf, ptr %k0p, i32 54)\0A\00" +@.str2965 = 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" +@.str2966 = private unnamed_addr constant [157 x i8] c" %innerp = getelementptr [32 x i8], ptr %inner, i64 0, i64 0\0A call void @lp_sha256_buf(ptr %inbuf, i64 %inlen, ptr %innerp)\0A call void @free(ptr %inbuf)\0A\00" +@.str2967 = private unnamed_addr constant [113 x i8] c" %outp = getelementptr [96 x i8], ptr %outbuf, i64 0, i64 0\0A call void @lp_xor64(ptr %outp, ptr %k0p, i32 92)\0A\00" +@.str2968 = 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" +@.str2969 = private unnamed_addr constant [116 x i8] c" %finp = getelementptr [32 x i8], ptr %fin, i64 0, i64 0\0A call void @lp_sha256_buf(ptr %outp, i64 96, ptr %finp)\0A\00" +@.str2970 = private unnamed_addr constant [70 x i8] c" %hex = call ptr @lp_hex_encode(ptr %finp, i64 32)\0A ret ptr %hex\0A}\0A\00" +@.str2971 = private unnamed_addr constant [43 x i8] c"define i32 @lp_ct_streq(ptr %a, ptr %b) {\0A\00" +@.str2972 = 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" +@.str2973 = private unnamed_addr constant [17 x i8] c"ne:\0A ret i32 0\0A\00" +@.str2974 = 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" +@.str2975 = 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" +@.str2976 = 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" +@.str2977 = 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" +@.str2978 = 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" +@.str2979 = private unnamed_addr constant [66 x i8] c"@.ludic_rbmode = private unnamed_addr constant [3 x i8] c\22rb\5C00\22\0A\00" +@.str2980 = private unnamed_addr constant [126 x i8] c"@.ludic_b64tab = private unnamed_addr constant [64 x i8] c\22ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\22\0A\00" +@.str2981 = private unnamed_addr constant [50 x i8] c"define void @lp_secure_bytes(ptr %out, i64 %n) {\0A\00" +@.str2982 = private unnamed_addr constant [52 x i8] c"entry:\0A call ptr @memset(ptr %out, i32 0, i64 %n)\0A\00" +@.str2983 = private unnamed_addr constant [66 x i8] c" %fp = call ptr @fopen(ptr @.ludic_urandom, ptr @.ludic_rbmode)\0A\00" +@.str2984 = private unnamed_addr constant [75 x i8] c" %isnull = icmp eq ptr %fp, null\0A br i1 %isnull, label %fail, label %ok\0A\00" +@.str2985 = 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" +@.str2986 = private unnamed_addr constant [20 x i8] c"fail:\0A ret void\0A}\0A\00" +@.str2987 = private unnamed_addr constant [37 x i8] c"define ptr @lp_random_hex(i64 %n) {\0A\00" +@.str2988 = private unnamed_addr constant [89 x i8] c"entry:\0A %buf = call ptr @malloc(i64 %n)\0A call void @lp_secure_bytes(ptr %buf, i64 %n)\0A\00" +@.str2989 = private unnamed_addr constant [97 x i8] c" %hex = call ptr @lp_hex_encode(ptr %buf, i64 %n)\0A call void @free(ptr %buf)\0A ret ptr %hex\0A}\0A\00" +@.str2990 = private unnamed_addr constant [31 x i8] c"define i32 @lp_random_u32() {\0A\00" +@.str2991 = private unnamed_addr constant [129 x i8] c"entry:\0A %b = alloca [4 x i8]\0A %bp = getelementptr [4 x i8], ptr %b, i64 0, i64 0\0A call void @lp_secure_bytes(ptr %bp, i64 4)\0A\00" +@.str2992 = 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" +@.str2993 = 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" +@.str2994 = 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" +@.str2995 = 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" +@.str2996 = 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" +@.str2997 = private unnamed_addr constant [33 x i8] c"define ptr @lp_base64(ptr %s) {\0A\00" +@.str2998 = private unnamed_addr constant [40 x i8] c"entry:\0A %n = call i64 @strlen(ptr %s)\0A\00" +@.str2999 = 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" +@.str3000 = 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" +@.str3001 = 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" +@.str3002 = private unnamed_addr constant [60 x i8] c" %gp = alloca i64\0A store i64 0, ptr %gp\0A br label %cond\0A\00" +@.str3003 = 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" +@.str3004 = private unnamed_addr constant [30 x i8] c"body:\0A %i3 = mul i64 %gi, 3\0A\00" +@.str3005 = 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" +@.str3006 = 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" +@.str3007 = 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" +@.str3008 = private unnamed_addr constant [25 x i8] c" %e0 = lshr i32 %b0, 2\0A\00" +@.str3009 = 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" +@.str3010 = 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" +@.str3011 = private unnamed_addr constant [25 x i8] c" %e3 = and i32 %b2, 63\0A\00" +@.str3012 = private unnamed_addr constant [24 x i8] c" %o4 = mul i64 %gi, 4\0A\00" +@.str3013 = 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" +@.str3014 = 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" +@.str3015 = 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" +@.str3016 = 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" +@.str3017 = 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" +@.str3018 = 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" +@.str3019 = 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" +@.str3020 = private unnamed_addr constant [69 x i8] c" %eq = getelementptr i8, ptr %out, i64 %olen\0A store i8 0, ptr %eq\0A\00" +@.str3021 = private unnamed_addr constant [41 x i8] c" br i1 %r1, label %pad1, label %maybe2\0A\00" +@.str3022 = 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" +@.str3023 = private unnamed_addr constant [47 x i8] c"maybe2:\0A br i1 %r2, label %pad2, label %done\0A\00" +@.str3024 = 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" +@.str3025 = private unnamed_addr constant [54 x i8] c"done:\0A call void @free(ptr %inbuf)\0A ret ptr %out\0A}\0A\00" +@.str3026 = private unnamed_addr constant [4 x i8] c"new\00" +@.str3027 = private unnamed_addr constant [3 x i8] c"v4\00" +@.str3028 = private unnamed_addr constant [7 x i8] c"new_v7\00" +@.str3029 = private unnamed_addr constant [3 x i8] c"v7\00" +@.str3030 = private unnamed_addr constant [6 x i8] c"parse\00" +@.str3031 = private unnamed_addr constant [9 x i8] c"is_valid\00" +@.str3032 = private unnamed_addr constant [8 x i8] c"to_text\00" +@.str3033 = private unnamed_addr constant [7 x i8] c"equals\00" +@.str3034 = private unnamed_addr constant [4 x i8] c"nil\00" +@.str3035 = private unnamed_addr constant [4 x i8] c"new\00" +@.str3036 = private unnamed_addr constant [3 x i8] c"v4\00" +@.str3037 = private unnamed_addr constant [23 x i8] c"call ptr @lp_uuid_v4()\00" +@.str3038 = private unnamed_addr constant [7 x i8] c"string\00" +@.str3039 = private unnamed_addr constant [7 x i8] c"new_v7\00" +@.str3040 = private unnamed_addr constant [3 x i8] c"v7\00" +@.str3041 = private unnamed_addr constant [23 x i8] c"call ptr @lp_uuid_v7()\00" +@.str3042 = private unnamed_addr constant [7 x i8] c"string\00" +@.str3043 = private unnamed_addr constant [4 x i8] c"nil\00" +@.str3044 = private unnamed_addr constant [24 x i8] c"call ptr @lp_uuid_nil()\00" +@.str3045 = private unnamed_addr constant [7 x i8] c"string\00" +@.str3046 = private unnamed_addr constant [9 x i8] c"is_valid\00" +@.str3047 = private unnamed_addr constant [29 x i8] c"call i32 @lp_uuid_valid(ptr \00" +@.str3048 = private unnamed_addr constant [2 x i8] c")\00" +@.str3049 = private unnamed_addr constant [5 x i8] c"bool\00" +@.str3050 = private unnamed_addr constant [8 x i8] c"to_text\00" +@.str3051 = private unnamed_addr constant [7 x i8] c"string\00" +@.str3052 = private unnamed_addr constant [7 x i8] c"equals\00" +@.str3053 = private unnamed_addr constant [26 x i8] c"call i32 @lp_uuid_eq(ptr \00" +@.str3054 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str3055 = private unnamed_addr constant [2 x i8] c")\00" +@.str3056 = private unnamed_addr constant [5 x i8] c"bool\00" +@.str3057 = private unnamed_addr constant [29 x i8] c"call ptr @lp_uuid_parse(ptr \00" +@.str3058 = private unnamed_addr constant [2 x i8] c")\00" +@.str3059 = private unnamed_addr constant [7 x i8] c"string\00" +@.str3060 = private unnamed_addr constant [40 x i8] c"define ptr @lp_uuid_format(ptr %b16) {\0A\00" +@.str3061 = private unnamed_addr constant [93 x i8] c"entry:\0A %hex = call ptr @lp_hex_encode(ptr %b16, i64 16)\0A %out = call ptr @malloc(i64 37)\0A\00" +@.str3062 = private unnamed_addr constant [47 x i8] c" call ptr @memcpy(ptr %out, ptr %hex, i64 8)\0A\00" +@.str3063 = private unnamed_addr constant [66 x i8] c" %o8 = getelementptr i8, ptr %out, i64 8\0A store i8 45, ptr %o8\0A\00" +@.str3064 = 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" +@.str3065 = private unnamed_addr constant [69 x i8] c" %o13 = getelementptr i8, ptr %out, i64 13\0A store i8 45, ptr %o13\0A\00" +@.str3066 = 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" +@.str3067 = private unnamed_addr constant [69 x i8] c" %o18 = getelementptr i8, ptr %out, i64 18\0A store i8 45, ptr %o18\0A\00" +@.str3068 = 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" +@.str3069 = private unnamed_addr constant [69 x i8] c" %o23 = getelementptr i8, ptr %out, i64 23\0A store i8 45, ptr %o23\0A\00" +@.str3070 = 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" +@.str3071 = private unnamed_addr constant [68 x i8] c" %o36 = getelementptr i8, ptr %out, i64 36\0A store i8 0, ptr %o36\0A\00" +@.str3072 = private unnamed_addr constant [46 x i8] c" call void @free(ptr %hex)\0A ret ptr %out\0A}\0A\00" +@.str3073 = private unnamed_addr constant [28 x i8] c"define ptr @lp_uuid_v4() {\0A\00" +@.str3074 = private unnamed_addr constant [132 x i8] c"entry:\0A %b = alloca [16 x i8]\0A %bp = getelementptr [16 x i8], ptr %b, i64 0, i64 0\0A call void @lp_secure_bytes(ptr %bp, i64 16)\0A\00" +@.str3075 = 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" +@.str3076 = 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" +@.str3077 = private unnamed_addr constant [57 x i8] c" %s = call ptr @lp_uuid_format(ptr %bp)\0A ret ptr %s\0A}\0A\00" +@.str3078 = private unnamed_addr constant [28 x i8] c"define ptr @lp_uuid_v7() {\0A\00" +@.str3079 = private unnamed_addr constant [132 x i8] c"entry:\0A %b = alloca [16 x i8]\0A %bp = getelementptr [16 x i8], ptr %b, i64 0, i64 0\0A call void @lp_secure_bytes(ptr %bp, i64 16)\0A\00" +@.str3080 = private unnamed_addr constant [58 x i8] c" %t = call i64 @time(ptr null)\0A %ms = mul i64 %t, 1000\0A\00" +@.str3081 = 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" +@.str3082 = 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" +@.str3083 = 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" +@.str3084 = 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" +@.str3085 = 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" +@.str3086 = 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" +@.str3087 = 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" +@.str3088 = 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" +@.str3089 = private unnamed_addr constant [57 x i8] c" %s = call ptr @lp_uuid_format(ptr %bp)\0A ret ptr %s\0A}\0A\00" +@.str3090 = private unnamed_addr constant [29 x i8] c"define ptr @lp_uuid_nil() {\0A\00" +@.str3091 = 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" +@.str3092 = private unnamed_addr constant [66 x i8] c" %o8 = getelementptr i8, ptr %out, i64 8\0A store i8 45, ptr %o8\0A\00" +@.str3093 = private unnamed_addr constant [69 x i8] c" %o13 = getelementptr i8, ptr %out, i64 13\0A store i8 45, ptr %o13\0A\00" +@.str3094 = private unnamed_addr constant [69 x i8] c" %o18 = getelementptr i8, ptr %out, i64 18\0A store i8 45, ptr %o18\0A\00" +@.str3095 = private unnamed_addr constant [69 x i8] c" %o23 = getelementptr i8, ptr %out, i64 23\0A store i8 45, ptr %o23\0A\00" +@.str3096 = 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" +@.str3097 = private unnamed_addr constant [37 x i8] c"define i32 @lp_uuid_valid(ptr %s) {\0A\00" +@.str3098 = 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" +@.str3099 = 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" +@.str3100 = 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" +@.str3101 = 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" +@.str3102 = 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" +@.str3103 = 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" +@.str3104 = 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" +@.str3105 = private unnamed_addr constant [8 x i8] c"ckhex:\0A\00" +@.str3106 = 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" +@.str3107 = 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" +@.str3108 = 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" +@.str3109 = 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" +@.str3110 = 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" +@.str3111 = private unnamed_addr constant [19 x i8] c"good:\0A ret i32 1\0A\00" +@.str3112 = private unnamed_addr constant [20 x i8] c"bad:\0A ret i32 0\0A}\0A\00" +@.str3113 = private unnamed_addr constant [42 x i8] c"define i32 @lp_uuid_eq(ptr %a, ptr %b) {\0A\00" +@.str3114 = 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" +@.str3115 = 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" +@.str3116 = 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" +@.str3117 = 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" +@.str3118 = 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" +@.str3119 = 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" +@.str3120 = private unnamed_addr constant [71 x i8] c" %same = icmp eq i8 %cal, %cbl\0A br i1 %same, label %next, label %ne\0A\00" +@.str3121 = 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" +@.str3122 = private unnamed_addr constant [20 x i8] c"eqret:\0A ret i32 1\0A\00" +@.str3123 = private unnamed_addr constant [19 x i8] c"ne:\0A ret i32 0\0A}\0A\00" +@.str3124 = private unnamed_addr constant [37 x i8] c"define ptr @lp_uuid_parse(ptr %s) {\0A\00" +@.str3125 = private unnamed_addr constant [116 x i8] c"entry:\0A %ok = call i32 @lp_uuid_valid(ptr %s)\0A %isok = icmp ne i32 %ok, 0\0A br i1 %isok, label %dup, label %nilb\0A\00" +@.str3126 = 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" +@.str3127 = 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" +@.str3128 = 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" +@.str3129 = 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" +@.str3130 = private unnamed_addr constant [68 x i8] c" %op = getelementptr i8, ptr %out, i64 %i\0A store i8 %cl, ptr %op\0A\00" +@.str3131 = 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" +@.str3132 = 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" +@.str3133 = private unnamed_addr constant [55 x i8] c"nilb:\0A %nn = call ptr @lp_uuid_nil()\0A ret ptr %nn\0A}\0A\00" +@.str3134 = private unnamed_addr constant [7 x i8] c"value2\00" +@.str3135 = private unnamed_addr constant [8 x i8] c"perlin2\00" +@.str3136 = private unnamed_addr constant [9 x i8] c"simplex2\00" +@.str3137 = private unnamed_addr constant [5 x i8] c"fbm2\00" +@.str3138 = private unnamed_addr constant [10 x i8] c"cellular2\00" +@.str3139 = private unnamed_addr constant [13 x i8] c"cellular2_id\00" +@.str3140 = private unnamed_addr constant [5 x i8] c"unit\00" +@.str3141 = private unnamed_addr constant [5 x i8] c"unit\00" +@.str3142 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" +@.str3143 = private unnamed_addr constant [4 x i8] c", 1\00" +@.str3144 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str3145 = private unnamed_addr constant [8 x i8] c", 32768\00" +@.str3146 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str3147 = private unnamed_addr constant [7 x i8] c"value2\00" +@.str3148 = private unnamed_addr constant [31 x i8] c"call i32 @lp_noise_value2(i32 \00" +@.str3149 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str3150 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str3151 = private unnamed_addr constant [2 x i8] c")\00" +@.str3152 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str3153 = private unnamed_addr constant [8 x i8] c"perlin2\00" +@.str3154 = private unnamed_addr constant [32 x i8] c"call i32 @lp_noise_perlin2(i32 \00" +@.str3155 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str3156 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str3157 = private unnamed_addr constant [2 x i8] c")\00" +@.str3158 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str3159 = private unnamed_addr constant [9 x i8] c"simplex2\00" +@.str3160 = private unnamed_addr constant [33 x i8] c"call i32 @lp_noise_simplex2(i32 \00" +@.str3161 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str3162 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str3163 = private unnamed_addr constant [2 x i8] c")\00" +@.str3164 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str3165 = private unnamed_addr constant [5 x i8] c"fbm2\00" +@.str3166 = private unnamed_addr constant [29 x i8] c"call i32 @lp_noise_fbm2(i32 \00" +@.str3167 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str3168 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str3169 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str3170 = private unnamed_addr constant [2 x i8] c")\00" +@.str3171 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str3172 = private unnamed_addr constant [10 x i8] c"cellular2\00" +@.str3173 = private unnamed_addr constant [34 x i8] c"call i32 @lp_noise_cellular2(i32 \00" +@.str3174 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str3175 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str3176 = private unnamed_addr constant [2 x i8] c")\00" +@.str3177 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str3178 = private unnamed_addr constant [37 x i8] c"call i32 @lp_noise_cellular2_id(i32 \00" +@.str3179 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str3180 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str3181 = private unnamed_addr constant [2 x i8] c")\00" +@.str3182 = private unnamed_addr constant [4 x i8] c"int\00" +@.str3183 = private unnamed_addr constant [42 x i8] c"define i32 @lp_nfx_mul(i32 %a, i32 %b) {\0A\00" +@.str3184 = 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" +@.str3185 = private unnamed_addr constant [42 x i8] c"define i32 @lp_nfx_div(i32 %a, i32 %b) {\0A\00" +@.str3186 = private unnamed_addr constant [61 x i8] c" %z = icmp eq i32 %b, 0\0A br i1 %z, label %zero, label %go\0A\00" +@.str3187 = private unnamed_addr constant [19 x i8] c"zero:\0A ret i32 0\0A\00" +@.str3188 = 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" +@.str3189 = private unnamed_addr constant [51 x i8] c"define i32 @lp_nfx_lerp(i32 %a, i32 %b, i32 %t) {\0A\00" +@.str3190 = private unnamed_addr constant [106 x i8] c" %d = sub i32 %b, %a\0A %dt = call i32 @lp_nfx_mul(i32 %d, i32 %t)\0A %r = add i32 %a, %dt\0A ret i32 %r\0A}\0A\00" +@.str3191 = private unnamed_addr constant [38 x i8] c"define i32 @lp_noise_clamp(i32 %v) {\0A\00" +@.str3192 = 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" +@.str3193 = private unnamed_addr constant [58 x i8] c"define i32 @lp_noise_hash(i32 %seed, i32 %xi, i32 %yi) {\0A\00" +@.str3194 = 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" +@.str3195 = 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" +@.str3196 = 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" +@.str3197 = 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" +@.str3198 = private unnamed_addr constant [37 x i8] c"define i32 @lp_noise_fade(i32 %t) {\0A\00" +@.str3199 = private unnamed_addr constant [92 x i8] c" %t2 = call i32 @lp_nfx_mul(i32 %t, i32 %t)\0A %t3 = call i32 @lp_nfx_mul(i32 %t2, i32 %t)\0A\00" +@.str3200 = private unnamed_addr constant [93 x i8] c" %t4 = call i32 @lp_nfx_mul(i32 %t3, i32 %t)\0A %t5 = call i32 @lp_nfx_mul(i32 %t4, i32 %t)\0A\00" +@.str3201 = 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" +@.str3202 = 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" +@.str3203 = private unnamed_addr constant [58 x i8] c"define i32 @lp_noise_value2(i32 %x, i32 %y, i32 %seed) {\0A\00" +@.str3204 = 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" +@.str3205 = private unnamed_addr constant [81 x i8] c" %u = call i32 @lp_noise_fade(i32 %xf)\0A %v = call i32 @lp_noise_fade(i32 %yf)\0A\00" +@.str3206 = private unnamed_addr constant [49 x i8] c" %xi1 = add i32 %xi, 1\0A %yi1 = add i32 %yi, 1\0A\00" +@.str3207 = private unnamed_addr constant [122 x i8] c" %h00 = call i32 @lp_noise_hash(i32 %seed, i32 %xi, i32 %yi)\0A %m00 = and i32 %h00, 131071\0A %n00 = sub i32 %m00, 65536\0A\00" +@.str3208 = private unnamed_addr constant [123 x i8] c" %h10 = call i32 @lp_noise_hash(i32 %seed, i32 %xi1, i32 %yi)\0A %m10 = and i32 %h10, 131071\0A %n10 = sub i32 %m10, 65536\0A\00" +@.str3209 = private unnamed_addr constant [123 x i8] c" %h01 = call i32 @lp_noise_hash(i32 %seed, i32 %xi, i32 %yi1)\0A %m01 = and i32 %h01, 131071\0A %n01 = sub i32 %m01, 65536\0A\00" +@.str3210 = private unnamed_addr constant [124 x i8] c" %h11 = call i32 @lp_noise_hash(i32 %seed, i32 %xi1, i32 %yi1)\0A %m11 = and i32 %h11, 131071\0A %n11 = sub i32 %m11, 65536\0A\00" +@.str3211 = private unnamed_addr constant [115 x i8] c" %a = call i32 @lp_nfx_lerp(i32 %n00, i32 %n10, i32 %u)\0A %b = call i32 @lp_nfx_lerp(i32 %n01, i32 %n11, i32 %u)\0A\00" +@.str3212 = private unnamed_addr constant [109 x i8] c" %n = call i32 @lp_nfx_lerp(i32 %a, i32 %b, i32 %v)\0A %r = call i32 @lp_noise_clamp(i32 %n)\0A ret i32 %r\0A}\0A\00" +@.str3213 = 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" +@.str3214 = private unnamed_addr constant [59 x i8] c"define i32 @lp_noise_grad2(i32 %hash, i32 %dx, i32 %dy) {\0A\00" +@.str3215 = 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" +@.str3216 = 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" +@.str3217 = 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" +@.str3218 = private unnamed_addr constant [134 x i8] c" %px = call i32 @lp_nfx_mul(i32 %gx, i32 %dx)\0A %py = call i32 @lp_nfx_mul(i32 %gy, i32 %dy)\0A %r = add i32 %px, %py\0A ret i32 %r\0A}\0A\00" +@.str3219 = private unnamed_addr constant [59 x i8] c"define i32 @lp_noise_perlin2(i32 %x, i32 %y, i32 %seed) {\0A\00" +@.str3220 = 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" +@.str3221 = private unnamed_addr constant [57 x i8] c" %xf1 = sub i32 %xf, 65536\0A %yf1 = sub i32 %yf, 65536\0A\00" +@.str3222 = private unnamed_addr constant [81 x i8] c" %u = call i32 @lp_noise_fade(i32 %xf)\0A %v = call i32 @lp_noise_fade(i32 %yf)\0A\00" +@.str3223 = private unnamed_addr constant [49 x i8] c" %xi1 = add i32 %xi, 1\0A %yi1 = add i32 %yi, 1\0A\00" +@.str3224 = private unnamed_addr constant [126 x i8] c" %h00 = call i32 @lp_noise_hash(i32 %seed, i32 %xi, i32 %yi)\0A %h10 = call i32 @lp_noise_hash(i32 %seed, i32 %xi1, i32 %yi)\0A\00" +@.str3225 = private unnamed_addr constant [128 x i8] c" %h01 = call i32 @lp_noise_hash(i32 %seed, i32 %xi, i32 %yi1)\0A %h11 = call i32 @lp_noise_hash(i32 %seed, i32 %xi1, i32 %yi1)\0A\00" +@.str3226 = private unnamed_addr constant [126 x i8] c" %g00 = call i32 @lp_noise_grad2(i32 %h00, i32 %xf, i32 %yf)\0A %g10 = call i32 @lp_noise_grad2(i32 %h10, i32 %xf1, i32 %yf)\0A\00" +@.str3227 = private unnamed_addr constant [128 x i8] c" %g01 = call i32 @lp_noise_grad2(i32 %h01, i32 %xf, i32 %yf1)\0A %g11 = call i32 @lp_noise_grad2(i32 %h11, i32 %xf1, i32 %yf1)\0A\00" +@.str3228 = private unnamed_addr constant [115 x i8] c" %a = call i32 @lp_nfx_lerp(i32 %g00, i32 %g10, i32 %u)\0A %b = call i32 @lp_nfx_lerp(i32 %g01, i32 %g11, i32 %u)\0A\00" +@.str3229 = private unnamed_addr constant [158 x i8] c" %n = call i32 @lp_nfx_lerp(i32 %a, i32 %b, i32 %v)\0A %sc = call i32 @lp_nfx_mul(i32 %n, i32 92682)\0A %r = call i32 @lp_noise_clamp(i32 %sc)\0A ret i32 %r\0A}\0A\00" +@.str3230 = private unnamed_addr constant [61 x i8] c"define i32 @lp_noise_scorner(i32 %hash, i32 %dx, i32 %dy) {\0A\00" +@.str3231 = private unnamed_addr constant [95 x i8] c" %xx = call i32 @lp_nfx_mul(i32 %dx, i32 %dx)\0A %yy = call i32 @lp_nfx_mul(i32 %dy, i32 %dy)\0A\00" +@.str3232 = 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" +@.str3233 = private unnamed_addr constant [19 x i8] c"zero:\0A ret i32 0\0A\00" +@.str3234 = private unnamed_addr constant [97 x i8] c"go:\0A %t2 = call i32 @lp_nfx_mul(i32 %t, i32 %t)\0A %t4 = call i32 @lp_nfx_mul(i32 %t2, i32 %t2)\0A\00" +@.str3235 = private unnamed_addr constant [122 x i8] c" %g = call i32 @lp_noise_grad2(i32 %hash, i32 %dx, i32 %dy)\0A %r = call i32 @lp_nfx_mul(i32 %t4, i32 %g)\0A ret i32 %r\0A}\0A\00" +@.str3236 = private unnamed_addr constant [60 x i8] c"define i32 @lp_noise_simplex2(i32 %x, i32 %y, i32 %seed) {\0A\00" +@.str3237 = private unnamed_addr constant [79 x i8] c" %sum0 = add i32 %x, %y\0A %skew = call i32 @lp_nfx_mul(i32 %sum0, i32 23994)\0A\00" +@.str3238 = 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" +@.str3239 = private unnamed_addr constant [51 x i8] c" %ij = add i32 %i, %j\0A %tt = mul i32 %ij, 13849\0A\00" +@.str3240 = private unnamed_addr constant [49 x i8] c" %if0 = shl i32 %i, 16\0A %jf0 = shl i32 %j, 16\0A\00" +@.str3241 = 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" +@.str3242 = 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" +@.str3243 = private unnamed_addr constant [51 x i8] c" %i1f = shl i32 %i1, 16\0A %j1f = shl i32 %j1, 16\0A\00" +@.str3244 = 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" +@.str3245 = 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" +@.str3246 = 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" +@.str3247 = private unnamed_addr constant [187 x i8] c" %gi0 = call i32 @lp_noise_hash(i32 %seed, i32 %i, i32 %j)\0A %gi1 = call i32 @lp_noise_hash(i32 %seed, i32 %i1p, i32 %j1p)\0A %gi2 = call i32 @lp_noise_hash(i32 %seed, i32 %i2, i32 %j2)\0A\00" +@.str3248 = private unnamed_addr constant [190 x i8] c" %n0 = call i32 @lp_noise_scorner(i32 %gi0, i32 %x0, i32 %y0)\0A %n1 = call i32 @lp_noise_scorner(i32 %gi1, i32 %x1, i32 %y1)\0A %n2 = call i32 @lp_noise_scorner(i32 %gi2, i32 %x2, i32 %y2)\0A\00" +@.str3249 = private unnamed_addr constant [51 x i8] c" %sa = add i32 %n0, %n1\0A %sb = add i32 %sa, %n2\0A\00" +@.str3250 = private unnamed_addr constant [81 x i8] c" %sc = mul i32 %sb, 45\0A %r = call i32 @lp_noise_clamp(i32 %sc)\0A ret i32 %r\0A}\0A\00" +@.str3251 = private unnamed_addr constant [66 x i8] c"define i32 @lp_noise_fbm2(i32 %x, i32 %y, i32 %seed, i32 %oct) {\0A\00" +@.str3252 = 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" +@.str3253 = 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" +@.str3254 = 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" +@.str3255 = private unnamed_addr constant [67 x i8] c"body:\0A %freq = load i32, ptr %freqp\0A %amp = load i32, ptr %ampp\0A\00" +@.str3256 = private unnamed_addr constant [97 x i8] c" %fx = call i32 @lp_nfx_mul(i32 %x, i32 %freq)\0A %fy = call i32 @lp_nfx_mul(i32 %y, i32 %freq)\0A\00" +@.str3257 = private unnamed_addr constant [89 x i8] c" %so = add i32 %seed, %o\0A %n = call i32 @lp_noise_simplex2(i32 %fx, i32 %fy, i32 %so)\0A\00" +@.str3258 = private unnamed_addr constant [134 x i8] c" %na = call i32 @lp_nfx_mul(i32 %n, i32 %amp)\0A %sum = load i32, ptr %sump\0A %sum2 = add i32 %sum, %na\0A store i32 %sum2, ptr %sump\0A\00" +@.str3259 = 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" +@.str3260 = private unnamed_addr constant [82 x i8] c" %amp2 = call i32 @lp_nfx_mul(i32 %amp, i32 32768)\0A store i32 %amp2, ptr %ampp\0A\00" +@.str3261 = private unnamed_addr constant [87 x i8] c" %freq2 = call i32 @lp_nfx_mul(i32 %freq, i32 131072)\0A store i32 %freq2, ptr %freqp\0A\00" +@.str3262 = 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" +@.str3263 = private unnamed_addr constant [69 x i8] c"done:\0A %fsum = load i32, ptr %sump\0A %fnorm = load i32, ptr %normp\0A\00" +@.str3264 = private unnamed_addr constant [65 x i8] c" %nz = icmp eq i32 %fnorm, 0\0A br i1 %nz, label %z, label %div\0A\00" +@.str3265 = private unnamed_addr constant [16 x i8] c"z:\0A ret i32 0\0A\00" +@.str3266 = private unnamed_addr constant [112 x i8] c"div:\0A %d = call i32 @lp_nfx_div(i32 %fsum, i32 %fnorm)\0A %r = call i32 @lp_noise_clamp(i32 %d)\0A ret i32 %r\0A}\0A\00" +@.str3267 = private unnamed_addr constant [86 x i8] c"define void @lp_noise_cell_scan(i32 %x, i32 %y, i32 %seed, ptr %d2out, ptr %idout) {\0A\00" +@.str3268 = private unnamed_addr constant [56 x i8] c"entry:\0A %xi = ashr i32 %x, 16\0A %yi = ashr i32 %y, 16\0A\00" +@.str3269 = 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" +@.str3270 = 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" +@.str3271 = 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" +@.str3272 = private unnamed_addr constant [45 x i8] c"yb:\0A store i32 -1, ptr %dxp\0A br label %xc\0A\00" +@.str3273 = 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" +@.str3274 = private unnamed_addr constant [55 x i8] c"xb:\0A %cx = add i32 %xi, %ox\0A %cy = add i32 %yi, %oy\0A\00" +@.str3275 = private unnamed_addr constant [61 x i8] c" %h = call i32 @lp_noise_hash(i32 %seed, i32 %cx, i32 %cy)\0A\00" +@.str3276 = 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" +@.str3277 = 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" +@.str3278 = private unnamed_addr constant [53 x i8] c" %ddx = sub i32 %pxr, %x\0A %ddy = sub i32 %pyr, %y\0A\00" +@.str3279 = private unnamed_addr constant [128 x i8] c" %dxx = call i32 @lp_nfx_mul(i32 %ddx, i32 %ddx)\0A %dyy = call i32 @lp_nfx_mul(i32 %ddy, i32 %ddy)\0A %d2 = add i32 %dxx, %dyy\0A\00" +@.str3280 = 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" +@.str3281 = 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" +@.str3282 = 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" +@.str3283 = 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" +@.str3284 = 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" +@.str3285 = private unnamed_addr constant [61 x i8] c"define i32 @lp_noise_cellular2(i32 %x, i32 %y, i32 %seed) {\0A\00" +@.str3286 = private unnamed_addr constant [116 x i8] c" %d2 = alloca i32\0A %id = alloca i32\0A call void @lp_noise_cell_scan(i32 %x, i32 %y, i32 %seed, ptr %d2, ptr %id)\0A\00" +@.str3287 = private unnamed_addr constant [77 x i8] c" %v = load i32, ptr %d2\0A %r = call i32 @lp_fx_sqrt(i32 %v)\0A ret i32 %r\0A}\0A\00" +@.str3288 = private unnamed_addr constant [64 x i8] c"define i32 @lp_noise_cellular2_id(i32 %x, i32 %y, i32 %seed) {\0A\00" +@.str3289 = private unnamed_addr constant [116 x i8] c" %d2 = alloca i32\0A %id = alloca i32\0A call void @lp_noise_cell_scan(i32 %x, i32 %y, i32 %seed, ptr %d2, ptr %id)\0A\00" +@.str3290 = private unnamed_addr constant [41 x i8] c" %r = load i32, ptr %id\0A ret i32 %r\0A}\0A\00" +@.str3291 = private unnamed_addr constant [6 x i8] c"trace\00" +@.str3292 = private unnamed_addr constant [6 x i8] c"debug\00" +@.str3293 = private unnamed_addr constant [5 x i8] c"info\00" +@.str3294 = private unnamed_addr constant [5 x i8] c"warn\00" +@.str3295 = private unnamed_addr constant [6 x i8] c"error\00" +@.str3296 = private unnamed_addr constant [10 x i8] c"set_level\00" +@.str3297 = private unnamed_addr constant [6 x i8] c"level\00" +@.str3298 = private unnamed_addr constant [4 x i8] c"ptr\00" +@.str3299 = private unnamed_addr constant [4 x i8] c"i64\00" +@.str3300 = private unnamed_addr constant [27 x i8] c"call ptr @lp_long_str(i64 \00" +@.str3301 = private unnamed_addr constant [2 x i8] c")\00" +@.str3302 = private unnamed_addr constant [26 x i8] c"call ptr @lp_int_str(i32 \00" +@.str3303 = private unnamed_addr constant [2 x i8] c")\00" +@.str3304 = private unnamed_addr constant [10 x i8] c"set_level\00" +@.str3305 = private unnamed_addr constant [13 x i8] c" store i32 \00" +@.str3306 = private unnamed_addr constant [20 x i8] c", ptr @L_log_level\0A\00" +@.str3307 = private unnamed_addr constant [2 x i8] c"0\00" +@.str3308 = private unnamed_addr constant [5 x i8] c"void\00" +@.str3309 = private unnamed_addr constant [6 x i8] c"level\00" +@.str3310 = private unnamed_addr constant [27 x i8] c"load i32, ptr @L_log_level\00" +@.str3311 = private unnamed_addr constant [4 x i8] c"int\00" +@.str3312 = private unnamed_addr constant [2 x i8] c"2\00" +@.str3313 = private unnamed_addr constant [8 x i8] c"[INFO] \00" +@.str3314 = private unnamed_addr constant [6 x i8] c"trace\00" +@.str3315 = private unnamed_addr constant [2 x i8] c"0\00" +@.str3316 = private unnamed_addr constant [9 x i8] c"[TRACE] \00" +@.str3317 = private unnamed_addr constant [6 x i8] c"debug\00" +@.str3318 = private unnamed_addr constant [2 x i8] c"1\00" +@.str3319 = private unnamed_addr constant [9 x i8] c"[DEBUG] \00" +@.str3320 = private unnamed_addr constant [5 x i8] c"warn\00" +@.str3321 = private unnamed_addr constant [2 x i8] c"3\00" +@.str3322 = private unnamed_addr constant [8 x i8] c"[WARN] \00" +@.str3323 = private unnamed_addr constant [6 x i8] c"error\00" +@.str3324 = private unnamed_addr constant [2 x i8] c"4\00" +@.str3325 = private unnamed_addr constant [9 x i8] c"[ERROR] \00" +@.str3326 = private unnamed_addr constant [7 x i8] c"string\00" +@.str3327 = private unnamed_addr constant [2 x i8] c"+\00" +@.str3328 = private unnamed_addr constant [7 x i8] c"string\00" +@.str3329 = private unnamed_addr constant [2 x i8] c"+\00" +@.str3330 = private unnamed_addr constant [2 x i8] c" \00" +@.str3331 = private unnamed_addr constant [7 x i8] c"string\00" +@.str3332 = private unnamed_addr constant [2 x i8] c"+\00" +@.str3333 = private unnamed_addr constant [7 x i8] c"string\00" +@.str3334 = private unnamed_addr constant [2 x i8] c"+\00" +@.str3335 = private unnamed_addr constant [2 x i8] c"=\00" +@.str3336 = private unnamed_addr constant [7 x i8] c"string\00" +@.str3337 = private unnamed_addr constant [2 x i8] c"+\00" +@.str3338 = private unnamed_addr constant [7 x i8] c"string\00" +@.str3339 = private unnamed_addr constant [30 x i8] c" call void @lp_log_emit(i32 \00" +@.str3340 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str3341 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str3342 = private unnamed_addr constant [2 x i8] c"0\00" +@.str3343 = private unnamed_addr constant [5 x i8] c"void\00" +@.str3344 = private unnamed_addr constant [29 x i8] c"@L_log_level = global i32 0\0A\00" +@.str3345 = private unnamed_addr constant [61 x i8] c"@.log_nl = private unnamed_addr constant [2 x i8] c\22\5C0A\5C00\22\0A\00" +@.str3346 = private unnamed_addr constant [46 x i8] c"define void @lp_log_emit(i32 %lvl, ptr %s) {\0A\00" +@.str3347 = 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" +@.str3348 = private unnamed_addr constant [12 x i8] c"go:\0A %e = \00" +@.str3349 = private unnamed_addr constant [34 x i8] c"\0A %n = call i64 @strlen(ptr %s)\0A\00" +@.str3350 = 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" +@.str3351 = private unnamed_addr constant [20 x i8] c"done:\0A ret void\0A}\0A\00" +@.str3352 = private unnamed_addr constant [5 x i8] c"args\00" +@.str3353 = private unnamed_addr constant [10 x i8] c"arg_count\00" +@.str3354 = private unnamed_addr constant [4 x i8] c"arg\00" +@.str3355 = private unnamed_addr constant [4 x i8] c"env\00" +@.str3356 = private unnamed_addr constant [7 x i8] c"env_or\00" +@.str3357 = private unnamed_addr constant [8 x i8] c"has_env\00" +@.str3358 = private unnamed_addr constant [8 x i8] c"set_env\00" +@.str3359 = private unnamed_addr constant [10 x i8] c"unset_env\00" +@.str3360 = private unnamed_addr constant [5 x i8] c"exit\00" +@.str3361 = private unnamed_addr constant [4 x i8] c"pid\00" +@.str3362 = private unnamed_addr constant [9 x i8] c"platform\00" +@.str3363 = private unnamed_addr constant [5 x i8] c"arch\00" +@.str3364 = private unnamed_addr constant [13 x i8] c"stdout_write\00" +@.str3365 = private unnamed_addr constant [13 x i8] c"stderr_write\00" +@.str3366 = private unnamed_addr constant [9 x i8] c"save_dir\00" +@.str3367 = private unnamed_addr constant [11 x i8] c"config_dir\00" +@.str3368 = private unnamed_addr constant [10 x i8] c"cache_dir\00" +@.str3369 = private unnamed_addr constant [9 x i8] c"temp_dir\00" +@.str3370 = private unnamed_addr constant [10 x i8] c"arg_count\00" +@.str3371 = private unnamed_addr constant [22 x i8] c"load i32, ptr @L_argc\00" +@.str3372 = private unnamed_addr constant [4 x i8] c"int\00" +@.str3373 = private unnamed_addr constant [4 x i8] c"arg\00" +@.str3374 = private unnamed_addr constant [22 x i8] c"load ptr, ptr @L_argv\00" +@.str3375 = private unnamed_addr constant [24 x i8] c"getelementptr ptr, ptr \00" +@.str3376 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str3377 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" +@.str3378 = private unnamed_addr constant [7 x i8] c"string\00" +@.str3379 = private unnamed_addr constant [4 x i8] c"pid\00" +@.str3380 = private unnamed_addr constant [19 x i8] c"call i32 @getpid()\00" +@.str3381 = private unnamed_addr constant [4 x i8] c"int\00" +@.str3382 = private unnamed_addr constant [5 x i8] c"exit\00" +@.str3383 = private unnamed_addr constant [23 x i8] c" call void @exit(i32 \00" +@.str3384 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str3385 = private unnamed_addr constant [15 x i8] c" unreachable\0A\00" +@.str3386 = private unnamed_addr constant [2 x i8] c"0\00" +@.str3387 = private unnamed_addr constant [5 x i8] c"void\00" +@.str3388 = private unnamed_addr constant [4 x i8] c"env\00" +@.str3389 = private unnamed_addr constant [22 x i8] c"call ptr @getenv(ptr \00" +@.str3390 = private unnamed_addr constant [2 x i8] c")\00" +@.str3391 = private unnamed_addr constant [7 x i8] c"string\00" +@.str3392 = private unnamed_addr constant [8 x i8] c"has_env\00" +@.str3393 = private unnamed_addr constant [22 x i8] c"call ptr @getenv(ptr \00" +@.str3394 = private unnamed_addr constant [2 x i8] c")\00" +@.str3395 = private unnamed_addr constant [13 x i8] c"icmp ne ptr \00" +@.str3396 = private unnamed_addr constant [7 x i8] c", null\00" +@.str3397 = private unnamed_addr constant [9 x i8] c"zext i1 \00" +@.str3398 = private unnamed_addr constant [8 x i8] c" to i32\00" +@.str3399 = private unnamed_addr constant [5 x i8] c"bool\00" +@.str3400 = private unnamed_addr constant [13 x i8] c"stdout_write\00" +@.str3401 = private unnamed_addr constant [13 x i8] c"stderr_write\00" +@.str3402 = private unnamed_addr constant [13 x i8] c"stderr_write\00" +@.str3403 = private unnamed_addr constant [22 x i8] c"call i64 @strlen(ptr \00" +@.str3404 = private unnamed_addr constant [2 x i8] c")\00" +@.str3405 = private unnamed_addr constant [24 x i8] c" call i64 @fwrite(ptr \00" +@.str3406 = private unnamed_addr constant [14 x i8] c", i64 1, i64 \00" +@.str3407 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str3408 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str3409 = private unnamed_addr constant [2 x i8] c"0\00" +@.str3410 = private unnamed_addr constant [5 x i8] c"void\00" +@.str3411 = private unnamed_addr constant [5 x i8] c"args\00" +@.str3412 = private unnamed_addr constant [23 x i8] c"call ptr @lp_os_args()\00" +@.str3413 = private unnamed_addr constant [9 x i8] c"[]string\00" +@.str3414 = private unnamed_addr constant [7 x i8] c"env_or\00" +@.str3415 = private unnamed_addr constant [31 x i8] c"call ptr @lp_os_getenv_or(ptr \00" +@.str3416 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str3417 = private unnamed_addr constant [2 x i8] c")\00" +@.str3418 = private unnamed_addr constant [7 x i8] c"string\00" +@.str3419 = private unnamed_addr constant [8 x i8] c"set_env\00" +@.str3420 = private unnamed_addr constant [22 x i8] c"call i32 @setenv(ptr \00" +@.str3421 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str3422 = private unnamed_addr constant [9 x i8] c", i32 1)\00" +@.str3423 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" +@.str3424 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str3425 = private unnamed_addr constant [9 x i8] c"zext i1 \00" +@.str3426 = private unnamed_addr constant [8 x i8] c" to i32\00" +@.str3427 = private unnamed_addr constant [5 x i8] c"bool\00" +@.str3428 = private unnamed_addr constant [10 x i8] c"unset_env\00" +@.str3429 = private unnamed_addr constant [24 x i8] c"call i32 @unsetenv(ptr \00" +@.str3430 = private unnamed_addr constant [2 x i8] c")\00" +@.str3431 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" +@.str3432 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str3433 = private unnamed_addr constant [9 x i8] c"zext i1 \00" +@.str3434 = private unnamed_addr constant [8 x i8] c" to i32\00" +@.str3435 = private unnamed_addr constant [5 x i8] c"bool\00" +@.str3436 = private unnamed_addr constant [9 x i8] c"platform\00" +@.str3437 = private unnamed_addr constant [27 x i8] c"call ptr @lp_os_platform()\00" +@.str3438 = private unnamed_addr constant [7 x i8] c"string\00" +@.str3439 = private unnamed_addr constant [5 x i8] c"arch\00" +@.str3440 = private unnamed_addr constant [23 x i8] c"call ptr @lp_os_arch()\00" +@.str3441 = private unnamed_addr constant [7 x i8] c"string\00" +@.str3442 = private unnamed_addr constant [9 x i8] c"save_dir\00" +@.str3443 = private unnamed_addr constant [30 x i8] c"call ptr @lp_os_save_dir(ptr \00" +@.str3444 = private unnamed_addr constant [2 x i8] c")\00" +@.str3445 = private unnamed_addr constant [7 x i8] c"string\00" +@.str3446 = private unnamed_addr constant [11 x i8] c"config_dir\00" +@.str3447 = private unnamed_addr constant [32 x i8] c"call ptr @lp_os_config_dir(ptr \00" +@.str3448 = private unnamed_addr constant [2 x i8] c")\00" +@.str3449 = private unnamed_addr constant [7 x i8] c"string\00" +@.str3450 = private unnamed_addr constant [10 x i8] c"cache_dir\00" +@.str3451 = private unnamed_addr constant [31 x i8] c"call ptr @lp_os_cache_dir(ptr \00" +@.str3452 = private unnamed_addr constant [2 x i8] c")\00" +@.str3453 = private unnamed_addr constant [7 x i8] c"string\00" +@.str3454 = private unnamed_addr constant [27 x i8] c"call ptr @lp_os_temp_dir()\00" +@.str3455 = private unnamed_addr constant [7 x i8] c"string\00" +@.str3456 = private unnamed_addr constant [36 x i8] c"declare i32 @setenv(ptr, ptr, i32)\0A\00" +@.str3457 = private unnamed_addr constant [28 x i8] c"declare i32 @unsetenv(ptr)\0A\00" +@.str3458 = private unnamed_addr constant [25 x i8] c"declare i32 @uname(ptr)\0A\00" +@.str3459 = private unnamed_addr constant [5 x i8] c"HOME\00" +@.str3460 = private unnamed_addr constant [2 x i8] c".\00" +@.str3461 = private unnamed_addr constant [30 x i8] c"/Library/Application Support/\00" +@.str3462 = private unnamed_addr constant [17 x i8] c"/Library/Caches/\00" +@.str3463 = private unnamed_addr constant [7 x i8] c"TMPDIR\00" +@.str3464 = private unnamed_addr constant [5 x i8] c"/tmp\00" +@.str3465 = private unnamed_addr constant [7 x i8] c"Darwin\00" +@.str3466 = private unnamed_addr constant [14 x i8] c"XDG_DATA_HOME\00" +@.str3467 = private unnamed_addr constant [16 x i8] c"XDG_CONFIG_HOME\00" +@.str3468 = private unnamed_addr constant [15 x i8] c"XDG_CACHE_HOME\00" +@.str3469 = private unnamed_addr constant [15 x i8] c"/.local/share/\00" +@.str3470 = private unnamed_addr constant [10 x i8] c"/.config/\00" +@.str3471 = private unnamed_addr constant [9 x i8] c"/.cache/\00" +@.str3472 = private unnamed_addr constant [2 x i8] c"/\00" +@.str3473 = private unnamed_addr constant [6 x i8] c"macos\00" +@.str3474 = private unnamed_addr constant [6 x i8] c"Linux\00" +@.str3475 = private unnamed_addr constant [6 x i8] c"linux\00" +@.str3476 = private unnamed_addr constant [51 x i8] c"define ptr @lp_os_getenv_or(ptr %name, ptr %fb) {\0A\00" +@.str3477 = 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" +@.str3478 = private unnamed_addr constant [20 x i8] c"use:\0A ret ptr %fb\0A\00" +@.str3479 = private unnamed_addr constant [21 x i8] c"got:\0A ret ptr %r\0A}\0A\00" +@.str3480 = private unnamed_addr constant [43 x i8] c"define ptr @lp_os_join2(ptr %a, ptr %b) {\0A\00" +@.str3481 = 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" +@.str3482 = 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" +@.str3483 = private unnamed_addr constant [45 x i8] c" call ptr @memcpy(ptr %m, ptr %a, i64 %la)\0A\00" +@.str3484 = 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" +@.str3485 = 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" +@.str3486 = private unnamed_addr constant [51 x i8] c"define ptr @lp_os_join3(ptr %a, ptr %b, ptr %c) {\0A\00" +@.str3487 = private unnamed_addr constant [115 x i8] c"entry:\0A %ab = call ptr @lp_os_join2(ptr %a, ptr %b)\0A %r = call ptr @lp_os_join2(ptr %ab, ptr %c)\0A ret ptr %r\0A}\0A\00" +@.str3488 = private unnamed_addr constant [65 x i8] c"define ptr @lp_os_home() {\0A %r = call ptr @lp_os_getenv_or(ptr \00" +@.str3489 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str3490 = private unnamed_addr constant [18 x i8] c")\0A ret ptr %r\0A}\0A\00" +@.str3491 = private unnamed_addr constant [39 x i8] c"@L_os_darwin = internal global i32 -1\0A\00" +@.str3492 = private unnamed_addr constant [33 x i8] c"define i32 @lp_os_is_darwin() {\0A\00" +@.str3493 = private unnamed_addr constant [114 x i8] c"entry:\0A %c = load i32, ptr @L_os_darwin\0A %known = icmp sge i32 %c, 0\0A br i1 %known, label %done, label %probe\0A\00" +@.str3494 = private unnamed_addr constant [20 x i8] c"done:\0A ret i32 %c\0A\00" +@.str3495 = private unnamed_addr constant [72 x i8] c"probe:\0A %buf = call ptr @malloc(i64 8192)\0A call i32 @uname(ptr %buf)\0A\00" +@.str3496 = private unnamed_addr constant [41 x i8] c" %cd = call i32 @strncmp(ptr %buf, ptr \00" +@.str3497 = private unnamed_addr constant [38 x i8] c", i64 6)\0A %isd = icmp eq i32 %cd, 0\0A\00" +@.str3498 = private unnamed_addr constant [113 x i8] c" %r = select i1 %isd, i32 1, i32 0\0A call void @free(ptr %buf)\0A store i32 %r, ptr @L_os_darwin\0A ret i32 %r\0A}\0A\00" +@.str3499 = private unnamed_addr constant [45 x i8] c"define ptr @lp_os_xdg(ptr %var, ptr %rel) {\0A\00" +@.str3500 = private unnamed_addr constant [106 x i8] c"entry:\0A %v = call ptr @getenv(ptr %var)\0A %z = icmp eq ptr %v, null\0A br i1 %z, label %dflt, label %chk\0A\00" +@.str3501 = private unnamed_addr constant [99 x i8] c"chk:\0A %c0 = load i8, ptr %v\0A %empty = icmp eq i8 %c0, 0\0A br i1 %empty, label %dflt, label %use\0A\00" +@.str3502 = private unnamed_addr constant [47 x i8] c"use:\0A %u = call ptr @lp_os_join2(ptr %v, ptr \00" +@.str3503 = private unnamed_addr constant [16 x i8] c")\0A ret ptr %u\0A\00" +@.str3504 = private unnamed_addr constant [99 x i8] c"dflt:\0A %h = call ptr @lp_os_home()\0A %d = call ptr @lp_os_join2(ptr %h, ptr %rel)\0A ret ptr %d\0A}\0A\00" +@.str3505 = private unnamed_addr constant [67 x i8] c"define ptr @lp_os_known(ptr %app, ptr %mac, ptr %var, ptr %rel) {\0A\00" +@.str3506 = private unnamed_addr constant [103 x i8] c"entry:\0A %d = call i32 @lp_os_is_darwin()\0A %isd = icmp ne i32 %d, 0\0A br i1 %isd, label %m, label %x\0A\00" +@.str3507 = private unnamed_addr constant [106 x i8] c"m:\0A %h = call ptr @lp_os_home()\0A %r1 = call ptr @lp_os_join3(ptr %h, ptr %mac, ptr %app)\0A ret ptr %r1\0A\00" +@.str3508 = private unnamed_addr constant [115 x i8] c"x:\0A %b = call ptr @lp_os_xdg(ptr %var, ptr %rel)\0A %r2 = call ptr @lp_os_join2(ptr %b, ptr %app)\0A ret ptr %r2\0A}\0A\00" +@.str3509 = private unnamed_addr constant [83 x i8] c"define ptr @lp_os_save_dir(ptr %app) {\0A %r = call ptr @lp_os_known(ptr %app, ptr \00" +@.str3510 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str3511 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str3512 = private unnamed_addr constant [18 x i8] c")\0A ret ptr %r\0A}\0A\00" +@.str3513 = private unnamed_addr constant [85 x i8] c"define ptr @lp_os_config_dir(ptr %app) {\0A %r = call ptr @lp_os_known(ptr %app, ptr \00" +@.str3514 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str3515 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str3516 = private unnamed_addr constant [18 x i8] c")\0A ret ptr %r\0A}\0A\00" +@.str3517 = private unnamed_addr constant [84 x i8] c"define ptr @lp_os_cache_dir(ptr %app) {\0A %r = call ptr @lp_os_known(ptr %app, ptr \00" +@.str3518 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str3519 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str3520 = private unnamed_addr constant [18 x i8] c")\0A ret ptr %r\0A}\0A\00" +@.str3521 = private unnamed_addr constant [69 x i8] c"define ptr @lp_os_temp_dir() {\0A %r = call ptr @lp_os_getenv_or(ptr \00" +@.str3522 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str3523 = private unnamed_addr constant [18 x i8] c")\0A ret ptr %r\0A}\0A\00" +@.str3524 = private unnamed_addr constant [28 x i8] c"define ptr @lp_os_args() {\0A\00" +@.str3525 = 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" +@.str3526 = private unnamed_addr constant [33 x i8] c" %h = call ptr @malloc(i64 16)\0A\00" +@.str3527 = 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" +@.str3528 = 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" +@.str3529 = 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" +@.str3530 = private unnamed_addr constant [16 x i8] c" ret ptr %h\0A}\0A\00" +@.str3531 = private unnamed_addr constant [32 x i8] c"define ptr @lp_os_platform() {\0A\00" +@.str3532 = private unnamed_addr constant [72 x i8] c"entry:\0A %buf = call ptr @malloc(i64 8192)\0A call i32 @uname(ptr %buf)\0A\00" +@.str3533 = private unnamed_addr constant [41 x i8] c" %cd = call i32 @strncmp(ptr %buf, ptr \00" +@.str3534 = 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" +@.str3535 = private unnamed_addr constant [16 x i8] c"mac:\0A ret ptr \00" +@.str3536 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str3537 = private unnamed_addr constant [47 x i8] c"chkl:\0A %cl = call i32 @strncmp(ptr %buf, ptr \00" +@.str3538 = 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" +@.str3539 = private unnamed_addr constant [16 x i8] c"lin:\0A ret ptr \00" +@.str3540 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str3541 = private unnamed_addr constant [25 x i8] c"other:\0A ret ptr %buf\0A}\0A\00" +@.str3542 = private unnamed_addr constant [28 x i8] c"define ptr @lp_os_arch() {\0A\00" +@.str3543 = private unnamed_addr constant [72 x i8] c"entry:\0A %buf = call ptr @malloc(i64 8192)\0A call i32 @uname(ptr %buf)\0A\00" +@.str3544 = private unnamed_addr constant [60 x i8] c" %m = getelementptr i8, ptr %buf, i64 1024\0A ret ptr %m\0A}\0A\00" +@.str3545 = private unnamed_addr constant [4 x i8] c"len\00" +@.str3546 = private unnamed_addr constant [9 x i8] c"byte_len\00" +@.str3547 = private unnamed_addr constant [14 x i8] c"is_valid_utf8\00" +@.str3548 = private unnamed_addr constant [8 x i8] c"char_at\00" +@.str3549 = private unnamed_addr constant [6 x i8] c"chars\00" +@.str3550 = private unnamed_addr constant [6 x i8] c"upper\00" +@.str3551 = private unnamed_addr constant [6 x i8] c"lower\00" +@.str3552 = private unnamed_addr constant [9 x i8] c"truncate\00" +@.str3553 = private unnamed_addr constant [13 x i8] c"grapheme_len\00" +@.str3554 = private unnamed_addr constant [9 x i8] c"byte_len\00" +@.str3555 = private unnamed_addr constant [22 x i8] c"call i64 @strlen(ptr \00" +@.str3556 = private unnamed_addr constant [2 x i8] c")\00" +@.str3557 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" +@.str3558 = private unnamed_addr constant [8 x i8] c" to i32\00" +@.str3559 = private unnamed_addr constant [4 x i8] c"int\00" +@.str3560 = private unnamed_addr constant [4 x i8] c"len\00" +@.str3561 = private unnamed_addr constant [26 x i8] c"call i32 @lp_uni_len(ptr \00" +@.str3562 = private unnamed_addr constant [2 x i8] c")\00" +@.str3563 = private unnamed_addr constant [4 x i8] c"int\00" +@.str3564 = private unnamed_addr constant [14 x i8] c"is_valid_utf8\00" +@.str3565 = private unnamed_addr constant [28 x i8] c"call i32 @lp_uni_valid(ptr \00" +@.str3566 = private unnamed_addr constant [2 x i8] c")\00" +@.str3567 = private unnamed_addr constant [5 x i8] c"bool\00" +@.str3568 = private unnamed_addr constant [8 x i8] c"char_at\00" +@.str3569 = private unnamed_addr constant [30 x i8] c"call i32 @lp_uni_char_at(ptr \00" +@.str3570 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str3571 = private unnamed_addr constant [2 x i8] c")\00" +@.str3572 = private unnamed_addr constant [4 x i8] c"int\00" +@.str3573 = private unnamed_addr constant [6 x i8] c"chars\00" +@.str3574 = private unnamed_addr constant [28 x i8] c"call ptr @lp_uni_chars(ptr \00" +@.str3575 = private unnamed_addr constant [2 x i8] c")\00" +@.str3576 = private unnamed_addr constant [6 x i8] c"[]int\00" +@.str3577 = private unnamed_addr constant [6 x i8] c"upper\00" +@.str3578 = private unnamed_addr constant [27 x i8] c"call ptr @lp_uni_case(ptr \00" +@.str3579 = private unnamed_addr constant [9 x i8] c", i32 1)\00" +@.str3580 = private unnamed_addr constant [7 x i8] c"string\00" +@.str3581 = private unnamed_addr constant [6 x i8] c"lower\00" +@.str3582 = private unnamed_addr constant [27 x i8] c"call ptr @lp_uni_case(ptr \00" +@.str3583 = private unnamed_addr constant [9 x i8] c", i32 0)\00" +@.str3584 = private unnamed_addr constant [7 x i8] c"string\00" +@.str3585 = private unnamed_addr constant [9 x i8] c"truncate\00" +@.str3586 = private unnamed_addr constant [31 x i8] c"call ptr @lp_uni_truncate(ptr \00" +@.str3587 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str3588 = private unnamed_addr constant [2 x i8] c")\00" +@.str3589 = private unnamed_addr constant [7 x i8] c"string\00" +@.str3590 = private unnamed_addr constant [35 x i8] c"call i32 @lp_uni_grapheme_len(ptr \00" +@.str3591 = private unnamed_addr constant [2 x i8] c")\00" +@.str3592 = private unnamed_addr constant [4 x i8] c"int\00" +@.str3593 = private unnamed_addr constant [34 x i8] c"define i32 @lp_uni_len(ptr %s) {\0A\00" +@.str3594 = 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" +@.str3595 = 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" +@.str3596 = private unnamed_addr constant [61 x i8] c" %z = icmp eq i32 %c, 0\0A br i1 %z, label %done, label %go\0A\00" +@.str3597 = 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" +@.str3598 = 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" +@.str3599 = 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" +@.str3600 = private unnamed_addr constant [47 x i8] c"done:\0A %r = load i32, ptr %np\0A ret i32 %r\0A}\0A\00" +@.str3601 = private unnamed_addr constant [57 x i8] c"define i32 @lp_uni_decode(ptr %s, i32 %i, ptr %cpout) {\0A\00" +@.str3602 = 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" +@.str3603 = private unnamed_addr constant [69 x i8] c" %a1 = icmp ult i32 %c0, 128\0A br i1 %a1, label %one, label %multi\0A\00" +@.str3604 = 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" +@.str3605 = 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" +@.str3606 = 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" +@.str3607 = 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" +@.str3608 = 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" +@.str3609 = 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" +@.str3610 = private unnamed_addr constant [67 x i8] c" %t1z = icmp eq i32 %t1, 0\0A br i1 %t1z, label %tbad, label %tok\0A\00" +@.str3611 = 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" +@.str3612 = 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" +@.str3613 = 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" +@.str3614 = private unnamed_addr constant [67 x i8] c" %r1z = icmp eq i32 %r1, 0\0A br i1 %r1z, label %rbad, label %rc2\0A\00" +@.str3615 = 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" +@.str3616 = 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" +@.str3617 = private unnamed_addr constant [67 x i8] c" %r2z = icmp eq i32 %r2, 0\0A br i1 %r2z, label %rbad, label %rok\0A\00" +@.str3618 = 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" +@.str3619 = 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" +@.str3620 = 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" +@.str3621 = private unnamed_addr constant [67 x i8] c" %f1z = icmp eq i32 %f1, 0\0A br i1 %f1z, label %fbad, label %fc2\0A\00" +@.str3622 = 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" +@.str3623 = 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" +@.str3624 = private unnamed_addr constant [67 x i8] c" %f2z = icmp eq i32 %f2, 0\0A br i1 %f2z, label %fbad, label %fc3\0A\00" +@.str3625 = 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" +@.str3626 = private unnamed_addr constant [67 x i8] c" %f3z = icmp eq i32 %f3, 0\0A br i1 %f3z, label %fbad, label %fok\0A\00" +@.str3627 = 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" +@.str3628 = 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" +@.str3629 = 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" +@.str3630 = private unnamed_addr constant [36 x i8] c"define i32 @lp_uni_valid(ptr %s) {\0A\00" +@.str3631 = 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" +@.str3632 = 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" +@.str3633 = private unnamed_addr constant [60 x i8] c" %z = icmp eq i32 %c, 0\0A br i1 %z, label %good, label %g\0A\00" +@.str3634 = 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" +@.str3635 = 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" +@.str3636 = 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" +@.str3637 = 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" +@.str3638 = 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" +@.str3639 = private unnamed_addr constant [18 x i8] c"bad:\0A ret i32 0\0A\00" +@.str3640 = 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" +@.str3641 = 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" +@.str3642 = 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" +@.str3643 = private unnamed_addr constant [71 x i8] c" %ov2 = icmp ult i32 %cp2, 128\0A br i1 %ov2, label %bad, label %adv2\0A\00" +@.str3644 = 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" +@.str3645 = 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" +@.str3646 = 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" +@.str3647 = 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" +@.str3648 = 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" +@.str3649 = 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" +@.str3650 = private unnamed_addr constant [59 x i8] c" %cp3p = or i32 %e3s, %e3as\0A %cp3 = or i32 %cp3p, %e3bm\0A\00" +@.str3651 = private unnamed_addr constant [72 x i8] c" %ov3 = icmp ult i32 %cp3, 2048\0A br i1 %ov3, label %bad, label %do3d\0A\00" +@.str3652 = 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" +@.str3653 = 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" +@.str3654 = 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" +@.str3655 = 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" +@.str3656 = 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" +@.str3657 = 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" +@.str3658 = 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" +@.str3659 = 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" +@.str3660 = 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" +@.str3661 = 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" +@.str3662 = private unnamed_addr constant [73 x i8] c" %ov4 = icmp ult i32 %cp4, 65536\0A br i1 %ov4, label %bad, label %do4e\0A\00" +@.str3663 = 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" +@.str3664 = 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" +@.str3665 = private unnamed_addr constant [21 x i8] c"good:\0A ret i32 1\0A}\0A\00" +@.str3666 = private unnamed_addr constant [35 x i8] c"define i32 @lp_uni_upcp(i32 %c) {\0A\00" +@.str3667 = 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" +@.str3668 = 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" +@.str3669 = 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" +@.str3670 = private unnamed_addr constant [35 x i8] c"define i32 @lp_uni_locp(i32 %c) {\0A\00" +@.str3671 = 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" +@.str3672 = 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" +@.str3673 = 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" +@.str3674 = private unnamed_addr constant [39 x i8] c"define i32 @lp_uni_cpwidth(i32 %cp) {\0A\00" +@.str3675 = 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" +@.str3676 = 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" +@.str3677 = private unnamed_addr constant [58 x i8] c"define i32 @lp_uni_encode(ptr %dst, i32 %off, i32 %cp) {\0A\00" +@.str3678 = private unnamed_addr constant [111 x i8] c"entry:\0A %w = call i32 @lp_uni_cpwidth(i32 %cp)\0A %is1 = icmp eq i32 %w, 1\0A br i1 %is1, label %e1, label %k2\0A\00" +@.str3679 = 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" +@.str3680 = 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" +@.str3681 = 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" +@.str3682 = 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" +@.str3683 = 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" +@.str3684 = 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" +@.str3685 = 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" +@.str3686 = 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" +@.str3687 = 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" +@.str3688 = 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" +@.str3689 = 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" +@.str3690 = 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" +@.str3691 = 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" +@.str3692 = 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" +@.str3693 = 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" +@.str3694 = 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" +@.str3695 = private unnamed_addr constant [40 x i8] c"define i32 @lp_uni_is_extend(i32 %c) {\0A\00" +@.str3696 = private unnamed_addr constant [60 x i8] c" %r1 = call i32 @lp_uni_inrange(i32 %c, i32 768, i32 879)\0A\00" +@.str3697 = private unnamed_addr constant [62 x i8] c" %r2 = call i32 @lp_uni_inrange(i32 %c, i32 6832, i32 6911)\0A\00" +@.str3698 = private unnamed_addr constant [62 x i8] c" %r3 = call i32 @lp_uni_inrange(i32 %c, i32 7616, i32 7679)\0A\00" +@.str3699 = private unnamed_addr constant [62 x i8] c" %r4 = call i32 @lp_uni_inrange(i32 %c, i32 8400, i32 8447)\0A\00" +@.str3700 = private unnamed_addr constant [64 x i8] c" %r5 = call i32 @lp_uni_inrange(i32 %c, i32 65056, i32 65071)\0A\00" +@.str3701 = private unnamed_addr constant [64 x i8] c" %r6 = call i32 @lp_uni_inrange(i32 %c, i32 65024, i32 65039)\0A\00" +@.str3702 = private unnamed_addr constant [66 x i8] c" %r7 = call i32 @lp_uni_inrange(i32 %c, i32 917760, i32 917999)\0A\00" +@.str3703 = 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" +@.str3704 = private unnamed_addr constant [56 x i8] c"define i32 @lp_uni_inrange(i32 %c, i32 %lo, i32 %hi) {\0A\00" +@.str3705 = 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" +@.str3706 = private unnamed_addr constant [48 x i8] c"define i32 @lp_uni_char_at(ptr %s, i32 %idx) {\0A\00" +@.str3707 = 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" +@.str3708 = 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" +@.str3709 = private unnamed_addr constant [61 x i8] c" %z = icmp eq i32 %c, 0\0A br i1 %z, label %none, label %go\0A\00" +@.str3710 = private unnamed_addr constant [157 x i8] c"go:\0A %ni = call i32 @lp_uni_decode(ptr %s, i32 %i, ptr %cp)\0A %k = load i32, ptr %kp\0A %hit = icmp eq i32 %k, %idx\0A br i1 %hit, label %found, label %next\0A\00" +@.str3711 = private unnamed_addr constant [46 x i8] c"found:\0A %v = load i32, ptr %cp\0A ret i32 %v\0A\00" +@.str3712 = 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" +@.str3713 = private unnamed_addr constant [22 x i8] c"none:\0A ret i32 -1\0A}\0A\00" +@.str3714 = private unnamed_addr constant [36 x i8] c"define ptr @lp_uni_chars(ptr %s) {\0A\00" +@.str3715 = private unnamed_addr constant [76 x i8] c"entry:\0A %n = call i32 @lp_uni_len(ptr %s)\0A %h = call ptr @malloc(i64 16)\0A\00" +@.str3716 = 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" +@.str3717 = 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" +@.str3718 = 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" +@.str3719 = 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" +@.str3720 = 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" +@.str3721 = 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" +@.str3722 = private unnamed_addr constant [61 x i8] c" %z = icmp eq i32 %c, 0\0A br i1 %z, label %done, label %go\0A\00" +@.str3723 = private unnamed_addr constant [112 x i8] c"go:\0A %ni = call i32 @lp_uni_decode(ptr %s, i32 %i, ptr %cp)\0A %v = load i32, ptr %cp\0A %k = load i32, ptr %kp\0A\00" +@.str3724 = 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" +@.str3725 = private unnamed_addr constant [22 x i8] c"done:\0A ret ptr %h\0A}\0A\00" +@.str3726 = private unnamed_addr constant [44 x i8] c"define ptr @lp_uni_case(ptr %s, i32 %up) {\0A\00" +@.str3727 = 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" +@.str3728 = 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" +@.str3729 = 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" +@.str3730 = private unnamed_addr constant [61 x i8] c" %z = icmp eq i32 %c, 0\0A br i1 %z, label %done, label %go\0A\00" +@.str3731 = private unnamed_addr constant [87 x i8] c"go:\0A %ni = call i32 @lp_uni_decode(ptr %s, i32 %i, ptr %cp)\0A %v = load i32, ptr %cp\0A\00" +@.str3732 = private unnamed_addr constant [147 x i8] c" %mu = call i32 @lp_uni_upcp(i32 %v)\0A %ml = call i32 @lp_uni_locp(i32 %v)\0A %isup = icmp ne i32 %up, 0\0A %m = select i1 %isup, i32 %mu, i32 %ml\0A\00" +@.str3733 = private unnamed_addr constant [149 x i8] c" %o = load i32, ptr %op\0A %no = call i32 @lp_uni_encode(ptr %out, i32 %o, i32 %m)\0A store i32 %no, ptr %op\0A store i32 %ni, ptr %ip\0A br label %lp\0A\00" +@.str3734 = 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" +@.str3735 = private unnamed_addr constant [47 x i8] c"define ptr @lp_uni_truncate(ptr %s, i32 %n) {\0A\00" +@.str3736 = 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" +@.str3737 = 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" +@.str3738 = 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" +@.str3739 = private unnamed_addr constant [60 x i8] c" %z = icmp eq i32 %c, 0\0A br i1 %z, label %cut, label %go\0A\00" +@.str3740 = private unnamed_addr constant [149 x i8] c"go:\0A %ni = call i32 @lp_uni_decode(ptr %s, i32 %i, ptr %cp)\0A %k1 = add i32 %k, 1\0A store i32 %k1, ptr %kp\0A store i32 %ni, ptr %ip\0A br label %lp\0A\00" +@.str3741 = 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" +@.str3742 = 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" +@.str3743 = private unnamed_addr constant [43 x i8] c"define i32 @lp_uni_grapheme_len(ptr %s) {\0A\00" +@.str3744 = 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" +@.str3745 = 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" +@.str3746 = 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" +@.str3747 = private unnamed_addr constant [61 x i8] c" %z = icmp eq i32 %c, 0\0A br i1 %z, label %done, label %go\0A\00" +@.str3748 = private unnamed_addr constant [112 x i8] c"go:\0A %ni = call i32 @lp_uni_decode(ptr %s, i32 %i, ptr %cp)\0A %v = load i32, ptr %cp\0A store i32 %ni, ptr %ip\0A\00" +@.str3749 = private unnamed_addr constant [75 x i8] c" %iszwj = icmp eq i32 %v, 8205\0A br i1 %iszwj, label %zwj, label %notzwj\0A\00" +@.str3750 = 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" +@.str3751 = 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" +@.str3752 = 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" +@.str3753 = private unnamed_addr constant [160 x i8] c"open:\0A store i32 1, ptr %np\0A store i32 0, ptr %zp\0A %ri0 = call i32 @lp_uni_inrange(i32 %v, i32 127462, i32 127487)\0A store i32 %ri0, ptr %rp\0A br label %lp\0A\00" +@.str3754 = 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" +@.str3755 = 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" +@.str3756 = private unnamed_addr constant [129 x i8] c"chkext:\0A %ext = call i32 @lp_uni_is_extend(i32 %v)\0A %isext = icmp ne i32 %ext, 0\0A br i1 %isext, label %joinext, label %chkri\0A\00" +@.str3757 = private unnamed_addr constant [48 x i8] c"joinext:\0A store i32 0, ptr %rp\0A br label %lp\0A\00" +@.str3758 = private unnamed_addr constant [240 x i8] c"chkri:\0A %ri = call i32 @lp_uni_inrange(i32 %v, i32 127462, i32 127487)\0A %isri = icmp ne i32 %ri, 0\0A %ropen = load i32, ptr %rp\0A %ropenb = icmp ne i32 %ropen, 0\0A %pair = and i1 %isri, %ropenb\0A br i1 %pair, label %joinri, label %newcl\0A\00" +@.str3759 = private unnamed_addr constant [47 x i8] c"joinri:\0A store i32 0, ptr %rp\0A br label %lp\0A\00" +@.str3760 = 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" +@.str3761 = private unnamed_addr constant [47 x i8] c"done:\0A %r = load i32, ptr %np\0A ret i32 %r\0A}\0A\00" +@.str3762 = private unnamed_addr constant [7 x i8] c"exists\00" +@.str3763 = private unnamed_addr constant [7 x i8] c"is_dir\00" +@.str3764 = private unnamed_addr constant [10 x i8] c"read_text\00" +@.str3765 = private unnamed_addr constant [11 x i8] c"write_text\00" +@.str3766 = private unnamed_addr constant [12 x i8] c"append_text\00" +@.str3767 = private unnamed_addr constant [7 x i8] c"remove\00" +@.str3768 = private unnamed_addr constant [5 x i8] c"size\00" +@.str3769 = private unnamed_addr constant [6 x i8] c"mkdir\00" +@.str3770 = private unnamed_addr constant [5 x i8] c"copy\00" +@.str3771 = private unnamed_addr constant [5 x i8] c"list\00" +@.str3772 = private unnamed_addr constant [5 x i8] c"join\00" +@.str3773 = private unnamed_addr constant [4 x i8] c"dir\00" +@.str3774 = private unnamed_addr constant [5 x i8] c"base\00" +@.str3775 = private unnamed_addr constant [4 x i8] c"ext\00" +@.str3776 = private unnamed_addr constant [5 x i8] c"stem\00" +@.str3777 = private unnamed_addr constant [10 x i8] c"normalize\00" +@.str3778 = private unnamed_addr constant [3 x i8] c"of\00" +@.str3779 = private unnamed_addr constant [6 x i8] c"sniff\00" +@.str3780 = private unnamed_addr constant [7 x i8] c"exists\00" +@.str3781 = private unnamed_addr constant [28 x i8] c"call i32 @lp_fs_exists(ptr \00" +@.str3782 = private unnamed_addr constant [2 x i8] c")\00" +@.str3783 = private unnamed_addr constant [5 x i8] c"bool\00" +@.str3784 = private unnamed_addr constant [7 x i8] c"is_dir\00" +@.str3785 = private unnamed_addr constant [28 x i8] c"call i32 @lp_fs_is_dir(ptr \00" +@.str3786 = private unnamed_addr constant [2 x i8] c")\00" +@.str3787 = private unnamed_addr constant [5 x i8] c"bool\00" +@.str3788 = private unnamed_addr constant [10 x i8] c"read_text\00" +@.str3789 = private unnamed_addr constant [31 x i8] c"call ptr @lp_fs_read_text(ptr \00" +@.str3790 = private unnamed_addr constant [2 x i8] c")\00" +@.str3791 = private unnamed_addr constant [7 x i8] c"string\00" +@.str3792 = private unnamed_addr constant [7 x i8] c"remove\00" +@.str3793 = private unnamed_addr constant [28 x i8] c"call i32 @lp_fs_remove(ptr \00" +@.str3794 = private unnamed_addr constant [2 x i8] c")\00" +@.str3795 = private unnamed_addr constant [5 x i8] c"bool\00" +@.str3796 = private unnamed_addr constant [5 x i8] c"size\00" +@.str3797 = private unnamed_addr constant [26 x i8] c"call i32 @lp_fs_size(ptr \00" +@.str3798 = private unnamed_addr constant [2 x i8] c")\00" +@.str3799 = private unnamed_addr constant [4 x i8] c"int\00" +@.str3800 = private unnamed_addr constant [6 x i8] c"mkdir\00" +@.str3801 = private unnamed_addr constant [27 x i8] c"call i32 @lp_fs_mkdir(ptr \00" +@.str3802 = private unnamed_addr constant [2 x i8] c")\00" +@.str3803 = private unnamed_addr constant [5 x i8] c"bool\00" +@.str3804 = private unnamed_addr constant [5 x i8] c"list\00" +@.str3805 = private unnamed_addr constant [26 x i8] c"call ptr @lp_fs_list(ptr \00" +@.str3806 = private unnamed_addr constant [2 x i8] c")\00" +@.str3807 = private unnamed_addr constant [9 x i8] c"[]string\00" +@.str3808 = private unnamed_addr constant [11 x i8] c"write_text\00" +@.str3809 = private unnamed_addr constant [32 x i8] c"call i32 @lp_fs_write_text(ptr \00" +@.str3810 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str3811 = private unnamed_addr constant [2 x i8] c")\00" +@.str3812 = private unnamed_addr constant [5 x i8] c"bool\00" +@.str3813 = private unnamed_addr constant [12 x i8] c"append_text\00" +@.str3814 = private unnamed_addr constant [33 x i8] c"call i32 @lp_fs_append_text(ptr \00" +@.str3815 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str3816 = private unnamed_addr constant [2 x i8] c")\00" +@.str3817 = private unnamed_addr constant [5 x i8] c"bool\00" +@.str3818 = private unnamed_addr constant [26 x i8] c"call i32 @lp_fs_copy(ptr \00" +@.str3819 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str3820 = private unnamed_addr constant [2 x i8] c")\00" +@.str3821 = private unnamed_addr constant [5 x i8] c"bool\00" +@.str3822 = private unnamed_addr constant [4 x i8] c"dir\00" +@.str3823 = private unnamed_addr constant [27 x i8] c"call ptr @lp_path_dir(ptr \00" +@.str3824 = private unnamed_addr constant [2 x i8] c")\00" +@.str3825 = private unnamed_addr constant [7 x i8] c"string\00" +@.str3826 = private unnamed_addr constant [5 x i8] c"base\00" +@.str3827 = private unnamed_addr constant [28 x i8] c"call ptr @lp_path_base(ptr \00" +@.str3828 = private unnamed_addr constant [2 x i8] c")\00" +@.str3829 = private unnamed_addr constant [7 x i8] c"string\00" +@.str3830 = private unnamed_addr constant [4 x i8] c"ext\00" +@.str3831 = private unnamed_addr constant [27 x i8] c"call ptr @lp_path_ext(ptr \00" +@.str3832 = private unnamed_addr constant [2 x i8] c")\00" +@.str3833 = private unnamed_addr constant [7 x i8] c"string\00" +@.str3834 = private unnamed_addr constant [5 x i8] c"stem\00" +@.str3835 = private unnamed_addr constant [28 x i8] c"call ptr @lp_path_stem(ptr \00" +@.str3836 = private unnamed_addr constant [2 x i8] c")\00" +@.str3837 = private unnamed_addr constant [7 x i8] c"string\00" +@.str3838 = private unnamed_addr constant [10 x i8] c"normalize\00" +@.str3839 = private unnamed_addr constant [28 x i8] c"call ptr @lp_path_norm(ptr \00" +@.str3840 = private unnamed_addr constant [2 x i8] c")\00" +@.str3841 = private unnamed_addr constant [7 x i8] c"string\00" +@.str3842 = private unnamed_addr constant [28 x i8] c"call ptr @lp_path_join(ptr \00" +@.str3843 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str3844 = private unnamed_addr constant [2 x i8] c")\00" +@.str3845 = private unnamed_addr constant [7 x i8] c"string\00" +@.str3846 = private unnamed_addr constant [6 x i8] c"sniff\00" +@.str3847 = private unnamed_addr constant [29 x i8] c"call ptr @lp_mime_sniff(ptr \00" +@.str3848 = private unnamed_addr constant [2 x i8] c")\00" +@.str3849 = private unnamed_addr constant [7 x i8] c"string\00" +@.str3850 = private unnamed_addr constant [26 x i8] c"call ptr @lp_mime_of(ptr \00" +@.str3851 = private unnamed_addr constant [2 x i8] c")\00" +@.str3852 = private unnamed_addr constant [7 x i8] c"string\00" +@.str3853 = private unnamed_addr constant [26 x i8] c"declare i32 @remove(ptr)\0A\00" +@.str3854 = private unnamed_addr constant [31 x i8] c"declare i32 @access(ptr, i32)\0A\00" +@.str3855 = private unnamed_addr constant [30 x i8] c"declare i32 @mkdir(ptr, i32)\0A\00" +@.str3856 = private unnamed_addr constant [31 x i8] c"declare i32 @rename(ptr, ptr)\0A\00" +@.str3857 = private unnamed_addr constant [27 x i8] c"declare ptr @opendir(ptr)\0A\00" +@.str3858 = private unnamed_addr constant [27 x i8] c"declare ptr @readdir(ptr)\0A\00" +@.str3859 = private unnamed_addr constant [28 x i8] c"declare i32 @closedir(ptr)\0A\00" +@.str3860 = private unnamed_addr constant [41 x i8] c"define ptr @lp_fs_dup(ptr %s, i32 %n) {\0A\00" +@.str3861 = 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" +@.str3862 = 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" +@.str3863 = private unnamed_addr constant [36 x i8] c"define ptr @lp_fs_strdup(ptr %s) {\0A\00" +@.str3864 = private unnamed_addr constant [127 x i8] c"entry:\0A %l = call i64 @strlen(ptr %s)\0A %li = trunc i64 %l to i32\0A %r = call ptr @lp_fs_dup(ptr %s, i32 %li)\0A ret ptr %r\0A}\0A\00" +@.str3865 = private unnamed_addr constant [39 x i8] c"define i32 @lp_fs_lastslash(ptr %s) {\0A\00" +@.str3866 = 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" +@.str3867 = 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" +@.str3868 = private unnamed_addr constant [61 x i8] c" %z = icmp eq i32 %c, 0\0A br i1 %z, label %done, label %go\0A\00" +@.str3869 = 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" +@.str3870 = private unnamed_addr constant [45 x i8] c"set:\0A store i32 %i, ptr %rp\0A br label %nx\0A\00" +@.str3871 = 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" +@.str3872 = private unnamed_addr constant [47 x i8] c"done:\0A %r = load i32, ptr %rp\0A ret i32 %r\0A}\0A\00" +@.str3873 = private unnamed_addr constant [44 x i8] c"define ptr @lp_path_join(ptr %a, ptr %b) {\0A\00" +@.str3874 = 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" +@.str3875 = 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" +@.str3876 = private unnamed_addr constant [60 x i8] c"retb:\0A %rb = call ptr @lp_fs_strdup(ptr %b)\0A ret ptr %rb\0A\00" +@.str3877 = 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" +@.str3878 = private unnamed_addr constant [63 x i8] c"retb2:\0A %rb2 = call ptr @lp_fs_strdup(ptr %b)\0A ret ptr %rb2\0A\00" +@.str3879 = 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" +@.str3880 = private unnamed_addr constant [60 x i8] c"reta:\0A %ra = call ptr @lp_fs_strdup(ptr %a)\0A ret ptr %ra\0A\00" +@.str3881 = 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" +@.str3882 = 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" +@.str3883 = 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" +@.str3884 = private unnamed_addr constant [42 x i8] c" br i1 %ends, label %nosep, label %wsep\0A\00" +@.str3885 = 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" +@.str3886 = private unnamed_addr constant [26 x i8] c"nosep:\0A br label %after\0A\00" +@.str3887 = 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" +@.str3888 = 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" +@.str3889 = private unnamed_addr constant [36 x i8] c"define ptr @lp_path_base(ptr %s) {\0A\00" +@.str3890 = private unnamed_addr constant [121 x i8] c"entry:\0A %ls = call i32 @lp_fs_lastslash(ptr %s)\0A %none = icmp eq i32 %ls, -1\0A br i1 %none, label %whole, label %tail\0A\00" +@.str3891 = private unnamed_addr constant [59 x i8] c"whole:\0A %r = call ptr @lp_fs_strdup(ptr %s)\0A ret ptr %r\0A\00" +@.str3892 = private unnamed_addr constant [126 x i8] c"tail:\0A %st = add i32 %ls, 1\0A %p = getelementptr i8, ptr %s, i32 %st\0A %r2 = call ptr @lp_fs_strdup(ptr %p)\0A ret ptr %r2\0A}\0A\00" +@.str3893 = private unnamed_addr constant [35 x i8] c"define ptr @lp_path_dir(ptr %s) {\0A\00" +@.str3894 = private unnamed_addr constant [119 x i8] c"entry:\0A %ls = call i32 @lp_fs_lastslash(ptr %s)\0A %none = icmp eq i32 %ls, -1\0A br i1 %none, label %dot, label %chk0\0A\00" +@.str3895 = private unnamed_addr constant [66 x i8] c"dot:\0A %d = call ptr @lp_fs_strdup(ptr @fn_str_dot)\0A ret ptr %d\0A\00" +@.str3896 = 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" +@.str3897 = private unnamed_addr constant [69 x i8] c"root:\0A %r = call ptr @lp_fs_strdup(ptr @fn_str_slash)\0A ret ptr %r\0A\00" +@.str3898 = private unnamed_addr constant [67 x i8] c"cut:\0A %r2 = call ptr @lp_fs_dup(ptr %s, i32 %ls)\0A ret ptr %r2\0A}\0A\00" +@.str3899 = private unnamed_addr constant [35 x i8] c"define ptr @lp_path_ext(ptr %s) {\0A\00" +@.str3900 = private unnamed_addr constant [77 x i8] c"entry:\0A %ls = call i32 @lp_fs_lastslash(ptr %s)\0A %bstart = add i32 %ls, 1\0A\00" +@.str3901 = 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" +@.str3902 = 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" +@.str3903 = 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" +@.str3904 = private unnamed_addr constant [44 x i8] c"sd:\0A store i32 %i, ptr %dp\0A br label %nx\0A\00" +@.str3905 = 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" +@.str3906 = 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" +@.str3907 = private unnamed_addr constant [70 x i8] c"empty:\0A %e = call ptr @lp_fs_strdup(ptr @fn_str_empty)\0A ret ptr %e\0A\00" +@.str3908 = 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" +@.str3909 = private unnamed_addr constant [73 x i8] c"empty2:\0A %e2 = call ptr @lp_fs_strdup(ptr @fn_str_empty)\0A ret ptr %e2\0A\00" +@.str3910 = private unnamed_addr constant [102 x i8] c"take:\0A %pp = getelementptr i8, ptr %s, i32 %d\0A %r = call ptr @lp_fs_strdup(ptr %pp)\0A ret ptr %r\0A}\0A\00" +@.str3911 = private unnamed_addr constant [36 x i8] c"define ptr @lp_path_stem(ptr %s) {\0A\00" +@.str3912 = private unnamed_addr constant [88 x i8] c"entry:\0A %base = call ptr @lp_path_base(ptr %s)\0A %ext = call ptr @lp_path_ext(ptr %s)\0A\00" +@.str3913 = 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" +@.str3914 = private unnamed_addr constant [92 x i8] c" %keep = sub i32 %bl, %el\0A %r = call ptr @lp_fs_dup(ptr %base, i32 %keep)\0A ret ptr %r\0A}\0A\00" +@.str3915 = private unnamed_addr constant [36 x i8] c"define ptr @lp_path_norm(ptr %s) {\0A\00" +@.str3916 = 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" +@.str3917 = private unnamed_addr constant [38 x i8] c" %out = call ptr @malloc(i64 %capz)\0A\00" +@.str3918 = 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" +@.str3919 = 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" +@.str3920 = 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" +@.str3921 = private unnamed_addr constant [40 x i8] c" br i1 %abs, label %ldr, label %noldr\0A\00" +@.str3922 = 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" +@.str3923 = private unnamed_addr constant [47 x i8] c"noldr:\0A store i32 0, ptr %op\0A br label %seg\0A\00" +@.str3924 = private unnamed_addr constant [23 x i8] c"seg:\0A br label %sksl\0A\00" +@.str3925 = 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" +@.str3926 = 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" +@.str3927 = private unnamed_addr constant [54 x i8] c"segstart:\0A %ss = load i32, ptr %ip\0A br label %scan\0A\00" +@.str3928 = 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" +@.str3929 = 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" +@.str3930 = 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" +@.str3931 = private unnamed_addr constant [11 x i8] c"classify:\0A\00" +@.str3932 = 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" +@.str3933 = 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" +@.str3934 = 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" +@.str3935 = 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" +@.str3936 = 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" +@.str3937 = private unnamed_addr constant [54 x i8] c"chkrel:\0A br i1 %abs, label %contseg, label %keepseg\0A\00" +@.str3938 = 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" +@.str3939 = private unnamed_addr constant [63 x i8] c" %cpp = alloca i32\0A store i32 %ss, ptr %cpp\0A br label %cpy\0A\00" +@.str3940 = 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" +@.str3941 = 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" +@.str3942 = 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" +@.str3943 = 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" +@.str3944 = private unnamed_addr constant [27 x i8] c"atend:\0A br label %finish\0A\00" +@.str3945 = 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" +@.str3946 = 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" +@.str3947 = private unnamed_addr constant [52 x i8] c"trim:\0A store i32 %lasto, ptr %op\0A br label %term\0A\00" +@.str3948 = private unnamed_addr constant [28 x i8] c"fdefault:\0A br label %term\0A\00" +@.str3949 = 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" +@.str3950 = 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" +@.str3951 = 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" +@.str3952 = private unnamed_addr constant [36 x i8] c"define i32 @lp_fs_exists(ptr %p) {\0A\00" +@.str3953 = private unnamed_addr constant [115 x i8] c"entry:\0A %ip = call i32 @lp_pak_has(ptr %p)\0A %inpak = icmp ne i32 %ip, 0\0A br i1 %inpak, label %yes, label %disk\0A\00" +@.str3954 = private unnamed_addr constant [18 x i8] c"yes:\0A ret i32 1\0A\00" +@.str3955 = private unnamed_addr constant [113 x i8] c"disk:\0A %r = call i32 @access(ptr %p, i32 0)\0A %ok = icmp eq i32 %r, 0\0A %z = zext i1 %ok to i32\0A ret i32 %z\0A}\0A\00" +@.str3956 = private unnamed_addr constant [36 x i8] c"define i32 @lp_fs_is_dir(ptr %p) {\0A\00" +@.str3957 = 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" +@.str3958 = private unnamed_addr constant [47 x i8] c"yes:\0A call i32 @closedir(ptr %d)\0A ret i32 1\0A\00" +@.str3959 = private unnamed_addr constant [19 x i8] c"no:\0A ret i32 0\0A}\0A\00" +@.str3960 = private unnamed_addr constant [34 x i8] c"define i32 @lp_fs_size(ptr %p) {\0A\00" +@.str3961 = private unnamed_addr constant [121 x i8] c"entry:\0A %pn = call i32 @lp_pak_bytes(ptr %p)\0A %inpak = icmp sge i32 %pn, 0\0A br i1 %inpak, label %packed, label %disk\0A\00" +@.str3962 = private unnamed_addr constant [23 x i8] c"packed:\0A ret i32 %pn\0A\00" +@.str3963 = private unnamed_addr constant [118 x i8] c"disk:\0A %f = call ptr @fopen(ptr %p, ptr @fn_str_rb)\0A %nz = icmp ne ptr %f, null\0A br i1 %nz, label %ok, label %bad\0A\00" +@.str3964 = private unnamed_addr constant [19 x i8] c"bad:\0A ret i32 -1\0A\00" +@.str3965 = 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" +@.str3966 = private unnamed_addr constant [50 x i8] c"define ptr @lp_fs_readall(ptr %p, ptr %lenout) {\0A\00" +@.str3967 = private unnamed_addr constant [152 x i8] c"entry:\0A store i32 0, ptr %lenout\0A %f = call ptr @lp_pak_open(ptr %p, ptr @fn_str_rb)\0A %nz = icmp ne ptr %f, null\0A br i1 %nz, label %ok, label %bad\0A\00" +@.str3968 = private unnamed_addr constant [21 x i8] c"bad:\0A ret ptr null\0A\00" +@.str3969 = 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" +@.str3970 = 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" +@.str3971 = 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" +@.str3972 = private unnamed_addr constant [39 x i8] c"define ptr @lp_fs_read_text(ptr %p) {\0A\00" +@.str3973 = private unnamed_addr constant [90 x i8] c"entry:\0A %lp = alloca i32\0A %r = call ptr @lp_fs_readall(ptr %p, ptr %lp)\0A ret ptr %r\0A}\0A\00" +@.str3974 = private unnamed_addr constant [48 x i8] c"define i32 @lp_fs_write_text(ptr %p, ptr %s) {\0A\00" +@.str3975 = private unnamed_addr constant [185 x i8] c"entry:\0A %tmp = call ptr @lp_path_join_ext(ptr %p, ptr @fn_str_dottmp)\0A %f = call ptr @fopen(ptr %tmp, ptr @fn_str_wb)\0A %nz = icmp ne ptr %f, null\0A br i1 %nz, label %ok, label %bad\0A\00" +@.str3976 = private unnamed_addr constant [18 x i8] c"bad:\0A ret i32 0\0A\00" +@.str3977 = 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" +@.str3978 = 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" +@.str3979 = private unnamed_addr constant [48 x i8] c"define ptr @lp_path_join_ext(ptr %a, ptr %b) {\0A\00" +@.str3980 = 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" +@.str3981 = 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" +@.str3982 = private unnamed_addr constant [49 x i8] c"define i32 @lp_fs_append_text(ptr %p, ptr %s) {\0A\00" +@.str3983 = 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" +@.str3984 = private unnamed_addr constant [18 x i8] c"bad:\0A ret i32 0\0A\00" +@.str3985 = 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" +@.str3986 = private unnamed_addr constant [36 x i8] c"define i32 @lp_fs_remove(ptr %p) {\0A\00" +@.str3987 = 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" +@.str3988 = private unnamed_addr constant [46 x i8] c"define i32 @lp_fs_copy(ptr %src, ptr %dst) {\0A\00" +@.str3989 = private unnamed_addr constant [145 x i8] c"entry:\0A %lp = alloca i32\0A %buf = call ptr @lp_fs_readall(ptr %src, ptr %lp)\0A %nz = icmp ne ptr %buf, null\0A br i1 %nz, label %ok, label %bad\0A\00" +@.str3990 = private unnamed_addr constant [18 x i8] c"bad:\0A ret i32 0\0A\00" +@.str3991 = private unnamed_addr constant [185 x i8] c"ok:\0A %tmp = call ptr @lp_path_join_ext(ptr %dst, ptr @fn_str_dottmp)\0A %f = call ptr @fopen(ptr %tmp, ptr @fn_str_wb)\0A %fnz = icmp ne ptr %f, null\0A br i1 %fnz, label %w, label %bad\0A\00" +@.str3992 = 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" +@.str3993 = private unnamed_addr constant [35 x i8] c"define i32 @lp_fs_mkdir(ptr %p) {\0A\00" +@.str3994 = private unnamed_addr constant [105 x i8] c"entry:\0A %dup = call ptr @lp_fs_strdup(ptr %p)\0A %ip = alloca i32\0A store i32 1, ptr %ip\0A br label %lp\0A\00" +@.str3995 = 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" +@.str3996 = 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" +@.str3997 = 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" +@.str3998 = 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" +@.str3999 = private unnamed_addr constant [96 x i8] c"fin:\0A call i32 @mkdir(ptr %dup, i32 493)\0A %r = call i32 @lp_fs_is_dir(ptr %p)\0A ret i32 %r\0A}\0A\00" +@.str4000 = private unnamed_addr constant [37 x i8] c"define ptr @lp_fs_list(ptr %path) {\0A\00" +@.str4001 = 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" +@.str4002 = 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" +@.str4003 = 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" +@.str4004 = 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" +@.str4005 = private unnamed_addr constant [51 x i8] c"ent:\0A %namep = getelementptr i8, ptr %de, i32 21\0A\00" +@.str4006 = 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" +@.str4007 = 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" +@.str4008 = 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" +@.str4009 = 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" +@.str4010 = private unnamed_addr constant [50 x i8] c"keep:\0A %nm = call ptr @lp_fs_strdup(ptr %namep)\0A\00" +@.str4011 = 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" +@.str4012 = 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" +@.str4013 = 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" +@.str4014 = private unnamed_addr constant [59 x i8] c"closed:\0A call i32 @closedir(ptr %dir)\0A br label %sortit\0A\00" +@.str4015 = private unnamed_addr constant [27 x i8] c"empty:\0A br label %sortit\0A\00" +@.str4016 = 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" +@.str4017 = 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" +@.str4018 = 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" +@.str4019 = 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" +@.str4020 = 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" +@.str4021 = 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" +@.str4022 = 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" +@.str4023 = 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" +@.str4024 = private unnamed_addr constant [4 x i8] c"png\00" +@.str4025 = private unnamed_addr constant [10 x i8] c"image/png\00" +@.str4026 = private unnamed_addr constant [4 x i8] c"jpg\00" +@.str4027 = private unnamed_addr constant [11 x i8] c"image/jpeg\00" +@.str4028 = private unnamed_addr constant [5 x i8] c"jpeg\00" +@.str4029 = private unnamed_addr constant [11 x i8] c"image/jpeg\00" +@.str4030 = private unnamed_addr constant [4 x i8] c"gif\00" +@.str4031 = private unnamed_addr constant [10 x i8] c"image/gif\00" +@.str4032 = private unnamed_addr constant [4 x i8] c"bmp\00" +@.str4033 = private unnamed_addr constant [10 x i8] c"image/bmp\00" +@.str4034 = private unnamed_addr constant [5 x i8] c"webp\00" +@.str4035 = private unnamed_addr constant [11 x i8] c"image/webp\00" +@.str4036 = private unnamed_addr constant [4 x i8] c"svg\00" +@.str4037 = private unnamed_addr constant [14 x i8] c"image/svg+xml\00" +@.str4038 = private unnamed_addr constant [4 x i8] c"txt\00" +@.str4039 = private unnamed_addr constant [11 x i8] c"text/plain\00" +@.str4040 = private unnamed_addr constant [3 x i8] c"md\00" +@.str4041 = private unnamed_addr constant [14 x i8] c"text/markdown\00" +@.str4042 = private unnamed_addr constant [4 x i8] c"csv\00" +@.str4043 = private unnamed_addr constant [9 x i8] c"text/csv\00" +@.str4044 = private unnamed_addr constant [5 x i8] c"html\00" +@.str4045 = private unnamed_addr constant [10 x i8] c"text/html\00" +@.str4046 = private unnamed_addr constant [4 x i8] c"htm\00" +@.str4047 = private unnamed_addr constant [10 x i8] c"text/html\00" +@.str4048 = private unnamed_addr constant [4 x i8] c"css\00" +@.str4049 = private unnamed_addr constant [9 x i8] c"text/css\00" +@.str4050 = private unnamed_addr constant [3 x i8] c"js\00" +@.str4051 = private unnamed_addr constant [16 x i8] c"text/javascript\00" +@.str4052 = private unnamed_addr constant [5 x i8] c"json\00" +@.str4053 = private unnamed_addr constant [17 x i8] c"application/json\00" +@.str4054 = private unnamed_addr constant [4 x i8] c"xml\00" +@.str4055 = private unnamed_addr constant [16 x i8] c"application/xml\00" +@.str4056 = private unnamed_addr constant [4 x i8] c"zip\00" +@.str4057 = private unnamed_addr constant [16 x i8] c"application/zip\00" +@.str4058 = private unnamed_addr constant [4 x i8] c"pdf\00" +@.str4059 = private unnamed_addr constant [16 x i8] c"application/pdf\00" +@.str4060 = private unnamed_addr constant [4 x i8] c"wav\00" +@.str4061 = private unnamed_addr constant [10 x i8] c"audio/wav\00" +@.str4062 = private unnamed_addr constant [4 x i8] c"ogg\00" +@.str4063 = private unnamed_addr constant [10 x i8] c"audio/ogg\00" +@.str4064 = private unnamed_addr constant [4 x i8] c"mp3\00" +@.str4065 = private unnamed_addr constant [11 x i8] c"audio/mpeg\00" +@.str4066 = private unnamed_addr constant [4 x i8] c"ttf\00" +@.str4067 = private unnamed_addr constant [9 x i8] c"font/ttf\00" +@.str4068 = private unnamed_addr constant [4 x i8] c"otf\00" +@.str4069 = private unnamed_addr constant [9 x i8] c"font/otf\00" +@.str4070 = private unnamed_addr constant [6 x i8] c"ludic\00" +@.str4071 = private unnamed_addr constant [13 x i8] c"text/x-ludic\00" +@.str4072 = private unnamed_addr constant [25 x i8] c"application/octet-stream\00" +@.str4073 = private unnamed_addr constant [44 x i8] c"@mime_tbl = private unnamed_addr constant [\00" +@.str4074 = private unnamed_addr constant [19 x i8] c" x { ptr, ptr }] [\00" +@.str4075 = private unnamed_addr constant [3 x i8] c", \00" +@.str4076 = private unnamed_addr constant [20 x i8] c"{ ptr, ptr } { ptr \00" +@.str4077 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str4078 = private unnamed_addr constant [3 x i8] c" }\00" +@.str4079 = private unnamed_addr constant [3 x i8] c"]\0A\00" +@.str4080 = private unnamed_addr constant [37 x i8] c"define ptr @lp_mime_of(ptr %path) {\0A\00" +@.str4081 = private unnamed_addr constant [146 x i8] c"entry:\0A %ext = call ptr @lp_path_ext(ptr %path)\0A %lc = call ptr @lp_mime_lc(ptr %ext)\0A %ip = alloca i32\0A store i32 0, ptr %ip\0A br label %lp\0A\00" +@.str4082 = private unnamed_addr constant [55 x i8] c"lp:\0A %i = load i32, ptr %ip\0A %lt = icmp slt i32 %i, \00" +@.str4083 = private unnamed_addr constant [39 x i8] c"\0A br i1 %lt, label %body, label %def\0A\00" +@.str4084 = private unnamed_addr constant [30 x i8] c"body:\0A %kp = getelementptr [\00" +@.str4085 = 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" +@.str4086 = private unnamed_addr constant [29 x i8] c"hit:\0A %vp = getelementptr [\00" +@.str4087 = private unnamed_addr constant [131 x i8] c" x { ptr, ptr }], ptr @mime_tbl, i32 0, i32 %i, i32 1\0A %v = load ptr, ptr %vp\0A %r = call ptr @lp_fs_strdup(ptr %v)\0A ret ptr %r\0A\00" +@.str4088 = 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" +@.str4089 = private unnamed_addr constant [40 x i8] c"def:\0A %d = call ptr @lp_fs_strdup(ptr \00" +@.str4090 = private unnamed_addr constant [18 x i8] c")\0A ret ptr %d\0A}\0A\00" +@.str4091 = private unnamed_addr constant [34 x i8] c"define ptr @lp_mime_lc(ptr %s) {\0A\00" +@.str4092 = 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" +@.str4093 = 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" +@.str4094 = 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" +@.str4095 = 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" +@.str4096 = 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" +@.str4097 = 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" +@.str4098 = private unnamed_addr constant [40 x i8] c"define ptr @lp_mime_sniff(ptr %path) {\0A\00" +@.str4099 = 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" +@.str4100 = 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" +@.str4101 = 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" +@.str4102 = 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" +@.str4103 = private unnamed_addr constant [72 x i8] c"png:\0A %rpng = call ptr @lp_fs_strdup(ptr @fn_sig_png)\0A ret ptr %rpng\0A\00" +@.str4104 = 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" +@.str4105 = private unnamed_addr constant [72 x i8] c"jpg:\0A %rjpg = call ptr @lp_fs_strdup(ptr @fn_sig_jpg)\0A ret ptr %rjpg\0A\00" +@.str4106 = 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" +@.str4107 = private unnamed_addr constant [72 x i8] c"gif:\0A %rgif = call ptr @lp_fs_strdup(ptr @fn_sig_gif)\0A ret ptr %rgif\0A\00" +@.str4108 = 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" +@.str4109 = private unnamed_addr constant [72 x i8] c"pdf:\0A %rpdf = call ptr @lp_fs_strdup(ptr @fn_sig_pdf)\0A ret ptr %rpdf\0A\00" +@.str4110 = private unnamed_addr constant [65 x i8] c"fallback:\0A %r = call ptr @lp_mime_of(ptr %path)\0A ret ptr %r\0A}\0A\00" +@.str4111 = private unnamed_addr constant [62 x i8] c"@fn_str_rb = private unnamed_addr constant [3 x i8] c\22rb\5C00\22\0A\00" +@.str4112 = private unnamed_addr constant [62 x i8] c"@fn_str_wb = private unnamed_addr constant [3 x i8] c\22wb\5C00\22\0A\00" +@.str4113 = private unnamed_addr constant [62 x i8] c"@fn_str_ab = private unnamed_addr constant [3 x i8] c\22ab\5C00\22\0A\00" +@.str4114 = private unnamed_addr constant [62 x i8] c"@fn_str_dot = private unnamed_addr constant [2 x i8] c\22.\5C00\22\0A\00" +@.str4115 = private unnamed_addr constant [64 x i8] c"@fn_str_slash = private unnamed_addr constant [2 x i8] c\22/\5C00\22\0A\00" +@.str4116 = private unnamed_addr constant [63 x i8] c"@fn_str_empty = private unnamed_addr constant [1 x i8] c\22\5C00\22\0A\00" +@.str4117 = 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" +@.str4118 = 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" +@.str4119 = 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" +@.str4120 = 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" +@.str4121 = 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" +@.str4122 = private unnamed_addr constant [34 x i8] c"declare i32 @open(ptr, i32, ...)\0A\00" +@.str4123 = private unnamed_addr constant [25 x i8] c"declare i32 @close(i32)\0A\00" +@.str4124 = private unnamed_addr constant [35 x i8] c"declare i64 @lseek(i32, i64, i32)\0A\00" +@.str4125 = private unnamed_addr constant [49 x i8] c"declare ptr @mmap(ptr, i64, i32, i32, i32, i64)\0A\00" +@.str4126 = private unnamed_addr constant [38 x i8] c"declare ptr @fmemopen(ptr, i64, ptr)\0A\00" +@.str4127 = private unnamed_addr constant [25 x i8] c"declare i32 @chdir(ptr)\0A\00" +@.str4128 = private unnamed_addr constant [45 x i8] c"declare i32 @_NSGetExecutablePath(ptr, ptr)\0A\00" +@.str4129 = private unnamed_addr constant [63 x i8] c"@.pak_rb = private unnamed_addr constant [3 x i8] c\22rb\5C00\22\0A\00" +@.str4130 = private unnamed_addr constant [73 x i8] c"@.pak_idx = private unnamed_addr constant [12 x i8] c\22packs.index\5C00\22\0A\00" +@.str4131 = private unnamed_addr constant [74 x i8] c"@.pak_res = private unnamed_addr constant [13 x i8] c\22../Resources\5C00\22\0A\00" +@.str4132 = private unnamed_addr constant [89 x i8] c"@.pak_appsup= private unnamed_addr constant [28 x i8] c\22Library/Application Support\5C00\22\0A\00" +@.str4133 = private unnamed_addr constant [65 x i8] c"@.pak_home = private unnamed_addr constant [5 x i8] c\22HOME\5C00\22\0A\00" +@.str4134 = private unnamed_addr constant [57 x i8] c"@L_pak_base = internal global [8 x ptr] zeroinitializer\0A\00" +@.str4135 = private unnamed_addr constant [37 x i8] c"@L_pak_n = internal global i32 0\0A\00" +@.str4136 = private unnamed_addr constant [44 x i8] c"@L_pak_splash = internal global ptr null\0A\00" +@.str4137 = private unnamed_addr constant [41 x i8] c"@L_pak_splashbg = internal global i32 0\0A\00" +@.str4138 = private unnamed_addr constant [42 x i8] c"declare void @splash_show(ptr, i32, i32)\0A\00" +@.str4139 = private unnamed_addr constant [29 x i8] c"declare void @splash_hide()\0A\00" +@.str4140 = private unnamed_addr constant [38 x i8] c"declare void @app_set_icon(ptr, i32)\0A\00" +@.str4141 = private unnamed_addr constant [63 x i8] c"@llvm.global_ctors = appending global [1 x { i32, ptr, ptr }] \00" +@.str4142 = private unnamed_addr constant [61 x i8] c"[{ i32, ptr, ptr } { i32 101, ptr @lp_pak_boot, ptr null }]\0A\00" +@.str4143 = private unnamed_addr constant [39 x i8] c"define i32 @lp_pak_mount(ptr %path) {\0A\00" +@.str4144 = private unnamed_addr constant [103 x i8] c"entry:\0A %n = load i32, ptr @L_pak_n\0A %full = icmp sge i32 %n, 8\0A br i1 %full, label %no, label %op\0A\00" +@.str4145 = private unnamed_addr constant [126 x i8] c"op:\0A %fd = call i32 (ptr, i32, ...) @open(ptr %path, i32 0)\0A %bad = icmp slt i32 %fd, 0\0A br i1 %bad, label %no, label %sz\0A\00" +@.str4146 = private unnamed_addr constant [124 x i8] c"sz:\0A %end = call i64 @lseek(i32 %fd, i64 0, i32 2)\0A %small = icmp slt i64 %end, 32\0A br i1 %small, label %clo, label %mp\0A\00" +@.str4147 = private unnamed_addr constant [80 x i8] c"mp:\0A %base = call ptr @mmap(ptr null, i64 %end, i32 1, i32 2, i32 %fd, i64 0)\0A\00" +@.str4148 = private unnamed_addr constant [93 x i8] c" %mbad = icmp eq ptr %base, inttoptr (i64 -1 to ptr)\0A br i1 %mbad, label %clo, label %chk\0A\00" +@.str4149 = private unnamed_addr constant [107 x i8] c"chk:\0A %m = load i32, ptr %base\0A %okm = icmp eq i32 %m, 1262571596\0A br i1 %okm, label %keep, label %clo\0A\00" +@.str4150 = private unnamed_addr constant [102 x i8] c"keep:\0A %slot = getelementptr [8 x ptr], ptr @L_pak_base, i32 0, i32 %n\0A store ptr %base, ptr %slot\0A\00" +@.str4151 = private unnamed_addr constant [98 x i8] c" %n1 = add i32 %n, 1\0A store i32 %n1, ptr @L_pak_n\0A %c1 = call i32 @close(i32 %fd)\0A ret i32 1\0A\00" +@.str4152 = private unnamed_addr constant [51 x i8] c"clo:\0A %c2 = call i32 @close(i32 %fd)\0A ret i32 0\0A\00" +@.str4153 = private unnamed_addr constant [19 x i8] c"no:\0A ret i32 0\0A}\0A\00" +@.str4154 = private unnamed_addr constant [35 x i8] c"define ptr @lp_pak_norm(ptr %p) {\0A\00" +@.str4155 = private unnamed_addr constant [133 x i8] c"entry:\0A %c0 = load i8, ptr %p\0A %c0i = zext i8 %c0 to i32\0A %isdot = icmp eq i32 %c0i, 46\0A br i1 %isdot, label %chk2, label %same\0A\00" +@.str4156 = private unnamed_addr constant [171 x i8] c"chk2:\0A %p1 = getelementptr i8, ptr %p, i32 1\0A %c1 = load i8, ptr %p1\0A %c1i = zext i8 %c1 to i32\0A %issl = icmp eq i32 %c1i, 47\0A br i1 %issl, label %skip, label %same\0A\00" +@.str4157 = private unnamed_addr constant [98 x i8] c"skip:\0A %p2 = getelementptr i8, ptr %p, i32 2\0A %r = call ptr @lp_pak_norm(ptr %p2)\0A ret ptr %r\0A\00" +@.str4158 = private unnamed_addr constant [22 x i8] c"same:\0A ret ptr %p\0A}\0A\00" +@.str4159 = private unnamed_addr constant [63 x i8] c"define ptr @lp_pak_find1(ptr %base, ptr %name, ptr %outlen) {\0A\00" +@.str4160 = private unnamed_addr constant [82 x i8] c"entry:\0A %cntp = getelementptr i8, ptr %base, i32 8\0A %cnt = load i32, ptr %cntp\0A\00" +@.str4161 = private unnamed_addr constant [132 x i8] c" %lop = alloca i32\0A %hip = alloca i32\0A store i32 0, ptr %lop\0A %h0 = sub i32 %cnt, 1\0A store i32 %h0, ptr %hip\0A br label %loop\0A\00" +@.str4162 = private unnamed_addr constant [130 x i8] c"loop:\0A %lo = load i32, ptr %lop\0A %hi = load i32, ptr %hip\0A %fin = icmp sgt i32 %lo, %hi\0A br i1 %fin, label %miss, label %mid\0A\00" +@.str4163 = private unnamed_addr constant [150 x i8] c"mid:\0A %sum = add i32 %lo, %hi\0A %m = sdiv i32 %sum, 2\0A %eo = mul i32 %m, 16\0A %eo2 = add i32 %eo, 32\0A %ep = getelementptr i8, ptr %base, i32 %eo2\0A\00" +@.str4164 = private unnamed_addr constant [124 x i8] c" %noff = load i32, ptr %ep\0A %nptr = getelementptr i8, ptr %base, i32 %noff\0A %c = call i32 @strcmp(ptr %nptr, ptr %name)\0A\00" +@.str4165 = private unnamed_addr constant [67 x i8] c" %iseq = icmp eq i32 %c, 0\0A br i1 %iseq, label %hit, label %cmp\0A\00" +@.str4166 = private unnamed_addr constant [71 x i8] c"cmp:\0A %lt = icmp slt i32 %c, 0\0A br i1 %lt, label %goup, label %godn\0A\00" +@.str4167 = private unnamed_addr constant [72 x i8] c"goup:\0A %m1 = add i32 %m, 1\0A store i32 %m1, ptr %lop\0A br label %loop\0A\00" +@.str4168 = private unnamed_addr constant [72 x i8] c"godn:\0A %m2 = sub i32 %m, 1\0A store i32 %m2, ptr %hip\0A br label %loop\0A\00" +@.str4169 = private unnamed_addr constant [148 x i8] c"hit:\0A %dop = getelementptr i8, ptr %ep, i32 4\0A %doff = load i32, ptr %dop\0A %dlp = getelementptr i8, ptr %ep, i32 8\0A %dlen = load i32, ptr %dlp\0A\00" +@.str4170 = private unnamed_addr constant [93 x i8] c" store i32 %dlen, ptr %outlen\0A %dp = getelementptr i8, ptr %base, i32 %doff\0A ret ptr %dp\0A\00" +@.str4171 = private unnamed_addr constant [24 x i8] c"miss:\0A ret ptr null\0A}\0A\00" +@.str4172 = private unnamed_addr constant [51 x i8] c"define ptr @lp_pak_find(ptr %path, ptr %outlen) {\0A\00" +@.str4173 = private unnamed_addr constant [79 x i8] c"entry:\0A %p = call ptr @lp_pak_norm(ptr %path)\0A %np = load i32, ptr @L_pak_n\0A\00" +@.str4174 = private unnamed_addr constant [85 x i8] c" %ip = alloca i32\0A %i0 = sub i32 %np, 1\0A store i32 %i0, ptr %ip\0A br label %loop\0A\00" +@.str4175 = private unnamed_addr constant [101 x i8] c"loop:\0A %i = load i32, ptr %ip\0A %done = icmp slt i32 %i, 0\0A br i1 %done, label %miss, label %body\0A\00" +@.str4176 = private unnamed_addr constant [103 x i8] c"body:\0A %slot = getelementptr [8 x ptr], ptr @L_pak_base, i32 0, i32 %i\0A %base = load ptr, ptr %slot\0A\00" +@.str4177 = private unnamed_addr constant [131 x i8] c" %r = call ptr @lp_pak_find1(ptr %base, ptr %p, ptr %outlen)\0A %hit = icmp ne ptr %r, null\0A br i1 %hit, label %got, label %next\0A\00" +@.str4178 = private unnamed_addr constant [19 x i8] c"got:\0A ret ptr %r\0A\00" +@.str4179 = private unnamed_addr constant [71 x i8] c"next:\0A %i1 = sub i32 %i, 1\0A store i32 %i1, ptr %ip\0A br label %loop\0A\00" +@.str4180 = private unnamed_addr constant [24 x i8] c"miss:\0A ret ptr null\0A}\0A\00" +@.str4181 = private unnamed_addr constant [37 x i8] c"define i32 @lp_pak_has(ptr %path) {\0A\00" +@.str4182 = private unnamed_addr constant [99 x i8] c"entry:\0A %lp = alloca i32\0A store i32 0, ptr %lp\0A %b = call ptr @lp_pak_find(ptr %path, ptr %lp)\0A\00" +@.str4183 = private unnamed_addr constant [82 x i8] c" %hit = icmp ne ptr %b, null\0A %r = select i1 %hit, i32 1, i32 0\0A ret i32 %r\0A}\0A\00" +@.str4184 = private unnamed_addr constant [39 x i8] c"define i32 @lp_pak_bytes(ptr %path) {\0A\00" +@.str4185 = private unnamed_addr constant [99 x i8] c"entry:\0A %lp = alloca i32\0A store i32 0, ptr %lp\0A %b = call ptr @lp_pak_find(ptr %path, ptr %lp)\0A\00" +@.str4186 = private unnamed_addr constant [67 x i8] c" %hit = icmp ne ptr %b, null\0A br i1 %hit, label %yes, label %no\0A\00" +@.str4187 = private unnamed_addr constant [44 x i8] c"yes:\0A %l = load i32, ptr %lp\0A ret i32 %l\0A\00" +@.str4188 = private unnamed_addr constant [20 x i8] c"no:\0A ret i32 -1\0A}\0A\00" +@.str4189 = private unnamed_addr constant [49 x i8] c"define ptr @lp_pak_open(ptr %path, ptr %mode) {\0A\00" +@.str4190 = private unnamed_addr constant [132 x i8] c"entry:\0A %m0 = load i8, ptr %mode\0A %m0i = zext i8 %m0 to i32\0A %isr = icmp eq i32 %m0i, 114\0A br i1 %isr, label %try, label %real\0A\00" +@.str4191 = private unnamed_addr constant [100 x i8] c"try:\0A %lp = alloca i32\0A store i32 0, ptr %lp\0A %blob = call ptr @lp_pak_find(ptr %path, ptr %lp)\0A\00" +@.str4192 = private unnamed_addr constant [72 x i8] c" %hit = icmp ne ptr %blob, null\0A br i1 %hit, label %mem, label %real\0A\00" +@.str4193 = private unnamed_addr constant [135 x i8] c"mem:\0A %len = load i32, ptr %lp\0A %lz = zext i32 %len to i64\0A %f = call ptr @fmemopen(ptr %blob, i64 %lz, ptr @.pak_rb)\0A ret ptr %f\0A\00" +@.str4194 = private unnamed_addr constant [69 x i8] c"real:\0A %rf = call ptr @fopen(ptr %path, ptr %mode)\0A ret ptr %rf\0A}\0A\00" +@.str4195 = private unnamed_addr constant [39 x i8] c"define ptr @lp_pak_slurp(ptr %path) {\0A\00" +@.str4196 = private unnamed_addr constant [121 x i8] c"entry:\0A %f = call ptr @fopen(ptr %path, ptr @.pak_rb)\0A %bad = icmp eq ptr %f, null\0A br i1 %bad, label %no, label %go\0A\00" +@.str4197 = private unnamed_addr constant [130 x i8] c"go:\0A %s1 = call i32 @fseek(ptr %f, i64 0, i32 2)\0A %n64 = call i64 @ftell(ptr %f)\0A %s2 = call i32 @fseek(ptr %f, i64 0, i32 0)\0A\00" +@.str4198 = private unnamed_addr constant [121 x i8] c" %cap = add i64 %n64, 1\0A %buf = call ptr @malloc(i64 %cap)\0A %rd = call i64 @fread(ptr %buf, i64 1, i64 %n64, ptr %f)\0A\00" +@.str4199 = private unnamed_addr constant [112 x i8] c" %e = getelementptr i8, ptr %buf, i64 %rd\0A store i8 0, ptr %e\0A %c = call i32 @fclose(ptr %f)\0A ret ptr %buf\0A\00" +@.str4200 = private unnamed_addr constant [22 x i8] c"no:\0A ret ptr null\0A}\0A\00" +@.str4201 = private unnamed_addr constant [41 x i8] c"define i32 @lp_pak_boot_dir(ptr %dir) {\0A\00" +@.str4202 = private unnamed_addr constant [105 x i8] c"entry:\0A %ix = call ptr @lp_path_join(ptr %dir, ptr @.pak_idx)\0A %txt = call ptr @lp_pak_slurp(ptr %ix)\0A\00" +@.str4203 = private unnamed_addr constant [72 x i8] c" %none = icmp eq ptr %txt, null\0A br i1 %none, label %no, label %scan\0A\00" +@.str4204 = private unnamed_addr constant [129 x i8] c"scan:\0A %ip = alloca i32\0A %got = alloca i32\0A store i32 0, ptr %ip\0A store i32 0, ptr %got\0A %jp = alloca i32\0A br label %line\0A\00" +@.str4205 = private unnamed_addr constant [128 x i8] c"line:\0A %i = load i32, ptr %ip\0A %lp = getelementptr i8, ptr %txt, i32 %i\0A %c0 = load i8, ptr %lp\0A %c0i = zext i8 %c0 to i32\0A\00" +@.str4206 = private unnamed_addr constant [71 x i8] c" %atend = icmp eq i32 %c0i, 0\0A br i1 %atend, label %fin, label %eol\0A\00" +@.str4207 = private unnamed_addr constant [48 x i8] c"eol:\0A store i32 %i, ptr %jp\0A br label %escan\0A\00" +@.str4208 = private unnamed_addr constant [129 x i8] c"escan:\0A %j = load i32, ptr %jp\0A %jq = getelementptr i8, ptr %txt, i32 %j\0A %cj = load i8, ptr %jq\0A %cji = zext i8 %cj to i32\0A\00" +@.str4209 = private unnamed_addr constant [130 x i8] c" %isnl = icmp eq i32 %cji, 10\0A %isz = icmp eq i32 %cji, 0\0A %stop = or i1 %isnl, %isz\0A br i1 %stop, label %ehave, label %eadv\0A\00" +@.str4210 = private unnamed_addr constant [72 x i8] c"eadv:\0A %j1 = add i32 %j, 1\0A store i32 %j1, ptr %jp\0A br label %escan\0A\00" +@.str4211 = private unnamed_addr constant [156 x i8] c"ehave:\0A %je = load i32, ptr %jp\0A %jep = getelementptr i8, ptr %txt, i32 %je\0A store i8 0, ptr %jep\0A %nexti = add i32 %je, 1\0A store i32 %nexti, ptr %ip\0A\00" +@.str4212 = private unnamed_addr constant [177 x i8] c" %ln = getelementptr i8, ptr %txt, i32 %i\0A %isp = call i32 @strncmp(ptr %ln, ptr @.pak_kw_pack, i64 5)\0A %pk = icmp eq i32 %isp, 0\0A br i1 %pk, label %dopack, label %chkhome\0A\00" +@.str4213 = private unnamed_addr constant [144 x i8] c"dopack:\0A %pv = getelementptr i8, ptr %ln, i32 5\0A %full = call ptr @lp_path_join(ptr %dir, ptr %pv)\0A %ok = call i32 @lp_pak_mount(ptr %full)\0A\00" +@.str4214 = private unnamed_addr constant [94 x i8] c" %g = load i32, ptr %got\0A %g1 = add i32 %g, %ok\0A store i32 %g1, ptr %got\0A br label %line\0A\00" +@.str4215 = private unnamed_addr constant [143 x i8] c"chkhome:\0A %ish = call i32 @strncmp(ptr %ln, ptr @.pak_kw_home, i64 5)\0A %hm = icmp eq i32 %ish, 0\0A br i1 %hm, label %dohome, label %chkspbg\0A\00" +@.str4216 = private unnamed_addr constant [104 x i8] c"dohome:\0A %hv = getelementptr i8, ptr %ln, i32 5\0A call void @lp_pak_sethome(ptr %hv)\0A br label %line\0A\00" +@.str4217 = private unnamed_addr constant [141 x i8] c"chkspbg:\0A %isb = call i32 @strncmp(ptr %ln, ptr @.pak_kw_spbg, i64 9)\0A %bg = icmp eq i32 %isb, 0\0A br i1 %bg, label %dospbg, label %chksp\0A\00" +@.str4218 = private unnamed_addr constant [136 x i8] c"dospbg:\0A %bv = getelementptr i8, ptr %ln, i32 9\0A %bi = call i32 @atoi(ptr %bv)\0A store i32 %bi, ptr @L_pak_splashbg\0A br label %line\0A\00" +@.str4219 = private unnamed_addr constant [138 x i8] c"chksp:\0A %isS = call i32 @strncmp(ptr %ln, ptr @.pak_kw_splash, i64 7)\0A %sp = icmp eq i32 %isS, 0\0A br i1 %sp, label %dosp, label %line\0A\00" +@.str4220 = private unnamed_addr constant [100 x i8] c"dosp:\0A %sv = getelementptr i8, ptr %ln, i32 7\0A store ptr %sv, ptr @L_pak_splash\0A br label %line\0A\00" +@.str4221 = private unnamed_addr constant [47 x i8] c"fin:\0A %gf = load i32, ptr %got\0A ret i32 %gf\0A\00" +@.str4222 = private unnamed_addr constant [19 x i8] c"no:\0A ret i32 0\0A}\0A\00" +@.str4223 = private unnamed_addr constant [71 x i8] c"@.pak_kw_pack = private unnamed_addr constant [6 x i8] c\22pack \5C00\22\0A\00" +@.str4224 = private unnamed_addr constant [71 x i8] c"@.pak_kw_home = private unnamed_addr constant [6 x i8] c\22home \5C00\22\0A\00" +@.str4225 = private unnamed_addr constant [73 x i8] c"@.pak_kw_splash = private unnamed_addr constant [8 x i8] c\22splash \5C00\22\0A\00" +@.str4226 = private unnamed_addr constant [75 x i8] c"@.pak_kw_spbg = private unnamed_addr constant [10 x i8] c\22splashbg \5C00\22\0A\00" +@.str4227 = private unnamed_addr constant [42 x i8] c"define void @lp_pak_sethome(ptr %name) {\0A\00" +@.str4228 = private unnamed_addr constant [115 x i8] c"entry:\0A %h = call ptr @getenv(ptr @.pak_appdata)\0A %nh = icmp eq ptr %h, null\0A br i1 %nh, label %out, label %go\0A\00" +@.str4229 = private unnamed_addr constant [90 x i8] c"go:\0A %b = call ptr @lp_path_join(ptr %h, ptr %name)\0A call void @lp_win_slashes(ptr %b)\0A\00" +@.str4230 = private unnamed_addr constant [112 x i8] c"entry:\0A %h = call ptr @getenv(ptr @.pak_home)\0A %nh = icmp eq ptr %h, null\0A br i1 %nh, label %out, label %go\0A\00" +@.str4231 = private unnamed_addr constant [110 x i8] c"go:\0A %a = call ptr @lp_path_join(ptr %h, ptr @.pak_appsup)\0A %b = call ptr @lp_path_join(ptr %a, ptr %name)\0A\00" +@.str4232 = private unnamed_addr constant [90 x i8] c" %mk = call i32 @mkdir(ptr %b, i32 493)\0A %cd = call i32 @chdir(ptr %b)\0A br label %out\0A\00" +@.str4233 = private unnamed_addr constant [19 x i8] c"out:\0A ret void\0A}\0A\00" +@.str4234 = private unnamed_addr constant [70 x i8] c"@.pak_appdata = private unnamed_addr constant [8 x i8] c\22APPDATA\5C00\22\0A\00" +@.str4235 = private unnamed_addr constant [30 x i8] c"define void @lp_pak_boot() {\0A\00" +@.str4236 = private unnamed_addr constant [83 x i8] c"entry:\0A %buf = alloca [1024 x i8]\0A %szp = alloca i32\0A store i32 1024, ptr %szp\0A\00" +@.str4237 = private unnamed_addr constant [124 x i8] c" %rc = call i32 @_NSGetExecutablePath(ptr %buf, ptr %szp)\0A %bad = icmp ne i32 %rc, 0\0A br i1 %bad, label %out, label %go\0A\00" +@.str4238 = private unnamed_addr constant [103 x i8] c"go:\0A %dir = call ptr @lp_path_dir(ptr %buf)\0A %res = call ptr @lp_path_join(ptr %dir, ptr @.pak_res)\0A\00" +@.str4239 = private unnamed_addr constant [115 x i8] c" %n1 = call i32 @lp_pak_boot_dir(ptr %res)\0A %any = icmp sgt i32 %n1, 0\0A br i1 %any, label %splash, label %try2\0A\00" +@.str4240 = private unnamed_addr constant [70 x i8] c"try2:\0A %n2 = call i32 @lp_pak_boot_dir(ptr %dir)\0A br label %splash\0A\00" +@.str4241 = private unnamed_addr constant [9 x i8] c"splash:\0A\00" +@.str4242 = private unnamed_addr constant [33 x i8] c" call void @lp_pak_splash_go()\0A\00" +@.str4243 = private unnamed_addr constant [17 x i8] c" br label %out\0A\00" +@.str4244 = private unnamed_addr constant [19 x i8] c"out:\0A ret void\0A}\0A\00" +@.str4245 = private unnamed_addr constant [35 x i8] c"define void @lp_pak_splash_go() {\0A\00" +@.str4246 = private unnamed_addr constant [115 x i8] c"entry:\0A %sp = load ptr, ptr @L_pak_splash\0A %none = icmp eq ptr %sp, null\0A br i1 %none, label %out, label %find\0A\00" +@.str4247 = private unnamed_addr constant [99 x i8] c"find:\0A %lp = alloca i32\0A store i32 0, ptr %lp\0A %blob = call ptr @lp_pak_find(ptr %sp, ptr %lp)\0A\00" +@.str4248 = private unnamed_addr constant [74 x i8] c" %miss = icmp eq ptr %blob, null\0A br i1 %miss, label %out, label %show\0A\00" +@.str4249 = private unnamed_addr constant [72 x i8] c"show:\0A %len = load i32, ptr %lp\0A %bg = load i32, ptr @L_pak_splashbg\0A\00" +@.str4250 = private unnamed_addr constant [72 x i8] c" call void @splash_show(ptr %blob, i32 %len, i32 %bg)\0A br label %out\0A\00" +@.str4251 = private unnamed_addr constant [19 x i8] c"out:\0A ret void\0A}\0A\00" +@.str4252 = private unnamed_addr constant [39 x i8] c"define void @lp_app_icon(ptr %path) {\0A\00" +@.str4253 = private unnamed_addr constant [128 x i8] c"entry:\0A %f = call ptr @lp_pak_open(ptr %path, ptr @.pak_rb)\0A %bad = icmp eq ptr %f, null\0A br i1 %bad, label %out, label %go\0A\00" +@.str4254 = private unnamed_addr constant [130 x i8] c"go:\0A %s1 = call i32 @fseek(ptr %f, i64 0, i32 2)\0A %n64 = call i64 @ftell(ptr %f)\0A %s2 = call i32 @fseek(ptr %f, i64 0, i32 0)\0A\00" +@.str4255 = private unnamed_addr constant [72 x i8] c" %tiny = icmp sle i64 %n64, 0\0A br i1 %tiny, label %shut, label %read\0A\00" +@.str4256 = private unnamed_addr constant [102 x i8] c"read:\0A %buf = call ptr @malloc(i64 %n64)\0A %rd = call i64 @fread(ptr %buf, i64 1, i64 %n64, ptr %f)\0A\00" +@.str4257 = private unnamed_addr constant [64 x i8] c" %c1 = call i32 @fclose(ptr %f)\0A %n32 = trunc i64 %rd to i32\0A\00" +@.str4258 = private unnamed_addr constant [86 x i8] c" call void @app_set_icon(ptr %buf, i32 %n32)\0A call void @free(ptr %buf)\0A ret void\0A\00" +@.str4259 = private unnamed_addr constant [51 x i8] c"shut:\0A %c2 = call i32 @fclose(ptr %f)\0A ret void\0A\00" +@.str4260 = private unnamed_addr constant [19 x i8] c"out:\0A ret void\0A}\0A\00" +@.str4261 = private unnamed_addr constant [35 x i8] c"declare ptr @__acrt_iob_func(i32)\0A\00" +@.str4262 = private unnamed_addr constant [33 x i8] c"declare i32 @_setmode(i32, i32)\0A\00" +@.str4263 = private unnamed_addr constant [37 x i8] c"declare ptr @_fsopen(ptr, ptr, i32)\0A\00" +@.str4264 = private unnamed_addr constant [29 x i8] c"declare i64 @_ftelli64(ptr)\0A\00" +@.str4265 = private unnamed_addr constant [39 x i8] c"declare i32 @_fseeki64(ptr, i64, i32)\0A\00" +@.str4266 = private unnamed_addr constant [27 x i8] c"declare i64 @_time64(ptr)\0A\00" +@.str4267 = private unnamed_addr constant [32 x i8] c"declare i32 @_access(ptr, i32)\0A\00" +@.str4268 = private unnamed_addr constant [26 x i8] c"declare i32 @_mkdir(ptr)\0A\00" +@.str4269 = private unnamed_addr constant [26 x i8] c"declare i32 @_chdir(ptr)\0A\00" +@.str4270 = private unnamed_addr constant [24 x i8] c"declare i32 @_getpid()\0A\00" +@.str4271 = private unnamed_addr constant [35 x i8] c"declare i32 @_open(ptr, i32, ...)\0A\00" +@.str4272 = private unnamed_addr constant [26 x i8] c"declare i32 @_close(i32)\0A\00" +@.str4273 = private unnamed_addr constant [39 x i8] c"declare i64 @_lseeki64(i32, i64, i32)\0A\00" +@.str4274 = private unnamed_addr constant [34 x i8] c"declare i32 @_putenv_s(ptr, ptr)\0A\00" +@.str4275 = private unnamed_addr constant [34 x i8] c"declare i64 @_get_osfhandle(i32)\0A\00" +@.str4276 = private unnamed_addr constant [40 x i8] c"declare i32 @_open_osfhandle(i64, i32)\0A\00" +@.str4277 = private unnamed_addr constant [32 x i8] c"declare ptr @_fdopen(i32, ptr)\0A\00" +@.str4278 = private unnamed_addr constant [41 x i8] c"declare i32 @MoveFileExA(ptr, ptr, i32)\0A\00" +@.str4279 = private unnamed_addr constant [31 x i8] c"declare i32 @DeleteFileA(ptr)\0A\00" +@.str4280 = private unnamed_addr constant [36 x i8] c"declare i32 @RemoveDirectoryA(ptr)\0A\00" +@.str4281 = private unnamed_addr constant [39 x i8] c"declare ptr @FindFirstFileA(ptr, ptr)\0A\00" +@.str4282 = private unnamed_addr constant [38 x i8] c"declare i32 @FindNextFileA(ptr, ptr)\0A\00" +@.str4283 = private unnamed_addr constant [29 x i8] c"declare i32 @FindClose(ptr)\0A\00" +@.str4284 = private unnamed_addr constant [63 x i8] c"declare ptr @CreateFileMappingA(ptr, ptr, i32, i32, i32, ptr)\0A\00" +@.str4285 = private unnamed_addr constant [53 x i8] c"declare ptr @MapViewOfFile(ptr, i32, i32, i32, i64)\0A\00" +@.str4286 = private unnamed_addr constant [31 x i8] c"declare i32 @CloseHandle(ptr)\0A\00" +@.str4287 = private unnamed_addr constant [48 x i8] c"declare i32 @GetModuleFileNameA(ptr, ptr, i32)\0A\00" +@.str4288 = private unnamed_addr constant [37 x i8] c"declare i32 @GetTempPathA(i32, ptr)\0A\00" +@.str4289 = private unnamed_addr constant [51 x i8] c"declare i32 @GetTempFileNameA(ptr, ptr, i32, ptr)\0A\00" +@.str4290 = private unnamed_addr constant [61 x i8] c"declare ptr @CreateFileA(ptr, i32, i32, ptr, i32, i32, ptr)\0A\00" +@.str4291 = private unnamed_addr constant [49 x i8] c"declare i32 @WriteFile(ptr, ptr, i32, ptr, ptr)\0A\00" +@.str4292 = private unnamed_addr constant [49 x i8] c"declare i32 @SetFilePointer(ptr, i32, ptr, i32)\0A\00" +@.str4293 = private unnamed_addr constant [65 x i8] c"@.win_rb = private unnamed_addr constant [3 x i8] c\22rb\5C00\22\0A\00" +@.str4294 = private unnamed_addr constant [66 x i8] c"@.win_lpk = private unnamed_addr constant [4 x i8] c\22lpk\5C00\22\0A\00" +@.str4295 = private unnamed_addr constant [63 x i8] c"@.win_empty = private unnamed_addr constant [1 x i8] c\22\5C00\22\0A\00" +@.str4296 = private unnamed_addr constant [70 x i8] c"@.win_windows = private unnamed_addr constant [8 x i8] c\22Windows\5C00\22\0A\00" +@.str4297 = private unnamed_addr constant [69 x i8] c"@.win_x64 = private unnamed_addr constant [7 x i8] c\22x86_64\5C00\22\0A\00" +@.str4298 = private unnamed_addr constant [48 x i8] c"define internal void @lp_win_slashes(ptr %s) {\0A\00" +@.str4299 = private unnamed_addr constant [23 x i8] c"entry:\0A br label %lp\0A\00" +@.str4300 = private unnamed_addr constant [132 x i8] c"lp:\0A %p = phi ptr [ %s, %entry ], [ %p1, %nx ]\0A %c = load i8, ptr %p\0A %z = icmp eq i8 %c, 0\0A br i1 %z, label %done, label %chk\0A\00" +@.str4301 = private unnamed_addr constant [67 x i8] c"chk:\0A %bs = icmp eq i8 %c, 92\0A br i1 %bs, label %fix, label %nx\0A\00" +@.str4302 = private unnamed_addr constant [43 x i8] c"fix:\0A store i8 47, ptr %p\0A br label %nx\0A\00" +@.str4303 = private unnamed_addr constant [60 x i8] c"nx:\0A %p1 = getelementptr i8, ptr %p, i64 1\0A br label %lp\0A\00" +@.str4304 = private unnamed_addr constant [20 x i8] c"done:\0A ret void\0A}\0A\00" +@.str4305 = private unnamed_addr constant [42 x i8] c"@L_win_stdio_bin = internal global i32 0\0A\00" +@.str4306 = private unnamed_addr constant [46 x i8] c"define internal ptr @lp_win_stdio(i32 %fd) {\0A\00" +@.str4307 = private unnamed_addr constant [112 x i8] c"entry:\0A %b = load i32, ptr @L_win_stdio_bin\0A %done = icmp ne i32 %b, 0\0A br i1 %done, label %get, label %set\0A\00" +@.str4308 = private unnamed_addr constant [148 x i8] c"set:\0A store i32 1, ptr @L_win_stdio_bin\0A %s1 = call i32 @_setmode(i32 1, i32 32768)\0A %s2 = call i32 @_setmode(i32 2, i32 32768)\0A br label %get\0A\00" +@.str4309 = private unnamed_addr constant [63 x i8] c"get:\0A %f = call ptr @__acrt_iob_func(i32 %fd)\0A ret ptr %f\0A}\0A\00" +@.str4310 = private unnamed_addr constant [46 x i8] c"define internal ptr @fopen(ptr %p, ptr %m) {\0A\00" +@.str4311 = private unnamed_addr constant [132 x i8] c"entry:\0A %buf = alloca [8 x i8]\0A %ip = alloca i32\0A %hb = alloca i32\0A store i32 0, ptr %ip\0A store i32 0, ptr %hb\0A br label %lp\0A\00" +@.str4312 = private unnamed_addr constant [213 x i8] c"lp:\0A %i = load i32, ptr %ip\0A %src = getelementptr i8, ptr %m, i32 %i\0A %c = load i8, ptr %src\0A %z = icmp eq i8 %c, 0\0A %full = icmp sge i32 %i, 6\0A %stop = or i1 %z, %full\0A br i1 %stop, label %fin, label %cp\0A\00" +@.str4313 = private unnamed_addr constant [256 x i8] c"cp:\0A %dst = getelementptr i8, ptr %buf, i32 %i\0A store i8 %c, ptr %dst\0A %isb = icmp eq i8 %c, 98\0A %hbv = load i32, ptr %hb\0A %hbn = select i1 %isb, i32 1, i32 %hbv\0A store i32 %hbn, ptr %hb\0A %i1 = add i32 %i, 1\0A store i32 %i1, ptr %ip\0A br label %lp\0A\00" +@.str4314 = private unnamed_addr constant [103 x i8] c"fin:\0A %hbf = load i32, ptr %hb\0A %need = icmp eq i32 %hbf, 0\0A br i1 %need, label %addb, label %term\0A\00" +@.str4315 = private unnamed_addr constant [137 x i8] c"addb:\0A %bp = getelementptr i8, ptr %buf, i32 %i\0A store i8 98, ptr %bp\0A %i2 = add i32 %i, 1\0A store i32 %i2, ptr %ip\0A br label %term\0A\00" +@.str4316 = private unnamed_addr constant [165 x i8] c"term:\0A %ie = load i32, ptr %ip\0A %ep = getelementptr i8, ptr %buf, i32 %ie\0A store i8 0, ptr %ep\0A %f = call ptr @_fsopen(ptr %p, ptr %buf, i32 64)\0A ret ptr %f\0A}\0A\00" +@.str4317 = private unnamed_addr constant [95 x i8] c"define internal i64 @ftell(ptr %f) {\0Aentry:\0A %r = call i64 @_ftelli64(ptr %f)\0A ret i64 %r\0A}\0A\00" +@.str4318 = private unnamed_addr constant [127 x i8] c"define internal i32 @fseek(ptr %f, i64 %o, i32 %w) {\0Aentry:\0A %r = call i32 @_fseeki64(ptr %f, i64 %o, i32 %w)\0A ret i32 %r\0A}\0A\00" +@.str4319 = private unnamed_addr constant [184 x i8] c"define internal i32 @rename(ptr %a, ptr %b) {\0Aentry:\0A %r = call i32 @MoveFileExA(ptr %a, ptr %b, i32 11)\0A %ok = icmp ne i32 %r, 0\0A %v = select i1 %ok, i32 0, i32 -1\0A ret i32 %v\0A}\0A\00" +@.str4320 = private unnamed_addr constant [39 x i8] c"define internal i32 @remove(ptr %p) {\0A\00" +@.str4321 = private unnamed_addr constant [107 x i8] c"entry:\0A %d = call i32 @DeleteFileA(ptr %p)\0A %ok = icmp ne i32 %d, 0\0A br i1 %ok, label %yes, label %dir\0A\00" +@.str4322 = private unnamed_addr constant [111 x i8] c"dir:\0A %r = call i32 @RemoveDirectoryA(ptr %p)\0A %ok2 = icmp ne i32 %r, 0\0A br i1 %ok2, label %yes, label %no\0A\00" +@.str4323 = private unnamed_addr constant [18 x i8] c"yes:\0A ret i32 0\0A\00" +@.str4324 = private unnamed_addr constant [20 x i8] c"no:\0A ret i32 -1\0A}\0A\00" +@.str4325 = private unnamed_addr constant [110 x i8] c"define internal i32 @access(ptr %p, i32 %m) {\0Aentry:\0A %r = call i32 @_access(ptr %p, i32 %m)\0A ret i32 %r\0A}\0A\00" +@.str4326 = private unnamed_addr constant [103 x i8] c"define internal i32 @mkdir(ptr %p, i32 %mode) {\0Aentry:\0A %r = call i32 @_mkdir(ptr %p)\0A ret i32 %r\0A}\0A\00" +@.str4327 = private unnamed_addr constant [155 x i8] c"define internal i32 @open(ptr %p, i32 %fl, ...) {\0Aentry:\0A %f2 = or i32 %fl, 32768\0A %r = call i32 (ptr, i32, ...) @_open(ptr %p, i32 %f2)\0A ret i32 %r\0A}\0A\00" +@.str4328 = private unnamed_addr constant [94 x i8] c"define internal i32 @close(i32 %fd) {\0Aentry:\0A %r = call i32 @_close(i32 %fd)\0A ret i32 %r\0A}\0A\00" +@.str4329 = private unnamed_addr constant [129 x i8] c"define internal i64 @lseek(i32 %fd, i64 %o, i32 %w) {\0Aentry:\0A %r = call i64 @_lseeki64(i32 %fd, i64 %o, i32 %w)\0A ret i64 %r\0A}\0A\00" +@.str4330 = private unnamed_addr constant [43 x i8] c"define internal ptr @opendir(ptr %path) {\0A\00" +@.str4331 = private unnamed_addr constant [150 x i8] c"entry:\0A %l = call i64 @strlen(ptr %path)\0A %cap = add i64 %l, 3\0A %pat = call ptr @malloc(i64 %cap)\0A call ptr @memcpy(ptr %pat, ptr %path, i64 %l)\0A\00" +@.str4332 = private unnamed_addr constant [194 x i8] c" %e0 = getelementptr i8, ptr %pat, i64 %l\0A store i8 47, ptr %e0\0A %e1 = getelementptr i8, ptr %e0, i64 1\0A store i8 42, ptr %e1\0A %e2 = getelementptr i8, ptr %e0, i64 2\0A store i8 0, ptr %e2\0A\00" +@.str4333 = private unnamed_addr constant [154 x i8] c" %d = call ptr @malloc(i64 368)\0A %fd = getelementptr i8, ptr %d, i64 16\0A %h = call ptr @FindFirstFileA(ptr %pat, ptr %fd)\0A call void @free(ptr %pat)\0A\00" +@.str4334 = private unnamed_addr constant [86 x i8] c" %bad = icmp eq ptr %h, inttoptr (i64 -1 to ptr)\0A br i1 %bad, label %no, label %ok\0A\00" +@.str4335 = private unnamed_addr constant [46 x i8] c"no:\0A call void @free(ptr %d)\0A ret ptr null\0A\00" +@.str4336 = private unnamed_addr constant [106 x i8] c"ok:\0A store ptr %h, ptr %d\0A %fl = getelementptr i8, ptr %d, i64 8\0A store i32 1, ptr %fl\0A ret ptr %d\0A}\0A\00" +@.str4337 = private unnamed_addr constant [40 x i8] c"define internal ptr @readdir(ptr %d) {\0A\00" +@.str4338 = private unnamed_addr constant [143 x i8] c"entry:\0A %fl = getelementptr i8, ptr %d, i64 8\0A %f = load i32, ptr %fl\0A %first = icmp ne i32 %f, 0\0A br i1 %first, label %take, label %next\0A\00" +@.str4339 = private unnamed_addr constant [47 x i8] c"take:\0A store i32 0, ptr %fl\0A br label %give\0A\00" +@.str4340 = private unnamed_addr constant [189 x i8] c"next:\0A %h = load ptr, ptr %d\0A %fd = getelementptr i8, ptr %d, i64 16\0A %ok = call i32 @FindNextFileA(ptr %h, ptr %fd)\0A %more = icmp ne i32 %ok, 0\0A br i1 %more, label %give, label %end\0A\00" +@.str4341 = private unnamed_addr constant [62 x i8] c"give:\0A %de = getelementptr i8, ptr %d, i64 39\0A ret ptr %de\0A\00" +@.str4342 = private unnamed_addr constant [23 x i8] c"end:\0A ret ptr null\0A}\0A\00" +@.str4343 = private unnamed_addr constant [147 x i8] c"define internal i32 @closedir(ptr %d) {\0Aentry:\0A %h = load ptr, ptr %d\0A %r = call i32 @FindClose(ptr %h)\0A call void @free(ptr %d)\0A ret i32 0\0A}\0A\00" +@.str4344 = private unnamed_addr constant [89 x i8] c"define internal ptr @mmap(ptr %a, i64 %len, i32 %prot, i32 %flags, i32 %fd, i64 %off) {\0A\00" +@.str4345 = private unnamed_addr constant [166 x i8] c"entry:\0A %oh = call i64 @_get_osfhandle(i32 %fd)\0A %h = inttoptr i64 %oh to ptr\0A %m = call ptr @CreateFileMappingA(ptr %h, ptr null, i32 2, i32 0, i32 0, ptr null)\0A\00" +@.str4346 = private unnamed_addr constant [66 x i8] c" %nm = icmp eq ptr %m, null\0A br i1 %nm, label %bad, label %map\0A\00" +@.str4347 = private unnamed_addr constant [174 x i8] c"map:\0A %v = call ptr @MapViewOfFile(ptr %m, i32 4, i32 0, i32 0, i64 0)\0A %c = call i32 @CloseHandle(ptr %m)\0A %nv = icmp eq ptr %v, null\0A br i1 %nv, label %bad, label %ok\0A\00" +@.str4348 = private unnamed_addr constant [18 x i8] c"ok:\0A ret ptr %v\0A\00" +@.str4349 = private unnamed_addr constant [43 x i8] c"bad:\0A ret ptr inttoptr (i64 -1 to ptr)\0A}\0A\00" +@.str4350 = private unnamed_addr constant [64 x i8] c"define internal ptr @fmemopen(ptr %buf, i64 %len, ptr %mode) {\0A\00" +@.str4351 = private unnamed_addr constant [190 x i8] c"entry:\0A %dir = alloca [270 x i8]\0A %name = alloca [270 x i8]\0A %wr = alloca i32\0A %n = call i32 @GetTempPathA(i32 260, ptr %dir)\0A %z = icmp eq i32 %n, 0\0A br i1 %z, label %bad, label %mk\0A\00" +@.str4352 = private unnamed_addr constant [143 x i8] c"mk:\0A %u = call i32 @GetTempFileNameA(ptr %dir, ptr @.win_lpk, i32 0, ptr %name)\0A %uz = icmp eq i32 %u, 0\0A br i1 %uz, label %bad, label %cr\0A\00" +@.str4353 = private unnamed_addr constant [195 x i8] c"cr:\0A %h = call ptr @CreateFileA(ptr %name, i32 -1073741824, i32 7, ptr null, i32 2, i32 67109120, ptr null)\0A %hb = icmp eq ptr %h, inttoptr (i64 -1 to ptr)\0A br i1 %hb, label %bad, label %wrt\0A\00" +@.str4354 = private unnamed_addr constant [176 x i8] c"wrt:\0A %l32 = trunc i64 %len to i32\0A %w = call i32 @WriteFile(ptr %h, ptr %buf, i32 %l32, ptr %wr, ptr null)\0A %sp = call i32 @SetFilePointer(ptr %h, i32 0, ptr null, i32 0)\0A\00" +@.str4355 = private unnamed_addr constant [153 x i8] c" %hi = ptrtoint ptr %h to i64\0A %fd = call i32 @_open_osfhandle(i64 %hi, i32 32768)\0A %fdb = icmp slt i32 %fd, 0\0A br i1 %fdb, label %shut, label %fdo\0A\00" +@.str4356 = private unnamed_addr constant [67 x i8] c"fdo:\0A %f = call ptr @_fdopen(i32 %fd, ptr @.win_rb)\0A ret ptr %f\0A\00" +@.str4357 = private unnamed_addr constant [60 x i8] c"shut:\0A %c = call i32 @CloseHandle(ptr %h)\0A br label %bad\0A\00" +@.str4358 = private unnamed_addr constant [23 x i8] c"bad:\0A ret ptr null\0A}\0A\00" +@.str4359 = private unnamed_addr constant [65 x i8] c"define internal i32 @_NSGetExecutablePath(ptr %buf, ptr %szp) {\0A\00" +@.str4360 = private unnamed_addr constant [221 x i8] c"entry:\0A %sz = load i32, ptr %szp\0A %n = call i32 @GetModuleFileNameA(ptr null, ptr %buf, i32 %sz)\0A %bad = icmp eq i32 %n, 0\0A %full = icmp sge i32 %n, %sz\0A %no = or i1 %bad, %full\0A br i1 %no, label %fail, label %fix\0A\00" +@.str4361 = private unnamed_addr constant [56 x i8] c"fix:\0A call void @lp_win_slashes(ptr %buf)\0A ret i32 0\0A\00" +@.str4362 = private unnamed_addr constant [22 x i8] c"fail:\0A ret i32 -1\0A}\0A\00" +@.str4363 = private unnamed_addr constant [92 x i8] c"define internal i32 @chdir(ptr %p) {\0Aentry:\0A %r = call i32 @_chdir(ptr %p)\0A ret i32 %r\0A}\0A\00" +@.str4364 = private unnamed_addr constant [82 x i8] c"define internal i32 @getpid() {\0Aentry:\0A %r = call i32 @_getpid()\0A ret i32 %r\0A}\0A\00" +@.str4365 = private unnamed_addr constant [92 x i8] c"define internal i64 @time(ptr %t) {\0Aentry:\0A %r = call i64 @_time64(ptr %t)\0A ret i64 %r\0A}\0A\00" +@.str4366 = private unnamed_addr constant [120 x i8] c"define internal i32 @setenv(ptr %n, ptr %v, i32 %o) {\0Aentry:\0A %r = call i32 @_putenv_s(ptr %n, ptr %v)\0A ret i32 %r\0A}\0A\00" +@.str4367 = private unnamed_addr constant [115 x i8] c"define internal i32 @unsetenv(ptr %n) {\0Aentry:\0A %r = call i32 @_putenv_s(ptr %n, ptr @.win_empty)\0A ret i32 %r\0A}\0A\00" +@.str4368 = private unnamed_addr constant [40 x i8] c"define internal i32 @uname(ptr %buf) {\0A\00" +@.str4369 = private unnamed_addr constant [170 x i8] c"entry:\0A call ptr @memcpy(ptr %buf, ptr @.win_windows, i64 8)\0A %m = getelementptr i8, ptr %buf, i64 1024\0A call ptr @memcpy(ptr %m, ptr @.win_x64, i64 7)\0A ret i32 0\0A}\0A\00" +@.str4370 = private unnamed_addr constant [12 x i8] c"USERPROFILE\00" +@.str4371 = private unnamed_addr constant [8 x i8] c"APPDATA\00" +@.str4372 = private unnamed_addr constant [13 x i8] c"LOCALAPPDATA\00" +@.str4373 = private unnamed_addr constant [5 x i8] c"TEMP\00" +@.str4374 = private unnamed_addr constant [1 x i8] c"\00" +@.str4375 = private unnamed_addr constant [8 x i8] c"windows\00" +@.str4376 = private unnamed_addr constant [7 x i8] c"x86_64\00" +@.str4377 = private unnamed_addr constant [65 x i8] c"define ptr @lp_os_home() {\0A %r = call ptr @lp_os_getenv_or(ptr \00" +@.str4378 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str4379 = private unnamed_addr constant [18 x i8] c")\0A ret ptr %r\0A}\0A\00" +@.str4380 = private unnamed_addr constant [50 x i8] c"define ptr @lp_os_winknown(ptr %var, ptr %app) {\0A\00" +@.str4381 = private unnamed_addr constant [106 x i8] c"entry:\0A %v = call ptr @getenv(ptr %var)\0A %z = icmp eq ptr %v, null\0A br i1 %z, label %home, label %use\0A\00" +@.str4382 = private unnamed_addr constant [54 x i8] c"home:\0A %h = call ptr @lp_os_home()\0A br label %join\0A\00" +@.str4383 = private unnamed_addr constant [23 x i8] c"use:\0A br label %join\0A\00" +@.str4384 = private unnamed_addr constant [91 x i8] c"join:\0A %b = phi ptr [ %h, %home ], [ %v, %use ]\0A %r = call ptr @lp_os_join3(ptr %b, ptr \00" +@.str4385 = private unnamed_addr constant [64 x i8] c", ptr %app)\0A call void @lp_win_slashes(ptr %r)\0A ret ptr %r\0A}\0A\00" +@.str4386 = private unnamed_addr constant [76 x i8] c"define ptr @lp_os_save_dir(ptr %app) {\0A %r = call ptr @lp_os_winknown(ptr \00" +@.str4387 = private unnamed_addr constant [28 x i8] c", ptr %app)\0A ret ptr %r\0A}\0A\00" +@.str4388 = private unnamed_addr constant [78 x i8] c"define ptr @lp_os_config_dir(ptr %app) {\0A %r = call ptr @lp_os_winknown(ptr \00" +@.str4389 = private unnamed_addr constant [28 x i8] c", ptr %app)\0A ret ptr %r\0A}\0A\00" +@.str4390 = private unnamed_addr constant [77 x i8] c"define ptr @lp_os_cache_dir(ptr %app) {\0A %r = call ptr @lp_os_winknown(ptr \00" +@.str4391 = private unnamed_addr constant [28 x i8] c", ptr %app)\0A ret ptr %r\0A}\0A\00" +@.str4392 = private unnamed_addr constant [69 x i8] c"define ptr @lp_os_temp_dir() {\0A %t = call ptr @lp_os_getenv_or(ptr \00" +@.str4393 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str4394 = private unnamed_addr constant [44 x i8] c")\0A %r = call ptr @lp_os_join2(ptr %t, ptr \00" +@.str4395 = private unnamed_addr constant [54 x i8] c")\0A call void @lp_win_slashes(ptr %r)\0A ret ptr %r\0A}\0A\00" +@.str4396 = private unnamed_addr constant [42 x i8] c"define ptr @lp_os_platform() {\0A ret ptr \00" +@.str4397 = private unnamed_addr constant [4 x i8] c"\0A}\0A\00" +@.str4398 = private unnamed_addr constant [38 x i8] c"define ptr @lp_os_arch() {\0A ret ptr \00" +@.str4399 = private unnamed_addr constant [4 x i8] c"\0A}\0A\00" +@.str4400 = private unnamed_addr constant [28 x i8] c"define ptr @lp_os_args() {\0A\00" +@.str4401 = 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" +@.str4402 = private unnamed_addr constant [33 x i8] c" %h = call ptr @malloc(i64 16)\0A\00" +@.str4403 = 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" +@.str4404 = 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" +@.str4405 = 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" +@.str4406 = private unnamed_addr constant [16 x i8] c" ret ptr %h\0A}\0A\00" +@.str4407 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" +@.str4408 = private unnamed_addr constant [24 x i8] c"getelementptr inbounds \00" +@.str4409 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str4410 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str4411 = private unnamed_addr constant [4 x i8] c"len\00" +@.str4412 = private unnamed_addr constant [5 x i8] c"push\00" +@.str4413 = private unnamed_addr constant [6 x i8] c"clear\00" +@.str4414 = private unnamed_addr constant [7 x i8] c"sample\00" +@.str4415 = private unnamed_addr constant [6 x i8] c"first\00" +@.str4416 = private unnamed_addr constant [5 x i8] c"last\00" +@.str4417 = private unnamed_addr constant [4 x i8] c"pop\00" +@.str4418 = private unnamed_addr constant [5 x i8] c"swap\00" +@.str4419 = private unnamed_addr constant [9 x i8] c"contains\00" +@.str4420 = private unnamed_addr constant [9 x i8] c"index_of\00" +@.str4421 = private unnamed_addr constant [8 x i8] c"reverse\00" +@.str4422 = private unnamed_addr constant [7 x i8] c"insert\00" +@.str4423 = private unnamed_addr constant [10 x i8] c"remove_at\00" +@.str4424 = private unnamed_addr constant [7 x i8] c"remove\00" +@.str4425 = private unnamed_addr constant [5 x i8] c"sort\00" +@.str4426 = private unnamed_addr constant [8 x i8] c"sort_by\00" +@.str4427 = private unnamed_addr constant [13 x i8] c"sort_desc_by\00" +@.str4428 = private unnamed_addr constant [10 x i8] c"sort_with\00" +@.str4429 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str4430 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str4431 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00" +@.str4432 = private unnamed_addr constant [3 x i8] c", \00" +@.str4433 = private unnamed_addr constant [3 x i8] c"ig\00" +@.str4434 = private unnamed_addr constant [4 x i8] c"igd\00" +@.str4435 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str4436 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str4437 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str4438 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str4439 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str4440 = private unnamed_addr constant [9 x i8] c"mul i32 \00" +@.str4441 = private unnamed_addr constant [4 x i8] c", 2\00" +@.str4442 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" +@.str4443 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str4444 = private unnamed_addr constant [11 x i8] c"select i1 \00" +@.str4445 = private unnamed_addr constant [14 x i8] c", i32 8, i32 \00" +@.str4446 = private unnamed_addr constant [10 x i8] c"zext i32 \00" +@.str4447 = private unnamed_addr constant [8 x i8] c" to i64\00" +@.str4448 = private unnamed_addr constant [9 x i8] c"mul i64 \00" +@.str4449 = private unnamed_addr constant [3 x i8] c", \00" +@.str4450 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" +@.str4451 = private unnamed_addr constant [23 x i8] c"call ptr @realloc(ptr \00" +@.str4452 = private unnamed_addr constant [7 x i8] c", i64 \00" +@.str4453 = private unnamed_addr constant [2 x i8] c")\00" +@.str4454 = private unnamed_addr constant [13 x i8] c" store ptr \00" +@.str4455 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str4456 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str4457 = private unnamed_addr constant [13 x i8] c" store i32 \00" +@.str4458 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str4459 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str4460 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str4461 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str4462 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str4463 = private unnamed_addr constant [24 x i8] c"getelementptr inbounds \00" +@.str4464 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str4465 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str4466 = private unnamed_addr constant [10 x i8] c"icmp slt \00" +@.str4467 = private unnamed_addr constant [2 x i8] c" \00" +@.str4468 = private unnamed_addr constant [3 x i8] c", \00" +@.str4469 = private unnamed_addr constant [14 x i8] c"call i32 @fn_\00" +@.str4470 = private unnamed_addr constant [2 x i8] c"(\00" +@.str4471 = private unnamed_addr constant [2 x i8] c" \00" +@.str4472 = private unnamed_addr constant [3 x i8] c", \00" +@.str4473 = private unnamed_addr constant [2 x i8] c" \00" +@.str4474 = private unnamed_addr constant [2 x i8] c")\00" +@.str4475 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00" +@.str4476 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str4477 = private unnamed_addr constant [6 x i8] c"call \00" +@.str4478 = private unnamed_addr constant [6 x i8] c" @fn_\00" +@.str4479 = private unnamed_addr constant [2 x i8] c"(\00" +@.str4480 = private unnamed_addr constant [2 x i8] c" \00" +@.str4481 = private unnamed_addr constant [2 x i8] c")\00" +@.str4482 = private unnamed_addr constant [6 x i8] c"call \00" +@.str4483 = private unnamed_addr constant [6 x i8] c" @fn_\00" +@.str4484 = private unnamed_addr constant [2 x i8] c"(\00" +@.str4485 = private unnamed_addr constant [2 x i8] c" \00" +@.str4486 = private unnamed_addr constant [2 x i8] c")\00" +@.str4487 = private unnamed_addr constant [10 x i8] c"icmp slt \00" +@.str4488 = private unnamed_addr constant [2 x i8] c" \00" +@.str4489 = private unnamed_addr constant [3 x i8] c", \00" +@.str4490 = private unnamed_addr constant [10 x i8] c"icmp sgt \00" +@.str4491 = private unnamed_addr constant [2 x i8] c" \00" +@.str4492 = private unnamed_addr constant [3 x i8] c", \00" +@.str4493 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" +@.str4494 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str4495 = private unnamed_addr constant [10 x i8] c"zext i32 \00" +@.str4496 = private unnamed_addr constant [8 x i8] c" to i64\00" +@.str4497 = private unnamed_addr constant [9 x i8] c"mul i64 \00" +@.str4498 = private unnamed_addr constant [3 x i8] c", \00" +@.str4499 = private unnamed_addr constant [22 x i8] c"call ptr @malloc(i64 \00" +@.str4500 = private unnamed_addr constant [2 x i8] c")\00" +@.str4501 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str4502 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str4503 = private unnamed_addr constant [2 x i8] c"1\00" +@.str4504 = private unnamed_addr constant [6 x i8] c"ms_wc\00" +@.str4505 = private unnamed_addr constant [6 x i8] c"ms_wb\00" +@.str4506 = private unnamed_addr constant [6 x i8] c"ms_we\00" +@.str4507 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str4508 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str4509 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str4510 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str4511 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" +@.str4512 = private unnamed_addr constant [3 x i8] c", \00" +@.str4513 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str4514 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str4515 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str4516 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str4517 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str4518 = private unnamed_addr constant [9 x i8] c"mul i32 \00" +@.str4519 = private unnamed_addr constant [4 x i8] c", 2\00" +@.str4520 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str4521 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str4522 = private unnamed_addr constant [2 x i8] c"0\00" +@.str4523 = private unnamed_addr constant [6 x i8] c"ms_ic\00" +@.str4524 = private unnamed_addr constant [6 x i8] c"ms_ib\00" +@.str4525 = private unnamed_addr constant [6 x i8] c"ms_ie\00" +@.str4526 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str4527 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str4528 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str4529 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str4530 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" +@.str4531 = private unnamed_addr constant [3 x i8] c", \00" +@.str4532 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str4533 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str4534 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str4535 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str4536 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str4537 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str4538 = private unnamed_addr constant [3 x i8] c", \00" +@.str4539 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" +@.str4540 = private unnamed_addr constant [3 x i8] c", \00" +@.str4541 = private unnamed_addr constant [11 x i8] c"select i1 \00" +@.str4542 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str4543 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str4544 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str4545 = private unnamed_addr constant [3 x i8] c", \00" +@.str4546 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" +@.str4547 = private unnamed_addr constant [3 x i8] c", \00" +@.str4548 = private unnamed_addr constant [11 x i8] c"select i1 \00" +@.str4549 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str4550 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str4551 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str4552 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str4553 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str4554 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str4555 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str4556 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str4557 = private unnamed_addr constant [6 x i8] c"ms_mc\00" +@.str4558 = private unnamed_addr constant [6 x i8] c"ms_mb\00" +@.str4559 = private unnamed_addr constant [8 x i8] c"ms_mend\00" +@.str4560 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str4561 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str4562 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str4563 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str4564 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str4565 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" +@.str4566 = private unnamed_addr constant [3 x i8] c", \00" +@.str4567 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" +@.str4568 = private unnamed_addr constant [3 x i8] c", \00" +@.str4569 = private unnamed_addr constant [8 x i8] c"and i1 \00" +@.str4570 = private unnamed_addr constant [3 x i8] c", \00" +@.str4571 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str4572 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str4573 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str4574 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str4575 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str4576 = private unnamed_addr constant [6 x i8] c"load \00" +@.str4577 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str4578 = private unnamed_addr constant [6 x i8] c"load \00" +@.str4579 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str4580 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str4581 = private unnamed_addr constant [9 x i8] c"ms_takeR\00" +@.str4582 = private unnamed_addr constant [9 x i8] c"ms_takeL\00" +@.str4583 = private unnamed_addr constant [9 x i8] c"ms_takeD\00" +@.str4584 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str4585 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str4586 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str4587 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str4588 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str4589 = private unnamed_addr constant [9 x i8] c" store \00" +@.str4590 = private unnamed_addr constant [2 x i8] c" \00" +@.str4591 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str4592 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str4593 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str4594 = private unnamed_addr constant [4 x i8] c", 1\00" +@.str4595 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str4596 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str4597 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str4598 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str4599 = private unnamed_addr constant [9 x i8] c" store \00" +@.str4600 = private unnamed_addr constant [2 x i8] c" \00" +@.str4601 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str4602 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str4603 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str4604 = private unnamed_addr constant [4 x i8] c", 1\00" +@.str4605 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str4606 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str4607 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str4608 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str4609 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str4610 = private unnamed_addr constant [4 x i8] c", 1\00" +@.str4611 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str4612 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str4613 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str4614 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str4615 = private unnamed_addr constant [7 x i8] c"ms_dac\00" +@.str4616 = private unnamed_addr constant [7 x i8] c"ms_dab\00" +@.str4617 = private unnamed_addr constant [7 x i8] c"ms_dae\00" +@.str4618 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str4619 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str4620 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str4621 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str4622 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" +@.str4623 = private unnamed_addr constant [3 x i8] c", \00" +@.str4624 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str4625 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str4626 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str4627 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str4628 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str4629 = private unnamed_addr constant [6 x i8] c"load \00" +@.str4630 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str4631 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str4632 = private unnamed_addr constant [9 x i8] c" store \00" +@.str4633 = private unnamed_addr constant [2 x i8] c" \00" +@.str4634 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str4635 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str4636 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str4637 = private unnamed_addr constant [4 x i8] c", 1\00" +@.str4638 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str4639 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str4640 = private unnamed_addr constant [4 x i8] c", 1\00" +@.str4641 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str4642 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str4643 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str4644 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str4645 = private unnamed_addr constant [7 x i8] c"ms_dbc\00" +@.str4646 = private unnamed_addr constant [7 x i8] c"ms_dbb\00" +@.str4647 = private unnamed_addr constant [7 x i8] c"ms_dbe\00" +@.str4648 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str4649 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str4650 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str4651 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str4652 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" +@.str4653 = private unnamed_addr constant [3 x i8] c", \00" +@.str4654 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str4655 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str4656 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str4657 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str4658 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str4659 = private unnamed_addr constant [6 x i8] c"load \00" +@.str4660 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str4661 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str4662 = private unnamed_addr constant [9 x i8] c" store \00" +@.str4663 = private unnamed_addr constant [2 x i8] c" \00" +@.str4664 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str4665 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str4666 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str4667 = private unnamed_addr constant [4 x i8] c", 1\00" +@.str4668 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str4669 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str4670 = private unnamed_addr constant [4 x i8] c", 1\00" +@.str4671 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str4672 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str4673 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str4674 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str4675 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str4676 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str4677 = private unnamed_addr constant [7 x i8] c"ms_cbc\00" +@.str4678 = private unnamed_addr constant [7 x i8] c"ms_cbb\00" +@.str4679 = private unnamed_addr constant [7 x i8] c"ms_cbe\00" +@.str4680 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str4681 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str4682 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str4683 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str4684 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" +@.str4685 = private unnamed_addr constant [3 x i8] c", \00" +@.str4686 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str4687 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str4688 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str4689 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str4690 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str4691 = private unnamed_addr constant [6 x i8] c"load \00" +@.str4692 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str4693 = private unnamed_addr constant [9 x i8] c" store \00" +@.str4694 = private unnamed_addr constant [2 x i8] c" \00" +@.str4695 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str4696 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str4697 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str4698 = private unnamed_addr constant [4 x i8] c", 1\00" +@.str4699 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str4700 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str4701 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str4702 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str4703 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str4704 = private unnamed_addr constant [3 x i8] c", \00" +@.str4705 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str4706 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str4707 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str4708 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str4709 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str4710 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str4711 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str4712 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str4713 = private unnamed_addr constant [23 x i8] c" call void @free(ptr \00" +@.str4714 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str4715 = private unnamed_addr constant [6 x i8] c"List.\00" +@.str4716 = private unnamed_addr constant [25 x i8] c" needs (slice, function)\00" +@.str4717 = private unnamed_addr constant [6 x i8] c"List.\00" +@.str4718 = private unnamed_addr constant [46 x i8] c": the second argument must be a function name\00" +@.str4719 = private unnamed_addr constant [6 x i8] c"List.\00" +@.str4720 = private unnamed_addr constant [22 x i8] c": no function named '\00" +@.str4721 = private unnamed_addr constant [2 x i8] c"'\00" +@.str4722 = private unnamed_addr constant [4 x i8] c"len\00" +@.str4723 = private unnamed_addr constant [5 x i8] c"push\00" +@.str4724 = private unnamed_addr constant [7 x i8] c"sample\00" +@.str4725 = private unnamed_addr constant [15 x i8] c"rt_list_sample\00" +@.str4726 = private unnamed_addr constant [68 x i8] c"List.sample needs the engine runtime (a game, or import ludic.core)\00" +@.str4727 = private unnamed_addr constant [33 x i8] c"call ptr @fn_rt_list_sample(ptr \00" +@.str4728 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str4729 = private unnamed_addr constant [2 x i8] c")\00" +@.str4730 = private unnamed_addr constant [6 x i8] c"[]int\00" +@.str4731 = private unnamed_addr constant [6 x i8] c"List.\00" +@.str4732 = private unnamed_addr constant [15 x i8] c" needs a slice\00" +@.str4733 = private unnamed_addr constant [6 x i8] c"clear\00" +@.str4734 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00" +@.str4735 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str4736 = private unnamed_addr constant [2 x i8] c"0\00" +@.str4737 = private unnamed_addr constant [5 x i8] c"void\00" +@.str4738 = private unnamed_addr constant [6 x i8] c"first\00" +@.str4739 = private unnamed_addr constant [2 x i8] c"0\00" +@.str4740 = private unnamed_addr constant [6 x i8] c"load \00" +@.str4741 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str4742 = private unnamed_addr constant [5 x i8] c"last\00" +@.str4743 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str4744 = private unnamed_addr constant [9 x i8] c"sub i32 \00" +@.str4745 = private unnamed_addr constant [4 x i8] c", 1\00" +@.str4746 = private unnamed_addr constant [6 x i8] c"load \00" +@.str4747 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str4748 = private unnamed_addr constant [4 x i8] c"pop\00" +@.str4749 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str4750 = private unnamed_addr constant [9 x i8] c"sub i32 \00" +@.str4751 = private unnamed_addr constant [4 x i8] c", 1\00" +@.str4752 = private unnamed_addr constant [6 x i8] c"load \00" +@.str4753 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str4754 = private unnamed_addr constant [13 x i8] c" store i32 \00" +@.str4755 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str4756 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str4757 = private unnamed_addr constant [5 x i8] c"swap\00" +@.str4758 = private unnamed_addr constant [6 x i8] c"load \00" +@.str4759 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str4760 = private unnamed_addr constant [6 x i8] c"load \00" +@.str4761 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str4762 = private unnamed_addr constant [9 x i8] c" store \00" +@.str4763 = private unnamed_addr constant [2 x i8] c" \00" +@.str4764 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str4765 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str4766 = private unnamed_addr constant [9 x i8] c" store \00" +@.str4767 = private unnamed_addr constant [2 x i8] c" \00" +@.str4768 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str4769 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str4770 = private unnamed_addr constant [2 x i8] c"0\00" +@.str4771 = private unnamed_addr constant [5 x i8] c"void\00" +@.str4772 = private unnamed_addr constant [9 x i8] c"contains\00" +@.str4773 = private unnamed_addr constant [9 x i8] c"index_of\00" +@.str4774 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str4775 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str4776 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str4777 = private unnamed_addr constant [3 x i8] c"-1\00" +@.str4778 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str4779 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str4780 = private unnamed_addr constant [2 x i8] c"0\00" +@.str4781 = private unnamed_addr constant [8 x i8] c"lc_cond\00" +@.str4782 = private unnamed_addr constant [8 x i8] c"lc_body\00" +@.str4783 = private unnamed_addr constant [7 x i8] c"lc_hit\00" +@.str4784 = private unnamed_addr constant [8 x i8] c"lc_next\00" +@.str4785 = private unnamed_addr constant [7 x i8] c"lc_end\00" +@.str4786 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str4787 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str4788 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str4789 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str4790 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" +@.str4791 = private unnamed_addr constant [3 x i8] c", \00" +@.str4792 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str4793 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str4794 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str4795 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str4796 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str4797 = private unnamed_addr constant [6 x i8] c"load \00" +@.str4798 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str4799 = private unnamed_addr constant [9 x i8] c"icmp eq \00" +@.str4800 = private unnamed_addr constant [2 x i8] c" \00" +@.str4801 = private unnamed_addr constant [3 x i8] c", \00" +@.str4802 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str4803 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str4804 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str4805 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str4806 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str4807 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str4808 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str4809 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str4810 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str4811 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str4812 = private unnamed_addr constant [4 x i8] c", 1\00" +@.str4813 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str4814 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str4815 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str4816 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str4817 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str4818 = private unnamed_addr constant [9 x i8] c"index_of\00" +@.str4819 = private unnamed_addr constant [4 x i8] c"int\00" +@.str4820 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00" +@.str4821 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str4822 = private unnamed_addr constant [9 x i8] c"zext i1 \00" +@.str4823 = private unnamed_addr constant [8 x i8] c" to i32\00" +@.str4824 = private unnamed_addr constant [5 x i8] c"bool\00" +@.str4825 = private unnamed_addr constant [7 x i8] c"insert\00" +@.str4826 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str4827 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str4828 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str4829 = private unnamed_addr constant [5 x i8] c"li_c\00" +@.str4830 = private unnamed_addr constant [5 x i8] c"li_b\00" +@.str4831 = private unnamed_addr constant [5 x i8] c"li_e\00" +@.str4832 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str4833 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str4834 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str4835 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str4836 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00" +@.str4837 = private unnamed_addr constant [3 x i8] c", \00" +@.str4838 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str4839 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str4840 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str4841 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str4842 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str4843 = private unnamed_addr constant [9 x i8] c"sub i32 \00" +@.str4844 = private unnamed_addr constant [4 x i8] c", 1\00" +@.str4845 = private unnamed_addr constant [6 x i8] c"load \00" +@.str4846 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str4847 = private unnamed_addr constant [9 x i8] c" store \00" +@.str4848 = private unnamed_addr constant [2 x i8] c" \00" +@.str4849 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str4850 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str4851 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str4852 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str4853 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str4854 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str4855 = private unnamed_addr constant [9 x i8] c" store \00" +@.str4856 = private unnamed_addr constant [2 x i8] c" \00" +@.str4857 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str4858 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str4859 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str4860 = private unnamed_addr constant [4 x i8] c", 1\00" +@.str4861 = private unnamed_addr constant [13 x i8] c" store i32 \00" +@.str4862 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str4863 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str4864 = private unnamed_addr constant [2 x i8] c"0\00" +@.str4865 = private unnamed_addr constant [5 x i8] c"void\00" +@.str4866 = private unnamed_addr constant [10 x i8] c"remove_at\00" +@.str4867 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str4868 = private unnamed_addr constant [9 x i8] c"sub i32 \00" +@.str4869 = private unnamed_addr constant [4 x i8] c", 1\00" +@.str4870 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str4871 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str4872 = private unnamed_addr constant [5 x i8] c"lr_c\00" +@.str4873 = private unnamed_addr constant [5 x i8] c"lr_b\00" +@.str4874 = private unnamed_addr constant [5 x i8] c"lr_e\00" +@.str4875 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str4876 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str4877 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str4878 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str4879 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" +@.str4880 = private unnamed_addr constant [3 x i8] c", \00" +@.str4881 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str4882 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str4883 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str4884 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str4885 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str4886 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str4887 = private unnamed_addr constant [4 x i8] c", 1\00" +@.str4888 = private unnamed_addr constant [6 x i8] c"load \00" +@.str4889 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str4890 = private unnamed_addr constant [9 x i8] c" store \00" +@.str4891 = private unnamed_addr constant [2 x i8] c" \00" +@.str4892 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str4893 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str4894 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str4895 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str4896 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str4897 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str4898 = private unnamed_addr constant [13 x i8] c" store i32 \00" +@.str4899 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str4900 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str4901 = private unnamed_addr constant [2 x i8] c"0\00" +@.str4902 = private unnamed_addr constant [5 x i8] c"void\00" +@.str4903 = private unnamed_addr constant [7 x i8] c"remove\00" +@.str4904 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str4905 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str4906 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str4907 = private unnamed_addr constant [3 x i8] c"-1\00" +@.str4908 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str4909 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str4910 = private unnamed_addr constant [2 x i8] c"0\00" +@.str4911 = private unnamed_addr constant [5 x i8] c"lv_c\00" +@.str4912 = private unnamed_addr constant [5 x i8] c"lv_b\00" +@.str4913 = private unnamed_addr constant [5 x i8] c"lv_h\00" +@.str4914 = private unnamed_addr constant [5 x i8] c"lv_n\00" +@.str4915 = private unnamed_addr constant [5 x i8] c"lv_e\00" +@.str4916 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str4917 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str4918 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str4919 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str4920 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" +@.str4921 = private unnamed_addr constant [3 x i8] c", \00" +@.str4922 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str4923 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" +@.str4924 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str4925 = private unnamed_addr constant [8 x i8] c"and i1 \00" +@.str4926 = private unnamed_addr constant [3 x i8] c", \00" +@.str4927 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str4928 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str4929 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str4930 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str4931 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str4932 = private unnamed_addr constant [6 x i8] c"load \00" +@.str4933 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str4934 = private unnamed_addr constant [9 x i8] c"icmp eq \00" +@.str4935 = private unnamed_addr constant [2 x i8] c" \00" +@.str4936 = private unnamed_addr constant [3 x i8] c", \00" +@.str4937 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str4938 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str4939 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str4940 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str4941 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str4942 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str4943 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str4944 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str4945 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str4946 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str4947 = private unnamed_addr constant [4 x i8] c", 1\00" +@.str4948 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str4949 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str4950 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str4951 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str4952 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str4953 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00" +@.str4954 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str4955 = private unnamed_addr constant [6 x i8] c"lv_do\00" +@.str4956 = private unnamed_addr constant [7 x i8] c"lv_end\00" +@.str4957 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str4958 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str4959 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str4960 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str4961 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str4962 = private unnamed_addr constant [9 x i8] c"sub i32 \00" +@.str4963 = private unnamed_addr constant [4 x i8] c", 1\00" +@.str4964 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str4965 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str4966 = private unnamed_addr constant [6 x i8] c"lv_dc\00" +@.str4967 = private unnamed_addr constant [6 x i8] c"lv_db\00" +@.str4968 = private unnamed_addr constant [6 x i8] c"lv_de\00" +@.str4969 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str4970 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str4971 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str4972 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str4973 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" +@.str4974 = private unnamed_addr constant [3 x i8] c", \00" +@.str4975 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str4976 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str4977 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str4978 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str4979 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str4980 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str4981 = private unnamed_addr constant [4 x i8] c", 1\00" +@.str4982 = private unnamed_addr constant [6 x i8] c"load \00" +@.str4983 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str4984 = private unnamed_addr constant [9 x i8] c" store \00" +@.str4985 = private unnamed_addr constant [2 x i8] c" \00" +@.str4986 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str4987 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str4988 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str4989 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str4990 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str4991 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str4992 = private unnamed_addr constant [13 x i8] c" store i32 \00" +@.str4993 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str4994 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str4995 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str4996 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str4997 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str4998 = private unnamed_addr constant [2 x i8] c"0\00" +@.str4999 = private unnamed_addr constant [5 x i8] c"void\00" +@.str5000 = private unnamed_addr constant [5 x i8] c"sort\00" +@.str5001 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str5002 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" +@.str5003 = private unnamed_addr constant [5 x i8] c", 32\00" +@.str5004 = private unnamed_addr constant [9 x i8] c"sort_ins\00" +@.str5005 = private unnamed_addr constant [9 x i8] c"sort_mrg\00" +@.str5006 = private unnamed_addr constant [9 x i8] c"sort_end\00" +@.str5007 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str5008 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str5009 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str5010 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str5011 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str5012 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str5013 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str5014 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str5015 = private unnamed_addr constant [2 x i8] c"1\00" +@.str5016 = private unnamed_addr constant [6 x i8] c"ls_oc\00" +@.str5017 = private unnamed_addr constant [6 x i8] c"ls_ob\00" +@.str5018 = private unnamed_addr constant [6 x i8] c"ls_oe\00" +@.str5019 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str5020 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str5021 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str5022 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str5023 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" +@.str5024 = private unnamed_addr constant [3 x i8] c", \00" +@.str5025 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str5026 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str5027 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str5028 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str5029 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str5030 = private unnamed_addr constant [6 x i8] c"load \00" +@.str5031 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str5032 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str5033 = private unnamed_addr constant [9 x i8] c"sub i32 \00" +@.str5034 = private unnamed_addr constant [4 x i8] c", 1\00" +@.str5035 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str5036 = private unnamed_addr constant [6 x i8] c"ls_ic\00" +@.str5037 = private unnamed_addr constant [6 x i8] c"ls_ib\00" +@.str5038 = private unnamed_addr constant [6 x i8] c"ls_ie\00" +@.str5039 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str5040 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str5041 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str5042 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str5043 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00" +@.str5044 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str5045 = private unnamed_addr constant [6 x i8] c"load \00" +@.str5046 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str5047 = private unnamed_addr constant [10 x i8] c"icmp sgt \00" +@.str5048 = private unnamed_addr constant [2 x i8] c" \00" +@.str5049 = private unnamed_addr constant [3 x i8] c", \00" +@.str5050 = private unnamed_addr constant [8 x i8] c"and i1 \00" +@.str5051 = private unnamed_addr constant [3 x i8] c", \00" +@.str5052 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str5053 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str5054 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str5055 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str5056 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str5057 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str5058 = private unnamed_addr constant [4 x i8] c", 1\00" +@.str5059 = private unnamed_addr constant [9 x i8] c" store \00" +@.str5060 = private unnamed_addr constant [2 x i8] c" \00" +@.str5061 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str5062 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str5063 = private unnamed_addr constant [9 x i8] c"sub i32 \00" +@.str5064 = private unnamed_addr constant [4 x i8] c", 1\00" +@.str5065 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str5066 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str5067 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str5068 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str5069 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str5070 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str5071 = private unnamed_addr constant [4 x i8] c", 1\00" +@.str5072 = private unnamed_addr constant [9 x i8] c" store \00" +@.str5073 = private unnamed_addr constant [2 x i8] c" \00" +@.str5074 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str5075 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str5076 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str5077 = private unnamed_addr constant [4 x i8] c", 1\00" +@.str5078 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str5079 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str5080 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str5081 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str5082 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str5083 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str5084 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str5085 = private unnamed_addr constant [1 x i8] c"\00" +@.str5086 = private unnamed_addr constant [1 x i8] c"\00" +@.str5087 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str5088 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str5089 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str5090 = private unnamed_addr constant [2 x i8] c"0\00" +@.str5091 = private unnamed_addr constant [5 x i8] c"void\00" +@.str5092 = private unnamed_addr constant [10 x i8] c"sort_with\00" +@.str5093 = private unnamed_addr constant [18 x i8] c"List.sort_with: '\00" +@.str5094 = private unnamed_addr constant [26 x i8] c"' must take two arguments\00" +@.str5095 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str5096 = private unnamed_addr constant [2 x i8] c"0\00" +@.str5097 = private unnamed_addr constant [5 x i8] c"void\00" +@.str5098 = private unnamed_addr constant [8 x i8] c"sort_by\00" +@.str5099 = private unnamed_addr constant [13 x i8] c"sort_desc_by\00" +@.str5100 = private unnamed_addr constant [6 x i8] c"List.\00" +@.str5101 = private unnamed_addr constant [8 x i8] c": key '\00" +@.str5102 = private unnamed_addr constant [25 x i8] c"' must take one argument\00" +@.str5103 = private unnamed_addr constant [4 x i8] c"ptr\00" +@.str5104 = private unnamed_addr constant [5 x i8] c"void\00" +@.str5105 = private unnamed_addr constant [6 x i8] c"List.\00" +@.str5106 = private unnamed_addr constant [8 x i8] c": key '\00" +@.str5107 = private unnamed_addr constant [23 x i8] c"' must return a number\00" +@.str5108 = private unnamed_addr constant [13 x i8] c"sort_desc_by\00" +@.str5109 = private unnamed_addr constant [2 x i8] c"0\00" +@.str5110 = private unnamed_addr constant [5 x i8] c"void\00" +@.str5111 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str5112 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str5113 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str5114 = private unnamed_addr constant [2 x i8] c"0\00" +@.str5115 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str5116 = private unnamed_addr constant [9 x i8] c"sub i32 \00" +@.str5117 = private unnamed_addr constant [4 x i8] c", 1\00" +@.str5118 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str5119 = private unnamed_addr constant [8 x i8] c"lr_cond\00" +@.str5120 = private unnamed_addr constant [8 x i8] c"lr_body\00" +@.str5121 = private unnamed_addr constant [7 x i8] c"lr_end\00" +@.str5122 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str5123 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str5124 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str5125 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str5126 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str5127 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" +@.str5128 = private unnamed_addr constant [3 x i8] c", \00" +@.str5129 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str5130 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str5131 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str5132 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str5133 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str5134 = private unnamed_addr constant [6 x i8] c"load \00" +@.str5135 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str5136 = private unnamed_addr constant [6 x i8] c"load \00" +@.str5137 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str5138 = private unnamed_addr constant [9 x i8] c" store \00" +@.str5139 = private unnamed_addr constant [2 x i8] c" \00" +@.str5140 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str5141 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str5142 = private unnamed_addr constant [9 x i8] c" store \00" +@.str5143 = private unnamed_addr constant [2 x i8] c" \00" +@.str5144 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str5145 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str5146 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str5147 = private unnamed_addr constant [4 x i8] c", 1\00" +@.str5148 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str5149 = private unnamed_addr constant [9 x i8] c"sub i32 \00" +@.str5150 = private unnamed_addr constant [4 x i8] c", 1\00" +@.str5151 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str5152 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str5153 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str5154 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str5155 = private unnamed_addr constant [2 x i8] c"0\00" +@.str5156 = private unnamed_addr constant [5 x i8] c"void\00" +@.str5157 = private unnamed_addr constant [3 x i8] c"in\00" +@.str5158 = private unnamed_addr constant [4 x i8] c"out\00" +@.str5159 = private unnamed_addr constant [7 x i8] c"in_out\00" +@.str5160 = private unnamed_addr constant [5 x i8] c"back\00" +@.str5161 = private unnamed_addr constant [7 x i8] c"bounce\00" +@.str5162 = private unnamed_addr constant [8 x i8] c"elastic\00" +@.str5163 = private unnamed_addr constant [7 x i8] c"495616\00" +@.str5164 = private unnamed_addr constant [9 x i8] c"sub i32 \00" +@.str5165 = private unnamed_addr constant [8 x i8] c", 35747\00" +@.str5166 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str5167 = private unnamed_addr constant [8 x i8] c", 49152\00" +@.str5168 = private unnamed_addr constant [9 x i8] c"sub i32 \00" +@.str5169 = private unnamed_addr constant [8 x i8] c", 53620\00" +@.str5170 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str5171 = private unnamed_addr constant [8 x i8] c", 61440\00" +@.str5172 = private unnamed_addr constant [9 x i8] c"sub i32 \00" +@.str5173 = private unnamed_addr constant [8 x i8] c", 62557\00" +@.str5174 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str5175 = private unnamed_addr constant [8 x i8] c", 64512\00" +@.str5176 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" +@.str5177 = private unnamed_addr constant [8 x i8] c", 59578\00" +@.str5178 = private unnamed_addr constant [11 x i8] c"select i1 \00" +@.str5179 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str5180 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str5181 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" +@.str5182 = private unnamed_addr constant [8 x i8] c", 47663\00" +@.str5183 = private unnamed_addr constant [11 x i8] c"select i1 \00" +@.str5184 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str5185 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str5186 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" +@.str5187 = private unnamed_addr constant [8 x i8] c", 23831\00" +@.str5188 = private unnamed_addr constant [11 x i8] c"select i1 \00" +@.str5189 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str5190 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str5191 = private unnamed_addr constant [17 x i8] c"sub i32 131072, \00" +@.str5192 = private unnamed_addr constant [9 x i8] c"mul i32 \00" +@.str5193 = private unnamed_addr constant [4 x i8] c", 3\00" +@.str5194 = private unnamed_addr constant [9 x i8] c"mul i32 \00" +@.str5195 = private unnamed_addr constant [4 x i8] c", 2\00" +@.str5196 = private unnamed_addr constant [9 x i8] c"sub i32 \00" +@.str5197 = private unnamed_addr constant [3 x i8] c", \00" +@.str5198 = private unnamed_addr constant [7 x i8] c"177051\00" +@.str5199 = private unnamed_addr constant [7 x i8] c"111515\00" +@.str5200 = private unnamed_addr constant [9 x i8] c"sub i32 \00" +@.str5201 = private unnamed_addr constant [3 x i8] c", \00" +@.str5202 = private unnamed_addr constant [9 x i8] c"mul i32 \00" +@.str5203 = private unnamed_addr constant [5 x i8] c", 10\00" +@.str5204 = private unnamed_addr constant [12 x i8] c"sub i32 0, \00" +@.str5205 = private unnamed_addr constant [26 x i8] c"call i32 @lp_fx_exp2(i32 \00" +@.str5206 = private unnamed_addr constant [2 x i8] c")\00" +@.str5207 = private unnamed_addr constant [9 x i8] c"sub i32 \00" +@.str5208 = private unnamed_addr constant [8 x i8] c", 49152\00" +@.str5209 = private unnamed_addr constant [7 x i8] c"137258\00" +@.str5210 = private unnamed_addr constant [25 x i8] c"call i32 @lp_fx_sin(i32 \00" +@.str5211 = private unnamed_addr constant [2 x i8] c")\00" +@.str5212 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str5213 = private unnamed_addr constant [8 x i8] c", 65536\00" +@.str5214 = private unnamed_addr constant [3 x i8] c"in\00" +@.str5215 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str5216 = private unnamed_addr constant [4 x i8] c"out\00" +@.str5217 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str5218 = private unnamed_addr constant [7 x i8] c"in_out\00" +@.str5219 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str5220 = private unnamed_addr constant [5 x i8] c"back\00" +@.str5221 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str5222 = private unnamed_addr constant [8 x i8] c"elastic\00" +@.str5223 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str5224 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str5225 = private unnamed_addr constant [6 x i8] c"frame\00" +@.str5226 = private unnamed_addr constant [5 x i8] c"once\00" +@.str5227 = private unnamed_addr constant [9 x i8] c"pingpong\00" +@.str5228 = private unnamed_addr constant [9 x i8] c"finished\00" +@.str5229 = private unnamed_addr constant [9 x i8] c"duration\00" +@.str5230 = private unnamed_addr constant [7 x i8] c"cell_x\00" +@.str5231 = private unnamed_addr constant [7 x i8] c"cell_y\00" +@.str5232 = private unnamed_addr constant [10 x i8] c"sext i32 \00" +@.str5233 = private unnamed_addr constant [8 x i8] c" to i64\00" +@.str5234 = private unnamed_addr constant [10 x i8] c"sext i32 \00" +@.str5235 = private unnamed_addr constant [8 x i8] c" to i64\00" +@.str5236 = private unnamed_addr constant [9 x i8] c"mul i64 \00" +@.str5237 = private unnamed_addr constant [3 x i8] c", \00" +@.str5238 = private unnamed_addr constant [10 x i8] c"ashr i64 \00" +@.str5239 = private unnamed_addr constant [5 x i8] c", 16\00" +@.str5240 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" +@.str5241 = private unnamed_addr constant [8 x i8] c" to i32\00" +@.str5242 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" +@.str5243 = private unnamed_addr constant [4 x i8] c", 1\00" +@.str5244 = private unnamed_addr constant [11 x i8] c"select i1 \00" +@.str5245 = private unnamed_addr constant [14 x i8] c", i32 1, i32 \00" +@.str5246 = private unnamed_addr constant [6 x i8] c"frame\00" +@.str5247 = private unnamed_addr constant [10 x i8] c"srem i32 \00" +@.str5248 = private unnamed_addr constant [3 x i8] c", \00" +@.str5249 = private unnamed_addr constant [4 x i8] c"int\00" +@.str5250 = private unnamed_addr constant [5 x i8] c"once\00" +@.str5251 = private unnamed_addr constant [9 x i8] c"sub i32 \00" +@.str5252 = private unnamed_addr constant [4 x i8] c", 1\00" +@.str5253 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" +@.str5254 = private unnamed_addr constant [3 x i8] c", \00" +@.str5255 = private unnamed_addr constant [11 x i8] c"select i1 \00" +@.str5256 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str5257 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str5258 = private unnamed_addr constant [4 x i8] c"int\00" +@.str5259 = private unnamed_addr constant [9 x i8] c"pingpong\00" +@.str5260 = private unnamed_addr constant [9 x i8] c"mul i32 \00" +@.str5261 = private unnamed_addr constant [4 x i8] c", 2\00" +@.str5262 = private unnamed_addr constant [9 x i8] c"sub i32 \00" +@.str5263 = private unnamed_addr constant [4 x i8] c", 2\00" +@.str5264 = private unnamed_addr constant [10 x i8] c"srem i32 \00" +@.str5265 = private unnamed_addr constant [3 x i8] c", \00" +@.str5266 = private unnamed_addr constant [9 x i8] c"sub i32 \00" +@.str5267 = private unnamed_addr constant [3 x i8] c", \00" +@.str5268 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" +@.str5269 = private unnamed_addr constant [3 x i8] c", \00" +@.str5270 = private unnamed_addr constant [11 x i8] c"select i1 \00" +@.str5271 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str5272 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str5273 = private unnamed_addr constant [4 x i8] c"int\00" +@.str5274 = private unnamed_addr constant [9 x i8] c"finished\00" +@.str5275 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00" +@.str5276 = private unnamed_addr constant [3 x i8] c", \00" +@.str5277 = private unnamed_addr constant [9 x i8] c"zext i1 \00" +@.str5278 = private unnamed_addr constant [8 x i8] c" to i32\00" +@.str5279 = private unnamed_addr constant [5 x i8] c"bool\00" +@.str5280 = private unnamed_addr constant [9 x i8] c"duration\00" +@.str5281 = private unnamed_addr constant [9 x i8] c"shl i32 \00" +@.str5282 = private unnamed_addr constant [5 x i8] c", 16\00" +@.str5283 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00" +@.str5284 = private unnamed_addr constant [3 x i8] c", \00" +@.str5285 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str5286 = private unnamed_addr constant [7 x i8] c"cell_x\00" +@.str5287 = private unnamed_addr constant [10 x i8] c"srem i32 \00" +@.str5288 = private unnamed_addr constant [3 x i8] c", \00" +@.str5289 = private unnamed_addr constant [9 x i8] c"mul i32 \00" +@.str5290 = private unnamed_addr constant [3 x i8] c", \00" +@.str5291 = private unnamed_addr constant [4 x i8] c"int\00" +@.str5292 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00" +@.str5293 = private unnamed_addr constant [3 x i8] c", \00" +@.str5294 = private unnamed_addr constant [9 x i8] c"mul i32 \00" +@.str5295 = private unnamed_addr constant [3 x i8] c", \00" +@.str5296 = private unnamed_addr constant [4 x i8] c"int\00" +@.str5297 = private unnamed_addr constant [9 x i8] c"progress\00" +@.str5298 = private unnamed_addr constant [5 x i8] c"loop\00" +@.str5299 = private unnamed_addr constant [5 x i8] c"yoyo\00" +@.str5300 = private unnamed_addr constant [5 x i8] c"done\00" +@.str5301 = private unnamed_addr constant [5 x i8] c"ease\00" +@.str5302 = private unnamed_addr constant [7 x i8] c"number\00" +@.str5303 = private unnamed_addr constant [6 x i8] c"round\00" +@.str5304 = private unnamed_addr constant [6 x i8] c"point\00" +@.str5305 = private unnamed_addr constant [5 x i8] c"tint\00" +@.str5306 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00" +@.str5307 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str5308 = private unnamed_addr constant [11 x i8] c"select i1 \00" +@.str5309 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str5310 = private unnamed_addr constant [12 x i8] c", i32 65536\00" +@.str5311 = private unnamed_addr constant [9 x i8] c"progress\00" +@.str5312 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00" +@.str5313 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str5314 = private unnamed_addr constant [11 x i8] c"select i1 \00" +@.str5315 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str5316 = private unnamed_addr constant [12 x i8] c", i32 65536\00" +@.str5317 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" +@.str5318 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str5319 = private unnamed_addr constant [11 x i8] c"select i1 \00" +@.str5320 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" +@.str5321 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00" +@.str5322 = private unnamed_addr constant [8 x i8] c", 65536\00" +@.str5323 = private unnamed_addr constant [11 x i8] c"select i1 \00" +@.str5324 = private unnamed_addr constant [18 x i8] c", i32 65536, i32 \00" +@.str5325 = private unnamed_addr constant [11 x i8] c"select i1 \00" +@.str5326 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str5327 = private unnamed_addr constant [12 x i8] c", i32 65536\00" +@.str5328 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str5329 = private unnamed_addr constant [5 x i8] c"loop\00" +@.str5330 = private unnamed_addr constant [9 x i8] c"and i32 \00" +@.str5331 = private unnamed_addr constant [8 x i8] c", 65535\00" +@.str5332 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str5333 = private unnamed_addr constant [5 x i8] c"yoyo\00" +@.str5334 = private unnamed_addr constant [10 x i8] c"srem i32 \00" +@.str5335 = private unnamed_addr constant [9 x i8] c", 131072\00" +@.str5336 = private unnamed_addr constant [17 x i8] c"sub i32 131072, \00" +@.str5337 = private unnamed_addr constant [14 x i8] c"icmp sle i32 \00" +@.str5338 = private unnamed_addr constant [8 x i8] c", 65536\00" +@.str5339 = private unnamed_addr constant [11 x i8] c"select i1 \00" +@.str5340 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str5341 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str5342 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str5343 = private unnamed_addr constant [5 x i8] c"done\00" +@.str5344 = private unnamed_addr constant [29 x i8] c"call i32 @fn_tween_done(i32 \00" +@.str5345 = private unnamed_addr constant [2 x i8] c")\00" +@.str5346 = private unnamed_addr constant [5 x i8] c"bool\00" +@.str5347 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00" +@.str5348 = private unnamed_addr constant [3 x i8] c", \00" +@.str5349 = private unnamed_addr constant [9 x i8] c"zext i1 \00" +@.str5350 = private unnamed_addr constant [8 x i8] c" to i32\00" +@.str5351 = private unnamed_addr constant [5 x i8] c"bool\00" +@.str5352 = private unnamed_addr constant [5 x i8] c"ease\00" +@.str5353 = private unnamed_addr constant [55 x i8] c"Tween.ease: the easing mode must be a literal int 0..6\00" +@.str5354 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str5355 = private unnamed_addr constant [7 x i8] c"number\00" +@.str5356 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str5357 = private unnamed_addr constant [6 x i8] c"round\00" +@.str5358 = private unnamed_addr constant [9 x i8] c"sub i32 \00" +@.str5359 = private unnamed_addr constant [3 x i8] c", \00" +@.str5360 = private unnamed_addr constant [10 x i8] c"sext i32 \00" +@.str5361 = private unnamed_addr constant [8 x i8] c" to i64\00" +@.str5362 = private unnamed_addr constant [10 x i8] c"sext i32 \00" +@.str5363 = private unnamed_addr constant [8 x i8] c" to i64\00" +@.str5364 = private unnamed_addr constant [9 x i8] c"mul i64 \00" +@.str5365 = private unnamed_addr constant [3 x i8] c", \00" +@.str5366 = private unnamed_addr constant [9 x i8] c"add i64 \00" +@.str5367 = private unnamed_addr constant [8 x i8] c", 32768\00" +@.str5368 = private unnamed_addr constant [10 x i8] c"ashr i64 \00" +@.str5369 = private unnamed_addr constant [5 x i8] c", 16\00" +@.str5370 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" +@.str5371 = private unnamed_addr constant [8 x i8] c" to i32\00" +@.str5372 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str5373 = private unnamed_addr constant [3 x i8] c", \00" +@.str5374 = private unnamed_addr constant [4 x i8] c"int\00" +@.str5375 = private unnamed_addr constant [6 x i8] c"point\00" +@.str5376 = private unnamed_addr constant [7 x i8] c"Vector\00" +@.str5377 = private unnamed_addr constant [3 x i8] c"16\00" +@.str5378 = private unnamed_addr constant [3 x i8] c"16\00" +@.str5379 = private unnamed_addr constant [2 x i8] c"8\00" +@.str5380 = private unnamed_addr constant [2 x i8] c"8\00" +@.str5381 = private unnamed_addr constant [2 x i8] c"0\00" +@.str5382 = private unnamed_addr constant [2 x i8] c"0\00" +@.str5383 = private unnamed_addr constant [4 x i8] c"int\00" +@.str5384 = private unnamed_addr constant [6 x i8] c"rects\00" +@.str5385 = private unnamed_addr constant [11 x i8] c"point_rect\00" +@.str5386 = private unnamed_addr constant [8 x i8] c"circles\00" +@.str5387 = private unnamed_addr constant [12 x i8] c"rect_circle\00" +@.str5388 = private unnamed_addr constant [10 x i8] c"sext i32 \00" +@.str5389 = private unnamed_addr constant [8 x i8] c" to i64\00" +@.str5390 = private unnamed_addr constant [10 x i8] c"sext i32 \00" +@.str5391 = private unnamed_addr constant [8 x i8] c" to i64\00" +@.str5392 = private unnamed_addr constant [9 x i8] c"mul i64 \00" +@.str5393 = private unnamed_addr constant [3 x i8] c", \00" +@.str5394 = private unnamed_addr constant [9 x i8] c"mul i64 \00" +@.str5395 = private unnamed_addr constant [3 x i8] c", \00" +@.str5396 = private unnamed_addr constant [9 x i8] c"add i64 \00" +@.str5397 = private unnamed_addr constant [3 x i8] c", \00" +@.str5398 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" +@.str5399 = private unnamed_addr constant [3 x i8] c", \00" +@.str5400 = private unnamed_addr constant [11 x i8] c"select i1 \00" +@.str5401 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str5402 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str5403 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00" +@.str5404 = private unnamed_addr constant [3 x i8] c", \00" +@.str5405 = private unnamed_addr constant [11 x i8] c"select i1 \00" +@.str5406 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str5407 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str5408 = private unnamed_addr constant [6 x i8] c"rects\00" +@.str5409 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str5410 = private unnamed_addr constant [3 x i8] c", \00" +@.str5411 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str5412 = private unnamed_addr constant [3 x i8] c", \00" +@.str5413 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str5414 = private unnamed_addr constant [3 x i8] c", \00" +@.str5415 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str5416 = private unnamed_addr constant [3 x i8] c", \00" +@.str5417 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" +@.str5418 = private unnamed_addr constant [3 x i8] c", \00" +@.str5419 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" +@.str5420 = private unnamed_addr constant [3 x i8] c", \00" +@.str5421 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" +@.str5422 = private unnamed_addr constant [3 x i8] c", \00" +@.str5423 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" +@.str5424 = private unnamed_addr constant [3 x i8] c", \00" +@.str5425 = private unnamed_addr constant [8 x i8] c"and i1 \00" +@.str5426 = private unnamed_addr constant [3 x i8] c", \00" +@.str5427 = private unnamed_addr constant [8 x i8] c"and i1 \00" +@.str5428 = private unnamed_addr constant [3 x i8] c", \00" +@.str5429 = private unnamed_addr constant [8 x i8] c"and i1 \00" +@.str5430 = private unnamed_addr constant [3 x i8] c", \00" +@.str5431 = private unnamed_addr constant [9 x i8] c"zext i1 \00" +@.str5432 = private unnamed_addr constant [8 x i8] c" to i32\00" +@.str5433 = private unnamed_addr constant [5 x i8] c"bool\00" +@.str5434 = private unnamed_addr constant [11 x i8] c"point_rect\00" +@.str5435 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str5436 = private unnamed_addr constant [3 x i8] c", \00" +@.str5437 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str5438 = private unnamed_addr constant [3 x i8] c", \00" +@.str5439 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00" +@.str5440 = private unnamed_addr constant [3 x i8] c", \00" +@.str5441 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" +@.str5442 = private unnamed_addr constant [3 x i8] c", \00" +@.str5443 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00" +@.str5444 = private unnamed_addr constant [3 x i8] c", \00" +@.str5445 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" +@.str5446 = private unnamed_addr constant [3 x i8] c", \00" +@.str5447 = private unnamed_addr constant [8 x i8] c"and i1 \00" +@.str5448 = private unnamed_addr constant [3 x i8] c", \00" +@.str5449 = private unnamed_addr constant [8 x i8] c"and i1 \00" +@.str5450 = private unnamed_addr constant [3 x i8] c", \00" +@.str5451 = private unnamed_addr constant [8 x i8] c"and i1 \00" +@.str5452 = private unnamed_addr constant [3 x i8] c", \00" +@.str5453 = private unnamed_addr constant [9 x i8] c"zext i1 \00" +@.str5454 = private unnamed_addr constant [8 x i8] c" to i32\00" +@.str5455 = private unnamed_addr constant [5 x i8] c"bool\00" +@.str5456 = private unnamed_addr constant [8 x i8] c"circles\00" +@.str5457 = private unnamed_addr constant [9 x i8] c"sub i32 \00" +@.str5458 = private unnamed_addr constant [3 x i8] c", \00" +@.str5459 = private unnamed_addr constant [9 x i8] c"sub i32 \00" +@.str5460 = private unnamed_addr constant [3 x i8] c", \00" +@.str5461 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str5462 = private unnamed_addr constant [3 x i8] c", \00" +@.str5463 = private unnamed_addr constant [10 x i8] c"sext i32 \00" +@.str5464 = private unnamed_addr constant [8 x i8] c" to i64\00" +@.str5465 = private unnamed_addr constant [9 x i8] c"mul i64 \00" +@.str5466 = private unnamed_addr constant [3 x i8] c", \00" +@.str5467 = private unnamed_addr constant [14 x i8] c"icmp sle i64 \00" +@.str5468 = private unnamed_addr constant [3 x i8] c", \00" +@.str5469 = private unnamed_addr constant [9 x i8] c"zext i1 \00" +@.str5470 = private unnamed_addr constant [8 x i8] c" to i32\00" +@.str5471 = private unnamed_addr constant [5 x i8] c"bool\00" +@.str5472 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str5473 = private unnamed_addr constant [3 x i8] c", \00" +@.str5474 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str5475 = private unnamed_addr constant [3 x i8] c", \00" +@.str5476 = private unnamed_addr constant [9 x i8] c"sub i32 \00" +@.str5477 = private unnamed_addr constant [3 x i8] c", \00" +@.str5478 = private unnamed_addr constant [9 x i8] c"sub i32 \00" +@.str5479 = private unnamed_addr constant [3 x i8] c", \00" +@.str5480 = private unnamed_addr constant [10 x i8] c"sext i32 \00" +@.str5481 = private unnamed_addr constant [8 x i8] c" to i64\00" +@.str5482 = private unnamed_addr constant [9 x i8] c"mul i64 \00" +@.str5483 = private unnamed_addr constant [3 x i8] c", \00" +@.str5484 = private unnamed_addr constant [14 x i8] c"icmp sle i64 \00" +@.str5485 = private unnamed_addr constant [3 x i8] c", \00" +@.str5486 = private unnamed_addr constant [9 x i8] c"zext i1 \00" +@.str5487 = private unnamed_addr constant [8 x i8] c" to i32\00" +@.str5488 = private unnamed_addr constant [5 x i8] c"bool\00" +@.str5489 = private unnamed_addr constant [6 x i8] c"bytes\00" +@.str5490 = private unnamed_addr constant [6 x i8] c"words\00" +@.str5491 = private unnamed_addr constant [5 x i8] c"copy\00" +@.str5492 = private unnamed_addr constant [5 x i8] c"fill\00" +@.str5493 = private unnamed_addr constant [5 x i8] c"peek\00" +@.str5494 = private unnamed_addr constant [5 x i8] c"poke\00" +@.str5495 = private unnamed_addr constant [6 x i8] c"bytes\00" +@.str5496 = private unnamed_addr constant [10 x i8] c"zext i32 \00" +@.str5497 = private unnamed_addr constant [8 x i8] c" to i64\00" +@.str5498 = private unnamed_addr constant [22 x i8] c"call ptr @malloc(i64 \00" +@.str5499 = private unnamed_addr constant [2 x i8] c")\00" +@.str5500 = private unnamed_addr constant [8 x i8] c"pointer\00" +@.str5501 = private unnamed_addr constant [6 x i8] c"words\00" +@.str5502 = private unnamed_addr constant [9 x i8] c"mul i32 \00" +@.str5503 = private unnamed_addr constant [4 x i8] c", 4\00" +@.str5504 = private unnamed_addr constant [10 x i8] c"zext i32 \00" +@.str5505 = private unnamed_addr constant [8 x i8] c" to i64\00" +@.str5506 = private unnamed_addr constant [22 x i8] c"call ptr @malloc(i64 \00" +@.str5507 = private unnamed_addr constant [2 x i8] c")\00" +@.str5508 = private unnamed_addr constant [6 x i8] c"words\00" +@.str5509 = private unnamed_addr constant [5 x i8] c"copy\00" +@.str5510 = private unnamed_addr constant [10 x i8] c"zext i32 \00" +@.str5511 = private unnamed_addr constant [8 x i8] c" to i64\00" +@.str5512 = private unnamed_addr constant [24 x i8] c" call ptr @memcpy(ptr \00" +@.str5513 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str5514 = private unnamed_addr constant [7 x i8] c", i64 \00" +@.str5515 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str5516 = private unnamed_addr constant [2 x i8] c"0\00" +@.str5517 = private unnamed_addr constant [5 x i8] c"void\00" +@.str5518 = private unnamed_addr constant [5 x i8] c"fill\00" +@.str5519 = private unnamed_addr constant [10 x i8] c"zext i32 \00" +@.str5520 = private unnamed_addr constant [8 x i8] c" to i64\00" +@.str5521 = private unnamed_addr constant [24 x i8] c" call ptr @memset(ptr \00" +@.str5522 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str5523 = private unnamed_addr constant [7 x i8] c", i64 \00" +@.str5524 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str5525 = private unnamed_addr constant [2 x i8] c"0\00" +@.str5526 = private unnamed_addr constant [5 x i8] c"void\00" +@.str5527 = private unnamed_addr constant [5 x i8] c"peek\00" +@.str5528 = private unnamed_addr constant [32 x i8] c"getelementptr inbounds i8, ptr \00" +@.str5529 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str5530 = private unnamed_addr constant [14 x i8] c"load i8, ptr \00" +@.str5531 = private unnamed_addr constant [9 x i8] c"zext i8 \00" +@.str5532 = private unnamed_addr constant [8 x i8] c" to i32\00" +@.str5533 = private unnamed_addr constant [4 x i8] c"int\00" +@.str5534 = private unnamed_addr constant [32 x i8] c"getelementptr inbounds i8, ptr \00" +@.str5535 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str5536 = private unnamed_addr constant [11 x i8] c"trunc i32 \00" +@.str5537 = private unnamed_addr constant [7 x i8] c" to i8\00" +@.str5538 = private unnamed_addr constant [12 x i8] c" store i8 \00" +@.str5539 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str5540 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str5541 = private unnamed_addr constant [2 x i8] c"0\00" +@.str5542 = private unnamed_addr constant [5 x i8] c"void\00" +@.str5543 = private unnamed_addr constant [6 x i8] c"frame\00" +@.str5544 = private unnamed_addr constant [6 x i8] c"delta\00" +@.str5545 = private unnamed_addr constant [8 x i8] c"elapsed\00" +@.str5546 = private unnamed_addr constant [4 x i8] c"now\00" +@.str5547 = private unnamed_addr constant [6 x i8] c"since\00" +@.str5548 = private unnamed_addr constant [6 x i8] c"frame\00" +@.str5549 = private unnamed_addr constant [23 x i8] c"load i32, ptr @L_frame\00" +@.str5550 = private unnamed_addr constant [4 x i8] c"int\00" +@.str5551 = private unnamed_addr constant [6 x i8] c"delta\00" +@.str5552 = private unnamed_addr constant [5 x i8] c"1092\00" +@.str5553 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str5554 = private unnamed_addr constant [8 x i8] c"elapsed\00" +@.str5555 = private unnamed_addr constant [23 x i8] c"load i32, ptr @L_frame\00" +@.str5556 = private unnamed_addr constant [9 x i8] c"mul i32 \00" +@.str5557 = private unnamed_addr constant [7 x i8] c", 1092\00" +@.str5558 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str5559 = private unnamed_addr constant [6 x i8] c"since\00" +@.str5560 = private unnamed_addr constant [25 x i8] c"call i64 @time(ptr null)\00" +@.str5561 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" +@.str5562 = private unnamed_addr constant [8 x i8] c" to i32\00" +@.str5563 = private unnamed_addr constant [9 x i8] c"sub i32 \00" +@.str5564 = private unnamed_addr constant [3 x i8] c", \00" +@.str5565 = private unnamed_addr constant [4 x i8] c"int\00" +@.str5566 = private unnamed_addr constant [25 x i8] c"call i64 @time(ptr null)\00" +@.str5567 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" +@.str5568 = private unnamed_addr constant [8 x i8] c" to i32\00" +@.str5569 = private unnamed_addr constant [4 x i8] c"int\00" +@.str5570 = private unnamed_addr constant [8 x i8] c"seconds\00" +@.str5571 = private unnamed_addr constant [8 x i8] c"minutes\00" +@.str5572 = private unnamed_addr constant [6 x i8] c"hours\00" +@.str5573 = private unnamed_addr constant [5 x i8] c"days\00" +@.str5574 = private unnamed_addr constant [11 x i8] c"as_seconds\00" +@.str5575 = private unnamed_addr constant [11 x i8] c"as_minutes\00" +@.str5576 = private unnamed_addr constant [9 x i8] c"as_hours\00" +@.str5577 = private unnamed_addr constant [8 x i8] c"as_days\00" +@.str5578 = private unnamed_addr constant [8 x i8] c"seconds\00" +@.str5579 = private unnamed_addr constant [4 x i8] c"int\00" +@.str5580 = private unnamed_addr constant [8 x i8] c"minutes\00" +@.str5581 = private unnamed_addr constant [9 x i8] c"mul i32 \00" +@.str5582 = private unnamed_addr constant [5 x i8] c", 60\00" +@.str5583 = private unnamed_addr constant [4 x i8] c"int\00" +@.str5584 = private unnamed_addr constant [6 x i8] c"hours\00" +@.str5585 = private unnamed_addr constant [9 x i8] c"mul i32 \00" +@.str5586 = private unnamed_addr constant [7 x i8] c", 3600\00" +@.str5587 = private unnamed_addr constant [4 x i8] c"int\00" +@.str5588 = private unnamed_addr constant [5 x i8] c"days\00" +@.str5589 = private unnamed_addr constant [9 x i8] c"mul i32 \00" +@.str5590 = private unnamed_addr constant [8 x i8] c", 86400\00" +@.str5591 = private unnamed_addr constant [4 x i8] c"int\00" +@.str5592 = private unnamed_addr constant [11 x i8] c"as_seconds\00" +@.str5593 = private unnamed_addr constant [4 x i8] c"int\00" +@.str5594 = private unnamed_addr constant [11 x i8] c"as_minutes\00" +@.str5595 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00" +@.str5596 = private unnamed_addr constant [5 x i8] c", 60\00" +@.str5597 = private unnamed_addr constant [4 x i8] c"int\00" +@.str5598 = private unnamed_addr constant [9 x i8] c"as_hours\00" +@.str5599 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00" +@.str5600 = private unnamed_addr constant [7 x i8] c", 3600\00" +@.str5601 = private unnamed_addr constant [4 x i8] c"int\00" +@.str5602 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00" +@.str5603 = private unnamed_addr constant [8 x i8] c", 86400\00" +@.str5604 = private unnamed_addr constant [4 x i8] c"int\00" +@.str5605 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str5606 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str5607 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str5608 = private unnamed_addr constant [37 x i8] c" call void @lp_civil_from_days(i32 \00" +@.str5609 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str5610 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str5611 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str5612 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str5613 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str5614 = private unnamed_addr constant [4 x i8] c"new\00" +@.str5615 = private unnamed_addr constant [5 x i8] c"year\00" +@.str5616 = private unnamed_addr constant [6 x i8] c"month\00" +@.str5617 = private unnamed_addr constant [4 x i8] c"day\00" +@.str5618 = private unnamed_addr constant [8 x i8] c"weekday\00" +@.str5619 = private unnamed_addr constant [8 x i8] c"is_leap\00" +@.str5620 = private unnamed_addr constant [14 x i8] c"days_in_month\00" +@.str5621 = private unnamed_addr constant [9 x i8] c"to_epoch\00" +@.str5622 = private unnamed_addr constant [9 x i8] c"add_days\00" +@.str5623 = private unnamed_addr constant [10 x i8] c"diff_days\00" +@.str5624 = private unnamed_addr constant [4 x i8] c"new\00" +@.str5625 = private unnamed_addr constant [34 x i8] c"call i32 @lp_days_from_civil(i32 \00" +@.str5626 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str5627 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str5628 = private unnamed_addr constant [2 x i8] c")\00" +@.str5629 = private unnamed_addr constant [4 x i8] c"int\00" +@.str5630 = private unnamed_addr constant [5 x i8] c"year\00" +@.str5631 = private unnamed_addr constant [4 x i8] c"int\00" +@.str5632 = private unnamed_addr constant [6 x i8] c"month\00" +@.str5633 = private unnamed_addr constant [4 x i8] c"int\00" +@.str5634 = private unnamed_addr constant [4 x i8] c"day\00" +@.str5635 = private unnamed_addr constant [4 x i8] c"int\00" +@.str5636 = private unnamed_addr constant [8 x i8] c"weekday\00" +@.str5637 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str5638 = private unnamed_addr constant [4 x i8] c", 4\00" +@.str5639 = private unnamed_addr constant [10 x i8] c"srem i32 \00" +@.str5640 = private unnamed_addr constant [4 x i8] c", 7\00" +@.str5641 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str5642 = private unnamed_addr constant [4 x i8] c", 7\00" +@.str5643 = private unnamed_addr constant [10 x i8] c"srem i32 \00" +@.str5644 = private unnamed_addr constant [4 x i8] c", 7\00" +@.str5645 = private unnamed_addr constant [4 x i8] c"int\00" +@.str5646 = private unnamed_addr constant [8 x i8] c"is_leap\00" +@.str5647 = private unnamed_addr constant [10 x i8] c"srem i32 \00" +@.str5648 = private unnamed_addr constant [4 x i8] c", 4\00" +@.str5649 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" +@.str5650 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str5651 = private unnamed_addr constant [10 x i8] c"srem i32 \00" +@.str5652 = private unnamed_addr constant [6 x i8] c", 100\00" +@.str5653 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" +@.str5654 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str5655 = private unnamed_addr constant [10 x i8] c"srem i32 \00" +@.str5656 = private unnamed_addr constant [6 x i8] c", 400\00" +@.str5657 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" +@.str5658 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str5659 = private unnamed_addr constant [8 x i8] c"and i1 \00" +@.str5660 = private unnamed_addr constant [3 x i8] c", \00" +@.str5661 = private unnamed_addr constant [7 x i8] c"or i1 \00" +@.str5662 = private unnamed_addr constant [3 x i8] c", \00" +@.str5663 = private unnamed_addr constant [9 x i8] c"zext i1 \00" +@.str5664 = private unnamed_addr constant [8 x i8] c" to i32\00" +@.str5665 = private unnamed_addr constant [5 x i8] c"bool\00" +@.str5666 = private unnamed_addr constant [14 x i8] c"days_in_month\00" +@.str5667 = private unnamed_addr constant [34 x i8] c"call i32 @lp_days_from_civil(i32 \00" +@.str5668 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str5669 = private unnamed_addr constant [9 x i8] c", i32 1)\00" +@.str5670 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" +@.str5671 = private unnamed_addr constant [5 x i8] c", 12\00" +@.str5672 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str5673 = private unnamed_addr constant [4 x i8] c", 1\00" +@.str5674 = private unnamed_addr constant [11 x i8] c"select i1 \00" +@.str5675 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str5676 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str5677 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str5678 = private unnamed_addr constant [4 x i8] c", 1\00" +@.str5679 = private unnamed_addr constant [11 x i8] c"select i1 \00" +@.str5680 = private unnamed_addr constant [14 x i8] c", i32 1, i32 \00" +@.str5681 = private unnamed_addr constant [34 x i8] c"call i32 @lp_days_from_civil(i32 \00" +@.str5682 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str5683 = private unnamed_addr constant [9 x i8] c", i32 1)\00" +@.str5684 = private unnamed_addr constant [9 x i8] c"sub i32 \00" +@.str5685 = private unnamed_addr constant [3 x i8] c", \00" +@.str5686 = private unnamed_addr constant [4 x i8] c"int\00" +@.str5687 = private unnamed_addr constant [9 x i8] c"to_epoch\00" +@.str5688 = private unnamed_addr constant [9 x i8] c"mul i32 \00" +@.str5689 = private unnamed_addr constant [8 x i8] c", 86400\00" +@.str5690 = private unnamed_addr constant [4 x i8] c"int\00" +@.str5691 = private unnamed_addr constant [9 x i8] c"add_days\00" +@.str5692 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str5693 = private unnamed_addr constant [3 x i8] c", \00" +@.str5694 = private unnamed_addr constant [4 x i8] c"int\00" +@.str5695 = private unnamed_addr constant [9 x i8] c"sub i32 \00" +@.str5696 = private unnamed_addr constant [3 x i8] c", \00" +@.str5697 = private unnamed_addr constant [4 x i8] c"int\00" +@.str5698 = private unnamed_addr constant [10 x i8] c"srem i32 \00" +@.str5699 = private unnamed_addr constant [8 x i8] c", 86400\00" +@.str5700 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str5701 = private unnamed_addr constant [8 x i8] c", 86400\00" +@.str5702 = private unnamed_addr constant [10 x i8] c"srem i32 \00" +@.str5703 = private unnamed_addr constant [8 x i8] c", 86400\00" +@.str5704 = private unnamed_addr constant [9 x i8] c"sub i32 \00" +@.str5705 = private unnamed_addr constant [3 x i8] c", \00" +@.str5706 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00" +@.str5707 = private unnamed_addr constant [8 x i8] c", 86400\00" +@.str5708 = private unnamed_addr constant [5 x i8] c"from\00" +@.str5709 = private unnamed_addr constant [5 x i8] c"date\00" +@.str5710 = private unnamed_addr constant [4 x i8] c"add\00" +@.str5711 = private unnamed_addr constant [5 x i8] c"year\00" +@.str5712 = private unnamed_addr constant [6 x i8] c"month\00" +@.str5713 = private unnamed_addr constant [4 x i8] c"day\00" +@.str5714 = private unnamed_addr constant [8 x i8] c"weekday\00" +@.str5715 = private unnamed_addr constant [5 x i8] c"hour\00" +@.str5716 = private unnamed_addr constant [7 x i8] c"minute\00" +@.str5717 = private unnamed_addr constant [7 x i8] c"second\00" +@.str5718 = private unnamed_addr constant [7 x i8] c"format\00" +@.str5719 = private unnamed_addr constant [6 x i8] c"parse\00" +@.str5720 = private unnamed_addr constant [29 x i8] c"call ptr @lp_str_concat(ptr \00" +@.str5721 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str5722 = private unnamed_addr constant [2 x i8] c")\00" +@.str5723 = private unnamed_addr constant [47 x i8] c"DateTime.format needs a string-literal pattern\00" +@.str5724 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str5725 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str5726 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str5727 = private unnamed_addr constant [37 x i8] c" call void @lp_civil_from_days(i32 \00" +@.str5728 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str5729 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str5730 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str5731 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str5732 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str5733 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str5734 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str5735 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00" +@.str5736 = private unnamed_addr constant [7 x i8] c", 3600\00" +@.str5737 = private unnamed_addr constant [10 x i8] c"srem i32 \00" +@.str5738 = private unnamed_addr constant [7 x i8] c", 3600\00" +@.str5739 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00" +@.str5740 = private unnamed_addr constant [5 x i8] c", 60\00" +@.str5741 = private unnamed_addr constant [10 x i8] c"srem i32 \00" +@.str5742 = private unnamed_addr constant [5 x i8] c", 60\00" +@.str5743 = private unnamed_addr constant [10 x i8] c"srem i32 \00" +@.str5744 = private unnamed_addr constant [6 x i8] c", 100\00" +@.str5745 = private unnamed_addr constant [1 x i8] c"\00" +@.str5746 = private unnamed_addr constant [5 x i8] c"YYYY\00" +@.str5747 = private unnamed_addr constant [3 x i8] c"YY\00" +@.str5748 = private unnamed_addr constant [3 x i8] c"MM\00" +@.str5749 = private unnamed_addr constant [3 x i8] c"DD\00" +@.str5750 = private unnamed_addr constant [3 x i8] c"HH\00" +@.str5751 = private unnamed_addr constant [3 x i8] c"mm\00" +@.str5752 = private unnamed_addr constant [3 x i8] c"ss\00" +@.str5753 = private unnamed_addr constant [26 x i8] c"call ptr @lp_dt_pad0(i32 \00" +@.str5754 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str5755 = private unnamed_addr constant [2 x i8] c")\00" +@.str5756 = private unnamed_addr constant [7 x i8] c"string\00" +@.str5757 = private unnamed_addr constant [46 x i8] c"DateTime.parse needs a string-literal pattern\00" +@.str5758 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str5759 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str5760 = private unnamed_addr constant [2 x i8] c"0\00" +@.str5761 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str5762 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str5763 = private unnamed_addr constant [5 x i8] c"1970\00" +@.str5764 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str5765 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str5766 = private unnamed_addr constant [2 x i8] c"1\00" +@.str5767 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str5768 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str5769 = private unnamed_addr constant [2 x i8] c"1\00" +@.str5770 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str5771 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str5772 = private unnamed_addr constant [2 x i8] c"0\00" +@.str5773 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str5774 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str5775 = private unnamed_addr constant [2 x i8] c"0\00" +@.str5776 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str5777 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str5778 = private unnamed_addr constant [2 x i8] c"0\00" +@.str5779 = private unnamed_addr constant [5 x i8] c"YYYY\00" +@.str5780 = private unnamed_addr constant [3 x i8] c"MM\00" +@.str5781 = private unnamed_addr constant [3 x i8] c"DD\00" +@.str5782 = private unnamed_addr constant [3 x i8] c"HH\00" +@.str5783 = private unnamed_addr constant [3 x i8] c"mm\00" +@.str5784 = private unnamed_addr constant [3 x i8] c"ss\00" +@.str5785 = private unnamed_addr constant [24 x i8] c"call i32 @lp_dt_rd(ptr \00" +@.str5786 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str5787 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str5788 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str5789 = private unnamed_addr constant [2 x i8] c")\00" +@.str5790 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str5791 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str5792 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str5793 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str5794 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str5795 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str5796 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str5797 = private unnamed_addr constant [34 x i8] c"call i32 @lp_days_from_civil(i32 \00" +@.str5798 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str5799 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str5800 = private unnamed_addr constant [2 x i8] c")\00" +@.str5801 = private unnamed_addr constant [9 x i8] c"mul i32 \00" +@.str5802 = private unnamed_addr constant [8 x i8] c", 86400\00" +@.str5803 = private unnamed_addr constant [9 x i8] c"mul i32 \00" +@.str5804 = private unnamed_addr constant [7 x i8] c", 3600\00" +@.str5805 = private unnamed_addr constant [9 x i8] c"mul i32 \00" +@.str5806 = private unnamed_addr constant [5 x i8] c", 60\00" +@.str5807 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str5808 = private unnamed_addr constant [3 x i8] c", \00" +@.str5809 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str5810 = private unnamed_addr constant [3 x i8] c", \00" +@.str5811 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str5812 = private unnamed_addr constant [3 x i8] c", \00" +@.str5813 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str5814 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" +@.str5815 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str5816 = private unnamed_addr constant [11 x i8] c"select i1 \00" +@.str5817 = private unnamed_addr constant [15 x i8] c", i32 -1, i32 \00" +@.str5818 = private unnamed_addr constant [4 x i8] c"int\00" +@.str5819 = private unnamed_addr constant [7 x i8] c"format\00" +@.str5820 = private unnamed_addr constant [6 x i8] c"parse\00" +@.str5821 = private unnamed_addr constant [5 x i8] c"from\00" +@.str5822 = private unnamed_addr constant [34 x i8] c"call i32 @lp_days_from_civil(i32 \00" +@.str5823 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str5824 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str5825 = private unnamed_addr constant [2 x i8] c")\00" +@.str5826 = private unnamed_addr constant [9 x i8] c"mul i32 \00" +@.str5827 = private unnamed_addr constant [8 x i8] c", 86400\00" +@.str5828 = private unnamed_addr constant [9 x i8] c"mul i32 \00" +@.str5829 = private unnamed_addr constant [7 x i8] c", 3600\00" +@.str5830 = private unnamed_addr constant [9 x i8] c"mul i32 \00" +@.str5831 = private unnamed_addr constant [5 x i8] c", 60\00" +@.str5832 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str5833 = private unnamed_addr constant [3 x i8] c", \00" +@.str5834 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str5835 = private unnamed_addr constant [3 x i8] c", \00" +@.str5836 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str5837 = private unnamed_addr constant [3 x i8] c", \00" +@.str5838 = private unnamed_addr constant [4 x i8] c"int\00" +@.str5839 = private unnamed_addr constant [5 x i8] c"date\00" +@.str5840 = private unnamed_addr constant [4 x i8] c"int\00" +@.str5841 = private unnamed_addr constant [4 x i8] c"add\00" +@.str5842 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str5843 = private unnamed_addr constant [3 x i8] c", \00" +@.str5844 = private unnamed_addr constant [4 x i8] c"int\00" +@.str5845 = private unnamed_addr constant [5 x i8] c"year\00" +@.str5846 = private unnamed_addr constant [4 x i8] c"int\00" +@.str5847 = private unnamed_addr constant [6 x i8] c"month\00" +@.str5848 = private unnamed_addr constant [4 x i8] c"int\00" +@.str5849 = private unnamed_addr constant [4 x i8] c"day\00" +@.str5850 = private unnamed_addr constant [4 x i8] c"int\00" +@.str5851 = private unnamed_addr constant [8 x i8] c"weekday\00" +@.str5852 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str5853 = private unnamed_addr constant [4 x i8] c", 4\00" +@.str5854 = private unnamed_addr constant [10 x i8] c"srem i32 \00" +@.str5855 = private unnamed_addr constant [4 x i8] c", 7\00" +@.str5856 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str5857 = private unnamed_addr constant [4 x i8] c", 7\00" +@.str5858 = private unnamed_addr constant [10 x i8] c"srem i32 \00" +@.str5859 = private unnamed_addr constant [4 x i8] c", 7\00" +@.str5860 = private unnamed_addr constant [4 x i8] c"int\00" +@.str5861 = private unnamed_addr constant [5 x i8] c"hour\00" +@.str5862 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00" +@.str5863 = private unnamed_addr constant [7 x i8] c", 3600\00" +@.str5864 = private unnamed_addr constant [4 x i8] c"int\00" +@.str5865 = private unnamed_addr constant [7 x i8] c"minute\00" +@.str5866 = private unnamed_addr constant [10 x i8] c"srem i32 \00" +@.str5867 = private unnamed_addr constant [7 x i8] c", 3600\00" +@.str5868 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00" +@.str5869 = private unnamed_addr constant [5 x i8] c", 60\00" +@.str5870 = private unnamed_addr constant [4 x i8] c"int\00" +@.str5871 = private unnamed_addr constant [10 x i8] c"srem i32 \00" +@.str5872 = private unnamed_addr constant [5 x i8] c", 60\00" +@.str5873 = private unnamed_addr constant [4 x i8] c"int\00" +@.str5874 = private unnamed_addr constant [59 x i8] c"define i32 @lp_days_from_civil(i32 %y0, i32 %m, i32 %d) {\0A\00" +@.str5875 = private unnamed_addr constant [30 x i8] c" %mle2 = icmp sle i32 %m, 2\0A\00" +@.str5876 = private unnamed_addr constant [41 x i8] c" %ysub = select i1 %mle2, i32 1, i32 0\0A\00" +@.str5877 = private unnamed_addr constant [27 x i8] c" %y = sub i32 %y0, %ysub\0A\00" +@.str5878 = private unnamed_addr constant [30 x i8] c" %yneg = icmp slt i32 %y, 0\0A\00" +@.str5879 = private unnamed_addr constant [28 x i8] c" %ym399 = sub i32 %y, 399\0A\00" +@.str5880 = private unnamed_addr constant [47 x i8] c" %enum = select i1 %yneg, i32 %ym399, i32 %y\0A\00" +@.str5881 = private unnamed_addr constant [30 x i8] c" %era = sdiv i32 %enum, 400\0A\00" +@.str5882 = private unnamed_addr constant [31 x i8] c" %era400 = mul i32 %era, 400\0A\00" +@.str5883 = private unnamed_addr constant [30 x i8] c" %yoe = sub i32 %y, %era400\0A\00" +@.str5884 = private unnamed_addr constant [30 x i8] c" %mgt2 = icmp sgt i32 %m, 2\0A\00" +@.str5885 = private unnamed_addr constant [44 x i8] c" %mshift = select i1 %mgt2, i32 -3, i32 9\0A\00" +@.str5886 = private unnamed_addr constant [29 x i8] c" %mm = add i32 %m, %mshift\0A\00" +@.str5887 = private unnamed_addr constant [28 x i8] c" %t153 = mul i32 153, %mm\0A\00" +@.str5888 = private unnamed_addr constant [29 x i8] c" %t153b = add i32 %t153, 2\0A\00" +@.str5889 = private unnamed_addr constant [30 x i8] c" %doy0 = sdiv i32 %t153b, 5\0A\00" +@.str5890 = private unnamed_addr constant [29 x i8] c" %doy1 = add i32 %doy0, %d\0A\00" +@.str5891 = private unnamed_addr constant [27 x i8] c" %doy = sub i32 %doy1, 1\0A\00" +@.str5892 = private unnamed_addr constant [31 x i8] c" %yoe365 = mul i32 %yoe, 365\0A\00" +@.str5893 = private unnamed_addr constant [28 x i8] c" %yoe4 = sdiv i32 %yoe, 4\0A\00" +@.str5894 = private unnamed_addr constant [32 x i8] c" %yoe100 = sdiv i32 %yoe, 100\0A\00" +@.str5895 = private unnamed_addr constant [34 x i8] c" %doe0 = add i32 %yoe365, %yoe4\0A\00" +@.str5896 = private unnamed_addr constant [34 x i8] c" %doe1 = sub i32 %doe0, %yoe100\0A\00" +@.str5897 = private unnamed_addr constant [30 x i8] c" %doe = add i32 %doe1, %doy\0A\00" +@.str5898 = private unnamed_addr constant [35 x i8] c" %e146097 = mul i32 %era, 146097\0A\00" +@.str5899 = private unnamed_addr constant [32 x i8] c" %r0 = add i32 %e146097, %doe\0A\00" +@.str5900 = private unnamed_addr constant [28 x i8] c" %r = sub i32 %r0, 719468\0A\00" +@.str5901 = private unnamed_addr constant [14 x i8] c" ret i32 %r\0A\00" +@.str5902 = private unnamed_addr constant [3 x i8] c"}\0A\00" +@.str5903 = private unnamed_addr constant [71 x i8] c"define void @lp_civil_from_days(i32 %z0, ptr %yp, ptr %mp, ptr %dp) {\0A\00" +@.str5904 = private unnamed_addr constant [28 x i8] c" %z = add i32 %z0, 719468\0A\00" +@.str5905 = private unnamed_addr constant [30 x i8] c" %zneg = icmp slt i32 %z, 0\0A\00" +@.str5906 = private unnamed_addr constant [28 x i8] c" %zm = sub i32 %z, 146096\0A\00" +@.str5907 = private unnamed_addr constant [44 x i8] c" %enum = select i1 %zneg, i32 %zm, i32 %z\0A\00" +@.str5908 = private unnamed_addr constant [33 x i8] c" %era = sdiv i32 %enum, 146097\0A\00" +@.str5909 = private unnamed_addr constant [37 x i8] c" %era146097 = mul i32 %era, 146097\0A\00" +@.str5910 = private unnamed_addr constant [33 x i8] c" %doe = sub i32 %z, %era146097\0A\00" +@.str5911 = private unnamed_addr constant [32 x i8] c" %d1460 = sdiv i32 %doe, 1460\0A\00" +@.str5912 = private unnamed_addr constant [34 x i8] c" %d36524 = sdiv i32 %doe, 36524\0A\00" +@.str5913 = private unnamed_addr constant [36 x i8] c" %d146096 = sdiv i32 %doe, 146096\0A\00" +@.str5914 = private unnamed_addr constant [30 x i8] c" %ya = sub i32 %doe, %d1460\0A\00" +@.str5915 = private unnamed_addr constant [30 x i8] c" %yb = add i32 %ya, %d36524\0A\00" +@.str5916 = private unnamed_addr constant [31 x i8] c" %yc = sub i32 %yb, %d146096\0A\00" +@.str5917 = private unnamed_addr constant [28 x i8] c" %yoe = sdiv i32 %yc, 365\0A\00" +@.str5918 = private unnamed_addr constant [31 x i8] c" %era400 = mul i32 %era, 400\0A\00" +@.str5919 = private unnamed_addr constant [31 x i8] c" %yy = add i32 %yoe, %era400\0A\00" +@.str5920 = private unnamed_addr constant [31 x i8] c" %yoe365 = mul i32 %yoe, 365\0A\00" +@.str5921 = private unnamed_addr constant [28 x i8] c" %yoe4 = sdiv i32 %yoe, 4\0A\00" +@.str5922 = private unnamed_addr constant [32 x i8] c" %yoe100 = sdiv i32 %yoe, 100\0A\00" +@.str5923 = private unnamed_addr constant [34 x i8] c" %sub0 = add i32 %yoe365, %yoe4\0A\00" +@.str5924 = private unnamed_addr constant [34 x i8] c" %sub1 = sub i32 %sub0, %yoe100\0A\00" +@.str5925 = private unnamed_addr constant [30 x i8] c" %doy = sub i32 %doe, %sub1\0A\00" +@.str5926 = private unnamed_addr constant [30 x i8] c" %fivedoy = mul i32 5, %doy\0A\00" +@.str5927 = private unnamed_addr constant [35 x i8] c" %fivedoy2 = add i32 %fivedoy, 2\0A\00" +@.str5928 = private unnamed_addr constant [34 x i8] c" %mpv = sdiv i32 %fivedoy2, 153\0A\00" +@.str5929 = private unnamed_addr constant [29 x i8] c" %m153 = mul i32 153, %mpv\0A\00" +@.str5930 = private unnamed_addr constant [29 x i8] c" %m153b = add i32 %m153, 2\0A\00" +@.str5931 = private unnamed_addr constant [31 x i8] c" %m153c = sdiv i32 %m153b, 5\0A\00" +@.str5932 = private unnamed_addr constant [31 x i8] c" %dd0 = sub i32 %doy, %m153c\0A\00" +@.str5933 = private unnamed_addr constant [25 x i8] c" %dd = add i32 %dd0, 1\0A\00" +@.str5934 = private unnamed_addr constant [35 x i8] c" %mplt10 = icmp slt i32 %mpv, 10\0A\00" +@.str5935 = private unnamed_addr constant [29 x i8] c" %mplus3 = add i32 %mpv, 3\0A\00" +@.str5936 = private unnamed_addr constant [30 x i8] c" %mminus9 = sub i32 %mpv, 9\0A\00" +@.str5937 = private unnamed_addr constant [56 x i8] c" %mfin = select i1 %mplt10, i32 %mplus3, i32 %mminus9\0A\00" +@.str5938 = private unnamed_addr constant [34 x i8] c" %mmle2 = icmp sle i32 %mfin, 2\0A\00" +@.str5939 = private unnamed_addr constant [42 x i8] c" %yinc = select i1 %mmle2, i32 1, i32 0\0A\00" +@.str5940 = private unnamed_addr constant [30 x i8] c" %yfin = add i32 %yy, %yinc\0A\00" +@.str5941 = private unnamed_addr constant [28 x i8] c" store i32 %yfin, ptr %yp\0A\00" +@.str5942 = private unnamed_addr constant [28 x i8] c" store i32 %mfin, ptr %mp\0A\00" +@.str5943 = private unnamed_addr constant [26 x i8] c" store i32 %dd, ptr %dp\0A\00" +@.str5944 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" +@.str5945 = private unnamed_addr constant [3 x i8] c"}\0A\00" +@.str5946 = private unnamed_addr constant [42 x i8] c"define ptr @lp_dt_pad0(i32 %v, i32 %w) {\0A\00" +@.str5947 = private unnamed_addr constant [28 x i8] c" %we = zext i32 %w to i64\0A\00" +@.str5948 = private unnamed_addr constant [24 x i8] c" %sz = add i64 %we, 1\0A\00" +@.str5949 = private unnamed_addr constant [36 x i8] c" %buf = call ptr @malloc(i64 %sz)\0A\00" +@.str5950 = private unnamed_addr constant [46 x i8] c" %endp = getelementptr i8, ptr %buf, i32 %w\0A\00" +@.str5951 = private unnamed_addr constant [25 x i8] c" store i8 0, ptr %endp\0A\00" +@.str5952 = private unnamed_addr constant [39 x i8] c" %kp = alloca i32\0A %vp = alloca i32\0A\00" +@.str5953 = 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" +@.str5954 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00" +@.str5955 = 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" +@.str5956 = 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" +@.str5957 = private unnamed_addr constant [69 x i8] c" %cp = getelementptr i8, ptr %buf, i32 %k\0A store i8 %ch8, ptr %cp\0A\00" +@.str5958 = 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" +@.str5959 = private unnamed_addr constant [24 x i8] c"done:\0A ret ptr %buf\0A}\0A\00" +@.str5960 = private unnamed_addr constant [62 x i8] c"define i32 @lp_dt_rd(ptr %s, i32 %off, i32 %w, ptr %failp) {\0A\00" +@.str5961 = 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" +@.str5962 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00" +@.str5963 = 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" +@.str5964 = 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" +@.str5965 = private unnamed_addr constant [70 x i8] c" %zero = icmp eq i32 %c, 0\0A br i1 %zero, label %stop, label %digit\0A\00" +@.str5966 = private unnamed_addr constant [50 x i8] c"stop:\0A store i32 1, ptr %failp\0A br label %done\0A\00" +@.str5967 = 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" +@.str5968 = private unnamed_addr constant [50 x i8] c"fail:\0A store i32 1, ptr %failp\0A br label %next\0A\00" +@.str5969 = 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" +@.str5970 = 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" +@.str5971 = private unnamed_addr constant [49 x i8] c"done:\0A %r = load i32, ptr %accp\0A ret i32 %r\0A}\0A\00" +@.str5972 = private unnamed_addr constant [4 x i8] c"now\00" +@.str5973 = private unnamed_addr constant [4 x i8] c"set\00" +@.str5974 = private unnamed_addr constant [8 x i8] c"advance\00" +@.str5975 = private unnamed_addr constant [6 x i8] c"reset\00" +@.str5976 = private unnamed_addr constant [4 x i8] c"now\00" +@.str5977 = private unnamed_addr constant [23 x i8] c"load i32, ptr @L_clock\00" +@.str5978 = private unnamed_addr constant [4 x i8] c"int\00" +@.str5979 = private unnamed_addr constant [6 x i8] c"reset\00" +@.str5980 = private unnamed_addr constant [29 x i8] c" store i32 0, ptr @L_clock\0A\00" +@.str5981 = private unnamed_addr constant [2 x i8] c"0\00" +@.str5982 = private unnamed_addr constant [5 x i8] c"void\00" +@.str5983 = private unnamed_addr constant [4 x i8] c"set\00" +@.str5984 = private unnamed_addr constant [13 x i8] c" store i32 \00" +@.str5985 = private unnamed_addr constant [16 x i8] c", ptr @L_clock\0A\00" +@.str5986 = private unnamed_addr constant [2 x i8] c"0\00" +@.str5987 = private unnamed_addr constant [5 x i8] c"void\00" +@.str5988 = private unnamed_addr constant [23 x i8] c"load i32, ptr @L_clock\00" +@.str5989 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str5990 = private unnamed_addr constant [3 x i8] c", \00" +@.str5991 = private unnamed_addr constant [13 x i8] c" store i32 \00" +@.str5992 = private unnamed_addr constant [16 x i8] c", ptr @L_clock\0A\00" +@.str5993 = private unnamed_addr constant [2 x i8] c"0\00" +@.str5994 = private unnamed_addr constant [5 x i8] c"void\00" +@.str5995 = private unnamed_addr constant [4 x i8] c"rgb\00" +@.str5996 = private unnamed_addr constant [5 x i8] c"rgba\00" +@.str5997 = private unnamed_addr constant [5 x i8] c"lerp\00" +@.str5998 = private unnamed_addr constant [7 x i8] c"darken\00" +@.str5999 = private unnamed_addr constant [8 x i8] c"lighten\00" +@.str6000 = private unnamed_addr constant [11 x i8] c"with_alpha\00" +@.str6001 = private unnamed_addr constant [10 x i8] c"lshr i32 \00" +@.str6002 = private unnamed_addr constant [3 x i8] c", \00" +@.str6003 = private unnamed_addr constant [9 x i8] c"and i32 \00" +@.str6004 = private unnamed_addr constant [6 x i8] c", 255\00" +@.str6005 = private unnamed_addr constant [9 x i8] c"shl i32 \00" +@.str6006 = private unnamed_addr constant [5 x i8] c", 16\00" +@.str6007 = private unnamed_addr constant [9 x i8] c"shl i32 \00" +@.str6008 = private unnamed_addr constant [4 x i8] c", 8\00" +@.str6009 = private unnamed_addr constant [8 x i8] c"or i32 \00" +@.str6010 = private unnamed_addr constant [3 x i8] c", \00" +@.str6011 = private unnamed_addr constant [8 x i8] c"or i32 \00" +@.str6012 = private unnamed_addr constant [3 x i8] c", \00" +@.str6013 = private unnamed_addr constant [9 x i8] c"sub i32 \00" +@.str6014 = private unnamed_addr constant [3 x i8] c", \00" +@.str6015 = private unnamed_addr constant [9 x i8] c"mul i32 \00" +@.str6016 = private unnamed_addr constant [3 x i8] c", \00" +@.str6017 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" +@.str6018 = private unnamed_addr constant [5 x i8] c", 16\00" +@.str6019 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str6020 = private unnamed_addr constant [3 x i8] c", \00" +@.str6021 = private unnamed_addr constant [4 x i8] c"rgb\00" +@.str6022 = private unnamed_addr constant [4 x i8] c"int\00" +@.str6023 = private unnamed_addr constant [5 x i8] c"rgba\00" +@.str6024 = private unnamed_addr constant [9 x i8] c"shl i32 \00" +@.str6025 = private unnamed_addr constant [5 x i8] c", 24\00" +@.str6026 = private unnamed_addr constant [8 x i8] c"or i32 \00" +@.str6027 = private unnamed_addr constant [3 x i8] c", \00" +@.str6028 = private unnamed_addr constant [4 x i8] c"int\00" +@.str6029 = private unnamed_addr constant [11 x i8] c"with_alpha\00" +@.str6030 = private unnamed_addr constant [9 x i8] c"and i32 \00" +@.str6031 = private unnamed_addr constant [11 x i8] c", 16777215\00" +@.str6032 = private unnamed_addr constant [9 x i8] c"shl i32 \00" +@.str6033 = private unnamed_addr constant [5 x i8] c", 24\00" +@.str6034 = private unnamed_addr constant [8 x i8] c"or i32 \00" +@.str6035 = private unnamed_addr constant [3 x i8] c", \00" +@.str6036 = private unnamed_addr constant [4 x i8] c"int\00" +@.str6037 = private unnamed_addr constant [5 x i8] c"lerp\00" +@.str6038 = private unnamed_addr constant [3 x i8] c"16\00" +@.str6039 = private unnamed_addr constant [3 x i8] c"16\00" +@.str6040 = private unnamed_addr constant [2 x i8] c"8\00" +@.str6041 = private unnamed_addr constant [2 x i8] c"8\00" +@.str6042 = private unnamed_addr constant [2 x i8] c"0\00" +@.str6043 = private unnamed_addr constant [2 x i8] c"0\00" +@.str6044 = private unnamed_addr constant [4 x i8] c"int\00" +@.str6045 = private unnamed_addr constant [7 x i8] c"darken\00" +@.str6046 = private unnamed_addr constant [16 x i8] c"sub i32 65536, \00" +@.str6047 = private unnamed_addr constant [3 x i8] c"16\00" +@.str6048 = private unnamed_addr constant [2 x i8] c"8\00" +@.str6049 = private unnamed_addr constant [2 x i8] c"0\00" +@.str6050 = private unnamed_addr constant [9 x i8] c"mul i32 \00" +@.str6051 = private unnamed_addr constant [3 x i8] c", \00" +@.str6052 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" +@.str6053 = private unnamed_addr constant [5 x i8] c", 16\00" +@.str6054 = private unnamed_addr constant [9 x i8] c"mul i32 \00" +@.str6055 = private unnamed_addr constant [3 x i8] c", \00" +@.str6056 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" +@.str6057 = private unnamed_addr constant [5 x i8] c", 16\00" +@.str6058 = private unnamed_addr constant [9 x i8] c"mul i32 \00" +@.str6059 = private unnamed_addr constant [3 x i8] c", \00" +@.str6060 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" +@.str6061 = private unnamed_addr constant [5 x i8] c", 16\00" +@.str6062 = private unnamed_addr constant [4 x i8] c"int\00" +@.str6063 = private unnamed_addr constant [3 x i8] c"16\00" +@.str6064 = private unnamed_addr constant [2 x i8] c"8\00" +@.str6065 = private unnamed_addr constant [2 x i8] c"0\00" +@.str6066 = private unnamed_addr constant [14 x i8] c"sub i32 255, \00" +@.str6067 = private unnamed_addr constant [9 x i8] c"mul i32 \00" +@.str6068 = private unnamed_addr constant [3 x i8] c", \00" +@.str6069 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" +@.str6070 = private unnamed_addr constant [5 x i8] c", 16\00" +@.str6071 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str6072 = private unnamed_addr constant [3 x i8] c", \00" +@.str6073 = private unnamed_addr constant [14 x i8] c"sub i32 255, \00" +@.str6074 = private unnamed_addr constant [9 x i8] c"mul i32 \00" +@.str6075 = private unnamed_addr constant [3 x i8] c", \00" +@.str6076 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" +@.str6077 = private unnamed_addr constant [5 x i8] c", 16\00" +@.str6078 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str6079 = private unnamed_addr constant [3 x i8] c", \00" +@.str6080 = private unnamed_addr constant [14 x i8] c"sub i32 255, \00" +@.str6081 = private unnamed_addr constant [9 x i8] c"mul i32 \00" +@.str6082 = private unnamed_addr constant [3 x i8] c", \00" +@.str6083 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" +@.str6084 = private unnamed_addr constant [5 x i8] c", 16\00" +@.str6085 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str6086 = private unnamed_addr constant [3 x i8] c", \00" +@.str6087 = private unnamed_addr constant [4 x i8] c"int\00" +@.str6088 = private unnamed_addr constant [6 x i8] c"White\00" +@.str6089 = private unnamed_addr constant [5 x i8] c"Snow\00" +@.str6090 = private unnamed_addr constant [6 x i8] c"Ivory\00" +@.str6091 = private unnamed_addr constant [14 x i8] c"EggShellWhite\00" +@.str6092 = private unnamed_addr constant [12 x i8] c"FloralWhite\00" +@.str6093 = private unnamed_addr constant [9 x i8] c"SeaShell\00" +@.str6094 = private unnamed_addr constant [6 x i8] c"Linen\00" +@.str6095 = private unnamed_addr constant [13 x i8] c"AntiqueWhite\00" +@.str6096 = private unnamed_addr constant [8 x i8] c"OldLace\00" +@.str6097 = private unnamed_addr constant [6 x i8] c"Beige\00" +@.str6098 = private unnamed_addr constant [6 x i8] c"Cream\00" +@.str6099 = private unnamed_addr constant [9 x i8] c"Honeydew\00" +@.str6100 = private unnamed_addr constant [10 x i8] c"MintCream\00" +@.str6101 = private unnamed_addr constant [6 x i8] c"Azure\00" +@.str6102 = private unnamed_addr constant [10 x i8] c"AliceBlue\00" +@.str6103 = private unnamed_addr constant [11 x i8] c"GhostWhite\00" +@.str6104 = private unnamed_addr constant [11 x i8] c"WhiteSmoke\00" +@.str6105 = private unnamed_addr constant [9 x i8] c"Lavender\00" +@.str6106 = private unnamed_addr constant [5 x i8] c"Bone\00" +@.str6107 = private unnamed_addr constant [10 x i8] c"Parchment\00" +@.str6108 = private unnamed_addr constant [10 x i8] c"Gainsboro\00" +@.str6109 = private unnamed_addr constant [10 x i8] c"LightGray\00" +@.str6110 = private unnamed_addr constant [7 x i8] c"Silver\00" +@.str6111 = private unnamed_addr constant [4 x i8] c"Ash\00" +@.str6112 = private unnamed_addr constant [9 x i8] c"DarkGray\00" +@.str6113 = private unnamed_addr constant [5 x i8] c"Gray\00" +@.str6114 = private unnamed_addr constant [8 x i8] c"DimGray\00" +@.str6115 = private unnamed_addr constant [7 x i8] c"Nickel\00" +@.str6116 = private unnamed_addr constant [6 x i8] c"Slate\00" +@.str6117 = private unnamed_addr constant [10 x i8] c"SlateGray\00" +@.str6118 = private unnamed_addr constant [15 x i8] c"LightSlateGray\00" +@.str6119 = private unnamed_addr constant [9 x i8] c"Gunmetal\00" +@.str6120 = private unnamed_addr constant [9 x i8] c"Charcoal\00" +@.str6121 = private unnamed_addr constant [9 x i8] c"Graphite\00" +@.str6122 = private unnamed_addr constant [5 x i8] c"Onyx\00" +@.str6123 = private unnamed_addr constant [4 x i8] c"Jet\00" +@.str6124 = private unnamed_addr constant [6 x i8] c"Black\00" +@.str6125 = private unnamed_addr constant [11 x i8] c"EerieBlack\00" +@.str6126 = private unnamed_addr constant [12 x i8] c"RaisinBlack\00" +@.str6127 = private unnamed_addr constant [6 x i8] c"Ebony\00" +@.str6128 = private unnamed_addr constant [4 x i8] c"Red\00" +@.str6129 = private unnamed_addr constant [8 x i8] c"Crimson\00" +@.str6130 = private unnamed_addr constant [8 x i8] c"Scarlet\00" +@.str6131 = private unnamed_addr constant [10 x i8] c"Vermilion\00" +@.str6132 = private unnamed_addr constant [10 x i8] c"FireBrick\00" +@.str6133 = private unnamed_addr constant [9 x i8] c"Cinnabar\00" +@.str6134 = private unnamed_addr constant [8 x i8] c"DarkRed\00" +@.str6135 = private unnamed_addr constant [7 x i8] c"Maroon\00" +@.str6136 = private unnamed_addr constant [5 x i8] c"Ruby\00" +@.str6137 = private unnamed_addr constant [9 x i8] c"Cardinal\00" +@.str6138 = private unnamed_addr constant [10 x i8] c"IndianRed\00" +@.str6139 = private unnamed_addr constant [5 x i8] c"Rust\00" +@.str6140 = private unnamed_addr constant [8 x i8] c"Sangria\00" +@.str6141 = private unnamed_addr constant [8 x i8] c"Redwood\00" +@.str6142 = private unnamed_addr constant [7 x i8] c"Cerise\00" +@.str6143 = private unnamed_addr constant [9 x i8] c"Amaranth\00" +@.str6144 = private unnamed_addr constant [8 x i8] c"Carmine\00" +@.str6145 = private unnamed_addr constant [9 x i8] c"Chestnut\00" +@.str6146 = private unnamed_addr constant [6 x i8] c"Brick\00" +@.str6147 = private unnamed_addr constant [11 x i8] c"TerraCotta\00" +@.str6148 = private unnamed_addr constant [5 x i8] c"Pink\00" +@.str6149 = private unnamed_addr constant [10 x i8] c"LightPink\00" +@.str6150 = private unnamed_addr constant [8 x i8] c"HotPink\00" +@.str6151 = private unnamed_addr constant [9 x i8] c"DeepPink\00" +@.str6152 = private unnamed_addr constant [14 x i8] c"PaleVioletRed\00" +@.str6153 = private unnamed_addr constant [5 x i8] c"Rose\00" +@.str6154 = private unnamed_addr constant [6 x i8] c"Blush\00" +@.str6155 = private unnamed_addr constant [7 x i8] c"Salmon\00" +@.str6156 = private unnamed_addr constant [12 x i8] c"LightSalmon\00" +@.str6157 = private unnamed_addr constant [11 x i8] c"DarkSalmon\00" +@.str6158 = private unnamed_addr constant [6 x i8] c"Coral\00" +@.str6159 = private unnamed_addr constant [11 x i8] c"Watermelon\00" +@.str6160 = private unnamed_addr constant [9 x i8] c"Flamingo\00" +@.str6161 = private unnamed_addr constant [10 x i8] c"Bubblegum\00" +@.str6162 = private unnamed_addr constant [8 x i8] c"Fuchsia\00" +@.str6163 = private unnamed_addr constant [8 x i8] c"Magenta\00" +@.str6164 = private unnamed_addr constant [6 x i8] c"Mauve\00" +@.str6165 = private unnamed_addr constant [5 x i8] c"Puce\00" +@.str6166 = private unnamed_addr constant [8 x i8] c"Thistle\00" +@.str6167 = private unnamed_addr constant [7 x i8] c"Orchid\00" +@.str6168 = private unnamed_addr constant [7 x i8] c"Orange\00" +@.str6169 = private unnamed_addr constant [11 x i8] c"DarkOrange\00" +@.str6170 = private unnamed_addr constant [10 x i8] c"Tangerine\00" +@.str6171 = private unnamed_addr constant [8 x i8] c"Pumpkin\00" +@.str6172 = private unnamed_addr constant [8 x i8] c"Apricot\00" +@.str6173 = private unnamed_addr constant [6 x i8] c"Peach\00" +@.str6174 = private unnamed_addr constant [11 x i8] c"Cantaloupe\00" +@.str6175 = private unnamed_addr constant [6 x i8] c"Amber\00" +@.str6176 = private unnamed_addr constant [7 x i8] c"Bronze\00" +@.str6177 = private unnamed_addr constant [7 x i8] c"Copper\00" +@.str6178 = private unnamed_addr constant [9 x i8] c"Marigold\00" +@.str6179 = private unnamed_addr constant [7 x i8] c"Carrot\00" +@.str6180 = private unnamed_addr constant [10 x i8] c"Persimmon\00" +@.str6181 = private unnamed_addr constant [7 x i8] c"Papaya\00" +@.str6182 = private unnamed_addr constant [7 x i8] c"Sunset\00" +@.str6183 = private unnamed_addr constant [7 x i8] c"Yellow\00" +@.str6184 = private unnamed_addr constant [12 x i8] c"LightYellow\00" +@.str6185 = private unnamed_addr constant [5 x i8] c"Gold\00" +@.str6186 = private unnamed_addr constant [10 x i8] c"Goldenrod\00" +@.str6187 = private unnamed_addr constant [6 x i8] c"Lemon\00" +@.str6188 = private unnamed_addr constant [7 x i8] c"Canary\00" +@.str6189 = private unnamed_addr constant [8 x i8] c"Mustard\00" +@.str6190 = private unnamed_addr constant [5 x i8] c"Flax\00" +@.str6191 = private unnamed_addr constant [6 x i8] c"Wheat\00" +@.str6192 = private unnamed_addr constant [5 x i8] c"Corn\00" +@.str6193 = private unnamed_addr constant [10 x i8] c"Dandelion\00" +@.str6194 = private unnamed_addr constant [8 x i8] c"Saffron\00" +@.str6195 = private unnamed_addr constant [6 x i8] c"Khaki\00" +@.str6196 = private unnamed_addr constant [10 x i8] c"DarkKhaki\00" +@.str6197 = private unnamed_addr constant [6 x i8] c"Straw\00" +@.str6198 = private unnamed_addr constant [6 x i8] c"Brown\00" +@.str6199 = private unnamed_addr constant [12 x i8] c"SaddleBrown\00" +@.str6200 = private unnamed_addr constant [7 x i8] c"Sienna\00" +@.str6201 = private unnamed_addr constant [10 x i8] c"Chocolate\00" +@.str6202 = private unnamed_addr constant [5 x i8] c"Peru\00" +@.str6203 = private unnamed_addr constant [4 x i8] c"Tan\00" +@.str6204 = private unnamed_addr constant [10 x i8] c"BurlyWood\00" +@.str6205 = private unnamed_addr constant [5 x i8] c"Sand\00" +@.str6206 = private unnamed_addr constant [7 x i8] c"Coffee\00" +@.str6207 = private unnamed_addr constant [9 x i8] c"Espresso\00" +@.str6208 = private unnamed_addr constant [9 x i8] c"Mahogany\00" +@.str6209 = private unnamed_addr constant [7 x i8] c"Walnut\00" +@.str6210 = private unnamed_addr constant [6 x i8] c"Umber\00" +@.str6211 = private unnamed_addr constant [6 x i8] c"Sepia\00" +@.str6212 = private unnamed_addr constant [6 x i8] c"Taupe\00" +@.str6213 = private unnamed_addr constant [5 x i8] c"Fawn\00" +@.str6214 = private unnamed_addr constant [8 x i8] c"Caramel\00" +@.str6215 = private unnamed_addr constant [6 x i8] c"Cocoa\00" +@.str6216 = private unnamed_addr constant [6 x i8] c"Hazel\00" +@.str6217 = private unnamed_addr constant [6 x i8] c"Wenge\00" +@.str6218 = private unnamed_addr constant [6 x i8] c"Green\00" +@.str6219 = private unnamed_addr constant [5 x i8] c"Lime\00" +@.str6220 = private unnamed_addr constant [10 x i8] c"LimeGreen\00" +@.str6221 = private unnamed_addr constant [10 x i8] c"LawnGreen\00" +@.str6222 = private unnamed_addr constant [11 x i8] c"Chartreuse\00" +@.str6223 = private unnamed_addr constant [12 x i8] c"GreenYellow\00" +@.str6224 = private unnamed_addr constant [12 x i8] c"SpringGreen\00" +@.str6225 = private unnamed_addr constant [10 x i8] c"MintGreen\00" +@.str6226 = private unnamed_addr constant [9 x i8] c"SeaGreen\00" +@.str6227 = private unnamed_addr constant [15 x i8] c"MediumSeaGreen\00" +@.str6228 = private unnamed_addr constant [12 x i8] c"ForestGreen\00" +@.str6229 = private unnamed_addr constant [10 x i8] c"DarkGreen\00" +@.str6230 = private unnamed_addr constant [10 x i8] c"OliveDrab\00" +@.str6231 = private unnamed_addr constant [6 x i8] c"Olive\00" +@.str6232 = private unnamed_addr constant [5 x i8] c"Moss\00" +@.str6233 = private unnamed_addr constant [5 x i8] c"Fern\00" +@.str6234 = private unnamed_addr constant [8 x i8] c"Emerald\00" +@.str6235 = private unnamed_addr constant [5 x i8] c"Jade\00" +@.str6236 = private unnamed_addr constant [10 x i8] c"Malachite\00" +@.str6237 = private unnamed_addr constant [9 x i8] c"Shamrock\00" +@.str6238 = private unnamed_addr constant [10 x i8] c"Pistachio\00" +@.str6239 = private unnamed_addr constant [8 x i8] c"Avocado\00" +@.str6240 = private unnamed_addr constant [5 x i8] c"Pine\00" +@.str6241 = private unnamed_addr constant [5 x i8] c"Sage\00" +@.str6242 = private unnamed_addr constant [6 x i8] c"Kelly\00" +@.str6243 = private unnamed_addr constant [7 x i8] c"Hunter\00" +@.str6244 = private unnamed_addr constant [6 x i8] c"Basil\00" +@.str6245 = private unnamed_addr constant [7 x i8] c"Clover\00" +@.str6246 = private unnamed_addr constant [8 x i8] c"Juniper\00" +@.str6247 = private unnamed_addr constant [5 x i8] c"Neon\00" +@.str6248 = private unnamed_addr constant [5 x i8] c"Cyan\00" +@.str6249 = private unnamed_addr constant [5 x i8] c"Aqua\00" +@.str6250 = private unnamed_addr constant [10 x i8] c"LightCyan\00" +@.str6251 = private unnamed_addr constant [14 x i8] c"PaleTurquoise\00" +@.str6252 = private unnamed_addr constant [11 x i8] c"Aquamarine\00" +@.str6253 = private unnamed_addr constant [10 x i8] c"Turquoise\00" +@.str6254 = private unnamed_addr constant [16 x i8] c"MediumTurquoise\00" +@.str6255 = private unnamed_addr constant [14 x i8] c"DarkTurquoise\00" +@.str6256 = private unnamed_addr constant [5 x i8] c"Teal\00" +@.str6257 = private unnamed_addr constant [9 x i8] c"DarkCyan\00" +@.str6258 = private unnamed_addr constant [10 x i8] c"CadetBlue\00" +@.str6259 = private unnamed_addr constant [7 x i8] c"Lagoon\00" +@.str6260 = private unnamed_addr constant [8 x i8] c"Seafoam\00" +@.str6261 = private unnamed_addr constant [9 x i8] c"Cerulean\00" +@.str6262 = private unnamed_addr constant [13 x i8] c"SkyBlueLight\00" +@.str6263 = private unnamed_addr constant [6 x i8] c"Robin\00" +@.str6264 = private unnamed_addr constant [10 x i8] c"Verdigris\00" +@.str6265 = private unnamed_addr constant [8 x i8] c"Celadon\00" +@.str6266 = private unnamed_addr constant [5 x i8] c"Blue\00" +@.str6267 = private unnamed_addr constant [10 x i8] c"LightBlue\00" +@.str6268 = private unnamed_addr constant [11 x i8] c"PowderBlue\00" +@.str6269 = private unnamed_addr constant [8 x i8] c"SkyBlue\00" +@.str6270 = private unnamed_addr constant [13 x i8] c"LightSkyBlue\00" +@.str6271 = private unnamed_addr constant [12 x i8] c"DeepSkyBlue\00" +@.str6272 = private unnamed_addr constant [11 x i8] c"DodgerBlue\00" +@.str6273 = private unnamed_addr constant [15 x i8] c"CornflowerBlue\00" +@.str6274 = private unnamed_addr constant [10 x i8] c"SteelBlue\00" +@.str6275 = private unnamed_addr constant [10 x i8] c"RoyalBlue\00" +@.str6276 = private unnamed_addr constant [11 x i8] c"MediumBlue\00" +@.str6277 = private unnamed_addr constant [9 x i8] c"DarkBlue\00" +@.str6278 = private unnamed_addr constant [5 x i8] c"Navy\00" +@.str6279 = private unnamed_addr constant [13 x i8] c"MidnightBlue\00" +@.str6280 = private unnamed_addr constant [7 x i8] c"Cobalt\00" +@.str6281 = private unnamed_addr constant [9 x i8] c"Sapphire\00" +@.str6282 = private unnamed_addr constant [6 x i8] c"Denim\00" +@.str6283 = private unnamed_addr constant [7 x i8] c"Indigo\00" +@.str6284 = private unnamed_addr constant [9 x i8] c"Prussian\00" +@.str6285 = private unnamed_addr constant [12 x i8] c"Ultramarine\00" +@.str6286 = private unnamed_addr constant [11 x i8] c"Periwinkle\00" +@.str6287 = private unnamed_addr constant [5 x i8] c"Iris\00" +@.str6288 = private unnamed_addr constant [9 x i8] c"Glaucous\00" +@.str6289 = private unnamed_addr constant [7 x i8] c"Zaffre\00" +@.str6290 = private unnamed_addr constant [6 x i8] c"Berry\00" +@.str6291 = private unnamed_addr constant [7 x i8] c"Purple\00" +@.str6292 = private unnamed_addr constant [7 x i8] c"Violet\00" +@.str6293 = private unnamed_addr constant [11 x i8] c"DarkViolet\00" +@.str6294 = private unnamed_addr constant [11 x i8] c"BlueViolet\00" +@.str6295 = private unnamed_addr constant [13 x i8] c"MediumPurple\00" +@.str6296 = private unnamed_addr constant [9 x i8] c"Amethyst\00" +@.str6297 = private unnamed_addr constant [5 x i8] c"Plum\00" +@.str6298 = private unnamed_addr constant [9 x i8] c"Eggplant\00" +@.str6299 = private unnamed_addr constant [6 x i8] c"Grape\00" +@.str6300 = private unnamed_addr constant [5 x i8] c"Wine\00" +@.str6301 = private unnamed_addr constant [9 x i8] c"Mulberry\00" +@.str6302 = private unnamed_addr constant [6 x i8] c"Lilac\00" +@.str6303 = private unnamed_addr constant [9 x i8] c"Wisteria\00" +@.str6304 = private unnamed_addr constant [11 x i8] c"Heliotrope\00" +@.str6305 = private unnamed_addr constant [10 x i8] c"Byzantium\00" +@.str6306 = private unnamed_addr constant [7 x i8] c"Tyrian\00" +@.str6307 = private unnamed_addr constant [14 x i8] c"RebeccaPurple\00" +@.str6308 = private unnamed_addr constant [8 x i8] c"Orchid2\00" +@.str6309 = private unnamed_addr constant [6 x i8] c"Space\00" +@.str6310 = private unnamed_addr constant [6 x i8] c"Enter\00" +@.str6311 = private unnamed_addr constant [7 x i8] c"Return\00" +@.str6312 = private unnamed_addr constant [7 x i8] c"Escape\00" +@.str6313 = private unnamed_addr constant [4 x i8] c"Esc\00" +@.str6314 = private unnamed_addr constant [6 x i8] c"Shift\00" +@.str6315 = private unnamed_addr constant [4 x i8] c"Tab\00" +@.str6316 = private unnamed_addr constant [10 x i8] c"Backspace\00" +@.str6317 = private unnamed_addr constant [3 x i8] c"Up\00" +@.str6318 = private unnamed_addr constant [5 x i8] c"Down\00" +@.str6319 = private unnamed_addr constant [5 x i8] c"Left\00" +@.str6320 = private unnamed_addr constant [6 x i8] c"Right\00" +@.str6321 = private unnamed_addr constant [7 x i8] c"Digit0\00" +@.str6322 = private unnamed_addr constant [7 x i8] c"Digit1\00" +@.str6323 = private unnamed_addr constant [7 x i8] c"Digit2\00" +@.str6324 = private unnamed_addr constant [7 x i8] c"Digit3\00" +@.str6325 = private unnamed_addr constant [7 x i8] c"Digit4\00" +@.str6326 = private unnamed_addr constant [7 x i8] c"Digit5\00" +@.str6327 = private unnamed_addr constant [7 x i8] c"Digit6\00" +@.str6328 = private unnamed_addr constant [7 x i8] c"Digit7\00" +@.str6329 = private unnamed_addr constant [7 x i8] c"Digit8\00" +@.str6330 = private unnamed_addr constant [7 x i8] c"Digit9\00" +@.str6331 = private unnamed_addr constant [15 x i8] c"getelementptr \00" +@.str6332 = private unnamed_addr constant [18 x i8] c", ptr null, i32 1\00" +@.str6333 = private unnamed_addr constant [14 x i8] c"ptrtoint ptr \00" +@.str6334 = private unnamed_addr constant [8 x i8] c" to i64\00" +@.str6335 = private unnamed_addr constant [27 x i8] c"unknown record type in new\00" +@.str6336 = private unnamed_addr constant [22 x i8] c"call ptr @malloc(i64 \00" +@.str6337 = private unnamed_addr constant [2 x i8] c")\00" +@.str6338 = private unnamed_addr constant [3 x i8] c" \00" +@.str6339 = private unnamed_addr constant [27 x i8] c" = getelementptr inbounds \00" +@.str6340 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str6341 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" +@.str6342 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str6343 = private unnamed_addr constant [2 x i8] c"0\00" +@.str6344 = private unnamed_addr constant [4 x i8] c"ptr\00" +@.str6345 = private unnamed_addr constant [5 x i8] c"null\00" +@.str6346 = private unnamed_addr constant [9 x i8] c" store \00" +@.str6347 = private unnamed_addr constant [2 x i8] c" \00" +@.str6348 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str6349 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str6350 = private unnamed_addr constant [8 x i8] c"%LSlice\00" +@.str6351 = private unnamed_addr constant [22 x i8] c"call ptr @malloc(i64 \00" +@.str6352 = private unnamed_addr constant [2 x i8] c")\00" +@.str6353 = private unnamed_addr constant [3 x i8] c" \00" +@.str6354 = private unnamed_addr constant [40 x i8] c" = getelementptr inbounds %LSlice, ptr \00" +@.str6355 = private unnamed_addr constant [16 x i8] c", i32 0, i32 0\0A\00" +@.str6356 = private unnamed_addr constant [23 x i8] c" store ptr null, ptr \00" +@.str6357 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str6358 = private unnamed_addr constant [3 x i8] c" \00" +@.str6359 = private unnamed_addr constant [40 x i8] c" = getelementptr inbounds %LSlice, ptr \00" +@.str6360 = private unnamed_addr constant [16 x i8] c", i32 0, i32 1\0A\00" +@.str6361 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00" +@.str6362 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str6363 = private unnamed_addr constant [3 x i8] c" \00" +@.str6364 = private unnamed_addr constant [40 x i8] c" = getelementptr inbounds %LSlice, ptr \00" +@.str6365 = private unnamed_addr constant [16 x i8] c", i32 0, i32 2\0A\00" +@.str6366 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00" +@.str6367 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str6368 = private unnamed_addr constant [3 x i8] c" \00" +@.str6369 = private unnamed_addr constant [40 x i8] c" = getelementptr inbounds %LSlice, ptr \00" +@.str6370 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" +@.str6371 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str6372 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str6373 = private unnamed_addr constant [4 x i8] c"int\00" +@.str6374 = private unnamed_addr constant [22 x i8] c"call i64 @strlen(ptr \00" +@.str6375 = private unnamed_addr constant [2 x i8] c")\00" +@.str6376 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" +@.str6377 = private unnamed_addr constant [8 x i8] c" to i32\00" +@.str6378 = private unnamed_addr constant [4 x i8] c"int\00" +@.str6379 = private unnamed_addr constant [2 x i8] c"0\00" +@.str6380 = private unnamed_addr constant [5 x i8] c"void\00" +@.str6381 = private unnamed_addr constant [67 x i8] c"an empty list literal has no element type: write `new []T` instead\00" +@.str6382 = private unnamed_addr constant [3 x i8] c"[]\00" +@.str6383 = private unnamed_addr constant [34 x i8] c"list literal mixes element types \00" +@.str6384 = private unnamed_addr constant [6 x i8] c" and \00" +@.str6385 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str6386 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str6387 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00" +@.str6388 = private unnamed_addr constant [3 x i8] c", \00" +@.str6389 = private unnamed_addr constant [5 x i8] c"grow\00" +@.str6390 = private unnamed_addr constant [4 x i8] c"put\00" +@.str6391 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str6392 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str6393 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str6394 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str6395 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str6396 = private unnamed_addr constant [9 x i8] c"mul i32 \00" +@.str6397 = private unnamed_addr constant [4 x i8] c", 2\00" +@.str6398 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" +@.str6399 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str6400 = private unnamed_addr constant [11 x i8] c"select i1 \00" +@.str6401 = private unnamed_addr constant [14 x i8] c", i32 8, i32 \00" +@.str6402 = private unnamed_addr constant [10 x i8] c"zext i32 \00" +@.str6403 = private unnamed_addr constant [8 x i8] c" to i64\00" +@.str6404 = private unnamed_addr constant [9 x i8] c"mul i64 \00" +@.str6405 = private unnamed_addr constant [3 x i8] c", \00" +@.str6406 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" +@.str6407 = private unnamed_addr constant [23 x i8] c"call ptr @realloc(ptr \00" +@.str6408 = private unnamed_addr constant [7 x i8] c", i64 \00" +@.str6409 = private unnamed_addr constant [2 x i8] c")\00" +@.str6410 = private unnamed_addr constant [13 x i8] c" store ptr \00" +@.str6411 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str6412 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str6413 = private unnamed_addr constant [13 x i8] c" store i32 \00" +@.str6414 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str6415 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str6416 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str6417 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str6418 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str6419 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" +@.str6420 = private unnamed_addr constant [3 x i8] c" \00" +@.str6421 = private unnamed_addr constant [27 x i8] c" = getelementptr inbounds \00" +@.str6422 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str6423 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str6424 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str6425 = private unnamed_addr constant [9 x i8] c" store \00" +@.str6426 = private unnamed_addr constant [2 x i8] c" \00" +@.str6427 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str6428 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str6429 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str6430 = private unnamed_addr constant [4 x i8] c", 1\00" +@.str6431 = private unnamed_addr constant [13 x i8] c" store i32 \00" +@.str6432 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str6433 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str6434 = private unnamed_addr constant [13 x i8] c" store i32 \00" +@.str6435 = private unnamed_addr constant [4 x i8] c"int\00" +@.str6436 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str6437 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str6438 = private unnamed_addr constant [7 x i8] c"result\00" +@.str6439 = private unnamed_addr constant [33 x i8] c"try expects a result value (got \00" +@.str6440 = private unnamed_addr constant [12 x i8] c") \E2\80\94 line \00" +@.str6441 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str6442 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00" +@.str6443 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str6444 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00" +@.str6445 = private unnamed_addr constant [15 x i8] c", i32 0, i32 0\00" +@.str6446 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str6447 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" +@.str6448 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str6449 = private unnamed_addr constant [6 x i8] c"tryok\00" +@.str6450 = private unnamed_addr constant [8 x i8] c"tryelse\00" +@.str6451 = private unnamed_addr constant [7 x i8] c"tryend\00" +@.str6452 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str6453 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str6454 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str6455 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str6456 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str6457 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00" +@.str6458 = private unnamed_addr constant [15 x i8] c", i32 0, i32 1\00" +@.str6459 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str6460 = private unnamed_addr constant [13 x i8] c" store i32 \00" +@.str6461 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str6462 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str6463 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str6464 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str6465 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str6466 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00" +@.str6467 = private unnamed_addr constant [15 x i8] c", i32 0, i32 2\00" +@.str6468 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" +@.str6469 = private unnamed_addr constant [4 x i8] c"ptr\00" +@.str6470 = private unnamed_addr constant [13 x i8] c" store ptr \00" +@.str6471 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str6472 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str6473 = private unnamed_addr constant [6 x i8] c"error\00" +@.str6474 = private unnamed_addr constant [7 x i8] c"string\00" +@.str6475 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str6476 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str6477 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str6478 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str6479 = private unnamed_addr constant [4 x i8] c"int\00" +@.str6480 = private unnamed_addr constant [6 x i8] c"load \00" +@.str6481 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str6482 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str6483 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" +@.str6484 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str6485 = private unnamed_addr constant [9 x i8] c"zext i1 \00" +@.str6486 = private unnamed_addr constant [8 x i8] c" to i32\00" +@.str6487 = private unnamed_addr constant [13 x i8] c" store i32 \00" +@.str6488 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str6489 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str6490 = private unnamed_addr constant [3 x i8] c"sc\00" +@.str6491 = private unnamed_addr constant [6 x i8] c"scend\00" +@.str6492 = private unnamed_addr constant [4 x i8] c"and\00" +@.str6493 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str6494 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str6495 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str6496 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str6497 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str6498 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str6499 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str6500 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str6501 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str6502 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" +@.str6503 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str6504 = private unnamed_addr constant [9 x i8] c"zext i1 \00" +@.str6505 = private unnamed_addr constant [8 x i8] c" to i32\00" +@.str6506 = private unnamed_addr constant [13 x i8] c" store i32 \00" +@.str6507 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str6508 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str6509 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str6510 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str6511 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str6512 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str6513 = private unnamed_addr constant [5 x i8] c"bool\00" +@.str6514 = private unnamed_addr constant [2 x i8] c"<\00" +@.str6515 = private unnamed_addr constant [4 x i8] c"slt\00" +@.str6516 = private unnamed_addr constant [3 x i8] c"<=\00" +@.str6517 = private unnamed_addr constant [4 x i8] c"sle\00" +@.str6518 = private unnamed_addr constant [2 x i8] c">\00" +@.str6519 = private unnamed_addr constant [4 x i8] c"sgt\00" +@.str6520 = private unnamed_addr constant [3 x i8] c">=\00" +@.str6521 = private unnamed_addr constant [4 x i8] c"sge\00" +@.str6522 = private unnamed_addr constant [3 x i8] c"==\00" +@.str6523 = private unnamed_addr constant [3 x i8] c"eq\00" +@.str6524 = private unnamed_addr constant [3 x i8] c"ne\00" +@.str6525 = private unnamed_addr constant [2 x i8] c"<\00" +@.str6526 = private unnamed_addr constant [3 x i8] c"<=\00" +@.str6527 = private unnamed_addr constant [2 x i8] c">\00" +@.str6528 = private unnamed_addr constant [3 x i8] c">=\00" +@.str6529 = private unnamed_addr constant [3 x i8] c"==\00" +@.str6530 = private unnamed_addr constant [3 x i8] c"!=\00" +@.str6531 = private unnamed_addr constant [2 x i8] c"+\00" +@.str6532 = private unnamed_addr constant [4 x i8] c"add\00" +@.str6533 = private unnamed_addr constant [2 x i8] c"-\00" +@.str6534 = private unnamed_addr constant [4 x i8] c"sub\00" +@.str6535 = private unnamed_addr constant [2 x i8] c"*\00" +@.str6536 = private unnamed_addr constant [4 x i8] c"mul\00" +@.str6537 = private unnamed_addr constant [2 x i8] c"/\00" +@.str6538 = private unnamed_addr constant [5 x i8] c"sdiv\00" +@.str6539 = private unnamed_addr constant [2 x i8] c"&\00" +@.str6540 = private unnamed_addr constant [4 x i8] c"and\00" +@.str6541 = private unnamed_addr constant [2 x i8] c"|\00" +@.str6542 = private unnamed_addr constant [3 x i8] c"or\00" +@.str6543 = private unnamed_addr constant [2 x i8] c"^\00" +@.str6544 = private unnamed_addr constant [4 x i8] c"xor\00" +@.str6545 = private unnamed_addr constant [3 x i8] c"<<\00" +@.str6546 = private unnamed_addr constant [4 x i8] c"shl\00" +@.str6547 = private unnamed_addr constant [3 x i8] c">>\00" +@.str6548 = private unnamed_addr constant [5 x i8] c"lshr\00" +@.str6549 = private unnamed_addr constant [5 x i8] c"srem\00" +@.str6550 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str6551 = private unnamed_addr constant [9 x i8] c"shl i32 \00" +@.str6552 = private unnamed_addr constant [5 x i8] c", 16\00" +@.str6553 = private unnamed_addr constant [4 x i8] c"i64\00" +@.str6554 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str6555 = private unnamed_addr constant [10 x i8] c"sext i32 \00" +@.str6556 = private unnamed_addr constant [8 x i8] c" to i64\00" +@.str6557 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str6558 = private unnamed_addr constant [4 x i8] c"i64\00" +@.str6559 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" +@.str6560 = private unnamed_addr constant [8 x i8] c" to i32\00" +@.str6561 = private unnamed_addr constant [4 x i8] c"i64\00" +@.str6562 = private unnamed_addr constant [10 x i8] c"sext i32 \00" +@.str6563 = private unnamed_addr constant [8 x i8] c" to i64\00" +@.str6564 = private unnamed_addr constant [2 x i8] c"+\00" +@.str6565 = private unnamed_addr constant [29 x i8] c"call ptr @lp_str_concat(ptr \00" +@.str6566 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str6567 = private unnamed_addr constant [2 x i8] c")\00" +@.str6568 = private unnamed_addr constant [7 x i8] c"string\00" +@.str6569 = private unnamed_addr constant [25 x i8] c"call i32 @lp_str_eq(ptr \00" +@.str6570 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str6571 = private unnamed_addr constant [2 x i8] c")\00" +@.str6572 = private unnamed_addr constant [3 x i8] c"!=\00" +@.str6573 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" +@.str6574 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str6575 = private unnamed_addr constant [9 x i8] c"zext i1 \00" +@.str6576 = private unnamed_addr constant [8 x i8] c" to i32\00" +@.str6577 = private unnamed_addr constant [5 x i8] c"bool\00" +@.str6578 = private unnamed_addr constant [5 x i8] c"bool\00" +@.str6579 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str6580 = private unnamed_addr constant [5 x i8] c"long\00" +@.str6581 = private unnamed_addr constant [4 x i8] c"int\00" +@.str6582 = private unnamed_addr constant [4 x i8] c"and\00" +@.str6583 = private unnamed_addr constant [3 x i8] c"or\00" +@.str6584 = private unnamed_addr constant [4 x i8] c"ptr\00" +@.str6585 = private unnamed_addr constant [4 x i8] c"ptr\00" +@.str6586 = private unnamed_addr constant [2 x i8] c"+\00" +@.str6587 = private unnamed_addr constant [2 x i8] c"+\00" +@.str6588 = private unnamed_addr constant [3 x i8] c"==\00" +@.str6589 = private unnamed_addr constant [3 x i8] c"!=\00" +@.str6590 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str6591 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str6592 = private unnamed_addr constant [4 x i8] c"i64\00" +@.str6593 = private unnamed_addr constant [4 x i8] c"i64\00" +@.str6594 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str6595 = private unnamed_addr constant [4 x i8] c"i64\00" +@.str6596 = private unnamed_addr constant [4 x i8] c"ptr\00" +@.str6597 = private unnamed_addr constant [4 x i8] c"ptr\00" +@.str6598 = private unnamed_addr constant [4 x i8] c"ptr\00" +@.str6599 = private unnamed_addr constant [6 x i8] c"icmp \00" +@.str6600 = private unnamed_addr constant [2 x i8] c" \00" +@.str6601 = private unnamed_addr constant [2 x i8] c" \00" +@.str6602 = private unnamed_addr constant [3 x i8] c", \00" +@.str6603 = private unnamed_addr constant [9 x i8] c"zext i1 \00" +@.str6604 = private unnamed_addr constant [8 x i8] c" to i32\00" +@.str6605 = private unnamed_addr constant [5 x i8] c"bool\00" +@.str6606 = private unnamed_addr constant [6 x i8] c" i64 \00" +@.str6607 = private unnamed_addr constant [3 x i8] c", \00" +@.str6608 = private unnamed_addr constant [5 x i8] c"long\00" +@.str6609 = private unnamed_addr constant [2 x i8] c"*\00" +@.str6610 = private unnamed_addr constant [10 x i8] c"sext i32 \00" +@.str6611 = private unnamed_addr constant [8 x i8] c" to i64\00" +@.str6612 = private unnamed_addr constant [10 x i8] c"sext i32 \00" +@.str6613 = private unnamed_addr constant [8 x i8] c" to i64\00" +@.str6614 = private unnamed_addr constant [9 x i8] c"mul i64 \00" +@.str6615 = private unnamed_addr constant [3 x i8] c", \00" +@.str6616 = private unnamed_addr constant [10 x i8] c"ashr i64 \00" +@.str6617 = private unnamed_addr constant [5 x i8] c", 16\00" +@.str6618 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" +@.str6619 = private unnamed_addr constant [8 x i8] c" to i32\00" +@.str6620 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str6621 = private unnamed_addr constant [2 x i8] c"/\00" +@.str6622 = private unnamed_addr constant [10 x i8] c"sext i32 \00" +@.str6623 = private unnamed_addr constant [8 x i8] c" to i64\00" +@.str6624 = private unnamed_addr constant [9 x i8] c"shl i64 \00" +@.str6625 = private unnamed_addr constant [5 x i8] c", 16\00" +@.str6626 = private unnamed_addr constant [10 x i8] c"sext i32 \00" +@.str6627 = private unnamed_addr constant [8 x i8] c" to i64\00" +@.str6628 = private unnamed_addr constant [10 x i8] c"sdiv i64 \00" +@.str6629 = private unnamed_addr constant [3 x i8] c", \00" +@.str6630 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" +@.str6631 = private unnamed_addr constant [8 x i8] c" to i32\00" +@.str6632 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str6633 = private unnamed_addr constant [6 x i8] c" i32 \00" +@.str6634 = private unnamed_addr constant [3 x i8] c", \00" +@.str6635 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str6636 = private unnamed_addr constant [6 x i8] c" i32 \00" +@.str6637 = private unnamed_addr constant [3 x i8] c", \00" +@.str6638 = private unnamed_addr constant [4 x i8] c"int\00" +@.str6639 = private unnamed_addr constant [59 x i8] c"named and positional arguments cannot be mixed in one call\00" +@.str6640 = private unnamed_addr constant [26 x i8] c"wrong number of arguments\00" +@.str6641 = private unnamed_addr constant [19 x i8] c"no argument named \00" +@.str6642 = private unnamed_addr constant [5 x i8] c"exok\00" +@.str6643 = private unnamed_addr constant [6 x i8] c"exbad\00" +@.str6644 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str6645 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str6646 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str6647 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str6648 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str6649 = private unnamed_addr constant [33 x i8] c" store i32 1, ptr @L_test_fail\0A\00" +@.str6650 = private unnamed_addr constant [1 x i8] c"\00" +@.str6651 = private unnamed_addr constant [51 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_line, ptr \00" +@.str6652 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str6653 = private unnamed_addr constant [53 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_expect, ptr \00" +@.str6654 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str6655 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str6656 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str6657 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str6658 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str6659 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str6660 = private unnamed_addr constant [12 x i8] c"despawn_all\00" +@.str6661 = private unnamed_addr constant [32 x i8] c".despawn_all takes no arguments\00" +@.str6662 = private unnamed_addr constant [7 x i8] c"__each\00" +@.str6663 = private unnamed_addr constant [5 x i8] c"self\00" +@.str6664 = private unnamed_addr constant [2 x i8] c"0\00" +@.str6665 = private unnamed_addr constant [5 x i8] c"void\00" +@.str6666 = private unnamed_addr constant [6 x i8] c"count\00" +@.str6667 = private unnamed_addr constant [26 x i8] c".count takes no arguments\00" +@.str6668 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str6669 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str6670 = private unnamed_addr constant [2 x i8] c"0\00" +@.str6671 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str6672 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str6673 = private unnamed_addr constant [2 x i8] c"0\00" +@.str6674 = private unnamed_addr constant [3 x i8] c"cc\00" +@.str6675 = private unnamed_addr constant [3 x i8] c"cb\00" +@.str6676 = private unnamed_addr constant [3 x i8] c"cn\00" +@.str6677 = private unnamed_addr constant [3 x i8] c"ce\00" +@.str6678 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str6679 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str6680 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str6681 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str6682 = private unnamed_addr constant [22 x i8] c"load i32, ptr @L_entc\00" +@.str6683 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" +@.str6684 = private unnamed_addr constant [3 x i8] c", \00" +@.str6685 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str6686 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str6687 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str6688 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str6689 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str6690 = private unnamed_addr constant [25 x i8] c"getelementptr inbounds [\00" +@.str6691 = private unnamed_addr constant [35 x i8] c" x i32], ptr @L_alive, i32 0, i32 \00" +@.str6692 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str6693 = private unnamed_addr constant [25 x i8] c"getelementptr inbounds [\00" +@.str6694 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00" +@.str6695 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" +@.str6696 = private unnamed_addr constant [14 x i8] c"load i8, ptr \00" +@.str6697 = private unnamed_addr constant [9 x i8] c"zext i8 \00" +@.str6698 = private unnamed_addr constant [8 x i8] c" to i32\00" +@.str6699 = private unnamed_addr constant [9 x i8] c"and i32 \00" +@.str6700 = private unnamed_addr constant [3 x i8] c", \00" +@.str6701 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str6702 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str6703 = private unnamed_addr constant [3 x i8] c", \00" +@.str6704 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str6705 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str6706 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str6707 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str6708 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str6709 = private unnamed_addr constant [4 x i8] c", 1\00" +@.str6710 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str6711 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str6712 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str6713 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str6714 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str6715 = private unnamed_addr constant [4 x i8] c"int\00" +@.str6716 = private unnamed_addr constant [2 x i8] c".\00" +@.str6717 = private unnamed_addr constant [32 x i8] c" takes one argument: the entity\00" +@.str6718 = private unnamed_addr constant [3 x i8] c"of\00" +@.str6719 = private unnamed_addr constant [25 x i8] c"getelementptr inbounds [\00" +@.str6720 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" +@.str6721 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" +@.str6722 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" +@.str6723 = private unnamed_addr constant [14 x i8] c"icmp ult i32 \00" +@.str6724 = private unnamed_addr constant [3 x i8] c", \00" +@.str6725 = private unnamed_addr constant [11 x i8] c"select i1 \00" +@.str6726 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str6727 = private unnamed_addr constant [8 x i8] c", i32 0\00" +@.str6728 = private unnamed_addr constant [25 x i8] c"getelementptr inbounds [\00" +@.str6729 = private unnamed_addr constant [35 x i8] c" x i32], ptr @L_alive, i32 0, i32 \00" +@.str6730 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str6731 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" +@.str6732 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str6733 = private unnamed_addr constant [25 x i8] c"getelementptr inbounds [\00" +@.str6734 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00" +@.str6735 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" +@.str6736 = private unnamed_addr constant [14 x i8] c"load i8, ptr \00" +@.str6737 = private unnamed_addr constant [12 x i8] c"icmp ne i8 \00" +@.str6738 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str6739 = private unnamed_addr constant [8 x i8] c"and i1 \00" +@.str6740 = private unnamed_addr constant [3 x i8] c", \00" +@.str6741 = private unnamed_addr constant [8 x i8] c"and i1 \00" +@.str6742 = private unnamed_addr constant [3 x i8] c", \00" +@.str6743 = private unnamed_addr constant [9 x i8] c"zext i1 \00" +@.str6744 = private unnamed_addr constant [8 x i8] c" to i32\00" +@.str6745 = private unnamed_addr constant [5 x i8] c"bool\00" +@.str6746 = private unnamed_addr constant [5 x i8] c"name\00" +@.str6747 = private unnamed_addr constant [7 x i8] c"string\00" +@.str6748 = private unnamed_addr constant [3 x i8] c"of\00" +@.str6749 = private unnamed_addr constant [4 x i8] c"has\00" +@.str6750 = private unnamed_addr constant [6 x i8] c"count\00" +@.str6751 = private unnamed_addr constant [12 x i8] c"despawn_all\00" +@.str6752 = private unnamed_addr constant [2 x i8] c"_\00" +@.str6753 = private unnamed_addr constant [5 x i8] c"Math\00" +@.str6754 = private unnamed_addr constant [22 x i8] c"unknown builtin Math.\00" +@.str6755 = private unnamed_addr constant [5 x i8] c"Text\00" +@.str6756 = private unnamed_addr constant [22 x i8] c"unknown builtin Text.\00" +@.str6757 = private unnamed_addr constant [5 x i8] c"List\00" +@.str6758 = private unnamed_addr constant [22 x i8] c"unknown builtin List.\00" +@.str6759 = private unnamed_addr constant [5 x i8] c"Ease\00" +@.str6760 = private unnamed_addr constant [22 x i8] c"unknown builtin Ease.\00" +@.str6761 = private unnamed_addr constant [5 x i8] c"Anim\00" +@.str6762 = private unnamed_addr constant [6 x i8] c"Tween\00" +@.str6763 = private unnamed_addr constant [10 x i8] c"Collision\00" +@.str6764 = private unnamed_addr constant [27 x i8] c"unknown builtin Collision.\00" +@.str6765 = private unnamed_addr constant [7 x i8] c"Memory\00" +@.str6766 = private unnamed_addr constant [24 x i8] c"unknown builtin Memory.\00" +@.str6767 = private unnamed_addr constant [6 x i8] c"Color\00" +@.str6768 = private unnamed_addr constant [23 x i8] c"unknown builtin Color.\00" +@.str6769 = private unnamed_addr constant [5 x i8] c"Time\00" +@.str6770 = private unnamed_addr constant [22 x i8] c"unknown builtin Time.\00" +@.str6771 = private unnamed_addr constant [5 x i8] c"Hash\00" +@.str6772 = private unnamed_addr constant [22 x i8] c"unknown builtin Hash.\00" +@.str6773 = private unnamed_addr constant [7 x i8] c"Crypto\00" +@.str6774 = private unnamed_addr constant [24 x i8] c"unknown builtin Crypto.\00" +@.str6775 = private unnamed_addr constant [5 x i8] c"Uuid\00" +@.str6776 = private unnamed_addr constant [22 x i8] c"unknown builtin Uuid.\00" +@.str6777 = private unnamed_addr constant [6 x i8] c"Noise\00" +@.str6778 = private unnamed_addr constant [23 x i8] c"unknown builtin Noise.\00" +@.str6779 = private unnamed_addr constant [4 x i8] c"Log\00" +@.str6780 = private unnamed_addr constant [21 x i8] c"unknown builtin Log.\00" +@.str6781 = private unnamed_addr constant [3 x i8] c"Os\00" +@.str6782 = private unnamed_addr constant [20 x i8] c"unknown builtin Os.\00" +@.str6783 = private unnamed_addr constant [8 x i8] c"Unicode\00" +@.str6784 = private unnamed_addr constant [25 x i8] c"unknown builtin Unicode.\00" +@.str6785 = private unnamed_addr constant [3 x i8] c"Fs\00" +@.str6786 = private unnamed_addr constant [20 x i8] c"unknown builtin Fs.\00" +@.str6787 = private unnamed_addr constant [5 x i8] c"Path\00" +@.str6788 = private unnamed_addr constant [22 x i8] c"unknown builtin Path.\00" +@.str6789 = private unnamed_addr constant [5 x i8] c"Mime\00" +@.str6790 = private unnamed_addr constant [22 x i8] c"unknown builtin Mime.\00" +@.str6791 = private unnamed_addr constant [7 x i8] c"Vector\00" +@.str6792 = private unnamed_addr constant [24 x i8] c"unknown builtin Vector.\00" +@.str6793 = private unnamed_addr constant [6 x i8] c"IVec2\00" +@.str6794 = private unnamed_addr constant [23 x i8] c"unknown builtin IVec2.\00" +@.str6795 = private unnamed_addr constant [5 x i8] c"Rect\00" +@.str6796 = private unnamed_addr constant [22 x i8] c"unknown builtin Rect.\00" +@.str6797 = private unnamed_addr constant [9 x i8] c"Duration\00" +@.str6798 = private unnamed_addr constant [26 x i8] c"unknown builtin Duration.\00" +@.str6799 = private unnamed_addr constant [5 x i8] c"Date\00" +@.str6800 = private unnamed_addr constant [22 x i8] c"unknown builtin Date.\00" +@.str6801 = private unnamed_addr constant [9 x i8] c"DateTime\00" +@.str6802 = private unnamed_addr constant [26 x i8] c"unknown builtin DateTime.\00" +@.str6803 = private unnamed_addr constant [6 x i8] c"Clock\00" +@.str6804 = private unnamed_addr constant [23 x i8] c"unknown builtin Clock.\00" +@.str6805 = private unnamed_addr constant [4 x i8] c"App\00" +@.str6806 = private unnamed_addr constant [12 x i8] c"splash_hide\00" +@.str6807 = private unnamed_addr constant [28 x i8] c" call void @splash_hide()\0A\00" +@.str6808 = private unnamed_addr constant [2 x i8] c"0\00" +@.str6809 = private unnamed_addr constant [5 x i8] c"void\00" +@.str6810 = private unnamed_addr constant [9 x i8] c"set_icon\00" +@.str6811 = private unnamed_addr constant [30 x i8] c" call void @lp_app_icon(ptr \00" +@.str6812 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str6813 = private unnamed_addr constant [2 x i8] c"0\00" +@.str6814 = private unnamed_addr constant [5 x i8] c"void\00" +@.str6815 = private unnamed_addr constant [21 x i8] c"unknown builtin App.\00" +@.str6816 = private unnamed_addr constant [5 x i8] c"Pool\00" +@.str6817 = private unnamed_addr constant [9 x i8] c"capacity\00" +@.str6818 = private unnamed_addr constant [4 x i8] c"int\00" +@.str6819 = private unnamed_addr constant [9 x i8] c"reserved\00" +@.str6820 = private unnamed_addr constant [22 x i8] c"load i32, ptr @L_entc\00" +@.str6821 = private unnamed_addr constant [4 x i8] c"int\00" +@.str6822 = private unnamed_addr constant [5 x i8] c"free\00" +@.str6823 = private unnamed_addr constant [23 x i8] c"load i32, ptr @L_freen\00" +@.str6824 = private unnamed_addr constant [4 x i8] c"int\00" +@.str6825 = private unnamed_addr constant [5 x i8] c"live\00" +@.str6826 = private unnamed_addr constant [22 x i8] c"load i32, ptr @L_entc\00" +@.str6827 = private unnamed_addr constant [23 x i8] c"load i32, ptr @L_freen\00" +@.str6828 = private unnamed_addr constant [9 x i8] c"sub i32 \00" +@.str6829 = private unnamed_addr constant [3 x i8] c", \00" +@.str6830 = private unnamed_addr constant [4 x i8] c"int\00" +@.str6831 = private unnamed_addr constant [22 x i8] c"unknown builtin Pool.\00" +@.str6832 = private unnamed_addr constant [7 x i8] c"Screen\00" +@.str6833 = private unnamed_addr constant [6 x i8] c"clear\00" +@.str6834 = private unnamed_addr constant [6 x i8] c"clear\00" +@.str6835 = private unnamed_addr constant [6 x i8] c"color\00" +@.str6836 = private unnamed_addr constant [15 x i8] c"fill_rectangle\00" +@.str6837 = private unnamed_addr constant [10 x i8] c"fill_rect\00" +@.str6838 = private unnamed_addr constant [2 x i8] c"x\00" +@.str6839 = private unnamed_addr constant [2 x i8] c"y\00" +@.str6840 = private unnamed_addr constant [6 x i8] c"width\00" +@.str6841 = private unnamed_addr constant [7 x i8] c"height\00" +@.str6842 = private unnamed_addr constant [6 x i8] c"color\00" +@.str6843 = private unnamed_addr constant [4 x i8] c"bar\00" +@.str6844 = private unnamed_addr constant [4 x i8] c"bar\00" +@.str6845 = private unnamed_addr constant [2 x i8] c"x\00" +@.str6846 = private unnamed_addr constant [2 x i8] c"y\00" +@.str6847 = private unnamed_addr constant [6 x i8] c"width\00" +@.str6848 = private unnamed_addr constant [7 x i8] c"height\00" +@.str6849 = private unnamed_addr constant [6 x i8] c"value\00" +@.str6850 = private unnamed_addr constant [4 x i8] c"max\00" +@.str6851 = private unnamed_addr constant [6 x i8] c"color\00" +@.str6852 = private unnamed_addr constant [5 x i8] c"back\00" +@.str6853 = private unnamed_addr constant [15 x i8] c"draw_rectangle\00" +@.str6854 = private unnamed_addr constant [11 x i8] c"frame_rect\00" +@.str6855 = private unnamed_addr constant [2 x i8] c"x\00" +@.str6856 = private unnamed_addr constant [2 x i8] c"y\00" +@.str6857 = private unnamed_addr constant [6 x i8] c"width\00" +@.str6858 = private unnamed_addr constant [7 x i8] c"height\00" +@.str6859 = private unnamed_addr constant [6 x i8] c"color\00" +@.str6860 = private unnamed_addr constant [10 x i8] c"put_pixel\00" +@.str6861 = private unnamed_addr constant [7 x i8] c"put_px\00" +@.str6862 = private unnamed_addr constant [2 x i8] c"x\00" +@.str6863 = private unnamed_addr constant [2 x i8] c"y\00" +@.str6864 = private unnamed_addr constant [6 x i8] c"color\00" +@.str6865 = private unnamed_addr constant [10 x i8] c"draw_text\00" +@.str6866 = private unnamed_addr constant [5 x i8] c"text\00" +@.str6867 = private unnamed_addr constant [2 x i8] c"x\00" +@.str6868 = private unnamed_addr constant [2 x i8] c"y\00" +@.str6869 = private unnamed_addr constant [5 x i8] c"text\00" +@.str6870 = private unnamed_addr constant [6 x i8] c"color\00" +@.str6871 = private unnamed_addr constant [6 x i8] c"scale\00" +@.str6872 = private unnamed_addr constant [12 x i8] c"draw_number\00" +@.str6873 = private unnamed_addr constant [9 x i8] c"text_int\00" +@.str6874 = private unnamed_addr constant [2 x i8] c"x\00" +@.str6875 = private unnamed_addr constant [2 x i8] c"y\00" +@.str6876 = private unnamed_addr constant [6 x i8] c"value\00" +@.str6877 = private unnamed_addr constant [6 x i8] c"color\00" +@.str6878 = private unnamed_addr constant [6 x i8] c"scale\00" +@.str6879 = private unnamed_addr constant [5 x i8] c"show\00" +@.str6880 = private unnamed_addr constant [8 x i8] c"present\00" +@.str6881 = private unnamed_addr constant [6 x i8] c"width\00" +@.str6882 = private unnamed_addr constant [9 x i8] c"screen_w\00" +@.str6883 = private unnamed_addr constant [7 x i8] c"height\00" +@.str6884 = private unnamed_addr constant [9 x i8] c"screen_h\00" +@.str6885 = private unnamed_addr constant [7 x i8] c"status\00" +@.str6886 = private unnamed_addr constant [7 x i8] c"status\00" +@.str6887 = private unnamed_addr constant [5 x i8] c"text\00" +@.str6888 = private unnamed_addr constant [5 x i8] c"line\00" +@.str6889 = private unnamed_addr constant [5 x i8] c"line\00" +@.str6890 = private unnamed_addr constant [3 x i8] c"x1\00" +@.str6891 = private unnamed_addr constant [3 x i8] c"y1\00" +@.str6892 = private unnamed_addr constant [3 x i8] c"x2\00" +@.str6893 = private unnamed_addr constant [3 x i8] c"y2\00" +@.str6894 = private unnamed_addr constant [6 x i8] c"color\00" +@.str6895 = private unnamed_addr constant [7 x i8] c"circle\00" +@.str6896 = private unnamed_addr constant [7 x i8] c"circle\00" +@.str6897 = private unnamed_addr constant [2 x i8] c"x\00" +@.str6898 = private unnamed_addr constant [2 x i8] c"y\00" +@.str6899 = private unnamed_addr constant [7 x i8] c"radius\00" +@.str6900 = private unnamed_addr constant [6 x i8] c"color\00" +@.str6901 = private unnamed_addr constant [12 x i8] c"fill_circle\00" +@.str6902 = private unnamed_addr constant [12 x i8] c"fill_circle\00" +@.str6903 = private unnamed_addr constant [2 x i8] c"x\00" +@.str6904 = private unnamed_addr constant [2 x i8] c"y\00" +@.str6905 = private unnamed_addr constant [7 x i8] c"radius\00" +@.str6906 = private unnamed_addr constant [6 x i8] c"color\00" +@.str6907 = private unnamed_addr constant [9 x i8] c"triangle\00" +@.str6908 = private unnamed_addr constant [9 x i8] c"triangle\00" +@.str6909 = private unnamed_addr constant [3 x i8] c"x1\00" +@.str6910 = private unnamed_addr constant [3 x i8] c"y1\00" +@.str6911 = private unnamed_addr constant [3 x i8] c"x2\00" +@.str6912 = private unnamed_addr constant [3 x i8] c"y2\00" +@.str6913 = private unnamed_addr constant [3 x i8] c"x3\00" +@.str6914 = private unnamed_addr constant [3 x i8] c"y3\00" +@.str6915 = private unnamed_addr constant [6 x i8] c"color\00" +@.str6916 = private unnamed_addr constant [14 x i8] c"fill_triangle\00" +@.str6917 = private unnamed_addr constant [14 x i8] c"fill_triangle\00" +@.str6918 = private unnamed_addr constant [3 x i8] c"x1\00" +@.str6919 = private unnamed_addr constant [3 x i8] c"y1\00" +@.str6920 = private unnamed_addr constant [3 x i8] c"x2\00" +@.str6921 = private unnamed_addr constant [3 x i8] c"y2\00" +@.str6922 = private unnamed_addr constant [3 x i8] c"x3\00" +@.str6923 = private unnamed_addr constant [3 x i8] c"y3\00" +@.str6924 = private unnamed_addr constant [6 x i8] c"color\00" +@.str6925 = private unnamed_addr constant [7 x i8] c"sprite\00" +@.str6926 = private unnamed_addr constant [12 x i8] c"draw_sprite\00" +@.str6927 = private unnamed_addr constant [3 x i8] c"id\00" +@.str6928 = private unnamed_addr constant [2 x i8] c"x\00" +@.str6929 = private unnamed_addr constant [2 x i8] c"y\00" +@.str6930 = private unnamed_addr constant [14 x i8] c"sprite_scaled\00" +@.str6931 = private unnamed_addr constant [19 x i8] c"draw_sprite_scaled\00" +@.str6932 = private unnamed_addr constant [3 x i8] c"id\00" +@.str6933 = private unnamed_addr constant [2 x i8] c"x\00" +@.str6934 = private unnamed_addr constant [2 x i8] c"y\00" +@.str6935 = private unnamed_addr constant [6 x i8] c"scale\00" +@.str6936 = private unnamed_addr constant [5 x i8] c"oval\00" +@.str6937 = private unnamed_addr constant [5 x i8] c"oval\00" +@.str6938 = private unnamed_addr constant [2 x i8] c"x\00" +@.str6939 = private unnamed_addr constant [2 x i8] c"y\00" +@.str6940 = private unnamed_addr constant [3 x i8] c"rx\00" +@.str6941 = private unnamed_addr constant [3 x i8] c"ry\00" +@.str6942 = private unnamed_addr constant [6 x i8] c"color\00" +@.str6943 = private unnamed_addr constant [7 x i8] c"camera\00" +@.str6944 = private unnamed_addr constant [7 x i8] c"camera\00" +@.str6945 = private unnamed_addr constant [2 x i8] c"x\00" +@.str6946 = private unnamed_addr constant [2 x i8] c"y\00" +@.str6947 = private unnamed_addr constant [5 x i8] c"clip\00" +@.str6948 = private unnamed_addr constant [5 x i8] c"clip\00" +@.str6949 = private unnamed_addr constant [2 x i8] c"x\00" +@.str6950 = private unnamed_addr constant [2 x i8] c"y\00" +@.str6951 = private unnamed_addr constant [6 x i8] c"width\00" +@.str6952 = private unnamed_addr constant [7 x i8] c"height\00" +@.str6953 = private unnamed_addr constant [11 x i8] c"clip_reset\00" +@.str6954 = private unnamed_addr constant [11 x i8] c"clip_reset\00" +@.str6955 = private unnamed_addr constant [11 x i8] c"blend_mode\00" +@.str6956 = private unnamed_addr constant [11 x i8] c"blend_mode\00" +@.str6957 = private unnamed_addr constant [5 x i8] c"mode\00" +@.str6958 = private unnamed_addr constant [13 x i8] c"measure_text\00" +@.str6959 = private unnamed_addr constant [13 x i8] c"measure_text\00" +@.str6960 = private unnamed_addr constant [5 x i8] c"text\00" +@.str6961 = private unnamed_addr constant [6 x i8] c"pixel\00" +@.str6962 = private unnamed_addr constant [7 x i8] c"get_px\00" +@.str6963 = private unnamed_addr constant [2 x i8] c"x\00" +@.str6964 = private unnamed_addr constant [2 x i8] c"y\00" +@.str6965 = private unnamed_addr constant [7 x i8] c"Sprite\00" +@.str6966 = private unnamed_addr constant [6 x i8] c"sheet\00" +@.str6967 = private unnamed_addr constant [12 x i8] c"atlas_sheet\00" +@.str6968 = private unnamed_addr constant [5 x i8] c"path\00" +@.str6969 = private unnamed_addr constant [6 x i8] c"cellw\00" +@.str6970 = private unnamed_addr constant [6 x i8] c"cellh\00" +@.str6971 = private unnamed_addr constant [5 x i8] c"cell\00" +@.str6972 = private unnamed_addr constant [11 x i8] c"atlas_cell\00" +@.str6973 = private unnamed_addr constant [6 x i8] c"sheet\00" +@.str6974 = private unnamed_addr constant [4 x i8] c"col\00" +@.str6975 = private unnamed_addr constant [4 x i8] c"row\00" +@.str6976 = private unnamed_addr constant [10 x i8] c"cell_span\00" +@.str6977 = private unnamed_addr constant [16 x i8] c"atlas_cell_span\00" +@.str6978 = private unnamed_addr constant [6 x i8] c"sheet\00" +@.str6979 = private unnamed_addr constant [4 x i8] c"col\00" +@.str6980 = private unnamed_addr constant [4 x i8] c"row\00" +@.str6981 = private unnamed_addr constant [5 x i8] c"cols\00" +@.str6982 = private unnamed_addr constant [5 x i8] c"rows\00" +@.str6983 = private unnamed_addr constant [6 x i8] c"strip\00" +@.str6984 = private unnamed_addr constant [12 x i8] c"atlas_strip\00" +@.str6985 = private unnamed_addr constant [6 x i8] c"sheet\00" +@.str6986 = private unnamed_addr constant [4 x i8] c"col\00" +@.str6987 = private unnamed_addr constant [4 x i8] c"row\00" +@.str6988 = private unnamed_addr constant [6 x i8] c"count\00" +@.str6989 = private unnamed_addr constant [5 x i8] c"rows\00" +@.str6990 = private unnamed_addr constant [7 x i8] c"define\00" +@.str6991 = private unnamed_addr constant [13 x i8] c"atlas_define\00" +@.str6992 = private unnamed_addr constant [5 x i8] c"name\00" +@.str6993 = private unnamed_addr constant [6 x i8] c"sheet\00" +@.str6994 = private unnamed_addr constant [4 x i8] c"col\00" +@.str6995 = private unnamed_addr constant [4 x i8] c"row\00" +@.str6996 = private unnamed_addr constant [6 x i8] c"named\00" +@.str6997 = private unnamed_addr constant [12 x i8] c"atlas_named\00" +@.str6998 = private unnamed_addr constant [5 x i8] c"name\00" +@.str6999 = private unnamed_addr constant [5 x i8] c"draw\00" +@.str7000 = private unnamed_addr constant [11 x i8] c"atlas_draw\00" +@.str7001 = private unnamed_addr constant [3 x i8] c"id\00" +@.str7002 = private unnamed_addr constant [2 x i8] c"x\00" +@.str7003 = private unnamed_addr constant [2 x i8] c"y\00" +@.str7004 = private unnamed_addr constant [12 x i8] c"draw_scaled\00" +@.str7005 = private unnamed_addr constant [18 x i8] c"atlas_draw_scaled\00" +@.str7006 = private unnamed_addr constant [3 x i8] c"id\00" +@.str7007 = private unnamed_addr constant [2 x i8] c"x\00" +@.str7008 = private unnamed_addr constant [2 x i8] c"y\00" +@.str7009 = private unnamed_addr constant [6 x i8] c"scale\00" +@.str7010 = private unnamed_addr constant [11 x i8] c"draw_meter\00" +@.str7011 = private unnamed_addr constant [17 x i8] c"atlas_draw_meter\00" +@.str7012 = private unnamed_addr constant [2 x i8] c"x\00" +@.str7013 = private unnamed_addr constant [2 x i8] c"y\00" +@.str7014 = private unnamed_addr constant [6 x i8] c"value\00" +@.str7015 = private unnamed_addr constant [4 x i8] c"max\00" +@.str7016 = private unnamed_addr constant [9 x i8] c"per_icon\00" +@.str7017 = private unnamed_addr constant [8 x i8] c"spacing\00" +@.str7018 = private unnamed_addr constant [5 x i8] c"full\00" +@.str7019 = private unnamed_addr constant [5 x i8] c"half\00" +@.str7020 = private unnamed_addr constant [6 x i8] c"empty\00" +@.str7021 = private unnamed_addr constant [6 x i8] c"width\00" +@.str7022 = private unnamed_addr constant [12 x i8] c"atlas_width\00" +@.str7023 = private unnamed_addr constant [3 x i8] c"id\00" +@.str7024 = private unnamed_addr constant [7 x i8] c"height\00" +@.str7025 = private unnamed_addr constant [13 x i8] c"atlas_height\00" +@.str7026 = private unnamed_addr constant [3 x i8] c"id\00" +@.str7027 = private unnamed_addr constant [5 x i8] c"Font\00" +@.str7028 = private unnamed_addr constant [5 x i8] c"load\00" +@.str7029 = private unnamed_addr constant [10 x i8] c"font_load\00" +@.str7030 = private unnamed_addr constant [5 x i8] c"path\00" +@.str7031 = private unnamed_addr constant [3 x i8] c"Ui\00" +@.str7032 = private unnamed_addr constant [6 x i8] c"build\00" +@.str7033 = private unnamed_addr constant [9 x i8] c"ui_build\00" +@.str7034 = private unnamed_addr constant [5 x i8] c"open\00" +@.str7035 = private unnamed_addr constant [8 x i8] c"ui_open\00" +@.str7036 = private unnamed_addr constant [3 x i8] c"id\00" +@.str7037 = private unnamed_addr constant [6 x i8] c"close\00" +@.str7038 = private unnamed_addr constant [9 x i8] c"ui_close\00" +@.str7039 = private unnamed_addr constant [5 x i8] c"tick\00" +@.str7040 = private unnamed_addr constant [8 x i8] c"ui_tick\00" +@.str7041 = private unnamed_addr constant [4 x i8] c"key\00" +@.str7042 = private unnamed_addr constant [8 x i8] c"clicked\00" +@.str7043 = private unnamed_addr constant [11 x i8] c"ui_clicked\00" +@.str7044 = private unnamed_addr constant [3 x i8] c"id\00" +@.str7045 = private unnamed_addr constant [9 x i8] c"set_text\00" +@.str7046 = private unnamed_addr constant [12 x i8] c"ui_set_text\00" +@.str7047 = private unnamed_addr constant [3 x i8] c"id\00" +@.str7048 = private unnamed_addr constant [5 x i8] c"text\00" +@.str7049 = private unnamed_addr constant [7 x i8] c"render\00" +@.str7050 = private unnamed_addr constant [10 x i8] c"ui_render\00" +@.str7051 = private unnamed_addr constant [5 x i8] c"File\00" +@.str7052 = private unnamed_addr constant [5 x i8] c"open\00" +@.str7053 = private unnamed_addr constant [10 x i8] c"file_open\00" +@.str7054 = private unnamed_addr constant [5 x i8] c"path\00" +@.str7055 = private unnamed_addr constant [5 x i8] c"mode\00" +@.str7056 = private unnamed_addr constant [5 x i8] c"read\00" +@.str7057 = private unnamed_addr constant [10 x i8] c"file_read\00" +@.str7058 = private unnamed_addr constant [5 x i8] c"file\00" +@.str7059 = private unnamed_addr constant [7 x i8] c"buffer\00" +@.str7060 = private unnamed_addr constant [6 x i8] c"count\00" +@.str7061 = private unnamed_addr constant [6 x i8] c"write\00" +@.str7062 = private unnamed_addr constant [11 x i8] c"file_write\00" +@.str7063 = private unnamed_addr constant [5 x i8] c"file\00" +@.str7064 = private unnamed_addr constant [7 x i8] c"buffer\00" +@.str7065 = private unnamed_addr constant [6 x i8] c"count\00" +@.str7066 = private unnamed_addr constant [5 x i8] c"seek\00" +@.str7067 = private unnamed_addr constant [10 x i8] c"file_seek\00" +@.str7068 = private unnamed_addr constant [5 x i8] c"file\00" +@.str7069 = private unnamed_addr constant [7 x i8] c"offset\00" +@.str7070 = private unnamed_addr constant [7 x i8] c"whence\00" +@.str7071 = private unnamed_addr constant [5 x i8] c"tell\00" +@.str7072 = private unnamed_addr constant [10 x i8] c"file_tell\00" +@.str7073 = private unnamed_addr constant [5 x i8] c"file\00" +@.str7074 = private unnamed_addr constant [6 x i8] c"close\00" +@.str7075 = private unnamed_addr constant [11 x i8] c"file_close\00" +@.str7076 = private unnamed_addr constant [5 x i8] c"file\00" +@.str7077 = private unnamed_addr constant [3 x i8] c"Fx\00" +@.str7078 = private unnamed_addr constant [7 x i8] c"sparks\00" +@.str7079 = private unnamed_addr constant [10 x i8] c"fx_sparks\00" +@.str7080 = private unnamed_addr constant [2 x i8] c"x\00" +@.str7081 = private unnamed_addr constant [2 x i8] c"y\00" +@.str7082 = private unnamed_addr constant [6 x i8] c"color\00" +@.str7083 = private unnamed_addr constant [6 x i8] c"count\00" +@.str7084 = private unnamed_addr constant [7 x i8] c"number\00" +@.str7085 = private unnamed_addr constant [10 x i8] c"fx_number\00" +@.str7086 = private unnamed_addr constant [2 x i8] c"x\00" +@.str7087 = private unnamed_addr constant [2 x i8] c"y\00" +@.str7088 = private unnamed_addr constant [6 x i8] c"value\00" +@.str7089 = private unnamed_addr constant [6 x i8] c"color\00" +@.str7090 = private unnamed_addr constant [6 x i8] c"clear\00" +@.str7091 = private unnamed_addr constant [9 x i8] c"fx_clear\00" +@.str7092 = private unnamed_addr constant [7 x i8] c"Prefab\00" +@.str7093 = private unnamed_addr constant [9 x i8] c"spawn_at\00" +@.str7094 = private unnamed_addr constant [48 x i8] c"Prefab.spawn_at: the program declares no prefab\00" +@.str7095 = private unnamed_addr constant [9 x i8] c"Position\00" +@.str7096 = private unnamed_addr constant [42 x i8] c"Prefab.spawn_at needs a Position property\00" +@.str7097 = private unnamed_addr constant [5 x i8] c"name\00" +@.str7098 = private unnamed_addr constant [3 x i8] c"at\00" +@.str7099 = private unnamed_addr constant [30 x i8] c"call i32 @L_spawn_prefab(ptr \00" +@.str7100 = private unnamed_addr constant [2 x i8] c")\00" +@.str7101 = private unnamed_addr constant [25 x i8] c"getelementptr inbounds [\00" +@.str7102 = private unnamed_addr constant [48 x i8] c" x %Cmp_Position], ptr @S_Position, i32 0, i32 \00" +@.str7103 = private unnamed_addr constant [43 x i8] c"getelementptr inbounds %Cmp_Position, ptr \00" +@.str7104 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" +@.str7105 = private unnamed_addr constant [2 x i8] c"x\00" +@.str7106 = private unnamed_addr constant [43 x i8] c"getelementptr inbounds %Cmp_Position, ptr \00" +@.str7107 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" +@.str7108 = private unnamed_addr constant [2 x i8] c"y\00" +@.str7109 = private unnamed_addr constant [13 x i8] c" store i32 \00" +@.str7110 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str7111 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str7112 = private unnamed_addr constant [13 x i8] c" store i32 \00" +@.str7113 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str7114 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str7115 = private unnamed_addr constant [7 x i8] c"entity\00" +@.str7116 = private unnamed_addr constant [6 x i8] c"spawn\00" +@.str7117 = private unnamed_addr constant [45 x i8] c"Prefab.spawn: the program declares no prefab\00" +@.str7118 = private unnamed_addr constant [5 x i8] c"name\00" +@.str7119 = private unnamed_addr constant [51 x i8] c"Prefab.spawn takes one argument: the prefab's name\00" +@.str7120 = private unnamed_addr constant [30 x i8] c"call i32 @L_spawn_prefab(ptr \00" +@.str7121 = private unnamed_addr constant [2 x i8] c")\00" +@.str7122 = private unnamed_addr constant [7 x i8] c"entity\00" +@.str7123 = private unnamed_addr constant [24 x i8] c"unknown builtin Prefab.\00" +@.str7124 = private unnamed_addr constant [7 x i8] c"Assets\00" +@.str7125 = private unnamed_addr constant [5 x i8] c"font\00" +@.str7126 = private unnamed_addr constant [12 x i8] c"assets_font\00" +@.str7127 = private unnamed_addr constant [5 x i8] c"name\00" +@.str7128 = private unnamed_addr constant [12 x i8] c"enqueue_dir\00" +@.str7129 = private unnamed_addr constant [19 x i8] c"assets_enqueue_dir\00" +@.str7130 = private unnamed_addr constant [5 x i8] c"path\00" +@.str7131 = private unnamed_addr constant [6 x i8] c"image\00" +@.str7132 = private unnamed_addr constant [12 x i8] c"atlas_image\00" +@.str7133 = private unnamed_addr constant [5 x i8] c"path\00" +@.str7134 = private unnamed_addr constant [5 x i8] c"load\00" +@.str7135 = private unnamed_addr constant [12 x i8] c"atlas_image\00" +@.str7136 = private unnamed_addr constant [5 x i8] c"path\00" +@.str7137 = private unnamed_addr constant [4 x i8] c"get\00" +@.str7138 = private unnamed_addr constant [12 x i8] c"atlas_named\00" +@.str7139 = private unnamed_addr constant [5 x i8] c"name\00" +@.str7140 = private unnamed_addr constant [8 x i8] c"enqueue\00" +@.str7141 = private unnamed_addr constant [15 x i8] c"assets_enqueue\00" +@.str7142 = private unnamed_addr constant [5 x i8] c"name\00" +@.str7143 = private unnamed_addr constant [5 x i8] c"path\00" +@.str7144 = private unnamed_addr constant [5 x i8] c"pump\00" +@.str7145 = private unnamed_addr constant [12 x i8] c"assets_pump\00" +@.str7146 = private unnamed_addr constant [4 x i8] c"max\00" +@.str7147 = private unnamed_addr constant [6 x i8] c"total\00" +@.str7148 = private unnamed_addr constant [13 x i8] c"assets_total\00" +@.str7149 = private unnamed_addr constant [7 x i8] c"loaded\00" +@.str7150 = private unnamed_addr constant [14 x i8] c"assets_loaded\00" +@.str7151 = private unnamed_addr constant [6 x i8] c"ready\00" +@.str7152 = private unnamed_addr constant [13 x i8] c"assets_ready\00" +@.str7153 = private unnamed_addr constant [9 x i8] c"progress\00" +@.str7154 = private unnamed_addr constant [16 x i8] c"assets_progress\00" +@.str7155 = private unnamed_addr constant [7 x i8] c"Camera\00" +@.str7156 = private unnamed_addr constant [4 x i8] c"set\00" +@.str7157 = private unnamed_addr constant [7 x i8] c"camera\00" +@.str7158 = private unnamed_addr constant [2 x i8] c"x\00" +@.str7159 = private unnamed_addr constant [2 x i8] c"y\00" +@.str7160 = private unnamed_addr constant [7 x i8] c"follow\00" +@.str7161 = private unnamed_addr constant [14 x i8] c"camera_follow\00" +@.str7162 = private unnamed_addr constant [2 x i8] c"x\00" +@.str7163 = private unnamed_addr constant [2 x i8] c"y\00" +@.str7164 = private unnamed_addr constant [5 x i8] c"lerp\00" +@.str7165 = private unnamed_addr constant [6 x i8] c"shake\00" +@.str7166 = private unnamed_addr constant [13 x i8] c"camera_shake\00" +@.str7167 = private unnamed_addr constant [7 x i8] c"amount\00" +@.str7168 = private unnamed_addr constant [10 x i8] c"shake_for\00" +@.str7169 = private unnamed_addr constant [17 x i8] c"camera_shake_for\00" +@.str7170 = private unnamed_addr constant [7 x i8] c"amount\00" +@.str7171 = private unnamed_addr constant [7 x i8] c"frames\00" +@.str7172 = private unnamed_addr constant [5 x i8] c"zoom\00" +@.str7173 = private unnamed_addr constant [12 x i8] c"camera_zoom\00" +@.str7174 = private unnamed_addr constant [6 x i8] c"scale\00" +@.str7175 = private unnamed_addr constant [4 x i8] c"Map\00" +@.str7176 = private unnamed_addr constant [5 x i8] c"size\00" +@.str7177 = private unnamed_addr constant [9 x i8] c"map_size\00" +@.str7178 = private unnamed_addr constant [6 x i8] c"width\00" +@.str7179 = private unnamed_addr constant [7 x i8] c"height\00" +@.str7180 = private unnamed_addr constant [4 x i8] c"row\00" +@.str7181 = private unnamed_addr constant [8 x i8] c"map_row\00" +@.str7182 = private unnamed_addr constant [2 x i8] c"y\00" +@.str7183 = private unnamed_addr constant [6 x i8] c"cells\00" +@.str7184 = private unnamed_addr constant [5 x i8] c"tile\00" +@.str7185 = private unnamed_addr constant [5 x i8] c"tile\00" +@.str7186 = private unnamed_addr constant [2 x i8] c"x\00" +@.str7187 = private unnamed_addr constant [2 x i8] c"y\00" +@.str7188 = private unnamed_addr constant [4 x i8] c"get\00" +@.str7189 = private unnamed_addr constant [5 x i8] c"tile\00" +@.str7190 = private unnamed_addr constant [2 x i8] c"x\00" +@.str7191 = private unnamed_addr constant [2 x i8] c"y\00" +@.str7192 = private unnamed_addr constant [4 x i8] c"set\00" +@.str7193 = private unnamed_addr constant [8 x i8] c"map_set\00" +@.str7194 = private unnamed_addr constant [2 x i8] c"x\00" +@.str7195 = private unnamed_addr constant [2 x i8] c"y\00" +@.str7196 = private unnamed_addr constant [6 x i8] c"glyph\00" +@.str7197 = private unnamed_addr constant [5 x i8] c"fill\00" +@.str7198 = private unnamed_addr constant [9 x i8] c"map_fill\00" +@.str7199 = private unnamed_addr constant [6 x i8] c"glyph\00" +@.str7200 = private unnamed_addr constant [5 x i8] c"rect\00" +@.str7201 = private unnamed_addr constant [9 x i8] c"map_rect\00" +@.str7202 = private unnamed_addr constant [2 x i8] c"x\00" +@.str7203 = private unnamed_addr constant [2 x i8] c"y\00" +@.str7204 = private unnamed_addr constant [6 x i8] c"width\00" +@.str7205 = private unnamed_addr constant [7 x i8] c"height\00" +@.str7206 = private unnamed_addr constant [6 x i8] c"glyph\00" +@.str7207 = private unnamed_addr constant [7 x i8] c"border\00" +@.str7208 = private unnamed_addr constant [11 x i8] c"map_border\00" +@.str7209 = private unnamed_addr constant [6 x i8] c"glyph\00" +@.str7210 = private unnamed_addr constant [12 x i8] c"random_cell\00" +@.str7211 = private unnamed_addr constant [16 x i8] c"map_random_cell\00" +@.str7212 = private unnamed_addr constant [6 x i8] c"glyph\00" +@.str7213 = private unnamed_addr constant [16 x i8] c"random_cell_far\00" +@.str7214 = private unnamed_addr constant [20 x i8] c"map_random_cell_far\00" +@.str7215 = private unnamed_addr constant [6 x i8] c"glyph\00" +@.str7216 = private unnamed_addr constant [5 x i8] c"from\00" +@.str7217 = private unnamed_addr constant [10 x i8] c"min_tiles\00" +@.str7218 = private unnamed_addr constant [9 x i8] c"is_solid\00" +@.str7219 = private unnamed_addr constant [13 x i8] c"map_is_solid\00" +@.str7220 = private unnamed_addr constant [2 x i8] c"x\00" +@.str7221 = private unnamed_addr constant [2 x i8] c"y\00" +@.str7222 = private unnamed_addr constant [12 x i8] c"is_solid_at\00" +@.str7223 = private unnamed_addr constant [16 x i8] c"map_is_solid_at\00" +@.str7224 = private unnamed_addr constant [2 x i8] c"x\00" +@.str7225 = private unnamed_addr constant [2 x i8] c"y\00" +@.str7226 = private unnamed_addr constant [8 x i8] c"to_tile\00" +@.str7227 = private unnamed_addr constant [12 x i8] c"map_to_tile\00" +@.str7228 = private unnamed_addr constant [6 x i8] c"pixel\00" +@.str7229 = private unnamed_addr constant [6 x i8] c"width\00" +@.str7230 = private unnamed_addr constant [10 x i8] c"map_width\00" +@.str7231 = private unnamed_addr constant [7 x i8] c"height\00" +@.str7232 = private unnamed_addr constant [11 x i8] c"map_height\00" +@.str7233 = private unnamed_addr constant [7 x i8] c"Random\00" +@.str7234 = private unnamed_addr constant [6 x i8] c"range\00" +@.str7235 = private unnamed_addr constant [10 x i8] c"rng_range\00" +@.str7236 = private unnamed_addr constant [4 x i8] c"low\00" +@.str7237 = private unnamed_addr constant [5 x i8] c"high\00" +@.str7238 = private unnamed_addr constant [9 x i8] c"weighted\00" +@.str7239 = private unnamed_addr constant [13 x i8] c"rng_weighted\00" +@.str7240 = private unnamed_addr constant [8 x i8] c"weights\00" +@.str7241 = private unnamed_addr constant [7 x i8] c"chance\00" +@.str7242 = private unnamed_addr constant [11 x i8] c"rng_chance\00" +@.str7243 = private unnamed_addr constant [8 x i8] c"percent\00" +@.str7244 = private unnamed_addr constant [5 x i8] c"seed\00" +@.str7245 = private unnamed_addr constant [5 x i8] c"seed\00" +@.str7246 = private unnamed_addr constant [6 x i8] c"value\00" +@.str7247 = private unnamed_addr constant [6 x i8] c"value\00" +@.str7248 = private unnamed_addr constant [10 x i8] c"rng_value\00" +@.str7249 = private unnamed_addr constant [4 x i8] c"int\00" +@.str7250 = private unnamed_addr constant [8 x i8] c"rng_int\00" +@.str7251 = private unnamed_addr constant [4 x i8] c"max\00" +@.str7252 = private unnamed_addr constant [5 x i8] c"sign\00" +@.str7253 = private unnamed_addr constant [9 x i8] c"rng_sign\00" +@.str7254 = private unnamed_addr constant [6 x i8] c"Input\00" +@.str7255 = private unnamed_addr constant [4 x i8] c"key\00" +@.str7256 = private unnamed_addr constant [4 x i8] c"key\00" +@.str7257 = private unnamed_addr constant [5 x i8] c"bind\00" +@.str7258 = private unnamed_addr constant [11 x i8] c"input_bind\00" +@.str7259 = private unnamed_addr constant [7 x i8] c"action\00" +@.str7260 = private unnamed_addr constant [4 x i8] c"key\00" +@.str7261 = private unnamed_addr constant [7 x i8] c"rebind\00" +@.str7262 = private unnamed_addr constant [13 x i8] c"input_rebind\00" +@.str7263 = private unnamed_addr constant [7 x i8] c"action\00" +@.str7264 = private unnamed_addr constant [4 x i8] c"old\00" +@.str7265 = private unnamed_addr constant [4 x i8] c"new\00" +@.str7266 = private unnamed_addr constant [5 x i8] c"poll\00" +@.str7267 = private unnamed_addr constant [11 x i8] c"input_poll\00" +@.str7268 = private unnamed_addr constant [5 x i8] c"down\00" +@.str7269 = private unnamed_addr constant [11 x i8] c"input_down\00" +@.str7270 = private unnamed_addr constant [8 x i8] c"pressed\00" +@.str7271 = private unnamed_addr constant [14 x i8] c"input_pressed\00" +@.str7272 = private unnamed_addr constant [7 x i8] c"record\00" +@.str7273 = private unnamed_addr constant [13 x i8] c"input_record\00" +@.str7274 = private unnamed_addr constant [7 x i8] c"replay\00" +@.str7275 = private unnamed_addr constant [13 x i8] c"input_replay\00" +@.str7276 = private unnamed_addr constant [7 x i8] c"action\00" +@.str7277 = private unnamed_addr constant [14 x i8] c"input_default\00" +@.str7278 = private unnamed_addr constant [7 x i8] c"action\00" +@.str7279 = private unnamed_addr constant [4 x i8] c"key\00" +@.str7280 = private unnamed_addr constant [9 x i8] c"bind_pad\00" +@.str7281 = private unnamed_addr constant [15 x i8] c"input_bind_pad\00" +@.str7282 = private unnamed_addr constant [7 x i8] c"action\00" +@.str7283 = private unnamed_addr constant [7 x i8] c"button\00" +@.str7284 = private unnamed_addr constant [7 x i8] c"active\00" +@.str7285 = private unnamed_addr constant [13 x i8] c"input_active\00" +@.str7286 = private unnamed_addr constant [7 x i8] c"action\00" +@.str7287 = private unnamed_addr constant [13 x i8] c"just_pressed\00" +@.str7288 = private unnamed_addr constant [19 x i8] c"input_just_pressed\00" +@.str7289 = private unnamed_addr constant [7 x i8] c"action\00" +@.str7290 = private unnamed_addr constant [14 x i8] c"just_released\00" +@.str7291 = private unnamed_addr constant [20 x i8] c"input_just_released\00" +@.str7292 = private unnamed_addr constant [7 x i8] c"action\00" +@.str7293 = private unnamed_addr constant [9 x i8] c"key_down\00" +@.str7294 = private unnamed_addr constant [15 x i8] c"input_key_down\00" +@.str7295 = private unnamed_addr constant [4 x i8] c"key\00" +@.str7296 = private unnamed_addr constant [12 x i8] c"key_pressed\00" +@.str7297 = private unnamed_addr constant [18 x i8] c"input_key_pressed\00" +@.str7298 = private unnamed_addr constant [4 x i8] c"key\00" +@.str7299 = private unnamed_addr constant [13 x i8] c"key_released\00" +@.str7300 = private unnamed_addr constant [19 x i8] c"input_key_released\00" +@.str7301 = private unnamed_addr constant [4 x i8] c"key\00" +@.str7302 = private unnamed_addr constant [6 x i8] c"press\00" +@.str7303 = private unnamed_addr constant [12 x i8] c"input_press\00" +@.str7304 = private unnamed_addr constant [4 x i8] c"key\00" +@.str7305 = private unnamed_addr constant [8 x i8] c"release\00" +@.str7306 = private unnamed_addr constant [14 x i8] c"input_release\00" +@.str7307 = private unnamed_addr constant [4 x i8] c"key\00" +@.str7308 = private unnamed_addr constant [5 x i8] c"axis\00" +@.str7309 = private unnamed_addr constant [11 x i8] c"input_axis\00" +@.str7310 = private unnamed_addr constant [4 x i8] c"neg\00" +@.str7311 = private unnamed_addr constant [4 x i8] c"pos\00" +@.str7312 = private unnamed_addr constant [7 x i8] c"axis_i\00" +@.str7313 = private unnamed_addr constant [13 x i8] c"input_axis_i\00" +@.str7314 = private unnamed_addr constant [4 x i8] c"neg\00" +@.str7315 = private unnamed_addr constant [4 x i8] c"pos\00" +@.str7316 = private unnamed_addr constant [7 x i8] c"move_i\00" +@.str7317 = private unnamed_addr constant [13 x i8] c"input_move_i\00" +@.str7318 = private unnamed_addr constant [7 x i8] c"vector\00" +@.str7319 = private unnamed_addr constant [13 x i8] c"input_vector\00" +@.str7320 = private unnamed_addr constant [5 x i8] c"left\00" +@.str7321 = private unnamed_addr constant [6 x i8] c"right\00" +@.str7322 = private unnamed_addr constant [3 x i8] c"up\00" +@.str7323 = private unnamed_addr constant [5 x i8] c"down\00" +@.str7324 = private unnamed_addr constant [9 x i8] c"strength\00" +@.str7325 = private unnamed_addr constant [15 x i8] c"input_strength\00" +@.str7326 = private unnamed_addr constant [7 x i8] c"action\00" +@.str7327 = private unnamed_addr constant [8 x i8] c"mouse_x\00" +@.str7328 = private unnamed_addr constant [14 x i8] c"input_mouse_x\00" +@.str7329 = private unnamed_addr constant [8 x i8] c"mouse_y\00" +@.str7330 = private unnamed_addr constant [14 x i8] c"input_mouse_y\00" +@.str7331 = private unnamed_addr constant [9 x i8] c"mouse_dx\00" +@.str7332 = private unnamed_addr constant [15 x i8] c"input_mouse_dx\00" +@.str7333 = private unnamed_addr constant [9 x i8] c"mouse_dy\00" +@.str7334 = private unnamed_addr constant [15 x i8] c"input_mouse_dy\00" +@.str7335 = private unnamed_addr constant [11 x i8] c"mouse_down\00" +@.str7336 = private unnamed_addr constant [17 x i8] c"input_mouse_down\00" +@.str7337 = private unnamed_addr constant [7 x i8] c"button\00" +@.str7338 = private unnamed_addr constant [6 x i8] c"wheel\00" +@.str7339 = private unnamed_addr constant [12 x i8] c"input_wheel\00" +@.str7340 = private unnamed_addr constant [10 x i8] c"set_mouse\00" +@.str7341 = private unnamed_addr constant [16 x i8] c"input_set_mouse\00" +@.str7342 = private unnamed_addr constant [2 x i8] c"x\00" +@.str7343 = private unnamed_addr constant [2 x i8] c"y\00" +@.str7344 = private unnamed_addr constant [8 x i8] c"buttons\00" +@.str7345 = private unnamed_addr constant [6 x i8] c"wheel\00" +@.str7346 = private unnamed_addr constant [14 x i8] c"pad_connected\00" +@.str7347 = private unnamed_addr constant [20 x i8] c"input_pad_connected\00" +@.str7348 = private unnamed_addr constant [4 x i8] c"pad\00" +@.str7349 = private unnamed_addr constant [11 x i8] c"pad_button\00" +@.str7350 = private unnamed_addr constant [17 x i8] c"input_pad_button\00" +@.str7351 = private unnamed_addr constant [4 x i8] c"pad\00" +@.str7352 = private unnamed_addr constant [7 x i8] c"button\00" +@.str7353 = private unnamed_addr constant [9 x i8] c"pad_axis\00" +@.str7354 = private unnamed_addr constant [15 x i8] c"input_pad_axis\00" +@.str7355 = private unnamed_addr constant [4 x i8] c"pad\00" +@.str7356 = private unnamed_addr constant [5 x i8] c"axis\00" +@.str7357 = private unnamed_addr constant [8 x i8] c"set_pad\00" +@.str7358 = private unnamed_addr constant [14 x i8] c"input_set_pad\00" +@.str7359 = private unnamed_addr constant [4 x i8] c"pad\00" +@.str7360 = private unnamed_addr constant [10 x i8] c"connected\00" +@.str7361 = private unnamed_addr constant [8 x i8] c"buttons\00" +@.str7362 = private unnamed_addr constant [3 x i8] c"lx\00" +@.str7363 = private unnamed_addr constant [3 x i8] c"ly\00" +@.str7364 = private unnamed_addr constant [3 x i8] c"rx\00" +@.str7365 = private unnamed_addr constant [3 x i8] c"ry\00" +@.str7366 = private unnamed_addr constant [12 x i8] c"touch_count\00" +@.str7367 = private unnamed_addr constant [18 x i8] c"input_touch_count\00" +@.str7368 = private unnamed_addr constant [8 x i8] c"touch_x\00" +@.str7369 = private unnamed_addr constant [14 x i8] c"input_touch_x\00" +@.str7370 = private unnamed_addr constant [6 x i8] c"index\00" +@.str7371 = private unnamed_addr constant [8 x i8] c"touch_y\00" +@.str7372 = private unnamed_addr constant [14 x i8] c"input_touch_y\00" +@.str7373 = private unnamed_addr constant [6 x i8] c"index\00" +@.str7374 = private unnamed_addr constant [10 x i8] c"set_touch\00" +@.str7375 = private unnamed_addr constant [16 x i8] c"input_set_touch\00" +@.str7376 = private unnamed_addr constant [6 x i8] c"index\00" +@.str7377 = private unnamed_addr constant [2 x i8] c"x\00" +@.str7378 = private unnamed_addr constant [2 x i8] c"y\00" +@.str7379 = private unnamed_addr constant [7 x i8] c"active\00" +@.str7380 = private unnamed_addr constant [12 x i8] c"cursor_mode\00" +@.str7381 = private unnamed_addr constant [18 x i8] c"input_cursor_mode\00" +@.str7382 = private unnamed_addr constant [5 x i8] c"mode\00" +@.str7383 = private unnamed_addr constant [6 x i8] c"Audio\00" +@.str7384 = private unnamed_addr constant [5 x i8] c"load\00" +@.str7385 = private unnamed_addr constant [11 x i8] c"audio_load\00" +@.str7386 = private unnamed_addr constant [5 x i8] c"path\00" +@.str7387 = private unnamed_addr constant [7 x i8] c"define\00" +@.str7388 = private unnamed_addr constant [13 x i8] c"audio_define\00" +@.str7389 = private unnamed_addr constant [5 x i8] c"name\00" +@.str7390 = private unnamed_addr constant [5 x i8] c"path\00" +@.str7391 = private unnamed_addr constant [6 x i8] c"named\00" +@.str7392 = private unnamed_addr constant [12 x i8] c"audio_named\00" +@.str7393 = private unnamed_addr constant [5 x i8] c"name\00" +@.str7394 = private unnamed_addr constant [5 x i8] c"play\00" +@.str7395 = private unnamed_addr constant [17 x i8] c"audio_play_named\00" +@.str7396 = private unnamed_addr constant [5 x i8] c"name\00" +@.str7397 = private unnamed_addr constant [11 x i8] c"audio_play\00" +@.str7398 = private unnamed_addr constant [3 x i8] c"id\00" +@.str7399 = private unnamed_addr constant [11 x i8] c"play_sound\00" +@.str7400 = private unnamed_addr constant [11 x i8] c"audio_play\00" +@.str7401 = private unnamed_addr constant [3 x i8] c"id\00" +@.str7402 = private unnamed_addr constant [8 x i8] c"play_at\00" +@.str7403 = private unnamed_addr constant [14 x i8] c"audio_play_at\00" +@.str7404 = private unnamed_addr constant [3 x i8] c"id\00" +@.str7405 = private unnamed_addr constant [5 x i8] c"gain\00" +@.str7406 = private unnamed_addr constant [6 x i8] c"pitch\00" +@.str7407 = private unnamed_addr constant [4 x i8] c"pan\00" +@.str7408 = private unnamed_addr constant [11 x i8] c"play_music\00" +@.str7409 = private unnamed_addr constant [23 x i8] c"audio_play_music_named\00" +@.str7410 = private unnamed_addr constant [5 x i8] c"name\00" +@.str7411 = private unnamed_addr constant [17 x i8] c"audio_play_music\00" +@.str7412 = private unnamed_addr constant [3 x i8] c"id\00" +@.str7413 = private unnamed_addr constant [5 x i8] c"stop\00" +@.str7414 = private unnamed_addr constant [11 x i8] c"audio_stop\00" +@.str7415 = private unnamed_addr constant [3 x i8] c"id\00" +@.str7416 = private unnamed_addr constant [11 x i8] c"stop_music\00" +@.str7417 = private unnamed_addr constant [17 x i8] c"audio_stop_music\00" +@.str7418 = private unnamed_addr constant [9 x i8] c"stop_all\00" +@.str7419 = private unnamed_addr constant [15 x i8] c"audio_stop_all\00" +@.str7420 = private unnamed_addr constant [7 x i8] c"volume\00" +@.str7421 = private unnamed_addr constant [13 x i8] c"audio_volume\00" +@.str7422 = private unnamed_addr constant [2 x i8] c"v\00" +@.str7423 = private unnamed_addr constant [6 x i8] c"pitch\00" +@.str7424 = private unnamed_addr constant [12 x i8] c"audio_pitch\00" +@.str7425 = private unnamed_addr constant [2 x i8] c"v\00" +@.str7426 = private unnamed_addr constant [11 x i8] c"is_playing\00" +@.str7427 = private unnamed_addr constant [17 x i8] c"audio_is_playing\00" +@.str7428 = private unnamed_addr constant [3 x i8] c"id\00" +@.str7429 = private unnamed_addr constant [5 x i8] c"Http\00" +@.str7430 = private unnamed_addr constant [4 x i8] c"get\00" +@.str7431 = private unnamed_addr constant [9 x i8] c"http_get\00" +@.str7432 = private unnamed_addr constant [4 x i8] c"url\00" +@.str7433 = private unnamed_addr constant [5 x i8] c"post\00" +@.str7434 = private unnamed_addr constant [10 x i8] c"http_post\00" +@.str7435 = private unnamed_addr constant [4 x i8] c"url\00" +@.str7436 = private unnamed_addr constant [5 x i8] c"body\00" +@.str7437 = private unnamed_addr constant [8 x i8] c"request\00" +@.str7438 = private unnamed_addr constant [13 x i8] c"http_request\00" +@.str7439 = private unnamed_addr constant [7 x i8] c"method\00" +@.str7440 = private unnamed_addr constant [4 x i8] c"url\00" +@.str7441 = private unnamed_addr constant [5 x i8] c"body\00" +@.str7442 = private unnamed_addr constant [5 x i8] c"open\00" +@.str7443 = private unnamed_addr constant [10 x i8] c"http_open\00" +@.str7444 = private unnamed_addr constant [7 x i8] c"method\00" +@.str7445 = private unnamed_addr constant [4 x i8] c"url\00" +@.str7446 = private unnamed_addr constant [4 x i8] c"set\00" +@.str7447 = private unnamed_addr constant [16 x i8] c"http_set_header\00" +@.str7448 = private unnamed_addr constant [7 x i8] c"handle\00" +@.str7449 = private unnamed_addr constant [5 x i8] c"name\00" +@.str7450 = private unnamed_addr constant [6 x i8] c"value\00" +@.str7451 = private unnamed_addr constant [5 x i8] c"body\00" +@.str7452 = private unnamed_addr constant [10 x i8] c"http_body\00" +@.str7453 = private unnamed_addr constant [7 x i8] c"handle\00" +@.str7454 = private unnamed_addr constant [5 x i8] c"body\00" +@.str7455 = private unnamed_addr constant [11 x i8] c"body_bytes\00" +@.str7456 = private unnamed_addr constant [12 x i8] c"http_body_n\00" +@.str7457 = private unnamed_addr constant [7 x i8] c"handle\00" +@.str7458 = private unnamed_addr constant [6 x i8] c"bytes\00" +@.str7459 = private unnamed_addr constant [4 x i8] c"len\00" +@.str7460 = private unnamed_addr constant [5 x i8] c"send\00" +@.str7461 = private unnamed_addr constant [14 x i8] c"http_send_req\00" +@.str7462 = private unnamed_addr constant [7 x i8] c"handle\00" +@.str7463 = private unnamed_addr constant [5 x i8] c"poll\00" +@.str7464 = private unnamed_addr constant [10 x i8] c"http_poll\00" +@.str7465 = private unnamed_addr constant [7 x i8] c"handle\00" +@.str7466 = private unnamed_addr constant [7 x i8] c"status\00" +@.str7467 = private unnamed_addr constant [15 x i8] c"http_status_of\00" +@.str7468 = private unnamed_addr constant [7 x i8] c"handle\00" +@.str7469 = private unnamed_addr constant [3 x i8] c"ok\00" +@.str7470 = private unnamed_addr constant [8 x i8] c"http_ok\00" +@.str7471 = private unnamed_addr constant [7 x i8] c"handle\00" +@.str7472 = private unnamed_addr constant [5 x i8] c"text\00" +@.str7473 = private unnamed_addr constant [10 x i8] c"http_text\00" +@.str7474 = private unnamed_addr constant [7 x i8] c"handle\00" +@.str7475 = private unnamed_addr constant [9 x i8] c"body_len\00" +@.str7476 = private unnamed_addr constant [14 x i8] c"http_body_len\00" +@.str7477 = private unnamed_addr constant [7 x i8] c"handle\00" +@.str7478 = private unnamed_addr constant [7 x i8] c"header\00" +@.str7479 = private unnamed_addr constant [15 x i8] c"http_header_of\00" +@.str7480 = private unnamed_addr constant [7 x i8] c"handle\00" +@.str7481 = private unnamed_addr constant [5 x i8] c"name\00" +@.str7482 = private unnamed_addr constant [5 x i8] c"free\00" +@.str7483 = private unnamed_addr constant [11 x i8] c"http_close\00" +@.str7484 = private unnamed_addr constant [7 x i8] c"handle\00" +@.str7485 = private unnamed_addr constant [6 x i8] c"parse\00" +@.str7486 = private unnamed_addr constant [11 x i8] c"http_parse\00" +@.str7487 = private unnamed_addr constant [6 x i8] c"bytes\00" +@.str7488 = private unnamed_addr constant [4 x i8] c"len\00" +@.str7489 = private unnamed_addr constant [6 x i8] c"World\00" +@.str7490 = private unnamed_addr constant [4 x i8] c"get\00" +@.str7491 = private unnamed_addr constant [10 x i8] c"world_get\00" +@.str7492 = private unnamed_addr constant [4 x i8] c"set\00" +@.str7493 = private unnamed_addr constant [10 x i8] c"world_set\00" +@.str7494 = private unnamed_addr constant [4 x i8] c"has\00" +@.str7495 = private unnamed_addr constant [10 x i8] c"world_has\00" +@.str7496 = private unnamed_addr constant [6 x i8] c"count\00" +@.str7497 = private unnamed_addr constant [12 x i8] c"world_count\00" +@.str7498 = private unnamed_addr constant [5 x i8] c"size\00" +@.str7499 = private unnamed_addr constant [11 x i8] c"world_size\00" +@.str7500 = private unnamed_addr constant [6 x i8] c"spawn\00" +@.str7501 = private unnamed_addr constant [12 x i8] c"world_spawn\00" +@.str7502 = private unnamed_addr constant [8 x i8] c"despawn\00" +@.str7503 = private unnamed_addr constant [14 x i8] c"world_despawn\00" +@.str7504 = private unnamed_addr constant [5 x i8] c"save\00" +@.str7505 = private unnamed_addr constant [11 x i8] c"world_save\00" +@.str7506 = private unnamed_addr constant [5 x i8] c"load\00" +@.str7507 = private unnamed_addr constant [11 x i8] c"world_load\00" +@.str7508 = private unnamed_addr constant [8 x i8] c"prop_id\00" +@.str7509 = private unnamed_addr constant [14 x i8] c"world_prop_id\00" +@.str7510 = private unnamed_addr constant [9 x i8] c"field_id\00" +@.str7511 = private unnamed_addr constant [15 x i8] c"world_field_id\00" +@.str7512 = private unnamed_addr constant [9 x i8] c"model_id\00" +@.str7513 = private unnamed_addr constant [15 x i8] c"world_model_id\00" +@.str7514 = private unnamed_addr constant [5 x i8] c"kind\00" +@.str7515 = private unnamed_addr constant [11 x i8] c"world_kind\00" +@.str7516 = private unnamed_addr constant [14 x i8] c"register_prop\00" +@.str7517 = private unnamed_addr constant [20 x i8] c"world_register_prop\00" +@.str7518 = private unnamed_addr constant [7 x i8] c"attach\00" +@.str7519 = private unnamed_addr constant [17 x i8] c"world_attach_dyn\00" +@.str7520 = private unnamed_addr constant [7 x i8] c"detach\00" +@.str7521 = private unnamed_addr constant [17 x i8] c"world_detach_dyn\00" +@.str7522 = private unnamed_addr constant [11 x i8] c"query_next\00" +@.str7523 = private unnamed_addr constant [17 x i8] c"world_query_next\00" +@.str7524 = private unnamed_addr constant [8 x i8] c"Network\00" +@.str7525 = private unnamed_addr constant [5 x i8] c"send\00" +@.str7526 = private unnamed_addr constant [9 x i8] c"net_send\00" +@.str7527 = private unnamed_addr constant [5 x i8] c"poll\00" +@.str7528 = private unnamed_addr constant [9 x i8] c"net_poll\00" +@.str7529 = private unnamed_addr constant [10 x i8] c"serialize\00" +@.str7530 = private unnamed_addr constant [10 x i8] c"serialize\00" +@.str7531 = private unnamed_addr constant [6 x i8] c"apply\00" +@.str7532 = private unnamed_addr constant [6 x i8] c"apply\00" +@.str7533 = private unnamed_addr constant [6 x i8] c"owner\00" +@.str7534 = private unnamed_addr constant [6 x i8] c"owner\00" +@.str7535 = private unnamed_addr constant [10 x i8] c"set_owner\00" +@.str7536 = private unnamed_addr constant [10 x i8] c"set_owner\00" +@.str7537 = private unnamed_addr constant [10 x i8] c"is_server\00" +@.str7538 = private unnamed_addr constant [10 x i8] c"is_server\00" +@.str7539 = private unnamed_addr constant [9 x i8] c"is_owner\00" +@.str7540 = private unnamed_addr constant [9 x i8] c"is_owner\00" +@.str7541 = private unnamed_addr constant [9 x i8] c"local_id\00" +@.str7542 = private unnamed_addr constant [9 x i8] c"local_id\00" +@.str7543 = private unnamed_addr constant [7 x i8] c"System\00" +@.str7544 = private unnamed_addr constant [4 x i8] c"run\00" +@.str7545 = private unnamed_addr constant [4 x i8] c"run\00" +@.str7546 = private unnamed_addr constant [10 x i8] c"read_char\00" +@.str7547 = private unnamed_addr constant [10 x i8] c"read_char\00" +@.str7548 = private unnamed_addr constant [10 x i8] c"file_open\00" +@.str7549 = private unnamed_addr constant [10 x i8] c"file_open\00" +@.str7550 = private unnamed_addr constant [10 x i8] c"file_read\00" +@.str7551 = private unnamed_addr constant [10 x i8] c"file_read\00" +@.str7552 = private unnamed_addr constant [11 x i8] c"file_write\00" +@.str7553 = private unnamed_addr constant [11 x i8] c"file_write\00" +@.str7554 = private unnamed_addr constant [10 x i8] c"file_seek\00" +@.str7555 = private unnamed_addr constant [10 x i8] c"file_seek\00" +@.str7556 = private unnamed_addr constant [10 x i8] c"file_tell\00" +@.str7557 = private unnamed_addr constant [10 x i8] c"file_tell\00" +@.str7558 = private unnamed_addr constant [11 x i8] c"file_close\00" +@.str7559 = private unnamed_addr constant [11 x i8] c"file_close\00" +@.str7560 = private unnamed_addr constant [5 x i8] c"Save\00" +@.str7561 = private unnamed_addr constant [6 x i8] c"write\00" +@.str7562 = private unnamed_addr constant [5 x i8] c"save\00" +@.str7563 = private unnamed_addr constant [5 x i8] c"read\00" +@.str7564 = private unnamed_addr constant [5 x i8] c"load\00" +@.str7565 = private unnamed_addr constant [6 x i8] c"Regex\00" +@.str7566 = private unnamed_addr constant [8 x i8] c"compile\00" +@.str7567 = private unnamed_addr constant [14 x i8] c"regex_compile\00" +@.str7568 = private unnamed_addr constant [8 x i8] c"pattern\00" +@.str7569 = private unnamed_addr constant [6 x i8] c"valid\00" +@.str7570 = private unnamed_addr constant [12 x i8] c"regex_valid\00" +@.str7571 = private unnamed_addr constant [8 x i8] c"pattern\00" +@.str7572 = private unnamed_addr constant [8 x i8] c"matches\00" +@.str7573 = private unnamed_addr constant [14 x i8] c"regex_matches\00" +@.str7574 = private unnamed_addr constant [5 x i8] c"text\00" +@.str7575 = private unnamed_addr constant [8 x i8] c"pattern\00" +@.str7576 = private unnamed_addr constant [5 x i8] c"test\00" +@.str7577 = private unnamed_addr constant [11 x i8] c"regex_test\00" +@.str7578 = private unnamed_addr constant [5 x i8] c"text\00" +@.str7579 = private unnamed_addr constant [3 x i8] c"re\00" +@.str7580 = private unnamed_addr constant [5 x i8] c"find\00" +@.str7581 = private unnamed_addr constant [11 x i8] c"regex_find\00" +@.str7582 = private unnamed_addr constant [5 x i8] c"text\00" +@.str7583 = private unnamed_addr constant [8 x i8] c"pattern\00" +@.str7584 = private unnamed_addr constant [5 x i8] c"exec\00" +@.str7585 = private unnamed_addr constant [11 x i8] c"regex_exec\00" +@.str7586 = private unnamed_addr constant [5 x i8] c"text\00" +@.str7587 = private unnamed_addr constant [3 x i8] c"re\00" +@.str7588 = private unnamed_addr constant [5 x i8] c"next\00" +@.str7589 = private unnamed_addr constant [11 x i8] c"regex_next\00" +@.str7590 = private unnamed_addr constant [5 x i8] c"text\00" +@.str7591 = private unnamed_addr constant [3 x i8] c"re\00" +@.str7592 = private unnamed_addr constant [5 x i8] c"from\00" +@.str7593 = private unnamed_addr constant [8 x i8] c"replace\00" +@.str7594 = private unnamed_addr constant [14 x i8] c"regex_replace\00" +@.str7595 = private unnamed_addr constant [5 x i8] c"text\00" +@.str7596 = private unnamed_addr constant [8 x i8] c"pattern\00" +@.str7597 = private unnamed_addr constant [12 x i8] c"replacement\00" +@.str7598 = private unnamed_addr constant [6 x i8] c"group\00" +@.str7599 = private unnamed_addr constant [12 x i8] c"regex_group\00" +@.str7600 = private unnamed_addr constant [6 x i8] c"match\00" +@.str7601 = private unnamed_addr constant [2 x i8] c"n\00" +@.str7602 = private unnamed_addr constant [12 x i8] c"group_count\00" +@.str7603 = private unnamed_addr constant [18 x i8] c"regex_group_count\00" +@.str7604 = private unnamed_addr constant [6 x i8] c"match\00" +@.str7605 = private unnamed_addr constant [6 x i8] c"start\00" +@.str7606 = private unnamed_addr constant [12 x i8] c"regex_start\00" +@.str7607 = private unnamed_addr constant [6 x i8] c"match\00" +@.str7608 = private unnamed_addr constant [2 x i8] c"n\00" +@.str7609 = private unnamed_addr constant [4 x i8] c"end\00" +@.str7610 = private unnamed_addr constant [10 x i8] c"regex_end\00" +@.str7611 = private unnamed_addr constant [6 x i8] c"match\00" +@.str7612 = private unnamed_addr constant [2 x i8] c"n\00" +@.str7613 = private unnamed_addr constant [3 x i8] c"ok\00" +@.str7614 = private unnamed_addr constant [9 x i8] c"regex_ok\00" +@.str7615 = private unnamed_addr constant [6 x i8] c"match\00" +@.str7616 = private unnamed_addr constant [7 x i8] c"BigInt\00" +@.str7617 = private unnamed_addr constant [5 x i8] c"from\00" +@.str7618 = private unnamed_addr constant [12 x i8] c"bigint_from\00" +@.str7619 = private unnamed_addr constant [6 x i8] c"value\00" +@.str7620 = private unnamed_addr constant [6 x i8] c"parse\00" +@.str7621 = private unnamed_addr constant [16 x i8] c"bigint_from_str\00" +@.str7622 = private unnamed_addr constant [5 x i8] c"text\00" +@.str7623 = private unnamed_addr constant [4 x i8] c"add\00" +@.str7624 = private unnamed_addr constant [11 x i8] c"bigint_add\00" +@.str7625 = private unnamed_addr constant [2 x i8] c"a\00" +@.str7626 = private unnamed_addr constant [2 x i8] c"b\00" +@.str7627 = private unnamed_addr constant [4 x i8] c"sub\00" +@.str7628 = private unnamed_addr constant [11 x i8] c"bigint_sub\00" +@.str7629 = private unnamed_addr constant [2 x i8] c"a\00" +@.str7630 = private unnamed_addr constant [2 x i8] c"b\00" +@.str7631 = private unnamed_addr constant [4 x i8] c"mul\00" +@.str7632 = private unnamed_addr constant [11 x i8] c"bigint_mul\00" +@.str7633 = private unnamed_addr constant [2 x i8] c"a\00" +@.str7634 = private unnamed_addr constant [2 x i8] c"b\00" +@.str7635 = private unnamed_addr constant [4 x i8] c"neg\00" +@.str7636 = private unnamed_addr constant [11 x i8] c"bigint_neg\00" +@.str7637 = private unnamed_addr constant [2 x i8] c"a\00" +@.str7638 = private unnamed_addr constant [4 x i8] c"pow\00" +@.str7639 = private unnamed_addr constant [11 x i8] c"bigint_pow\00" +@.str7640 = private unnamed_addr constant [2 x i8] c"a\00" +@.str7641 = private unnamed_addr constant [4 x i8] c"exp\00" +@.str7642 = private unnamed_addr constant [4 x i8] c"div\00" +@.str7643 = private unnamed_addr constant [15 x i8] c"bigint_div_int\00" +@.str7644 = private unnamed_addr constant [2 x i8] c"a\00" +@.str7645 = private unnamed_addr constant [2 x i8] c"d\00" +@.str7646 = private unnamed_addr constant [4 x i8] c"mod\00" +@.str7647 = private unnamed_addr constant [15 x i8] c"bigint_mod_int\00" +@.str7648 = private unnamed_addr constant [2 x i8] c"a\00" +@.str7649 = private unnamed_addr constant [2 x i8] c"d\00" +@.str7650 = private unnamed_addr constant [4 x i8] c"cmp\00" +@.str7651 = private unnamed_addr constant [11 x i8] c"bigint_cmp\00" +@.str7652 = private unnamed_addr constant [2 x i8] c"a\00" +@.str7653 = private unnamed_addr constant [2 x i8] c"b\00" +@.str7654 = private unnamed_addr constant [3 x i8] c"eq\00" +@.str7655 = private unnamed_addr constant [10 x i8] c"bigint_eq\00" +@.str7656 = private unnamed_addr constant [2 x i8] c"a\00" +@.str7657 = private unnamed_addr constant [2 x i8] c"b\00" +@.str7658 = private unnamed_addr constant [8 x i8] c"is_zero\00" +@.str7659 = private unnamed_addr constant [15 x i8] c"bigint_is_zero\00" +@.str7660 = private unnamed_addr constant [2 x i8] c"a\00" +@.str7661 = private unnamed_addr constant [7 x i8] c"to_int\00" +@.str7662 = private unnamed_addr constant [14 x i8] c"bigint_to_int\00" +@.str7663 = private unnamed_addr constant [2 x i8] c"a\00" +@.str7664 = private unnamed_addr constant [4 x i8] c"str\00" +@.str7665 = private unnamed_addr constant [11 x i8] c"bigint_str\00" +@.str7666 = private unnamed_addr constant [2 x i8] c"a\00" +@.str7667 = private unnamed_addr constant [8 x i8] c"Decimal\00" +@.str7668 = private unnamed_addr constant [5 x i8] c"from\00" +@.str7669 = private unnamed_addr constant [13 x i8] c"decimal_from\00" +@.str7670 = private unnamed_addr constant [6 x i8] c"value\00" +@.str7671 = private unnamed_addr constant [6 x i8] c"parse\00" +@.str7672 = private unnamed_addr constant [17 x i8] c"decimal_from_str\00" +@.str7673 = private unnamed_addr constant [5 x i8] c"text\00" +@.str7674 = private unnamed_addr constant [4 x i8] c"add\00" +@.str7675 = private unnamed_addr constant [12 x i8] c"decimal_add\00" +@.str7676 = private unnamed_addr constant [2 x i8] c"a\00" +@.str7677 = private unnamed_addr constant [2 x i8] c"b\00" +@.str7678 = private unnamed_addr constant [4 x i8] c"sub\00" +@.str7679 = private unnamed_addr constant [12 x i8] c"decimal_sub\00" +@.str7680 = private unnamed_addr constant [2 x i8] c"a\00" +@.str7681 = private unnamed_addr constant [2 x i8] c"b\00" +@.str7682 = private unnamed_addr constant [4 x i8] c"mul\00" +@.str7683 = private unnamed_addr constant [12 x i8] c"decimal_mul\00" +@.str7684 = private unnamed_addr constant [2 x i8] c"a\00" +@.str7685 = private unnamed_addr constant [2 x i8] c"b\00" +@.str7686 = private unnamed_addr constant [4 x i8] c"neg\00" +@.str7687 = private unnamed_addr constant [12 x i8] c"decimal_neg\00" +@.str7688 = private unnamed_addr constant [2 x i8] c"a\00" +@.str7689 = private unnamed_addr constant [4 x i8] c"cmp\00" +@.str7690 = private unnamed_addr constant [12 x i8] c"decimal_cmp\00" +@.str7691 = private unnamed_addr constant [2 x i8] c"a\00" +@.str7692 = private unnamed_addr constant [2 x i8] c"b\00" +@.str7693 = private unnamed_addr constant [3 x i8] c"eq\00" +@.str7694 = private unnamed_addr constant [11 x i8] c"decimal_eq\00" +@.str7695 = private unnamed_addr constant [2 x i8] c"a\00" +@.str7696 = private unnamed_addr constant [2 x i8] c"b\00" +@.str7697 = private unnamed_addr constant [6 x i8] c"scale\00" +@.str7698 = private unnamed_addr constant [14 x i8] c"decimal_scale\00" +@.str7699 = private unnamed_addr constant [2 x i8] c"d\00" +@.str7700 = private unnamed_addr constant [8 x i8] c"rescale\00" +@.str7701 = private unnamed_addr constant [16 x i8] c"decimal_rescale\00" +@.str7702 = private unnamed_addr constant [2 x i8] c"d\00" +@.str7703 = private unnamed_addr constant [7 x i8] c"places\00" +@.str7704 = private unnamed_addr constant [4 x i8] c"str\00" +@.str7705 = private unnamed_addr constant [12 x i8] c"decimal_str\00" +@.str7706 = private unnamed_addr constant [2 x i8] c"d\00" +@.str7707 = private unnamed_addr constant [5 x i8] c"Dict\00" +@.str7708 = private unnamed_addr constant [4 x i8] c"new\00" +@.str7709 = private unnamed_addr constant [9 x i8] c"dict_new\00" +@.str7710 = private unnamed_addr constant [4 x i8] c"set\00" +@.str7711 = private unnamed_addr constant [9 x i8] c"dict_set\00" +@.str7712 = private unnamed_addr constant [2 x i8] c"d\00" +@.str7713 = private unnamed_addr constant [4 x i8] c"key\00" +@.str7714 = private unnamed_addr constant [6 x i8] c"value\00" +@.str7715 = private unnamed_addr constant [4 x i8] c"get\00" +@.str7716 = private unnamed_addr constant [9 x i8] c"dict_get\00" +@.str7717 = private unnamed_addr constant [2 x i8] c"d\00" +@.str7718 = private unnamed_addr constant [4 x i8] c"key\00" +@.str7719 = private unnamed_addr constant [7 x i8] c"get_or\00" +@.str7720 = private unnamed_addr constant [12 x i8] c"dict_get_or\00" +@.str7721 = private unnamed_addr constant [2 x i8] c"d\00" +@.str7722 = private unnamed_addr constant [4 x i8] c"key\00" +@.str7723 = private unnamed_addr constant [9 x i8] c"fallback\00" +@.str7724 = private unnamed_addr constant [4 x i8] c"has\00" +@.str7725 = private unnamed_addr constant [9 x i8] c"dict_has\00" +@.str7726 = private unnamed_addr constant [2 x i8] c"d\00" +@.str7727 = private unnamed_addr constant [4 x i8] c"key\00" +@.str7728 = private unnamed_addr constant [7 x i8] c"remove\00" +@.str7729 = private unnamed_addr constant [12 x i8] c"dict_remove\00" +@.str7730 = private unnamed_addr constant [2 x i8] c"d\00" +@.str7731 = private unnamed_addr constant [4 x i8] c"key\00" +@.str7732 = private unnamed_addr constant [5 x i8] c"size\00" +@.str7733 = private unnamed_addr constant [10 x i8] c"dict_size\00" +@.str7734 = private unnamed_addr constant [2 x i8] c"d\00" +@.str7735 = private unnamed_addr constant [6 x i8] c"clear\00" +@.str7736 = private unnamed_addr constant [11 x i8] c"dict_clear\00" +@.str7737 = private unnamed_addr constant [2 x i8] c"d\00" +@.str7738 = private unnamed_addr constant [5 x i8] c"keys\00" +@.str7739 = private unnamed_addr constant [10 x i8] c"dict_keys\00" +@.str7740 = private unnamed_addr constant [2 x i8] c"d\00" +@.str7741 = private unnamed_addr constant [4 x i8] c"Set\00" +@.str7742 = private unnamed_addr constant [4 x i8] c"new\00" +@.str7743 = private unnamed_addr constant [8 x i8] c"set_new\00" +@.str7744 = private unnamed_addr constant [4 x i8] c"add\00" +@.str7745 = private unnamed_addr constant [8 x i8] c"set_add\00" +@.str7746 = private unnamed_addr constant [2 x i8] c"s\00" +@.str7747 = private unnamed_addr constant [4 x i8] c"key\00" +@.str7748 = private unnamed_addr constant [4 x i8] c"has\00" +@.str7749 = private unnamed_addr constant [8 x i8] c"set_has\00" +@.str7750 = private unnamed_addr constant [2 x i8] c"s\00" +@.str7751 = private unnamed_addr constant [4 x i8] c"key\00" +@.str7752 = private unnamed_addr constant [7 x i8] c"remove\00" +@.str7753 = private unnamed_addr constant [11 x i8] c"set_remove\00" +@.str7754 = private unnamed_addr constant [2 x i8] c"s\00" +@.str7755 = private unnamed_addr constant [4 x i8] c"key\00" +@.str7756 = private unnamed_addr constant [5 x i8] c"size\00" +@.str7757 = private unnamed_addr constant [9 x i8] c"set_size\00" +@.str7758 = private unnamed_addr constant [2 x i8] c"s\00" +@.str7759 = private unnamed_addr constant [6 x i8] c"clear\00" +@.str7760 = private unnamed_addr constant [10 x i8] c"set_clear\00" +@.str7761 = private unnamed_addr constant [2 x i8] c"s\00" +@.str7762 = private unnamed_addr constant [8 x i8] c"members\00" +@.str7763 = private unnamed_addr constant [12 x i8] c"set_members\00" +@.str7764 = private unnamed_addr constant [2 x i8] c"s\00" +@.str7765 = private unnamed_addr constant [4 x i8] c"Job\00" +@.str7766 = private unnamed_addr constant [6 x i8] c"defer\00" +@.str7767 = private unnamed_addr constant [10 x i8] c"job_defer\00" +@.str7768 = private unnamed_addr constant [4 x i8] c"run\00" +@.str7769 = private unnamed_addr constant [8 x i8] c"job_run\00" +@.str7770 = private unnamed_addr constant [5 x i8] c"kind\00" +@.str7771 = private unnamed_addr constant [4 x i8] c"arg\00" +@.str7772 = private unnamed_addr constant [8 x i8] c"fulfill\00" +@.str7773 = private unnamed_addr constant [12 x i8] c"job_fulfill\00" +@.str7774 = private unnamed_addr constant [7 x i8] c"handle\00" +@.str7775 = private unnamed_addr constant [6 x i8] c"value\00" +@.str7776 = private unnamed_addr constant [5 x i8] c"fail\00" +@.str7777 = private unnamed_addr constant [9 x i8] c"job_fail\00" +@.str7778 = private unnamed_addr constant [7 x i8] c"handle\00" +@.str7779 = private unnamed_addr constant [6 x i8] c"error\00" +@.str7780 = private unnamed_addr constant [7 x i8] c"cancel\00" +@.str7781 = private unnamed_addr constant [11 x i8] c"job_cancel\00" +@.str7782 = private unnamed_addr constant [7 x i8] c"handle\00" +@.str7783 = private unnamed_addr constant [5 x i8] c"pump\00" +@.str7784 = private unnamed_addr constant [9 x i8] c"job_pump\00" +@.str7785 = private unnamed_addr constant [7 x i8] c"budget\00" +@.str7786 = private unnamed_addr constant [5 x i8] c"done\00" +@.str7787 = private unnamed_addr constant [9 x i8] c"job_done\00" +@.str7788 = private unnamed_addr constant [7 x i8] c"handle\00" +@.str7789 = private unnamed_addr constant [3 x i8] c"ok\00" +@.str7790 = private unnamed_addr constant [7 x i8] c"job_ok\00" +@.str7791 = private unnamed_addr constant [7 x i8] c"handle\00" +@.str7792 = private unnamed_addr constant [7 x i8] c"failed\00" +@.str7793 = private unnamed_addr constant [11 x i8] c"job_failed\00" +@.str7794 = private unnamed_addr constant [7 x i8] c"handle\00" +@.str7795 = private unnamed_addr constant [10 x i8] c"cancelled\00" +@.str7796 = private unnamed_addr constant [14 x i8] c"job_cancelled\00" +@.str7797 = private unnamed_addr constant [7 x i8] c"handle\00" +@.str7798 = private unnamed_addr constant [7 x i8] c"result\00" +@.str7799 = private unnamed_addr constant [11 x i8] c"job_result\00" +@.str7800 = private unnamed_addr constant [7 x i8] c"handle\00" +@.str7801 = private unnamed_addr constant [6 x i8] c"error\00" +@.str7802 = private unnamed_addr constant [10 x i8] c"job_error\00" +@.str7803 = private unnamed_addr constant [7 x i8] c"handle\00" +@.str7804 = private unnamed_addr constant [8 x i8] c"pending\00" +@.str7805 = private unnamed_addr constant [12 x i8] c"job_pending\00" +@.str7806 = private unnamed_addr constant [5 x i8] c"free\00" +@.str7807 = private unnamed_addr constant [9 x i8] c"job_free\00" +@.str7808 = private unnamed_addr constant [7 x i8] c"handle\00" +@.str7809 = private unnamed_addr constant [8 x i8] c"Promise\00" +@.str7810 = private unnamed_addr constant [4 x i8] c"all\00" +@.str7811 = private unnamed_addr constant [9 x i8] c"prom_all\00" +@.str7812 = private unnamed_addr constant [8 x i8] c"handles\00" +@.str7813 = private unnamed_addr constant [5 x i8] c"race\00" +@.str7814 = private unnamed_addr constant [10 x i8] c"prom_race\00" +@.str7815 = private unnamed_addr constant [8 x i8] c"handles\00" +@.str7816 = private unnamed_addr constant [11 x i8] c"count_done\00" +@.str7817 = private unnamed_addr constant [16 x i8] c"prom_count_done\00" +@.str7818 = private unnamed_addr constant [8 x i8] c"handles\00" +@.str7819 = private unnamed_addr constant [9 x i8] c"all_done\00" +@.str7820 = private unnamed_addr constant [14 x i8] c"prom_all_done\00" +@.str7821 = private unnamed_addr constant [8 x i8] c"handles\00" +@.str7822 = private unnamed_addr constant [5 x i8] c"Sync\00" +@.str7823 = private unnamed_addr constant [6 x i8] c"mutex\00" +@.str7824 = private unnamed_addr constant [11 x i8] c"sync_mutex\00" +@.str7825 = private unnamed_addr constant [5 x i8] c"lock\00" +@.str7826 = private unnamed_addr constant [10 x i8] c"sync_lock\00" +@.str7827 = private unnamed_addr constant [6 x i8] c"mutex\00" +@.str7828 = private unnamed_addr constant [7 x i8] c"unlock\00" +@.str7829 = private unnamed_addr constant [12 x i8] c"sync_unlock\00" +@.str7830 = private unnamed_addr constant [6 x i8] c"mutex\00" +@.str7831 = private unnamed_addr constant [9 x i8] c"try_lock\00" +@.str7832 = private unnamed_addr constant [14 x i8] c"sync_try_lock\00" +@.str7833 = private unnamed_addr constant [6 x i8] c"mutex\00" +@.str7834 = private unnamed_addr constant [7 x i8] c"atomic\00" +@.str7835 = private unnamed_addr constant [12 x i8] c"sync_atomic\00" +@.str7836 = private unnamed_addr constant [4 x i8] c"get\00" +@.str7837 = private unnamed_addr constant [9 x i8] c"sync_get\00" +@.str7838 = private unnamed_addr constant [7 x i8] c"atomic\00" +@.str7839 = private unnamed_addr constant [4 x i8] c"set\00" +@.str7840 = private unnamed_addr constant [9 x i8] c"sync_set\00" +@.str7841 = private unnamed_addr constant [7 x i8] c"atomic\00" +@.str7842 = private unnamed_addr constant [6 x i8] c"value\00" +@.str7843 = private unnamed_addr constant [4 x i8] c"add\00" +@.str7844 = private unnamed_addr constant [9 x i8] c"sync_add\00" +@.str7845 = private unnamed_addr constant [7 x i8] c"atomic\00" +@.str7846 = private unnamed_addr constant [6 x i8] c"delta\00" +@.str7847 = private unnamed_addr constant [4 x i8] c"cas\00" +@.str7848 = private unnamed_addr constant [9 x i8] c"sync_cas\00" +@.str7849 = private unnamed_addr constant [7 x i8] c"atomic\00" +@.str7850 = private unnamed_addr constant [7 x i8] c"expect\00" +@.str7851 = private unnamed_addr constant [5 x i8] c"next\00" +@.str7852 = private unnamed_addr constant [8 x i8] c"channel\00" +@.str7853 = private unnamed_addr constant [13 x i8] c"sync_channel\00" +@.str7854 = private unnamed_addr constant [5 x i8] c"send\00" +@.str7855 = private unnamed_addr constant [10 x i8] c"sync_send\00" +@.str7856 = private unnamed_addr constant [8 x i8] c"channel\00" +@.str7857 = private unnamed_addr constant [6 x i8] c"value\00" +@.str7858 = private unnamed_addr constant [5 x i8] c"recv\00" +@.str7859 = private unnamed_addr constant [10 x i8] c"sync_recv\00" +@.str7860 = private unnamed_addr constant [8 x i8] c"channel\00" +@.str7861 = private unnamed_addr constant [9 x i8] c"can_recv\00" +@.str7862 = private unnamed_addr constant [14 x i8] c"sync_can_recv\00" +@.str7863 = private unnamed_addr constant [8 x i8] c"channel\00" +@.str7864 = private unnamed_addr constant [4 x i8] c"len\00" +@.str7865 = private unnamed_addr constant [9 x i8] c"sync_len\00" +@.str7866 = private unnamed_addr constant [8 x i8] c"channel\00" +@.str7867 = private unnamed_addr constant [10 x i8] c"cpu_count\00" +@.str7868 = private unnamed_addr constant [15 x i8] c"sync_cpu_count\00" +@.str7869 = private unnamed_addr constant [5 x i8] c"Huge\00" +@.str7870 = private unnamed_addr constant [5 x i8] c"from\00" +@.str7871 = private unnamed_addr constant [10 x i8] c"huge_from\00" +@.str7872 = private unnamed_addr constant [6 x i8] c"value\00" +@.str7873 = private unnamed_addr constant [4 x i8] c"add\00" +@.str7874 = private unnamed_addr constant [9 x i8] c"huge_add\00" +@.str7875 = private unnamed_addr constant [2 x i8] c"a\00" +@.str7876 = private unnamed_addr constant [2 x i8] c"b\00" +@.str7877 = private unnamed_addr constant [4 x i8] c"sub\00" +@.str7878 = private unnamed_addr constant [9 x i8] c"huge_sub\00" +@.str7879 = private unnamed_addr constant [2 x i8] c"a\00" +@.str7880 = private unnamed_addr constant [2 x i8] c"b\00" +@.str7881 = private unnamed_addr constant [4 x i8] c"mul\00" +@.str7882 = private unnamed_addr constant [9 x i8] c"huge_mul\00" +@.str7883 = private unnamed_addr constant [2 x i8] c"a\00" +@.str7884 = private unnamed_addr constant [2 x i8] c"b\00" +@.str7885 = private unnamed_addr constant [4 x i8] c"neg\00" +@.str7886 = private unnamed_addr constant [9 x i8] c"huge_neg\00" +@.str7887 = private unnamed_addr constant [2 x i8] c"a\00" +@.str7888 = private unnamed_addr constant [4 x i8] c"cmp\00" +@.str7889 = private unnamed_addr constant [9 x i8] c"huge_cmp\00" +@.str7890 = private unnamed_addr constant [2 x i8] c"a\00" +@.str7891 = private unnamed_addr constant [2 x i8] c"b\00" +@.str7892 = private unnamed_addr constant [5 x i8] c"sign\00" +@.str7893 = private unnamed_addr constant [10 x i8] c"huge_sign\00" +@.str7894 = private unnamed_addr constant [2 x i8] c"a\00" +@.str7895 = private unnamed_addr constant [9 x i8] c"mantissa\00" +@.str7896 = private unnamed_addr constant [14 x i8] c"huge_mantissa\00" +@.str7897 = private unnamed_addr constant [2 x i8] c"a\00" +@.str7898 = private unnamed_addr constant [4 x i8] c"exp\00" +@.str7899 = private unnamed_addr constant [9 x i8] c"huge_exp\00" +@.str7900 = private unnamed_addr constant [2 x i8] c"a\00" +@.str7901 = private unnamed_addr constant [4 x i8] c"str\00" +@.str7902 = private unnamed_addr constant [9 x i8] c"huge_str\00" +@.str7903 = private unnamed_addr constant [2 x i8] c"a\00" +@.str7904 = private unnamed_addr constant [6 x i8] c"Angle\00" +@.str7905 = private unnamed_addr constant [13 x i8] c"from_degrees\00" +@.str7906 = private unnamed_addr constant [19 x i8] c"angle_from_degrees\00" +@.str7907 = private unnamed_addr constant [2 x i8] c"d\00" +@.str7908 = private unnamed_addr constant [11 x i8] c"to_degrees\00" +@.str7909 = private unnamed_addr constant [17 x i8] c"angle_to_degrees\00" +@.str7910 = private unnamed_addr constant [2 x i8] c"a\00" +@.str7911 = private unnamed_addr constant [5 x i8] c"wrap\00" +@.str7912 = private unnamed_addr constant [11 x i8] c"angle_wrap\00" +@.str7913 = private unnamed_addr constant [2 x i8] c"a\00" +@.str7914 = private unnamed_addr constant [4 x i8] c"sin\00" +@.str7915 = private unnamed_addr constant [10 x i8] c"angle_sin\00" +@.str7916 = private unnamed_addr constant [2 x i8] c"a\00" +@.str7917 = private unnamed_addr constant [4 x i8] c"cos\00" +@.str7918 = private unnamed_addr constant [10 x i8] c"angle_cos\00" +@.str7919 = private unnamed_addr constant [2 x i8] c"a\00" +@.str7920 = private unnamed_addr constant [4 x i8] c"add\00" +@.str7921 = private unnamed_addr constant [10 x i8] c"angle_add\00" +@.str7922 = private unnamed_addr constant [2 x i8] c"a\00" +@.str7923 = private unnamed_addr constant [2 x i8] c"b\00" +@.str7924 = private unnamed_addr constant [5 x i8] c"diff\00" +@.str7925 = private unnamed_addr constant [11 x i8] c"angle_diff\00" +@.str7926 = private unnamed_addr constant [2 x i8] c"a\00" +@.str7927 = private unnamed_addr constant [2 x i8] c"b\00" +@.str7928 = private unnamed_addr constant [13 x i8] c"diff_degrees\00" +@.str7929 = private unnamed_addr constant [19 x i8] c"angle_diff_degrees\00" +@.str7930 = private unnamed_addr constant [2 x i8] c"a\00" +@.str7931 = private unnamed_addr constant [2 x i8] c"b\00" +@.str7932 = private unnamed_addr constant [5 x i8] c"lerp\00" +@.str7933 = private unnamed_addr constant [11 x i8] c"angle_lerp\00" +@.str7934 = private unnamed_addr constant [2 x i8] c"a\00" +@.str7935 = private unnamed_addr constant [2 x i8] c"b\00" +@.str7936 = private unnamed_addr constant [2 x i8] c"t\00" +@.str7937 = private unnamed_addr constant [8 x i8] c"Percent\00" +@.str7938 = private unnamed_addr constant [6 x i8] c"clamp\00" +@.str7939 = private unnamed_addr constant [14 x i8] c"percent_clamp\00" +@.str7940 = private unnamed_addr constant [2 x i8] c"v\00" +@.str7941 = private unnamed_addr constant [3 x i8] c"of\00" +@.str7942 = private unnamed_addr constant [11 x i8] c"percent_of\00" +@.str7943 = private unnamed_addr constant [4 x i8] c"num\00" +@.str7944 = private unnamed_addr constant [4 x i8] c"den\00" +@.str7945 = private unnamed_addr constant [5 x i8] c"lerp\00" +@.str7946 = private unnamed_addr constant [13 x i8] c"percent_lerp\00" +@.str7947 = private unnamed_addr constant [2 x i8] c"a\00" +@.str7948 = private unnamed_addr constant [2 x i8] c"b\00" +@.str7949 = private unnamed_addr constant [2 x i8] c"t\00" +@.str7950 = private unnamed_addr constant [6 x i8] c"apply\00" +@.str7951 = private unnamed_addr constant [14 x i8] c"percent_apply\00" +@.str7952 = private unnamed_addr constant [6 x i8] c"value\00" +@.str7953 = private unnamed_addr constant [2 x i8] c"p\00" +@.str7954 = private unnamed_addr constant [5 x i8] c"Grid\00" +@.str7955 = private unnamed_addr constant [5 x i8] c"line\00" +@.str7956 = private unnamed_addr constant [10 x i8] c"grid_line\00" +@.str7957 = private unnamed_addr constant [3 x i8] c"x0\00" +@.str7958 = private unnamed_addr constant [3 x i8] c"y0\00" +@.str7959 = private unnamed_addr constant [3 x i8] c"x1\00" +@.str7960 = private unnamed_addr constant [3 x i8] c"y1\00" +@.str7961 = private unnamed_addr constant [8 x i8] c"blocked\00" +@.str7962 = private unnamed_addr constant [13 x i8] c"grid_blocked\00" +@.str7963 = private unnamed_addr constant [2 x i8] c"x\00" +@.str7964 = private unnamed_addr constant [2 x i8] c"y\00" +@.str7965 = private unnamed_addr constant [5 x i8] c"wall\00" +@.str7966 = private unnamed_addr constant [14 x i8] c"line_of_sight\00" +@.str7967 = private unnamed_addr constant [19 x i8] c"grid_line_of_sight\00" +@.str7968 = private unnamed_addr constant [3 x i8] c"x0\00" +@.str7969 = private unnamed_addr constant [3 x i8] c"y0\00" +@.str7970 = private unnamed_addr constant [3 x i8] c"x1\00" +@.str7971 = private unnamed_addr constant [3 x i8] c"y1\00" +@.str7972 = private unnamed_addr constant [5 x i8] c"wall\00" +@.str7973 = private unnamed_addr constant [6 x i8] c"flood\00" +@.str7974 = private unnamed_addr constant [11 x i8] c"grid_flood\00" +@.str7975 = private unnamed_addr constant [2 x i8] c"x\00" +@.str7976 = private unnamed_addr constant [2 x i8] c"y\00" +@.str7977 = private unnamed_addr constant [5 x i8] c"wall\00" +@.str7978 = private unnamed_addr constant [7 x i8] c"a_star\00" +@.str7979 = private unnamed_addr constant [12 x i8] c"path_a_star\00" +@.str7980 = private unnamed_addr constant [3 x i8] c"x0\00" +@.str7981 = private unnamed_addr constant [3 x i8] c"y0\00" +@.str7982 = private unnamed_addr constant [3 x i8] c"x1\00" +@.str7983 = private unnamed_addr constant [3 x i8] c"y1\00" +@.str7984 = private unnamed_addr constant [5 x i8] c"wall\00" +@.str7985 = private unnamed_addr constant [6 x i8] c"Light\00" +@.str7986 = private unnamed_addr constant [8 x i8] c"ambient\00" +@.str7987 = private unnamed_addr constant [14 x i8] c"light_ambient\00" +@.str7988 = private unnamed_addr constant [6 x i8] c"color\00" +@.str7989 = private unnamed_addr constant [6 x i8] c"point\00" +@.str7990 = private unnamed_addr constant [12 x i8] c"light_point\00" +@.str7991 = private unnamed_addr constant [2 x i8] c"x\00" +@.str7992 = private unnamed_addr constant [2 x i8] c"y\00" +@.str7993 = private unnamed_addr constant [7 x i8] c"radius\00" +@.str7994 = private unnamed_addr constant [6 x i8] c"color\00" +@.str7995 = private unnamed_addr constant [7 x i8] c"energy\00" +@.str7996 = private unnamed_addr constant [5 x i8] c"spot\00" +@.str7997 = private unnamed_addr constant [11 x i8] c"light_spot\00" +@.str7998 = private unnamed_addr constant [2 x i8] c"x\00" +@.str7999 = private unnamed_addr constant [2 x i8] c"y\00" +@.str8000 = private unnamed_addr constant [7 x i8] c"radius\00" +@.str8001 = private unnamed_addr constant [6 x i8] c"color\00" +@.str8002 = private unnamed_addr constant [7 x i8] c"energy\00" +@.str8003 = private unnamed_addr constant [10 x i8] c"direction\00" +@.str8004 = private unnamed_addr constant [7 x i8] c"spread\00" +@.str8005 = private unnamed_addr constant [8 x i8] c"occlude\00" +@.str8006 = private unnamed_addr constant [14 x i8] c"light_occlude\00" +@.str8007 = private unnamed_addr constant [2 x i8] c"x\00" +@.str8008 = private unnamed_addr constant [2 x i8] c"y\00" +@.str8009 = private unnamed_addr constant [6 x i8] c"width\00" +@.str8010 = private unnamed_addr constant [7 x i8] c"height\00" +@.str8011 = private unnamed_addr constant [16 x i8] c"clear_occluders\00" +@.str8012 = private unnamed_addr constant [22 x i8] c"light_clear_occluders\00" +@.str8013 = private unnamed_addr constant [8 x i8] c"falloff\00" +@.str8014 = private unnamed_addr constant [18 x i8] c"light_set_falloff\00" +@.str8015 = private unnamed_addr constant [9 x i8] c"exponent\00" +@.str8016 = private unnamed_addr constant [5 x i8] c"soft\00" +@.str8017 = private unnamed_addr constant [15 x i8] c"light_set_soft\00" +@.str8018 = private unnamed_addr constant [7 x i8] c"radius\00" +@.str8019 = private unnamed_addr constant [4 x i8] c"gel\00" +@.str8020 = private unnamed_addr constant [14 x i8] c"light_set_gel\00" +@.str8021 = private unnamed_addr constant [6 x i8] c"color\00" +@.str8022 = private unnamed_addr constant [10 x i8] c"clear_gel\00" +@.str8023 = private unnamed_addr constant [16 x i8] c"light_clear_gel\00" +@.str8024 = private unnamed_addr constant [7 x i8] c"height\00" +@.str8025 = private unnamed_addr constant [17 x i8] c"light_set_height\00" +@.str8026 = private unnamed_addr constant [7 x i8] c"height\00" +@.str8027 = private unnamed_addr constant [7 x i8] c"normal\00" +@.str8028 = private unnamed_addr constant [18 x i8] c"light_normal_rect\00" +@.str8029 = private unnamed_addr constant [2 x i8] c"x\00" +@.str8030 = private unnamed_addr constant [2 x i8] c"y\00" +@.str8031 = private unnamed_addr constant [6 x i8] c"width\00" +@.str8032 = private unnamed_addr constant [7 x i8] c"height\00" +@.str8033 = private unnamed_addr constant [3 x i8] c"nx\00" +@.str8034 = private unnamed_addr constant [3 x i8] c"ny\00" +@.str8035 = private unnamed_addr constant [14 x i8] c"clear_normals\00" +@.str8036 = private unnamed_addr constant [20 x i8] c"light_clear_normals\00" +@.str8037 = private unnamed_addr constant [12 x i8] c"time_of_day\00" +@.str8038 = private unnamed_addr constant [18 x i8] c"light_time_of_day\00" +@.str8039 = private unnamed_addr constant [2 x i8] c"t\00" +@.str8040 = private unnamed_addr constant [5 x i8] c"Anim\00" +@.str8041 = private unnamed_addr constant [5 x i8] c"clip\00" +@.str8042 = private unnamed_addr constant [10 x i8] c"anim_clip\00" +@.str8043 = private unnamed_addr constant [5 x i8] c"name\00" +@.str8044 = private unnamed_addr constant [7 x i8] c"frames\00" +@.str8045 = private unnamed_addr constant [4 x i8] c"fps\00" +@.str8046 = private unnamed_addr constant [5 x i8] c"mode\00" +@.str8047 = private unnamed_addr constant [9 x i8] c"on_frame\00" +@.str8048 = private unnamed_addr constant [14 x i8] c"anim_on_frame\00" +@.str8049 = private unnamed_addr constant [7 x i8] c"entity\00" +@.str8050 = private unnamed_addr constant [6 x i8] c"frame\00" +@.str8051 = private unnamed_addr constant [6 x i8] c"fired\00" +@.str8052 = private unnamed_addr constant [11 x i8] c"anim_fired\00" +@.str8053 = private unnamed_addr constant [7 x i8] c"entity\00" +@.str8054 = private unnamed_addr constant [5 x i8] c"play\00" +@.str8055 = private unnamed_addr constant [16 x i8] c"anim_play_named\00" +@.str8056 = private unnamed_addr constant [7 x i8] c"entity\00" +@.str8057 = private unnamed_addr constant [5 x i8] c"clip\00" +@.str8058 = private unnamed_addr constant [10 x i8] c"anim_play\00" +@.str8059 = private unnamed_addr constant [7 x i8] c"entity\00" +@.str8060 = private unnamed_addr constant [4 x i8] c"fps\00" +@.str8061 = private unnamed_addr constant [7 x i8] c"frames\00" +@.str8062 = private unnamed_addr constant [5 x i8] c"mode\00" +@.str8063 = private unnamed_addr constant [7 x i8] c"Motion\00" +@.str8064 = private unnamed_addr constant [3 x i8] c"to\00" +@.str8065 = private unnamed_addr constant [10 x i8] c"motion_to\00" +@.str8066 = private unnamed_addr constant [7 x i8] c"entity\00" +@.str8067 = private unnamed_addr constant [5 x i8] c"from\00" +@.str8068 = private unnamed_addr constant [3 x i8] c"to\00" +@.str8069 = private unnamed_addr constant [4 x i8] c"dur\00" +@.str8070 = private unnamed_addr constant [5 x i8] c"ease\00" +@.str8071 = private unnamed_addr constant [6 x i8] c"Tween\00" +@.str8072 = private unnamed_addr constant [3 x i8] c"to\00" +@.str8073 = private unnamed_addr constant [9 x i8] c"tween_to\00" +@.str8074 = private unnamed_addr constant [5 x i8] c"from\00" +@.str8075 = private unnamed_addr constant [3 x i8] c"to\00" +@.str8076 = private unnamed_addr constant [4 x i8] c"dur\00" +@.str8077 = private unnamed_addr constant [5 x i8] c"ease\00" +@.str8078 = private unnamed_addr constant [6 x i8] c"chain\00" +@.str8079 = private unnamed_addr constant [12 x i8] c"tween_chain\00" +@.str8080 = private unnamed_addr constant [7 x i8] c"handle\00" +@.str8081 = private unnamed_addr constant [3 x i8] c"to\00" +@.str8082 = private unnamed_addr constant [4 x i8] c"dur\00" +@.str8083 = private unnamed_addr constant [5 x i8] c"ease\00" +@.str8084 = private unnamed_addr constant [6 x i8] c"delay\00" +@.str8085 = private unnamed_addr constant [12 x i8] c"tween_delay\00" +@.str8086 = private unnamed_addr constant [7 x i8] c"handle\00" +@.str8087 = private unnamed_addr constant [6 x i8] c"ticks\00" +@.str8088 = private unnamed_addr constant [6 x i8] c"value\00" +@.str8089 = private unnamed_addr constant [12 x i8] c"tween_value\00" +@.str8090 = private unnamed_addr constant [7 x i8] c"handle\00" +@.str8091 = private unnamed_addr constant [5 x i8] c"stop\00" +@.str8092 = private unnamed_addr constant [11 x i8] c"tween_stop\00" +@.str8093 = private unnamed_addr constant [7 x i8] c"handle\00" +@.str8094 = private unnamed_addr constant [9 x i8] c"parallel\00" +@.str8095 = private unnamed_addr constant [15 x i8] c"tween_parallel\00" +@.str8096 = private unnamed_addr constant [2 x i8] c"a\00" +@.str8097 = private unnamed_addr constant [2 x i8] c"b\00" +@.str8098 = private unnamed_addr constant [6 x i8] c"Query\00" +@.str8099 = private unnamed_addr constant [6 x i8] c"count\00" +@.str8100 = private unnamed_addr constant [12 x i8] c"query_count\00" +@.str8101 = private unnamed_addr constant [5 x i8] c"prop\00" +@.str8102 = private unnamed_addr constant [6 x i8] c"first\00" +@.str8103 = private unnamed_addr constant [12 x i8] c"query_first\00" +@.str8104 = private unnamed_addr constant [5 x i8] c"prop\00" +@.str8105 = private unnamed_addr constant [8 x i8] c"nearest\00" +@.str8106 = private unnamed_addr constant [14 x i8] c"query_nearest\00" +@.str8107 = private unnamed_addr constant [5 x i8] c"prop\00" +@.str8108 = private unnamed_addr constant [4 x i8] c"pos\00" +@.str8109 = private unnamed_addr constant [8 x i8] c"x_field\00" +@.str8110 = private unnamed_addr constant [8 x i8] c"y_field\00" +@.str8111 = private unnamed_addr constant [2 x i8] c"x\00" +@.str8112 = private unnamed_addr constant [2 x i8] c"y\00" +@.str8113 = private unnamed_addr constant [7 x i8] c"within\00" +@.str8114 = private unnamed_addr constant [13 x i8] c"query_within\00" +@.str8115 = private unnamed_addr constant [5 x i8] c"prop\00" +@.str8116 = private unnamed_addr constant [4 x i8] c"pos\00" +@.str8117 = private unnamed_addr constant [2 x i8] c"x\00" +@.str8118 = private unnamed_addr constant [2 x i8] c"y\00" +@.str8119 = private unnamed_addr constant [7 x i8] c"radius\00" +@.str8120 = private unnamed_addr constant [8 x i8] c"x_field\00" +@.str8121 = private unnamed_addr constant [8 x i8] c"y_field\00" +@.str8122 = private unnamed_addr constant [8 x i8] c"Reflect\00" +@.str8123 = private unnamed_addr constant [5 x i8] c"prop\00" +@.str8124 = private unnamed_addr constant [14 x i8] c"world_prop_id\00" +@.str8125 = private unnamed_addr constant [5 x i8] c"name\00" +@.str8126 = private unnamed_addr constant [6 x i8] c"field\00" +@.str8127 = private unnamed_addr constant [15 x i8] c"world_field_id\00" +@.str8128 = private unnamed_addr constant [5 x i8] c"prop\00" +@.str8129 = private unnamed_addr constant [5 x i8] c"name\00" +@.str8130 = private unnamed_addr constant [11 x i8] c"prop_count\00" +@.str8131 = private unnamed_addr constant [17 x i8] c"world_prop_count\00" +@.str8132 = private unnamed_addr constant [10 x i8] c"prop_name\00" +@.str8133 = private unnamed_addr constant [16 x i8] c"world_prop_name\00" +@.str8134 = private unnamed_addr constant [6 x i8] c"index\00" +@.str8135 = private unnamed_addr constant [12 x i8] c"field_count\00" +@.str8136 = private unnamed_addr constant [18 x i8] c"world_field_count\00" +@.str8137 = private unnamed_addr constant [5 x i8] c"prop\00" +@.str8138 = private unnamed_addr constant [11 x i8] c"field_name\00" +@.str8139 = private unnamed_addr constant [17 x i8] c"world_field_name\00" +@.str8140 = private unnamed_addr constant [5 x i8] c"prop\00" +@.str8141 = private unnamed_addr constant [6 x i8] c"index\00" +@.str8142 = private unnamed_addr constant [11 x i8] c"field_type\00" +@.str8143 = private unnamed_addr constant [17 x i8] c"world_field_type\00" +@.str8144 = private unnamed_addr constant [5 x i8] c"prop\00" +@.str8145 = private unnamed_addr constant [6 x i8] c"index\00" +@.str8146 = private unnamed_addr constant [4 x i8] c"get\00" +@.str8147 = private unnamed_addr constant [10 x i8] c"world_get\00" +@.str8148 = private unnamed_addr constant [7 x i8] c"entity\00" +@.str8149 = private unnamed_addr constant [5 x i8] c"prop\00" +@.str8150 = private unnamed_addr constant [6 x i8] c"field\00" +@.str8151 = private unnamed_addr constant [4 x i8] c"set\00" +@.str8152 = private unnamed_addr constant [10 x i8] c"world_set\00" +@.str8153 = private unnamed_addr constant [7 x i8] c"entity\00" +@.str8154 = private unnamed_addr constant [5 x i8] c"prop\00" +@.str8155 = private unnamed_addr constant [6 x i8] c"field\00" +@.str8156 = private unnamed_addr constant [6 x i8] c"value\00" +@.str8157 = private unnamed_addr constant [4 x i8] c"has\00" +@.str8158 = private unnamed_addr constant [10 x i8] c"world_has\00" +@.str8159 = private unnamed_addr constant [7 x i8] c"entity\00" +@.str8160 = private unnamed_addr constant [5 x i8] c"prop\00" +@.str8161 = private unnamed_addr constant [5 x i8] c"kind\00" +@.str8162 = private unnamed_addr constant [11 x i8] c"world_kind\00" +@.str8163 = private unnamed_addr constant [7 x i8] c"entity\00" +@.str8164 = private unnamed_addr constant [6 x i8] c"model\00" +@.str8165 = private unnamed_addr constant [15 x i8] c"world_model_id\00" +@.str8166 = private unnamed_addr constant [5 x i8] c"name\00" +@.str8167 = private unnamed_addr constant [10 x i8] c"serialize\00" +@.str8168 = private unnamed_addr constant [18 x i8] c"reflect_serialize\00" +@.str8169 = private unnamed_addr constant [7 x i8] c"entity\00" +@.str8170 = private unnamed_addr constant [6 x i8] c"apply\00" +@.str8171 = private unnamed_addr constant [14 x i8] c"reflect_apply\00" +@.str8172 = private unnamed_addr constant [7 x i8] c"entity\00" +@.str8173 = private unnamed_addr constant [6 x i8] c"value\00" +@.str8174 = private unnamed_addr constant [6 x i8] c"Value\00" +@.str8175 = private unnamed_addr constant [5 x i8] c"null\00" +@.str8176 = private unnamed_addr constant [11 x i8] c"value_null\00" +@.str8177 = private unnamed_addr constant [4 x i8] c"int\00" +@.str8178 = private unnamed_addr constant [10 x i8] c"value_int\00" +@.str8179 = private unnamed_addr constant [2 x i8] c"n\00" +@.str8180 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str8181 = private unnamed_addr constant [12 x i8] c"value_fixed\00" +@.str8182 = private unnamed_addr constant [2 x i8] c"f\00" +@.str8183 = private unnamed_addr constant [5 x i8] c"bool\00" +@.str8184 = private unnamed_addr constant [11 x i8] c"value_bool\00" +@.str8185 = private unnamed_addr constant [2 x i8] c"b\00" +@.str8186 = private unnamed_addr constant [4 x i8] c"str\00" +@.str8187 = private unnamed_addr constant [10 x i8] c"value_str\00" +@.str8188 = private unnamed_addr constant [2 x i8] c"s\00" +@.str8189 = private unnamed_addr constant [5 x i8] c"list\00" +@.str8190 = private unnamed_addr constant [11 x i8] c"value_list\00" +@.str8191 = private unnamed_addr constant [7 x i8] c"object\00" +@.str8192 = private unnamed_addr constant [13 x i8] c"value_object\00" +@.str8193 = private unnamed_addr constant [4 x i8] c"add\00" +@.str8194 = private unnamed_addr constant [10 x i8] c"value_add\00" +@.str8195 = private unnamed_addr constant [5 x i8] c"list\00" +@.str8196 = private unnamed_addr constant [5 x i8] c"item\00" +@.str8197 = private unnamed_addr constant [4 x i8] c"put\00" +@.str8198 = private unnamed_addr constant [10 x i8] c"value_put\00" +@.str8199 = private unnamed_addr constant [4 x i8] c"obj\00" +@.str8200 = private unnamed_addr constant [4 x i8] c"key\00" +@.str8201 = private unnamed_addr constant [5 x i8] c"item\00" +@.str8202 = private unnamed_addr constant [4 x i8] c"get\00" +@.str8203 = private unnamed_addr constant [10 x i8] c"value_get\00" +@.str8204 = private unnamed_addr constant [4 x i8] c"obj\00" +@.str8205 = private unnamed_addr constant [4 x i8] c"key\00" +@.str8206 = private unnamed_addr constant [4 x i8] c"has\00" +@.str8207 = private unnamed_addr constant [10 x i8] c"value_has\00" +@.str8208 = private unnamed_addr constant [4 x i8] c"obj\00" +@.str8209 = private unnamed_addr constant [4 x i8] c"key\00" +@.str8210 = private unnamed_addr constant [3 x i8] c"at\00" +@.str8211 = private unnamed_addr constant [9 x i8] c"value_at\00" +@.str8212 = private unnamed_addr constant [5 x i8] c"list\00" +@.str8213 = private unnamed_addr constant [6 x i8] c"index\00" +@.str8214 = private unnamed_addr constant [7 x i8] c"key_at\00" +@.str8215 = private unnamed_addr constant [13 x i8] c"value_key_at\00" +@.str8216 = private unnamed_addr constant [4 x i8] c"obj\00" +@.str8217 = private unnamed_addr constant [6 x i8] c"index\00" +@.str8218 = private unnamed_addr constant [6 x i8] c"count\00" +@.str8219 = private unnamed_addr constant [12 x i8] c"value_count\00" +@.str8220 = private unnamed_addr constant [6 x i8] c"value\00" +@.str8221 = private unnamed_addr constant [5 x i8] c"kind\00" +@.str8222 = private unnamed_addr constant [11 x i8] c"value_kind\00" +@.str8223 = private unnamed_addr constant [6 x i8] c"value\00" +@.str8224 = private unnamed_addr constant [7 x i8] c"as_int\00" +@.str8225 = private unnamed_addr constant [13 x i8] c"value_as_int\00" +@.str8226 = private unnamed_addr constant [6 x i8] c"value\00" +@.str8227 = private unnamed_addr constant [7 x i8] c"as_str\00" +@.str8228 = private unnamed_addr constant [13 x i8] c"value_as_str\00" +@.str8229 = private unnamed_addr constant [6 x i8] c"value\00" +@.str8230 = private unnamed_addr constant [5 x i8] c"Json\00" +@.str8231 = private unnamed_addr constant [7 x i8] c"encode\00" +@.str8232 = private unnamed_addr constant [12 x i8] c"json_encode\00" +@.str8233 = private unnamed_addr constant [6 x i8] c"value\00" +@.str8234 = private unnamed_addr constant [6 x i8] c"parse\00" +@.str8235 = private unnamed_addr constant [11 x i8] c"json_parse\00" +@.str8236 = private unnamed_addr constant [5 x i8] c"text\00" +@.str8237 = private unnamed_addr constant [4 x i8] c"Xml\00" +@.str8238 = private unnamed_addr constant [6 x i8] c"parse\00" +@.str8239 = private unnamed_addr constant [10 x i8] c"xml_parse\00" +@.str8240 = private unnamed_addr constant [5 x i8] c"text\00" +@.str8241 = private unnamed_addr constant [4 x i8] c"tag\00" +@.str8242 = private unnamed_addr constant [8 x i8] c"xml_tag\00" +@.str8243 = private unnamed_addr constant [5 x i8] c"node\00" +@.str8244 = private unnamed_addr constant [5 x i8] c"text\00" +@.str8245 = private unnamed_addr constant [9 x i8] c"xml_text\00" +@.str8246 = private unnamed_addr constant [5 x i8] c"node\00" +@.str8247 = private unnamed_addr constant [5 x i8] c"attr\00" +@.str8248 = private unnamed_addr constant [9 x i8] c"xml_attr\00" +@.str8249 = private unnamed_addr constant [5 x i8] c"node\00" +@.str8250 = private unnamed_addr constant [4 x i8] c"key\00" +@.str8251 = private unnamed_addr constant [9 x i8] c"attr_int\00" +@.str8252 = private unnamed_addr constant [13 x i8] c"xml_attr_int\00" +@.str8253 = private unnamed_addr constant [5 x i8] c"node\00" +@.str8254 = private unnamed_addr constant [4 x i8] c"key\00" +@.str8255 = private unnamed_addr constant [5 x i8] c"dflt\00" +@.str8256 = private unnamed_addr constant [4 x i8] c"has\00" +@.str8257 = private unnamed_addr constant [8 x i8] c"xml_has\00" +@.str8258 = private unnamed_addr constant [5 x i8] c"node\00" +@.str8259 = private unnamed_addr constant [4 x i8] c"key\00" +@.str8260 = private unnamed_addr constant [11 x i8] c"attr_count\00" +@.str8261 = private unnamed_addr constant [15 x i8] c"xml_attr_count\00" +@.str8262 = private unnamed_addr constant [5 x i8] c"node\00" +@.str8263 = private unnamed_addr constant [12 x i8] c"child_count\00" +@.str8264 = private unnamed_addr constant [16 x i8] c"xml_child_count\00" +@.str8265 = private unnamed_addr constant [5 x i8] c"node\00" +@.str8266 = private unnamed_addr constant [6 x i8] c"child\00" +@.str8267 = private unnamed_addr constant [10 x i8] c"xml_child\00" +@.str8268 = private unnamed_addr constant [5 x i8] c"node\00" +@.str8269 = private unnamed_addr constant [6 x i8] c"index\00" +@.str8270 = private unnamed_addr constant [5 x i8] c"find\00" +@.str8271 = private unnamed_addr constant [9 x i8] c"xml_find\00" +@.str8272 = private unnamed_addr constant [5 x i8] c"node\00" +@.str8273 = private unnamed_addr constant [4 x i8] c"tag\00" +@.str8274 = private unnamed_addr constant [6 x i8] c"count\00" +@.str8275 = private unnamed_addr constant [10 x i8] c"xml_count\00" +@.str8276 = private unnamed_addr constant [5 x i8] c"node\00" +@.str8277 = private unnamed_addr constant [4 x i8] c"tag\00" +@.str8278 = private unnamed_addr constant [7 x i8] c"Base64\00" +@.str8279 = private unnamed_addr constant [7 x i8] c"decode\00" +@.str8280 = private unnamed_addr constant [14 x i8] c"base64_decode\00" +@.str8281 = private unnamed_addr constant [4 x i8] c"src\00" +@.str8282 = private unnamed_addr constant [7 x i8] c"encode\00" +@.str8283 = private unnamed_addr constant [14 x i8] c"base64_encode\00" +@.str8284 = private unnamed_addr constant [4 x i8] c"src\00" +@.str8285 = private unnamed_addr constant [6 x i8] c"Tiled\00" +@.str8286 = private unnamed_addr constant [5 x i8] c"read\00" +@.str8287 = private unnamed_addr constant [11 x i8] c"tiled_read\00" +@.str8288 = private unnamed_addr constant [5 x i8] c"path\00" +@.str8289 = private unnamed_addr constant [9 x i8] c"read_tsx\00" +@.str8290 = private unnamed_addr constant [15 x i8] c"tiled_read_tsx\00" +@.str8291 = private unnamed_addr constant [5 x i8] c"path\00" +@.str8292 = private unnamed_addr constant [5 x i8] c"load\00" +@.str8293 = private unnamed_addr constant [11 x i8] c"tiled_load\00" +@.str8294 = private unnamed_addr constant [5 x i8] c"path\00" +@.str8295 = private unnamed_addr constant [4 x i8] c"gid\00" +@.str8296 = private unnamed_addr constant [9 x i8] c"tmap_gid\00" +@.str8297 = private unnamed_addr constant [4 x i8] c"map\00" +@.str8298 = private unnamed_addr constant [6 x i8] c"layer\00" +@.str8299 = private unnamed_addr constant [2 x i8] c"x\00" +@.str8300 = private unnamed_addr constant [2 x i8] c"y\00" +@.str8301 = private unnamed_addr constant [8 x i8] c"resolve\00" +@.str8302 = private unnamed_addr constant [13 x i8] c"tmap_resolve\00" +@.str8303 = private unnamed_addr constant [4 x i8] c"map\00" +@.str8304 = private unnamed_addr constant [4 x i8] c"gid\00" +@.str8305 = private unnamed_addr constant [6 x i8] c"width\00" +@.str8306 = private unnamed_addr constant [11 x i8] c"tmap_width\00" +@.str8307 = private unnamed_addr constant [4 x i8] c"map\00" +@.str8308 = private unnamed_addr constant [7 x i8] c"height\00" +@.str8309 = private unnamed_addr constant [12 x i8] c"tmap_height\00" +@.str8310 = private unnamed_addr constant [4 x i8] c"map\00" +@.str8311 = private unnamed_addr constant [12 x i8] c"layer_count\00" +@.str8312 = private unnamed_addr constant [17 x i8] c"tmap_layer_count\00" +@.str8313 = private unnamed_addr constant [4 x i8] c"map\00" +@.str8314 = private unnamed_addr constant [11 x i8] c"layer_name\00" +@.str8315 = private unnamed_addr constant [16 x i8] c"tmap_layer_name\00" +@.str8316 = private unnamed_addr constant [4 x i8] c"map\00" +@.str8317 = private unnamed_addr constant [6 x i8] c"index\00" +@.str8318 = private unnamed_addr constant [5 x i8] c"draw\00" +@.str8319 = private unnamed_addr constant [10 x i8] c"tmap_draw\00" +@.str8320 = private unnamed_addr constant [4 x i8] c"map\00" +@.str8321 = private unnamed_addr constant [5 x i8] c"camx\00" +@.str8322 = private unnamed_addr constant [5 x i8] c"camy\00" +@.str8323 = private unnamed_addr constant [10 x i8] c"draw_anim\00" +@.str8324 = private unnamed_addr constant [15 x i8] c"tmap_draw_anim\00" +@.str8325 = private unnamed_addr constant [4 x i8] c"map\00" +@.str8326 = private unnamed_addr constant [5 x i8] c"camx\00" +@.str8327 = private unnamed_addr constant [5 x i8] c"camy\00" +@.str8328 = private unnamed_addr constant [6 x i8] c"frame\00" +@.str8329 = private unnamed_addr constant [10 x i8] c"frame_gid\00" +@.str8330 = private unnamed_addr constant [15 x i8] c"tmap_frame_gid\00" +@.str8331 = private unnamed_addr constant [4 x i8] c"map\00" +@.str8332 = private unnamed_addr constant [4 x i8] c"gid\00" +@.str8333 = private unnamed_addr constant [6 x i8] c"frame\00" +@.str8334 = private unnamed_addr constant [9 x i8] c"animated\00" +@.str8335 = private unnamed_addr constant [17 x i8] c"tmap_is_animated\00" +@.str8336 = private unnamed_addr constant [4 x i8] c"map\00" +@.str8337 = private unnamed_addr constant [4 x i8] c"gid\00" +@.str8338 = private unnamed_addr constant [8 x i8] c"project\00" +@.str8339 = private unnamed_addr constant [13 x i8] c"tmap_project\00" +@.str8340 = private unnamed_addr constant [4 x i8] c"map\00" +@.str8341 = private unnamed_addr constant [6 x i8] c"layer\00" +@.str8342 = private unnamed_addr constant [8 x i8] c"collide\00" +@.str8343 = private unnamed_addr constant [13 x i8] c"tmap_collide\00" +@.str8344 = private unnamed_addr constant [4 x i8] c"map\00" +@.str8345 = private unnamed_addr constant [6 x i8] c"layer\00" +@.str8346 = private unnamed_addr constant [15 x i8] c"collision_kind\00" +@.str8347 = private unnamed_addr constant [20 x i8] c"tmap_collision_kind\00" +@.str8348 = private unnamed_addr constant [4 x i8] c"map\00" +@.str8349 = private unnamed_addr constant [4 x i8] c"gid\00" +@.str8350 = private unnamed_addr constant [5 x i8] c"tree\00" +@.str8351 = private unnamed_addr constant [10 x i8] c"tmap_tree\00" +@.str8352 = private unnamed_addr constant [4 x i8] c"map\00" +@.str8353 = private unnamed_addr constant [10 x i8] c"tile_prop\00" +@.str8354 = private unnamed_addr constant [15 x i8] c"tmap_tile_prop\00" +@.str8355 = private unnamed_addr constant [4 x i8] c"map\00" +@.str8356 = private unnamed_addr constant [4 x i8] c"gid\00" +@.str8357 = private unnamed_addr constant [5 x i8] c"name\00" +@.str8358 = private unnamed_addr constant [12 x i8] c"tile_shapes\00" +@.str8359 = private unnamed_addr constant [21 x i8] c"tmap_tile_has_shapes\00" +@.str8360 = private unnamed_addr constant [4 x i8] c"map\00" +@.str8361 = private unnamed_addr constant [4 x i8] c"gid\00" +@.str8362 = private unnamed_addr constant [13 x i8] c"object_count\00" +@.str8363 = private unnamed_addr constant [18 x i8] c"tmap_object_count\00" +@.str8364 = private unnamed_addr constant [4 x i8] c"map\00" +@.str8365 = private unnamed_addr constant [6 x i8] c"layer\00" +@.str8366 = private unnamed_addr constant [7 x i8] c"object\00" +@.str8367 = private unnamed_addr constant [12 x i8] c"tmap_object\00" +@.str8368 = private unnamed_addr constant [4 x i8] c"map\00" +@.str8369 = private unnamed_addr constant [6 x i8] c"layer\00" +@.str8370 = private unnamed_addr constant [6 x i8] c"index\00" +@.str8371 = private unnamed_addr constant [13 x i8] c"object_shape\00" +@.str8372 = private unnamed_addr constant [19 x i8] c"tiled_object_shape\00" +@.str8373 = private unnamed_addr constant [7 x i8] c"object\00" +@.str8374 = private unnamed_addr constant [5 x i8] c"prop\00" +@.str8375 = private unnamed_addr constant [15 x i8] c"tiled_prop_str\00" +@.str8376 = private unnamed_addr constant [10 x i8] c"container\00" +@.str8377 = private unnamed_addr constant [5 x i8] c"name\00" +@.str8378 = private unnamed_addr constant [9 x i8] c"prop_int\00" +@.str8379 = private unnamed_addr constant [15 x i8] c"tiled_prop_int\00" +@.str8380 = private unnamed_addr constant [10 x i8] c"container\00" +@.str8381 = private unnamed_addr constant [5 x i8] c"name\00" +@.str8382 = private unnamed_addr constant [10 x i8] c"prop_type\00" +@.str8383 = private unnamed_addr constant [16 x i8] c"tiled_prop_type\00" +@.str8384 = private unnamed_addr constant [10 x i8] c"container\00" +@.str8385 = private unnamed_addr constant [5 x i8] c"name\00" +@.str8386 = private unnamed_addr constant [11 x i8] c"load_types\00" +@.str8387 = private unnamed_addr constant [17 x i8] c"tiled_load_types\00" +@.str8388 = private unnamed_addr constant [5 x i8] c"path\00" +@.str8389 = private unnamed_addr constant [9 x i8] c"template\00" +@.str8390 = private unnamed_addr constant [20 x i8] c"tiled_read_template\00" +@.str8391 = private unnamed_addr constant [5 x i8] c"path\00" +@.str8392 = private unnamed_addr constant [6 x i8] c"spawn\00" +@.str8393 = private unnamed_addr constant [19 x i8] c"tiled_spawn_object\00" +@.str8394 = private unnamed_addr constant [4 x i8] c"map\00" +@.str8395 = private unnamed_addr constant [7 x i8] c"object\00" +@.str8396 = private unnamed_addr constant [6 x i8] c"model\00" +@.str8397 = private unnamed_addr constant [12 x i8] c"spawn_layer\00" +@.str8398 = private unnamed_addr constant [18 x i8] c"tiled_spawn_layer\00" +@.str8399 = private unnamed_addr constant [4 x i8] c"map\00" +@.str8400 = private unnamed_addr constant [6 x i8] c"layer\00" +@.str8401 = private unnamed_addr constant [6 x i8] c"model\00" +@.str8402 = private unnamed_addr constant [7 x i8] c"cell_x\00" +@.str8403 = private unnamed_addr constant [13 x i8] c"tmap_cell_sx\00" +@.str8404 = private unnamed_addr constant [4 x i8] c"map\00" +@.str8405 = private unnamed_addr constant [2 x i8] c"x\00" +@.str8406 = private unnamed_addr constant [2 x i8] c"y\00" +@.str8407 = private unnamed_addr constant [7 x i8] c"cell_y\00" +@.str8408 = private unnamed_addr constant [13 x i8] c"tmap_cell_sy\00" +@.str8409 = private unnamed_addr constant [4 x i8] c"map\00" +@.str8410 = private unnamed_addr constant [2 x i8] c"x\00" +@.str8411 = private unnamed_addr constant [2 x i8] c"y\00" +@.str8412 = private unnamed_addr constant [11 x i8] c"layer_kind\00" +@.str8413 = private unnamed_addr constant [16 x i8] c"tmap_layer_kind\00" +@.str8414 = private unnamed_addr constant [4 x i8] c"map\00" +@.str8415 = private unnamed_addr constant [6 x i8] c"layer\00" +@.str8416 = private unnamed_addr constant [14 x i8] c"layer_opacity\00" +@.str8417 = private unnamed_addr constant [19 x i8] c"tmap_layer_opacity\00" +@.str8418 = private unnamed_addr constant [4 x i8] c"map\00" +@.str8419 = private unnamed_addr constant [6 x i8] c"layer\00" +@.str8420 = private unnamed_addr constant [11 x i8] c"layer_tint\00" +@.str8421 = private unnamed_addr constant [16 x i8] c"tmap_layer_tint\00" +@.str8422 = private unnamed_addr constant [4 x i8] c"map\00" +@.str8423 = private unnamed_addr constant [6 x i8] c"layer\00" +@.str8424 = private unnamed_addr constant [14 x i8] c"layer_offsetx\00" +@.str8425 = private unnamed_addr constant [19 x i8] c"tmap_layer_offsetx\00" +@.str8426 = private unnamed_addr constant [4 x i8] c"map\00" +@.str8427 = private unnamed_addr constant [6 x i8] c"layer\00" +@.str8428 = private unnamed_addr constant [14 x i8] c"layer_offsety\00" +@.str8429 = private unnamed_addr constant [19 x i8] c"tmap_layer_offsety\00" +@.str8430 = private unnamed_addr constant [4 x i8] c"map\00" +@.str8431 = private unnamed_addr constant [6 x i8] c"layer\00" +@.str8432 = private unnamed_addr constant [6 x i8] c"world\00" +@.str8433 = private unnamed_addr constant [17 x i8] c"tiled_read_world\00" +@.str8434 = private unnamed_addr constant [5 x i8] c"path\00" +@.str8435 = private unnamed_addr constant [12 x i8] c"world_count\00" +@.str8436 = private unnamed_addr constant [18 x i8] c"tiled_world_count\00" +@.str8437 = private unnamed_addr constant [6 x i8] c"world\00" +@.str8438 = private unnamed_addr constant [10 x i8] c"world_map\00" +@.str8439 = private unnamed_addr constant [16 x i8] c"tiled_world_map\00" +@.str8440 = private unnamed_addr constant [6 x i8] c"world\00" +@.str8441 = private unnamed_addr constant [6 x i8] c"index\00" +@.str8442 = private unnamed_addr constant [3 x i8] c"Gl\00" +@.str8443 = private unnamed_addr constant [4 x i8] c"gl_\00" +@.str8444 = private unnamed_addr constant [2 x i8] c"_\00" +@.str8445 = private unnamed_addr constant [2 x i8] c".\00" +@.str8446 = private unnamed_addr constant [27 x i8] c" is internal to namespace \00" +@.str8447 = private unnamed_addr constant [17 x i8] c"unknown builtin \00" +@.str8448 = private unnamed_addr constant [2 x i8] c".\00" +@.str8449 = private unnamed_addr constant [14 x i8] c"enum variant \00" +@.str8450 = private unnamed_addr constant [8 x i8] c" takes \00" +@.str8451 = private unnamed_addr constant [18 x i8] c" payload(s), got \00" +@.str8452 = private unnamed_addr constant [22 x i8] c"call ptr @malloc(i64 \00" +@.str8453 = private unnamed_addr constant [2 x i8] c")\00" +@.str8454 = private unnamed_addr constant [13 x i8] c" store i32 \00" +@.str8455 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str8456 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str8457 = private unnamed_addr constant [3 x i8] c" \00" +@.str8458 = private unnamed_addr constant [35 x i8] c" = getelementptr inbounds i8, ptr \00" +@.str8459 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str8460 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str8461 = private unnamed_addr constant [9 x i8] c" store \00" +@.str8462 = private unnamed_addr constant [2 x i8] c" \00" +@.str8463 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str8464 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str8465 = private unnamed_addr constant [30 x i8] c"call target is not a function\00" +@.str8466 = private unnamed_addr constant [5 x i8] c"self\00" +@.str8467 = private unnamed_addr constant [2 x i8] c"0\00" +@.str8468 = private unnamed_addr constant [7 x i8] c"entity\00" +@.str8469 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str8470 = private unnamed_addr constant [7 x i8] c"entity\00" +@.str8471 = private unnamed_addr constant [4 x i8] c"key\00" +@.str8472 = private unnamed_addr constant [21 x i8] c"load i32, ptr @L_key\00" +@.str8473 = private unnamed_addr constant [4 x i8] c"int\00" +@.str8474 = private unnamed_addr constant [5 x i8] c"save\00" +@.str8475 = private unnamed_addr constant [23 x i8] c" call void @L_save()\0A\00" +@.str8476 = private unnamed_addr constant [2 x i8] c"0\00" +@.str8477 = private unnamed_addr constant [5 x i8] c"void\00" +@.str8478 = private unnamed_addr constant [9 x i8] c"ui_build\00" +@.str8479 = private unnamed_addr constant [25 x i8] c" call void @ui_build()\0A\00" +@.str8480 = private unnamed_addr constant [2 x i8] c"0\00" +@.str8481 = private unnamed_addr constant [5 x i8] c"void\00" +@.str8482 = private unnamed_addr constant [5 x i8] c"load\00" +@.str8483 = private unnamed_addr constant [19 x i8] c"call i32 @L_load()\00" +@.str8484 = private unnamed_addr constant [5 x i8] c"bool\00" +@.str8485 = private unnamed_addr constant [11 x i8] c"world_size\00" +@.str8486 = private unnamed_addr constant [25 x i8] c"call i32 @L_world_size()\00" +@.str8487 = private unnamed_addr constant [4 x i8] c"int\00" +@.str8488 = private unnamed_addr constant [11 x i8] c"world_save\00" +@.str8489 = private unnamed_addr constant [28 x i8] c"call i32 @L_world_save(ptr \00" +@.str8490 = private unnamed_addr constant [2 x i8] c")\00" +@.str8491 = private unnamed_addr constant [4 x i8] c"int\00" +@.str8492 = private unnamed_addr constant [11 x i8] c"world_load\00" +@.str8493 = private unnamed_addr constant [31 x i8] c" call void @L_world_load(ptr \00" +@.str8494 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str8495 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str8496 = private unnamed_addr constant [2 x i8] c"0\00" +@.str8497 = private unnamed_addr constant [5 x i8] c"void\00" +@.str8498 = private unnamed_addr constant [5 x i8] c"quit\00" +@.str8499 = private unnamed_addr constant [31 x i8] c" store i32 0, ptr @L_running\0A\00" +@.str8500 = private unnamed_addr constant [2 x i8] c"0\00" +@.str8501 = private unnamed_addr constant [5 x i8] c"void\00" +@.str8502 = private unnamed_addr constant [10 x i8] c"serialize\00" +@.str8503 = private unnamed_addr constant [31 x i8] c"call i32 @ludic_serialize(i32 \00" +@.str8504 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str8505 = private unnamed_addr constant [2 x i8] c")\00" +@.str8506 = private unnamed_addr constant [4 x i8] c"int\00" +@.str8507 = private unnamed_addr constant [6 x i8] c"apply\00" +@.str8508 = private unnamed_addr constant [30 x i8] c" call void @ludic_apply(i32 \00" +@.str8509 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str8510 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str8511 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str8512 = private unnamed_addr constant [2 x i8] c"0\00" +@.str8513 = private unnamed_addr constant [5 x i8] c"void\00" +@.str8514 = private unnamed_addr constant [10 x i8] c"sync_size\00" +@.str8515 = private unnamed_addr constant [31 x i8] c"call i32 @ludic_sync_size(i32 \00" +@.str8516 = private unnamed_addr constant [2 x i8] c")\00" +@.str8517 = private unnamed_addr constant [4 x i8] c"int\00" +@.str8518 = private unnamed_addr constant [6 x i8] c"owner\00" +@.str8519 = private unnamed_addr constant [23 x i8] c"call i32 @L_owner(i32 \00" +@.str8520 = private unnamed_addr constant [2 x i8] c")\00" +@.str8521 = private unnamed_addr constant [4 x i8] c"int\00" +@.str8522 = private unnamed_addr constant [10 x i8] c"set_owner\00" +@.str8523 = private unnamed_addr constant [30 x i8] c" call void @L_set_owner(i32 \00" +@.str8524 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str8525 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str8526 = private unnamed_addr constant [2 x i8] c"0\00" +@.str8527 = private unnamed_addr constant [5 x i8] c"void\00" +@.str8528 = private unnamed_addr constant [9 x i8] c"is_owner\00" +@.str8529 = private unnamed_addr constant [26 x i8] c"call i32 @L_is_owner(i32 \00" +@.str8530 = private unnamed_addr constant [2 x i8] c")\00" +@.str8531 = private unnamed_addr constant [5 x i8] c"bool\00" +@.str8532 = private unnamed_addr constant [10 x i8] c"is_server\00" +@.str8533 = private unnamed_addr constant [22 x i8] c"load i32, ptr @L_role\00" +@.str8534 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" +@.str8535 = private unnamed_addr constant [4 x i8] c", 1\00" +@.str8536 = private unnamed_addr constant [9 x i8] c"zext i1 \00" +@.str8537 = private unnamed_addr constant [8 x i8] c" to i32\00" +@.str8538 = private unnamed_addr constant [5 x i8] c"bool\00" +@.str8539 = private unnamed_addr constant [9 x i8] c"local_id\00" +@.str8540 = private unnamed_addr constant [25 x i8] c"load i32, ptr @L_localid\00" +@.str8541 = private unnamed_addr constant [4 x i8] c"int\00" +@.str8542 = private unnamed_addr constant [9 x i8] c"net_pump\00" +@.str8543 = private unnamed_addr constant [27 x i8] c" call void @L_net_pump()\0A\00" +@.str8544 = private unnamed_addr constant [2 x i8] c"0\00" +@.str8545 = private unnamed_addr constant [5 x i8] c"void\00" +@.str8546 = private unnamed_addr constant [11 x i8] c"tick_fixed\00" +@.str8547 = private unnamed_addr constant [29 x i8] c" call void @L_tick_fixed()\0A\00" +@.str8548 = private unnamed_addr constant [2 x i8] c"0\00" +@.str8549 = private unnamed_addr constant [5 x i8] c"void\00" +@.str8550 = private unnamed_addr constant [12 x i8] c"tick_render\00" +@.str8551 = private unnamed_addr constant [30 x i8] c" call void @L_tick_render()\0A\00" +@.str8552 = private unnamed_addr constant [2 x i8] c"0\00" +@.str8553 = private unnamed_addr constant [5 x i8] c"void\00" +@.str8554 = private unnamed_addr constant [9 x i8] c"set_role\00" +@.str8555 = private unnamed_addr constant [13 x i8] c" store i32 \00" +@.str8556 = private unnamed_addr constant [15 x i8] c", ptr @L_role\0A\00" +@.str8557 = private unnamed_addr constant [2 x i8] c"0\00" +@.str8558 = private unnamed_addr constant [5 x i8] c"void\00" +@.str8559 = private unnamed_addr constant [13 x i8] c"set_local_id\00" +@.str8560 = private unnamed_addr constant [13 x i8] c" store i32 \00" +@.str8561 = private unnamed_addr constant [18 x i8] c", ptr @L_localid\0A\00" +@.str8562 = private unnamed_addr constant [2 x i8] c"0\00" +@.str8563 = private unnamed_addr constant [5 x i8] c"void\00" +@.str8564 = private unnamed_addr constant [9 x i8] c"net_send\00" +@.str8565 = private unnamed_addr constant [9 x i8] c"net_send\00" +@.str8566 = private unnamed_addr constant [29 x i8] c" call void @L_net_send(i32 \00" +@.str8567 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str8568 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str8569 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str8570 = private unnamed_addr constant [2 x i8] c"0\00" +@.str8571 = private unnamed_addr constant [5 x i8] c"void\00" +@.str8572 = private unnamed_addr constant [9 x i8] c"net_poll\00" +@.str8573 = private unnamed_addr constant [9 x i8] c"net_poll\00" +@.str8574 = private unnamed_addr constant [26 x i8] c"call i32 @L_net_poll(ptr \00" +@.str8575 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str8576 = private unnamed_addr constant [2 x i8] c")\00" +@.str8577 = private unnamed_addr constant [4 x i8] c"int\00" +@.str8578 = private unnamed_addr constant [4 x i8] c"len\00" +@.str8579 = private unnamed_addr constant [5 x i8] c"push\00" +@.str8580 = private unnamed_addr constant [7 x i8] c"string\00" +@.str8581 = private unnamed_addr constant [4 x i8] c"ptr\00" +@.str8582 = private unnamed_addr constant [4 x i8] c"i64\00" +@.str8583 = private unnamed_addr constant [27 x i8] c"call ptr @lp_long_str(i64 \00" +@.str8584 = private unnamed_addr constant [2 x i8] c")\00" +@.str8585 = private unnamed_addr constant [7 x i8] c"string\00" +@.str8586 = private unnamed_addr constant [26 x i8] c"call ptr @lp_int_str(i32 \00" +@.str8587 = private unnamed_addr constant [2 x i8] c")\00" +@.str8588 = private unnamed_addr constant [7 x i8] c"string\00" +@.str8589 = private unnamed_addr constant [6 x i8] c"print\00" +@.str8590 = private unnamed_addr constant [4 x i8] c"ptr\00" +@.str8591 = private unnamed_addr constant [51 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_line, ptr \00" +@.str8592 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str8593 = private unnamed_addr constant [4 x i8] c"i64\00" +@.str8594 = private unnamed_addr constant [51 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_long, i64 \00" +@.str8595 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str8596 = private unnamed_addr constant [50 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_int, i32 \00" +@.str8597 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str8598 = private unnamed_addr constant [2 x i8] c"0\00" +@.str8599 = private unnamed_addr constant [5 x i8] c"void\00" +@.str8600 = private unnamed_addr constant [6 x i8] c"bytes\00" +@.str8601 = private unnamed_addr constant [10 x i8] c"zext i32 \00" +@.str8602 = private unnamed_addr constant [8 x i8] c" to i64\00" +@.str8603 = private unnamed_addr constant [22 x i8] c"call ptr @malloc(i64 \00" +@.str8604 = private unnamed_addr constant [2 x i8] c")\00" +@.str8605 = private unnamed_addr constant [8 x i8] c"pointer\00" +@.str8606 = private unnamed_addr constant [6 x i8] c"words\00" +@.str8607 = private unnamed_addr constant [9 x i8] c"mul i32 \00" +@.str8608 = private unnamed_addr constant [4 x i8] c", 4\00" +@.str8609 = private unnamed_addr constant [10 x i8] c"zext i32 \00" +@.str8610 = private unnamed_addr constant [8 x i8] c" to i64\00" +@.str8611 = private unnamed_addr constant [22 x i8] c"call ptr @malloc(i64 \00" +@.str8612 = private unnamed_addr constant [2 x i8] c")\00" +@.str8613 = private unnamed_addr constant [6 x i8] c"words\00" +@.str8614 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str8615 = private unnamed_addr constant [9 x i8] c"shl i32 \00" +@.str8616 = private unnamed_addr constant [5 x i8] c", 16\00" +@.str8617 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str8618 = private unnamed_addr constant [6 x i8] c"floor\00" +@.str8619 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" +@.str8620 = private unnamed_addr constant [5 x i8] c", 16\00" +@.str8621 = private unnamed_addr constant [4 x i8] c"int\00" +@.str8622 = private unnamed_addr constant [7 x i8] c"expect\00" +@.str8623 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" +@.str8624 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str8625 = private unnamed_addr constant [2 x i8] c":\00" +@.str8626 = private unnamed_addr constant [16 x i8] c": expect failed\00" +@.str8627 = private unnamed_addr constant [1 x i8] c"\00" +@.str8628 = private unnamed_addr constant [1 x i8] c"\00" +@.str8629 = private unnamed_addr constant [2 x i8] c"0\00" +@.str8630 = private unnamed_addr constant [5 x i8] c"void\00" +@.str8631 = private unnamed_addr constant [10 x i8] c"expect_eq\00" +@.str8632 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" +@.str8633 = private unnamed_addr constant [3 x i8] c", \00" +@.str8634 = private unnamed_addr constant [2 x i8] c":\00" +@.str8635 = private unnamed_addr constant [19 x i8] c": expect_eq failed\00" +@.str8636 = private unnamed_addr constant [2 x i8] c"0\00" +@.str8637 = private unnamed_addr constant [5 x i8] c"void\00" +@.str8638 = private unnamed_addr constant [12 x i8] c"expect_near\00" +@.str8639 = private unnamed_addr constant [9 x i8] c"sub i32 \00" +@.str8640 = private unnamed_addr constant [3 x i8] c", \00" +@.str8641 = private unnamed_addr constant [12 x i8] c"sub i32 0, \00" +@.str8642 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" +@.str8643 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str8644 = private unnamed_addr constant [11 x i8] c"select i1 \00" +@.str8645 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str8646 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str8647 = private unnamed_addr constant [14 x i8] c"icmp sle i32 \00" +@.str8648 = private unnamed_addr constant [3 x i8] c", \00" +@.str8649 = private unnamed_addr constant [2 x i8] c":\00" +@.str8650 = private unnamed_addr constant [21 x i8] c": expect_near failed\00" +@.str8651 = private unnamed_addr constant [2 x i8] c"0\00" +@.str8652 = private unnamed_addr constant [5 x i8] c"void\00" +@.str8653 = private unnamed_addr constant [6 x i8] c"panic\00" +@.str8654 = private unnamed_addr constant [2 x i8] c":\00" +@.str8655 = private unnamed_addr constant [10 x i8] c": panic: \00" +@.str8656 = private unnamed_addr constant [41 x i8] c" call i32 (ptr, ptr, ...) @fprintf(ptr \00" +@.str8657 = private unnamed_addr constant [24 x i8] c", ptr @.fmt_panic, ptr \00" +@.str8658 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str8659 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str8660 = private unnamed_addr constant [40 x i8] c" call void @exit(i32 1)\0A unreachable\0A\00" +@.str8661 = private unnamed_addr constant [2 x i8] c"0\00" +@.str8662 = private unnamed_addr constant [5 x i8] c"void\00" +@.str8663 = private unnamed_addr constant [7 x i8] c"assert\00" +@.str8664 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" +@.str8665 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str8666 = private unnamed_addr constant [5 x i8] c"asok\00" +@.str8667 = private unnamed_addr constant [6 x i8] c"asbad\00" +@.str8668 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str8669 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str8670 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str8671 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str8672 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str8673 = private unnamed_addr constant [2 x i8] c":\00" +@.str8674 = private unnamed_addr constant [21 x i8] c": assertion failed: \00" +@.str8675 = private unnamed_addr constant [41 x i8] c" call i32 (ptr, ptr, ...) @fprintf(ptr \00" +@.str8676 = private unnamed_addr constant [24 x i8] c", ptr @.fmt_panic, ptr \00" +@.str8677 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str8678 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str8679 = private unnamed_addr constant [40 x i8] c" call void @exit(i32 1)\0A unreachable\0A\00" +@.str8680 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str8681 = private unnamed_addr constant [2 x i8] c"0\00" +@.str8682 = private unnamed_addr constant [5 x i8] c"void\00" +@.str8683 = private unnamed_addr constant [3 x i8] c"ok\00" +@.str8684 = private unnamed_addr constant [3 x i8] c"ok\00" +@.str8685 = private unnamed_addr constant [25 x i8] c"call ptr @malloc(i64 16)\00" +@.str8686 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00" +@.str8687 = private unnamed_addr constant [15 x i8] c", i32 0, i32 0\00" +@.str8688 = private unnamed_addr constant [20 x i8] c" store i32 1, ptr \00" +@.str8689 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str8690 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00" +@.str8691 = private unnamed_addr constant [15 x i8] c", i32 0, i32 1\00" +@.str8692 = private unnamed_addr constant [13 x i8] c" store i32 \00" +@.str8693 = private unnamed_addr constant [4 x i8] c"int\00" +@.str8694 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str8695 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str8696 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00" +@.str8697 = private unnamed_addr constant [15 x i8] c", i32 0, i32 2\00" +@.str8698 = private unnamed_addr constant [23 x i8] c" store ptr null, ptr \00" +@.str8699 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str8700 = private unnamed_addr constant [7 x i8] c"result\00" +@.str8701 = private unnamed_addr constant [4 x i8] c"err\00" +@.str8702 = private unnamed_addr constant [4 x i8] c"err\00" +@.str8703 = private unnamed_addr constant [25 x i8] c"call ptr @malloc(i64 16)\00" +@.str8704 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00" +@.str8705 = private unnamed_addr constant [15 x i8] c", i32 0, i32 0\00" +@.str8706 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00" +@.str8707 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str8708 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00" +@.str8709 = private unnamed_addr constant [15 x i8] c", i32 0, i32 1\00" +@.str8710 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00" +@.str8711 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str8712 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00" +@.str8713 = private unnamed_addr constant [15 x i8] c", i32 0, i32 2\00" +@.str8714 = private unnamed_addr constant [13 x i8] c" store ptr \00" +@.str8715 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str8716 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str8717 = private unnamed_addr constant [7 x i8] c"result\00" +@.str8718 = private unnamed_addr constant [6 x i8] c"is_ok\00" +@.str8719 = private unnamed_addr constant [6 x i8] c"is_ok\00" +@.str8720 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00" +@.str8721 = private unnamed_addr constant [15 x i8] c", i32 0, i32 0\00" +@.str8722 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str8723 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" +@.str8724 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str8725 = private unnamed_addr constant [9 x i8] c"zext i1 \00" +@.str8726 = private unnamed_addr constant [8 x i8] c" to i32\00" +@.str8727 = private unnamed_addr constant [5 x i8] c"bool\00" +@.str8728 = private unnamed_addr constant [7 x i8] c"is_err\00" +@.str8729 = private unnamed_addr constant [7 x i8] c"is_err\00" +@.str8730 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00" +@.str8731 = private unnamed_addr constant [15 x i8] c", i32 0, i32 0\00" +@.str8732 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str8733 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" +@.str8734 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str8735 = private unnamed_addr constant [9 x i8] c"zext i1 \00" +@.str8736 = private unnamed_addr constant [8 x i8] c" to i32\00" +@.str8737 = private unnamed_addr constant [5 x i8] c"bool\00" +@.str8738 = private unnamed_addr constant [5 x i8] c"some\00" +@.str8739 = private unnamed_addr constant [5 x i8] c"some\00" +@.str8740 = private unnamed_addr constant [24 x i8] c"call ptr @malloc(i64 8)\00" +@.str8741 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Option, ptr \00" +@.str8742 = private unnamed_addr constant [15 x i8] c", i32 0, i32 0\00" +@.str8743 = private unnamed_addr constant [20 x i8] c" store i32 1, ptr \00" +@.str8744 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str8745 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Option, ptr \00" +@.str8746 = private unnamed_addr constant [15 x i8] c", i32 0, i32 1\00" +@.str8747 = private unnamed_addr constant [13 x i8] c" store i32 \00" +@.str8748 = private unnamed_addr constant [4 x i8] c"int\00" +@.str8749 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str8750 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str8751 = private unnamed_addr constant [7 x i8] c"option\00" +@.str8752 = private unnamed_addr constant [5 x i8] c"none\00" +@.str8753 = private unnamed_addr constant [5 x i8] c"none\00" +@.str8754 = private unnamed_addr constant [24 x i8] c"call ptr @malloc(i64 8)\00" +@.str8755 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Option, ptr \00" +@.str8756 = private unnamed_addr constant [15 x i8] c", i32 0, i32 0\00" +@.str8757 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00" +@.str8758 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str8759 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Option, ptr \00" +@.str8760 = private unnamed_addr constant [15 x i8] c", i32 0, i32 1\00" +@.str8761 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00" +@.str8762 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str8763 = private unnamed_addr constant [7 x i8] c"option\00" +@.str8764 = private unnamed_addr constant [8 x i8] c"is_some\00" +@.str8765 = private unnamed_addr constant [8 x i8] c"is_some\00" +@.str8766 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Option, ptr \00" +@.str8767 = private unnamed_addr constant [15 x i8] c", i32 0, i32 0\00" +@.str8768 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str8769 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" +@.str8770 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str8771 = private unnamed_addr constant [9 x i8] c"zext i1 \00" +@.str8772 = private unnamed_addr constant [8 x i8] c" to i32\00" +@.str8773 = private unnamed_addr constant [5 x i8] c"bool\00" +@.str8774 = private unnamed_addr constant [8 x i8] c"is_none\00" +@.str8775 = private unnamed_addr constant [8 x i8] c"is_none\00" +@.str8776 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Option, ptr \00" +@.str8777 = private unnamed_addr constant [15 x i8] c", i32 0, i32 0\00" +@.str8778 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str8779 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" +@.str8780 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str8781 = private unnamed_addr constant [9 x i8] c"zext i1 \00" +@.str8782 = private unnamed_addr constant [8 x i8] c" to i32\00" +@.str8783 = private unnamed_addr constant [5 x i8] c"bool\00" +@.str8784 = private unnamed_addr constant [10 x i8] c"unwrap_or\00" +@.str8785 = private unnamed_addr constant [10 x i8] c"unwrap_or\00" +@.str8786 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Option, ptr \00" +@.str8787 = private unnamed_addr constant [15 x i8] c", i32 0, i32 0\00" +@.str8788 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str8789 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Option, ptr \00" +@.str8790 = private unnamed_addr constant [15 x i8] c", i32 0, i32 1\00" +@.str8791 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str8792 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" +@.str8793 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str8794 = private unnamed_addr constant [11 x i8] c"select i1 \00" +@.str8795 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str8796 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str8797 = private unnamed_addr constant [4 x i8] c"int\00" +@.str8798 = private unnamed_addr constant [4 x i8] c"int\00" +@.str8799 = private unnamed_addr constant [14 x i8] c"world_prop_id\00" +@.str8800 = private unnamed_addr constant [29 x i8] c"call i32 @ludic_prop_id(ptr \00" +@.str8801 = private unnamed_addr constant [2 x i8] c")\00" +@.str8802 = private unnamed_addr constant [4 x i8] c"int\00" +@.str8803 = private unnamed_addr constant [15 x i8] c"world_field_id\00" +@.str8804 = private unnamed_addr constant [30 x i8] c"call i32 @ludic_field_id(i32 \00" +@.str8805 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str8806 = private unnamed_addr constant [2 x i8] c")\00" +@.str8807 = private unnamed_addr constant [4 x i8] c"int\00" +@.str8808 = private unnamed_addr constant [10 x i8] c"world_get\00" +@.str8809 = private unnamed_addr constant [25 x i8] c"call i64 @ludic_get(i32 \00" +@.str8810 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str8811 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str8812 = private unnamed_addr constant [2 x i8] c")\00" +@.str8813 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" +@.str8814 = private unnamed_addr constant [8 x i8] c" to i32\00" +@.str8815 = private unnamed_addr constant [4 x i8] c"int\00" +@.str8816 = private unnamed_addr constant [10 x i8] c"world_set\00" +@.str8817 = private unnamed_addr constant [10 x i8] c"sext i32 \00" +@.str8818 = private unnamed_addr constant [8 x i8] c" to i64\00" +@.str8819 = private unnamed_addr constant [28 x i8] c" call void @ludic_set(i32 \00" +@.str8820 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str8821 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str8822 = private unnamed_addr constant [7 x i8] c", i64 \00" +@.str8823 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str8824 = private unnamed_addr constant [2 x i8] c"0\00" +@.str8825 = private unnamed_addr constant [5 x i8] c"void\00" +@.str8826 = private unnamed_addr constant [10 x i8] c"world_has\00" +@.str8827 = private unnamed_addr constant [25 x i8] c"call i32 @ludic_has(i32 \00" +@.str8828 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str8829 = private unnamed_addr constant [2 x i8] c")\00" +@.str8830 = private unnamed_addr constant [4 x i8] c"int\00" +@.str8831 = private unnamed_addr constant [12 x i8] c"world_count\00" +@.str8832 = private unnamed_addr constant [31 x i8] c"call i32 @ludic_entity_count()\00" +@.str8833 = private unnamed_addr constant [4 x i8] c"int\00" +@.str8834 = private unnamed_addr constant [11 x i8] c"world_kind\00" +@.str8835 = private unnamed_addr constant [26 x i8] c"call i32 @ludic_kind(i32 \00" +@.str8836 = private unnamed_addr constant [2 x i8] c")\00" +@.str8837 = private unnamed_addr constant [4 x i8] c"int\00" +@.str8838 = private unnamed_addr constant [15 x i8] c"world_model_id\00" +@.str8839 = private unnamed_addr constant [30 x i8] c"call i32 @ludic_model_id(ptr \00" +@.str8840 = private unnamed_addr constant [2 x i8] c")\00" +@.str8841 = private unnamed_addr constant [4 x i8] c"int\00" +@.str8842 = private unnamed_addr constant [17 x i8] c"world_query_next\00" +@.str8843 = private unnamed_addr constant [32 x i8] c"call i32 @ludic_query_next(i32 \00" +@.str8844 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str8845 = private unnamed_addr constant [2 x i8] c")\00" +@.str8846 = private unnamed_addr constant [4 x i8] c"int\00" +@.str8847 = private unnamed_addr constant [20 x i8] c"world_register_prop\00" +@.str8848 = private unnamed_addr constant [35 x i8] c"call i32 @ludic_register_prop(ptr \00" +@.str8849 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str8850 = private unnamed_addr constant [2 x i8] c")\00" +@.str8851 = private unnamed_addr constant [4 x i8] c"int\00" +@.str8852 = private unnamed_addr constant [17 x i8] c"world_attach_dyn\00" +@.str8853 = private unnamed_addr constant [35 x i8] c" call void @ludic_attach_dyn(i32 \00" +@.str8854 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str8855 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str8856 = private unnamed_addr constant [2 x i8] c"0\00" +@.str8857 = private unnamed_addr constant [5 x i8] c"void\00" +@.str8858 = private unnamed_addr constant [17 x i8] c"world_detach_dyn\00" +@.str8859 = private unnamed_addr constant [35 x i8] c" call void @ludic_detach_dyn(i32 \00" +@.str8860 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str8861 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str8862 = private unnamed_addr constant [2 x i8] c"0\00" +@.str8863 = private unnamed_addr constant [5 x i8] c"void\00" +@.str8864 = private unnamed_addr constant [12 x i8] c"world_spawn\00" +@.str8865 = private unnamed_addr constant [27 x i8] c"call i32 @ludic_spawn(i32 \00" +@.str8866 = private unnamed_addr constant [2 x i8] c")\00" +@.str8867 = private unnamed_addr constant [4 x i8] c"int\00" +@.str8868 = private unnamed_addr constant [17 x i8] c"world_prop_count\00" +@.str8869 = private unnamed_addr constant [29 x i8] c"call i32 @ludic_prop_count()\00" +@.str8870 = private unnamed_addr constant [4 x i8] c"int\00" +@.str8871 = private unnamed_addr constant [16 x i8] c"world_prop_name\00" +@.str8872 = private unnamed_addr constant [31 x i8] c"call ptr @ludic_prop_name(i32 \00" +@.str8873 = private unnamed_addr constant [2 x i8] c")\00" +@.str8874 = private unnamed_addr constant [7 x i8] c"string\00" +@.str8875 = private unnamed_addr constant [18 x i8] c"world_field_count\00" +@.str8876 = private unnamed_addr constant [33 x i8] c"call i32 @ludic_field_count(i32 \00" +@.str8877 = private unnamed_addr constant [2 x i8] c")\00" +@.str8878 = private unnamed_addr constant [4 x i8] c"int\00" +@.str8879 = private unnamed_addr constant [17 x i8] c"world_field_name\00" +@.str8880 = private unnamed_addr constant [32 x i8] c"call ptr @ludic_field_name(i32 \00" +@.str8881 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str8882 = private unnamed_addr constant [2 x i8] c")\00" +@.str8883 = private unnamed_addr constant [7 x i8] c"string\00" +@.str8884 = private unnamed_addr constant [17 x i8] c"world_field_type\00" +@.str8885 = private unnamed_addr constant [32 x i8] c"call ptr @ludic_field_type(i32 \00" +@.str8886 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str8887 = private unnamed_addr constant [2 x i8] c")\00" +@.str8888 = private unnamed_addr constant [7 x i8] c"string\00" +@.str8889 = private unnamed_addr constant [3 x i8] c" \00" +@.str8890 = private unnamed_addr constant [2 x i8] c"0\00" +@.str8891 = private unnamed_addr constant [5 x i8] c"void\00" +@.str8892 = private unnamed_addr constant [4 x i8] c" = \00" +@.str8893 = private unnamed_addr constant [6 x i8] c"call \00" +@.str8894 = private unnamed_addr constant [3 x i8] c" @\00" +@.str8895 = private unnamed_addr constant [2 x i8] c"(\00" +@.str8896 = private unnamed_addr constant [3 x i8] c", \00" +@.str8897 = private unnamed_addr constant [2 x i8] c" \00" +@.str8898 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str8899 = private unnamed_addr constant [4 x i8] c"rt_\00" +@.str8900 = private unnamed_addr constant [18 x i8] c"unknown function \00" +@.str8901 = private unnamed_addr constant [3 x i8] c" \00" +@.str8902 = private unnamed_addr constant [2 x i8] c"0\00" +@.str8903 = private unnamed_addr constant [5 x i8] c"void\00" +@.str8904 = private unnamed_addr constant [4 x i8] c" = \00" +@.str8905 = private unnamed_addr constant [6 x i8] c"call \00" +@.str8906 = private unnamed_addr constant [6 x i8] c" @fn_\00" +@.str8907 = private unnamed_addr constant [2 x i8] c"(\00" +@.str8908 = private unnamed_addr constant [3 x i8] c", \00" +@.str8909 = private unnamed_addr constant [2 x i8] c" \00" +@.str8910 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str8911 = private unnamed_addr constant [2 x i8] c"0\00" +@.str8912 = private unnamed_addr constant [4 x i8] c"int\00" +@.str8913 = private unnamed_addr constant [4 x i8] c"int\00" +@.str8914 = private unnamed_addr constant [6 x i8] c"fixed\00" +@.str8915 = private unnamed_addr constant [5 x i8] c"bool\00" +@.str8916 = private unnamed_addr constant [5 x i8] c"null\00" +@.str8917 = private unnamed_addr constant [8 x i8] c"pointer\00" +@.str8918 = private unnamed_addr constant [7 x i8] c"entity\00" +@.str8919 = private unnamed_addr constant [28 x i8] c"call ptr @lp_str_slice(ptr \00" +@.str8920 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str8921 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str8922 = private unnamed_addr constant [2 x i8] c")\00" +@.str8923 = private unnamed_addr constant [7 x i8] c"string\00" +@.str8924 = private unnamed_addr constant [7 x i8] c"string\00" +@.str8925 = private unnamed_addr constant [6 x i8] c"load \00" +@.str8926 = private unnamed_addr constant [10 x i8] c", ptr @g_\00" +@.str8927 = private unnamed_addr constant [4 x i8] c"int\00" +@.str8928 = private unnamed_addr constant [20 x i8] c"unknown identifier \00" +@.str8929 = private unnamed_addr constant [6 x i8] c"Color\00" +@.str8930 = private unnamed_addr constant [21 x i8] c"unknown color Color.\00" +@.str8931 = private unnamed_addr constant [4 x i8] c"int\00" +@.str8932 = private unnamed_addr constant [4 x i8] c"Key\00" +@.str8933 = private unnamed_addr constant [17 x i8] c"unknown key Key.\00" +@.str8934 = private unnamed_addr constant [4 x i8] c"int\00" +@.str8935 = private unnamed_addr constant [4 x i8] c"int\00" +@.str8936 = private unnamed_addr constant [6 x i8] c"IVec2\00" +@.str8937 = private unnamed_addr constant [2 x i8] c"x\00" +@.str8938 = private unnamed_addr constant [2 x i8] c"y\00" +@.str8939 = private unnamed_addr constant [2 x i8] c"x\00" +@.str8940 = private unnamed_addr constant [4 x i8] c"int\00" +@.str8941 = private unnamed_addr constant [4 x i8] c"int\00" +@.str8942 = private unnamed_addr constant [5 x i8] c"byte\00" +@.str8943 = private unnamed_addr constant [14 x i8] c"load i8, ptr \00" +@.str8944 = private unnamed_addr constant [9 x i8] c"zext i8 \00" +@.str8945 = private unnamed_addr constant [8 x i8] c" to i32\00" +@.str8946 = private unnamed_addr constant [4 x i8] c"int\00" +@.str8947 = private unnamed_addr constant [4 x i8] c"i64\00" +@.str8948 = private unnamed_addr constant [2 x i8] c"-\00" +@.str8949 = private unnamed_addr constant [12 x i8] c"sub i64 0, \00" +@.str8950 = private unnamed_addr constant [5 x i8] c"long\00" +@.str8951 = private unnamed_addr constant [2 x i8] c"~\00" +@.str8952 = private unnamed_addr constant [9 x i8] c"xor i64 \00" +@.str8953 = private unnamed_addr constant [5 x i8] c", -1\00" +@.str8954 = private unnamed_addr constant [5 x i8] c"long\00" +@.str8955 = private unnamed_addr constant [2 x i8] c"-\00" +@.str8956 = private unnamed_addr constant [12 x i8] c"sub i32 0, \00" +@.str8957 = private unnamed_addr constant [2 x i8] c"~\00" +@.str8958 = private unnamed_addr constant [9 x i8] c"xor i32 \00" +@.str8959 = private unnamed_addr constant [5 x i8] c", -1\00" +@.str8960 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" +@.str8961 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str8962 = private unnamed_addr constant [9 x i8] c"zext i1 \00" +@.str8963 = private unnamed_addr constant [8 x i8] c" to i32\00" +@.str8964 = private unnamed_addr constant [5 x i8] c"bool\00" +@.str8965 = private unnamed_addr constant [23 x i8] c"cannot emit expression\00" +@.str8966 = private unnamed_addr constant [2 x i8] c"0\00" +@.str8967 = private unnamed_addr constant [4 x i8] c"int\00" +@.str8968 = private unnamed_addr constant [9 x i8] c" store \00" +@.str8969 = private unnamed_addr constant [2 x i8] c" \00" +@.str8970 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str8971 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str8972 = private unnamed_addr constant [2 x i8] c"0\00" +@.str8973 = private unnamed_addr constant [4 x i8] c"int\00" +@.str8974 = private unnamed_addr constant [29 x i8] c"cannot assign to immutable '\00" +@.str8975 = private unnamed_addr constant [41 x i8] c"' (declared with let; use var) \E2\80\94 line \00" +@.str8976 = private unnamed_addr constant [19 x i8] c"assign to unknown \00" +@.str8977 = private unnamed_addr constant [4 x i8] c"@g_\00" +@.str8978 = private unnamed_addr constant [22 x i8] c"bad assignment target\00" +@.str8979 = private unnamed_addr constant [2 x i8] c"=\00" +@.str8980 = private unnamed_addr constant [6 x i8] c"load \00" +@.str8981 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str8982 = private unnamed_addr constant [3 x i8] c"i8\00" +@.str8983 = private unnamed_addr constant [11 x i8] c"trunc i32 \00" +@.str8984 = private unnamed_addr constant [7 x i8] c" to i8\00" +@.str8985 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" +@.str8986 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str8987 = private unnamed_addr constant [5 x i8] c"then\00" +@.str8988 = private unnamed_addr constant [5 x i8] c"else\00" +@.str8989 = private unnamed_addr constant [6 x i8] c"ifend\00" +@.str8990 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str8991 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str8992 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str8993 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str8994 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str8995 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str8996 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str8997 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str8998 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str8999 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str9000 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9001 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str9002 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str9003 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9004 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str9005 = private unnamed_addr constant [6 x i8] c"wcond\00" +@.str9006 = private unnamed_addr constant [6 x i8] c"wbody\00" +@.str9007 = private unnamed_addr constant [5 x i8] c"wend\00" +@.str9008 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str9009 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9010 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str9011 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" +@.str9012 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str9013 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str9014 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str9015 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str9016 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9017 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str9018 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str9019 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9020 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str9021 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str9022 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str9023 = private unnamed_addr constant [4 x i8] c"int\00" +@.str9024 = private unnamed_addr constant [6 x i8] c"fcond\00" +@.str9025 = private unnamed_addr constant [6 x i8] c"fbody\00" +@.str9026 = private unnamed_addr constant [6 x i8] c"fcont\00" +@.str9027 = private unnamed_addr constant [5 x i8] c"fend\00" +@.str9028 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str9029 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9030 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str9031 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str9032 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" +@.str9033 = private unnamed_addr constant [3 x i8] c", \00" +@.str9034 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str9035 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str9036 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str9037 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9038 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str9039 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str9040 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9041 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str9042 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str9043 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str9044 = private unnamed_addr constant [4 x i8] c", 1\00" +@.str9045 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str9046 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str9047 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9048 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str9049 = private unnamed_addr constant [8 x i8] c"%retval\00" +@.str9050 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00" +@.str9051 = private unnamed_addr constant [2 x i8] c"_\00" +@.str9052 = private unnamed_addr constant [8 x i8] c"match: \00" +@.str9053 = private unnamed_addr constant [8 x i8] c" binds \00" +@.str9054 = private unnamed_addr constant [22 x i8] c" name(s) but carries \00" +@.str9055 = private unnamed_addr constant [8 x i8] c"match: \00" +@.str9056 = private unnamed_addr constant [10 x i8] c" payload \00" +@.str9057 = private unnamed_addr constant [24 x i8] c" must be a binding name\00" +@.str9058 = private unnamed_addr constant [3 x i8] c" \00" +@.str9059 = private unnamed_addr constant [35 x i8] c" = getelementptr inbounds i8, ptr \00" +@.str9060 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str9061 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9062 = private unnamed_addr constant [6 x i8] c"load \00" +@.str9063 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str9064 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str9065 = private unnamed_addr constant [5 x i8] c"mend\00" +@.str9066 = private unnamed_addr constant [2 x i8] c"0\00" +@.str9067 = private unnamed_addr constant [8 x i8] c"match: \00" +@.str9068 = private unnamed_addr constant [27 x i8] c" is not a variant of enum \00" +@.str9069 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" +@.str9070 = private unnamed_addr constant [3 x i8] c", \00" +@.str9071 = private unnamed_addr constant [7 x i8] c"or i1 \00" +@.str9072 = private unnamed_addr constant [3 x i8] c", \00" +@.str9073 = private unnamed_addr constant [6 x i8] c"mbody\00" +@.str9074 = private unnamed_addr constant [5 x i8] c"marm\00" +@.str9075 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str9076 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str9077 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str9078 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9079 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str9080 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str9081 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9082 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str9083 = private unnamed_addr constant [10 x i8] c"match on \00" +@.str9084 = private unnamed_addr constant [29 x i8] c" is not exhaustive: variant \00" +@.str9085 = private unnamed_addr constant [34 x i8] c" is unhandled (add it or a _ arm)\00" +@.str9086 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str9087 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9088 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str9089 = private unnamed_addr constant [5 x i8] c"mend\00" +@.str9090 = private unnamed_addr constant [2 x i8] c"0\00" +@.str9091 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" +@.str9092 = private unnamed_addr constant [3 x i8] c", \00" +@.str9093 = private unnamed_addr constant [7 x i8] c"or i1 \00" +@.str9094 = private unnamed_addr constant [3 x i8] c", \00" +@.str9095 = private unnamed_addr constant [6 x i8] c"mbody\00" +@.str9096 = private unnamed_addr constant [5 x i8] c"marm\00" +@.str9097 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str9098 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str9099 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str9100 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9101 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str9102 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str9103 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9104 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str9105 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str9106 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9107 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str9108 = private unnamed_addr constant [21 x i8] c"emit: unknown event \00" +@.str9109 = private unnamed_addr constant [2 x i8] c"0\00" +@.str9110 = private unnamed_addr constant [4 x i8] c"ptr\00" +@.str9111 = private unnamed_addr constant [5 x i8] c"null\00" +@.str9112 = private unnamed_addr constant [3 x i8] c" \00" +@.str9113 = private unnamed_addr constant [53 x i8] c" = getelementptr inbounds i8, ptr @L_sendbuf, i32 0\0A\00" +@.str9114 = private unnamed_addr constant [13 x i8] c" store i32 \00" +@.str9115 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str9116 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9117 = private unnamed_addr constant [3 x i8] c" \00" +@.str9118 = private unnamed_addr constant [51 x i8] c" = getelementptr inbounds i8, ptr @L_sendbuf, i32 \00" +@.str9119 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9120 = private unnamed_addr constant [9 x i8] c" store \00" +@.str9121 = private unnamed_addr constant [2 x i8] c" \00" +@.str9122 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str9123 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9124 = private unnamed_addr constant [2 x i8] c"0\00" +@.str9125 = private unnamed_addr constant [10 x i8] c"toclients\00" +@.str9126 = private unnamed_addr constant [3 x i8] c"-1\00" +@.str9127 = private unnamed_addr constant [9 x i8] c"net_send\00" +@.str9128 = private unnamed_addr constant [14 x i8] c" call void @\00" +@.str9129 = private unnamed_addr constant [6 x i8] c"(i32 \00" +@.str9130 = private unnamed_addr constant [23 x i8] c", ptr @L_sendbuf, i32 \00" +@.str9131 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str9132 = private unnamed_addr constant [2 x i8] c"0\00" +@.str9133 = private unnamed_addr constant [4 x i8] c"int\00" +@.str9134 = private unnamed_addr constant [3 x i8] c", \00" +@.str9135 = private unnamed_addr constant [2 x i8] c" \00" +@.str9136 = private unnamed_addr constant [3 x i8] c" \00" +@.str9137 = private unnamed_addr constant [17 x i8] c" = call i32 @ev_\00" +@.str9138 = private unnamed_addr constant [2 x i8] c"(\00" +@.str9139 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str9140 = private unnamed_addr constant [4 x i8] c"int\00" +@.str9141 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" +@.str9142 = private unnamed_addr constant [2 x i8] c"(\00" +@.str9143 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str9144 = private unnamed_addr constant [2 x i8] c"0\00" +@.str9145 = private unnamed_addr constant [4 x i8] c"int\00" +@.str9146 = private unnamed_addr constant [2 x i8] c"0\00" +@.str9147 = private unnamed_addr constant [4 x i8] c"ptr\00" +@.str9148 = private unnamed_addr constant [5 x i8] c"null\00" +@.str9149 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str9150 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9151 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str9152 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9153 = private unnamed_addr constant [44 x i8] c"cancel outside a cancellable event listener\00" +@.str9154 = private unnamed_addr constant [20 x i8] c" store i32 1, ptr \00" +@.str9155 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9156 = private unnamed_addr constant [22 x i8] c"cannot emit statement\00" +@.str9157 = private unnamed_addr constant [9 x i8] c"Occluder\00" +@.str9158 = private unnamed_addr constant [36 x i8] c"@L_running = internal global i32 1\0A\00" +@.str9159 = private unnamed_addr constant [32 x i8] c"@L_key = internal global i32 0\0A\00" +@.str9160 = private unnamed_addr constant [34 x i8] c"@L_frame = internal global i32 0\0A\00" +@.str9161 = private unnamed_addr constant [34 x i8] c"@L_scene = internal global i32 0\0A\00" +@.str9162 = private unnamed_addr constant [33 x i8] c"@L_entc = internal global i32 0\0A\00" +@.str9163 = private unnamed_addr constant [29 x i8] c"@L_alive = internal global [\00" +@.str9164 = private unnamed_addr constant [25 x i8] c" x i32] zeroinitializer\0A\00" +@.str9165 = private unnamed_addr constant [28 x i8] c"@L_kind = internal global [\00" +@.str9166 = private unnamed_addr constant [25 x i8] c" x i32] zeroinitializer\0A\00" +@.str9167 = private unnamed_addr constant [32 x i8] c"@L_freelist = internal global [\00" +@.str9168 = private unnamed_addr constant [25 x i8] c" x i32] zeroinitializer\0A\00" +@.str9169 = private unnamed_addr constant [34 x i8] c"@L_freen = internal global i32 0\0A\00" +@.str9170 = private unnamed_addr constant [33 x i8] c"@L_role = internal global i32 1\0A\00" +@.str9171 = private unnamed_addr constant [36 x i8] c"@L_localid = internal global i32 0\0A\00" +@.str9172 = private unnamed_addr constant [33 x i8] c"@L_owner_arr = internal global [\00" +@.str9173 = private unnamed_addr constant [25 x i8] c" x i32] zeroinitializer\0A\00" +@.str9174 = private unnamed_addr constant [4 x i8] c"@S_\00" +@.str9175 = private unnamed_addr constant [21 x i8] c" = internal global [\00" +@.str9176 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" +@.str9177 = private unnamed_addr constant [19 x i8] c"] zeroinitializer\0A\00" +@.str9178 = private unnamed_addr constant [4 x i8] c"@H_\00" +@.str9179 = private unnamed_addr constant [21 x i8] c" = internal global [\00" +@.str9180 = private unnamed_addr constant [24 x i8] c" x i8] zeroinitializer\0A\00" +@.str9181 = private unnamed_addr constant [5 x i8] c"@ME_\00" +@.str9182 = private unnamed_addr constant [26 x i8] c" = internal global i32 1\0A\00" +@.str9183 = private unnamed_addr constant [5 x i8] c"@HE_\00" +@.str9184 = private unnamed_addr constant [26 x i8] c" = internal global i32 1\0A\00" +@.str9185 = private unnamed_addr constant [5 x i8] c"@LE_\00" +@.str9186 = private unnamed_addr constant [26 x i8] c" = internal global i32 1\0A\00" +@.str9187 = private unnamed_addr constant [39 x i8] c"define void @L_reset(i32 %e) {\0Aentry:\0A\00" +@.str9188 = private unnamed_addr constant [3 x i8] c"%h\00" +@.str9189 = private unnamed_addr constant [3 x i8] c" \00" +@.str9190 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" +@.str9191 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00" +@.str9192 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %e\0A\00" +@.str9193 = private unnamed_addr constant [19 x i8] c" store i8 0, ptr \00" +@.str9194 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9195 = private unnamed_addr constant [32 x i8] c" %k = getelementptr inbounds [\00" +@.str9196 = private unnamed_addr constant [37 x i8] c" x i32], ptr @L_kind, i32 0, i32 %e\0A\00" +@.str9197 = private unnamed_addr constant [23 x i8] c" store i32 0, ptr %k\0A\00" +@.str9198 = private unnamed_addr constant [33 x i8] c" %ow = getelementptr inbounds [\00" +@.str9199 = private unnamed_addr constant [42 x i8] c" x i32], ptr @L_owner_arr, i32 0, i32 %e\0A\00" +@.str9200 = private unnamed_addr constant [25 x i8] c" store i32 -1, ptr %ow\0A\00" +@.str9201 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" +@.str9202 = private unnamed_addr constant [32 x i8] c"define i32 @L_alloc() {\0Aentry:\0A\00" +@.str9203 = private unnamed_addr constant [32 x i8] c" %fn = load i32, ptr @L_freen\0A\00" +@.str9204 = private unnamed_addr constant [30 x i8] c" %has = icmp sgt i32 %fn, 0\0A\00" +@.str9205 = private unnamed_addr constant [42 x i8] c" br i1 %has, label %reuse, label %fresh\0A\00" +@.str9206 = private unnamed_addr constant [8 x i8] c"reuse:\0A\00" +@.str9207 = private unnamed_addr constant [25 x i8] c" %fn1 = sub i32 %fn, 1\0A\00" +@.str9208 = private unnamed_addr constant [32 x i8] c" store i32 %fn1, ptr @L_freen\0A\00" +@.str9209 = private unnamed_addr constant [33 x i8] c" %fp = getelementptr inbounds [\00" +@.str9210 = private unnamed_addr constant [43 x i8] c" x i32], ptr @L_freelist, i32 0, i32 %fn1\0A\00" +@.str9211 = private unnamed_addr constant [27 x i8] c" %re = load i32, ptr %fp\0A\00" +@.str9212 = private unnamed_addr constant [18 x i8] c" br label %done\0A\00" +@.str9213 = private unnamed_addr constant [8 x i8] c"fresh:\0A\00" +@.str9214 = private unnamed_addr constant [31 x i8] c" %ec = load i32, ptr @L_entc\0A\00" +@.str9215 = private unnamed_addr constant [25 x i8] c" %ec1 = add i32 %ec, 1\0A\00" +@.str9216 = private unnamed_addr constant [31 x i8] c" store i32 %ec1, ptr @L_entc\0A\00" +@.str9217 = private unnamed_addr constant [18 x i8] c" br label %done\0A\00" +@.str9218 = private unnamed_addr constant [7 x i8] c"done:\0A\00" +@.str9219 = private unnamed_addr constant [49 x i8] c" %e = phi i32 [ %re, %reuse ], [ %ec, %fresh ]\0A\00" +@.str9220 = private unnamed_addr constant [30 x i8] c" call void @L_reset(i32 %e)\0A\00" +@.str9221 = private unnamed_addr constant [33 x i8] c" %ap = getelementptr inbounds [\00" +@.str9222 = private unnamed_addr constant [38 x i8] c" x i32], ptr @L_alive, i32 0, i32 %e\0A\00" +@.str9223 = private unnamed_addr constant [24 x i8] c" store i32 1, ptr %ap\0A\00" +@.str9224 = private unnamed_addr constant [17 x i8] c" ret i32 %e\0A}\0A\0A\00" +@.str9225 = private unnamed_addr constant [45 x i8] c"define void @L_free_entity(i32 %e) {\0Aentry:\0A\00" +@.str9226 = private unnamed_addr constant [33 x i8] c" %ap = getelementptr inbounds [\00" +@.str9227 = private unnamed_addr constant [38 x i8] c" x i32], ptr @L_alive, i32 0, i32 %e\0A\00" +@.str9228 = private unnamed_addr constant [24 x i8] c" store i32 0, ptr %ap\0A\00" +@.str9229 = private unnamed_addr constant [30 x i8] c" call void @L_reset(i32 %e)\0A\00" +@.str9230 = private unnamed_addr constant [32 x i8] c" %fn = load i32, ptr @L_freen\0A\00" +@.str9231 = private unnamed_addr constant [33 x i8] c" %fp = getelementptr inbounds [\00" +@.str9232 = private unnamed_addr constant [42 x i8] c" x i32], ptr @L_freelist, i32 0, i32 %fn\0A\00" +@.str9233 = private unnamed_addr constant [25 x i8] c" store i32 %e, ptr %fp\0A\00" +@.str9234 = private unnamed_addr constant [25 x i8] c" %fn1 = add i32 %fn, 1\0A\00" +@.str9235 = private unnamed_addr constant [32 x i8] c" store i32 %fn1, ptr @L_freen\0A\00" +@.str9236 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" +@.str9237 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str9238 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str9239 = private unnamed_addr constant [2 x i8] c"0\00" +@.str9240 = private unnamed_addr constant [6 x i8] c"qcond\00" +@.str9241 = private unnamed_addr constant [6 x i8] c"qbody\00" +@.str9242 = private unnamed_addr constant [6 x i8] c"qnext\00" +@.str9243 = private unnamed_addr constant [5 x i8] c"qend\00" +@.str9244 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str9245 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9246 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str9247 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str9248 = private unnamed_addr constant [22 x i8] c"load i32, ptr @L_entc\00" +@.str9249 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" +@.str9250 = private unnamed_addr constant [3 x i8] c", \00" +@.str9251 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str9252 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str9253 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str9254 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9255 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str9256 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str9257 = private unnamed_addr constant [3 x i8] c" \00" +@.str9258 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" +@.str9259 = private unnamed_addr constant [35 x i8] c" x i32], ptr @L_alive, i32 0, i32 \00" +@.str9260 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9261 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str9262 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" +@.str9263 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str9264 = private unnamed_addr constant [3 x i8] c"qa\00" +@.str9265 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str9266 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str9267 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str9268 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9269 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str9270 = private unnamed_addr constant [2 x i8] c"0\00" +@.str9271 = private unnamed_addr constant [3 x i8] c" \00" +@.str9272 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" +@.str9273 = private unnamed_addr constant [34 x i8] c" x i32], ptr @L_kind, i32 0, i32 \00" +@.str9274 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9275 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str9276 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" +@.str9277 = private unnamed_addr constant [3 x i8] c", \00" +@.str9278 = private unnamed_addr constant [19 x i8] c"load i32, ptr @ME_\00" +@.str9279 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" +@.str9280 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str9281 = private unnamed_addr constant [8 x i8] c"and i1 \00" +@.str9282 = private unnamed_addr constant [3 x i8] c", \00" +@.str9283 = private unnamed_addr constant [3 x i8] c" \00" +@.str9284 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" +@.str9285 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00" +@.str9286 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" +@.str9287 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9288 = private unnamed_addr constant [14 x i8] c"load i8, ptr \00" +@.str9289 = private unnamed_addr constant [12 x i8] c"icmp ne i8 \00" +@.str9290 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str9291 = private unnamed_addr constant [3 x i8] c"qt\00" +@.str9292 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str9293 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str9294 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str9295 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9296 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str9297 = private unnamed_addr constant [3 x i8] c" \00" +@.str9298 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" +@.str9299 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" +@.str9300 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" +@.str9301 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" +@.str9302 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9303 = private unnamed_addr constant [4 x i8] c"ptr\00" +@.str9304 = private unnamed_addr constant [13 x i8] c" store ptr \00" +@.str9305 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str9306 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9307 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" +@.str9308 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str9309 = private unnamed_addr constant [3 x i8] c"qw\00" +@.str9310 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str9311 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str9312 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str9313 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9314 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str9315 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str9316 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9317 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str9318 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str9319 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str9320 = private unnamed_addr constant [4 x i8] c", 1\00" +@.str9321 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str9322 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str9323 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9324 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str9325 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str9326 = private unnamed_addr constant [13 x i8] c" store i32 \00" +@.str9327 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str9328 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9329 = private unnamed_addr constant [25 x i8] c"spawn: unknown property \00" +@.str9330 = private unnamed_addr constant [3 x i8] c" \00" +@.str9331 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" +@.str9332 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00" +@.str9333 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" +@.str9334 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9335 = private unnamed_addr constant [19 x i8] c" store i8 1, ptr \00" +@.str9336 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9337 = private unnamed_addr constant [3 x i8] c" \00" +@.str9338 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" +@.str9339 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" +@.str9340 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" +@.str9341 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" +@.str9342 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9343 = private unnamed_addr constant [3 x i8] c" \00" +@.str9344 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00" +@.str9345 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str9346 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" +@.str9347 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9348 = private unnamed_addr constant [2 x i8] c"0\00" +@.str9349 = private unnamed_addr constant [4 x i8] c"ptr\00" +@.str9350 = private unnamed_addr constant [5 x i8] c"null\00" +@.str9351 = private unnamed_addr constant [9 x i8] c" store \00" +@.str9352 = private unnamed_addr constant [2 x i8] c" \00" +@.str9353 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str9354 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9355 = private unnamed_addr constant [3 x i8] c" \00" +@.str9356 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00" +@.str9357 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str9358 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" +@.str9359 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9360 = private unnamed_addr constant [9 x i8] c" store \00" +@.str9361 = private unnamed_addr constant [2 x i8] c" \00" +@.str9362 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str9363 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9364 = private unnamed_addr constant [4 x i8] c"ptr\00" +@.str9365 = private unnamed_addr constant [13 x i8] c" store ptr \00" +@.str9366 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str9367 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9368 = private unnamed_addr constant [6 x i8] c"prop_\00" +@.str9369 = private unnamed_addr constant [8 x i8] c"_attach\00" +@.str9370 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" +@.str9371 = private unnamed_addr constant [6 x i8] c"(i32 \00" +@.str9372 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str9373 = private unnamed_addr constant [3 x i8] c" \00" +@.str9374 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" +@.str9375 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" +@.str9376 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" +@.str9377 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" +@.str9378 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9379 = private unnamed_addr constant [4 x i8] c"ptr\00" +@.str9380 = private unnamed_addr constant [13 x i8] c" store ptr \00" +@.str9381 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str9382 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9383 = private unnamed_addr constant [8 x i8] c"prefab \00" +@.str9384 = private unnamed_addr constant [45 x i8] c": the chain of prefabs never reaches a model\00" +@.str9385 = private unnamed_addr constant [20 x i8] c"call i32 @L_alloc()\00" +@.str9386 = private unnamed_addr constant [8 x i8] c"prefab \00" +@.str9387 = private unnamed_addr constant [17 x i8] c": unknown model \00" +@.str9388 = private unnamed_addr constant [3 x i8] c" \00" +@.str9389 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" +@.str9390 = private unnamed_addr constant [34 x i8] c" x i32], ptr @L_kind, i32 0, i32 \00" +@.str9391 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9392 = private unnamed_addr constant [13 x i8] c" store i32 \00" +@.str9393 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str9394 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9395 = private unnamed_addr constant [7 x i8] c"model_\00" +@.str9396 = private unnamed_addr constant [7 x i8] c"_spawn\00" +@.str9397 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" +@.str9398 = private unnamed_addr constant [6 x i8] c"(i32 \00" +@.str9399 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str9400 = private unnamed_addr constant [3 x i8] c" \00" +@.str9401 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" +@.str9402 = private unnamed_addr constant [34 x i8] c" x i32], ptr @L_kind, i32 0, i32 \00" +@.str9403 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9404 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str9405 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" +@.str9406 = private unnamed_addr constant [3 x i8] c", \00" +@.str9407 = private unnamed_addr constant [3 x i8] c"dh\00" +@.str9408 = private unnamed_addr constant [4 x i8] c"dhn\00" +@.str9409 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str9410 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str9411 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str9412 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9413 = private unnamed_addr constant [27 x i8] c":\0A call void @on_despawn_\00" +@.str9414 = private unnamed_addr constant [6 x i8] c"(i32 \00" +@.str9415 = private unnamed_addr constant [10 x i8] c", i32 0)\0A\00" +@.str9416 = private unnamed_addr constant [7 x i8] c"model_\00" +@.str9417 = private unnamed_addr constant [9 x i8] c"_despawn\00" +@.str9418 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" +@.str9419 = private unnamed_addr constant [6 x i8] c"(i32 \00" +@.str9420 = private unnamed_addr constant [10 x i8] c", i32 0)\0A\00" +@.str9421 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str9422 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9423 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str9424 = private unnamed_addr constant [37 x i8] c" call void @ludic_sweep_entity(i32 \00" +@.str9425 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str9426 = private unnamed_addr constant [32 x i8] c" call void @L_free_entity(i32 \00" +@.str9427 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str9428 = private unnamed_addr constant [3 x i8] c" \00" +@.str9429 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" +@.str9430 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00" +@.str9431 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" +@.str9432 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9433 = private unnamed_addr constant [14 x i8] c"load i8, ptr \00" +@.str9434 = private unnamed_addr constant [12 x i8] c"icmp eq i8 \00" +@.str9435 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str9436 = private unnamed_addr constant [7 x i8] c"attach\00" +@.str9437 = private unnamed_addr constant [8 x i8] c"attdone\00" +@.str9438 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str9439 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str9440 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str9441 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9442 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str9443 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str9444 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9445 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str9446 = private unnamed_addr constant [3 x i8] c" \00" +@.str9447 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" +@.str9448 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00" +@.str9449 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" +@.str9450 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9451 = private unnamed_addr constant [14 x i8] c"load i8, ptr \00" +@.str9452 = private unnamed_addr constant [12 x i8] c"icmp ne i8 \00" +@.str9453 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str9454 = private unnamed_addr constant [7 x i8] c"detach\00" +@.str9455 = private unnamed_addr constant [8 x i8] c"detdone\00" +@.str9456 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str9457 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str9458 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str9459 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9460 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str9461 = private unnamed_addr constant [19 x i8] c" store i8 0, ptr \00" +@.str9462 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9463 = private unnamed_addr constant [3 x i8] c" \00" +@.str9464 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" +@.str9465 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" +@.str9466 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" +@.str9467 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" +@.str9468 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9469 = private unnamed_addr constant [4 x i8] c"ptr\00" +@.str9470 = private unnamed_addr constant [13 x i8] c" store ptr \00" +@.str9471 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str9472 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9473 = private unnamed_addr constant [6 x i8] c"prop_\00" +@.str9474 = private unnamed_addr constant [8 x i8] c"_detach\00" +@.str9475 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" +@.str9476 = private unnamed_addr constant [6 x i8] c"(i32 \00" +@.str9477 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str9478 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str9479 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9480 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str9481 = private unnamed_addr constant [2 x i8] c"0\00" +@.str9482 = private unnamed_addr constant [2 x i8] c"1\00" +@.str9483 = private unnamed_addr constant [7 x i8] c"system\00" +@.str9484 = private unnamed_addr constant [6 x i8] c"layer\00" +@.str9485 = private unnamed_addr constant [13 x i8] c" store i32 \00" +@.str9486 = private unnamed_addr constant [11 x i8] c", ptr @LE_\00" +@.str9487 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9488 = private unnamed_addr constant [7 x i8] c"layer_\00" +@.str9489 = private unnamed_addr constant [6 x i8] c"_hide\00" +@.str9490 = private unnamed_addr constant [7 x i8] c"layer_\00" +@.str9491 = private unnamed_addr constant [6 x i8] c"_show\00" +@.str9492 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" +@.str9493 = private unnamed_addr constant [4 x i8] c"()\0A\00" +@.str9494 = private unnamed_addr constant [3 x i8] c" \00" +@.str9495 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" +@.str9496 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00" +@.str9497 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" +@.str9498 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9499 = private unnamed_addr constant [12 x i8] c" store i8 \00" +@.str9500 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str9501 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9502 = private unnamed_addr constant [3 x i8] c" \00" +@.str9503 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" +@.str9504 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" +@.str9505 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" +@.str9506 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" +@.str9507 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9508 = private unnamed_addr constant [4 x i8] c"ptr\00" +@.str9509 = private unnamed_addr constant [13 x i8] c" store ptr \00" +@.str9510 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str9511 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9512 = private unnamed_addr constant [6 x i8] c"prop_\00" +@.str9513 = private unnamed_addr constant [9 x i8] c"_disable\00" +@.str9514 = private unnamed_addr constant [6 x i8] c"prop_\00" +@.str9515 = private unnamed_addr constant [8 x i8] c"_enable\00" +@.str9516 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" +@.str9517 = private unnamed_addr constant [6 x i8] c"(i32 \00" +@.str9518 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str9519 = private unnamed_addr constant [5 x i8] c"@HE_\00" +@.str9520 = private unnamed_addr constant [5 x i8] c"@ME_\00" +@.str9521 = private unnamed_addr constant [5 x i8] c"@HE_\00" +@.str9522 = private unnamed_addr constant [2 x i8] c"_\00" +@.str9523 = private unnamed_addr constant [13 x i8] c" store i32 \00" +@.str9524 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str9525 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9526 = private unnamed_addr constant [5 x i8] c"void\00" +@.str9527 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00" +@.str9528 = private unnamed_addr constant [17 x i8] c"ret:\0A ret void\0A\00" +@.str9529 = private unnamed_addr constant [18 x i8] c"define void @sys_\00" +@.str9530 = private unnamed_addr constant [13 x i8] c"() {\0Aentry:\0A\00" +@.str9531 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" +@.str9532 = private unnamed_addr constant [19 x i8] c"load i32, ptr @HE_\00" +@.str9533 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" +@.str9534 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str9535 = private unnamed_addr constant [19 x i8] c"load i32, ptr @LE_\00" +@.str9536 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" +@.str9537 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str9538 = private unnamed_addr constant [8 x i8] c"and i1 \00" +@.str9539 = private unnamed_addr constant [3 x i8] c", \00" +@.str9540 = private unnamed_addr constant [22 x i8] c"load i32, ptr @L_role\00" +@.str9541 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" +@.str9542 = private unnamed_addr constant [4 x i8] c", 1\00" +@.str9543 = private unnamed_addr constant [8 x i8] c"and i1 \00" +@.str9544 = private unnamed_addr constant [3 x i8] c", \00" +@.str9545 = private unnamed_addr constant [5 x i8] c"hrun\00" +@.str9546 = private unnamed_addr constant [6 x i8] c"hskip\00" +@.str9547 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str9548 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str9549 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str9550 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9551 = private unnamed_addr constant [20 x i8] c":\0A call void @sys_\00" +@.str9552 = private unnamed_addr constant [4 x i8] c"()\0A\00" +@.str9553 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str9554 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9555 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str9556 = private unnamed_addr constant [17 x i8] c" call void @fn_\00" +@.str9557 = private unnamed_addr constant [4 x i8] c"()\0A\00" +@.str9558 = private unnamed_addr constant [7 x i8] c"Update\00" +@.str9559 = private unnamed_addr constant [11 x i8] c"esys_tween\00" +@.str9560 = private unnamed_addr constant [30 x i8] c" call void @fn_esys_tween()\0A\00" +@.str9561 = private unnamed_addr constant [29 x i8] c" call void @L_countdowns()\0A\00" +@.str9562 = private unnamed_addr constant [8 x i8] c"fx_tick\00" +@.str9563 = private unnamed_addr constant [27 x i8] c" call void @fn_fx_tick()\0A\00" +@.str9564 = private unnamed_addr constant [7 x i8] c"Render\00" +@.str9565 = private unnamed_addr constant [8 x i8] c"fx_draw\00" +@.str9566 = private unnamed_addr constant [27 x i8] c" call void @fn_fx_draw()\0A\00" +@.str9567 = private unnamed_addr constant [38 x i8] c"define void @L_countdowns() {\0Aentry:\0A\00" +@.str9568 = private unnamed_addr constant [53 x i8] c" %n = load i32, ptr @L_entc\0A br label %loop\0Aloop:\0A\00" +@.str9569 = private unnamed_addr constant [46 x i8] c" %i = phi i32 [ 0, %entry ], [ %i1, %next ]\0A\00" +@.str9570 = private unnamed_addr constant [73 x i8] c" %go = icmp slt i32 %i, %n\0A br i1 %go, label %body, label %done\0Abody:\0A\00" +@.str9571 = private unnamed_addr constant [33 x i8] c" %ap = getelementptr inbounds [\00" +@.str9572 = private unnamed_addr constant [38 x i8] c" x i32], ptr @L_alive, i32 0, i32 %i\0A\00" +@.str9573 = private unnamed_addr constant [96 x i8] c" %al = load i32, ptr %ap\0A %alive = icmp ne i32 %al, 0\0A br i1 %alive, label %c0, label %next\0A\00" +@.str9574 = private unnamed_addr constant [10 x i8] c"countdown\00" +@.str9575 = private unnamed_addr constant [2 x i8] c"c\00" +@.str9576 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str9577 = private unnamed_addr constant [5 x i8] c" %h\00" +@.str9578 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" +@.str9579 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00" +@.str9580 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %i\0A\00" +@.str9581 = private unnamed_addr constant [6 x i8] c" %hv\00" +@.str9582 = private unnamed_addr constant [19 x i8] c" = load i8, ptr %h\00" +@.str9583 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9584 = private unnamed_addr constant [7 x i8] c" %has\00" +@.str9585 = private unnamed_addr constant [18 x i8] c" = icmp ne i8 %hv\00" +@.str9586 = private unnamed_addr constant [5 x i8] c", 0\0A\00" +@.str9587 = private unnamed_addr constant [13 x i8] c" br i1 %has\00" +@.str9588 = private unnamed_addr constant [11 x i8] c", label %t\00" +@.str9589 = private unnamed_addr constant [11 x i8] c", label %c\00" +@.str9590 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9591 = private unnamed_addr constant [2 x i8] c"t\00" +@.str9592 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str9593 = private unnamed_addr constant [5 x i8] c" %s\00" +@.str9594 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" +@.str9595 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" +@.str9596 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" +@.str9597 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %i\0A\00" +@.str9598 = private unnamed_addr constant [10 x i8] c"countdown\00" +@.str9599 = private unnamed_addr constant [2 x i8] c"_\00" +@.str9600 = private unnamed_addr constant [6 x i8] c" %fa\00" +@.str9601 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00" +@.str9602 = private unnamed_addr constant [9 x i8] c", ptr %s\00" +@.str9603 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" +@.str9604 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9605 = private unnamed_addr constant [6 x i8] c" %fv\00" +@.str9606 = private unnamed_addr constant [21 x i8] c" = load i32, ptr %fa\00" +@.str9607 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9608 = private unnamed_addr constant [6 x i8] c" %fp\00" +@.str9609 = private unnamed_addr constant [20 x i8] c" = icmp sgt i32 %fv\00" +@.str9610 = private unnamed_addr constant [5 x i8] c", 0\0A\00" +@.str9611 = private unnamed_addr constant [6 x i8] c" %fd\00" +@.str9612 = private unnamed_addr constant [15 x i8] c" = sub i32 %fv\00" +@.str9613 = private unnamed_addr constant [5 x i8] c", 1\0A\00" +@.str9614 = private unnamed_addr constant [6 x i8] c" %fn\00" +@.str9615 = private unnamed_addr constant [17 x i8] c" = select i1 %fp\00" +@.str9616 = private unnamed_addr constant [10 x i8] c", i32 %fd\00" +@.str9617 = private unnamed_addr constant [10 x i8] c", i32 %fv\00" +@.str9618 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9619 = private unnamed_addr constant [16 x i8] c" store i32 %fn\00" +@.str9620 = private unnamed_addr constant [10 x i8] c", ptr %fa\00" +@.str9621 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9622 = private unnamed_addr constant [14 x i8] c" br label %c\00" +@.str9623 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9624 = private unnamed_addr constant [2 x i8] c"c\00" +@.str9625 = private unnamed_addr constant [20 x i8] c":\0A br label %next\0A\00" +@.str9626 = private unnamed_addr constant [66 x i8] c"next:\0A %i1 = add i32 %i, 1\0A br label %loop\0Adone:\0A ret void\0A}\0A\0A\00" +@.str9627 = private unnamed_addr constant [4 x i8] c"int\00" +@.str9628 = private unnamed_addr constant [11 x i8] c" ret i32 \00" +@.str9629 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9630 = private unnamed_addr constant [22 x i8] c"define i32 @L_prefab_\00" +@.str9631 = private unnamed_addr constant [13 x i8] c"() {\0Aentry:\0A\00" +@.str9632 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" +@.str9633 = private unnamed_addr constant [36 x i8] c"call i32 @lp_str_eq(ptr %name, ptr \00" +@.str9634 = private unnamed_addr constant [2 x i8] c")\00" +@.str9635 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" +@.str9636 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str9637 = private unnamed_addr constant [3 x i8] c"pf\00" +@.str9638 = private unnamed_addr constant [4 x i8] c"pfn\00" +@.str9639 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str9640 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str9641 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str9642 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9643 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str9644 = private unnamed_addr constant [20 x i8] c"call i32 @L_prefab_\00" +@.str9645 = private unnamed_addr constant [3 x i8] c"()\00" +@.str9646 = private unnamed_addr constant [11 x i8] c" ret i32 \00" +@.str9647 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9648 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str9649 = private unnamed_addr constant [14 x i8] c" ret i32 -1\0A\00" +@.str9650 = private unnamed_addr constant [48 x i8] c"define i32 @L_spawn_prefab(ptr %name) {\0Aentry:\0A\00" +@.str9651 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" +@.str9652 = private unnamed_addr constant [6 x i8] c"Input\00" +@.str9653 = private unnamed_addr constant [12 x i8] c"FixedUpdate\00" +@.str9654 = private unnamed_addr constant [7 x i8] c"Update\00" +@.str9655 = private unnamed_addr constant [11 x i8] c"LateUpdate\00" +@.str9656 = private unnamed_addr constant [7 x i8] c"Render\00" +@.str9657 = private unnamed_addr constant [6 x i8] c"Start\00" +@.str9658 = private unnamed_addr constant [7 x i8] c"OnQuit\00" +@.str9659 = private unnamed_addr constant [8 x i8] c"Overlay\00" +@.str9660 = private unnamed_addr constant [16 x i8] c"unknown phase '\00" +@.str9661 = private unnamed_addr constant [2 x i8] c"'\00" +@.str9662 = private unnamed_addr constant [6 x i8] c"Start\00" +@.str9663 = private unnamed_addr constant [6 x i8] c"Input\00" +@.str9664 = private unnamed_addr constant [12 x i8] c"FixedUpdate\00" +@.str9665 = private unnamed_addr constant [7 x i8] c"Update\00" +@.str9666 = private unnamed_addr constant [11 x i8] c"LateUpdate\00" +@.str9667 = private unnamed_addr constant [7 x i8] c"Render\00" +@.str9668 = private unnamed_addr constant [8 x i8] c"Overlay\00" +@.str9669 = private unnamed_addr constant [44 x i8] c"declare i32 @ludic_register_prop(ptr, i32)\0A\00" +@.str9670 = private unnamed_addr constant [46 x i8] c"declare i32 @ludic_register_system(ptr, i32)\0A\00" +@.str9671 = private unnamed_addr constant [39 x i8] c"declare i64 @ludic_get(i32, i32, i32)\0A\00" +@.str9672 = private unnamed_addr constant [45 x i8] c"declare void @ludic_set(i32, i32, i32, i64)\0A\00" +@.str9673 = private unnamed_addr constant [34 x i8] c"declare i32 @ludic_has(i32, i32)\0A\00" +@.str9674 = private unnamed_addr constant [42 x i8] c"declare void @ludic_attach_dyn(i32, i32)\0A\00" +@.str9675 = private unnamed_addr constant [42 x i8] c"declare void @ludic_detach_dyn(i32, i32)\0A\00" +@.str9676 = private unnamed_addr constant [33 x i8] c"declare i32 @ludic_prop_id(ptr)\0A\00" +@.str9677 = private unnamed_addr constant [39 x i8] c"declare i32 @ludic_field_id(i32, ptr)\0A\00" +@.str9678 = private unnamed_addr constant [35 x i8] c"declare i32 @ludic_entity_count()\0A\00" +@.str9679 = private unnamed_addr constant [30 x i8] c"declare i32 @ludic_kind(i32)\0A\00" +@.str9680 = private unnamed_addr constant [34 x i8] c"declare i32 @ludic_model_id(ptr)\0A\00" +@.str9681 = private unnamed_addr constant [31 x i8] c"declare i32 @ludic_spawn(i32)\0A\00" +@.str9682 = private unnamed_addr constant [41 x i8] c"declare i32 @ludic_query_next(i32, i32)\0A\00" +@.str9683 = private unnamed_addr constant [33 x i8] c"declare i32 @ludic_prop_count()\0A\00" +@.str9684 = private unnamed_addr constant [35 x i8] c"declare ptr @ludic_prop_name(i32)\0A\00" +@.str9685 = private unnamed_addr constant [37 x i8] c"declare i32 @ludic_field_count(i32)\0A\00" +@.str9686 = private unnamed_addr constant [41 x i8] c"declare ptr @ludic_field_name(i32, i32)\0A\00" +@.str9687 = private unnamed_addr constant [41 x i8] c"declare ptr @ludic_field_type(i32, i32)\0A\00" +@.str9688 = private unnamed_addr constant [42 x i8] c"define void @__ludic_mod_init() {\0Aentry:\0A\00" +@.str9689 = private unnamed_addr constant [12 x i8] c"module_init\00" +@.str9690 = private unnamed_addr constant [31 x i8] c" call void @fn_module_init()\0A\00" +@.str9691 = private unnamed_addr constant [43 x i8] c" call i32 @ludic_register_system(ptr @fn_\00" +@.str9692 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str9693 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str9694 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" +@.str9695 = private unnamed_addr constant [130 x i8] c"@llvm.global_ctors = appending global [1 x { i32, ptr, ptr }] [{ i32, ptr, ptr } { i32 65535, ptr @__ludic_mod_init, ptr null }]\0A\00" +@.str9696 = private unnamed_addr constant [22 x i8] c"@sysreg_fn = global [\00" +@.str9697 = private unnamed_addr constant [25 x i8] c" x ptr] zeroinitializer\0A\00" +@.str9698 = private unnamed_addr constant [25 x i8] c"@sysreg_phase = global [\00" +@.str9699 = private unnamed_addr constant [25 x i8] c" x i32] zeroinitializer\0A\00" +@.str9700 = private unnamed_addr constant [30 x i8] c"@sysreg_count = global i32 0\0A\00" +@.str9701 = private unnamed_addr constant [65 x i8] c"define i32 @ludic_register_system(ptr %fn, i32 %phase) {\0Aentry:\0A\00" +@.str9702 = private unnamed_addr constant [36 x i8] c" %n = load i32, ptr @sysreg_count\0A\00" +@.str9703 = private unnamed_addr constant [26 x i8] c" %ok = icmp slt i32 %n, \00" +@.str9704 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9705 = private unnamed_addr constant [38 x i8] c" br i1 %ok, label %add, label %drop\0A\00" +@.str9706 = private unnamed_addr constant [6 x i8] c"add:\0A\00" +@.str9707 = private unnamed_addr constant [33 x i8] c" %fp = getelementptr inbounds [\00" +@.str9708 = private unnamed_addr constant [40 x i8] c" x ptr], ptr @sysreg_fn, i32 0, i32 %n\0A\00" +@.str9709 = private unnamed_addr constant [26 x i8] c" store ptr %fn, ptr %fp\0A\00" +@.str9710 = private unnamed_addr constant [33 x i8] c" %pp = getelementptr inbounds [\00" +@.str9711 = private unnamed_addr constant [43 x i8] c" x i32], ptr @sysreg_phase, i32 0, i32 %n\0A\00" +@.str9712 = private unnamed_addr constant [29 x i8] c" store i32 %phase, ptr %pp\0A\00" +@.str9713 = private unnamed_addr constant [71 x i8] c" %n1 = add i32 %n, 1\0A store i32 %n1, ptr @sysreg_count\0A ret i32 %n\0A\00" +@.str9714 = private unnamed_addr constant [23 x i8] c"drop:\0A ret i32 -1\0A}\0A\0A\00" +@.str9715 = private unnamed_addr constant [4 x i8] c"dsp\00" +@.str9716 = private unnamed_addr constant [4 x i8] c"dsh\00" +@.str9717 = private unnamed_addr constant [4 x i8] c"dsb\00" +@.str9718 = private unnamed_addr constant [5 x i8] c"dsdo\00" +@.str9719 = private unnamed_addr constant [4 x i8] c"dsc\00" +@.str9720 = private unnamed_addr constant [4 x i8] c"dsn\00" +@.str9721 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str9722 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9723 = private unnamed_addr constant [15 x i8] c":\0A br label %\00" +@.str9724 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9725 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str9726 = private unnamed_addr constant [3 x i8] c" \00" +@.str9727 = private unnamed_addr constant [18 x i8] c" = phi i32 [ 0, %\00" +@.str9728 = private unnamed_addr constant [7 x i8] c" ], [ \00" +@.str9729 = private unnamed_addr constant [4 x i8] c", %\00" +@.str9730 = private unnamed_addr constant [4 x i8] c" ]\0A\00" +@.str9731 = private unnamed_addr constant [28 x i8] c"load i32, ptr @sysreg_count\00" +@.str9732 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" +@.str9733 = private unnamed_addr constant [3 x i8] c", \00" +@.str9734 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str9735 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str9736 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str9737 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9738 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str9739 = private unnamed_addr constant [3 x i8] c" \00" +@.str9740 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" +@.str9741 = private unnamed_addr constant [40 x i8] c" x i32], ptr @sysreg_phase, i32 0, i32 \00" +@.str9742 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9743 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str9744 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" +@.str9745 = private unnamed_addr constant [3 x i8] c", \00" +@.str9746 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str9747 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str9748 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str9749 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9750 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str9751 = private unnamed_addr constant [3 x i8] c" \00" +@.str9752 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" +@.str9753 = private unnamed_addr constant [37 x i8] c" x ptr], ptr @sysreg_fn, i32 0, i32 \00" +@.str9754 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9755 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" +@.str9756 = private unnamed_addr constant [13 x i8] c" call void \00" +@.str9757 = private unnamed_addr constant [4 x i8] c"()\0A\00" +@.str9758 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str9759 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9760 = private unnamed_addr constant [5 x i8] c":\0A \00" +@.str9761 = private unnamed_addr constant [12 x i8] c" = add i32 \00" +@.str9762 = private unnamed_addr constant [17 x i8] c", 1\0A br label %\00" +@.str9763 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9764 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str9765 = private unnamed_addr constant [23 x i8] c"load i32, ptr @L_scene\00" +@.str9766 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" +@.str9767 = private unnamed_addr constant [3 x i8] c", \00" +@.str9768 = private unnamed_addr constant [6 x i8] c"scrun\00" +@.str9769 = private unnamed_addr constant [7 x i8] c"scskip\00" +@.str9770 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str9771 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str9772 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str9773 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9774 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str9775 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str9776 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9777 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str9778 = private unnamed_addr constant [8 x i8] c"Overlay\00" +@.str9779 = private unnamed_addr constant [23 x i8] c"load i32, ptr @L_scene\00" +@.str9780 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" +@.str9781 = private unnamed_addr constant [3 x i8] c", \00" +@.str9782 = private unnamed_addr constant [5 x i8] c"mrun\00" +@.str9783 = private unnamed_addr constant [6 x i8] c"mskip\00" +@.str9784 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str9785 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str9786 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str9787 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9788 = private unnamed_addr constant [34 x i8] c":\0A call void @fn_rt_ui_render()\0A\00" +@.str9789 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str9790 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9791 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str9792 = private unnamed_addr constant [5 x i8] c"void\00" +@.str9793 = private unnamed_addr constant [6 x i8] c"enter\00" +@.str9794 = private unnamed_addr constant [18 x i8] c"input_cursor_mode\00" +@.str9795 = private unnamed_addr constant [42 x i8] c" call void @fn_input_cursor_mode(i32 0)\0A\00" +@.str9796 = private unnamed_addr constant [32 x i8] c" call void @fn_rt_ui_open(i32 \00" +@.str9797 = private unnamed_addr constant [4 x i8] c"UI_\00" +@.str9798 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str9799 = private unnamed_addr constant [5 x i8] c"exit\00" +@.str9800 = private unnamed_addr constant [31 x i8] c" call void @fn_rt_ui_close()\0A\00" +@.str9801 = private unnamed_addr constant [7 x i8] c"scene_\00" +@.str9802 = private unnamed_addr constant [2 x i8] c"_\00" +@.str9803 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" +@.str9804 = private unnamed_addr constant [4 x i8] c"()\0A\00" +@.str9805 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00" +@.str9806 = private unnamed_addr constant [17 x i8] c"ret:\0A ret void\0A\00" +@.str9807 = private unnamed_addr constant [20 x i8] c"define void @scene_\00" +@.str9808 = private unnamed_addr constant [2 x i8] c"_\00" +@.str9809 = private unnamed_addr constant [13 x i8] c"() {\0Aentry:\0A\00" +@.str9810 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" +@.str9811 = private unnamed_addr constant [6 x i8] c"enter\00" +@.str9812 = private unnamed_addr constant [5 x i8] c"exit\00" +@.str9813 = private unnamed_addr constant [39 x i8] c"define void @L_scene_leave() {\0Aentry:\0A\00" +@.str9814 = private unnamed_addr constant [31 x i8] c" %s = load i32, ptr @L_scene\0A\00" +@.str9815 = private unnamed_addr constant [6 x i8] c" %is\00" +@.str9816 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %s, \00" +@.str9817 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9818 = private unnamed_addr constant [12 x i8] c" br i1 %is\00" +@.str9819 = private unnamed_addr constant [15 x i8] c", label %leave\00" +@.str9820 = private unnamed_addr constant [14 x i8] c", label %next\00" +@.str9821 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9822 = private unnamed_addr constant [6 x i8] c"leave\00" +@.str9823 = private unnamed_addr constant [27 x i8] c":\0A call void @scene_exit_\00" +@.str9824 = private unnamed_addr constant [15 x i8] c"()\0A ret void\0A\00" +@.str9825 = private unnamed_addr constant [5 x i8] c"next\00" +@.str9826 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str9827 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" +@.str9828 = private unnamed_addr constant [5 x i8] c"void\00" +@.str9829 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str9830 = private unnamed_addr constant [26 x i8] c" store i32 %reason, ptr \00" +@.str9831 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9832 = private unnamed_addr constant [4 x i8] c"int\00" +@.str9833 = private unnamed_addr constant [3 x i8] c"%e\00" +@.str9834 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00" +@.str9835 = private unnamed_addr constant [17 x i8] c"ret:\0A ret void\0A\00" +@.str9836 = private unnamed_addr constant [25 x i8] c"define void @on_despawn_\00" +@.str9837 = private unnamed_addr constant [32 x i8] c"(i32 %e, i32 %reason) {\0Aentry:\0A\00" +@.str9838 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" +@.str9839 = private unnamed_addr constant [48 x i8] c"define void @fn_world_despawn(i32 %e) {\0Aentry:\0A\00" +@.str9840 = private unnamed_addr constant [33 x i8] c" %kp = getelementptr inbounds [\00" +@.str9841 = private unnamed_addr constant [37 x i8] c" x i32], ptr @L_kind, i32 0, i32 %e\0A\00" +@.str9842 = private unnamed_addr constant [26 x i8] c" %k = load i32, ptr %kp\0A\00" +@.str9843 = private unnamed_addr constant [5 x i8] c" %c\00" +@.str9844 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %k, \00" +@.str9845 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9846 = private unnamed_addr constant [11 x i8] c" br i1 %c\00" +@.str9847 = private unnamed_addr constant [13 x i8] c", label %hit\00" +@.str9848 = private unnamed_addr constant [14 x i8] c", label %next\00" +@.str9849 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9850 = private unnamed_addr constant [4 x i8] c"hit\00" +@.str9851 = private unnamed_addr constant [27 x i8] c":\0A call void @on_despawn_\00" +@.str9852 = private unnamed_addr constant [17 x i8] c"(i32 %e, i32 0)\0A\00" +@.str9853 = private unnamed_addr constant [7 x i8] c"model_\00" +@.str9854 = private unnamed_addr constant [9 x i8] c"_despawn\00" +@.str9855 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" +@.str9856 = private unnamed_addr constant [17 x i8] c"(i32 %e, i32 0)\0A\00" +@.str9857 = private unnamed_addr constant [17 x i8] c" br label %next\00" +@.str9858 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9859 = private unnamed_addr constant [5 x i8] c"next\00" +@.str9860 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str9861 = private unnamed_addr constant [41 x i8] c" call void @ludic_sweep_entity(i32 %e)\0A\00" +@.str9862 = private unnamed_addr constant [36 x i8] c" call void @L_free_entity(i32 %e)\0A\00" +@.str9863 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" +@.str9864 = private unnamed_addr constant [67 x i8] c"define void @L_despawn_all(i32 %reason) {\0Aentry:\0A br label %loop\0A\00" +@.str9865 = private unnamed_addr constant [52 x i8] c"loop:\0A %i = phi i32 [ 0, %entry ], [ %i1, %cont ]\0A\00" +@.str9866 = private unnamed_addr constant [58 x i8] c" %n = load i32, ptr @L_entc\0A %go = icmp slt i32 %i, %n\0A\00" +@.str9867 = private unnamed_addr constant [38 x i8] c" br i1 %go, label %body, label %fin\0A\00" +@.str9868 = private unnamed_addr constant [39 x i8] c"body:\0A %ap = getelementptr inbounds [\00" +@.str9869 = private unnamed_addr constant [38 x i8] c" x i32], ptr @L_alive, i32 0, i32 %i\0A\00" +@.str9870 = private unnamed_addr constant [55 x i8] c" %al = load i32, ptr %ap\0A %isa = icmp ne i32 %al, 0\0A\00" +@.str9871 = private unnamed_addr constant [38 x i8] c" br i1 %isa, label %do, label %cont\0A\00" +@.str9872 = private unnamed_addr constant [37 x i8] c"do:\0A %kp = getelementptr inbounds [\00" +@.str9873 = private unnamed_addr constant [37 x i8] c" x i32], ptr @L_kind, i32 0, i32 %i\0A\00" +@.str9874 = private unnamed_addr constant [26 x i8] c" %k = load i32, ptr %kp\0A\00" +@.str9875 = private unnamed_addr constant [5 x i8] c" %c\00" +@.str9876 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %k, \00" +@.str9877 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9878 = private unnamed_addr constant [11 x i8] c" br i1 %c\00" +@.str9879 = private unnamed_addr constant [13 x i8] c", label %hit\00" +@.str9880 = private unnamed_addr constant [14 x i8] c", label %next\00" +@.str9881 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9882 = private unnamed_addr constant [4 x i8] c"hit\00" +@.str9883 = private unnamed_addr constant [27 x i8] c":\0A call void @on_despawn_\00" +@.str9884 = private unnamed_addr constant [23 x i8] c"(i32 %i, i32 %reason)\0A\00" +@.str9885 = private unnamed_addr constant [7 x i8] c"model_\00" +@.str9886 = private unnamed_addr constant [9 x i8] c"_despawn\00" +@.str9887 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" +@.str9888 = private unnamed_addr constant [23 x i8] c"(i32 %i, i32 %reason)\0A\00" +@.str9889 = private unnamed_addr constant [17 x i8] c" br label %next\00" +@.str9890 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9891 = private unnamed_addr constant [5 x i8] c"next\00" +@.str9892 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str9893 = private unnamed_addr constant [18 x i8] c" br label %cont\0A\00" +@.str9894 = private unnamed_addr constant [46 x i8] c"cont:\0A %i1 = add i32 %i, 1\0A br label %loop\0A\00" +@.str9895 = private unnamed_addr constant [20 x i8] c"fin:\0A ret void\0A}\0A\0A\00" +@.str9896 = private unnamed_addr constant [26 x i8] c"@ev_depth = global i32 0\0A\00" +@.str9897 = private unnamed_addr constant [5 x i8] c"%Ev_\00" +@.str9898 = private unnamed_addr constant [11 x i8] c" = type { \00" +@.str9899 = private unnamed_addr constant [3 x i8] c", \00" +@.str9900 = private unnamed_addr constant [3 x i8] c", \00" +@.str9901 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str9902 = private unnamed_addr constant [4 x i8] c" }\0A\00" +@.str9903 = private unnamed_addr constant [6 x i8] c"@evL_\00" +@.str9904 = private unnamed_addr constant [12 x i8] c" = global [\00" +@.str9905 = private unnamed_addr constant [25 x i8] c" x ptr] zeroinitializer\0A\00" +@.str9906 = private unnamed_addr constant [6 x i8] c"@evN_\00" +@.str9907 = private unnamed_addr constant [17 x i8] c" = global i32 0\0A\00" +@.str9908 = private unnamed_addr constant [6 x i8] c"@evO_\00" +@.str9909 = private unnamed_addr constant [12 x i8] c" = global [\00" +@.str9910 = private unnamed_addr constant [25 x i8] c" x i32] zeroinitializer\0A\00" +@.str9911 = private unnamed_addr constant [22 x i8] c"define i32 @ludic_on_\00" +@.str9912 = private unnamed_addr constant [20 x i8] c"(ptr %cb) {\0Aentry:\0A\00" +@.str9913 = private unnamed_addr constant [27 x i8] c" %n = load i32, ptr @evN_\00" +@.str9914 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9915 = private unnamed_addr constant [28 x i8] c" %full = icmp slt i32 %n, \00" +@.str9916 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9917 = private unnamed_addr constant [40 x i8] c" br i1 %full, label %add, label %drop\0A\00" +@.str9918 = private unnamed_addr constant [40 x i8] c"add:\0A %slot = getelementptr inbounds [\00" +@.str9919 = private unnamed_addr constant [19 x i8] c" x ptr], ptr @evL_\00" +@.str9920 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %n\0A\00" +@.str9921 = private unnamed_addr constant [28 x i8] c" store ptr %cb, ptr %slot\0A\00" +@.str9922 = private unnamed_addr constant [36 x i8] c" %oslot = getelementptr inbounds [\00" +@.str9923 = private unnamed_addr constant [19 x i8] c" x i32], ptr @evO_\00" +@.str9924 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %n\0A\00" +@.str9925 = private unnamed_addr constant [28 x i8] c" store i32 -1, ptr %oslot\0A\00" +@.str9926 = private unnamed_addr constant [49 x i8] c" %n1 = add i32 %n, 1\0A store i32 %n1, ptr @evN_\00" +@.str9927 = private unnamed_addr constant [15 x i8] c"\0A ret i32 %n\0A\00" +@.str9928 = private unnamed_addr constant [23 x i8] c"drop:\0A ret i32 -1\0A}\0A\0A\00" +@.str9929 = private unnamed_addr constant [29 x i8] c"define i32 @ludic_on_entity_\00" +@.str9930 = private unnamed_addr constant [32 x i8] c"(i32 %owner, ptr %cb) {\0Aentry:\0A\00" +@.str9931 = private unnamed_addr constant [27 x i8] c" %n = load i32, ptr @evN_\00" +@.str9932 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9933 = private unnamed_addr constant [28 x i8] c" %full = icmp slt i32 %n, \00" +@.str9934 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9935 = private unnamed_addr constant [40 x i8] c" br i1 %full, label %add, label %drop\0A\00" +@.str9936 = private unnamed_addr constant [40 x i8] c"add:\0A %slot = getelementptr inbounds [\00" +@.str9937 = private unnamed_addr constant [19 x i8] c" x ptr], ptr @evL_\00" +@.str9938 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %n\0A\00" +@.str9939 = private unnamed_addr constant [28 x i8] c" store ptr %cb, ptr %slot\0A\00" +@.str9940 = private unnamed_addr constant [36 x i8] c" %oslot = getelementptr inbounds [\00" +@.str9941 = private unnamed_addr constant [19 x i8] c" x i32], ptr @evO_\00" +@.str9942 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %n\0A\00" +@.str9943 = private unnamed_addr constant [32 x i8] c" store i32 %owner, ptr %oslot\0A\00" +@.str9944 = private unnamed_addr constant [49 x i8] c" %n1 = add i32 %n, 1\0A store i32 %n1, ptr @evN_\00" +@.str9945 = private unnamed_addr constant [15 x i8] c"\0A ret i32 %n\0A\00" +@.str9946 = private unnamed_addr constant [23 x i8] c"drop:\0A ret i32 -1\0A}\0A\0A\00" +@.str9947 = private unnamed_addr constant [24 x i8] c"define void @ludic_off_\00" +@.str9948 = private unnamed_addr constant [21 x i8] c"(i32 %tok) {\0Aentry:\0A\00" +@.str9949 = private unnamed_addr constant [27 x i8] c" %n = load i32, ptr @evN_\00" +@.str9950 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9951 = 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" +@.str9952 = private unnamed_addr constant [37 x i8] c" br i1 %ok, label %do, label %skip\0A\00" +@.str9953 = private unnamed_addr constant [39 x i8] c"do:\0A %slot = getelementptr inbounds [\00" +@.str9954 = private unnamed_addr constant [19 x i8] c" x ptr], ptr @evL_\00" +@.str9955 = private unnamed_addr constant [19 x i8] c", i32 0, i32 %tok\0A\00" +@.str9956 = private unnamed_addr constant [46 x i8] c" store ptr null, ptr %slot\0A br label %skip\0A\00" +@.str9957 = private unnamed_addr constant [21 x i8] c"skip:\0A ret void\0A}\0A\0A\00" +@.str9958 = private unnamed_addr constant [5 x i8] c"void\00" +@.str9959 = private unnamed_addr constant [34 x i8] c" %evd = load i32, ptr @ev_depth\0A\00" +@.str9960 = private unnamed_addr constant [32 x i8] c" %evover = icmp sge i32 %evd, \00" +@.str9961 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9962 = private unnamed_addr constant [44 x i8] c" br i1 %evover, label %evcap, label %evgo\0A\00" +@.str9963 = private unnamed_addr constant [8 x i8] c"evcap:\0A\00" +@.str9964 = private unnamed_addr constant [13 x i8] c" ret i32 0\0A\00" +@.str9965 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" +@.str9966 = private unnamed_addr constant [7 x i8] c"evgo:\0A\00" +@.str9967 = private unnamed_addr constant [60 x i8] c" %evd1 = add i32 %evd, 1\0A store i32 %evd1, ptr @ev_depth\0A\00" +@.str9968 = private unnamed_addr constant [5 x i8] c"%Ev_\00" +@.str9969 = private unnamed_addr constant [3 x i8] c" \00" +@.str9970 = private unnamed_addr constant [31 x i8] c" = getelementptr inbounds %Ev_\00" +@.str9971 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str9972 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" +@.str9973 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9974 = private unnamed_addr constant [9 x i8] c" store \00" +@.str9975 = private unnamed_addr constant [4 x i8] c" %p\00" +@.str9976 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str9977 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9978 = private unnamed_addr constant [9 x i8] c" store \00" +@.str9979 = private unnamed_addr constant [4 x i8] c" %p\00" +@.str9980 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str9981 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9982 = private unnamed_addr constant [3 x i8] c" \00" +@.str9983 = private unnamed_addr constant [31 x i8] c" = getelementptr inbounds %Ev_\00" +@.str9984 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str9985 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" +@.str9986 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9987 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00" +@.str9988 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9989 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str9990 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00" +@.str9991 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9992 = private unnamed_addr constant [4 x i8] c"evl\00" +@.str9993 = private unnamed_addr constant [4 x i8] c"evb\00" +@.str9994 = private unnamed_addr constant [4 x i8] c"evd\00" +@.str9995 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str9996 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str9997 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str9998 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str9999 = private unnamed_addr constant [20 x i8] c"load i32, ptr @evN_\00" +@.str10000 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" +@.str10001 = private unnamed_addr constant [3 x i8] c", \00" +@.str10002 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str10003 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str10004 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str10005 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10006 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str10007 = private unnamed_addr constant [3 x i8] c" \00" +@.str10008 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" +@.str10009 = private unnamed_addr constant [19 x i8] c" x ptr], ptr @evL_\00" +@.str10010 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" +@.str10011 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10012 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" +@.str10013 = private unnamed_addr constant [13 x i8] c"icmp eq ptr \00" +@.str10014 = private unnamed_addr constant [7 x i8] c", null\00" +@.str10015 = private unnamed_addr constant [5 x i8] c"evdo\00" +@.str10016 = private unnamed_addr constant [5 x i8] c"evsk\00" +@.str10017 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str10018 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str10019 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str10020 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10021 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str10022 = private unnamed_addr constant [13 x i8] c" call void \00" +@.str10023 = private unnamed_addr constant [6 x i8] c"(ptr \00" +@.str10024 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str10025 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str10026 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10027 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str10028 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str10029 = private unnamed_addr constant [4 x i8] c", 1\00" +@.str10030 = private unnamed_addr constant [13 x i8] c" store i32 \00" +@.str10031 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str10032 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10033 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str10034 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10035 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str10036 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00" +@.str10037 = private unnamed_addr constant [6 x i8] c"ret:\0A\00" +@.str10038 = 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" +@.str10039 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" +@.str10040 = private unnamed_addr constant [11 x i8] c" ret i32 \00" +@.str10041 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10042 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" +@.str10043 = private unnamed_addr constant [5 x i8] c"void\00" +@.str10044 = private unnamed_addr constant [4 x i8] c"i32\00" +@.str10045 = private unnamed_addr constant [8 x i8] c"define \00" +@.str10046 = private unnamed_addr constant [6 x i8] c" @ev_\00" +@.str10047 = private unnamed_addr constant [2 x i8] c"(\00" +@.str10048 = private unnamed_addr constant [3 x i8] c", \00" +@.str10049 = private unnamed_addr constant [4 x i8] c" %p\00" +@.str10050 = private unnamed_addr constant [12 x i8] c") {\0Aentry:\0A\00" +@.str10051 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" +@.str10052 = 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" +@.str10053 = private unnamed_addr constant [3 x i8] c"sw\00" +@.str10054 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str10055 = private unnamed_addr constant [7 x i8] c" %swi\00" +@.str10056 = private unnamed_addr constant [22 x i8] c" = load i32, ptr %ci\0A\00" +@.str10057 = private unnamed_addr constant [7 x i8] c" %swn\00" +@.str10058 = private unnamed_addr constant [23 x i8] c" = load i32, ptr @evN_\00" +@.str10059 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10060 = private unnamed_addr constant [7 x i8] c" %swg\00" +@.str10061 = private unnamed_addr constant [21 x i8] c" = icmp slt i32 %swi\00" +@.str10062 = private unnamed_addr constant [7 x i8] c", %swn\00" +@.str10063 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10064 = private unnamed_addr constant [13 x i8] c" br i1 %swg\00" +@.str10065 = private unnamed_addr constant [13 x i8] c", label %swb\00" +@.str10066 = private unnamed_addr constant [13 x i8] c", label %swd\00" +@.str10067 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10068 = private unnamed_addr constant [4 x i8] c"swb\00" +@.str10069 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str10070 = private unnamed_addr constant [8 x i8] c" %swop\00" +@.str10071 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" +@.str10072 = private unnamed_addr constant [19 x i8] c" x i32], ptr @evO_\00" +@.str10073 = private unnamed_addr constant [18 x i8] c", i32 0, i32 %swi\00" +@.str10074 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10075 = private unnamed_addr constant [8 x i8] c" %swov\00" +@.str10076 = private unnamed_addr constant [23 x i8] c" = load i32, ptr %swop\00" +@.str10077 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10078 = private unnamed_addr constant [7 x i8] c" %swm\00" +@.str10079 = private unnamed_addr constant [21 x i8] c" = icmp eq i32 %swov\00" +@.str10080 = private unnamed_addr constant [10 x i8] c", %owner\0A\00" +@.str10081 = private unnamed_addr constant [13 x i8] c" br i1 %swm\00" +@.str10082 = private unnamed_addr constant [13 x i8] c", label %swh\00" +@.str10083 = private unnamed_addr constant [13 x i8] c", label %swx\00" +@.str10084 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10085 = private unnamed_addr constant [4 x i8] c"swh\00" +@.str10086 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str10087 = private unnamed_addr constant [8 x i8] c" %swlp\00" +@.str10088 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" +@.str10089 = private unnamed_addr constant [19 x i8] c" x ptr], ptr @evL_\00" +@.str10090 = private unnamed_addr constant [18 x i8] c", i32 0, i32 %swi\00" +@.str10091 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10092 = private unnamed_addr constant [28 x i8] c" store ptr null, ptr %swlp\00" +@.str10093 = private unnamed_addr constant [17 x i8] c"\0A br label %swx\00" +@.str10094 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10095 = private unnamed_addr constant [4 x i8] c"swx\00" +@.str10096 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str10097 = private unnamed_addr constant [9 x i8] c" %swinc\00" +@.str10098 = private unnamed_addr constant [16 x i8] c" = add i32 %swi\00" +@.str10099 = private unnamed_addr constant [23 x i8] c", 1\0A store i32 %swinc\00" +@.str10100 = private unnamed_addr constant [25 x i8] c", ptr %ci\0A br label %sw\00" +@.str10101 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10102 = private unnamed_addr constant [4 x i8] c"swd\00" +@.str10103 = private unnamed_addr constant [26 x i8] c":\0A store i32 0, ptr %ci\0A\00" +@.str10104 = private unnamed_addr constant [15 x i8] c" br label %sw\00" +@.str10105 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10106 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" +@.str10107 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" +@.str10108 = private unnamed_addr constant [27 x i8] c"@dyn_count = global i32 0\0A\00" +@.str10109 = private unnamed_addr constant [43 x i8] c"@dynS = global [32 x ptr] zeroinitializer\0A\00" +@.str10110 = private unnamed_addr constant [43 x i8] c"@dynH = global [32 x ptr] zeroinitializer\0A\00" +@.str10111 = private unnamed_addr constant [43 x i8] c"@dynF = global [32 x i32] zeroinitializer\0A\00" +@.str10112 = private unnamed_addr constant [46 x i8] c"@dynName = global [32 x ptr] zeroinitializer\0A\00" +@.str10113 = private unnamed_addr constant [47 x i8] c"define i32 @ludic_prop_id(ptr %name) {\0Aentry:\0A\00" +@.str10114 = private unnamed_addr constant [5 x i8] c" %c\00" +@.str10115 = private unnamed_addr constant [36 x i8] c" = call i32 @strcmp(ptr %name, ptr \00" +@.str10116 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str10117 = private unnamed_addr constant [5 x i8] c" %e\00" +@.str10118 = private unnamed_addr constant [18 x i8] c" = icmp eq i32 %c\00" +@.str10119 = private unnamed_addr constant [5 x i8] c", 0\0A\00" +@.str10120 = private unnamed_addr constant [11 x i8] c" br i1 %e\00" +@.str10121 = private unnamed_addr constant [11 x i8] c", label %h\00" +@.str10122 = private unnamed_addr constant [11 x i8] c", label %n\00" +@.str10123 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10124 = private unnamed_addr constant [2 x i8] c"h\00" +@.str10125 = private unnamed_addr constant [13 x i8] c":\0A ret i32 \00" +@.str10126 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10127 = private unnamed_addr constant [2 x i8] c"n\00" +@.str10128 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str10129 = private unnamed_addr constant [61 x i8] c" %dpi = alloca i32\0A store i32 0, ptr %dpi\0A br label %dpl\0A\00" +@.str10130 = 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" +@.str10131 = 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" +@.str10132 = private unnamed_addr constant [31 x i8] c"dphit:\0A %drid = add i32 %di, \00" +@.str10133 = private unnamed_addr constant [18 x i8] c"\0A ret i32 %drid\0A\00" +@.str10134 = 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" +@.str10135 = private unnamed_addr constant [25 x i8] c"dpnone:\0A ret i32 -1\0A}\0A\0A\00" +@.str10136 = private unnamed_addr constant [56 x i8] c"define i32 @ludic_field_id(i32 %p, ptr %name) {\0Aentry:\0A\00" +@.str10137 = private unnamed_addr constant [6 x i8] c" %pm\00" +@.str10138 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %p, \00" +@.str10139 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10140 = private unnamed_addr constant [12 x i8] c" br i1 %pm\00" +@.str10141 = private unnamed_addr constant [12 x i8] c", label %pk\00" +@.str10142 = private unnamed_addr constant [12 x i8] c", label %pn\00" +@.str10143 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10144 = private unnamed_addr constant [3 x i8] c"pk\00" +@.str10145 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str10146 = private unnamed_addr constant [2 x i8] c"_\00" +@.str10147 = private unnamed_addr constant [6 x i8] c" %fc\00" +@.str10148 = private unnamed_addr constant [36 x i8] c" = call i32 @strcmp(ptr %name, ptr \00" +@.str10149 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str10150 = private unnamed_addr constant [6 x i8] c" %fe\00" +@.str10151 = private unnamed_addr constant [19 x i8] c" = icmp eq i32 %fc\00" +@.str10152 = private unnamed_addr constant [5 x i8] c", 0\0A\00" +@.str10153 = private unnamed_addr constant [12 x i8] c" br i1 %fe\00" +@.str10154 = private unnamed_addr constant [12 x i8] c", label %fh\00" +@.str10155 = private unnamed_addr constant [12 x i8] c", label %fn\00" +@.str10156 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10157 = private unnamed_addr constant [3 x i8] c"fh\00" +@.str10158 = private unnamed_addr constant [13 x i8] c":\0A ret i32 \00" +@.str10159 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10160 = private unnamed_addr constant [3 x i8] c"fn\00" +@.str10161 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str10162 = private unnamed_addr constant [14 x i8] c" ret i32 -1\0A\00" +@.str10163 = private unnamed_addr constant [3 x i8] c"pn\00" +@.str10164 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str10165 = private unnamed_addr constant [17 x i8] c" ret i32 -1\0A}\0A\0A\00" +@.str10166 = private unnamed_addr constant [56 x i8] c"define i64 @ludic_get(i32 %e, i32 %p, i32 %f) {\0Aentry:\0A\00" +@.str10167 = private unnamed_addr constant [5 x i8] c" %m\00" +@.str10168 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %p, \00" +@.str10169 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10170 = private unnamed_addr constant [11 x i8] c" br i1 %m\00" +@.str10171 = private unnamed_addr constant [11 x i8] c", label %g\00" +@.str10172 = private unnamed_addr constant [12 x i8] c", label %gn\00" +@.str10173 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10174 = private unnamed_addr constant [2 x i8] c"g\00" +@.str10175 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str10176 = private unnamed_addr constant [5 x i8] c" %s\00" +@.str10177 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" +@.str10178 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" +@.str10179 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" +@.str10180 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %e\0A\00" +@.str10181 = private unnamed_addr constant [2 x i8] c"_\00" +@.str10182 = private unnamed_addr constant [6 x i8] c" %gm\00" +@.str10183 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %f, \00" +@.str10184 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10185 = private unnamed_addr constant [12 x i8] c" br i1 %gm\00" +@.str10186 = private unnamed_addr constant [12 x i8] c", label %gf\00" +@.str10187 = private unnamed_addr constant [12 x i8] c", label %gk\00" +@.str10188 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10189 = private unnamed_addr constant [3 x i8] c"gf\00" +@.str10190 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str10191 = private unnamed_addr constant [6 x i8] c" %ga\00" +@.str10192 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00" +@.str10193 = private unnamed_addr constant [9 x i8] c", ptr %s\00" +@.str10194 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" +@.str10195 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10196 = private unnamed_addr constant [4 x i8] c"ptr\00" +@.str10197 = private unnamed_addr constant [6 x i8] c" %gl\00" +@.str10198 = private unnamed_addr constant [21 x i8] c" = load ptr, ptr %ga\00" +@.str10199 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10200 = private unnamed_addr constant [6 x i8] c" %gr\00" +@.str10201 = private unnamed_addr constant [20 x i8] c" = ptrtoint ptr %gl\00" +@.str10202 = private unnamed_addr constant [22 x i8] c" to i64\0A ret i64 %gr\00" +@.str10203 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10204 = private unnamed_addr constant [3 x i8] c"i8\00" +@.str10205 = private unnamed_addr constant [6 x i8] c" %gl\00" +@.str10206 = private unnamed_addr constant [20 x i8] c" = load i8, ptr %ga\00" +@.str10207 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10208 = private unnamed_addr constant [6 x i8] c" %gr\00" +@.str10209 = private unnamed_addr constant [15 x i8] c" = zext i8 %gl\00" +@.str10210 = private unnamed_addr constant [22 x i8] c" to i64\0A ret i64 %gr\00" +@.str10211 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10212 = private unnamed_addr constant [6 x i8] c" %gl\00" +@.str10213 = private unnamed_addr constant [21 x i8] c" = load i32, ptr %ga\00" +@.str10214 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10215 = private unnamed_addr constant [6 x i8] c" %gr\00" +@.str10216 = private unnamed_addr constant [16 x i8] c" = sext i32 %gl\00" +@.str10217 = private unnamed_addr constant [22 x i8] c" to i64\0A ret i64 %gr\00" +@.str10218 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10219 = private unnamed_addr constant [3 x i8] c"gk\00" +@.str10220 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str10221 = private unnamed_addr constant [13 x i8] c" ret i64 0\0A\00" +@.str10222 = private unnamed_addr constant [3 x i8] c"gn\00" +@.str10223 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str10224 = private unnamed_addr constant [23 x i8] c" %gdyn = sub i32 %p, \00" +@.str10225 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10226 = 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" +@.str10227 = 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" +@.str10228 = 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" +@.str10229 = 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" +@.str10230 = private unnamed_addr constant [24 x i8] c"gdnone:\0A ret i64 0\0A}\0A\0A\00" +@.str10231 = private unnamed_addr constant [67 x i8] c"define void @ludic_set(i32 %e, i32 %p, i32 %f, i64 %val) {\0Aentry:\0A\00" +@.str10232 = private unnamed_addr constant [5 x i8] c" %m\00" +@.str10233 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %p, \00" +@.str10234 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10235 = private unnamed_addr constant [11 x i8] c" br i1 %m\00" +@.str10236 = private unnamed_addr constant [11 x i8] c", label %g\00" +@.str10237 = private unnamed_addr constant [12 x i8] c", label %gn\00" +@.str10238 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10239 = private unnamed_addr constant [2 x i8] c"g\00" +@.str10240 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str10241 = private unnamed_addr constant [5 x i8] c" %s\00" +@.str10242 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" +@.str10243 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" +@.str10244 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" +@.str10245 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %e\0A\00" +@.str10246 = private unnamed_addr constant [2 x i8] c"_\00" +@.str10247 = private unnamed_addr constant [6 x i8] c" %sm\00" +@.str10248 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %f, \00" +@.str10249 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10250 = private unnamed_addr constant [12 x i8] c" br i1 %sm\00" +@.str10251 = private unnamed_addr constant [12 x i8] c", label %sf\00" +@.str10252 = private unnamed_addr constant [12 x i8] c", label %sk\00" +@.str10253 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10254 = private unnamed_addr constant [3 x i8] c"sf\00" +@.str10255 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str10256 = private unnamed_addr constant [6 x i8] c" %sa\00" +@.str10257 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00" +@.str10258 = private unnamed_addr constant [9 x i8] c", ptr %s\00" +@.str10259 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" +@.str10260 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10261 = private unnamed_addr constant [4 x i8] c"ptr\00" +@.str10262 = private unnamed_addr constant [6 x i8] c" %sp\00" +@.str10263 = private unnamed_addr constant [29 x i8] c" = inttoptr i64 %val to ptr\0A\00" +@.str10264 = private unnamed_addr constant [16 x i8] c" store ptr %sp\00" +@.str10265 = private unnamed_addr constant [10 x i8] c", ptr %sa\00" +@.str10266 = private unnamed_addr constant [13 x i8] c"\0A ret void\0A\00" +@.str10267 = private unnamed_addr constant [3 x i8] c"i8\00" +@.str10268 = private unnamed_addr constant [6 x i8] c" %sb\00" +@.str10269 = private unnamed_addr constant [25 x i8] c" = trunc i64 %val to i8\0A\00" +@.str10270 = private unnamed_addr constant [15 x i8] c" store i8 %sb\00" +@.str10271 = private unnamed_addr constant [10 x i8] c", ptr %sa\00" +@.str10272 = private unnamed_addr constant [13 x i8] c"\0A ret void\0A\00" +@.str10273 = private unnamed_addr constant [6 x i8] c" %sw\00" +@.str10274 = private unnamed_addr constant [26 x i8] c" = trunc i64 %val to i32\0A\00" +@.str10275 = private unnamed_addr constant [16 x i8] c" store i32 %sw\00" +@.str10276 = private unnamed_addr constant [10 x i8] c", ptr %sa\00" +@.str10277 = private unnamed_addr constant [13 x i8] c"\0A ret void\0A\00" +@.str10278 = private unnamed_addr constant [3 x i8] c"sk\00" +@.str10279 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str10280 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" +@.str10281 = private unnamed_addr constant [3 x i8] c"gn\00" +@.str10282 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str10283 = private unnamed_addr constant [23 x i8] c" %sdyn = sub i32 %p, \00" +@.str10284 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10285 = 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" +@.str10286 = 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" +@.str10287 = 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" +@.str10288 = 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" +@.str10289 = private unnamed_addr constant [23 x i8] c"sdnone:\0A ret void\0A}\0A\0A\00" +@.str10290 = private unnamed_addr constant [48 x i8] c"define i32 @ludic_has(i32 %e, i32 %p) {\0Aentry:\0A\00" +@.str10291 = private unnamed_addr constant [5 x i8] c" %m\00" +@.str10292 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %p, \00" +@.str10293 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10294 = private unnamed_addr constant [11 x i8] c" br i1 %m\00" +@.str10295 = private unnamed_addr constant [11 x i8] c", label %g\00" +@.str10296 = private unnamed_addr constant [12 x i8] c", label %gn\00" +@.str10297 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10298 = private unnamed_addr constant [2 x i8] c"g\00" +@.str10299 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str10300 = private unnamed_addr constant [6 x i8] c" %hp\00" +@.str10301 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" +@.str10302 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00" +@.str10303 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %e\0A\00" +@.str10304 = private unnamed_addr constant [6 x i8] c" %hv\00" +@.str10305 = private unnamed_addr constant [20 x i8] c" = load i8, ptr %hp\00" +@.str10306 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10307 = private unnamed_addr constant [6 x i8] c" %hr\00" +@.str10308 = private unnamed_addr constant [15 x i8] c" = zext i8 %hv\00" +@.str10309 = private unnamed_addr constant [22 x i8] c" to i32\0A ret i32 %hr\00" +@.str10310 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10311 = private unnamed_addr constant [3 x i8] c"gn\00" +@.str10312 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str10313 = private unnamed_addr constant [23 x i8] c" %hdyn = sub i32 %p, \00" +@.str10314 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10315 = 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" +@.str10316 = 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" +@.str10317 = private unnamed_addr constant [24 x i8] c"hdnone:\0A ret i32 0\0A}\0A\0A\00" +@.str10318 = private unnamed_addr constant [67 x i8] c"define i32 @ludic_register_prop(ptr %name, i32 %nfields) {\0Aentry:\0A\00" +@.str10319 = 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" +@.str10320 = private unnamed_addr constant [56 x i8] c"do:\0A %nf4 = mul i32 %nfields, 4\0A %sz = mul i32 %nf4, \00" +@.str10321 = private unnamed_addr constant [31 x i8] c"\0A %szl = sext i32 %sz to i64\0A\00" +@.str10322 = 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" +@.str10323 = 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" +@.str10324 = private unnamed_addr constant [32 x i8] c" %hbuf = call ptr @malloc(i64 \00" +@.str10325 = private unnamed_addr constant [44 x i8] c")\0A call ptr @memset(ptr %hbuf, i32 0, i64 \00" +@.str10326 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str10327 = 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" +@.str10328 = 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" +@.str10329 = 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" +@.str10330 = private unnamed_addr constant [22 x i8] c" %id = add i32 %dc, \00" +@.str10331 = 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" +@.str10332 = private unnamed_addr constant [22 x i8] c"rej:\0A ret i32 -1\0A}\0A\0A\00" +@.str10333 = private unnamed_addr constant [56 x i8] c"define void @ludic_attach_dyn(i32 %e, i32 %p) {\0Aentry:\0A\00" +@.str10334 = private unnamed_addr constant [22 x i8] c" %dyn = sub i32 %p, \00" +@.str10335 = 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" +@.str10336 = private unnamed_addr constant [56 x i8] c"define void @ludic_detach_dyn(i32 %e, i32 %p) {\0Aentry:\0A\00" +@.str10337 = private unnamed_addr constant [22 x i8] c" %dyn = sub i32 %p, \00" +@.str10338 = 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" +@.str10339 = 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" +@.str10340 = private unnamed_addr constant [41 x i8] c"define i32 @ludic_kind(i32 %e) {\0Aentry:\0A\00" +@.str10341 = private unnamed_addr constant [33 x i8] c" %kp = getelementptr inbounds [\00" +@.str10342 = private unnamed_addr constant [37 x i8] c" x i32], ptr @L_kind, i32 0, i32 %e\0A\00" +@.str10343 = private unnamed_addr constant [42 x i8] c" %k = load i32, ptr %kp\0A ret i32 %k\0A}\0A\0A\00" +@.str10344 = private unnamed_addr constant [48 x i8] c"define i32 @ludic_model_id(ptr %name) {\0Aentry:\0A\00" +@.str10345 = private unnamed_addr constant [7 x i8] c" %mdc\00" +@.str10346 = private unnamed_addr constant [36 x i8] c" = call i32 @strcmp(ptr %name, ptr \00" +@.str10347 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str10348 = private unnamed_addr constant [7 x i8] c" %mde\00" +@.str10349 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %mdc\00" +@.str10350 = private unnamed_addr constant [5 x i8] c", 0\0A\00" +@.str10351 = private unnamed_addr constant [13 x i8] c" br i1 %mde\00" +@.str10352 = private unnamed_addr constant [13 x i8] c", label %mdh\00" +@.str10353 = private unnamed_addr constant [13 x i8] c", label %mdn\00" +@.str10354 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10355 = private unnamed_addr constant [4 x i8] c"mdh\00" +@.str10356 = private unnamed_addr constant [13 x i8] c":\0A ret i32 \00" +@.str10357 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10358 = private unnamed_addr constant [4 x i8] c"mdn\00" +@.str10359 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str10360 = private unnamed_addr constant [17 x i8] c" ret i32 -1\0A}\0A\0A\00" +@.str10361 = private unnamed_addr constant [4 x i8] c"int\00" +@.str10362 = private unnamed_addr constant [11 x i8] c" ret i32 \00" +@.str10363 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10364 = private unnamed_addr constant [25 x i8] c"define i32 @ludic_spawn_\00" +@.str10365 = private unnamed_addr constant [13 x i8] c"() {\0Aentry:\0A\00" +@.str10366 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" +@.str10367 = private unnamed_addr constant [42 x i8] c"define i32 @ludic_spawn(i32 %m) {\0Aentry:\0A\00" +@.str10368 = private unnamed_addr constant [6 x i8] c" %sm\00" +@.str10369 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %m, \00" +@.str10370 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10371 = private unnamed_addr constant [12 x i8] c" br i1 %sm\00" +@.str10372 = private unnamed_addr constant [12 x i8] c", label %sh\00" +@.str10373 = private unnamed_addr constant [12 x i8] c", label %sn\00" +@.str10374 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10375 = private unnamed_addr constant [3 x i8] c"sh\00" +@.str10376 = private unnamed_addr constant [8 x i8] c":\0A %sr\00" +@.str10377 = private unnamed_addr constant [26 x i8] c" = call i32 @ludic_spawn_\00" +@.str10378 = private unnamed_addr constant [17 x i8] c"()\0A ret i32 %sr\00" +@.str10379 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10380 = private unnamed_addr constant [3 x i8] c"sn\00" +@.str10381 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str10382 = private unnamed_addr constant [17 x i8] c" ret i32 -1\0A}\0A\0A\00" +@.str10383 = private unnamed_addr constant [58 x i8] c"define i32 @ludic_query_next(i32 %p, i32 %from) {\0Aentry:\0A\00" +@.str10384 = private unnamed_addr constant [47 x i8] c" %n = load i32, ptr @L_entc\0A br label %loop\0A\00" +@.str10385 = private unnamed_addr constant [56 x i8] c"loop:\0A %e = phi i32 [ %from, %entry ], [ %e1, %cont ]\0A\00" +@.str10386 = private unnamed_addr constant [67 x i8] c" %go = icmp slt i32 %e, %n\0A br i1 %go, label %body, label %none\0A\00" +@.str10387 = private unnamed_addr constant [39 x i8] c"body:\0A %ap = getelementptr inbounds [\00" +@.str10388 = private unnamed_addr constant [38 x i8] c" x i32], ptr @L_alive, i32 0, i32 %e\0A\00" +@.str10389 = 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" +@.str10390 = 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" +@.str10391 = private unnamed_addr constant [20 x i8] c"hitb:\0A ret i32 %e\0A\00" +@.str10392 = private unnamed_addr constant [46 x i8] c"cont:\0A %e1 = add i32 %e, 1\0A br label %loop\0A\00" +@.str10393 = private unnamed_addr constant [23 x i8] c"none:\0A ret i32 -1\0A}\0A\0A\00" +@.str10394 = private unnamed_addr constant [1 x i8] c"\00" +@.str10395 = private unnamed_addr constant [4 x i8] c"int\00" +@.str10396 = private unnamed_addr constant [41 x i8] c"define i32 @ludic_prop_count() {\0Aentry:\0A\00" +@.str10397 = private unnamed_addr constant [52 x i8] c" %d = load i32, ptr @dyn_count\0A %n = add i32 %d, \00" +@.str10398 = private unnamed_addr constant [18 x i8] c"\0A ret i32 %n\0A}\0A\0A\00" +@.str10399 = private unnamed_addr constant [46 x i8] c"define ptr @ludic_prop_name(i32 %i) {\0Aentry:\0A\00" +@.str10400 = private unnamed_addr constant [6 x i8] c" %pe\00" +@.str10401 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %i, \00" +@.str10402 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10403 = private unnamed_addr constant [12 x i8] c" br i1 %pe\00" +@.str10404 = private unnamed_addr constant [12 x i8] c", label %ph\00" +@.str10405 = private unnamed_addr constant [12 x i8] c", label %pn\00" +@.str10406 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10407 = private unnamed_addr constant [3 x i8] c"ph\00" +@.str10408 = private unnamed_addr constant [13 x i8] c":\0A ret ptr \00" +@.str10409 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10410 = private unnamed_addr constant [3 x i8] c"pn\00" +@.str10411 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str10412 = private unnamed_addr constant [22 x i8] c" %dyn = sub i32 %i, \00" +@.str10413 = private unnamed_addr constant [35 x i8] c"\0A %dc = load i32, ptr @dyn_count\0A\00" +@.str10414 = private unnamed_addr constant [70 x i8] c" %ib = icmp uge i32 %dyn, %dc\0A br i1 %ib, label %pbad, label %pdyn\0A\00" +@.str10415 = 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" +@.str10416 = private unnamed_addr constant [17 x i8] c"pbad:\0A ret ptr \00" +@.str10417 = private unnamed_addr constant [5 x i8] c"\0A}\0A\0A\00" +@.str10418 = private unnamed_addr constant [48 x i8] c"define i32 @ludic_field_count(i32 %p) {\0Aentry:\0A\00" +@.str10419 = private unnamed_addr constant [7 x i8] c" %fce\00" +@.str10420 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %p, \00" +@.str10421 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10422 = private unnamed_addr constant [13 x i8] c" br i1 %fce\00" +@.str10423 = private unnamed_addr constant [13 x i8] c", label %fch\00" +@.str10424 = private unnamed_addr constant [13 x i8] c", label %fcn\00" +@.str10425 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10426 = private unnamed_addr constant [4 x i8] c"fch\00" +@.str10427 = private unnamed_addr constant [13 x i8] c":\0A ret i32 \00" +@.str10428 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10429 = private unnamed_addr constant [4 x i8] c"fcn\00" +@.str10430 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str10431 = private unnamed_addr constant [22 x i8] c" %dyn = sub i32 %p, \00" +@.str10432 = private unnamed_addr constant [35 x i8] c"\0A %dc = load i32, ptr @dyn_count\0A\00" +@.str10433 = private unnamed_addr constant [72 x i8] c" %ib = icmp uge i32 %dyn, %dc\0A br i1 %ib, label %fcbad, label %fcdyn\0A\00" +@.str10434 = 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" +@.str10435 = private unnamed_addr constant [23 x i8] c"fcbad:\0A ret i32 0\0A}\0A\0A\00" +@.str10436 = private unnamed_addr constant [55 x i8] c"define ptr @ludic_field_name(i32 %p, i32 %f) {\0Aentry:\0A\00" +@.str10437 = private unnamed_addr constant [7 x i8] c" %fne\00" +@.str10438 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %p, \00" +@.str10439 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10440 = private unnamed_addr constant [13 x i8] c" br i1 %fne\00" +@.str10441 = private unnamed_addr constant [13 x i8] c", label %fnk\00" +@.str10442 = private unnamed_addr constant [13 x i8] c", label %fnn\00" +@.str10443 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10444 = private unnamed_addr constant [4 x i8] c"fnk\00" +@.str10445 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str10446 = private unnamed_addr constant [2 x i8] c"_\00" +@.str10447 = private unnamed_addr constant [8 x i8] c" %fnfe\00" +@.str10448 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %f, \00" +@.str10449 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10450 = private unnamed_addr constant [14 x i8] c" br i1 %fnfe\00" +@.str10451 = private unnamed_addr constant [14 x i8] c", label %fnfh\00" +@.str10452 = private unnamed_addr constant [14 x i8] c", label %fnfn\00" +@.str10453 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10454 = private unnamed_addr constant [5 x i8] c"fnfh\00" +@.str10455 = private unnamed_addr constant [13 x i8] c":\0A ret ptr \00" +@.str10456 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10457 = private unnamed_addr constant [5 x i8] c"fnfn\00" +@.str10458 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str10459 = private unnamed_addr constant [11 x i8] c" ret ptr \00" +@.str10460 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10461 = private unnamed_addr constant [4 x i8] c"fnn\00" +@.str10462 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str10463 = private unnamed_addr constant [11 x i8] c" ret ptr \00" +@.str10464 = private unnamed_addr constant [5 x i8] c"\0A}\0A\0A\00" +@.str10465 = private unnamed_addr constant [55 x i8] c"define ptr @ludic_field_type(i32 %p, i32 %f) {\0Aentry:\0A\00" +@.str10466 = private unnamed_addr constant [7 x i8] c" %fte\00" +@.str10467 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %p, \00" +@.str10468 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10469 = private unnamed_addr constant [13 x i8] c" br i1 %fte\00" +@.str10470 = private unnamed_addr constant [13 x i8] c", label %ftk\00" +@.str10471 = private unnamed_addr constant [13 x i8] c", label %ftn\00" +@.str10472 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10473 = private unnamed_addr constant [4 x i8] c"ftk\00" +@.str10474 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str10475 = private unnamed_addr constant [2 x i8] c"_\00" +@.str10476 = private unnamed_addr constant [8 x i8] c" %ftfe\00" +@.str10477 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %f, \00" +@.str10478 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10479 = private unnamed_addr constant [14 x i8] c" br i1 %ftfe\00" +@.str10480 = private unnamed_addr constant [14 x i8] c", label %ftfh\00" +@.str10481 = private unnamed_addr constant [14 x i8] c", label %ftfn\00" +@.str10482 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10483 = private unnamed_addr constant [5 x i8] c"ftfh\00" +@.str10484 = private unnamed_addr constant [13 x i8] c":\0A ret ptr \00" +@.str10485 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10486 = private unnamed_addr constant [5 x i8] c"ftfn\00" +@.str10487 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str10488 = private unnamed_addr constant [11 x i8] c" ret ptr \00" +@.str10489 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10490 = private unnamed_addr constant [4 x i8] c"ftn\00" +@.str10491 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str10492 = private unnamed_addr constant [11 x i8] c" ret ptr \00" +@.str10493 = private unnamed_addr constant [5 x i8] c"\0A}\0A\0A\00" +@.str10494 = private unnamed_addr constant [38 x i8] c"define void @L_tick_fixed() {\0Aentry:\0A\00" +@.str10495 = private unnamed_addr constant [6 x i8] c"Input\00" +@.str10496 = private unnamed_addr constant [12 x i8] c"FixedUpdate\00" +@.str10497 = private unnamed_addr constant [7 x i8] c"Update\00" +@.str10498 = private unnamed_addr constant [11 x i8] c"LateUpdate\00" +@.str10499 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" +@.str10500 = private unnamed_addr constant [39 x i8] c"define void @L_tick_render() {\0Aentry:\0A\00" +@.str10501 = private unnamed_addr constant [7 x i8] c"Render\00" +@.str10502 = private unnamed_addr constant [8 x i8] c"Overlay\00" +@.str10503 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" +@.str10504 = private unnamed_addr constant [49 x i8] c"define i32 @main(i32 %argc, ptr %argv) {\0Aentry:\0A\00" +@.str10505 = private unnamed_addr constant [32 x i8] c" store i32 %argc, ptr @L_argc\0A\00" +@.str10506 = private unnamed_addr constant [32 x i8] c" store ptr %argv, ptr @L_argv\0A\00" +@.str10507 = private unnamed_addr constant [8 x i8] c"rt_init\00" +@.str10508 = private unnamed_addr constant [27 x i8] c" call void @fn_rt_init()\0A\00" +@.str10509 = private unnamed_addr constant [31 x i8] c" call void @L_init_globals()\0A\00" +@.str10510 = private unnamed_addr constant [6 x i8] c"Start\00" +@.str10511 = private unnamed_addr constant [13 x i8] c" store i32 \00" +@.str10512 = private unnamed_addr constant [16 x i8] c", ptr @L_scene\0A\00" +@.str10513 = private unnamed_addr constant [26 x i8] c" call void @scene_enter_\00" +@.str10514 = private unnamed_addr constant [4 x i8] c"()\0A\00" +@.str10515 = private unnamed_addr constant [14 x i8] c"program_start\00" +@.str10516 = private unnamed_addr constant [33 x i8] c" call void @ev_program_start()\0A\00" +@.str10517 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00" +@.str10518 = private unnamed_addr constant [7 x i8] c"loop:\0A\00" +@.str10519 = private unnamed_addr constant [25 x i8] c"load i32, ptr @L_running\00" +@.str10520 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" +@.str10521 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str10522 = private unnamed_addr constant [11 x i8] c"rt_running\00" +@.str10523 = private unnamed_addr constant [26 x i8] c"call i32 @fn_rt_running()\00" +@.str10524 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" +@.str10525 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str10526 = private unnamed_addr constant [8 x i8] c"and i1 \00" +@.str10527 = private unnamed_addr constant [3 x i8] c", \00" +@.str10528 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str10529 = private unnamed_addr constant [28 x i8] c", label %body, label %done\0A\00" +@.str10530 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str10531 = private unnamed_addr constant [28 x i8] c", label %body, label %done\0A\00" +@.str10532 = private unnamed_addr constant [7 x i8] c"body:\0A\00" +@.str10533 = private unnamed_addr constant [12 x i8] c"input_drive\00" +@.str10534 = private unnamed_addr constant [27 x i8] c"call i32 @fn_input_drive()\00" +@.str10535 = private unnamed_addr constant [13 x i8] c" store i32 \00" +@.str10536 = private unnamed_addr constant [14 x i8] c", ptr @L_key\0A\00" +@.str10537 = private unnamed_addr constant [8 x i8] c"rt_poll\00" +@.str10538 = private unnamed_addr constant [23 x i8] c"call i32 @fn_rt_poll()\00" +@.str10539 = private unnamed_addr constant [13 x i8] c" store i32 \00" +@.str10540 = private unnamed_addr constant [14 x i8] c", ptr @L_key\0A\00" +@.str10541 = private unnamed_addr constant [11 x i8] c"rt_ui_tick\00" +@.str10542 = private unnamed_addr constant [21 x i8] c"load i32, ptr @L_key\00" +@.str10543 = private unnamed_addr constant [32 x i8] c" call void @fn_rt_ui_tick(i32 \00" +@.str10544 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str10545 = private unnamed_addr constant [6 x i8] c"Input\00" +@.str10546 = private unnamed_addr constant [12 x i8] c"FixedUpdate\00" +@.str10547 = private unnamed_addr constant [7 x i8] c"Update\00" +@.str10548 = private unnamed_addr constant [11 x i8] c"LateUpdate\00" +@.str10549 = private unnamed_addr constant [9 x i8] c"rt_clear\00" +@.str10550 = private unnamed_addr constant [30 x i8] c" call void @fn_rt_clear(i32 \00" +@.str10551 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str10552 = private unnamed_addr constant [7 x i8] c"Render\00" +@.str10553 = private unnamed_addr constant [8 x i8] c"Overlay\00" +@.str10554 = private unnamed_addr constant [11 x i8] c"rt_present\00" +@.str10555 = private unnamed_addr constant [30 x i8] c" call void @fn_rt_present()\0A\00" +@.str10556 = private unnamed_addr constant [23 x i8] c"load i32, ptr @L_frame\00" +@.str10557 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str10558 = private unnamed_addr constant [4 x i8] c", 1\00" +@.str10559 = private unnamed_addr constant [13 x i8] c" store i32 \00" +@.str10560 = private unnamed_addr constant [16 x i8] c", ptr @L_frame\0A\00" +@.str10561 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00" +@.str10562 = private unnamed_addr constant [7 x i8] c"done:\0A\00" +@.str10563 = private unnamed_addr constant [35 x i8] c" call void @L_despawn_all(i32 2)\0A\00" +@.str10564 = private unnamed_addr constant [7 x i8] c"OnQuit\00" +@.str10565 = private unnamed_addr constant [13 x i8] c"program_quit\00" +@.str10566 = private unnamed_addr constant [32 x i8] c" call void @ev_program_quit()\0A\00" +@.str10567 = private unnamed_addr constant [12 x i8] c"rt_shutdown\00" +@.str10568 = private unnamed_addr constant [31 x i8] c" call void @fn_rt_shutdown()\0A\00" +@.str10569 = private unnamed_addr constant [15 x i8] c" ret i32 0\0A}\0A\00" +@.str10570 = private unnamed_addr constant [15 x i8] c"machine state \00" +@.str10571 = private unnamed_addr constant [27 x i8] c" is not a variant of enum \00" +@.str10572 = private unnamed_addr constant [1 x i8] c"\00" +@.str10573 = private unnamed_addr constant [18 x i8] c"load i32, ptr @g_\00" +@.str10574 = private unnamed_addr constant [25 x i8] c"call i32 @fn_rt_reg(i32 \00" +@.str10575 = private unnamed_addr constant [2 x i8] c")\00" +@.str10576 = private unnamed_addr constant [6 x i8] c"smend\00" +@.str10577 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" +@.str10578 = private unnamed_addr constant [3 x i8] c", \00" +@.str10579 = private unnamed_addr constant [6 x i8] c"sbody\00" +@.str10580 = private unnamed_addr constant [5 x i8] c"sarm\00" +@.str10581 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str10582 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str10583 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str10584 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10585 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str10586 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str10587 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10588 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str10589 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str10590 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10591 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str10592 = private unnamed_addr constant [13 x i8] c" store i32 \00" +@.str10593 = private unnamed_addr constant [10 x i8] c", ptr @g_\00" +@.str10594 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10595 = private unnamed_addr constant [32 x i8] c" call void @fn_rt_set_reg(i32 \00" +@.str10596 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str10597 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str10598 = private unnamed_addr constant [27 x i8] c"become: no state or scene \00" +@.str10599 = private unnamed_addr constant [25 x i8] c" call void @scene_exit_\00" +@.str10600 = private unnamed_addr constant [4 x i8] c"()\0A\00" +@.str10601 = private unnamed_addr constant [30 x i8] c" call void @L_scene_leave()\0A\00" +@.str10602 = private unnamed_addr constant [13 x i8] c" store i32 \00" +@.str10603 = private unnamed_addr constant [16 x i8] c", ptr @L_scene\0A\00" +@.str10604 = private unnamed_addr constant [26 x i8] c" call void @scene_enter_\00" +@.str10605 = private unnamed_addr constant [4 x i8] c"()\0A\00" +@.str10606 = private unnamed_addr constant [5 x i8] c"file\00" +@.str10607 = private unnamed_addr constant [4 x i8] c"%io\00" +@.str10608 = private unnamed_addr constant [3 x i8] c" \00" +@.str10609 = private unnamed_addr constant [14 x i8] c" = call i64 @\00" +@.str10610 = private unnamed_addr constant [6 x i8] c"(ptr \00" +@.str10611 = private unnamed_addr constant [14 x i8] c", i64 1, i64 \00" +@.str10612 = private unnamed_addr constant [11 x i8] c", ptr %f)\0A\00" +@.str10613 = private unnamed_addr constant [5 x i8] c"size\00" +@.str10614 = private unnamed_addr constant [6 x i8] c"%ioff\00" +@.str10615 = private unnamed_addr constant [3 x i8] c" \00" +@.str10616 = private unnamed_addr constant [12 x i8] c" = add i64 \00" +@.str10617 = private unnamed_addr constant [3 x i8] c", \00" +@.str10618 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10619 = private unnamed_addr constant [5 x i8] c"%ioa\00" +@.str10620 = private unnamed_addr constant [3 x i8] c" \00" +@.str10621 = private unnamed_addr constant [45 x i8] c" = getelementptr inbounds i8, ptr %buf, i64 \00" +@.str10622 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10623 = private unnamed_addr constant [5 x i8] c"save\00" +@.str10624 = private unnamed_addr constant [24 x i8] c" call ptr @memcpy(ptr \00" +@.str10625 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str10626 = private unnamed_addr constant [7 x i8] c", i64 \00" +@.str10627 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str10628 = private unnamed_addr constant [24 x i8] c" call ptr @memcpy(ptr \00" +@.str10629 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str10630 = private unnamed_addr constant [7 x i8] c", i64 \00" +@.str10631 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str10632 = private unnamed_addr constant [6 x i8] c"%ioff\00" +@.str10633 = private unnamed_addr constant [3 x i8] c" \00" +@.str10634 = private unnamed_addr constant [12 x i8] c" = add i64 \00" +@.str10635 = private unnamed_addr constant [3 x i8] c", \00" +@.str10636 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10637 = private unnamed_addr constant [2 x i8] c"0\00" +@.str10638 = private unnamed_addr constant [8 x i8] c"@L_entc\00" +@.str10639 = private unnamed_addr constant [2 x i8] c"4\00" +@.str10640 = private unnamed_addr constant [9 x i8] c"@L_freen\00" +@.str10641 = private unnamed_addr constant [2 x i8] c"4\00" +@.str10642 = private unnamed_addr constant [21 x i8] c" %nalive = mul i64 \00" +@.str10643 = private unnamed_addr constant [5 x i8] c", 4\0A\00" +@.str10644 = private unnamed_addr constant [9 x i8] c"@L_alive\00" +@.str10645 = private unnamed_addr constant [8 x i8] c"%nalive\00" +@.str10646 = private unnamed_addr constant [12 x i8] c"@L_freelist\00" +@.str10647 = private unnamed_addr constant [8 x i8] c"%nalive\00" +@.str10648 = private unnamed_addr constant [8 x i8] c"@L_kind\00" +@.str10649 = private unnamed_addr constant [8 x i8] c"%nalive\00" +@.str10650 = private unnamed_addr constant [13 x i8] c"@L_owner_arr\00" +@.str10651 = private unnamed_addr constant [8 x i8] c"%nalive\00" +@.str10652 = private unnamed_addr constant [4 x i8] c"@g_\00" +@.str10653 = private unnamed_addr constant [2 x i8] c"4\00" +@.str10654 = private unnamed_addr constant [5 x i8] c"%csz\00" +@.str10655 = private unnamed_addr constant [3 x i8] c" \00" +@.str10656 = private unnamed_addr constant [37 x i8] c" = ptrtoint ptr getelementptr (%Cmp_\00" +@.str10657 = private unnamed_addr constant [17 x i8] c", ptr null, i32 \00" +@.str10658 = private unnamed_addr constant [10 x i8] c") to i64\0A\00" +@.str10659 = private unnamed_addr constant [4 x i8] c"@S_\00" +@.str10660 = private unnamed_addr constant [4 x i8] c"@H_\00" +@.str10661 = private unnamed_addr constant [5 x i8] c"file\00" +@.str10662 = private unnamed_addr constant [70 x i8] c"@.sav_path = private unnamed_addr constant [10 x i8] c\22ludic.sav\5C00\22\0A\00" +@.str10663 = private unnamed_addr constant [60 x i8] c"@.sav_wb = private unnamed_addr constant [3 x i8] c\22wb\5C00\22\0A\00" +@.str10664 = private unnamed_addr constant [60 x i8] c"@.sav_rb = private unnamed_addr constant [3 x i8] c\22rb\5C00\22\0A\00" +@.str10665 = private unnamed_addr constant [14 x i8] c"rt_save_state\00" +@.str10666 = private unnamed_addr constant [14 x i8] c"rt_load_state\00" +@.str10667 = private unnamed_addr constant [32 x i8] c"define void @L_save() {\0Aentry:\0A\00" +@.str10668 = private unnamed_addr constant [54 x i8] c" %f = call ptr @fopen(ptr @.sav_path, ptr @.sav_wb)\0A\00" +@.str10669 = private unnamed_addr constant [31 x i8] c" %bad = icmp eq ptr %f, null\0A\00" +@.str10670 = private unnamed_addr constant [41 x i8] c" br i1 %bad, label %out, label %go\0Ago:\0A\00" +@.str10671 = private unnamed_addr constant [7 x i8] c"fwrite\00" +@.str10672 = private unnamed_addr constant [39 x i8] c" call void @fn_rt_save_state(ptr %f)\0A\00" +@.str10673 = 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" +@.str10674 = private unnamed_addr constant [31 x i8] c"define i32 @L_load() {\0Aentry:\0A\00" +@.str10675 = private unnamed_addr constant [54 x i8] c" %f = call ptr @fopen(ptr @.sav_path, ptr @.sav_rb)\0A\00" +@.str10676 = private unnamed_addr constant [31 x i8] c" %bad = icmp eq ptr %f, null\0A\00" +@.str10677 = private unnamed_addr constant [60 x i8] c" br i1 %bad, label %miss, label %go\0Amiss:\0A ret i32 0\0Ago:\0A\00" +@.str10678 = private unnamed_addr constant [6 x i8] c"fread\00" +@.str10679 = private unnamed_addr constant [39 x i8] c" call void @fn_rt_load_state(ptr %f)\0A\00" +@.str10680 = private unnamed_addr constant [48 x i8] c" %c = call i32 @fclose(ptr %f)\0A ret i32 1\0A}\0A\0A\00" +@.str10681 = private unnamed_addr constant [45 x i8] c"define i32 @L_world_save(ptr %buf) {\0Aentry:\0A\00" +@.str10682 = private unnamed_addr constant [5 x i8] c"save\00" +@.str10683 = private unnamed_addr constant [1 x i8] c"\00" +@.str10684 = private unnamed_addr constant [5 x i8] c"%wsn\00" +@.str10685 = private unnamed_addr constant [3 x i8] c" \00" +@.str10686 = private unnamed_addr constant [14 x i8] c" = trunc i64 \00" +@.str10687 = private unnamed_addr constant [9 x i8] c" to i32\0A\00" +@.str10688 = private unnamed_addr constant [11 x i8] c" ret i32 \00" +@.str10689 = private unnamed_addr constant [5 x i8] c"\0A}\0A\0A\00" +@.str10690 = private unnamed_addr constant [56 x i8] c"define void @L_world_load(ptr %buf, i32 %len) {\0Aentry:\0A\00" +@.str10691 = private unnamed_addr constant [5 x i8] c"load\00" +@.str10692 = private unnamed_addr constant [1 x i8] c"\00" +@.str10693 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" +@.str10694 = private unnamed_addr constant [37 x i8] c"define i32 @L_world_size() {\0Aentry:\0A\00" +@.str10695 = private unnamed_addr constant [5 x i8] c"size\00" +@.str10696 = private unnamed_addr constant [1 x i8] c"\00" +@.str10697 = private unnamed_addr constant [5 x i8] c"%wzn\00" +@.str10698 = private unnamed_addr constant [3 x i8] c" \00" +@.str10699 = private unnamed_addr constant [14 x i8] c" = trunc i64 \00" +@.str10700 = private unnamed_addr constant [9 x i8] c" to i32\0A\00" +@.str10701 = private unnamed_addr constant [11 x i8] c" ret i32 \00" +@.str10702 = private unnamed_addr constant [5 x i8] c"\0A}\0A\0A\00" +@.str10703 = private unnamed_addr constant [5 x i8] c"file\00" +@.str10704 = private unnamed_addr constant [3 x i8] c"i8\00" +@.str10705 = private unnamed_addr constant [3 x i8] c"i8\00" +@.str10706 = private unnamed_addr constant [2 x i8] c"1\00" +@.str10707 = private unnamed_addr constant [2 x i8] c"4\00" +@.str10708 = private unnamed_addr constant [24 x i8] c"ludicc(self): warning: \00" +@.str10709 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10710 = private unnamed_addr constant [4 x i8] c"ptr\00" +@.str10711 = private unnamed_addr constant [13 x i8] c"@Sync field \00" +@.str10712 = private unnamed_addr constant [2 x i8] c".\00" +@.str10713 = private unnamed_addr constant [68 x i8] c" is not a POD scalar (networked fields must be int/bool/fixed/byte)\00" +@.str10714 = private unnamed_addr constant [7 x i8] c"model \00" +@.str10715 = private unnamed_addr constant [9 x i8] c" @Syncs \00" +@.str10716 = private unnamed_addr constant [51 x i8] c" but it has no @Sync fields \E2\80\94 nothing replicates\00" +@.str10717 = private unnamed_addr constant [25 x i8] c"define i32 @L_serialize_\00" +@.str10718 = private unnamed_addr constant [29 x i8] c"(i32 %e, ptr %buf) {\0Aentry:\0A\00" +@.str10719 = private unnamed_addr constant [3 x i8] c" \00" +@.str10720 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" +@.str10721 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" +@.str10722 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" +@.str10723 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %e\0A\00" +@.str10724 = private unnamed_addr constant [3 x i8] c" \00" +@.str10725 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00" +@.str10726 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str10727 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" +@.str10728 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10729 = private unnamed_addr constant [3 x i8] c" \00" +@.str10730 = private unnamed_addr constant [45 x i8] c" = getelementptr inbounds i8, ptr %buf, i32 \00" +@.str10731 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10732 = private unnamed_addr constant [24 x i8] c" call ptr @memcpy(ptr \00" +@.str10733 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str10734 = private unnamed_addr constant [7 x i8] c", i64 \00" +@.str10735 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str10736 = private unnamed_addr constant [11 x i8] c" ret i32 \00" +@.str10737 = private unnamed_addr constant [5 x i8] c"\0A}\0A\0A\00" +@.str10738 = private unnamed_addr constant [22 x i8] c"define void @L_apply_\00" +@.str10739 = private unnamed_addr constant [39 x i8] c"(i32 %e, ptr %buf, i32 %len) {\0Aentry:\0A\00" +@.str10740 = private unnamed_addr constant [3 x i8] c" \00" +@.str10741 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" +@.str10742 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" +@.str10743 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" +@.str10744 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %e\0A\00" +@.str10745 = private unnamed_addr constant [3 x i8] c" \00" +@.str10746 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00" +@.str10747 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str10748 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" +@.str10749 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10750 = private unnamed_addr constant [3 x i8] c" \00" +@.str10751 = private unnamed_addr constant [45 x i8] c" = getelementptr inbounds i8, ptr %buf, i32 \00" +@.str10752 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10753 = private unnamed_addr constant [24 x i8] c" call ptr @memcpy(ptr \00" +@.str10754 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str10755 = private unnamed_addr constant [7 x i8] c", i64 \00" +@.str10756 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str10757 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" +@.str10758 = private unnamed_addr constant [56 x i8] c"define i32 @ludic_serialize(i32 %e, ptr %buf) {\0Aentry:\0A\00" +@.str10759 = private unnamed_addr constant [33 x i8] c" %kp = getelementptr inbounds [\00" +@.str10760 = 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" +@.str10761 = private unnamed_addr constant [5 x i8] c" %c\00" +@.str10762 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %k, \00" +@.str10763 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10764 = private unnamed_addr constant [11 x i8] c" br i1 %c\00" +@.str10765 = private unnamed_addr constant [11 x i8] c", label %h\00" +@.str10766 = private unnamed_addr constant [11 x i8] c", label %n\00" +@.str10767 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10768 = private unnamed_addr constant [2 x i8] c"h\00" +@.str10769 = private unnamed_addr constant [7 x i8] c":\0A %r\00" +@.str10770 = private unnamed_addr constant [26 x i8] c" = call i32 @L_serialize_\00" +@.str10771 = private unnamed_addr constant [32 x i8] c"(i32 %e, ptr %buf)\0A ret i32 %r\00" +@.str10772 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10773 = private unnamed_addr constant [2 x i8] c"n\00" +@.str10774 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str10775 = private unnamed_addr constant [16 x i8] c" ret i32 0\0A}\0A\0A\00" +@.str10776 = private unnamed_addr constant [63 x i8] c"define void @ludic_apply(i32 %e, ptr %buf, i32 %len) {\0Aentry:\0A\00" +@.str10777 = private unnamed_addr constant [33 x i8] c" %kp = getelementptr inbounds [\00" +@.str10778 = 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" +@.str10779 = private unnamed_addr constant [5 x i8] c" %c\00" +@.str10780 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %k, \00" +@.str10781 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10782 = private unnamed_addr constant [11 x i8] c" br i1 %c\00" +@.str10783 = private unnamed_addr constant [11 x i8] c", label %h\00" +@.str10784 = private unnamed_addr constant [11 x i8] c", label %n\00" +@.str10785 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10786 = private unnamed_addr constant [2 x i8] c"h\00" +@.str10787 = private unnamed_addr constant [24 x i8] c":\0A call void @L_apply_\00" +@.str10788 = private unnamed_addr constant [41 x i8] c"(i32 %e, ptr %buf, i32 %len)\0A ret void\0A\00" +@.str10789 = private unnamed_addr constant [2 x i8] c"n\00" +@.str10790 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str10791 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" +@.str10792 = private unnamed_addr constant [46 x i8] c"define i32 @ludic_sync_size(i32 %e) {\0Aentry:\0A\00" +@.str10793 = private unnamed_addr constant [33 x i8] c" %kp = getelementptr inbounds [\00" +@.str10794 = 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" +@.str10795 = private unnamed_addr constant [5 x i8] c" %c\00" +@.str10796 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %k, \00" +@.str10797 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10798 = private unnamed_addr constant [11 x i8] c" br i1 %c\00" +@.str10799 = private unnamed_addr constant [11 x i8] c", label %h\00" +@.str10800 = private unnamed_addr constant [11 x i8] c", label %n\00" +@.str10801 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10802 = private unnamed_addr constant [2 x i8] c"h\00" +@.str10803 = private unnamed_addr constant [13 x i8] c":\0A ret i32 \00" +@.str10804 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10805 = private unnamed_addr constant [2 x i8] c"n\00" +@.str10806 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str10807 = private unnamed_addr constant [16 x i8] c" ret i32 0\0A}\0A\0A\00" +@.str10808 = private unnamed_addr constant [38 x i8] c"define i32 @L_owner(i32 %e) {\0Aentry:\0A\00" +@.str10809 = private unnamed_addr constant [32 x i8] c" %p = getelementptr inbounds [\00" +@.str10810 = 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" +@.str10811 = private unnamed_addr constant [52 x i8] c"define void @L_set_owner(i32 %e, i32 %id) {\0Aentry:\0A\00" +@.str10812 = private unnamed_addr constant [32 x i8] c" %p = getelementptr inbounds [\00" +@.str10813 = 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" +@.str10814 = private unnamed_addr constant [41 x i8] c"define i32 @L_is_owner(i32 %e) {\0Aentry:\0A\00" +@.str10815 = private unnamed_addr constant [32 x i8] c" %p = getelementptr inbounds [\00" +@.str10816 = 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" +@.str10817 = 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" +@.str10818 = private unnamed_addr constant [62 x i8] c"@L_netq = internal global [64 x [2048 x i8]] zeroinitializer\0A\00" +@.str10819 = private unnamed_addr constant [56 x i8] c"@L_netlen = internal global [64 x i32] zeroinitializer\0A\00" +@.str10820 = private unnamed_addr constant [36 x i8] c"@L_nethead = internal global i32 0\0A\00" +@.str10821 = private unnamed_addr constant [36 x i8] c"@L_nettail = internal global i32 0\0A\00" +@.str10822 = private unnamed_addr constant [65 x i8] c"define void @L_net_send(i32 %peer, ptr %buf, i32 %len) {\0Aentry:\0A\00" +@.str10823 = 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" +@.str10824 = 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" +@.str10825 = private unnamed_addr constant [65 x i8] c" %t = load i32, ptr @L_nettail\0A %h = load i32, ptr @L_nethead\0A\00" +@.str10826 = 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" +@.str10827 = private unnamed_addr constant [39 x i8] c" br i1 %full, label %drop, label %go\0A\00" +@.str10828 = private unnamed_addr constant [5 x i8] c"go:\0A\00" +@.str10829 = 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" +@.str10830 = 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" +@.str10831 = 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" +@.str10832 = private unnamed_addr constant [50 x i8] c" store i32 %tn, ptr @L_nettail\0A br label %drop\0A\00" +@.str10833 = private unnamed_addr constant [21 x i8] c"drop:\0A ret void\0A}\0A\0A\00" +@.str10834 = private unnamed_addr constant [53 x i8] c"define i32 @L_net_poll(ptr %buf, i32 %cap) {\0Aentry:\0A\00" +@.str10835 = 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" +@.str10836 = private unnamed_addr constant [40 x i8] c" br i1 %empty, label %none, label %go\0A\00" +@.str10837 = private unnamed_addr constant [5 x i8] c"go:\0A\00" +@.str10838 = 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" +@.str10839 = 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" +@.str10840 = 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" +@.str10841 = 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" +@.str10842 = 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" +@.str10843 = private unnamed_addr constant [22 x i8] c"none:\0A ret i32 0\0A}\0A\0A\00" +@.str10844 = private unnamed_addr constant [9 x i8] c"net_send\00" +@.str10845 = private unnamed_addr constant [11 x i8] c"L_net_send\00" +@.str10846 = private unnamed_addr constant [9 x i8] c"net_poll\00" +@.str10847 = private unnamed_addr constant [11 x i8] c"L_net_poll\00" +@.str10848 = private unnamed_addr constant [58 x i8] c"@L_recvbuf = internal global [2048 x i8] zeroinitializer\0A\00" +@.str10849 = private unnamed_addr constant [9 x i8] c"net_poll\00" +@.str10850 = private unnamed_addr constant [53 x i8] c"define void @L_net_pump() {\0Aentry:\0A br label %loop\0A\00" +@.str10851 = private unnamed_addr constant [24 x i8] c"loop:\0A %n = call i32 @\00" +@.str10852 = private unnamed_addr constant [28 x i8] c"(ptr @L_recvbuf, i32 2048)\0A\00" +@.str10853 = private unnamed_addr constant [68 x i8] c" %done = icmp eq i32 %n, 0\0A br i1 %done, label %fin, label %body\0A\00" +@.str10854 = private unnamed_addr constant [41 x i8] c"body:\0A %eid = load i32, ptr @L_recvbuf\0A\00" +@.str10855 = private unnamed_addr constant [5 x i8] c" %c\00" +@.str10856 = private unnamed_addr constant [22 x i8] c" = icmp eq i32 %eid, \00" +@.str10857 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10858 = private unnamed_addr constant [11 x i8] c" br i1 %c\00" +@.str10859 = private unnamed_addr constant [11 x i8] c", label %h\00" +@.str10860 = private unnamed_addr constant [11 x i8] c", label %x\00" +@.str10861 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10862 = private unnamed_addr constant [2 x i8] c"h\00" +@.str10863 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str10864 = private unnamed_addr constant [2 x i8] c"_\00" +@.str10865 = private unnamed_addr constant [6 x i8] c" %fa\00" +@.str10866 = private unnamed_addr constant [51 x i8] c" = getelementptr inbounds i8, ptr @L_recvbuf, i32 \00" +@.str10867 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10868 = private unnamed_addr constant [6 x i8] c" %fv\00" +@.str10869 = private unnamed_addr constant [9 x i8] c" = load \00" +@.str10870 = private unnamed_addr constant [10 x i8] c", ptr %fa\00" +@.str10871 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10872 = private unnamed_addr constant [3 x i8] c", \00" +@.str10873 = private unnamed_addr constant [5 x i8] c" %fv\00" +@.str10874 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" +@.str10875 = private unnamed_addr constant [2 x i8] c"(\00" +@.str10876 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str10877 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00" +@.str10878 = private unnamed_addr constant [2 x i8] c"x\00" +@.str10879 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str10880 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00" +@.str10881 = private unnamed_addr constant [20 x i8] c"fin:\0A ret void\0A}\0A\0A\00" +@.str10882 = private unnamed_addr constant [58 x i8] c"@L_sendbuf = internal global [2048 x i8] zeroinitializer\0A\00" +@.str10883 = private unnamed_addr constant [6 x i8] c"panel\00" +@.str10884 = private unnamed_addr constant [4 x i8] c"col\00" +@.str10885 = private unnamed_addr constant [4 x i8] c"row\00" +@.str10886 = private unnamed_addr constant [6 x i8] c"label\00" +@.str10887 = private unnamed_addr constant [7 x i8] c"button\00" +@.str10888 = private unnamed_addr constant [6 x i8] c"image\00" +@.str10889 = private unnamed_addr constant [7 x i8] c"spacer\00" +@.str10890 = private unnamed_addr constant [5 x i8] c"font\00" +@.str10891 = private unnamed_addr constant [5 x i8] c"size\00" +@.str10892 = private unnamed_addr constant [3 x i8] c"fg\00" +@.str10893 = private unnamed_addr constant [6 x i8] c"align\00" +@.str10894 = private unnamed_addr constant [3 x i8] c"id\00" +@.str10895 = private unnamed_addr constant [31 x i8] c" call void @fn_rt_ui_set(i32 \00" +@.str10896 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str10897 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str10898 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str10899 = private unnamed_addr constant [2 x i8] c"w\00" +@.str10900 = private unnamed_addr constant [2 x i8] c"h\00" +@.str10901 = private unnamed_addr constant [2 x i8] c"x\00" +@.str10902 = private unnamed_addr constant [2 x i8] c"y\00" +@.str10903 = private unnamed_addr constant [4 x i8] c"pad\00" +@.str10904 = private unnamed_addr constant [4 x i8] c"gap\00" +@.str10905 = private unnamed_addr constant [3 x i8] c"bg\00" +@.str10906 = private unnamed_addr constant [3 x i8] c"fg\00" +@.str10907 = private unnamed_addr constant [7 x i8] c"border\00" +@.str10908 = private unnamed_addr constant [5 x i8] c"grow\00" +@.str10909 = private unnamed_addr constant [5 x i8] c"font\00" +@.str10910 = private unnamed_addr constant [5 x i8] c"size\00" +@.str10911 = private unnamed_addr constant [6 x i8] c"inset\00" +@.str10912 = private unnamed_addr constant [6 x i8] c"focus\00" +@.str10913 = private unnamed_addr constant [33 x i8] c" call void @fn_rt_ui_reset(i32 \00" +@.str10914 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str10915 = private unnamed_addr constant [2 x i8] c"1\00" +@.str10916 = private unnamed_addr constant [3 x i8] c"id\00" +@.str10917 = private unnamed_addr constant [5 x i8] c"goto\00" +@.str10918 = private unnamed_addr constant [5 x i8] c"text\00" +@.str10919 = private unnamed_addr constant [39 x i8] c" call void @fn_rt_ui_static_text(i32 \00" +@.str10920 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str10921 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str10922 = private unnamed_addr constant [5 x i8] c"skin\00" +@.str10923 = private unnamed_addr constant [6 x i8] c"image\00" +@.str10924 = private unnamed_addr constant [32 x i8] c"call i32 @fn_rt_image_load(ptr \00" +@.str10925 = private unnamed_addr constant [2 x i8] c")\00" +@.str10926 = private unnamed_addr constant [5 x i8] c"skin\00" +@.str10927 = private unnamed_addr constant [6 x i8] c"align\00" +@.str10928 = private unnamed_addr constant [7 x i8] c"center\00" +@.str10929 = private unnamed_addr constant [4 x i8] c"end\00" +@.str10930 = private unnamed_addr constant [2 x i8] c"1\00" +@.str10931 = private unnamed_addr constant [34 x i8] c"define void @ui_build() {\0Aentry:\0A\00" +@.str10932 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" +@.str10933 = private unnamed_addr constant [3 x i8] c", \00" +@.str10934 = private unnamed_addr constant [7 x i8] c" %arg_\00" +@.str10935 = private unnamed_addr constant [5 x i8] c"void\00" +@.str10936 = private unnamed_addr constant [20 x i8] c" %retval = alloca \00" +@.str10937 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10938 = private unnamed_addr constant [9 x i8] c" store \00" +@.str10939 = private unnamed_addr constant [7 x i8] c" %arg_\00" +@.str10940 = private unnamed_addr constant [7 x i8] c", ptr \00" +@.str10941 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10942 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00" +@.str10943 = private unnamed_addr constant [6 x i8] c"ret:\0A\00" +@.str10944 = private unnamed_addr constant [5 x i8] c"void\00" +@.str10945 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" +@.str10946 = private unnamed_addr constant [6 x i8] c"load \00" +@.str10947 = private unnamed_addr constant [14 x i8] c", ptr %retval\00" +@.str10948 = private unnamed_addr constant [7 x i8] c" ret \00" +@.str10949 = private unnamed_addr constant [2 x i8] c" \00" +@.str10950 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10951 = private unnamed_addr constant [8 x i8] c"define \00" +@.str10952 = private unnamed_addr constant [6 x i8] c" @fn_\00" +@.str10953 = private unnamed_addr constant [2 x i8] c"(\00" +@.str10954 = private unnamed_addr constant [12 x i8] c") {\0Aentry:\0A\00" +@.str10955 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" +@.str10956 = private unnamed_addr constant [4 x i8] c"int\00" +@.str10957 = private unnamed_addr constant [24 x i8] c" %retval = alloca i32\0A\00" +@.str10958 = private unnamed_addr constant [32 x i8] c" store i32 %argc, ptr @L_argc\0A\00" +@.str10959 = private unnamed_addr constant [32 x i8] c" store ptr %argv, ptr @L_argv\0A\00" +@.str10960 = private unnamed_addr constant [28 x i8] c" store i32 0, ptr %retval\0A\00" +@.str10961 = private unnamed_addr constant [8 x i8] c"rt_init\00" +@.str10962 = private unnamed_addr constant [27 x i8] c" call void @fn_rt_init()\0A\00" +@.str10963 = private unnamed_addr constant [31 x i8] c" call void @L_init_globals()\0A\00" +@.str10964 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00" +@.str10965 = private unnamed_addr constant [6 x i8] c"ret:\0A\00" +@.str10966 = private unnamed_addr constant [22 x i8] c"load i32, ptr %retval\00" +@.str10967 = private unnamed_addr constant [11 x i8] c" ret i32 \00" +@.str10968 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str10969 = private unnamed_addr constant [49 x i8] c"define i32 @main(i32 %argc, ptr %argv) {\0Aentry:\0A\00" +@.str10970 = private unnamed_addr constant [3 x i8] c"}\0A\00" +@.str10971 = private unnamed_addr constant [5 x i8] c"void\00" +@.str10972 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00" +@.str10973 = private unnamed_addr constant [17 x i8] c"ret:\0A ret void\0A\00" +@.str10974 = private unnamed_addr constant [23 x i8] c"define void @fn__test_\00" +@.str10975 = private unnamed_addr constant [13 x i8] c"() {\0Aentry:\0A\00" +@.str10976 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" +@.str10977 = private unnamed_addr constant [38 x i8] c"@L_test_fail = internal global i32 0\0A\00" +@.str10978 = 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" +@.str10979 = 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" +@.str10980 = private unnamed_addr constant [49 x i8] c"define i32 @main(i32 %argc, ptr %argv) {\0Aentry:\0A\00" +@.str10981 = private unnamed_addr constant [32 x i8] c" store i32 %argc, ptr @L_argc\0A\00" +@.str10982 = private unnamed_addr constant [32 x i8] c" store ptr %argv, ptr @L_argv\0A\00" +@.str10983 = private unnamed_addr constant [51 x i8] c" %failed = alloca i32\0A store i32 0, ptr %failed\0A\00" +@.str10984 = private unnamed_addr constant [24 x i8] c" call void @rt_init()\0A\00" +@.str10985 = private unnamed_addr constant [31 x i8] c" call void @L_init_globals()\0A\00" +@.str10986 = private unnamed_addr constant [8 x i8] c"ok - \00" +@.str10987 = private unnamed_addr constant [8 x i8] c"FAIL - \00" +@.str10988 = private unnamed_addr constant [33 x i8] c" store i32 0, ptr @L_test_fail\0A\00" +@.str10989 = private unnamed_addr constant [23 x i8] c" call void @fn__test_\00" +@.str10990 = private unnamed_addr constant [4 x i8] c"()\0A\00" +@.str10991 = private unnamed_addr constant [27 x i8] c"load i32, ptr @L_test_fail\00" +@.str10992 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" +@.str10993 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str10994 = private unnamed_addr constant [6 x i8] c"tpass\00" +@.str10995 = private unnamed_addr constant [6 x i8] c"tfail\00" +@.str10996 = private unnamed_addr constant [6 x i8] c"tdone\00" +@.str10997 = private unnamed_addr constant [9 x i8] c" br i1 \00" +@.str10998 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str10999 = private unnamed_addr constant [10 x i8] c", label %\00" +@.str11000 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11001 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str11002 = private unnamed_addr constant [51 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_line, ptr \00" +@.str11003 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str11004 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str11005 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11006 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str11007 = private unnamed_addr constant [22 x i8] c"load i32, ptr %failed\00" +@.str11008 = private unnamed_addr constant [9 x i8] c"add i32 \00" +@.str11009 = private unnamed_addr constant [4 x i8] c", 1\00" +@.str11010 = private unnamed_addr constant [13 x i8] c" store i32 \00" +@.str11011 = private unnamed_addr constant [15 x i8] c", ptr %failed\0A\00" +@.str11012 = private unnamed_addr constant [51 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_line, ptr \00" +@.str11013 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str11014 = private unnamed_addr constant [13 x i8] c" br label %\00" +@.str11015 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11016 = private unnamed_addr constant [3 x i8] c":\0A\00" +@.str11017 = private unnamed_addr constant [22 x i8] c"load i32, ptr %failed\00" +@.str11018 = private unnamed_addr constant [9 x i8] c"sub i32 \00" +@.str11019 = private unnamed_addr constant [3 x i8] c", \00" +@.str11020 = private unnamed_addr constant [55 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_test_sum, i32 \00" +@.str11021 = private unnamed_addr constant [7 x i8] c", i32 \00" +@.str11022 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str11023 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" +@.str11024 = private unnamed_addr constant [4 x i8] c", 0\00" +@.str11025 = private unnamed_addr constant [11 x i8] c"select i1 \00" +@.str11026 = private unnamed_addr constant [15 x i8] c", i32 0, i32 1\00" +@.str11027 = private unnamed_addr constant [11 x i8] c" ret i32 \00" +@.str11028 = private unnamed_addr constant [4 x i8] c"\0A}\0A\00" +@.str11029 = private unnamed_addr constant [11 x i8] c"function '\00" +@.str11030 = private unnamed_addr constant [30 x i8] c"' is defined twice (first in \00" +@.str11031 = private unnamed_addr constant [2 x i8] c":\00" +@.str11032 = private unnamed_addr constant [2 x i8] c")\00" +@.str11033 = private unnamed_addr constant [23 x i8] c"declare i32 @getpid()\0A\00" +@.str11034 = private unnamed_addr constant [37 x i8] c"declare i32 @fprintf(ptr, ptr, ...)\0A\00" +@.str11035 = 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" +@.str11036 = private unnamed_addr constant [34 x i8] c"%Result = type { i32, i32, ptr }\0A\00" +@.str11037 = private unnamed_addr constant [29 x i8] c"%Option = type { i32, i32 }\0A\00" +@.str11038 = private unnamed_addr constant [33 x i8] c"@L_cov_lines = internal global [\00" +@.str11039 = private unnamed_addr constant [10 x i8] c" x i32] [\00" +@.str11040 = private unnamed_addr constant [3 x i8] c", \00" +@.str11041 = private unnamed_addr constant [5 x i8] c"i32 \00" +@.str11042 = private unnamed_addr constant [3 x i8] c"]\0A\00" +@.str11043 = private unnamed_addr constant [32 x i8] c"@L_cov_hits = internal global [\00" +@.str11044 = private unnamed_addr constant [25 x i8] c" x i32] zeroinitializer\0A\00" +@.str11045 = private unnamed_addr constant [32 x i8] c"@L_cov_n = internal global i32 \00" +@.str11046 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11047 = private unnamed_addr constant [15 x i8] c"LUDIC_COVERAGE\00" +@.str11048 = private unnamed_addr constant [10 x i8] c"ludic.cov\00" +@.str11049 = private unnamed_addr constant [2 x i8] c"w\00" +@.str11050 = 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" +@.str11051 = 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" +@.str11052 = private unnamed_addr constant [37 x i8] c"declare i32 @fprintf(ptr, ptr, ...)\0A\00" +@.str11053 = private unnamed_addr constant [26 x i8] c"declare i32 @atexit(ptr)\0A\00" +@.str11054 = private unnamed_addr constant [34 x i8] c"define void @cov_dump() {\0Aentry:\0A\00" +@.str11055 = private unnamed_addr constant [31 x i8] c" %env = call ptr @getenv(ptr \00" +@.str11056 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str11057 = private unnamed_addr constant [35 x i8] c" %noenv = icmp eq ptr %env, null\0A\00" +@.str11058 = private unnamed_addr constant [33 x i8] c" %path = select i1 %noenv, ptr \00" +@.str11059 = private unnamed_addr constant [12 x i8] c", ptr %env\0A\00" +@.str11060 = private unnamed_addr constant [39 x i8] c" %f = call ptr @fopen(ptr %path, ptr \00" +@.str11061 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str11062 = private unnamed_addr constant [31 x i8] c" %bad = icmp eq ptr %f, null\0A\00" +@.str11063 = private unnamed_addr constant [41 x i8] c" br i1 %bad, label %done, label %write\0A\00" +@.str11064 = private unnamed_addr constant [8 x i8] c"write:\0A\00" +@.str11065 = private unnamed_addr constant [68 x i8] c" call i32 (ptr, ptr, ...) @fprintf(ptr %f, ptr @.cov_filefmt, ptr \00" +@.str11066 = private unnamed_addr constant [3 x i8] c")\0A\00" +@.str11067 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00" +@.str11068 = private unnamed_addr constant [7 x i8] c"loop:\0A\00" +@.str11069 = private unnamed_addr constant [46 x i8] c" %i = phi i32 [ 0, %write ], [ %i1, %body ]\0A\00" +@.str11070 = private unnamed_addr constant [26 x i8] c" %go = icmp slt i32 %i, \00" +@.str11071 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11072 = private unnamed_addr constant [40 x i8] c" br i1 %go, label %body, label %close\0A\00" +@.str11073 = private unnamed_addr constant [7 x i8] c"body:\0A\00" +@.str11074 = private unnamed_addr constant [33 x i8] c" %lp = getelementptr inbounds [\00" +@.str11075 = private unnamed_addr constant [42 x i8] c" x i32], ptr @L_cov_lines, i32 0, i32 %i\0A\00" +@.str11076 = private unnamed_addr constant [27 x i8] c" %lv = load i32, ptr %lp\0A\00" +@.str11077 = private unnamed_addr constant [33 x i8] c" %hp = getelementptr inbounds [\00" +@.str11078 = private unnamed_addr constant [41 x i8] c" x i32], ptr @L_cov_hits, i32 0, i32 %i\0A\00" +@.str11079 = private unnamed_addr constant [27 x i8] c" %hv = load i32, ptr %hp\0A\00" +@.str11080 = private unnamed_addr constant [81 x i8] c" call i32 (ptr, ptr, ...) @fprintf(ptr %f, ptr @.cov_rowfmt, i32 %lv, i32 %hv)\0A\00" +@.str11081 = private unnamed_addr constant [23 x i8] c" %i1 = add i32 %i, 1\0A\00" +@.str11082 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00" +@.str11083 = private unnamed_addr constant [8 x i8] c"close:\0A\00" +@.str11084 = private unnamed_addr constant [34 x i8] c" %rc = call i32 @fclose(ptr %f)\0A\00" +@.str11085 = private unnamed_addr constant [18 x i8] c" br label %done\0A\00" +@.str11086 = private unnamed_addr constant [21 x i8] c"done:\0A ret void\0A}\0A\0A\00" +@.str11087 = private unnamed_addr constant [34 x i8] c"define void @cov_init() {\0Aentry:\0A\00" +@.str11088 = private unnamed_addr constant [40 x i8] c" %r = call i32 @atexit(ptr @cov_dump)\0A\00" +@.str11089 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" +@.str11090 = 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" +@.str11091 = private unnamed_addr constant [3 x i8] c"wb\00" +@.str11092 = private unnamed_addr constant [7 x i8] c".ludic\00" +@.str11093 = private unnamed_addr constant [2 x i8] c"/\00" +@.str11094 = private unnamed_addr constant [15 x i8] c"if not exist \22\00" +@.str11095 = private unnamed_addr constant [10 x i8] c"\22 mkdir \22\00" +@.str11096 = private unnamed_addr constant [2 x i8] c"\22\00" +@.str11097 = private unnamed_addr constant [10 x i8] c"mkdir -p \00" +@.str11098 = private unnamed_addr constant [12 x i8] c"del /f /q \22\00" +@.str11099 = private unnamed_addr constant [8 x i8] c"\22 2>nul\00" +@.str11100 = private unnamed_addr constant [7 x i8] c"rm -f \00" +@.str11101 = private unnamed_addr constant [9 x i8] c"LUDIC_CC\00" +@.str11102 = private unnamed_addr constant [36 x i8] c"C:/Program Files/LLVM/bin/clang.exe\00" +@.str11103 = private unnamed_addr constant [3 x i8] c"rb\00" +@.str11104 = private unnamed_addr constant [2 x i8] c"\22\00" +@.str11105 = private unnamed_addr constant [2 x i8] c"\22\00" +@.str11106 = private unnamed_addr constant [6 x i8] c"clang\00" +@.str11107 = private unnamed_addr constant [8 x i8] c"VERSION\00" +@.str11108 = private unnamed_addr constant [24 x i8] c"ludic (version unknown)\00" +@.str11109 = private unnamed_addr constant [7 x i8] c"ludic \00" +@.str11110 = private unnamed_addr constant [1 x i8] c"\00" +@.str11111 = private unnamed_addr constant [1 x i8] c"\00" +@.str11112 = private unnamed_addr constant [2 x i8] c"?\00" +@.str11113 = private unnamed_addr constant [10 x i8] c"--version\00" +@.str11114 = private unnamed_addr constant [11 x i8] c"--windowed\00" +@.str11115 = private unnamed_addr constant [11 x i8] c"--headless\00" +@.str11116 = private unnamed_addr constant [12 x i8] c"--emit-llvm\00" +@.str11117 = private unnamed_addr constant [14 x i8] c"--emit-module\00" +@.str11118 = private unnamed_addr constant [6 x i8] c"--fmt\00" +@.str11119 = private unnamed_addr constant [13 x i8] c"--save-temps\00" +@.str11120 = private unnamed_addr constant [6 x i8] c"--run\00" +@.str11121 = private unnamed_addr constant [11 x i8] c"--coverage\00" +@.str11122 = private unnamed_addr constant [9 x i8] c"--target\00" +@.str11123 = private unnamed_addr constant [6 x i8] c"--gui\00" +@.str11124 = private unnamed_addr constant [7 x i8] c"--link\00" +@.str11125 = private unnamed_addr constant [3 x i8] c"-o\00" +@.str11126 = private unnamed_addr constant [31 x i8] c"ludicc: ignoring unknown flag \00" +@.str11127 = private unnamed_addr constant [2 x i8] c"\0A\00" +@.str11128 = private unnamed_addr constant [108 x i8] c"usage: ludicc [-o out] [--windowed|--headless] [--target triple] [--emit-llvm] [--save-temps]\0A\00" +@.str11129 = private unnamed_addr constant [8 x i8] c"windows\00" +@.str11130 = private unnamed_addr constant [27 x i8] c"ludicc: cannot open input\0A\00" +@.str11131 = private unnamed_addr constant [48 x i8] c"ludicc: Http.* is not available on Windows yet\0A\00" +@.str11132 = private unnamed_addr constant [5 x i8] c"TEMP\00" +@.str11133 = private unnamed_addr constant [2 x i8] c".\00" +@.str11134 = private unnamed_addr constant [12 x i8] c"/ludic-run-\00" +@.str11135 = private unnamed_addr constant [16 x i8] c"/tmp/ludic-run-\00" +@.str11136 = private unnamed_addr constant [5 x i8] c".exe\00" +@.str11137 = private unnamed_addr constant [5 x i8] c".exe\00" +@.str11138 = private unnamed_addr constant [4 x i8] c".ll\00" +@.str11139 = private unnamed_addr constant [25 x i8] c"ludicc: cannot write IR\0A\00" +@.str11140 = private unnamed_addr constant [27 x i8] c" -O2 -Wno-override-module \00" +@.str11141 = private unnamed_addr constant [24 x i8] c"runtime/native/win32.ll\00" +@.str11142 = private unnamed_addr constant [2 x i8] c" \00" +@.str11143 = private unnamed_addr constant [55 x i8] c" -luser32 -lgdi32 -lxinput -Wl,/ignore:importeddllmain\00" +@.str11144 = private unnamed_addr constant [28 x i8] c"runtime/native/audio_win.ll\00" +@.str11145 = private unnamed_addr constant [2 x i8] c" \00" +@.str11146 = private unnamed_addr constant [19 x i8] c" -lxaudio2 -lole32\00" +@.str11147 = private unnamed_addr constant [24 x i8] c"runtime/native/cocoa.ll\00" +@.str11148 = private unnamed_addr constant [2 x i8] c" \00" +@.str11149 = private unnamed_addr constant [79 x i8] c" -framework Cocoa -Wl,-needed_framework,GameController -Wl,-rpath,@loader_path\00" +@.str11150 = private unnamed_addr constant [24 x i8] c"runtime/native/audio.ll\00" +@.str11151 = private unnamed_addr constant [2 x i8] c" \00" +@.str11152 = private unnamed_addr constant [36 x i8] c" -Wl,-needed_framework,AVFoundation\00" +@.str11153 = private unnamed_addr constant [23 x i8] c"runtime/native/http.ll\00" +@.str11154 = private unnamed_addr constant [2 x i8] c" \00" +@.str11155 = private unnamed_addr constant [34 x i8] c" -Wl,-needed_framework,Foundation\00" +@.str11156 = private unnamed_addr constant [25 x i8] c"runtime/native/gl_win.ll\00" +@.str11157 = private unnamed_addr constant [32 x i8] c"runtime/native/gl_thunks_win.ll\00" +@.str11158 = private unnamed_addr constant [31 x i8] c"runtime/native/gl_win_nowin.ll\00" +@.str11159 = private unnamed_addr constant [27 x i8] c"runtime/native/win32_gl.ll\00" +@.str11160 = private unnamed_addr constant [2 x i8] c" \00" +@.str11161 = private unnamed_addr constant [2 x i8] c" \00" +@.str11162 = private unnamed_addr constant [2 x i8] c" \00" +@.str11163 = private unnamed_addr constant [29 x i8] c" -luser32 -lgdi32 -lopengl32\00" +@.str11164 = private unnamed_addr constant [21 x i8] c"runtime/native/gl.ll\00" +@.str11165 = private unnamed_addr constant [28 x i8] c"runtime/native/gl_thunks.ll\00" +@.str11166 = private unnamed_addr constant [2 x i8] c" \00" +@.str11167 = private unnamed_addr constant [2 x i8] c" \00" +@.str11168 = private unnamed_addr constant [19 x i8] c" -framework OpenGL\00" +@.str11169 = private unnamed_addr constant [50 x i8] c" -Wl,/subsystem:windows -Wl,/entry:mainCRTStartup\00" +@.str11170 = private unnamed_addr constant [3 x i8] c" \22\00" +@.str11171 = private unnamed_addr constant [2 x i8] c"\22\00" +@.str11172 = private unnamed_addr constant [5 x i8] c" -o \00" +@.str11173 = private unnamed_addr constant [2 x i8] c"\22\00" +@.str11174 = private unnamed_addr constant [2 x i8] c"\22\00" +@.str11175 = private unnamed_addr constant [21 x i8] c"ludicc: link failed\0A\00" +@.str11176 = private unnamed_addr constant [2 x i8] c"\22\00" +@.str11177 = private unnamed_addr constant [2 x i8] c"\22\00" +define i32 @lp_str_eq(ptr %a, ptr %b) { +entry: + br label %loop +loop: + %i = phi i32 [ 0, %entry ], [ %i1, %cont ] + %pa = getelementptr inbounds i8, ptr %a, i32 %i + %pb = getelementptr inbounds i8, ptr %b, i32 %i + %ca = load i8, ptr %pa + %cb = load i8, ptr %pb + %df = icmp ne i8 %ca, %cb + br i1 %df, label %ret0, label %chk +chk: + %zt = icmp eq i8 %ca, 0 + br i1 %zt, label %ret1, label %cont +cont: + %i1 = add i32 %i, 1 + br label %loop +ret1: + ret i32 1 +ret0: + ret i32 0 +} +define ptr @lp_str_concat(ptr %a, ptr %b) { +entry: + br label %al +al: + %ia = phi i32 [ 0, %entry ], [ %ia1, %alb ] + %pa = getelementptr inbounds i8, ptr %a, i32 %ia + %cca = load i8, ptr %pa + %za = icmp eq i8 %cca, 0 + br i1 %za, label %bl0, label %alb +alb: + %ia1 = add i32 %ia, 1 + br label %al +bl0: + br label %bl +bl: + %ib = phi i32 [ 0, %bl0 ], [ %ib1, %blb ] + %pb = getelementptr inbounds i8, ptr %b, i32 %ib + %ccb = load i8, ptr %pb + %zb = icmp eq i8 %ccb, 0 + br i1 %zb, label %alloc, label %blb +blb: + %ib1 = add i32 %ib, 1 + br label %bl +alloc: + %sum = add i32 %ia, %ib + %sz = add i32 %sum, 1 + %sz64 = sext i32 %sz to i64 + %out = call ptr @malloc(i64 %sz64) + br label %c1 +c1: + %i = phi i32 [ 0, %alloc ], [ %i1, %c1b ] + %d1 = icmp slt i32 %i, %ia + br i1 %d1, label %c1b, label %c2i +c1b: + %s1 = getelementptr inbounds i8, ptr %a, i32 %i + %v1 = load i8, ptr %s1 + %o1 = getelementptr inbounds i8, ptr %out, i32 %i + store i8 %v1, ptr %o1 + %i1 = add i32 %i, 1 + br label %c1 +c2i: + br label %c2 +c2: + %j = phi i32 [ 0, %c2i ], [ %j1, %c2b ] + %d2 = icmp slt i32 %j, %ib + br i1 %d2, label %c2b, label %fin +c2b: + %s2 = getelementptr inbounds i8, ptr %b, i32 %j + %v2 = load i8, ptr %s2 + %oj = add i32 %ia, %j + %o2 = getelementptr inbounds i8, ptr %out, i32 %oj + store i8 %v2, ptr %o2 + %j1 = add i32 %j, 1 + br label %c2 +fin: + %pe = getelementptr inbounds i8, ptr %out, i32 %sum + store i8 0, ptr %pe + ret ptr %out +} +define ptr @lp_int_str(i32 %n0) { +entry: + %buf = call ptr @malloc(i64 24) + %isneg = icmp slt i32 %n0, 0 + %neg = sub i32 0, %n0 + %n = select i1 %isneg, i32 %neg, i32 %n0 + %term = getelementptr inbounds i8, ptr %buf, i32 23 + store i8 0, ptr %term + %iszero = icmp eq i32 %n0, 0 + br i1 %iszero, label %zc, label %dl +zc: + %zp = getelementptr inbounds i8, ptr %buf, i32 22 + store i8 48, ptr %zp + ret ptr %zp +dl: + br label %dloop +dloop: + %pos = phi i32 [ 22, %dl ], [ %pos2, %dbody ] + %cur = phi i32 [ %n, %dl ], [ %cur2, %dbody ] + %done = icmp eq i32 %cur, 0 + br i1 %done, label %sign, label %dbody +dbody: + %d = urem i32 %cur, 10 + %ch = add i32 %d, 48 + %ch8 = trunc i32 %ch to i8 + %pp = getelementptr inbounds i8, ptr %buf, i32 %pos + store i8 %ch8, ptr %pp + %cur2 = udiv i32 %cur, 10 + %pos2 = sub i32 %pos, 1 + br label %dloop +sign: + br i1 %isneg, label %addneg, label %fin +addneg: + %sp = getelementptr inbounds i8, ptr %buf, i32 %pos + store i8 45, ptr %sp + %posn = sub i32 %pos, 1 + br label %fin +fin: + %fpos = phi i32 [ %pos, %sign ], [ %posn, %addneg ] + %rpos = add i32 %fpos, 1 + %res = getelementptr inbounds i8, ptr %buf, i32 %rpos + ret ptr %res +} +define ptr @lp_str_slice(ptr %s, i32 %start, i32 %end) { +entry: + %len = sub i32 %end, %start + %sz = add i32 %len, 1 + %sz64 = sext i32 %sz to i64 + %out = call ptr @malloc(i64 %sz64) + br label %loop +loop: + %i = phi i32 [ 0, %entry ], [ %i1, %body ] + %d = icmp slt i32 %i, %len + br i1 %d, label %body, label %fin +body: + %si = add i32 %start, %i + %sp = getelementptr inbounds i8, ptr %s, i32 %si + %c = load i8, ptr %sp + %op = getelementptr inbounds i8, ptr %out, i32 %i + store i8 %c, ptr %op + %i1 = add i32 %i, 1 + br label %loop +fin: + %tp = getelementptr inbounds i8, ptr %out, i32 %len + store i8 0, ptr %tp + ret ptr %out +} +define ptr @lp_fs_dup(ptr %s, i32 %n) { +entry: + %nz = zext i32 %n to i64 + %t = add i64 %nz, 1 + %m = call ptr @malloc(i64 %t) + call ptr @memcpy(ptr %m, ptr %s, i64 %nz) + %end = getelementptr i8, ptr %m, i32 %n + store i8 0, ptr %end + ret ptr %m +} +define ptr @lp_fs_strdup(ptr %s) { +entry: + %l = call i64 @strlen(ptr %s) + %li = trunc i64 %l to i32 + %r = call ptr @lp_fs_dup(ptr %s, i32 %li) + ret ptr %r +} +define i32 @lp_fs_lastslash(ptr %s) { +entry: + %ip = alloca i32 + %rp = alloca i32 + store i32 0, ptr %ip + store i32 -1, ptr %rp + br label %lp +lp: + %i = load i32, ptr %ip + %p = getelementptr i8, ptr %s, i32 %i + %b = load i8, ptr %p + %c = zext i8 %b to i32 + %z = icmp eq i32 %c, 0 + br i1 %z, label %done, label %go +go: + %sl = icmp eq i32 %c, 47 + br i1 %sl, label %set, label %nx +set: + store i32 %i, ptr %rp + br label %nx +nx: + %i1 = add i32 %i, 1 + store i32 %i1, ptr %ip + br label %lp +done: + %r = load i32, ptr %rp + ret i32 %r +} +define ptr @lp_path_join(ptr %a, ptr %b) { +entry: + %la64 = call i64 @strlen(ptr %a) + %la = trunc i64 %la64 to i32 + %lb64 = call i64 @strlen(ptr %b) + %lb = trunc i64 %lb64 to i32 + %b0 = load i8, ptr %b + %b0i = zext i8 %b0 to i32 + %babs = icmp eq i32 %b0i, 47 + br i1 %babs, label %retb, label %ka +retb: + %rb = call ptr @lp_fs_strdup(ptr %b) + ret ptr %rb +ka: + %aemp = icmp eq i32 %la, 0 + br i1 %aemp, label %retb2, label %kb +retb2: + %rb2 = call ptr @lp_fs_strdup(ptr %b) + ret ptr %rb2 +kb: + %bemp = icmp eq i32 %lb, 0 + br i1 %bemp, label %reta, label %chk +reta: + %ra = call ptr @lp_fs_strdup(ptr %a) + ret ptr %ra +chk: + %lam1 = sub i32 %la, 1 + %pe = getelementptr i8, ptr %a, i32 %lam1 + %ae = load i8, ptr %pe + %aei = zext i8 %ae to i32 + %ends = icmp eq i32 %aei, 47 + %sep = select i1 %ends, i32 0, i32 1 + %tot = add i32 %la, %lb + %tot2 = add i32 %tot, %sep + %tot3 = add i32 %tot2, 1 + %totz = zext i32 %tot3 to i64 + %m = call ptr @malloc(i64 %totz) + %laz = zext i32 %la to i64 + call ptr @memcpy(ptr %m, ptr %a, i64 %laz) + br i1 %ends, label %nosep, label %wsep +wsep: + %sp = getelementptr i8, ptr %m, i32 %la + store i8 47, ptr %sp + br label %after +nosep: + br label %after +after: + %boff = add i32 %la, %sep + %dp = getelementptr i8, ptr %m, i32 %boff + %lbz = zext i32 %lb to i64 + call ptr @memcpy(ptr %dp, ptr %b, i64 %lbz) + %endoff = add i32 %boff, %lb + %ep = getelementptr i8, ptr %m, i32 %endoff + store i8 0, ptr %ep + ret ptr %m +} +define ptr @lp_path_base(ptr %s) { +entry: + %ls = call i32 @lp_fs_lastslash(ptr %s) + %none = icmp eq i32 %ls, -1 + br i1 %none, label %whole, label %tail +whole: + %r = call ptr @lp_fs_strdup(ptr %s) + ret ptr %r +tail: + %st = add i32 %ls, 1 + %p = getelementptr i8, ptr %s, i32 %st + %r2 = call ptr @lp_fs_strdup(ptr %p) + ret ptr %r2 +} +define ptr @lp_path_dir(ptr %s) { +entry: + %ls = call i32 @lp_fs_lastslash(ptr %s) + %none = icmp eq i32 %ls, -1 + br i1 %none, label %dot, label %chk0 +dot: + %d = call ptr @lp_fs_strdup(ptr @fn_str_dot) + ret ptr %d +chk0: + %isroot = icmp eq i32 %ls, 0 + br i1 %isroot, label %root, label %cut +root: + %r = call ptr @lp_fs_strdup(ptr @fn_str_slash) + ret ptr %r +cut: + %r2 = call ptr @lp_fs_dup(ptr %s, i32 %ls) + ret ptr %r2 +} +define ptr @lp_path_ext(ptr %s) { +entry: + %ls = call i32 @lp_fs_lastslash(ptr %s) + %bstart = add i32 %ls, 1 + %dp = alloca i32 + %ip = alloca i32 + store i32 -1, ptr %dp + store i32 %bstart, ptr %ip + br label %lp +lp: + %i = load i32, ptr %ip + %p = getelementptr i8, ptr %s, i32 %i + %b = load i8, ptr %p + %c = zext i8 %b to i32 + %z = icmp eq i32 %c, 0 + br i1 %z, label %done, label %go +go: + %dot = icmp eq i32 %c, 46 + br i1 %dot, label %sd, label %nx +sd: + store i32 %i, ptr %dp + br label %nx +nx: + %i1 = add i32 %i, 1 + store i32 %i1, ptr %ip + br label %lp +done: + %d = load i32, ptr %dp + %nod = icmp eq i32 %d, -1 + br i1 %nod, label %empty, label %chkpos +empty: + %e = call ptr @lp_fs_strdup(ptr @fn_str_empty) + ret ptr %e +chkpos: + %atstart = icmp eq i32 %d, %bstart + br i1 %atstart, label %empty2, label %take +empty2: + %e2 = call ptr @lp_fs_strdup(ptr @fn_str_empty) + ret ptr %e2 +take: + %pp = getelementptr i8, ptr %s, i32 %d + %r = call ptr @lp_fs_strdup(ptr %pp) + ret ptr %r +} +define ptr @lp_path_stem(ptr %s) { +entry: + %base = call ptr @lp_path_base(ptr %s) + %ext = call ptr @lp_path_ext(ptr %s) + %bl64 = call i64 @strlen(ptr %base) + %bl = trunc i64 %bl64 to i32 + %el64 = call i64 @strlen(ptr %ext) + %el = trunc i64 %el64 to i32 + %keep = sub i32 %bl, %el + %r = call ptr @lp_fs_dup(ptr %base, i32 %keep) + ret ptr %r +} +define ptr @lp_path_norm(ptr %s) { +entry: + %len64 = call i64 @strlen(ptr %s) + %len = trunc i64 %len64 to i32 + %cap = add i32 %len, 2 + %capz = zext i32 %cap to i64 + %out = call ptr @malloc(i64 %capz) + %stz = mul i32 %cap, 4 + %stzz = zext i32 %stz to i64 + %segst = call ptr @malloc(i64 %stzz) + %b0 = load i8, ptr %s + %b0i = zext i8 %b0 to i32 + %abs = icmp eq i32 %b0i, 47 + %ip = alloca i32 + %op = alloca i32 + %scp = alloca i32 + store i32 0, ptr %ip + store i32 0, ptr %scp + br i1 %abs, label %ldr, label %noldr +ldr: + store i8 47, ptr %out + store i32 1, ptr %op + br label %seg +noldr: + store i32 0, ptr %op + br label %seg +seg: + br label %sksl +sksl: + %i = load i32, ptr %ip + %pp = getelementptr i8, ptr %s, i32 %i + %cc = load i8, ptr %pp + %cci = zext i8 %cc to i32 + %issl = icmp eq i32 %cci, 47 + br i1 %issl, label %adv, label %segstart +adv: + %i2 = add i32 %i, 1 + store i32 %i2, ptr %ip + br label %sksl +segstart: + %ss = load i32, ptr %ip + br label %scan +scan: + %j = load i32, ptr %ip + %pj = getelementptr i8, ptr %s, i32 %j + %cj = load i8, ptr %pj + %cji = zext i8 %cj to i32 + %endc = icmp eq i32 %cji, 0 + %slc = icmp eq i32 %cji, 47 + %stop = or i1 %endc, %slc + br i1 %stop, label %seghave, label %scanadv +scanadv: + %j1 = add i32 %j, 1 + store i32 %j1, ptr %ip + br label %scan +seghave: + %se = load i32, ptr %ip + %slen = sub i32 %se, %ss + %emptyseg = icmp eq i32 %slen, 0 + br i1 %emptyseg, label %atend, label %classify +classify: + %is1 = icmp eq i32 %slen, 1 + %c0p = getelementptr i8, ptr %s, i32 %ss + %c0 = load i8, ptr %c0p + %c0i = zext i8 %c0 to i32 + %isdotchar = icmp eq i32 %c0i, 46 + %isdot = and i1 %is1, %isdotchar + br i1 %isdot, label %contseg, label %chkdd +chkdd: + %is2 = icmp eq i32 %slen, 2 + %d0p = getelementptr i8, ptr %s, i32 %ss + %d0 = load i8, ptr %d0p + %d0i = zext i8 %d0 to i32 + %d1o = add i32 %ss, 1 + %d1p = getelementptr i8, ptr %s, i32 %d1o + %d1 = load i8, ptr %d1p + %d1i = zext i8 %d1 to i32 + %dd0 = icmp eq i32 %d0i, 46 + %dd1 = icmp eq i32 %d1i, 46 + %ddx = and i1 %dd0, %dd1 + %isdd = and i1 %is2, %ddx + br i1 %isdd, label %dotdot, label %keepseg +dotdot: + %sc = load i32, ptr %scp + %has = icmp sgt i32 %sc, 0 + br i1 %has, label %pop, label %chkrel +pop: + %sc1 = sub i32 %sc, 1 + %stp = getelementptr i32, ptr %segst, i32 %sc1 + %newop = load i32, ptr %stp + store i32 %newop, ptr %op + store i32 %sc1, ptr %scp + br label %contseg +chkrel: + br i1 %abs, label %contseg, label %keepseg +keepseg: + %sc2 = load i32, ptr %scp + %o0 = load i32, ptr %op + %stp2 = getelementptr i32, ptr %segst, i32 %sc2 + store i32 %o0, ptr %stp2 + %sc2n = add i32 %sc2, 1 + store i32 %sc2n, ptr %scp + %cpp = alloca i32 + store i32 %ss, ptr %cpp + br label %cpy +cpy: + %k = load i32, ptr %cpp + %klt = icmp slt i32 %k, %se + br i1 %klt, label %cpyb, label %cpysl +cpyb: + %skp = getelementptr i8, ptr %s, i32 %k + %sk = load i8, ptr %skp + %oo = load i32, ptr %op + %dkp = getelementptr i8, ptr %out, i32 %oo + store i8 %sk, ptr %dkp + %oo1 = add i32 %oo, 1 + store i32 %oo1, ptr %op + %k1 = add i32 %k, 1 + store i32 %k1, ptr %cpp + br label %cpy +cpysl: + %oc = load i32, ptr %op + %scp3 = getelementptr i8, ptr %out, i32 %oc + store i8 47, ptr %scp3 + %oc1 = add i32 %oc, 1 + store i32 %oc1, ptr %op + br label %contseg +contseg: + %ci = load i32, ptr %ip + %cip = getelementptr i8, ptr %s, i32 %ci + %cic = load i8, ptr %cip + %cici = zext i8 %cic to i32 + %atz = icmp eq i32 %cici, 0 + br i1 %atz, label %finish, label %seg +atend: + br label %finish +finish: + %fo = load i32, ptr %op + %gt1 = icmp sgt i32 %fo, 1 + br i1 %gt1, label %trimchk, label %fdefault +trimchk: + %lasto = sub i32 %fo, 1 + %lop = getelementptr i8, ptr %out, i32 %lasto + %lc = load i8, ptr %lop + %lci = zext i8 %lc to i32 + %istsl = icmp eq i32 %lci, 47 + br i1 %istsl, label %trim, label %term +trim: + store i32 %lasto, ptr %op + br label %term +fdefault: + br label %term +term: + %eo = load i32, ptr %op + %ez = icmp eq i32 %eo, 0 + br i1 %ez, label %emptyout, label %putnul +emptyout: + store i8 46, ptr %out + %e1 = getelementptr i8, ptr %out, i32 1 + store i8 0, ptr %e1 + ret ptr %out +putnul: + %ep = getelementptr i8, ptr %out, i32 %eo + store i8 0, ptr %ep + ret ptr %out +} +define i32 @lp_fs_exists(ptr %p) { +entry: + %ip = call i32 @lp_pak_has(ptr %p) + %inpak = icmp ne i32 %ip, 0 + br i1 %inpak, label %yes, label %disk +yes: + ret i32 1 +disk: + %r = call i32 @access(ptr %p, i32 0) + %ok = icmp eq i32 %r, 0 + %z = zext i1 %ok to i32 + ret i32 %z +} +define i32 @lp_fs_is_dir(ptr %p) { +entry: + %d = call ptr @opendir(ptr %p) + %nz = icmp ne ptr %d, null + br i1 %nz, label %yes, label %no +yes: + call i32 @closedir(ptr %d) + ret i32 1 +no: + ret i32 0 +} +define i32 @lp_fs_size(ptr %p) { +entry: + %pn = call i32 @lp_pak_bytes(ptr %p) + %inpak = icmp sge i32 %pn, 0 + br i1 %inpak, label %packed, label %disk +packed: + ret i32 %pn +disk: + %f = call ptr @fopen(ptr %p, ptr @fn_str_rb) + %nz = icmp ne ptr %f, null + br i1 %nz, label %ok, label %bad +bad: + ret i32 -1 +ok: + call i32 @fseek(ptr %f, i64 0, i32 2) + %n = call i64 @ftell(ptr %f) + call i32 @fclose(ptr %f) + %ni = trunc i64 %n to i32 + ret i32 %ni +} +define ptr @lp_fs_readall(ptr %p, ptr %lenout) { +entry: + store i32 0, ptr %lenout + %f = call ptr @lp_pak_open(ptr %p, ptr @fn_str_rb) + %nz = icmp ne ptr %f, null + br i1 %nz, label %ok, label %bad +bad: + ret ptr null +ok: + call i32 @fseek(ptr %f, i64 0, i32 2) + %n64 = call i64 @ftell(ptr %f) + call i32 @fseek(ptr %f, i64 0, i32 0) + %n = trunc i64 %n64 to i32 + %cap = add i64 %n64, 1 + %m = call ptr @malloc(i64 %cap) + %rd = call i64 @fread(ptr %m, i64 1, i64 %n64, ptr %f) + call i32 @fclose(ptr %f) + %rdi = trunc i64 %rd to i32 + %endp = getelementptr i8, ptr %m, i32 %rdi + store i8 0, ptr %endp + store i32 %rdi, ptr %lenout + ret ptr %m +} +define ptr @lp_fs_read_text(ptr %p) { +entry: + %lp = alloca i32 + %r = call ptr @lp_fs_readall(ptr %p, ptr %lp) + ret ptr %r +} +define i32 @lp_fs_write_text(ptr %p, ptr %s) { +entry: + %tmp = call ptr @lp_path_join_ext(ptr %p, ptr @fn_str_dottmp) + %f = call ptr @fopen(ptr %tmp, ptr @fn_str_wb) + %nz = icmp ne ptr %f, null + br i1 %nz, label %ok, label %bad +bad: + ret i32 0 +ok: + %n = call i64 @strlen(ptr %s) + %w = call i64 @fwrite(ptr %s, i64 1, i64 %n, ptr %f) + call i32 @fclose(ptr %f) + %rr = call i32 @rename(ptr %tmp, ptr %p) + %ok2 = icmp eq i32 %rr, 0 + %z = zext i1 %ok2 to i32 + ret i32 %z +} +define ptr @lp_path_join_ext(ptr %a, ptr %b) { +entry: + %la = call i64 @strlen(ptr %a) + %lb = call i64 @strlen(ptr %b) + %sum = add i64 %la, %lb + %tot = add i64 %sum, 1 + %m = call ptr @malloc(i64 %tot) + call ptr @memcpy(ptr %m, ptr %a, i64 %la) + %m2 = getelementptr i8, ptr %m, i64 %la + call ptr @memcpy(ptr %m2, ptr %b, i64 %lb) + %ep = getelementptr i8, ptr %m, i64 %sum + store i8 0, ptr %ep + ret ptr %m +} +define i32 @lp_fs_append_text(ptr %p, ptr %s) { +entry: + %f = call ptr @fopen(ptr %p, ptr @fn_str_ab) + %nz = icmp ne ptr %f, null + br i1 %nz, label %ok, label %bad +bad: + ret i32 0 +ok: + %n = call i64 @strlen(ptr %s) + call i64 @fwrite(ptr %s, i64 1, i64 %n, ptr %f) + call i32 @fclose(ptr %f) + ret i32 1 +} +define i32 @lp_fs_remove(ptr %p) { +entry: + %r = call i32 @remove(ptr %p) + %ok = icmp eq i32 %r, 0 + %z = zext i1 %ok to i32 + ret i32 %z +} +define i32 @lp_fs_copy(ptr %src, ptr %dst) { +entry: + %lp = alloca i32 + %buf = call ptr @lp_fs_readall(ptr %src, ptr %lp) + %nz = icmp ne ptr %buf, null + br i1 %nz, label %ok, label %bad +bad: + ret i32 0 +ok: + %tmp = call ptr @lp_path_join_ext(ptr %dst, ptr @fn_str_dottmp) + %f = call ptr @fopen(ptr %tmp, ptr @fn_str_wb) + %fnz = icmp ne ptr %f, null + br i1 %fnz, label %w, label %bad +w: + %n = load i32, ptr %lp + %nz64 = zext i32 %n to i64 + call i64 @fwrite(ptr %buf, i64 1, i64 %nz64, ptr %f) + call i32 @fclose(ptr %f) + %rr = call i32 @rename(ptr %tmp, ptr %dst) + %ok2 = icmp eq i32 %rr, 0 + %z = zext i1 %ok2 to i32 + ret i32 %z +} +define i32 @lp_fs_mkdir(ptr %p) { +entry: + %dup = call ptr @lp_fs_strdup(ptr %p) + %ip = alloca i32 + store i32 1, ptr %ip + br label %lp +lp: + %i = load i32, ptr %ip + %pp = getelementptr i8, ptr %dup, i32 %i + %c = load i8, ptr %pp + %ci = zext i8 %c to i32 + %z = icmp eq i32 %ci, 0 + br i1 %z, label %fin, label %go +go: + %sl = icmp eq i32 %ci, 47 + br i1 %sl, label %cut, label %nx +cut: + store i8 0, ptr %pp + call i32 @mkdir(ptr %dup, i32 493) + store i8 47, ptr %pp + br label %nx +nx: + %i1 = add i32 %i, 1 + store i32 %i1, ptr %ip + br label %lp +fin: + call i32 @mkdir(ptr %dup, i32 493) + %r = call i32 @lp_fs_is_dir(ptr %p) + ret i32 %r +} +define ptr @lp_fs_list(ptr %path) { +entry: + %h = call ptr @malloc(i64 16) + %d0 = getelementptr inbounds %LSlice, ptr %h, i32 0, i32 0 + %d1 = getelementptr inbounds %LSlice, ptr %h, i32 0, i32 1 + %d2 = getelementptr inbounds %LSlice, ptr %h, i32 0, i32 2 + %datap = alloca ptr + %cntp = alloca i32 + %capp = alloca i32 + %init = call ptr @malloc(i64 128) + store ptr %init, ptr %datap + store i32 0, ptr %cntp + store i32 16, ptr %capp + %dir = call ptr @opendir(ptr %path) + %dnz = icmp ne ptr %dir, null + br i1 %dnz, label %rd, label %empty +rd: + %de = call ptr @readdir(ptr %dir) + %denz = icmp ne ptr %de, null + br i1 %denz, label %ent, label %closed +ent: + %namep = getelementptr i8, ptr %de, i32 21 + %n0 = load i8, ptr %namep + %n0i = zext i8 %n0 to i32 + %isdot0 = icmp eq i32 %n0i, 46 + br i1 %isdot0, label %chkdots, label %keep +chkdots: + %n1p = getelementptr i8, ptr %namep, i32 1 + %n1 = load i8, ptr %n1p + %n1i = zext i8 %n1 to i32 + %n1z = icmp eq i32 %n1i, 0 + br i1 %n1z, label %rd, label %chkdd +chkdd: + %isdot1 = icmp eq i32 %n1i, 46 + br i1 %isdot1, label %chkdd2, label %keep +chkdd2: + %n2p = getelementptr i8, ptr %namep, i32 2 + %n2 = load i8, ptr %n2p + %n2i = zext i8 %n2 to i32 + %n2z = icmp eq i32 %n2i, 0 + br i1 %n2z, label %rd, label %keep +keep: + %nm = call ptr @lp_fs_strdup(ptr %namep) + %cnt = load i32, ptr %cntp + %cap = load i32, ptr %capp + %full = icmp sge i32 %cnt, %cap + br i1 %full, label %grow, label %put +grow: + %nc = mul i32 %cap, 2 + store i32 %nc, ptr %capp + %ncz = zext i32 %nc to i64 + %nb = mul i64 %ncz, 8 + %old = load ptr, ptr %datap + %new = call ptr @realloc(ptr %old, i64 %nb) + store ptr %new, ptr %datap + br label %put +put: + %data = load ptr, ptr %datap + %cnt2 = load i32, ptr %cntp + %slot = getelementptr ptr, ptr %data, i32 %cnt2 + store ptr %nm, ptr %slot + %cnt3 = add i32 %cnt2, 1 + store i32 %cnt3, ptr %cntp + br label %rd +closed: + call i32 @closedir(ptr %dir) + br label %sortit +empty: + br label %sortit +sortit: + %fdata = load ptr, ptr %datap + %fcnt = load i32, ptr %cntp + %aip = alloca i32 + store i32 1, ptr %aip + br label %so +so: + %ai = load i32, ptr %aip + %ailt = icmp slt i32 %ai, %fcnt + br i1 %ailt, label %sob, label %sod +sob: + %kp = getelementptr ptr, ptr %fdata, i32 %ai + %key = load ptr, ptr %kp + %jp = alloca i32 + %aim1 = sub i32 %ai, 1 + store i32 %aim1, ptr %jp + br label %si +si: + %jj = load i32, ptr %jp + %jge = icmp sge i32 %jj, 0 + br i1 %jge, label %sic, label %sins +sic: + %ejp = getelementptr ptr, ptr %fdata, i32 %jj + %ej = load ptr, ptr %ejp + %cmp = call i32 @strcmp(ptr %ej, ptr %key) + %gt = icmp sgt i32 %cmp, 0 + br i1 %gt, label %shift, label %sins +shift: + %j1 = add i32 %jj, 1 + %dp1 = getelementptr ptr, ptr %fdata, i32 %j1 + store ptr %ej, ptr %dp1 + %jm = sub i32 %jj, 1 + store i32 %jm, ptr %jp + br label %si +sins: + %jf = load i32, ptr %jp + %jf1 = add i32 %jf, 1 + %insp = getelementptr ptr, ptr %fdata, i32 %jf1 + store ptr %key, ptr %insp + %ai1 = add i32 %ai, 1 + store i32 %ai1, ptr %aip + br label %so +sod: + store ptr %fdata, ptr %d0 + store i32 %fcnt, ptr %d1 + store i32 %fcnt, ptr %d2 + ret ptr %h +} +@.str11178 = private unnamed_addr constant [4 x i8] c"png\00" +@.str11179 = private unnamed_addr constant [10 x i8] c"image/png\00" +@.str11180 = private unnamed_addr constant [4 x i8] c"jpg\00" +@.str11181 = private unnamed_addr constant [11 x i8] c"image/jpeg\00" +@.str11182 = private unnamed_addr constant [5 x i8] c"jpeg\00" +@.str11183 = private unnamed_addr constant [11 x i8] c"image/jpeg\00" +@.str11184 = private unnamed_addr constant [4 x i8] c"gif\00" +@.str11185 = private unnamed_addr constant [10 x i8] c"image/gif\00" +@.str11186 = private unnamed_addr constant [4 x i8] c"bmp\00" +@.str11187 = private unnamed_addr constant [10 x i8] c"image/bmp\00" +@.str11188 = private unnamed_addr constant [5 x i8] c"webp\00" +@.str11189 = private unnamed_addr constant [11 x i8] c"image/webp\00" +@.str11190 = private unnamed_addr constant [4 x i8] c"svg\00" +@.str11191 = private unnamed_addr constant [14 x i8] c"image/svg+xml\00" +@.str11192 = private unnamed_addr constant [4 x i8] c"txt\00" +@.str11193 = private unnamed_addr constant [11 x i8] c"text/plain\00" +@.str11194 = private unnamed_addr constant [3 x i8] c"md\00" +@.str11195 = private unnamed_addr constant [14 x i8] c"text/markdown\00" +@.str11196 = private unnamed_addr constant [4 x i8] c"csv\00" +@.str11197 = private unnamed_addr constant [9 x i8] c"text/csv\00" +@.str11198 = private unnamed_addr constant [5 x i8] c"html\00" +@.str11199 = private unnamed_addr constant [10 x i8] c"text/html\00" +@.str11200 = private unnamed_addr constant [4 x i8] c"htm\00" +@.str11201 = private unnamed_addr constant [10 x i8] c"text/html\00" +@.str11202 = private unnamed_addr constant [4 x i8] c"css\00" +@.str11203 = private unnamed_addr constant [9 x i8] c"text/css\00" +@.str11204 = private unnamed_addr constant [3 x i8] c"js\00" +@.str11205 = private unnamed_addr constant [16 x i8] c"text/javascript\00" +@.str11206 = private unnamed_addr constant [5 x i8] c"json\00" +@.str11207 = private unnamed_addr constant [17 x i8] c"application/json\00" +@.str11208 = private unnamed_addr constant [4 x i8] c"xml\00" +@.str11209 = private unnamed_addr constant [16 x i8] c"application/xml\00" +@.str11210 = private unnamed_addr constant [4 x i8] c"zip\00" +@.str11211 = private unnamed_addr constant [16 x i8] c"application/zip\00" +@.str11212 = private unnamed_addr constant [4 x i8] c"pdf\00" +@.str11213 = private unnamed_addr constant [16 x i8] c"application/pdf\00" +@.str11214 = private unnamed_addr constant [4 x i8] c"wav\00" +@.str11215 = private unnamed_addr constant [10 x i8] c"audio/wav\00" +@.str11216 = private unnamed_addr constant [4 x i8] c"ogg\00" +@.str11217 = private unnamed_addr constant [10 x i8] c"audio/ogg\00" +@.str11218 = private unnamed_addr constant [4 x i8] c"mp3\00" +@.str11219 = private unnamed_addr constant [11 x i8] c"audio/mpeg\00" +@.str11220 = private unnamed_addr constant [4 x i8] c"ttf\00" +@.str11221 = private unnamed_addr constant [9 x i8] c"font/ttf\00" +@.str11222 = private unnamed_addr constant [4 x i8] c"otf\00" +@.str11223 = private unnamed_addr constant [9 x i8] c"font/otf\00" +@.str11224 = private unnamed_addr constant [6 x i8] c"ludic\00" +@.str11225 = private unnamed_addr constant [13 x i8] c"text/x-ludic\00" +@.str11226 = private unnamed_addr constant [25 x i8] c"application/octet-stream\00" +@mime_tbl = private unnamed_addr constant [24 x { ptr, ptr }] [{ ptr, ptr } { ptr @.str11178, ptr @.str11179 }, { ptr, ptr } { ptr @.str11180, ptr @.str11181 }, { ptr, ptr } { ptr @.str11182, ptr @.str11183 }, { ptr, ptr } { ptr @.str11184, ptr @.str11185 }, { ptr, ptr } { ptr @.str11186, ptr @.str11187 }, { ptr, ptr } { ptr @.str11188, ptr @.str11189 }, { ptr, ptr } { ptr @.str11190, ptr @.str11191 }, { ptr, ptr } { ptr @.str11192, ptr @.str11193 }, { ptr, ptr } { ptr @.str11194, ptr @.str11195 }, { ptr, ptr } { ptr @.str11196, ptr @.str11197 }, { ptr, ptr } { ptr @.str11198, ptr @.str11199 }, { ptr, ptr } { ptr @.str11200, ptr @.str11201 }, { ptr, ptr } { ptr @.str11202, ptr @.str11203 }, { ptr, ptr } { ptr @.str11204, ptr @.str11205 }, { ptr, ptr } { ptr @.str11206, ptr @.str11207 }, { ptr, ptr } { ptr @.str11208, ptr @.str11209 }, { ptr, ptr } { ptr @.str11210, ptr @.str11211 }, { ptr, ptr } { ptr @.str11212, ptr @.str11213 }, { ptr, ptr } { ptr @.str11214, ptr @.str11215 }, { ptr, ptr } { ptr @.str11216, ptr @.str11217 }, { ptr, ptr } { ptr @.str11218, ptr @.str11219 }, { ptr, ptr } { ptr @.str11220, ptr @.str11221 }, { ptr, ptr } { ptr @.str11222, ptr @.str11223 }, { ptr, ptr } { ptr @.str11224, ptr @.str11225 }] +define ptr @lp_mime_of(ptr %path) { +entry: + %ext = call ptr @lp_path_ext(ptr %path) + %lc = call ptr @lp_mime_lc(ptr %ext) + %ip = alloca i32 + store i32 0, ptr %ip + br label %lp +lp: + %i = load i32, ptr %ip + %lt = icmp slt i32 %i, 24 + br i1 %lt, label %body, label %def +body: + %kp = getelementptr [24 x { ptr, ptr }], ptr @mime_tbl, i32 0, i32 %i, i32 0 + %k = load ptr, ptr %kp + %c = call i32 @strcmp(ptr %lc, ptr %k) + %eq = icmp eq i32 %c, 0 + br i1 %eq, label %hit, label %nx +hit: + %vp = getelementptr [24 x { ptr, ptr }], ptr @mime_tbl, i32 0, i32 %i, i32 1 + %v = load ptr, ptr %vp + %r = call ptr @lp_fs_strdup(ptr %v) + ret ptr %r +nx: + %i1 = add i32 %i, 1 + store i32 %i1, ptr %ip + br label %lp +def: + %d = call ptr @lp_fs_strdup(ptr @.str11226) + ret ptr %d +} +define ptr @lp_mime_lc(ptr %s) { +entry: + %l64 = call i64 @strlen(ptr %s) + %l = trunc i64 %l64 to i32 + %cap = add i64 %l64, 1 + %out = call ptr @malloc(i64 %cap) + %b0 = load i8, ptr %s + %b0i = zext i8 %b0 to i32 + %isdot = icmp eq i32 %b0i, 46 + %start = select i1 %isdot, i32 1, i32 0 + %ip = alloca i32 + %op = alloca i32 + store i32 %start, ptr %ip + store i32 0, ptr %op + br label %lp +lp: + %i = load i32, ptr %ip + %pp = getelementptr i8, ptr %s, i32 %i + %c = load i8, ptr %pp + %ci = zext i8 %c to i32 + %z = icmp eq i32 %ci, 0 + br i1 %z, label %done, label %go +go: + %ua = icmp uge i32 %ci, 65 + %ub = icmp ule i32 %ci, 90 + %up = and i1 %ua, %ub + %lo = add i32 %ci, 32 + %m = select i1 %up, i32 %lo, i32 %ci + %mt = trunc i32 %m to i8 + %o = load i32, ptr %op + %dp = getelementptr i8, ptr %out, i32 %o + store i8 %mt, ptr %dp + %o1 = add i32 %o, 1 + store i32 %o1, ptr %op + %i1 = add i32 %i, 1 + store i32 %i1, ptr %ip + br label %lp +done: + %fo = load i32, ptr %op + %ep = getelementptr i8, ptr %out, i32 %fo + store i8 0, ptr %ep + ret ptr %out +} +define ptr @lp_mime_sniff(ptr %path) { +entry: + %f = call ptr @fopen(ptr %path, ptr @fn_str_rb) + %nz = icmp ne ptr %f, null + br i1 %nz, label %ok, label %fallback +ok: + %buf = call ptr @malloc(i64 16) + %rd = call i64 @fread(ptr %buf, i64 1, i64 8, ptr %f) + call i32 @fclose(ptr %f) + %rdi = trunc i64 %rd to i32 + %has4 = icmp sge i32 %rdi, 4 + br i1 %has4, label %chk, label %fallback +chk: + %b0p = getelementptr i8, ptr %buf, i32 0 + %b0 = load i8, ptr %b0p + %b0i = zext i8 %b0 to i32 + %b1p = getelementptr i8, ptr %buf, i32 1 + %b1 = load i8, ptr %b1p + %b1i = zext i8 %b1 to i32 + %b2p = getelementptr i8, ptr %buf, i32 2 + %b2 = load i8, ptr %b2p + %b2i = zext i8 %b2 to i32 + %b3p = getelementptr i8, ptr %buf, i32 3 + %b3 = load i8, ptr %b3p + %b3i = zext i8 %b3 to i32 + %p0 = icmp eq i32 %b0i, 137 + %p1 = icmp eq i32 %b1i, 80 + %p2 = icmp eq i32 %b2i, 78 + %p3 = icmp eq i32 %b3i, 71 + %pa = and i1 %p0, %p1 + %pb = and i1 %pa, %p2 + %pc = and i1 %pb, %p3 + br i1 %pc, label %png, label %cj +png: + %rpng = call ptr @lp_fs_strdup(ptr @fn_sig_png) + ret ptr %rpng +cj: + %j0 = icmp eq i32 %b0i, 255 + %j1 = icmp eq i32 %b1i, 216 + %j2 = icmp eq i32 %b2i, 255 + %ja = and i1 %j0, %j1 + %jb = and i1 %ja, %j2 + br i1 %jb, label %jpg, label %cg +jpg: + %rjpg = call ptr @lp_fs_strdup(ptr @fn_sig_jpg) + ret ptr %rjpg +cg: + %g0 = icmp eq i32 %b0i, 71 + %g1 = icmp eq i32 %b1i, 73 + %g2 = icmp eq i32 %b2i, 70 + %ga = and i1 %g0, %g1 + %gb = and i1 %ga, %g2 + br i1 %gb, label %gif, label %cp +gif: + %rgif = call ptr @lp_fs_strdup(ptr @fn_sig_gif) + ret ptr %rgif +cp: + %q0 = icmp eq i32 %b0i, 37 + %q1 = icmp eq i32 %b1i, 80 + %q2 = icmp eq i32 %b2i, 68 + %q3 = icmp eq i32 %b3i, 70 + %qa = and i1 %q0, %q1 + %qb = and i1 %qa, %q2 + %qc = and i1 %qb, %q3 + br i1 %qc, label %pdf, label %fallback +pdf: + %rpdf = call ptr @lp_fs_strdup(ptr @fn_sig_pdf) + ret ptr %rpdf +fallback: + %r = call ptr @lp_mime_of(ptr %path) + ret ptr %r +} +@fn_str_rb = private unnamed_addr constant [3 x i8] c"rb\00" +@fn_str_wb = private unnamed_addr constant [3 x i8] c"wb\00" +@fn_str_ab = private unnamed_addr constant [3 x i8] c"ab\00" +@fn_str_dot = private unnamed_addr constant [2 x i8] c".\00" +@fn_str_slash = private unnamed_addr constant [2 x i8] c"/\00" +@fn_str_empty = private unnamed_addr constant [1 x i8] c"\00" +@fn_str_dottmp = private unnamed_addr constant [5 x i8] c".tmp\00" +@fn_sig_png = private unnamed_addr constant [10 x i8] c"image/png\00" +@fn_sig_jpg = private unnamed_addr constant [11 x i8] c"image/jpeg\00" +@fn_sig_gif = private unnamed_addr constant [10 x i8] c"image/gif\00" +@fn_sig_pdf = private unnamed_addr constant [16 x i8] c"application/pdf\00" +@.pak_rb = private unnamed_addr constant [3 x i8] c"rb\00" +@.pak_idx = private unnamed_addr constant [12 x i8] c"packs.index\00" +@.pak_res = private unnamed_addr constant [13 x i8] c"../Resources\00" +@.pak_appsup= private unnamed_addr constant [28 x i8] c"Library/Application Support\00" +@.pak_home = private unnamed_addr constant [5 x i8] c"HOME\00" +@L_pak_base = internal global [8 x ptr] zeroinitializer +@L_pak_n = internal global i32 0 +@L_pak_splash = internal global ptr null +@L_pak_splashbg = internal global i32 0 +define i32 @lp_pak_mount(ptr %path) { +entry: + %n = load i32, ptr @L_pak_n + %full = icmp sge i32 %n, 8 + br i1 %full, label %no, label %op +op: + %fd = call i32 (ptr, i32, ...) @open(ptr %path, i32 0) + %bad = icmp slt i32 %fd, 0 + br i1 %bad, label %no, label %sz +sz: + %end = call i64 @lseek(i32 %fd, i64 0, i32 2) + %small = icmp slt i64 %end, 32 + br i1 %small, label %clo, label %mp +mp: + %base = call ptr @mmap(ptr null, i64 %end, i32 1, i32 2, i32 %fd, i64 0) + %mbad = icmp eq ptr %base, inttoptr (i64 -1 to ptr) + br i1 %mbad, label %clo, label %chk +chk: + %m = load i32, ptr %base + %okm = icmp eq i32 %m, 1262571596 + br i1 %okm, label %keep, label %clo +keep: + %slot = getelementptr [8 x ptr], ptr @L_pak_base, i32 0, i32 %n + store ptr %base, ptr %slot + %n1 = add i32 %n, 1 + store i32 %n1, ptr @L_pak_n + %c1 = call i32 @close(i32 %fd) + ret i32 1 +clo: + %c2 = call i32 @close(i32 %fd) + ret i32 0 +no: + ret i32 0 +} +define ptr @lp_pak_norm(ptr %p) { +entry: + %c0 = load i8, ptr %p + %c0i = zext i8 %c0 to i32 + %isdot = icmp eq i32 %c0i, 46 + br i1 %isdot, label %chk2, label %same +chk2: + %p1 = getelementptr i8, ptr %p, i32 1 + %c1 = load i8, ptr %p1 + %c1i = zext i8 %c1 to i32 + %issl = icmp eq i32 %c1i, 47 + br i1 %issl, label %skip, label %same +skip: + %p2 = getelementptr i8, ptr %p, i32 2 + %r = call ptr @lp_pak_norm(ptr %p2) + ret ptr %r +same: + ret ptr %p +} +define ptr @lp_pak_find1(ptr %base, ptr %name, ptr %outlen) { +entry: + %cntp = getelementptr i8, ptr %base, i32 8 + %cnt = load i32, ptr %cntp + %lop = alloca i32 + %hip = alloca i32 + store i32 0, ptr %lop + %h0 = sub i32 %cnt, 1 + store i32 %h0, ptr %hip + br label %loop +loop: + %lo = load i32, ptr %lop + %hi = load i32, ptr %hip + %fin = icmp sgt i32 %lo, %hi + br i1 %fin, label %miss, label %mid +mid: + %sum = add i32 %lo, %hi + %m = sdiv i32 %sum, 2 + %eo = mul i32 %m, 16 + %eo2 = add i32 %eo, 32 + %ep = getelementptr i8, ptr %base, i32 %eo2 + %noff = load i32, ptr %ep + %nptr = getelementptr i8, ptr %base, i32 %noff + %c = call i32 @strcmp(ptr %nptr, ptr %name) + %iseq = icmp eq i32 %c, 0 + br i1 %iseq, label %hit, label %cmp +cmp: + %lt = icmp slt i32 %c, 0 + br i1 %lt, label %goup, label %godn +goup: + %m1 = add i32 %m, 1 + store i32 %m1, ptr %lop + br label %loop +godn: + %m2 = sub i32 %m, 1 + store i32 %m2, ptr %hip + br label %loop +hit: + %dop = getelementptr i8, ptr %ep, i32 4 + %doff = load i32, ptr %dop + %dlp = getelementptr i8, ptr %ep, i32 8 + %dlen = load i32, ptr %dlp + store i32 %dlen, ptr %outlen + %dp = getelementptr i8, ptr %base, i32 %doff + ret ptr %dp +miss: + ret ptr null +} +define ptr @lp_pak_find(ptr %path, ptr %outlen) { +entry: + %p = call ptr @lp_pak_norm(ptr %path) + %np = load i32, ptr @L_pak_n + %ip = alloca i32 + %i0 = sub i32 %np, 1 + store i32 %i0, ptr %ip + br label %loop +loop: + %i = load i32, ptr %ip + %done = icmp slt i32 %i, 0 + br i1 %done, label %miss, label %body +body: + %slot = getelementptr [8 x ptr], ptr @L_pak_base, i32 0, i32 %i + %base = load ptr, ptr %slot + %r = call ptr @lp_pak_find1(ptr %base, ptr %p, ptr %outlen) + %hit = icmp ne ptr %r, null + br i1 %hit, label %got, label %next +got: + ret ptr %r +next: + %i1 = sub i32 %i, 1 + store i32 %i1, ptr %ip + br label %loop +miss: + ret ptr null +} +define i32 @lp_pak_has(ptr %path) { +entry: + %lp = alloca i32 + store i32 0, ptr %lp + %b = call ptr @lp_pak_find(ptr %path, ptr %lp) + %hit = icmp ne ptr %b, null + %r = select i1 %hit, i32 1, i32 0 + ret i32 %r +} +define i32 @lp_pak_bytes(ptr %path) { +entry: + %lp = alloca i32 + store i32 0, ptr %lp + %b = call ptr @lp_pak_find(ptr %path, ptr %lp) + %hit = icmp ne ptr %b, null + br i1 %hit, label %yes, label %no +yes: + %l = load i32, ptr %lp + ret i32 %l +no: + ret i32 -1 +} +define ptr @lp_pak_open(ptr %path, ptr %mode) { +entry: + %m0 = load i8, ptr %mode + %m0i = zext i8 %m0 to i32 + %isr = icmp eq i32 %m0i, 114 + br i1 %isr, label %try, label %real +try: + %lp = alloca i32 + store i32 0, ptr %lp + %blob = call ptr @lp_pak_find(ptr %path, ptr %lp) + %hit = icmp ne ptr %blob, null + br i1 %hit, label %mem, label %real +mem: + %len = load i32, ptr %lp + %lz = zext i32 %len to i64 + %f = call ptr @fmemopen(ptr %blob, i64 %lz, ptr @.pak_rb) + ret ptr %f +real: + %rf = call ptr @fopen(ptr %path, ptr %mode) + ret ptr %rf +} +define ptr @lp_pak_slurp(ptr %path) { +entry: + %f = call ptr @fopen(ptr %path, ptr @.pak_rb) + %bad = icmp eq ptr %f, null + br i1 %bad, label %no, label %go +go: + %s1 = call i32 @fseek(ptr %f, i64 0, i32 2) + %n64 = call i64 @ftell(ptr %f) + %s2 = call i32 @fseek(ptr %f, i64 0, i32 0) + %cap = add i64 %n64, 1 + %buf = call ptr @malloc(i64 %cap) + %rd = call i64 @fread(ptr %buf, i64 1, i64 %n64, ptr %f) + %e = getelementptr i8, ptr %buf, i64 %rd + store i8 0, ptr %e + %c = call i32 @fclose(ptr %f) + ret ptr %buf +no: + ret ptr null +} +define i32 @lp_pak_boot_dir(ptr %dir) { +entry: + %ix = call ptr @lp_path_join(ptr %dir, ptr @.pak_idx) + %txt = call ptr @lp_pak_slurp(ptr %ix) + %none = icmp eq ptr %txt, null + br i1 %none, label %no, label %scan +scan: + %ip = alloca i32 + %got = alloca i32 + store i32 0, ptr %ip + store i32 0, ptr %got + %jp = alloca i32 + br label %line +line: + %i = load i32, ptr %ip + %lp = getelementptr i8, ptr %txt, i32 %i + %c0 = load i8, ptr %lp + %c0i = zext i8 %c0 to i32 + %atend = icmp eq i32 %c0i, 0 + br i1 %atend, label %fin, label %eol +eol: + store i32 %i, ptr %jp + br label %escan +escan: + %j = load i32, ptr %jp + %jq = getelementptr i8, ptr %txt, i32 %j + %cj = load i8, ptr %jq + %cji = zext i8 %cj to i32 + %isnl = icmp eq i32 %cji, 10 + %isz = icmp eq i32 %cji, 0 + %stop = or i1 %isnl, %isz + br i1 %stop, label %ehave, label %eadv +eadv: + %j1 = add i32 %j, 1 + store i32 %j1, ptr %jp + br label %escan +ehave: + %je = load i32, ptr %jp + %jep = getelementptr i8, ptr %txt, i32 %je + store i8 0, ptr %jep + %nexti = add i32 %je, 1 + store i32 %nexti, ptr %ip + %ln = getelementptr i8, ptr %txt, i32 %i + %isp = call i32 @strncmp(ptr %ln, ptr @.pak_kw_pack, i64 5) + %pk = icmp eq i32 %isp, 0 + br i1 %pk, label %dopack, label %chkhome +dopack: + %pv = getelementptr i8, ptr %ln, i32 5 + %full = call ptr @lp_path_join(ptr %dir, ptr %pv) + %ok = call i32 @lp_pak_mount(ptr %full) + %g = load i32, ptr %got + %g1 = add i32 %g, %ok + store i32 %g1, ptr %got + br label %line +chkhome: + %ish = call i32 @strncmp(ptr %ln, ptr @.pak_kw_home, i64 5) + %hm = icmp eq i32 %ish, 0 + br i1 %hm, label %dohome, label %chkspbg +dohome: + %hv = getelementptr i8, ptr %ln, i32 5 + call void @lp_pak_sethome(ptr %hv) + br label %line +chkspbg: + %isb = call i32 @strncmp(ptr %ln, ptr @.pak_kw_spbg, i64 9) + %bg = icmp eq i32 %isb, 0 + br i1 %bg, label %dospbg, label %chksp +dospbg: + %bv = getelementptr i8, ptr %ln, i32 9 + %bi = call i32 @atoi(ptr %bv) + store i32 %bi, ptr @L_pak_splashbg + br label %line +chksp: + %isS = call i32 @strncmp(ptr %ln, ptr @.pak_kw_splash, i64 7) + %sp = icmp eq i32 %isS, 0 + br i1 %sp, label %dosp, label %line +dosp: + %sv = getelementptr i8, ptr %ln, i32 7 + store ptr %sv, ptr @L_pak_splash + br label %line +fin: + %gf = load i32, ptr %got + ret i32 %gf +no: + ret i32 0 +} +@.pak_kw_pack = private unnamed_addr constant [6 x i8] c"pack \00" +@.pak_kw_home = private unnamed_addr constant [6 x i8] c"home \00" +@.pak_kw_splash = private unnamed_addr constant [8 x i8] c"splash \00" +@.pak_kw_spbg = private unnamed_addr constant [10 x i8] c"splashbg \00" +define void @lp_pak_sethome(ptr %name) { +entry: + %h = call ptr @getenv(ptr @.pak_appdata) + %nh = icmp eq ptr %h, null + br i1 %nh, label %out, label %go +go: + %b = call ptr @lp_path_join(ptr %h, ptr %name) + call void @lp_win_slashes(ptr %b) + %mk = call i32 @mkdir(ptr %b, i32 493) + %cd = call i32 @chdir(ptr %b) + br label %out +out: + ret void +} +@.pak_appdata = private unnamed_addr constant [8 x i8] c"APPDATA\00" +define void @lp_pak_boot() { +entry: + %buf = alloca [1024 x i8] + %szp = alloca i32 + store i32 1024, ptr %szp + %rc = call i32 @_NSGetExecutablePath(ptr %buf, ptr %szp) + %bad = icmp ne i32 %rc, 0 + br i1 %bad, label %out, label %go +go: + %dir = call ptr @lp_path_dir(ptr %buf) + %res = call ptr @lp_path_join(ptr %dir, ptr @.pak_res) + %n1 = call i32 @lp_pak_boot_dir(ptr %res) + %any = icmp sgt i32 %n1, 0 + br i1 %any, label %splash, label %try2 +try2: + %n2 = call i32 @lp_pak_boot_dir(ptr %dir) + br label %splash +splash: + br label %out +out: + ret void +} +@llvm.global_ctors = appending global [1 x { i32, ptr, ptr }] [{ i32, ptr, ptr } { i32 101, ptr @lp_pak_boot, ptr null }] +define i32 @fn_char_is_digit(i32 %arg_c) { +entry: + %retval = alloca i32 + %t0 = alloca i32 + %t1 = alloca i32 + store i32 %arg_c, ptr %t0 + %t2 = load i32, ptr %t0 + %t3 = icmp sge i32 %t2, 48 + %t4 = zext i1 %t3 to i32 + %t5 = icmp ne i32 %t4, 0 + %t6 = zext i1 %t5 to i32 + store i32 %t6, ptr %t1 + br i1 %t5, label %sc0, label %scend1 +sc0: + %t7 = load i32, ptr %t0 + %t8 = icmp sle i32 %t7, 57 + %t9 = zext i1 %t8 to i32 + %t10 = icmp ne i32 %t9, 0 + %t11 = zext i1 %t10 to i32 + store i32 %t11, ptr %t1 + br label %scend1 +scend1: + %t12 = load i32, ptr %t1 + store i32 %t12, ptr %retval + br label %ret +ret: + %t13 = load i32, ptr %retval + ret i32 %t13 +} + +define i32 @fn_char_is_alpha(i32 %arg_c) { +entry: + %retval = alloca i32 + %t0 = alloca i32 + %t1 = alloca i32 + %t14 = alloca i32 + store i32 %arg_c, ptr %t0 + %t2 = load i32, ptr %t0 + %t3 = icmp sge i32 %t2, 65 + %t4 = zext i1 %t3 to i32 + %t5 = icmp ne i32 %t4, 0 + %t6 = zext i1 %t5 to i32 + store i32 %t6, ptr %t1 + br i1 %t5, label %sc0, label %scend1 +sc0: + %t7 = load i32, ptr %t0 + %t8 = icmp sle i32 %t7, 90 + %t9 = zext i1 %t8 to i32 + %t10 = icmp ne i32 %t9, 0 + %t11 = zext i1 %t10 to i32 + store i32 %t11, ptr %t1 + br label %scend1 +scend1: + %t12 = load i32, ptr %t1 + %t13 = icmp ne i32 %t12, 0 + br i1 %t13, label %then2, label %ifend4 +then2: + store i32 1, ptr %retval + br label %ret +ifend4: + %t15 = load i32, ptr %t0 + %t16 = icmp sge i32 %t15, 97 + %t17 = zext i1 %t16 to i32 + %t18 = icmp ne i32 %t17, 0 + %t19 = zext i1 %t18 to i32 + store i32 %t19, ptr %t14 + br i1 %t18, label %sc5, label %scend6 +sc5: + %t20 = load i32, ptr %t0 + %t21 = icmp sle i32 %t20, 122 + %t22 = zext i1 %t21 to i32 + %t23 = icmp ne i32 %t22, 0 + %t24 = zext i1 %t23 to i32 + store i32 %t24, ptr %t14 + br label %scend6 +scend6: + %t25 = load i32, ptr %t14 + %t26 = icmp ne i32 %t25, 0 + br i1 %t26, label %then7, label %ifend9 +then7: + store i32 1, ptr %retval + br label %ret +ifend9: + %t27 = load i32, ptr %t0 + %t28 = icmp eq i32 %t27, 95 + %t29 = zext i1 %t28 to i32 + store i32 %t29, ptr %retval + br label %ret +ret: + %t30 = load i32, ptr %retval + ret i32 %t30 +} + +define i32 @fn_char_is_alnum(i32 %arg_c) { +entry: + %retval = alloca i32 + %t0 = alloca i32 + %t1 = alloca i32 + store i32 %arg_c, ptr %t0 + %t2 = load i32, ptr %t0 + %t3 = call i32 @fn_char_is_alpha(i32 %t2) + %t4 = icmp ne i32 %t3, 0 + %t5 = zext i1 %t4 to i32 + store i32 %t5, ptr %t1 + br i1 %t4, label %scend1, label %sc0 +sc0: + %t6 = load i32, ptr %t0 + %t7 = call i32 @fn_char_is_digit(i32 %t6) + %t8 = icmp ne i32 %t7, 0 + %t9 = zext i1 %t8 to i32 + store i32 %t9, ptr %t1 + br label %scend1 +scend1: + %t10 = load i32, ptr %t1 + store i32 %t10, ptr %retval + br label %ret +ret: + %t11 = load i32, ptr %retval + ret i32 %t11 +} + +define i32 @fn_str_starts(ptr %arg_s, ptr %arg_prefix) { +entry: + %retval = alloca i32 + %t0 = alloca ptr + %t1 = alloca ptr + %t2 = alloca i32 + store ptr %arg_s, ptr %t0 + store ptr %arg_prefix, ptr %t1 + store i32 0, ptr %t2 + br label %wcond0 +wcond0: + %t3 = load ptr, ptr %t1 + %t4 = load i32, ptr %t2 + %t5 = getelementptr inbounds i8, ptr %t3, i32 %t4 + %t6 = load i8, ptr %t5 + %t7 = zext i8 %t6 to i32 + %t8 = icmp ne i32 %t7, 0 + %t9 = zext i1 %t8 to i32 + %t10 = icmp ne i32 %t9, 0 + br i1 %t10, label %wbody1, label %wend2 +wbody1: + %t11 = load ptr, ptr %t0 + %t12 = load i32, ptr %t2 + %t13 = getelementptr inbounds i8, ptr %t11, i32 %t12 + %t14 = load i8, ptr %t13 + %t15 = zext i8 %t14 to i32 + %t16 = load ptr, ptr %t1 + %t17 = load i32, ptr %t2 + %t18 = getelementptr inbounds i8, ptr %t16, i32 %t17 + %t19 = load i8, ptr %t18 + %t20 = zext i8 %t19 to i32 + %t21 = icmp ne i32 %t15, %t20 + %t22 = zext i1 %t21 to i32 + %t23 = icmp ne i32 %t22, 0 + br i1 %t23, label %then3, label %ifend5 +then3: + store i32 0, ptr %retval + br label %ret +ifend5: + %t24 = load i32, ptr %t2 + %t25 = add i32 %t24, 1 + store i32 %t25, ptr %t2 + br label %wcond0 +wend2: + store i32 1, ptr %retval + br label %ret +ret: + %t26 = load i32, ptr %retval + ret i32 %t26 +} + +define ptr @fn_itoa(i32 %arg_v) { +entry: + %retval = alloca ptr + %t0 = alloca i32 + %t7 = alloca ptr + %t15 = alloca i32 + %t17 = alloca i32 + %t26 = alloca ptr + %t27 = alloca i32 + %t44 = alloca i32 + %t53 = alloca ptr + %t54 = alloca i32 + %t60 = alloca i32 + store i32 %arg_v, ptr %t0 + %t1 = load i32, ptr %t0 + %t2 = icmp eq i32 %t1, 0 + %t3 = zext i1 %t2 to i32 + %t4 = icmp ne i32 %t3, 0 + br i1 %t4, label %then0, label %ifend2 +then0: + %t5 = zext i32 2 to i64 + %t6 = call ptr @malloc(i64 %t5) + store ptr %t6, ptr %t7 + %t8 = load ptr, ptr %t7 + %t9 = getelementptr inbounds i8, ptr %t8, i32 0 + %t10 = trunc i32 48 to i8 + store i8 %t10, ptr %t9 + %t11 = load ptr, ptr %t7 + %t12 = getelementptr inbounds i8, ptr %t11, i32 1 + %t13 = trunc i32 0 to i8 + store i8 %t13, ptr %t12 + %t14 = load ptr, ptr %t7 + store ptr %t14, ptr %retval + br label %ret +ifend2: + store i32 0, ptr %t15 + %t16 = load i32, ptr %t0 + store i32 %t16, ptr %t17 + %t18 = load i32, ptr %t17 + %t19 = icmp slt i32 %t18, 0 + %t20 = zext i1 %t19 to i32 + %t21 = icmp ne i32 %t20, 0 + br i1 %t21, label %then3, label %ifend5 +then3: + store i32 1, ptr %t15 + %t22 = load i32, ptr %t17 + %t23 = sub i32 0, %t22 + store i32 %t23, ptr %t17 + br label %ifend5 +ifend5: + %t24 = zext i32 16 to i64 + %t25 = call ptr @malloc(i64 %t24) + store ptr %t25, ptr %t26 + store i32 0, ptr %t27 + br label %wcond6 +wcond6: + %t28 = load i32, ptr %t17 + %t29 = icmp sgt i32 %t28, 0 + %t30 = zext i1 %t29 to i32 + %t31 = icmp ne i32 %t30, 0 + br i1 %t31, label %wbody7, label %wend8 +wbody7: + %t32 = load ptr, ptr %t26 + %t33 = load i32, ptr %t27 + %t34 = getelementptr inbounds i8, ptr %t32, i32 %t33 + %t35 = load i32, ptr %t17 + %t36 = srem i32 %t35, 10 + %t37 = add i32 48, %t36 + %t38 = trunc i32 %t37 to i8 + store i8 %t38, ptr %t34 + %t39 = load i32, ptr %t17 + %t40 = sdiv i32 %t39, 10 + store i32 %t40, ptr %t17 + %t41 = load i32, ptr %t27 + %t42 = add i32 %t41, 1 + store i32 %t42, ptr %t27 + br label %wcond6 +wend8: + %t43 = load i32, ptr %t27 + store i32 %t43, ptr %t44 + %t45 = load i32, ptr %t15 + %t46 = icmp ne i32 %t45, 0 + br i1 %t46, label %then9, label %ifend11 +then9: + %t47 = load i32, ptr %t44 + %t48 = add i32 %t47, 1 + store i32 %t48, ptr %t44 + br label %ifend11 +ifend11: + %t49 = load i32, ptr %t44 + %t50 = add i32 %t49, 1 + %t51 = zext i32 %t50 to i64 + %t52 = call ptr @malloc(i64 %t51) + store ptr %t52, ptr %t53 + store i32 0, ptr %t54 + %t55 = load i32, ptr %t15 + %t56 = icmp ne i32 %t55, 0 + br i1 %t56, label %then12, label %ifend14 +then12: + %t57 = load ptr, ptr %t53 + %t58 = getelementptr inbounds i8, ptr %t57, i32 0 + %t59 = trunc i32 45 to i8 + store i8 %t59, ptr %t58 + store i32 1, ptr %t54 + br label %ifend14 +ifend14: + store i32 0, ptr %t60 + br label %wcond15 +wcond15: + %t61 = load i32, ptr %t60 + %t62 = load i32, ptr %t27 + %t63 = icmp slt i32 %t61, %t62 + %t64 = zext i1 %t63 to i32 + %t65 = icmp ne i32 %t64, 0 + br i1 %t65, label %wbody16, label %wend17 +wbody16: + %t66 = load ptr, ptr %t53 + %t67 = load i32, ptr %t54 + %t68 = load i32, ptr %t60 + %t69 = add i32 %t67, %t68 + %t70 = getelementptr inbounds i8, ptr %t66, i32 %t69 + %t71 = load ptr, ptr %t26 + %t72 = load i32, ptr %t27 + %t73 = sub i32 %t72, 1 + %t74 = load i32, ptr %t60 + %t75 = sub i32 %t73, %t74 + %t76 = getelementptr inbounds i8, ptr %t71, i32 %t75 + %t77 = load i8, ptr %t76 + %t78 = zext i8 %t77 to i32 + %t79 = trunc i32 %t78 to i8 + store i8 %t79, ptr %t70 + %t80 = load i32, ptr %t60 + %t81 = add i32 %t80, 1 + store i32 %t81, ptr %t60 + br label %wcond15 +wend17: + %t82 = load ptr, ptr %t53 + %t83 = load i32, ptr %t44 + %t84 = getelementptr inbounds i8, ptr %t82, i32 %t83 + %t85 = trunc i32 0 to i8 + store i8 %t85, ptr %t84 + %t86 = load ptr, ptr %t53 + store ptr %t86, ptr %retval + br label %ret +ret: + %t87 = load ptr, ptr %retval + ret ptr %t87 +} + +define ptr @fn_buf_new() { +entry: + %retval = alloca ptr + %t6 = alloca ptr + %t0 = getelementptr %Cmp_Buf, ptr null, i32 1 + %t1 = ptrtoint ptr %t0 to i64 + %t2 = call ptr @malloc(i64 %t1) + %t3 = getelementptr inbounds %Cmp_Buf, ptr %t2, i32 0, i32 0 + store ptr null, ptr %t3 + %t4 = getelementptr inbounds %Cmp_Buf, ptr %t2, i32 0, i32 1 + store i32 0, ptr %t4 + %t5 = getelementptr inbounds %Cmp_Buf, ptr %t2, i32 0, i32 2 + store i32 0, ptr %t5 + store ptr %t2, ptr %t6 + %t7 = load ptr, ptr %t6 + %t8 = getelementptr inbounds %Cmp_Buf, ptr %t7, i32 0, i32 2 + store i32 256, ptr %t8 + %t9 = load ptr, ptr %t6 + %t10 = getelementptr inbounds %Cmp_Buf, ptr %t9, i32 0, i32 0 + %t11 = load ptr, ptr %t6 + %t12 = getelementptr inbounds %Cmp_Buf, ptr %t11, i32 0, i32 2 + %t13 = load i32, ptr %t12 + %t14 = zext i32 %t13 to i64 + %t15 = call ptr @malloc(i64 %t14) + store ptr %t15, ptr %t10 + %t16 = load ptr, ptr %t6 + %t17 = getelementptr inbounds %Cmp_Buf, ptr %t16, i32 0, i32 1 + store i32 0, ptr %t17 + %t18 = load ptr, ptr %t6 + store ptr %t18, ptr %retval + br label %ret +ret: + %t19 = load ptr, ptr %retval + ret ptr %t19 +} + +define void @fn_buf_ensure(ptr %arg_b, i32 %arg_extra) { +entry: + %t0 = alloca ptr + %t1 = alloca i32 + store ptr %arg_b, ptr %t0 + store i32 %arg_extra, ptr %t1 + %t2 = load ptr, ptr %t0 + %t3 = getelementptr inbounds %Cmp_Buf, ptr %t2, i32 0, i32 1 + %t4 = load i32, ptr %t3 + %t5 = load i32, ptr %t1 + %t6 = add i32 %t4, %t5 + %t7 = add i32 %t6, 1 + %t8 = load ptr, ptr %t0 + %t9 = getelementptr inbounds %Cmp_Buf, ptr %t8, i32 0, i32 2 + %t10 = load i32, ptr %t9 + %t11 = icmp sle i32 %t7, %t10 + %t12 = zext i1 %t11 to i32 + %t13 = icmp ne i32 %t12, 0 + br i1 %t13, label %then0, label %ifend2 +then0: + br label %ret +ifend2: + br label %wcond3 +wcond3: + %t14 = load ptr, ptr %t0 + %t15 = getelementptr inbounds %Cmp_Buf, ptr %t14, i32 0, i32 1 + %t16 = load i32, ptr %t15 + %t17 = load i32, ptr %t1 + %t18 = add i32 %t16, %t17 + %t19 = add i32 %t18, 1 + %t20 = load ptr, ptr %t0 + %t21 = getelementptr inbounds %Cmp_Buf, ptr %t20, i32 0, i32 2 + %t22 = load i32, ptr %t21 + %t23 = icmp sgt i32 %t19, %t22 + %t24 = zext i1 %t23 to i32 + %t25 = icmp ne i32 %t24, 0 + br i1 %t25, label %wbody4, label %wend5 +wbody4: + %t26 = load ptr, ptr %t0 + %t27 = getelementptr inbounds %Cmp_Buf, ptr %t26, i32 0, i32 2 + %t28 = load i32, ptr %t27 + %t29 = mul i32 %t28, 2 + store i32 %t29, ptr %t27 + br label %wcond3 +wend5: + %t30 = load ptr, ptr %t0 + %t31 = getelementptr inbounds %Cmp_Buf, ptr %t30, i32 0, i32 0 + %t32 = load ptr, ptr %t0 + %t33 = getelementptr inbounds %Cmp_Buf, ptr %t32, i32 0, i32 0 + %t34 = load ptr, ptr %t33 + %t35 = load ptr, ptr %t0 + %t36 = getelementptr inbounds %Cmp_Buf, ptr %t35, i32 0, i32 2 + %t37 = load i32, ptr %t36 + %t38 = zext i32 %t37 to i64 + %t39 = call ptr @realloc(ptr %t34, i64 %t38) + store ptr %t39, ptr %t31 + br label %ret +ret: + ret void +} + +define void @fn_buf_putc(ptr %arg_b, i32 %arg_c) { +entry: + %t0 = alloca ptr + %t1 = alloca i32 + store ptr %arg_b, ptr %t0 + store i32 %arg_c, ptr %t1 + %t2 = load ptr, ptr %t0 + call void @fn_buf_ensure(ptr %t2, i32 1) + %t3 = load ptr, ptr %t0 + %t4 = getelementptr inbounds %Cmp_Buf, ptr %t3, i32 0, i32 0 + %t5 = load ptr, ptr %t4 + %t6 = load ptr, ptr %t0 + %t7 = getelementptr inbounds %Cmp_Buf, ptr %t6, i32 0, i32 1 + %t8 = load i32, ptr %t7 + %t9 = getelementptr inbounds i8, ptr %t5, i32 %t8 + %t10 = load i32, ptr %t1 + %t11 = trunc i32 %t10 to i8 + store i8 %t11, ptr %t9 + %t12 = load ptr, ptr %t0 + %t13 = getelementptr inbounds %Cmp_Buf, ptr %t12, i32 0, i32 1 + %t14 = load i32, ptr %t13 + %t15 = add i32 %t14, 1 + store i32 %t15, ptr %t13 + br label %ret +ret: + ret void +} + +define void @fn_buf_puts(ptr %arg_b, ptr %arg_s) { +entry: + %t0 = alloca ptr + %t1 = alloca ptr + %t2 = alloca i32 + store ptr %arg_b, ptr %t0 + store ptr %arg_s, ptr %t1 + store i32 0, ptr %t2 + br label %wcond0 +wcond0: + %t3 = load ptr, ptr %t1 + %t4 = load i32, ptr %t2 + %t5 = getelementptr inbounds i8, ptr %t3, i32 %t4 + %t6 = load i8, ptr %t5 + %t7 = zext i8 %t6 to i32 + %t8 = icmp ne i32 %t7, 0 + %t9 = zext i1 %t8 to i32 + %t10 = icmp ne i32 %t9, 0 + br i1 %t10, label %wbody1, label %wend2 +wbody1: + %t11 = load ptr, ptr %t0 + %t12 = load ptr, ptr %t1 + %t13 = load i32, ptr %t2 + %t14 = getelementptr inbounds i8, ptr %t12, i32 %t13 + %t15 = load i8, ptr %t14 + %t16 = zext i8 %t15 to i32 + call void @fn_buf_putc(ptr %t11, i32 %t16) + %t17 = load i32, ptr %t2 + %t18 = add i32 %t17, 1 + store i32 %t18, ptr %t2 + br label %wcond0 +wend2: + br label %ret +ret: + ret void +} + +define void @fn_buf_puti(ptr %arg_b, i32 %arg_n) { +entry: + %t0 = alloca ptr + %t1 = alloca i32 + store ptr %arg_b, ptr %t0 + store i32 %arg_n, ptr %t1 + %t2 = load ptr, ptr %t0 + %t3 = load i32, ptr %t1 + %t4 = call ptr @fn_itoa(i32 %t3) + call void @fn_buf_puts(ptr %t2, ptr %t4) + br label %ret +ret: + ret void +} + +define ptr @fn_buf_str(ptr %arg_b) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + store ptr %arg_b, ptr %t0 + %t1 = load ptr, ptr %t0 + %t2 = getelementptr inbounds %Cmp_Buf, ptr %t1, i32 0, i32 0 + %t3 = load ptr, ptr %t2 + %t4 = load ptr, ptr %t0 + %t5 = getelementptr inbounds %Cmp_Buf, ptr %t4, i32 0, i32 1 + %t6 = load i32, ptr %t5 + %t7 = getelementptr inbounds i8, ptr %t3, i32 %t6 + %t8 = trunc i32 0 to i8 + store i8 %t8, ptr %t7 + %t9 = load ptr, ptr %t0 + %t10 = getelementptr inbounds %Cmp_Buf, ptr %t9, i32 0, i32 0 + %t11 = load ptr, ptr %t10 + store ptr %t11, ptr %retval + br label %ret +ret: + %t12 = load ptr, ptr %retval + ret ptr %t12 +} + +define ptr @fn_read_file(ptr %arg_path) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t3 = alloca ptr + %t14 = alloca i32 + %t22 = alloca ptr + store ptr %arg_path, ptr %t0 + %t1 = load ptr, ptr %t0 + %t2 = call ptr @lp_pak_open(ptr %t1, ptr @.str0) + store ptr %t2, ptr %t3 + %t4 = load ptr, ptr %t3 + %t5 = icmp eq ptr %t4, null + %t6 = zext i1 %t5 to i32 + %t7 = icmp ne i32 %t6, 0 + br i1 %t7, label %then0, label %ifend2 +then0: + store ptr null, ptr %retval + br label %ret +ifend2: + %t8 = load ptr, ptr %t3 + %t9 = sext i32 0 to i64 + %t10 = call i32 @fseek(ptr %t8, i64 %t9, i32 2) + %t11 = load ptr, ptr %t3 + %t12 = call i64 @ftell(ptr %t11) + %t13 = trunc i64 %t12 to i32 + store i32 %t13, ptr %t14 + %t15 = load ptr, ptr %t3 + %t16 = sext i32 0 to i64 + %t17 = call i32 @fseek(ptr %t15, i64 %t16, i32 0) + %t18 = load i32, ptr %t14 + %t19 = add i32 %t18, 1 + %t20 = zext i32 %t19 to i64 + %t21 = call ptr @malloc(i64 %t20) + store ptr %t21, ptr %t22 + %t23 = load ptr, ptr %t3 + %t24 = load ptr, ptr %t22 + %t25 = load i32, ptr %t14 + %t26 = zext i32 %t25 to i64 + %t27 = call i64 @fread(ptr %t24, i64 1, i64 %t26, ptr %t23) + %t28 = trunc i64 %t27 to i32 + %t29 = load ptr, ptr %t22 + %t30 = load i32, ptr %t14 + %t31 = getelementptr inbounds i8, ptr %t29, i32 %t30 + %t32 = trunc i32 0 to i8 + store i8 %t32, ptr %t31 + %t33 = load ptr, ptr %t3 + call i32 @fclose(ptr %t33) + %t34 = load ptr, ptr %t22 + store ptr %t34, ptr %retval + br label %ret +ret: + %t35 = load ptr, ptr %retval + ret ptr %t35 +} + +define i32 @fn_cstr_len(ptr %arg_s) { +entry: + %retval = alloca i32 + %t0 = alloca ptr + %t1 = alloca i32 + store ptr %arg_s, ptr %t0 + store i32 0, ptr %t1 + br label %wcond0 +wcond0: + %t2 = load ptr, ptr %t0 + %t3 = load i32, ptr %t1 + %t4 = getelementptr inbounds i8, ptr %t2, i32 %t3 + %t5 = load i8, ptr %t4 + %t6 = zext i8 %t5 to i32 + %t7 = icmp ne i32 %t6, 0 + %t8 = zext i1 %t7 to i32 + %t9 = icmp ne i32 %t8, 0 + br i1 %t9, label %wbody1, label %wend2 +wbody1: + %t10 = load i32, ptr %t1 + %t11 = add i32 %t10, 1 + store i32 %t11, ptr %t1 + br label %wcond0 +wend2: + %t12 = load i32, ptr %t1 + store i32 %t12, ptr %retval + br label %ret +ret: + %t13 = load i32, ptr %retval + ret i32 %t13 +} + +define ptr @fn_node(i32 %arg_kind) { +entry: + %retval = alloca ptr + %t0 = alloca i32 + %t14 = alloca ptr + %t29 = alloca i32 + store i32 %arg_kind, ptr %t0 + %t1 = getelementptr %Cmp_Node, ptr null, i32 1 + %t2 = ptrtoint ptr %t1 to i64 + %t3 = call ptr @malloc(i64 %t2) + %t4 = getelementptr inbounds %Cmp_Node, ptr %t3, i32 0, i32 0 + store i32 0, ptr %t4 + %t5 = getelementptr inbounds %Cmp_Node, ptr %t3, i32 0, i32 1 + store ptr null, ptr %t5 + %t6 = getelementptr inbounds %Cmp_Node, ptr %t3, i32 0, i32 2 + store i32 0, ptr %t6 + %t7 = getelementptr inbounds %Cmp_Node, ptr %t3, i32 0, i32 3 + store ptr null, ptr %t7 + %t8 = getelementptr inbounds %Cmp_Node, ptr %t3, i32 0, i32 4 + store ptr null, ptr %t8 + %t9 = getelementptr inbounds %Cmp_Node, ptr %t3, i32 0, i32 5 + store ptr null, ptr %t9 + %t10 = getelementptr inbounds %Cmp_Node, ptr %t3, i32 0, i32 6 + store ptr null, ptr %t10 + %t11 = getelementptr inbounds %Cmp_Node, ptr %t3, i32 0, i32 7 + store ptr null, ptr %t11 + %t12 = getelementptr inbounds %Cmp_Node, ptr %t3, i32 0, i32 8 + store i32 0, ptr %t12 + %t13 = getelementptr inbounds %Cmp_Node, ptr %t3, i32 0, i32 9 + store ptr null, ptr %t13 + store ptr %t3, ptr %t14 + %t15 = load ptr, ptr %t14 + %t16 = getelementptr inbounds %Cmp_Node, ptr %t15, i32 0, i32 0 + %t17 = load i32, ptr %t0 + store i32 %t17, ptr %t16 + %t18 = load ptr, ptr %t14 + %t19 = getelementptr inbounds %Cmp_Node, ptr %t18, i32 0, i32 7 + %t20 = getelementptr %LSlice, ptr null, i32 1 + %t21 = ptrtoint ptr %t20 to i64 + %t22 = call ptr @malloc(i64 %t21) + %t23 = getelementptr inbounds %LSlice, ptr %t22, i32 0, i32 0 + store ptr null, ptr %t23 + %t24 = getelementptr inbounds %LSlice, ptr %t22, i32 0, i32 1 + store i32 0, ptr %t24 + %t25 = getelementptr inbounds %LSlice, ptr %t22, i32 0, i32 2 + store i32 0, ptr %t25 + store ptr %t22, ptr %t19 + %t26 = load ptr, ptr %t14 + %t27 = getelementptr inbounds %Cmp_Node, ptr %t26, i32 0, i32 9 + %t28 = load ptr, ptr @g_g_parse_file + store ptr %t28, ptr %t27 + %t30 = load i32, ptr @g_g_parsing + %t31 = icmp ne i32 %t30, 0 + %t32 = zext i1 %t31 to i32 + store i32 %t32, ptr %t29 + br i1 %t31, label %sc0, label %scend1 +sc0: + %t33 = load i32, ptr @g_pi + %t34 = load ptr, ptr @g_toks + %t35 = getelementptr inbounds %LSlice, ptr %t34, i32 0, i32 1 + %t36 = load i32, ptr %t35 + %t37 = icmp slt i32 %t33, %t36 + %t38 = zext i1 %t37 to i32 + %t39 = icmp ne i32 %t38, 0 + %t40 = zext i1 %t39 to i32 + store i32 %t40, ptr %t29 + br label %scend1 +scend1: + %t41 = load i32, ptr %t29 + %t42 = icmp ne i32 %t41, 0 + br i1 %t42, label %then2, label %ifend4 +then2: + %t43 = load ptr, ptr %t14 + %t44 = getelementptr inbounds %Cmp_Node, ptr %t43, i32 0, i32 8 + %t45 = load ptr, ptr @g_toks + %t46 = getelementptr inbounds %LSlice, ptr %t45, i32 0, i32 0 + %t47 = load ptr, ptr %t46 + %t48 = load i32, ptr @g_pi + %t49 = getelementptr inbounds ptr, ptr %t47, i32 %t48 + %t50 = load ptr, ptr %t49 + %t51 = getelementptr inbounds %Cmp_Tok, ptr %t50, i32 0, i32 3 + %t52 = load i32, ptr %t51 + store i32 %t52, ptr %t44 + br label %ifend4 +ifend4: + %t53 = load ptr, ptr %t14 + store ptr %t53, ptr %retval + br label %ret +ret: + %t54 = load ptr, ptr %retval + ret ptr %t54 +} + +define void @fn_tok_push(i32 %arg_kind, ptr %arg_text, i32 %arg_ival, i32 %arg_line) { +entry: + %t0 = alloca i32 + %t1 = alloca ptr + %t2 = alloca i32 + %t3 = alloca i32 + %t11 = alloca ptr + store i32 %arg_kind, ptr %t0 + store ptr %arg_text, ptr %t1 + store i32 %arg_ival, ptr %t2 + store i32 %arg_line, ptr %t3 + %t4 = getelementptr %Cmp_Tok, ptr null, i32 1 + %t5 = ptrtoint ptr %t4 to i64 + %t6 = call ptr @malloc(i64 %t5) + %t7 = getelementptr inbounds %Cmp_Tok, ptr %t6, i32 0, i32 0 + store i32 0, ptr %t7 + %t8 = getelementptr inbounds %Cmp_Tok, ptr %t6, i32 0, i32 1 + store ptr null, ptr %t8 + %t9 = getelementptr inbounds %Cmp_Tok, ptr %t6, i32 0, i32 2 + store i32 0, ptr %t9 + %t10 = getelementptr inbounds %Cmp_Tok, ptr %t6, i32 0, i32 3 + store i32 0, ptr %t10 + store ptr %t6, ptr %t11 + %t12 = load ptr, ptr %t11 + %t13 = getelementptr inbounds %Cmp_Tok, ptr %t12, i32 0, i32 0 + %t14 = load i32, ptr %t0 + store i32 %t14, ptr %t13 + %t15 = load ptr, ptr %t11 + %t16 = getelementptr inbounds %Cmp_Tok, ptr %t15, i32 0, i32 1 + %t17 = load ptr, ptr %t1 + store ptr %t17, ptr %t16 + %t18 = load ptr, ptr %t11 + %t19 = getelementptr inbounds %Cmp_Tok, ptr %t18, i32 0, i32 2 + %t20 = load i32, ptr %t2 + store i32 %t20, ptr %t19 + %t21 = load ptr, ptr %t11 + %t22 = getelementptr inbounds %Cmp_Tok, ptr %t21, i32 0, i32 3 + %t23 = load i32, ptr %t3 + store i32 %t23, ptr %t22 + %t24 = load ptr, ptr @g_toks + %t25 = load ptr, ptr %t11 + %t26 = getelementptr inbounds %LSlice, ptr %t24, i32 0, i32 1 + %t27 = getelementptr inbounds %LSlice, ptr %t24, i32 0, i32 2 + %t28 = getelementptr inbounds %LSlice, ptr %t24, i32 0, i32 0 + %t29 = load i32, ptr %t26 + %t30 = load i32, ptr %t27 + %t31 = icmp sge i32 %t29, %t30 + br i1 %t31, label %grow0, label %put1 +grow0: + %t32 = mul i32 %t30, 2 + %t33 = icmp eq i32 %t30, 0 + %t34 = select i1 %t33, i32 8, i32 %t32 + %t35 = getelementptr ptr, ptr null, i32 1 + %t36 = ptrtoint ptr %t35 to i64 + %t37 = zext i32 %t34 to i64 + %t38 = mul i64 %t37, %t36 + %t39 = load ptr, ptr %t28 + %t40 = call ptr @realloc(ptr %t39, i64 %t38) + store ptr %t40, ptr %t28 + store i32 %t34, ptr %t27 + br label %put1 +put1: + %t41 = load ptr, ptr %t28 + %t42 = getelementptr inbounds ptr, ptr %t41, i32 %t29 + store ptr %t25, ptr %t42 + %t43 = add i32 %t29, 1 + store i32 %t43, ptr %t26 + br label %ret +ret: + ret void +} + +define i32 @fn_two_at(ptr %arg_src, i32 %arg_i, i32 %arg_a, i32 %arg_b) { +entry: + %retval = alloca i32 + %t0 = alloca ptr + %t1 = alloca i32 + %t2 = alloca i32 + %t3 = alloca i32 + %t4 = alloca i32 + store ptr %arg_src, ptr %t0 + store i32 %arg_i, ptr %t1 + store i32 %arg_a, ptr %t2 + store i32 %arg_b, ptr %t3 + %t5 = load ptr, ptr %t0 + %t6 = load i32, ptr %t1 + %t7 = getelementptr inbounds i8, ptr %t5, i32 %t6 + %t8 = load i8, ptr %t7 + %t9 = zext i8 %t8 to i32 + %t10 = load i32, ptr %t2 + %t11 = icmp eq i32 %t9, %t10 + %t12 = zext i1 %t11 to i32 + %t13 = icmp ne i32 %t12, 0 + %t14 = zext i1 %t13 to i32 + store i32 %t14, ptr %t4 + br i1 %t13, label %sc0, label %scend1 +sc0: + %t15 = load ptr, ptr %t0 + %t16 = load i32, ptr %t1 + %t17 = add i32 %t16, 1 + %t18 = getelementptr inbounds i8, ptr %t15, i32 %t17 + %t19 = load i8, ptr %t18 + %t20 = zext i8 %t19 to i32 + %t21 = load i32, ptr %t3 + %t22 = icmp eq i32 %t20, %t21 + %t23 = zext i1 %t22 to i32 + %t24 = icmp ne i32 %t23, 0 + %t25 = zext i1 %t24 to i32 + store i32 %t25, ptr %t4 + br label %scend1 +scend1: + %t26 = load i32, ptr %t4 + store i32 %t26, ptr %retval + br label %ret +ret: + %t27 = load i32, ptr %retval + ret i32 %t27 +} + +define i32 @fn_is_op1(i32 %arg_c) { +entry: + %retval = alloca i32 + %t0 = alloca i32 + %t1 = alloca i32 + %t2 = alloca i32 + %t3 = alloca i32 + %t4 = alloca i32 + %t41 = alloca i32 + %t42 = alloca i32 + %t63 = alloca i32 + %t64 = alloca i32 + %t65 = alloca i32 + %t94 = alloca i32 + %t95 = alloca i32 + %t96 = alloca i32 + %t97 = alloca i32 + %t134 = alloca i32 + %t147 = alloca i32 + %t148 = alloca i32 + %t149 = alloca i32 + store i32 %arg_c, ptr %t0 + %t5 = load i32, ptr %t0 + %t6 = icmp eq i32 %t5, 43 + %t7 = zext i1 %t6 to i32 + %t8 = icmp ne i32 %t7, 0 + %t9 = zext i1 %t8 to i32 + store i32 %t9, ptr %t4 + br i1 %t8, label %scend1, label %sc0 +sc0: + %t10 = load i32, ptr %t0 + %t11 = icmp eq i32 %t10, 45 + %t12 = zext i1 %t11 to i32 + %t13 = icmp ne i32 %t12, 0 + %t14 = zext i1 %t13 to i32 + store i32 %t14, ptr %t4 + br label %scend1 +scend1: + %t15 = load i32, ptr %t4 + %t16 = icmp ne i32 %t15, 0 + %t17 = zext i1 %t16 to i32 + store i32 %t17, ptr %t3 + br i1 %t16, label %scend3, label %sc2 +sc2: + %t18 = load i32, ptr %t0 + %t19 = icmp eq i32 %t18, 42 + %t20 = zext i1 %t19 to i32 + %t21 = icmp ne i32 %t20, 0 + %t22 = zext i1 %t21 to i32 + store i32 %t22, ptr %t3 + br label %scend3 +scend3: + %t23 = load i32, ptr %t3 + %t24 = icmp ne i32 %t23, 0 + %t25 = zext i1 %t24 to i32 + store i32 %t25, ptr %t2 + br i1 %t24, label %scend5, label %sc4 +sc4: + %t26 = load i32, ptr %t0 + %t27 = icmp eq i32 %t26, 47 + %t28 = zext i1 %t27 to i32 + %t29 = icmp ne i32 %t28, 0 + %t30 = zext i1 %t29 to i32 + store i32 %t30, ptr %t2 + br label %scend5 +scend5: + %t31 = load i32, ptr %t2 + %t32 = icmp ne i32 %t31, 0 + %t33 = zext i1 %t32 to i32 + store i32 %t33, ptr %t1 + br i1 %t32, label %scend7, label %sc6 +sc6: + %t34 = load i32, ptr %t0 + %t35 = icmp eq i32 %t34, 37 + %t36 = zext i1 %t35 to i32 + %t37 = icmp ne i32 %t36, 0 + %t38 = zext i1 %t37 to i32 + store i32 %t38, ptr %t1 + br label %scend7 +scend7: + %t39 = load i32, ptr %t1 + %t40 = icmp ne i32 %t39, 0 + br i1 %t40, label %then8, label %ifend10 +then8: + store i32 1, ptr %retval + br label %ret +ifend10: + %t43 = load i32, ptr %t0 + %t44 = icmp eq i32 %t43, 60 + %t45 = zext i1 %t44 to i32 + %t46 = icmp ne i32 %t45, 0 + %t47 = zext i1 %t46 to i32 + store i32 %t47, ptr %t42 + br i1 %t46, label %scend12, label %sc11 +sc11: + %t48 = load i32, ptr %t0 + %t49 = icmp eq i32 %t48, 62 + %t50 = zext i1 %t49 to i32 + %t51 = icmp ne i32 %t50, 0 + %t52 = zext i1 %t51 to i32 + store i32 %t52, ptr %t42 + br label %scend12 +scend12: + %t53 = load i32, ptr %t42 + %t54 = icmp ne i32 %t53, 0 + %t55 = zext i1 %t54 to i32 + store i32 %t55, ptr %t41 + br i1 %t54, label %scend14, label %sc13 +sc13: + %t56 = load i32, ptr %t0 + %t57 = icmp eq i32 %t56, 61 + %t58 = zext i1 %t57 to i32 + %t59 = icmp ne i32 %t58, 0 + %t60 = zext i1 %t59 to i32 + store i32 %t60, ptr %t41 + br label %scend14 +scend14: + %t61 = load i32, ptr %t41 + %t62 = icmp ne i32 %t61, 0 + br i1 %t62, label %then15, label %ifend17 +then15: + store i32 1, ptr %retval + br label %ret +ifend17: + %t66 = load i32, ptr %t0 + %t67 = icmp eq i32 %t66, 40 + %t68 = zext i1 %t67 to i32 + %t69 = icmp ne i32 %t68, 0 + %t70 = zext i1 %t69 to i32 + store i32 %t70, ptr %t65 + br i1 %t69, label %scend19, label %sc18 +sc18: + %t71 = load i32, ptr %t0 + %t72 = icmp eq i32 %t71, 41 + %t73 = zext i1 %t72 to i32 + %t74 = icmp ne i32 %t73, 0 + %t75 = zext i1 %t74 to i32 + store i32 %t75, ptr %t65 + br label %scend19 +scend19: + %t76 = load i32, ptr %t65 + %t77 = icmp ne i32 %t76, 0 + %t78 = zext i1 %t77 to i32 + store i32 %t78, ptr %t64 + br i1 %t77, label %scend21, label %sc20 +sc20: + %t79 = load i32, ptr %t0 + %t80 = icmp eq i32 %t79, 123 + %t81 = zext i1 %t80 to i32 + %t82 = icmp ne i32 %t81, 0 + %t83 = zext i1 %t82 to i32 + store i32 %t83, ptr %t64 + br label %scend21 +scend21: + %t84 = load i32, ptr %t64 + %t85 = icmp ne i32 %t84, 0 + %t86 = zext i1 %t85 to i32 + store i32 %t86, ptr %t63 + br i1 %t85, label %scend23, label %sc22 +sc22: + %t87 = load i32, ptr %t0 + %t88 = icmp eq i32 %t87, 125 + %t89 = zext i1 %t88 to i32 + %t90 = icmp ne i32 %t89, 0 + %t91 = zext i1 %t90 to i32 + store i32 %t91, ptr %t63 + br label %scend23 +scend23: + %t92 = load i32, ptr %t63 + %t93 = icmp ne i32 %t92, 0 + br i1 %t93, label %then24, label %ifend26 +then24: + store i32 1, ptr %retval + br label %ret +ifend26: + %t98 = load i32, ptr %t0 + %t99 = icmp eq i32 %t98, 91 + %t100 = zext i1 %t99 to i32 + %t101 = icmp ne i32 %t100, 0 + %t102 = zext i1 %t101 to i32 + store i32 %t102, ptr %t97 + br i1 %t101, label %scend28, label %sc27 +sc27: + %t103 = load i32, ptr %t0 + %t104 = icmp eq i32 %t103, 93 + %t105 = zext i1 %t104 to i32 + %t106 = icmp ne i32 %t105, 0 + %t107 = zext i1 %t106 to i32 + store i32 %t107, ptr %t97 + br label %scend28 +scend28: + %t108 = load i32, ptr %t97 + %t109 = icmp ne i32 %t108, 0 + %t110 = zext i1 %t109 to i32 + store i32 %t110, ptr %t96 + br i1 %t109, label %scend30, label %sc29 +sc29: + %t111 = load i32, ptr %t0 + %t112 = icmp eq i32 %t111, 44 + %t113 = zext i1 %t112 to i32 + %t114 = icmp ne i32 %t113, 0 + %t115 = zext i1 %t114 to i32 + store i32 %t115, ptr %t96 + br label %scend30 +scend30: + %t116 = load i32, ptr %t96 + %t117 = icmp ne i32 %t116, 0 + %t118 = zext i1 %t117 to i32 + store i32 %t118, ptr %t95 + br i1 %t117, label %scend32, label %sc31 +sc31: + %t119 = load i32, ptr %t0 + %t120 = icmp eq i32 %t119, 58 + %t121 = zext i1 %t120 to i32 + %t122 = icmp ne i32 %t121, 0 + %t123 = zext i1 %t122 to i32 + store i32 %t123, ptr %t95 + br label %scend32 +scend32: + %t124 = load i32, ptr %t95 + %t125 = icmp ne i32 %t124, 0 + %t126 = zext i1 %t125 to i32 + store i32 %t126, ptr %t94 + br i1 %t125, label %scend34, label %sc33 +sc33: + %t127 = load i32, ptr %t0 + %t128 = icmp eq i32 %t127, 46 + %t129 = zext i1 %t128 to i32 + %t130 = icmp ne i32 %t129, 0 + %t131 = zext i1 %t130 to i32 + store i32 %t131, ptr %t94 + br label %scend34 +scend34: + %t132 = load i32, ptr %t94 + %t133 = icmp ne i32 %t132, 0 + br i1 %t133, label %then35, label %ifend37 +then35: + store i32 1, ptr %retval + br label %ret +ifend37: + %t135 = load i32, ptr %t0 + %t136 = icmp eq i32 %t135, 33 + %t137 = zext i1 %t136 to i32 + %t138 = icmp ne i32 %t137, 0 + %t139 = zext i1 %t138 to i32 + store i32 %t139, ptr %t134 + br i1 %t138, label %scend39, label %sc38 +sc38: + %t140 = load i32, ptr %t0 + %t141 = icmp eq i32 %t140, 64 + %t142 = zext i1 %t141 to i32 + %t143 = icmp ne i32 %t142, 0 + %t144 = zext i1 %t143 to i32 + store i32 %t144, ptr %t134 + br label %scend39 +scend39: + %t145 = load i32, ptr %t134 + %t146 = icmp ne i32 %t145, 0 + br i1 %t146, label %then40, label %ifend42 +then40: + store i32 1, ptr %retval + br label %ret +ifend42: + %t150 = load i32, ptr %t0 + %t151 = icmp eq i32 %t150, 38 + %t152 = zext i1 %t151 to i32 + %t153 = icmp ne i32 %t152, 0 + %t154 = zext i1 %t153 to i32 + store i32 %t154, ptr %t149 + br i1 %t153, label %scend44, label %sc43 +sc43: + %t155 = load i32, ptr %t0 + %t156 = icmp eq i32 %t155, 124 + %t157 = zext i1 %t156 to i32 + %t158 = icmp ne i32 %t157, 0 + %t159 = zext i1 %t158 to i32 + store i32 %t159, ptr %t149 + br label %scend44 +scend44: + %t160 = load i32, ptr %t149 + %t161 = icmp ne i32 %t160, 0 + %t162 = zext i1 %t161 to i32 + store i32 %t162, ptr %t148 + br i1 %t161, label %scend46, label %sc45 +sc45: + %t163 = load i32, ptr %t0 + %t164 = icmp eq i32 %t163, 94 + %t165 = zext i1 %t164 to i32 + %t166 = icmp ne i32 %t165, 0 + %t167 = zext i1 %t166 to i32 + store i32 %t167, ptr %t148 + br label %scend46 +scend46: + %t168 = load i32, ptr %t148 + %t169 = icmp ne i32 %t168, 0 + %t170 = zext i1 %t169 to i32 + store i32 %t170, ptr %t147 + br i1 %t169, label %scend48, label %sc47 +sc47: + %t171 = load i32, ptr %t0 + %t172 = icmp eq i32 %t171, 126 + %t173 = zext i1 %t172 to i32 + %t174 = icmp ne i32 %t173, 0 + %t175 = zext i1 %t174 to i32 + store i32 %t175, ptr %t147 + br label %scend48 +scend48: + %t176 = load i32, ptr %t147 + %t177 = icmp ne i32 %t176, 0 + br i1 %t177, label %then49, label %ifend51 +then49: + store i32 1, ptr %retval + br label %ret +ifend51: + store i32 0, ptr %retval + br label %ret +ret: + %t178 = load i32, ptr %retval + ret i32 %t178 +} + +define i32 @fn_unescape(i32 %arg_e) { +entry: + %retval = alloca i32 + %t0 = alloca i32 + store i32 %arg_e, ptr %t0 + %t1 = load i32, ptr %t0 + %t2 = icmp eq i32 %t1, 110 + %t3 = zext i1 %t2 to i32 + %t4 = icmp ne i32 %t3, 0 + br i1 %t4, label %then0, label %ifend2 +then0: + store i32 10, ptr %retval + br label %ret +ifend2: + %t5 = load i32, ptr %t0 + %t6 = icmp eq i32 %t5, 114 + %t7 = zext i1 %t6 to i32 + %t8 = icmp ne i32 %t7, 0 + br i1 %t8, label %then3, label %ifend5 +then3: + store i32 13, ptr %retval + br label %ret +ifend5: + %t9 = load i32, ptr %t0 + %t10 = icmp eq i32 %t9, 116 + %t11 = zext i1 %t10 to i32 + %t12 = icmp ne i32 %t11, 0 + br i1 %t12, label %then6, label %ifend8 +then6: + store i32 9, ptr %retval + br label %ret +ifend8: + %t13 = load i32, ptr %t0 + %t14 = icmp eq i32 %t13, 48 + %t15 = zext i1 %t14 to i32 + %t16 = icmp ne i32 %t15, 0 + br i1 %t16, label %then9, label %ifend11 +then9: + store i32 0, ptr %retval + br label %ret +ifend11: + %t17 = load i32, ptr %t0 + store i32 %t17, ptr %retval + br label %ret +ret: + %t18 = load i32, ptr %retval + ret i32 %t18 +} + +define void @fn_lex_error(i32 %arg_line, i32 %arg_c) { +entry: + %t0 = alloca i32 + %t1 = alloca i32 + %t4 = alloca ptr + store i32 %arg_line, ptr %t0 + store i32 %arg_c, ptr %t1 + %t2 = zext i32 2 to i64 + %t3 = call ptr @malloc(i64 %t2) + store ptr %t3, ptr %t4 + %t5 = load ptr, ptr %t4 + %t6 = getelementptr inbounds i8, ptr %t5, i32 0 + %t7 = load i32, ptr %t1 + %t8 = trunc i32 %t7 to i8 + store i8 %t8, ptr %t6 + %t9 = load ptr, ptr %t4 + %t10 = getelementptr inbounds i8, ptr %t9, i32 1 + %t11 = trunc i32 0 to i8 + store i8 %t11, ptr %t10 + %t12 = load i32, ptr %t0 + %t13 = load ptr, ptr %t4 + %t14 = call ptr @lp_str_concat(ptr @.str1, ptr %t13) + %t15 = call ptr @lp_str_concat(ptr %t14, ptr @.str2) + %t16 = load i32, ptr %t1 + %t17 = call ptr @lp_int_str(i32 %t16) + %t18 = call ptr @lp_str_concat(ptr %t15, ptr %t17) + %t19 = call ptr @lp_str_concat(ptr %t18, ptr @.str3) + call void @fn_lex_fail(i32 %t12, ptr %t19) + br label %ret +ret: + ret void +} + +define void @fn_lex_fail(i32 %arg_line, ptr %arg_msg) { +entry: + %t0 = alloca i32 + %t1 = alloca ptr + %t11 = alloca ptr + store i32 %arg_line, ptr %t0 + store ptr %arg_msg, ptr %t1 + %t2 = load ptr, ptr @g_g_parse_file + %t3 = call ptr @lp_str_concat(ptr %t2, ptr @.str4) + %t4 = load i32, ptr %t0 + %t5 = call ptr @lp_int_str(i32 %t4) + %t6 = call ptr @lp_str_concat(ptr %t3, ptr %t5) + %t7 = call ptr @lp_str_concat(ptr %t6, ptr @.str5) + %t8 = load ptr, ptr %t1 + %t9 = call ptr @lp_str_concat(ptr %t7, ptr %t8) + %t10 = call ptr @lp_str_concat(ptr %t9, ptr @.str6) + store ptr %t10, ptr %t11 + %t12 = call ptr @lp_win_stdio(i32 2) + %t13 = load ptr, ptr %t11 + %t14 = load ptr, ptr %t11 + %t15 = call i64 @strlen(ptr %t14) + %t16 = trunc i64 %t15 to i32 + %t17 = zext i32 %t16 to i64 + %t18 = call i64 @fwrite(ptr %t13, i64 1, i64 %t17, ptr %t12) + %t19 = trunc i64 %t18 to i32 + call void @exit(i32 1) + unreachable +ret: + ret void +} + +define void @fn_lex(ptr %arg_src) { +entry: + %t0 = alloca ptr + store ptr %arg_src, ptr %t0 + %t1 = load ptr, ptr %t0 + call void @fn_lex_at(ptr %t1, i32 1) + br label %ret +ret: + ret void +} + +define void @fn_lex_at(ptr %arg_src, i32 %arg_first_line) { +entry: + %t0 = alloca ptr + %t1 = alloca i32 + %t8 = alloca i32 + %t10 = alloca i32 + %t14 = alloca i32 + %t25 = alloca i32 + %t35 = alloca i32 + %t36 = alloca i32 + %t63 = alloca i32 + %t90 = alloca i32 + %t94 = alloca ptr + %t95 = alloca i32 + %t96 = alloca i32 + %t167 = alloca ptr + %t168 = alloca i32 + %t169 = alloca i32 + %t214 = alloca i32 + %t255 = alloca i32 + %t273 = alloca i32 + %t286 = alloca i32 + %t287 = alloca i32 + %t293 = alloca i32 + %t308 = alloca i32 + %t331 = alloca i32 + %t332 = alloca i32 + %t360 = alloca i32 + %t361 = alloca i32 + %t393 = alloca i32 + %t394 = alloca i32 + %t395 = alloca i32 + %t439 = alloca i32 + %t448 = alloca i32 + %t449 = alloca i32 + store ptr %arg_src, ptr %t0 + store i32 %arg_first_line, ptr %t1 + %t2 = getelementptr %LSlice, ptr null, i32 1 + %t3 = ptrtoint ptr %t2 to i64 + %t4 = call ptr @malloc(i64 %t3) + %t5 = getelementptr inbounds %LSlice, ptr %t4, i32 0, i32 0 + store ptr null, ptr %t5 + %t6 = getelementptr inbounds %LSlice, ptr %t4, i32 0, i32 1 + store i32 0, ptr %t6 + %t7 = getelementptr inbounds %LSlice, ptr %t4, i32 0, i32 2 + store i32 0, ptr %t7 + store ptr %t4, ptr @g_toks + store i32 0, ptr %t8 + %t9 = load i32, ptr %t1 + store i32 %t9, ptr %t10 + %t11 = load ptr, ptr %t0 + %t12 = call i64 @strlen(ptr %t11) + %t13 = trunc i64 %t12 to i32 + store i32 %t13, ptr %t14 + br label %wcond0 +wcond0: + %t15 = load i32, ptr %t8 + %t16 = load i32, ptr %t14 + %t17 = icmp slt i32 %t15, %t16 + %t18 = zext i1 %t17 to i32 + %t19 = icmp ne i32 %t18, 0 + br i1 %t19, label %wbody1, label %wend2 +wbody1: + %t20 = load ptr, ptr %t0 + %t21 = load i32, ptr %t8 + %t22 = getelementptr inbounds i8, ptr %t20, i32 %t21 + %t23 = load i8, ptr %t22 + %t24 = zext i8 %t23 to i32 + store i32 %t24, ptr %t25 + %t26 = load i32, ptr %t25 + %t27 = icmp eq i32 %t26, 10 + %t28 = zext i1 %t27 to i32 + %t29 = icmp ne i32 %t28, 0 + br i1 %t29, label %then3, label %ifend5 +then3: + %t30 = load i32, ptr %t10 + call void @fn_tok_push(i32 4, ptr null, i32 0, i32 %t30) + %t31 = load i32, ptr %t10 + %t32 = add i32 %t31, 1 + store i32 %t32, ptr %t10 + %t33 = load i32, ptr %t8 + %t34 = add i32 %t33, 1 + store i32 %t34, ptr %t8 + br label %wcond0 +ifend5: + %t37 = load i32, ptr %t25 + %t38 = icmp eq i32 %t37, 32 + %t39 = zext i1 %t38 to i32 + %t40 = icmp ne i32 %t39, 0 + %t41 = zext i1 %t40 to i32 + store i32 %t41, ptr %t36 + br i1 %t40, label %scend7, label %sc6 +sc6: + %t42 = load i32, ptr %t25 + %t43 = icmp eq i32 %t42, 9 + %t44 = zext i1 %t43 to i32 + %t45 = icmp ne i32 %t44, 0 + %t46 = zext i1 %t45 to i32 + store i32 %t46, ptr %t36 + br label %scend7 +scend7: + %t47 = load i32, ptr %t36 + %t48 = icmp ne i32 %t47, 0 + %t49 = zext i1 %t48 to i32 + store i32 %t49, ptr %t35 + br i1 %t48, label %scend9, label %sc8 +sc8: + %t50 = load i32, ptr %t25 + %t51 = icmp eq i32 %t50, 13 + %t52 = zext i1 %t51 to i32 + %t53 = icmp ne i32 %t52, 0 + %t54 = zext i1 %t53 to i32 + store i32 %t54, ptr %t35 + br label %scend9 +scend9: + %t55 = load i32, ptr %t35 + %t56 = icmp ne i32 %t55, 0 + br i1 %t56, label %then10, label %ifend12 +then10: + %t57 = load i32, ptr %t8 + %t58 = add i32 %t57, 1 + store i32 %t58, ptr %t8 + br label %wcond0 +ifend12: + %t59 = load i32, ptr %t25 + %t60 = icmp eq i32 %t59, 35 + %t61 = zext i1 %t60 to i32 + %t62 = icmp ne i32 %t61, 0 + br i1 %t62, label %then13, label %ifend15 +then13: + br label %wcond16 +wcond16: + %t64 = load i32, ptr %t8 + %t65 = load i32, ptr %t14 + %t66 = icmp slt i32 %t64, %t65 + %t67 = zext i1 %t66 to i32 + %t68 = icmp ne i32 %t67, 0 + %t69 = zext i1 %t68 to i32 + store i32 %t69, ptr %t63 + br i1 %t68, label %sc19, label %scend20 +sc19: + %t70 = load ptr, ptr %t0 + %t71 = load i32, ptr %t8 + %t72 = getelementptr inbounds i8, ptr %t70, i32 %t71 + %t73 = load i8, ptr %t72 + %t74 = zext i8 %t73 to i32 + %t75 = icmp ne i32 %t74, 10 + %t76 = zext i1 %t75 to i32 + %t77 = icmp ne i32 %t76, 0 + %t78 = zext i1 %t77 to i32 + store i32 %t78, ptr %t63 + br label %scend20 +scend20: + %t79 = load i32, ptr %t63 + %t80 = icmp ne i32 %t79, 0 + br i1 %t80, label %wbody17, label %wend18 +wbody17: + %t81 = load i32, ptr %t8 + %t82 = add i32 %t81, 1 + store i32 %t82, ptr %t8 + br label %wcond16 +wend18: + br label %wcond0 +ifend15: + %t83 = load i32, ptr %t25 + %t84 = icmp eq i32 %t83, 34 + %t85 = zext i1 %t84 to i32 + %t86 = icmp ne i32 %t85, 0 + br i1 %t86, label %then21, label %ifend23 +then21: + %t87 = load i32, ptr %t8 + %t88 = add i32 %t87, 1 + store i32 %t88, ptr %t8 + %t89 = load i32, ptr %t8 + store i32 %t89, ptr %t90 + %t91 = load i32, ptr %t14 + %t92 = zext i32 %t91 to i64 + %t93 = call ptr @malloc(i64 %t92) + store ptr %t93, ptr %t94 + store i32 0, ptr %t95 + br label %wcond24 +wcond24: + %t97 = load i32, ptr %t8 + %t98 = load i32, ptr %t14 + %t99 = icmp slt i32 %t97, %t98 + %t100 = zext i1 %t99 to i32 + %t101 = icmp ne i32 %t100, 0 + %t102 = zext i1 %t101 to i32 + store i32 %t102, ptr %t96 + br i1 %t101, label %sc27, label %scend28 +sc27: + %t103 = load ptr, ptr %t0 + %t104 = load i32, ptr %t8 + %t105 = getelementptr inbounds i8, ptr %t103, i32 %t104 + %t106 = load i8, ptr %t105 + %t107 = zext i8 %t106 to i32 + %t108 = icmp ne i32 %t107, 34 + %t109 = zext i1 %t108 to i32 + %t110 = icmp ne i32 %t109, 0 + %t111 = zext i1 %t110 to i32 + store i32 %t111, ptr %t96 + br label %scend28 +scend28: + %t112 = load i32, ptr %t96 + %t113 = icmp ne i32 %t112, 0 + br i1 %t113, label %wbody25, label %wend26 +wbody25: + %t114 = load ptr, ptr %t0 + %t115 = load i32, ptr %t8 + %t116 = getelementptr inbounds i8, ptr %t114, i32 %t115 + %t117 = load i8, ptr %t116 + %t118 = zext i8 %t117 to i32 + %t119 = icmp eq i32 %t118, 92 + %t120 = zext i1 %t119 to i32 + %t121 = icmp ne i32 %t120, 0 + br i1 %t121, label %then29, label %else30 +then29: + %t122 = load ptr, ptr %t94 + %t123 = load i32, ptr %t95 + %t124 = getelementptr inbounds i8, ptr %t122, i32 %t123 + %t125 = load ptr, ptr %t0 + %t126 = load i32, ptr %t8 + %t127 = add i32 %t126, 1 + %t128 = getelementptr inbounds i8, ptr %t125, i32 %t127 + %t129 = load i8, ptr %t128 + %t130 = zext i8 %t129 to i32 + %t131 = call i32 @fn_unescape(i32 %t130) + %t132 = trunc i32 %t131 to i8 + store i8 %t132, ptr %t124 + %t133 = load i32, ptr %t95 + %t134 = add i32 %t133, 1 + store i32 %t134, ptr %t95 + %t135 = load i32, ptr %t8 + %t136 = add i32 %t135, 2 + store i32 %t136, ptr %t8 + br label %ifend31 +else30: + %t137 = load ptr, ptr %t94 + %t138 = load i32, ptr %t95 + %t139 = getelementptr inbounds i8, ptr %t137, i32 %t138 + %t140 = load ptr, ptr %t0 + %t141 = load i32, ptr %t8 + %t142 = getelementptr inbounds i8, ptr %t140, i32 %t141 + %t143 = load i8, ptr %t142 + %t144 = zext i8 %t143 to i32 + %t145 = trunc i32 %t144 to i8 + store i8 %t145, ptr %t139 + %t146 = load i32, ptr %t95 + %t147 = add i32 %t146, 1 + store i32 %t147, ptr %t95 + %t148 = load i32, ptr %t8 + %t149 = add i32 %t148, 1 + store i32 %t149, ptr %t8 + br label %ifend31 +ifend31: + br label %wcond24 +wend26: + %t150 = load i32, ptr %t8 + %t151 = add i32 %t150, 1 + store i32 %t151, ptr %t8 + %t152 = load ptr, ptr %t94 + %t153 = load i32, ptr %t95 + %t154 = getelementptr inbounds i8, ptr %t152, i32 %t153 + %t155 = trunc i32 0 to i8 + store i8 %t155, ptr %t154 + %t156 = load ptr, ptr %t94 + %t157 = load i32, ptr %t10 + call void @fn_tok_push(i32 2, ptr %t156, i32 0, i32 %t157) + br label %wcond0 +ifend23: + %t158 = load i32, ptr %t25 + %t159 = icmp eq i32 %t158, 96 + %t160 = zext i1 %t159 to i32 + %t161 = icmp ne i32 %t160, 0 + br i1 %t161, label %then32, label %ifend34 +then32: + %t162 = load i32, ptr %t8 + %t163 = add i32 %t162, 1 + store i32 %t163, ptr %t8 + %t164 = load i32, ptr %t14 + %t165 = zext i32 %t164 to i64 + %t166 = call ptr @malloc(i64 %t165) + store ptr %t166, ptr %t167 + store i32 0, ptr %t168 + br label %wcond35 +wcond35: + %t170 = load i32, ptr %t8 + %t171 = load i32, ptr %t14 + %t172 = icmp slt i32 %t170, %t171 + %t173 = zext i1 %t172 to i32 + %t174 = icmp ne i32 %t173, 0 + %t175 = zext i1 %t174 to i32 + store i32 %t175, ptr %t169 + br i1 %t174, label %sc38, label %scend39 +sc38: + %t176 = load ptr, ptr %t0 + %t177 = load i32, ptr %t8 + %t178 = getelementptr inbounds i8, ptr %t176, i32 %t177 + %t179 = load i8, ptr %t178 + %t180 = zext i8 %t179 to i32 + %t181 = icmp ne i32 %t180, 96 + %t182 = zext i1 %t181 to i32 + %t183 = icmp ne i32 %t182, 0 + %t184 = zext i1 %t183 to i32 + store i32 %t184, ptr %t169 + br label %scend39 +scend39: + %t185 = load i32, ptr %t169 + %t186 = icmp ne i32 %t185, 0 + br i1 %t186, label %wbody36, label %wend37 +wbody36: + %t187 = load ptr, ptr %t167 + %t188 = load i32, ptr %t168 + %t189 = getelementptr inbounds i8, ptr %t187, i32 %t188 + %t190 = load ptr, ptr %t0 + %t191 = load i32, ptr %t8 + %t192 = getelementptr inbounds i8, ptr %t190, i32 %t191 + %t193 = load i8, ptr %t192 + %t194 = zext i8 %t193 to i32 + %t195 = trunc i32 %t194 to i8 + store i8 %t195, ptr %t189 + %t196 = load i32, ptr %t168 + %t197 = add i32 %t196, 1 + store i32 %t197, ptr %t168 + %t198 = load i32, ptr %t8 + %t199 = add i32 %t198, 1 + store i32 %t199, ptr %t8 + br label %wcond35 +wend37: + %t200 = load i32, ptr %t8 + %t201 = add i32 %t200, 1 + store i32 %t201, ptr %t8 + %t202 = load ptr, ptr %t167 + %t203 = load i32, ptr %t168 + %t204 = getelementptr inbounds i8, ptr %t202, i32 %t203 + %t205 = trunc i32 0 to i8 + store i8 %t205, ptr %t204 + %t206 = load ptr, ptr %t167 + %t207 = load i32, ptr %t10 + call void @fn_tok_push(i32 7, ptr %t206, i32 0, i32 %t207) + br label %wcond0 +ifend34: + %t208 = load i32, ptr %t25 + %t209 = icmp eq i32 %t208, 39 + %t210 = zext i1 %t209 to i32 + %t211 = icmp ne i32 %t210, 0 + br i1 %t211, label %then40, label %ifend42 +then40: + %t212 = load i32, ptr %t8 + %t213 = add i32 %t212, 1 + store i32 %t213, ptr %t8 + store i32 0, ptr %t214 + %t215 = load ptr, ptr %t0 + %t216 = load i32, ptr %t8 + %t217 = getelementptr inbounds i8, ptr %t215, i32 %t216 + %t218 = load i8, ptr %t217 + %t219 = zext i8 %t218 to i32 + %t220 = icmp eq i32 %t219, 92 + %t221 = zext i1 %t220 to i32 + %t222 = icmp ne i32 %t221, 0 + br i1 %t222, label %then43, label %else44 +then43: + %t223 = load ptr, ptr %t0 + %t224 = load i32, ptr %t8 + %t225 = add i32 %t224, 1 + %t226 = getelementptr inbounds i8, ptr %t223, i32 %t225 + %t227 = load i8, ptr %t226 + %t228 = zext i8 %t227 to i32 + %t229 = call i32 @fn_unescape(i32 %t228) + store i32 %t229, ptr %t214 + %t230 = load i32, ptr %t8 + %t231 = add i32 %t230, 2 + store i32 %t231, ptr %t8 + br label %ifend45 +else44: + %t232 = load ptr, ptr %t0 + %t233 = load i32, ptr %t8 + %t234 = getelementptr inbounds i8, ptr %t232, i32 %t233 + %t235 = load i8, ptr %t234 + %t236 = zext i8 %t235 to i32 + store i32 %t236, ptr %t214 + %t237 = load i32, ptr %t8 + %t238 = add i32 %t237, 1 + store i32 %t238, ptr %t8 + br label %ifend45 +ifend45: + %t239 = load ptr, ptr %t0 + %t240 = load i32, ptr %t8 + %t241 = getelementptr inbounds i8, ptr %t239, i32 %t240 + %t242 = load i8, ptr %t241 + %t243 = zext i8 %t242 to i32 + %t244 = icmp ne i32 %t243, 39 + %t245 = zext i1 %t244 to i32 + %t246 = icmp ne i32 %t245, 0 + br i1 %t246, label %then46, label %ifend48 +then46: + %t247 = load i32, ptr %t10 + call void @fn_lex_fail(i32 %t247, ptr @.str7) + br label %ifend48 +ifend48: + %t248 = load i32, ptr %t8 + %t249 = add i32 %t248, 1 + store i32 %t249, ptr %t8 + %t250 = load i32, ptr %t214 + %t251 = load i32, ptr %t10 + call void @fn_tok_push(i32 1, ptr null, i32 %t250, i32 %t251) + br label %wcond0 +ifend42: + %t252 = load i32, ptr %t25 + %t253 = call i32 @fn_char_is_digit(i32 %t252) + %t254 = icmp ne i32 %t253, 0 + br i1 %t254, label %then49, label %ifend51 +then49: + %t256 = load i32, ptr %t25 + %t257 = icmp eq i32 %t256, 48 + %t258 = zext i1 %t257 to i32 + %t259 = icmp ne i32 %t258, 0 + %t260 = zext i1 %t259 to i32 + store i32 %t260, ptr %t255 + br i1 %t259, label %sc52, label %scend53 +sc52: + %t261 = load ptr, ptr %t0 + %t262 = load i32, ptr %t8 + %t263 = add i32 %t262, 1 + %t264 = getelementptr inbounds i8, ptr %t261, i32 %t263 + %t265 = load i8, ptr %t264 + %t266 = zext i8 %t265 to i32 + %t267 = icmp eq i32 %t266, 120 + %t268 = zext i1 %t267 to i32 + %t269 = icmp ne i32 %t268, 0 + %t270 = zext i1 %t269 to i32 + store i32 %t270, ptr %t255 + br label %scend53 +scend53: + %t271 = load i32, ptr %t255 + %t272 = icmp ne i32 %t271, 0 + br i1 %t272, label %then54, label %ifend56 +then54: + store i32 0, ptr %t273 + %t274 = load i32, ptr %t8 + %t275 = add i32 %t274, 2 + store i32 %t275, ptr %t8 + br label %wcond57 +wcond57: + %t276 = load i32, ptr %t8 + %t277 = load i32, ptr %t14 + %t278 = icmp slt i32 %t276, %t277 + %t279 = zext i1 %t278 to i32 + %t280 = icmp ne i32 %t279, 0 + br i1 %t280, label %wbody58, label %wend59 +wbody58: + %t281 = load ptr, ptr %t0 + %t282 = load i32, ptr %t8 + %t283 = getelementptr inbounds i8, ptr %t281, i32 %t282 + %t284 = load i8, ptr %t283 + %t285 = zext i8 %t284 to i32 + store i32 %t285, ptr %t286 + store i32 0, ptr %t287 + %t288 = load i32, ptr %t286 + %t289 = call i32 @fn_char_is_digit(i32 %t288) + %t290 = icmp ne i32 %t289, 0 + br i1 %t290, label %then60, label %else61 +then60: + %t291 = load i32, ptr %t286 + %t292 = sub i32 %t291, 48 + store i32 %t292, ptr %t287 + br label %ifend62 +else61: + %t294 = load i32, ptr %t286 + %t295 = icmp sge i32 %t294, 97 + %t296 = zext i1 %t295 to i32 + %t297 = icmp ne i32 %t296, 0 + %t298 = zext i1 %t297 to i32 + store i32 %t298, ptr %t293 + br i1 %t297, label %sc63, label %scend64 +sc63: + %t299 = load i32, ptr %t286 + %t300 = icmp sle i32 %t299, 102 + %t301 = zext i1 %t300 to i32 + %t302 = icmp ne i32 %t301, 0 + %t303 = zext i1 %t302 to i32 + store i32 %t303, ptr %t293 + br label %scend64 +scend64: + %t304 = load i32, ptr %t293 + %t305 = icmp ne i32 %t304, 0 + br i1 %t305, label %then65, label %else66 +then65: + %t306 = load i32, ptr %t286 + %t307 = sub i32 %t306, 87 + store i32 %t307, ptr %t287 + br label %ifend67 +else66: + %t309 = load i32, ptr %t286 + %t310 = icmp sge i32 %t309, 65 + %t311 = zext i1 %t310 to i32 + %t312 = icmp ne i32 %t311, 0 + %t313 = zext i1 %t312 to i32 + store i32 %t313, ptr %t308 + br i1 %t312, label %sc68, label %scend69 +sc68: + %t314 = load i32, ptr %t286 + %t315 = icmp sle i32 %t314, 70 + %t316 = zext i1 %t315 to i32 + %t317 = icmp ne i32 %t316, 0 + %t318 = zext i1 %t317 to i32 + store i32 %t318, ptr %t308 + br label %scend69 +scend69: + %t319 = load i32, ptr %t308 + %t320 = icmp ne i32 %t319, 0 + br i1 %t320, label %then70, label %else71 +then70: + %t321 = load i32, ptr %t286 + %t322 = sub i32 %t321, 55 + store i32 %t322, ptr %t287 + br label %ifend72 +else71: + br label %wend59 +ifend72: + br label %ifend67 +ifend67: + br label %ifend62 +ifend62: + %t323 = load i32, ptr %t273 + %t324 = mul i32 %t323, 16 + %t325 = load i32, ptr %t287 + %t326 = add i32 %t324, %t325 + store i32 %t326, ptr %t273 + %t327 = load i32, ptr %t8 + %t328 = add i32 %t327, 1 + store i32 %t328, ptr %t8 + br label %wcond57 +wend59: + %t329 = load i32, ptr %t273 + %t330 = load i32, ptr %t10 + call void @fn_tok_push(i32 1, ptr null, i32 %t329, i32 %t330) + br label %wcond0 +ifend56: + store i32 0, ptr %t331 + br label %wcond73 +wcond73: + %t333 = load i32, ptr %t8 + %t334 = load i32, ptr %t14 + %t335 = icmp slt i32 %t333, %t334 + %t336 = zext i1 %t335 to i32 + %t337 = icmp ne i32 %t336, 0 + %t338 = zext i1 %t337 to i32 + store i32 %t338, ptr %t332 + br i1 %t337, label %sc76, label %scend77 +sc76: + %t339 = load ptr, ptr %t0 + %t340 = load i32, ptr %t8 + %t341 = getelementptr inbounds i8, ptr %t339, i32 %t340 + %t342 = load i8, ptr %t341 + %t343 = zext i8 %t342 to i32 + %t344 = call i32 @fn_char_is_digit(i32 %t343) + %t345 = icmp ne i32 %t344, 0 + %t346 = zext i1 %t345 to i32 + store i32 %t346, ptr %t332 + br label %scend77 +scend77: + %t347 = load i32, ptr %t332 + %t348 = icmp ne i32 %t347, 0 + br i1 %t348, label %wbody74, label %wend75 +wbody74: + %t349 = load i32, ptr %t331 + %t350 = mul i32 %t349, 10 + %t351 = load ptr, ptr %t0 + %t352 = load i32, ptr %t8 + %t353 = getelementptr inbounds i8, ptr %t351, i32 %t352 + %t354 = load i8, ptr %t353 + %t355 = zext i8 %t354 to i32 + %t356 = sub i32 %t355, 48 + %t357 = add i32 %t350, %t356 + store i32 %t357, ptr %t331 + %t358 = load i32, ptr %t8 + %t359 = add i32 %t358, 1 + store i32 %t359, ptr %t8 + br label %wcond73 +wend75: + %t362 = load i32, ptr %t8 + %t363 = load i32, ptr %t14 + %t364 = icmp slt i32 %t362, %t363 + %t365 = zext i1 %t364 to i32 + %t366 = icmp ne i32 %t365, 0 + %t367 = zext i1 %t366 to i32 + store i32 %t367, ptr %t361 + br i1 %t366, label %sc78, label %scend79 +sc78: + %t368 = load ptr, ptr %t0 + %t369 = load i32, ptr %t8 + %t370 = getelementptr inbounds i8, ptr %t368, i32 %t369 + %t371 = load i8, ptr %t370 + %t372 = zext i8 %t371 to i32 + %t373 = icmp eq i32 %t372, 46 + %t374 = zext i1 %t373 to i32 + %t375 = icmp ne i32 %t374, 0 + %t376 = zext i1 %t375 to i32 + store i32 %t376, ptr %t361 + br label %scend79 +scend79: + %t377 = load i32, ptr %t361 + %t378 = icmp ne i32 %t377, 0 + %t379 = zext i1 %t378 to i32 + store i32 %t379, ptr %t360 + br i1 %t378, label %sc80, label %scend81 +sc80: + %t380 = load ptr, ptr %t0 + %t381 = load i32, ptr %t8 + %t382 = add i32 %t381, 1 + %t383 = getelementptr inbounds i8, ptr %t380, i32 %t382 + %t384 = load i8, ptr %t383 + %t385 = zext i8 %t384 to i32 + %t386 = call i32 @fn_char_is_digit(i32 %t385) + %t387 = icmp ne i32 %t386, 0 + %t388 = zext i1 %t387 to i32 + store i32 %t388, ptr %t360 + br label %scend81 +scend81: + %t389 = load i32, ptr %t360 + %t390 = icmp ne i32 %t389, 0 + br i1 %t390, label %then82, label %ifend84 +then82: + %t391 = load i32, ptr %t8 + %t392 = add i32 %t391, 1 + store i32 %t392, ptr %t8 + store i32 0, ptr %t393 + store i32 1, ptr %t394 + br label %wcond85 +wcond85: + %t396 = load i32, ptr %t8 + %t397 = load i32, ptr %t14 + %t398 = icmp slt i32 %t396, %t397 + %t399 = zext i1 %t398 to i32 + %t400 = icmp ne i32 %t399, 0 + %t401 = zext i1 %t400 to i32 + store i32 %t401, ptr %t395 + br i1 %t400, label %sc88, label %scend89 +sc88: + %t402 = load ptr, ptr %t0 + %t403 = load i32, ptr %t8 + %t404 = getelementptr inbounds i8, ptr %t402, i32 %t403 + %t405 = load i8, ptr %t404 + %t406 = zext i8 %t405 to i32 + %t407 = call i32 @fn_char_is_digit(i32 %t406) + %t408 = icmp ne i32 %t407, 0 + %t409 = zext i1 %t408 to i32 + store i32 %t409, ptr %t395 + br label %scend89 +scend89: + %t410 = load i32, ptr %t395 + %t411 = icmp ne i32 %t410, 0 + br i1 %t411, label %wbody86, label %wend87 +wbody86: + %t412 = load i32, ptr %t394 + %t413 = icmp slt i32 %t412, 10000 + %t414 = zext i1 %t413 to i32 + %t415 = icmp ne i32 %t414, 0 + br i1 %t415, label %then90, label %ifend92 +then90: + %t416 = load i32, ptr %t393 + %t417 = mul i32 %t416, 10 + %t418 = load ptr, ptr %t0 + %t419 = load i32, ptr %t8 + %t420 = getelementptr inbounds i8, ptr %t418, i32 %t419 + %t421 = load i8, ptr %t420 + %t422 = zext i8 %t421 to i32 + %t423 = sub i32 %t422, 48 + %t424 = add i32 %t417, %t423 + store i32 %t424, ptr %t393 + %t425 = load i32, ptr %t394 + %t426 = mul i32 %t425, 10 + store i32 %t426, ptr %t394 + br label %ifend92 +ifend92: + %t427 = load i32, ptr %t8 + %t428 = add i32 %t427, 1 + store i32 %t428, ptr %t8 + br label %wcond85 +wend87: + %t429 = load i32, ptr %t331 + %t430 = shl i32 %t429, 16 + %t431 = load i32, ptr %t393 + %t432 = shl i32 %t431, 16 + %t433 = load i32, ptr %t394 + %t434 = lshr i32 %t433, 1 + %t435 = add i32 %t432, %t434 + %t436 = load i32, ptr %t394 + %t437 = sdiv i32 %t435, %t436 + %t438 = add i32 %t430, %t437 + store i32 %t438, ptr %t439 + %t440 = load i32, ptr %t439 + %t441 = load i32, ptr %t10 + call void @fn_tok_push(i32 6, ptr null, i32 %t440, i32 %t441) + br label %wcond0 +ifend84: + %t442 = load i32, ptr %t331 + %t443 = load i32, ptr %t10 + call void @fn_tok_push(i32 1, ptr null, i32 %t442, i32 %t443) + br label %wcond0 +ifend51: + %t444 = load i32, ptr %t25 + %t445 = call i32 @fn_char_is_alpha(i32 %t444) + %t446 = icmp ne i32 %t445, 0 + br i1 %t446, label %then93, label %ifend95 +then93: + %t447 = load i32, ptr %t8 + store i32 %t447, ptr %t448 + br label %wcond96 +wcond96: + %t450 = load i32, ptr %t8 + %t451 = load i32, ptr %t14 + %t452 = icmp slt i32 %t450, %t451 + %t453 = zext i1 %t452 to i32 + %t454 = icmp ne i32 %t453, 0 + %t455 = zext i1 %t454 to i32 + store i32 %t455, ptr %t449 + br i1 %t454, label %sc99, label %scend100 +sc99: + %t456 = load ptr, ptr %t0 + %t457 = load i32, ptr %t8 + %t458 = getelementptr inbounds i8, ptr %t456, i32 %t457 + %t459 = load i8, ptr %t458 + %t460 = zext i8 %t459 to i32 + %t461 = call i32 @fn_char_is_alnum(i32 %t460) + %t462 = icmp ne i32 %t461, 0 + %t463 = zext i1 %t462 to i32 + store i32 %t463, ptr %t449 + br label %scend100 +scend100: + %t464 = load i32, ptr %t449 + %t465 = icmp ne i32 %t464, 0 + br i1 %t465, label %wbody97, label %wend98 +wbody97: + %t466 = load i32, ptr %t8 + %t467 = add i32 %t466, 1 + store i32 %t467, ptr %t8 + br label %wcond96 +wend98: + %t468 = load ptr, ptr %t0 + %t469 = load i32, ptr %t448 + %t470 = load i32, ptr %t8 + %t471 = call ptr @lp_str_slice(ptr %t468, i32 %t469, i32 %t470) + %t472 = load i32, ptr %t10 + call void @fn_tok_push(i32 0, ptr %t471, i32 0, i32 %t472) + br label %wcond0 +ifend95: + %t473 = load i32, ptr %t25 + %t474 = icmp eq i32 %t473, 59 + %t475 = zext i1 %t474 to i32 + %t476 = icmp ne i32 %t475, 0 + br i1 %t476, label %then101, label %ifend103 +then101: + %t477 = load i32, ptr %t10 + call void @fn_tok_push(i32 4, ptr null, i32 0, i32 %t477) + %t478 = load i32, ptr %t8 + %t479 = add i32 %t478, 1 + store i32 %t479, ptr %t8 + br label %wcond0 +ifend103: + %t480 = load ptr, ptr %t0 + %t481 = load i32, ptr %t8 + %t482 = call i32 @fn_two_at(ptr %t480, i32 %t481, i32 45, i32 62) + %t483 = icmp ne i32 %t482, 0 + br i1 %t483, label %then104, label %ifend106 +then104: + %t484 = load ptr, ptr %t0 + %t485 = load i32, ptr %t8 + %t486 = load i32, ptr %t8 + %t487 = add i32 %t486, 2 + %t488 = call ptr @lp_str_slice(ptr %t484, i32 %t485, i32 %t487) + %t489 = load i32, ptr %t10 + call void @fn_tok_push(i32 3, ptr %t488, i32 0, i32 %t489) + %t490 = load i32, ptr %t8 + %t491 = add i32 %t490, 2 + store i32 %t491, ptr %t8 + br label %wcond0 +ifend106: + %t492 = load ptr, ptr %t0 + %t493 = load i32, ptr %t8 + %t494 = call i32 @fn_two_at(ptr %t492, i32 %t493, i32 61, i32 62) + %t495 = icmp ne i32 %t494, 0 + br i1 %t495, label %then107, label %ifend109 +then107: + %t496 = load ptr, ptr %t0 + %t497 = load i32, ptr %t8 + %t498 = load i32, ptr %t8 + %t499 = add i32 %t498, 2 + %t500 = call ptr @lp_str_slice(ptr %t496, i32 %t497, i32 %t499) + %t501 = load i32, ptr %t10 + call void @fn_tok_push(i32 3, ptr %t500, i32 0, i32 %t501) + %t502 = load i32, ptr %t8 + %t503 = add i32 %t502, 2 + store i32 %t503, ptr %t8 + br label %wcond0 +ifend109: + %t504 = load ptr, ptr %t0 + %t505 = load i32, ptr %t8 + %t506 = call i32 @fn_two_at(ptr %t504, i32 %t505, i32 61, i32 61) + %t507 = icmp ne i32 %t506, 0 + br i1 %t507, label %then110, label %ifend112 +then110: + %t508 = load ptr, ptr %t0 + %t509 = load i32, ptr %t8 + %t510 = load i32, ptr %t8 + %t511 = add i32 %t510, 2 + %t512 = call ptr @lp_str_slice(ptr %t508, i32 %t509, i32 %t511) + %t513 = load i32, ptr %t10 + call void @fn_tok_push(i32 3, ptr %t512, i32 0, i32 %t513) + %t514 = load i32, ptr %t8 + %t515 = add i32 %t514, 2 + store i32 %t515, ptr %t8 + br label %wcond0 +ifend112: + %t516 = load ptr, ptr %t0 + %t517 = load i32, ptr %t8 + %t518 = call i32 @fn_two_at(ptr %t516, i32 %t517, i32 33, i32 61) + %t519 = icmp ne i32 %t518, 0 + br i1 %t519, label %then113, label %ifend115 +then113: + %t520 = load ptr, ptr %t0 + %t521 = load i32, ptr %t8 + %t522 = load i32, ptr %t8 + %t523 = add i32 %t522, 2 + %t524 = call ptr @lp_str_slice(ptr %t520, i32 %t521, i32 %t523) + %t525 = load i32, ptr %t10 + call void @fn_tok_push(i32 3, ptr %t524, i32 0, i32 %t525) + %t526 = load i32, ptr %t8 + %t527 = add i32 %t526, 2 + store i32 %t527, ptr %t8 + br label %wcond0 +ifend115: + %t528 = load ptr, ptr %t0 + %t529 = load i32, ptr %t8 + %t530 = call i32 @fn_two_at(ptr %t528, i32 %t529, i32 60, i32 61) + %t531 = icmp ne i32 %t530, 0 + br i1 %t531, label %then116, label %ifend118 +then116: + %t532 = load ptr, ptr %t0 + %t533 = load i32, ptr %t8 + %t534 = load i32, ptr %t8 + %t535 = add i32 %t534, 2 + %t536 = call ptr @lp_str_slice(ptr %t532, i32 %t533, i32 %t535) + %t537 = load i32, ptr %t10 + call void @fn_tok_push(i32 3, ptr %t536, i32 0, i32 %t537) + %t538 = load i32, ptr %t8 + %t539 = add i32 %t538, 2 + store i32 %t539, ptr %t8 + br label %wcond0 +ifend118: + %t540 = load ptr, ptr %t0 + %t541 = load i32, ptr %t8 + %t542 = call i32 @fn_two_at(ptr %t540, i32 %t541, i32 62, i32 61) + %t543 = icmp ne i32 %t542, 0 + br i1 %t543, label %then119, label %ifend121 +then119: + %t544 = load ptr, ptr %t0 + %t545 = load i32, ptr %t8 + %t546 = load i32, ptr %t8 + %t547 = add i32 %t546, 2 + %t548 = call ptr @lp_str_slice(ptr %t544, i32 %t545, i32 %t547) + %t549 = load i32, ptr %t10 + call void @fn_tok_push(i32 3, ptr %t548, i32 0, i32 %t549) + %t550 = load i32, ptr %t8 + %t551 = add i32 %t550, 2 + store i32 %t551, ptr %t8 + br label %wcond0 +ifend121: + %t552 = load ptr, ptr %t0 + %t553 = load i32, ptr %t8 + %t554 = call i32 @fn_two_at(ptr %t552, i32 %t553, i32 43, i32 61) + %t555 = icmp ne i32 %t554, 0 + br i1 %t555, label %then122, label %ifend124 +then122: + %t556 = load ptr, ptr %t0 + %t557 = load i32, ptr %t8 + %t558 = load i32, ptr %t8 + %t559 = add i32 %t558, 2 + %t560 = call ptr @lp_str_slice(ptr %t556, i32 %t557, i32 %t559) + %t561 = load i32, ptr %t10 + call void @fn_tok_push(i32 3, ptr %t560, i32 0, i32 %t561) + %t562 = load i32, ptr %t8 + %t563 = add i32 %t562, 2 + store i32 %t563, ptr %t8 + br label %wcond0 +ifend124: + %t564 = load ptr, ptr %t0 + %t565 = load i32, ptr %t8 + %t566 = call i32 @fn_two_at(ptr %t564, i32 %t565, i32 45, i32 61) + %t567 = icmp ne i32 %t566, 0 + br i1 %t567, label %then125, label %ifend127 +then125: + %t568 = load ptr, ptr %t0 + %t569 = load i32, ptr %t8 + %t570 = load i32, ptr %t8 + %t571 = add i32 %t570, 2 + %t572 = call ptr @lp_str_slice(ptr %t568, i32 %t569, i32 %t571) + %t573 = load i32, ptr %t10 + call void @fn_tok_push(i32 3, ptr %t572, i32 0, i32 %t573) + %t574 = load i32, ptr %t8 + %t575 = add i32 %t574, 2 + store i32 %t575, ptr %t8 + br label %wcond0 +ifend127: + %t576 = load ptr, ptr %t0 + %t577 = load i32, ptr %t8 + %t578 = call i32 @fn_two_at(ptr %t576, i32 %t577, i32 42, i32 61) + %t579 = icmp ne i32 %t578, 0 + br i1 %t579, label %then128, label %ifend130 +then128: + %t580 = load ptr, ptr %t0 + %t581 = load i32, ptr %t8 + %t582 = load i32, ptr %t8 + %t583 = add i32 %t582, 2 + %t584 = call ptr @lp_str_slice(ptr %t580, i32 %t581, i32 %t583) + %t585 = load i32, ptr %t10 + call void @fn_tok_push(i32 3, ptr %t584, i32 0, i32 %t585) + %t586 = load i32, ptr %t8 + %t587 = add i32 %t586, 2 + store i32 %t587, ptr %t8 + br label %wcond0 +ifend130: + %t588 = load ptr, ptr %t0 + %t589 = load i32, ptr %t8 + %t590 = call i32 @fn_two_at(ptr %t588, i32 %t589, i32 47, i32 61) + %t591 = icmp ne i32 %t590, 0 + br i1 %t591, label %then131, label %ifend133 +then131: + %t592 = load ptr, ptr %t0 + %t593 = load i32, ptr %t8 + %t594 = load i32, ptr %t8 + %t595 = add i32 %t594, 2 + %t596 = call ptr @lp_str_slice(ptr %t592, i32 %t593, i32 %t595) + %t597 = load i32, ptr %t10 + call void @fn_tok_push(i32 3, ptr %t596, i32 0, i32 %t597) + %t598 = load i32, ptr %t8 + %t599 = add i32 %t598, 2 + store i32 %t599, ptr %t8 + br label %wcond0 +ifend133: + %t600 = load ptr, ptr %t0 + %t601 = load i32, ptr %t8 + %t602 = call i32 @fn_two_at(ptr %t600, i32 %t601, i32 46, i32 46) + %t603 = icmp ne i32 %t602, 0 + br i1 %t603, label %then134, label %ifend136 +then134: + %t604 = load ptr, ptr %t0 + %t605 = load i32, ptr %t8 + %t606 = load i32, ptr %t8 + %t607 = add i32 %t606, 2 + %t608 = call ptr @lp_str_slice(ptr %t604, i32 %t605, i32 %t607) + %t609 = load i32, ptr %t10 + call void @fn_tok_push(i32 3, ptr %t608, i32 0, i32 %t609) + %t610 = load i32, ptr %t8 + %t611 = add i32 %t610, 2 + store i32 %t611, ptr %t8 + br label %wcond0 +ifend136: + %t612 = load ptr, ptr %t0 + %t613 = load i32, ptr %t8 + %t614 = call i32 @fn_two_at(ptr %t612, i32 %t613, i32 60, i32 60) + %t615 = icmp ne i32 %t614, 0 + br i1 %t615, label %then137, label %ifend139 +then137: + %t616 = load ptr, ptr %t0 + %t617 = load i32, ptr %t8 + %t618 = load i32, ptr %t8 + %t619 = add i32 %t618, 2 + %t620 = call ptr @lp_str_slice(ptr %t616, i32 %t617, i32 %t619) + %t621 = load i32, ptr %t10 + call void @fn_tok_push(i32 3, ptr %t620, i32 0, i32 %t621) + %t622 = load i32, ptr %t8 + %t623 = add i32 %t622, 2 + store i32 %t623, ptr %t8 + br label %wcond0 +ifend139: + %t624 = load ptr, ptr %t0 + %t625 = load i32, ptr %t8 + %t626 = call i32 @fn_two_at(ptr %t624, i32 %t625, i32 62, i32 62) + %t627 = icmp ne i32 %t626, 0 + br i1 %t627, label %then140, label %ifend142 +then140: + %t628 = load ptr, ptr %t0 + %t629 = load i32, ptr %t8 + %t630 = load i32, ptr %t8 + %t631 = add i32 %t630, 2 + %t632 = call ptr @lp_str_slice(ptr %t628, i32 %t629, i32 %t631) + %t633 = load i32, ptr %t10 + call void @fn_tok_push(i32 3, ptr %t632, i32 0, i32 %t633) + %t634 = load i32, ptr %t8 + %t635 = add i32 %t634, 2 + store i32 %t635, ptr %t8 + br label %wcond0 +ifend142: + %t636 = load i32, ptr %t25 + %t637 = call i32 @fn_is_op1(i32 %t636) + %t638 = icmp ne i32 %t637, 0 + br i1 %t638, label %then143, label %ifend145 +then143: + %t639 = load ptr, ptr %t0 + %t640 = load i32, ptr %t8 + %t641 = load i32, ptr %t8 + %t642 = add i32 %t641, 1 + %t643 = call ptr @lp_str_slice(ptr %t639, i32 %t640, i32 %t642) + %t644 = load i32, ptr %t10 + call void @fn_tok_push(i32 3, ptr %t643, i32 0, i32 %t644) + %t645 = load i32, ptr %t8 + %t646 = add i32 %t645, 1 + store i32 %t646, ptr %t8 + br label %wcond0 +ifend145: + %t647 = load i32, ptr %t10 + %t648 = load i32, ptr %t25 + call void @fn_lex_error(i32 %t647, i32 %t648) + br label %wcond0 +wend2: + %t649 = load i32, ptr %t10 + call void @fn_tok_push(i32 5, ptr null, i32 0, i32 %t649) + br label %ret +ret: + ret void +} + +define ptr @fn_cur() { +entry: + %retval = alloca ptr + %t0 = load ptr, ptr @g_toks + %t1 = getelementptr inbounds %LSlice, ptr %t0, i32 0, i32 0 + %t2 = load ptr, ptr %t1 + %t3 = load i32, ptr @g_pi + %t4 = getelementptr inbounds ptr, ptr %t2, i32 %t3 + %t5 = load ptr, ptr %t4 + store ptr %t5, ptr %retval + br label %ret +ret: + %t6 = load ptr, ptr %retval + ret ptr %t6 +} + +define ptr @fn_pk(i32 %arg_o) { +entry: + %retval = alloca ptr + %t0 = alloca i32 + store i32 %arg_o, ptr %t0 + %t1 = load ptr, ptr @g_toks + %t2 = getelementptr inbounds %LSlice, ptr %t1, i32 0, i32 0 + %t3 = load ptr, ptr %t2 + %t4 = load i32, ptr @g_pi + %t5 = load i32, ptr %t0 + %t6 = add i32 %t4, %t5 + %t7 = getelementptr inbounds ptr, ptr %t3, i32 %t6 + %t8 = load ptr, ptr %t7 + store ptr %t8, ptr %retval + br label %ret +ret: + %t9 = load ptr, ptr %retval + ret ptr %t9 +} + +define i32 @fn_is_op(ptr %arg_v) { +entry: + %retval = alloca i32 + %t0 = alloca ptr + %t7 = alloca ptr + %t8 = alloca i32 + store ptr %arg_v, ptr %t0 + %t1 = load ptr, ptr @g_toks + %t2 = getelementptr inbounds %LSlice, ptr %t1, i32 0, i32 0 + %t3 = load ptr, ptr %t2 + %t4 = load i32, ptr @g_pi + %t5 = getelementptr inbounds ptr, ptr %t3, i32 %t4 + %t6 = load ptr, ptr %t5 + store ptr %t6, ptr %t7 + %t9 = load ptr, ptr %t7 + %t10 = getelementptr inbounds %Cmp_Tok, ptr %t9, i32 0, i32 0 + %t11 = load i32, ptr %t10 + %t12 = icmp eq i32 %t11, 3 + %t13 = zext i1 %t12 to i32 + %t14 = icmp ne i32 %t13, 0 + %t15 = zext i1 %t14 to i32 + store i32 %t15, ptr %t8 + br i1 %t14, label %sc0, label %scend1 +sc0: + %t16 = load ptr, ptr %t7 + %t17 = getelementptr inbounds %Cmp_Tok, ptr %t16, i32 0, i32 1 + %t18 = load ptr, ptr %t17 + %t19 = load ptr, ptr %t0 + %t20 = call i32 @lp_str_eq(ptr %t18, ptr %t19) + %t21 = icmp ne i32 %t20, 0 + %t22 = zext i1 %t21 to i32 + store i32 %t22, ptr %t8 + br label %scend1 +scend1: + %t23 = load i32, ptr %t8 + store i32 %t23, ptr %retval + br label %ret +ret: + %t24 = load i32, ptr %retval + ret i32 %t24 +} + +define i32 @fn_is_id(ptr %arg_v) { +entry: + %retval = alloca i32 + %t0 = alloca ptr + %t7 = alloca ptr + %t8 = alloca i32 + store ptr %arg_v, ptr %t0 + %t1 = load ptr, ptr @g_toks + %t2 = getelementptr inbounds %LSlice, ptr %t1, i32 0, i32 0 + %t3 = load ptr, ptr %t2 + %t4 = load i32, ptr @g_pi + %t5 = getelementptr inbounds ptr, ptr %t3, i32 %t4 + %t6 = load ptr, ptr %t5 + store ptr %t6, ptr %t7 + %t9 = load ptr, ptr %t7 + %t10 = getelementptr inbounds %Cmp_Tok, ptr %t9, i32 0, i32 0 + %t11 = load i32, ptr %t10 + %t12 = icmp eq i32 %t11, 0 + %t13 = zext i1 %t12 to i32 + %t14 = icmp ne i32 %t13, 0 + %t15 = zext i1 %t14 to i32 + store i32 %t15, ptr %t8 + br i1 %t14, label %sc0, label %scend1 +sc0: + %t16 = load ptr, ptr %t7 + %t17 = getelementptr inbounds %Cmp_Tok, ptr %t16, i32 0, i32 1 + %t18 = load ptr, ptr %t17 + %t19 = load ptr, ptr %t0 + %t20 = call i32 @lp_str_eq(ptr %t18, ptr %t19) + %t21 = icmp ne i32 %t20, 0 + %t22 = zext i1 %t21 to i32 + store i32 %t22, ptr %t8 + br label %scend1 +scend1: + %t23 = load i32, ptr %t8 + store i32 %t23, ptr %retval + br label %ret +ret: + %t24 = load i32, ptr %retval + ret i32 %t24 +} + +define i32 @fn_is_kw(ptr %arg_v) { +entry: + %retval = alloca i32 + %t0 = alloca ptr + store ptr %arg_v, ptr %t0 + %t1 = load ptr, ptr %t0 + %t2 = call i32 @fn_is_id(ptr %t1) + store i32 %t2, ptr %retval + br label %ret +ret: + %t3 = load i32, ptr %retval + ret i32 %t3 +} + +define void @fn_perr(ptr %arg_msg) { +entry: + %t0 = alloca ptr + %t2 = alloca ptr + %t4 = alloca i32 + %t36 = alloca ptr + store ptr %arg_msg, ptr %t0 + %t1 = load ptr, ptr @g_g_err_file + store ptr %t1, ptr %t2 + %t3 = load i32, ptr @g_g_err_line + store i32 %t3, ptr %t4 + %t5 = load i32, ptr @g_g_parsing + %t6 = icmp ne i32 %t5, 0 + br i1 %t6, label %then0, label %ifend2 +then0: + %t7 = load ptr, ptr @g_g_parse_file + store ptr %t7, ptr %t2 + store i32 0, ptr %t4 + %t8 = load i32, ptr @g_pi + %t9 = load ptr, ptr @g_toks + %t10 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 1 + %t11 = load i32, ptr %t10 + %t12 = icmp slt i32 %t8, %t11 + %t13 = zext i1 %t12 to i32 + %t14 = icmp ne i32 %t13, 0 + br i1 %t14, label %then3, label %ifend5 +then3: + %t15 = load ptr, ptr @g_toks + %t16 = getelementptr inbounds %LSlice, ptr %t15, i32 0, i32 0 + %t17 = load ptr, ptr %t16 + %t18 = load i32, ptr @g_pi + %t19 = getelementptr inbounds ptr, ptr %t17, i32 %t18 + %t20 = load ptr, ptr %t19 + %t21 = getelementptr inbounds %Cmp_Tok, ptr %t20, i32 0, i32 3 + %t22 = load i32, ptr %t21 + store i32 %t22, ptr %t4 + br label %ifend5 +ifend5: + br label %ifend2 +ifend2: + %t23 = load ptr, ptr %t2 + %t24 = icmp eq ptr %t23, null + %t25 = zext i1 %t24 to i32 + %t26 = icmp ne i32 %t25, 0 + br i1 %t26, label %then6, label %ifend8 +then6: + store ptr @.str8, ptr %t2 + br label %ifend8 +ifend8: + %t27 = load ptr, ptr %t2 + %t28 = call ptr @lp_str_concat(ptr %t27, ptr @.str9) + %t29 = load i32, ptr %t4 + %t30 = call ptr @lp_int_str(i32 %t29) + %t31 = call ptr @lp_str_concat(ptr %t28, ptr %t30) + %t32 = call ptr @lp_str_concat(ptr %t31, ptr @.str10) + %t33 = load ptr, ptr %t0 + %t34 = call ptr @lp_str_concat(ptr %t32, ptr %t33) + %t35 = call ptr @lp_str_concat(ptr %t34, ptr @.str11) + store ptr %t35, ptr %t36 + %t37 = call ptr @lp_win_stdio(i32 2) + %t38 = load ptr, ptr %t36 + %t39 = load ptr, ptr %t36 + %t40 = call i64 @strlen(ptr %t39) + %t41 = trunc i64 %t40 to i32 + %t42 = zext i32 %t41 to i64 + %t43 = call i64 @fwrite(ptr %t38, i64 1, i64 %t42, ptr %t37) + %t44 = trunc i64 %t43 to i32 + call void @exit(i32 1) + unreachable +ret: + ret void +} + +define ptr @fn_tok_desc() { +entry: + %retval = alloca ptr + %t6 = alloca ptr + %t19 = alloca i32 + %t0 = load ptr, ptr @g_toks + %t1 = getelementptr inbounds %LSlice, ptr %t0, i32 0, i32 0 + %t2 = load ptr, ptr %t1 + %t3 = load i32, ptr @g_pi + %t4 = getelementptr inbounds ptr, ptr %t2, i32 %t3 + %t5 = load ptr, ptr %t4 + store ptr %t5, ptr %t6 + %t7 = load ptr, ptr %t6 + %t8 = getelementptr inbounds %Cmp_Tok, ptr %t7, i32 0, i32 0 + %t9 = load i32, ptr %t8 + %t10 = icmp eq i32 %t9, 5 + %t11 = zext i1 %t10 to i32 + %t12 = icmp ne i32 %t11, 0 + br i1 %t12, label %then0, label %ifend2 +then0: + store ptr @.str12, ptr %retval + br label %ret +ifend2: + %t13 = load ptr, ptr %t6 + %t14 = getelementptr inbounds %Cmp_Tok, ptr %t13, i32 0, i32 0 + %t15 = load i32, ptr %t14 + %t16 = icmp eq i32 %t15, 4 + %t17 = zext i1 %t16 to i32 + %t18 = icmp ne i32 %t17, 0 + br i1 %t18, label %then3, label %ifend5 +then3: + store ptr @.str13, ptr %retval + br label %ret +ifend5: + %t20 = load ptr, ptr %t6 + %t21 = getelementptr inbounds %Cmp_Tok, ptr %t20, i32 0, i32 0 + %t22 = load i32, ptr %t21 + %t23 = icmp eq i32 %t22, 1 + %t24 = zext i1 %t23 to i32 + %t25 = icmp ne i32 %t24, 0 + %t26 = zext i1 %t25 to i32 + store i32 %t26, ptr %t19 + br i1 %t25, label %scend7, label %sc6 +sc6: + %t27 = load ptr, ptr %t6 + %t28 = getelementptr inbounds %Cmp_Tok, ptr %t27, i32 0, i32 0 + %t29 = load i32, ptr %t28 + %t30 = icmp eq i32 %t29, 6 + %t31 = zext i1 %t30 to i32 + %t32 = icmp ne i32 %t31, 0 + %t33 = zext i1 %t32 to i32 + store i32 %t33, ptr %t19 + br label %scend7 +scend7: + %t34 = load i32, ptr %t19 + %t35 = icmp ne i32 %t34, 0 + br i1 %t35, label %then8, label %ifend10 +then8: + %t36 = load ptr, ptr %t6 + %t37 = getelementptr inbounds %Cmp_Tok, ptr %t36, i32 0, i32 2 + %t38 = load i32, ptr %t37 + %t39 = call ptr @fn_itoa(i32 %t38) + %t40 = call ptr @lp_str_concat(ptr @.str14, ptr %t39) + store ptr %t40, ptr %retval + br label %ret +ifend10: + %t41 = load ptr, ptr %t6 + %t42 = getelementptr inbounds %Cmp_Tok, ptr %t41, i32 0, i32 0 + %t43 = load i32, ptr %t42 + %t44 = icmp eq i32 %t43, 2 + %t45 = zext i1 %t44 to i32 + %t46 = icmp ne i32 %t45, 0 + br i1 %t46, label %then11, label %ifend13 +then11: + %t47 = load ptr, ptr %t6 + %t48 = getelementptr inbounds %Cmp_Tok, ptr %t47, i32 0, i32 1 + %t49 = load ptr, ptr %t48 + %t50 = call ptr @lp_str_concat(ptr @.str15, ptr %t49) + %t51 = call ptr @lp_str_concat(ptr %t50, ptr @.str16) + store ptr %t51, ptr %retval + br label %ret +ifend13: + %t52 = load ptr, ptr %t6 + %t53 = getelementptr inbounds %Cmp_Tok, ptr %t52, i32 0, i32 1 + %t54 = load ptr, ptr %t53 + %t55 = call ptr @lp_str_concat(ptr @.str17, ptr %t54) + %t56 = call ptr @lp_str_concat(ptr %t55, ptr @.str18) + store ptr %t56, ptr %retval + br label %ret +ret: + %t57 = load ptr, ptr %retval + ret ptr %t57 +} + +define void @fn_eat_op(ptr %arg_v) { +entry: + %t0 = alloca ptr + store ptr %arg_v, ptr %t0 + %t1 = load ptr, ptr %t0 + %t2 = call i32 @fn_is_op(ptr %t1) + %t3 = icmp eq i32 %t2, 0 + %t4 = zext i1 %t3 to i32 + %t5 = icmp ne i32 %t4, 0 + br i1 %t5, label %then0, label %ifend2 +then0: + %t6 = load ptr, ptr %t0 + %t7 = call ptr @lp_str_concat(ptr @.str19, ptr %t6) + %t8 = call ptr @lp_str_concat(ptr %t7, ptr @.str20) + %t9 = call ptr @fn_tok_desc() + %t10 = call ptr @lp_str_concat(ptr %t8, ptr %t9) + call void @fn_perr(ptr %t10) + br label %ifend2 +ifend2: + %t11 = load i32, ptr @g_pi + %t12 = add i32 %t11, 1 + store i32 %t12, ptr @g_pi + br label %ret +ret: + ret void +} + +define ptr @fn_eat_id() { +entry: + %retval = alloca ptr + %t6 = alloca ptr + %t0 = load ptr, ptr @g_toks + %t1 = getelementptr inbounds %LSlice, ptr %t0, i32 0, i32 0 + %t2 = load ptr, ptr %t1 + %t3 = load i32, ptr @g_pi + %t4 = getelementptr inbounds ptr, ptr %t2, i32 %t3 + %t5 = load ptr, ptr %t4 + store ptr %t5, ptr %t6 + %t7 = load ptr, ptr %t6 + %t8 = getelementptr inbounds %Cmp_Tok, ptr %t7, i32 0, i32 0 + %t9 = load i32, ptr %t8 + %t10 = icmp ne i32 %t9, 0 + %t11 = zext i1 %t10 to i32 + %t12 = icmp ne i32 %t11, 0 + br i1 %t12, label %then0, label %ifend2 +then0: + %t13 = call ptr @fn_tok_desc() + %t14 = call ptr @lp_str_concat(ptr @.str21, ptr %t13) + call void @fn_perr(ptr %t14) + br label %ifend2 +ifend2: + %t15 = load i32, ptr @g_pi + %t16 = add i32 %t15, 1 + store i32 %t16, ptr @g_pi + %t17 = load ptr, ptr %t6 + %t18 = getelementptr inbounds %Cmp_Tok, ptr %t17, i32 0, i32 1 + %t19 = load ptr, ptr %t18 + store ptr %t19, ptr %retval + br label %ret +ret: + %t20 = load ptr, ptr %retval + ret ptr %t20 +} + +define void @fn_skipnl() { +entry: + br label %wcond0 +wcond0: + %t0 = load ptr, ptr @g_toks + %t1 = getelementptr inbounds %LSlice, ptr %t0, i32 0, i32 0 + %t2 = load ptr, ptr %t1 + %t3 = load i32, ptr @g_pi + %t4 = getelementptr inbounds ptr, ptr %t2, i32 %t3 + %t5 = load ptr, ptr %t4 + %t6 = getelementptr inbounds %Cmp_Tok, ptr %t5, i32 0, i32 0 + %t7 = load i32, ptr %t6 + %t8 = icmp eq i32 %t7, 4 + %t9 = zext i1 %t8 to i32 + %t10 = icmp ne i32 %t9, 0 + br i1 %t10, label %wbody1, label %wend2 +wbody1: + %t11 = load i32, ptr @g_pi + %t12 = add i32 %t11, 1 + store i32 %t12, ptr @g_pi + br label %wcond0 +wend2: + br label %ret +ret: + ret void +} + +define ptr @fn_ptype() { +entry: + %retval = alloca ptr + %t5 = alloca ptr + %t12 = alloca ptr + %t19 = alloca i32 + %t0 = call i32 @fn_is_op(ptr @.str22) + %t1 = icmp ne i32 %t0, 0 + br i1 %t1, label %then0, label %ifend2 +then0: + %t2 = load i32, ptr @g_pi + %t3 = add i32 %t2, 1 + store i32 %t3, ptr @g_pi + call void @fn_eat_op(ptr @.str23) + %t4 = call ptr @fn_ptype() + store ptr %t4, ptr %t5 + %t6 = load ptr, ptr %t5 + %t7 = call i64 @strlen(ptr %t6) + %t8 = trunc i64 %t7 to i32 + %t9 = add i32 %t8, 3 + %t10 = zext i32 %t9 to i64 + %t11 = call ptr @malloc(i64 %t10) + store ptr %t11, ptr %t12 + %t13 = load ptr, ptr %t12 + %t14 = getelementptr inbounds i8, ptr %t13, i32 0 + %t15 = trunc i32 91 to i8 + store i8 %t15, ptr %t14 + %t16 = load ptr, ptr %t12 + %t17 = getelementptr inbounds i8, ptr %t16, i32 1 + %t18 = trunc i32 93 to i8 + store i8 %t18, ptr %t17 + store i32 0, ptr %t19 + br label %wcond3 +wcond3: + %t20 = load ptr, ptr %t5 + %t21 = load i32, ptr %t19 + %t22 = getelementptr inbounds i8, ptr %t20, i32 %t21 + %t23 = load i8, ptr %t22 + %t24 = zext i8 %t23 to i32 + %t25 = icmp ne i32 %t24, 0 + %t26 = zext i1 %t25 to i32 + %t27 = icmp ne i32 %t26, 0 + br i1 %t27, label %wbody4, label %wend5 +wbody4: + %t28 = load ptr, ptr %t12 + %t29 = load i32, ptr %t19 + %t30 = add i32 2, %t29 + %t31 = getelementptr inbounds i8, ptr %t28, i32 %t30 + %t32 = load ptr, ptr %t5 + %t33 = load i32, ptr %t19 + %t34 = getelementptr inbounds i8, ptr %t32, i32 %t33 + %t35 = load i8, ptr %t34 + %t36 = zext i8 %t35 to i32 + %t37 = trunc i32 %t36 to i8 + store i8 %t37, ptr %t31 + %t38 = load i32, ptr %t19 + %t39 = add i32 %t38, 1 + store i32 %t39, ptr %t19 + br label %wcond3 +wend5: + %t40 = load ptr, ptr %t12 + %t41 = load i32, ptr %t19 + %t42 = add i32 2, %t41 + %t43 = getelementptr inbounds i8, ptr %t40, i32 %t42 + %t44 = trunc i32 0 to i8 + store i8 %t44, ptr %t43 + %t45 = load ptr, ptr %t12 + store ptr %t45, ptr %retval + br label %ret +ifend2: + %t46 = call ptr @fn_eat_id() + store ptr %t46, ptr %retval + br label %ret +ret: + %t47 = load ptr, ptr %retval + ret ptr %t47 +} + +define ptr @fn_expr() { +entry: + %retval = alloca ptr + %t0 = call ptr @fn_p_or() + store ptr %t0, ptr %retval + br label %ret +ret: + %t1 = load ptr, ptr %retval + ret ptr %t1 +} + +define void @fn_args_call(ptr %arg_call) { +entry: + %t0 = alloca ptr + %t11 = alloca ptr + %t19 = alloca ptr + %t20 = alloca i32 + %t21 = alloca i32 + %t48 = alloca ptr + store ptr %arg_call, ptr %t0 + call void @fn_eat_op(ptr @.str24) + call void @fn_skipnl() + br label %wcond0 +wcond0: + %t1 = call i32 @fn_is_op(ptr @.str25) + %t2 = icmp eq i32 %t1, 0 + %t3 = zext i1 %t2 to i32 + %t4 = icmp ne i32 %t3, 0 + br i1 %t4, label %wbody1, label %wend2 +wbody1: + %t5 = load ptr, ptr @g_toks + %t6 = getelementptr inbounds %LSlice, ptr %t5, i32 0, i32 0 + %t7 = load ptr, ptr %t6 + %t8 = load i32, ptr @g_pi + %t9 = getelementptr inbounds ptr, ptr %t7, i32 %t8 + %t10 = load ptr, ptr %t9 + store ptr %t10, ptr %t11 + %t12 = load ptr, ptr @g_toks + %t13 = getelementptr inbounds %LSlice, ptr %t12, i32 0, i32 0 + %t14 = load ptr, ptr %t13 + %t15 = load i32, ptr @g_pi + %t16 = add i32 %t15, 1 + %t17 = getelementptr inbounds ptr, ptr %t14, i32 %t16 + %t18 = load ptr, ptr %t17 + store ptr %t18, ptr %t19 + %t22 = load ptr, ptr %t11 + %t23 = getelementptr inbounds %Cmp_Tok, ptr %t22, i32 0, i32 0 + %t24 = load i32, ptr %t23 + %t25 = icmp eq i32 %t24, 0 + %t26 = zext i1 %t25 to i32 + %t27 = icmp ne i32 %t26, 0 + %t28 = zext i1 %t27 to i32 + store i32 %t28, ptr %t21 + br i1 %t27, label %sc3, label %scend4 +sc3: + %t29 = load ptr, ptr %t19 + %t30 = getelementptr inbounds %Cmp_Tok, ptr %t29, i32 0, i32 0 + %t31 = load i32, ptr %t30 + %t32 = icmp eq i32 %t31, 3 + %t33 = zext i1 %t32 to i32 + %t34 = icmp ne i32 %t33, 0 + %t35 = zext i1 %t34 to i32 + store i32 %t35, ptr %t21 + br label %scend4 +scend4: + %t36 = load i32, ptr %t21 + %t37 = icmp ne i32 %t36, 0 + %t38 = zext i1 %t37 to i32 + store i32 %t38, ptr %t20 + br i1 %t37, label %sc5, label %scend6 +sc5: + %t39 = load ptr, ptr %t19 + %t40 = getelementptr inbounds %Cmp_Tok, ptr %t39, i32 0, i32 1 + %t41 = load ptr, ptr %t40 + %t42 = call i32 @lp_str_eq(ptr %t41, ptr @.str26) + %t43 = icmp ne i32 %t42, 0 + %t44 = zext i1 %t43 to i32 + store i32 %t44, ptr %t20 + br label %scend6 +scend6: + %t45 = load i32, ptr %t20 + %t46 = icmp ne i32 %t45, 0 + br i1 %t46, label %then7, label %else8 +then7: + %t47 = call ptr @fn_node(i32 42) + store ptr %t47, ptr %t48 + %t49 = load ptr, ptr %t48 + %t50 = getelementptr inbounds %Cmp_Node, ptr %t49, i32 0, i32 1 + %t51 = call ptr @fn_eat_id() + store ptr %t51, ptr %t50 + call void @fn_eat_op(ptr @.str27) + call void @fn_skipnl() + %t52 = load ptr, ptr %t48 + %t53 = getelementptr inbounds %Cmp_Node, ptr %t52, i32 0, i32 4 + %t54 = call ptr @fn_expr() + store ptr %t54, ptr %t53 + %t55 = load ptr, ptr %t0 + %t56 = getelementptr inbounds %Cmp_Node, ptr %t55, i32 0, i32 7 + %t57 = load ptr, ptr %t56 + %t58 = load ptr, ptr %t48 + %t59 = getelementptr inbounds %LSlice, ptr %t57, i32 0, i32 1 + %t60 = getelementptr inbounds %LSlice, ptr %t57, i32 0, i32 2 + %t61 = getelementptr inbounds %LSlice, ptr %t57, i32 0, i32 0 + %t62 = load i32, ptr %t59 + %t63 = load i32, ptr %t60 + %t64 = icmp sge i32 %t62, %t63 + br i1 %t64, label %grow10, label %put11 +grow10: + %t65 = mul i32 %t63, 2 + %t66 = icmp eq i32 %t63, 0 + %t67 = select i1 %t66, i32 8, i32 %t65 + %t68 = getelementptr ptr, ptr null, i32 1 + %t69 = ptrtoint ptr %t68 to i64 + %t70 = zext i32 %t67 to i64 + %t71 = mul i64 %t70, %t69 + %t72 = load ptr, ptr %t61 + %t73 = call ptr @realloc(ptr %t72, i64 %t71) + store ptr %t73, ptr %t61 + store i32 %t67, ptr %t60 + br label %put11 +put11: + %t74 = load ptr, ptr %t61 + %t75 = getelementptr inbounds ptr, ptr %t74, i32 %t62 + store ptr %t58, ptr %t75 + %t76 = add i32 %t62, 1 + store i32 %t76, ptr %t59 + br label %ifend9 +else8: + %t77 = load ptr, ptr %t0 + %t78 = getelementptr inbounds %Cmp_Node, ptr %t77, i32 0, i32 7 + %t79 = load ptr, ptr %t78 + %t80 = call ptr @fn_expr() + %t81 = getelementptr inbounds %LSlice, ptr %t79, i32 0, i32 1 + %t82 = getelementptr inbounds %LSlice, ptr %t79, i32 0, i32 2 + %t83 = getelementptr inbounds %LSlice, ptr %t79, i32 0, i32 0 + %t84 = load i32, ptr %t81 + %t85 = load i32, ptr %t82 + %t86 = icmp sge i32 %t84, %t85 + br i1 %t86, label %grow12, label %put13 +grow12: + %t87 = mul i32 %t85, 2 + %t88 = icmp eq i32 %t85, 0 + %t89 = select i1 %t88, i32 8, i32 %t87 + %t90 = getelementptr ptr, ptr null, i32 1 + %t91 = ptrtoint ptr %t90 to i64 + %t92 = zext i32 %t89 to i64 + %t93 = mul i64 %t92, %t91 + %t94 = load ptr, ptr %t83 + %t95 = call ptr @realloc(ptr %t94, i64 %t93) + store ptr %t95, ptr %t83 + store i32 %t89, ptr %t82 + br label %put13 +put13: + %t96 = load ptr, ptr %t83 + %t97 = getelementptr inbounds ptr, ptr %t96, i32 %t84 + store ptr %t80, ptr %t97 + %t98 = add i32 %t84, 1 + store i32 %t98, ptr %t81 + br label %ifend9 +ifend9: + call void @fn_skipnl() + %t99 = call i32 @fn_is_op(ptr @.str28) + %t100 = icmp ne i32 %t99, 0 + br i1 %t100, label %then14, label %ifend16 +then14: + %t101 = load i32, ptr @g_pi + %t102 = add i32 %t101, 1 + store i32 %t102, ptr @g_pi + call void @fn_skipnl() + br label %ifend16 +ifend16: + br label %wcond0 +wend2: + call void @fn_eat_op(ptr @.str29) + br label %ret +ret: + ret void +} + +define ptr @fn_interp_lit(ptr %arg_buf, i32 %arg_len) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t1 = alloca i32 + %t3 = alloca ptr + store ptr %arg_buf, ptr %t0 + store i32 %arg_len, ptr %t1 + %t2 = call ptr @fn_node(i32 31) + store ptr %t2, ptr %t3 + %t4 = load ptr, ptr %t3 + %t5 = getelementptr inbounds %Cmp_Node, ptr %t4, i32 0, i32 1 + %t6 = load ptr, ptr %t0 + %t7 = load i32, ptr %t1 + %t8 = add i32 0, %t7 + %t9 = call ptr @lp_str_slice(ptr %t6, i32 0, i32 %t8) + store ptr %t9, ptr %t5 + %t10 = load ptr, ptr %t3 + store ptr %t10, ptr %retval + br label %ret +ret: + %t11 = load ptr, ptr %retval + ret ptr %t11 +} + +define ptr @fn_interp_add(ptr %arg_acc, ptr %arg_part) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t1 = alloca ptr + store ptr %arg_acc, ptr %t0 + store ptr %arg_part, ptr %t1 + %t2 = load ptr, ptr %t0 + %t3 = icmp eq ptr %t2, null + %t4 = zext i1 %t3 to i32 + %t5 = icmp ne i32 %t4, 0 + br i1 %t5, label %then0, label %ifend2 +then0: + %t6 = load ptr, ptr %t1 + store ptr %t6, ptr %retval + br label %ret +ifend2: + %t7 = load ptr, ptr %t0 + %t8 = load ptr, ptr %t1 + %t9 = call ptr @fn_mkbin(ptr @.str30, ptr %t7, ptr %t8) + store ptr %t9, ptr %retval + br label %ret +ret: + %t10 = load ptr, ptr %retval + ret ptr %t10 +} + +define ptr @fn_interp_str(ptr %arg_e) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t2 = alloca ptr + %t4 = alloca ptr + store ptr %arg_e, ptr %t0 + %t1 = call ptr @fn_node(i32 34) + store ptr %t1, ptr %t2 + %t3 = call ptr @fn_node(i32 33) + store ptr %t3, ptr %t4 + %t5 = load ptr, ptr %t4 + %t6 = getelementptr inbounds %Cmp_Node, ptr %t5, i32 0, i32 1 + store ptr @.str31, ptr %t6 + %t7 = load ptr, ptr %t2 + %t8 = getelementptr inbounds %Cmp_Node, ptr %t7, i32 0, i32 4 + %t9 = load ptr, ptr %t4 + store ptr %t9, ptr %t8 + %t10 = load ptr, ptr %t2 + %t11 = getelementptr inbounds %Cmp_Node, ptr %t10, i32 0, i32 7 + %t12 = load ptr, ptr %t11 + %t13 = load ptr, ptr %t0 + %t14 = getelementptr inbounds %LSlice, ptr %t12, i32 0, i32 1 + %t15 = getelementptr inbounds %LSlice, ptr %t12, i32 0, i32 2 + %t16 = getelementptr inbounds %LSlice, ptr %t12, i32 0, i32 0 + %t17 = load i32, ptr %t14 + %t18 = load i32, ptr %t15 + %t19 = icmp sge i32 %t17, %t18 + br i1 %t19, label %grow0, label %put1 +grow0: + %t20 = mul i32 %t18, 2 + %t21 = icmp eq i32 %t18, 0 + %t22 = select i1 %t21, i32 8, i32 %t20 + %t23 = getelementptr ptr, ptr null, i32 1 + %t24 = ptrtoint ptr %t23 to i64 + %t25 = zext i32 %t22 to i64 + %t26 = mul i64 %t25, %t24 + %t27 = load ptr, ptr %t16 + %t28 = call ptr @realloc(ptr %t27, i64 %t26) + store ptr %t28, ptr %t16 + store i32 %t22, ptr %t15 + br label %put1 +put1: + %t29 = load ptr, ptr %t16 + %t30 = getelementptr inbounds ptr, ptr %t29, i32 %t17 + store ptr %t13, ptr %t30 + %t31 = add i32 %t17, 1 + store i32 %t31, ptr %t14 + %t32 = load ptr, ptr %t2 + store ptr %t32, ptr %retval + br label %ret +ret: + %t33 = load ptr, ptr %retval + ret ptr %t33 +} + +define ptr @fn_parse_hole(ptr %arg_inner) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t2 = alloca ptr + %t4 = alloca i32 + %t8 = alloca ptr + store ptr %arg_inner, ptr %t0 + %t1 = load ptr, ptr @g_toks + store ptr %t1, ptr %t2 + %t3 = load i32, ptr @g_pi + store i32 %t3, ptr %t4 + %t5 = load ptr, ptr %t0 + %t6 = load i32, ptr @g_g_interp_line + call void @fn_lex_at(ptr %t5, i32 %t6) + store i32 0, ptr @g_pi + call void @fn_skipnl() + %t7 = call ptr @fn_expr() + store ptr %t7, ptr %t8 + %t9 = load ptr, ptr %t2 + store ptr %t9, ptr @g_toks + %t10 = load i32, ptr %t4 + store i32 %t10, ptr @g_pi + %t11 = load ptr, ptr %t8 + store ptr %t11, ptr %retval + br label %ret +ret: + %t12 = load ptr, ptr %retval + ret ptr %t12 +} + +define ptr @fn_parse_interp(ptr %arg_raw) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t4 = alloca i32 + %t5 = alloca ptr + %t10 = alloca ptr + %t11 = alloca i32 + %t12 = alloca i32 + %t23 = alloca i32 + %t57 = alloca i32 + %t58 = alloca i32 + %t59 = alloca i32 + %t78 = alloca i32 + %t79 = alloca i32 + %t94 = alloca i32 + %t153 = alloca i32 + %t207 = alloca i32 + store ptr %arg_raw, ptr %t0 + %t1 = load ptr, ptr %t0 + %t2 = call i64 @strlen(ptr %t1) + %t3 = trunc i64 %t2 to i32 + store i32 %t3, ptr %t4 + store ptr null, ptr %t5 + %t6 = load i32, ptr %t4 + %t7 = add i32 %t6, 1 + %t8 = zext i32 %t7 to i64 + %t9 = call ptr @malloc(i64 %t8) + store ptr %t9, ptr %t10 + store i32 0, ptr %t11 + store i32 0, ptr %t12 + br label %wcond0 +wcond0: + %t13 = load i32, ptr %t12 + %t14 = load i32, ptr %t4 + %t15 = icmp slt i32 %t13, %t14 + %t16 = zext i1 %t15 to i32 + %t17 = icmp ne i32 %t16, 0 + br i1 %t17, label %wbody1, label %wend2 +wbody1: + %t18 = load ptr, ptr %t0 + %t19 = load i32, ptr %t12 + %t20 = getelementptr inbounds i8, ptr %t18, i32 %t19 + %t21 = load i8, ptr %t20 + %t22 = zext i8 %t21 to i32 + store i32 %t22, ptr %t23 + %t24 = load i32, ptr %t23 + %t25 = icmp eq i32 %t24, 123 + %t26 = zext i1 %t25 to i32 + %t27 = icmp ne i32 %t26, 0 + br i1 %t27, label %then3, label %else4 +then3: + %t28 = load ptr, ptr %t0 + %t29 = load i32, ptr %t12 + %t30 = add i32 %t29, 1 + %t31 = getelementptr inbounds i8, ptr %t28, i32 %t30 + %t32 = load i8, ptr %t31 + %t33 = zext i8 %t32 to i32 + %t34 = icmp eq i32 %t33, 123 + %t35 = zext i1 %t34 to i32 + %t36 = icmp ne i32 %t35, 0 + br i1 %t36, label %then6, label %ifend8 +then6: + %t37 = load ptr, ptr %t10 + %t38 = load i32, ptr %t11 + %t39 = getelementptr inbounds i8, ptr %t37, i32 %t38 + %t40 = trunc i32 123 to i8 + store i8 %t40, ptr %t39 + %t41 = load i32, ptr %t11 + %t42 = add i32 %t41, 1 + store i32 %t42, ptr %t11 + %t43 = load i32, ptr %t12 + %t44 = add i32 %t43, 2 + store i32 %t44, ptr %t12 + br label %wcond0 +ifend8: + %t45 = load i32, ptr %t11 + %t46 = icmp sgt i32 %t45, 0 + %t47 = zext i1 %t46 to i32 + %t48 = icmp ne i32 %t47, 0 + br i1 %t48, label %then9, label %ifend11 +then9: + %t49 = load ptr, ptr %t5 + %t50 = load ptr, ptr %t10 + %t51 = load i32, ptr %t11 + %t52 = call ptr @fn_interp_lit(ptr %t50, i32 %t51) + %t53 = call ptr @fn_interp_add(ptr %t49, ptr %t52) + store ptr %t53, ptr %t5 + store i32 0, ptr %t11 + br label %ifend11 +ifend11: + %t54 = load i32, ptr %t12 + %t55 = add i32 %t54, 1 + store i32 %t55, ptr %t12 + %t56 = load i32, ptr %t12 + store i32 %t56, ptr %t57 + store i32 1, ptr %t58 + br label %wcond12 +wcond12: + %t60 = load i32, ptr %t12 + %t61 = load i32, ptr %t4 + %t62 = icmp slt i32 %t60, %t61 + %t63 = zext i1 %t62 to i32 + %t64 = icmp ne i32 %t63, 0 + %t65 = zext i1 %t64 to i32 + store i32 %t65, ptr %t59 + br i1 %t64, label %sc15, label %scend16 +sc15: + %t66 = load i32, ptr %t58 + %t67 = icmp sgt i32 %t66, 0 + %t68 = zext i1 %t67 to i32 + %t69 = icmp ne i32 %t68, 0 + %t70 = zext i1 %t69 to i32 + store i32 %t70, ptr %t59 + br label %scend16 +scend16: + %t71 = load i32, ptr %t59 + %t72 = icmp ne i32 %t71, 0 + br i1 %t72, label %wbody13, label %wend14 +wbody13: + %t73 = load ptr, ptr %t0 + %t74 = load i32, ptr %t12 + %t75 = getelementptr inbounds i8, ptr %t73, i32 %t74 + %t76 = load i8, ptr %t75 + %t77 = zext i8 %t76 to i32 + store i32 %t77, ptr %t78 + %t80 = load i32, ptr %t78 + %t81 = icmp eq i32 %t80, 34 + %t82 = zext i1 %t81 to i32 + %t83 = icmp ne i32 %t82, 0 + %t84 = zext i1 %t83 to i32 + store i32 %t84, ptr %t79 + br i1 %t83, label %scend18, label %sc17 +sc17: + %t85 = load i32, ptr %t78 + %t86 = icmp eq i32 %t85, 39 + %t87 = zext i1 %t86 to i32 + %t88 = icmp ne i32 %t87, 0 + %t89 = zext i1 %t88 to i32 + store i32 %t89, ptr %t79 + br label %scend18 +scend18: + %t90 = load i32, ptr %t79 + %t91 = icmp ne i32 %t90, 0 + br i1 %t91, label %then19, label %else20 +then19: + %t92 = load i32, ptr %t12 + %t93 = add i32 %t92, 1 + store i32 %t93, ptr %t12 + br label %wcond22 +wcond22: + %t95 = load i32, ptr %t12 + %t96 = load i32, ptr %t4 + %t97 = icmp slt i32 %t95, %t96 + %t98 = zext i1 %t97 to i32 + %t99 = icmp ne i32 %t98, 0 + %t100 = zext i1 %t99 to i32 + store i32 %t100, ptr %t94 + br i1 %t99, label %sc25, label %scend26 +sc25: + %t101 = load ptr, ptr %t0 + %t102 = load i32, ptr %t12 + %t103 = getelementptr inbounds i8, ptr %t101, i32 %t102 + %t104 = load i8, ptr %t103 + %t105 = zext i8 %t104 to i32 + %t106 = load i32, ptr %t78 + %t107 = icmp ne i32 %t105, %t106 + %t108 = zext i1 %t107 to i32 + %t109 = icmp ne i32 %t108, 0 + %t110 = zext i1 %t109 to i32 + store i32 %t110, ptr %t94 + br label %scend26 +scend26: + %t111 = load i32, ptr %t94 + %t112 = icmp ne i32 %t111, 0 + br i1 %t112, label %wbody23, label %wend24 +wbody23: + %t113 = load ptr, ptr %t0 + %t114 = load i32, ptr %t12 + %t115 = getelementptr inbounds i8, ptr %t113, i32 %t114 + %t116 = load i8, ptr %t115 + %t117 = zext i8 %t116 to i32 + %t118 = icmp eq i32 %t117, 92 + %t119 = zext i1 %t118 to i32 + %t120 = icmp ne i32 %t119, 0 + br i1 %t120, label %then27, label %ifend29 +then27: + %t121 = load i32, ptr %t12 + %t122 = add i32 %t121, 1 + store i32 %t122, ptr %t12 + br label %ifend29 +ifend29: + %t123 = load i32, ptr %t12 + %t124 = add i32 %t123, 1 + store i32 %t124, ptr %t12 + br label %wcond22 +wend24: + br label %ifend21 +else20: + %t125 = load i32, ptr %t78 + %t126 = icmp eq i32 %t125, 123 + %t127 = zext i1 %t126 to i32 + %t128 = icmp ne i32 %t127, 0 + br i1 %t128, label %then30, label %else31 +then30: + %t129 = load i32, ptr %t58 + %t130 = add i32 %t129, 1 + store i32 %t130, ptr %t58 + br label %ifend32 +else31: + %t131 = load i32, ptr %t78 + %t132 = icmp eq i32 %t131, 125 + %t133 = zext i1 %t132 to i32 + %t134 = icmp ne i32 %t133, 0 + br i1 %t134, label %then33, label %ifend35 +then33: + %t135 = load i32, ptr %t58 + %t136 = sub i32 %t135, 1 + store i32 %t136, ptr %t58 + %t137 = load i32, ptr %t58 + %t138 = icmp eq i32 %t137, 0 + %t139 = zext i1 %t138 to i32 + %t140 = icmp ne i32 %t139, 0 + br i1 %t140, label %then36, label %ifend38 +then36: + br label %wend14 +ifend38: + br label %ifend35 +ifend35: + br label %ifend32 +ifend32: + br label %ifend21 +ifend21: + %t141 = load i32, ptr %t12 + %t142 = add i32 %t141, 1 + store i32 %t142, ptr %t12 + br label %wcond12 +wend14: + %t143 = load ptr, ptr %t5 + %t144 = load ptr, ptr %t0 + %t145 = load i32, ptr %t57 + %t146 = load i32, ptr %t12 + %t147 = call ptr @lp_str_slice(ptr %t144, i32 %t145, i32 %t146) + %t148 = call ptr @fn_parse_hole(ptr %t147) + %t149 = call ptr @fn_interp_str(ptr %t148) + %t150 = call ptr @fn_interp_add(ptr %t143, ptr %t149) + store ptr %t150, ptr %t5 + %t151 = load i32, ptr %t12 + %t152 = add i32 %t151, 1 + store i32 %t152, ptr %t12 + br label %ifend5 +else4: + %t154 = load i32, ptr %t23 + %t155 = icmp eq i32 %t154, 125 + %t156 = zext i1 %t155 to i32 + %t157 = icmp ne i32 %t156, 0 + %t158 = zext i1 %t157 to i32 + store i32 %t158, ptr %t153 + br i1 %t157, label %sc39, label %scend40 +sc39: + %t159 = load ptr, ptr %t0 + %t160 = load i32, ptr %t12 + %t161 = add i32 %t160, 1 + %t162 = getelementptr inbounds i8, ptr %t159, i32 %t161 + %t163 = load i8, ptr %t162 + %t164 = zext i8 %t163 to i32 + %t165 = icmp eq i32 %t164, 125 + %t166 = zext i1 %t165 to i32 + %t167 = icmp ne i32 %t166, 0 + %t168 = zext i1 %t167 to i32 + store i32 %t168, ptr %t153 + br label %scend40 +scend40: + %t169 = load i32, ptr %t153 + %t170 = icmp ne i32 %t169, 0 + br i1 %t170, label %then41, label %ifend43 +then41: + %t171 = load ptr, ptr %t10 + %t172 = load i32, ptr %t11 + %t173 = getelementptr inbounds i8, ptr %t171, i32 %t172 + %t174 = trunc i32 125 to i8 + store i8 %t174, ptr %t173 + %t175 = load i32, ptr %t11 + %t176 = add i32 %t175, 1 + store i32 %t176, ptr %t11 + %t177 = load i32, ptr %t12 + %t178 = add i32 %t177, 2 + store i32 %t178, ptr %t12 + br label %wcond0 +ifend43: + %t179 = load i32, ptr %t23 + %t180 = icmp eq i32 %t179, 92 + %t181 = zext i1 %t180 to i32 + %t182 = icmp ne i32 %t181, 0 + br i1 %t182, label %then44, label %ifend46 +then44: + %t183 = load ptr, ptr %t10 + %t184 = load i32, ptr %t11 + %t185 = getelementptr inbounds i8, ptr %t183, i32 %t184 + %t186 = load ptr, ptr %t0 + %t187 = load i32, ptr %t12 + %t188 = add i32 %t187, 1 + %t189 = getelementptr inbounds i8, ptr %t186, i32 %t188 + %t190 = load i8, ptr %t189 + %t191 = zext i8 %t190 to i32 + %t192 = call i32 @fn_unescape(i32 %t191) + %t193 = trunc i32 %t192 to i8 + store i8 %t193, ptr %t185 + %t194 = load i32, ptr %t11 + %t195 = add i32 %t194, 1 + store i32 %t195, ptr %t11 + %t196 = load i32, ptr %t12 + %t197 = add i32 %t196, 2 + store i32 %t197, ptr %t12 + br label %wcond0 +ifend46: + %t198 = load ptr, ptr %t10 + %t199 = load i32, ptr %t11 + %t200 = getelementptr inbounds i8, ptr %t198, i32 %t199 + %t201 = load i32, ptr %t23 + %t202 = trunc i32 %t201 to i8 + store i8 %t202, ptr %t200 + %t203 = load i32, ptr %t11 + %t204 = add i32 %t203, 1 + store i32 %t204, ptr %t11 + %t205 = load i32, ptr %t12 + %t206 = add i32 %t205, 1 + store i32 %t206, ptr %t12 + br label %ifend5 +ifend5: + br label %wcond0 +wend2: + %t208 = load i32, ptr %t11 + %t209 = icmp sgt i32 %t208, 0 + %t210 = zext i1 %t209 to i32 + %t211 = icmp ne i32 %t210, 0 + %t212 = zext i1 %t211 to i32 + store i32 %t212, ptr %t207 + br i1 %t211, label %scend48, label %sc47 +sc47: + %t213 = load ptr, ptr %t5 + %t214 = icmp eq ptr %t213, null + %t215 = zext i1 %t214 to i32 + %t216 = icmp ne i32 %t215, 0 + %t217 = zext i1 %t216 to i32 + store i32 %t217, ptr %t207 + br label %scend48 +scend48: + %t218 = load i32, ptr %t207 + %t219 = icmp ne i32 %t218, 0 + br i1 %t219, label %then49, label %ifend51 +then49: + %t220 = load ptr, ptr %t5 + %t221 = load ptr, ptr %t10 + %t222 = load i32, ptr %t11 + %t223 = call ptr @fn_interp_lit(ptr %t221, i32 %t222) + %t224 = call ptr @fn_interp_add(ptr %t220, ptr %t223) + store ptr %t224, ptr %t5 + br label %ifend51 +ifend51: + %t225 = load ptr, ptr %t5 + store ptr %t225, ptr %retval + br label %ret +ret: + %t226 = load ptr, ptr %retval + ret ptr %t226 +} + +define ptr @fn_parse_emit() { +entry: + %retval = alloca ptr + %t3 = alloca ptr + %t8 = alloca ptr + %t14 = alloca ptr + %t0 = load i32, ptr @g_pi + %t1 = add i32 %t0, 1 + store i32 %t1, ptr @g_pi + %t2 = call ptr @fn_node(i32 49) + store ptr %t2, ptr %t3 + %t4 = load ptr, ptr %t3 + %t5 = getelementptr inbounds %Cmp_Node, ptr %t4, i32 0, i32 1 + %t6 = call ptr @fn_eat_id() + store ptr %t6, ptr %t5 + %t7 = call ptr @fn_node(i32 41) + store ptr %t7, ptr %t8 + call void @fn_eat_op(ptr @.str32) + call void @fn_skipnl() + br label %wcond0 +wcond0: + %t9 = call i32 @fn_is_op(ptr @.str33) + %t10 = icmp eq i32 %t9, 0 + %t11 = zext i1 %t10 to i32 + %t12 = icmp ne i32 %t11, 0 + br i1 %t12, label %wbody1, label %wend2 +wbody1: + %t13 = call ptr @fn_node(i32 42) + store ptr %t13, ptr %t14 + %t15 = load ptr, ptr %t14 + %t16 = getelementptr inbounds %Cmp_Node, ptr %t15, i32 0, i32 1 + %t17 = call ptr @fn_eat_id() + store ptr %t17, ptr %t16 + call void @fn_eat_op(ptr @.str34) + %t18 = load ptr, ptr %t14 + %t19 = getelementptr inbounds %Cmp_Node, ptr %t18, i32 0, i32 4 + %t20 = call ptr @fn_expr() + store ptr %t20, ptr %t19 + %t21 = load ptr, ptr %t8 + %t22 = getelementptr inbounds %Cmp_Node, ptr %t21, i32 0, i32 7 + %t23 = load ptr, ptr %t22 + %t24 = load ptr, ptr %t14 + %t25 = getelementptr inbounds %LSlice, ptr %t23, i32 0, i32 1 + %t26 = getelementptr inbounds %LSlice, ptr %t23, i32 0, i32 2 + %t27 = getelementptr inbounds %LSlice, ptr %t23, i32 0, i32 0 + %t28 = load i32, ptr %t25 + %t29 = load i32, ptr %t26 + %t30 = icmp sge i32 %t28, %t29 + br i1 %t30, label %grow3, label %put4 +grow3: + %t31 = mul i32 %t29, 2 + %t32 = icmp eq i32 %t29, 0 + %t33 = select i1 %t32, i32 8, i32 %t31 + %t34 = getelementptr ptr, ptr null, i32 1 + %t35 = ptrtoint ptr %t34 to i64 + %t36 = zext i32 %t33 to i64 + %t37 = mul i64 %t36, %t35 + %t38 = load ptr, ptr %t27 + %t39 = call ptr @realloc(ptr %t38, i64 %t37) + store ptr %t39, ptr %t27 + store i32 %t33, ptr %t26 + br label %put4 +put4: + %t40 = load ptr, ptr %t27 + %t41 = getelementptr inbounds ptr, ptr %t40, i32 %t28 + store ptr %t24, ptr %t41 + %t42 = add i32 %t28, 1 + store i32 %t42, ptr %t25 + call void @fn_skipnl() + %t43 = call i32 @fn_is_op(ptr @.str35) + %t44 = icmp ne i32 %t43, 0 + br i1 %t44, label %then5, label %ifend7 +then5: + %t45 = load i32, ptr @g_pi + %t46 = add i32 %t45, 1 + store i32 %t46, ptr @g_pi + call void @fn_skipnl() + br label %ifend7 +ifend7: + br label %wcond0 +wend2: + call void @fn_eat_op(ptr @.str36) + %t47 = load ptr, ptr %t3 + %t48 = getelementptr inbounds %Cmp_Node, ptr %t47, i32 0, i32 4 + %t49 = load ptr, ptr %t8 + store ptr %t49, ptr %t48 + %t50 = load ptr, ptr %t3 + store ptr %t50, ptr %retval + br label %ret +ret: + %t51 = load ptr, ptr %retval + ret ptr %t51 +} + +define ptr @fn_parse_list() { +entry: + %retval = alloca ptr + %t1 = alloca ptr + %t0 = call ptr @fn_node(i32 54) + store ptr %t0, ptr %t1 + %t2 = load ptr, ptr %t1 + %t3 = getelementptr inbounds %Cmp_Node, ptr %t2, i32 0, i32 8 + %t4 = load ptr, ptr @g_toks + %t5 = getelementptr inbounds %LSlice, ptr %t4, i32 0, i32 0 + %t6 = load ptr, ptr %t5 + %t7 = load i32, ptr @g_pi + %t8 = getelementptr inbounds ptr, ptr %t6, i32 %t7 + %t9 = load ptr, ptr %t8 + %t10 = getelementptr inbounds %Cmp_Tok, ptr %t9, i32 0, i32 3 + %t11 = load i32, ptr %t10 + store i32 %t11, ptr %t3 + call void @fn_eat_op(ptr @.str37) + call void @fn_skipnl() + br label %wcond0 +wcond0: + %t12 = call i32 @fn_is_op(ptr @.str38) + %t13 = icmp eq i32 %t12, 0 + %t14 = zext i1 %t13 to i32 + %t15 = icmp ne i32 %t14, 0 + br i1 %t15, label %wbody1, label %wend2 +wbody1: + %t16 = load ptr, ptr %t1 + %t17 = getelementptr inbounds %Cmp_Node, ptr %t16, i32 0, i32 7 + %t18 = load ptr, ptr %t17 + %t19 = call ptr @fn_expr() + %t20 = getelementptr inbounds %LSlice, ptr %t18, i32 0, i32 1 + %t21 = getelementptr inbounds %LSlice, ptr %t18, i32 0, i32 2 + %t22 = getelementptr inbounds %LSlice, ptr %t18, i32 0, i32 0 + %t23 = load i32, ptr %t20 + %t24 = load i32, ptr %t21 + %t25 = icmp sge i32 %t23, %t24 + br i1 %t25, label %grow3, label %put4 +grow3: + %t26 = mul i32 %t24, 2 + %t27 = icmp eq i32 %t24, 0 + %t28 = select i1 %t27, i32 8, i32 %t26 + %t29 = getelementptr ptr, ptr null, i32 1 + %t30 = ptrtoint ptr %t29 to i64 + %t31 = zext i32 %t28 to i64 + %t32 = mul i64 %t31, %t30 + %t33 = load ptr, ptr %t22 + %t34 = call ptr @realloc(ptr %t33, i64 %t32) + store ptr %t34, ptr %t22 + store i32 %t28, ptr %t21 + br label %put4 +put4: + %t35 = load ptr, ptr %t22 + %t36 = getelementptr inbounds ptr, ptr %t35, i32 %t23 + store ptr %t19, ptr %t36 + %t37 = add i32 %t23, 1 + store i32 %t37, ptr %t20 + call void @fn_skipnl() + %t38 = call i32 @fn_is_op(ptr @.str39) + %t39 = icmp ne i32 %t38, 0 + br i1 %t39, label %then5, label %ifend7 +then5: + %t40 = load i32, ptr @g_pi + %t41 = add i32 %t40, 1 + store i32 %t41, ptr @g_pi + call void @fn_skipnl() + br label %ifend7 +ifend7: + br label %wcond0 +wend2: + call void @fn_eat_op(ptr @.str40) + %t42 = load ptr, ptr %t1 + store ptr %t42, ptr %retval + br label %ret +ret: + %t43 = load ptr, ptr %retval + ret ptr %t43 +} + +define ptr @fn_p_primary() { +entry: + %retval = alloca ptr + %t6 = alloca ptr + %t25 = alloca i32 + %t26 = alloca i32 + %t66 = alloca ptr + %t82 = alloca ptr + %t98 = alloca ptr + %t119 = alloca ptr + %t131 = alloca ptr + %t153 = alloca ptr + %t177 = alloca ptr + %t197 = alloca ptr + %t211 = alloca ptr + %t0 = load ptr, ptr @g_toks + %t1 = getelementptr inbounds %LSlice, ptr %t0, i32 0, i32 0 + %t2 = load ptr, ptr %t1 + %t3 = load i32, ptr @g_pi + %t4 = getelementptr inbounds ptr, ptr %t2, i32 %t3 + %t5 = load ptr, ptr %t4 + store ptr %t5, ptr %t6 + %t7 = load ptr, ptr %t6 + %t8 = getelementptr inbounds %Cmp_Tok, ptr %t7, i32 0, i32 0 + %t9 = load i32, ptr %t8 + %t10 = icmp eq i32 %t9, 7 + %t11 = zext i1 %t10 to i32 + %t12 = icmp ne i32 %t11, 0 + br i1 %t12, label %then0, label %ifend2 +then0: + %t13 = load i32, ptr @g_pi + %t14 = add i32 %t13, 1 + store i32 %t14, ptr @g_pi + %t15 = load ptr, ptr %t6 + %t16 = getelementptr inbounds %Cmp_Tok, ptr %t15, i32 0, i32 3 + %t17 = load i32, ptr %t16 + store i32 %t17, ptr @g_g_interp_line + %t18 = load ptr, ptr %t6 + %t19 = getelementptr inbounds %Cmp_Tok, ptr %t18, i32 0, i32 1 + %t20 = load ptr, ptr %t19 + %t21 = call ptr @fn_parse_interp(ptr %t20) + store ptr %t21, ptr %retval + br label %ret +ifend2: + %t22 = call i32 @fn_is_op(ptr @.str41) + %t23 = icmp ne i32 %t22, 0 + br i1 %t23, label %then3, label %ifend5 +then3: + %t24 = call ptr @fn_parse_list() + store ptr %t24, ptr %retval + br label %ret +ifend5: + %t27 = load ptr, ptr %t6 + %t28 = getelementptr inbounds %Cmp_Tok, ptr %t27, i32 0, i32 0 + %t29 = load i32, ptr %t28 + %t30 = icmp eq i32 %t29, 0 + %t31 = zext i1 %t30 to i32 + %t32 = icmp ne i32 %t31, 0 + %t33 = zext i1 %t32 to i32 + store i32 %t33, ptr %t26 + br i1 %t32, label %sc6, label %scend7 +sc6: + %t34 = load ptr, ptr %t6 + %t35 = getelementptr inbounds %Cmp_Tok, ptr %t34, i32 0, i32 1 + %t36 = load ptr, ptr %t35 + %t37 = call i32 @lp_str_eq(ptr %t36, ptr @.str42) + %t38 = icmp ne i32 %t37, 0 + %t39 = zext i1 %t38 to i32 + store i32 %t39, ptr %t26 + br label %scend7 +scend7: + %t40 = load i32, ptr %t26 + %t41 = icmp ne i32 %t40, 0 + %t42 = zext i1 %t41 to i32 + store i32 %t42, ptr %t25 + br i1 %t41, label %sc8, label %scend9 +sc8: + %t43 = load ptr, ptr @g_toks + %t44 = getelementptr inbounds %LSlice, ptr %t43, i32 0, i32 0 + %t45 = load ptr, ptr %t44 + %t46 = load i32, ptr @g_pi + %t47 = add i32 %t46, 1 + %t48 = getelementptr inbounds ptr, ptr %t45, i32 %t47 + %t49 = load ptr, ptr %t48 + %t50 = getelementptr inbounds %Cmp_Tok, ptr %t49, i32 0, i32 0 + %t51 = load i32, ptr %t50 + %t52 = icmp eq i32 %t51, 0 + %t53 = zext i1 %t52 to i32 + %t54 = icmp ne i32 %t53, 0 + %t55 = zext i1 %t54 to i32 + store i32 %t55, ptr %t25 + br label %scend9 +scend9: + %t56 = load i32, ptr %t25 + %t57 = icmp ne i32 %t56, 0 + br i1 %t57, label %then10, label %ifend12 +then10: + %t58 = call ptr @fn_parse_emit() + store ptr %t58, ptr %retval + br label %ret +ifend12: + %t59 = load ptr, ptr %t6 + %t60 = getelementptr inbounds %Cmp_Tok, ptr %t59, i32 0, i32 0 + %t61 = load i32, ptr %t60 + %t62 = icmp eq i32 %t61, 1 + %t63 = zext i1 %t62 to i32 + %t64 = icmp ne i32 %t63, 0 + br i1 %t64, label %then13, label %ifend15 +then13: + %t65 = call ptr @fn_node(i32 30) + store ptr %t65, ptr %t66 + %t67 = load ptr, ptr %t66 + %t68 = getelementptr inbounds %Cmp_Node, ptr %t67, i32 0, i32 2 + %t69 = load ptr, ptr %t6 + %t70 = getelementptr inbounds %Cmp_Tok, ptr %t69, i32 0, i32 2 + %t71 = load i32, ptr %t70 + store i32 %t71, ptr %t68 + %t72 = load i32, ptr @g_pi + %t73 = add i32 %t72, 1 + store i32 %t73, ptr @g_pi + %t74 = load ptr, ptr %t66 + store ptr %t74, ptr %retval + br label %ret +ifend15: + %t75 = load ptr, ptr %t6 + %t76 = getelementptr inbounds %Cmp_Tok, ptr %t75, i32 0, i32 0 + %t77 = load i32, ptr %t76 + %t78 = icmp eq i32 %t77, 6 + %t79 = zext i1 %t78 to i32 + %t80 = icmp ne i32 %t79, 0 + br i1 %t80, label %then16, label %ifend18 +then16: + %t81 = call ptr @fn_node(i32 40) + store ptr %t81, ptr %t82 + %t83 = load ptr, ptr %t82 + %t84 = getelementptr inbounds %Cmp_Node, ptr %t83, i32 0, i32 2 + %t85 = load ptr, ptr %t6 + %t86 = getelementptr inbounds %Cmp_Tok, ptr %t85, i32 0, i32 2 + %t87 = load i32, ptr %t86 + store i32 %t87, ptr %t84 + %t88 = load i32, ptr @g_pi + %t89 = add i32 %t88, 1 + store i32 %t89, ptr @g_pi + %t90 = load ptr, ptr %t82 + store ptr %t90, ptr %retval + br label %ret +ifend18: + %t91 = load ptr, ptr %t6 + %t92 = getelementptr inbounds %Cmp_Tok, ptr %t91, i32 0, i32 0 + %t93 = load i32, ptr %t92 + %t94 = icmp eq i32 %t93, 2 + %t95 = zext i1 %t94 to i32 + %t96 = icmp ne i32 %t95, 0 + br i1 %t96, label %then19, label %ifend21 +then19: + %t97 = call ptr @fn_node(i32 31) + store ptr %t97, ptr %t98 + %t99 = load ptr, ptr %t98 + %t100 = getelementptr inbounds %Cmp_Node, ptr %t99, i32 0, i32 1 + %t101 = load ptr, ptr %t6 + %t102 = getelementptr inbounds %Cmp_Tok, ptr %t101, i32 0, i32 1 + %t103 = load ptr, ptr %t102 + store ptr %t103, ptr %t100 + %t104 = load i32, ptr @g_pi + %t105 = add i32 %t104, 1 + store i32 %t105, ptr @g_pi + %t106 = load ptr, ptr %t98 + store ptr %t106, ptr %retval + br label %ret +ifend21: + %t107 = load ptr, ptr %t6 + %t108 = getelementptr inbounds %Cmp_Tok, ptr %t107, i32 0, i32 0 + %t109 = load i32, ptr %t108 + %t110 = icmp eq i32 %t109, 0 + %t111 = zext i1 %t110 to i32 + %t112 = icmp ne i32 %t111, 0 + br i1 %t112, label %then22, label %ifend24 +then22: + %t113 = load ptr, ptr %t6 + %t114 = getelementptr inbounds %Cmp_Tok, ptr %t113, i32 0, i32 1 + %t115 = load ptr, ptr %t114 + %t116 = call i32 @lp_str_eq(ptr %t115, ptr @.str43) + %t117 = icmp ne i32 %t116, 0 + br i1 %t117, label %then25, label %ifend27 +then25: + %t118 = call ptr @fn_node(i32 32) + store ptr %t118, ptr %t119 + %t120 = load ptr, ptr %t119 + %t121 = getelementptr inbounds %Cmp_Node, ptr %t120, i32 0, i32 2 + store i32 1, ptr %t121 + %t122 = load i32, ptr @g_pi + %t123 = add i32 %t122, 1 + store i32 %t123, ptr @g_pi + %t124 = load ptr, ptr %t119 + store ptr %t124, ptr %retval + br label %ret +ifend27: + %t125 = load ptr, ptr %t6 + %t126 = getelementptr inbounds %Cmp_Tok, ptr %t125, i32 0, i32 1 + %t127 = load ptr, ptr %t126 + %t128 = call i32 @lp_str_eq(ptr %t127, ptr @.str44) + %t129 = icmp ne i32 %t128, 0 + br i1 %t129, label %then28, label %ifend30 +then28: + %t130 = call ptr @fn_node(i32 32) + store ptr %t130, ptr %t131 + %t132 = load ptr, ptr %t131 + %t133 = getelementptr inbounds %Cmp_Node, ptr %t132, i32 0, i32 2 + store i32 0, ptr %t133 + %t134 = load i32, ptr @g_pi + %t135 = add i32 %t134, 1 + store i32 %t135, ptr @g_pi + %t136 = load ptr, ptr %t131 + store ptr %t136, ptr %retval + br label %ret +ifend30: + %t137 = load ptr, ptr %t6 + %t138 = getelementptr inbounds %Cmp_Tok, ptr %t137, i32 0, i32 1 + %t139 = load ptr, ptr %t138 + %t140 = call i32 @lp_str_eq(ptr %t139, ptr @.str45) + %t141 = icmp ne i32 %t140, 0 + br i1 %t141, label %then31, label %ifend33 +then31: + %t142 = load i32, ptr @g_pi + %t143 = add i32 %t142, 1 + store i32 %t143, ptr @g_pi + %t144 = call ptr @fn_node(i32 43) + store ptr %t144, ptr %retval + br label %ret +ifend33: + %t145 = load ptr, ptr %t6 + %t146 = getelementptr inbounds %Cmp_Tok, ptr %t145, i32 0, i32 1 + %t147 = load ptr, ptr %t146 + %t148 = call i32 @lp_str_eq(ptr %t147, ptr @.str46) + %t149 = icmp ne i32 %t148, 0 + br i1 %t149, label %then34, label %ifend36 +then34: + %t150 = load i32, ptr @g_pi + %t151 = add i32 %t150, 1 + store i32 %t151, ptr @g_pi + %t152 = call ptr @fn_node(i32 39) + store ptr %t152, ptr %t153 + %t154 = load ptr, ptr %t153 + %t155 = getelementptr inbounds %Cmp_Node, ptr %t154, i32 0, i32 1 + %t156 = call ptr @fn_ptype() + store ptr %t156, ptr %t155 + %t157 = call i32 @fn_is_op(ptr @.str47) + %t158 = icmp ne i32 %t157, 0 + br i1 %t158, label %then37, label %ifend39 +then37: + %t159 = load ptr, ptr %t153 + %t160 = getelementptr inbounds %Cmp_Node, ptr %t159, i32 0, i32 4 + %t161 = call ptr @fn_record() + store ptr %t161, ptr %t160 + br label %ifend39 +ifend39: + %t162 = load ptr, ptr %t153 + store ptr %t162, ptr %retval + br label %ret +ifend36: + %t163 = load ptr, ptr %t6 + %t164 = getelementptr inbounds %Cmp_Tok, ptr %t163, i32 0, i32 1 + %t165 = load ptr, ptr %t164 + %t166 = call i32 @lp_str_eq(ptr %t165, ptr @.str48) + %t167 = icmp ne i32 %t166, 0 + br i1 %t167, label %then40, label %ifend42 +then40: + %t168 = call ptr @fn_parse_spawn() + store ptr %t168, ptr %retval + br label %ret +ifend42: + %t169 = load ptr, ptr %t6 + %t170 = getelementptr inbounds %Cmp_Tok, ptr %t169, i32 0, i32 1 + %t171 = load ptr, ptr %t170 + %t172 = call i32 @lp_str_eq(ptr %t171, ptr @.str49) + %t173 = icmp ne i32 %t172, 0 + br i1 %t173, label %then43, label %ifend45 +then43: + %t174 = load i32, ptr @g_pi + %t175 = add i32 %t174, 1 + store i32 %t175, ptr @g_pi + %t176 = call ptr @fn_node(i32 52) + store ptr %t176, ptr %t177 + %t178 = load ptr, ptr %t177 + %t179 = getelementptr inbounds %Cmp_Node, ptr %t178, i32 0, i32 8 + %t180 = load ptr, ptr %t6 + %t181 = getelementptr inbounds %Cmp_Tok, ptr %t180, i32 0, i32 3 + %t182 = load i32, ptr %t181 + store i32 %t182, ptr %t179 + %t183 = load ptr, ptr %t177 + %t184 = getelementptr inbounds %Cmp_Node, ptr %t183, i32 0, i32 4 + %t185 = call ptr @fn_expr() + store ptr %t185, ptr %t184 + call void @fn_skipnl() + %t186 = call i32 @fn_is_id(ptr @.str50) + %t187 = icmp eq i32 %t186, 0 + %t188 = zext i1 %t187 to i32 + %t189 = icmp ne i32 %t188, 0 + br i1 %t189, label %then46, label %ifend48 +then46: + call void @fn_perr(ptr @.str51) + br label %ifend48 +ifend48: + %t190 = load i32, ptr @g_pi + %t191 = add i32 %t190, 1 + store i32 %t191, ptr @g_pi + call void @fn_skipnl() + %t192 = load ptr, ptr %t177 + %t193 = getelementptr inbounds %Cmp_Node, ptr %t192, i32 0, i32 5 + %t194 = call ptr @fn_block() + store ptr %t194, ptr %t193 + %t195 = load ptr, ptr %t177 + store ptr %t195, ptr %retval + br label %ret +ifend45: + %t196 = call ptr @fn_node(i32 33) + store ptr %t196, ptr %t197 + %t198 = load ptr, ptr %t197 + %t199 = getelementptr inbounds %Cmp_Node, ptr %t198, i32 0, i32 1 + %t200 = load ptr, ptr %t6 + %t201 = getelementptr inbounds %Cmp_Tok, ptr %t200, i32 0, i32 1 + %t202 = load ptr, ptr %t201 + store ptr %t202, ptr %t199 + %t203 = load i32, ptr @g_pi + %t204 = add i32 %t203, 1 + store i32 %t204, ptr @g_pi + %t205 = load ptr, ptr %t197 + store ptr %t205, ptr %retval + br label %ret +ifend24: + %t206 = call i32 @fn_is_op(ptr @.str52) + %t207 = icmp ne i32 %t206, 0 + br i1 %t207, label %then49, label %ifend51 +then49: + %t208 = load i32, ptr @g_pi + %t209 = add i32 %t208, 1 + store i32 %t209, ptr @g_pi + call void @fn_skipnl() + %t210 = call ptr @fn_expr() + store ptr %t210, ptr %t211 + call void @fn_skipnl() + call void @fn_eat_op(ptr @.str53) + %t212 = load ptr, ptr %t211 + store ptr %t212, ptr %retval + br label %ret +ifend51: + call void @fn_perr(ptr @.str54) + %t213 = call ptr @fn_node(i32 30) + store ptr %t213, ptr %retval + br label %ret +ret: + %t214 = load ptr, ptr %retval + ret ptr %t214 +} + +define ptr @fn_p_postfix() { +entry: + %retval = alloca ptr + %t1 = alloca ptr + %t8 = alloca ptr + %t16 = alloca i32 + %t36 = alloca i32 + %t46 = alloca i32 + %t68 = alloca i32 + %t78 = alloca i32 + %t100 = alloca i32 + %t110 = alloca i32 + %t111 = alloca i32 + %t144 = alloca i32 + %t154 = alloca i32 + %t155 = alloca i32 + %t188 = alloca i32 + %t208 = alloca i32 + %t228 = alloca i32 + %t248 = alloca i32 + %t258 = alloca i32 + %t280 = alloca i32 + %t300 = alloca i32 + %t320 = alloca i32 + %t340 = alloca i32 + %t341 = alloca i32 + %t362 = alloca i32 + %t363 = alloca i32 + %t364 = alloca i32 + %t365 = alloca i32 + %t366 = alloca i32 + %t367 = alloca i32 + %t368 = alloca i32 + %t369 = alloca i32 + %t450 = alloca i32 + %t470 = alloca i32 + %t471 = alloca i32 + %t492 = alloca i32 + %t510 = alloca i32 + %t511 = alloca i32 + %t532 = alloca i32 + %t533 = alloca i32 + %t534 = alloca i32 + %t535 = alloca i32 + %t536 = alloca i32 + %t537 = alloca i32 + %t538 = alloca i32 + %t539 = alloca i32 + %t540 = alloca i32 + %t541 = alloca i32 + %t542 = alloca i32 + %t650 = alloca i32 + %t651 = alloca i32 + %t672 = alloca i32 + %t673 = alloca i32 + %t674 = alloca i32 + %t675 = alloca i32 + %t676 = alloca i32 + %t677 = alloca i32 + %t678 = alloca i32 + %t679 = alloca i32 + %t680 = alloca i32 + %t681 = alloca i32 + %t682 = alloca i32 + %t683 = alloca i32 + %t684 = alloca i32 + %t685 = alloca i32 + %t686 = alloca i32 + %t687 = alloca i32 + %t688 = alloca i32 + %t689 = alloca i32 + %t690 = alloca i32 + %t691 = alloca i32 + %t692 = alloca i32 + %t693 = alloca i32 + %t694 = alloca i32 + %t695 = alloca i32 + %t696 = alloca i32 + %t930 = alloca i32 + %t931 = alloca i32 + %t952 = alloca i32 + %t953 = alloca i32 + %t954 = alloca i32 + %t990 = alloca i32 + %t991 = alloca i32 + %t1020 = alloca i32 + %t1040 = alloca i32 + %t1060 = alloca i32 + %t1080 = alloca i32 + %t1081 = alloca i32 + %t1102 = alloca i32 + %t1103 = alloca i32 + %t1104 = alloca i32 + %t1105 = alloca i32 + %t1106 = alloca i32 + %t1160 = alloca i32 + %t1185 = alloca ptr + %t1191 = alloca ptr + %t1203 = alloca ptr + %t1214 = alloca ptr + %t1230 = alloca i32 + %t1240 = alloca i32 + %t0 = call ptr @fn_p_primary() + store ptr %t0, ptr %t1 + br label %wcond0 +wcond0: + %t2 = icmp ne i32 1, 0 + br i1 %t2, label %wbody1, label %wend2 +wbody1: + %t3 = call i32 @fn_is_op(ptr @.str55) + %t4 = icmp ne i32 %t3, 0 + br i1 %t4, label %then3, label %else4 +then3: + %t5 = load i32, ptr @g_pi + %t6 = add i32 %t5, 1 + store i32 %t6, ptr @g_pi + %t7 = call ptr @fn_node(i32 35) + store ptr %t7, ptr %t8 + %t9 = load ptr, ptr %t8 + %t10 = getelementptr inbounds %Cmp_Node, ptr %t9, i32 0, i32 4 + %t11 = load ptr, ptr %t1 + store ptr %t11, ptr %t10 + %t12 = load ptr, ptr %t8 + %t13 = getelementptr inbounds %Cmp_Node, ptr %t12, i32 0, i32 1 + %t14 = call ptr @fn_eat_id() + store ptr %t14, ptr %t13 + %t15 = load ptr, ptr %t8 + store ptr %t15, ptr %t1 + %t17 = load ptr, ptr %t1 + %t18 = getelementptr inbounds %Cmp_Node, ptr %t17, i32 0, i32 4 + %t19 = load ptr, ptr %t18 + %t20 = getelementptr inbounds %Cmp_Node, ptr %t19, i32 0, i32 0 + %t21 = load i32, ptr %t20 + %t22 = icmp eq i32 %t21, 33 + %t23 = zext i1 %t22 to i32 + %t24 = icmp ne i32 %t23, 0 + %t25 = zext i1 %t24 to i32 + store i32 %t25, ptr %t16 + br i1 %t24, label %sc6, label %scend7 +sc6: + %t26 = load ptr, ptr %t1 + %t27 = getelementptr inbounds %Cmp_Node, ptr %t26, i32 0, i32 4 + %t28 = load ptr, ptr %t27 + %t29 = getelementptr inbounds %Cmp_Node, ptr %t28, i32 0, i32 1 + %t30 = load ptr, ptr %t29 + %t31 = call i32 @lp_str_eq(ptr %t30, ptr @.str56) + %t32 = icmp ne i32 %t31, 0 + %t33 = zext i1 %t32 to i32 + store i32 %t33, ptr %t16 + br label %scend7 +scend7: + %t34 = load i32, ptr %t16 + %t35 = icmp ne i32 %t34, 0 + br i1 %t35, label %then8, label %ifend10 +then8: + store i32 1, ptr @g_g_uses_regex + br label %ifend10 +ifend10: + %t37 = load ptr, ptr %t1 + %t38 = getelementptr inbounds %Cmp_Node, ptr %t37, i32 0, i32 4 + %t39 = load ptr, ptr %t38 + %t40 = getelementptr inbounds %Cmp_Node, ptr %t39, i32 0, i32 0 + %t41 = load i32, ptr %t40 + %t42 = icmp eq i32 %t41, 33 + %t43 = zext i1 %t42 to i32 + %t44 = icmp ne i32 %t43, 0 + %t45 = zext i1 %t44 to i32 + store i32 %t45, ptr %t36 + br i1 %t44, label %sc11, label %scend12 +sc11: + %t47 = load ptr, ptr %t1 + %t48 = getelementptr inbounds %Cmp_Node, ptr %t47, i32 0, i32 4 + %t49 = load ptr, ptr %t48 + %t50 = getelementptr inbounds %Cmp_Node, ptr %t49, i32 0, i32 1 + %t51 = load ptr, ptr %t50 + %t52 = call i32 @lp_str_eq(ptr %t51, ptr @.str57) + %t53 = icmp ne i32 %t52, 0 + %t54 = zext i1 %t53 to i32 + store i32 %t54, ptr %t46 + br i1 %t53, label %scend14, label %sc13 +sc13: + %t55 = load ptr, ptr %t1 + %t56 = getelementptr inbounds %Cmp_Node, ptr %t55, i32 0, i32 4 + %t57 = load ptr, ptr %t56 + %t58 = getelementptr inbounds %Cmp_Node, ptr %t57, i32 0, i32 1 + %t59 = load ptr, ptr %t58 + %t60 = call i32 @lp_str_eq(ptr %t59, ptr @.str58) + %t61 = icmp ne i32 %t60, 0 + %t62 = zext i1 %t61 to i32 + store i32 %t62, ptr %t46 + br label %scend14 +scend14: + %t63 = load i32, ptr %t46 + %t64 = icmp ne i32 %t63, 0 + %t65 = zext i1 %t64 to i32 + store i32 %t65, ptr %t36 + br label %scend12 +scend12: + %t66 = load i32, ptr %t36 + %t67 = icmp ne i32 %t66, 0 + br i1 %t67, label %then15, label %ifend17 +then15: + store i32 1, ptr @g_g_uses_bignum + br label %ifend17 +ifend17: + %t69 = load ptr, ptr %t1 + %t70 = getelementptr inbounds %Cmp_Node, ptr %t69, i32 0, i32 4 + %t71 = load ptr, ptr %t70 + %t72 = getelementptr inbounds %Cmp_Node, ptr %t71, i32 0, i32 0 + %t73 = load i32, ptr %t72 + %t74 = icmp eq i32 %t73, 33 + %t75 = zext i1 %t74 to i32 + %t76 = icmp ne i32 %t75, 0 + %t77 = zext i1 %t76 to i32 + store i32 %t77, ptr %t68 + br i1 %t76, label %sc18, label %scend19 +sc18: + %t79 = load ptr, ptr %t1 + %t80 = getelementptr inbounds %Cmp_Node, ptr %t79, i32 0, i32 4 + %t81 = load ptr, ptr %t80 + %t82 = getelementptr inbounds %Cmp_Node, ptr %t81, i32 0, i32 1 + %t83 = load ptr, ptr %t82 + %t84 = call i32 @lp_str_eq(ptr %t83, ptr @.str59) + %t85 = icmp ne i32 %t84, 0 + %t86 = zext i1 %t85 to i32 + store i32 %t86, ptr %t78 + br i1 %t85, label %scend21, label %sc20 +sc20: + %t87 = load ptr, ptr %t1 + %t88 = getelementptr inbounds %Cmp_Node, ptr %t87, i32 0, i32 4 + %t89 = load ptr, ptr %t88 + %t90 = getelementptr inbounds %Cmp_Node, ptr %t89, i32 0, i32 1 + %t91 = load ptr, ptr %t90 + %t92 = call i32 @lp_str_eq(ptr %t91, ptr @.str60) + %t93 = icmp ne i32 %t92, 0 + %t94 = zext i1 %t93 to i32 + store i32 %t94, ptr %t78 + br label %scend21 +scend21: + %t95 = load i32, ptr %t78 + %t96 = icmp ne i32 %t95, 0 + %t97 = zext i1 %t96 to i32 + store i32 %t97, ptr %t68 + br label %scend19 +scend19: + %t98 = load i32, ptr %t68 + %t99 = icmp ne i32 %t98, 0 + br i1 %t99, label %then22, label %ifend24 +then22: + store i32 1, ptr @g_g_uses_dict + br label %ifend24 +ifend24: + %t101 = load ptr, ptr %t1 + %t102 = getelementptr inbounds %Cmp_Node, ptr %t101, i32 0, i32 4 + %t103 = load ptr, ptr %t102 + %t104 = getelementptr inbounds %Cmp_Node, ptr %t103, i32 0, i32 0 + %t105 = load i32, ptr %t104 + %t106 = icmp eq i32 %t105, 33 + %t107 = zext i1 %t106 to i32 + %t108 = icmp ne i32 %t107, 0 + %t109 = zext i1 %t108 to i32 + store i32 %t109, ptr %t100 + br i1 %t108, label %sc25, label %scend26 +sc25: + %t112 = load ptr, ptr %t1 + %t113 = getelementptr inbounds %Cmp_Node, ptr %t112, i32 0, i32 4 + %t114 = load ptr, ptr %t113 + %t115 = getelementptr inbounds %Cmp_Node, ptr %t114, i32 0, i32 1 + %t116 = load ptr, ptr %t115 + %t117 = call i32 @lp_str_eq(ptr %t116, ptr @.str61) + %t118 = icmp ne i32 %t117, 0 + %t119 = zext i1 %t118 to i32 + store i32 %t119, ptr %t111 + br i1 %t118, label %scend28, label %sc27 +sc27: + %t120 = load ptr, ptr %t1 + %t121 = getelementptr inbounds %Cmp_Node, ptr %t120, i32 0, i32 4 + %t122 = load ptr, ptr %t121 + %t123 = getelementptr inbounds %Cmp_Node, ptr %t122, i32 0, i32 1 + %t124 = load ptr, ptr %t123 + %t125 = call i32 @lp_str_eq(ptr %t124, ptr @.str62) + %t126 = icmp ne i32 %t125, 0 + %t127 = zext i1 %t126 to i32 + store i32 %t127, ptr %t111 + br label %scend28 +scend28: + %t128 = load i32, ptr %t111 + %t129 = icmp ne i32 %t128, 0 + %t130 = zext i1 %t129 to i32 + store i32 %t130, ptr %t110 + br i1 %t129, label %scend30, label %sc29 +sc29: + %t131 = load ptr, ptr %t1 + %t132 = getelementptr inbounds %Cmp_Node, ptr %t131, i32 0, i32 4 + %t133 = load ptr, ptr %t132 + %t134 = getelementptr inbounds %Cmp_Node, ptr %t133, i32 0, i32 1 + %t135 = load ptr, ptr %t134 + %t136 = call i32 @lp_str_eq(ptr %t135, ptr @.str63) + %t137 = icmp ne i32 %t136, 0 + %t138 = zext i1 %t137 to i32 + store i32 %t138, ptr %t110 + br label %scend30 +scend30: + %t139 = load i32, ptr %t110 + %t140 = icmp ne i32 %t139, 0 + %t141 = zext i1 %t140 to i32 + store i32 %t141, ptr %t100 + br label %scend26 +scend26: + %t142 = load i32, ptr %t100 + %t143 = icmp ne i32 %t142, 0 + br i1 %t143, label %then31, label %ifend33 +then31: + store i32 1, ptr @g_g_uses_numeric + br label %ifend33 +ifend33: + %t145 = load ptr, ptr %t1 + %t146 = getelementptr inbounds %Cmp_Node, ptr %t145, i32 0, i32 4 + %t147 = load ptr, ptr %t146 + %t148 = getelementptr inbounds %Cmp_Node, ptr %t147, i32 0, i32 0 + %t149 = load i32, ptr %t148 + %t150 = icmp eq i32 %t149, 33 + %t151 = zext i1 %t150 to i32 + %t152 = icmp ne i32 %t151, 0 + %t153 = zext i1 %t152 to i32 + store i32 %t153, ptr %t144 + br i1 %t152, label %sc34, label %scend35 +sc34: + %t156 = load ptr, ptr %t1 + %t157 = getelementptr inbounds %Cmp_Node, ptr %t156, i32 0, i32 4 + %t158 = load ptr, ptr %t157 + %t159 = getelementptr inbounds %Cmp_Node, ptr %t158, i32 0, i32 1 + %t160 = load ptr, ptr %t159 + %t161 = call i32 @lp_str_eq(ptr %t160, ptr @.str64) + %t162 = icmp ne i32 %t161, 0 + %t163 = zext i1 %t162 to i32 + store i32 %t163, ptr %t155 + br i1 %t162, label %scend37, label %sc36 +sc36: + %t164 = load ptr, ptr %t1 + %t165 = getelementptr inbounds %Cmp_Node, ptr %t164, i32 0, i32 4 + %t166 = load ptr, ptr %t165 + %t167 = getelementptr inbounds %Cmp_Node, ptr %t166, i32 0, i32 1 + %t168 = load ptr, ptr %t167 + %t169 = call i32 @lp_str_eq(ptr %t168, ptr @.str65) + %t170 = icmp ne i32 %t169, 0 + %t171 = zext i1 %t170 to i32 + store i32 %t171, ptr %t155 + br label %scend37 +scend37: + %t172 = load i32, ptr %t155 + %t173 = icmp ne i32 %t172, 0 + %t174 = zext i1 %t173 to i32 + store i32 %t174, ptr %t154 + br i1 %t173, label %scend39, label %sc38 +sc38: + %t175 = load ptr, ptr %t1 + %t176 = getelementptr inbounds %Cmp_Node, ptr %t175, i32 0, i32 4 + %t177 = load ptr, ptr %t176 + %t178 = getelementptr inbounds %Cmp_Node, ptr %t177, i32 0, i32 1 + %t179 = load ptr, ptr %t178 + %t180 = call i32 @lp_str_eq(ptr %t179, ptr @.str66) + %t181 = icmp ne i32 %t180, 0 + %t182 = zext i1 %t181 to i32 + store i32 %t182, ptr %t154 + br label %scend39 +scend39: + %t183 = load i32, ptr %t154 + %t184 = icmp ne i32 %t183, 0 + %t185 = zext i1 %t184 to i32 + store i32 %t185, ptr %t144 + br label %scend35 +scend35: + %t186 = load i32, ptr %t144 + %t187 = icmp ne i32 %t186, 0 + br i1 %t187, label %then40, label %ifend42 +then40: + store i32 1, ptr @g_g_uses_jobs + br label %ifend42 +ifend42: + %t189 = load ptr, ptr %t1 + %t190 = getelementptr inbounds %Cmp_Node, ptr %t189, i32 0, i32 4 + %t191 = load ptr, ptr %t190 + %t192 = getelementptr inbounds %Cmp_Node, ptr %t191, i32 0, i32 0 + %t193 = load i32, ptr %t192 + %t194 = icmp eq i32 %t193, 33 + %t195 = zext i1 %t194 to i32 + %t196 = icmp ne i32 %t195, 0 + %t197 = zext i1 %t196 to i32 + store i32 %t197, ptr %t188 + br i1 %t196, label %sc43, label %scend44 +sc43: + %t198 = load ptr, ptr %t1 + %t199 = getelementptr inbounds %Cmp_Node, ptr %t198, i32 0, i32 4 + %t200 = load ptr, ptr %t199 + %t201 = getelementptr inbounds %Cmp_Node, ptr %t200, i32 0, i32 1 + %t202 = load ptr, ptr %t201 + %t203 = call i32 @lp_str_eq(ptr %t202, ptr @.str67) + %t204 = icmp ne i32 %t203, 0 + %t205 = zext i1 %t204 to i32 + store i32 %t205, ptr %t188 + br label %scend44 +scend44: + %t206 = load i32, ptr %t188 + %t207 = icmp ne i32 %t206, 0 + br i1 %t207, label %then45, label %ifend47 +then45: + store i32 1, ptr @g_g_uses_query + br label %ifend47 +ifend47: + %t209 = load ptr, ptr %t1 + %t210 = getelementptr inbounds %Cmp_Node, ptr %t209, i32 0, i32 4 + %t211 = load ptr, ptr %t210 + %t212 = getelementptr inbounds %Cmp_Node, ptr %t211, i32 0, i32 0 + %t213 = load i32, ptr %t212 + %t214 = icmp eq i32 %t213, 33 + %t215 = zext i1 %t214 to i32 + %t216 = icmp ne i32 %t215, 0 + %t217 = zext i1 %t216 to i32 + store i32 %t217, ptr %t208 + br i1 %t216, label %sc48, label %scend49 +sc48: + %t218 = load ptr, ptr %t1 + %t219 = getelementptr inbounds %Cmp_Node, ptr %t218, i32 0, i32 4 + %t220 = load ptr, ptr %t219 + %t221 = getelementptr inbounds %Cmp_Node, ptr %t220, i32 0, i32 1 + %t222 = load ptr, ptr %t221 + %t223 = call i32 @lp_str_eq(ptr %t222, ptr @.str68) + %t224 = icmp ne i32 %t223, 0 + %t225 = zext i1 %t224 to i32 + store i32 %t225, ptr %t208 + br label %scend49 +scend49: + %t226 = load i32, ptr %t208 + %t227 = icmp ne i32 %t226, 0 + br i1 %t227, label %then50, label %ifend52 +then50: + store i32 1, ptr @g_g_uses_reflect + br label %ifend52 +ifend52: + %t229 = load ptr, ptr %t1 + %t230 = getelementptr inbounds %Cmp_Node, ptr %t229, i32 0, i32 4 + %t231 = load ptr, ptr %t230 + %t232 = getelementptr inbounds %Cmp_Node, ptr %t231, i32 0, i32 0 + %t233 = load i32, ptr %t232 + %t234 = icmp eq i32 %t233, 33 + %t235 = zext i1 %t234 to i32 + %t236 = icmp ne i32 %t235, 0 + %t237 = zext i1 %t236 to i32 + store i32 %t237, ptr %t228 + br i1 %t236, label %sc53, label %scend54 +sc53: + %t238 = load ptr, ptr %t1 + %t239 = getelementptr inbounds %Cmp_Node, ptr %t238, i32 0, i32 4 + %t240 = load ptr, ptr %t239 + %t241 = getelementptr inbounds %Cmp_Node, ptr %t240, i32 0, i32 1 + %t242 = load ptr, ptr %t241 + %t243 = call i32 @lp_str_eq(ptr %t242, ptr @.str69) + %t244 = icmp ne i32 %t243, 0 + %t245 = zext i1 %t244 to i32 + store i32 %t245, ptr %t228 + br label %scend54 +scend54: + %t246 = load i32, ptr %t228 + %t247 = icmp ne i32 %t246, 0 + br i1 %t247, label %then55, label %ifend57 +then55: + store i32 1, ptr @g_g_uses_light + br label %ifend57 +ifend57: + %t249 = load ptr, ptr %t1 + %t250 = getelementptr inbounds %Cmp_Node, ptr %t249, i32 0, i32 4 + %t251 = load ptr, ptr %t250 + %t252 = getelementptr inbounds %Cmp_Node, ptr %t251, i32 0, i32 0 + %t253 = load i32, ptr %t252 + %t254 = icmp eq i32 %t253, 33 + %t255 = zext i1 %t254 to i32 + %t256 = icmp ne i32 %t255, 0 + %t257 = zext i1 %t256 to i32 + store i32 %t257, ptr %t248 + br i1 %t256, label %sc58, label %scend59 +sc58: + %t259 = load ptr, ptr %t1 + %t260 = getelementptr inbounds %Cmp_Node, ptr %t259, i32 0, i32 4 + %t261 = load ptr, ptr %t260 + %t262 = getelementptr inbounds %Cmp_Node, ptr %t261, i32 0, i32 1 + %t263 = load ptr, ptr %t262 + %t264 = call i32 @lp_str_eq(ptr %t263, ptr @.str70) + %t265 = icmp ne i32 %t264, 0 + %t266 = zext i1 %t265 to i32 + store i32 %t266, ptr %t258 + br i1 %t265, label %scend61, label %sc60 +sc60: + %t267 = load ptr, ptr %t1 + %t268 = getelementptr inbounds %Cmp_Node, ptr %t267, i32 0, i32 4 + %t269 = load ptr, ptr %t268 + %t270 = getelementptr inbounds %Cmp_Node, ptr %t269, i32 0, i32 1 + %t271 = load ptr, ptr %t270 + %t272 = call i32 @lp_str_eq(ptr %t271, ptr @.str71) + %t273 = icmp ne i32 %t272, 0 + %t274 = zext i1 %t273 to i32 + store i32 %t274, ptr %t258 + br label %scend61 +scend61: + %t275 = load i32, ptr %t258 + %t276 = icmp ne i32 %t275, 0 + %t277 = zext i1 %t276 to i32 + store i32 %t277, ptr %t248 + br label %scend59 +scend59: + %t278 = load i32, ptr %t248 + %t279 = icmp ne i32 %t278, 0 + br i1 %t279, label %then62, label %ifend64 +then62: + store i32 1, ptr @g_g_uses_value + br label %ifend64 +ifend64: + %t281 = load ptr, ptr %t1 + %t282 = getelementptr inbounds %Cmp_Node, ptr %t281, i32 0, i32 4 + %t283 = load ptr, ptr %t282 + %t284 = getelementptr inbounds %Cmp_Node, ptr %t283, i32 0, i32 0 + %t285 = load i32, ptr %t284 + %t286 = icmp eq i32 %t285, 33 + %t287 = zext i1 %t286 to i32 + %t288 = icmp ne i32 %t287, 0 + %t289 = zext i1 %t288 to i32 + store i32 %t289, ptr %t280 + br i1 %t288, label %sc65, label %scend66 +sc65: + %t290 = load ptr, ptr %t1 + %t291 = getelementptr inbounds %Cmp_Node, ptr %t290, i32 0, i32 4 + %t292 = load ptr, ptr %t291 + %t293 = getelementptr inbounds %Cmp_Node, ptr %t292, i32 0, i32 1 + %t294 = load ptr, ptr %t293 + %t295 = call i32 @lp_str_eq(ptr %t294, ptr @.str72) + %t296 = icmp ne i32 %t295, 0 + %t297 = zext i1 %t296 to i32 + store i32 %t297, ptr %t280 + br label %scend66 +scend66: + %t298 = load i32, ptr %t280 + %t299 = icmp ne i32 %t298, 0 + br i1 %t299, label %then67, label %ifend69 +then67: + store i32 1, ptr @g_g_uses_xml + br label %ifend69 +ifend69: + %t301 = load ptr, ptr %t1 + %t302 = getelementptr inbounds %Cmp_Node, ptr %t301, i32 0, i32 4 + %t303 = load ptr, ptr %t302 + %t304 = getelementptr inbounds %Cmp_Node, ptr %t303, i32 0, i32 0 + %t305 = load i32, ptr %t304 + %t306 = icmp eq i32 %t305, 33 + %t307 = zext i1 %t306 to i32 + %t308 = icmp ne i32 %t307, 0 + %t309 = zext i1 %t308 to i32 + store i32 %t309, ptr %t300 + br i1 %t308, label %sc70, label %scend71 +sc70: + %t310 = load ptr, ptr %t1 + %t311 = getelementptr inbounds %Cmp_Node, ptr %t310, i32 0, i32 4 + %t312 = load ptr, ptr %t311 + %t313 = getelementptr inbounds %Cmp_Node, ptr %t312, i32 0, i32 1 + %t314 = load ptr, ptr %t313 + %t315 = call i32 @lp_str_eq(ptr %t314, ptr @.str73) + %t316 = icmp ne i32 %t315, 0 + %t317 = zext i1 %t316 to i32 + store i32 %t317, ptr %t300 + br label %scend71 +scend71: + %t318 = load i32, ptr %t300 + %t319 = icmp ne i32 %t318, 0 + br i1 %t319, label %then72, label %ifend74 +then72: + store i32 1, ptr @g_g_uses_base64 + br label %ifend74 +ifend74: + %t321 = load ptr, ptr %t1 + %t322 = getelementptr inbounds %Cmp_Node, ptr %t321, i32 0, i32 4 + %t323 = load ptr, ptr %t322 + %t324 = getelementptr inbounds %Cmp_Node, ptr %t323, i32 0, i32 0 + %t325 = load i32, ptr %t324 + %t326 = icmp eq i32 %t325, 33 + %t327 = zext i1 %t326 to i32 + %t328 = icmp ne i32 %t327, 0 + %t329 = zext i1 %t328 to i32 + store i32 %t329, ptr %t320 + br i1 %t328, label %sc75, label %scend76 +sc75: + %t330 = load ptr, ptr %t1 + %t331 = getelementptr inbounds %Cmp_Node, ptr %t330, i32 0, i32 4 + %t332 = load ptr, ptr %t331 + %t333 = getelementptr inbounds %Cmp_Node, ptr %t332, i32 0, i32 1 + %t334 = load ptr, ptr %t333 + %t335 = call i32 @lp_str_eq(ptr %t334, ptr @.str74) + %t336 = icmp ne i32 %t335, 0 + %t337 = zext i1 %t336 to i32 + store i32 %t337, ptr %t320 + br label %scend76 +scend76: + %t338 = load i32, ptr %t320 + %t339 = icmp ne i32 %t338, 0 + br i1 %t339, label %then77, label %ifend79 +then77: + store i32 1, ptr @g_g_uses_tiled + br label %ifend79 +ifend79: + %t342 = load ptr, ptr %t1 + %t343 = getelementptr inbounds %Cmp_Node, ptr %t342, i32 0, i32 4 + %t344 = load ptr, ptr %t343 + %t345 = getelementptr inbounds %Cmp_Node, ptr %t344, i32 0, i32 0 + %t346 = load i32, ptr %t345 + %t347 = icmp eq i32 %t346, 33 + %t348 = zext i1 %t347 to i32 + %t349 = icmp ne i32 %t348, 0 + %t350 = zext i1 %t349 to i32 + store i32 %t350, ptr %t341 + br i1 %t349, label %sc80, label %scend81 +sc80: + %t351 = load ptr, ptr %t1 + %t352 = getelementptr inbounds %Cmp_Node, ptr %t351, i32 0, i32 4 + %t353 = load ptr, ptr %t352 + %t354 = getelementptr inbounds %Cmp_Node, ptr %t353, i32 0, i32 1 + %t355 = load ptr, ptr %t354 + %t356 = call i32 @lp_str_eq(ptr %t355, ptr @.str75) + %t357 = icmp ne i32 %t356, 0 + %t358 = zext i1 %t357 to i32 + store i32 %t358, ptr %t341 + br label %scend81 +scend81: + %t359 = load i32, ptr %t341 + %t360 = icmp ne i32 %t359, 0 + %t361 = zext i1 %t360 to i32 + store i32 %t361, ptr %t340 + br i1 %t360, label %sc82, label %scend83 +sc82: + %t370 = load ptr, ptr %t1 + %t371 = getelementptr inbounds %Cmp_Node, ptr %t370, i32 0, i32 1 + %t372 = load ptr, ptr %t371 + %t373 = call i32 @lp_str_eq(ptr %t372, ptr @.str76) + %t374 = icmp ne i32 %t373, 0 + %t375 = zext i1 %t374 to i32 + store i32 %t375, ptr %t369 + br i1 %t374, label %scend85, label %sc84 +sc84: + %t376 = load ptr, ptr %t1 + %t377 = getelementptr inbounds %Cmp_Node, ptr %t376, i32 0, i32 1 + %t378 = load ptr, ptr %t377 + %t379 = call i32 @lp_str_eq(ptr %t378, ptr @.str77) + %t380 = icmp ne i32 %t379, 0 + %t381 = zext i1 %t380 to i32 + store i32 %t381, ptr %t369 + br label %scend85 +scend85: + %t382 = load i32, ptr %t369 + %t383 = icmp ne i32 %t382, 0 + %t384 = zext i1 %t383 to i32 + store i32 %t384, ptr %t368 + br i1 %t383, label %scend87, label %sc86 +sc86: + %t385 = load ptr, ptr %t1 + %t386 = getelementptr inbounds %Cmp_Node, ptr %t385, i32 0, i32 1 + %t387 = load ptr, ptr %t386 + %t388 = call i32 @lp_str_eq(ptr %t387, ptr @.str78) + %t389 = icmp ne i32 %t388, 0 + %t390 = zext i1 %t389 to i32 + store i32 %t390, ptr %t368 + br label %scend87 +scend87: + %t391 = load i32, ptr %t368 + %t392 = icmp ne i32 %t391, 0 + %t393 = zext i1 %t392 to i32 + store i32 %t393, ptr %t367 + br i1 %t392, label %scend89, label %sc88 +sc88: + %t394 = load ptr, ptr %t1 + %t395 = getelementptr inbounds %Cmp_Node, ptr %t394, i32 0, i32 1 + %t396 = load ptr, ptr %t395 + %t397 = call i32 @lp_str_eq(ptr %t396, ptr @.str79) + %t398 = icmp ne i32 %t397, 0 + %t399 = zext i1 %t398 to i32 + store i32 %t399, ptr %t367 + br label %scend89 +scend89: + %t400 = load i32, ptr %t367 + %t401 = icmp ne i32 %t400, 0 + %t402 = zext i1 %t401 to i32 + store i32 %t402, ptr %t366 + br i1 %t401, label %scend91, label %sc90 +sc90: + %t403 = load ptr, ptr %t1 + %t404 = getelementptr inbounds %Cmp_Node, ptr %t403, i32 0, i32 1 + %t405 = load ptr, ptr %t404 + %t406 = call i32 @lp_str_eq(ptr %t405, ptr @.str80) + %t407 = icmp ne i32 %t406, 0 + %t408 = zext i1 %t407 to i32 + store i32 %t408, ptr %t366 + br label %scend91 +scend91: + %t409 = load i32, ptr %t366 + %t410 = icmp ne i32 %t409, 0 + %t411 = zext i1 %t410 to i32 + store i32 %t411, ptr %t365 + br i1 %t410, label %scend93, label %sc92 +sc92: + %t412 = load ptr, ptr %t1 + %t413 = getelementptr inbounds %Cmp_Node, ptr %t412, i32 0, i32 1 + %t414 = load ptr, ptr %t413 + %t415 = call i32 @lp_str_eq(ptr %t414, ptr @.str81) + %t416 = icmp ne i32 %t415, 0 + %t417 = zext i1 %t416 to i32 + store i32 %t417, ptr %t365 + br label %scend93 +scend93: + %t418 = load i32, ptr %t365 + %t419 = icmp ne i32 %t418, 0 + %t420 = zext i1 %t419 to i32 + store i32 %t420, ptr %t364 + br i1 %t419, label %scend95, label %sc94 +sc94: + %t421 = load ptr, ptr %t1 + %t422 = getelementptr inbounds %Cmp_Node, ptr %t421, i32 0, i32 1 + %t423 = load ptr, ptr %t422 + %t424 = call i32 @lp_str_eq(ptr %t423, ptr @.str82) + %t425 = icmp ne i32 %t424, 0 + %t426 = zext i1 %t425 to i32 + store i32 %t426, ptr %t364 + br label %scend95 +scend95: + %t427 = load i32, ptr %t364 + %t428 = icmp ne i32 %t427, 0 + %t429 = zext i1 %t428 to i32 + store i32 %t429, ptr %t363 + br i1 %t428, label %scend97, label %sc96 +sc96: + %t430 = load ptr, ptr %t1 + %t431 = getelementptr inbounds %Cmp_Node, ptr %t430, i32 0, i32 1 + %t432 = load ptr, ptr %t431 + %t433 = call i32 @lp_str_eq(ptr %t432, ptr @.str83) + %t434 = icmp ne i32 %t433, 0 + %t435 = zext i1 %t434 to i32 + store i32 %t435, ptr %t363 + br label %scend97 +scend97: + %t436 = load i32, ptr %t363 + %t437 = icmp ne i32 %t436, 0 + %t438 = zext i1 %t437 to i32 + store i32 %t438, ptr %t362 + br i1 %t437, label %scend99, label %sc98 +sc98: + %t439 = load ptr, ptr %t1 + %t440 = getelementptr inbounds %Cmp_Node, ptr %t439, i32 0, i32 1 + %t441 = load ptr, ptr %t440 + %t442 = call i32 @lp_str_eq(ptr %t441, ptr @.str84) + %t443 = icmp ne i32 %t442, 0 + %t444 = zext i1 %t443 to i32 + store i32 %t444, ptr %t362 + br label %scend99 +scend99: + %t445 = load i32, ptr %t362 + %t446 = icmp ne i32 %t445, 0 + %t447 = zext i1 %t446 to i32 + store i32 %t447, ptr %t340 + br label %scend83 +scend83: + %t448 = load i32, ptr %t340 + %t449 = icmp ne i32 %t448, 0 + br i1 %t449, label %then100, label %ifend102 +then100: + store i32 1, ptr @g_g_uses_atlas + br label %ifend102 +ifend102: + %t451 = load ptr, ptr %t1 + %t452 = getelementptr inbounds %Cmp_Node, ptr %t451, i32 0, i32 4 + %t453 = load ptr, ptr %t452 + %t454 = getelementptr inbounds %Cmp_Node, ptr %t453, i32 0, i32 0 + %t455 = load i32, ptr %t454 + %t456 = icmp eq i32 %t455, 33 + %t457 = zext i1 %t456 to i32 + %t458 = icmp ne i32 %t457, 0 + %t459 = zext i1 %t458 to i32 + store i32 %t459, ptr %t450 + br i1 %t458, label %sc103, label %scend104 +sc103: + %t460 = load ptr, ptr %t1 + %t461 = getelementptr inbounds %Cmp_Node, ptr %t460, i32 0, i32 4 + %t462 = load ptr, ptr %t461 + %t463 = getelementptr inbounds %Cmp_Node, ptr %t462, i32 0, i32 1 + %t464 = load ptr, ptr %t463 + %t465 = call i32 @lp_str_eq(ptr %t464, ptr @.str85) + %t466 = icmp ne i32 %t465, 0 + %t467 = zext i1 %t466 to i32 + store i32 %t467, ptr %t450 + br label %scend104 +scend104: + %t468 = load i32, ptr %t450 + %t469 = icmp ne i32 %t468, 0 + br i1 %t469, label %then105, label %ifend107 +then105: + store i32 1, ptr @g_g_uses_atlas + br label %ifend107 +ifend107: + %t472 = load ptr, ptr %t1 + %t473 = getelementptr inbounds %Cmp_Node, ptr %t472, i32 0, i32 4 + %t474 = load ptr, ptr %t473 + %t475 = getelementptr inbounds %Cmp_Node, ptr %t474, i32 0, i32 0 + %t476 = load i32, ptr %t475 + %t477 = icmp eq i32 %t476, 33 + %t478 = zext i1 %t477 to i32 + %t479 = icmp ne i32 %t478, 0 + %t480 = zext i1 %t479 to i32 + store i32 %t480, ptr %t471 + br i1 %t479, label %sc108, label %scend109 +sc108: + %t481 = load ptr, ptr %t1 + %t482 = getelementptr inbounds %Cmp_Node, ptr %t481, i32 0, i32 4 + %t483 = load ptr, ptr %t482 + %t484 = getelementptr inbounds %Cmp_Node, ptr %t483, i32 0, i32 1 + %t485 = load ptr, ptr %t484 + %t486 = call i32 @lp_str_eq(ptr %t485, ptr @.str86) + %t487 = icmp ne i32 %t486, 0 + %t488 = zext i1 %t487 to i32 + store i32 %t488, ptr %t471 + br label %scend109 +scend109: + %t489 = load i32, ptr %t471 + %t490 = icmp ne i32 %t489, 0 + %t491 = zext i1 %t490 to i32 + store i32 %t491, ptr %t470 + br i1 %t490, label %sc110, label %scend111 +sc110: + %t493 = load ptr, ptr %t1 + %t494 = getelementptr inbounds %Cmp_Node, ptr %t493, i32 0, i32 1 + %t495 = load ptr, ptr %t494 + %t496 = call i32 @lp_str_eq(ptr %t495, ptr @.str87) + %t497 = icmp ne i32 %t496, 0 + %t498 = zext i1 %t497 to i32 + store i32 %t498, ptr %t492 + br i1 %t497, label %scend113, label %sc112 +sc112: + %t499 = load ptr, ptr %t1 + %t500 = getelementptr inbounds %Cmp_Node, ptr %t499, i32 0, i32 1 + %t501 = load ptr, ptr %t500 + %t502 = call i32 @lp_str_eq(ptr %t501, ptr @.str88) + %t503 = icmp ne i32 %t502, 0 + %t504 = zext i1 %t503 to i32 + store i32 %t504, ptr %t492 + br label %scend113 +scend113: + %t505 = load i32, ptr %t492 + %t506 = icmp ne i32 %t505, 0 + %t507 = zext i1 %t506 to i32 + store i32 %t507, ptr %t470 + br label %scend111 +scend111: + %t508 = load i32, ptr %t470 + %t509 = icmp ne i32 %t508, 0 + br i1 %t509, label %then114, label %ifend116 +then114: + store i32 1, ptr @g_g_uses_value + store i32 1, ptr @g_g_uses_reflect_io + br label %ifend116 +ifend116: + %t512 = load ptr, ptr %t1 + %t513 = getelementptr inbounds %Cmp_Node, ptr %t512, i32 0, i32 4 + %t514 = load ptr, ptr %t513 + %t515 = getelementptr inbounds %Cmp_Node, ptr %t514, i32 0, i32 0 + %t516 = load i32, ptr %t515 + %t517 = icmp eq i32 %t516, 33 + %t518 = zext i1 %t517 to i32 + %t519 = icmp ne i32 %t518, 0 + %t520 = zext i1 %t519 to i32 + store i32 %t520, ptr %t511 + br i1 %t519, label %sc117, label %scend118 +sc117: + %t521 = load ptr, ptr %t1 + %t522 = getelementptr inbounds %Cmp_Node, ptr %t521, i32 0, i32 4 + %t523 = load ptr, ptr %t522 + %t524 = getelementptr inbounds %Cmp_Node, ptr %t523, i32 0, i32 1 + %t525 = load ptr, ptr %t524 + %t526 = call i32 @lp_str_eq(ptr %t525, ptr @.str89) + %t527 = icmp ne i32 %t526, 0 + %t528 = zext i1 %t527 to i32 + store i32 %t528, ptr %t511 + br label %scend118 +scend118: + %t529 = load i32, ptr %t511 + %t530 = icmp ne i32 %t529, 0 + %t531 = zext i1 %t530 to i32 + store i32 %t531, ptr %t510 + br i1 %t530, label %sc119, label %scend120 +sc119: + %t543 = load ptr, ptr %t1 + %t544 = getelementptr inbounds %Cmp_Node, ptr %t543, i32 0, i32 1 + %t545 = load ptr, ptr %t544 + %t546 = call i32 @lp_str_eq(ptr %t545, ptr @.str90) + %t547 = icmp ne i32 %t546, 0 + %t548 = zext i1 %t547 to i32 + store i32 %t548, ptr %t542 + br i1 %t547, label %scend122, label %sc121 +sc121: + %t549 = load ptr, ptr %t1 + %t550 = getelementptr inbounds %Cmp_Node, ptr %t549, i32 0, i32 1 + %t551 = load ptr, ptr %t550 + %t552 = call i32 @lp_str_eq(ptr %t551, ptr @.str91) + %t553 = icmp ne i32 %t552, 0 + %t554 = zext i1 %t553 to i32 + store i32 %t554, ptr %t542 + br label %scend122 +scend122: + %t555 = load i32, ptr %t542 + %t556 = icmp ne i32 %t555, 0 + %t557 = zext i1 %t556 to i32 + store i32 %t557, ptr %t541 + br i1 %t556, label %scend124, label %sc123 +sc123: + %t558 = load ptr, ptr %t1 + %t559 = getelementptr inbounds %Cmp_Node, ptr %t558, i32 0, i32 1 + %t560 = load ptr, ptr %t559 + %t561 = call i32 @lp_str_eq(ptr %t560, ptr @.str92) + %t562 = icmp ne i32 %t561, 0 + %t563 = zext i1 %t562 to i32 + store i32 %t563, ptr %t541 + br label %scend124 +scend124: + %t564 = load i32, ptr %t541 + %t565 = icmp ne i32 %t564, 0 + %t566 = zext i1 %t565 to i32 + store i32 %t566, ptr %t540 + br i1 %t565, label %scend126, label %sc125 +sc125: + %t567 = load ptr, ptr %t1 + %t568 = getelementptr inbounds %Cmp_Node, ptr %t567, i32 0, i32 1 + %t569 = load ptr, ptr %t568 + %t570 = call i32 @lp_str_eq(ptr %t569, ptr @.str93) + %t571 = icmp ne i32 %t570, 0 + %t572 = zext i1 %t571 to i32 + store i32 %t572, ptr %t540 + br label %scend126 +scend126: + %t573 = load i32, ptr %t540 + %t574 = icmp ne i32 %t573, 0 + %t575 = zext i1 %t574 to i32 + store i32 %t575, ptr %t539 + br i1 %t574, label %scend128, label %sc127 +sc127: + %t576 = load ptr, ptr %t1 + %t577 = getelementptr inbounds %Cmp_Node, ptr %t576, i32 0, i32 1 + %t578 = load ptr, ptr %t577 + %t579 = call i32 @lp_str_eq(ptr %t578, ptr @.str94) + %t580 = icmp ne i32 %t579, 0 + %t581 = zext i1 %t580 to i32 + store i32 %t581, ptr %t539 + br label %scend128 +scend128: + %t582 = load i32, ptr %t539 + %t583 = icmp ne i32 %t582, 0 + %t584 = zext i1 %t583 to i32 + store i32 %t584, ptr %t538 + br i1 %t583, label %scend130, label %sc129 +sc129: + %t585 = load ptr, ptr %t1 + %t586 = getelementptr inbounds %Cmp_Node, ptr %t585, i32 0, i32 1 + %t587 = load ptr, ptr %t586 + %t588 = call i32 @lp_str_eq(ptr %t587, ptr @.str95) + %t589 = icmp ne i32 %t588, 0 + %t590 = zext i1 %t589 to i32 + store i32 %t590, ptr %t538 + br label %scend130 +scend130: + %t591 = load i32, ptr %t538 + %t592 = icmp ne i32 %t591, 0 + %t593 = zext i1 %t592 to i32 + store i32 %t593, ptr %t537 + br i1 %t592, label %scend132, label %sc131 +sc131: + %t594 = load ptr, ptr %t1 + %t595 = getelementptr inbounds %Cmp_Node, ptr %t594, i32 0, i32 1 + %t596 = load ptr, ptr %t595 + %t597 = call i32 @lp_str_eq(ptr %t596, ptr @.str96) + %t598 = icmp ne i32 %t597, 0 + %t599 = zext i1 %t598 to i32 + store i32 %t599, ptr %t537 + br label %scend132 +scend132: + %t600 = load i32, ptr %t537 + %t601 = icmp ne i32 %t600, 0 + %t602 = zext i1 %t601 to i32 + store i32 %t602, ptr %t536 + br i1 %t601, label %scend134, label %sc133 +sc133: + %t603 = load ptr, ptr %t1 + %t604 = getelementptr inbounds %Cmp_Node, ptr %t603, i32 0, i32 1 + %t605 = load ptr, ptr %t604 + %t606 = call i32 @lp_str_eq(ptr %t605, ptr @.str97) + %t607 = icmp ne i32 %t606, 0 + %t608 = zext i1 %t607 to i32 + store i32 %t608, ptr %t536 + br label %scend134 +scend134: + %t609 = load i32, ptr %t536 + %t610 = icmp ne i32 %t609, 0 + %t611 = zext i1 %t610 to i32 + store i32 %t611, ptr %t535 + br i1 %t610, label %scend136, label %sc135 +sc135: + %t612 = load ptr, ptr %t1 + %t613 = getelementptr inbounds %Cmp_Node, ptr %t612, i32 0, i32 1 + %t614 = load ptr, ptr %t613 + %t615 = call i32 @lp_str_eq(ptr %t614, ptr @.str98) + %t616 = icmp ne i32 %t615, 0 + %t617 = zext i1 %t616 to i32 + store i32 %t617, ptr %t535 + br label %scend136 +scend136: + %t618 = load i32, ptr %t535 + %t619 = icmp ne i32 %t618, 0 + %t620 = zext i1 %t619 to i32 + store i32 %t620, ptr %t534 + br i1 %t619, label %scend138, label %sc137 +sc137: + %t621 = load ptr, ptr %t1 + %t622 = getelementptr inbounds %Cmp_Node, ptr %t621, i32 0, i32 1 + %t623 = load ptr, ptr %t622 + %t624 = call i32 @lp_str_eq(ptr %t623, ptr @.str99) + %t625 = icmp ne i32 %t624, 0 + %t626 = zext i1 %t625 to i32 + store i32 %t626, ptr %t534 + br label %scend138 +scend138: + %t627 = load i32, ptr %t534 + %t628 = icmp ne i32 %t627, 0 + %t629 = zext i1 %t628 to i32 + store i32 %t629, ptr %t533 + br i1 %t628, label %scend140, label %sc139 +sc139: + %t630 = load ptr, ptr %t1 + %t631 = getelementptr inbounds %Cmp_Node, ptr %t630, i32 0, i32 1 + %t632 = load ptr, ptr %t631 + %t633 = call i32 @lp_str_eq(ptr %t632, ptr @.str100) + %t634 = icmp ne i32 %t633, 0 + %t635 = zext i1 %t634 to i32 + store i32 %t635, ptr %t533 + br label %scend140 +scend140: + %t636 = load i32, ptr %t533 + %t637 = icmp ne i32 %t636, 0 + %t638 = zext i1 %t637 to i32 + store i32 %t638, ptr %t532 + br i1 %t637, label %scend142, label %sc141 +sc141: + %t639 = load ptr, ptr %t1 + %t640 = getelementptr inbounds %Cmp_Node, ptr %t639, i32 0, i32 1 + %t641 = load ptr, ptr %t640 + %t642 = call i32 @lp_str_eq(ptr %t641, ptr @.str101) + %t643 = icmp ne i32 %t642, 0 + %t644 = zext i1 %t643 to i32 + store i32 %t644, ptr %t532 + br label %scend142 +scend142: + %t645 = load i32, ptr %t532 + %t646 = icmp ne i32 %t645, 0 + %t647 = zext i1 %t646 to i32 + store i32 %t647, ptr %t510 + br label %scend120 +scend120: + %t648 = load i32, ptr %t510 + %t649 = icmp ne i32 %t648, 0 + br i1 %t649, label %then143, label %ifend145 +then143: + store i32 1, ptr @g_g_uses_input + br label %ifend145 +ifend145: + %t652 = load ptr, ptr %t1 + %t653 = getelementptr inbounds %Cmp_Node, ptr %t652, i32 0, i32 4 + %t654 = load ptr, ptr %t653 + %t655 = getelementptr inbounds %Cmp_Node, ptr %t654, i32 0, i32 0 + %t656 = load i32, ptr %t655 + %t657 = icmp eq i32 %t656, 33 + %t658 = zext i1 %t657 to i32 + %t659 = icmp ne i32 %t658, 0 + %t660 = zext i1 %t659 to i32 + store i32 %t660, ptr %t651 + br i1 %t659, label %sc146, label %scend147 +sc146: + %t661 = load ptr, ptr %t1 + %t662 = getelementptr inbounds %Cmp_Node, ptr %t661, i32 0, i32 4 + %t663 = load ptr, ptr %t662 + %t664 = getelementptr inbounds %Cmp_Node, ptr %t663, i32 0, i32 1 + %t665 = load ptr, ptr %t664 + %t666 = call i32 @lp_str_eq(ptr %t665, ptr @.str102) + %t667 = icmp ne i32 %t666, 0 + %t668 = zext i1 %t667 to i32 + store i32 %t668, ptr %t651 + br label %scend147 +scend147: + %t669 = load i32, ptr %t651 + %t670 = icmp ne i32 %t669, 0 + %t671 = zext i1 %t670 to i32 + store i32 %t671, ptr %t650 + br i1 %t670, label %sc148, label %scend149 +sc148: + %t697 = load ptr, ptr %t1 + %t698 = getelementptr inbounds %Cmp_Node, ptr %t697, i32 0, i32 1 + %t699 = load ptr, ptr %t698 + %t700 = call i32 @lp_str_eq(ptr %t699, ptr @.str103) + %t701 = icmp ne i32 %t700, 0 + %t702 = zext i1 %t701 to i32 + store i32 %t702, ptr %t696 + br i1 %t701, label %scend151, label %sc150 +sc150: + %t703 = load ptr, ptr %t1 + %t704 = getelementptr inbounds %Cmp_Node, ptr %t703, i32 0, i32 1 + %t705 = load ptr, ptr %t704 + %t706 = call i32 @lp_str_eq(ptr %t705, ptr @.str104) + %t707 = icmp ne i32 %t706, 0 + %t708 = zext i1 %t707 to i32 + store i32 %t708, ptr %t696 + br label %scend151 +scend151: + %t709 = load i32, ptr %t696 + %t710 = icmp ne i32 %t709, 0 + %t711 = zext i1 %t710 to i32 + store i32 %t711, ptr %t695 + br i1 %t710, label %scend153, label %sc152 +sc152: + %t712 = load ptr, ptr %t1 + %t713 = getelementptr inbounds %Cmp_Node, ptr %t712, i32 0, i32 1 + %t714 = load ptr, ptr %t713 + %t715 = call i32 @lp_str_eq(ptr %t714, ptr @.str105) + %t716 = icmp ne i32 %t715, 0 + %t717 = zext i1 %t716 to i32 + store i32 %t717, ptr %t695 + br label %scend153 +scend153: + %t718 = load i32, ptr %t695 + %t719 = icmp ne i32 %t718, 0 + %t720 = zext i1 %t719 to i32 + store i32 %t720, ptr %t694 + br i1 %t719, label %scend155, label %sc154 +sc154: + %t721 = load ptr, ptr %t1 + %t722 = getelementptr inbounds %Cmp_Node, ptr %t721, i32 0, i32 1 + %t723 = load ptr, ptr %t722 + %t724 = call i32 @lp_str_eq(ptr %t723, ptr @.str106) + %t725 = icmp ne i32 %t724, 0 + %t726 = zext i1 %t725 to i32 + store i32 %t726, ptr %t694 + br label %scend155 +scend155: + %t727 = load i32, ptr %t694 + %t728 = icmp ne i32 %t727, 0 + %t729 = zext i1 %t728 to i32 + store i32 %t729, ptr %t693 + br i1 %t728, label %scend157, label %sc156 +sc156: + %t730 = load ptr, ptr %t1 + %t731 = getelementptr inbounds %Cmp_Node, ptr %t730, i32 0, i32 1 + %t732 = load ptr, ptr %t731 + %t733 = call i32 @lp_str_eq(ptr %t732, ptr @.str107) + %t734 = icmp ne i32 %t733, 0 + %t735 = zext i1 %t734 to i32 + store i32 %t735, ptr %t693 + br label %scend157 +scend157: + %t736 = load i32, ptr %t693 + %t737 = icmp ne i32 %t736, 0 + %t738 = zext i1 %t737 to i32 + store i32 %t738, ptr %t692 + br i1 %t737, label %scend159, label %sc158 +sc158: + %t739 = load ptr, ptr %t1 + %t740 = getelementptr inbounds %Cmp_Node, ptr %t739, i32 0, i32 1 + %t741 = load ptr, ptr %t740 + %t742 = call i32 @lp_str_eq(ptr %t741, ptr @.str108) + %t743 = icmp ne i32 %t742, 0 + %t744 = zext i1 %t743 to i32 + store i32 %t744, ptr %t692 + br label %scend159 +scend159: + %t745 = load i32, ptr %t692 + %t746 = icmp ne i32 %t745, 0 + %t747 = zext i1 %t746 to i32 + store i32 %t747, ptr %t691 + br i1 %t746, label %scend161, label %sc160 +sc160: + %t748 = load ptr, ptr %t1 + %t749 = getelementptr inbounds %Cmp_Node, ptr %t748, i32 0, i32 1 + %t750 = load ptr, ptr %t749 + %t751 = call i32 @lp_str_eq(ptr %t750, ptr @.str109) + %t752 = icmp ne i32 %t751, 0 + %t753 = zext i1 %t752 to i32 + store i32 %t753, ptr %t691 + br label %scend161 +scend161: + %t754 = load i32, ptr %t691 + %t755 = icmp ne i32 %t754, 0 + %t756 = zext i1 %t755 to i32 + store i32 %t756, ptr %t690 + br i1 %t755, label %scend163, label %sc162 +sc162: + %t757 = load ptr, ptr %t1 + %t758 = getelementptr inbounds %Cmp_Node, ptr %t757, i32 0, i32 1 + %t759 = load ptr, ptr %t758 + %t760 = call i32 @lp_str_eq(ptr %t759, ptr @.str110) + %t761 = icmp ne i32 %t760, 0 + %t762 = zext i1 %t761 to i32 + store i32 %t762, ptr %t690 + br label %scend163 +scend163: + %t763 = load i32, ptr %t690 + %t764 = icmp ne i32 %t763, 0 + %t765 = zext i1 %t764 to i32 + store i32 %t765, ptr %t689 + br i1 %t764, label %scend165, label %sc164 +sc164: + %t766 = load ptr, ptr %t1 + %t767 = getelementptr inbounds %Cmp_Node, ptr %t766, i32 0, i32 1 + %t768 = load ptr, ptr %t767 + %t769 = call i32 @lp_str_eq(ptr %t768, ptr @.str111) + %t770 = icmp ne i32 %t769, 0 + %t771 = zext i1 %t770 to i32 + store i32 %t771, ptr %t689 + br label %scend165 +scend165: + %t772 = load i32, ptr %t689 + %t773 = icmp ne i32 %t772, 0 + %t774 = zext i1 %t773 to i32 + store i32 %t774, ptr %t688 + br i1 %t773, label %scend167, label %sc166 +sc166: + %t775 = load ptr, ptr %t1 + %t776 = getelementptr inbounds %Cmp_Node, ptr %t775, i32 0, i32 1 + %t777 = load ptr, ptr %t776 + %t778 = call i32 @lp_str_eq(ptr %t777, ptr @.str112) + %t779 = icmp ne i32 %t778, 0 + %t780 = zext i1 %t779 to i32 + store i32 %t780, ptr %t688 + br label %scend167 +scend167: + %t781 = load i32, ptr %t688 + %t782 = icmp ne i32 %t781, 0 + %t783 = zext i1 %t782 to i32 + store i32 %t783, ptr %t687 + br i1 %t782, label %scend169, label %sc168 +sc168: + %t784 = load ptr, ptr %t1 + %t785 = getelementptr inbounds %Cmp_Node, ptr %t784, i32 0, i32 1 + %t786 = load ptr, ptr %t785 + %t787 = call i32 @lp_str_eq(ptr %t786, ptr @.str113) + %t788 = icmp ne i32 %t787, 0 + %t789 = zext i1 %t788 to i32 + store i32 %t789, ptr %t687 + br label %scend169 +scend169: + %t790 = load i32, ptr %t687 + %t791 = icmp ne i32 %t790, 0 + %t792 = zext i1 %t791 to i32 + store i32 %t792, ptr %t686 + br i1 %t791, label %scend171, label %sc170 +sc170: + %t793 = load ptr, ptr %t1 + %t794 = getelementptr inbounds %Cmp_Node, ptr %t793, i32 0, i32 1 + %t795 = load ptr, ptr %t794 + %t796 = call i32 @lp_str_eq(ptr %t795, ptr @.str114) + %t797 = icmp ne i32 %t796, 0 + %t798 = zext i1 %t797 to i32 + store i32 %t798, ptr %t686 + br label %scend171 +scend171: + %t799 = load i32, ptr %t686 + %t800 = icmp ne i32 %t799, 0 + %t801 = zext i1 %t800 to i32 + store i32 %t801, ptr %t685 + br i1 %t800, label %scend173, label %sc172 +sc172: + %t802 = load ptr, ptr %t1 + %t803 = getelementptr inbounds %Cmp_Node, ptr %t802, i32 0, i32 1 + %t804 = load ptr, ptr %t803 + %t805 = call i32 @lp_str_eq(ptr %t804, ptr @.str115) + %t806 = icmp ne i32 %t805, 0 + %t807 = zext i1 %t806 to i32 + store i32 %t807, ptr %t685 + br label %scend173 +scend173: + %t808 = load i32, ptr %t685 + %t809 = icmp ne i32 %t808, 0 + %t810 = zext i1 %t809 to i32 + store i32 %t810, ptr %t684 + br i1 %t809, label %scend175, label %sc174 +sc174: + %t811 = load ptr, ptr %t1 + %t812 = getelementptr inbounds %Cmp_Node, ptr %t811, i32 0, i32 1 + %t813 = load ptr, ptr %t812 + %t814 = call i32 @lp_str_eq(ptr %t813, ptr @.str116) + %t815 = icmp ne i32 %t814, 0 + %t816 = zext i1 %t815 to i32 + store i32 %t816, ptr %t684 + br label %scend175 +scend175: + %t817 = load i32, ptr %t684 + %t818 = icmp ne i32 %t817, 0 + %t819 = zext i1 %t818 to i32 + store i32 %t819, ptr %t683 + br i1 %t818, label %scend177, label %sc176 +sc176: + %t820 = load ptr, ptr %t1 + %t821 = getelementptr inbounds %Cmp_Node, ptr %t820, i32 0, i32 1 + %t822 = load ptr, ptr %t821 + %t823 = call i32 @lp_str_eq(ptr %t822, ptr @.str117) + %t824 = icmp ne i32 %t823, 0 + %t825 = zext i1 %t824 to i32 + store i32 %t825, ptr %t683 + br label %scend177 +scend177: + %t826 = load i32, ptr %t683 + %t827 = icmp ne i32 %t826, 0 + %t828 = zext i1 %t827 to i32 + store i32 %t828, ptr %t682 + br i1 %t827, label %scend179, label %sc178 +sc178: + %t829 = load ptr, ptr %t1 + %t830 = getelementptr inbounds %Cmp_Node, ptr %t829, i32 0, i32 1 + %t831 = load ptr, ptr %t830 + %t832 = call i32 @lp_str_eq(ptr %t831, ptr @.str118) + %t833 = icmp ne i32 %t832, 0 + %t834 = zext i1 %t833 to i32 + store i32 %t834, ptr %t682 + br label %scend179 +scend179: + %t835 = load i32, ptr %t682 + %t836 = icmp ne i32 %t835, 0 + %t837 = zext i1 %t836 to i32 + store i32 %t837, ptr %t681 + br i1 %t836, label %scend181, label %sc180 +sc180: + %t838 = load ptr, ptr %t1 + %t839 = getelementptr inbounds %Cmp_Node, ptr %t838, i32 0, i32 1 + %t840 = load ptr, ptr %t839 + %t841 = call i32 @lp_str_eq(ptr %t840, ptr @.str119) + %t842 = icmp ne i32 %t841, 0 + %t843 = zext i1 %t842 to i32 + store i32 %t843, ptr %t681 + br label %scend181 +scend181: + %t844 = load i32, ptr %t681 + %t845 = icmp ne i32 %t844, 0 + %t846 = zext i1 %t845 to i32 + store i32 %t846, ptr %t680 + br i1 %t845, label %scend183, label %sc182 +sc182: + %t847 = load ptr, ptr %t1 + %t848 = getelementptr inbounds %Cmp_Node, ptr %t847, i32 0, i32 1 + %t849 = load ptr, ptr %t848 + %t850 = call i32 @lp_str_eq(ptr %t849, ptr @.str120) + %t851 = icmp ne i32 %t850, 0 + %t852 = zext i1 %t851 to i32 + store i32 %t852, ptr %t680 + br label %scend183 +scend183: + %t853 = load i32, ptr %t680 + %t854 = icmp ne i32 %t853, 0 + %t855 = zext i1 %t854 to i32 + store i32 %t855, ptr %t679 + br i1 %t854, label %scend185, label %sc184 +sc184: + %t856 = load ptr, ptr %t1 + %t857 = getelementptr inbounds %Cmp_Node, ptr %t856, i32 0, i32 1 + %t858 = load ptr, ptr %t857 + %t859 = call i32 @lp_str_eq(ptr %t858, ptr @.str121) + %t860 = icmp ne i32 %t859, 0 + %t861 = zext i1 %t860 to i32 + store i32 %t861, ptr %t679 + br label %scend185 +scend185: + %t862 = load i32, ptr %t679 + %t863 = icmp ne i32 %t862, 0 + %t864 = zext i1 %t863 to i32 + store i32 %t864, ptr %t678 + br i1 %t863, label %scend187, label %sc186 +sc186: + %t865 = load ptr, ptr %t1 + %t866 = getelementptr inbounds %Cmp_Node, ptr %t865, i32 0, i32 1 + %t867 = load ptr, ptr %t866 + %t868 = call i32 @lp_str_eq(ptr %t867, ptr @.str122) + %t869 = icmp ne i32 %t868, 0 + %t870 = zext i1 %t869 to i32 + store i32 %t870, ptr %t678 + br label %scend187 +scend187: + %t871 = load i32, ptr %t678 + %t872 = icmp ne i32 %t871, 0 + %t873 = zext i1 %t872 to i32 + store i32 %t873, ptr %t677 + br i1 %t872, label %scend189, label %sc188 +sc188: + %t874 = load ptr, ptr %t1 + %t875 = getelementptr inbounds %Cmp_Node, ptr %t874, i32 0, i32 1 + %t876 = load ptr, ptr %t875 + %t877 = call i32 @lp_str_eq(ptr %t876, ptr @.str123) + %t878 = icmp ne i32 %t877, 0 + %t879 = zext i1 %t878 to i32 + store i32 %t879, ptr %t677 + br label %scend189 +scend189: + %t880 = load i32, ptr %t677 + %t881 = icmp ne i32 %t880, 0 + %t882 = zext i1 %t881 to i32 + store i32 %t882, ptr %t676 + br i1 %t881, label %scend191, label %sc190 +sc190: + %t883 = load ptr, ptr %t1 + %t884 = getelementptr inbounds %Cmp_Node, ptr %t883, i32 0, i32 1 + %t885 = load ptr, ptr %t884 + %t886 = call i32 @lp_str_eq(ptr %t885, ptr @.str124) + %t887 = icmp ne i32 %t886, 0 + %t888 = zext i1 %t887 to i32 + store i32 %t888, ptr %t676 + br label %scend191 +scend191: + %t889 = load i32, ptr %t676 + %t890 = icmp ne i32 %t889, 0 + %t891 = zext i1 %t890 to i32 + store i32 %t891, ptr %t675 + br i1 %t890, label %scend193, label %sc192 +sc192: + %t892 = load ptr, ptr %t1 + %t893 = getelementptr inbounds %Cmp_Node, ptr %t892, i32 0, i32 1 + %t894 = load ptr, ptr %t893 + %t895 = call i32 @lp_str_eq(ptr %t894, ptr @.str125) + %t896 = icmp ne i32 %t895, 0 + %t897 = zext i1 %t896 to i32 + store i32 %t897, ptr %t675 + br label %scend193 +scend193: + %t898 = load i32, ptr %t675 + %t899 = icmp ne i32 %t898, 0 + %t900 = zext i1 %t899 to i32 + store i32 %t900, ptr %t674 + br i1 %t899, label %scend195, label %sc194 +sc194: + %t901 = load ptr, ptr %t1 + %t902 = getelementptr inbounds %Cmp_Node, ptr %t901, i32 0, i32 1 + %t903 = load ptr, ptr %t902 + %t904 = call i32 @lp_str_eq(ptr %t903, ptr @.str126) + %t905 = icmp ne i32 %t904, 0 + %t906 = zext i1 %t905 to i32 + store i32 %t906, ptr %t674 + br label %scend195 +scend195: + %t907 = load i32, ptr %t674 + %t908 = icmp ne i32 %t907, 0 + %t909 = zext i1 %t908 to i32 + store i32 %t909, ptr %t673 + br i1 %t908, label %scend197, label %sc196 +sc196: + %t910 = load ptr, ptr %t1 + %t911 = getelementptr inbounds %Cmp_Node, ptr %t910, i32 0, i32 1 + %t912 = load ptr, ptr %t911 + %t913 = call i32 @lp_str_eq(ptr %t912, ptr @.str127) + %t914 = icmp ne i32 %t913, 0 + %t915 = zext i1 %t914 to i32 + store i32 %t915, ptr %t673 + br label %scend197 +scend197: + %t916 = load i32, ptr %t673 + %t917 = icmp ne i32 %t916, 0 + %t918 = zext i1 %t917 to i32 + store i32 %t918, ptr %t672 + br i1 %t917, label %scend199, label %sc198 +sc198: + %t919 = load ptr, ptr %t1 + %t920 = getelementptr inbounds %Cmp_Node, ptr %t919, i32 0, i32 1 + %t921 = load ptr, ptr %t920 + %t922 = call i32 @lp_str_eq(ptr %t921, ptr @.str128) + %t923 = icmp ne i32 %t922, 0 + %t924 = zext i1 %t923 to i32 + store i32 %t924, ptr %t672 + br label %scend199 +scend199: + %t925 = load i32, ptr %t672 + %t926 = icmp ne i32 %t925, 0 + %t927 = zext i1 %t926 to i32 + store i32 %t927, ptr %t650 + br label %scend149 +scend149: + %t928 = load i32, ptr %t650 + %t929 = icmp ne i32 %t928, 0 + br i1 %t929, label %then200, label %ifend202 +then200: + store i32 1, ptr @g_g_uses_input + br label %ifend202 +ifend202: + %t932 = load ptr, ptr %t1 + %t933 = getelementptr inbounds %Cmp_Node, ptr %t932, i32 0, i32 4 + %t934 = load ptr, ptr %t933 + %t935 = getelementptr inbounds %Cmp_Node, ptr %t934, i32 0, i32 0 + %t936 = load i32, ptr %t935 + %t937 = icmp eq i32 %t936, 33 + %t938 = zext i1 %t937 to i32 + %t939 = icmp ne i32 %t938, 0 + %t940 = zext i1 %t939 to i32 + store i32 %t940, ptr %t931 + br i1 %t939, label %sc203, label %scend204 +sc203: + %t941 = load ptr, ptr %t1 + %t942 = getelementptr inbounds %Cmp_Node, ptr %t941, i32 0, i32 4 + %t943 = load ptr, ptr %t942 + %t944 = getelementptr inbounds %Cmp_Node, ptr %t943, i32 0, i32 1 + %t945 = load ptr, ptr %t944 + %t946 = call i32 @lp_str_eq(ptr %t945, ptr @.str129) + %t947 = icmp ne i32 %t946, 0 + %t948 = zext i1 %t947 to i32 + store i32 %t948, ptr %t931 + br label %scend204 +scend204: + %t949 = load i32, ptr %t931 + %t950 = icmp ne i32 %t949, 0 + %t951 = zext i1 %t950 to i32 + store i32 %t951, ptr %t930 + br i1 %t950, label %sc205, label %scend206 +sc205: + %t955 = load ptr, ptr %t1 + %t956 = getelementptr inbounds %Cmp_Node, ptr %t955, i32 0, i32 1 + %t957 = load ptr, ptr %t956 + %t958 = call i32 @lp_str_eq(ptr %t957, ptr @.str130) + %t959 = icmp ne i32 %t958, 0 + %t960 = zext i1 %t959 to i32 + store i32 %t960, ptr %t954 + br i1 %t959, label %scend208, label %sc207 +sc207: + %t961 = load ptr, ptr %t1 + %t962 = getelementptr inbounds %Cmp_Node, ptr %t961, i32 0, i32 1 + %t963 = load ptr, ptr %t962 + %t964 = call i32 @lp_str_eq(ptr %t963, ptr @.str131) + %t965 = icmp ne i32 %t964, 0 + %t966 = zext i1 %t965 to i32 + store i32 %t966, ptr %t954 + br label %scend208 +scend208: + %t967 = load i32, ptr %t954 + %t968 = icmp ne i32 %t967, 0 + %t969 = zext i1 %t968 to i32 + store i32 %t969, ptr %t953 + br i1 %t968, label %scend210, label %sc209 +sc209: + %t970 = load ptr, ptr %t1 + %t971 = getelementptr inbounds %Cmp_Node, ptr %t970, i32 0, i32 1 + %t972 = load ptr, ptr %t971 + %t973 = call i32 @lp_str_eq(ptr %t972, ptr @.str132) + %t974 = icmp ne i32 %t973, 0 + %t975 = zext i1 %t974 to i32 + store i32 %t975, ptr %t953 + br label %scend210 +scend210: + %t976 = load i32, ptr %t953 + %t977 = icmp ne i32 %t976, 0 + %t978 = zext i1 %t977 to i32 + store i32 %t978, ptr %t952 + br i1 %t977, label %scend212, label %sc211 +sc211: + %t979 = load ptr, ptr %t1 + %t980 = getelementptr inbounds %Cmp_Node, ptr %t979, i32 0, i32 1 + %t981 = load ptr, ptr %t980 + %t982 = call i32 @lp_str_eq(ptr %t981, ptr @.str133) + %t983 = icmp ne i32 %t982, 0 + %t984 = zext i1 %t983 to i32 + store i32 %t984, ptr %t952 + br label %scend212 +scend212: + %t985 = load i32, ptr %t952 + %t986 = icmp ne i32 %t985, 0 + %t987 = zext i1 %t986 to i32 + store i32 %t987, ptr %t930 + br label %scend206 +scend206: + %t988 = load i32, ptr %t930 + %t989 = icmp ne i32 %t988, 0 + br i1 %t989, label %then213, label %ifend215 +then213: + store i32 1, ptr @g_g_uses_anim_rt + br label %ifend215 +ifend215: + %t992 = load ptr, ptr %t1 + %t993 = getelementptr inbounds %Cmp_Node, ptr %t992, i32 0, i32 4 + %t994 = load ptr, ptr %t993 + %t995 = getelementptr inbounds %Cmp_Node, ptr %t994, i32 0, i32 0 + %t996 = load i32, ptr %t995 + %t997 = icmp eq i32 %t996, 33 + %t998 = zext i1 %t997 to i32 + %t999 = icmp ne i32 %t998, 0 + %t1000 = zext i1 %t999 to i32 + store i32 %t1000, ptr %t991 + br i1 %t999, label %sc216, label %scend217 +sc216: + %t1001 = load ptr, ptr %t1 + %t1002 = getelementptr inbounds %Cmp_Node, ptr %t1001, i32 0, i32 4 + %t1003 = load ptr, ptr %t1002 + %t1004 = getelementptr inbounds %Cmp_Node, ptr %t1003, i32 0, i32 1 + %t1005 = load ptr, ptr %t1004 + %t1006 = call i32 @lp_str_eq(ptr %t1005, ptr @.str134) + %t1007 = icmp ne i32 %t1006, 0 + %t1008 = zext i1 %t1007 to i32 + store i32 %t1008, ptr %t991 + br label %scend217 +scend217: + %t1009 = load i32, ptr %t991 + %t1010 = icmp ne i32 %t1009, 0 + %t1011 = zext i1 %t1010 to i32 + store i32 %t1011, ptr %t990 + br i1 %t1010, label %sc218, label %scend219 +sc218: + %t1012 = load ptr, ptr %t1 + %t1013 = getelementptr inbounds %Cmp_Node, ptr %t1012, i32 0, i32 1 + %t1014 = load ptr, ptr %t1013 + %t1015 = call i32 @lp_str_eq(ptr %t1014, ptr @.str135) + %t1016 = icmp ne i32 %t1015, 0 + %t1017 = zext i1 %t1016 to i32 + store i32 %t1017, ptr %t990 + br label %scend219 +scend219: + %t1018 = load i32, ptr %t990 + %t1019 = icmp ne i32 %t1018, 0 + br i1 %t1019, label %then220, label %ifend222 +then220: + store i32 1, ptr @g_g_uses_anim_rt + br label %ifend222 +ifend222: + %t1021 = load ptr, ptr %t1 + %t1022 = getelementptr inbounds %Cmp_Node, ptr %t1021, i32 0, i32 4 + %t1023 = load ptr, ptr %t1022 + %t1024 = getelementptr inbounds %Cmp_Node, ptr %t1023, i32 0, i32 0 + %t1025 = load i32, ptr %t1024 + %t1026 = icmp eq i32 %t1025, 33 + %t1027 = zext i1 %t1026 to i32 + %t1028 = icmp ne i32 %t1027, 0 + %t1029 = zext i1 %t1028 to i32 + store i32 %t1029, ptr %t1020 + br i1 %t1028, label %sc223, label %scend224 +sc223: + %t1030 = load ptr, ptr %t1 + %t1031 = getelementptr inbounds %Cmp_Node, ptr %t1030, i32 0, i32 4 + %t1032 = load ptr, ptr %t1031 + %t1033 = getelementptr inbounds %Cmp_Node, ptr %t1032, i32 0, i32 1 + %t1034 = load ptr, ptr %t1033 + %t1035 = call i32 @lp_str_eq(ptr %t1034, ptr @.str136) + %t1036 = icmp ne i32 %t1035, 0 + %t1037 = zext i1 %t1036 to i32 + store i32 %t1037, ptr %t1020 + br label %scend224 +scend224: + %t1038 = load i32, ptr %t1020 + %t1039 = icmp ne i32 %t1038, 0 + br i1 %t1039, label %then225, label %ifend227 +then225: + store i32 1, ptr @g_g_uses_audio + br label %ifend227 +ifend227: + %t1041 = load ptr, ptr %t1 + %t1042 = getelementptr inbounds %Cmp_Node, ptr %t1041, i32 0, i32 4 + %t1043 = load ptr, ptr %t1042 + %t1044 = getelementptr inbounds %Cmp_Node, ptr %t1043, i32 0, i32 0 + %t1045 = load i32, ptr %t1044 + %t1046 = icmp eq i32 %t1045, 33 + %t1047 = zext i1 %t1046 to i32 + %t1048 = icmp ne i32 %t1047, 0 + %t1049 = zext i1 %t1048 to i32 + store i32 %t1049, ptr %t1040 + br i1 %t1048, label %sc228, label %scend229 +sc228: + %t1050 = load ptr, ptr %t1 + %t1051 = getelementptr inbounds %Cmp_Node, ptr %t1050, i32 0, i32 4 + %t1052 = load ptr, ptr %t1051 + %t1053 = getelementptr inbounds %Cmp_Node, ptr %t1052, i32 0, i32 1 + %t1054 = load ptr, ptr %t1053 + %t1055 = call i32 @lp_str_eq(ptr %t1054, ptr @.str137) + %t1056 = icmp ne i32 %t1055, 0 + %t1057 = zext i1 %t1056 to i32 + store i32 %t1057, ptr %t1040 + br label %scend229 +scend229: + %t1058 = load i32, ptr %t1040 + %t1059 = icmp ne i32 %t1058, 0 + br i1 %t1059, label %then230, label %ifend232 +then230: + store i32 1, ptr @g_g_uses_http + br label %ifend232 +ifend232: + %t1061 = load ptr, ptr %t1 + %t1062 = getelementptr inbounds %Cmp_Node, ptr %t1061, i32 0, i32 4 + %t1063 = load ptr, ptr %t1062 + %t1064 = getelementptr inbounds %Cmp_Node, ptr %t1063, i32 0, i32 0 + %t1065 = load i32, ptr %t1064 + %t1066 = icmp eq i32 %t1065, 33 + %t1067 = zext i1 %t1066 to i32 + %t1068 = icmp ne i32 %t1067, 0 + %t1069 = zext i1 %t1068 to i32 + store i32 %t1069, ptr %t1060 + br i1 %t1068, label %sc233, label %scend234 +sc233: + %t1070 = load ptr, ptr %t1 + %t1071 = getelementptr inbounds %Cmp_Node, ptr %t1070, i32 0, i32 4 + %t1072 = load ptr, ptr %t1071 + %t1073 = getelementptr inbounds %Cmp_Node, ptr %t1072, i32 0, i32 1 + %t1074 = load ptr, ptr %t1073 + %t1075 = call i32 @lp_str_eq(ptr %t1074, ptr @.str138) + %t1076 = icmp ne i32 %t1075, 0 + %t1077 = zext i1 %t1076 to i32 + store i32 %t1077, ptr %t1060 + br label %scend234 +scend234: + %t1078 = load i32, ptr %t1060 + %t1079 = icmp ne i32 %t1078, 0 + br i1 %t1079, label %then235, label %ifend237 +then235: + store i32 1, ptr @g_g_uses_gl + br label %ifend237 +ifend237: + %t1082 = load ptr, ptr %t1 + %t1083 = getelementptr inbounds %Cmp_Node, ptr %t1082, i32 0, i32 4 + %t1084 = load ptr, ptr %t1083 + %t1085 = getelementptr inbounds %Cmp_Node, ptr %t1084, i32 0, i32 0 + %t1086 = load i32, ptr %t1085 + %t1087 = icmp eq i32 %t1086, 33 + %t1088 = zext i1 %t1087 to i32 + %t1089 = icmp ne i32 %t1088, 0 + %t1090 = zext i1 %t1089 to i32 + store i32 %t1090, ptr %t1081 + br i1 %t1089, label %sc238, label %scend239 +sc238: + %t1091 = load ptr, ptr %t1 + %t1092 = getelementptr inbounds %Cmp_Node, ptr %t1091, i32 0, i32 4 + %t1093 = load ptr, ptr %t1092 + %t1094 = getelementptr inbounds %Cmp_Node, ptr %t1093, i32 0, i32 1 + %t1095 = load ptr, ptr %t1094 + %t1096 = call i32 @lp_str_eq(ptr %t1095, ptr @.str139) + %t1097 = icmp ne i32 %t1096, 0 + %t1098 = zext i1 %t1097 to i32 + store i32 %t1098, ptr %t1081 + br label %scend239 +scend239: + %t1099 = load i32, ptr %t1081 + %t1100 = icmp ne i32 %t1099, 0 + %t1101 = zext i1 %t1100 to i32 + store i32 %t1101, ptr %t1080 + br i1 %t1100, label %sc240, label %scend241 +sc240: + %t1107 = load ptr, ptr %t1 + %t1108 = getelementptr inbounds %Cmp_Node, ptr %t1107, i32 0, i32 1 + %t1109 = load ptr, ptr %t1108 + %t1110 = call i32 @lp_str_eq(ptr %t1109, ptr @.str140) + %t1111 = icmp ne i32 %t1110, 0 + %t1112 = zext i1 %t1111 to i32 + store i32 %t1112, ptr %t1106 + br i1 %t1111, label %scend243, label %sc242 +sc242: + %t1113 = load ptr, ptr %t1 + %t1114 = getelementptr inbounds %Cmp_Node, ptr %t1113, i32 0, i32 1 + %t1115 = load ptr, ptr %t1114 + %t1116 = call i32 @lp_str_eq(ptr %t1115, ptr @.str141) + %t1117 = icmp ne i32 %t1116, 0 + %t1118 = zext i1 %t1117 to i32 + store i32 %t1118, ptr %t1106 + br label %scend243 +scend243: + %t1119 = load i32, ptr %t1106 + %t1120 = icmp ne i32 %t1119, 0 + %t1121 = zext i1 %t1120 to i32 + store i32 %t1121, ptr %t1105 + br i1 %t1120, label %scend245, label %sc244 +sc244: + %t1122 = load ptr, ptr %t1 + %t1123 = getelementptr inbounds %Cmp_Node, ptr %t1122, i32 0, i32 1 + %t1124 = load ptr, ptr %t1123 + %t1125 = call i32 @lp_str_eq(ptr %t1124, ptr @.str142) + %t1126 = icmp ne i32 %t1125, 0 + %t1127 = zext i1 %t1126 to i32 + store i32 %t1127, ptr %t1105 + br label %scend245 +scend245: + %t1128 = load i32, ptr %t1105 + %t1129 = icmp ne i32 %t1128, 0 + %t1130 = zext i1 %t1129 to i32 + store i32 %t1130, ptr %t1104 + br i1 %t1129, label %scend247, label %sc246 +sc246: + %t1131 = load ptr, ptr %t1 + %t1132 = getelementptr inbounds %Cmp_Node, ptr %t1131, i32 0, i32 1 + %t1133 = load ptr, ptr %t1132 + %t1134 = call i32 @lp_str_eq(ptr %t1133, ptr @.str143) + %t1135 = icmp ne i32 %t1134, 0 + %t1136 = zext i1 %t1135 to i32 + store i32 %t1136, ptr %t1104 + br label %scend247 +scend247: + %t1137 = load i32, ptr %t1104 + %t1138 = icmp ne i32 %t1137, 0 + %t1139 = zext i1 %t1138 to i32 + store i32 %t1139, ptr %t1103 + br i1 %t1138, label %scend249, label %sc248 +sc248: + %t1140 = load ptr, ptr %t1 + %t1141 = getelementptr inbounds %Cmp_Node, ptr %t1140, i32 0, i32 1 + %t1142 = load ptr, ptr %t1141 + %t1143 = call i32 @lp_str_eq(ptr %t1142, ptr @.str144) + %t1144 = icmp ne i32 %t1143, 0 + %t1145 = zext i1 %t1144 to i32 + store i32 %t1145, ptr %t1103 + br label %scend249 +scend249: + %t1146 = load i32, ptr %t1103 + %t1147 = icmp ne i32 %t1146, 0 + %t1148 = zext i1 %t1147 to i32 + store i32 %t1148, ptr %t1102 + br i1 %t1147, label %scend251, label %sc250 +sc250: + %t1149 = load ptr, ptr %t1 + %t1150 = getelementptr inbounds %Cmp_Node, ptr %t1149, i32 0, i32 1 + %t1151 = load ptr, ptr %t1150 + %t1152 = call i32 @lp_str_eq(ptr %t1151, ptr @.str145) + %t1153 = icmp ne i32 %t1152, 0 + %t1154 = zext i1 %t1153 to i32 + store i32 %t1154, ptr %t1102 + br label %scend251 +scend251: + %t1155 = load i32, ptr %t1102 + %t1156 = icmp ne i32 %t1155, 0 + %t1157 = zext i1 %t1156 to i32 + store i32 %t1157, ptr %t1080 + br label %scend241 +scend241: + %t1158 = load i32, ptr %t1080 + %t1159 = icmp ne i32 %t1158, 0 + br i1 %t1159, label %then252, label %ifend254 +then252: + store i32 1, ptr @g_g_uses_tween_rt + br label %ifend254 +ifend254: + %t1161 = load ptr, ptr %t1 + %t1162 = getelementptr inbounds %Cmp_Node, ptr %t1161, i32 0, i32 4 + %t1163 = load ptr, ptr %t1162 + %t1164 = getelementptr inbounds %Cmp_Node, ptr %t1163, i32 0, i32 0 + %t1165 = load i32, ptr %t1164 + %t1166 = icmp eq i32 %t1165, 33 + %t1167 = zext i1 %t1166 to i32 + %t1168 = icmp ne i32 %t1167, 0 + %t1169 = zext i1 %t1168 to i32 + store i32 %t1169, ptr %t1160 + br i1 %t1168, label %sc255, label %scend256 +sc255: + %t1170 = load ptr, ptr %t1 + %t1171 = getelementptr inbounds %Cmp_Node, ptr %t1170, i32 0, i32 4 + %t1172 = load ptr, ptr %t1171 + %t1173 = getelementptr inbounds %Cmp_Node, ptr %t1172, i32 0, i32 1 + %t1174 = load ptr, ptr %t1173 + %t1175 = call i32 @lp_str_eq(ptr %t1174, ptr @.str146) + %t1176 = icmp ne i32 %t1175, 0 + %t1177 = zext i1 %t1176 to i32 + store i32 %t1177, ptr %t1160 + br label %scend256 +scend256: + %t1178 = load i32, ptr %t1160 + %t1179 = icmp ne i32 %t1178, 0 + br i1 %t1179, label %then257, label %ifend259 +then257: + store i32 1, ptr @g_g_uses_fx + br label %ifend259 +ifend259: + br label %ifend5 +else4: + %t1180 = call i32 @fn_is_op(ptr @.str147) + %t1181 = icmp ne i32 %t1180, 0 + br i1 %t1181, label %then260, label %else261 +then260: + %t1182 = load i32, ptr @g_pi + %t1183 = add i32 %t1182, 1 + store i32 %t1183, ptr @g_pi + %t1184 = call ptr @fn_expr() + store ptr %t1184, ptr %t1185 + %t1186 = call i32 @fn_is_op(ptr @.str148) + %t1187 = icmp ne i32 %t1186, 0 + br i1 %t1187, label %then263, label %else264 +then263: + %t1188 = load i32, ptr @g_pi + %t1189 = add i32 %t1188, 1 + store i32 %t1189, ptr @g_pi + %t1190 = call ptr @fn_node(i32 44) + store ptr %t1190, ptr %t1191 + %t1192 = load ptr, ptr %t1191 + %t1193 = getelementptr inbounds %Cmp_Node, ptr %t1192, i32 0, i32 4 + %t1194 = load ptr, ptr %t1 + store ptr %t1194, ptr %t1193 + %t1195 = load ptr, ptr %t1191 + %t1196 = getelementptr inbounds %Cmp_Node, ptr %t1195, i32 0, i32 5 + %t1197 = load ptr, ptr %t1185 + store ptr %t1197, ptr %t1196 + %t1198 = load ptr, ptr %t1191 + %t1199 = getelementptr inbounds %Cmp_Node, ptr %t1198, i32 0, i32 6 + %t1200 = call ptr @fn_expr() + store ptr %t1200, ptr %t1199 + call void @fn_eat_op(ptr @.str149) + %t1201 = load ptr, ptr %t1191 + store ptr %t1201, ptr %t1 + br label %ifend265 +else264: + %t1202 = call ptr @fn_node(i32 36) + store ptr %t1202, ptr %t1203 + %t1204 = load ptr, ptr %t1203 + %t1205 = getelementptr inbounds %Cmp_Node, ptr %t1204, i32 0, i32 4 + %t1206 = load ptr, ptr %t1 + store ptr %t1206, ptr %t1205 + %t1207 = load ptr, ptr %t1203 + %t1208 = getelementptr inbounds %Cmp_Node, ptr %t1207, i32 0, i32 5 + %t1209 = load ptr, ptr %t1185 + store ptr %t1209, ptr %t1208 + call void @fn_eat_op(ptr @.str150) + %t1210 = load ptr, ptr %t1203 + store ptr %t1210, ptr %t1 + br label %ifend265 +ifend265: + br label %ifend262 +else261: + %t1211 = call i32 @fn_is_op(ptr @.str151) + %t1212 = icmp ne i32 %t1211, 0 + br i1 %t1212, label %then266, label %else267 +then266: + %t1213 = call ptr @fn_node(i32 34) + store ptr %t1213, ptr %t1214 + %t1215 = load ptr, ptr %t1214 + %t1216 = getelementptr inbounds %Cmp_Node, ptr %t1215, i32 0, i32 4 + %t1217 = load ptr, ptr %t1 + store ptr %t1217, ptr %t1216 + %t1218 = load ptr, ptr %t1214 + %t1219 = getelementptr inbounds %Cmp_Node, ptr %t1218, i32 0, i32 8 + %t1220 = load ptr, ptr @g_toks + %t1221 = getelementptr inbounds %LSlice, ptr %t1220, i32 0, i32 0 + %t1222 = load ptr, ptr %t1221 + %t1223 = load i32, ptr @g_pi + %t1224 = getelementptr inbounds ptr, ptr %t1222, i32 %t1223 + %t1225 = load ptr, ptr %t1224 + %t1226 = getelementptr inbounds %Cmp_Tok, ptr %t1225, i32 0, i32 3 + %t1227 = load i32, ptr %t1226 + store i32 %t1227, ptr %t1219 + %t1228 = load ptr, ptr %t1214 + call void @fn_args_call(ptr %t1228) + %t1229 = load ptr, ptr %t1214 + store ptr %t1229, ptr %t1 + %t1231 = load ptr, ptr %t1214 + %t1232 = getelementptr inbounds %Cmp_Node, ptr %t1231, i32 0, i32 4 + %t1233 = load ptr, ptr %t1232 + %t1234 = getelementptr inbounds %Cmp_Node, ptr %t1233, i32 0, i32 0 + %t1235 = load i32, ptr %t1234 + %t1236 = icmp eq i32 %t1235, 33 + %t1237 = zext i1 %t1236 to i32 + %t1238 = icmp ne i32 %t1237, 0 + %t1239 = zext i1 %t1238 to i32 + store i32 %t1239, ptr %t1230 + br i1 %t1238, label %sc269, label %scend270 +sc269: + %t1241 = load ptr, ptr %t1214 + %t1242 = getelementptr inbounds %Cmp_Node, ptr %t1241, i32 0, i32 4 + %t1243 = load ptr, ptr %t1242 + %t1244 = getelementptr inbounds %Cmp_Node, ptr %t1243, i32 0, i32 1 + %t1245 = load ptr, ptr %t1244 + %t1246 = call i32 @lp_str_eq(ptr %t1245, ptr @.str152) + %t1247 = icmp ne i32 %t1246, 0 + %t1248 = zext i1 %t1247 to i32 + store i32 %t1248, ptr %t1240 + br i1 %t1247, label %scend272, label %sc271 +sc271: + %t1249 = load ptr, ptr %t1214 + %t1250 = getelementptr inbounds %Cmp_Node, ptr %t1249, i32 0, i32 4 + %t1251 = load ptr, ptr %t1250 + %t1252 = getelementptr inbounds %Cmp_Node, ptr %t1251, i32 0, i32 1 + %t1253 = load ptr, ptr %t1252 + %t1254 = call i32 @lp_str_eq(ptr %t1253, ptr @.str153) + %t1255 = icmp ne i32 %t1254, 0 + %t1256 = zext i1 %t1255 to i32 + store i32 %t1256, ptr %t1240 + br label %scend272 +scend272: + %t1257 = load i32, ptr %t1240 + %t1258 = icmp ne i32 %t1257, 0 + %t1259 = zext i1 %t1258 to i32 + store i32 %t1259, ptr %t1230 + br label %scend270 +scend270: + %t1260 = load i32, ptr %t1230 + %t1261 = icmp ne i32 %t1260, 0 + br i1 %t1261, label %then273, label %ifend275 +then273: + %t1262 = load ptr, ptr %t1214 + %t1263 = getelementptr inbounds %Cmp_Node, ptr %t1262, i32 0, i32 4 + %t1264 = load ptr, ptr %t1263 + %t1265 = getelementptr inbounds %Cmp_Node, ptr %t1264, i32 0, i32 1 + %t1266 = load ptr, ptr %t1265 + call void @fn_warn_draw_sprite(ptr %t1266) + br label %ifend275 +ifend275: + br label %ifend268 +else267: + br label %wend2 +ifend268: + br label %ifend262 +ifend262: + br label %ifend5 +ifend5: + br label %wcond0 +wend2: + %t1267 = load ptr, ptr %t1 + store ptr %t1267, ptr %retval + br label %ret +ret: + %t1268 = load ptr, ptr %retval + ret ptr %t1268 +} + +define ptr @fn_p_unary() { +entry: + %retval = alloca ptr + %t5 = alloca ptr + %t17 = alloca ptr + %t29 = alloca ptr + %t0 = call i32 @fn_is_op(ptr @.str154) + %t1 = icmp ne i32 %t0, 0 + br i1 %t1, label %then0, label %ifend2 +then0: + %t2 = load i32, ptr @g_pi + %t3 = add i32 %t2, 1 + store i32 %t3, ptr @g_pi + %t4 = call ptr @fn_node(i32 38) + store ptr %t4, ptr %t5 + %t6 = load ptr, ptr %t5 + %t7 = getelementptr inbounds %Cmp_Node, ptr %t6, i32 0, i32 1 + store ptr @.str155, ptr %t7 + %t8 = load ptr, ptr %t5 + %t9 = getelementptr inbounds %Cmp_Node, ptr %t8, i32 0, i32 4 + %t10 = call ptr @fn_p_unary() + store ptr %t10, ptr %t9 + %t11 = load ptr, ptr %t5 + store ptr %t11, ptr %retval + br label %ret +ifend2: + %t12 = call i32 @fn_is_op(ptr @.str156) + %t13 = icmp ne i32 %t12, 0 + br i1 %t13, label %then3, label %ifend5 +then3: + %t14 = load i32, ptr @g_pi + %t15 = add i32 %t14, 1 + store i32 %t15, ptr @g_pi + %t16 = call ptr @fn_node(i32 38) + store ptr %t16, ptr %t17 + %t18 = load ptr, ptr %t17 + %t19 = getelementptr inbounds %Cmp_Node, ptr %t18, i32 0, i32 1 + store ptr @.str157, ptr %t19 + %t20 = load ptr, ptr %t17 + %t21 = getelementptr inbounds %Cmp_Node, ptr %t20, i32 0, i32 4 + %t22 = call ptr @fn_p_unary() + store ptr %t22, ptr %t21 + %t23 = load ptr, ptr %t17 + store ptr %t23, ptr %retval + br label %ret +ifend5: + %t24 = call i32 @fn_is_id(ptr @.str158) + %t25 = icmp ne i32 %t24, 0 + br i1 %t25, label %then6, label %ifend8 +then6: + %t26 = load i32, ptr @g_pi + %t27 = add i32 %t26, 1 + store i32 %t27, ptr @g_pi + %t28 = call ptr @fn_node(i32 38) + store ptr %t28, ptr %t29 + %t30 = load ptr, ptr %t29 + %t31 = getelementptr inbounds %Cmp_Node, ptr %t30, i32 0, i32 1 + store ptr @.str159, ptr %t31 + %t32 = load ptr, ptr %t29 + %t33 = getelementptr inbounds %Cmp_Node, ptr %t32, i32 0, i32 4 + %t34 = call ptr @fn_p_unary() + store ptr %t34, ptr %t33 + %t35 = load ptr, ptr %t29 + store ptr %t35, ptr %retval + br label %ret +ifend8: + %t36 = call ptr @fn_p_postfix() + store ptr %t36, ptr %retval + br label %ret +ret: + %t37 = load ptr, ptr %retval + ret ptr %t37 +} + +define ptr @fn_mkbin(ptr %arg_op, ptr %arg_l, ptr %arg_r) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t1 = alloca ptr + %t2 = alloca ptr + %t4 = alloca ptr + store ptr %arg_op, ptr %t0 + store ptr %arg_l, ptr %t1 + store ptr %arg_r, ptr %t2 + %t3 = call ptr @fn_node(i32 37) + store ptr %t3, ptr %t4 + %t5 = load ptr, ptr %t4 + %t6 = getelementptr inbounds %Cmp_Node, ptr %t5, i32 0, i32 1 + %t7 = load ptr, ptr %t0 + store ptr %t7, ptr %t6 + %t8 = load ptr, ptr %t4 + %t9 = getelementptr inbounds %Cmp_Node, ptr %t8, i32 0, i32 4 + %t10 = load ptr, ptr %t1 + store ptr %t10, ptr %t9 + %t11 = load ptr, ptr %t4 + %t12 = getelementptr inbounds %Cmp_Node, ptr %t11, i32 0, i32 5 + %t13 = load ptr, ptr %t2 + store ptr %t13, ptr %t12 + %t14 = load ptr, ptr %t4 + store ptr %t14, ptr %retval + br label %ret +ret: + %t15 = load ptr, ptr %retval + ret ptr %t15 +} + +define ptr @fn_p_mul() { +entry: + %retval = alloca ptr + %t1 = alloca ptr + %t2 = alloca i32 + %t3 = alloca i32 + %t4 = alloca i32 + %t5 = alloca i32 + %t6 = alloca i32 + %t47 = alloca ptr + %t0 = call ptr @fn_p_unary() + store ptr %t0, ptr %t1 + br label %wcond0 +wcond0: + %t7 = call i32 @fn_is_op(ptr @.str160) + %t8 = icmp ne i32 %t7, 0 + %t9 = zext i1 %t8 to i32 + store i32 %t9, ptr %t6 + br i1 %t8, label %scend4, label %sc3 +sc3: + %t10 = call i32 @fn_is_op(ptr @.str161) + %t11 = icmp ne i32 %t10, 0 + %t12 = zext i1 %t11 to i32 + store i32 %t12, ptr %t6 + br label %scend4 +scend4: + %t13 = load i32, ptr %t6 + %t14 = icmp ne i32 %t13, 0 + %t15 = zext i1 %t14 to i32 + store i32 %t15, ptr %t5 + br i1 %t14, label %scend6, label %sc5 +sc5: + %t16 = call i32 @fn_is_op(ptr @.str162) + %t17 = icmp ne i32 %t16, 0 + %t18 = zext i1 %t17 to i32 + store i32 %t18, ptr %t5 + br label %scend6 +scend6: + %t19 = load i32, ptr %t5 + %t20 = icmp ne i32 %t19, 0 + %t21 = zext i1 %t20 to i32 + store i32 %t21, ptr %t4 + br i1 %t20, label %scend8, label %sc7 +sc7: + %t22 = call i32 @fn_is_op(ptr @.str163) + %t23 = icmp ne i32 %t22, 0 + %t24 = zext i1 %t23 to i32 + store i32 %t24, ptr %t4 + br label %scend8 +scend8: + %t25 = load i32, ptr %t4 + %t26 = icmp ne i32 %t25, 0 + %t27 = zext i1 %t26 to i32 + store i32 %t27, ptr %t3 + br i1 %t26, label %scend10, label %sc9 +sc9: + %t28 = call i32 @fn_is_op(ptr @.str164) + %t29 = icmp ne i32 %t28, 0 + %t30 = zext i1 %t29 to i32 + store i32 %t30, ptr %t3 + br label %scend10 +scend10: + %t31 = load i32, ptr %t3 + %t32 = icmp ne i32 %t31, 0 + %t33 = zext i1 %t32 to i32 + store i32 %t33, ptr %t2 + br i1 %t32, label %scend12, label %sc11 +sc11: + %t34 = call i32 @fn_is_op(ptr @.str165) + %t35 = icmp ne i32 %t34, 0 + %t36 = zext i1 %t35 to i32 + store i32 %t36, ptr %t2 + br label %scend12 +scend12: + %t37 = load i32, ptr %t2 + %t38 = icmp ne i32 %t37, 0 + br i1 %t38, label %wbody1, label %wend2 +wbody1: + %t39 = load ptr, ptr @g_toks + %t40 = getelementptr inbounds %LSlice, ptr %t39, i32 0, i32 0 + %t41 = load ptr, ptr %t40 + %t42 = load i32, ptr @g_pi + %t43 = getelementptr inbounds ptr, ptr %t41, i32 %t42 + %t44 = load ptr, ptr %t43 + %t45 = getelementptr inbounds %Cmp_Tok, ptr %t44, i32 0, i32 1 + %t46 = load ptr, ptr %t45 + store ptr %t46, ptr %t47 + %t48 = load i32, ptr @g_pi + %t49 = add i32 %t48, 1 + store i32 %t49, ptr @g_pi + %t50 = load ptr, ptr %t47 + %t51 = load ptr, ptr %t1 + %t52 = call ptr @fn_p_unary() + %t53 = call ptr @fn_mkbin(ptr %t50, ptr %t51, ptr %t52) + store ptr %t53, ptr %t1 + br label %wcond0 +wend2: + %t54 = load ptr, ptr %t1 + store ptr %t54, ptr %retval + br label %ret +ret: + %t55 = load ptr, ptr %retval + ret ptr %t55 +} + +define ptr @fn_p_add() { +entry: + %retval = alloca ptr + %t1 = alloca ptr + %t2 = alloca i32 + %t3 = alloca i32 + %t4 = alloca i32 + %t33 = alloca ptr + %t0 = call ptr @fn_p_mul() + store ptr %t0, ptr %t1 + br label %wcond0 +wcond0: + %t5 = call i32 @fn_is_op(ptr @.str166) + %t6 = icmp ne i32 %t5, 0 + %t7 = zext i1 %t6 to i32 + store i32 %t7, ptr %t4 + br i1 %t6, label %scend4, label %sc3 +sc3: + %t8 = call i32 @fn_is_op(ptr @.str167) + %t9 = icmp ne i32 %t8, 0 + %t10 = zext i1 %t9 to i32 + store i32 %t10, ptr %t4 + br label %scend4 +scend4: + %t11 = load i32, ptr %t4 + %t12 = icmp ne i32 %t11, 0 + %t13 = zext i1 %t12 to i32 + store i32 %t13, ptr %t3 + br i1 %t12, label %scend6, label %sc5 +sc5: + %t14 = call i32 @fn_is_op(ptr @.str168) + %t15 = icmp ne i32 %t14, 0 + %t16 = zext i1 %t15 to i32 + store i32 %t16, ptr %t3 + br label %scend6 +scend6: + %t17 = load i32, ptr %t3 + %t18 = icmp ne i32 %t17, 0 + %t19 = zext i1 %t18 to i32 + store i32 %t19, ptr %t2 + br i1 %t18, label %scend8, label %sc7 +sc7: + %t20 = call i32 @fn_is_op(ptr @.str169) + %t21 = icmp ne i32 %t20, 0 + %t22 = zext i1 %t21 to i32 + store i32 %t22, ptr %t2 + br label %scend8 +scend8: + %t23 = load i32, ptr %t2 + %t24 = icmp ne i32 %t23, 0 + br i1 %t24, label %wbody1, label %wend2 +wbody1: + %t25 = load ptr, ptr @g_toks + %t26 = getelementptr inbounds %LSlice, ptr %t25, i32 0, i32 0 + %t27 = load ptr, ptr %t26 + %t28 = load i32, ptr @g_pi + %t29 = getelementptr inbounds ptr, ptr %t27, i32 %t28 + %t30 = load ptr, ptr %t29 + %t31 = getelementptr inbounds %Cmp_Tok, ptr %t30, i32 0, i32 1 + %t32 = load ptr, ptr %t31 + store ptr %t32, ptr %t33 + %t34 = load i32, ptr @g_pi + %t35 = add i32 %t34, 1 + store i32 %t35, ptr @g_pi + %t36 = load ptr, ptr %t33 + %t37 = load ptr, ptr %t1 + %t38 = call ptr @fn_p_mul() + %t39 = call ptr @fn_mkbin(ptr %t36, ptr %t37, ptr %t38) + store ptr %t39, ptr %t1 + br label %wcond0 +wend2: + %t40 = load ptr, ptr %t1 + store ptr %t40, ptr %retval + br label %ret +ret: + %t41 = load ptr, ptr %retval + ret ptr %t41 +} + +define ptr @fn_p_cmp() { +entry: + %retval = alloca ptr + %t1 = alloca ptr + %t2 = alloca i32 + %t3 = alloca i32 + %t4 = alloca i32 + %t5 = alloca i32 + %t6 = alloca i32 + %t47 = alloca ptr + %t0 = call ptr @fn_p_add() + store ptr %t0, ptr %t1 + br label %wcond0 +wcond0: + %t7 = call i32 @fn_is_op(ptr @.str170) + %t8 = icmp ne i32 %t7, 0 + %t9 = zext i1 %t8 to i32 + store i32 %t9, ptr %t6 + br i1 %t8, label %scend4, label %sc3 +sc3: + %t10 = call i32 @fn_is_op(ptr @.str171) + %t11 = icmp ne i32 %t10, 0 + %t12 = zext i1 %t11 to i32 + store i32 %t12, ptr %t6 + br label %scend4 +scend4: + %t13 = load i32, ptr %t6 + %t14 = icmp ne i32 %t13, 0 + %t15 = zext i1 %t14 to i32 + store i32 %t15, ptr %t5 + br i1 %t14, label %scend6, label %sc5 +sc5: + %t16 = call i32 @fn_is_op(ptr @.str172) + %t17 = icmp ne i32 %t16, 0 + %t18 = zext i1 %t17 to i32 + store i32 %t18, ptr %t5 + br label %scend6 +scend6: + %t19 = load i32, ptr %t5 + %t20 = icmp ne i32 %t19, 0 + %t21 = zext i1 %t20 to i32 + store i32 %t21, ptr %t4 + br i1 %t20, label %scend8, label %sc7 +sc7: + %t22 = call i32 @fn_is_op(ptr @.str173) + %t23 = icmp ne i32 %t22, 0 + %t24 = zext i1 %t23 to i32 + store i32 %t24, ptr %t4 + br label %scend8 +scend8: + %t25 = load i32, ptr %t4 + %t26 = icmp ne i32 %t25, 0 + %t27 = zext i1 %t26 to i32 + store i32 %t27, ptr %t3 + br i1 %t26, label %scend10, label %sc9 +sc9: + %t28 = call i32 @fn_is_op(ptr @.str174) + %t29 = icmp ne i32 %t28, 0 + %t30 = zext i1 %t29 to i32 + store i32 %t30, ptr %t3 + br label %scend10 +scend10: + %t31 = load i32, ptr %t3 + %t32 = icmp ne i32 %t31, 0 + %t33 = zext i1 %t32 to i32 + store i32 %t33, ptr %t2 + br i1 %t32, label %scend12, label %sc11 +sc11: + %t34 = call i32 @fn_is_op(ptr @.str175) + %t35 = icmp ne i32 %t34, 0 + %t36 = zext i1 %t35 to i32 + store i32 %t36, ptr %t2 + br label %scend12 +scend12: + %t37 = load i32, ptr %t2 + %t38 = icmp ne i32 %t37, 0 + br i1 %t38, label %wbody1, label %wend2 +wbody1: + %t39 = load ptr, ptr @g_toks + %t40 = getelementptr inbounds %LSlice, ptr %t39, i32 0, i32 0 + %t41 = load ptr, ptr %t40 + %t42 = load i32, ptr @g_pi + %t43 = getelementptr inbounds ptr, ptr %t41, i32 %t42 + %t44 = load ptr, ptr %t43 + %t45 = getelementptr inbounds %Cmp_Tok, ptr %t44, i32 0, i32 1 + %t46 = load ptr, ptr %t45 + store ptr %t46, ptr %t47 + %t48 = load i32, ptr @g_pi + %t49 = add i32 %t48, 1 + store i32 %t49, ptr @g_pi + %t50 = load ptr, ptr %t47 + %t51 = load ptr, ptr %t1 + %t52 = call ptr @fn_p_add() + %t53 = call ptr @fn_mkbin(ptr %t50, ptr %t51, ptr %t52) + store ptr %t53, ptr %t1 + br label %wcond0 +wend2: + %t54 = load ptr, ptr %t1 + store ptr %t54, ptr %retval + br label %ret +ret: + %t55 = load ptr, ptr %retval + ret ptr %t55 +} + +define ptr @fn_p_and() { +entry: + %retval = alloca ptr + %t1 = alloca ptr + %t0 = call ptr @fn_p_cmp() + store ptr %t0, ptr %t1 + br label %wcond0 +wcond0: + %t2 = call i32 @fn_is_id(ptr @.str176) + %t3 = icmp ne i32 %t2, 0 + br i1 %t3, label %wbody1, label %wend2 +wbody1: + %t4 = load i32, ptr @g_pi + %t5 = add i32 %t4, 1 + store i32 %t5, ptr @g_pi + %t6 = load ptr, ptr %t1 + %t7 = call ptr @fn_p_cmp() + %t8 = call ptr @fn_mkbin(ptr @.str177, ptr %t6, ptr %t7) + store ptr %t8, ptr %t1 + br label %wcond0 +wend2: + %t9 = load ptr, ptr %t1 + store ptr %t9, ptr %retval + br label %ret +ret: + %t10 = load ptr, ptr %retval + ret ptr %t10 +} + +define ptr @fn_p_or() { +entry: + %retval = alloca ptr + %t1 = alloca ptr + %t0 = call ptr @fn_p_and() + store ptr %t0, ptr %t1 + br label %wcond0 +wcond0: + %t2 = call i32 @fn_is_id(ptr @.str178) + %t3 = icmp ne i32 %t2, 0 + br i1 %t3, label %wbody1, label %wend2 +wbody1: + %t4 = load i32, ptr @g_pi + %t5 = add i32 %t4, 1 + store i32 %t5, ptr @g_pi + %t6 = load ptr, ptr %t1 + %t7 = call ptr @fn_p_and() + %t8 = call ptr @fn_mkbin(ptr @.str179, ptr %t6, ptr %t7) + store ptr %t8, ptr %t1 + br label %wcond0 +wend2: + %t9 = load ptr, ptr %t1 + store ptr %t9, ptr %retval + br label %ret +ret: + %t10 = load ptr, ptr %retval + ret ptr %t10 +} + +define ptr @fn_record() { +entry: + %retval = alloca ptr + %t1 = alloca ptr + %t6 = alloca ptr + call void @fn_eat_op(ptr @.str180) + %t0 = call ptr @fn_node(i32 41) + store ptr %t0, ptr %t1 + br label %wcond0 +wcond0: + %t2 = icmp ne i32 1, 0 + br i1 %t2, label %wbody1, label %wend2 +wbody1: + call void @fn_skipnl() + %t3 = call i32 @fn_is_op(ptr @.str181) + %t4 = icmp ne i32 %t3, 0 + br i1 %t4, label %then3, label %ifend5 +then3: + br label %wend2 +ifend5: + %t5 = call ptr @fn_node(i32 42) + store ptr %t5, ptr %t6 + %t7 = load ptr, ptr %t6 + %t8 = getelementptr inbounds %Cmp_Node, ptr %t7, i32 0, i32 1 + %t9 = call ptr @fn_eat_id() + store ptr %t9, ptr %t8 + call void @fn_eat_op(ptr @.str182) + %t10 = load ptr, ptr %t6 + %t11 = getelementptr inbounds %Cmp_Node, ptr %t10, i32 0, i32 4 + %t12 = call ptr @fn_expr() + store ptr %t12, ptr %t11 + %t13 = load ptr, ptr %t1 + %t14 = getelementptr inbounds %Cmp_Node, ptr %t13, i32 0, i32 7 + %t15 = load ptr, ptr %t14 + %t16 = load ptr, ptr %t6 + %t17 = getelementptr inbounds %LSlice, ptr %t15, i32 0, i32 1 + %t18 = getelementptr inbounds %LSlice, ptr %t15, i32 0, i32 2 + %t19 = getelementptr inbounds %LSlice, ptr %t15, i32 0, i32 0 + %t20 = load i32, ptr %t17 + %t21 = load i32, ptr %t18 + %t22 = icmp sge i32 %t20, %t21 + br i1 %t22, label %grow6, label %put7 +grow6: + %t23 = mul i32 %t21, 2 + %t24 = icmp eq i32 %t21, 0 + %t25 = select i1 %t24, i32 8, i32 %t23 + %t26 = getelementptr ptr, ptr null, i32 1 + %t27 = ptrtoint ptr %t26 to i64 + %t28 = zext i32 %t25 to i64 + %t29 = mul i64 %t28, %t27 + %t30 = load ptr, ptr %t19 + %t31 = call ptr @realloc(ptr %t30, i64 %t29) + store ptr %t31, ptr %t19 + store i32 %t25, ptr %t18 + br label %put7 +put7: + %t32 = load ptr, ptr %t19 + %t33 = getelementptr inbounds ptr, ptr %t32, i32 %t20 + store ptr %t16, ptr %t33 + %t34 = add i32 %t20, 1 + store i32 %t34, ptr %t17 + %t35 = call i32 @fn_is_op(ptr @.str183) + %t36 = icmp ne i32 %t35, 0 + br i1 %t36, label %then8, label %ifend10 +then8: + %t37 = load i32, ptr @g_pi + %t38 = add i32 %t37, 1 + store i32 %t38, ptr @g_pi + br label %ifend10 +ifend10: + br label %wcond0 +wend2: + call void @fn_eat_op(ptr @.str184) + %t39 = load ptr, ptr %t1 + store ptr %t39, ptr %retval + br label %ret +ret: + %t40 = load ptr, ptr %retval + ret ptr %t40 +} + +define ptr @fn_block() { +entry: + %retval = alloca ptr + %t1 = alloca ptr + %t37 = alloca i32 + call void @fn_skipnl() + call void @fn_eat_op(ptr @.str185) + %t0 = call ptr @fn_node(i32 7) + store ptr %t0, ptr %t1 + br label %wcond0 +wcond0: + %t2 = icmp ne i32 1, 0 + br i1 %t2, label %wbody1, label %wend2 +wbody1: + call void @fn_skipnl() + %t3 = call i32 @fn_is_op(ptr @.str186) + %t4 = icmp ne i32 %t3, 0 + br i1 %t4, label %then3, label %ifend5 +then3: + br label %wend2 +ifend5: + %t5 = load ptr, ptr %t1 + %t6 = getelementptr inbounds %Cmp_Node, ptr %t5, i32 0, i32 7 + %t7 = load ptr, ptr %t6 + %t8 = call ptr @fn_stmt() + %t9 = getelementptr inbounds %LSlice, ptr %t7, i32 0, i32 1 + %t10 = getelementptr inbounds %LSlice, ptr %t7, i32 0, i32 2 + %t11 = getelementptr inbounds %LSlice, ptr %t7, i32 0, i32 0 + %t12 = load i32, ptr %t9 + %t13 = load i32, ptr %t10 + %t14 = icmp sge i32 %t12, %t13 + br i1 %t14, label %grow6, label %put7 +grow6: + %t15 = mul i32 %t13, 2 + %t16 = icmp eq i32 %t13, 0 + %t17 = select i1 %t16, i32 8, i32 %t15 + %t18 = getelementptr ptr, ptr null, i32 1 + %t19 = ptrtoint ptr %t18 to i64 + %t20 = zext i32 %t17 to i64 + %t21 = mul i64 %t20, %t19 + %t22 = load ptr, ptr %t11 + %t23 = call ptr @realloc(ptr %t22, i64 %t21) + store ptr %t23, ptr %t11 + store i32 %t17, ptr %t10 + br label %put7 +put7: + %t24 = load ptr, ptr %t11 + %t25 = getelementptr inbounds ptr, ptr %t24, i32 %t12 + store ptr %t8, ptr %t25 + %t26 = add i32 %t12, 1 + store i32 %t26, ptr %t9 + %t27 = load ptr, ptr @g_toks + %t28 = getelementptr inbounds %LSlice, ptr %t27, i32 0, i32 0 + %t29 = load ptr, ptr %t28 + %t30 = load i32, ptr @g_pi + %t31 = getelementptr inbounds ptr, ptr %t29, i32 %t30 + %t32 = load ptr, ptr %t31 + %t33 = getelementptr inbounds %Cmp_Tok, ptr %t32, i32 0, i32 0 + %t34 = load i32, ptr %t33 + %t35 = icmp eq i32 %t34, 4 + %t36 = zext i1 %t35 to i32 + store i32 %t36, ptr %t37 + %t38 = call i32 @fn_is_op(ptr @.str187) + %t39 = icmp ne i32 %t38, 0 + br i1 %t39, label %then8, label %ifend10 +then8: + store i32 1, ptr %t37 + br label %ifend10 +ifend10: + %t40 = load i32, ptr %t37 + %t41 = icmp eq i32 %t40, 0 + %t42 = zext i1 %t41 to i32 + %t43 = icmp ne i32 %t42, 0 + br i1 %t43, label %then11, label %ifend13 +then11: + call void @fn_perr(ptr @.str188) + br label %ifend13 +ifend13: + br label %wcond0 +wend2: + call void @fn_eat_op(ptr @.str189) + %t44 = load ptr, ptr %t1 + store ptr %t44, ptr %retval + br label %ret +ret: + %t45 = load ptr, ptr %retval + ret ptr %t45 +} + +define ptr @fn_stmt() { +entry: + %retval = alloca ptr + %t8 = alloca i32 + %t10 = alloca ptr + %t0 = load ptr, ptr @g_toks + %t1 = getelementptr inbounds %LSlice, ptr %t0, i32 0, i32 0 + %t2 = load ptr, ptr %t1 + %t3 = load i32, ptr @g_pi + %t4 = getelementptr inbounds ptr, ptr %t2, i32 %t3 + %t5 = load ptr, ptr %t4 + %t6 = getelementptr inbounds %Cmp_Tok, ptr %t5, i32 0, i32 3 + %t7 = load i32, ptr %t6 + store i32 %t7, ptr %t8 + %t9 = call ptr @fn_stmt_body() + store ptr %t9, ptr %t10 + %t11 = load ptr, ptr %t10 + %t12 = getelementptr inbounds %Cmp_Node, ptr %t11, i32 0, i32 8 + %t13 = load i32, ptr %t12 + %t14 = icmp eq i32 %t13, 0 + %t15 = zext i1 %t14 to i32 + %t16 = icmp ne i32 %t15, 0 + br i1 %t16, label %then0, label %ifend2 +then0: + %t17 = load ptr, ptr %t10 + %t18 = getelementptr inbounds %Cmp_Node, ptr %t17, i32 0, i32 8 + %t19 = load i32, ptr %t8 + store i32 %t19, ptr %t18 + br label %ifend2 +ifend2: + %t20 = load ptr, ptr %t10 + store ptr %t20, ptr %retval + br label %ret +ret: + %t21 = load ptr, ptr %retval + ret ptr %t21 +} + +define ptr @fn_stmt_body() { +entry: + %retval = alloca ptr + %t6 = alloca ptr + %t13 = alloca i32 + %t28 = alloca i32 + %t37 = alloca ptr + %t77 = alloca ptr + %t78 = alloca i32 + %t110 = alloca ptr + %t118 = alloca i32 + %t141 = alloca ptr + %t160 = alloca ptr + %t165 = alloca ptr + %t190 = alloca ptr + %t194 = alloca i32 + %t199 = alloca ptr + %t201 = alloca ptr + %t243 = alloca i32 + %t274 = alloca ptr + %t287 = alloca ptr + %t292 = alloca i32 + %t307 = alloca i32 + %t316 = alloca ptr + %t388 = alloca ptr + %t415 = alloca ptr + %t461 = alloca ptr + %t469 = alloca ptr + %t503 = alloca ptr + %t553 = alloca ptr + %t554 = alloca i32 + %t555 = alloca i32 + %t556 = alloca i32 + %t557 = alloca i32 + %t585 = alloca ptr + %t616 = alloca ptr + %t0 = load ptr, ptr @g_toks + %t1 = getelementptr inbounds %LSlice, ptr %t0, i32 0, i32 0 + %t2 = load ptr, ptr %t1 + %t3 = load i32, ptr @g_pi + %t4 = getelementptr inbounds ptr, ptr %t2, i32 %t3 + %t5 = load ptr, ptr %t4 + store ptr %t5, ptr %t6 + %t7 = load ptr, ptr %t6 + %t8 = getelementptr inbounds %Cmp_Tok, ptr %t7, i32 0, i32 0 + %t9 = load i32, ptr %t8 + %t10 = icmp eq i32 %t9, 0 + %t11 = zext i1 %t10 to i32 + %t12 = icmp ne i32 %t11, 0 + br i1 %t12, label %then0, label %ifend2 +then0: + %t14 = load ptr, ptr %t6 + %t15 = getelementptr inbounds %Cmp_Tok, ptr %t14, i32 0, i32 1 + %t16 = load ptr, ptr %t15 + %t17 = call i32 @lp_str_eq(ptr %t16, ptr @.str190) + %t18 = icmp ne i32 %t17, 0 + %t19 = zext i1 %t18 to i32 + store i32 %t19, ptr %t13 + br i1 %t18, label %scend4, label %sc3 +sc3: + %t20 = load ptr, ptr %t6 + %t21 = getelementptr inbounds %Cmp_Tok, ptr %t20, i32 0, i32 1 + %t22 = load ptr, ptr %t21 + %t23 = call i32 @lp_str_eq(ptr %t22, ptr @.str191) + %t24 = icmp ne i32 %t23, 0 + %t25 = zext i1 %t24 to i32 + store i32 %t25, ptr %t13 + br label %scend4 +scend4: + %t26 = load i32, ptr %t13 + %t27 = icmp ne i32 %t26, 0 + br i1 %t27, label %then5, label %ifend7 +then5: + store i32 0, ptr %t28 + %t29 = load ptr, ptr %t6 + %t30 = getelementptr inbounds %Cmp_Tok, ptr %t29, i32 0, i32 1 + %t31 = load ptr, ptr %t30 + %t32 = call i32 @lp_str_eq(ptr %t31, ptr @.str192) + %t33 = icmp ne i32 %t32, 0 + br i1 %t33, label %then8, label %ifend10 +then8: + store i32 1, ptr %t28 + br label %ifend10 +ifend10: + %t34 = load i32, ptr @g_pi + %t35 = add i32 %t34, 1 + store i32 %t35, ptr @g_pi + %t36 = call ptr @fn_node(i32 10) + store ptr %t36, ptr %t37 + %t38 = load ptr, ptr %t37 + %t39 = getelementptr inbounds %Cmp_Node, ptr %t38, i32 0, i32 2 + %t40 = load i32, ptr %t28 + store i32 %t40, ptr %t39 + %t41 = load ptr, ptr %t37 + %t42 = getelementptr inbounds %Cmp_Node, ptr %t41, i32 0, i32 8 + %t43 = load ptr, ptr @g_toks + %t44 = getelementptr inbounds %LSlice, ptr %t43, i32 0, i32 0 + %t45 = load ptr, ptr %t44 + %t46 = load i32, ptr @g_pi + %t47 = getelementptr inbounds ptr, ptr %t45, i32 %t46 + %t48 = load ptr, ptr %t47 + %t49 = getelementptr inbounds %Cmp_Tok, ptr %t48, i32 0, i32 3 + %t50 = load i32, ptr %t49 + store i32 %t50, ptr %t42 + %t51 = load ptr, ptr %t37 + %t52 = getelementptr inbounds %Cmp_Node, ptr %t51, i32 0, i32 1 + %t53 = call ptr @fn_eat_id() + store ptr %t53, ptr %t52 + %t54 = call i32 @fn_is_op(ptr @.str193) + %t55 = icmp ne i32 %t54, 0 + br i1 %t55, label %then11, label %ifend13 +then11: + %t56 = load i32, ptr @g_pi + %t57 = add i32 %t56, 1 + store i32 %t57, ptr @g_pi + %t58 = load ptr, ptr %t37 + %t59 = getelementptr inbounds %Cmp_Node, ptr %t58, i32 0, i32 3 + %t60 = call ptr @fn_ptype() + store ptr %t60, ptr %t59 + br label %ifend13 +ifend13: + %t61 = call i32 @fn_is_op(ptr @.str194) + %t62 = icmp ne i32 %t61, 0 + br i1 %t62, label %then14, label %ifend16 +then14: + %t63 = load i32, ptr @g_pi + %t64 = add i32 %t63, 1 + store i32 %t64, ptr @g_pi + %t65 = load ptr, ptr %t37 + %t66 = getelementptr inbounds %Cmp_Node, ptr %t65, i32 0, i32 4 + %t67 = call ptr @fn_expr() + store ptr %t67, ptr %t66 + br label %ifend16 +ifend16: + %t68 = load ptr, ptr %t37 + store ptr %t68, ptr %retval + br label %ret +ifend7: + %t69 = load ptr, ptr %t6 + %t70 = getelementptr inbounds %Cmp_Tok, ptr %t69, i32 0, i32 1 + %t71 = load ptr, ptr %t70 + %t72 = call i32 @lp_str_eq(ptr %t71, ptr @.str195) + %t73 = icmp ne i32 %t72, 0 + br i1 %t73, label %then17, label %ifend19 +then17: + %t74 = load i32, ptr @g_pi + %t75 = add i32 %t74, 1 + store i32 %t75, ptr @g_pi + %t76 = call ptr @fn_node(i32 15) + store ptr %t76, ptr %t77 + %t79 = load ptr, ptr @g_toks + %t80 = getelementptr inbounds %LSlice, ptr %t79, i32 0, i32 0 + %t81 = load ptr, ptr %t80 + %t82 = load i32, ptr @g_pi + %t83 = getelementptr inbounds ptr, ptr %t81, i32 %t82 + %t84 = load ptr, ptr %t83 + %t85 = getelementptr inbounds %Cmp_Tok, ptr %t84, i32 0, i32 0 + %t86 = load i32, ptr %t85 + %t87 = icmp ne i32 %t86, 4 + %t88 = zext i1 %t87 to i32 + %t89 = icmp ne i32 %t88, 0 + %t90 = zext i1 %t89 to i32 + store i32 %t90, ptr %t78 + br i1 %t89, label %sc20, label %scend21 +sc20: + %t91 = call i32 @fn_is_op(ptr @.str196) + %t92 = icmp eq i32 %t91, 0 + %t93 = zext i1 %t92 to i32 + %t94 = icmp ne i32 %t93, 0 + %t95 = zext i1 %t94 to i32 + store i32 %t95, ptr %t78 + br label %scend21 +scend21: + %t96 = load i32, ptr %t78 + %t97 = icmp ne i32 %t96, 0 + br i1 %t97, label %then22, label %ifend24 +then22: + %t98 = load ptr, ptr %t77 + %t99 = getelementptr inbounds %Cmp_Node, ptr %t98, i32 0, i32 4 + %t100 = call ptr @fn_expr() + store ptr %t100, ptr %t99 + br label %ifend24 +ifend24: + %t101 = load ptr, ptr %t77 + store ptr %t101, ptr %retval + br label %ret +ifend19: + %t102 = load ptr, ptr %t6 + %t103 = getelementptr inbounds %Cmp_Tok, ptr %t102, i32 0, i32 1 + %t104 = load ptr, ptr %t103 + %t105 = call i32 @lp_str_eq(ptr %t104, ptr @.str197) + %t106 = icmp ne i32 %t105, 0 + br i1 %t106, label %then25, label %ifend27 +then25: + %t107 = load i32, ptr @g_pi + %t108 = add i32 %t107, 1 + store i32 %t108, ptr @g_pi + %t109 = call ptr @fn_node(i32 12) + store ptr %t109, ptr %t110 + %t111 = load ptr, ptr %t110 + %t112 = getelementptr inbounds %Cmp_Node, ptr %t111, i32 0, i32 4 + %t113 = call ptr @fn_expr() + store ptr %t113, ptr %t112 + %t114 = load ptr, ptr %t110 + %t115 = getelementptr inbounds %Cmp_Node, ptr %t114, i32 0, i32 5 + %t116 = call ptr @fn_block() + store ptr %t116, ptr %t115 + %t117 = load i32, ptr @g_pi + store i32 %t117, ptr %t118 + call void @fn_skipnl() + %t119 = call i32 @fn_is_id(ptr @.str198) + %t120 = icmp ne i32 %t119, 0 + br i1 %t120, label %then28, label %else29 +then28: + %t121 = load i32, ptr @g_pi + %t122 = add i32 %t121, 1 + store i32 %t122, ptr @g_pi + call void @fn_skipnl() + %t123 = call i32 @fn_is_id(ptr @.str199) + %t124 = icmp ne i32 %t123, 0 + br i1 %t124, label %then31, label %else32 +then31: + %t125 = load ptr, ptr %t110 + %t126 = getelementptr inbounds %Cmp_Node, ptr %t125, i32 0, i32 6 + %t127 = call ptr @fn_stmt() + store ptr %t127, ptr %t126 + br label %ifend33 +else32: + %t128 = load ptr, ptr %t110 + %t129 = getelementptr inbounds %Cmp_Node, ptr %t128, i32 0, i32 6 + %t130 = call ptr @fn_block() + store ptr %t130, ptr %t129 + br label %ifend33 +ifend33: + br label %ifend30 +else29: + %t131 = load i32, ptr %t118 + store i32 %t131, ptr @g_pi + br label %ifend30 +ifend30: + %t132 = load ptr, ptr %t110 + store ptr %t132, ptr %retval + br label %ret +ifend27: + %t133 = load ptr, ptr %t6 + %t134 = getelementptr inbounds %Cmp_Tok, ptr %t133, i32 0, i32 1 + %t135 = load ptr, ptr %t134 + %t136 = call i32 @lp_str_eq(ptr %t135, ptr @.str200) + %t137 = icmp ne i32 %t136, 0 + br i1 %t137, label %then34, label %ifend36 +then34: + %t138 = load i32, ptr @g_pi + %t139 = add i32 %t138, 1 + store i32 %t139, ptr @g_pi + %t140 = call ptr @fn_node(i32 13) + store ptr %t140, ptr %t141 + %t142 = load ptr, ptr %t141 + %t143 = getelementptr inbounds %Cmp_Node, ptr %t142, i32 0, i32 4 + %t144 = call ptr @fn_expr() + store ptr %t144, ptr %t143 + %t145 = load ptr, ptr %t141 + %t146 = getelementptr inbounds %Cmp_Node, ptr %t145, i32 0, i32 5 + %t147 = call ptr @fn_block() + store ptr %t147, ptr %t146 + %t148 = load ptr, ptr %t141 + store ptr %t148, ptr %retval + br label %ret +ifend36: + %t149 = load ptr, ptr %t6 + %t150 = getelementptr inbounds %Cmp_Tok, ptr %t149, i32 0, i32 1 + %t151 = load ptr, ptr %t150 + %t152 = call i32 @lp_str_eq(ptr %t151, ptr @.str201) + %t153 = icmp ne i32 %t152, 0 + br i1 %t153, label %then37, label %ifend39 +then37: + %t154 = load i32, ptr @g_pi + %t155 = add i32 %t154, 1 + store i32 %t155, ptr @g_pi + %t156 = call i32 @fn_is_op(ptr @.str202) + %t157 = icmp ne i32 %t156, 0 + br i1 %t157, label %then40, label %ifend42 +then40: + %t158 = call ptr @fn_parse_query_for() + store ptr %t158, ptr %retval + br label %ret +ifend42: + %t159 = call ptr @fn_node(i32 14) + store ptr %t159, ptr %t160 + %t161 = load ptr, ptr %t160 + %t162 = getelementptr inbounds %Cmp_Node, ptr %t161, i32 0, i32 1 + %t163 = call ptr @fn_eat_id() + store ptr %t163, ptr %t162 + %t164 = call ptr @fn_eat_id() + store ptr %t164, ptr %t165 + %t166 = load ptr, ptr %t160 + %t167 = getelementptr inbounds %Cmp_Node, ptr %t166, i32 0, i32 4 + %t168 = call ptr @fn_expr() + store ptr %t168, ptr %t167 + call void @fn_eat_op(ptr @.str203) + %t169 = load ptr, ptr %t160 + %t170 = getelementptr inbounds %Cmp_Node, ptr %t169, i32 0, i32 5 + %t171 = call ptr @fn_expr() + store ptr %t171, ptr %t170 + %t172 = load ptr, ptr %t160 + %t173 = getelementptr inbounds %Cmp_Node, ptr %t172, i32 0, i32 6 + %t174 = call ptr @fn_block() + store ptr %t174, ptr %t173 + %t175 = load ptr, ptr %t160 + store ptr %t175, ptr %retval + br label %ret +ifend39: + %t176 = load ptr, ptr %t6 + %t177 = getelementptr inbounds %Cmp_Tok, ptr %t176, i32 0, i32 1 + %t178 = load ptr, ptr %t177 + %t179 = call i32 @lp_str_eq(ptr %t178, ptr @.str204) + %t180 = icmp ne i32 %t179, 0 + br i1 %t180, label %then43, label %ifend45 +then43: + %t181 = call ptr @fn_parse_spawn() + store ptr %t181, ptr %retval + br label %ret +ifend45: + %t182 = load ptr, ptr %t6 + %t183 = getelementptr inbounds %Cmp_Tok, ptr %t182, i32 0, i32 1 + %t184 = load ptr, ptr %t183 + %t185 = call i32 @lp_str_eq(ptr %t184, ptr @.str205) + %t186 = icmp ne i32 %t185, 0 + br i1 %t186, label %then46, label %ifend48 +then46: + %t187 = load i32, ptr @g_pi + %t188 = add i32 %t187, 1 + store i32 %t188, ptr @g_pi + %t189 = call ptr @fn_node(i32 24) + store ptr %t189, ptr %t190 + %t191 = load ptr, ptr %t190 + %t192 = getelementptr inbounds %Cmp_Node, ptr %t191, i32 0, i32 4 + %t193 = call ptr @fn_expr() + store ptr %t193, ptr %t192 + call void @fn_skipnl() + call void @fn_eat_op(ptr @.str206) + store i32 0, ptr %t194 + br label %wcond49 +wcond49: + %t195 = icmp ne i32 1, 0 + br i1 %t195, label %wbody50, label %wend51 +wbody50: + call void @fn_skipnl() + %t196 = call i32 @fn_is_op(ptr @.str207) + %t197 = icmp ne i32 %t196, 0 + br i1 %t197, label %then52, label %ifend54 +then52: + br label %wend51 +ifend54: + %t198 = call ptr @fn_eat_id() + store ptr %t198, ptr %t199 + %t200 = call ptr @fn_node(i32 25) + store ptr %t200, ptr %t201 + %t202 = load ptr, ptr %t201 + %t203 = getelementptr inbounds %Cmp_Node, ptr %t202, i32 0, i32 1 + %t204 = call ptr @fn_eat_id() + store ptr %t204, ptr %t203 + %t205 = call i32 @fn_is_op(ptr @.str208) + %t206 = icmp ne i32 %t205, 0 + br i1 %t206, label %then55, label %ifend57 +then55: + %t207 = load i32, ptr @g_pi + %t208 = add i32 %t207, 1 + store i32 %t208, ptr @g_pi + %t209 = load ptr, ptr %t201 + %t210 = getelementptr inbounds %Cmp_Node, ptr %t209, i32 0, i32 5 + %t211 = call ptr @fn_expr() + store ptr %t211, ptr %t210 + br label %ifend57 +ifend57: + %t212 = load ptr, ptr %t201 + %t213 = getelementptr inbounds %Cmp_Node, ptr %t212, i32 0, i32 2 + %t214 = load i32, ptr %t194 + store i32 %t214, ptr %t213 + call void @fn_skipnl() + %t215 = load ptr, ptr %t201 + %t216 = getelementptr inbounds %Cmp_Node, ptr %t215, i32 0, i32 4 + %t217 = call ptr @fn_block() + store ptr %t217, ptr %t216 + %t218 = load ptr, ptr %t190 + %t219 = getelementptr inbounds %Cmp_Node, ptr %t218, i32 0, i32 7 + %t220 = load ptr, ptr %t219 + %t221 = load ptr, ptr %t201 + %t222 = getelementptr inbounds %LSlice, ptr %t220, i32 0, i32 1 + %t223 = getelementptr inbounds %LSlice, ptr %t220, i32 0, i32 2 + %t224 = getelementptr inbounds %LSlice, ptr %t220, i32 0, i32 0 + %t225 = load i32, ptr %t222 + %t226 = load i32, ptr %t223 + %t227 = icmp sge i32 %t225, %t226 + br i1 %t227, label %grow58, label %put59 +grow58: + %t228 = mul i32 %t226, 2 + %t229 = icmp eq i32 %t226, 0 + %t230 = select i1 %t229, i32 8, i32 %t228 + %t231 = getelementptr ptr, ptr null, i32 1 + %t232 = ptrtoint ptr %t231 to i64 + %t233 = zext i32 %t230 to i64 + %t234 = mul i64 %t233, %t232 + %t235 = load ptr, ptr %t224 + %t236 = call ptr @realloc(ptr %t235, i64 %t234) + store ptr %t236, ptr %t224 + store i32 %t230, ptr %t223 + br label %put59 +put59: + %t237 = load ptr, ptr %t224 + %t238 = getelementptr inbounds ptr, ptr %t237, i32 %t225 + store ptr %t221, ptr %t238 + %t239 = add i32 %t225, 1 + store i32 %t239, ptr %t222 + %t240 = load i32, ptr %t194 + %t241 = add i32 %t240, 1 + store i32 %t241, ptr %t194 + br label %wcond49 +wend51: + call void @fn_eat_op(ptr @.str209) + %t242 = load ptr, ptr %t190 + store ptr %t242, ptr %retval + br label %ret +ifend48: + %t244 = load ptr, ptr %t6 + %t245 = getelementptr inbounds %Cmp_Tok, ptr %t244, i32 0, i32 1 + %t246 = load ptr, ptr %t245 + %t247 = call i32 @lp_str_eq(ptr %t246, ptr @.str210) + %t248 = icmp ne i32 %t247, 0 + %t249 = zext i1 %t248 to i32 + store i32 %t249, ptr %t243 + br i1 %t248, label %sc60, label %scend61 +sc60: + %t250 = load ptr, ptr @g_toks + %t251 = getelementptr inbounds %LSlice, ptr %t250, i32 0, i32 0 + %t252 = load ptr, ptr %t251 + %t253 = load i32, ptr @g_pi + %t254 = add i32 %t253, 1 + %t255 = getelementptr inbounds ptr, ptr %t252, i32 %t254 + %t256 = load ptr, ptr %t255 + %t257 = getelementptr inbounds %Cmp_Tok, ptr %t256, i32 0, i32 0 + %t258 = load i32, ptr %t257 + %t259 = icmp eq i32 %t258, 0 + %t260 = zext i1 %t259 to i32 + %t261 = icmp ne i32 %t260, 0 + %t262 = zext i1 %t261 to i32 + store i32 %t262, ptr %t243 + br label %scend61 +scend61: + %t263 = load i32, ptr %t243 + %t264 = icmp ne i32 %t263, 0 + br i1 %t264, label %then62, label %ifend64 +then62: + %t265 = call ptr @fn_parse_emit() + store ptr %t265, ptr %retval + br label %ret +ifend64: + %t266 = load ptr, ptr %t6 + %t267 = getelementptr inbounds %Cmp_Tok, ptr %t266, i32 0, i32 1 + %t268 = load ptr, ptr %t267 + %t269 = call i32 @lp_str_eq(ptr %t268, ptr @.str211) + %t270 = icmp ne i32 %t269, 0 + br i1 %t270, label %then65, label %ifend67 +then65: + %t271 = load i32, ptr @g_pi + %t272 = add i32 %t271, 1 + store i32 %t272, ptr @g_pi + %t273 = call ptr @fn_node(i32 26) + store ptr %t273, ptr %t274 + %t275 = load ptr, ptr %t274 + %t276 = getelementptr inbounds %Cmp_Node, ptr %t275, i32 0, i32 1 + %t277 = call ptr @fn_eat_id() + store ptr %t277, ptr %t276 + %t278 = load ptr, ptr %t274 + store ptr %t278, ptr %retval + br label %ret +ifend67: + %t279 = load ptr, ptr %t6 + %t280 = getelementptr inbounds %Cmp_Tok, ptr %t279, i32 0, i32 1 + %t281 = load ptr, ptr %t280 + %t282 = call i32 @lp_str_eq(ptr %t281, ptr @.str212) + %t283 = icmp ne i32 %t282, 0 + br i1 %t283, label %then68, label %ifend70 +then68: + %t284 = load i32, ptr @g_pi + %t285 = add i32 %t284, 1 + store i32 %t285, ptr @g_pi + %t286 = call ptr @fn_node(i32 23) + store ptr %t286, ptr %t287 + %t288 = load ptr, ptr %t287 + %t289 = getelementptr inbounds %Cmp_Node, ptr %t288, i32 0, i32 4 + %t290 = call ptr @fn_expr() + store ptr %t290, ptr %t289 + %t291 = load ptr, ptr %t287 + store ptr %t291, ptr %retval + br label %ret +ifend70: + %t293 = load ptr, ptr %t6 + %t294 = getelementptr inbounds %Cmp_Tok, ptr %t293, i32 0, i32 1 + %t295 = load ptr, ptr %t294 + %t296 = call i32 @lp_str_eq(ptr %t295, ptr @.str213) + %t297 = icmp ne i32 %t296, 0 + %t298 = zext i1 %t297 to i32 + store i32 %t298, ptr %t292 + br i1 %t297, label %scend72, label %sc71 +sc71: + %t299 = load ptr, ptr %t6 + %t300 = getelementptr inbounds %Cmp_Tok, ptr %t299, i32 0, i32 1 + %t301 = load ptr, ptr %t300 + %t302 = call i32 @lp_str_eq(ptr %t301, ptr @.str214) + %t303 = icmp ne i32 %t302, 0 + %t304 = zext i1 %t303 to i32 + store i32 %t304, ptr %t292 + br label %scend72 +scend72: + %t305 = load i32, ptr %t292 + %t306 = icmp ne i32 %t305, 0 + br i1 %t306, label %then73, label %ifend75 +then73: + store i32 0, ptr %t307 + %t308 = load ptr, ptr %t6 + %t309 = getelementptr inbounds %Cmp_Tok, ptr %t308, i32 0, i32 1 + %t310 = load ptr, ptr %t309 + %t311 = call i32 @lp_str_eq(ptr %t310, ptr @.str215) + %t312 = icmp ne i32 %t311, 0 + br i1 %t312, label %then76, label %ifend78 +then76: + store i32 1, ptr %t307 + br label %ifend78 +ifend78: + %t313 = load i32, ptr @g_pi + %t314 = add i32 %t313, 1 + store i32 %t314, ptr @g_pi + %t315 = call ptr @fn_node(i32 28) + store ptr %t315, ptr %t316 + %t317 = load ptr, ptr %t316 + %t318 = getelementptr inbounds %Cmp_Node, ptr %t317, i32 0, i32 2 + %t319 = load i32, ptr %t307 + store i32 %t319, ptr %t318 + %t320 = call i32 @fn_is_id(ptr @.str216) + %t321 = icmp ne i32 %t320, 0 + br i1 %t321, label %then79, label %ifend81 +then79: + %t322 = load i32, ptr @g_pi + %t323 = add i32 %t322, 1 + store i32 %t323, ptr @g_pi + %t324 = load ptr, ptr %t316 + %t325 = getelementptr inbounds %Cmp_Node, ptr %t324, i32 0, i32 3 + store ptr @.str217, ptr %t325 + %t326 = load ptr, ptr %t316 + %t327 = getelementptr inbounds %Cmp_Node, ptr %t326, i32 0, i32 1 + %t328 = call ptr @fn_eat_id() + store ptr %t328, ptr %t327 + %t329 = load ptr, ptr %t316 + %t330 = getelementptr inbounds %Cmp_Node, ptr %t329, i32 0, i32 1 + %t331 = load ptr, ptr %t330 + call void @fn_note_toggled_layer(ptr %t331) + %t332 = load ptr, ptr %t316 + store ptr %t332, ptr %retval + br label %ret +ifend81: + %t333 = call i32 @fn_is_id(ptr @.str218) + %t334 = icmp ne i32 %t333, 0 + br i1 %t334, label %then82, label %ifend84 +then82: + %t335 = load i32, ptr @g_pi + %t336 = add i32 %t335, 1 + store i32 %t336, ptr @g_pi + %t337 = load ptr, ptr %t316 + %t338 = getelementptr inbounds %Cmp_Node, ptr %t337, i32 0, i32 3 + store ptr @.str219, ptr %t338 + %t339 = load ptr, ptr %t316 + %t340 = getelementptr inbounds %Cmp_Node, ptr %t339, i32 0, i32 1 + %t341 = call ptr @fn_eat_id() + store ptr %t341, ptr %t340 + %t342 = load i32, ptr %t307 + %t343 = icmp eq i32 %t342, 0 + %t344 = zext i1 %t343 to i32 + %t345 = icmp ne i32 %t344, 0 + br i1 %t345, label %then85, label %ifend87 +then85: + %t346 = load ptr, ptr @g_g_disabled_sys + %t347 = load ptr, ptr %t316 + %t348 = getelementptr inbounds %Cmp_Node, ptr %t347, i32 0, i32 1 + %t349 = load ptr, ptr %t348 + %t350 = getelementptr inbounds %LSlice, ptr %t346, i32 0, i32 1 + %t351 = getelementptr inbounds %LSlice, ptr %t346, i32 0, i32 2 + %t352 = getelementptr inbounds %LSlice, ptr %t346, i32 0, i32 0 + %t353 = load i32, ptr %t350 + %t354 = load i32, ptr %t351 + %t355 = icmp sge i32 %t353, %t354 + br i1 %t355, label %grow88, label %put89 +grow88: + %t356 = mul i32 %t354, 2 + %t357 = icmp eq i32 %t354, 0 + %t358 = select i1 %t357, i32 8, i32 %t356 + %t359 = getelementptr ptr, ptr null, i32 1 + %t360 = ptrtoint ptr %t359 to i64 + %t361 = zext i32 %t358 to i64 + %t362 = mul i64 %t361, %t360 + %t363 = load ptr, ptr %t352 + %t364 = call ptr @realloc(ptr %t363, i64 %t362) + store ptr %t364, ptr %t352 + store i32 %t358, ptr %t351 + br label %put89 +put89: + %t365 = load ptr, ptr %t352 + %t366 = getelementptr inbounds ptr, ptr %t365, i32 %t353 + store ptr %t349, ptr %t366 + %t367 = add i32 %t353, 1 + store i32 %t367, ptr %t350 + br label %ifend87 +ifend87: + %t368 = load ptr, ptr %t316 + store ptr %t368, ptr %retval + br label %ret +ifend84: + %t369 = load ptr, ptr %t316 + %t370 = getelementptr inbounds %Cmp_Node, ptr %t369, i32 0, i32 1 + %t371 = call ptr @fn_eat_id() + store ptr %t371, ptr %t370 + %t372 = call i32 @fn_is_id(ptr @.str220) + %t373 = icmp ne i32 %t372, 0 + br i1 %t373, label %then90, label %ifend92 +then90: + %t374 = load i32, ptr @g_pi + %t375 = add i32 %t374, 1 + store i32 %t375, ptr @g_pi + %t376 = load ptr, ptr %t316 + %t377 = getelementptr inbounds %Cmp_Node, ptr %t376, i32 0, i32 4 + %t378 = call ptr @fn_expr() + store ptr %t378, ptr %t377 + br label %ifend92 +ifend92: + %t379 = load ptr, ptr %t316 + store ptr %t379, ptr %retval + br label %ret +ifend75: + %t380 = load ptr, ptr %t6 + %t381 = getelementptr inbounds %Cmp_Tok, ptr %t380, i32 0, i32 1 + %t382 = load ptr, ptr %t381 + %t383 = call i32 @lp_str_eq(ptr %t382, ptr @.str221) + %t384 = icmp ne i32 %t383, 0 + br i1 %t384, label %then93, label %ifend95 +then93: + %t385 = load i32, ptr @g_pi + %t386 = add i32 %t385, 1 + store i32 %t386, ptr @g_pi + %t387 = call ptr @fn_node(i32 46) + store ptr %t387, ptr %t388 + %t389 = load ptr, ptr %t388 + %t390 = getelementptr inbounds %Cmp_Node, ptr %t389, i32 0, i32 1 + %t391 = call ptr @fn_eat_id() + store ptr %t391, ptr %t390 + %t392 = call i32 @fn_is_id(ptr @.str222) + %t393 = icmp eq i32 %t392, 0 + %t394 = zext i1 %t393 to i32 + %t395 = icmp ne i32 %t394, 0 + br i1 %t395, label %then96, label %ifend98 +then96: + call void @fn_perr(ptr @.str223) + br label %ifend98 +ifend98: + %t396 = load i32, ptr @g_pi + %t397 = add i32 %t396, 1 + store i32 %t397, ptr @g_pi + %t398 = load ptr, ptr %t388 + %t399 = getelementptr inbounds %Cmp_Node, ptr %t398, i32 0, i32 4 + %t400 = call ptr @fn_expr() + store ptr %t400, ptr %t399 + %t401 = call i32 @fn_is_op(ptr @.str224) + %t402 = icmp ne i32 %t401, 0 + br i1 %t402, label %then99, label %ifend101 +then99: + %t403 = load ptr, ptr %t388 + %t404 = getelementptr inbounds %Cmp_Node, ptr %t403, i32 0, i32 5 + %t405 = call ptr @fn_record() + store ptr %t405, ptr %t404 + br label %ifend101 +ifend101: + %t406 = load ptr, ptr %t388 + store ptr %t406, ptr %retval + br label %ret +ifend95: + %t407 = load ptr, ptr %t6 + %t408 = getelementptr inbounds %Cmp_Tok, ptr %t407, i32 0, i32 1 + %t409 = load ptr, ptr %t408 + %t410 = call i32 @lp_str_eq(ptr %t409, ptr @.str225) + %t411 = icmp ne i32 %t410, 0 + br i1 %t411, label %then102, label %ifend104 +then102: + %t412 = load i32, ptr @g_pi + %t413 = add i32 %t412, 1 + store i32 %t413, ptr @g_pi + %t414 = call ptr @fn_node(i32 47) + store ptr %t414, ptr %t415 + %t416 = load ptr, ptr %t415 + %t417 = getelementptr inbounds %Cmp_Node, ptr %t416, i32 0, i32 1 + %t418 = call ptr @fn_eat_id() + store ptr %t418, ptr %t417 + %t419 = call i32 @fn_is_id(ptr @.str226) + %t420 = icmp eq i32 %t419, 0 + %t421 = zext i1 %t420 to i32 + %t422 = icmp ne i32 %t421, 0 + br i1 %t422, label %then105, label %ifend107 +then105: + call void @fn_perr(ptr @.str227) + br label %ifend107 +ifend107: + %t423 = load i32, ptr @g_pi + %t424 = add i32 %t423, 1 + store i32 %t424, ptr @g_pi + %t425 = load ptr, ptr %t415 + %t426 = getelementptr inbounds %Cmp_Node, ptr %t425, i32 0, i32 4 + %t427 = call ptr @fn_expr() + store ptr %t427, ptr %t426 + %t428 = load ptr, ptr %t415 + store ptr %t428, ptr %retval + br label %ret +ifend104: + %t429 = load ptr, ptr %t6 + %t430 = getelementptr inbounds %Cmp_Tok, ptr %t429, i32 0, i32 1 + %t431 = load ptr, ptr %t430 + %t432 = call i32 @lp_str_eq(ptr %t431, ptr @.str228) + %t433 = icmp ne i32 %t432, 0 + br i1 %t433, label %then108, label %ifend110 +then108: + %t434 = load i32, ptr @g_pi + %t435 = add i32 %t434, 1 + store i32 %t435, ptr @g_pi + %t436 = call ptr @fn_node(i32 17) + store ptr %t436, ptr %retval + br label %ret +ifend110: + %t437 = load ptr, ptr %t6 + %t438 = getelementptr inbounds %Cmp_Tok, ptr %t437, i32 0, i32 1 + %t439 = load ptr, ptr %t438 + %t440 = call i32 @lp_str_eq(ptr %t439, ptr @.str229) + %t441 = icmp ne i32 %t440, 0 + br i1 %t441, label %then111, label %ifend113 +then111: + %t442 = load i32, ptr @g_pi + %t443 = add i32 %t442, 1 + store i32 %t443, ptr @g_pi + %t444 = call ptr @fn_node(i32 18) + store ptr %t444, ptr %retval + br label %ret +ifend113: + %t445 = load ptr, ptr %t6 + %t446 = getelementptr inbounds %Cmp_Tok, ptr %t445, i32 0, i32 1 + %t447 = load ptr, ptr %t446 + %t448 = call i32 @lp_str_eq(ptr %t447, ptr @.str230) + %t449 = icmp ne i32 %t448, 0 + br i1 %t449, label %then114, label %ifend116 +then114: + %t450 = load i32, ptr @g_pi + %t451 = add i32 %t450, 1 + store i32 %t451, ptr @g_pi + %t452 = call ptr @fn_node(i32 50) + store ptr %t452, ptr %retval + br label %ret +ifend116: + %t453 = load ptr, ptr %t6 + %t454 = getelementptr inbounds %Cmp_Tok, ptr %t453, i32 0, i32 1 + %t455 = load ptr, ptr %t454 + %t456 = call i32 @lp_str_eq(ptr %t455, ptr @.str231) + %t457 = icmp ne i32 %t456, 0 + br i1 %t457, label %then117, label %ifend119 +then117: + %t458 = load i32, ptr @g_pi + %t459 = add i32 %t458, 1 + store i32 %t459, ptr @g_pi + %t460 = call ptr @fn_node(i32 19) + store ptr %t460, ptr %t461 + %t462 = load ptr, ptr %t461 + %t463 = getelementptr inbounds %Cmp_Node, ptr %t462, i32 0, i32 4 + %t464 = call ptr @fn_expr() + store ptr %t464, ptr %t463 + call void @fn_skipnl() + call void @fn_eat_op(ptr @.str232) + br label %wcond120 +wcond120: + %t465 = icmp ne i32 1, 0 + br i1 %t465, label %wbody121, label %wend122 +wbody121: + call void @fn_skipnl() + %t466 = call i32 @fn_is_op(ptr @.str233) + %t467 = icmp ne i32 %t466, 0 + br i1 %t467, label %then123, label %ifend125 +then123: + br label %wend122 +ifend125: + %t468 = call ptr @fn_node(i32 20) + store ptr %t468, ptr %t469 + br label %wcond126 +wcond126: + %t470 = icmp ne i32 1, 0 + br i1 %t470, label %wbody127, label %wend128 +wbody127: + %t471 = load ptr, ptr %t469 + %t472 = getelementptr inbounds %Cmp_Node, ptr %t471, i32 0, i32 7 + %t473 = load ptr, ptr %t472 + %t474 = call ptr @fn_expr() + %t475 = getelementptr inbounds %LSlice, ptr %t473, i32 0, i32 1 + %t476 = getelementptr inbounds %LSlice, ptr %t473, i32 0, i32 2 + %t477 = getelementptr inbounds %LSlice, ptr %t473, i32 0, i32 0 + %t478 = load i32, ptr %t475 + %t479 = load i32, ptr %t476 + %t480 = icmp sge i32 %t478, %t479 + br i1 %t480, label %grow129, label %put130 +grow129: + %t481 = mul i32 %t479, 2 + %t482 = icmp eq i32 %t479, 0 + %t483 = select i1 %t482, i32 8, i32 %t481 + %t484 = getelementptr ptr, ptr null, i32 1 + %t485 = ptrtoint ptr %t484 to i64 + %t486 = zext i32 %t483 to i64 + %t487 = mul i64 %t486, %t485 + %t488 = load ptr, ptr %t477 + %t489 = call ptr @realloc(ptr %t488, i64 %t487) + store ptr %t489, ptr %t477 + store i32 %t483, ptr %t476 + br label %put130 +put130: + %t490 = load ptr, ptr %t477 + %t491 = getelementptr inbounds ptr, ptr %t490, i32 %t478 + store ptr %t474, ptr %t491 + %t492 = add i32 %t478, 1 + store i32 %t492, ptr %t475 + %t493 = call i32 @fn_is_op(ptr @.str234) + %t494 = icmp ne i32 %t493, 0 + br i1 %t494, label %then131, label %ifend133 +then131: + %t495 = load i32, ptr @g_pi + %t496 = add i32 %t495, 1 + store i32 %t496, ptr @g_pi + call void @fn_skipnl() + br label %wcond126 +ifend133: + br label %wend128 +wend128: + call void @fn_eat_op(ptr @.str235) + call void @fn_skipnl() + %t497 = call i32 @fn_is_op(ptr @.str236) + %t498 = icmp ne i32 %t497, 0 + br i1 %t498, label %then134, label %else135 +then134: + %t499 = load ptr, ptr %t469 + %t500 = getelementptr inbounds %Cmp_Node, ptr %t499, i32 0, i32 4 + %t501 = call ptr @fn_block() + store ptr %t501, ptr %t500 + br label %ifend136 +else135: + %t502 = call ptr @fn_node(i32 7) + store ptr %t502, ptr %t503 + %t504 = load ptr, ptr %t503 + %t505 = getelementptr inbounds %Cmp_Node, ptr %t504, i32 0, i32 7 + %t506 = load ptr, ptr %t505 + %t507 = call ptr @fn_stmt() + %t508 = getelementptr inbounds %LSlice, ptr %t506, i32 0, i32 1 + %t509 = getelementptr inbounds %LSlice, ptr %t506, i32 0, i32 2 + %t510 = getelementptr inbounds %LSlice, ptr %t506, i32 0, i32 0 + %t511 = load i32, ptr %t508 + %t512 = load i32, ptr %t509 + %t513 = icmp sge i32 %t511, %t512 + br i1 %t513, label %grow137, label %put138 +grow137: + %t514 = mul i32 %t512, 2 + %t515 = icmp eq i32 %t512, 0 + %t516 = select i1 %t515, i32 8, i32 %t514 + %t517 = getelementptr ptr, ptr null, i32 1 + %t518 = ptrtoint ptr %t517 to i64 + %t519 = zext i32 %t516 to i64 + %t520 = mul i64 %t519, %t518 + %t521 = load ptr, ptr %t510 + %t522 = call ptr @realloc(ptr %t521, i64 %t520) + store ptr %t522, ptr %t510 + store i32 %t516, ptr %t509 + br label %put138 +put138: + %t523 = load ptr, ptr %t510 + %t524 = getelementptr inbounds ptr, ptr %t523, i32 %t511 + store ptr %t507, ptr %t524 + %t525 = add i32 %t511, 1 + store i32 %t525, ptr %t508 + %t526 = load ptr, ptr %t469 + %t527 = getelementptr inbounds %Cmp_Node, ptr %t526, i32 0, i32 4 + %t528 = load ptr, ptr %t503 + store ptr %t528, ptr %t527 + br label %ifend136 +ifend136: + %t529 = load ptr, ptr %t461 + %t530 = getelementptr inbounds %Cmp_Node, ptr %t529, i32 0, i32 7 + %t531 = load ptr, ptr %t530 + %t532 = load ptr, ptr %t469 + %t533 = getelementptr inbounds %LSlice, ptr %t531, i32 0, i32 1 + %t534 = getelementptr inbounds %LSlice, ptr %t531, i32 0, i32 2 + %t535 = getelementptr inbounds %LSlice, ptr %t531, i32 0, i32 0 + %t536 = load i32, ptr %t533 + %t537 = load i32, ptr %t534 + %t538 = icmp sge i32 %t536, %t537 + br i1 %t538, label %grow139, label %put140 +grow139: + %t539 = mul i32 %t537, 2 + %t540 = icmp eq i32 %t537, 0 + %t541 = select i1 %t540, i32 8, i32 %t539 + %t542 = getelementptr ptr, ptr null, i32 1 + %t543 = ptrtoint ptr %t542 to i64 + %t544 = zext i32 %t541 to i64 + %t545 = mul i64 %t544, %t543 + %t546 = load ptr, ptr %t535 + %t547 = call ptr @realloc(ptr %t546, i64 %t545) + store ptr %t547, ptr %t535 + store i32 %t541, ptr %t534 + br label %put140 +put140: + %t548 = load ptr, ptr %t535 + %t549 = getelementptr inbounds ptr, ptr %t548, i32 %t536 + store ptr %t532, ptr %t549 + %t550 = add i32 %t536, 1 + store i32 %t550, ptr %t533 + br label %wcond120 +wend122: + call void @fn_eat_op(ptr @.str237) + %t551 = load ptr, ptr %t461 + store ptr %t551, ptr %retval + br label %ret +ifend119: + br label %ifend2 +ifend2: + %t552 = call ptr @fn_expr() + store ptr %t552, ptr %t553 + %t558 = call i32 @fn_is_op(ptr @.str238) + %t559 = icmp ne i32 %t558, 0 + %t560 = zext i1 %t559 to i32 + store i32 %t560, ptr %t557 + br i1 %t559, label %scend142, label %sc141 +sc141: + %t561 = call i32 @fn_is_op(ptr @.str239) + %t562 = icmp ne i32 %t561, 0 + %t563 = zext i1 %t562 to i32 + store i32 %t563, ptr %t557 + br label %scend142 +scend142: + %t564 = load i32, ptr %t557 + %t565 = icmp ne i32 %t564, 0 + %t566 = zext i1 %t565 to i32 + store i32 %t566, ptr %t556 + br i1 %t565, label %scend144, label %sc143 +sc143: + %t567 = call i32 @fn_is_op(ptr @.str240) + %t568 = icmp ne i32 %t567, 0 + %t569 = zext i1 %t568 to i32 + store i32 %t569, ptr %t556 + br label %scend144 +scend144: + %t570 = load i32, ptr %t556 + %t571 = icmp ne i32 %t570, 0 + %t572 = zext i1 %t571 to i32 + store i32 %t572, ptr %t555 + br i1 %t571, label %scend146, label %sc145 +sc145: + %t573 = call i32 @fn_is_op(ptr @.str241) + %t574 = icmp ne i32 %t573, 0 + %t575 = zext i1 %t574 to i32 + store i32 %t575, ptr %t555 + br label %scend146 +scend146: + %t576 = load i32, ptr %t555 + %t577 = icmp ne i32 %t576, 0 + %t578 = zext i1 %t577 to i32 + store i32 %t578, ptr %t554 + br i1 %t577, label %scend148, label %sc147 +sc147: + %t579 = call i32 @fn_is_op(ptr @.str242) + %t580 = icmp ne i32 %t579, 0 + %t581 = zext i1 %t580 to i32 + store i32 %t581, ptr %t554 + br label %scend148 +scend148: + %t582 = load i32, ptr %t554 + %t583 = icmp ne i32 %t582, 0 + br i1 %t583, label %then149, label %ifend151 +then149: + %t584 = call ptr @fn_node(i32 11) + store ptr %t584, ptr %t585 + %t586 = load ptr, ptr %t585 + %t587 = getelementptr inbounds %Cmp_Node, ptr %t586, i32 0, i32 8 + %t588 = load ptr, ptr @g_toks + %t589 = getelementptr inbounds %LSlice, ptr %t588, i32 0, i32 0 + %t590 = load ptr, ptr %t589 + %t591 = load i32, ptr @g_pi + %t592 = getelementptr inbounds ptr, ptr %t590, i32 %t591 + %t593 = load ptr, ptr %t592 + %t594 = getelementptr inbounds %Cmp_Tok, ptr %t593, i32 0, i32 3 + %t595 = load i32, ptr %t594 + store i32 %t595, ptr %t587 + %t596 = load ptr, ptr %t585 + %t597 = getelementptr inbounds %Cmp_Node, ptr %t596, i32 0, i32 1 + %t598 = load ptr, ptr @g_toks + %t599 = getelementptr inbounds %LSlice, ptr %t598, i32 0, i32 0 + %t600 = load ptr, ptr %t599 + %t601 = load i32, ptr @g_pi + %t602 = getelementptr inbounds ptr, ptr %t600, i32 %t601 + %t603 = load ptr, ptr %t602 + %t604 = getelementptr inbounds %Cmp_Tok, ptr %t603, i32 0, i32 1 + %t605 = load ptr, ptr %t604 + store ptr %t605, ptr %t597 + %t606 = load i32, ptr @g_pi + %t607 = add i32 %t606, 1 + store i32 %t607, ptr @g_pi + %t608 = load ptr, ptr %t585 + %t609 = getelementptr inbounds %Cmp_Node, ptr %t608, i32 0, i32 4 + %t610 = load ptr, ptr %t553 + store ptr %t610, ptr %t609 + %t611 = load ptr, ptr %t585 + %t612 = getelementptr inbounds %Cmp_Node, ptr %t611, i32 0, i32 5 + %t613 = call ptr @fn_expr() + store ptr %t613, ptr %t612 + %t614 = load ptr, ptr %t585 + store ptr %t614, ptr %retval + br label %ret +ifend151: + %t615 = call ptr @fn_node(i32 16) + store ptr %t615, ptr %t616 + %t617 = load ptr, ptr %t616 + %t618 = getelementptr inbounds %Cmp_Node, ptr %t617, i32 0, i32 4 + %t619 = load ptr, ptr %t553 + store ptr %t619, ptr %t618 + %t620 = load ptr, ptr %t616 + store ptr %t620, ptr %retval + br label %ret +ret: + %t621 = load ptr, ptr %retval + ret ptr %t621 +} + +define ptr @fn_parse_var() { +entry: + %retval = alloca ptr + %t3 = alloca ptr + %t0 = load i32, ptr @g_pi + %t1 = add i32 %t0, 1 + store i32 %t1, ptr @g_pi + %t2 = call ptr @fn_node(i32 2) + store ptr %t2, ptr %t3 + %t4 = load ptr, ptr %t3 + %t5 = getelementptr inbounds %Cmp_Node, ptr %t4, i32 0, i32 1 + %t6 = call ptr @fn_eat_id() + store ptr %t6, ptr %t5 + call void @fn_eat_op(ptr @.str243) + %t7 = load ptr, ptr %t3 + %t8 = getelementptr inbounds %Cmp_Node, ptr %t7, i32 0, i32 3 + %t9 = call ptr @fn_ptype() + store ptr %t9, ptr %t8 + %t10 = call i32 @fn_is_op(ptr @.str244) + %t11 = icmp ne i32 %t10, 0 + br i1 %t11, label %then0, label %ifend2 +then0: + %t12 = load i32, ptr @g_pi + %t13 = add i32 %t12, 1 + store i32 %t13, ptr @g_pi + %t14 = load ptr, ptr %t3 + %t15 = getelementptr inbounds %Cmp_Node, ptr %t14, i32 0, i32 4 + %t16 = call ptr @fn_expr() + store ptr %t16, ptr %t15 + br label %ifend2 +ifend2: + %t17 = load ptr, ptr %t3 + store ptr %t17, ptr %retval + br label %ret +ret: + %t18 = load ptr, ptr %retval + ret ptr %t18 +} + +define ptr @fn_parse_const() { +entry: + %retval = alloca ptr + %t3 = alloca ptr + %t0 = load i32, ptr @g_pi + %t1 = add i32 %t0, 1 + store i32 %t1, ptr @g_pi + %t2 = call ptr @fn_node(i32 3) + store ptr %t2, ptr %t3 + %t4 = load ptr, ptr %t3 + %t5 = getelementptr inbounds %Cmp_Node, ptr %t4, i32 0, i32 1 + %t6 = call ptr @fn_eat_id() + store ptr %t6, ptr %t5 + call void @fn_eat_op(ptr @.str245) + %t7 = load ptr, ptr %t3 + %t8 = getelementptr inbounds %Cmp_Node, ptr %t7, i32 0, i32 3 + %t9 = call ptr @fn_ptype() + store ptr %t9, ptr %t8 + call void @fn_eat_op(ptr @.str246) + %t10 = load ptr, ptr %t3 + %t11 = getelementptr inbounds %Cmp_Node, ptr %t10, i32 0, i32 4 + %t12 = call ptr @fn_expr() + store ptr %t12, ptr %t11 + %t13 = load ptr, ptr %t3 + store ptr %t13, ptr %retval + br label %ret +ret: + %t14 = load ptr, ptr %retval + ret ptr %t14 +} + +define i32 @fn_is_reserved_word(ptr %arg_w) { +entry: + %retval = alloca i32 + %t0 = alloca ptr + %t1 = alloca i32 + %t2 = alloca i32 + %t3 = alloca i32 + %t4 = alloca i32 + %t5 = alloca i32 + %t44 = alloca i32 + %t45 = alloca i32 + %t46 = alloca i32 + %t47 = alloca i32 + %t48 = alloca i32 + %t87 = alloca i32 + %t88 = alloca i32 + %t89 = alloca i32 + %t90 = alloca i32 + %t91 = alloca i32 + %t133 = alloca i32 + %t134 = alloca i32 + %t135 = alloca i32 + %t136 = alloca i32 + %t137 = alloca i32 + %t138 = alloca i32 + %t184 = alloca i32 + %t185 = alloca i32 + %t186 = alloca i32 + %t187 = alloca i32 + %t188 = alloca i32 + %t227 = alloca i32 + %t228 = alloca i32 + %t229 = alloca i32 + %t230 = alloca i32 + %t231 = alloca i32 + store ptr %arg_w, ptr %t0 + %t6 = load ptr, ptr %t0 + %t7 = call i32 @lp_str_eq(ptr %t6, ptr @.str247) + %t8 = icmp ne i32 %t7, 0 + %t9 = zext i1 %t8 to i32 + store i32 %t9, ptr %t5 + br i1 %t8, label %scend1, label %sc0 +sc0: + %t10 = load ptr, ptr %t0 + %t11 = call i32 @lp_str_eq(ptr %t10, ptr @.str248) + %t12 = icmp ne i32 %t11, 0 + %t13 = zext i1 %t12 to i32 + store i32 %t13, ptr %t5 + br label %scend1 +scend1: + %t14 = load i32, ptr %t5 + %t15 = icmp ne i32 %t14, 0 + %t16 = zext i1 %t15 to i32 + store i32 %t16, ptr %t4 + br i1 %t15, label %scend3, label %sc2 +sc2: + %t17 = load ptr, ptr %t0 + %t18 = call i32 @lp_str_eq(ptr %t17, ptr @.str249) + %t19 = icmp ne i32 %t18, 0 + %t20 = zext i1 %t19 to i32 + store i32 %t20, ptr %t4 + br label %scend3 +scend3: + %t21 = load i32, ptr %t4 + %t22 = icmp ne i32 %t21, 0 + %t23 = zext i1 %t22 to i32 + store i32 %t23, ptr %t3 + br i1 %t22, label %scend5, label %sc4 +sc4: + %t24 = load ptr, ptr %t0 + %t25 = call i32 @lp_str_eq(ptr %t24, ptr @.str250) + %t26 = icmp ne i32 %t25, 0 + %t27 = zext i1 %t26 to i32 + store i32 %t27, ptr %t3 + br label %scend5 +scend5: + %t28 = load i32, ptr %t3 + %t29 = icmp ne i32 %t28, 0 + %t30 = zext i1 %t29 to i32 + store i32 %t30, ptr %t2 + br i1 %t29, label %scend7, label %sc6 +sc6: + %t31 = load ptr, ptr %t0 + %t32 = call i32 @lp_str_eq(ptr %t31, ptr @.str251) + %t33 = icmp ne i32 %t32, 0 + %t34 = zext i1 %t33 to i32 + store i32 %t34, ptr %t2 + br label %scend7 +scend7: + %t35 = load i32, ptr %t2 + %t36 = icmp ne i32 %t35, 0 + %t37 = zext i1 %t36 to i32 + store i32 %t37, ptr %t1 + br i1 %t36, label %scend9, label %sc8 +sc8: + %t38 = load ptr, ptr %t0 + %t39 = call i32 @lp_str_eq(ptr %t38, ptr @.str252) + %t40 = icmp ne i32 %t39, 0 + %t41 = zext i1 %t40 to i32 + store i32 %t41, ptr %t1 + br label %scend9 +scend9: + %t42 = load i32, ptr %t1 + %t43 = icmp ne i32 %t42, 0 + br i1 %t43, label %then10, label %ifend12 +then10: + store i32 1, ptr %retval + br label %ret +ifend12: + %t49 = load ptr, ptr %t0 + %t50 = call i32 @lp_str_eq(ptr %t49, ptr @.str253) + %t51 = icmp ne i32 %t50, 0 + %t52 = zext i1 %t51 to i32 + store i32 %t52, ptr %t48 + br i1 %t51, label %scend14, label %sc13 +sc13: + %t53 = load ptr, ptr %t0 + %t54 = call i32 @lp_str_eq(ptr %t53, ptr @.str254) + %t55 = icmp ne i32 %t54, 0 + %t56 = zext i1 %t55 to i32 + store i32 %t56, ptr %t48 + br label %scend14 +scend14: + %t57 = load i32, ptr %t48 + %t58 = icmp ne i32 %t57, 0 + %t59 = zext i1 %t58 to i32 + store i32 %t59, ptr %t47 + br i1 %t58, label %scend16, label %sc15 +sc15: + %t60 = load ptr, ptr %t0 + %t61 = call i32 @lp_str_eq(ptr %t60, ptr @.str255) + %t62 = icmp ne i32 %t61, 0 + %t63 = zext i1 %t62 to i32 + store i32 %t63, ptr %t47 + br label %scend16 +scend16: + %t64 = load i32, ptr %t47 + %t65 = icmp ne i32 %t64, 0 + %t66 = zext i1 %t65 to i32 + store i32 %t66, ptr %t46 + br i1 %t65, label %scend18, label %sc17 +sc17: + %t67 = load ptr, ptr %t0 + %t68 = call i32 @lp_str_eq(ptr %t67, ptr @.str256) + %t69 = icmp ne i32 %t68, 0 + %t70 = zext i1 %t69 to i32 + store i32 %t70, ptr %t46 + br label %scend18 +scend18: + %t71 = load i32, ptr %t46 + %t72 = icmp ne i32 %t71, 0 + %t73 = zext i1 %t72 to i32 + store i32 %t73, ptr %t45 + br i1 %t72, label %scend20, label %sc19 +sc19: + %t74 = load ptr, ptr %t0 + %t75 = call i32 @lp_str_eq(ptr %t74, ptr @.str257) + %t76 = icmp ne i32 %t75, 0 + %t77 = zext i1 %t76 to i32 + store i32 %t77, ptr %t45 + br label %scend20 +scend20: + %t78 = load i32, ptr %t45 + %t79 = icmp ne i32 %t78, 0 + %t80 = zext i1 %t79 to i32 + store i32 %t80, ptr %t44 + br i1 %t79, label %scend22, label %sc21 +sc21: + %t81 = load ptr, ptr %t0 + %t82 = call i32 @lp_str_eq(ptr %t81, ptr @.str258) + %t83 = icmp ne i32 %t82, 0 + %t84 = zext i1 %t83 to i32 + store i32 %t84, ptr %t44 + br label %scend22 +scend22: + %t85 = load i32, ptr %t44 + %t86 = icmp ne i32 %t85, 0 + br i1 %t86, label %then23, label %ifend25 +then23: + store i32 1, ptr %retval + br label %ret +ifend25: + %t92 = load ptr, ptr %t0 + %t93 = call i32 @lp_str_eq(ptr %t92, ptr @.str259) + %t94 = icmp ne i32 %t93, 0 + %t95 = zext i1 %t94 to i32 + store i32 %t95, ptr %t91 + br i1 %t94, label %scend27, label %sc26 +sc26: + %t96 = load ptr, ptr %t0 + %t97 = call i32 @lp_str_eq(ptr %t96, ptr @.str260) + %t98 = icmp ne i32 %t97, 0 + %t99 = zext i1 %t98 to i32 + store i32 %t99, ptr %t91 + br label %scend27 +scend27: + %t100 = load i32, ptr %t91 + %t101 = icmp ne i32 %t100, 0 + %t102 = zext i1 %t101 to i32 + store i32 %t102, ptr %t90 + br i1 %t101, label %scend29, label %sc28 +sc28: + %t103 = load ptr, ptr %t0 + %t104 = call i32 @lp_str_eq(ptr %t103, ptr @.str261) + %t105 = icmp ne i32 %t104, 0 + %t106 = zext i1 %t105 to i32 + store i32 %t106, ptr %t90 + br label %scend29 +scend29: + %t107 = load i32, ptr %t90 + %t108 = icmp ne i32 %t107, 0 + %t109 = zext i1 %t108 to i32 + store i32 %t109, ptr %t89 + br i1 %t108, label %scend31, label %sc30 +sc30: + %t110 = load ptr, ptr %t0 + %t111 = call i32 @lp_str_eq(ptr %t110, ptr @.str262) + %t112 = icmp ne i32 %t111, 0 + %t113 = zext i1 %t112 to i32 + store i32 %t113, ptr %t89 + br label %scend31 +scend31: + %t114 = load i32, ptr %t89 + %t115 = icmp ne i32 %t114, 0 + %t116 = zext i1 %t115 to i32 + store i32 %t116, ptr %t88 + br i1 %t115, label %scend33, label %sc32 +sc32: + %t117 = load ptr, ptr %t0 + %t118 = call i32 @lp_str_eq(ptr %t117, ptr @.str263) + %t119 = icmp ne i32 %t118, 0 + %t120 = zext i1 %t119 to i32 + store i32 %t120, ptr %t88 + br label %scend33 +scend33: + %t121 = load i32, ptr %t88 + %t122 = icmp ne i32 %t121, 0 + %t123 = zext i1 %t122 to i32 + store i32 %t123, ptr %t87 + br i1 %t122, label %scend35, label %sc34 +sc34: + %t124 = load ptr, ptr %t0 + %t125 = call i32 @lp_str_eq(ptr %t124, ptr @.str264) + %t126 = icmp ne i32 %t125, 0 + %t127 = zext i1 %t126 to i32 + store i32 %t127, ptr %t87 + br label %scend35 +scend35: + %t128 = load i32, ptr %t87 + %t129 = icmp ne i32 %t128, 0 + br i1 %t129, label %then36, label %ifend38 +then36: + store i32 1, ptr %retval + br label %ret +ifend38: + %t130 = load ptr, ptr %t0 + %t131 = call i32 @lp_str_eq(ptr %t130, ptr @.str265) + %t132 = icmp ne i32 %t131, 0 + br i1 %t132, label %then39, label %ifend41 +then39: + store i32 1, ptr %retval + br label %ret +ifend41: + %t139 = load ptr, ptr %t0 + %t140 = call i32 @lp_str_eq(ptr %t139, ptr @.str266) + %t141 = icmp ne i32 %t140, 0 + %t142 = zext i1 %t141 to i32 + store i32 %t142, ptr %t138 + br i1 %t141, label %scend43, label %sc42 +sc42: + %t143 = load ptr, ptr %t0 + %t144 = call i32 @lp_str_eq(ptr %t143, ptr @.str267) + %t145 = icmp ne i32 %t144, 0 + %t146 = zext i1 %t145 to i32 + store i32 %t146, ptr %t138 + br label %scend43 +scend43: + %t147 = load i32, ptr %t138 + %t148 = icmp ne i32 %t147, 0 + %t149 = zext i1 %t148 to i32 + store i32 %t149, ptr %t137 + br i1 %t148, label %scend45, label %sc44 +sc44: + %t150 = load ptr, ptr %t0 + %t151 = call i32 @lp_str_eq(ptr %t150, ptr @.str268) + %t152 = icmp ne i32 %t151, 0 + %t153 = zext i1 %t152 to i32 + store i32 %t153, ptr %t137 + br label %scend45 +scend45: + %t154 = load i32, ptr %t137 + %t155 = icmp ne i32 %t154, 0 + %t156 = zext i1 %t155 to i32 + store i32 %t156, ptr %t136 + br i1 %t155, label %scend47, label %sc46 +sc46: + %t157 = load ptr, ptr %t0 + %t158 = call i32 @lp_str_eq(ptr %t157, ptr @.str269) + %t159 = icmp ne i32 %t158, 0 + %t160 = zext i1 %t159 to i32 + store i32 %t160, ptr %t136 + br label %scend47 +scend47: + %t161 = load i32, ptr %t136 + %t162 = icmp ne i32 %t161, 0 + %t163 = zext i1 %t162 to i32 + store i32 %t163, ptr %t135 + br i1 %t162, label %scend49, label %sc48 +sc48: + %t164 = load ptr, ptr %t0 + %t165 = call i32 @lp_str_eq(ptr %t164, ptr @.str270) + %t166 = icmp ne i32 %t165, 0 + %t167 = zext i1 %t166 to i32 + store i32 %t167, ptr %t135 + br label %scend49 +scend49: + %t168 = load i32, ptr %t135 + %t169 = icmp ne i32 %t168, 0 + %t170 = zext i1 %t169 to i32 + store i32 %t170, ptr %t134 + br i1 %t169, label %scend51, label %sc50 +sc50: + %t171 = load ptr, ptr %t0 + %t172 = call i32 @lp_str_eq(ptr %t171, ptr @.str271) + %t173 = icmp ne i32 %t172, 0 + %t174 = zext i1 %t173 to i32 + store i32 %t174, ptr %t134 + br label %scend51 +scend51: + %t175 = load i32, ptr %t134 + %t176 = icmp ne i32 %t175, 0 + %t177 = zext i1 %t176 to i32 + store i32 %t177, ptr %t133 + br i1 %t176, label %scend53, label %sc52 +sc52: + %t178 = load ptr, ptr %t0 + %t179 = call i32 @lp_str_eq(ptr %t178, ptr @.str272) + %t180 = icmp ne i32 %t179, 0 + %t181 = zext i1 %t180 to i32 + store i32 %t181, ptr %t133 + br label %scend53 +scend53: + %t182 = load i32, ptr %t133 + %t183 = icmp ne i32 %t182, 0 + br i1 %t183, label %then54, label %ifend56 +then54: + store i32 1, ptr %retval + br label %ret +ifend56: + %t189 = load ptr, ptr %t0 + %t190 = call i32 @lp_str_eq(ptr %t189, ptr @.str273) + %t191 = icmp ne i32 %t190, 0 + %t192 = zext i1 %t191 to i32 + store i32 %t192, ptr %t188 + br i1 %t191, label %scend58, label %sc57 +sc57: + %t193 = load ptr, ptr %t0 + %t194 = call i32 @lp_str_eq(ptr %t193, ptr @.str274) + %t195 = icmp ne i32 %t194, 0 + %t196 = zext i1 %t195 to i32 + store i32 %t196, ptr %t188 + br label %scend58 +scend58: + %t197 = load i32, ptr %t188 + %t198 = icmp ne i32 %t197, 0 + %t199 = zext i1 %t198 to i32 + store i32 %t199, ptr %t187 + br i1 %t198, label %scend60, label %sc59 +sc59: + %t200 = load ptr, ptr %t0 + %t201 = call i32 @lp_str_eq(ptr %t200, ptr @.str275) + %t202 = icmp ne i32 %t201, 0 + %t203 = zext i1 %t202 to i32 + store i32 %t203, ptr %t187 + br label %scend60 +scend60: + %t204 = load i32, ptr %t187 + %t205 = icmp ne i32 %t204, 0 + %t206 = zext i1 %t205 to i32 + store i32 %t206, ptr %t186 + br i1 %t205, label %scend62, label %sc61 +sc61: + %t207 = load ptr, ptr %t0 + %t208 = call i32 @lp_str_eq(ptr %t207, ptr @.str276) + %t209 = icmp ne i32 %t208, 0 + %t210 = zext i1 %t209 to i32 + store i32 %t210, ptr %t186 + br label %scend62 +scend62: + %t211 = load i32, ptr %t186 + %t212 = icmp ne i32 %t211, 0 + %t213 = zext i1 %t212 to i32 + store i32 %t213, ptr %t185 + br i1 %t212, label %scend64, label %sc63 +sc63: + %t214 = load ptr, ptr %t0 + %t215 = call i32 @lp_str_eq(ptr %t214, ptr @.str277) + %t216 = icmp ne i32 %t215, 0 + %t217 = zext i1 %t216 to i32 + store i32 %t217, ptr %t185 + br label %scend64 +scend64: + %t218 = load i32, ptr %t185 + %t219 = icmp ne i32 %t218, 0 + %t220 = zext i1 %t219 to i32 + store i32 %t220, ptr %t184 + br i1 %t219, label %scend66, label %sc65 +sc65: + %t221 = load ptr, ptr %t0 + %t222 = call i32 @lp_str_eq(ptr %t221, ptr @.str278) + %t223 = icmp ne i32 %t222, 0 + %t224 = zext i1 %t223 to i32 + store i32 %t224, ptr %t184 + br label %scend66 +scend66: + %t225 = load i32, ptr %t184 + %t226 = icmp ne i32 %t225, 0 + br i1 %t226, label %then67, label %ifend69 +then67: + store i32 1, ptr %retval + br label %ret +ifend69: + %t232 = load ptr, ptr %t0 + %t233 = call i32 @lp_str_eq(ptr %t232, ptr @.str279) + %t234 = icmp ne i32 %t233, 0 + %t235 = zext i1 %t234 to i32 + store i32 %t235, ptr %t231 + br i1 %t234, label %scend71, label %sc70 +sc70: + %t236 = load ptr, ptr %t0 + %t237 = call i32 @lp_str_eq(ptr %t236, ptr @.str280) + %t238 = icmp ne i32 %t237, 0 + %t239 = zext i1 %t238 to i32 + store i32 %t239, ptr %t231 + br label %scend71 +scend71: + %t240 = load i32, ptr %t231 + %t241 = icmp ne i32 %t240, 0 + %t242 = zext i1 %t241 to i32 + store i32 %t242, ptr %t230 + br i1 %t241, label %scend73, label %sc72 +sc72: + %t243 = load ptr, ptr %t0 + %t244 = call i32 @lp_str_eq(ptr %t243, ptr @.str281) + %t245 = icmp ne i32 %t244, 0 + %t246 = zext i1 %t245 to i32 + store i32 %t246, ptr %t230 + br label %scend73 +scend73: + %t247 = load i32, ptr %t230 + %t248 = icmp ne i32 %t247, 0 + %t249 = zext i1 %t248 to i32 + store i32 %t249, ptr %t229 + br i1 %t248, label %scend75, label %sc74 +sc74: + %t250 = load ptr, ptr %t0 + %t251 = call i32 @lp_str_eq(ptr %t250, ptr @.str282) + %t252 = icmp ne i32 %t251, 0 + %t253 = zext i1 %t252 to i32 + store i32 %t253, ptr %t229 + br label %scend75 +scend75: + %t254 = load i32, ptr %t229 + %t255 = icmp ne i32 %t254, 0 + %t256 = zext i1 %t255 to i32 + store i32 %t256, ptr %t228 + br i1 %t255, label %scend77, label %sc76 +sc76: + %t257 = load ptr, ptr %t0 + %t258 = call i32 @lp_str_eq(ptr %t257, ptr @.str283) + %t259 = icmp ne i32 %t258, 0 + %t260 = zext i1 %t259 to i32 + store i32 %t260, ptr %t228 + br label %scend77 +scend77: + %t261 = load i32, ptr %t228 + %t262 = icmp ne i32 %t261, 0 + %t263 = zext i1 %t262 to i32 + store i32 %t263, ptr %t227 + br i1 %t262, label %scend79, label %sc78 +sc78: + %t264 = load ptr, ptr %t0 + %t265 = call i32 @lp_str_eq(ptr %t264, ptr @.str284) + %t266 = icmp ne i32 %t265, 0 + %t267 = zext i1 %t266 to i32 + store i32 %t267, ptr %t227 + br label %scend79 +scend79: + %t268 = load i32, ptr %t227 + %t269 = icmp ne i32 %t268, 0 + br i1 %t269, label %then80, label %ifend82 +then80: + store i32 1, ptr %retval + br label %ret +ifend82: + store i32 0, ptr %retval + br label %ret +ret: + %t270 = load i32, ptr %retval + ret i32 %t270 +} + +define ptr @fn_parse_fn() { +entry: + %retval = alloca ptr + %t3 = alloca ptr + %t22 = alloca ptr + %t0 = load i32, ptr @g_pi + %t1 = add i32 %t0, 1 + store i32 %t1, ptr @g_pi + %t2 = call ptr @fn_node(i32 4) + store ptr %t2, ptr %t3 + %t4 = load ptr, ptr %t3 + %t5 = getelementptr inbounds %Cmp_Node, ptr %t4, i32 0, i32 1 + %t6 = call ptr @fn_eat_id() + store ptr %t6, ptr %t5 + call void @fn_eat_op(ptr @.str285) + %t7 = load ptr, ptr %t3 + %t8 = getelementptr inbounds %Cmp_Node, ptr %t7, i32 0, i32 1 + %t9 = load ptr, ptr %t8 + %t10 = call i32 @fn_is_reserved_word(ptr %t9) + %t11 = icmp ne i32 %t10, 0 + br i1 %t11, label %then0, label %ifend2 +then0: + %t12 = load ptr, ptr %t3 + %t13 = getelementptr inbounds %Cmp_Node, ptr %t12, i32 0, i32 1 + %t14 = load ptr, ptr %t13 + %t15 = call ptr @lp_str_concat(ptr @.str286, ptr %t14) + %t16 = call ptr @lp_str_concat(ptr %t15, ptr @.str287) + call void @fn_perr(ptr %t16) + br label %ifend2 +ifend2: + br label %wcond3 +wcond3: + %t17 = call i32 @fn_is_op(ptr @.str288) + %t18 = icmp eq i32 %t17, 0 + %t19 = zext i1 %t18 to i32 + %t20 = icmp ne i32 %t19, 0 + br i1 %t20, label %wbody4, label %wend5 +wbody4: + %t21 = call ptr @fn_node(i32 5) + store ptr %t21, ptr %t22 + %t23 = load ptr, ptr %t22 + %t24 = getelementptr inbounds %Cmp_Node, ptr %t23, i32 0, i32 1 + %t25 = call ptr @fn_eat_id() + store ptr %t25, ptr %t24 + call void @fn_eat_op(ptr @.str289) + %t26 = load ptr, ptr %t22 + %t27 = getelementptr inbounds %Cmp_Node, ptr %t26, i32 0, i32 3 + %t28 = call ptr @fn_ptype() + store ptr %t28, ptr %t27 + %t29 = load ptr, ptr %t3 + %t30 = getelementptr inbounds %Cmp_Node, ptr %t29, i32 0, i32 7 + %t31 = load ptr, ptr %t30 + %t32 = load ptr, ptr %t22 + %t33 = getelementptr inbounds %LSlice, ptr %t31, i32 0, i32 1 + %t34 = getelementptr inbounds %LSlice, ptr %t31, i32 0, i32 2 + %t35 = getelementptr inbounds %LSlice, ptr %t31, i32 0, i32 0 + %t36 = load i32, ptr %t33 + %t37 = load i32, ptr %t34 + %t38 = icmp sge i32 %t36, %t37 + br i1 %t38, label %grow6, label %put7 +grow6: + %t39 = mul i32 %t37, 2 + %t40 = icmp eq i32 %t37, 0 + %t41 = select i1 %t40, i32 8, i32 %t39 + %t42 = getelementptr ptr, ptr null, i32 1 + %t43 = ptrtoint ptr %t42 to i64 + %t44 = zext i32 %t41 to i64 + %t45 = mul i64 %t44, %t43 + %t46 = load ptr, ptr %t35 + %t47 = call ptr @realloc(ptr %t46, i64 %t45) + store ptr %t47, ptr %t35 + store i32 %t41, ptr %t34 + br label %put7 +put7: + %t48 = load ptr, ptr %t35 + %t49 = getelementptr inbounds ptr, ptr %t48, i32 %t36 + store ptr %t32, ptr %t49 + %t50 = add i32 %t36, 1 + store i32 %t50, ptr %t33 + %t51 = call i32 @fn_is_op(ptr @.str290) + %t52 = icmp ne i32 %t51, 0 + br i1 %t52, label %then8, label %ifend10 +then8: + %t53 = load i32, ptr @g_pi + %t54 = add i32 %t53, 1 + store i32 %t54, ptr @g_pi + br label %ifend10 +ifend10: + br label %wcond3 +wend5: + call void @fn_eat_op(ptr @.str291) + %t55 = load ptr, ptr %t3 + %t56 = getelementptr inbounds %Cmp_Node, ptr %t55, i32 0, i32 3 + store ptr @.str292, ptr %t56 + %t57 = call i32 @fn_is_op(ptr @.str293) + %t58 = icmp ne i32 %t57, 0 + br i1 %t58, label %then11, label %ifend13 +then11: + %t59 = load i32, ptr @g_pi + %t60 = add i32 %t59, 1 + store i32 %t60, ptr @g_pi + %t61 = load ptr, ptr %t3 + %t62 = getelementptr inbounds %Cmp_Node, ptr %t61, i32 0, i32 3 + %t63 = call ptr @fn_ptype() + store ptr %t63, ptr %t62 + br label %ifend13 +ifend13: + %t64 = load ptr, ptr %t3 + %t65 = getelementptr inbounds %Cmp_Node, ptr %t64, i32 0, i32 4 + %t66 = call ptr @fn_block() + store ptr %t66, ptr %t65 + %t67 = load ptr, ptr %t3 + store ptr %t67, ptr %retval + br label %ret +ret: + %t68 = load ptr, ptr %retval + ret ptr %t68 +} + +define ptr @fn_parse_main() { +entry: + %retval = alloca ptr + %t3 = alloca ptr + %t0 = load i32, ptr @g_pi + %t1 = add i32 %t0, 1 + store i32 %t1, ptr @g_pi + %t2 = call ptr @fn_node(i32 6) + store ptr %t2, ptr %t3 + %t4 = load ptr, ptr %t3 + %t5 = getelementptr inbounds %Cmp_Node, ptr %t4, i32 0, i32 4 + %t6 = call ptr @fn_block() + store ptr %t6, ptr %t5 + %t7 = load ptr, ptr %t3 + store ptr %t7, ptr %retval + br label %ret +ret: + %t8 = load ptr, ptr %retval + ret ptr %t8 +} + +define i32 @fn_ns_short_in(ptr %arg_names, ptr %arg_s) { +entry: + %retval = alloca i32 + %t0 = alloca ptr + %t1 = alloca ptr + %t2 = alloca i32 + store ptr %arg_names, ptr %t0 + store ptr %arg_s, ptr %t1 + store i32 0, ptr %t2 + br label %wcond0 +wcond0: + %t3 = load i32, ptr %t2 + %t4 = load ptr, ptr %t0 + %t5 = getelementptr inbounds %LSlice, ptr %t4, i32 0, i32 1 + %t6 = load i32, ptr %t5 + %t7 = icmp slt i32 %t3, %t6 + %t8 = zext i1 %t7 to i32 + %t9 = icmp ne i32 %t8, 0 + br i1 %t9, label %wbody1, label %wend2 +wbody1: + %t10 = load ptr, ptr %t0 + %t11 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 0 + %t12 = load ptr, ptr %t11 + %t13 = load i32, ptr %t2 + %t14 = getelementptr inbounds ptr, ptr %t12, i32 %t13 + %t15 = load ptr, ptr %t14 + %t16 = load ptr, ptr %t1 + %t17 = call i32 @lp_str_eq(ptr %t15, ptr %t16) + %t18 = icmp ne i32 %t17, 0 + br i1 %t18, label %then3, label %ifend5 +then3: + store i32 1, ptr %retval + br label %ret +ifend5: + %t19 = load i32, ptr %t2 + %t20 = add i32 %t19, 1 + store i32 %t20, ptr %t2 + br label %wcond0 +wend2: + store i32 0, ptr %retval + br label %ret +ret: + %t21 = load i32, ptr %retval + ret i32 %t21 +} + +define void @fn_ns_rewrite_calls(ptr %arg_n, ptr %arg_shorts, ptr %arg_prefix) { +entry: + %t0 = alloca ptr + %t1 = alloca ptr + %t2 = alloca ptr + %t7 = alloca i32 + %t8 = alloca i32 + %t71 = alloca i32 + store ptr %arg_n, ptr %t0 + store ptr %arg_shorts, ptr %t1 + store ptr %arg_prefix, ptr %t2 + %t3 = load ptr, ptr %t0 + %t4 = icmp eq ptr %t3, null + %t5 = zext i1 %t4 to i32 + %t6 = icmp ne i32 %t5, 0 + br i1 %t6, label %then0, label %ifend2 +then0: + br label %ret +ifend2: + %t9 = load ptr, ptr %t0 + %t10 = getelementptr inbounds %Cmp_Node, ptr %t9, i32 0, i32 0 + %t11 = load i32, ptr %t10 + %t12 = icmp eq i32 %t11, 34 + %t13 = zext i1 %t12 to i32 + %t14 = icmp ne i32 %t13, 0 + %t15 = zext i1 %t14 to i32 + store i32 %t15, ptr %t8 + br i1 %t14, label %sc3, label %scend4 +sc3: + %t16 = load ptr, ptr %t0 + %t17 = getelementptr inbounds %Cmp_Node, ptr %t16, i32 0, i32 4 + %t18 = load ptr, ptr %t17 + %t19 = icmp ne ptr %t18, null + %t20 = zext i1 %t19 to i32 + %t21 = icmp ne i32 %t20, 0 + %t22 = zext i1 %t21 to i32 + store i32 %t22, ptr %t8 + br label %scend4 +scend4: + %t23 = load i32, ptr %t8 + %t24 = icmp ne i32 %t23, 0 + %t25 = zext i1 %t24 to i32 + store i32 %t25, ptr %t7 + br i1 %t24, label %sc5, label %scend6 +sc5: + %t26 = load ptr, ptr %t0 + %t27 = getelementptr inbounds %Cmp_Node, ptr %t26, i32 0, i32 4 + %t28 = load ptr, ptr %t27 + %t29 = getelementptr inbounds %Cmp_Node, ptr %t28, i32 0, i32 0 + %t30 = load i32, ptr %t29 + %t31 = icmp eq i32 %t30, 33 + %t32 = zext i1 %t31 to i32 + %t33 = icmp ne i32 %t32, 0 + %t34 = zext i1 %t33 to i32 + store i32 %t34, ptr %t7 + br label %scend6 +scend6: + %t35 = load i32, ptr %t7 + %t36 = icmp ne i32 %t35, 0 + br i1 %t36, label %then7, label %ifend9 +then7: + %t37 = load ptr, ptr %t1 + %t38 = load ptr, ptr %t0 + %t39 = getelementptr inbounds %Cmp_Node, ptr %t38, i32 0, i32 4 + %t40 = load ptr, ptr %t39 + %t41 = getelementptr inbounds %Cmp_Node, ptr %t40, i32 0, i32 1 + %t42 = load ptr, ptr %t41 + %t43 = call i32 @fn_ns_short_in(ptr %t37, ptr %t42) + %t44 = icmp ne i32 %t43, 0 + br i1 %t44, label %then10, label %ifend12 +then10: + %t45 = load ptr, ptr %t0 + %t46 = getelementptr inbounds %Cmp_Node, ptr %t45, i32 0, i32 4 + %t47 = load ptr, ptr %t46 + %t48 = getelementptr inbounds %Cmp_Node, ptr %t47, i32 0, i32 1 + %t49 = load ptr, ptr %t2 + %t50 = load ptr, ptr %t0 + %t51 = getelementptr inbounds %Cmp_Node, ptr %t50, i32 0, i32 4 + %t52 = load ptr, ptr %t51 + %t53 = getelementptr inbounds %Cmp_Node, ptr %t52, i32 0, i32 1 + %t54 = load ptr, ptr %t53 + %t55 = call ptr @lp_str_concat(ptr %t49, ptr %t54) + store ptr %t55, ptr %t48 + br label %ifend12 +ifend12: + br label %ifend9 +ifend9: + %t56 = load ptr, ptr %t0 + %t57 = getelementptr inbounds %Cmp_Node, ptr %t56, i32 0, i32 4 + %t58 = load ptr, ptr %t57 + %t59 = load ptr, ptr %t1 + %t60 = load ptr, ptr %t2 + call void @fn_ns_rewrite_calls(ptr %t58, ptr %t59, ptr %t60) + %t61 = load ptr, ptr %t0 + %t62 = getelementptr inbounds %Cmp_Node, ptr %t61, i32 0, i32 5 + %t63 = load ptr, ptr %t62 + %t64 = load ptr, ptr %t1 + %t65 = load ptr, ptr %t2 + call void @fn_ns_rewrite_calls(ptr %t63, ptr %t64, ptr %t65) + %t66 = load ptr, ptr %t0 + %t67 = getelementptr inbounds %Cmp_Node, ptr %t66, i32 0, i32 6 + %t68 = load ptr, ptr %t67 + %t69 = load ptr, ptr %t1 + %t70 = load ptr, ptr %t2 + call void @fn_ns_rewrite_calls(ptr %t68, ptr %t69, ptr %t70) + store i32 0, ptr %t71 + br label %wcond13 +wcond13: + %t72 = load i32, ptr %t71 + %t73 = load ptr, ptr %t0 + %t74 = getelementptr inbounds %Cmp_Node, ptr %t73, i32 0, i32 7 + %t75 = load ptr, ptr %t74 + %t76 = getelementptr inbounds %LSlice, ptr %t75, i32 0, i32 1 + %t77 = load i32, ptr %t76 + %t78 = icmp slt i32 %t72, %t77 + %t79 = zext i1 %t78 to i32 + %t80 = icmp ne i32 %t79, 0 + br i1 %t80, label %wbody14, label %wend15 +wbody14: + %t81 = load ptr, ptr %t0 + %t82 = getelementptr inbounds %Cmp_Node, ptr %t81, i32 0, i32 7 + %t83 = load ptr, ptr %t82 + %t84 = getelementptr inbounds %LSlice, ptr %t83, i32 0, i32 0 + %t85 = load ptr, ptr %t84 + %t86 = load i32, ptr %t71 + %t87 = getelementptr inbounds ptr, ptr %t85, i32 %t86 + %t88 = load ptr, ptr %t87 + %t89 = load ptr, ptr %t1 + %t90 = load ptr, ptr %t2 + call void @fn_ns_rewrite_calls(ptr %t88, ptr %t89, ptr %t90) + %t91 = load i32, ptr %t71 + %t92 = add i32 %t91, 1 + store i32 %t92, ptr %t71 + br label %wcond13 +wend15: + br label %ret +ret: + ret void +} + +define void @fn_parse_namespace() { +entry: + %t3 = alloca ptr + %t10 = alloca ptr + %t17 = alloca ptr + %t24 = alloca ptr + %t29 = alloca i32 + %t43 = alloca ptr + %t109 = alloca ptr + %t110 = alloca i32 + %t0 = load i32, ptr @g_pi + %t1 = add i32 %t0, 1 + store i32 %t1, ptr @g_pi + %t2 = call ptr @fn_eat_id() + store ptr %t2, ptr %t3 + call void @fn_eat_op(ptr @.str294) + call void @fn_skipnl() + %t4 = getelementptr %LSlice, ptr null, i32 1 + %t5 = ptrtoint ptr %t4 to i64 + %t6 = call ptr @malloc(i64 %t5) + %t7 = getelementptr inbounds %LSlice, ptr %t6, i32 0, i32 0 + store ptr null, ptr %t7 + %t8 = getelementptr inbounds %LSlice, ptr %t6, i32 0, i32 1 + store i32 0, ptr %t8 + %t9 = getelementptr inbounds %LSlice, ptr %t6, i32 0, i32 2 + store i32 0, ptr %t9 + store ptr %t6, ptr %t10 + %t11 = getelementptr %LSlice, ptr null, i32 1 + %t12 = ptrtoint ptr %t11 to i64 + %t13 = call ptr @malloc(i64 %t12) + %t14 = getelementptr inbounds %LSlice, ptr %t13, i32 0, i32 0 + store ptr null, ptr %t14 + %t15 = getelementptr inbounds %LSlice, ptr %t13, i32 0, i32 1 + store i32 0, ptr %t15 + %t16 = getelementptr inbounds %LSlice, ptr %t13, i32 0, i32 2 + store i32 0, ptr %t16 + store ptr %t13, ptr %t17 + %t18 = getelementptr %LSlice, ptr null, i32 1 + %t19 = ptrtoint ptr %t18 to i64 + %t20 = call ptr @malloc(i64 %t19) + %t21 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 0 + store ptr null, ptr %t21 + %t22 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 1 + store i32 0, ptr %t22 + %t23 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 2 + store i32 0, ptr %t23 + store ptr %t20, ptr %t24 + br label %wcond0 +wcond0: + %t25 = call i32 @fn_is_op(ptr @.str295) + %t26 = icmp eq i32 %t25, 0 + %t27 = zext i1 %t26 to i32 + %t28 = icmp ne i32 %t27, 0 + br i1 %t28, label %wbody1, label %wend2 +wbody1: + store i32 1, ptr %t29 + %t30 = call i32 @fn_is_id(ptr @.str296) + %t31 = icmp ne i32 %t30, 0 + br i1 %t31, label %then3, label %else4 +then3: + %t32 = load i32, ptr @g_pi + %t33 = add i32 %t32, 1 + store i32 %t33, ptr @g_pi + br label %ifend5 +else4: + %t34 = call i32 @fn_is_id(ptr @.str297) + %t35 = icmp ne i32 %t34, 0 + br i1 %t35, label %then6, label %ifend8 +then6: + %t36 = load i32, ptr @g_pi + %t37 = add i32 %t36, 1 + store i32 %t37, ptr @g_pi + store i32 0, ptr %t29 + br label %ifend8 +ifend8: + br label %ifend5 +ifend5: + %t38 = call i32 @fn_is_id(ptr @.str298) + %t39 = icmp eq i32 %t38, 0 + %t40 = zext i1 %t39 to i32 + %t41 = icmp ne i32 %t40, 0 + br i1 %t41, label %then9, label %ifend11 +then9: + call void @fn_perr(ptr @.str299) + br label %ifend11 +ifend11: + %t42 = call ptr @fn_parse_fn() + store ptr %t42, ptr %t43 + %t44 = load ptr, ptr %t10 + %t45 = load ptr, ptr %t43 + %t46 = getelementptr inbounds %LSlice, ptr %t44, i32 0, i32 1 + %t47 = getelementptr inbounds %LSlice, ptr %t44, i32 0, i32 2 + %t48 = getelementptr inbounds %LSlice, ptr %t44, i32 0, i32 0 + %t49 = load i32, ptr %t46 + %t50 = load i32, ptr %t47 + %t51 = icmp sge i32 %t49, %t50 + br i1 %t51, label %grow12, label %put13 +grow12: + %t52 = mul i32 %t50, 2 + %t53 = icmp eq i32 %t50, 0 + %t54 = select i1 %t53, i32 8, i32 %t52 + %t55 = getelementptr ptr, ptr null, i32 1 + %t56 = ptrtoint ptr %t55 to i64 + %t57 = zext i32 %t54 to i64 + %t58 = mul i64 %t57, %t56 + %t59 = load ptr, ptr %t48 + %t60 = call ptr @realloc(ptr %t59, i64 %t58) + store ptr %t60, ptr %t48 + store i32 %t54, ptr %t47 + br label %put13 +put13: + %t61 = load ptr, ptr %t48 + %t62 = getelementptr inbounds ptr, ptr %t61, i32 %t49 + store ptr %t45, ptr %t62 + %t63 = add i32 %t49, 1 + store i32 %t63, ptr %t46 + %t64 = load ptr, ptr %t17 + %t65 = load ptr, ptr %t43 + %t66 = getelementptr inbounds %Cmp_Node, ptr %t65, i32 0, i32 1 + %t67 = load ptr, ptr %t66 + %t68 = getelementptr inbounds %LSlice, ptr %t64, i32 0, i32 1 + %t69 = getelementptr inbounds %LSlice, ptr %t64, i32 0, i32 2 + %t70 = getelementptr inbounds %LSlice, ptr %t64, i32 0, i32 0 + %t71 = load i32, ptr %t68 + %t72 = load i32, ptr %t69 + %t73 = icmp sge i32 %t71, %t72 + br i1 %t73, label %grow14, label %put15 +grow14: + %t74 = mul i32 %t72, 2 + %t75 = icmp eq i32 %t72, 0 + %t76 = select i1 %t75, i32 8, i32 %t74 + %t77 = getelementptr ptr, ptr null, i32 1 + %t78 = ptrtoint ptr %t77 to i64 + %t79 = zext i32 %t76 to i64 + %t80 = mul i64 %t79, %t78 + %t81 = load ptr, ptr %t70 + %t82 = call ptr @realloc(ptr %t81, i64 %t80) + store ptr %t82, ptr %t70 + store i32 %t76, ptr %t69 + br label %put15 +put15: + %t83 = load ptr, ptr %t70 + %t84 = getelementptr inbounds ptr, ptr %t83, i32 %t71 + store ptr %t67, ptr %t84 + %t85 = add i32 %t71, 1 + store i32 %t85, ptr %t68 + %t86 = load ptr, ptr %t24 + %t87 = load i32, ptr %t29 + %t88 = getelementptr inbounds %LSlice, ptr %t86, i32 0, i32 1 + %t89 = getelementptr inbounds %LSlice, ptr %t86, i32 0, i32 2 + %t90 = getelementptr inbounds %LSlice, ptr %t86, i32 0, i32 0 + %t91 = load i32, ptr %t88 + %t92 = load i32, ptr %t89 + %t93 = icmp sge i32 %t91, %t92 + br i1 %t93, label %grow16, label %put17 +grow16: + %t94 = mul i32 %t92, 2 + %t95 = icmp eq i32 %t92, 0 + %t96 = select i1 %t95, i32 8, i32 %t94 + %t97 = getelementptr i32, ptr null, i32 1 + %t98 = ptrtoint ptr %t97 to i64 + %t99 = zext i32 %t96 to i64 + %t100 = mul i64 %t99, %t98 + %t101 = load ptr, ptr %t90 + %t102 = call ptr @realloc(ptr %t101, i64 %t100) + store ptr %t102, ptr %t90 + store i32 %t96, ptr %t89 + br label %put17 +put17: + %t103 = load ptr, ptr %t90 + %t104 = getelementptr inbounds i32, ptr %t103, i32 %t91 + store i32 %t87, ptr %t104 + %t105 = add i32 %t91, 1 + store i32 %t105, ptr %t88 + call void @fn_skipnl() + br label %wcond0 +wend2: + call void @fn_eat_op(ptr @.str300) + %t106 = load ptr, ptr %t3 + %t107 = call ptr @fn_ns_lower(ptr %t106) + %t108 = call ptr @lp_str_concat(ptr %t107, ptr @.str301) + store ptr %t108, ptr %t109 + store i32 0, ptr %t110 + br label %wcond18 +wcond18: + %t111 = load i32, ptr %t110 + %t112 = load ptr, ptr %t10 + %t113 = getelementptr inbounds %LSlice, ptr %t112, i32 0, i32 1 + %t114 = load i32, ptr %t113 + %t115 = icmp slt i32 %t111, %t114 + %t116 = zext i1 %t115 to i32 + %t117 = icmp ne i32 %t116, 0 + br i1 %t117, label %wbody19, label %wend20 +wbody19: + %t118 = load ptr, ptr %t10 + %t119 = getelementptr inbounds %LSlice, ptr %t118, i32 0, i32 0 + %t120 = load ptr, ptr %t119 + %t121 = load i32, ptr %t110 + %t122 = getelementptr inbounds ptr, ptr %t120, i32 %t121 + %t123 = load ptr, ptr %t122 + %t124 = getelementptr inbounds %Cmp_Node, ptr %t123, i32 0, i32 1 + %t125 = load ptr, ptr %t109 + %t126 = load ptr, ptr %t17 + %t127 = getelementptr inbounds %LSlice, ptr %t126, i32 0, i32 0 + %t128 = load ptr, ptr %t127 + %t129 = load i32, ptr %t110 + %t130 = getelementptr inbounds ptr, ptr %t128, i32 %t129 + %t131 = load ptr, ptr %t130 + %t132 = call ptr @lp_str_concat(ptr %t125, ptr %t131) + store ptr %t132, ptr %t124 + %t133 = load i32, ptr %t110 + %t134 = add i32 %t133, 1 + store i32 %t134, ptr %t110 + br label %wcond18 +wend20: + store i32 0, ptr %t110 + br label %wcond21 +wcond21: + %t135 = load i32, ptr %t110 + %t136 = load ptr, ptr %t10 + %t137 = getelementptr inbounds %LSlice, ptr %t136, i32 0, i32 1 + %t138 = load i32, ptr %t137 + %t139 = icmp slt i32 %t135, %t138 + %t140 = zext i1 %t139 to i32 + %t141 = icmp ne i32 %t140, 0 + br i1 %t141, label %wbody22, label %wend23 +wbody22: + %t142 = load ptr, ptr %t10 + %t143 = getelementptr inbounds %LSlice, ptr %t142, i32 0, i32 0 + %t144 = load ptr, ptr %t143 + %t145 = load i32, ptr %t110 + %t146 = getelementptr inbounds ptr, ptr %t144, i32 %t145 + %t147 = load ptr, ptr %t146 + %t148 = getelementptr inbounds %Cmp_Node, ptr %t147, i32 0, i32 4 + %t149 = load ptr, ptr %t148 + %t150 = load ptr, ptr %t17 + %t151 = load ptr, ptr %t109 + call void @fn_ns_rewrite_calls(ptr %t149, ptr %t150, ptr %t151) + %t152 = load i32, ptr %t110 + %t153 = add i32 %t152, 1 + store i32 %t153, ptr %t110 + br label %wcond21 +wend23: + %t154 = load ptr, ptr %t3 + call void @fn_register_namespace(ptr %t154) + %t155 = load ptr, ptr @g_g_ns_blocks + %t156 = load ptr, ptr %t3 + %t157 = getelementptr inbounds %LSlice, ptr %t155, i32 0, i32 1 + %t158 = getelementptr inbounds %LSlice, ptr %t155, i32 0, i32 2 + %t159 = getelementptr inbounds %LSlice, ptr %t155, i32 0, i32 0 + %t160 = load i32, ptr %t157 + %t161 = load i32, ptr %t158 + %t162 = icmp sge i32 %t160, %t161 + br i1 %t162, label %grow24, label %put25 +grow24: + %t163 = mul i32 %t161, 2 + %t164 = icmp eq i32 %t161, 0 + %t165 = select i1 %t164, i32 8, i32 %t163 + %t166 = getelementptr ptr, ptr null, i32 1 + %t167 = ptrtoint ptr %t166 to i64 + %t168 = zext i32 %t165 to i64 + %t169 = mul i64 %t168, %t167 + %t170 = load ptr, ptr %t159 + %t171 = call ptr @realloc(ptr %t170, i64 %t169) + store ptr %t171, ptr %t159 + store i32 %t165, ptr %t158 + br label %put25 +put25: + %t172 = load ptr, ptr %t159 + %t173 = getelementptr inbounds ptr, ptr %t172, i32 %t160 + store ptr %t156, ptr %t173 + %t174 = add i32 %t160, 1 + store i32 %t174, ptr %t157 + store i32 0, ptr %t110 + br label %wcond26 +wcond26: + %t175 = load i32, ptr %t110 + %t176 = load ptr, ptr %t10 + %t177 = getelementptr inbounds %LSlice, ptr %t176, i32 0, i32 1 + %t178 = load i32, ptr %t177 + %t179 = icmp slt i32 %t175, %t178 + %t180 = zext i1 %t179 to i32 + %t181 = icmp ne i32 %t180, 0 + br i1 %t181, label %wbody27, label %wend28 +wbody27: + %t182 = load ptr, ptr %t24 + %t183 = getelementptr inbounds %LSlice, ptr %t182, i32 0, i32 0 + %t184 = load ptr, ptr %t183 + %t185 = load i32, ptr %t110 + %t186 = getelementptr inbounds i32, ptr %t184, i32 %t185 + %t187 = load i32, ptr %t186 + %t188 = icmp eq i32 %t187, 1 + %t189 = zext i1 %t188 to i32 + %t190 = icmp ne i32 %t189, 0 + br i1 %t190, label %then29, label %ifend31 +then29: + %t191 = load ptr, ptr @g_g_ns_exports + %t192 = load ptr, ptr %t10 + %t193 = getelementptr inbounds %LSlice, ptr %t192, i32 0, i32 0 + %t194 = load ptr, ptr %t193 + %t195 = load i32, ptr %t110 + %t196 = getelementptr inbounds ptr, ptr %t194, i32 %t195 + %t197 = load ptr, ptr %t196 + %t198 = getelementptr inbounds %Cmp_Node, ptr %t197, i32 0, i32 1 + %t199 = load ptr, ptr %t198 + %t200 = getelementptr inbounds %LSlice, ptr %t191, i32 0, i32 1 + %t201 = getelementptr inbounds %LSlice, ptr %t191, i32 0, i32 2 + %t202 = getelementptr inbounds %LSlice, ptr %t191, i32 0, i32 0 + %t203 = load i32, ptr %t200 + %t204 = load i32, ptr %t201 + %t205 = icmp sge i32 %t203, %t204 + br i1 %t205, label %grow32, label %put33 +grow32: + %t206 = mul i32 %t204, 2 + %t207 = icmp eq i32 %t204, 0 + %t208 = select i1 %t207, i32 8, i32 %t206 + %t209 = getelementptr ptr, ptr null, i32 1 + %t210 = ptrtoint ptr %t209 to i64 + %t211 = zext i32 %t208 to i64 + %t212 = mul i64 %t211, %t210 + %t213 = load ptr, ptr %t202 + %t214 = call ptr @realloc(ptr %t213, i64 %t212) + store ptr %t214, ptr %t202 + store i32 %t208, ptr %t201 + br label %put33 +put33: + %t215 = load ptr, ptr %t202 + %t216 = getelementptr inbounds ptr, ptr %t215, i32 %t203 + store ptr %t199, ptr %t216 + %t217 = add i32 %t203, 1 + store i32 %t217, ptr %t200 + br label %ifend31 +ifend31: + %t218 = load ptr, ptr @g_prog + %t219 = load ptr, ptr %t10 + %t220 = getelementptr inbounds %LSlice, ptr %t219, i32 0, i32 0 + %t221 = load ptr, ptr %t220 + %t222 = load i32, ptr %t110 + %t223 = getelementptr inbounds ptr, ptr %t221, i32 %t222 + %t224 = load ptr, ptr %t223 + %t225 = getelementptr inbounds %LSlice, ptr %t218, i32 0, i32 1 + %t226 = getelementptr inbounds %LSlice, ptr %t218, i32 0, i32 2 + %t227 = getelementptr inbounds %LSlice, ptr %t218, i32 0, i32 0 + %t228 = load i32, ptr %t225 + %t229 = load i32, ptr %t226 + %t230 = icmp sge i32 %t228, %t229 + br i1 %t230, label %grow34, label %put35 +grow34: + %t231 = mul i32 %t229, 2 + %t232 = icmp eq i32 %t229, 0 + %t233 = select i1 %t232, i32 8, i32 %t231 + %t234 = getelementptr ptr, ptr null, i32 1 + %t235 = ptrtoint ptr %t234 to i64 + %t236 = zext i32 %t233 to i64 + %t237 = mul i64 %t236, %t235 + %t238 = load ptr, ptr %t227 + %t239 = call ptr @realloc(ptr %t238, i64 %t237) + store ptr %t239, ptr %t227 + store i32 %t233, ptr %t226 + br label %put35 +put35: + %t240 = load ptr, ptr %t227 + %t241 = getelementptr inbounds ptr, ptr %t240, i32 %t228 + store ptr %t224, ptr %t241 + %t242 = add i32 %t228, 1 + store i32 %t242, ptr %t225 + %t243 = load i32, ptr %t110 + %t244 = add i32 %t243, 1 + store i32 %t244, ptr %t110 + br label %wcond26 +wend28: + br label %ret +ret: + ret void +} + +define i32 @fn_host_is_windows() { +entry: + %retval = alloca i32 + %t1 = alloca ptr + %t0 = call ptr @getenv(ptr @.str302) + store ptr %t0, ptr %t1 + %t2 = load ptr, ptr %t1 + %t3 = icmp eq ptr %t2, null + %t4 = zext i1 %t3 to i32 + %t5 = icmp ne i32 %t4, 0 + br i1 %t5, label %then0, label %ifend2 +then0: + store i32 0, ptr %retval + br label %ret +ifend2: + %t6 = load ptr, ptr %t1 + %t7 = call i32 @lp_str_eq(ptr %t6, ptr @.str303) + store i32 %t7, ptr %retval + br label %ret +ret: + %t8 = load i32, ptr %retval + ret i32 %t8 +} + +define i32 @fn_is_sep(i32 %arg_c) { +entry: + %retval = alloca i32 + %t0 = alloca i32 + %t1 = alloca i32 + store i32 %arg_c, ptr %t0 + %t2 = load i32, ptr %t0 + %t3 = icmp eq i32 %t2, 47 + %t4 = zext i1 %t3 to i32 + %t5 = icmp ne i32 %t4, 0 + %t6 = zext i1 %t5 to i32 + store i32 %t6, ptr %t1 + br i1 %t5, label %scend1, label %sc0 +sc0: + %t7 = load i32, ptr %t0 + %t8 = icmp eq i32 %t7, 92 + %t9 = zext i1 %t8 to i32 + %t10 = icmp ne i32 %t9, 0 + %t11 = zext i1 %t10 to i32 + store i32 %t11, ptr %t1 + br label %scend1 +scend1: + %t12 = load i32, ptr %t1 + store i32 %t12, ptr %retval + br label %ret +ret: + %t13 = load i32, ptr %retval + ret i32 %t13 +} + +define ptr @fn_fwd_slashes(ptr %arg_s) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t4 = alloca i32 + %t9 = alloca ptr + %t10 = alloca i32 + store ptr %arg_s, ptr %t0 + %t1 = load ptr, ptr %t0 + %t2 = call i64 @strlen(ptr %t1) + %t3 = trunc i64 %t2 to i32 + store i32 %t3, ptr %t4 + %t5 = load i32, ptr %t4 + %t6 = add i32 %t5, 1 + %t7 = zext i32 %t6 to i64 + %t8 = call ptr @malloc(i64 %t7) + store ptr %t8, ptr %t9 + store i32 0, ptr %t10 + br label %wcond0 +wcond0: + %t11 = load i32, ptr %t10 + %t12 = load i32, ptr %t4 + %t13 = icmp slt i32 %t11, %t12 + %t14 = zext i1 %t13 to i32 + %t15 = icmp ne i32 %t14, 0 + br i1 %t15, label %wbody1, label %wend2 +wbody1: + %t16 = load ptr, ptr %t0 + %t17 = load i32, ptr %t10 + %t18 = getelementptr inbounds i8, ptr %t16, i32 %t17 + %t19 = load i8, ptr %t18 + %t20 = zext i8 %t19 to i32 + %t21 = icmp eq i32 %t20, 92 + %t22 = zext i1 %t21 to i32 + %t23 = icmp ne i32 %t22, 0 + br i1 %t23, label %then3, label %else4 +then3: + %t24 = load ptr, ptr %t9 + %t25 = load i32, ptr %t10 + %t26 = getelementptr inbounds i8, ptr %t24, i32 %t25 + %t27 = trunc i32 47 to i8 + store i8 %t27, ptr %t26 + br label %ifend5 +else4: + %t28 = load ptr, ptr %t9 + %t29 = load i32, ptr %t10 + %t30 = getelementptr inbounds i8, ptr %t28, i32 %t29 + %t31 = load ptr, ptr %t0 + %t32 = load i32, ptr %t10 + %t33 = getelementptr inbounds i8, ptr %t31, i32 %t32 + %t34 = load i8, ptr %t33 + %t35 = zext i8 %t34 to i32 + %t36 = trunc i32 %t35 to i8 + store i8 %t36, ptr %t30 + br label %ifend5 +ifend5: + %t37 = load i32, ptr %t10 + %t38 = add i32 %t37, 1 + store i32 %t38, ptr %t10 + br label %wcond0 +wend2: + %t39 = load ptr, ptr %t9 + %t40 = load i32, ptr %t4 + %t41 = getelementptr inbounds i8, ptr %t39, i32 %t40 + %t42 = trunc i32 0 to i8 + store i8 %t42, ptr %t41 + %t43 = load ptr, ptr %t9 + store ptr %t43, ptr %retval + br label %ret +ret: + %t44 = load ptr, ptr %retval + ret ptr %t44 +} + +define ptr @fn_dir_of(ptr %arg_path) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t2 = alloca i32 + %t3 = alloca i32 + store ptr %arg_path, ptr %t0 + %t1 = sub i32 0, 1 + store i32 %t1, ptr %t2 + store i32 0, ptr %t3 + br label %wcond0 +wcond0: + %t4 = load ptr, ptr %t0 + %t5 = load i32, ptr %t3 + %t6 = getelementptr inbounds i8, ptr %t4, i32 %t5 + %t7 = load i8, ptr %t6 + %t8 = zext i8 %t7 to i32 + %t9 = icmp ne i32 %t8, 0 + %t10 = zext i1 %t9 to i32 + %t11 = icmp ne i32 %t10, 0 + br i1 %t11, label %wbody1, label %wend2 +wbody1: + %t12 = load ptr, ptr %t0 + %t13 = load i32, ptr %t3 + %t14 = getelementptr inbounds i8, ptr %t12, i32 %t13 + %t15 = load i8, ptr %t14 + %t16 = zext i8 %t15 to i32 + %t17 = call i32 @fn_is_sep(i32 %t16) + %t18 = icmp ne i32 %t17, 0 + br i1 %t18, label %then3, label %ifend5 +then3: + %t19 = load i32, ptr %t3 + store i32 %t19, ptr %t2 + br label %ifend5 +ifend5: + %t20 = load i32, ptr %t3 + %t21 = add i32 %t20, 1 + store i32 %t21, ptr %t3 + br label %wcond0 +wend2: + %t22 = load i32, ptr %t2 + %t23 = icmp slt i32 %t22, 0 + %t24 = zext i1 %t23 to i32 + %t25 = icmp ne i32 %t24, 0 + br i1 %t25, label %then6, label %ifend8 +then6: + store ptr @.str304, ptr %retval + br label %ret +ifend8: + %t26 = load ptr, ptr %t0 + %t27 = load i32, ptr %t2 + %t28 = add i32 %t27, 1 + %t29 = call ptr @lp_str_slice(ptr %t26, i32 0, i32 %t28) + store ptr %t29, ptr %retval + br label %ret +ret: + %t30 = load ptr, ptr %retval + ret ptr %t30 +} + +define ptr @fn_join_path(ptr %arg_dir, ptr %arg_rel) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t1 = alloca ptr + store ptr %arg_dir, ptr %t0 + store ptr %arg_rel, ptr %t1 + %t2 = load ptr, ptr %t1 + %t3 = getelementptr inbounds i8, ptr %t2, i32 0 + %t4 = load i8, ptr %t3 + %t5 = zext i8 %t4 to i32 + %t6 = call i32 @fn_is_sep(i32 %t5) + %t7 = icmp ne i32 %t6, 0 + br i1 %t7, label %then0, label %ifend2 +then0: + %t8 = load ptr, ptr %t1 + store ptr %t8, ptr %retval + br label %ret +ifend2: + %t9 = load ptr, ptr %t1 + %t10 = getelementptr inbounds i8, ptr %t9, i32 0 + %t11 = load i8, ptr %t10 + %t12 = zext i8 %t11 to i32 + %t13 = icmp ne i32 %t12, 0 + %t14 = zext i1 %t13 to i32 + %t15 = icmp ne i32 %t14, 0 + br i1 %t15, label %then3, label %ifend5 +then3: + %t16 = load ptr, ptr %t1 + %t17 = getelementptr inbounds i8, ptr %t16, i32 1 + %t18 = load i8, ptr %t17 + %t19 = zext i8 %t18 to i32 + %t20 = icmp eq i32 %t19, 58 + %t21 = zext i1 %t20 to i32 + %t22 = icmp ne i32 %t21, 0 + br i1 %t22, label %then6, label %ifend8 +then6: + %t23 = load ptr, ptr %t1 + store ptr %t23, ptr %retval + br label %ret +ifend8: + br label %ifend5 +ifend5: + %t24 = load ptr, ptr %t0 + %t25 = load ptr, ptr %t1 + %t26 = call ptr @lp_str_concat(ptr %t24, ptr %t25) + store ptr %t26, ptr %retval + br label %ret +ret: + %t27 = load ptr, ptr %retval + ret ptr %t27 +} + +define ptr @fn_ludic_home() { +entry: + %retval = alloca ptr + %t1 = alloca ptr + %t14 = alloca ptr + %t32 = alloca i32 + %t0 = call ptr @getenv(ptr @.str305) + store ptr %t0, ptr %t1 + %t2 = load ptr, ptr %t1 + %t3 = icmp ne ptr %t2, null + %t4 = zext i1 %t3 to i32 + %t5 = icmp ne i32 %t4, 0 + br i1 %t5, label %then0, label %ifend2 +then0: + %t6 = load ptr, ptr %t1 + %t7 = call ptr @fn_fwd_slashes(ptr %t6) + %t8 = call ptr @fn_ensure_slash(ptr %t7) + store ptr %t8, ptr %retval + br label %ret +ifend2: + %t9 = load ptr, ptr @L_argv + %t10 = getelementptr ptr, ptr %t9, i32 0 + %t11 = load ptr, ptr %t10 + %t12 = call ptr @fn_dir_of(ptr %t11) + %t13 = call ptr @fn_fwd_slashes(ptr %t12) + store ptr %t13, ptr %t14 + %t15 = load ptr, ptr %t14 + %t16 = call i64 @strlen(ptr %t15) + %t17 = trunc i64 %t16 to i32 + %t18 = icmp eq i32 %t17, 0 + %t19 = zext i1 %t18 to i32 + %t20 = icmp ne i32 %t19, 0 + br i1 %t20, label %then3, label %ifend5 +then3: + %t21 = load ptr, ptr @L_argv + %t22 = getelementptr ptr, ptr %t21, i32 0 + %t23 = load ptr, ptr %t22 + %t24 = call ptr @fn_base_name(ptr %t23) + %t25 = call ptr @fn_path_lookup_dir(ptr %t24) + store ptr %t25, ptr %t14 + br label %ifend5 +ifend5: + %t26 = load ptr, ptr %t14 + %t27 = call i64 @strlen(ptr %t26) + %t28 = trunc i64 %t27 to i32 + %t29 = icmp eq i32 %t28, 0 + %t30 = zext i1 %t29 to i32 + %t31 = icmp ne i32 %t30, 0 + br i1 %t31, label %then6, label %ifend8 +then6: + store ptr @.str306, ptr %retval + br label %ret +ifend8: + %t33 = load ptr, ptr %t14 + %t34 = call i64 @strlen(ptr %t33) + %t35 = trunc i64 %t34 to i32 + %t36 = icmp sge i32 %t35, 4 + %t37 = zext i1 %t36 to i32 + %t38 = icmp ne i32 %t37, 0 + %t39 = zext i1 %t38 to i32 + store i32 %t39, ptr %t32 + br i1 %t38, label %sc9, label %scend10 +sc9: + %t40 = load ptr, ptr %t14 + %t41 = load ptr, ptr %t14 + %t42 = call i64 @strlen(ptr %t41) + %t43 = trunc i64 %t42 to i32 + %t44 = sub i32 %t43, 4 + %t45 = load ptr, ptr %t14 + %t46 = call i64 @strlen(ptr %t45) + %t47 = trunc i64 %t46 to i32 + %t48 = call ptr @lp_str_slice(ptr %t40, i32 %t44, i32 %t47) + %t49 = call i32 @lp_str_eq(ptr %t48, ptr @.str307) + %t50 = icmp ne i32 %t49, 0 + %t51 = zext i1 %t50 to i32 + store i32 %t51, ptr %t32 + br label %scend10 +scend10: + %t52 = load i32, ptr %t32 + %t53 = icmp ne i32 %t52, 0 + br i1 %t53, label %then11, label %ifend13 +then11: + %t54 = load ptr, ptr %t14 + %t55 = load ptr, ptr %t14 + %t56 = call i64 @strlen(ptr %t55) + %t57 = trunc i64 %t56 to i32 + %t58 = sub i32 %t57, 4 + %t59 = call ptr @lp_str_slice(ptr %t54, i32 0, i32 %t58) + store ptr %t59, ptr %retval + br label %ret +ifend13: + %t60 = load ptr, ptr %t14 + store ptr %t60, ptr %retval + br label %ret +ret: + %t61 = load ptr, ptr %retval + ret ptr %t61 +} + +define ptr @fn_path_lookup_dir(ptr %arg_name) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t2 = alloca ptr + %t8 = alloca i32 + %t9 = alloca i32 + %t15 = alloca i32 + %t16 = alloca i32 + %t17 = alloca i32 + %t23 = alloca i32 + %t53 = alloca ptr + %t58 = alloca ptr + %t72 = alloca ptr + store ptr %arg_name, ptr %t0 + %t1 = call ptr @getenv(ptr @.str308) + store ptr %t1, ptr %t2 + %t3 = load ptr, ptr %t2 + %t4 = icmp eq ptr %t3, null + %t5 = zext i1 %t4 to i32 + %t6 = icmp ne i32 %t5, 0 + br i1 %t6, label %then0, label %ifend2 +then0: + store ptr @.str309, ptr %retval + br label %ret +ifend2: + %t7 = call i32 @fn_host_is_windows() + store i32 %t7, ptr %t8 + store i32 58, ptr %t9 + %t10 = load i32, ptr %t8 + %t11 = icmp ne i32 %t10, 0 + br i1 %t11, label %then3, label %ifend5 +then3: + store i32 59, ptr %t9 + br label %ifend5 +ifend5: + %t12 = load ptr, ptr %t2 + %t13 = call i64 @strlen(ptr %t12) + %t14 = trunc i64 %t13 to i32 + store i32 %t14, ptr %t15 + store i32 0, ptr %t16 + store i32 0, ptr %t17 + br label %wcond6 +wcond6: + %t18 = load i32, ptr %t17 + %t19 = load i32, ptr %t15 + %t20 = icmp sle i32 %t18, %t19 + %t21 = zext i1 %t20 to i32 + %t22 = icmp ne i32 %t21, 0 + br i1 %t22, label %wbody7, label %wend8 +wbody7: + %t24 = load i32, ptr %t17 + %t25 = load i32, ptr %t15 + %t26 = icmp eq i32 %t24, %t25 + %t27 = zext i1 %t26 to i32 + %t28 = icmp ne i32 %t27, 0 + %t29 = zext i1 %t28 to i32 + store i32 %t29, ptr %t23 + br i1 %t28, label %scend10, label %sc9 +sc9: + %t30 = load ptr, ptr %t2 + %t31 = load i32, ptr %t17 + %t32 = getelementptr inbounds i8, ptr %t30, i32 %t31 + %t33 = load i8, ptr %t32 + %t34 = zext i8 %t33 to i32 + %t35 = load i32, ptr %t9 + %t36 = icmp eq i32 %t34, %t35 + %t37 = zext i1 %t36 to i32 + %t38 = icmp ne i32 %t37, 0 + %t39 = zext i1 %t38 to i32 + store i32 %t39, ptr %t23 + br label %scend10 +scend10: + %t40 = load i32, ptr %t23 + %t41 = icmp ne i32 %t40, 0 + br i1 %t41, label %then11, label %ifend13 +then11: + %t42 = load i32, ptr %t17 + %t43 = load i32, ptr %t16 + %t44 = icmp sgt i32 %t42, %t43 + %t45 = zext i1 %t44 to i32 + %t46 = icmp ne i32 %t45, 0 + br i1 %t46, label %then14, label %ifend16 +then14: + %t47 = load ptr, ptr %t2 + %t48 = load i32, ptr %t16 + %t49 = load i32, ptr %t17 + %t50 = call ptr @lp_str_slice(ptr %t47, i32 %t48, i32 %t49) + %t51 = call ptr @fn_fwd_slashes(ptr %t50) + %t52 = call ptr @fn_ensure_slash(ptr %t51) + store ptr %t52, ptr %t53 + %t54 = load ptr, ptr %t53 + %t55 = load ptr, ptr %t0 + %t56 = call ptr @lp_str_concat(ptr %t54, ptr %t55) + %t57 = call ptr @lp_pak_open(ptr %t56, ptr @.str310) + store ptr %t57, ptr %t58 + %t59 = load ptr, ptr %t58 + %t60 = icmp ne ptr %t59, null + %t61 = zext i1 %t60 to i32 + %t62 = icmp ne i32 %t61, 0 + br i1 %t62, label %then17, label %ifend19 +then17: + %t63 = load ptr, ptr %t58 + call i32 @fclose(ptr %t63) + %t64 = load ptr, ptr %t53 + store ptr %t64, ptr %retval + br label %ret +ifend19: + %t65 = load i32, ptr %t8 + %t66 = icmp ne i32 %t65, 0 + br i1 %t66, label %then20, label %ifend22 +then20: + %t67 = load ptr, ptr %t53 + %t68 = load ptr, ptr %t0 + %t69 = call ptr @lp_str_concat(ptr %t67, ptr %t68) + %t70 = call ptr @lp_str_concat(ptr %t69, ptr @.str311) + %t71 = call ptr @lp_pak_open(ptr %t70, ptr @.str312) + store ptr %t71, ptr %t72 + %t73 = load ptr, ptr %t72 + %t74 = icmp ne ptr %t73, null + %t75 = zext i1 %t74 to i32 + %t76 = icmp ne i32 %t75, 0 + br i1 %t76, label %then23, label %ifend25 +then23: + %t77 = load ptr, ptr %t72 + call i32 @fclose(ptr %t77) + %t78 = load ptr, ptr %t53 + store ptr %t78, ptr %retval + br label %ret +ifend25: + br label %ifend22 +ifend22: + br label %ifend16 +ifend16: + %t79 = load i32, ptr %t17 + %t80 = add i32 %t79, 1 + store i32 %t80, ptr %t16 + br label %ifend13 +ifend13: + %t81 = load i32, ptr %t17 + %t82 = add i32 %t81, 1 + store i32 %t82, ptr %t17 + br label %wcond6 +wend8: + store ptr @.str313, ptr %retval + br label %ret +ret: + %t83 = load ptr, ptr %retval + ret ptr %t83 +} + +define void @fn_warn_draw_sprite(ptr %arg_name) { +entry: + %t0 = alloca ptr + %t6 = alloca ptr + store ptr %arg_name, ptr %t0 + %t1 = load i32, ptr @g_g_warned_draw_sprite + %t2 = icmp ne i32 %t1, 0 + br i1 %t2, label %then0, label %ifend2 +then0: + br label %ret +ifend2: + store i32 1, ptr @g_g_warned_draw_sprite + %t3 = load ptr, ptr %t0 + %t4 = call ptr @lp_str_concat(ptr @.str314, ptr %t3) + %t5 = call ptr @lp_str_concat(ptr %t4, ptr @.str315) + store ptr %t5, ptr %t6 + %t7 = call ptr @lp_win_stdio(i32 2) + %t8 = load ptr, ptr %t6 + %t9 = load ptr, ptr %t6 + %t10 = call i64 @strlen(ptr %t9) + %t11 = trunc i64 %t10 to i32 + %t12 = zext i32 %t11 to i64 + %t13 = call i64 @fwrite(ptr %t8, i64 1, i64 %t12, ptr %t7) + %t14 = trunc i64 %t13 to i32 + br label %ret +ret: + ret void +} + +define i32 @fn_is_ns_block(ptr %arg_name) { +entry: + %retval = alloca i32 + %t0 = alloca ptr + %t1 = alloca i32 + store ptr %arg_name, ptr %t0 + store i32 0, ptr %t1 + br label %wcond0 +wcond0: + %t2 = load i32, ptr %t1 + %t3 = load ptr, ptr @g_g_ns_blocks + %t4 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 1 + %t5 = load i32, ptr %t4 + %t6 = icmp slt i32 %t2, %t5 + %t7 = zext i1 %t6 to i32 + %t8 = icmp ne i32 %t7, 0 + br i1 %t8, label %wbody1, label %wend2 +wbody1: + %t9 = load ptr, ptr @g_g_ns_blocks + %t10 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0 + %t11 = load ptr, ptr %t10 + %t12 = load i32, ptr %t1 + %t13 = getelementptr inbounds ptr, ptr %t11, i32 %t12 + %t14 = load ptr, ptr %t13 + %t15 = load ptr, ptr %t0 + %t16 = call i32 @lp_str_eq(ptr %t14, ptr %t15) + %t17 = icmp ne i32 %t16, 0 + br i1 %t17, label %then3, label %ifend5 +then3: + store i32 1, ptr %retval + br label %ret +ifend5: + %t18 = load i32, ptr %t1 + %t19 = add i32 %t18, 1 + store i32 %t19, ptr %t1 + br label %wcond0 +wend2: + store i32 0, ptr %retval + br label %ret +ret: + %t20 = load i32, ptr %retval + ret i32 %t20 +} + +define i32 @fn_ns_export_has(ptr %arg_prefixed) { +entry: + %retval = alloca i32 + %t0 = alloca ptr + %t1 = alloca i32 + store ptr %arg_prefixed, ptr %t0 + store i32 0, ptr %t1 + br label %wcond0 +wcond0: + %t2 = load i32, ptr %t1 + %t3 = load ptr, ptr @g_g_ns_exports + %t4 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 1 + %t5 = load i32, ptr %t4 + %t6 = icmp slt i32 %t2, %t5 + %t7 = zext i1 %t6 to i32 + %t8 = icmp ne i32 %t7, 0 + br i1 %t8, label %wbody1, label %wend2 +wbody1: + %t9 = load ptr, ptr @g_g_ns_exports + %t10 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0 + %t11 = load ptr, ptr %t10 + %t12 = load i32, ptr %t1 + %t13 = getelementptr inbounds ptr, ptr %t11, i32 %t12 + %t14 = load ptr, ptr %t13 + %t15 = load ptr, ptr %t0 + %t16 = call i32 @lp_str_eq(ptr %t14, ptr %t15) + %t17 = icmp ne i32 %t16, 0 + br i1 %t17, label %then3, label %ifend5 +then3: + store i32 1, ptr %retval + br label %ret +ifend5: + %t18 = load i32, ptr %t1 + %t19 = add i32 %t18, 1 + store i32 %t19, ptr %t1 + br label %wcond0 +wend2: + store i32 0, ptr %retval + br label %ret +ret: + %t20 = load i32, ptr %retval + ret i32 %t20 +} + +define i32 @fn_is_system_disabled(ptr %arg_fn) { +entry: + %retval = alloca i32 + %t0 = alloca ptr + %t1 = alloca i32 + store ptr %arg_fn, ptr %t0 + store i32 0, ptr %t1 + br label %wcond0 +wcond0: + %t2 = load i32, ptr %t1 + %t3 = load ptr, ptr @g_g_disabled_sys + %t4 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 1 + %t5 = load i32, ptr %t4 + %t6 = icmp slt i32 %t2, %t5 + %t7 = zext i1 %t6 to i32 + %t8 = icmp ne i32 %t7, 0 + br i1 %t8, label %wbody1, label %wend2 +wbody1: + %t9 = load ptr, ptr @g_g_disabled_sys + %t10 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0 + %t11 = load ptr, ptr %t10 + %t12 = load i32, ptr %t1 + %t13 = getelementptr inbounds ptr, ptr %t11, i32 %t12 + %t14 = load ptr, ptr %t13 + %t15 = load ptr, ptr %t0 + %t16 = call i32 @lp_str_eq(ptr %t14, ptr %t15) + %t17 = icmp ne i32 %t16, 0 + br i1 %t17, label %then3, label %ifend5 +then3: + store i32 1, ptr %retval + br label %ret +ifend5: + %t18 = load i32, ptr %t1 + %t19 = add i32 %t18, 1 + store i32 %t19, ptr %t1 + br label %wcond0 +wend2: + store i32 0, ptr %retval + br label %ret +ret: + %t20 = load i32, ptr %retval + ret i32 %t20 +} + +define void @fn_register_namespace(ptr %arg_name) { +entry: + %t0 = alloca ptr + %t1 = alloca i32 + store ptr %arg_name, ptr %t0 + store i32 0, ptr %t1 + br label %wcond0 +wcond0: + %t2 = load i32, ptr %t1 + %t3 = load ptr, ptr @g_g_namespaces + %t4 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 1 + %t5 = load i32, ptr %t4 + %t6 = icmp slt i32 %t2, %t5 + %t7 = zext i1 %t6 to i32 + %t8 = icmp ne i32 %t7, 0 + br i1 %t8, label %wbody1, label %wend2 +wbody1: + %t9 = load ptr, ptr @g_g_namespaces + %t10 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0 + %t11 = load ptr, ptr %t10 + %t12 = load i32, ptr %t1 + %t13 = getelementptr inbounds ptr, ptr %t11, i32 %t12 + %t14 = load ptr, ptr %t13 + %t15 = load ptr, ptr %t0 + %t16 = call i32 @lp_str_eq(ptr %t14, ptr %t15) + %t17 = icmp ne i32 %t16, 0 + br i1 %t17, label %then3, label %ifend5 +then3: + br label %ret +ifend5: + %t18 = load i32, ptr %t1 + %t19 = add i32 %t18, 1 + store i32 %t19, ptr %t1 + br label %wcond0 +wend2: + %t20 = load ptr, ptr @g_g_namespaces + %t21 = load ptr, ptr %t0 + %t22 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 1 + %t23 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 2 + %t24 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 0 + %t25 = load i32, ptr %t22 + %t26 = load i32, ptr %t23 + %t27 = icmp sge i32 %t25, %t26 + br i1 %t27, label %grow6, label %put7 +grow6: + %t28 = mul i32 %t26, 2 + %t29 = icmp eq i32 %t26, 0 + %t30 = select i1 %t29, i32 8, i32 %t28 + %t31 = getelementptr ptr, ptr null, i32 1 + %t32 = ptrtoint ptr %t31 to i64 + %t33 = zext i32 %t30 to i64 + %t34 = mul i64 %t33, %t32 + %t35 = load ptr, ptr %t24 + %t36 = call ptr @realloc(ptr %t35, i64 %t34) + store ptr %t36, ptr %t24 + store i32 %t30, ptr %t23 + br label %put7 +put7: + %t37 = load ptr, ptr %t24 + %t38 = getelementptr inbounds ptr, ptr %t37, i32 %t25 + store ptr %t21, ptr %t38 + %t39 = add i32 %t25, 1 + store i32 %t39, ptr %t22 + br label %ret +ret: + ret void +} + +define i32 @fn_is_registered_namespace(ptr %arg_name) { +entry: + %retval = alloca i32 + %t0 = alloca ptr + %t1 = alloca i32 + store ptr %arg_name, ptr %t0 + store i32 0, ptr %t1 + br label %wcond0 +wcond0: + %t2 = load i32, ptr %t1 + %t3 = load ptr, ptr @g_g_namespaces + %t4 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 1 + %t5 = load i32, ptr %t4 + %t6 = icmp slt i32 %t2, %t5 + %t7 = zext i1 %t6 to i32 + %t8 = icmp ne i32 %t7, 0 + br i1 %t8, label %wbody1, label %wend2 +wbody1: + %t9 = load ptr, ptr @g_g_namespaces + %t10 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0 + %t11 = load ptr, ptr %t10 + %t12 = load i32, ptr %t1 + %t13 = getelementptr inbounds ptr, ptr %t11, i32 %t12 + %t14 = load ptr, ptr %t13 + %t15 = load ptr, ptr %t0 + %t16 = call i32 @lp_str_eq(ptr %t14, ptr %t15) + %t17 = icmp ne i32 %t16, 0 + br i1 %t17, label %then3, label %ifend5 +then3: + store i32 1, ptr %retval + br label %ret +ifend5: + %t18 = load i32, ptr %t1 + %t19 = add i32 %t18, 1 + store i32 %t19, ptr %t1 + br label %wcond0 +wend2: + store i32 0, ptr %retval + br label %ret +ret: + %t20 = load i32, ptr %retval + ret i32 %t20 +} + +define i32 @fn_already_loaded(ptr %arg_full) { +entry: + %retval = alloca i32 + %t0 = alloca ptr + %t1 = alloca i32 + store ptr %arg_full, ptr %t0 + store i32 0, ptr %t1 + br label %wcond0 +wcond0: + %t2 = load i32, ptr %t1 + %t3 = load ptr, ptr @g_loaded_paths + %t4 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 1 + %t5 = load i32, ptr %t4 + %t6 = icmp slt i32 %t2, %t5 + %t7 = zext i1 %t6 to i32 + %t8 = icmp ne i32 %t7, 0 + br i1 %t8, label %wbody1, label %wend2 +wbody1: + %t9 = load ptr, ptr @g_loaded_paths + %t10 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0 + %t11 = load ptr, ptr %t10 + %t12 = load i32, ptr %t1 + %t13 = getelementptr inbounds ptr, ptr %t11, i32 %t12 + %t14 = load ptr, ptr %t13 + %t15 = load ptr, ptr %t0 + %t16 = call i32 @lp_str_eq(ptr %t14, ptr %t15) + %t17 = icmp ne i32 %t16, 0 + br i1 %t17, label %then3, label %ifend5 +then3: + store i32 1, ptr %retval + br label %ret +ifend5: + %t18 = load i32, ptr %t1 + %t19 = add i32 %t18, 1 + store i32 %t19, ptr %t1 + br label %wcond0 +wend2: + store i32 0, ptr %retval + br label %ret +ret: + %t20 = load i32, ptr %retval + ret i32 %t20 +} + +define void @fn_parse_one_decl() { +entry: + %t0 = alloca i32 + %t1 = alloca ptr + %t2 = alloca ptr + %t3 = alloca ptr + %t4 = alloca ptr + %t5 = alloca ptr + %t6 = alloca ptr + %t7 = alloca ptr + %t8 = alloca ptr + %t9 = alloca ptr + %t10 = alloca i32 + %t11 = alloca ptr + %t12 = alloca i32 + %t13 = alloca i32 + %t14 = alloca ptr + %t15 = alloca ptr + %t16 = alloca ptr + %t17 = alloca ptr + %t18 = alloca ptr + %t19 = alloca ptr + %t25 = alloca ptr + %t117 = alloca i32 + %t143 = alloca ptr + %t153 = alloca ptr + %t182 = alloca ptr + %t194 = alloca ptr + %t197 = alloca i32 + %t241 = alloca ptr + %t293 = alloca ptr + %t414 = alloca ptr + %t531 = alloca ptr + store i32 0, ptr %t0 + store ptr null, ptr %t1 + store ptr null, ptr %t2 + store ptr null, ptr %t3 + store ptr null, ptr %t4 + store ptr null, ptr %t5 + store ptr null, ptr %t6 + store ptr null, ptr %t7 + store ptr null, ptr %t8 + store ptr null, ptr %t9 + store i32 0, ptr %t10 + store ptr null, ptr %t11 + store i32 0, ptr %t12 + store i32 0, ptr %t13 + store ptr null, ptr %t14 + store ptr null, ptr %t15 + store ptr null, ptr %t16 + store ptr null, ptr %t17 + store ptr null, ptr %t18 + store ptr null, ptr %t19 + br label %wcond0 +wcond0: + %t20 = call i32 @fn_is_op(ptr @.str316) + %t21 = icmp ne i32 %t20, 0 + br i1 %t21, label %wbody1, label %wend2 +wbody1: + %t22 = load i32, ptr @g_pi + %t23 = add i32 %t22, 1 + store i32 %t23, ptr @g_pi + %t24 = call ptr @fn_eat_id() + store ptr %t24, ptr %t25 + %t26 = load ptr, ptr %t25 + %t27 = call i32 @lp_str_eq(ptr %t26, ptr @.str317) + %t28 = icmp ne i32 %t27, 0 + br i1 %t28, label %then3, label %else4 +then3: + store i32 1, ptr %t0 + br label %ifend5 +else4: + %t29 = load ptr, ptr %t25 + %t30 = call i32 @lp_str_eq(ptr %t29, ptr @.str318) + %t31 = icmp ne i32 %t30, 0 + br i1 %t31, label %then6, label %else7 +then6: + store i32 1, ptr %t10 + br label %ifend8 +else7: + %t32 = load ptr, ptr %t25 + %t33 = call i32 @lp_str_eq(ptr %t32, ptr @.str319) + %t34 = icmp ne i32 %t33, 0 + br i1 %t34, label %then9, label %else10 +then9: + call void @fn_eat_op(ptr @.str320) + %t35 = call ptr @fn_eat_id() + store ptr %t35, ptr %t9 + call void @fn_eat_op(ptr @.str321) + br label %ifend11 +else10: + %t36 = load ptr, ptr %t25 + %t37 = call i32 @lp_str_eq(ptr %t36, ptr @.str322) + %t38 = icmp ne i32 %t37, 0 + br i1 %t38, label %then12, label %else13 +then12: + %t39 = call ptr @fn_parse_queries_anno() + store ptr %t39, ptr %t1 + br label %ifend14 +else13: + %t40 = load ptr, ptr %t25 + %t41 = call i32 @lp_str_eq(ptr %t40, ptr @.str323) + %t42 = icmp ne i32 %t41, 0 + br i1 %t42, label %then15, label %else16 +then15: + call void @fn_eat_op(ptr @.str324) + %t43 = call ptr @fn_eat_id() + store ptr %t43, ptr %t2 + call void @fn_eat_op(ptr @.str325) + br label %ifend17 +else16: + %t44 = load ptr, ptr %t25 + %t45 = call i32 @lp_str_eq(ptr %t44, ptr @.str326) + %t46 = icmp ne i32 %t45, 0 + br i1 %t46, label %then18, label %else19 +then18: + call void @fn_eat_op(ptr @.str327) + %t47 = call ptr @fn_eat_id() + store ptr %t47, ptr %t3 + %t48 = call i32 @fn_is_op(ptr @.str328) + %t49 = icmp ne i32 %t48, 0 + br i1 %t49, label %then21, label %ifend23 +then21: + %t50 = load i32, ptr @g_pi + %t51 = add i32 %t50, 1 + store i32 %t51, ptr @g_pi + %t52 = call ptr @fn_eat_id() + call void @fn_eat_op(ptr @.str329) + %t53 = call ptr @fn_eat_id() + store ptr %t53, ptr %t4 + br label %ifend23 +ifend23: + call void @fn_eat_op(ptr @.str330) + br label %ifend20 +else19: + %t54 = load ptr, ptr %t25 + %t55 = call i32 @lp_str_eq(ptr %t54, ptr @.str331) + %t56 = icmp ne i32 %t55, 0 + br i1 %t56, label %then24, label %else25 +then24: + call void @fn_eat_op(ptr @.str332) + %t57 = call ptr @fn_eat_id() + store ptr %t57, ptr %t5 + call void @fn_eat_op(ptr @.str333) + br label %ifend26 +else25: + %t58 = load ptr, ptr %t25 + %t59 = call i32 @lp_str_eq(ptr %t58, ptr @.str334) + %t60 = icmp ne i32 %t59, 0 + br i1 %t60, label %then27, label %else28 +then27: + call void @fn_eat_op(ptr @.str335) + %t61 = call ptr @fn_eat_id() + store ptr %t61, ptr %t6 + call void @fn_eat_op(ptr @.str336) + br label %ifend29 +else28: + %t62 = load ptr, ptr %t25 + %t63 = call i32 @lp_str_eq(ptr %t62, ptr @.str337) + %t64 = icmp ne i32 %t63, 0 + br i1 %t64, label %then30, label %else31 +then30: + call void @fn_eat_op(ptr @.str338) + %t65 = call ptr @fn_eat_id() + store ptr %t65, ptr %t7 + call void @fn_eat_op(ptr @.str339) + br label %ifend32 +else31: + %t66 = load ptr, ptr %t25 + %t67 = call i32 @lp_str_eq(ptr %t66, ptr @.str340) + %t68 = icmp ne i32 %t67, 0 + br i1 %t68, label %then33, label %else34 +then33: + call void @fn_eat_op(ptr @.str341) + %t69 = call ptr @fn_eat_id() + store ptr %t69, ptr %t8 + call void @fn_eat_op(ptr @.str342) + br label %ifend35 +else34: + %t70 = load ptr, ptr %t25 + %t71 = call i32 @lp_str_eq(ptr %t70, ptr @.str343) + %t72 = icmp ne i32 %t71, 0 + br i1 %t72, label %then36, label %else37 +then36: + store ptr @.str344, ptr %t11 + br label %ifend38 +else37: + %t73 = load ptr, ptr %t25 + %t74 = call i32 @lp_str_eq(ptr %t73, ptr @.str345) + %t75 = icmp ne i32 %t74, 0 + br i1 %t75, label %then39, label %else40 +then39: + store ptr @.str346, ptr %t11 + br label %ifend41 +else40: + %t76 = load ptr, ptr %t25 + %t77 = call i32 @lp_str_eq(ptr %t76, ptr @.str347) + %t78 = icmp ne i32 %t77, 0 + br i1 %t78, label %then42, label %else43 +then42: + store i32 1, ptr %t12 + br label %ifend44 +else43: + %t79 = load ptr, ptr %t25 + %t80 = call i32 @lp_str_eq(ptr %t79, ptr @.str348) + %t81 = icmp ne i32 %t80, 0 + br i1 %t81, label %then45, label %else46 +then45: + store i32 1, ptr %t13 + br label %ifend47 +else46: + %t82 = load ptr, ptr %t25 + %t83 = call i32 @lp_str_eq(ptr %t82, ptr @.str349) + %t84 = icmp ne i32 %t83, 0 + br i1 %t84, label %then48, label %else49 +then48: + store ptr @.str350, ptr %t14 + br label %ifend50 +else49: + %t85 = load ptr, ptr %t25 + %t86 = call i32 @lp_str_eq(ptr %t85, ptr @.str351) + %t87 = icmp ne i32 %t86, 0 + br i1 %t87, label %then51, label %else52 +then51: + store ptr @.str352, ptr %t14 + br label %ifend53 +else52: + %t88 = load ptr, ptr %t25 + %t89 = call i32 @lp_str_eq(ptr %t88, ptr @.str353) + %t90 = icmp ne i32 %t89, 0 + br i1 %t90, label %then54, label %else55 +then54: + store ptr @.str354, ptr %t15 + br label %ifend56 +else55: + %t91 = load ptr, ptr %t25 + %t92 = call i32 @lp_str_eq(ptr %t91, ptr @.str355) + %t93 = icmp ne i32 %t92, 0 + br i1 %t93, label %then57, label %else58 +then57: + store ptr @.str356, ptr %t15 + br label %ifend59 +else58: + %t94 = load ptr, ptr %t25 + %t95 = call i32 @lp_str_eq(ptr %t94, ptr @.str357) + %t96 = icmp ne i32 %t95, 0 + br i1 %t96, label %then60, label %else61 +then60: + store ptr @.str358, ptr %t16 + %t97 = call i32 @fn_is_op(ptr @.str359) + %t98 = icmp ne i32 %t97, 0 + br i1 %t98, label %then63, label %ifend65 +then63: + %t99 = load i32, ptr @g_pi + %t100 = add i32 %t99, 1 + store i32 %t100, ptr @g_pi + %t101 = call ptr @fn_eat_id() + store ptr %t101, ptr %t16 + call void @fn_eat_op(ptr @.str360) + br label %ifend65 +ifend65: + br label %ifend62 +else61: + %t102 = load ptr, ptr %t25 + %t103 = call i32 @lp_str_eq(ptr %t102, ptr @.str361) + %t104 = icmp ne i32 %t103, 0 + br i1 %t104, label %then66, label %else67 +then66: + call void @fn_eat_op(ptr @.str362) + %t105 = call ptr @fn_eat_id() + store ptr %t105, ptr %t17 + call void @fn_eat_op(ptr @.str363) + %t106 = call ptr @fn_eat_id() + store ptr %t106, ptr %t18 + call void @fn_eat_op(ptr @.str364) + br label %ifend68 +else67: + %t107 = load ptr, ptr %t25 + %t108 = call i32 @lp_str_eq(ptr %t107, ptr @.str365) + %t109 = icmp ne i32 %t108, 0 + br i1 %t109, label %then69, label %else70 +then69: + call void @fn_eat_op(ptr @.str366) + %t110 = call ptr @fn_eat_id() + store ptr %t110, ptr %t19 + call void @fn_eat_op(ptr @.str367) + br label %ifend71 +else70: + %t111 = load ptr, ptr %t25 + %t112 = call i32 @lp_str_eq(ptr %t111, ptr @.str368) + %t113 = icmp ne i32 %t112, 0 + br i1 %t113, label %then72, label %else73 +then72: + call void @fn_eat_op(ptr @.str369) + %t114 = call ptr @fn_expr() + store ptr %t114, ptr @g_g_clear_color + store i32 1, ptr @g_g_has_clear_color + call void @fn_eat_op(ptr @.str370) + br label %ifend74 +else73: + %t115 = call i32 @fn_is_op(ptr @.str371) + %t116 = icmp ne i32 %t115, 0 + br i1 %t116, label %then75, label %ifend77 +then75: + store i32 0, ptr %t117 + br label %wcond78 +wcond78: + %t118 = icmp ne i32 1, 0 + br i1 %t118, label %wbody79, label %wend80 +wbody79: + %t119 = call i32 @fn_is_op(ptr @.str372) + %t120 = icmp ne i32 %t119, 0 + br i1 %t120, label %then81, label %ifend83 +then81: + %t121 = load i32, ptr %t117 + %t122 = add i32 %t121, 1 + store i32 %t122, ptr %t117 + br label %ifend83 +ifend83: + %t123 = call i32 @fn_is_op(ptr @.str373) + %t124 = icmp ne i32 %t123, 0 + br i1 %t124, label %then84, label %ifend86 +then84: + %t125 = load i32, ptr %t117 + %t126 = sub i32 %t125, 1 + store i32 %t126, ptr %t117 + br label %ifend86 +ifend86: + %t127 = load i32, ptr @g_pi + %t128 = add i32 %t127, 1 + store i32 %t128, ptr @g_pi + %t129 = load i32, ptr %t117 + %t130 = icmp eq i32 %t129, 0 + %t131 = zext i1 %t130 to i32 + %t132 = icmp ne i32 %t131, 0 + br i1 %t132, label %then87, label %ifend89 +then87: + br label %wend80 +ifend89: + br label %wcond78 +wend80: + br label %ifend77 +ifend77: + br label %ifend74 +ifend74: + br label %ifend71 +ifend71: + br label %ifend68 +ifend68: + br label %ifend62 +ifend62: + br label %ifend59 +ifend59: + br label %ifend56 +ifend56: + br label %ifend53 +ifend53: + br label %ifend50 +ifend50: + br label %ifend47 +ifend47: + br label %ifend44 +ifend44: + br label %ifend41 +ifend41: + br label %ifend38 +ifend38: + br label %ifend35 +ifend35: + br label %ifend32 +ifend32: + br label %ifend29 +ifend29: + br label %ifend26 +ifend26: + br label %ifend20 +ifend20: + br label %ifend17 +ifend17: + br label %ifend14 +ifend14: + br label %ifend11 +ifend11: + br label %ifend8 +ifend8: + br label %ifend5 +ifend5: + call void @fn_skipnl() + br label %wcond0 +wend2: + %t133 = call i32 @fn_is_id(ptr @.str374) + %t134 = icmp ne i32 %t133, 0 + br i1 %t134, label %then90, label %ifend92 +then90: + %t135 = load i32, ptr @g_pi + %t136 = add i32 %t135, 1 + store i32 %t136, ptr @g_pi + %t137 = load ptr, ptr @g_toks + %t138 = getelementptr inbounds %LSlice, ptr %t137, i32 0, i32 0 + %t139 = load ptr, ptr %t138 + %t140 = load i32, ptr @g_pi + %t141 = getelementptr inbounds ptr, ptr %t139, i32 %t140 + %t142 = load ptr, ptr %t141 + store ptr %t142, ptr %t143 + %t144 = load ptr, ptr %t143 + %t145 = getelementptr inbounds %Cmp_Tok, ptr %t144, i32 0, i32 0 + %t146 = load i32, ptr %t145 + %t147 = icmp ne i32 %t146, 2 + %t148 = zext i1 %t147 to i32 + %t149 = icmp ne i32 %t148, 0 + br i1 %t149, label %then93, label %ifend95 +then93: + call void @fn_perr(ptr @.str375) + br label %ifend95 +ifend95: + %t150 = load ptr, ptr %t143 + %t151 = getelementptr inbounds %Cmp_Tok, ptr %t150, i32 0, i32 1 + %t152 = load ptr, ptr %t151 + store ptr %t152, ptr %t153 + %t154 = load i32, ptr @g_pi + %t155 = add i32 %t154, 1 + store i32 %t155, ptr @g_pi + %t156 = load ptr, ptr %t153 + call void @fn_do_import(ptr %t156) + br label %ret +ifend92: + %t157 = call i32 @fn_is_id(ptr @.str376) + %t158 = icmp ne i32 %t157, 0 + br i1 %t158, label %then96, label %ifend98 +then96: + %t159 = load ptr, ptr @g_prog + %t160 = call ptr @fn_parse_enum() + %t161 = getelementptr inbounds %LSlice, ptr %t159, i32 0, i32 1 + %t162 = getelementptr inbounds %LSlice, ptr %t159, i32 0, i32 2 + %t163 = getelementptr inbounds %LSlice, ptr %t159, i32 0, i32 0 + %t164 = load i32, ptr %t161 + %t165 = load i32, ptr %t162 + %t166 = icmp sge i32 %t164, %t165 + br i1 %t166, label %grow99, label %put100 +grow99: + %t167 = mul i32 %t165, 2 + %t168 = icmp eq i32 %t165, 0 + %t169 = select i1 %t168, i32 8, i32 %t167 + %t170 = getelementptr ptr, ptr null, i32 1 + %t171 = ptrtoint ptr %t170 to i64 + %t172 = zext i32 %t169 to i64 + %t173 = mul i64 %t172, %t171 + %t174 = load ptr, ptr %t163 + %t175 = call ptr @realloc(ptr %t174, i64 %t173) + store ptr %t175, ptr %t163 + store i32 %t169, ptr %t162 + br label %put100 +put100: + %t176 = load ptr, ptr %t163 + %t177 = getelementptr inbounds ptr, ptr %t176, i32 %t164 + store ptr %t160, ptr %t177 + %t178 = add i32 %t164, 1 + store i32 %t178, ptr %t161 + br label %ret +ifend98: + %t179 = call i32 @fn_is_id(ptr @.str377) + %t180 = icmp ne i32 %t179, 0 + br i1 %t180, label %then101, label %ifend103 +then101: + %t181 = call ptr @fn_parse_event() + store ptr %t181, ptr %t182 + %t183 = load ptr, ptr %t15 + %t184 = icmp ne ptr %t183, null + %t185 = zext i1 %t184 to i32 + %t186 = icmp ne i32 %t185, 0 + br i1 %t186, label %then104, label %ifend106 +then104: + %t187 = load ptr, ptr %t182 + %t188 = getelementptr inbounds %Cmp_Node, ptr %t187, i32 0, i32 3 + %t189 = load ptr, ptr %t15 + store ptr %t189, ptr %t188 + br label %ifend106 +ifend106: + %t190 = load ptr, ptr %t182 + call void @fn_register_event(ptr %t190) + br label %ret +ifend103: + %t191 = call i32 @fn_is_id(ptr @.str378) + %t192 = icmp ne i32 %t191, 0 + br i1 %t192, label %then107, label %ifend109 +then107: + %t193 = call ptr @fn_parse_component() + store ptr %t193, ptr %t194 + %t195 = load i32, ptr %t12 + %t196 = icmp ne i32 %t195, 0 + br i1 %t196, label %then110, label %ifend112 +then110: + store i32 0, ptr %t197 + br label %wcond113 +wcond113: + %t198 = load i32, ptr %t197 + %t199 = load ptr, ptr %t194 + %t200 = getelementptr inbounds %Cmp_Node, ptr %t199, i32 0, i32 7 + %t201 = load ptr, ptr %t200 + %t202 = getelementptr inbounds %LSlice, ptr %t201, i32 0, i32 1 + %t203 = load i32, ptr %t202 + %t204 = icmp slt i32 %t198, %t203 + %t205 = zext i1 %t204 to i32 + %t206 = icmp ne i32 %t205, 0 + br i1 %t206, label %wbody114, label %wend115 +wbody114: + %t207 = load ptr, ptr %t194 + %t208 = getelementptr inbounds %Cmp_Node, ptr %t207, i32 0, i32 7 + %t209 = load ptr, ptr %t208 + %t210 = getelementptr inbounds %LSlice, ptr %t209, i32 0, i32 0 + %t211 = load ptr, ptr %t210 + %t212 = load i32, ptr %t197 + %t213 = getelementptr inbounds ptr, ptr %t211, i32 %t212 + %t214 = load ptr, ptr %t213 + %t215 = getelementptr inbounds %Cmp_Node, ptr %t214, i32 0, i32 2 + store i32 1, ptr %t215 + %t216 = load i32, ptr %t197 + %t217 = add i32 %t216, 1 + store i32 %t217, ptr %t197 + br label %wcond113 +wend115: + br label %ifend112 +ifend112: + %t218 = load ptr, ptr @g_prog + %t219 = load ptr, ptr %t194 + %t220 = getelementptr inbounds %LSlice, ptr %t218, i32 0, i32 1 + %t221 = getelementptr inbounds %LSlice, ptr %t218, i32 0, i32 2 + %t222 = getelementptr inbounds %LSlice, ptr %t218, i32 0, i32 0 + %t223 = load i32, ptr %t220 + %t224 = load i32, ptr %t221 + %t225 = icmp sge i32 %t223, %t224 + br i1 %t225, label %grow116, label %put117 +grow116: + %t226 = mul i32 %t224, 2 + %t227 = icmp eq i32 %t224, 0 + %t228 = select i1 %t227, i32 8, i32 %t226 + %t229 = getelementptr ptr, ptr null, i32 1 + %t230 = ptrtoint ptr %t229 to i64 + %t231 = zext i32 %t228 to i64 + %t232 = mul i64 %t231, %t230 + %t233 = load ptr, ptr %t222 + %t234 = call ptr @realloc(ptr %t233, i64 %t232) + store ptr %t234, ptr %t222 + store i32 %t228, ptr %t221 + br label %put117 +put117: + %t235 = load ptr, ptr %t222 + %t236 = getelementptr inbounds ptr, ptr %t235, i32 %t223 + store ptr %t219, ptr %t236 + %t237 = add i32 %t223, 1 + store i32 %t237, ptr %t220 + br label %ret +ifend109: + %t238 = call i32 @fn_is_id(ptr @.str379) + %t239 = icmp ne i32 %t238, 0 + br i1 %t239, label %then118, label %ifend120 +then118: + %t240 = call ptr @fn_parse_archetype() + store ptr %t240, ptr %t241 + %t242 = load i32, ptr %t13 + %t243 = icmp ne i32 %t242, 0 + br i1 %t243, label %then121, label %ifend123 +then121: + %t244 = load ptr, ptr %t241 + %t245 = getelementptr inbounds %Cmp_Node, ptr %t244, i32 0, i32 2 + store i32 1, ptr %t245 + br label %ifend123 +ifend123: + %t246 = load ptr, ptr @g_prog + %t247 = load ptr, ptr %t241 + %t248 = getelementptr inbounds %LSlice, ptr %t246, i32 0, i32 1 + %t249 = getelementptr inbounds %LSlice, ptr %t246, i32 0, i32 2 + %t250 = getelementptr inbounds %LSlice, ptr %t246, i32 0, i32 0 + %t251 = load i32, ptr %t248 + %t252 = load i32, ptr %t249 + %t253 = icmp sge i32 %t251, %t252 + br i1 %t253, label %grow124, label %put125 +grow124: + %t254 = mul i32 %t252, 2 + %t255 = icmp eq i32 %t252, 0 + %t256 = select i1 %t255, i32 8, i32 %t254 + %t257 = getelementptr ptr, ptr null, i32 1 + %t258 = ptrtoint ptr %t257 to i64 + %t259 = zext i32 %t256 to i64 + %t260 = mul i64 %t259, %t258 + %t261 = load ptr, ptr %t250 + %t262 = call ptr @realloc(ptr %t261, i64 %t260) + store ptr %t262, ptr %t250 + store i32 %t256, ptr %t249 + br label %put125 +put125: + %t263 = load ptr, ptr %t250 + %t264 = getelementptr inbounds ptr, ptr %t263, i32 %t251 + store ptr %t247, ptr %t264 + %t265 = add i32 %t251, 1 + store i32 %t265, ptr %t248 + br label %ret +ifend120: + %t266 = call i32 @fn_is_id(ptr @.str380) + %t267 = icmp ne i32 %t266, 0 + br i1 %t267, label %then126, label %ifend128 +then126: + call void @fn_parse_scene() + br label %ret +ifend128: + %t268 = call i32 @fn_is_id(ptr @.str381) + %t269 = icmp ne i32 %t268, 0 + br i1 %t269, label %then129, label %ifend131 +then129: + %t270 = load ptr, ptr @g_prog + %t271 = call ptr @fn_parse_prefab() + %t272 = getelementptr inbounds %LSlice, ptr %t270, i32 0, i32 1 + %t273 = getelementptr inbounds %LSlice, ptr %t270, i32 0, i32 2 + %t274 = getelementptr inbounds %LSlice, ptr %t270, i32 0, i32 0 + %t275 = load i32, ptr %t272 + %t276 = load i32, ptr %t273 + %t277 = icmp sge i32 %t275, %t276 + br i1 %t277, label %grow132, label %put133 +grow132: + %t278 = mul i32 %t276, 2 + %t279 = icmp eq i32 %t276, 0 + %t280 = select i1 %t279, i32 8, i32 %t278 + %t281 = getelementptr ptr, ptr null, i32 1 + %t282 = ptrtoint ptr %t281 to i64 + %t283 = zext i32 %t280 to i64 + %t284 = mul i64 %t283, %t282 + %t285 = load ptr, ptr %t274 + %t286 = call ptr @realloc(ptr %t285, i64 %t284) + store ptr %t286, ptr %t274 + store i32 %t280, ptr %t273 + br label %put133 +put133: + %t287 = load ptr, ptr %t274 + %t288 = getelementptr inbounds ptr, ptr %t287, i32 %t275 + store ptr %t271, ptr %t288 + %t289 = add i32 %t275, 1 + store i32 %t289, ptr %t272 + br label %ret +ifend131: + %t290 = call i32 @fn_is_id(ptr @.str382) + %t291 = icmp ne i32 %t290, 0 + br i1 %t291, label %then134, label %ifend136 +then134: + %t292 = call ptr @fn_parse_system() + store ptr %t292, ptr %t293 + %t294 = load ptr, ptr %t14 + %t295 = icmp ne ptr %t294, null + %t296 = zext i1 %t295 to i32 + %t297 = icmp ne i32 %t296, 0 + br i1 %t297, label %then137, label %ifend139 +then137: + %t298 = load ptr, ptr %t14 + %t299 = call i32 @lp_str_eq(ptr %t298, ptr @.str383) + %t300 = icmp ne i32 %t299, 0 + br i1 %t300, label %then140, label %else141 +then140: + %t301 = load ptr, ptr %t293 + %t302 = getelementptr inbounds %Cmp_Node, ptr %t301, i32 0, i32 2 + store i32 1, ptr %t302 + br label %ifend142 +else141: + %t303 = load ptr, ptr %t293 + %t304 = getelementptr inbounds %Cmp_Node, ptr %t303, i32 0, i32 2 + store i32 2, ptr %t304 + br label %ifend142 +ifend142: + br label %ifend139 +ifend139: + %t305 = load ptr, ptr %t9 + %t306 = icmp ne ptr %t305, null + %t307 = zext i1 %t306 to i32 + %t308 = icmp ne i32 %t307, 0 + br i1 %t308, label %then143, label %ifend145 +then143: + %t309 = load ptr, ptr %t9 + %t310 = load ptr, ptr %t293 + %t311 = getelementptr inbounds %Cmp_Node, ptr %t310, i32 0, i32 4 + %t312 = load ptr, ptr %t311 + call void @fn_register_onlisten(ptr %t309, ptr %t312) + br label %ret +ifend145: + %t313 = load ptr, ptr %t2 + %t314 = icmp ne ptr %t313, null + %t315 = zext i1 %t314 to i32 + %t316 = icmp ne i32 %t315, 0 + br i1 %t316, label %then146, label %ifend148 +then146: + %t317 = load ptr, ptr %t2 + %t318 = load ptr, ptr %t293 + %t319 = getelementptr inbounds %Cmp_Node, ptr %t318, i32 0, i32 4 + %t320 = load ptr, ptr %t319 + call void @fn_register_onspawn(ptr %t317, ptr %t320) + %t321 = load i32, ptr %t10 + %t322 = icmp ne i32 %t321, 0 + br i1 %t322, label %then149, label %ifend151 +then149: + %t323 = load ptr, ptr %t2 + %t324 = call ptr @lp_str_concat(ptr @.str384, ptr %t323) + %t325 = call ptr @lp_str_concat(ptr %t324, ptr @.str385) + call void @fn_ensure_event(ptr %t325, i32 0) + br label %ifend151 +ifend151: + br label %ret +ifend148: + %t326 = load ptr, ptr %t3 + %t327 = icmp ne ptr %t326, null + %t328 = zext i1 %t327 to i32 + %t329 = icmp ne i32 %t328, 0 + br i1 %t329, label %then152, label %ifend154 +then152: + %t330 = load ptr, ptr %t3 + %t331 = load ptr, ptr %t293 + %t332 = getelementptr inbounds %Cmp_Node, ptr %t331, i32 0, i32 4 + %t333 = load ptr, ptr %t332 + %t334 = load ptr, ptr %t4 + call void @fn_register_ondespawn(ptr %t330, ptr %t333, ptr %t334) + %t335 = load i32, ptr %t10 + %t336 = icmp ne i32 %t335, 0 + br i1 %t336, label %then155, label %ifend157 +then155: + %t337 = load ptr, ptr %t3 + %t338 = call ptr @lp_str_concat(ptr @.str386, ptr %t337) + %t339 = call ptr @lp_str_concat(ptr %t338, ptr @.str387) + call void @fn_ensure_event(ptr %t339, i32 1) + br label %ifend157 +ifend157: + br label %ret +ifend154: + %t340 = load ptr, ptr %t5 + %t341 = icmp ne ptr %t340, null + %t342 = zext i1 %t341 to i32 + %t343 = icmp ne i32 %t342, 0 + br i1 %t343, label %then158, label %ifend160 +then158: + %t344 = load ptr, ptr %t5 + %t345 = load ptr, ptr %t293 + %t346 = getelementptr inbounds %Cmp_Node, ptr %t345, i32 0, i32 4 + %t347 = load ptr, ptr %t346 + call void @fn_register_onattach(ptr %t344, ptr %t347) + %t348 = load i32, ptr %t10 + %t349 = icmp ne i32 %t348, 0 + br i1 %t349, label %then161, label %ifend163 +then161: + %t350 = load ptr, ptr %t5 + %t351 = call ptr @lp_str_concat(ptr @.str388, ptr %t350) + %t352 = call ptr @lp_str_concat(ptr %t351, ptr @.str389) + call void @fn_ensure_event(ptr %t352, i32 0) + br label %ifend163 +ifend163: + br label %ret +ifend160: + %t353 = load ptr, ptr %t6 + %t354 = icmp ne ptr %t353, null + %t355 = zext i1 %t354 to i32 + %t356 = icmp ne i32 %t355, 0 + br i1 %t356, label %then164, label %ifend166 +then164: + %t357 = load ptr, ptr %t6 + %t358 = load ptr, ptr %t293 + %t359 = getelementptr inbounds %Cmp_Node, ptr %t358, i32 0, i32 4 + %t360 = load ptr, ptr %t359 + call void @fn_register_ondetach(ptr %t357, ptr %t360) + %t361 = load i32, ptr %t10 + %t362 = icmp ne i32 %t361, 0 + br i1 %t362, label %then167, label %ifend169 +then167: + %t363 = load ptr, ptr %t6 + %t364 = call ptr @lp_str_concat(ptr @.str390, ptr %t363) + %t365 = call ptr @lp_str_concat(ptr %t364, ptr @.str391) + call void @fn_ensure_event(ptr %t365, i32 0) + br label %ifend169 +ifend169: + br label %ret +ifend166: + %t366 = load ptr, ptr %t7 + %t367 = icmp ne ptr %t366, null + %t368 = zext i1 %t367 to i32 + %t369 = icmp ne i32 %t368, 0 + br i1 %t369, label %then170, label %ifend172 +then170: + %t370 = load ptr, ptr %t7 + %t371 = load ptr, ptr %t293 + %t372 = getelementptr inbounds %Cmp_Node, ptr %t371, i32 0, i32 4 + %t373 = load ptr, ptr %t372 + call void @fn_register_onenable(ptr %t370, ptr %t373) + %t374 = load i32, ptr %t10 + %t375 = icmp ne i32 %t374, 0 + br i1 %t375, label %then173, label %ifend175 +then173: + %t376 = load ptr, ptr %t7 + %t377 = call ptr @lp_str_concat(ptr @.str392, ptr %t376) + %t378 = call ptr @lp_str_concat(ptr %t377, ptr @.str393) + call void @fn_ensure_event(ptr %t378, i32 0) + br label %ifend175 +ifend175: + br label %ret +ifend172: + %t379 = load ptr, ptr %t8 + %t380 = icmp ne ptr %t379, null + %t381 = zext i1 %t380 to i32 + %t382 = icmp ne i32 %t381, 0 + br i1 %t382, label %then176, label %ifend178 +then176: + %t383 = load ptr, ptr %t8 + %t384 = load ptr, ptr %t293 + %t385 = getelementptr inbounds %Cmp_Node, ptr %t384, i32 0, i32 4 + %t386 = load ptr, ptr %t385 + call void @fn_register_ondisable(ptr %t383, ptr %t386) + %t387 = load i32, ptr %t10 + %t388 = icmp ne i32 %t387, 0 + br i1 %t388, label %then179, label %ifend181 +then179: + %t389 = load ptr, ptr %t8 + %t390 = call ptr @lp_str_concat(ptr @.str394, ptr %t389) + %t391 = call ptr @lp_str_concat(ptr %t390, ptr @.str395) + call void @fn_ensure_event(ptr %t391, i32 0) + br label %ifend181 +ifend181: + br label %ret +ifend178: + %t392 = load ptr, ptr %t11 + %t393 = icmp ne ptr %t392, null + %t394 = zext i1 %t393 to i32 + %t395 = icmp ne i32 %t394, 0 + br i1 %t395, label %then182, label %ifend184 +then182: + %t396 = load ptr, ptr %t293 + %t397 = getelementptr inbounds %Cmp_Node, ptr %t396, i32 0, i32 3 + %t398 = load ptr, ptr %t11 + store ptr %t398, ptr %t397 + %t399 = load i32, ptr %t10 + %t400 = icmp ne i32 %t399, 0 + br i1 %t400, label %then185, label %ifend187 +then185: + %t401 = load ptr, ptr %t11 + %t402 = call i32 @lp_str_eq(ptr %t401, ptr @.str396) + %t403 = icmp ne i32 %t402, 0 + br i1 %t403, label %then188, label %else189 +then188: + call void @fn_ensure_event_empty(ptr @.str397) + br label %ifend190 +else189: + call void @fn_ensure_event_empty(ptr @.str398) + br label %ifend190 +ifend190: + br label %ifend187 +ifend187: + br label %ifend184 +ifend184: + %t404 = load ptr, ptr %t1 + %t405 = icmp ne ptr %t404, null + %t406 = zext i1 %t405 to i32 + %t407 = icmp ne i32 %t406, 0 + br i1 %t407, label %then191, label %ifend193 +then191: + %t408 = load ptr, ptr %t1 + %t409 = getelementptr inbounds %Cmp_Node, ptr %t408, i32 0, i32 4 + %t410 = load ptr, ptr %t293 + %t411 = getelementptr inbounds %Cmp_Node, ptr %t410, i32 0, i32 4 + %t412 = load ptr, ptr %t411 + store ptr %t412, ptr %t409 + %t413 = call ptr @fn_node(i32 7) + store ptr %t413, ptr %t414 + %t415 = load ptr, ptr %t414 + %t416 = getelementptr inbounds %Cmp_Node, ptr %t415, i32 0, i32 7 + %t417 = load ptr, ptr %t416 + %t418 = load ptr, ptr %t1 + %t419 = getelementptr inbounds %LSlice, ptr %t417, i32 0, i32 1 + %t420 = getelementptr inbounds %LSlice, ptr %t417, i32 0, i32 2 + %t421 = getelementptr inbounds %LSlice, ptr %t417, i32 0, i32 0 + %t422 = load i32, ptr %t419 + %t423 = load i32, ptr %t420 + %t424 = icmp sge i32 %t422, %t423 + br i1 %t424, label %grow194, label %put195 +grow194: + %t425 = mul i32 %t423, 2 + %t426 = icmp eq i32 %t423, 0 + %t427 = select i1 %t426, i32 8, i32 %t425 + %t428 = getelementptr ptr, ptr null, i32 1 + %t429 = ptrtoint ptr %t428 to i64 + %t430 = zext i32 %t427 to i64 + %t431 = mul i64 %t430, %t429 + %t432 = load ptr, ptr %t421 + %t433 = call ptr @realloc(ptr %t432, i64 %t431) + store ptr %t433, ptr %t421 + store i32 %t427, ptr %t420 + br label %put195 +put195: + %t434 = load ptr, ptr %t421 + %t435 = getelementptr inbounds ptr, ptr %t434, i32 %t422 + store ptr %t418, ptr %t435 + %t436 = add i32 %t422, 1 + store i32 %t436, ptr %t419 + %t437 = load ptr, ptr %t293 + %t438 = getelementptr inbounds %Cmp_Node, ptr %t437, i32 0, i32 4 + %t439 = load ptr, ptr %t414 + store ptr %t439, ptr %t438 + br label %ifend193 +ifend193: + %t440 = load ptr, ptr @g_prog + %t441 = load ptr, ptr %t293 + %t442 = getelementptr inbounds %LSlice, ptr %t440, i32 0, i32 1 + %t443 = getelementptr inbounds %LSlice, ptr %t440, i32 0, i32 2 + %t444 = getelementptr inbounds %LSlice, ptr %t440, i32 0, i32 0 + %t445 = load i32, ptr %t442 + %t446 = load i32, ptr %t443 + %t447 = icmp sge i32 %t445, %t446 + br i1 %t447, label %grow196, label %put197 +grow196: + %t448 = mul i32 %t446, 2 + %t449 = icmp eq i32 %t446, 0 + %t450 = select i1 %t449, i32 8, i32 %t448 + %t451 = getelementptr ptr, ptr null, i32 1 + %t452 = ptrtoint ptr %t451 to i64 + %t453 = zext i32 %t450 to i64 + %t454 = mul i64 %t453, %t452 + %t455 = load ptr, ptr %t444 + %t456 = call ptr @realloc(ptr %t455, i64 %t454) + store ptr %t456, ptr %t444 + store i32 %t450, ptr %t443 + br label %put197 +put197: + %t457 = load ptr, ptr %t444 + %t458 = getelementptr inbounds ptr, ptr %t457, i32 %t445 + store ptr %t441, ptr %t458 + %t459 = add i32 %t445, 1 + store i32 %t459, ptr %t442 + br label %ret +ifend136: + %t460 = call i32 @fn_is_id(ptr @.str399) + %t461 = icmp ne i32 %t460, 0 + br i1 %t461, label %then198, label %ifend200 +then198: + %t462 = load ptr, ptr @g_prog + %t463 = call ptr @fn_parse_ui() + %t464 = getelementptr inbounds %LSlice, ptr %t462, i32 0, i32 1 + %t465 = getelementptr inbounds %LSlice, ptr %t462, i32 0, i32 2 + %t466 = getelementptr inbounds %LSlice, ptr %t462, i32 0, i32 0 + %t467 = load i32, ptr %t464 + %t468 = load i32, ptr %t465 + %t469 = icmp sge i32 %t467, %t468 + br i1 %t469, label %grow201, label %put202 +grow201: + %t470 = mul i32 %t468, 2 + %t471 = icmp eq i32 %t468, 0 + %t472 = select i1 %t471, i32 8, i32 %t470 + %t473 = getelementptr ptr, ptr null, i32 1 + %t474 = ptrtoint ptr %t473 to i64 + %t475 = zext i32 %t472 to i64 + %t476 = mul i64 %t475, %t474 + %t477 = load ptr, ptr %t466 + %t478 = call ptr @realloc(ptr %t477, i64 %t476) + store ptr %t478, ptr %t466 + store i32 %t472, ptr %t465 + br label %put202 +put202: + %t479 = load ptr, ptr %t466 + %t480 = getelementptr inbounds ptr, ptr %t479, i32 %t467 + store ptr %t463, ptr %t480 + %t481 = add i32 %t467, 1 + store i32 %t481, ptr %t464 + br label %ret +ifend200: + %t482 = call i32 @fn_is_id(ptr @.str400) + %t483 = icmp ne i32 %t482, 0 + br i1 %t483, label %then203, label %ifend205 +then203: + call void @fn_parse_namespace() + br label %ret +ifend205: + %t484 = call i32 @fn_is_id(ptr @.str401) + %t485 = icmp ne i32 %t484, 0 + br i1 %t485, label %then206, label %ifend208 +then206: + %t486 = load ptr, ptr @g_prog + %t487 = call ptr @fn_parse_var() + %t488 = getelementptr inbounds %LSlice, ptr %t486, i32 0, i32 1 + %t489 = getelementptr inbounds %LSlice, ptr %t486, i32 0, i32 2 + %t490 = getelementptr inbounds %LSlice, ptr %t486, i32 0, i32 0 + %t491 = load i32, ptr %t488 + %t492 = load i32, ptr %t489 + %t493 = icmp sge i32 %t491, %t492 + br i1 %t493, label %grow209, label %put210 +grow209: + %t494 = mul i32 %t492, 2 + %t495 = icmp eq i32 %t492, 0 + %t496 = select i1 %t495, i32 8, i32 %t494 + %t497 = getelementptr ptr, ptr null, i32 1 + %t498 = ptrtoint ptr %t497 to i64 + %t499 = zext i32 %t496 to i64 + %t500 = mul i64 %t499, %t498 + %t501 = load ptr, ptr %t490 + %t502 = call ptr @realloc(ptr %t501, i64 %t500) + store ptr %t502, ptr %t490 + store i32 %t496, ptr %t489 + br label %put210 +put210: + %t503 = load ptr, ptr %t490 + %t504 = getelementptr inbounds ptr, ptr %t503, i32 %t491 + store ptr %t487, ptr %t504 + %t505 = add i32 %t491, 1 + store i32 %t505, ptr %t488 + br label %ret +ifend208: + %t506 = call i32 @fn_is_id(ptr @.str402) + %t507 = icmp ne i32 %t506, 0 + br i1 %t507, label %then211, label %ifend213 +then211: + %t508 = load ptr, ptr @g_prog + %t509 = call ptr @fn_parse_const() + %t510 = getelementptr inbounds %LSlice, ptr %t508, i32 0, i32 1 + %t511 = getelementptr inbounds %LSlice, ptr %t508, i32 0, i32 2 + %t512 = getelementptr inbounds %LSlice, ptr %t508, i32 0, i32 0 + %t513 = load i32, ptr %t510 + %t514 = load i32, ptr %t511 + %t515 = icmp sge i32 %t513, %t514 + br i1 %t515, label %grow214, label %put215 +grow214: + %t516 = mul i32 %t514, 2 + %t517 = icmp eq i32 %t514, 0 + %t518 = select i1 %t517, i32 8, i32 %t516 + %t519 = getelementptr ptr, ptr null, i32 1 + %t520 = ptrtoint ptr %t519 to i64 + %t521 = zext i32 %t518 to i64 + %t522 = mul i64 %t521, %t520 + %t523 = load ptr, ptr %t512 + %t524 = call ptr @realloc(ptr %t523, i64 %t522) + store ptr %t524, ptr %t512 + store i32 %t518, ptr %t511 + br label %put215 +put215: + %t525 = load ptr, ptr %t512 + %t526 = getelementptr inbounds ptr, ptr %t525, i32 %t513 + store ptr %t509, ptr %t526 + %t527 = add i32 %t513, 1 + store i32 %t527, ptr %t510 + br label %ret +ifend213: + %t528 = call i32 @fn_is_id(ptr @.str403) + %t529 = icmp ne i32 %t528, 0 + br i1 %t529, label %then216, label %ifend218 +then216: + %t530 = call ptr @fn_parse_fn() + store ptr %t530, ptr %t531 + %t532 = load i32, ptr %t0 + %t533 = icmp ne i32 %t532, 0 + br i1 %t533, label %then219, label %ifend221 +then219: + %t534 = load ptr, ptr %t531 + %t535 = getelementptr inbounds %Cmp_Node, ptr %t534, i32 0, i32 2 + store i32 1, ptr %t535 + br label %ifend221 +ifend221: + %t536 = load ptr, ptr %t16 + %t537 = icmp ne ptr %t536, null + %t538 = zext i1 %t537 to i32 + %t539 = icmp ne i32 %t538, 0 + br i1 %t539, label %then222, label %ifend224 +then222: + %t540 = load ptr, ptr @g_g_mod_sys_fn + %t541 = load ptr, ptr %t531 + %t542 = getelementptr inbounds %Cmp_Node, ptr %t541, i32 0, i32 1 + %t543 = load ptr, ptr %t542 + %t544 = getelementptr inbounds %LSlice, ptr %t540, i32 0, i32 1 + %t545 = getelementptr inbounds %LSlice, ptr %t540, i32 0, i32 2 + %t546 = getelementptr inbounds %LSlice, ptr %t540, i32 0, i32 0 + %t547 = load i32, ptr %t544 + %t548 = load i32, ptr %t545 + %t549 = icmp sge i32 %t547, %t548 + br i1 %t549, label %grow225, label %put226 +grow225: + %t550 = mul i32 %t548, 2 + %t551 = icmp eq i32 %t548, 0 + %t552 = select i1 %t551, i32 8, i32 %t550 + %t553 = getelementptr ptr, ptr null, i32 1 + %t554 = ptrtoint ptr %t553 to i64 + %t555 = zext i32 %t552 to i64 + %t556 = mul i64 %t555, %t554 + %t557 = load ptr, ptr %t546 + %t558 = call ptr @realloc(ptr %t557, i64 %t556) + store ptr %t558, ptr %t546 + store i32 %t552, ptr %t545 + br label %put226 +put226: + %t559 = load ptr, ptr %t546 + %t560 = getelementptr inbounds ptr, ptr %t559, i32 %t547 + store ptr %t543, ptr %t560 + %t561 = add i32 %t547, 1 + store i32 %t561, ptr %t544 + %t562 = load ptr, ptr @g_g_mod_sys_phase + %t563 = load ptr, ptr %t16 + %t564 = getelementptr inbounds %LSlice, ptr %t562, i32 0, i32 1 + %t565 = getelementptr inbounds %LSlice, ptr %t562, i32 0, i32 2 + %t566 = getelementptr inbounds %LSlice, ptr %t562, i32 0, i32 0 + %t567 = load i32, ptr %t564 + %t568 = load i32, ptr %t565 + %t569 = icmp sge i32 %t567, %t568 + br i1 %t569, label %grow227, label %put228 +grow227: + %t570 = mul i32 %t568, 2 + %t571 = icmp eq i32 %t568, 0 + %t572 = select i1 %t571, i32 8, i32 %t570 + %t573 = getelementptr ptr, ptr null, i32 1 + %t574 = ptrtoint ptr %t573 to i64 + %t575 = zext i32 %t572 to i64 + %t576 = mul i64 %t575, %t574 + %t577 = load ptr, ptr %t566 + %t578 = call ptr @realloc(ptr %t577, i64 %t576) + store ptr %t578, ptr %t566 + store i32 %t572, ptr %t565 + br label %put228 +put228: + %t579 = load ptr, ptr %t566 + %t580 = getelementptr inbounds ptr, ptr %t579, i32 %t567 + store ptr %t563, ptr %t580 + %t581 = add i32 %t567, 1 + store i32 %t581, ptr %t564 + br label %ifend224 +ifend224: + %t582 = load ptr, ptr %t17 + %t583 = icmp ne ptr %t582, null + %t584 = zext i1 %t583 to i32 + %t585 = icmp ne i32 %t584, 0 + br i1 %t585, label %then229, label %ifend231 +then229: + %t586 = load ptr, ptr @g_g_esys_comp + %t587 = load ptr, ptr %t17 + %t588 = getelementptr inbounds %LSlice, ptr %t586, i32 0, i32 1 + %t589 = getelementptr inbounds %LSlice, ptr %t586, i32 0, i32 2 + %t590 = getelementptr inbounds %LSlice, ptr %t586, i32 0, i32 0 + %t591 = load i32, ptr %t588 + %t592 = load i32, ptr %t589 + %t593 = icmp sge i32 %t591, %t592 + br i1 %t593, label %grow232, label %put233 +grow232: + %t594 = mul i32 %t592, 2 + %t595 = icmp eq i32 %t592, 0 + %t596 = select i1 %t595, i32 8, i32 %t594 + %t597 = getelementptr ptr, ptr null, i32 1 + %t598 = ptrtoint ptr %t597 to i64 + %t599 = zext i32 %t596 to i64 + %t600 = mul i64 %t599, %t598 + %t601 = load ptr, ptr %t590 + %t602 = call ptr @realloc(ptr %t601, i64 %t600) + store ptr %t602, ptr %t590 + store i32 %t596, ptr %t589 + br label %put233 +put233: + %t603 = load ptr, ptr %t590 + %t604 = getelementptr inbounds ptr, ptr %t603, i32 %t591 + store ptr %t587, ptr %t604 + %t605 = add i32 %t591, 1 + store i32 %t605, ptr %t588 + %t606 = load ptr, ptr @g_g_esys_fn + %t607 = load ptr, ptr %t531 + %t608 = getelementptr inbounds %Cmp_Node, ptr %t607, i32 0, i32 1 + %t609 = load ptr, ptr %t608 + %t610 = getelementptr inbounds %LSlice, ptr %t606, i32 0, i32 1 + %t611 = getelementptr inbounds %LSlice, ptr %t606, i32 0, i32 2 + %t612 = getelementptr inbounds %LSlice, ptr %t606, i32 0, i32 0 + %t613 = load i32, ptr %t610 + %t614 = load i32, ptr %t611 + %t615 = icmp sge i32 %t613, %t614 + br i1 %t615, label %grow234, label %put235 +grow234: + %t616 = mul i32 %t614, 2 + %t617 = icmp eq i32 %t614, 0 + %t618 = select i1 %t617, i32 8, i32 %t616 + %t619 = getelementptr ptr, ptr null, i32 1 + %t620 = ptrtoint ptr %t619 to i64 + %t621 = zext i32 %t618 to i64 + %t622 = mul i64 %t621, %t620 + %t623 = load ptr, ptr %t612 + %t624 = call ptr @realloc(ptr %t623, i64 %t622) + store ptr %t624, ptr %t612 + store i32 %t618, ptr %t611 + br label %put235 +put235: + %t625 = load ptr, ptr %t612 + %t626 = getelementptr inbounds ptr, ptr %t625, i32 %t613 + store ptr %t609, ptr %t626 + %t627 = add i32 %t613, 1 + store i32 %t627, ptr %t610 + %t628 = load ptr, ptr @g_g_esys_phase + %t629 = load ptr, ptr %t18 + %t630 = getelementptr inbounds %LSlice, ptr %t628, i32 0, i32 1 + %t631 = getelementptr inbounds %LSlice, ptr %t628, i32 0, i32 2 + %t632 = getelementptr inbounds %LSlice, ptr %t628, i32 0, i32 0 + %t633 = load i32, ptr %t630 + %t634 = load i32, ptr %t631 + %t635 = icmp sge i32 %t633, %t634 + br i1 %t635, label %grow236, label %put237 +grow236: + %t636 = mul i32 %t634, 2 + %t637 = icmp eq i32 %t634, 0 + %t638 = select i1 %t637, i32 8, i32 %t636 + %t639 = getelementptr ptr, ptr null, i32 1 + %t640 = ptrtoint ptr %t639 to i64 + %t641 = zext i32 %t638 to i64 + %t642 = mul i64 %t641, %t640 + %t643 = load ptr, ptr %t632 + %t644 = call ptr @realloc(ptr %t643, i64 %t642) + store ptr %t644, ptr %t632 + store i32 %t638, ptr %t631 + br label %put237 +put237: + %t645 = load ptr, ptr %t632 + %t646 = getelementptr inbounds ptr, ptr %t645, i32 %t633 + store ptr %t629, ptr %t646 + %t647 = add i32 %t633, 1 + store i32 %t647, ptr %t630 + br label %ifend231 +ifend231: + %t648 = load ptr, ptr %t19 + %t649 = icmp ne ptr %t648, null + %t650 = zext i1 %t649 to i32 + %t651 = icmp ne i32 %t650, 0 + br i1 %t651, label %then238, label %ifend240 +then238: + %t652 = load ptr, ptr %t19 + call void @fn_register_namespace(ptr %t652) + br label %ifend240 +ifend240: + %t653 = load ptr, ptr @g_prog + %t654 = load ptr, ptr %t531 + %t655 = getelementptr inbounds %LSlice, ptr %t653, i32 0, i32 1 + %t656 = getelementptr inbounds %LSlice, ptr %t653, i32 0, i32 2 + %t657 = getelementptr inbounds %LSlice, ptr %t653, i32 0, i32 0 + %t658 = load i32, ptr %t655 + %t659 = load i32, ptr %t656 + %t660 = icmp sge i32 %t658, %t659 + br i1 %t660, label %grow241, label %put242 +grow241: + %t661 = mul i32 %t659, 2 + %t662 = icmp eq i32 %t659, 0 + %t663 = select i1 %t662, i32 8, i32 %t661 + %t664 = getelementptr ptr, ptr null, i32 1 + %t665 = ptrtoint ptr %t664 to i64 + %t666 = zext i32 %t663 to i64 + %t667 = mul i64 %t666, %t665 + %t668 = load ptr, ptr %t657 + %t669 = call ptr @realloc(ptr %t668, i64 %t667) + store ptr %t669, ptr %t657 + store i32 %t663, ptr %t656 + br label %put242 +put242: + %t670 = load ptr, ptr %t657 + %t671 = getelementptr inbounds ptr, ptr %t670, i32 %t658 + store ptr %t654, ptr %t671 + %t672 = add i32 %t658, 1 + store i32 %t672, ptr %t655 + br label %ret +ifend218: + %t673 = call i32 @fn_is_id(ptr @.str404) + %t674 = icmp ne i32 %t673, 0 + br i1 %t674, label %then243, label %ifend245 +then243: + %t675 = load ptr, ptr @g_prog + %t676 = call ptr @fn_parse_extern() + %t677 = getelementptr inbounds %LSlice, ptr %t675, i32 0, i32 1 + %t678 = getelementptr inbounds %LSlice, ptr %t675, i32 0, i32 2 + %t679 = getelementptr inbounds %LSlice, ptr %t675, i32 0, i32 0 + %t680 = load i32, ptr %t677 + %t681 = load i32, ptr %t678 + %t682 = icmp sge i32 %t680, %t681 + br i1 %t682, label %grow246, label %put247 +grow246: + %t683 = mul i32 %t681, 2 + %t684 = icmp eq i32 %t681, 0 + %t685 = select i1 %t684, i32 8, i32 %t683 + %t686 = getelementptr ptr, ptr null, i32 1 + %t687 = ptrtoint ptr %t686 to i64 + %t688 = zext i32 %t685 to i64 + %t689 = mul i64 %t688, %t687 + %t690 = load ptr, ptr %t679 + %t691 = call ptr @realloc(ptr %t690, i64 %t689) + store ptr %t691, ptr %t679 + store i32 %t685, ptr %t678 + br label %put247 +put247: + %t692 = load ptr, ptr %t679 + %t693 = getelementptr inbounds ptr, ptr %t692, i32 %t680 + store ptr %t676, ptr %t693 + %t694 = add i32 %t680, 1 + store i32 %t694, ptr %t677 + br label %ret +ifend245: + %t695 = call i32 @fn_is_id(ptr @.str405) + %t696 = icmp ne i32 %t695, 0 + br i1 %t696, label %then248, label %ifend250 +then248: + %t697 = load ptr, ptr @g_prog + %t698 = call ptr @fn_parse_main() + %t699 = getelementptr inbounds %LSlice, ptr %t697, i32 0, i32 1 + %t700 = getelementptr inbounds %LSlice, ptr %t697, i32 0, i32 2 + %t701 = getelementptr inbounds %LSlice, ptr %t697, i32 0, i32 0 + %t702 = load i32, ptr %t699 + %t703 = load i32, ptr %t700 + %t704 = icmp sge i32 %t702, %t703 + br i1 %t704, label %grow251, label %put252 +grow251: + %t705 = mul i32 %t703, 2 + %t706 = icmp eq i32 %t703, 0 + %t707 = select i1 %t706, i32 8, i32 %t705 + %t708 = getelementptr ptr, ptr null, i32 1 + %t709 = ptrtoint ptr %t708 to i64 + %t710 = zext i32 %t707 to i64 + %t711 = mul i64 %t710, %t709 + %t712 = load ptr, ptr %t701 + %t713 = call ptr @realloc(ptr %t712, i64 %t711) + store ptr %t713, ptr %t701 + store i32 %t707, ptr %t700 + br label %put252 +put252: + %t714 = load ptr, ptr %t701 + %t715 = getelementptr inbounds ptr, ptr %t714, i32 %t702 + store ptr %t698, ptr %t715 + %t716 = add i32 %t702, 1 + store i32 %t716, ptr %t699 + br label %ret +ifend250: + %t717 = call i32 @fn_is_id(ptr @.str406) + %t718 = icmp ne i32 %t717, 0 + br i1 %t718, label %then253, label %ifend255 +then253: + %t719 = load ptr, ptr @g_g_tests + %t720 = call ptr @fn_parse_test() + %t721 = getelementptr inbounds %LSlice, ptr %t719, i32 0, i32 1 + %t722 = getelementptr inbounds %LSlice, ptr %t719, i32 0, i32 2 + %t723 = getelementptr inbounds %LSlice, ptr %t719, i32 0, i32 0 + %t724 = load i32, ptr %t721 + %t725 = load i32, ptr %t722 + %t726 = icmp sge i32 %t724, %t725 + br i1 %t726, label %grow256, label %put257 +grow256: + %t727 = mul i32 %t725, 2 + %t728 = icmp eq i32 %t725, 0 + %t729 = select i1 %t728, i32 8, i32 %t727 + %t730 = getelementptr ptr, ptr null, i32 1 + %t731 = ptrtoint ptr %t730 to i64 + %t732 = zext i32 %t729 to i64 + %t733 = mul i64 %t732, %t731 + %t734 = load ptr, ptr %t723 + %t735 = call ptr @realloc(ptr %t734, i64 %t733) + store ptr %t735, ptr %t723 + store i32 %t729, ptr %t722 + br label %put257 +put257: + %t736 = load ptr, ptr %t723 + %t737 = getelementptr inbounds ptr, ptr %t736, i32 %t724 + store ptr %t720, ptr %t737 + %t738 = add i32 %t724, 1 + store i32 %t738, ptr %t721 + br label %ret +ifend255: + %t739 = call ptr @fn_tok_desc() + %t740 = call ptr @lp_str_concat(ptr @.str407, ptr %t739) + call void @fn_perr(ptr %t740) + br label %ret +ret: + ret void +} + +define ptr @fn_parse_test() { +entry: + %retval = alloca ptr + %t8 = alloca i32 + %t23 = alloca ptr + %t0 = load ptr, ptr @g_toks + %t1 = getelementptr inbounds %LSlice, ptr %t0, i32 0, i32 0 + %t2 = load ptr, ptr %t1 + %t3 = load i32, ptr @g_pi + %t4 = getelementptr inbounds ptr, ptr %t2, i32 %t3 + %t5 = load ptr, ptr %t4 + %t6 = getelementptr inbounds %Cmp_Tok, ptr %t5, i32 0, i32 3 + %t7 = load i32, ptr %t6 + store i32 %t7, ptr %t8 + %t9 = load i32, ptr @g_pi + %t10 = add i32 %t9, 1 + store i32 %t10, ptr @g_pi + %t11 = load ptr, ptr @g_toks + %t12 = getelementptr inbounds %LSlice, ptr %t11, i32 0, i32 0 + %t13 = load ptr, ptr %t12 + %t14 = load i32, ptr @g_pi + %t15 = getelementptr inbounds ptr, ptr %t13, i32 %t14 + %t16 = load ptr, ptr %t15 + %t17 = getelementptr inbounds %Cmp_Tok, ptr %t16, i32 0, i32 0 + %t18 = load i32, ptr %t17 + %t19 = icmp ne i32 %t18, 2 + %t20 = zext i1 %t19 to i32 + %t21 = icmp ne i32 %t20, 0 + br i1 %t21, label %then0, label %ifend2 +then0: + call void @fn_perr(ptr @.str408) + br label %ifend2 +ifend2: + %t22 = call ptr @fn_node(i32 51) + store ptr %t22, ptr %t23 + %t24 = load ptr, ptr %t23 + %t25 = getelementptr inbounds %Cmp_Node, ptr %t24, i32 0, i32 1 + %t26 = load ptr, ptr @g_toks + %t27 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 0 + %t28 = load ptr, ptr %t27 + %t29 = load i32, ptr @g_pi + %t30 = getelementptr inbounds ptr, ptr %t28, i32 %t29 + %t31 = load ptr, ptr %t30 + %t32 = getelementptr inbounds %Cmp_Tok, ptr %t31, i32 0, i32 1 + %t33 = load ptr, ptr %t32 + store ptr %t33, ptr %t25 + %t34 = load ptr, ptr %t23 + %t35 = getelementptr inbounds %Cmp_Node, ptr %t34, i32 0, i32 8 + %t36 = load i32, ptr %t8 + store i32 %t36, ptr %t35 + %t37 = load i32, ptr @g_pi + %t38 = add i32 %t37, 1 + store i32 %t38, ptr @g_pi + %t39 = load ptr, ptr %t23 + %t40 = getelementptr inbounds %Cmp_Node, ptr %t39, i32 0, i32 4 + %t41 = call ptr @fn_block() + store ptr %t41, ptr %t40 + %t42 = load ptr, ptr %t23 + store ptr %t42, ptr %retval + br label %ret +ret: + %t43 = load ptr, ptr %retval + ret ptr %t43 +} + +define i32 @fn_is_runtime_path(ptr %arg_rel) { +entry: + %retval = alloca i32 + %t0 = alloca ptr + store ptr %arg_rel, ptr %t0 + %t1 = load ptr, ptr %t0 + %t2 = call i32 @fn_str_starts(ptr %t1, ptr @.str409) + store i32 %t2, ptr %retval + br label %ret +ret: + %t3 = load i32, ptr %retval + ret i32 %t3 +} + +define i32 @fn_str_less(ptr %arg_a, ptr %arg_b) { +entry: + %retval = alloca i32 + %t0 = alloca ptr + %t1 = alloca ptr + %t2 = alloca i32 + %t9 = alloca i32 + %t15 = alloca i32 + store ptr %arg_a, ptr %t0 + store ptr %arg_b, ptr %t1 + store i32 0, ptr %t2 + br label %wcond0 +wcond0: + %t3 = icmp ne i32 1, 0 + br i1 %t3, label %wbody1, label %wend2 +wbody1: + %t4 = load ptr, ptr %t0 + %t5 = load i32, ptr %t2 + %t6 = getelementptr inbounds i8, ptr %t4, i32 %t5 + %t7 = load i8, ptr %t6 + %t8 = zext i8 %t7 to i32 + store i32 %t8, ptr %t9 + %t10 = load ptr, ptr %t1 + %t11 = load i32, ptr %t2 + %t12 = getelementptr inbounds i8, ptr %t10, i32 %t11 + %t13 = load i8, ptr %t12 + %t14 = zext i8 %t13 to i32 + store i32 %t14, ptr %t15 + %t16 = load i32, ptr %t9 + %t17 = load i32, ptr %t15 + %t18 = icmp ne i32 %t16, %t17 + %t19 = zext i1 %t18 to i32 + %t20 = icmp ne i32 %t19, 0 + br i1 %t20, label %then3, label %ifend5 +then3: + %t21 = load i32, ptr %t9 + %t22 = load i32, ptr %t15 + %t23 = icmp slt i32 %t21, %t22 + %t24 = zext i1 %t23 to i32 + store i32 %t24, ptr %retval + br label %ret +ifend5: + %t25 = load i32, ptr %t9 + %t26 = icmp eq i32 %t25, 0 + %t27 = zext i1 %t26 to i32 + %t28 = icmp ne i32 %t27, 0 + br i1 %t28, label %then6, label %ifend8 +then6: + store i32 0, ptr %retval + br label %ret +ifend8: + %t29 = load i32, ptr %t2 + %t30 = add i32 %t29, 1 + store i32 %t30, ptr %t2 + br label %wcond0 +wend2: + store i32 0, ptr %retval + br label %ret +ret: + %t31 = load i32, ptr %retval + ret i32 %t31 +} + +define void @fn_do_import_dir(ptr %arg_rel) { +entry: + %t0 = alloca ptr + %t7 = alloca ptr + %t12 = alloca ptr + %t19 = alloca i32 + %t28 = alloca i32 + %t31 = alloca i32 + %t62 = alloca ptr + %t95 = alloca ptr + %t99 = alloca i32 + %t100 = alloca i32 + store ptr %arg_rel, ptr %t0 + %t1 = load ptr, ptr %t0 + %t2 = load ptr, ptr %t0 + %t3 = call i64 @strlen(ptr %t2) + %t4 = trunc i64 %t3 to i32 + %t5 = sub i32 %t4, 8 + %t6 = call ptr @lp_str_slice(ptr %t1, i32 0, i32 %t5) + store ptr %t6, ptr %t7 + %t8 = load ptr, ptr @g_cur_dir + %t9 = load ptr, ptr %t7 + %t10 = call ptr @fn_join_path(ptr %t8, ptr %t9) + %t11 = call ptr @lp_fs_list(ptr %t10) + store ptr %t11, ptr %t12 + %t13 = load ptr, ptr %t12 + %t14 = icmp eq ptr %t13, null + %t15 = zext i1 %t14 to i32 + %t16 = icmp ne i32 %t15, 0 + br i1 %t16, label %then0, label %ifend2 +then0: + %t17 = load ptr, ptr %t7 + %t18 = call ptr @lp_str_concat(ptr @.str410, ptr %t17) + call void @fn_perr(ptr %t18) + br label %ifend2 +ifend2: + store i32 0, ptr %t19 + br label %wcond3 +wcond3: + %t20 = load i32, ptr %t19 + %t21 = load ptr, ptr %t12 + %t22 = getelementptr inbounds %LSlice, ptr %t21, i32 0, i32 1 + %t23 = load i32, ptr %t22 + %t24 = icmp slt i32 %t20, %t23 + %t25 = zext i1 %t24 to i32 + %t26 = icmp ne i32 %t25, 0 + br i1 %t26, label %wbody4, label %wend5 +wbody4: + %t27 = load i32, ptr %t19 + store i32 %t27, ptr %t28 + %t29 = load i32, ptr %t19 + %t30 = add i32 %t29, 1 + store i32 %t30, ptr %t31 + br label %wcond6 +wcond6: + %t32 = load i32, ptr %t31 + %t33 = load ptr, ptr %t12 + %t34 = getelementptr inbounds %LSlice, ptr %t33, i32 0, i32 1 + %t35 = load i32, ptr %t34 + %t36 = icmp slt i32 %t32, %t35 + %t37 = zext i1 %t36 to i32 + %t38 = icmp ne i32 %t37, 0 + br i1 %t38, label %wbody7, label %wend8 +wbody7: + %t39 = load ptr, ptr %t12 + %t40 = getelementptr inbounds %LSlice, ptr %t39, i32 0, i32 0 + %t41 = load ptr, ptr %t40 + %t42 = load i32, ptr %t31 + %t43 = getelementptr inbounds ptr, ptr %t41, i32 %t42 + %t44 = load ptr, ptr %t43 + %t45 = load ptr, ptr %t12 + %t46 = getelementptr inbounds %LSlice, ptr %t45, i32 0, i32 0 + %t47 = load ptr, ptr %t46 + %t48 = load i32, ptr %t28 + %t49 = getelementptr inbounds ptr, ptr %t47, i32 %t48 + %t50 = load ptr, ptr %t49 + %t51 = call i32 @fn_str_less(ptr %t44, ptr %t50) + %t52 = icmp ne i32 %t51, 0 + br i1 %t52, label %then9, label %ifend11 +then9: + %t53 = load i32, ptr %t31 + store i32 %t53, ptr %t28 + br label %ifend11 +ifend11: + %t54 = load i32, ptr %t31 + %t55 = add i32 %t54, 1 + store i32 %t55, ptr %t31 + br label %wcond6 +wend8: + %t56 = load ptr, ptr %t12 + %t57 = getelementptr inbounds %LSlice, ptr %t56, i32 0, i32 0 + %t58 = load ptr, ptr %t57 + %t59 = load i32, ptr %t19 + %t60 = getelementptr inbounds ptr, ptr %t58, i32 %t59 + %t61 = load ptr, ptr %t60 + store ptr %t61, ptr %t62 + %t63 = load ptr, ptr %t12 + %t64 = getelementptr inbounds %LSlice, ptr %t63, i32 0, i32 0 + %t65 = load ptr, ptr %t64 + %t66 = load i32, ptr %t19 + %t67 = getelementptr inbounds ptr, ptr %t65, i32 %t66 + %t68 = load ptr, ptr %t12 + %t69 = getelementptr inbounds %LSlice, ptr %t68, i32 0, i32 0 + %t70 = load ptr, ptr %t69 + %t71 = load i32, ptr %t28 + %t72 = getelementptr inbounds ptr, ptr %t70, i32 %t71 + %t73 = load ptr, ptr %t72 + store ptr %t73, ptr %t67 + %t74 = load ptr, ptr %t12 + %t75 = getelementptr inbounds %LSlice, ptr %t74, i32 0, i32 0 + %t76 = load ptr, ptr %t75 + %t77 = load i32, ptr %t28 + %t78 = getelementptr inbounds ptr, ptr %t76, i32 %t77 + %t79 = load ptr, ptr %t62 + store ptr %t79, ptr %t78 + %t80 = load i32, ptr %t19 + %t81 = add i32 %t80, 1 + store i32 %t81, ptr %t19 + br label %wcond3 +wend5: + store i32 0, ptr %t19 + br label %wcond12 +wcond12: + %t82 = load i32, ptr %t19 + %t83 = load ptr, ptr %t12 + %t84 = getelementptr inbounds %LSlice, ptr %t83, i32 0, i32 1 + %t85 = load i32, ptr %t84 + %t86 = icmp slt i32 %t82, %t85 + %t87 = zext i1 %t86 to i32 + %t88 = icmp ne i32 %t87, 0 + br i1 %t88, label %wbody13, label %wend14 +wbody13: + %t89 = load ptr, ptr %t12 + %t90 = getelementptr inbounds %LSlice, ptr %t89, i32 0, i32 0 + %t91 = load ptr, ptr %t90 + %t92 = load i32, ptr %t19 + %t93 = getelementptr inbounds ptr, ptr %t91, i32 %t92 + %t94 = load ptr, ptr %t93 + store ptr %t94, ptr %t95 + %t96 = load ptr, ptr %t95 + %t97 = call i64 @strlen(ptr %t96) + %t98 = trunc i64 %t97 to i32 + store i32 %t98, ptr %t99 + %t101 = load i32, ptr %t99 + %t102 = icmp sgt i32 %t101, 6 + %t103 = zext i1 %t102 to i32 + %t104 = icmp ne i32 %t103, 0 + %t105 = zext i1 %t104 to i32 + store i32 %t105, ptr %t100 + br i1 %t104, label %sc15, label %scend16 +sc15: + %t106 = load ptr, ptr %t95 + %t107 = load i32, ptr %t99 + %t108 = sub i32 %t107, 6 + %t109 = load i32, ptr %t99 + %t110 = call ptr @lp_str_slice(ptr %t106, i32 %t108, i32 %t109) + %t111 = call i32 @lp_str_eq(ptr %t110, ptr @.str411) + %t112 = icmp ne i32 %t111, 0 + %t113 = zext i1 %t112 to i32 + store i32 %t113, ptr %t100 + br label %scend16 +scend16: + %t114 = load i32, ptr %t100 + %t115 = icmp ne i32 %t114, 0 + br i1 %t115, label %then17, label %ifend19 +then17: + %t116 = load ptr, ptr %t7 + %t117 = call ptr @lp_str_concat(ptr %t116, ptr @.str412) + %t118 = load ptr, ptr %t95 + %t119 = call ptr @lp_str_concat(ptr %t117, ptr %t118) + call void @fn_do_import(ptr %t119) + br label %ifend19 +ifend19: + %t120 = load i32, ptr %t19 + %t121 = add i32 %t120, 1 + store i32 %t121, ptr %t19 + br label %wcond12 +wend14: + br label %ret +ret: + ret void +} + +define void @fn_do_import(ptr %arg_rel) { +entry: + %t0 = alloca ptr + %t1 = alloca i32 + %t27 = alloca ptr + %t30 = alloca ptr + %t31 = alloca i32 + %t32 = alloca i32 + %t58 = alloca ptr + %t61 = alloca ptr + %t68 = alloca i32 + %t88 = alloca ptr + %t91 = alloca ptr + %t98 = alloca i32 + %t118 = alloca ptr + %t121 = alloca ptr + %t157 = alloca ptr + %t161 = alloca i32 + %t162 = alloca i32 + %t186 = alloca ptr + %t188 = alloca i32 + %t190 = alloca ptr + %t192 = alloca ptr + %t194 = alloca i32 + store ptr %arg_rel, ptr %t0 + %t2 = load ptr, ptr %t0 + %t3 = call i64 @strlen(ptr %t2) + %t4 = trunc i64 %t3 to i32 + %t5 = icmp sgt i32 %t4, 8 + %t6 = zext i1 %t5 to i32 + %t7 = icmp ne i32 %t6, 0 + %t8 = zext i1 %t7 to i32 + store i32 %t8, ptr %t1 + br i1 %t7, label %sc0, label %scend1 +sc0: + %t9 = load ptr, ptr %t0 + %t10 = load ptr, ptr %t0 + %t11 = call i64 @strlen(ptr %t10) + %t12 = trunc i64 %t11 to i32 + %t13 = sub i32 %t12, 8 + %t14 = load ptr, ptr %t0 + %t15 = call i64 @strlen(ptr %t14) + %t16 = trunc i64 %t15 to i32 + %t17 = call ptr @lp_str_slice(ptr %t9, i32 %t13, i32 %t16) + %t18 = call i32 @lp_str_eq(ptr %t17, ptr @.str413) + %t19 = icmp ne i32 %t18, 0 + %t20 = zext i1 %t19 to i32 + store i32 %t20, ptr %t1 + br label %scend1 +scend1: + %t21 = load i32, ptr %t1 + %t22 = icmp ne i32 %t21, 0 + br i1 %t22, label %then2, label %ifend4 +then2: + %t23 = load ptr, ptr %t0 + call void @fn_do_import_dir(ptr %t23) + br label %ret +ifend4: + %t24 = load ptr, ptr @g_cur_dir + %t25 = load ptr, ptr %t0 + %t26 = call ptr @fn_join_path(ptr %t24, ptr %t25) + store ptr %t26, ptr %t27 + %t28 = load ptr, ptr %t27 + %t29 = call ptr @fn_read_file(ptr %t28) + store ptr %t29, ptr %t30 + %t33 = load ptr, ptr %t30 + %t34 = icmp eq ptr %t33, null + %t35 = zext i1 %t34 to i32 + %t36 = icmp ne i32 %t35, 0 + %t37 = zext i1 %t36 to i32 + store i32 %t37, ptr %t32 + br i1 %t36, label %sc5, label %scend6 +sc5: + %t38 = load ptr, ptr %t0 + %t39 = getelementptr inbounds i8, ptr %t38, i32 0 + %t40 = load i8, ptr %t39 + %t41 = zext i8 %t40 to i32 + %t42 = icmp ne i32 %t41, 47 + %t43 = zext i1 %t42 to i32 + %t44 = icmp ne i32 %t43, 0 + %t45 = zext i1 %t44 to i32 + store i32 %t45, ptr %t32 + br label %scend6 +scend6: + %t46 = load i32, ptr %t32 + %t47 = icmp ne i32 %t46, 0 + %t48 = zext i1 %t47 to i32 + store i32 %t48, ptr %t31 + br i1 %t47, label %sc7, label %scend8 +sc7: + %t49 = load ptr, ptr %t0 + %t50 = call i32 @fn_is_runtime_path(ptr %t49) + %t51 = icmp ne i32 %t50, 0 + %t52 = zext i1 %t51 to i32 + store i32 %t52, ptr %t31 + br label %scend8 +scend8: + %t53 = load i32, ptr %t31 + %t54 = icmp ne i32 %t53, 0 + br i1 %t54, label %then9, label %ifend11 +then9: + %t55 = call ptr @fn_ludic_home() + %t56 = load ptr, ptr %t0 + %t57 = call ptr @lp_str_concat(ptr %t55, ptr %t56) + store ptr %t57, ptr %t58 + %t59 = load ptr, ptr %t58 + %t60 = call ptr @fn_read_file(ptr %t59) + store ptr %t60, ptr %t61 + %t62 = load ptr, ptr %t61 + %t63 = icmp ne ptr %t62, null + %t64 = zext i1 %t63 to i32 + %t65 = icmp ne i32 %t64, 0 + br i1 %t65, label %then12, label %ifend14 +then12: + %t66 = load ptr, ptr %t58 + store ptr %t66, ptr %t27 + %t67 = load ptr, ptr %t61 + store ptr %t67, ptr %t30 + br label %ifend14 +ifend14: + br label %ifend11 +ifend11: + %t69 = load ptr, ptr %t30 + %t70 = icmp eq ptr %t69, null + %t71 = zext i1 %t70 to i32 + %t72 = icmp ne i32 %t71, 0 + %t73 = zext i1 %t72 to i32 + store i32 %t73, ptr %t68 + br i1 %t72, label %sc15, label %scend16 +sc15: + %t74 = load ptr, ptr %t0 + %t75 = getelementptr inbounds i8, ptr %t74, i32 0 + %t76 = load i8, ptr %t75 + %t77 = zext i8 %t76 to i32 + %t78 = icmp ne i32 %t77, 47 + %t79 = zext i1 %t78 to i32 + %t80 = icmp ne i32 %t79, 0 + %t81 = zext i1 %t80 to i32 + store i32 %t81, ptr %t68 + br label %scend16 +scend16: + %t82 = load i32, ptr %t68 + %t83 = icmp ne i32 %t82, 0 + br i1 %t83, label %then17, label %ifend19 +then17: + %t84 = call ptr @fn_getenv_or(ptr @.str414, ptr @.str415) + %t85 = call ptr @fn_ensure_slash(ptr %t84) + %t86 = load ptr, ptr %t0 + %t87 = call ptr @lp_str_concat(ptr %t85, ptr %t86) + store ptr %t87, ptr %t88 + %t89 = load ptr, ptr %t88 + %t90 = call ptr @fn_read_file(ptr %t89) + store ptr %t90, ptr %t91 + %t92 = load ptr, ptr %t91 + %t93 = icmp ne ptr %t92, null + %t94 = zext i1 %t93 to i32 + %t95 = icmp ne i32 %t94, 0 + br i1 %t95, label %then20, label %ifend22 +then20: + %t96 = load ptr, ptr %t88 + store ptr %t96, ptr %t27 + %t97 = load ptr, ptr %t91 + store ptr %t97, ptr %t30 + br label %ifend22 +ifend22: + br label %ifend19 +ifend19: + %t99 = load ptr, ptr %t30 + %t100 = icmp eq ptr %t99, null + %t101 = zext i1 %t100 to i32 + %t102 = icmp ne i32 %t101, 0 + %t103 = zext i1 %t102 to i32 + store i32 %t103, ptr %t98 + br i1 %t102, label %sc23, label %scend24 +sc23: + %t104 = load ptr, ptr %t0 + %t105 = getelementptr inbounds i8, ptr %t104, i32 0 + %t106 = load i8, ptr %t105 + %t107 = zext i8 %t106 to i32 + %t108 = icmp ne i32 %t107, 47 + %t109 = zext i1 %t108 to i32 + %t110 = icmp ne i32 %t109, 0 + %t111 = zext i1 %t110 to i32 + store i32 %t111, ptr %t98 + br label %scend24 +scend24: + %t112 = load i32, ptr %t98 + %t113 = icmp ne i32 %t112, 0 + br i1 %t113, label %then25, label %ifend27 +then25: + %t114 = call ptr @fn_ludic_home() + %t115 = call ptr @lp_str_concat(ptr %t114, ptr @.str416) + %t116 = load ptr, ptr %t0 + %t117 = call ptr @lp_str_concat(ptr %t115, ptr %t116) + store ptr %t117, ptr %t118 + %t119 = load ptr, ptr %t118 + %t120 = call ptr @fn_read_file(ptr %t119) + store ptr %t120, ptr %t121 + %t122 = load ptr, ptr %t121 + %t123 = icmp ne ptr %t122, null + %t124 = zext i1 %t123 to i32 + %t125 = icmp ne i32 %t124, 0 + br i1 %t125, label %then28, label %ifend30 +then28: + %t126 = load ptr, ptr %t118 + store ptr %t126, ptr %t27 + %t127 = load ptr, ptr %t121 + store ptr %t127, ptr %t30 + br label %ifend30 +ifend30: + br label %ifend27 +ifend27: + %t128 = load ptr, ptr %t27 + %t129 = call i32 @fn_already_loaded(ptr %t128) + %t130 = icmp ne i32 %t129, 0 + br i1 %t130, label %then31, label %ifend33 +then31: + br label %ret +ifend33: + %t131 = load ptr, ptr @g_loaded_paths + %t132 = load ptr, ptr %t27 + %t133 = getelementptr inbounds %LSlice, ptr %t131, i32 0, i32 1 + %t134 = getelementptr inbounds %LSlice, ptr %t131, i32 0, i32 2 + %t135 = getelementptr inbounds %LSlice, ptr %t131, i32 0, i32 0 + %t136 = load i32, ptr %t133 + %t137 = load i32, ptr %t134 + %t138 = icmp sge i32 %t136, %t137 + br i1 %t138, label %grow34, label %put35 +grow34: + %t139 = mul i32 %t137, 2 + %t140 = icmp eq i32 %t137, 0 + %t141 = select i1 %t140, i32 8, i32 %t139 + %t142 = getelementptr ptr, ptr null, i32 1 + %t143 = ptrtoint ptr %t142 to i64 + %t144 = zext i32 %t141 to i64 + %t145 = mul i64 %t144, %t143 + %t146 = load ptr, ptr %t135 + %t147 = call ptr @realloc(ptr %t146, i64 %t145) + store ptr %t147, ptr %t135 + store i32 %t141, ptr %t134 + br label %put35 +put35: + %t148 = load ptr, ptr %t135 + %t149 = getelementptr inbounds ptr, ptr %t148, i32 %t136 + store ptr %t132, ptr %t149 + %t150 = add i32 %t136, 1 + store i32 %t150, ptr %t133 + %t151 = load ptr, ptr %t30 + %t152 = icmp eq ptr %t151, null + %t153 = zext i1 %t152 to i32 + %t154 = icmp ne i32 %t153, 0 + br i1 %t154, label %then36, label %ifend38 +then36: + %t155 = load ptr, ptr %t27 + %t156 = call ptr @lp_str_concat(ptr @.str417, ptr %t155) + call void @fn_perr(ptr %t156) + br label %ifend38 +ifend38: + store ptr @.str418, ptr %t157 + %t158 = load ptr, ptr %t27 + %t159 = call i64 @strlen(ptr %t158) + %t160 = trunc i64 %t159 to i32 + store i32 %t160, ptr %t161 + %t163 = load i32, ptr %t161 + %t164 = load ptr, ptr %t157 + %t165 = call i64 @strlen(ptr %t164) + %t166 = trunc i64 %t165 to i32 + %t167 = icmp sge i32 %t163, %t166 + %t168 = zext i1 %t167 to i32 + %t169 = icmp ne i32 %t168, 0 + %t170 = zext i1 %t169 to i32 + store i32 %t170, ptr %t162 + br i1 %t169, label %sc39, label %scend40 +sc39: + %t171 = load ptr, ptr %t27 + %t172 = load i32, ptr %t161 + %t173 = load ptr, ptr %t157 + %t174 = call i64 @strlen(ptr %t173) + %t175 = trunc i64 %t174 to i32 + %t176 = sub i32 %t172, %t175 + %t177 = load i32, ptr %t161 + %t178 = call ptr @lp_str_slice(ptr %t171, i32 %t176, i32 %t177) + %t179 = load ptr, ptr %t157 + %t180 = call i32 @lp_str_eq(ptr %t178, ptr %t179) + %t181 = icmp ne i32 %t180, 0 + %t182 = zext i1 %t181 to i32 + store i32 %t182, ptr %t162 + br label %scend40 +scend40: + %t183 = load i32, ptr %t162 + %t184 = icmp ne i32 %t183, 0 + br i1 %t184, label %then41, label %ifend43 +then41: + store i32 1, ptr @g_g_uses_audio + br label %ifend43 +ifend43: + %t185 = load ptr, ptr @g_toks + store ptr %t185, ptr %t186 + %t187 = load i32, ptr @g_pi + store i32 %t187, ptr %t188 + %t189 = load ptr, ptr @g_cur_dir + store ptr %t189, ptr %t190 + %t191 = load ptr, ptr @g_g_parse_file + store ptr %t191, ptr %t192 + %t193 = load i32, ptr @g_g_parsing + store i32 %t193, ptr %t194 + %t195 = load ptr, ptr %t27 + %t196 = call ptr @fn_dir_of(ptr %t195) + store ptr %t196, ptr @g_cur_dir + %t197 = load ptr, ptr %t27 + store ptr %t197, ptr @g_g_parse_file + store i32 1, ptr @g_g_parsing + %t198 = load ptr, ptr %t30 + call void @fn_lex(ptr %t198) + store i32 0, ptr @g_pi + call void @fn_skipnl() + br label %wcond44 +wcond44: + %t199 = load ptr, ptr @g_toks + %t200 = getelementptr inbounds %LSlice, ptr %t199, i32 0, i32 0 + %t201 = load ptr, ptr %t200 + %t202 = load i32, ptr @g_pi + %t203 = getelementptr inbounds ptr, ptr %t201, i32 %t202 + %t204 = load ptr, ptr %t203 + %t205 = getelementptr inbounds %Cmp_Tok, ptr %t204, i32 0, i32 0 + %t206 = load i32, ptr %t205 + %t207 = icmp ne i32 %t206, 5 + %t208 = zext i1 %t207 to i32 + %t209 = icmp ne i32 %t208, 0 + br i1 %t209, label %wbody45, label %wend46 +wbody45: + call void @fn_parse_one_decl() + call void @fn_skipnl() + br label %wcond44 +wend46: + %t210 = load ptr, ptr %t186 + store ptr %t210, ptr @g_toks + %t211 = load i32, ptr %t188 + store i32 %t211, ptr @g_pi + %t212 = load ptr, ptr %t190 + store ptr %t212, ptr @g_cur_dir + %t213 = load ptr, ptr %t192 + store ptr %t213, ptr @g_g_parse_file + %t214 = load i32, ptr %t194 + store i32 %t214, ptr @g_g_parsing + br label %ret +ret: + ret void +} + +define void @fn_maybe_splice_runtime() { +entry: + %t1 = alloca ptr + %t69 = alloca i32 + %t98 = alloca i32 + %t0 = load ptr, ptr @g_cur_dir + store ptr %t0, ptr %t1 + %t2 = call i32 @fn_has_ecs() + %t3 = icmp ne i32 %t2, 0 + br i1 %t3, label %then0, label %ifend2 +then0: + store ptr @.str419, ptr @g_cur_dir + call void @fn_do_import(ptr @.str420) + %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 @.str421, ptr @g_cur_dir + call void @fn_do_import(ptr @.str422) + call void @fn_do_import(ptr @.str423) + %t7 = load ptr, ptr %t1 + store ptr %t7, ptr @g_cur_dir + br label %ifend5 +ifend5: + %t8 = load i32, ptr @g_g_uses_bignum + %t9 = icmp ne i32 %t8, 0 + br i1 %t9, label %then6, label %ifend8 +then6: + store ptr @.str424, ptr @g_cur_dir + call void @fn_do_import(ptr @.str425) + %t10 = load ptr, ptr %t1 + store ptr %t10, ptr @g_cur_dir + br label %ifend8 +ifend8: + %t11 = load i32, ptr @g_g_uses_dict + %t12 = icmp ne i32 %t11, 0 + br i1 %t12, label %then9, label %ifend11 +then9: + store ptr @.str426, ptr @g_cur_dir + call void @fn_do_import(ptr @.str427) + %t13 = load ptr, ptr %t1 + store ptr %t13, ptr @g_cur_dir + br label %ifend11 +ifend11: + %t14 = load i32, ptr @g_g_uses_numeric + %t15 = icmp ne i32 %t14, 0 + br i1 %t15, label %then12, label %ifend14 +then12: + store ptr @.str428, ptr @g_cur_dir + call void @fn_do_import(ptr @.str429) + %t16 = load ptr, ptr %t1 + store ptr %t16, ptr @g_cur_dir + br label %ifend14 +ifend14: + %t17 = load i32, ptr @g_g_uses_jobs + %t18 = icmp ne i32 %t17, 0 + br i1 %t18, label %then15, label %ifend17 +then15: + store ptr @.str430, ptr @g_cur_dir + call void @fn_do_import(ptr @.str431) + %t19 = load ptr, ptr %t1 + store ptr %t19, ptr @g_cur_dir + br label %ifend17 +ifend17: + %t20 = load i32, ptr @g_g_uses_query + %t21 = icmp ne i32 %t20, 0 + br i1 %t21, label %then18, label %ifend20 +then18: + store ptr @.str432, ptr @g_cur_dir + call void @fn_do_import(ptr @.str433) + %t22 = load ptr, ptr %t1 + store ptr %t22, ptr @g_cur_dir + br label %ifend20 +ifend20: + %t23 = load i32, ptr @g_g_uses_light + %t24 = icmp ne i32 %t23, 0 + br i1 %t24, label %then21, label %ifend23 +then21: + store ptr @.str434, ptr @g_cur_dir + call void @fn_do_import(ptr @.str435) + %t25 = load ptr, ptr %t1 + store ptr %t25, ptr @g_cur_dir + br label %ifend23 +ifend23: + %t26 = load i32, ptr @g_g_uses_value + %t27 = icmp ne i32 %t26, 0 + br i1 %t27, label %then24, label %ifend26 +then24: + store ptr @.str436, ptr @g_cur_dir + call void @fn_do_import(ptr @.str437) + %t28 = load ptr, ptr %t1 + store ptr %t28, ptr @g_cur_dir + br label %ifend26 +ifend26: + %t29 = load i32, ptr @g_g_uses_xml + %t30 = icmp ne i32 %t29, 0 + br i1 %t30, label %then27, label %ifend29 +then27: + store ptr @.str438, ptr @g_cur_dir + call void @fn_do_import(ptr @.str439) + %t31 = load ptr, ptr %t1 + store ptr %t31, ptr @g_cur_dir + br label %ifend29 +ifend29: + %t32 = load i32, ptr @g_g_uses_atlas + %t33 = icmp ne i32 %t32, 0 + br i1 %t33, label %then30, label %ifend32 +then30: + store ptr @.str440, ptr @g_cur_dir + call void @fn_do_import(ptr @.str441) + call void @fn_do_import(ptr @.str442) + call void @fn_do_import(ptr @.str443) + %t34 = load ptr, ptr %t1 + store ptr %t34, ptr @g_cur_dir + br label %ifend32 +ifend32: + %t35 = load i32, ptr @g_g_uses_fx + %t36 = icmp ne i32 %t35, 0 + br i1 %t36, label %then33, label %ifend35 +then33: + store ptr @.str444, ptr @g_cur_dir + call void @fn_do_import(ptr @.str445) + call void @fn_do_import(ptr @.str446) + %t37 = load ptr, ptr %t1 + store ptr %t37, ptr @g_cur_dir + br label %ifend35 +ifend35: + %t38 = load i32, ptr @g_g_uses_base64 + %t39 = icmp ne i32 %t38, 0 + br i1 %t39, label %then36, label %ifend38 +then36: + store ptr @.str447, ptr @g_cur_dir + call void @fn_do_import(ptr @.str448) + call void @fn_do_import(ptr @.str449) + call void @fn_do_import(ptr @.str450) + %t40 = load ptr, ptr %t1 + store ptr %t40, ptr @g_cur_dir + br label %ifend38 +ifend38: + %t41 = load i32, ptr @g_g_uses_tiled + %t42 = icmp ne i32 %t41, 0 + br i1 %t42, label %then39, label %ifend41 +then39: + store ptr @.str451, ptr @g_cur_dir + call void @fn_do_import(ptr @.str452) + call void @fn_do_import(ptr @.str453) + call void @fn_do_import(ptr @.str454) + call void @fn_do_import(ptr @.str455) + call void @fn_do_import(ptr @.str456) + call void @fn_do_import(ptr @.str457) + call void @fn_do_import(ptr @.str458) + %t43 = call i32 @fn_has_ecs() + %t44 = icmp ne i32 %t43, 0 + br i1 %t44, label %then42, label %ifend44 +then42: + call void @fn_do_import(ptr @.str459) + br label %ifend44 +ifend44: + %t45 = load ptr, ptr %t1 + store ptr %t45, ptr @g_cur_dir + br label %ifend41 +ifend41: + %t46 = load i32, ptr @g_g_uses_reflect_io + %t47 = icmp ne i32 %t46, 0 + br i1 %t47, label %then45, label %ifend47 +then45: + store ptr @.str460, ptr @g_cur_dir + call void @fn_do_import(ptr @.str461) + %t48 = load ptr, ptr %t1 + store ptr %t48, ptr @g_cur_dir + br label %ifend47 +ifend47: + %t49 = load i32, ptr @g_g_uses_input + %t50 = icmp ne i32 %t49, 0 + br i1 %t50, label %then48, label %ifend50 +then48: + store ptr @.str462, ptr @g_cur_dir + call void @fn_do_import(ptr @.str463) + call void @fn_do_import(ptr @.str464) + %t51 = load ptr, ptr %t1 + store ptr %t51, ptr @g_cur_dir + br label %ifend50 +ifend50: + %t52 = load i32, ptr @g_g_uses_tween_rt + %t53 = icmp ne i32 %t52, 0 + br i1 %t53, label %then51, label %ifend53 +then51: + store ptr @.str465, ptr @g_cur_dir + call void @fn_do_import(ptr @.str466) + call void @fn_do_import(ptr @.str467) + %t54 = load ptr, ptr %t1 + store ptr %t54, ptr @g_cur_dir + br label %ifend53 +ifend53: + %t55 = load i32, ptr @g_g_uses_audio + %t56 = icmp ne i32 %t55, 0 + br i1 %t56, label %then54, label %ifend56 +then54: + store ptr @.str468, ptr @g_cur_dir + call void @fn_do_import(ptr @.str469) + %t57 = load ptr, ptr %t1 + store ptr %t57, ptr @g_cur_dir + br label %ifend56 +ifend56: + %t58 = load i32, ptr @g_g_uses_http + %t59 = icmp ne i32 %t58, 0 + br i1 %t59, label %then57, label %ifend59 +then57: + store ptr @.str470, ptr @g_cur_dir + call void @fn_do_import(ptr @.str471) + %t60 = load ptr, ptr %t1 + store ptr %t60, ptr @g_cur_dir + br label %ifend59 +ifend59: + %t61 = load i32, ptr @g_g_uses_gl + %t62 = icmp ne i32 %t61, 0 + br i1 %t62, label %then60, label %ifend62 +then60: + store ptr @.str472, ptr @g_cur_dir + call void @fn_do_import(ptr @.str473) + %t63 = load ptr, ptr %t1 + store ptr %t63, ptr @g_cur_dir + br label %ifend62 +ifend62: + %t64 = load i32, ptr @g_g_uses_anim_rt + %t65 = icmp ne i32 %t64, 0 + br i1 %t65, label %then63, label %ifend65 +then63: + store i32 1, ptr @g_g_uses_esys + store ptr @.str474, ptr @g_cur_dir + call void @fn_do_import(ptr @.str475) + call void @fn_do_import(ptr @.str476) + %t66 = load ptr, ptr %t1 + store ptr %t66, ptr @g_cur_dir + br label %ifend65 +ifend65: + %t67 = call i32 @fn_uses_engine_systems() + %t68 = icmp ne i32 %t67, 0 + br i1 %t68, label %then66, label %ifend68 +then66: + store i32 1, ptr @g_g_uses_esys + store ptr @.str477, ptr @g_cur_dir + %t70 = call ptr @fn_find_comp(ptr @.str478) + %t71 = icmp ne ptr %t70, null + %t72 = zext i1 %t71 to i32 + %t73 = icmp ne i32 %t72, 0 + %t74 = zext i1 %t73 to i32 + store i32 %t74, ptr %t69 + br i1 %t73, label %scend70, label %sc69 +sc69: + %t75 = call ptr @fn_find_comp(ptr @.str479) + %t76 = icmp ne ptr %t75, null + %t77 = zext i1 %t76 to i32 + %t78 = icmp ne i32 %t77, 0 + %t79 = zext i1 %t78 to i32 + store i32 %t79, ptr %t69 + br label %scend70 +scend70: + %t80 = load i32, ptr %t69 + %t81 = icmp ne i32 %t80, 0 + br i1 %t81, label %then71, label %ifend73 +then71: + call void @fn_do_import(ptr @.str480) + br label %ifend73 +ifend73: + %t82 = call ptr @fn_find_comp(ptr @.str481) + %t83 = icmp ne ptr %t82, null + %t84 = zext i1 %t83 to i32 + %t85 = icmp ne i32 %t84, 0 + br i1 %t85, label %then74, label %ifend76 +then74: + call void @fn_do_import(ptr @.str482) + call void @fn_do_import(ptr @.str483) + br label %ifend76 +ifend76: + %t86 = call ptr @fn_find_comp(ptr @.str484) + %t87 = icmp ne ptr %t86, null + %t88 = zext i1 %t87 to i32 + %t89 = icmp ne i32 %t88, 0 + br i1 %t89, label %then77, label %ifend79 +then77: + call void @fn_do_import(ptr @.str485) + call void @fn_do_import(ptr @.str486) + br label %ifend79 +ifend79: + %t90 = call ptr @fn_find_comp(ptr @.str487) + %t91 = icmp ne ptr %t90, null + %t92 = zext i1 %t91 to i32 + %t93 = icmp ne i32 %t92, 0 + br i1 %t93, label %then80, label %ifend82 +then80: + call void @fn_do_import(ptr @.str488) + call void @fn_do_import(ptr @.str489) + br label %ifend82 +ifend82: + %t94 = call ptr @fn_find_comp(ptr @.str490) + %t95 = icmp ne ptr %t94, null + %t96 = zext i1 %t95 to i32 + %t97 = icmp ne i32 %t96, 0 + br i1 %t97, label %then83, label %ifend85 +then83: + call void @fn_do_import(ptr @.str491) + br label %ifend85 +ifend85: + %t99 = call ptr @fn_find_comp(ptr @.str492) + %t100 = icmp ne ptr %t99, null + %t101 = zext i1 %t100 to i32 + %t102 = icmp ne i32 %t101, 0 + %t103 = zext i1 %t102 to i32 + store i32 %t103, ptr %t98 + br i1 %t102, label %scend87, label %sc86 +sc86: + %t104 = call ptr @fn_find_comp(ptr @.str493) + %t105 = icmp ne ptr %t104, null + %t106 = zext i1 %t105 to i32 + %t107 = icmp ne i32 %t106, 0 + %t108 = zext i1 %t107 to i32 + store i32 %t108, ptr %t98 + br label %scend87 +scend87: + %t109 = load i32, ptr %t98 + %t110 = icmp ne i32 %t109, 0 + br i1 %t110, label %then88, label %ifend90 +then88: + call void @fn_do_import(ptr @.str494) + call void @fn_do_import(ptr @.str495) + store i32 1, ptr @g_g_uses_light + br label %ifend90 +ifend90: + %t111 = load ptr, ptr %t1 + store ptr %t111, ptr @g_cur_dir + br label %ifend68 +ifend68: + br label %ret +ret: + ret void +} + +define void @fn_parse_program() { +entry: + %t547 = alloca ptr + %t551 = alloca ptr + %t560 = alloca ptr + %t563 = alloca i32 + %t0 = getelementptr %LSlice, ptr null, i32 1 + %t1 = ptrtoint ptr %t0 to i64 + %t2 = call ptr @malloc(i64 %t1) + %t3 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 0 + store ptr null, ptr %t3 + %t4 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 1 + store i32 0, ptr %t4 + %t5 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 2 + store i32 0, ptr %t5 + store ptr %t2, ptr @g_prog + %t6 = getelementptr %LSlice, ptr null, i32 1 + %t7 = ptrtoint ptr %t6 to i64 + %t8 = call ptr @malloc(i64 %t7) + %t9 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 0 + store ptr null, ptr %t9 + %t10 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 1 + store i32 0, ptr %t10 + %t11 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 2 + store i32 0, ptr %t11 + store ptr %t8, ptr @g_g_computed + %t12 = getelementptr %LSlice, ptr null, i32 1 + %t13 = ptrtoint ptr %t12 to i64 + %t14 = call ptr @malloc(i64 %t13) + %t15 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 0 + store ptr null, ptr %t15 + %t16 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 1 + store i32 0, ptr %t16 + %t17 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 2 + store i32 0, ptr %t17 + store ptr %t14, ptr @g_g_onspawn + %t18 = getelementptr %LSlice, ptr null, i32 1 + %t19 = ptrtoint ptr %t18 to i64 + %t20 = call ptr @malloc(i64 %t19) + %t21 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 0 + store ptr null, ptr %t21 + %t22 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 1 + store i32 0, ptr %t22 + %t23 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 2 + store i32 0, ptr %t23 + store ptr %t20, ptr @g_g_ondespawn + %t24 = getelementptr %LSlice, ptr null, i32 1 + %t25 = ptrtoint ptr %t24 to i64 + %t26 = call ptr @malloc(i64 %t25) + %t27 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 0 + store ptr null, ptr %t27 + %t28 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 1 + store i32 0, ptr %t28 + %t29 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 2 + store i32 0, ptr %t29 + store ptr %t26, ptr @g_g_onattach + %t30 = getelementptr %LSlice, ptr null, i32 1 + %t31 = ptrtoint ptr %t30 to i64 + %t32 = call ptr @malloc(i64 %t31) + %t33 = getelementptr inbounds %LSlice, ptr %t32, i32 0, i32 0 + store ptr null, ptr %t33 + %t34 = getelementptr inbounds %LSlice, ptr %t32, i32 0, i32 1 + store i32 0, ptr %t34 + %t35 = getelementptr inbounds %LSlice, ptr %t32, i32 0, i32 2 + store i32 0, ptr %t35 + store ptr %t32, ptr @g_g_ondetach + %t36 = getelementptr %LSlice, ptr null, i32 1 + %t37 = ptrtoint ptr %t36 to i64 + %t38 = call ptr @malloc(i64 %t37) + %t39 = getelementptr inbounds %LSlice, ptr %t38, i32 0, i32 0 + store ptr null, ptr %t39 + %t40 = getelementptr inbounds %LSlice, ptr %t38, i32 0, i32 1 + store i32 0, ptr %t40 + %t41 = getelementptr inbounds %LSlice, ptr %t38, i32 0, i32 2 + store i32 0, ptr %t41 + store ptr %t38, ptr @g_g_onenable + %t42 = getelementptr %LSlice, ptr null, i32 1 + %t43 = ptrtoint ptr %t42 to i64 + %t44 = call ptr @malloc(i64 %t43) + %t45 = getelementptr inbounds %LSlice, ptr %t44, i32 0, i32 0 + store ptr null, ptr %t45 + %t46 = getelementptr inbounds %LSlice, ptr %t44, i32 0, i32 1 + store i32 0, ptr %t46 + %t47 = getelementptr inbounds %LSlice, ptr %t44, i32 0, i32 2 + store i32 0, ptr %t47 + store ptr %t44, ptr @g_g_ondisable + %t48 = getelementptr %LSlice, ptr null, i32 1 + %t49 = ptrtoint ptr %t48 to i64 + %t50 = call ptr @malloc(i64 %t49) + %t51 = getelementptr inbounds %LSlice, ptr %t50, i32 0, i32 0 + store ptr null, ptr %t51 + %t52 = getelementptr inbounds %LSlice, ptr %t50, i32 0, i32 1 + store i32 0, ptr %t52 + %t53 = getelementptr inbounds %LSlice, ptr %t50, i32 0, i32 2 + store i32 0, ptr %t53 + store ptr %t50, ptr @g_g_scenes + store i32 0, ptr @g_g_scene_count + store i32 0, ptr @g_g_start_scene + %t54 = getelementptr %LSlice, ptr null, i32 1 + %t55 = ptrtoint ptr %t54 to i64 + %t56 = call ptr @malloc(i64 %t55) + %t57 = getelementptr inbounds %LSlice, ptr %t56, i32 0, i32 0 + store ptr null, ptr %t57 + %t58 = getelementptr inbounds %LSlice, ptr %t56, i32 0, i32 1 + store i32 0, ptr %t58 + %t59 = getelementptr inbounds %LSlice, ptr %t56, i32 0, i32 2 + store i32 0, ptr %t59 + store ptr %t56, ptr @g_g_events + %t60 = getelementptr %LSlice, ptr null, i32 1 + %t61 = ptrtoint ptr %t60 to i64 + %t62 = call ptr @malloc(i64 %t61) + %t63 = getelementptr inbounds %LSlice, ptr %t62, i32 0, i32 0 + store ptr null, ptr %t63 + %t64 = getelementptr inbounds %LSlice, ptr %t62, i32 0, i32 1 + store i32 0, ptr %t64 + %t65 = getelementptr inbounds %LSlice, ptr %t62, i32 0, i32 2 + store i32 0, ptr %t65 + store ptr %t62, ptr @g_g_onlisten + %t66 = getelementptr %LSlice, ptr null, i32 1 + %t67 = ptrtoint ptr %t66 to i64 + %t68 = call ptr @malloc(i64 %t67) + %t69 = getelementptr inbounds %LSlice, ptr %t68, i32 0, i32 0 + store ptr null, ptr %t69 + %t70 = getelementptr inbounds %LSlice, ptr %t68, i32 0, i32 1 + store i32 0, ptr %t70 + %t71 = getelementptr inbounds %LSlice, ptr %t68, i32 0, i32 2 + store i32 0, ptr %t71 + store ptr %t68, ptr @g_g_toggled_layers + store i32 0, ptr @g_g_uses_regex + store i32 0, ptr @g_g_uses_gl + store i32 0, ptr @g_g_uses_bignum + store i32 0, ptr @g_g_uses_dict + store i32 0, ptr @g_g_uses_numeric + store i32 0, ptr @g_g_uses_jobs + store i32 0, ptr @g_g_uses_query + store i32 0, ptr @g_g_uses_reflect + store i32 0, ptr @g_g_uses_esys + store i32 0, ptr @g_g_uses_input + store i32 0, ptr @g_g_has_clear_color + store ptr null, ptr @g_g_clear_color + store i32 0, ptr @g_g_warned_draw_sprite + store i32 0, ptr @g_g_uses_world_despawn + store i32 0, ptr @g_g_uses_light + store i32 0, ptr @g_g_uses_value + store i32 0, ptr @g_g_uses_xml + store i32 0, ptr @g_g_uses_base64 + store i32 0, ptr @g_g_uses_tiled + store i32 0, ptr @g_g_uses_atlas + store i32 0, ptr @g_g_uses_fx + store i32 0, ptr @g_g_uses_reflect_io + %t72 = getelementptr %LSlice, ptr null, i32 1 + %t73 = ptrtoint ptr %t72 to i64 + %t74 = call ptr @malloc(i64 %t73) + %t75 = getelementptr inbounds %LSlice, ptr %t74, i32 0, i32 0 + store ptr null, ptr %t75 + %t76 = getelementptr inbounds %LSlice, ptr %t74, i32 0, i32 1 + store i32 0, ptr %t76 + %t77 = getelementptr inbounds %LSlice, ptr %t74, i32 0, i32 2 + store i32 0, ptr %t77 + store ptr %t74, ptr @g_g_tests + %t78 = getelementptr %LSlice, ptr null, i32 1 + %t79 = ptrtoint ptr %t78 to i64 + %t80 = call ptr @malloc(i64 %t79) + %t81 = getelementptr inbounds %LSlice, ptr %t80, i32 0, i32 0 + store ptr null, ptr %t81 + %t82 = getelementptr inbounds %LSlice, ptr %t80, i32 0, i32 1 + store i32 0, ptr %t82 + %t83 = getelementptr inbounds %LSlice, ptr %t80, i32 0, i32 2 + store i32 0, ptr %t83 + store ptr %t80, ptr @g_g_mod_sys_fn + %t84 = getelementptr %LSlice, ptr null, i32 1 + %t85 = ptrtoint ptr %t84 to i64 + %t86 = call ptr @malloc(i64 %t85) + %t87 = getelementptr inbounds %LSlice, ptr %t86, i32 0, i32 0 + store ptr null, ptr %t87 + %t88 = getelementptr inbounds %LSlice, ptr %t86, i32 0, i32 1 + store i32 0, ptr %t88 + %t89 = getelementptr inbounds %LSlice, ptr %t86, i32 0, i32 2 + store i32 0, ptr %t89 + store ptr %t86, ptr @g_g_mod_sys_phase + %t90 = getelementptr %LSlice, ptr null, i32 1 + %t91 = ptrtoint ptr %t90 to i64 + %t92 = call ptr @malloc(i64 %t91) + %t93 = getelementptr inbounds %LSlice, ptr %t92, i32 0, i32 0 + store ptr null, ptr %t93 + %t94 = getelementptr inbounds %LSlice, ptr %t92, i32 0, i32 1 + store i32 0, ptr %t94 + %t95 = getelementptr inbounds %LSlice, ptr %t92, i32 0, i32 2 + store i32 0, ptr %t95 + store ptr %t92, ptr @g_g_esys_comp + %t96 = getelementptr %LSlice, ptr null, i32 1 + %t97 = ptrtoint ptr %t96 to i64 + %t98 = call ptr @malloc(i64 %t97) + %t99 = getelementptr inbounds %LSlice, ptr %t98, i32 0, i32 0 + store ptr null, ptr %t99 + %t100 = getelementptr inbounds %LSlice, ptr %t98, i32 0, i32 1 + store i32 0, ptr %t100 + %t101 = getelementptr inbounds %LSlice, ptr %t98, i32 0, i32 2 + store i32 0, ptr %t101 + store ptr %t98, ptr @g_g_esys_fn + %t102 = getelementptr %LSlice, ptr null, i32 1 + %t103 = ptrtoint ptr %t102 to i64 + %t104 = call ptr @malloc(i64 %t103) + %t105 = getelementptr inbounds %LSlice, ptr %t104, i32 0, i32 0 + store ptr null, ptr %t105 + %t106 = getelementptr inbounds %LSlice, ptr %t104, i32 0, i32 1 + store i32 0, ptr %t106 + %t107 = getelementptr inbounds %LSlice, ptr %t104, i32 0, i32 2 + store i32 0, ptr %t107 + store ptr %t104, ptr @g_g_esys_phase + %t108 = getelementptr %LSlice, ptr null, i32 1 + %t109 = ptrtoint ptr %t108 to i64 + %t110 = call ptr @malloc(i64 %t109) + %t111 = getelementptr inbounds %LSlice, ptr %t110, i32 0, i32 0 + store ptr null, ptr %t111 + %t112 = getelementptr inbounds %LSlice, ptr %t110, i32 0, i32 1 + store i32 0, ptr %t112 + %t113 = getelementptr inbounds %LSlice, ptr %t110, i32 0, i32 2 + store i32 0, ptr %t113 + store ptr %t110, ptr @g_g_disabled_sys + %t114 = load ptr, ptr @g_g_esys_comp + %t115 = getelementptr inbounds %LSlice, ptr %t114, i32 0, i32 1 + %t116 = getelementptr inbounds %LSlice, ptr %t114, i32 0, i32 2 + %t117 = getelementptr inbounds %LSlice, ptr %t114, i32 0, i32 0 + %t118 = load i32, ptr %t115 + %t119 = load i32, ptr %t116 + %t120 = icmp sge i32 %t118, %t119 + br i1 %t120, label %grow0, label %put1 +grow0: + %t121 = mul i32 %t119, 2 + %t122 = icmp eq i32 %t119, 0 + %t123 = select i1 %t122, i32 8, i32 %t121 + %t124 = getelementptr ptr, ptr null, i32 1 + %t125 = ptrtoint ptr %t124 to i64 + %t126 = zext i32 %t123 to i64 + %t127 = mul i64 %t126, %t125 + %t128 = load ptr, ptr %t117 + %t129 = call ptr @realloc(ptr %t128, i64 %t127) + store ptr %t129, ptr %t117 + store i32 %t123, ptr %t116 + br label %put1 +put1: + %t130 = load ptr, ptr %t117 + %t131 = getelementptr inbounds ptr, ptr %t130, i32 %t118 + store ptr @.str496, ptr %t131 + %t132 = add i32 %t118, 1 + store i32 %t132, ptr %t115 + %t133 = load ptr, ptr @g_g_esys_fn + %t134 = getelementptr inbounds %LSlice, ptr %t133, i32 0, i32 1 + %t135 = getelementptr inbounds %LSlice, ptr %t133, i32 0, i32 2 + %t136 = getelementptr inbounds %LSlice, ptr %t133, i32 0, i32 0 + %t137 = load i32, ptr %t134 + %t138 = load i32, ptr %t135 + %t139 = icmp sge i32 %t137, %t138 + br i1 %t139, label %grow2, label %put3 +grow2: + %t140 = mul i32 %t138, 2 + %t141 = icmp eq i32 %t138, 0 + %t142 = select i1 %t141, i32 8, i32 %t140 + %t143 = getelementptr ptr, ptr null, i32 1 + %t144 = ptrtoint ptr %t143 to i64 + %t145 = zext i32 %t142 to i64 + %t146 = mul i64 %t145, %t144 + %t147 = load ptr, ptr %t136 + %t148 = call ptr @realloc(ptr %t147, i64 %t146) + store ptr %t148, ptr %t136 + store i32 %t142, ptr %t135 + br label %put3 +put3: + %t149 = load ptr, ptr %t136 + %t150 = getelementptr inbounds ptr, ptr %t149, i32 %t137 + store ptr @.str497, ptr %t150 + %t151 = add i32 %t137, 1 + store i32 %t151, ptr %t134 + %t152 = load ptr, ptr @g_g_esys_phase + %t153 = getelementptr inbounds %LSlice, ptr %t152, i32 0, i32 1 + %t154 = getelementptr inbounds %LSlice, ptr %t152, i32 0, i32 2 + %t155 = getelementptr inbounds %LSlice, ptr %t152, i32 0, i32 0 + %t156 = load i32, ptr %t153 + %t157 = load i32, ptr %t154 + %t158 = icmp sge i32 %t156, %t157 + br i1 %t158, label %grow4, label %put5 +grow4: + %t159 = mul i32 %t157, 2 + %t160 = icmp eq i32 %t157, 0 + %t161 = select i1 %t160, i32 8, i32 %t159 + %t162 = getelementptr ptr, ptr null, i32 1 + %t163 = ptrtoint ptr %t162 to i64 + %t164 = zext i32 %t161 to i64 + %t165 = mul i64 %t164, %t163 + %t166 = load ptr, ptr %t155 + %t167 = call ptr @realloc(ptr %t166, i64 %t165) + store ptr %t167, ptr %t155 + store i32 %t161, ptr %t154 + br label %put5 +put5: + %t168 = load ptr, ptr %t155 + %t169 = getelementptr inbounds ptr, ptr %t168, i32 %t156 + store ptr @.str498, ptr %t169 + %t170 = add i32 %t156, 1 + store i32 %t170, ptr %t153 + %t171 = load ptr, ptr @g_g_esys_comp + %t172 = getelementptr inbounds %LSlice, ptr %t171, i32 0, i32 1 + %t173 = getelementptr inbounds %LSlice, ptr %t171, i32 0, i32 2 + %t174 = getelementptr inbounds %LSlice, ptr %t171, i32 0, i32 0 + %t175 = load i32, ptr %t172 + %t176 = load i32, ptr %t173 + %t177 = icmp sge i32 %t175, %t176 + br i1 %t177, label %grow6, label %put7 +grow6: + %t178 = mul i32 %t176, 2 + %t179 = icmp eq i32 %t176, 0 + %t180 = select i1 %t179, i32 8, i32 %t178 + %t181 = getelementptr ptr, ptr null, i32 1 + %t182 = ptrtoint ptr %t181 to i64 + %t183 = zext i32 %t180 to i64 + %t184 = mul i64 %t183, %t182 + %t185 = load ptr, ptr %t174 + %t186 = call ptr @realloc(ptr %t185, i64 %t184) + store ptr %t186, ptr %t174 + store i32 %t180, ptr %t173 + br label %put7 +put7: + %t187 = load ptr, ptr %t174 + %t188 = getelementptr inbounds ptr, ptr %t187, i32 %t175 + store ptr @.str499, ptr %t188 + %t189 = add i32 %t175, 1 + store i32 %t189, ptr %t172 + %t190 = load ptr, ptr @g_g_esys_fn + %t191 = getelementptr inbounds %LSlice, ptr %t190, i32 0, i32 1 + %t192 = getelementptr inbounds %LSlice, ptr %t190, i32 0, i32 2 + %t193 = getelementptr inbounds %LSlice, ptr %t190, i32 0, i32 0 + %t194 = load i32, ptr %t191 + %t195 = load i32, ptr %t192 + %t196 = icmp sge i32 %t194, %t195 + br i1 %t196, label %grow8, label %put9 +grow8: + %t197 = mul i32 %t195, 2 + %t198 = icmp eq i32 %t195, 0 + %t199 = select i1 %t198, i32 8, i32 %t197 + %t200 = getelementptr ptr, ptr null, i32 1 + %t201 = ptrtoint ptr %t200 to i64 + %t202 = zext i32 %t199 to i64 + %t203 = mul i64 %t202, %t201 + %t204 = load ptr, ptr %t193 + %t205 = call ptr @realloc(ptr %t204, i64 %t203) + store ptr %t205, ptr %t193 + store i32 %t199, ptr %t192 + br label %put9 +put9: + %t206 = load ptr, ptr %t193 + %t207 = getelementptr inbounds ptr, ptr %t206, i32 %t194 + store ptr @.str500, ptr %t207 + %t208 = add i32 %t194, 1 + store i32 %t208, ptr %t191 + %t209 = load ptr, ptr @g_g_esys_phase + %t210 = getelementptr inbounds %LSlice, ptr %t209, i32 0, i32 1 + %t211 = getelementptr inbounds %LSlice, ptr %t209, i32 0, i32 2 + %t212 = getelementptr inbounds %LSlice, ptr %t209, i32 0, i32 0 + %t213 = load i32, ptr %t210 + %t214 = load i32, ptr %t211 + %t215 = icmp sge i32 %t213, %t214 + br i1 %t215, label %grow10, label %put11 +grow10: + %t216 = mul i32 %t214, 2 + %t217 = icmp eq i32 %t214, 0 + %t218 = select i1 %t217, i32 8, i32 %t216 + %t219 = getelementptr ptr, ptr null, i32 1 + %t220 = ptrtoint ptr %t219 to i64 + %t221 = zext i32 %t218 to i64 + %t222 = mul i64 %t221, %t220 + %t223 = load ptr, ptr %t212 + %t224 = call ptr @realloc(ptr %t223, i64 %t222) + store ptr %t224, ptr %t212 + store i32 %t218, ptr %t211 + br label %put11 +put11: + %t225 = load ptr, ptr %t212 + %t226 = getelementptr inbounds ptr, ptr %t225, i32 %t213 + store ptr @.str501, ptr %t226 + %t227 = add i32 %t213, 1 + store i32 %t227, ptr %t210 + %t228 = load ptr, ptr @g_g_esys_comp + %t229 = getelementptr inbounds %LSlice, ptr %t228, i32 0, i32 1 + %t230 = getelementptr inbounds %LSlice, ptr %t228, i32 0, i32 2 + %t231 = getelementptr inbounds %LSlice, ptr %t228, i32 0, i32 0 + %t232 = load i32, ptr %t229 + %t233 = load i32, ptr %t230 + %t234 = icmp sge i32 %t232, %t233 + br i1 %t234, label %grow12, label %put13 +grow12: + %t235 = mul i32 %t233, 2 + %t236 = icmp eq i32 %t233, 0 + %t237 = select i1 %t236, i32 8, i32 %t235 + %t238 = getelementptr ptr, ptr null, i32 1 + %t239 = ptrtoint ptr %t238 to i64 + %t240 = zext i32 %t237 to i64 + %t241 = mul i64 %t240, %t239 + %t242 = load ptr, ptr %t231 + %t243 = call ptr @realloc(ptr %t242, i64 %t241) + store ptr %t243, ptr %t231 + store i32 %t237, ptr %t230 + br label %put13 +put13: + %t244 = load ptr, ptr %t231 + %t245 = getelementptr inbounds ptr, ptr %t244, i32 %t232 + store ptr @.str502, ptr %t245 + %t246 = add i32 %t232, 1 + store i32 %t246, ptr %t229 + %t247 = load ptr, ptr @g_g_esys_fn + %t248 = getelementptr inbounds %LSlice, ptr %t247, i32 0, i32 1 + %t249 = getelementptr inbounds %LSlice, ptr %t247, i32 0, i32 2 + %t250 = getelementptr inbounds %LSlice, ptr %t247, i32 0, i32 0 + %t251 = load i32, ptr %t248 + %t252 = load i32, ptr %t249 + %t253 = icmp sge i32 %t251, %t252 + br i1 %t253, label %grow14, label %put15 +grow14: + %t254 = mul i32 %t252, 2 + %t255 = icmp eq i32 %t252, 0 + %t256 = select i1 %t255, i32 8, i32 %t254 + %t257 = getelementptr ptr, ptr null, i32 1 + %t258 = ptrtoint ptr %t257 to i64 + %t259 = zext i32 %t256 to i64 + %t260 = mul i64 %t259, %t258 + %t261 = load ptr, ptr %t250 + %t262 = call ptr @realloc(ptr %t261, i64 %t260) + store ptr %t262, ptr %t250 + store i32 %t256, ptr %t249 + br label %put15 +put15: + %t263 = load ptr, ptr %t250 + %t264 = getelementptr inbounds ptr, ptr %t263, i32 %t251 + store ptr @.str503, ptr %t264 + %t265 = add i32 %t251, 1 + store i32 %t265, ptr %t248 + %t266 = load ptr, ptr @g_g_esys_phase + %t267 = getelementptr inbounds %LSlice, ptr %t266, i32 0, i32 1 + %t268 = getelementptr inbounds %LSlice, ptr %t266, i32 0, i32 2 + %t269 = getelementptr inbounds %LSlice, ptr %t266, i32 0, i32 0 + %t270 = load i32, ptr %t267 + %t271 = load i32, ptr %t268 + %t272 = icmp sge i32 %t270, %t271 + br i1 %t272, label %grow16, label %put17 +grow16: + %t273 = mul i32 %t271, 2 + %t274 = icmp eq i32 %t271, 0 + %t275 = select i1 %t274, i32 8, i32 %t273 + %t276 = getelementptr ptr, ptr null, i32 1 + %t277 = ptrtoint ptr %t276 to i64 + %t278 = zext i32 %t275 to i64 + %t279 = mul i64 %t278, %t277 + %t280 = load ptr, ptr %t269 + %t281 = call ptr @realloc(ptr %t280, i64 %t279) + store ptr %t281, ptr %t269 + store i32 %t275, ptr %t268 + br label %put17 +put17: + %t282 = load ptr, ptr %t269 + %t283 = getelementptr inbounds ptr, ptr %t282, i32 %t270 + store ptr @.str504, ptr %t283 + %t284 = add i32 %t270, 1 + store i32 %t284, ptr %t267 + %t285 = load ptr, ptr @g_g_esys_comp + %t286 = getelementptr inbounds %LSlice, ptr %t285, i32 0, i32 1 + %t287 = getelementptr inbounds %LSlice, ptr %t285, i32 0, i32 2 + %t288 = getelementptr inbounds %LSlice, ptr %t285, i32 0, i32 0 + %t289 = load i32, ptr %t286 + %t290 = load i32, ptr %t287 + %t291 = icmp sge i32 %t289, %t290 + br i1 %t291, label %grow18, label %put19 +grow18: + %t292 = mul i32 %t290, 2 + %t293 = icmp eq i32 %t290, 0 + %t294 = select i1 %t293, i32 8, i32 %t292 + %t295 = getelementptr ptr, ptr null, i32 1 + %t296 = ptrtoint ptr %t295 to i64 + %t297 = zext i32 %t294 to i64 + %t298 = mul i64 %t297, %t296 + %t299 = load ptr, ptr %t288 + %t300 = call ptr @realloc(ptr %t299, i64 %t298) + store ptr %t300, ptr %t288 + store i32 %t294, ptr %t287 + br label %put19 +put19: + %t301 = load ptr, ptr %t288 + %t302 = getelementptr inbounds ptr, ptr %t301, i32 %t289 + store ptr @.str505, ptr %t302 + %t303 = add i32 %t289, 1 + store i32 %t303, ptr %t286 + %t304 = load ptr, ptr @g_g_esys_fn + %t305 = getelementptr inbounds %LSlice, ptr %t304, i32 0, i32 1 + %t306 = getelementptr inbounds %LSlice, ptr %t304, i32 0, i32 2 + %t307 = getelementptr inbounds %LSlice, ptr %t304, i32 0, i32 0 + %t308 = load i32, ptr %t305 + %t309 = load i32, ptr %t306 + %t310 = icmp sge i32 %t308, %t309 + br i1 %t310, label %grow20, label %put21 +grow20: + %t311 = mul i32 %t309, 2 + %t312 = icmp eq i32 %t309, 0 + %t313 = select i1 %t312, i32 8, i32 %t311 + %t314 = getelementptr ptr, ptr null, i32 1 + %t315 = ptrtoint ptr %t314 to i64 + %t316 = zext i32 %t313 to i64 + %t317 = mul i64 %t316, %t315 + %t318 = load ptr, ptr %t307 + %t319 = call ptr @realloc(ptr %t318, i64 %t317) + store ptr %t319, ptr %t307 + store i32 %t313, ptr %t306 + br label %put21 +put21: + %t320 = load ptr, ptr %t307 + %t321 = getelementptr inbounds ptr, ptr %t320, i32 %t308 + store ptr @.str506, ptr %t321 + %t322 = add i32 %t308, 1 + store i32 %t322, ptr %t305 + %t323 = load ptr, ptr @g_g_esys_phase + %t324 = getelementptr inbounds %LSlice, ptr %t323, i32 0, i32 1 + %t325 = getelementptr inbounds %LSlice, ptr %t323, i32 0, i32 2 + %t326 = getelementptr inbounds %LSlice, ptr %t323, i32 0, i32 0 + %t327 = load i32, ptr %t324 + %t328 = load i32, ptr %t325 + %t329 = icmp sge i32 %t327, %t328 + br i1 %t329, label %grow22, label %put23 +grow22: + %t330 = mul i32 %t328, 2 + %t331 = icmp eq i32 %t328, 0 + %t332 = select i1 %t331, i32 8, i32 %t330 + %t333 = getelementptr ptr, ptr null, i32 1 + %t334 = ptrtoint ptr %t333 to i64 + %t335 = zext i32 %t332 to i64 + %t336 = mul i64 %t335, %t334 + %t337 = load ptr, ptr %t326 + %t338 = call ptr @realloc(ptr %t337, i64 %t336) + store ptr %t338, ptr %t326 + store i32 %t332, ptr %t325 + br label %put23 +put23: + %t339 = load ptr, ptr %t326 + %t340 = getelementptr inbounds ptr, ptr %t339, i32 %t327 + store ptr @.str507, ptr %t340 + %t341 = add i32 %t327, 1 + store i32 %t341, ptr %t324 + %t342 = load ptr, ptr @g_g_esys_comp + %t343 = getelementptr inbounds %LSlice, ptr %t342, i32 0, i32 1 + %t344 = getelementptr inbounds %LSlice, ptr %t342, i32 0, i32 2 + %t345 = getelementptr inbounds %LSlice, ptr %t342, i32 0, i32 0 + %t346 = load i32, ptr %t343 + %t347 = load i32, ptr %t344 + %t348 = icmp sge i32 %t346, %t347 + br i1 %t348, label %grow24, label %put25 +grow24: + %t349 = mul i32 %t347, 2 + %t350 = icmp eq i32 %t347, 0 + %t351 = select i1 %t350, i32 8, i32 %t349 + %t352 = getelementptr ptr, ptr null, i32 1 + %t353 = ptrtoint ptr %t352 to i64 + %t354 = zext i32 %t351 to i64 + %t355 = mul i64 %t354, %t353 + %t356 = load ptr, ptr %t345 + %t357 = call ptr @realloc(ptr %t356, i64 %t355) + store ptr %t357, ptr %t345 + store i32 %t351, ptr %t344 + br label %put25 +put25: + %t358 = load ptr, ptr %t345 + %t359 = getelementptr inbounds ptr, ptr %t358, i32 %t346 + store ptr @.str508, ptr %t359 + %t360 = add i32 %t346, 1 + store i32 %t360, ptr %t343 + %t361 = load ptr, ptr @g_g_esys_fn + %t362 = getelementptr inbounds %LSlice, ptr %t361, i32 0, i32 1 + %t363 = getelementptr inbounds %LSlice, ptr %t361, i32 0, i32 2 + %t364 = getelementptr inbounds %LSlice, ptr %t361, i32 0, i32 0 + %t365 = load i32, ptr %t362 + %t366 = load i32, ptr %t363 + %t367 = icmp sge i32 %t365, %t366 + br i1 %t367, label %grow26, label %put27 +grow26: + %t368 = mul i32 %t366, 2 + %t369 = icmp eq i32 %t366, 0 + %t370 = select i1 %t369, i32 8, i32 %t368 + %t371 = getelementptr ptr, ptr null, i32 1 + %t372 = ptrtoint ptr %t371 to i64 + %t373 = zext i32 %t370 to i64 + %t374 = mul i64 %t373, %t372 + %t375 = load ptr, ptr %t364 + %t376 = call ptr @realloc(ptr %t375, i64 %t374) + store ptr %t376, ptr %t364 + store i32 %t370, ptr %t363 + br label %put27 +put27: + %t377 = load ptr, ptr %t364 + %t378 = getelementptr inbounds ptr, ptr %t377, i32 %t365 + store ptr @.str509, ptr %t378 + %t379 = add i32 %t365, 1 + store i32 %t379, ptr %t362 + %t380 = load ptr, ptr @g_g_esys_phase + %t381 = getelementptr inbounds %LSlice, ptr %t380, i32 0, i32 1 + %t382 = getelementptr inbounds %LSlice, ptr %t380, i32 0, i32 2 + %t383 = getelementptr inbounds %LSlice, ptr %t380, i32 0, i32 0 + %t384 = load i32, ptr %t381 + %t385 = load i32, ptr %t382 + %t386 = icmp sge i32 %t384, %t385 + br i1 %t386, label %grow28, label %put29 +grow28: + %t387 = mul i32 %t385, 2 + %t388 = icmp eq i32 %t385, 0 + %t389 = select i1 %t388, i32 8, i32 %t387 + %t390 = getelementptr ptr, ptr null, i32 1 + %t391 = ptrtoint ptr %t390 to i64 + %t392 = zext i32 %t389 to i64 + %t393 = mul i64 %t392, %t391 + %t394 = load ptr, ptr %t383 + %t395 = call ptr @realloc(ptr %t394, i64 %t393) + store ptr %t395, ptr %t383 + store i32 %t389, ptr %t382 + br label %put29 +put29: + %t396 = load ptr, ptr %t383 + %t397 = getelementptr inbounds ptr, ptr %t396, i32 %t384 + store ptr @.str510, ptr %t397 + %t398 = add i32 %t384, 1 + store i32 %t398, ptr %t381 + %t399 = load ptr, ptr @g_g_esys_comp + %t400 = getelementptr inbounds %LSlice, ptr %t399, i32 0, i32 1 + %t401 = getelementptr inbounds %LSlice, ptr %t399, i32 0, i32 2 + %t402 = getelementptr inbounds %LSlice, ptr %t399, i32 0, i32 0 + %t403 = load i32, ptr %t400 + %t404 = load i32, ptr %t401 + %t405 = icmp sge i32 %t403, %t404 + br i1 %t405, label %grow30, label %put31 +grow30: + %t406 = mul i32 %t404, 2 + %t407 = icmp eq i32 %t404, 0 + %t408 = select i1 %t407, i32 8, i32 %t406 + %t409 = getelementptr ptr, ptr null, i32 1 + %t410 = ptrtoint ptr %t409 to i64 + %t411 = zext i32 %t408 to i64 + %t412 = mul i64 %t411, %t410 + %t413 = load ptr, ptr %t402 + %t414 = call ptr @realloc(ptr %t413, i64 %t412) + store ptr %t414, ptr %t402 + store i32 %t408, ptr %t401 + br label %put31 +put31: + %t415 = load ptr, ptr %t402 + %t416 = getelementptr inbounds ptr, ptr %t415, i32 %t403 + store ptr @.str511, ptr %t416 + %t417 = add i32 %t403, 1 + store i32 %t417, ptr %t400 + %t418 = load ptr, ptr @g_g_esys_fn + %t419 = getelementptr inbounds %LSlice, ptr %t418, i32 0, i32 1 + %t420 = getelementptr inbounds %LSlice, ptr %t418, i32 0, i32 2 + %t421 = getelementptr inbounds %LSlice, ptr %t418, i32 0, i32 0 + %t422 = load i32, ptr %t419 + %t423 = load i32, ptr %t420 + %t424 = icmp sge i32 %t422, %t423 + br i1 %t424, label %grow32, label %put33 +grow32: + %t425 = mul i32 %t423, 2 + %t426 = icmp eq i32 %t423, 0 + %t427 = select i1 %t426, i32 8, i32 %t425 + %t428 = getelementptr ptr, ptr null, i32 1 + %t429 = ptrtoint ptr %t428 to i64 + %t430 = zext i32 %t427 to i64 + %t431 = mul i64 %t430, %t429 + %t432 = load ptr, ptr %t421 + %t433 = call ptr @realloc(ptr %t432, i64 %t431) + store ptr %t433, ptr %t421 + store i32 %t427, ptr %t420 + br label %put33 +put33: + %t434 = load ptr, ptr %t421 + %t435 = getelementptr inbounds ptr, ptr %t434, i32 %t422 + store ptr @.str512, ptr %t435 + %t436 = add i32 %t422, 1 + store i32 %t436, ptr %t419 + %t437 = load ptr, ptr @g_g_esys_phase + %t438 = getelementptr inbounds %LSlice, ptr %t437, i32 0, i32 1 + %t439 = getelementptr inbounds %LSlice, ptr %t437, i32 0, i32 2 + %t440 = getelementptr inbounds %LSlice, ptr %t437, i32 0, i32 0 + %t441 = load i32, ptr %t438 + %t442 = load i32, ptr %t439 + %t443 = icmp sge i32 %t441, %t442 + br i1 %t443, label %grow34, label %put35 +grow34: + %t444 = mul i32 %t442, 2 + %t445 = icmp eq i32 %t442, 0 + %t446 = select i1 %t445, i32 8, i32 %t444 + %t447 = getelementptr ptr, ptr null, i32 1 + %t448 = ptrtoint ptr %t447 to i64 + %t449 = zext i32 %t446 to i64 + %t450 = mul i64 %t449, %t448 + %t451 = load ptr, ptr %t440 + %t452 = call ptr @realloc(ptr %t451, i64 %t450) + store ptr %t452, ptr %t440 + store i32 %t446, ptr %t439 + br label %put35 +put35: + %t453 = load ptr, ptr %t440 + %t454 = getelementptr inbounds ptr, ptr %t453, i32 %t441 + store ptr @.str513, ptr %t454 + %t455 = add i32 %t441, 1 + store i32 %t455, ptr %t438 + %t456 = load ptr, ptr @g_g_esys_comp + %t457 = getelementptr inbounds %LSlice, ptr %t456, i32 0, i32 1 + %t458 = getelementptr inbounds %LSlice, ptr %t456, i32 0, i32 2 + %t459 = getelementptr inbounds %LSlice, ptr %t456, i32 0, i32 0 + %t460 = load i32, ptr %t457 + %t461 = load i32, ptr %t458 + %t462 = icmp sge i32 %t460, %t461 + br i1 %t462, label %grow36, label %put37 +grow36: + %t463 = mul i32 %t461, 2 + %t464 = icmp eq i32 %t461, 0 + %t465 = select i1 %t464, i32 8, i32 %t463 + %t466 = getelementptr ptr, ptr null, i32 1 + %t467 = ptrtoint ptr %t466 to i64 + %t468 = zext i32 %t465 to i64 + %t469 = mul i64 %t468, %t467 + %t470 = load ptr, ptr %t459 + %t471 = call ptr @realloc(ptr %t470, i64 %t469) + store ptr %t471, ptr %t459 + store i32 %t465, ptr %t458 + br label %put37 +put37: + %t472 = load ptr, ptr %t459 + %t473 = getelementptr inbounds ptr, ptr %t472, i32 %t460 + store ptr @.str514, ptr %t473 + %t474 = add i32 %t460, 1 + store i32 %t474, ptr %t457 + %t475 = load ptr, ptr @g_g_esys_fn + %t476 = getelementptr inbounds %LSlice, ptr %t475, i32 0, i32 1 + %t477 = getelementptr inbounds %LSlice, ptr %t475, i32 0, i32 2 + %t478 = getelementptr inbounds %LSlice, ptr %t475, i32 0, i32 0 + %t479 = load i32, ptr %t476 + %t480 = load i32, ptr %t477 + %t481 = icmp sge i32 %t479, %t480 + br i1 %t481, label %grow38, label %put39 +grow38: + %t482 = mul i32 %t480, 2 + %t483 = icmp eq i32 %t480, 0 + %t484 = select i1 %t483, i32 8, i32 %t482 + %t485 = getelementptr ptr, ptr null, i32 1 + %t486 = ptrtoint ptr %t485 to i64 + %t487 = zext i32 %t484 to i64 + %t488 = mul i64 %t487, %t486 + %t489 = load ptr, ptr %t478 + %t490 = call ptr @realloc(ptr %t489, i64 %t488) + store ptr %t490, ptr %t478 + store i32 %t484, ptr %t477 + br label %put39 +put39: + %t491 = load ptr, ptr %t478 + %t492 = getelementptr inbounds ptr, ptr %t491, i32 %t479 + store ptr @.str515, ptr %t492 + %t493 = add i32 %t479, 1 + store i32 %t493, ptr %t476 + %t494 = load ptr, ptr @g_g_esys_phase + %t495 = getelementptr inbounds %LSlice, ptr %t494, i32 0, i32 1 + %t496 = getelementptr inbounds %LSlice, ptr %t494, i32 0, i32 2 + %t497 = getelementptr inbounds %LSlice, ptr %t494, i32 0, i32 0 + %t498 = load i32, ptr %t495 + %t499 = load i32, ptr %t496 + %t500 = icmp sge i32 %t498, %t499 + br i1 %t500, label %grow40, label %put41 +grow40: + %t501 = mul i32 %t499, 2 + %t502 = icmp eq i32 %t499, 0 + %t503 = select i1 %t502, i32 8, i32 %t501 + %t504 = getelementptr ptr, ptr null, i32 1 + %t505 = ptrtoint ptr %t504 to i64 + %t506 = zext i32 %t503 to i64 + %t507 = mul i64 %t506, %t505 + %t508 = load ptr, ptr %t497 + %t509 = call ptr @realloc(ptr %t508, i64 %t507) + store ptr %t509, ptr %t497 + store i32 %t503, ptr %t496 + br label %put41 +put41: + %t510 = load ptr, ptr %t497 + %t511 = getelementptr inbounds ptr, ptr %t510, i32 %t498 + store ptr @.str516, ptr %t511 + %t512 = add i32 %t498, 1 + store i32 %t512, ptr %t495 + %t513 = getelementptr %LSlice, ptr null, i32 1 + %t514 = ptrtoint ptr %t513 to i64 + %t515 = call ptr @malloc(i64 %t514) + %t516 = getelementptr inbounds %LSlice, ptr %t515, i32 0, i32 0 + store ptr null, ptr %t516 + %t517 = getelementptr inbounds %LSlice, ptr %t515, i32 0, i32 1 + store i32 0, ptr %t517 + %t518 = getelementptr inbounds %LSlice, ptr %t515, i32 0, i32 2 + store i32 0, ptr %t518 + store ptr %t515, ptr @g_g_namespaces + %t519 = getelementptr %LSlice, ptr null, i32 1 + %t520 = ptrtoint ptr %t519 to i64 + %t521 = call ptr @malloc(i64 %t520) + %t522 = getelementptr inbounds %LSlice, ptr %t521, i32 0, i32 0 + store ptr null, ptr %t522 + %t523 = getelementptr inbounds %LSlice, ptr %t521, i32 0, i32 1 + store i32 0, ptr %t523 + %t524 = getelementptr inbounds %LSlice, ptr %t521, i32 0, i32 2 + store i32 0, ptr %t524 + store ptr %t521, ptr @g_g_ns_blocks + %t525 = getelementptr %LSlice, ptr null, i32 1 + %t526 = ptrtoint ptr %t525 to i64 + %t527 = call ptr @malloc(i64 %t526) + %t528 = getelementptr inbounds %LSlice, ptr %t527, i32 0, i32 0 + store ptr null, ptr %t528 + %t529 = getelementptr inbounds %LSlice, ptr %t527, i32 0, i32 1 + store i32 0, ptr %t529 + %t530 = getelementptr inbounds %LSlice, ptr %t527, i32 0, i32 2 + store i32 0, ptr %t530 + store ptr %t527, ptr @g_g_ns_exports + %t531 = getelementptr %LSlice, ptr null, i32 1 + %t532 = ptrtoint ptr %t531 to i64 + %t533 = call ptr @malloc(i64 %t532) + %t534 = getelementptr inbounds %LSlice, ptr %t533, i32 0, i32 0 + store ptr null, ptr %t534 + %t535 = getelementptr inbounds %LSlice, ptr %t533, i32 0, i32 1 + store i32 0, ptr %t535 + %t536 = getelementptr inbounds %LSlice, ptr %t533, i32 0, i32 2 + store i32 0, ptr %t536 + store ptr %t533, ptr @g_loaded_paths + call void @fn_skipnl() + store ptr @.str517, ptr @g_g_game_name + br label %wcond42 +wcond42: + %t537 = call i32 @fn_is_id(ptr @.str518) + %t538 = icmp ne i32 %t537, 0 + br i1 %t538, label %wbody43, label %wend44 +wbody43: + %t539 = load i32, ptr @g_pi + %t540 = add i32 %t539, 1 + store i32 %t540, ptr @g_pi + %t541 = load ptr, ptr @g_toks + %t542 = getelementptr inbounds %LSlice, ptr %t541, i32 0, i32 0 + %t543 = load ptr, ptr %t542 + %t544 = load i32, ptr @g_pi + %t545 = getelementptr inbounds ptr, ptr %t543, i32 %t544 + %t546 = load ptr, ptr %t545 + store ptr %t546, ptr %t547 + %t548 = load ptr, ptr %t547 + %t549 = getelementptr inbounds %Cmp_Tok, ptr %t548, i32 0, i32 1 + %t550 = load ptr, ptr %t549 + store ptr %t550, ptr %t551 + %t552 = load i32, ptr @g_pi + %t553 = add i32 %t552, 1 + store i32 %t553, ptr @g_pi + %t554 = load ptr, ptr %t551 + call void @fn_do_import(ptr %t554) + call void @fn_skipnl() + br label %wcond42 +wend44: + br label %wcond45 +wcond45: + %t555 = call i32 @fn_is_op(ptr @.str519) + %t556 = icmp ne i32 %t555, 0 + br i1 %t556, label %wbody46, label %wend47 +wbody46: + %t557 = load i32, ptr @g_pi + %t558 = add i32 %t557, 1 + store i32 %t558, ptr @g_pi + %t559 = call ptr @fn_eat_id() + store ptr %t559, ptr %t560 + %t561 = call i32 @fn_is_op(ptr @.str520) + %t562 = icmp ne i32 %t561, 0 + br i1 %t562, label %then48, label %ifend50 +then48: + store i32 0, ptr %t563 + br label %wcond51 +wcond51: + %t564 = icmp ne i32 1, 0 + br i1 %t564, label %wbody52, label %wend53 +wbody52: + %t565 = call i32 @fn_is_op(ptr @.str521) + %t566 = icmp ne i32 %t565, 0 + br i1 %t566, label %then54, label %ifend56 +then54: + %t567 = load i32, ptr %t563 + %t568 = add i32 %t567, 1 + store i32 %t568, ptr %t563 + br label %ifend56 +ifend56: + %t569 = call i32 @fn_is_op(ptr @.str522) + %t570 = icmp ne i32 %t569, 0 + br i1 %t570, label %then57, label %ifend59 +then57: + %t571 = load i32, ptr %t563 + %t572 = sub i32 %t571, 1 + store i32 %t572, ptr %t563 + br label %ifend59 +ifend59: + %t573 = load i32, ptr @g_pi + %t574 = add i32 %t573, 1 + store i32 %t574, ptr @g_pi + %t575 = load i32, ptr %t563 + %t576 = icmp eq i32 %t575, 0 + %t577 = zext i1 %t576 to i32 + %t578 = icmp ne i32 %t577, 0 + br i1 %t578, label %then60, label %ifend62 +then60: + br label %wend53 +ifend62: + br label %wcond51 +wend53: + br label %ifend50 +ifend50: + call void @fn_skipnl() + br label %wcond45 +wend47: + %t579 = call i32 @fn_is_id(ptr @.str523) + %t580 = icmp ne i32 %t579, 0 + br i1 %t580, label %then63, label %ifend65 +then63: + %t581 = load i32, ptr @g_pi + %t582 = add i32 %t581, 1 + store i32 %t582, ptr @g_pi + %t583 = call ptr @fn_eat_id() + store ptr %t583, ptr @g_g_game_name + call void @fn_skipnl() + call void @fn_eat_op(ptr @.str524) + br label %ifend65 +ifend65: + br label %wcond66 +wcond66: + %t584 = icmp ne i32 1, 0 + br i1 %t584, label %wbody67, label %wend68 +wbody67: + call void @fn_skipnl() + %t585 = load ptr, ptr @g_toks + %t586 = getelementptr inbounds %LSlice, ptr %t585, i32 0, i32 0 + %t587 = load ptr, ptr %t586 + %t588 = load i32, ptr @g_pi + %t589 = getelementptr inbounds ptr, ptr %t587, i32 %t588 + %t590 = load ptr, ptr %t589 + %t591 = getelementptr inbounds %Cmp_Tok, ptr %t590, i32 0, i32 0 + %t592 = load i32, ptr %t591 + %t593 = icmp eq i32 %t592, 5 + %t594 = zext i1 %t593 to i32 + %t595 = icmp ne i32 %t594, 0 + br i1 %t595, label %then69, label %ifend71 +then69: + br label %wend68 +ifend71: + %t596 = call i32 @fn_is_op(ptr @.str525) + %t597 = icmp ne i32 %t596, 0 + br i1 %t597, label %then72, label %ifend74 +then72: + br label %wend68 +ifend74: + call void @fn_parse_one_decl() + br label %wcond66 +wend68: + br label %ret +ret: + ret void +} + +define ptr @fn_parse_component() { +entry: + %retval = alloca ptr + %t3 = alloca ptr + %t10 = alloca i32 + %t11 = alloca i32 + %t17 = alloca ptr + %t25 = alloca ptr + %t0 = load i32, ptr @g_pi + %t1 = add i32 %t0, 1 + store i32 %t1, ptr @g_pi + %t2 = call ptr @fn_node(i32 8) + store ptr %t2, ptr %t3 + %t4 = load ptr, ptr %t3 + %t5 = getelementptr inbounds %Cmp_Node, ptr %t4, i32 0, i32 1 + %t6 = call ptr @fn_eat_id() + store ptr %t6, ptr %t5 + call void @fn_skipnl() + call void @fn_eat_op(ptr @.str526) + 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 @.str527) + %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 @.str528) + %t13 = icmp ne i32 %t12, 0 + br i1 %t13, label %then6, label %ifend8 +then6: + %t14 = load i32, ptr @g_pi + %t15 = add i32 %t14, 1 + store i32 %t15, ptr @g_pi + %t16 = call ptr @fn_eat_id() + store ptr %t16, ptr %t17 + %t18 = load ptr, ptr %t17 + %t19 = call i32 @lp_str_eq(ptr %t18, ptr @.str529) + %t20 = icmp ne i32 %t19, 0 + br i1 %t20, label %then9, label %else10 +then9: + store i32 1, ptr %t10 + br label %ifend11 +else10: + %t21 = load ptr, ptr %t17 + %t22 = call i32 @lp_str_eq(ptr %t21, ptr @.str530) + %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 @.str531) + %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 @.str532) + %t33 = icmp ne i32 %t32, 0 + br i1 %t33, label %then15, label %ifend17 +then15: + %t34 = load i32, ptr @g_pi + %t35 = add i32 %t34, 1 + store i32 %t35, ptr @g_pi + %t36 = load ptr, ptr %t25 + %t37 = getelementptr inbounds %Cmp_Node, ptr %t36, i32 0, i32 4 + %t38 = call ptr @fn_expr() + store ptr %t38, ptr %t37 + br label %ifend17 +ifend17: + %t39 = load i32, ptr %t11 + %t40 = icmp ne i32 %t39, 0 + br i1 %t40, label %then18, label %ifend20 +then18: + %t41 = load ptr, ptr %t25 + %t42 = getelementptr inbounds %Cmp_Node, ptr %t41, i32 0, i32 2 + store i32 1, ptr %t42 + br label %ifend20 +ifend20: + %t43 = load i32, ptr %t10 + %t44 = icmp ne i32 %t43, 0 + br i1 %t44, label %then21, label %else22 +then21: + %t45 = load ptr, ptr %t3 + %t46 = getelementptr inbounds %Cmp_Node, ptr %t45, i32 0, i32 1 + %t47 = load ptr, ptr %t46 + %t48 = load ptr, ptr %t25 + %t49 = getelementptr inbounds %Cmp_Node, ptr %t48, i32 0, i32 1 + %t50 = load ptr, ptr %t49 + %t51 = load ptr, ptr %t25 + %t52 = getelementptr inbounds %Cmp_Node, ptr %t51, i32 0, i32 3 + %t53 = load ptr, ptr %t52 + %t54 = load ptr, ptr %t25 + %t55 = getelementptr inbounds %Cmp_Node, ptr %t54, i32 0, i32 4 + %t56 = load ptr, ptr %t55 + call void @fn_register_computed(ptr %t47, ptr %t50, ptr %t53, ptr %t56) + br label %ifend23 +else22: + %t57 = load ptr, ptr %t3 + %t58 = getelementptr inbounds %Cmp_Node, ptr %t57, i32 0, i32 7 + %t59 = load ptr, ptr %t58 + %t60 = load ptr, ptr %t25 + %t61 = getelementptr inbounds %LSlice, ptr %t59, i32 0, i32 1 + %t62 = getelementptr inbounds %LSlice, ptr %t59, i32 0, i32 2 + %t63 = getelementptr inbounds %LSlice, ptr %t59, i32 0, i32 0 + %t64 = load i32, ptr %t61 + %t65 = load i32, ptr %t62 + %t66 = icmp sge i32 %t64, %t65 + br i1 %t66, label %grow24, label %put25 +grow24: + %t67 = mul i32 %t65, 2 + %t68 = icmp eq i32 %t65, 0 + %t69 = select i1 %t68, i32 8, i32 %t67 + %t70 = getelementptr ptr, ptr null, i32 1 + %t71 = ptrtoint ptr %t70 to i64 + %t72 = zext i32 %t69 to i64 + %t73 = mul i64 %t72, %t71 + %t74 = load ptr, ptr %t63 + %t75 = call ptr @realloc(ptr %t74, i64 %t73) + store ptr %t75, ptr %t63 + store i32 %t69, ptr %t62 + br label %put25 +put25: + %t76 = load ptr, ptr %t63 + %t77 = getelementptr inbounds ptr, ptr %t76, i32 %t64 + store ptr %t60, ptr %t77 + %t78 = add i32 %t64, 1 + store i32 %t78, ptr %t61 + br label %ifend23 +ifend23: + %t79 = call i32 @fn_is_op(ptr @.str533) + %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 @.str534) + %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 @.str535) + %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 @.str536) + 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 @.str537) + %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 @.str538) + %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 @.str539) + %t25 = icmp ne i32 %t24, 0 + br i1 %t25, label %then9, label %ifend11 +then9: + %t26 = load i32, ptr @g_pi + %t27 = add i32 %t26, 1 + store i32 %t27, ptr @g_pi + %t28 = load ptr, ptr %t17 + %t29 = getelementptr inbounds %Cmp_Node, ptr %t28, i32 0, i32 4 + %t30 = call ptr @fn_expr() + store ptr %t30, ptr %t29 + br label %ifend11 +ifend11: + %t31 = load ptr, ptr %t3 + %t32 = getelementptr inbounds %Cmp_Node, ptr %t31, i32 0, i32 7 + %t33 = load ptr, ptr %t32 + %t34 = load ptr, ptr %t17 + %t35 = getelementptr inbounds %LSlice, ptr %t33, i32 0, i32 1 + %t36 = getelementptr inbounds %LSlice, ptr %t33, i32 0, i32 2 + %t37 = getelementptr inbounds %LSlice, ptr %t33, i32 0, i32 0 + %t38 = load i32, ptr %t35 + %t39 = load i32, ptr %t36 + %t40 = icmp sge i32 %t38, %t39 + br i1 %t40, label %grow12, label %put13 +grow12: + %t41 = mul i32 %t39, 2 + %t42 = icmp eq i32 %t39, 0 + %t43 = select i1 %t42, i32 8, i32 %t41 + %t44 = getelementptr ptr, ptr null, i32 1 + %t45 = ptrtoint ptr %t44 to i64 + %t46 = zext i32 %t43 to i64 + %t47 = mul i64 %t46, %t45 + %t48 = load ptr, ptr %t37 + %t49 = call ptr @realloc(ptr %t48, i64 %t47) + store ptr %t49, ptr %t37 + store i32 %t43, ptr %t36 + br label %put13 +put13: + %t50 = load ptr, ptr %t37 + %t51 = getelementptr inbounds ptr, ptr %t50, i32 %t38 + store ptr %t34, ptr %t51 + %t52 = add i32 %t38, 1 + store i32 %t52, ptr %t35 + %t53 = call i32 @fn_is_op(ptr @.str540) + %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 @.str541) + %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 @.str542, 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 @.str543) + %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 @.str544) + %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 @.str545) + %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 @.str546) + %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 @.str547) + %t35 = icmp ne i32 %t34, 0 + br i1 %t35, label %then21, label %ifend23 +then21: + %t36 = load i32, ptr @g_pi + %t37 = add i32 %t36, 1 + store i32 %t37, ptr @g_pi + %t38 = load ptr, ptr %t3 + %t39 = getelementptr inbounds %Cmp_Node, ptr %t38, i32 0, i32 3 + %t40 = call ptr @fn_eat_id() + store ptr %t40, ptr %t39 + %t41 = load ptr, ptr %t3 + %t42 = getelementptr inbounds %Cmp_Node, ptr %t41, i32 0, i32 3 + %t43 = load ptr, ptr %t42 + %t44 = call i32 @fn_is_phase_name(ptr %t43) + %t45 = icmp eq i32 %t44, 0 + %t46 = zext i1 %t45 to i32 + %t47 = icmp ne i32 %t46, 0 + br i1 %t47, label %then24, label %ifend26 +then24: + %t48 = load ptr, ptr %t3 + %t49 = getelementptr inbounds %Cmp_Node, ptr %t48, i32 0, i32 3 + %t50 = load ptr, ptr %t49 + %t51 = call ptr @lp_str_concat(ptr @.str548, ptr %t50) + %t52 = call ptr @lp_str_concat(ptr %t51, ptr @.str549) + call void @fn_perr(ptr %t52) + br label %ifend26 +ifend26: + br label %wcond0 +ifend23: + br label %wend2 +wend2: + call void @fn_skipnl() + %t53 = load ptr, ptr %t3 + %t54 = getelementptr inbounds %Cmp_Node, ptr %t53, i32 0, i32 4 + %t55 = call ptr @fn_block() + store ptr %t55, ptr %t54 + %t56 = load ptr, ptr %t3 + store ptr %t56, ptr %retval + br label %ret +ret: + %t57 = load ptr, ptr %retval + ret ptr %t57 +} + +define ptr @fn_parse_query_tail() { +entry: + %retval = alloca ptr + %t1 = alloca ptr + %t11 = alloca ptr + %t40 = alloca ptr + call void @fn_eat_op(ptr @.str550) + %t0 = call ptr @fn_node(i32 7) + store ptr %t0, ptr %t1 + br label %wcond0 +wcond0: + %t2 = call i32 @fn_is_op(ptr @.str551) + %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 @.str552) + %t7 = icmp ne i32 %t6, 0 + br i1 %t7, label %then3, label %else4 +then3: + %t8 = load i32, ptr @g_pi + %t9 = add i32 %t8, 1 + store i32 %t9, ptr @g_pi + %t10 = call ptr @fn_node(i32 33) + store ptr %t10, ptr %t11 + %t12 = load ptr, ptr %t11 + %t13 = getelementptr inbounds %Cmp_Node, ptr %t12, i32 0, i32 1 + %t14 = call ptr @fn_eat_id() + store ptr %t14, ptr %t13 + %t15 = load ptr, ptr %t11 + %t16 = getelementptr inbounds %Cmp_Node, ptr %t15, i32 0, i32 2 + store i32 1, ptr %t16 + %t17 = load ptr, ptr %t1 + %t18 = getelementptr inbounds %Cmp_Node, ptr %t17, i32 0, i32 7 + %t19 = load ptr, ptr %t18 + %t20 = load ptr, ptr %t11 + %t21 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 1 + %t22 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 2 + %t23 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 0 + %t24 = load i32, ptr %t21 + %t25 = load i32, ptr %t22 + %t26 = icmp sge i32 %t24, %t25 + br i1 %t26, label %grow6, label %put7 +grow6: + %t27 = mul i32 %t25, 2 + %t28 = icmp eq i32 %t25, 0 + %t29 = select i1 %t28, i32 8, i32 %t27 + %t30 = getelementptr ptr, ptr null, i32 1 + %t31 = ptrtoint ptr %t30 to i64 + %t32 = zext i32 %t29 to i64 + %t33 = mul i64 %t32, %t31 + %t34 = load ptr, ptr %t23 + %t35 = call ptr @realloc(ptr %t34, i64 %t33) + store ptr %t35, ptr %t23 + store i32 %t29, ptr %t22 + br label %put7 +put7: + %t36 = load ptr, ptr %t23 + %t37 = getelementptr inbounds ptr, ptr %t36, i32 %t24 + store ptr %t20, ptr %t37 + %t38 = add i32 %t24, 1 + store i32 %t38, ptr %t21 + call void @fn_eat_op(ptr @.str553) + br label %ifend5 +else4: + %t39 = call ptr @fn_node(i32 33) + store ptr %t39, ptr %t40 + %t41 = load ptr, ptr %t40 + %t42 = getelementptr inbounds %Cmp_Node, ptr %t41, i32 0, i32 1 + %t43 = call ptr @fn_eat_id() + store ptr %t43, ptr %t42 + %t44 = load ptr, ptr %t40 + %t45 = getelementptr inbounds %Cmp_Node, ptr %t44, i32 0, i32 2 + store i32 0, ptr %t45 + %t46 = load ptr, ptr %t1 + %t47 = getelementptr inbounds %Cmp_Node, ptr %t46, i32 0, i32 7 + %t48 = load ptr, ptr %t47 + %t49 = load ptr, ptr %t40 + %t50 = getelementptr inbounds %LSlice, ptr %t48, i32 0, i32 1 + %t51 = getelementptr inbounds %LSlice, ptr %t48, i32 0, i32 2 + %t52 = getelementptr inbounds %LSlice, ptr %t48, i32 0, i32 0 + %t53 = load i32, ptr %t50 + %t54 = load i32, ptr %t51 + %t55 = icmp sge i32 %t53, %t54 + br i1 %t55, label %grow8, label %put9 +grow8: + %t56 = mul i32 %t54, 2 + %t57 = icmp eq i32 %t54, 0 + %t58 = select i1 %t57, i32 8, i32 %t56 + %t59 = getelementptr ptr, ptr null, i32 1 + %t60 = ptrtoint ptr %t59 to i64 + %t61 = zext i32 %t58 to i64 + %t62 = mul i64 %t61, %t60 + %t63 = load ptr, ptr %t52 + %t64 = call ptr @realloc(ptr %t63, i64 %t62) + store ptr %t64, ptr %t52 + store i32 %t58, ptr %t51 + br label %put9 +put9: + %t65 = load ptr, ptr %t52 + %t66 = getelementptr inbounds ptr, ptr %t65, i32 %t53 + store ptr %t49, ptr %t66 + %t67 = add i32 %t53, 1 + store i32 %t67, ptr %t50 + br label %ifend5 +ifend5: + %t68 = call i32 @fn_is_op(ptr @.str554) + %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 @.str555) + %t72 = call i32 @fn_is_id(ptr @.str556) + %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 @.str557) + br label %wcond0 +wcond0: + %t2 = call i32 @fn_is_op(ptr @.str558) + %t3 = icmp eq i32 %t2, 0 + %t4 = zext i1 %t3 to i32 + %t5 = icmp ne i32 %t4, 0 + br i1 %t5, label %wbody1, label %wend2 +wbody1: + %t6 = call ptr @fn_node(i32 33) + store ptr %t6, ptr %t7 + %t8 = load ptr, ptr %t7 + %t9 = getelementptr inbounds %Cmp_Node, ptr %t8, i32 0, i32 1 + %t10 = call ptr @fn_eat_id() + store ptr %t10, ptr %t9 + %t11 = load ptr, ptr %t1 + %t12 = getelementptr inbounds %Cmp_Node, ptr %t11, i32 0, i32 7 + %t13 = load ptr, ptr %t12 + %t14 = load ptr, ptr %t7 + %t15 = getelementptr inbounds %LSlice, ptr %t13, i32 0, i32 1 + %t16 = getelementptr inbounds %LSlice, ptr %t13, i32 0, i32 2 + %t17 = getelementptr inbounds %LSlice, ptr %t13, i32 0, i32 0 + %t18 = load i32, ptr %t15 + %t19 = load i32, ptr %t16 + %t20 = icmp sge i32 %t18, %t19 + br i1 %t20, label %grow3, label %put4 +grow3: + %t21 = mul i32 %t19, 2 + %t22 = icmp eq i32 %t19, 0 + %t23 = select i1 %t22, i32 8, i32 %t21 + %t24 = getelementptr ptr, ptr null, i32 1 + %t25 = ptrtoint ptr %t24 to i64 + %t26 = zext i32 %t23 to i64 + %t27 = mul i64 %t26, %t25 + %t28 = load ptr, ptr %t17 + %t29 = call ptr @realloc(ptr %t28, i64 %t27) + store ptr %t29, ptr %t17 + store i32 %t23, ptr %t16 + br label %put4 +put4: + %t30 = load ptr, ptr %t17 + %t31 = getelementptr inbounds ptr, ptr %t30, i32 %t18 + store ptr %t14, ptr %t31 + %t32 = add i32 %t18, 1 + store i32 %t32, ptr %t15 + %t33 = call i32 @fn_is_op(ptr @.str559) + %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 @.str560) + %t37 = call ptr @fn_eat_id() + store ptr %t37, ptr %t38 + %t39 = call i32 @fn_is_id(ptr @.str561) + %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 @.str562) + 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 @.str563, 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 @.str564) + %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 @.str565) + %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 @.str566) + %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 @.str567) + %t13 = load ptr, ptr %t12 + %t14 = call i32 @lp_str_eq(ptr %t13, ptr @.str568) + %t15 = icmp ne i32 %t14, 0 + br i1 %t15, label %then6, label %else7 +then6: + call void @fn_eat_op(ptr @.str569) + call void @fn_skipnl() + br label %wcond9 +wcond9: + %t16 = call i32 @fn_is_op(ptr @.str570) + %t17 = icmp eq i32 %t16, 0 + %t18 = zext i1 %t17 to i32 + %t19 = icmp ne i32 %t18, 0 + br i1 %t19, label %wbody10, label %wend11 +wbody10: + %t20 = call ptr @fn_eat_id() + store ptr %t20, ptr %t21 + %t22 = call ptr @fn_node(i32 33) + store ptr %t22, ptr %t23 + %t24 = load ptr, ptr %t23 + %t25 = getelementptr inbounds %Cmp_Node, ptr %t24, i32 0, i32 1 + %t26 = load ptr, ptr %t21 + store ptr %t26, ptr %t25 + %t27 = load ptr, ptr %t1 + %t28 = getelementptr inbounds %Cmp_Node, ptr %t27, i32 0, i32 7 + %t29 = load ptr, ptr %t28 + %t30 = load ptr, ptr %t23 + %t31 = getelementptr inbounds %LSlice, ptr %t29, i32 0, i32 1 + %t32 = getelementptr inbounds %LSlice, ptr %t29, i32 0, i32 2 + %t33 = getelementptr inbounds %LSlice, ptr %t29, i32 0, i32 0 + %t34 = load i32, ptr %t31 + %t35 = load i32, ptr %t32 + %t36 = icmp sge i32 %t34, %t35 + br i1 %t36, label %grow12, label %put13 +grow12: + %t37 = mul i32 %t35, 2 + %t38 = icmp eq i32 %t35, 0 + %t39 = select i1 %t38, i32 8, i32 %t37 + %t40 = getelementptr ptr, ptr null, i32 1 + %t41 = ptrtoint ptr %t40 to i64 + %t42 = zext i32 %t39 to i64 + %t43 = mul i64 %t42, %t41 + %t44 = load ptr, ptr %t33 + %t45 = call ptr @realloc(ptr %t44, i64 %t43) + store ptr %t45, ptr %t33 + store i32 %t39, ptr %t32 + br label %put13 +put13: + %t46 = load ptr, ptr %t33 + %t47 = getelementptr inbounds ptr, ptr %t46, i32 %t34 + store ptr %t30, ptr %t47 + %t48 = add i32 %t34, 1 + store i32 %t48, ptr %t31 + %t49 = call ptr @fn_node(i32 33) + store ptr %t49, ptr %t50 + %t51 = load ptr, ptr %t50 + %t52 = getelementptr inbounds %Cmp_Node, ptr %t51, i32 0, i32 1 + %t53 = load ptr, ptr %t21 + store ptr %t53, ptr %t52 + %t54 = load ptr, ptr %t50 + %t55 = getelementptr inbounds %Cmp_Node, ptr %t54, i32 0, i32 2 + store i32 0, ptr %t55 + %t56 = load ptr, ptr %t3 + %t57 = getelementptr inbounds %Cmp_Node, ptr %t56, i32 0, i32 7 + %t58 = load ptr, ptr %t57 + %t59 = load ptr, ptr %t50 + %t60 = getelementptr inbounds %LSlice, ptr %t58, i32 0, i32 1 + %t61 = getelementptr inbounds %LSlice, ptr %t58, i32 0, i32 2 + %t62 = getelementptr inbounds %LSlice, ptr %t58, i32 0, i32 0 + %t63 = load i32, ptr %t60 + %t64 = load i32, ptr %t61 + %t65 = icmp sge i32 %t63, %t64 + br i1 %t65, label %grow14, label %put15 +grow14: + %t66 = mul i32 %t64, 2 + %t67 = icmp eq i32 %t64, 0 + %t68 = select i1 %t67, i32 8, i32 %t66 + %t69 = getelementptr ptr, ptr null, i32 1 + %t70 = ptrtoint ptr %t69 to i64 + %t71 = zext i32 %t68 to i64 + %t72 = mul i64 %t71, %t70 + %t73 = load ptr, ptr %t62 + %t74 = call ptr @realloc(ptr %t73, i64 %t72) + store ptr %t74, ptr %t62 + store i32 %t68, ptr %t61 + br label %put15 +put15: + %t75 = load ptr, ptr %t62 + %t76 = getelementptr inbounds ptr, ptr %t75, i32 %t63 + store ptr %t59, ptr %t76 + %t77 = add i32 %t63, 1 + store i32 %t77, ptr %t60 + %t78 = call i32 @fn_is_op(ptr @.str571) + %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 @.str572) + %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 @.str573) + %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 @.str574) + br label %ifend8 +else7: + %t98 = load ptr, ptr %t12 + %t99 = call i32 @lp_str_eq(ptr %t98, ptr @.str575) + %t100 = icmp ne i32 %t99, 0 + br i1 %t100, label %then22, label %else23 +then22: + %t101 = call ptr @fn_eat_id() + store ptr %t101, ptr %t102 + %t103 = call ptr @fn_node(i32 33) + store ptr %t103, ptr %t104 + %t105 = load ptr, ptr %t104 + %t106 = getelementptr inbounds %Cmp_Node, ptr %t105, i32 0, i32 1 + %t107 = load ptr, ptr %t102 + store ptr %t107, ptr %t106 + %t108 = load ptr, ptr %t104 + %t109 = getelementptr inbounds %Cmp_Node, ptr %t108, i32 0, i32 2 + store i32 1, ptr %t109 + %t110 = load ptr, ptr %t3 + %t111 = getelementptr inbounds %Cmp_Node, ptr %t110, i32 0, i32 7 + %t112 = load ptr, ptr %t111 + %t113 = load ptr, ptr %t104 + %t114 = getelementptr inbounds %LSlice, ptr %t112, i32 0, i32 1 + %t115 = getelementptr inbounds %LSlice, ptr %t112, i32 0, i32 2 + %t116 = getelementptr inbounds %LSlice, ptr %t112, i32 0, i32 0 + %t117 = load i32, ptr %t114 + %t118 = load i32, ptr %t115 + %t119 = icmp sge i32 %t117, %t118 + br i1 %t119, label %grow25, label %put26 +grow25: + %t120 = mul i32 %t118, 2 + %t121 = icmp eq i32 %t118, 0 + %t122 = select i1 %t121, i32 8, i32 %t120 + %t123 = getelementptr ptr, ptr null, i32 1 + %t124 = ptrtoint ptr %t123 to i64 + %t125 = zext i32 %t122 to i64 + %t126 = mul i64 %t125, %t124 + %t127 = load ptr, ptr %t116 + %t128 = call ptr @realloc(ptr %t127, i64 %t126) + store ptr %t128, ptr %t116 + store i32 %t122, ptr %t115 + br label %put26 +put26: + %t129 = load ptr, ptr %t116 + %t130 = getelementptr inbounds ptr, ptr %t129, i32 %t117 + store ptr %t113, ptr %t130 + %t131 = add i32 %t117, 1 + store i32 %t131, ptr %t114 + br label %ifend24 +else23: + %t132 = call ptr @fn_expr() + br label %ifend24 +ifend24: + br label %ifend8 +ifend8: + %t133 = call i32 @fn_is_op(ptr @.str576) + %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 @.str577) + %t137 = load ptr, ptr %t1 + %t138 = getelementptr inbounds %Cmp_Node, ptr %t137, i32 0, i32 6 + %t139 = load ptr, ptr %t3 + store ptr %t139, ptr %t138 + %t140 = load ptr, ptr %t1 + %t141 = getelementptr inbounds %Cmp_Node, ptr %t140, i32 0, i32 5 + %t142 = load ptr, ptr %t4 + store ptr %t142, ptr %t141 + %t143 = load ptr, ptr %t1 + store ptr %t143, ptr %retval + br label %ret +ret: + %t144 = load ptr, ptr %retval + ret ptr %t144 +} + +define ptr @fn_parse_spawn() { +entry: + %retval = alloca ptr + %t3 = alloca ptr + %t0 = load i32, ptr @g_pi + %t1 = add i32 %t0, 1 + store i32 %t1, ptr @g_pi + %t2 = call ptr @fn_node(i32 22) + store ptr %t2, ptr %t3 + %t4 = load ptr, ptr %t3 + %t5 = getelementptr inbounds %Cmp_Node, ptr %t4, i32 0, i32 1 + %t6 = call ptr @fn_eat_id() + store ptr %t6, ptr %t5 + call void @fn_skipnl() + call void @fn_eat_op(ptr @.str578) + %t7 = load ptr, ptr %t3 + call void @fn_parse_component_records(ptr %t7) + call void @fn_eat_op(ptr @.str579) + %t8 = load ptr, ptr %t3 + store ptr %t8, ptr %retval + br label %ret +ret: + %t9 = load ptr, ptr %retval + ret ptr %t9 +} + +define void @fn_parse_component_records(ptr %arg_n) { +entry: + %t0 = alloca ptr + %t5 = alloca ptr + store ptr %arg_n, ptr %t0 + br label %wcond0 +wcond0: + %t1 = icmp ne i32 1, 0 + br i1 %t1, label %wbody1, label %wend2 +wbody1: + call void @fn_skipnl() + %t2 = call i32 @fn_is_op(ptr @.str580) + %t3 = icmp ne i32 %t2, 0 + br i1 %t3, label %then3, label %ifend5 +then3: + br label %wend2 +ifend5: + %t4 = call ptr @fn_node(i32 42) + store ptr %t4, ptr %t5 + %t6 = load ptr, ptr %t5 + %t7 = getelementptr inbounds %Cmp_Node, ptr %t6, i32 0, i32 1 + %t8 = call ptr @fn_eat_id() + store ptr %t8, ptr %t7 + %t9 = load ptr, ptr %t5 + %t10 = getelementptr inbounds %Cmp_Node, ptr %t9, i32 0, i32 4 + %t11 = call ptr @fn_record() + store ptr %t11, ptr %t10 + %t12 = load ptr, ptr %t0 + %t13 = getelementptr inbounds %Cmp_Node, ptr %t12, i32 0, i32 7 + %t14 = load ptr, ptr %t13 + %t15 = load ptr, ptr %t5 + %t16 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 1 + %t17 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 2 + %t18 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 0 + %t19 = load i32, ptr %t16 + %t20 = load i32, ptr %t17 + %t21 = icmp sge i32 %t19, %t20 + br i1 %t21, label %grow6, label %put7 +grow6: + %t22 = mul i32 %t20, 2 + %t23 = icmp eq i32 %t20, 0 + %t24 = select i1 %t23, i32 8, i32 %t22 + %t25 = getelementptr ptr, ptr null, i32 1 + %t26 = ptrtoint ptr %t25 to i64 + %t27 = zext i32 %t24 to i64 + %t28 = mul i64 %t27, %t26 + %t29 = load ptr, ptr %t18 + %t30 = call ptr @realloc(ptr %t29, i64 %t28) + store ptr %t30, ptr %t18 + store i32 %t24, ptr %t17 + br label %put7 +put7: + %t31 = load ptr, ptr %t18 + %t32 = getelementptr inbounds ptr, ptr %t31, i32 %t19 + store ptr %t15, ptr %t32 + %t33 = add i32 %t19, 1 + store i32 %t33, ptr %t16 + %t34 = call i32 @fn_is_op(ptr @.str581) + %t35 = icmp ne i32 %t34, 0 + br i1 %t35, label %then8, label %ifend10 +then8: + %t36 = load i32, ptr @g_pi + %t37 = add i32 %t36, 1 + store i32 %t37, ptr @g_pi + br label %ifend10 +ifend10: + br label %wcond0 +wend2: + br label %ret +ret: + ret void +} + +define ptr @fn_parse_prefab() { +entry: + %retval = alloca ptr + %t3 = alloca ptr + %t0 = load i32, ptr @g_pi + %t1 = add i32 %t0, 1 + store i32 %t1, ptr @g_pi + %t2 = call ptr @fn_node(i32 53) + store ptr %t2, ptr %t3 + %t4 = load ptr, ptr %t3 + %t5 = getelementptr inbounds %Cmp_Node, ptr %t4, i32 0, i32 1 + %t6 = call ptr @fn_eat_id() + store ptr %t6, ptr %t5 + call void @fn_eat_op(ptr @.str582) + %t7 = load ptr, ptr %t3 + %t8 = getelementptr inbounds %Cmp_Node, ptr %t7, i32 0, i32 3 + %t9 = call ptr @fn_eat_id() + store ptr %t9, ptr %t8 + call void @fn_skipnl() + call void @fn_eat_op(ptr @.str583) + %t10 = load ptr, ptr %t3 + call void @fn_parse_component_records(ptr %t10) + call void @fn_eat_op(ptr @.str584) + %t11 = load ptr, ptr %t3 + store ptr %t11, ptr %retval + br label %ret +ret: + %t12 = load ptr, ptr %retval + ret ptr %t12 +} + +define void @fn_parse_scene() { +entry: + %t3 = alloca ptr + %t10 = alloca i32 + %t11 = alloca ptr + %t12 = alloca ptr + %t13 = alloca ptr + %t14 = alloca i32 + %t15 = alloca i32 + %t16 = alloca i32 + %t17 = alloca i32 + %t103 = alloca ptr + %t121 = alloca ptr + %t133 = alloca ptr + %t140 = alloca ptr + %t146 = alloca ptr + %t159 = alloca ptr + %t170 = alloca ptr + %t0 = load i32, ptr @g_pi + %t1 = add i32 %t0, 1 + store i32 %t1, ptr @g_pi + %t2 = call ptr @fn_node(i32 45) + store ptr %t2, ptr %t3 + %t4 = load ptr, ptr %t3 + %t5 = getelementptr inbounds %Cmp_Node, ptr %t4, i32 0, i32 1 + %t6 = call ptr @fn_eat_id() + store ptr %t6, ptr %t5 + %t7 = load ptr, ptr %t3 + %t8 = getelementptr inbounds %Cmp_Node, ptr %t7, i32 0, i32 2 + %t9 = load i32, ptr @g_g_scene_count + store i32 %t9, ptr %t8 + store i32 0, ptr %t10 + store ptr null, ptr %t11 + store ptr null, ptr %t12 + store ptr null, ptr %t13 + br label %wcond0 +wcond0: + %t18 = call i32 @fn_is_id(ptr @.str585) + %t19 = icmp ne i32 %t18, 0 + %t20 = zext i1 %t19 to i32 + store i32 %t20, ptr %t17 + br i1 %t19, label %scend4, label %sc3 +sc3: + %t21 = call i32 @fn_is_id(ptr @.str586) + %t22 = icmp ne i32 %t21, 0 + %t23 = zext i1 %t22 to i32 + store i32 %t23, ptr %t17 + br label %scend4 +scend4: + %t24 = load i32, ptr %t17 + %t25 = icmp ne i32 %t24, 0 + %t26 = zext i1 %t25 to i32 + store i32 %t26, ptr %t16 + br i1 %t25, label %scend6, label %sc5 +sc5: + %t27 = call i32 @fn_is_id(ptr @.str587) + %t28 = icmp ne i32 %t27, 0 + %t29 = zext i1 %t28 to i32 + store i32 %t29, ptr %t16 + br label %scend6 +scend6: + %t30 = load i32, ptr %t16 + %t31 = icmp ne i32 %t30, 0 + %t32 = zext i1 %t31 to i32 + store i32 %t32, ptr %t15 + br i1 %t31, label %scend8, label %sc7 +sc7: + %t33 = call i32 @fn_is_id(ptr @.str588) + %t34 = icmp ne i32 %t33, 0 + %t35 = zext i1 %t34 to i32 + store i32 %t35, ptr %t15 + br label %scend8 +scend8: + %t36 = load i32, ptr %t15 + %t37 = icmp ne i32 %t36, 0 + %t38 = zext i1 %t37 to i32 + store i32 %t38, ptr %t14 + br i1 %t37, label %scend10, label %sc9 +sc9: + %t39 = call i32 @fn_is_id(ptr @.str589) + %t40 = icmp ne i32 %t39, 0 + %t41 = zext i1 %t40 to i32 + store i32 %t41, ptr %t14 + br label %scend10 +scend10: + %t42 = load i32, ptr %t14 + %t43 = icmp ne i32 %t42, 0 + br i1 %t43, label %wbody1, label %wend2 +wbody1: + %t44 = call i32 @fn_is_id(ptr @.str590) + %t45 = icmp ne i32 %t44, 0 + br i1 %t45, label %then11, label %else12 +then11: + %t46 = load i32, ptr @g_pi + %t47 = add i32 %t46, 1 + store i32 %t47, ptr @g_pi + %t48 = load i32, ptr @g_g_scene_count + store i32 %t48, ptr @g_g_start_scene + br label %ifend13 +else12: + %t49 = call i32 @fn_is_id(ptr @.str591) + %t50 = icmp ne i32 %t49, 0 + br i1 %t50, label %then14, label %else15 +then14: + %t51 = load i32, ptr @g_pi + %t52 = add i32 %t51, 1 + store i32 %t52, ptr @g_pi + %t53 = load ptr, ptr %t3 + %t54 = getelementptr inbounds %Cmp_Node, ptr %t53, i32 0, i32 3 + %t55 = call ptr @fn_eat_id() + store ptr %t55, ptr %t54 + br label %ifend16 +else15: + %t56 = call i32 @fn_is_id(ptr @.str592) + %t57 = icmp ne i32 %t56, 0 + br i1 %t57, label %then17, label %else18 +then17: + %t58 = load i32, ptr @g_pi + %t59 = add i32 %t58, 1 + store i32 %t59, ptr @g_pi + %t60 = call ptr @fn_expr() + store ptr %t60, ptr %t11 + %t61 = call i32 @fn_is_id(ptr @.str593) + %t62 = icmp eq i32 %t61, 0 + %t63 = zext i1 %t62 to i32 + %t64 = icmp ne i32 %t63, 0 + br i1 %t64, label %then20, label %ifend22 +then20: + call void @fn_perr(ptr @.str594) + br label %ifend22 +ifend22: + %t65 = load i32, ptr @g_pi + %t66 = add i32 %t65, 1 + store i32 %t66, ptr @g_pi + %t67 = call ptr @fn_eat_id() + store ptr %t67, ptr %t12 + br label %ifend19 +else18: + %t68 = call i32 @fn_is_id(ptr @.str595) + %t69 = icmp ne i32 %t68, 0 + br i1 %t69, label %then23, label %else24 +then23: + %t70 = load i32, ptr @g_pi + %t71 = add i32 %t70, 1 + store i32 %t71, ptr @g_pi + %t72 = call i32 @fn_is_id(ptr @.str596) + %t73 = icmp eq i32 %t72, 0 + %t74 = zext i1 %t73 to i32 + %t75 = icmp ne i32 %t74, 0 + br i1 %t75, label %then26, label %ifend28 +then26: + call void @fn_perr(ptr @.str597) + br label %ifend28 +ifend28: + %t76 = load i32, ptr @g_pi + %t77 = add i32 %t76, 1 + store i32 %t77, ptr @g_pi + %t78 = call ptr @fn_eat_id() + store ptr %t78, ptr %t13 + store i32 1, ptr @g_g_uses_atlas + br label %ifend25 +else24: + %t79 = load i32, ptr @g_pi + %t80 = add i32 %t79, 1 + store i32 %t80, ptr @g_pi + store i32 1, ptr %t10 + br label %ifend25 +ifend25: + br label %ifend19 +ifend19: + br label %ifend16 +ifend16: + br label %ifend13 +ifend13: + br label %wcond0 +wend2: + %t81 = load i32, ptr @g_g_scene_count + %t82 = add i32 %t81, 1 + store i32 %t82, ptr @g_g_scene_count + %t83 = load i32, ptr %t10 + %t84 = icmp ne i32 %t83, 0 + br i1 %t84, label %then29, label %ifend31 +then29: + %t85 = load ptr, ptr %t3 + %t86 = getelementptr inbounds %Cmp_Node, ptr %t85, i32 0, i32 1 + %t87 = load ptr, ptr %t86 + %t88 = call ptr @lp_str_concat(ptr @.str598, ptr %t87) + %t89 = call ptr @lp_str_concat(ptr %t88, ptr @.str599) + call void @fn_ensure_event_empty(ptr %t89) + %t90 = load ptr, ptr %t3 + %t91 = getelementptr inbounds %Cmp_Node, ptr %t90, i32 0, i32 1 + %t92 = load ptr, ptr %t91 + %t93 = call ptr @lp_str_concat(ptr @.str600, ptr %t92) + %t94 = call ptr @lp_str_concat(ptr %t93, ptr @.str601) + call void @fn_ensure_event_empty(ptr %t94) + br label %ifend31 +ifend31: + call void @fn_skipnl() + call void @fn_eat_op(ptr @.str602) + br label %wcond32 +wcond32: + %t95 = icmp ne i32 1, 0 + br i1 %t95, label %wbody33, label %wend34 +wbody33: + call void @fn_skipnl() + %t96 = call i32 @fn_is_op(ptr @.str603) + %t97 = icmp ne i32 %t96, 0 + br i1 %t97, label %then35, label %ifend37 +then35: + br label %wend34 +ifend37: + %t98 = call i32 @fn_is_id(ptr @.str604) + %t99 = icmp ne i32 %t98, 0 + br i1 %t99, label %then38, label %ifend40 +then38: + %t100 = load i32, ptr @g_pi + %t101 = add i32 %t100, 1 + store i32 %t101, ptr @g_pi + %t102 = call ptr @fn_eat_id() + store ptr %t102, ptr %t103 + call void @fn_skipnl() + %t104 = load ptr, ptr %t103 + %t105 = call i32 @lp_str_eq(ptr %t104, ptr @.str605) + %t106 = icmp ne i32 %t105, 0 + br i1 %t106, label %then41, label %else42 +then41: + %t107 = load ptr, ptr %t3 + %t108 = getelementptr inbounds %Cmp_Node, ptr %t107, i32 0, i32 4 + %t109 = call ptr @fn_block() + store ptr %t109, ptr %t108 + br label %ifend43 +else42: + %t110 = load ptr, ptr %t103 + %t111 = call i32 @lp_str_eq(ptr %t110, ptr @.str606) + %t112 = icmp ne i32 %t111, 0 + br i1 %t112, label %then44, label %else45 +then44: + %t113 = load ptr, ptr %t3 + %t114 = getelementptr inbounds %Cmp_Node, ptr %t113, i32 0, i32 5 + %t115 = call ptr @fn_block() + store ptr %t115, ptr %t114 + br label %ifend46 +else45: + call void @fn_perr(ptr @.str607) + br label %ifend46 +ifend46: + br label %ifend43 +ifend43: + br label %wcond32 +ifend40: + %t116 = call i32 @fn_is_id(ptr @.str608) + %t117 = icmp ne i32 %t116, 0 + br i1 %t117, label %then47, label %ifend49 +then47: + %t118 = load i32, ptr @g_pi + %t119 = add i32 %t118, 1 + store i32 %t119, ptr @g_pi + %t120 = call ptr @fn_eat_id() + store ptr %t120, ptr %t121 + %t122 = call i32 @fn_is_id(ptr @.str609) + %t123 = icmp ne i32 %t122, 0 + br i1 %t123, label %then50, label %ifend52 +then50: + %t124 = load i32, ptr @g_pi + %t125 = add i32 %t124, 1 + store i32 %t125, ptr @g_pi + %t126 = load ptr, ptr %t121 + %t127 = call ptr @lp_str_concat(ptr @.str610, ptr %t126) + %t128 = call ptr @lp_str_concat(ptr %t127, ptr @.str611) + call void @fn_ensure_event_empty(ptr %t128) + %t129 = load ptr, ptr %t121 + %t130 = call ptr @lp_str_concat(ptr @.str612, ptr %t129) + %t131 = call ptr @lp_str_concat(ptr %t130, ptr @.str613) + call void @fn_ensure_event_empty(ptr %t131) + br label %ifend52 +ifend52: + call void @fn_skipnl() + call void @fn_eat_op(ptr @.str614) + %t132 = call ptr @fn_node(i32 33) + store ptr %t132, ptr %t133 + %t134 = load ptr, ptr %t133 + %t135 = getelementptr inbounds %Cmp_Node, ptr %t134, i32 0, i32 1 + %t136 = load ptr, ptr %t121 + store ptr %t136, ptr %t135 + br label %wcond53 +wcond53: + %t137 = icmp ne i32 1, 0 + br i1 %t137, label %wbody54, label %wend55 +wbody54: + call void @fn_skipnl() + %t138 = call i32 @fn_is_op(ptr @.str615) + %t139 = icmp ne i32 %t138, 0 + br i1 %t139, label %then56, label %ifend58 +then56: + br label %wend55 +ifend58: + store ptr null, ptr %t140 + br label %wcond59 +wcond59: + %t141 = call i32 @fn_is_op(ptr @.str616) + %t142 = icmp ne i32 %t141, 0 + br i1 %t142, label %wbody60, label %wend61 +wbody60: + %t143 = load i32, ptr @g_pi + %t144 = add i32 %t143, 1 + store i32 %t144, ptr @g_pi + %t145 = call ptr @fn_eat_id() + store ptr %t145, ptr %t146 + %t147 = load ptr, ptr %t146 + %t148 = call i32 @lp_str_eq(ptr %t147, ptr @.str617) + %t149 = icmp ne i32 %t148, 0 + br i1 %t149, label %then62, label %else63 +then62: + %t150 = call ptr @fn_parse_queries_anno() + store ptr %t150, ptr %t140 + br label %ifend64 +else63: + %t151 = load ptr, ptr %t146 + %t152 = call ptr @lp_str_concat(ptr @.str618, ptr %t151) + %t153 = call ptr @lp_str_concat(ptr %t152, ptr @.str619) + call void @fn_perr(ptr %t153) + br label %ifend64 +ifend64: + call void @fn_skipnl() + br label %wcond59 +wend61: + %t154 = call i32 @fn_is_id(ptr @.str620) + %t155 = icmp eq i32 %t154, 0 + %t156 = zext i1 %t155 to i32 + %t157 = icmp ne i32 %t156, 0 + br i1 %t157, label %then65, label %ifend67 +then65: + call void @fn_perr(ptr @.str621) + br label %ifend67 +ifend67: + %t158 = call ptr @fn_parse_system() + store ptr %t158, ptr %t159 + %t160 = load ptr, ptr %t140 + %t161 = icmp ne ptr %t160, null + %t162 = zext i1 %t161 to i32 + %t163 = icmp ne i32 %t162, 0 + br i1 %t163, label %then68, label %ifend70 +then68: + %t164 = load ptr, ptr %t140 + %t165 = getelementptr inbounds %Cmp_Node, ptr %t164, i32 0, i32 4 + %t166 = load ptr, ptr %t159 + %t167 = getelementptr inbounds %Cmp_Node, ptr %t166, i32 0, i32 4 + %t168 = load ptr, ptr %t167 + store ptr %t168, ptr %t165 + %t169 = call ptr @fn_node(i32 7) + store ptr %t169, ptr %t170 + %t171 = load ptr, ptr %t170 + %t172 = getelementptr inbounds %Cmp_Node, ptr %t171, i32 0, i32 7 + %t173 = load ptr, ptr %t172 + %t174 = load ptr, ptr %t140 + %t175 = getelementptr inbounds %LSlice, ptr %t173, i32 0, i32 1 + %t176 = getelementptr inbounds %LSlice, ptr %t173, i32 0, i32 2 + %t177 = getelementptr inbounds %LSlice, ptr %t173, i32 0, i32 0 + %t178 = load i32, ptr %t175 + %t179 = load i32, ptr %t176 + %t180 = icmp sge i32 %t178, %t179 + br i1 %t180, label %grow71, label %put72 +grow71: + %t181 = mul i32 %t179, 2 + %t182 = icmp eq i32 %t179, 0 + %t183 = select i1 %t182, i32 8, i32 %t181 + %t184 = getelementptr ptr, ptr null, i32 1 + %t185 = ptrtoint ptr %t184 to i64 + %t186 = zext i32 %t183 to i64 + %t187 = mul i64 %t186, %t185 + %t188 = load ptr, ptr %t177 + %t189 = call ptr @realloc(ptr %t188, i64 %t187) + store ptr %t189, ptr %t177 + store i32 %t183, ptr %t176 + br label %put72 +put72: + %t190 = load ptr, ptr %t177 + %t191 = getelementptr inbounds ptr, ptr %t190, i32 %t178 + store ptr %t174, ptr %t191 + %t192 = add i32 %t178, 1 + store i32 %t192, ptr %t175 + %t193 = load ptr, ptr %t159 + %t194 = getelementptr inbounds %Cmp_Node, ptr %t193, i32 0, i32 4 + %t195 = load ptr, ptr %t170 + store ptr %t195, ptr %t194 + br label %ifend70 +ifend70: + %t196 = load ptr, ptr %t159 + %t197 = getelementptr inbounds %Cmp_Node, ptr %t196, i32 0, i32 1 + %t198 = load ptr, ptr %t3 + %t199 = getelementptr inbounds %Cmp_Node, ptr %t198, i32 0, i32 1 + %t200 = load ptr, ptr %t199 + %t201 = call ptr @lp_str_concat(ptr %t200, ptr @.str622) + %t202 = load ptr, ptr %t159 + %t203 = getelementptr inbounds %Cmp_Node, ptr %t202, i32 0, i32 1 + %t204 = load ptr, ptr %t203 + %t205 = call ptr @lp_str_concat(ptr %t201, ptr %t204) + store ptr %t205, ptr %t197 + %t206 = load ptr, ptr %t159 + %t207 = getelementptr inbounds %Cmp_Node, ptr %t206, i32 0, i32 6 + %t208 = load ptr, ptr %t3 + store ptr %t208, ptr %t207 + %t209 = load ptr, ptr %t159 + %t210 = getelementptr inbounds %Cmp_Node, ptr %t209, i32 0, i32 5 + %t211 = load ptr, ptr %t133 + store ptr %t211, ptr %t210 + %t212 = load ptr, ptr @g_prog + %t213 = load ptr, ptr %t159 + %t214 = getelementptr inbounds %LSlice, ptr %t212, i32 0, i32 1 + %t215 = getelementptr inbounds %LSlice, ptr %t212, i32 0, i32 2 + %t216 = getelementptr inbounds %LSlice, ptr %t212, i32 0, i32 0 + %t217 = load i32, ptr %t214 + %t218 = load i32, ptr %t215 + %t219 = icmp sge i32 %t217, %t218 + br i1 %t219, label %grow73, label %put74 +grow73: + %t220 = mul i32 %t218, 2 + %t221 = icmp eq i32 %t218, 0 + %t222 = select i1 %t221, i32 8, i32 %t220 + %t223 = getelementptr ptr, ptr null, i32 1 + %t224 = ptrtoint ptr %t223 to i64 + %t225 = zext i32 %t222 to i64 + %t226 = mul i64 %t225, %t224 + %t227 = load ptr, ptr %t216 + %t228 = call ptr @realloc(ptr %t227, i64 %t226) + store ptr %t228, ptr %t216 + store i32 %t222, ptr %t215 + br label %put74 +put74: + %t229 = load ptr, ptr %t216 + %t230 = getelementptr inbounds ptr, ptr %t229, i32 %t217 + store ptr %t213, ptr %t230 + %t231 = add i32 %t217, 1 + store i32 %t231, ptr %t214 + call void @fn_skipnl() + br label %wcond53 +wend55: + call void @fn_eat_op(ptr @.str623) + br label %wcond32 +ifend49: + call void @fn_perr(ptr @.str624) + br label %wcond32 +wend34: + call void @fn_eat_op(ptr @.str625) + %t232 = load ptr, ptr %t11 + %t233 = icmp ne ptr %t232, null + %t234 = zext i1 %t233 to i32 + %t235 = icmp ne i32 %t234, 0 + br i1 %t235, label %then75, label %ifend77 +then75: + %t236 = load ptr, ptr %t3 + %t237 = load ptr, ptr %t11 + %t238 = load ptr, ptr %t12 + call void @fn_scene_add_timer(ptr %t236, ptr %t237, ptr %t238) + br label %ifend77 +ifend77: + %t239 = load ptr, ptr %t13 + %t240 = icmp ne ptr %t239, null + %t241 = zext i1 %t240 to i32 + %t242 = icmp ne i32 %t241, 0 + br i1 %t242, label %then78, label %ifend80 +then78: + %t243 = load ptr, ptr %t3 + %t244 = load ptr, ptr %t13 + call void @fn_scene_add_loader(ptr %t243, ptr %t244) + br label %ifend80 +ifend80: + %t245 = load ptr, ptr @g_g_scenes + %t246 = load ptr, ptr %t3 + %t247 = getelementptr inbounds %LSlice, ptr %t245, i32 0, i32 1 + %t248 = getelementptr inbounds %LSlice, ptr %t245, i32 0, i32 2 + %t249 = getelementptr inbounds %LSlice, ptr %t245, i32 0, i32 0 + %t250 = load i32, ptr %t247 + %t251 = load i32, ptr %t248 + %t252 = icmp sge i32 %t250, %t251 + br i1 %t252, label %grow81, label %put82 +grow81: + %t253 = mul i32 %t251, 2 + %t254 = icmp eq i32 %t251, 0 + %t255 = select i1 %t254, i32 8, i32 %t253 + %t256 = getelementptr ptr, ptr null, i32 1 + %t257 = ptrtoint ptr %t256 to i64 + %t258 = zext i32 %t255 to i64 + %t259 = mul i64 %t258, %t257 + %t260 = load ptr, ptr %t249 + %t261 = call ptr @realloc(ptr %t260, i64 %t259) + store ptr %t261, ptr %t249 + store i32 %t255, ptr %t248 + br label %put82 +put82: + %t262 = load ptr, ptr %t249 + %t263 = getelementptr inbounds ptr, ptr %t262, i32 %t250 + store ptr %t246, ptr %t263 + %t264 = add i32 %t250, 1 + store i32 %t264, ptr %t247 + br label %ret +ret: + ret void +} + +define void @fn_scene_add_loader(ptr %arg_sc, ptr %arg_next) { +entry: + %t0 = alloca ptr + %t1 = alloca ptr + %t3 = alloca ptr + %t16 = alloca ptr + %t18 = alloca ptr + %t20 = alloca ptr + %t22 = alloca ptr + %t24 = alloca ptr + %t36 = alloca ptr + %t87 = alloca ptr + %t89 = alloca ptr + %t91 = alloca ptr + %t93 = alloca ptr + %t111 = alloca ptr + %t185 = alloca ptr + %t198 = alloca ptr + %t200 = alloca ptr + %t202 = alloca ptr + %t209 = alloca ptr + store ptr %arg_sc, ptr %t0 + store ptr %arg_next, ptr %t1 + %t2 = call ptr @fn_node(i32 9) + store ptr %t2, ptr %t3 + %t4 = load ptr, ptr %t3 + %t5 = getelementptr inbounds %Cmp_Node, ptr %t4, i32 0, i32 1 + %t6 = load ptr, ptr %t0 + %t7 = getelementptr inbounds %Cmp_Node, ptr %t6, i32 0, i32 1 + %t8 = load ptr, ptr %t7 + %t9 = call ptr @lp_str_concat(ptr %t8, ptr @.str626) + store ptr %t9, ptr %t5 + %t10 = load ptr, ptr %t3 + %t11 = getelementptr inbounds %Cmp_Node, ptr %t10, i32 0, i32 3 + store ptr @.str627, ptr %t11 + %t12 = load ptr, ptr %t3 + %t13 = getelementptr inbounds %Cmp_Node, ptr %t12, i32 0, i32 6 + %t14 = load ptr, ptr %t0 + store ptr %t14, ptr %t13 + %t15 = call ptr @fn_node(i32 7) + store ptr %t15, ptr %t16 + %t17 = call ptr @fn_node(i32 16) + store ptr %t17, ptr %t18 + %t19 = call ptr @fn_node(i32 34) + store ptr %t19, ptr %t20 + %t21 = call ptr @fn_node(i32 35) + store ptr %t21, ptr %t22 + %t23 = call ptr @fn_node(i32 33) + store ptr %t23, ptr %t24 + %t25 = load ptr, ptr %t24 + %t26 = getelementptr inbounds %Cmp_Node, ptr %t25, i32 0, i32 1 + store ptr @.str628, ptr %t26 + %t27 = load ptr, ptr %t22 + %t28 = getelementptr inbounds %Cmp_Node, ptr %t27, i32 0, i32 4 + %t29 = load ptr, ptr %t24 + store ptr %t29, ptr %t28 + %t30 = load ptr, ptr %t22 + %t31 = getelementptr inbounds %Cmp_Node, ptr %t30, i32 0, i32 1 + store ptr @.str629, ptr %t31 + %t32 = load ptr, ptr %t20 + %t33 = getelementptr inbounds %Cmp_Node, ptr %t32, i32 0, i32 4 + %t34 = load ptr, ptr %t22 + store ptr %t34, ptr %t33 + %t35 = call ptr @fn_node(i32 30) + store ptr %t35, ptr %t36 + %t37 = load ptr, ptr %t36 + %t38 = getelementptr inbounds %Cmp_Node, ptr %t37, i32 0, i32 2 + store i32 4, ptr %t38 + %t39 = load ptr, ptr %t20 + %t40 = getelementptr inbounds %Cmp_Node, ptr %t39, i32 0, i32 7 + %t41 = load ptr, ptr %t40 + %t42 = load ptr, ptr %t36 + %t43 = getelementptr inbounds %LSlice, ptr %t41, i32 0, i32 1 + %t44 = getelementptr inbounds %LSlice, ptr %t41, i32 0, i32 2 + %t45 = getelementptr inbounds %LSlice, ptr %t41, i32 0, i32 0 + %t46 = load i32, ptr %t43 + %t47 = load i32, ptr %t44 + %t48 = icmp sge i32 %t46, %t47 + br i1 %t48, label %grow0, label %put1 +grow0: + %t49 = mul i32 %t47, 2 + %t50 = icmp eq i32 %t47, 0 + %t51 = select i1 %t50, i32 8, i32 %t49 + %t52 = getelementptr ptr, ptr null, i32 1 + %t53 = ptrtoint ptr %t52 to i64 + %t54 = zext i32 %t51 to i64 + %t55 = mul i64 %t54, %t53 + %t56 = load ptr, ptr %t45 + %t57 = call ptr @realloc(ptr %t56, i64 %t55) + store ptr %t57, ptr %t45 + store i32 %t51, ptr %t44 + br label %put1 +put1: + %t58 = load ptr, ptr %t45 + %t59 = getelementptr inbounds ptr, ptr %t58, i32 %t46 + store ptr %t42, ptr %t59 + %t60 = add i32 %t46, 1 + store i32 %t60, ptr %t43 + %t61 = load ptr, ptr %t18 + %t62 = getelementptr inbounds %Cmp_Node, ptr %t61, i32 0, i32 4 + %t63 = load ptr, ptr %t20 + store ptr %t63, ptr %t62 + %t64 = load ptr, ptr %t16 + %t65 = getelementptr inbounds %Cmp_Node, ptr %t64, i32 0, i32 7 + %t66 = load ptr, ptr %t65 + %t67 = load ptr, ptr %t18 + %t68 = getelementptr inbounds %LSlice, ptr %t66, i32 0, i32 1 + %t69 = getelementptr inbounds %LSlice, ptr %t66, i32 0, i32 2 + %t70 = getelementptr inbounds %LSlice, ptr %t66, i32 0, i32 0 + %t71 = load i32, ptr %t68 + %t72 = load i32, ptr %t69 + %t73 = icmp sge i32 %t71, %t72 + br i1 %t73, label %grow2, label %put3 +grow2: + %t74 = mul i32 %t72, 2 + %t75 = icmp eq i32 %t72, 0 + %t76 = select i1 %t75, i32 8, i32 %t74 + %t77 = getelementptr ptr, ptr null, i32 1 + %t78 = ptrtoint ptr %t77 to i64 + %t79 = zext i32 %t76 to i64 + %t80 = mul i64 %t79, %t78 + %t81 = load ptr, ptr %t70 + %t82 = call ptr @realloc(ptr %t81, i64 %t80) + store ptr %t82, ptr %t70 + store i32 %t76, ptr %t69 + br label %put3 +put3: + %t83 = load ptr, ptr %t70 + %t84 = getelementptr inbounds ptr, ptr %t83, i32 %t71 + store ptr %t67, ptr %t84 + %t85 = add i32 %t71, 1 + store i32 %t85, ptr %t68 + %t86 = call ptr @fn_node(i32 12) + store ptr %t86, ptr %t87 + %t88 = call ptr @fn_node(i32 34) + store ptr %t88, ptr %t89 + %t90 = call ptr @fn_node(i32 35) + store ptr %t90, ptr %t91 + %t92 = call ptr @fn_node(i32 33) + store ptr %t92, ptr %t93 + %t94 = load ptr, ptr %t93 + %t95 = getelementptr inbounds %Cmp_Node, ptr %t94, i32 0, i32 1 + store ptr @.str630, ptr %t95 + %t96 = load ptr, ptr %t91 + %t97 = getelementptr inbounds %Cmp_Node, ptr %t96, i32 0, i32 4 + %t98 = load ptr, ptr %t93 + store ptr %t98, ptr %t97 + %t99 = load ptr, ptr %t91 + %t100 = getelementptr inbounds %Cmp_Node, ptr %t99, i32 0, i32 1 + store ptr @.str631, ptr %t100 + %t101 = load ptr, ptr %t89 + %t102 = getelementptr inbounds %Cmp_Node, ptr %t101, i32 0, i32 4 + %t103 = load ptr, ptr %t91 + store ptr %t103, ptr %t102 + %t104 = load ptr, ptr %t87 + %t105 = getelementptr inbounds %Cmp_Node, ptr %t104, i32 0, i32 4 + %t106 = load ptr, ptr %t89 + store ptr %t106, ptr %t105 + %t107 = load ptr, ptr %t87 + %t108 = getelementptr inbounds %Cmp_Node, ptr %t107, i32 0, i32 5 + %t109 = call ptr @fn_node(i32 7) + store ptr %t109, ptr %t108 + %t110 = call ptr @fn_node(i32 26) + store ptr %t110, ptr %t111 + %t112 = load ptr, ptr %t111 + %t113 = getelementptr inbounds %Cmp_Node, ptr %t112, i32 0, i32 1 + %t114 = load ptr, ptr %t1 + store ptr %t114, ptr %t113 + %t115 = load ptr, ptr %t87 + %t116 = getelementptr inbounds %Cmp_Node, ptr %t115, i32 0, i32 5 + %t117 = load ptr, ptr %t116 + %t118 = getelementptr inbounds %Cmp_Node, ptr %t117, i32 0, i32 7 + %t119 = load ptr, ptr %t118 + %t120 = load ptr, ptr %t111 + %t121 = getelementptr inbounds %LSlice, ptr %t119, i32 0, i32 1 + %t122 = getelementptr inbounds %LSlice, ptr %t119, i32 0, i32 2 + %t123 = getelementptr inbounds %LSlice, ptr %t119, i32 0, i32 0 + %t124 = load i32, ptr %t121 + %t125 = load i32, ptr %t122 + %t126 = icmp sge i32 %t124, %t125 + br i1 %t126, label %grow4, label %put5 +grow4: + %t127 = mul i32 %t125, 2 + %t128 = icmp eq i32 %t125, 0 + %t129 = select i1 %t128, i32 8, i32 %t127 + %t130 = getelementptr ptr, ptr null, i32 1 + %t131 = ptrtoint ptr %t130 to i64 + %t132 = zext i32 %t129 to i64 + %t133 = mul i64 %t132, %t131 + %t134 = load ptr, ptr %t123 + %t135 = call ptr @realloc(ptr %t134, i64 %t133) + store ptr %t135, ptr %t123 + store i32 %t129, ptr %t122 + br label %put5 +put5: + %t136 = load ptr, ptr %t123 + %t137 = getelementptr inbounds ptr, ptr %t136, i32 %t124 + store ptr %t120, ptr %t137 + %t138 = add i32 %t124, 1 + store i32 %t138, ptr %t121 + %t139 = load ptr, ptr %t16 + %t140 = getelementptr inbounds %Cmp_Node, ptr %t139, i32 0, i32 7 + %t141 = load ptr, ptr %t140 + %t142 = load ptr, ptr %t87 + %t143 = getelementptr inbounds %LSlice, ptr %t141, i32 0, i32 1 + %t144 = getelementptr inbounds %LSlice, ptr %t141, i32 0, i32 2 + %t145 = getelementptr inbounds %LSlice, ptr %t141, i32 0, i32 0 + %t146 = load i32, ptr %t143 + %t147 = load i32, ptr %t144 + %t148 = icmp sge i32 %t146, %t147 + br i1 %t148, label %grow6, label %put7 +grow6: + %t149 = mul i32 %t147, 2 + %t150 = icmp eq i32 %t147, 0 + %t151 = select i1 %t150, i32 8, i32 %t149 + %t152 = getelementptr ptr, ptr null, i32 1 + %t153 = ptrtoint ptr %t152 to i64 + %t154 = zext i32 %t151 to i64 + %t155 = mul i64 %t154, %t153 + %t156 = load ptr, ptr %t145 + %t157 = call ptr @realloc(ptr %t156, i64 %t155) + store ptr %t157, ptr %t145 + store i32 %t151, ptr %t144 + br label %put7 +put7: + %t158 = load ptr, ptr %t145 + %t159 = getelementptr inbounds ptr, ptr %t158, i32 %t146 + store ptr %t142, ptr %t159 + %t160 = add i32 %t146, 1 + store i32 %t160, ptr %t143 + %t161 = load ptr, ptr %t3 + %t162 = getelementptr inbounds %Cmp_Node, ptr %t161, i32 0, i32 4 + %t163 = load ptr, ptr %t16 + store ptr %t163, ptr %t162 + %t164 = load ptr, ptr @g_prog + %t165 = load ptr, ptr %t3 + %t166 = getelementptr inbounds %LSlice, ptr %t164, i32 0, i32 1 + %t167 = getelementptr inbounds %LSlice, ptr %t164, i32 0, i32 2 + %t168 = getelementptr inbounds %LSlice, ptr %t164, i32 0, i32 0 + %t169 = load i32, ptr %t166 + %t170 = load i32, ptr %t167 + %t171 = icmp sge i32 %t169, %t170 + br i1 %t171, label %grow8, label %put9 +grow8: + %t172 = mul i32 %t170, 2 + %t173 = icmp eq i32 %t170, 0 + %t174 = select i1 %t173, i32 8, i32 %t172 + %t175 = getelementptr ptr, ptr null, i32 1 + %t176 = ptrtoint ptr %t175 to i64 + %t177 = zext i32 %t174 to i64 + %t178 = mul i64 %t177, %t176 + %t179 = load ptr, ptr %t168 + %t180 = call ptr @realloc(ptr %t179, i64 %t178) + store ptr %t180, ptr %t168 + store i32 %t174, ptr %t167 + br label %put9 +put9: + %t181 = load ptr, ptr %t168 + %t182 = getelementptr inbounds ptr, ptr %t181, i32 %t169 + store ptr %t165, ptr %t182 + %t183 = add i32 %t169, 1 + store i32 %t183, ptr %t166 + %t184 = call ptr @fn_node(i32 9) + store ptr %t184, ptr %t185 + %t186 = load ptr, ptr %t185 + %t187 = getelementptr inbounds %Cmp_Node, ptr %t186, i32 0, i32 1 + %t188 = load ptr, ptr %t0 + %t189 = getelementptr inbounds %Cmp_Node, ptr %t188, i32 0, i32 1 + %t190 = load ptr, ptr %t189 + %t191 = call ptr @lp_str_concat(ptr %t190, ptr @.str632) + store ptr %t191, ptr %t187 + %t192 = load ptr, ptr %t185 + %t193 = getelementptr inbounds %Cmp_Node, ptr %t192, i32 0, i32 3 + store ptr @.str633, ptr %t193 + %t194 = load ptr, ptr %t185 + %t195 = getelementptr inbounds %Cmp_Node, ptr %t194, i32 0, i32 6 + %t196 = load ptr, ptr %t0 + store ptr %t196, ptr %t195 + %t197 = call ptr @fn_node(i32 7) + store ptr %t197, ptr %t198 + %t199 = call ptr @fn_node(i32 34) + store ptr %t199, ptr %t200 + %t201 = call ptr @fn_node(i32 33) + store ptr %t201, ptr %t202 + %t203 = load ptr, ptr %t202 + %t204 = getelementptr inbounds %Cmp_Node, ptr %t203, i32 0, i32 1 + store ptr @.str634, ptr %t204 + %t205 = load ptr, ptr %t200 + %t206 = getelementptr inbounds %Cmp_Node, ptr %t205, i32 0, i32 4 + %t207 = load ptr, ptr %t202 + store ptr %t207, ptr %t206 + %t208 = call ptr @fn_node(i32 16) + store ptr %t208, ptr %t209 + %t210 = load ptr, ptr %t209 + %t211 = getelementptr inbounds %Cmp_Node, ptr %t210, i32 0, i32 4 + %t212 = load ptr, ptr %t200 + store ptr %t212, ptr %t211 + %t213 = load ptr, ptr %t198 + %t214 = getelementptr inbounds %Cmp_Node, ptr %t213, i32 0, i32 7 + %t215 = load ptr, ptr %t214 + %t216 = load ptr, ptr %t209 + %t217 = getelementptr inbounds %LSlice, ptr %t215, i32 0, i32 1 + %t218 = getelementptr inbounds %LSlice, ptr %t215, i32 0, i32 2 + %t219 = getelementptr inbounds %LSlice, ptr %t215, i32 0, i32 0 + %t220 = load i32, ptr %t217 + %t221 = load i32, ptr %t218 + %t222 = icmp sge i32 %t220, %t221 + br i1 %t222, label %grow10, label %put11 +grow10: + %t223 = mul i32 %t221, 2 + %t224 = icmp eq i32 %t221, 0 + %t225 = select i1 %t224, i32 8, i32 %t223 + %t226 = getelementptr ptr, ptr null, i32 1 + %t227 = ptrtoint ptr %t226 to i64 + %t228 = zext i32 %t225 to i64 + %t229 = mul i64 %t228, %t227 + %t230 = load ptr, ptr %t219 + %t231 = call ptr @realloc(ptr %t230, i64 %t229) + store ptr %t231, ptr %t219 + store i32 %t225, ptr %t218 + br label %put11 +put11: + %t232 = load ptr, ptr %t219 + %t233 = getelementptr inbounds ptr, ptr %t232, i32 %t220 + store ptr %t216, ptr %t233 + %t234 = add i32 %t220, 1 + store i32 %t234, ptr %t217 + %t235 = load ptr, ptr %t185 + %t236 = getelementptr inbounds %Cmp_Node, ptr %t235, i32 0, i32 4 + %t237 = load ptr, ptr %t198 + store ptr %t237, ptr %t236 + %t238 = load ptr, ptr @g_prog + %t239 = load ptr, ptr %t185 + %t240 = getelementptr inbounds %LSlice, ptr %t238, i32 0, i32 1 + %t241 = getelementptr inbounds %LSlice, ptr %t238, i32 0, i32 2 + %t242 = getelementptr inbounds %LSlice, ptr %t238, i32 0, i32 0 + %t243 = load i32, ptr %t240 + %t244 = load i32, ptr %t241 + %t245 = icmp sge i32 %t243, %t244 + br i1 %t245, label %grow12, label %put13 +grow12: + %t246 = mul i32 %t244, 2 + %t247 = icmp eq i32 %t244, 0 + %t248 = select i1 %t247, i32 8, i32 %t246 + %t249 = getelementptr ptr, ptr null, i32 1 + %t250 = ptrtoint ptr %t249 to i64 + %t251 = zext i32 %t248 to i64 + %t252 = mul i64 %t251, %t250 + %t253 = load ptr, ptr %t242 + %t254 = call ptr @realloc(ptr %t253, i64 %t252) + store ptr %t254, ptr %t242 + store i32 %t248, ptr %t241 + br label %put13 +put13: + %t255 = load ptr, ptr %t242 + %t256 = getelementptr inbounds ptr, ptr %t255, i32 %t243 + store ptr %t239, ptr %t256 + %t257 = add i32 %t243, 1 + store i32 %t257, ptr %t240 + br label %ret +ret: + ret void +} + +define void @fn_scene_add_timer(ptr %arg_sc, ptr %arg_frames, ptr %arg_next) { +entry: + %t0 = alloca ptr + %t1 = alloca ptr + %t2 = alloca ptr + %t8 = alloca ptr + %t10 = alloca ptr + %t46 = alloca ptr + %t50 = alloca ptr + %t66 = alloca ptr + %t87 = alloca i32 + %t136 = alloca ptr + %t149 = alloca ptr + %t151 = alloca ptr + %t155 = alloca ptr + %t163 = alloca ptr + %t192 = alloca ptr + %t196 = alloca ptr + %t204 = alloca ptr + %t211 = alloca ptr + %t219 = alloca ptr + store ptr %arg_sc, ptr %t0 + store ptr %arg_frames, ptr %t1 + store ptr %arg_next, ptr %t2 + %t3 = load ptr, ptr %t0 + %t4 = getelementptr inbounds %Cmp_Node, ptr %t3, i32 0, i32 1 + %t5 = load ptr, ptr %t4 + %t6 = call ptr @lp_str_concat(ptr @.str635, ptr %t5) + %t7 = call ptr @lp_str_concat(ptr %t6, ptr @.str636) + store ptr %t7, ptr %t8 + %t9 = call ptr @fn_node(i32 2) + store ptr %t9, ptr %t10 + %t11 = load ptr, ptr %t10 + %t12 = getelementptr inbounds %Cmp_Node, ptr %t11, i32 0, i32 1 + %t13 = load ptr, ptr %t8 + store ptr %t13, ptr %t12 + %t14 = load ptr, ptr %t10 + %t15 = getelementptr inbounds %Cmp_Node, ptr %t14, i32 0, i32 3 + store ptr @.str637, ptr %t15 + %t16 = load ptr, ptr @g_prog + %t17 = load ptr, ptr %t10 + %t18 = getelementptr inbounds %LSlice, ptr %t16, i32 0, i32 1 + %t19 = getelementptr inbounds %LSlice, ptr %t16, i32 0, i32 2 + %t20 = getelementptr inbounds %LSlice, ptr %t16, i32 0, i32 0 + %t21 = load i32, ptr %t18 + %t22 = load i32, ptr %t19 + %t23 = icmp sge i32 %t21, %t22 + br i1 %t23, label %grow0, label %put1 +grow0: + %t24 = mul i32 %t22, 2 + %t25 = icmp eq i32 %t22, 0 + %t26 = select i1 %t25, i32 8, i32 %t24 + %t27 = getelementptr ptr, ptr null, i32 1 + %t28 = ptrtoint ptr %t27 to i64 + %t29 = zext i32 %t26 to i64 + %t30 = mul i64 %t29, %t28 + %t31 = load ptr, ptr %t20 + %t32 = call ptr @realloc(ptr %t31, i64 %t30) + store ptr %t32, ptr %t20 + store i32 %t26, ptr %t19 + br label %put1 +put1: + %t33 = load ptr, ptr %t20 + %t34 = getelementptr inbounds ptr, ptr %t33, i32 %t21 + store ptr %t17, ptr %t34 + %t35 = add i32 %t21, 1 + store i32 %t35, ptr %t18 + %t36 = load ptr, ptr %t0 + %t37 = getelementptr inbounds %Cmp_Node, ptr %t36, i32 0, i32 4 + %t38 = load ptr, ptr %t37 + %t39 = icmp eq ptr %t38, null + %t40 = zext i1 %t39 to i32 + %t41 = icmp ne i32 %t40, 0 + br i1 %t41, label %then2, label %ifend4 +then2: + %t42 = load ptr, ptr %t0 + %t43 = getelementptr inbounds %Cmp_Node, ptr %t42, i32 0, i32 4 + %t44 = call ptr @fn_node(i32 7) + store ptr %t44, ptr %t43 + br label %ifend4 +ifend4: + %t45 = call ptr @fn_node(i32 11) + store ptr %t45, ptr %t46 + %t47 = load ptr, ptr %t46 + %t48 = getelementptr inbounds %Cmp_Node, ptr %t47, i32 0, i32 1 + store ptr @.str638, ptr %t48 + %t49 = call ptr @fn_node(i32 33) + store ptr %t49, ptr %t50 + %t51 = load ptr, ptr %t50 + %t52 = getelementptr inbounds %Cmp_Node, ptr %t51, i32 0, i32 1 + %t53 = load ptr, ptr %t8 + store ptr %t53, ptr %t52 + %t54 = load ptr, ptr %t46 + %t55 = getelementptr inbounds %Cmp_Node, ptr %t54, i32 0, i32 4 + %t56 = load ptr, ptr %t50 + store ptr %t56, ptr %t55 + %t57 = load ptr, ptr %t46 + %t58 = getelementptr inbounds %Cmp_Node, ptr %t57, i32 0, i32 5 + %t59 = load ptr, ptr %t1 + store ptr %t59, ptr %t58 + %t60 = getelementptr %LSlice, ptr null, i32 1 + %t61 = ptrtoint ptr %t60 to i64 + %t62 = call ptr @malloc(i64 %t61) + %t63 = getelementptr inbounds %LSlice, ptr %t62, i32 0, i32 0 + store ptr null, ptr %t63 + %t64 = getelementptr inbounds %LSlice, ptr %t62, i32 0, i32 1 + store i32 0, ptr %t64 + %t65 = getelementptr inbounds %LSlice, ptr %t62, i32 0, i32 2 + store i32 0, ptr %t65 + store ptr %t62, ptr %t66 + %t67 = load ptr, ptr %t66 + %t68 = load ptr, ptr %t46 + %t69 = getelementptr inbounds %LSlice, ptr %t67, i32 0, i32 1 + %t70 = getelementptr inbounds %LSlice, ptr %t67, i32 0, i32 2 + %t71 = getelementptr inbounds %LSlice, ptr %t67, i32 0, i32 0 + %t72 = load i32, ptr %t69 + %t73 = load i32, ptr %t70 + %t74 = icmp sge i32 %t72, %t73 + br i1 %t74, label %grow5, label %put6 +grow5: + %t75 = mul i32 %t73, 2 + %t76 = icmp eq i32 %t73, 0 + %t77 = select i1 %t76, i32 8, i32 %t75 + %t78 = getelementptr ptr, ptr null, i32 1 + %t79 = ptrtoint ptr %t78 to i64 + %t80 = zext i32 %t77 to i64 + %t81 = mul i64 %t80, %t79 + %t82 = load ptr, ptr %t71 + %t83 = call ptr @realloc(ptr %t82, i64 %t81) + store ptr %t83, ptr %t71 + store i32 %t77, ptr %t70 + br label %put6 +put6: + %t84 = load ptr, ptr %t71 + %t85 = getelementptr inbounds ptr, ptr %t84, i32 %t72 + store ptr %t68, ptr %t85 + %t86 = add i32 %t72, 1 + store i32 %t86, ptr %t69 + store i32 0, ptr %t87 + br label %wcond7 +wcond7: + %t88 = load i32, ptr %t87 + %t89 = load ptr, ptr %t0 + %t90 = getelementptr inbounds %Cmp_Node, ptr %t89, i32 0, i32 4 + %t91 = load ptr, ptr %t90 + %t92 = getelementptr inbounds %Cmp_Node, ptr %t91, i32 0, i32 7 + %t93 = load ptr, ptr %t92 + %t94 = getelementptr inbounds %LSlice, ptr %t93, i32 0, i32 1 + %t95 = load i32, ptr %t94 + %t96 = icmp slt i32 %t88, %t95 + %t97 = zext i1 %t96 to i32 + %t98 = icmp ne i32 %t97, 0 + br i1 %t98, label %wbody8, label %wend9 +wbody8: + %t99 = load ptr, ptr %t66 + %t100 = load ptr, ptr %t0 + %t101 = getelementptr inbounds %Cmp_Node, ptr %t100, i32 0, i32 4 + %t102 = load ptr, ptr %t101 + %t103 = getelementptr inbounds %Cmp_Node, ptr %t102, i32 0, i32 7 + %t104 = load ptr, ptr %t103 + %t105 = getelementptr inbounds %LSlice, ptr %t104, i32 0, i32 0 + %t106 = load ptr, ptr %t105 + %t107 = load i32, ptr %t87 + %t108 = getelementptr inbounds ptr, ptr %t106, i32 %t107 + %t109 = load ptr, ptr %t108 + %t110 = getelementptr inbounds %LSlice, ptr %t99, i32 0, i32 1 + %t111 = getelementptr inbounds %LSlice, ptr %t99, i32 0, i32 2 + %t112 = getelementptr inbounds %LSlice, ptr %t99, i32 0, i32 0 + %t113 = load i32, ptr %t110 + %t114 = load i32, ptr %t111 + %t115 = icmp sge i32 %t113, %t114 + br i1 %t115, label %grow10, label %put11 +grow10: + %t116 = mul i32 %t114, 2 + %t117 = icmp eq i32 %t114, 0 + %t118 = select i1 %t117, i32 8, i32 %t116 + %t119 = getelementptr ptr, ptr null, i32 1 + %t120 = ptrtoint ptr %t119 to i64 + %t121 = zext i32 %t118 to i64 + %t122 = mul i64 %t121, %t120 + %t123 = load ptr, ptr %t112 + %t124 = call ptr @realloc(ptr %t123, i64 %t122) + store ptr %t124, ptr %t112 + store i32 %t118, ptr %t111 + br label %put11 +put11: + %t125 = load ptr, ptr %t112 + %t126 = getelementptr inbounds ptr, ptr %t125, i32 %t113 + store ptr %t109, ptr %t126 + %t127 = add i32 %t113, 1 + store i32 %t127, ptr %t110 + %t128 = load i32, ptr %t87 + %t129 = add i32 %t128, 1 + store i32 %t129, ptr %t87 + br label %wcond7 +wend9: + %t130 = load ptr, ptr %t0 + %t131 = getelementptr inbounds %Cmp_Node, ptr %t130, i32 0, i32 4 + %t132 = load ptr, ptr %t131 + %t133 = getelementptr inbounds %Cmp_Node, ptr %t132, i32 0, i32 7 + %t134 = load ptr, ptr %t66 + store ptr %t134, ptr %t133 + %t135 = call ptr @fn_node(i32 9) + store ptr %t135, ptr %t136 + %t137 = load ptr, ptr %t136 + %t138 = getelementptr inbounds %Cmp_Node, ptr %t137, i32 0, i32 1 + %t139 = load ptr, ptr %t0 + %t140 = getelementptr inbounds %Cmp_Node, ptr %t139, i32 0, i32 1 + %t141 = load ptr, ptr %t140 + %t142 = call ptr @lp_str_concat(ptr %t141, ptr @.str639) + store ptr %t142, ptr %t138 + %t143 = load ptr, ptr %t136 + %t144 = getelementptr inbounds %Cmp_Node, ptr %t143, i32 0, i32 3 + store ptr @.str640, ptr %t144 + %t145 = load ptr, ptr %t136 + %t146 = getelementptr inbounds %Cmp_Node, ptr %t145, i32 0, i32 6 + %t147 = load ptr, ptr %t0 + store ptr %t147, ptr %t146 + %t148 = call ptr @fn_node(i32 7) + store ptr %t148, ptr %t149 + %t150 = call ptr @fn_node(i32 11) + store ptr %t150, ptr %t151 + %t152 = load ptr, ptr %t151 + %t153 = getelementptr inbounds %Cmp_Node, ptr %t152, i32 0, i32 1 + store ptr @.str641, ptr %t153 + %t154 = call ptr @fn_node(i32 33) + store ptr %t154, ptr %t155 + %t156 = load ptr, ptr %t155 + %t157 = getelementptr inbounds %Cmp_Node, ptr %t156, i32 0, i32 1 + %t158 = load ptr, ptr %t8 + store ptr %t158, ptr %t157 + %t159 = load ptr, ptr %t151 + %t160 = getelementptr inbounds %Cmp_Node, ptr %t159, i32 0, i32 4 + %t161 = load ptr, ptr %t155 + store ptr %t161, ptr %t160 + %t162 = call ptr @fn_node(i32 30) + store ptr %t162, ptr %t163 + %t164 = load ptr, ptr %t163 + %t165 = getelementptr inbounds %Cmp_Node, ptr %t164, i32 0, i32 2 + store i32 1, ptr %t165 + %t166 = load ptr, ptr %t151 + %t167 = getelementptr inbounds %Cmp_Node, ptr %t166, i32 0, i32 5 + %t168 = load ptr, ptr %t163 + store ptr %t168, ptr %t167 + %t169 = load ptr, ptr %t149 + %t170 = getelementptr inbounds %Cmp_Node, ptr %t169, i32 0, i32 7 + %t171 = load ptr, ptr %t170 + %t172 = load ptr, ptr %t151 + %t173 = getelementptr inbounds %LSlice, ptr %t171, i32 0, i32 1 + %t174 = getelementptr inbounds %LSlice, ptr %t171, i32 0, i32 2 + %t175 = getelementptr inbounds %LSlice, ptr %t171, i32 0, i32 0 + %t176 = load i32, ptr %t173 + %t177 = load i32, ptr %t174 + %t178 = icmp sge i32 %t176, %t177 + br i1 %t178, label %grow12, label %put13 +grow12: + %t179 = mul i32 %t177, 2 + %t180 = icmp eq i32 %t177, 0 + %t181 = select i1 %t180, i32 8, i32 %t179 + %t182 = getelementptr ptr, ptr null, i32 1 + %t183 = ptrtoint ptr %t182 to i64 + %t184 = zext i32 %t181 to i64 + %t185 = mul i64 %t184, %t183 + %t186 = load ptr, ptr %t175 + %t187 = call ptr @realloc(ptr %t186, i64 %t185) + store ptr %t187, ptr %t175 + store i32 %t181, ptr %t174 + br label %put13 +put13: + %t188 = load ptr, ptr %t175 + %t189 = getelementptr inbounds ptr, ptr %t188, i32 %t176 + store ptr %t172, ptr %t189 + %t190 = add i32 %t176, 1 + store i32 %t190, ptr %t173 + %t191 = call ptr @fn_node(i32 37) + store ptr %t191, ptr %t192 + %t193 = load ptr, ptr %t192 + %t194 = getelementptr inbounds %Cmp_Node, ptr %t193, i32 0, i32 1 + store ptr @.str642, ptr %t194 + %t195 = call ptr @fn_node(i32 33) + store ptr %t195, ptr %t196 + %t197 = load ptr, ptr %t196 + %t198 = getelementptr inbounds %Cmp_Node, ptr %t197, i32 0, i32 1 + %t199 = load ptr, ptr %t8 + store ptr %t199, ptr %t198 + %t200 = load ptr, ptr %t192 + %t201 = getelementptr inbounds %Cmp_Node, ptr %t200, i32 0, i32 4 + %t202 = load ptr, ptr %t196 + store ptr %t202, ptr %t201 + %t203 = call ptr @fn_node(i32 30) + store ptr %t203, ptr %t204 + %t205 = load ptr, ptr %t204 + %t206 = getelementptr inbounds %Cmp_Node, ptr %t205, i32 0, i32 2 + store i32 0, ptr %t206 + %t207 = load ptr, ptr %t192 + %t208 = getelementptr inbounds %Cmp_Node, ptr %t207, i32 0, i32 5 + %t209 = load ptr, ptr %t204 + store ptr %t209, ptr %t208 + %t210 = call ptr @fn_node(i32 12) + store ptr %t210, ptr %t211 + %t212 = load ptr, ptr %t211 + %t213 = getelementptr inbounds %Cmp_Node, ptr %t212, i32 0, i32 4 + %t214 = load ptr, ptr %t192 + store ptr %t214, ptr %t213 + %t215 = load ptr, ptr %t211 + %t216 = getelementptr inbounds %Cmp_Node, ptr %t215, i32 0, i32 5 + %t217 = call ptr @fn_node(i32 7) + store ptr %t217, ptr %t216 + %t218 = call ptr @fn_node(i32 26) + store ptr %t218, ptr %t219 + %t220 = load ptr, ptr %t219 + %t221 = getelementptr inbounds %Cmp_Node, ptr %t220, i32 0, i32 1 + %t222 = load ptr, ptr %t2 + store ptr %t222, ptr %t221 + %t223 = load ptr, ptr %t211 + %t224 = getelementptr inbounds %Cmp_Node, ptr %t223, i32 0, i32 5 + %t225 = load ptr, ptr %t224 + %t226 = getelementptr inbounds %Cmp_Node, ptr %t225, i32 0, i32 7 + %t227 = load ptr, ptr %t226 + %t228 = load ptr, ptr %t219 + %t229 = getelementptr inbounds %LSlice, ptr %t227, i32 0, i32 1 + %t230 = getelementptr inbounds %LSlice, ptr %t227, i32 0, i32 2 + %t231 = getelementptr inbounds %LSlice, ptr %t227, i32 0, i32 0 + %t232 = load i32, ptr %t229 + %t233 = load i32, ptr %t230 + %t234 = icmp sge i32 %t232, %t233 + br i1 %t234, label %grow14, label %put15 +grow14: + %t235 = mul i32 %t233, 2 + %t236 = icmp eq i32 %t233, 0 + %t237 = select i1 %t236, i32 8, i32 %t235 + %t238 = getelementptr ptr, ptr null, i32 1 + %t239 = ptrtoint ptr %t238 to i64 + %t240 = zext i32 %t237 to i64 + %t241 = mul i64 %t240, %t239 + %t242 = load ptr, ptr %t231 + %t243 = call ptr @realloc(ptr %t242, i64 %t241) + store ptr %t243, ptr %t231 + store i32 %t237, ptr %t230 + br label %put15 +put15: + %t244 = load ptr, ptr %t231 + %t245 = getelementptr inbounds ptr, ptr %t244, i32 %t232 + store ptr %t228, ptr %t245 + %t246 = add i32 %t232, 1 + store i32 %t246, ptr %t229 + %t247 = load ptr, ptr %t149 + %t248 = getelementptr inbounds %Cmp_Node, ptr %t247, i32 0, i32 7 + %t249 = load ptr, ptr %t248 + %t250 = load ptr, ptr %t211 + %t251 = getelementptr inbounds %LSlice, ptr %t249, i32 0, i32 1 + %t252 = getelementptr inbounds %LSlice, ptr %t249, i32 0, i32 2 + %t253 = getelementptr inbounds %LSlice, ptr %t249, i32 0, i32 0 + %t254 = load i32, ptr %t251 + %t255 = load i32, ptr %t252 + %t256 = icmp sge i32 %t254, %t255 + br i1 %t256, label %grow16, label %put17 +grow16: + %t257 = mul i32 %t255, 2 + %t258 = icmp eq i32 %t255, 0 + %t259 = select i1 %t258, i32 8, i32 %t257 + %t260 = getelementptr ptr, ptr null, i32 1 + %t261 = ptrtoint ptr %t260 to i64 + %t262 = zext i32 %t259 to i64 + %t263 = mul i64 %t262, %t261 + %t264 = load ptr, ptr %t253 + %t265 = call ptr @realloc(ptr %t264, i64 %t263) + store ptr %t265, ptr %t253 + store i32 %t259, ptr %t252 + br label %put17 +put17: + %t266 = load ptr, ptr %t253 + %t267 = getelementptr inbounds ptr, ptr %t266, i32 %t254 + store ptr %t250, ptr %t267 + %t268 = add i32 %t254, 1 + store i32 %t268, ptr %t251 + %t269 = load ptr, ptr %t136 + %t270 = getelementptr inbounds %Cmp_Node, ptr %t269, i32 0, i32 4 + %t271 = load ptr, ptr %t149 + store ptr %t271, ptr %t270 + %t272 = load ptr, ptr @g_prog + %t273 = load ptr, ptr %t136 + %t274 = getelementptr inbounds %LSlice, ptr %t272, i32 0, i32 1 + %t275 = getelementptr inbounds %LSlice, ptr %t272, i32 0, i32 2 + %t276 = getelementptr inbounds %LSlice, ptr %t272, i32 0, i32 0 + %t277 = load i32, ptr %t274 + %t278 = load i32, ptr %t275 + %t279 = icmp sge i32 %t277, %t278 + br i1 %t279, label %grow18, label %put19 +grow18: + %t280 = mul i32 %t278, 2 + %t281 = icmp eq i32 %t278, 0 + %t282 = select i1 %t281, i32 8, i32 %t280 + %t283 = getelementptr ptr, ptr null, i32 1 + %t284 = ptrtoint ptr %t283 to i64 + %t285 = zext i32 %t282 to i64 + %t286 = mul i64 %t285, %t284 + %t287 = load ptr, ptr %t276 + %t288 = call ptr @realloc(ptr %t287, i64 %t286) + store ptr %t288, ptr %t276 + store i32 %t282, ptr %t275 + br label %put19 +put19: + %t289 = load ptr, ptr %t276 + %t290 = getelementptr inbounds ptr, ptr %t289, i32 %t277 + store ptr %t273, ptr %t290 + %t291 = add i32 %t277, 1 + store i32 %t291, ptr %t274 + br label %ret +ret: + ret void +} + +define void @fn_ui_register_gotos() { +entry: + %t0 = alloca i32 + %t8 = alloca i32 + store i32 0, ptr %t0 + br label %wcond0 +wcond0: + %t1 = load i32, ptr %t0 + %t2 = load ptr, ptr @g_prog + %t3 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 1 + %t4 = load i32, ptr %t3 + %t5 = icmp slt i32 %t1, %t4 + %t6 = zext i1 %t5 to i32 + %t7 = icmp ne i32 %t6, 0 + br i1 %t7, label %wbody1, label %wend2 +wbody1: + %t9 = load ptr, ptr @g_prog + %t10 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0 + %t11 = load ptr, ptr %t10 + %t12 = load i32, ptr %t0 + %t13 = getelementptr inbounds ptr, ptr %t11, i32 %t12 + %t14 = load ptr, ptr %t13 + %t15 = getelementptr inbounds %Cmp_Node, ptr %t14, i32 0, i32 0 + %t16 = load i32, ptr %t15 + %t17 = icmp eq i32 %t16, 12 + %t18 = zext i1 %t17 to i32 + %t19 = icmp ne i32 %t18, 0 + %t20 = zext i1 %t19 to i32 + store i32 %t20, ptr %t8 + br i1 %t19, label %sc3, label %scend4 +sc3: + %t21 = load ptr, ptr @g_prog + %t22 = getelementptr inbounds %LSlice, ptr %t21, i32 0, i32 0 + %t23 = load ptr, ptr %t22 + %t24 = load i32, ptr %t0 + %t25 = getelementptr inbounds ptr, ptr %t23, i32 %t24 + %t26 = load ptr, ptr %t25 + %t27 = getelementptr inbounds %Cmp_Node, ptr %t26, i32 0, i32 2 + %t28 = load i32, ptr %t27 + %t29 = icmp eq i32 %t28, 1 + %t30 = zext i1 %t29 to i32 + %t31 = icmp ne i32 %t30, 0 + %t32 = zext i1 %t31 to i32 + store i32 %t32, ptr %t8 + br label %scend4 +scend4: + %t33 = load i32, ptr %t8 + %t34 = icmp ne i32 %t33, 0 + br i1 %t34, label %then5, label %ifend7 +then5: + %t35 = load ptr, ptr @g_prog + %t36 = getelementptr inbounds %LSlice, ptr %t35, i32 0, i32 0 + %t37 = load ptr, ptr %t36 + %t38 = load i32, ptr %t0 + %t39 = getelementptr inbounds ptr, ptr %t37, i32 %t38 + %t40 = load ptr, ptr %t39 + %t41 = getelementptr inbounds %Cmp_Node, ptr %t40, i32 0, i32 4 + %t42 = load ptr, ptr %t41 + call void @fn_ui_gotos_in(ptr %t42) + br label %ifend7 +ifend7: + %t43 = load i32, ptr %t0 + %t44 = add i32 %t43, 1 + store i32 %t44, ptr %t0 + br label %wcond0 +wend2: + br label %ret +ret: + ret void +} + +define void @fn_ui_gotos_in(ptr %arg_w) { +entry: + %t0 = alloca ptr + %t1 = alloca ptr + %t2 = alloca ptr + %t3 = alloca i32 + %t25 = alloca ptr + %t26 = alloca i32 + %t49 = alloca i32 + %t74 = alloca i32 + %t88 = alloca ptr + %t90 = alloca ptr + %t94 = alloca ptr + %t101 = alloca ptr + %t110 = alloca ptr + %t118 = alloca ptr + %t169 = alloca i32 + store ptr %arg_w, ptr %t0 + store ptr null, ptr %t1 + store ptr null, ptr %t2 + store i32 0, ptr %t3 + br label %wcond0 +wcond0: + %t4 = load i32, ptr %t3 + %t5 = load ptr, ptr %t0 + %t6 = getelementptr inbounds %Cmp_Node, ptr %t5, i32 0, i32 5 + %t7 = load ptr, ptr %t6 + %t8 = getelementptr inbounds %Cmp_Node, ptr %t7, i32 0, i32 7 + %t9 = load ptr, ptr %t8 + %t10 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 1 + %t11 = load i32, ptr %t10 + %t12 = icmp slt i32 %t4, %t11 + %t13 = zext i1 %t12 to i32 + %t14 = icmp ne i32 %t13, 0 + br i1 %t14, label %wbody1, label %wend2 +wbody1: + %t15 = load ptr, ptr %t0 + %t16 = getelementptr inbounds %Cmp_Node, ptr %t15, i32 0, i32 5 + %t17 = load ptr, ptr %t16 + %t18 = getelementptr inbounds %Cmp_Node, ptr %t17, i32 0, i32 7 + %t19 = load ptr, ptr %t18 + %t20 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 0 + %t21 = load ptr, ptr %t20 + %t22 = load i32, ptr %t3 + %t23 = getelementptr inbounds ptr, ptr %t21, i32 %t22 + %t24 = load ptr, ptr %t23 + store ptr %t24, ptr %t25 + %t27 = load ptr, ptr %t25 + %t28 = getelementptr inbounds %Cmp_Node, ptr %t27, i32 0, i32 1 + %t29 = load ptr, ptr %t28 + %t30 = call i32 @lp_str_eq(ptr %t29, ptr @.str643) + %t31 = icmp ne i32 %t30, 0 + %t32 = zext i1 %t31 to i32 + store i32 %t32, ptr %t26 + br i1 %t31, label %sc3, label %scend4 +sc3: + %t33 = load ptr, ptr %t25 + %t34 = getelementptr inbounds %Cmp_Node, ptr %t33, i32 0, i32 4 + %t35 = load ptr, ptr %t34 + %t36 = getelementptr inbounds %Cmp_Node, ptr %t35, i32 0, i32 0 + %t37 = load i32, ptr %t36 + %t38 = icmp eq i32 %t37, 33 + %t39 = zext i1 %t38 to i32 + %t40 = icmp ne i32 %t39, 0 + %t41 = zext i1 %t40 to i32 + store i32 %t41, ptr %t26 + br label %scend4 +scend4: + %t42 = load i32, ptr %t26 + %t43 = icmp ne i32 %t42, 0 + br i1 %t43, label %then5, label %ifend7 +then5: + %t44 = load ptr, ptr %t25 + %t45 = getelementptr inbounds %Cmp_Node, ptr %t44, i32 0, i32 4 + %t46 = load ptr, ptr %t45 + %t47 = getelementptr inbounds %Cmp_Node, ptr %t46, i32 0, i32 1 + %t48 = load ptr, ptr %t47 + store ptr %t48, ptr %t1 + br label %ifend7 +ifend7: + %t50 = load ptr, ptr %t25 + %t51 = getelementptr inbounds %Cmp_Node, ptr %t50, i32 0, i32 1 + %t52 = load ptr, ptr %t51 + %t53 = call i32 @lp_str_eq(ptr %t52, ptr @.str644) + %t54 = icmp ne i32 %t53, 0 + %t55 = zext i1 %t54 to i32 + store i32 %t55, ptr %t49 + br i1 %t54, label %sc8, label %scend9 +sc8: + %t56 = load ptr, ptr %t25 + %t57 = getelementptr inbounds %Cmp_Node, ptr %t56, i32 0, i32 4 + %t58 = load ptr, ptr %t57 + %t59 = getelementptr inbounds %Cmp_Node, ptr %t58, i32 0, i32 0 + %t60 = load i32, ptr %t59 + %t61 = icmp eq i32 %t60, 33 + %t62 = zext i1 %t61 to i32 + %t63 = icmp ne i32 %t62, 0 + %t64 = zext i1 %t63 to i32 + store i32 %t64, ptr %t49 + br label %scend9 +scend9: + %t65 = load i32, ptr %t49 + %t66 = icmp ne i32 %t65, 0 + br i1 %t66, label %then10, label %ifend12 +then10: + %t67 = load ptr, ptr %t25 + %t68 = getelementptr inbounds %Cmp_Node, ptr %t67, i32 0, i32 4 + %t69 = load ptr, ptr %t68 + %t70 = getelementptr inbounds %Cmp_Node, ptr %t69, i32 0, i32 1 + %t71 = load ptr, ptr %t70 + store ptr %t71, ptr %t2 + br label %ifend12 +ifend12: + %t72 = load i32, ptr %t3 + %t73 = add i32 %t72, 1 + store i32 %t73, ptr %t3 + br label %wcond0 +wend2: + %t75 = load ptr, ptr %t1 + %t76 = icmp ne ptr %t75, null + %t77 = zext i1 %t76 to i32 + %t78 = icmp ne i32 %t77, 0 + %t79 = zext i1 %t78 to i32 + store i32 %t79, ptr %t74 + br i1 %t78, label %sc13, label %scend14 +sc13: + %t80 = load ptr, ptr %t2 + %t81 = icmp ne ptr %t80, null + %t82 = zext i1 %t81 to i32 + %t83 = icmp ne i32 %t82, 0 + %t84 = zext i1 %t83 to i32 + store i32 %t84, ptr %t74 + br label %scend14 +scend14: + %t85 = load i32, ptr %t74 + %t86 = icmp ne i32 %t85, 0 + br i1 %t86, label %then15, label %ifend17 +then15: + %t87 = call ptr @fn_node(i32 7) + store ptr %t87, ptr %t88 + %t89 = call ptr @fn_node(i32 37) + store ptr %t89, ptr %t90 + %t91 = load ptr, ptr %t90 + %t92 = getelementptr inbounds %Cmp_Node, ptr %t91, i32 0, i32 1 + store ptr @.str645, ptr %t92 + %t93 = call ptr @fn_node(i32 33) + store ptr %t93, ptr %t94 + %t95 = load ptr, ptr %t94 + %t96 = getelementptr inbounds %Cmp_Node, ptr %t95, i32 0, i32 1 + store ptr @.str646, ptr %t96 + %t97 = load ptr, ptr %t90 + %t98 = getelementptr inbounds %Cmp_Node, ptr %t97, i32 0, i32 4 + %t99 = load ptr, ptr %t94 + store ptr %t99, ptr %t98 + %t100 = call ptr @fn_node(i32 33) + store ptr %t100, ptr %t101 + %t102 = load ptr, ptr %t101 + %t103 = getelementptr inbounds %Cmp_Node, ptr %t102, i32 0, i32 1 + %t104 = load ptr, ptr %t1 + %t105 = call ptr @lp_str_concat(ptr @.str647, ptr %t104) + store ptr %t105, ptr %t103 + %t106 = load ptr, ptr %t90 + %t107 = getelementptr inbounds %Cmp_Node, ptr %t106, i32 0, i32 5 + %t108 = load ptr, ptr %t101 + store ptr %t108, ptr %t107 + %t109 = call ptr @fn_node(i32 12) + store ptr %t109, ptr %t110 + %t111 = load ptr, ptr %t110 + %t112 = getelementptr inbounds %Cmp_Node, ptr %t111, i32 0, i32 4 + %t113 = load ptr, ptr %t90 + store ptr %t113, ptr %t112 + %t114 = load ptr, ptr %t110 + %t115 = getelementptr inbounds %Cmp_Node, ptr %t114, i32 0, i32 5 + %t116 = call ptr @fn_node(i32 7) + store ptr %t116, ptr %t115 + %t117 = call ptr @fn_node(i32 26) + store ptr %t117, ptr %t118 + %t119 = load ptr, ptr %t118 + %t120 = getelementptr inbounds %Cmp_Node, ptr %t119, i32 0, i32 1 + %t121 = load ptr, ptr %t2 + store ptr %t121, ptr %t120 + %t122 = load ptr, ptr %t110 + %t123 = getelementptr inbounds %Cmp_Node, ptr %t122, i32 0, i32 5 + %t124 = load ptr, ptr %t123 + %t125 = getelementptr inbounds %Cmp_Node, ptr %t124, i32 0, i32 7 + %t126 = load ptr, ptr %t125 + %t127 = load ptr, ptr %t118 + %t128 = getelementptr inbounds %LSlice, ptr %t126, i32 0, i32 1 + %t129 = getelementptr inbounds %LSlice, ptr %t126, i32 0, i32 2 + %t130 = getelementptr inbounds %LSlice, ptr %t126, i32 0, i32 0 + %t131 = load i32, ptr %t128 + %t132 = load i32, ptr %t129 + %t133 = icmp sge i32 %t131, %t132 + br i1 %t133, label %grow18, label %put19 +grow18: + %t134 = mul i32 %t132, 2 + %t135 = icmp eq i32 %t132, 0 + %t136 = select i1 %t135, i32 8, i32 %t134 + %t137 = getelementptr ptr, ptr null, i32 1 + %t138 = ptrtoint ptr %t137 to i64 + %t139 = zext i32 %t136 to i64 + %t140 = mul i64 %t139, %t138 + %t141 = load ptr, ptr %t130 + %t142 = call ptr @realloc(ptr %t141, i64 %t140) + store ptr %t142, ptr %t130 + store i32 %t136, ptr %t129 + br label %put19 +put19: + %t143 = load ptr, ptr %t130 + %t144 = getelementptr inbounds ptr, ptr %t143, i32 %t131 + store ptr %t127, ptr %t144 + %t145 = add i32 %t131, 1 + store i32 %t145, ptr %t128 + %t146 = load ptr, ptr %t88 + %t147 = getelementptr inbounds %Cmp_Node, ptr %t146, i32 0, i32 7 + %t148 = load ptr, ptr %t147 + %t149 = load ptr, ptr %t110 + %t150 = getelementptr inbounds %LSlice, ptr %t148, i32 0, i32 1 + %t151 = getelementptr inbounds %LSlice, ptr %t148, i32 0, i32 2 + %t152 = getelementptr inbounds %LSlice, ptr %t148, i32 0, i32 0 + %t153 = load i32, ptr %t150 + %t154 = load i32, ptr %t151 + %t155 = icmp sge i32 %t153, %t154 + br i1 %t155, label %grow20, label %put21 +grow20: + %t156 = mul i32 %t154, 2 + %t157 = icmp eq i32 %t154, 0 + %t158 = select i1 %t157, i32 8, i32 %t156 + %t159 = getelementptr ptr, ptr null, i32 1 + %t160 = ptrtoint ptr %t159 to i64 + %t161 = zext i32 %t158 to i64 + %t162 = mul i64 %t161, %t160 + %t163 = load ptr, ptr %t152 + %t164 = call ptr @realloc(ptr %t163, i64 %t162) + store ptr %t164, ptr %t152 + store i32 %t158, ptr %t151 + br label %put21 +put21: + %t165 = load ptr, ptr %t152 + %t166 = getelementptr inbounds ptr, ptr %t165, i32 %t153 + store ptr %t149, ptr %t166 + %t167 = add i32 %t153, 1 + store i32 %t167, ptr %t150 + %t168 = load ptr, ptr %t88 + call void @fn_register_onlisten(ptr @.str648, ptr %t168) + br label %ifend17 +ifend17: + store i32 0, ptr %t169 + br label %wcond22 +wcond22: + %t170 = load i32, ptr %t169 + %t171 = load ptr, ptr %t0 + %t172 = getelementptr inbounds %Cmp_Node, ptr %t171, i32 0, i32 7 + %t173 = load ptr, ptr %t172 + %t174 = getelementptr inbounds %LSlice, ptr %t173, i32 0, i32 1 + %t175 = load i32, ptr %t174 + %t176 = icmp slt i32 %t170, %t175 + %t177 = zext i1 %t176 to i32 + %t178 = icmp ne i32 %t177, 0 + br i1 %t178, label %wbody23, label %wend24 +wbody23: + %t179 = load ptr, ptr %t0 + %t180 = getelementptr inbounds %Cmp_Node, ptr %t179, i32 0, i32 7 + %t181 = load ptr, ptr %t180 + %t182 = getelementptr inbounds %LSlice, ptr %t181, i32 0, i32 0 + %t183 = load ptr, ptr %t182 + %t184 = load i32, ptr %t169 + %t185 = getelementptr inbounds ptr, ptr %t183, i32 %t184 + %t186 = load ptr, ptr %t185 + call void @fn_ui_gotos_in(ptr %t186) + %t187 = load i32, ptr %t169 + %t188 = add i32 %t187, 1 + store i32 %t188, ptr %t169 + br label %wcond22 +wend24: + br label %ret +ret: + ret void +} + +define ptr @fn_parse_enum() { +entry: + %retval = alloca ptr + %t3 = alloca ptr + %t11 = alloca ptr + %t24 = alloca ptr + %t0 = load i32, ptr @g_pi + %t1 = add i32 %t0, 1 + store i32 %t1, ptr @g_pi + %t2 = call ptr @fn_node(i32 27) + store ptr %t2, ptr %t3 + %t4 = load ptr, ptr %t3 + %t5 = getelementptr inbounds %Cmp_Node, ptr %t4, i32 0, i32 1 + %t6 = call ptr @fn_eat_id() + store ptr %t6, ptr %t5 + call void @fn_skipnl() + call void @fn_eat_op(ptr @.str649) + 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 @.str650) + %t9 = icmp ne i32 %t8, 0 + br i1 %t9, label %then3, label %ifend5 +then3: + br label %wend2 +ifend5: + %t10 = call ptr @fn_node(i32 33) + store ptr %t10, ptr %t11 + %t12 = load ptr, ptr %t11 + %t13 = getelementptr inbounds %Cmp_Node, ptr %t12, i32 0, i32 1 + %t14 = call ptr @fn_eat_id() + store ptr %t14, ptr %t13 + %t15 = call i32 @fn_is_op(ptr @.str651) + %t16 = icmp ne i32 %t15, 0 + br i1 %t16, label %then6, label %ifend8 +then6: + %t17 = load i32, ptr @g_pi + %t18 = add i32 %t17, 1 + store i32 %t18, ptr @g_pi + call void @fn_skipnl() + br label %wcond9 +wcond9: + %t19 = call i32 @fn_is_op(ptr @.str652) + %t20 = icmp eq i32 %t19, 0 + %t21 = zext i1 %t20 to i32 + %t22 = icmp ne i32 %t21, 0 + br i1 %t22, label %wbody10, label %wend11 +wbody10: + %t23 = call ptr @fn_node(i32 5) + store ptr %t23, ptr %t24 + %t25 = load ptr, ptr %t24 + %t26 = getelementptr inbounds %Cmp_Node, ptr %t25, i32 0, i32 3 + %t27 = call ptr @fn_ptype() + store ptr %t27, ptr %t26 + %t28 = load ptr, ptr %t11 + %t29 = getelementptr inbounds %Cmp_Node, ptr %t28, i32 0, i32 7 + %t30 = load ptr, ptr %t29 + %t31 = load ptr, ptr %t24 + %t32 = getelementptr inbounds %LSlice, ptr %t30, i32 0, i32 1 + %t33 = getelementptr inbounds %LSlice, ptr %t30, i32 0, i32 2 + %t34 = getelementptr inbounds %LSlice, ptr %t30, i32 0, i32 0 + %t35 = load i32, ptr %t32 + %t36 = load i32, ptr %t33 + %t37 = icmp sge i32 %t35, %t36 + br i1 %t37, label %grow12, label %put13 +grow12: + %t38 = mul i32 %t36, 2 + %t39 = icmp eq i32 %t36, 0 + %t40 = select i1 %t39, i32 8, i32 %t38 + %t41 = getelementptr ptr, ptr null, i32 1 + %t42 = ptrtoint ptr %t41 to i64 + %t43 = zext i32 %t40 to i64 + %t44 = mul i64 %t43, %t42 + %t45 = load ptr, ptr %t34 + %t46 = call ptr @realloc(ptr %t45, i64 %t44) + store ptr %t46, ptr %t34 + store i32 %t40, ptr %t33 + br label %put13 +put13: + %t47 = load ptr, ptr %t34 + %t48 = getelementptr inbounds ptr, ptr %t47, i32 %t35 + store ptr %t31, ptr %t48 + %t49 = add i32 %t35, 1 + store i32 %t49, ptr %t32 + %t50 = call i32 @fn_is_op(ptr @.str653) + %t51 = icmp ne i32 %t50, 0 + br i1 %t51, label %then14, label %ifend16 +then14: + %t52 = load i32, ptr @g_pi + %t53 = add i32 %t52, 1 + store i32 %t53, ptr @g_pi + br label %ifend16 +ifend16: + call void @fn_skipnl() + br label %wcond9 +wend11: + call void @fn_eat_op(ptr @.str654) + br label %ifend8 +ifend8: + %t54 = load ptr, ptr %t3 + %t55 = getelementptr inbounds %Cmp_Node, ptr %t54, i32 0, i32 7 + %t56 = load ptr, ptr %t55 + %t57 = load ptr, ptr %t11 + %t58 = getelementptr inbounds %LSlice, ptr %t56, i32 0, i32 1 + %t59 = getelementptr inbounds %LSlice, ptr %t56, i32 0, i32 2 + %t60 = getelementptr inbounds %LSlice, ptr %t56, i32 0, i32 0 + %t61 = load i32, ptr %t58 + %t62 = load i32, ptr %t59 + %t63 = icmp sge i32 %t61, %t62 + br i1 %t63, label %grow17, label %put18 +grow17: + %t64 = mul i32 %t62, 2 + %t65 = icmp eq i32 %t62, 0 + %t66 = select i1 %t65, i32 8, i32 %t64 + %t67 = getelementptr ptr, ptr null, i32 1 + %t68 = ptrtoint ptr %t67 to i64 + %t69 = zext i32 %t66 to i64 + %t70 = mul i64 %t69, %t68 + %t71 = load ptr, ptr %t60 + %t72 = call ptr @realloc(ptr %t71, i64 %t70) + store ptr %t72, ptr %t60 + store i32 %t66, ptr %t59 + br label %put18 +put18: + %t73 = load ptr, ptr %t60 + %t74 = getelementptr inbounds ptr, ptr %t73, i32 %t61 + store ptr %t57, ptr %t74 + %t75 = add i32 %t61, 1 + store i32 %t75, ptr %t58 + %t76 = call i32 @fn_is_op(ptr @.str655) + %t77 = icmp ne i32 %t76, 0 + br i1 %t77, label %then19, label %ifend21 +then19: + %t78 = load i32, ptr @g_pi + %t79 = add i32 %t78, 1 + store i32 %t79, ptr @g_pi + br label %ifend21 +ifend21: + call void @fn_skipnl() + br label %wcond0 +wend2: + call void @fn_eat_op(ptr @.str656) + %t80 = load ptr, ptr %t3 + store ptr %t80, ptr %retval + br label %ret +ret: + %t81 = load ptr, ptr %retval + ret ptr %t81 +} + +define ptr @fn_parse_archetype() { +entry: + %retval = alloca ptr + %t3 = alloca ptr + %t11 = alloca ptr + %t17 = alloca ptr + %t0 = load i32, ptr @g_pi + %t1 = add i32 %t0, 1 + store i32 %t1, ptr @g_pi + %t2 = call ptr @fn_node(i32 10) + store ptr %t2, ptr %t3 + %t4 = load ptr, ptr %t3 + %t5 = getelementptr inbounds %Cmp_Node, ptr %t4, i32 0, i32 1 + %t6 = call ptr @fn_eat_id() + store ptr %t6, ptr %t5 + call void @fn_skipnl() + call void @fn_eat_op(ptr @.str657) + 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 @.str658) + %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 @.str659) + %t13 = icmp ne i32 %t12, 0 + br i1 %t13, label %then6, label %ifend8 +then6: + %t14 = load i32, ptr @g_pi + %t15 = add i32 %t14, 1 + store i32 %t15, ptr @g_pi + %t16 = call ptr @fn_eat_id() + store ptr %t16, ptr %t17 + %t18 = load ptr, ptr %t17 + %t19 = call i32 @lp_str_eq(ptr %t18, ptr @.str660) + %t20 = icmp ne i32 %t19, 0 + br i1 %t20, label %then9, label %ifend11 +then9: + %t21 = load ptr, ptr %t11 + %t22 = getelementptr inbounds %Cmp_Node, ptr %t21, i32 0, i32 2 + store i32 1, ptr %t22 + br label %ifend11 +ifend11: + call void @fn_skipnl() + br label %ifend8 +ifend8: + %t23 = load ptr, ptr %t11 + %t24 = getelementptr inbounds %Cmp_Node, ptr %t23, i32 0, i32 1 + %t25 = call ptr @fn_eat_id() + store ptr %t25, ptr %t24 + %t26 = load ptr, ptr %t3 + %t27 = getelementptr inbounds %Cmp_Node, ptr %t26, i32 0, i32 7 + %t28 = load ptr, ptr %t27 + %t29 = load ptr, ptr %t11 + %t30 = getelementptr inbounds %LSlice, ptr %t28, i32 0, i32 1 + %t31 = getelementptr inbounds %LSlice, ptr %t28, i32 0, i32 2 + %t32 = getelementptr inbounds %LSlice, ptr %t28, i32 0, i32 0 + %t33 = load i32, ptr %t30 + %t34 = load i32, ptr %t31 + %t35 = icmp sge i32 %t33, %t34 + br i1 %t35, label %grow12, label %put13 +grow12: + %t36 = mul i32 %t34, 2 + %t37 = icmp eq i32 %t34, 0 + %t38 = select i1 %t37, i32 8, i32 %t36 + %t39 = getelementptr ptr, ptr null, i32 1 + %t40 = ptrtoint ptr %t39 to i64 + %t41 = zext i32 %t38 to i64 + %t42 = mul i64 %t41, %t40 + %t43 = load ptr, ptr %t32 + %t44 = call ptr @realloc(ptr %t43, i64 %t42) + store ptr %t44, ptr %t32 + store i32 %t38, ptr %t31 + br label %put13 +put13: + %t45 = load ptr, ptr %t32 + %t46 = getelementptr inbounds ptr, ptr %t45, i32 %t33 + store ptr %t29, ptr %t46 + %t47 = add i32 %t33, 1 + store i32 %t47, ptr %t30 + %t48 = call i32 @fn_is_op(ptr @.str661) + %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 @.str662) + %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 @.str663) + br label %wcond0 +wcond0: + %t9 = call i32 @fn_is_op(ptr @.str664) + %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 @.str665) + %t18 = load ptr, ptr %t14 + %t19 = getelementptr inbounds %Cmp_Node, ptr %t18, i32 0, i32 3 + %t20 = call ptr @fn_ptype() + store ptr %t20, ptr %t19 + %t21 = load ptr, ptr %t5 + %t22 = getelementptr inbounds %Cmp_Node, ptr %t21, i32 0, i32 7 + %t23 = load ptr, ptr %t22 + %t24 = load ptr, ptr %t14 + %t25 = getelementptr inbounds %LSlice, ptr %t23, i32 0, i32 1 + %t26 = getelementptr inbounds %LSlice, ptr %t23, i32 0, i32 2 + %t27 = getelementptr inbounds %LSlice, ptr %t23, i32 0, i32 0 + %t28 = load i32, ptr %t25 + %t29 = load i32, ptr %t26 + %t30 = icmp sge i32 %t28, %t29 + br i1 %t30, label %grow3, label %put4 +grow3: + %t31 = mul i32 %t29, 2 + %t32 = icmp eq i32 %t29, 0 + %t33 = select i1 %t32, i32 8, i32 %t31 + %t34 = getelementptr ptr, ptr null, i32 1 + %t35 = ptrtoint ptr %t34 to i64 + %t36 = zext i32 %t33 to i64 + %t37 = mul i64 %t36, %t35 + %t38 = load ptr, ptr %t27 + %t39 = call ptr @realloc(ptr %t38, i64 %t37) + store ptr %t39, ptr %t27 + store i32 %t33, ptr %t26 + br label %put4 +put4: + %t40 = load ptr, ptr %t27 + %t41 = getelementptr inbounds ptr, ptr %t40, i32 %t28 + store ptr %t24, ptr %t41 + %t42 = add i32 %t28, 1 + store i32 %t42, ptr %t25 + %t43 = call i32 @fn_is_op(ptr @.str666) + %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 @.str667) + %t47 = load ptr, ptr %t5 + %t48 = getelementptr inbounds %Cmp_Node, ptr %t47, i32 0, i32 3 + store ptr @.str668, ptr %t48 + %t49 = call i32 @fn_is_op(ptr @.str669) + %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 @.str670) + %t56 = load ptr, ptr @g_toks + %t57 = getelementptr inbounds %LSlice, ptr %t56, i32 0, i32 0 + %t58 = load ptr, ptr %t57 + %t59 = load i32, ptr @g_pi + %t60 = getelementptr inbounds ptr, ptr %t58, i32 %t59 + %t61 = load ptr, ptr %t60 + store ptr %t61, ptr %t62 + %t63 = load ptr, ptr %t5 + %t64 = getelementptr inbounds %Cmp_Node, ptr %t63, i32 0, i32 4 + %t65 = call ptr @fn_node(i32 31) + store ptr %t65, ptr %t64 + %t66 = load ptr, ptr %t5 + %t67 = getelementptr inbounds %Cmp_Node, ptr %t66, i32 0, i32 4 + %t68 = load ptr, ptr %t67 + %t69 = getelementptr inbounds %Cmp_Node, ptr %t68, i32 0, i32 1 + %t70 = load ptr, ptr %t62 + %t71 = getelementptr inbounds %Cmp_Tok, ptr %t70, i32 0, i32 1 + %t72 = load ptr, ptr %t71 + store ptr %t72, ptr %t69 + %t73 = load i32, ptr @g_pi + %t74 = add i32 %t73, 1 + store i32 %t74, ptr @g_pi + %t75 = load ptr, ptr %t5 + store ptr %t75, ptr %retval + br label %ret +ret: + %t76 = load ptr, ptr %retval + ret ptr %t76 +} + +define ptr @fn_parse_widget() { +entry: + %retval = alloca ptr + %t1 = alloca ptr + %t8 = alloca i32 + %t9 = alloca i32 + %t53 = alloca ptr + %t0 = call ptr @fn_node(i32 12) + store ptr %t0, ptr %t1 + %t2 = load ptr, ptr %t1 + %t3 = getelementptr inbounds %Cmp_Node, ptr %t2, i32 0, i32 1 + %t4 = call ptr @fn_eat_id() + store ptr %t4, ptr %t3 + %t5 = load ptr, ptr %t1 + %t6 = getelementptr inbounds %Cmp_Node, ptr %t5, i32 0, i32 5 + %t7 = call ptr @fn_node(i32 7) + store ptr %t7, ptr %t6 + br label %wcond0 +wcond0: + %t10 = load ptr, ptr @g_toks + %t11 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 0 + %t12 = load ptr, ptr %t11 + %t13 = load i32, ptr @g_pi + %t14 = getelementptr inbounds ptr, ptr %t12, i32 %t13 + %t15 = load ptr, ptr %t14 + %t16 = getelementptr inbounds %Cmp_Tok, ptr %t15, i32 0, i32 0 + %t17 = load i32, ptr %t16 + %t18 = icmp eq i32 %t17, 0 + %t19 = zext i1 %t18 to i32 + %t20 = icmp ne i32 %t19, 0 + %t21 = zext i1 %t20 to i32 + store i32 %t21, ptr %t9 + br i1 %t20, label %sc3, label %scend4 +sc3: + %t22 = load ptr, ptr @g_toks + %t23 = getelementptr inbounds %LSlice, ptr %t22, i32 0, i32 0 + %t24 = load ptr, ptr %t23 + %t25 = load i32, ptr @g_pi + %t26 = add i32 %t25, 1 + %t27 = getelementptr inbounds ptr, ptr %t24, i32 %t26 + %t28 = load ptr, ptr %t27 + %t29 = getelementptr inbounds %Cmp_Tok, ptr %t28, i32 0, i32 0 + %t30 = load i32, ptr %t29 + %t31 = icmp eq i32 %t30, 3 + %t32 = zext i1 %t31 to i32 + %t33 = icmp ne i32 %t32, 0 + %t34 = zext i1 %t33 to i32 + store i32 %t34, ptr %t9 + br label %scend4 +scend4: + %t35 = load i32, ptr %t9 + %t36 = icmp ne i32 %t35, 0 + %t37 = zext i1 %t36 to i32 + store i32 %t37, ptr %t8 + br i1 %t36, label %sc5, label %scend6 +sc5: + %t38 = load ptr, ptr @g_toks + %t39 = getelementptr inbounds %LSlice, ptr %t38, i32 0, i32 0 + %t40 = load ptr, ptr %t39 + %t41 = load i32, ptr @g_pi + %t42 = add i32 %t41, 1 + %t43 = getelementptr inbounds ptr, ptr %t40, i32 %t42 + %t44 = load ptr, ptr %t43 + %t45 = getelementptr inbounds %Cmp_Tok, ptr %t44, i32 0, i32 1 + %t46 = load ptr, ptr %t45 + %t47 = call i32 @lp_str_eq(ptr %t46, ptr @.str671) + %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 @.str672) + %t57 = load ptr, ptr %t53 + %t58 = getelementptr inbounds %Cmp_Node, ptr %t57, i32 0, i32 4 + %t59 = call ptr @fn_expr() + store ptr %t59, ptr %t58 + %t60 = load ptr, ptr %t1 + %t61 = getelementptr inbounds %Cmp_Node, ptr %t60, i32 0, i32 5 + %t62 = load ptr, ptr %t61 + %t63 = getelementptr inbounds %Cmp_Node, ptr %t62, i32 0, i32 7 + %t64 = load ptr, ptr %t63 + %t65 = load ptr, ptr %t53 + %t66 = getelementptr inbounds %LSlice, ptr %t64, i32 0, i32 1 + %t67 = getelementptr inbounds %LSlice, ptr %t64, i32 0, i32 2 + %t68 = getelementptr inbounds %LSlice, ptr %t64, i32 0, i32 0 + %t69 = load i32, ptr %t66 + %t70 = load i32, ptr %t67 + %t71 = icmp sge i32 %t69, %t70 + br i1 %t71, label %grow7, label %put8 +grow7: + %t72 = mul i32 %t70, 2 + %t73 = icmp eq i32 %t70, 0 + %t74 = select i1 %t73, i32 8, i32 %t72 + %t75 = getelementptr ptr, ptr null, i32 1 + %t76 = ptrtoint ptr %t75 to i64 + %t77 = zext i32 %t74 to i64 + %t78 = mul i64 %t77, %t76 + %t79 = load ptr, ptr %t68 + %t80 = call ptr @realloc(ptr %t79, i64 %t78) + store ptr %t80, ptr %t68 + store i32 %t74, ptr %t67 + br label %put8 +put8: + %t81 = load ptr, ptr %t68 + %t82 = getelementptr inbounds ptr, ptr %t81, i32 %t69 + store ptr %t65, ptr %t82 + %t83 = add i32 %t69, 1 + store i32 %t83, ptr %t66 + br label %wcond0 +wend2: + call void @fn_skipnl() + %t84 = call i32 @fn_is_op(ptr @.str673) + %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 @.str674) + %t90 = icmp ne i32 %t89, 0 + br i1 %t90, label %then15, label %ifend17 +then15: + br label %wend14 +ifend17: + %t91 = load ptr, ptr %t1 + %t92 = getelementptr inbounds %Cmp_Node, ptr %t91, i32 0, i32 7 + %t93 = load ptr, ptr %t92 + %t94 = call ptr @fn_parse_widget() + %t95 = getelementptr inbounds %LSlice, ptr %t93, i32 0, i32 1 + %t96 = getelementptr inbounds %LSlice, ptr %t93, i32 0, i32 2 + %t97 = getelementptr inbounds %LSlice, ptr %t93, i32 0, i32 0 + %t98 = load i32, ptr %t95 + %t99 = load i32, ptr %t96 + %t100 = icmp sge i32 %t98, %t99 + br i1 %t100, label %grow18, label %put19 +grow18: + %t101 = mul i32 %t99, 2 + %t102 = icmp eq i32 %t99, 0 + %t103 = select i1 %t102, i32 8, i32 %t101 + %t104 = getelementptr ptr, ptr null, i32 1 + %t105 = ptrtoint ptr %t104 to i64 + %t106 = zext i32 %t103 to i64 + %t107 = mul i64 %t106, %t105 + %t108 = load ptr, ptr %t97 + %t109 = call ptr @realloc(ptr %t108, i64 %t107) + store ptr %t109, ptr %t97 + store i32 %t103, ptr %t96 + br label %put19 +put19: + %t110 = load ptr, ptr %t97 + %t111 = getelementptr inbounds ptr, ptr %t110, i32 %t98 + store ptr %t94, ptr %t111 + %t112 = add i32 %t98, 1 + store i32 %t112, ptr %t95 + br label %wcond12 +wend14: + call void @fn_eat_op(ptr @.str675) + 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 @.str676) + 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 @.str677) + %t12 = load ptr, ptr %t3 + store ptr %t12, ptr %retval + br label %ret +ret: + %t13 = load ptr, ptr %retval + ret ptr %t13 +} + +define ptr @fn_val(ptr %arg_code, ptr %arg_ty) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t1 = alloca ptr + %t7 = alloca ptr + store ptr %arg_code, ptr %t0 + store ptr %arg_ty, ptr %t1 + %t2 = getelementptr %Cmp_Val, ptr null, i32 1 + %t3 = ptrtoint ptr %t2 to i64 + %t4 = call ptr @malloc(i64 %t3) + %t5 = getelementptr inbounds %Cmp_Val, ptr %t4, i32 0, i32 0 + store ptr null, ptr %t5 + %t6 = getelementptr inbounds %Cmp_Val, ptr %t4, i32 0, i32 1 + store ptr null, ptr %t6 + store ptr %t4, ptr %t7 + %t8 = load ptr, ptr %t7 + %t9 = getelementptr inbounds %Cmp_Val, ptr %t8, i32 0, i32 0 + %t10 = load ptr, ptr %t0 + store ptr %t10, ptr %t9 + %t11 = load ptr, ptr %t7 + %t12 = getelementptr inbounds %Cmp_Val, ptr %t11, i32 0, i32 1 + %t13 = load ptr, ptr %t1 + store ptr %t13, ptr %t12 + %t14 = load ptr, ptr %t7 + store ptr %t14, ptr %retval + br label %ret +ret: + %t15 = load ptr, ptr %retval + ret ptr %t15 +} + +define i32 @fn_cov_slot(i32 %arg_line) { +entry: + %retval = alloca i32 + %t0 = alloca i32 + %t1 = alloca i32 + store i32 %arg_line, ptr %t0 + store i32 0, ptr %t1 + br label %wcond0 +wcond0: + %t2 = load i32, ptr %t1 + %t3 = load ptr, ptr @g_g_cov_lines + %t4 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 1 + %t5 = load i32, ptr %t4 + %t6 = icmp slt i32 %t2, %t5 + %t7 = zext i1 %t6 to i32 + %t8 = icmp ne i32 %t7, 0 + br i1 %t8, label %wbody1, label %wend2 +wbody1: + %t9 = load ptr, ptr @g_g_cov_lines + %t10 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0 + %t11 = load ptr, ptr %t10 + %t12 = load i32, ptr %t1 + %t13 = getelementptr inbounds i32, ptr %t11, i32 %t12 + %t14 = load i32, ptr %t13 + %t15 = load i32, ptr %t0 + %t16 = icmp eq i32 %t14, %t15 + %t17 = zext i1 %t16 to i32 + %t18 = icmp ne i32 %t17, 0 + br i1 %t18, label %then3, label %ifend5 +then3: + %t19 = load i32, ptr %t1 + store i32 %t19, ptr %retval + br label %ret +ifend5: + %t20 = load i32, ptr %t1 + %t21 = add i32 %t20, 1 + store i32 %t21, ptr %t1 + br label %wcond0 +wend2: + %t22 = load ptr, ptr @g_g_cov_lines + %t23 = load i32, ptr %t0 + %t24 = getelementptr inbounds %LSlice, ptr %t22, i32 0, i32 1 + %t25 = getelementptr inbounds %LSlice, ptr %t22, i32 0, i32 2 + %t26 = getelementptr inbounds %LSlice, ptr %t22, i32 0, i32 0 + %t27 = load i32, ptr %t24 + %t28 = load i32, ptr %t25 + %t29 = icmp sge i32 %t27, %t28 + br i1 %t29, label %grow6, label %put7 +grow6: + %t30 = mul i32 %t28, 2 + %t31 = icmp eq i32 %t28, 0 + %t32 = select i1 %t31, i32 8, i32 %t30 + %t33 = getelementptr i32, ptr null, i32 1 + %t34 = ptrtoint ptr %t33 to i64 + %t35 = zext i32 %t32 to i64 + %t36 = mul i64 %t35, %t34 + %t37 = load ptr, ptr %t26 + %t38 = call ptr @realloc(ptr %t37, i64 %t36) + store ptr %t38, ptr %t26 + store i32 %t32, ptr %t25 + br label %put7 +put7: + %t39 = load ptr, ptr %t26 + %t40 = getelementptr inbounds i32, ptr %t39, i32 %t27 + store i32 %t23, ptr %t40 + %t41 = add i32 %t27, 1 + store i32 %t41, ptr %t24 + %t42 = load ptr, ptr @g_g_cov_lines + %t43 = getelementptr inbounds %LSlice, ptr %t42, i32 0, i32 1 + %t44 = load i32, ptr %t43 + %t45 = sub i32 %t44, 1 + store i32 %t45, ptr %retval + br label %ret +ret: + %t46 = load i32, ptr %retval + ret i32 %t46 +} + +define void @fn_emit_cov_hit(i32 %arg_line) { +entry: + %t0 = alloca i32 + %t15 = alloca i32 + %t17 = alloca ptr + %t24 = alloca ptr + %t29 = alloca ptr + store i32 %arg_line, ptr %t0 + %t1 = load i32, ptr @g_g_coverage + %t2 = icmp eq i32 %t1, 0 + %t3 = zext i1 %t2 to i32 + %t4 = icmp ne i32 %t3, 0 + br i1 %t4, label %then0, label %ifend2 +then0: + br label %ret +ifend2: + %t5 = load i32, ptr @g_g_cov_active + %t6 = icmp eq i32 %t5, 0 + %t7 = zext i1 %t6 to i32 + %t8 = icmp ne i32 %t7, 0 + br i1 %t8, label %then3, label %ifend5 +then3: + br label %ret +ifend5: + %t9 = load i32, ptr %t0 + %t10 = icmp sle i32 %t9, 0 + %t11 = zext i1 %t10 to i32 + %t12 = icmp ne i32 %t11, 0 + br i1 %t12, label %then6, label %ifend8 +then6: + br label %ret +ifend8: + %t13 = load i32, ptr %t0 + %t14 = call i32 @fn_cov_slot(i32 %t13) + store i32 %t14, ptr %t15 + %t16 = call ptr @fn_nreg() + store ptr %t16, ptr %t17 + call void @fn_emit(ptr @.str678) + %t18 = load ptr, ptr %t17 + call void @fn_emit(ptr %t18) + call void @fn_emit(ptr @.str679) + %t19 = load i32, ptr %t15 + %t20 = call ptr @fn_itoa(i32 %t19) + call void @fn_emit(ptr %t20) + call void @fn_emit(ptr @.str680) + %t21 = load ptr, ptr %t17 + %t22 = call ptr @lp_str_concat(ptr @.str681, ptr %t21) + %t23 = call ptr @fn_emit_bind(ptr %t22) + store ptr %t23, ptr %t24 + %t25 = load ptr, ptr %t24 + %t26 = call ptr @lp_str_concat(ptr @.str682, ptr %t25) + %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str683) + %t28 = call ptr @fn_emit_bind(ptr %t27) + store ptr %t28, ptr %t29 + call void @fn_emit(ptr @.str684) + %t30 = load ptr, ptr %t29 + call void @fn_emit(ptr %t30) + call void @fn_emit(ptr @.str685) + %t31 = load ptr, ptr %t17 + call void @fn_emit(ptr %t31) + call void @fn_emit(ptr @.str686) + br label %ret +ret: + ret void +} + +define ptr @fn_find_scene(ptr %arg_name) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t1 = alloca i32 + store ptr %arg_name, ptr %t0 + store i32 0, ptr %t1 + br label %wcond0 +wcond0: + %t2 = load i32, ptr %t1 + %t3 = load ptr, ptr @g_g_scenes + %t4 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 1 + %t5 = load i32, ptr %t4 + %t6 = icmp slt i32 %t2, %t5 + %t7 = zext i1 %t6 to i32 + %t8 = icmp ne i32 %t7, 0 + br i1 %t8, label %wbody1, label %wend2 +wbody1: + %t9 = load ptr, ptr @g_g_scenes + %t10 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0 + %t11 = load ptr, ptr %t10 + %t12 = load i32, ptr %t1 + %t13 = getelementptr inbounds ptr, ptr %t11, i32 %t12 + %t14 = load ptr, ptr %t13 + %t15 = getelementptr inbounds %Cmp_Node, ptr %t14, i32 0, i32 1 + %t16 = load ptr, ptr %t15 + %t17 = load ptr, ptr %t0 + %t18 = call i32 @lp_str_eq(ptr %t16, ptr %t17) + %t19 = icmp ne i32 %t18, 0 + br i1 %t19, label %then3, label %ifend5 +then3: + %t20 = load ptr, ptr @g_g_scenes + %t21 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 0 + %t22 = load ptr, ptr %t21 + %t23 = load i32, ptr %t1 + %t24 = getelementptr inbounds ptr, ptr %t22, i32 %t23 + %t25 = load ptr, ptr %t24 + store ptr %t25, ptr %retval + br label %ret +ifend5: + %t26 = load i32, ptr %t1 + %t27 = add i32 %t26, 1 + store i32 %t27, ptr %t1 + br label %wcond0 +wend2: + store ptr null, ptr %retval + br label %ret +ret: + %t28 = load ptr, ptr %retval + ret ptr %t28 +} + +define void @fn_emit(ptr %arg_s) { +entry: + %t0 = alloca ptr + store ptr %arg_s, ptr %t0 + %t1 = load ptr, ptr @g_code + %t2 = load ptr, ptr %t0 + call void @fn_buf_puts(ptr %t1, ptr %t2) + br label %ret +ret: + ret void +} + +define void @fn_emith(ptr %arg_s) { +entry: + %t0 = alloca ptr + store ptr %arg_s, ptr %t0 + %t1 = load ptr, ptr @g_head + %t2 = load ptr, ptr %t0 + call void @fn_buf_puts(ptr %t1, ptr %t2) + br label %ret +ret: + ret void +} + +define ptr @fn_emit_alloca(ptr %arg_llt) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t4 = alloca ptr + store ptr %arg_llt, ptr %t0 + %t1 = load i32, ptr @g_ll_t + %t2 = call ptr @fn_itoa(i32 %t1) + %t3 = call ptr @lp_str_concat(ptr @.str687, 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 @.str688) + %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 @.str689) + %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 @.str690) + %t14 = load ptr, ptr %t4 + store ptr %t14, ptr %retval + br label %ret +ret: + %t15 = load ptr, ptr %retval + ret ptr %t15 +} + +define ptr @fn_nreg() { +entry: + %retval = alloca ptr + %t3 = alloca ptr + %t0 = load i32, ptr @g_ll_t + %t1 = call ptr @fn_itoa(i32 %t0) + %t2 = call ptr @lp_str_concat(ptr @.str691, ptr %t1) + store ptr %t2, ptr %t3 + %t4 = load i32, ptr @g_ll_t + %t5 = add i32 %t4, 1 + store i32 %t5, ptr @g_ll_t + %t6 = load ptr, ptr %t3 + store ptr %t6, ptr %retval + br label %ret +ret: + %t7 = load ptr, ptr %retval + ret ptr %t7 +} + +define ptr @fn_lbl(ptr %arg_pfx) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t5 = alloca ptr + store ptr %arg_pfx, ptr %t0 + %t1 = load ptr, ptr %t0 + %t2 = load i32, ptr @g_ll_lbl + %t3 = call ptr @fn_itoa(i32 %t2) + %t4 = call ptr @lp_str_concat(ptr %t1, ptr %t3) + store ptr %t4, ptr %t5 + %t6 = load i32, ptr @g_ll_lbl + %t7 = add i32 %t6, 1 + store i32 %t7, ptr @g_ll_lbl + %t8 = load ptr, ptr %t5 + store ptr %t8, ptr %retval + br label %ret +ret: + %t9 = load ptr, ptr %retval + ret ptr %t9 +} + +define ptr @fn_llty(ptr %arg_t) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t1 = alloca i32 + %t2 = alloca i32 + %t3 = alloca i32 + %t49 = alloca i32 + %t50 = alloca i32 + store ptr %arg_t, ptr %t0 + %t4 = load ptr, ptr %t0 + %t5 = call i32 @lp_str_eq(ptr %t4, ptr @.str692) + %t6 = icmp ne i32 %t5, 0 + %t7 = zext i1 %t6 to i32 + store i32 %t7, ptr %t3 + br i1 %t6, label %scend1, label %sc0 +sc0: + %t8 = load ptr, ptr %t0 + %t9 = call i32 @lp_str_eq(ptr %t8, ptr @.str693) + %t10 = icmp ne i32 %t9, 0 + %t11 = zext i1 %t10 to i32 + store i32 %t11, ptr %t3 + br label %scend1 +scend1: + %t12 = load i32, ptr %t3 + %t13 = icmp ne i32 %t12, 0 + %t14 = zext i1 %t13 to i32 + store i32 %t14, ptr %t2 + br i1 %t13, label %scend3, label %sc2 +sc2: + %t15 = load ptr, ptr %t0 + %t16 = call i32 @lp_str_eq(ptr %t15, ptr @.str694) + %t17 = icmp ne i32 %t16, 0 + %t18 = zext i1 %t17 to i32 + store i32 %t18, ptr %t2 + br label %scend3 +scend3: + %t19 = load i32, ptr %t2 + %t20 = icmp ne i32 %t19, 0 + %t21 = zext i1 %t20 to i32 + store i32 %t21, ptr %t1 + br i1 %t20, label %scend5, label %sc4 +sc4: + %t22 = load ptr, ptr %t0 + %t23 = call i32 @lp_str_eq(ptr %t22, ptr @.str695) + %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 @.str696, ptr %retval + br label %ret +ifend8: + %t28 = load ptr, ptr %t0 + %t29 = call i32 @fn_is_bare_enum(ptr %t28) + %t30 = icmp ne i32 %t29, 0 + br i1 %t30, label %then9, label %ifend11 +then9: + store ptr @.str697, ptr %retval + br label %ret +ifend11: + %t31 = load ptr, ptr %t0 + %t32 = call i32 @lp_str_eq(ptr %t31, ptr @.str698) + %t33 = icmp ne i32 %t32, 0 + br i1 %t33, label %then12, label %ifend14 +then12: + store ptr @.str699, ptr %retval + br label %ret +ifend14: + %t34 = load ptr, ptr %t0 + %t35 = call i32 @lp_str_eq(ptr %t34, ptr @.str700) + %t36 = icmp ne i32 %t35, 0 + br i1 %t36, label %then15, label %ifend17 +then15: + store ptr @.str701, ptr %retval + br label %ret +ifend17: + %t37 = load ptr, ptr %t0 + %t38 = call i32 @lp_str_eq(ptr %t37, ptr @.str702) + %t39 = icmp ne i32 %t38, 0 + br i1 %t39, label %then18, label %ifend20 +then18: + store ptr @.str703, ptr %retval + br label %ret +ifend20: + %t40 = load ptr, ptr %t0 + %t41 = call i32 @lp_str_eq(ptr %t40, ptr @.str704) + %t42 = icmp ne i32 %t41, 0 + br i1 %t42, label %then21, label %ifend23 +then21: + store ptr @.str705, ptr %retval + br label %ret +ifend23: + %t43 = load ptr, ptr %t0 + %t44 = call i32 @lp_str_eq(ptr %t43, ptr @.str706) + %t45 = icmp ne i32 %t44, 0 + br i1 %t45, label %then24, label %ifend26 +then24: + store ptr @.str707, ptr %retval + br label %ret +ifend26: + %t46 = load ptr, ptr %t0 + %t47 = call i32 @lp_str_eq(ptr %t46, ptr @.str708) + %t48 = icmp ne i32 %t47, 0 + br i1 %t48, label %then27, label %ifend29 +then27: + store ptr @.str709, ptr %retval + br label %ret +ifend29: + %t51 = load ptr, ptr %t0 + %t52 = call i32 @lp_str_eq(ptr %t51, ptr @.str710) + %t53 = icmp ne i32 %t52, 0 + %t54 = zext i1 %t53 to i32 + store i32 %t54, ptr %t50 + br i1 %t53, label %scend31, label %sc30 +sc30: + %t55 = load ptr, ptr %t0 + %t56 = call i32 @lp_str_eq(ptr %t55, ptr @.str711) + %t57 = icmp ne i32 %t56, 0 + %t58 = zext i1 %t57 to i32 + store i32 %t58, ptr %t50 + br label %scend31 +scend31: + %t59 = load i32, ptr %t50 + %t60 = icmp ne i32 %t59, 0 + %t61 = zext i1 %t60 to i32 + store i32 %t61, ptr %t49 + br i1 %t60, label %scend33, label %sc32 +sc32: + %t62 = load ptr, ptr %t0 + %t63 = call i32 @lp_str_eq(ptr %t62, ptr @.str712) + %t64 = icmp ne i32 %t63, 0 + %t65 = zext i1 %t64 to i32 + store i32 %t65, ptr %t49 + br label %scend33 +scend33: + %t66 = load i32, ptr %t49 + %t67 = icmp ne i32 %t66, 0 + br i1 %t67, label %then34, label %ifend36 +then34: + store ptr @.str713, ptr %retval + br label %ret +ifend36: + %t68 = load ptr, ptr %t0 + %t69 = call i32 @lp_str_eq(ptr %t68, ptr @.str714) + %t70 = icmp ne i32 %t69, 0 + br i1 %t70, label %then37, label %ifend39 +then37: + store ptr @.str715, ptr %retval + br label %ret +ifend39: + store ptr @.str716, ptr %retval + br label %ret +ret: + %t71 = load ptr, ptr %retval + ret ptr %t71 +} + +define i32 @fn_is_slice_ty(ptr %arg_t) { +entry: + %retval = alloca i32 + %t0 = alloca ptr + %t1 = alloca i32 + store ptr %arg_t, ptr %t0 + %t2 = load ptr, ptr %t0 + %t3 = getelementptr inbounds i8, ptr %t2, i32 0 + %t4 = load i8, ptr %t3 + %t5 = zext i8 %t4 to i32 + %t6 = icmp eq i32 %t5, 91 + %t7 = zext i1 %t6 to i32 + %t8 = icmp ne i32 %t7, 0 + %t9 = zext i1 %t8 to i32 + store i32 %t9, ptr %t1 + br i1 %t8, label %sc0, label %scend1 +sc0: + %t10 = load ptr, ptr %t0 + %t11 = getelementptr inbounds i8, ptr %t10, i32 1 + %t12 = load i8, ptr %t11 + %t13 = zext i8 %t12 to i32 + %t14 = icmp eq i32 %t13, 93 + %t15 = zext i1 %t14 to i32 + %t16 = icmp ne i32 %t15, 0 + %t17 = zext i1 %t16 to i32 + store i32 %t17, ptr %t1 + br label %scend1 +scend1: + %t18 = load i32, ptr %t1 + store i32 %t18, ptr %retval + br label %ret +ret: + %t19 = load i32, ptr %retval + ret i32 %t19 +} + +define ptr @fn_slice_elem(ptr %arg_t) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + store ptr %arg_t, ptr %t0 + %t1 = load ptr, ptr %t0 + %t2 = load ptr, ptr %t0 + %t3 = call i64 @strlen(ptr %t2) + %t4 = trunc i64 %t3 to i32 + %t5 = call ptr @lp_str_slice(ptr %t1, i32 2, i32 %t4) + store ptr %t5, ptr %retval + br label %ret +ret: + %t6 = load ptr, ptr %retval + ret ptr %t6 +} + +define ptr @fn_find_arch(ptr %arg_name) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t1 = alloca i32 + %t15 = alloca ptr + %t16 = alloca i32 + store ptr %arg_name, ptr %t0 + store i32 0, ptr %t1 + br label %wcond0 +wcond0: + %t2 = load i32, ptr %t1 + %t3 = load ptr, ptr @g_prog + %t4 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 1 + %t5 = load i32, ptr %t4 + %t6 = icmp slt i32 %t2, %t5 + %t7 = zext i1 %t6 to i32 + %t8 = icmp ne i32 %t7, 0 + br i1 %t8, label %wbody1, label %wend2 +wbody1: + %t9 = load ptr, ptr @g_prog + %t10 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0 + %t11 = load ptr, ptr %t10 + %t12 = load i32, ptr %t1 + %t13 = getelementptr inbounds ptr, ptr %t11, i32 %t12 + %t14 = load ptr, ptr %t13 + store ptr %t14, ptr %t15 + %t17 = load ptr, ptr %t15 + %t18 = getelementptr inbounds %Cmp_Node, ptr %t17, i32 0, i32 0 + %t19 = load i32, ptr %t18 + %t20 = icmp eq i32 %t19, 10 + %t21 = zext i1 %t20 to i32 + %t22 = icmp ne i32 %t21, 0 + %t23 = zext i1 %t22 to i32 + store i32 %t23, ptr %t16 + br i1 %t22, label %sc3, label %scend4 +sc3: + %t24 = load ptr, ptr %t15 + %t25 = getelementptr inbounds %Cmp_Node, ptr %t24, i32 0, i32 1 + %t26 = load ptr, ptr %t25 + %t27 = load ptr, ptr %t0 + %t28 = call i32 @lp_str_eq(ptr %t26, ptr %t27) + %t29 = icmp ne i32 %t28, 0 + %t30 = zext i1 %t29 to i32 + store i32 %t30, ptr %t16 + br label %scend4 +scend4: + %t31 = load i32, ptr %t16 + %t32 = icmp ne i32 %t31, 0 + br i1 %t32, label %then5, label %ifend7 +then5: + %t33 = load ptr, ptr %t15 + store ptr %t33, ptr %retval + br label %ret +ifend7: + %t34 = load i32, ptr %t1 + %t35 = add i32 %t34, 1 + store i32 %t35, ptr %t1 + br label %wcond0 +wend2: + store ptr null, ptr %retval + br label %ret +ret: + %t36 = load ptr, ptr %retval + ret ptr %t36 +} + +define ptr @fn_find_comp(ptr %arg_name) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t1 = alloca i32 + %t15 = alloca ptr + %t16 = alloca i32 + store ptr %arg_name, ptr %t0 + store i32 0, ptr %t1 + br label %wcond0 +wcond0: + %t2 = load i32, ptr %t1 + %t3 = load ptr, ptr @g_prog + %t4 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 1 + %t5 = load i32, ptr %t4 + %t6 = icmp slt i32 %t2, %t5 + %t7 = zext i1 %t6 to i32 + %t8 = icmp ne i32 %t7, 0 + br i1 %t8, label %wbody1, label %wend2 +wbody1: + %t9 = load ptr, ptr @g_prog + %t10 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0 + %t11 = load ptr, ptr %t10 + %t12 = load i32, ptr %t1 + %t13 = getelementptr inbounds ptr, ptr %t11, i32 %t12 + %t14 = load ptr, ptr %t13 + store ptr %t14, ptr %t15 + %t17 = load ptr, ptr %t15 + %t18 = getelementptr inbounds %Cmp_Node, ptr %t17, i32 0, i32 0 + %t19 = load i32, ptr %t18 + %t20 = icmp eq i32 %t19, 8 + %t21 = zext i1 %t20 to i32 + %t22 = icmp ne i32 %t21, 0 + %t23 = zext i1 %t22 to i32 + store i32 %t23, ptr %t16 + br i1 %t22, label %sc3, label %scend4 +sc3: + %t24 = load ptr, ptr %t15 + %t25 = getelementptr inbounds %Cmp_Node, ptr %t24, i32 0, i32 1 + %t26 = load ptr, ptr %t25 + %t27 = load ptr, ptr %t0 + %t28 = call i32 @lp_str_eq(ptr %t26, ptr %t27) + %t29 = icmp ne i32 %t28, 0 + %t30 = zext i1 %t29 to i32 + store i32 %t30, ptr %t16 + br label %scend4 +scend4: + %t31 = load i32, ptr %t16 + %t32 = icmp ne i32 %t31, 0 + br i1 %t32, label %then5, label %ifend7 +then5: + %t33 = load ptr, ptr %t15 + store ptr %t33, ptr %retval + br label %ret +ifend7: + %t34 = load i32, ptr %t1 + %t35 = add i32 %t34, 1 + store i32 %t35, ptr %t1 + br label %wcond0 +wend2: + store ptr null, ptr %retval + br label %ret +ret: + %t36 = load ptr, ptr %retval + ret ptr %t36 +} + +define ptr @fn_layout_node(ptr %arg_name) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + store ptr %arg_name, ptr %t0 + %t1 = load ptr, ptr %t0 + %t2 = call ptr @fn_find_comp(ptr %t1) + store ptr %t2, ptr %retval + br label %ret +ret: + %t3 = load ptr, ptr %retval + ret ptr %t3 +} + +define ptr @fn_layout_ty(ptr %arg_name) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + store ptr %arg_name, ptr %t0 + %t1 = load ptr, ptr %t0 + %t2 = call ptr @lp_str_concat(ptr @.str717, ptr %t1) + store ptr %t2, ptr %retval + br label %ret +ret: + %t3 = load ptr, ptr %retval + ret ptr %t3 +} + +define i32 @fn_field_index(ptr %arg_s, ptr %arg_fname) { +entry: + %retval = alloca i32 + %t0 = alloca ptr + %t1 = alloca ptr + %t2 = alloca i32 + store ptr %arg_s, ptr %t0 + store ptr %arg_fname, ptr %t1 + store i32 0, ptr %t2 + br label %wcond0 +wcond0: + %t3 = load i32, ptr %t2 + %t4 = load ptr, ptr %t0 + %t5 = getelementptr inbounds %Cmp_Node, ptr %t4, i32 0, i32 7 + %t6 = load ptr, ptr %t5 + %t7 = getelementptr inbounds %LSlice, ptr %t6, i32 0, i32 1 + %t8 = load i32, ptr %t7 + %t9 = icmp slt i32 %t3, %t8 + %t10 = zext i1 %t9 to i32 + %t11 = icmp ne i32 %t10, 0 + br i1 %t11, label %wbody1, label %wend2 +wbody1: + %t12 = load ptr, ptr %t0 + %t13 = getelementptr inbounds %Cmp_Node, ptr %t12, i32 0, i32 7 + %t14 = load ptr, ptr %t13 + %t15 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 0 + %t16 = load ptr, ptr %t15 + %t17 = load i32, ptr %t2 + %t18 = getelementptr inbounds ptr, ptr %t16, i32 %t17 + %t19 = load ptr, ptr %t18 + %t20 = getelementptr inbounds %Cmp_Node, ptr %t19, i32 0, i32 1 + %t21 = load ptr, ptr %t20 + %t22 = load ptr, ptr %t1 + %t23 = call i32 @lp_str_eq(ptr %t21, ptr %t22) + %t24 = icmp ne i32 %t23, 0 + br i1 %t24, label %then3, label %ifend5 +then3: + %t25 = load i32, ptr %t2 + store i32 %t25, ptr %retval + br label %ret +ifend5: + %t26 = load i32, ptr %t2 + %t27 = add i32 %t26, 1 + store i32 %t27, ptr %t2 + br label %wcond0 +wend2: + %t28 = sub i32 0, 1 + store i32 %t28, ptr %retval + br label %ret +ret: + %t29 = load i32, ptr %retval + ret i32 %t29 +} + +define ptr @fn_field_type(ptr %arg_s, ptr %arg_fname) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t1 = alloca ptr + %t2 = alloca i32 + store ptr %arg_s, ptr %t0 + store ptr %arg_fname, ptr %t1 + store i32 0, ptr %t2 + br label %wcond0 +wcond0: + %t3 = load i32, ptr %t2 + %t4 = load ptr, ptr %t0 + %t5 = getelementptr inbounds %Cmp_Node, ptr %t4, i32 0, i32 7 + %t6 = load ptr, ptr %t5 + %t7 = getelementptr inbounds %LSlice, ptr %t6, i32 0, i32 1 + %t8 = load i32, ptr %t7 + %t9 = icmp slt i32 %t3, %t8 + %t10 = zext i1 %t9 to i32 + %t11 = icmp ne i32 %t10, 0 + br i1 %t11, label %wbody1, label %wend2 +wbody1: + %t12 = load ptr, ptr %t0 + %t13 = getelementptr inbounds %Cmp_Node, ptr %t12, i32 0, i32 7 + %t14 = load ptr, ptr %t13 + %t15 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 0 + %t16 = load ptr, ptr %t15 + %t17 = load i32, ptr %t2 + %t18 = getelementptr inbounds ptr, ptr %t16, i32 %t17 + %t19 = load ptr, ptr %t18 + %t20 = getelementptr inbounds %Cmp_Node, ptr %t19, i32 0, i32 1 + %t21 = load ptr, ptr %t20 + %t22 = load ptr, ptr %t1 + %t23 = call i32 @lp_str_eq(ptr %t21, ptr %t22) + %t24 = icmp ne i32 %t23, 0 + br i1 %t24, label %then3, label %ifend5 +then3: + %t25 = load ptr, ptr %t0 + %t26 = getelementptr inbounds %Cmp_Node, ptr %t25, i32 0, i32 7 + %t27 = load ptr, ptr %t26 + %t28 = getelementptr inbounds %LSlice, ptr %t27, i32 0, i32 0 + %t29 = load ptr, ptr %t28 + %t30 = load i32, ptr %t2 + %t31 = getelementptr inbounds ptr, ptr %t29, i32 %t30 + %t32 = load ptr, ptr %t31 + %t33 = getelementptr inbounds %Cmp_Node, ptr %t32, i32 0, i32 3 + %t34 = load ptr, ptr %t33 + store ptr %t34, ptr %retval + br label %ret +ifend5: + %t35 = load i32, ptr %t2 + %t36 = add i32 %t35, 1 + store i32 %t36, ptr %t2 + br label %wcond0 +wend2: + store ptr @.str718, ptr %retval + br label %ret +ret: + %t37 = load ptr, ptr %retval + ret ptr %t37 +} + +define ptr @fn_find_global(ptr %arg_name) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t1 = alloca i32 + %t15 = alloca ptr + %t16 = alloca i32 + %t34 = alloca i32 + store ptr %arg_name, ptr %t0 + store i32 0, ptr %t1 + br label %wcond0 +wcond0: + %t2 = load i32, ptr %t1 + %t3 = load ptr, ptr @g_prog + %t4 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 1 + %t5 = load i32, ptr %t4 + %t6 = icmp slt i32 %t2, %t5 + %t7 = zext i1 %t6 to i32 + %t8 = icmp ne i32 %t7, 0 + br i1 %t8, label %wbody1, label %wend2 +wbody1: + %t9 = load ptr, ptr @g_prog + %t10 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0 + %t11 = load ptr, ptr %t10 + %t12 = load i32, ptr %t1 + %t13 = getelementptr inbounds ptr, ptr %t11, i32 %t12 + %t14 = load ptr, ptr %t13 + store ptr %t14, ptr %t15 + %t17 = load ptr, ptr %t15 + %t18 = getelementptr inbounds %Cmp_Node, ptr %t17, i32 0, i32 0 + %t19 = load i32, ptr %t18 + %t20 = icmp eq i32 %t19, 2 + %t21 = zext i1 %t20 to i32 + %t22 = icmp ne i32 %t21, 0 + %t23 = zext i1 %t22 to i32 + store i32 %t23, ptr %t16 + br i1 %t22, label %sc3, label %scend4 +sc3: + %t24 = load ptr, ptr %t15 + %t25 = getelementptr inbounds %Cmp_Node, ptr %t24, i32 0, i32 1 + %t26 = load ptr, ptr %t25 + %t27 = load ptr, ptr %t0 + %t28 = call i32 @lp_str_eq(ptr %t26, ptr %t27) + %t29 = icmp ne i32 %t28, 0 + %t30 = zext i1 %t29 to i32 + store i32 %t30, ptr %t16 + br label %scend4 +scend4: + %t31 = load i32, ptr %t16 + %t32 = icmp ne i32 %t31, 0 + br i1 %t32, label %then5, label %ifend7 +then5: + %t33 = load ptr, ptr %t15 + store ptr %t33, ptr %retval + br label %ret +ifend7: + %t35 = load ptr, ptr %t15 + %t36 = getelementptr inbounds %Cmp_Node, ptr %t35, i32 0, i32 0 + %t37 = load i32, ptr %t36 + %t38 = icmp eq i32 %t37, 3 + %t39 = zext i1 %t38 to i32 + %t40 = icmp ne i32 %t39, 0 + %t41 = zext i1 %t40 to i32 + store i32 %t41, ptr %t34 + br i1 %t40, label %sc8, label %scend9 +sc8: + %t42 = load ptr, ptr %t15 + %t43 = getelementptr inbounds %Cmp_Node, ptr %t42, i32 0, i32 1 + %t44 = load ptr, ptr %t43 + %t45 = load ptr, ptr %t0 + %t46 = call i32 @lp_str_eq(ptr %t44, ptr %t45) + %t47 = icmp ne i32 %t46, 0 + %t48 = zext i1 %t47 to i32 + store i32 %t48, ptr %t34 + br label %scend9 +scend9: + %t49 = load i32, ptr %t34 + %t50 = icmp ne i32 %t49, 0 + br i1 %t50, label %then10, label %ifend12 +then10: + %t51 = load ptr, ptr %t15 + store ptr %t51, ptr %retval + br label %ret +ifend12: + %t52 = load i32, ptr %t1 + %t53 = add i32 %t52, 1 + store i32 %t53, ptr %t1 + br label %wcond0 +wend2: + store ptr null, ptr %retval + br label %ret +ret: + %t54 = load ptr, ptr %retval + ret ptr %t54 +} + +define i32 @fn_enum_ordinal(ptr %arg_ename, ptr %arg_vname) { +entry: + %retval = alloca i32 + %t0 = alloca ptr + %t1 = alloca ptr + %t2 = alloca i32 + %t16 = alloca ptr + %t17 = alloca i32 + %t34 = alloca i32 + store ptr %arg_ename, ptr %t0 + store ptr %arg_vname, ptr %t1 + store i32 0, ptr %t2 + br label %wcond0 +wcond0: + %t3 = load i32, ptr %t2 + %t4 = load ptr, ptr @g_prog + %t5 = getelementptr inbounds %LSlice, ptr %t4, i32 0, i32 1 + %t6 = load i32, ptr %t5 + %t7 = icmp slt i32 %t3, %t6 + %t8 = zext i1 %t7 to i32 + %t9 = icmp ne i32 %t8, 0 + br i1 %t9, label %wbody1, label %wend2 +wbody1: + %t10 = load ptr, ptr @g_prog + %t11 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 0 + %t12 = load ptr, ptr %t11 + %t13 = load i32, ptr %t2 + %t14 = getelementptr inbounds ptr, ptr %t12, i32 %t13 + %t15 = load ptr, ptr %t14 + store ptr %t15, ptr %t16 + %t18 = load ptr, ptr %t16 + %t19 = getelementptr inbounds %Cmp_Node, ptr %t18, i32 0, i32 0 + %t20 = load i32, ptr %t19 + %t21 = icmp eq i32 %t20, 27 + %t22 = zext i1 %t21 to i32 + %t23 = icmp ne i32 %t22, 0 + %t24 = zext i1 %t23 to i32 + store i32 %t24, ptr %t17 + br i1 %t23, label %sc3, label %scend4 +sc3: + %t25 = load ptr, ptr %t16 + %t26 = getelementptr inbounds %Cmp_Node, ptr %t25, i32 0, i32 1 + %t27 = load ptr, ptr %t26 + %t28 = load ptr, ptr %t0 + %t29 = call i32 @lp_str_eq(ptr %t27, ptr %t28) + %t30 = icmp ne i32 %t29, 0 + %t31 = zext i1 %t30 to i32 + store i32 %t31, ptr %t17 + br label %scend4 +scend4: + %t32 = load i32, ptr %t17 + %t33 = icmp ne i32 %t32, 0 + br i1 %t33, label %then5, label %ifend7 +then5: + store i32 0, ptr %t34 + br label %wcond8 +wcond8: + %t35 = load i32, ptr %t34 + %t36 = load ptr, ptr %t16 + %t37 = getelementptr inbounds %Cmp_Node, ptr %t36, i32 0, i32 7 + %t38 = load ptr, ptr %t37 + %t39 = getelementptr inbounds %LSlice, ptr %t38, i32 0, i32 1 + %t40 = load i32, ptr %t39 + %t41 = icmp slt i32 %t35, %t40 + %t42 = zext i1 %t41 to i32 + %t43 = icmp ne i32 %t42, 0 + br i1 %t43, label %wbody9, label %wend10 +wbody9: + %t44 = load ptr, ptr %t16 + %t45 = getelementptr inbounds %Cmp_Node, ptr %t44, i32 0, i32 7 + %t46 = load ptr, ptr %t45 + %t47 = getelementptr inbounds %LSlice, ptr %t46, i32 0, i32 0 + %t48 = load ptr, ptr %t47 + %t49 = load i32, ptr %t34 + %t50 = getelementptr inbounds ptr, ptr %t48, i32 %t49 + %t51 = load ptr, ptr %t50 + %t52 = getelementptr inbounds %Cmp_Node, ptr %t51, i32 0, i32 1 + %t53 = load ptr, ptr %t52 + %t54 = load ptr, ptr %t1 + %t55 = call i32 @lp_str_eq(ptr %t53, ptr %t54) + %t56 = icmp ne i32 %t55, 0 + br i1 %t56, label %then11, label %ifend13 +then11: + %t57 = load i32, ptr %t34 + store i32 %t57, ptr %retval + br label %ret +ifend13: + %t58 = load i32, ptr %t34 + %t59 = add i32 %t58, 1 + store i32 %t59, ptr %t34 + br label %wcond8 +wend10: + br label %ifend7 +ifend7: + %t60 = load i32, ptr %t2 + %t61 = add i32 %t60, 1 + store i32 %t61, ptr %t2 + br label %wcond0 +wend2: + %t62 = load ptr, ptr %t0 + %t63 = call i32 @lp_str_eq(ptr %t62, ptr @.str719) + %t64 = icmp ne i32 %t63, 0 + br i1 %t64, label %then14, label %ifend16 +then14: + %t65 = load ptr, ptr %t1 + %t66 = call i32 @lp_str_eq(ptr %t65, ptr @.str720) + %t67 = icmp ne i32 %t66, 0 + br i1 %t67, label %then17, label %ifend19 +then17: + store i32 0, ptr %retval + br label %ret +ifend19: + %t68 = load ptr, ptr %t1 + %t69 = call i32 @lp_str_eq(ptr %t68, ptr @.str721) + %t70 = icmp ne i32 %t69, 0 + br i1 %t70, label %then20, label %ifend22 +then20: + store i32 1, ptr %retval + br label %ret +ifend22: + %t71 = load ptr, ptr %t1 + %t72 = call i32 @lp_str_eq(ptr %t71, ptr @.str722) + %t73 = icmp ne i32 %t72, 0 + br i1 %t73, label %then23, label %ifend25 +then23: + store i32 2, ptr %retval + br label %ret +ifend25: + br label %ifend16 +ifend16: + %t74 = sub i32 0, 1 + store i32 %t74, ptr %retval + br label %ret +ret: + %t75 = load i32, ptr %retval + ret i32 %t75 +} + +define i32 @fn_is_bare_enum(ptr %arg_name) { +entry: + %retval = alloca i32 + %t0 = alloca ptr + %t3 = alloca ptr + %t8 = alloca i32 + store ptr %arg_name, ptr %t0 + %t1 = load ptr, ptr %t0 + %t2 = call ptr @fn_find_enum(ptr %t1) + store ptr %t2, ptr %t3 + %t4 = load ptr, ptr %t3 + %t5 = icmp eq ptr %t4, null + %t6 = zext i1 %t5 to i32 + %t7 = icmp ne i32 %t6, 0 + br i1 %t7, label %then0, label %ifend2 +then0: + store i32 0, ptr %retval + br label %ret +ifend2: + store i32 0, ptr %t8 + br label %wcond3 +wcond3: + %t9 = load i32, ptr %t8 + %t10 = load ptr, ptr %t3 + %t11 = getelementptr inbounds %Cmp_Node, ptr %t10, i32 0, i32 7 + %t12 = load ptr, ptr %t11 + %t13 = getelementptr inbounds %LSlice, ptr %t12, i32 0, i32 1 + %t14 = load i32, ptr %t13 + %t15 = icmp slt i32 %t9, %t14 + %t16 = zext i1 %t15 to i32 + %t17 = icmp ne i32 %t16, 0 + br i1 %t17, label %wbody4, label %wend5 +wbody4: + %t18 = load ptr, ptr %t3 + %t19 = getelementptr inbounds %Cmp_Node, ptr %t18, i32 0, i32 7 + %t20 = load ptr, ptr %t19 + %t21 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 0 + %t22 = load ptr, ptr %t21 + %t23 = load i32, ptr %t8 + %t24 = getelementptr inbounds ptr, ptr %t22, i32 %t23 + %t25 = load ptr, ptr %t24 + %t26 = getelementptr inbounds %Cmp_Node, ptr %t25, i32 0, i32 7 + %t27 = load ptr, ptr %t26 + %t28 = getelementptr inbounds %LSlice, ptr %t27, i32 0, i32 1 + %t29 = load i32, ptr %t28 + %t30 = icmp sgt i32 %t29, 0 + %t31 = zext i1 %t30 to i32 + %t32 = icmp ne i32 %t31, 0 + br i1 %t32, label %then6, label %ifend8 +then6: + store i32 0, ptr %retval + br label %ret +ifend8: + %t33 = load i32, ptr %t8 + %t34 = add i32 %t33, 1 + store i32 %t34, ptr %t8 + br label %wcond3 +wend5: + store i32 1, ptr %retval + br label %ret +ret: + %t35 = load i32, ptr %retval + ret i32 %t35 +} + +define ptr @fn_find_prefab(ptr %arg_name) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t1 = alloca i32 + %t15 = alloca ptr + %t16 = alloca i32 + store ptr %arg_name, ptr %t0 + store i32 0, ptr %t1 + br label %wcond0 +wcond0: + %t2 = load i32, ptr %t1 + %t3 = load ptr, ptr @g_prog + %t4 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 1 + %t5 = load i32, ptr %t4 + %t6 = icmp slt i32 %t2, %t5 + %t7 = zext i1 %t6 to i32 + %t8 = icmp ne i32 %t7, 0 + br i1 %t8, label %wbody1, label %wend2 +wbody1: + %t9 = load ptr, ptr @g_prog + %t10 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0 + %t11 = load ptr, ptr %t10 + %t12 = load i32, ptr %t1 + %t13 = getelementptr inbounds ptr, ptr %t11, i32 %t12 + %t14 = load ptr, ptr %t13 + store ptr %t14, ptr %t15 + %t17 = load ptr, ptr %t15 + %t18 = getelementptr inbounds %Cmp_Node, ptr %t17, i32 0, i32 0 + %t19 = load i32, ptr %t18 + %t20 = icmp eq i32 %t19, 53 + %t21 = zext i1 %t20 to i32 + %t22 = icmp ne i32 %t21, 0 + %t23 = zext i1 %t22 to i32 + store i32 %t23, ptr %t16 + br i1 %t22, label %sc3, label %scend4 +sc3: + %t24 = load ptr, ptr %t15 + %t25 = getelementptr inbounds %Cmp_Node, ptr %t24, i32 0, i32 1 + %t26 = load ptr, ptr %t25 + %t27 = load ptr, ptr %t0 + %t28 = call i32 @lp_str_eq(ptr %t26, ptr %t27) + %t29 = icmp ne i32 %t28, 0 + %t30 = zext i1 %t29 to i32 + store i32 %t30, ptr %t16 + br label %scend4 +scend4: + %t31 = load i32, ptr %t16 + %t32 = icmp ne i32 %t31, 0 + br i1 %t32, label %then5, label %ifend7 +then5: + %t33 = load ptr, ptr %t15 + store ptr %t33, ptr %retval + br label %ret +ifend7: + %t34 = load i32, ptr %t1 + %t35 = add i32 %t34, 1 + store i32 %t35, ptr %t1 + br label %wcond0 +wend2: + store ptr null, ptr %retval + br label %ret +ret: + %t36 = load ptr, ptr %retval + ret ptr %t36 +} + +define i32 @fn_has_prefabs() { +entry: + %retval = alloca i32 + %t0 = alloca i32 + store i32 0, ptr %t0 + br label %wcond0 +wcond0: + %t1 = load i32, ptr %t0 + %t2 = load ptr, ptr @g_prog + %t3 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 1 + %t4 = load i32, ptr %t3 + %t5 = icmp slt i32 %t1, %t4 + %t6 = zext i1 %t5 to i32 + %t7 = icmp ne i32 %t6, 0 + br i1 %t7, label %wbody1, label %wend2 +wbody1: + %t8 = load ptr, ptr @g_prog + %t9 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 0 + %t10 = load ptr, ptr %t9 + %t11 = load i32, ptr %t0 + %t12 = getelementptr inbounds ptr, ptr %t10, i32 %t11 + %t13 = load ptr, ptr %t12 + %t14 = getelementptr inbounds %Cmp_Node, ptr %t13, i32 0, i32 0 + %t15 = load i32, ptr %t14 + %t16 = icmp eq i32 %t15, 53 + %t17 = zext i1 %t16 to i32 + %t18 = icmp ne i32 %t17, 0 + br i1 %t18, label %then3, label %ifend5 +then3: + store i32 1, ptr %retval + br label %ret +ifend5: + %t19 = load i32, ptr %t0 + %t20 = add i32 %t19, 1 + store i32 %t20, ptr %t0 + br label %wcond0 +wend2: + store i32 0, ptr %retval + br label %ret +ret: + %t21 = load i32, ptr %retval + ret i32 %t21 +} + +define i32 @fn_has_countdowns() { +entry: + %retval = alloca i32 + %t0 = alloca i32 + %t14 = alloca ptr + %t21 = alloca i32 + store i32 0, ptr %t0 + br label %wcond0 +wcond0: + %t1 = load i32, ptr %t0 + %t2 = load ptr, ptr @g_prog + %t3 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 1 + %t4 = load i32, ptr %t3 + %t5 = icmp slt i32 %t1, %t4 + %t6 = zext i1 %t5 to i32 + %t7 = icmp ne i32 %t6, 0 + br i1 %t7, label %wbody1, label %wend2 +wbody1: + %t8 = load ptr, ptr @g_prog + %t9 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 0 + %t10 = load ptr, ptr %t9 + %t11 = load i32, ptr %t0 + %t12 = getelementptr inbounds ptr, ptr %t10, i32 %t11 + %t13 = load ptr, ptr %t12 + store ptr %t13, ptr %t14 + %t15 = load ptr, ptr %t14 + %t16 = getelementptr inbounds %Cmp_Node, ptr %t15, i32 0, i32 0 + %t17 = load i32, ptr %t16 + %t18 = icmp eq i32 %t17, 8 + %t19 = zext i1 %t18 to i32 + %t20 = icmp ne i32 %t19, 0 + br i1 %t20, label %then3, label %ifend5 +then3: + store i32 0, ptr %t21 + br label %wcond6 +wcond6: + %t22 = load i32, ptr %t21 + %t23 = load ptr, ptr %t14 + %t24 = getelementptr inbounds %Cmp_Node, ptr %t23, i32 0, i32 7 + %t25 = load ptr, ptr %t24 + %t26 = getelementptr inbounds %LSlice, ptr %t25, i32 0, i32 1 + %t27 = load i32, ptr %t26 + %t28 = icmp slt i32 %t22, %t27 + %t29 = zext i1 %t28 to i32 + %t30 = icmp ne i32 %t29, 0 + br i1 %t30, label %wbody7, label %wend8 +wbody7: + %t31 = load ptr, ptr %t14 + %t32 = getelementptr inbounds %Cmp_Node, ptr %t31, i32 0, i32 7 + %t33 = load ptr, ptr %t32 + %t34 = getelementptr inbounds %LSlice, ptr %t33, i32 0, i32 0 + %t35 = load ptr, ptr %t34 + %t36 = load i32, ptr %t21 + %t37 = getelementptr inbounds ptr, ptr %t35, i32 %t36 + %t38 = load ptr, ptr %t37 + %t39 = getelementptr inbounds %Cmp_Node, ptr %t38, i32 0, i32 3 + %t40 = load ptr, ptr %t39 + %t41 = call i32 @lp_str_eq(ptr %t40, ptr @.str723) + %t42 = icmp ne i32 %t41, 0 + br i1 %t42, label %then9, label %ifend11 +then9: + store i32 1, ptr %retval + br label %ret +ifend11: + %t43 = load i32, ptr %t21 + %t44 = add i32 %t43, 1 + store i32 %t44, ptr %t21 + br label %wcond6 +wend8: + br label %ifend5 +ifend5: + %t45 = load i32, ptr %t0 + %t46 = add i32 %t45, 1 + store i32 %t46, ptr %t0 + br label %wcond0 +wend2: + store i32 0, ptr %retval + br label %ret +ret: + %t47 = load i32, ptr %retval + ret i32 %t47 +} + +define ptr @fn_find_fn(ptr %arg_name) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t1 = alloca i32 + %t15 = alloca ptr + %t16 = alloca i32 + store ptr %arg_name, ptr %t0 + store i32 0, ptr %t1 + br label %wcond0 +wcond0: + %t2 = load i32, ptr %t1 + %t3 = load ptr, ptr @g_prog + %t4 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 1 + %t5 = load i32, ptr %t4 + %t6 = icmp slt i32 %t2, %t5 + %t7 = zext i1 %t6 to i32 + %t8 = icmp ne i32 %t7, 0 + br i1 %t8, label %wbody1, label %wend2 +wbody1: + %t9 = load ptr, ptr @g_prog + %t10 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0 + %t11 = load ptr, ptr %t10 + %t12 = load i32, ptr %t1 + %t13 = getelementptr inbounds ptr, ptr %t11, i32 %t12 + %t14 = load ptr, ptr %t13 + store ptr %t14, ptr %t15 + %t17 = load ptr, ptr %t15 + %t18 = getelementptr inbounds %Cmp_Node, ptr %t17, i32 0, i32 0 + %t19 = load i32, ptr %t18 + %t20 = icmp eq i32 %t19, 4 + %t21 = zext i1 %t20 to i32 + %t22 = icmp ne i32 %t21, 0 + %t23 = zext i1 %t22 to i32 + store i32 %t23, ptr %t16 + br i1 %t22, label %sc3, label %scend4 +sc3: + %t24 = load ptr, ptr %t15 + %t25 = getelementptr inbounds %Cmp_Node, ptr %t24, i32 0, i32 1 + %t26 = load ptr, ptr %t25 + %t27 = load ptr, ptr %t0 + %t28 = call i32 @lp_str_eq(ptr %t26, ptr %t27) + %t29 = icmp ne i32 %t28, 0 + %t30 = zext i1 %t29 to i32 + store i32 %t30, ptr %t16 + br label %scend4 +scend4: + %t31 = load i32, ptr %t16 + %t32 = icmp ne i32 %t31, 0 + br i1 %t32, label %then5, label %ifend7 +then5: + %t33 = load ptr, ptr %t15 + store ptr %t33, ptr %retval + br label %ret +ifend7: + %t34 = load i32, ptr %t1 + %t35 = add i32 %t34, 1 + store i32 %t35, ptr %t1 + br label %wcond0 +wend2: + store ptr null, ptr %retval + br label %ret +ret: + %t36 = load ptr, ptr %retval + ret ptr %t36 +} + +define ptr @fn_find_enum(ptr %arg_name) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t1 = alloca i32 + %t15 = alloca ptr + %t16 = alloca i32 + store ptr %arg_name, ptr %t0 + store i32 0, ptr %t1 + br label %wcond0 +wcond0: + %t2 = load i32, ptr %t1 + %t3 = load ptr, ptr @g_prog + %t4 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 1 + %t5 = load i32, ptr %t4 + %t6 = icmp slt i32 %t2, %t5 + %t7 = zext i1 %t6 to i32 + %t8 = icmp ne i32 %t7, 0 + br i1 %t8, label %wbody1, label %wend2 +wbody1: + %t9 = load ptr, ptr @g_prog + %t10 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0 + %t11 = load ptr, ptr %t10 + %t12 = load i32, ptr %t1 + %t13 = getelementptr inbounds ptr, ptr %t11, i32 %t12 + %t14 = load ptr, ptr %t13 + store ptr %t14, ptr %t15 + %t17 = load ptr, ptr %t15 + %t18 = getelementptr inbounds %Cmp_Node, ptr %t17, i32 0, i32 0 + %t19 = load i32, ptr %t18 + %t20 = icmp eq i32 %t19, 27 + %t21 = zext i1 %t20 to i32 + %t22 = icmp ne i32 %t21, 0 + %t23 = zext i1 %t22 to i32 + store i32 %t23, ptr %t16 + br i1 %t22, label %sc3, label %scend4 +sc3: + %t24 = load ptr, ptr %t15 + %t25 = getelementptr inbounds %Cmp_Node, ptr %t24, i32 0, i32 1 + %t26 = load ptr, ptr %t25 + %t27 = load ptr, ptr %t0 + %t28 = call i32 @lp_str_eq(ptr %t26, ptr %t27) + %t29 = icmp ne i32 %t28, 0 + %t30 = zext i1 %t29 to i32 + store i32 %t30, ptr %t16 + br label %scend4 +scend4: + %t31 = load i32, ptr %t16 + %t32 = icmp ne i32 %t31, 0 + br i1 %t32, label %then5, label %ifend7 +then5: + %t33 = load ptr, ptr %t15 + store ptr %t33, ptr %retval + br label %ret +ifend7: + %t34 = load i32, ptr %t1 + %t35 = add i32 %t34, 1 + store i32 %t35, ptr %t1 + br label %wcond0 +wend2: + store ptr null, ptr %retval + br label %ret +ret: + %t36 = load ptr, ptr %retval + ret ptr %t36 +} + +define i32 @fn_enum_is_tagged(ptr %arg_en) { +entry: + %retval = alloca i32 + %t0 = alloca ptr + %t1 = alloca i32 + store ptr %arg_en, ptr %t0 + store i32 0, ptr %t1 + br label %wcond0 +wcond0: + %t2 = load i32, ptr %t1 + %t3 = load ptr, ptr %t0 + %t4 = getelementptr inbounds %Cmp_Node, ptr %t3, i32 0, i32 7 + %t5 = load ptr, ptr %t4 + %t6 = getelementptr inbounds %LSlice, ptr %t5, i32 0, i32 1 + %t7 = load i32, ptr %t6 + %t8 = icmp slt i32 %t2, %t7 + %t9 = zext i1 %t8 to i32 + %t10 = icmp ne i32 %t9, 0 + br i1 %t10, label %wbody1, label %wend2 +wbody1: + %t11 = load ptr, ptr %t0 + %t12 = getelementptr inbounds %Cmp_Node, ptr %t11, i32 0, i32 7 + %t13 = load ptr, ptr %t12 + %t14 = getelementptr inbounds %LSlice, ptr %t13, i32 0, i32 0 + %t15 = load ptr, ptr %t14 + %t16 = load i32, ptr %t1 + %t17 = getelementptr inbounds ptr, ptr %t15, i32 %t16 + %t18 = load ptr, ptr %t17 + %t19 = getelementptr inbounds %Cmp_Node, ptr %t18, i32 0, i32 7 + %t20 = load ptr, ptr %t19 + %t21 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 1 + %t22 = load i32, ptr %t21 + %t23 = icmp sgt i32 %t22, 0 + %t24 = zext i1 %t23 to i32 + %t25 = icmp ne i32 %t24, 0 + br i1 %t25, label %then3, label %ifend5 +then3: + store i32 1, ptr %retval + br label %ret +ifend5: + %t26 = load i32, ptr %t1 + %t27 = add i32 %t26, 1 + store i32 %t27, ptr %t1 + br label %wcond0 +wend2: + store i32 0, ptr %retval + br label %ret +ret: + %t28 = load i32, ptr %retval + ret i32 %t28 +} + +define ptr @fn_tagged_enum_of(ptr %arg_ty) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t3 = alloca ptr + store ptr %arg_ty, ptr %t0 + %t1 = load ptr, ptr %t0 + %t2 = call ptr @fn_find_enum(ptr %t1) + store ptr %t2, ptr %t3 + %t4 = load ptr, ptr %t3 + %t5 = icmp eq ptr %t4, null + %t6 = zext i1 %t5 to i32 + %t7 = icmp ne i32 %t6, 0 + br i1 %t7, label %then0, label %ifend2 +then0: + store ptr null, ptr %retval + br label %ret +ifend2: + %t8 = load ptr, ptr %t3 + %t9 = call i32 @fn_enum_is_tagged(ptr %t8) + %t10 = icmp ne i32 %t9, 0 + br i1 %t10, label %then3, label %ifend5 +then3: + %t11 = load ptr, ptr %t3 + store ptr %t11, ptr %retval + br label %ret +ifend5: + store ptr null, ptr %retval + br label %ret +ret: + %t12 = load ptr, ptr %retval + ret ptr %t12 +} + +define i32 @fn_variant_ordinal(ptr %arg_en, ptr %arg_vname) { +entry: + %retval = alloca i32 + %t0 = alloca ptr + %t1 = alloca ptr + %t2 = alloca i32 + store ptr %arg_en, ptr %t0 + store ptr %arg_vname, ptr %t1 + store i32 0, ptr %t2 + br label %wcond0 +wcond0: + %t3 = load i32, ptr %t2 + %t4 = load ptr, ptr %t0 + %t5 = getelementptr inbounds %Cmp_Node, ptr %t4, i32 0, i32 7 + %t6 = load ptr, ptr %t5 + %t7 = getelementptr inbounds %LSlice, ptr %t6, i32 0, i32 1 + %t8 = load i32, ptr %t7 + %t9 = icmp slt i32 %t3, %t8 + %t10 = zext i1 %t9 to i32 + %t11 = icmp ne i32 %t10, 0 + br i1 %t11, label %wbody1, label %wend2 +wbody1: + %t12 = load ptr, ptr %t0 + %t13 = getelementptr inbounds %Cmp_Node, ptr %t12, i32 0, i32 7 + %t14 = load ptr, ptr %t13 + %t15 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 0 + %t16 = load ptr, ptr %t15 + %t17 = load i32, ptr %t2 + %t18 = getelementptr inbounds ptr, ptr %t16, i32 %t17 + %t19 = load ptr, ptr %t18 + %t20 = getelementptr inbounds %Cmp_Node, ptr %t19, i32 0, i32 1 + %t21 = load ptr, ptr %t20 + %t22 = load ptr, ptr %t1 + %t23 = call i32 @lp_str_eq(ptr %t21, ptr %t22) + %t24 = icmp ne i32 %t23, 0 + br i1 %t24, label %then3, label %ifend5 +then3: + %t25 = load i32, ptr %t2 + store i32 %t25, ptr %retval + br label %ret +ifend5: + %t26 = load i32, ptr %t2 + %t27 = add i32 %t26, 1 + store i32 %t27, ptr %t2 + br label %wcond0 +wend2: + %t28 = sub i32 0, 1 + store i32 %t28, ptr %retval + br label %ret +ret: + %t29 = load i32, ptr %retval + ret i32 %t29 +} + +define ptr @fn_variant_enum(ptr %arg_vname) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t1 = alloca i32 + %t15 = alloca ptr + %t28 = alloca i32 + store ptr %arg_vname, ptr %t0 + store i32 0, ptr %t1 + br label %wcond0 +wcond0: + %t2 = load i32, ptr %t1 + %t3 = load ptr, ptr @g_prog + %t4 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 1 + %t5 = load i32, ptr %t4 + %t6 = icmp slt i32 %t2, %t5 + %t7 = zext i1 %t6 to i32 + %t8 = icmp ne i32 %t7, 0 + br i1 %t8, label %wbody1, label %wend2 +wbody1: + %t9 = load ptr, ptr @g_prog + %t10 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0 + %t11 = load ptr, ptr %t10 + %t12 = load i32, ptr %t1 + %t13 = getelementptr inbounds ptr, ptr %t11, i32 %t12 + %t14 = load ptr, ptr %t13 + store ptr %t14, ptr %t15 + %t16 = load ptr, ptr %t15 + %t17 = getelementptr inbounds %Cmp_Node, ptr %t16, i32 0, i32 0 + %t18 = load i32, ptr %t17 + %t19 = icmp eq i32 %t18, 27 + %t20 = zext i1 %t19 to i32 + %t21 = icmp ne i32 %t20, 0 + br i1 %t21, label %then3, label %ifend5 +then3: + %t22 = load ptr, ptr %t15 + %t23 = call i32 @fn_enum_is_tagged(ptr %t22) + %t24 = icmp ne i32 %t23, 0 + br i1 %t24, label %then6, label %ifend8 +then6: + %t25 = load ptr, ptr %t15 + %t26 = load ptr, ptr %t0 + %t27 = call i32 @fn_variant_ordinal(ptr %t25, ptr %t26) + store i32 %t27, ptr %t28 + %t29 = load i32, ptr %t28 + %t30 = icmp sge i32 %t29, 0 + %t31 = zext i1 %t30 to i32 + %t32 = icmp ne i32 %t31, 0 + br i1 %t32, label %then9, label %ifend11 +then9: + %t33 = load i32, ptr %t28 + store i32 %t33, ptr @g_g_var_ord + %t34 = load ptr, ptr %t15 + store ptr %t34, ptr %retval + br label %ret +ifend11: + br label %ifend8 +ifend8: + br label %ifend5 +ifend5: + %t35 = load i32, ptr %t1 + %t36 = add i32 %t35, 1 + store i32 %t36, ptr %t1 + br label %wcond0 +wend2: + store ptr null, ptr %retval + br label %ret +ret: + %t37 = load ptr, ptr %retval + ret ptr %t37 +} + +define i32 @fn_enum_max_arity(ptr %arg_en) { +entry: + %retval = alloca i32 + %t0 = alloca ptr + %t1 = alloca i32 + %t2 = alloca i32 + %t24 = alloca i32 + store ptr %arg_en, ptr %t0 + store i32 0, ptr %t1 + store i32 0, ptr %t2 + br label %wcond0 +wcond0: + %t3 = load i32, ptr %t2 + %t4 = load ptr, ptr %t0 + %t5 = getelementptr inbounds %Cmp_Node, ptr %t4, i32 0, i32 7 + %t6 = load ptr, ptr %t5 + %t7 = getelementptr inbounds %LSlice, ptr %t6, i32 0, i32 1 + %t8 = load i32, ptr %t7 + %t9 = icmp slt i32 %t3, %t8 + %t10 = zext i1 %t9 to i32 + %t11 = icmp ne i32 %t10, 0 + br i1 %t11, label %wbody1, label %wend2 +wbody1: + %t12 = load ptr, ptr %t0 + %t13 = getelementptr inbounds %Cmp_Node, ptr %t12, i32 0, i32 7 + %t14 = load ptr, ptr %t13 + %t15 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 0 + %t16 = load ptr, ptr %t15 + %t17 = load i32, ptr %t2 + %t18 = getelementptr inbounds ptr, ptr %t16, i32 %t17 + %t19 = load ptr, ptr %t18 + %t20 = getelementptr inbounds %Cmp_Node, ptr %t19, i32 0, i32 7 + %t21 = load ptr, ptr %t20 + %t22 = getelementptr inbounds %LSlice, ptr %t21, i32 0, i32 1 + %t23 = load i32, ptr %t22 + store i32 %t23, ptr %t24 + %t25 = load i32, ptr %t24 + %t26 = load i32, ptr %t1 + %t27 = icmp sgt i32 %t25, %t26 + %t28 = zext i1 %t27 to i32 + %t29 = icmp ne i32 %t28, 0 + br i1 %t29, label %then3, label %ifend5 +then3: + %t30 = load i32, ptr %t24 + store i32 %t30, ptr %t1 + br label %ifend5 +ifend5: + %t31 = load i32, ptr %t2 + %t32 = add i32 %t31, 1 + store i32 %t32, ptr %t2 + br label %wcond0 +wend2: + %t33 = load i32, ptr %t1 + store i32 %t33, ptr %retval + br label %ret +ret: + %t34 = load i32, ptr %retval + ret i32 %t34 +} + +define i32 @fn_enum_box_size(ptr %arg_en) { +entry: + %retval = alloca i32 + %t0 = alloca ptr + store ptr %arg_en, ptr %t0 + %t1 = load ptr, ptr %t0 + %t2 = call i32 @fn_enum_max_arity(ptr %t1) + %t3 = add i32 1, %t2 + %t4 = mul i32 8, %t3 + store i32 %t4, ptr %retval + br label %ret +ret: + %t5 = load i32, ptr %retval + ret i32 %t5 +} + +define ptr @fn_find_extern(ptr %arg_name) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t1 = alloca i32 + %t15 = alloca ptr + %t16 = alloca i32 + store ptr %arg_name, ptr %t0 + store i32 0, ptr %t1 + br label %wcond0 +wcond0: + %t2 = load i32, ptr %t1 + %t3 = load ptr, ptr @g_prog + %t4 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 1 + %t5 = load i32, ptr %t4 + %t6 = icmp slt i32 %t2, %t5 + %t7 = zext i1 %t6 to i32 + %t8 = icmp ne i32 %t7, 0 + br i1 %t8, label %wbody1, label %wend2 +wbody1: + %t9 = load ptr, ptr @g_prog + %t10 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0 + %t11 = load ptr, ptr %t10 + %t12 = load i32, ptr %t1 + %t13 = getelementptr inbounds ptr, ptr %t11, i32 %t12 + %t14 = load ptr, ptr %t13 + store ptr %t14, ptr %t15 + %t17 = load ptr, ptr %t15 + %t18 = getelementptr inbounds %Cmp_Node, ptr %t17, i32 0, i32 0 + %t19 = load i32, ptr %t18 + %t20 = icmp eq i32 %t19, 11 + %t21 = zext i1 %t20 to i32 + %t22 = icmp ne i32 %t21, 0 + %t23 = zext i1 %t22 to i32 + store i32 %t23, ptr %t16 + br i1 %t22, label %sc3, label %scend4 +sc3: + %t24 = load ptr, ptr %t15 + %t25 = getelementptr inbounds %Cmp_Node, ptr %t24, i32 0, i32 1 + %t26 = load ptr, ptr %t25 + %t27 = load ptr, ptr %t0 + %t28 = call i32 @lp_str_eq(ptr %t26, ptr %t27) + %t29 = icmp ne i32 %t28, 0 + %t30 = zext i1 %t29 to i32 + store i32 %t30, ptr %t16 + br label %scend4 +scend4: + %t31 = load i32, ptr %t16 + %t32 = icmp ne i32 %t31, 0 + br i1 %t32, label %then5, label %ifend7 +then5: + %t33 = load ptr, ptr %t15 + store ptr %t33, ptr %retval + br label %ret +ifend7: + %t34 = load i32, ptr %t1 + %t35 = add i32 %t34, 1 + store i32 %t35, ptr %t1 + br label %wcond0 +wend2: + store ptr null, ptr %retval + br label %ret +ret: + %t36 = load ptr, ptr %retval + ret ptr %t36 +} + +define void @fn_register_computed(ptr %arg_prop, ptr %arg_field, ptr %arg_ty, ptr %arg_e) { +entry: + %t0 = alloca ptr + %t1 = alloca ptr + %t2 = alloca ptr + %t3 = alloca ptr + %t5 = alloca ptr + store ptr %arg_prop, ptr %t0 + store ptr %arg_field, ptr %t1 + store ptr %arg_ty, ptr %t2 + store ptr %arg_e, ptr %t3 + %t4 = call ptr @fn_node(i32 1) + store ptr %t4, ptr %t5 + %t6 = load ptr, ptr %t5 + %t7 = getelementptr inbounds %Cmp_Node, ptr %t6, i32 0, i32 1 + %t8 = load ptr, ptr %t0 + %t9 = call ptr @lp_str_concat(ptr %t8, ptr @.str724) + %t10 = load ptr, ptr %t1 + %t11 = call ptr @lp_str_concat(ptr %t9, ptr %t10) + store ptr %t11, ptr %t7 + %t12 = load ptr, ptr %t5 + %t13 = getelementptr inbounds %Cmp_Node, ptr %t12, i32 0, i32 3 + %t14 = load ptr, ptr %t2 + store ptr %t14, ptr %t13 + %t15 = load ptr, ptr %t5 + %t16 = getelementptr inbounds %Cmp_Node, ptr %t15, i32 0, i32 4 + %t17 = load ptr, ptr %t3 + store ptr %t17, ptr %t16 + %t18 = load ptr, ptr @g_g_computed + %t19 = load ptr, ptr %t5 + %t20 = getelementptr inbounds %LSlice, ptr %t18, i32 0, i32 1 + %t21 = getelementptr inbounds %LSlice, ptr %t18, i32 0, i32 2 + %t22 = getelementptr inbounds %LSlice, ptr %t18, i32 0, i32 0 + %t23 = load i32, ptr %t20 + %t24 = load i32, ptr %t21 + %t25 = icmp sge i32 %t23, %t24 + br i1 %t25, label %grow0, label %put1 +grow0: + %t26 = mul i32 %t24, 2 + %t27 = icmp eq i32 %t24, 0 + %t28 = select i1 %t27, i32 8, i32 %t26 + %t29 = getelementptr ptr, ptr null, i32 1 + %t30 = ptrtoint ptr %t29 to i64 + %t31 = zext i32 %t28 to i64 + %t32 = mul i64 %t31, %t30 + %t33 = load ptr, ptr %t22 + %t34 = call ptr @realloc(ptr %t33, i64 %t32) + store ptr %t34, ptr %t22 + store i32 %t28, ptr %t21 + br label %put1 +put1: + %t35 = load ptr, ptr %t22 + %t36 = getelementptr inbounds ptr, ptr %t35, i32 %t23 + store ptr %t19, ptr %t36 + %t37 = add i32 %t23, 1 + store i32 %t37, ptr %t20 + br label %ret +ret: + ret void +} + +define ptr @fn_computed_expr(ptr %arg_prop, ptr %arg_field) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t1 = alloca ptr + %t10 = alloca ptr + %t11 = alloca i32 + store ptr %arg_prop, ptr %t0 + store ptr %arg_field, ptr %t1 + %t2 = load ptr, ptr %t0 + %t3 = icmp eq ptr %t2, null + %t4 = zext i1 %t3 to i32 + %t5 = icmp ne i32 %t4, 0 + br i1 %t5, label %then0, label %ifend2 +then0: + store ptr null, ptr %retval + br label %ret +ifend2: + %t6 = load ptr, ptr %t0 + %t7 = call ptr @lp_str_concat(ptr %t6, ptr @.str725) + %t8 = load ptr, ptr %t1 + %t9 = call ptr @lp_str_concat(ptr %t7, ptr %t8) + store ptr %t9, ptr %t10 + store i32 0, ptr %t11 + br label %wcond3 +wcond3: + %t12 = load i32, ptr %t11 + %t13 = load ptr, ptr @g_g_computed + %t14 = getelementptr inbounds %LSlice, ptr %t13, i32 0, i32 1 + %t15 = load i32, ptr %t14 + %t16 = icmp slt i32 %t12, %t15 + %t17 = zext i1 %t16 to i32 + %t18 = icmp ne i32 %t17, 0 + br i1 %t18, label %wbody4, label %wend5 +wbody4: + %t19 = load ptr, ptr @g_g_computed + %t20 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 0 + %t21 = load ptr, ptr %t20 + %t22 = load i32, ptr %t11 + %t23 = getelementptr inbounds ptr, ptr %t21, i32 %t22 + %t24 = load ptr, ptr %t23 + %t25 = getelementptr inbounds %Cmp_Node, ptr %t24, i32 0, i32 1 + %t26 = load ptr, ptr %t25 + %t27 = load ptr, ptr %t10 + %t28 = call i32 @lp_str_eq(ptr %t26, ptr %t27) + %t29 = icmp ne i32 %t28, 0 + br i1 %t29, label %then6, label %ifend8 +then6: + %t30 = load ptr, ptr @g_g_computed + %t31 = getelementptr inbounds %LSlice, ptr %t30, i32 0, i32 0 + %t32 = load ptr, ptr %t31 + %t33 = load i32, ptr %t11 + %t34 = getelementptr inbounds ptr, ptr %t32, i32 %t33 + %t35 = load ptr, ptr %t34 + %t36 = getelementptr inbounds %Cmp_Node, ptr %t35, i32 0, i32 4 + %t37 = load ptr, ptr %t36 + store ptr %t37, ptr %retval + br label %ret +ifend8: + %t38 = load i32, ptr %t11 + %t39 = add i32 %t38, 1 + store i32 %t39, ptr %t11 + br label %wcond3 +wend5: + store ptr null, ptr %retval + br label %ret +ret: + %t40 = load ptr, ptr %retval + ret ptr %t40 +} + +define ptr @fn_static_type(ptr %arg_e) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t11 = alloca i32 + %t26 = alloca ptr + %t54 = alloca ptr + %t62 = alloca i32 + %t85 = alloca i32 + %t115 = alloca i32 + %t126 = alloca i32 + %t127 = alloca i32 + %t128 = alloca i32 + %t129 = alloca i32 + %t130 = alloca i32 + %t131 = alloca i32 + %t208 = alloca i32 + %t219 = alloca i32 + %t220 = alloca i32 + %t253 = alloca i32 + %t274 = alloca i32 + %t311 = alloca ptr + %t329 = alloca ptr + %t336 = alloca ptr + %t356 = alloca ptr + %t357 = alloca i32 + %t380 = alloca i32 + %t407 = alloca ptr + %t414 = alloca i32 + store ptr %arg_e, ptr %t0 + %t1 = load ptr, ptr %t0 + %t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 0 + %t3 = load i32, ptr %t2 + %t4 = icmp eq i32 %t3, 33 + %t5 = zext i1 %t4 to i32 + %t6 = icmp ne i32 %t5, 0 + br i1 %t6, label %then0, label %ifend2 +then0: + %t7 = load ptr, ptr %t0 + %t8 = getelementptr inbounds %Cmp_Node, ptr %t7, i32 0, i32 1 + %t9 = load ptr, ptr %t8 + %t10 = call i32 @fn_loc_find(ptr %t9) + store i32 %t10, ptr %t11 + %t12 = load i32, ptr %t11 + %t13 = icmp sge i32 %t12, 0 + %t14 = zext i1 %t13 to i32 + %t15 = icmp ne i32 %t14, 0 + br i1 %t15, label %then3, label %ifend5 +then3: + %t16 = load ptr, ptr @g_loc_ty + %t17 = getelementptr inbounds %LSlice, ptr %t16, i32 0, i32 0 + %t18 = load ptr, ptr %t17 + %t19 = load i32, ptr %t11 + %t20 = getelementptr inbounds ptr, ptr %t18, i32 %t19 + %t21 = load ptr, ptr %t20 + store ptr %t21, ptr %retval + br label %ret +ifend5: + %t22 = load ptr, ptr %t0 + %t23 = getelementptr inbounds %Cmp_Node, ptr %t22, i32 0, i32 1 + %t24 = load ptr, ptr %t23 + %t25 = call ptr @fn_find_global(ptr %t24) + store ptr %t25, ptr %t26 + %t27 = load ptr, ptr %t26 + %t28 = icmp ne ptr %t27, null + %t29 = zext i1 %t28 to i32 + %t30 = icmp ne i32 %t29, 0 + br i1 %t30, label %then6, label %ifend8 +then6: + %t31 = load ptr, ptr %t26 + %t32 = getelementptr inbounds %Cmp_Node, ptr %t31, i32 0, i32 3 + %t33 = load ptr, ptr %t32 + store ptr %t33, ptr %retval + br label %ret +ifend8: + br label %ifend2 +ifend2: + %t34 = load ptr, ptr %t0 + %t35 = getelementptr inbounds %Cmp_Node, ptr %t34, i32 0, i32 0 + %t36 = load i32, ptr %t35 + %t37 = icmp eq i32 %t36, 34 + %t38 = zext i1 %t37 to i32 + %t39 = icmp ne i32 %t38, 0 + br i1 %t39, label %then9, label %ifend11 +then9: + %t40 = load ptr, ptr %t0 + %t41 = getelementptr inbounds %Cmp_Node, ptr %t40, i32 0, i32 4 + %t42 = load ptr, ptr %t41 + %t43 = getelementptr inbounds %Cmp_Node, ptr %t42, i32 0, i32 0 + %t44 = load i32, ptr %t43 + %t45 = icmp eq i32 %t44, 33 + %t46 = zext i1 %t45 to i32 + %t47 = icmp ne i32 %t46, 0 + br i1 %t47, label %then12, label %ifend14 +then12: + %t48 = load ptr, ptr %t0 + %t49 = getelementptr inbounds %Cmp_Node, ptr %t48, i32 0, i32 4 + %t50 = load ptr, ptr %t49 + %t51 = getelementptr inbounds %Cmp_Node, ptr %t50, i32 0, i32 1 + %t52 = load ptr, ptr %t51 + %t53 = call ptr @fn_find_fn(ptr %t52) + store ptr %t53, ptr %t54 + %t55 = load ptr, ptr %t54 + %t56 = icmp ne ptr %t55, null + %t57 = zext i1 %t56 to i32 + %t58 = icmp ne i32 %t57, 0 + br i1 %t58, label %then15, label %ifend17 +then15: + %t59 = load ptr, ptr %t54 + %t60 = getelementptr inbounds %Cmp_Node, ptr %t59, i32 0, i32 3 + %t61 = load ptr, ptr %t60 + store ptr %t61, ptr %retval + br label %ret +ifend17: + br label %ifend14 +ifend14: + %t63 = load ptr, ptr %t0 + %t64 = getelementptr inbounds %Cmp_Node, ptr %t63, i32 0, i32 4 + %t65 = load ptr, ptr %t64 + %t66 = getelementptr inbounds %Cmp_Node, ptr %t65, i32 0, i32 0 + %t67 = load i32, ptr %t66 + %t68 = icmp eq i32 %t67, 35 + %t69 = zext i1 %t68 to i32 + %t70 = icmp ne i32 %t69, 0 + %t71 = zext i1 %t70 to i32 + store i32 %t71, ptr %t62 + br i1 %t70, label %sc18, label %scend19 +sc18: + %t72 = load ptr, ptr %t0 + %t73 = getelementptr inbounds %Cmp_Node, ptr %t72, i32 0, i32 4 + %t74 = load ptr, ptr %t73 + %t75 = getelementptr inbounds %Cmp_Node, ptr %t74, i32 0, i32 4 + %t76 = load ptr, ptr %t75 + %t77 = getelementptr inbounds %Cmp_Node, ptr %t76, i32 0, i32 0 + %t78 = load i32, ptr %t77 + %t79 = icmp eq i32 %t78, 33 + %t80 = zext i1 %t79 to i32 + %t81 = icmp ne i32 %t80, 0 + %t82 = zext i1 %t81 to i32 + store i32 %t82, ptr %t62 + br label %scend19 +scend19: + %t83 = load i32, ptr %t62 + %t84 = icmp ne i32 %t83, 0 + br i1 %t84, label %then20, label %ifend22 +then20: + %t86 = load ptr, ptr %t0 + %t87 = getelementptr inbounds %Cmp_Node, ptr %t86, i32 0, i32 4 + %t88 = load ptr, ptr %t87 + %t89 = getelementptr inbounds %Cmp_Node, ptr %t88, i32 0, i32 4 + %t90 = load ptr, ptr %t89 + %t91 = getelementptr inbounds %Cmp_Node, ptr %t90, i32 0, i32 1 + %t92 = load ptr, ptr %t91 + %t93 = call ptr @fn_find_comp(ptr %t92) + %t94 = icmp ne ptr %t93, null + %t95 = zext i1 %t94 to i32 + %t96 = icmp ne i32 %t95, 0 + %t97 = zext i1 %t96 to i32 + store i32 %t97, ptr %t85 + br i1 %t96, label %sc23, label %scend24 +sc23: + %t98 = load ptr, ptr %t0 + %t99 = getelementptr inbounds %Cmp_Node, ptr %t98, i32 0, i32 4 + %t100 = load ptr, ptr %t99 + %t101 = getelementptr inbounds %Cmp_Node, ptr %t100, i32 0, i32 1 + %t102 = load ptr, ptr %t101 + %t103 = call i32 @lp_str_eq(ptr %t102, ptr @.str726) + %t104 = icmp ne i32 %t103, 0 + %t105 = zext i1 %t104 to i32 + store i32 %t105, ptr %t85 + br label %scend24 +scend24: + %t106 = load i32, ptr %t85 + %t107 = icmp ne i32 %t106, 0 + br i1 %t107, label %then25, label %ifend27 +then25: + %t108 = load ptr, ptr %t0 + %t109 = getelementptr inbounds %Cmp_Node, ptr %t108, i32 0, i32 4 + %t110 = load ptr, ptr %t109 + %t111 = getelementptr inbounds %Cmp_Node, ptr %t110, i32 0, i32 4 + %t112 = load ptr, ptr %t111 + %t113 = getelementptr inbounds %Cmp_Node, ptr %t112, i32 0, i32 1 + %t114 = load ptr, ptr %t113 + store ptr %t114, ptr %retval + br label %ret +ifend27: + %t116 = load ptr, ptr %t0 + %t117 = getelementptr inbounds %Cmp_Node, ptr %t116, i32 0, i32 4 + %t118 = load ptr, ptr %t117 + %t119 = getelementptr inbounds %Cmp_Node, ptr %t118, i32 0, i32 4 + %t120 = load ptr, ptr %t119 + %t121 = getelementptr inbounds %Cmp_Node, ptr %t120, i32 0, i32 1 + %t122 = load ptr, ptr %t121 + %t123 = call i32 @lp_str_eq(ptr %t122, ptr @.str727) + %t124 = icmp ne i32 %t123, 0 + %t125 = zext i1 %t124 to i32 + store i32 %t125, ptr %t115 + br i1 %t124, label %sc28, label %scend29 +sc28: + %t132 = load ptr, ptr %t0 + %t133 = getelementptr inbounds %Cmp_Node, ptr %t132, i32 0, i32 4 + %t134 = load ptr, ptr %t133 + %t135 = getelementptr inbounds %Cmp_Node, ptr %t134, i32 0, i32 1 + %t136 = load ptr, ptr %t135 + %t137 = call i32 @lp_str_eq(ptr %t136, ptr @.str728) + %t138 = icmp ne i32 %t137, 0 + %t139 = zext i1 %t138 to i32 + store i32 %t139, ptr %t131 + br i1 %t138, label %scend31, label %sc30 +sc30: + %t140 = load ptr, ptr %t0 + %t141 = getelementptr inbounds %Cmp_Node, ptr %t140, i32 0, i32 4 + %t142 = load ptr, ptr %t141 + %t143 = getelementptr inbounds %Cmp_Node, ptr %t142, i32 0, i32 1 + %t144 = load ptr, ptr %t143 + %t145 = call i32 @lp_str_eq(ptr %t144, ptr @.str729) + %t146 = icmp ne i32 %t145, 0 + %t147 = zext i1 %t146 to i32 + store i32 %t147, ptr %t131 + br label %scend31 +scend31: + %t148 = load i32, ptr %t131 + %t149 = icmp ne i32 %t148, 0 + %t150 = zext i1 %t149 to i32 + store i32 %t150, ptr %t130 + br i1 %t149, label %scend33, label %sc32 +sc32: + %t151 = load ptr, ptr %t0 + %t152 = getelementptr inbounds %Cmp_Node, ptr %t151, i32 0, i32 4 + %t153 = load ptr, ptr %t152 + %t154 = getelementptr inbounds %Cmp_Node, ptr %t153, i32 0, i32 1 + %t155 = load ptr, ptr %t154 + %t156 = call i32 @lp_str_eq(ptr %t155, ptr @.str730) + %t157 = icmp ne i32 %t156, 0 + %t158 = zext i1 %t157 to i32 + store i32 %t158, ptr %t130 + br label %scend33 +scend33: + %t159 = load i32, ptr %t130 + %t160 = icmp ne i32 %t159, 0 + %t161 = zext i1 %t160 to i32 + store i32 %t161, ptr %t129 + br i1 %t160, label %scend35, label %sc34 +sc34: + %t162 = load ptr, ptr %t0 + %t163 = getelementptr inbounds %Cmp_Node, ptr %t162, i32 0, i32 4 + %t164 = load ptr, ptr %t163 + %t165 = getelementptr inbounds %Cmp_Node, ptr %t164, i32 0, i32 1 + %t166 = load ptr, ptr %t165 + %t167 = call i32 @lp_str_eq(ptr %t166, ptr @.str731) + %t168 = icmp ne i32 %t167, 0 + %t169 = zext i1 %t168 to i32 + store i32 %t169, ptr %t129 + br label %scend35 +scend35: + %t170 = load i32, ptr %t129 + %t171 = icmp ne i32 %t170, 0 + %t172 = zext i1 %t171 to i32 + store i32 %t172, ptr %t128 + br i1 %t171, label %scend37, label %sc36 +sc36: + %t173 = load ptr, ptr %t0 + %t174 = getelementptr inbounds %Cmp_Node, ptr %t173, i32 0, i32 4 + %t175 = load ptr, ptr %t174 + %t176 = getelementptr inbounds %Cmp_Node, ptr %t175, i32 0, i32 1 + %t177 = load ptr, ptr %t176 + %t178 = call i32 @lp_str_eq(ptr %t177, ptr @.str732) + %t179 = icmp ne i32 %t178, 0 + %t180 = zext i1 %t179 to i32 + store i32 %t180, ptr %t128 + br label %scend37 +scend37: + %t181 = load i32, ptr %t128 + %t182 = icmp ne i32 %t181, 0 + %t183 = zext i1 %t182 to i32 + store i32 %t183, ptr %t127 + br i1 %t182, label %scend39, label %sc38 +sc38: + %t184 = load ptr, ptr %t0 + %t185 = getelementptr inbounds %Cmp_Node, ptr %t184, i32 0, i32 4 + %t186 = load ptr, ptr %t185 + %t187 = getelementptr inbounds %Cmp_Node, ptr %t186, i32 0, i32 1 + %t188 = load ptr, ptr %t187 + %t189 = call i32 @lp_str_eq(ptr %t188, ptr @.str733) + %t190 = icmp ne i32 %t189, 0 + %t191 = zext i1 %t190 to i32 + store i32 %t191, ptr %t127 + br label %scend39 +scend39: + %t192 = load i32, ptr %t127 + %t193 = icmp ne i32 %t192, 0 + %t194 = zext i1 %t193 to i32 + store i32 %t194, ptr %t126 + br i1 %t193, label %scend41, label %sc40 +sc40: + %t195 = load ptr, ptr %t0 + %t196 = getelementptr inbounds %Cmp_Node, ptr %t195, i32 0, i32 4 + %t197 = load ptr, ptr %t196 + %t198 = getelementptr inbounds %Cmp_Node, ptr %t197, i32 0, i32 1 + %t199 = load ptr, ptr %t198 + %t200 = call i32 @lp_str_eq(ptr %t199, ptr @.str734) + %t201 = icmp ne i32 %t200, 0 + %t202 = zext i1 %t201 to i32 + store i32 %t202, ptr %t126 + br label %scend41 +scend41: + %t203 = load i32, ptr %t126 + %t204 = icmp ne i32 %t203, 0 + %t205 = zext i1 %t204 to i32 + store i32 %t205, ptr %t115 + br label %scend29 +scend29: + %t206 = load i32, ptr %t115 + %t207 = icmp ne i32 %t206, 0 + br i1 %t207, label %then42, label %ifend44 +then42: + store ptr @.str735, ptr %retval + br label %ret +ifend44: + %t209 = load ptr, ptr %t0 + %t210 = getelementptr inbounds %Cmp_Node, ptr %t209, i32 0, i32 4 + %t211 = load ptr, ptr %t210 + %t212 = getelementptr inbounds %Cmp_Node, ptr %t211, i32 0, i32 4 + %t213 = load ptr, ptr %t212 + %t214 = getelementptr inbounds %Cmp_Node, ptr %t213, i32 0, i32 1 + %t215 = load ptr, ptr %t214 + %t216 = call i32 @lp_str_eq(ptr %t215, ptr @.str736) + %t217 = icmp ne i32 %t216, 0 + %t218 = zext i1 %t217 to i32 + store i32 %t218, ptr %t208 + br i1 %t217, label %sc45, label %scend46 +sc45: + %t221 = load ptr, ptr %t0 + %t222 = getelementptr inbounds %Cmp_Node, ptr %t221, i32 0, i32 4 + %t223 = load ptr, ptr %t222 + %t224 = getelementptr inbounds %Cmp_Node, ptr %t223, i32 0, i32 1 + %t225 = load ptr, ptr %t224 + %t226 = call i32 @lp_str_eq(ptr %t225, ptr @.str737) + %t227 = icmp ne i32 %t226, 0 + %t228 = zext i1 %t227 to i32 + store i32 %t228, ptr %t220 + br i1 %t227, label %scend48, label %sc47 +sc47: + %t229 = load ptr, ptr %t0 + %t230 = getelementptr inbounds %Cmp_Node, ptr %t229, i32 0, i32 4 + %t231 = load ptr, ptr %t230 + %t232 = getelementptr inbounds %Cmp_Node, ptr %t231, i32 0, i32 1 + %t233 = load ptr, ptr %t232 + %t234 = call i32 @lp_str_eq(ptr %t233, ptr @.str738) + %t235 = icmp ne i32 %t234, 0 + %t236 = zext i1 %t235 to i32 + store i32 %t236, ptr %t220 + br label %scend48 +scend48: + %t237 = load i32, ptr %t220 + %t238 = icmp ne i32 %t237, 0 + %t239 = zext i1 %t238 to i32 + store i32 %t239, ptr %t219 + br i1 %t238, label %scend50, label %sc49 +sc49: + %t240 = load ptr, ptr %t0 + %t241 = getelementptr inbounds %Cmp_Node, ptr %t240, i32 0, i32 4 + %t242 = load ptr, ptr %t241 + %t243 = getelementptr inbounds %Cmp_Node, ptr %t242, i32 0, i32 1 + %t244 = load ptr, ptr %t243 + %t245 = call i32 @lp_str_eq(ptr %t244, ptr @.str739) + %t246 = icmp ne i32 %t245, 0 + %t247 = zext i1 %t246 to i32 + store i32 %t247, ptr %t219 + br label %scend50 +scend50: + %t248 = load i32, ptr %t219 + %t249 = icmp ne i32 %t248, 0 + %t250 = zext i1 %t249 to i32 + store i32 %t250, ptr %t208 + br label %scend46 +scend46: + %t251 = load i32, ptr %t208 + %t252 = icmp ne i32 %t251, 0 + br i1 %t252, label %then51, label %ifend53 +then51: + store ptr @.str740, ptr %retval + br label %ret +ifend53: + %t254 = load ptr, ptr %t0 + %t255 = getelementptr inbounds %Cmp_Node, ptr %t254, i32 0, i32 4 + %t256 = load ptr, ptr %t255 + %t257 = getelementptr inbounds %Cmp_Node, ptr %t256, i32 0, i32 4 + %t258 = load ptr, ptr %t257 + %t259 = getelementptr inbounds %Cmp_Node, ptr %t258, i32 0, i32 1 + %t260 = load ptr, ptr %t259 + %t261 = call i32 @lp_str_eq(ptr %t260, ptr @.str741) + %t262 = icmp ne i32 %t261, 0 + %t263 = zext i1 %t262 to i32 + store i32 %t263, ptr %t253 + br i1 %t262, label %sc54, label %scend55 +sc54: + %t264 = load ptr, ptr %t0 + %t265 = getelementptr inbounds %Cmp_Node, ptr %t264, i32 0, i32 4 + %t266 = load ptr, ptr %t265 + %t267 = getelementptr inbounds %Cmp_Node, ptr %t266, i32 0, i32 1 + %t268 = load ptr, ptr %t267 + %t269 = call i32 @lp_str_eq(ptr %t268, ptr @.str742) + %t270 = icmp ne i32 %t269, 0 + %t271 = zext i1 %t270 to i32 + store i32 %t271, ptr %t253 + br label %scend55 +scend55: + %t272 = load i32, ptr %t253 + %t273 = icmp ne i32 %t272, 0 + br i1 %t273, label %then56, label %ifend58 +then56: + store ptr @.str743, ptr %retval + br label %ret +ifend58: + %t275 = load ptr, ptr %t0 + %t276 = getelementptr inbounds %Cmp_Node, ptr %t275, i32 0, i32 4 + %t277 = load ptr, ptr %t276 + %t278 = getelementptr inbounds %Cmp_Node, ptr %t277, i32 0, i32 4 + %t279 = load ptr, ptr %t278 + %t280 = getelementptr inbounds %Cmp_Node, ptr %t279, i32 0, i32 1 + %t281 = load ptr, ptr %t280 + %t282 = call i32 @lp_str_eq(ptr %t281, ptr @.str744) + %t283 = icmp ne i32 %t282, 0 + %t284 = zext i1 %t283 to i32 + store i32 %t284, ptr %t274 + br i1 %t283, label %sc59, label %scend60 +sc59: + %t285 = load ptr, ptr %t0 + %t286 = getelementptr inbounds %Cmp_Node, ptr %t285, i32 0, i32 4 + %t287 = load ptr, ptr %t286 + %t288 = getelementptr inbounds %Cmp_Node, ptr %t287, i32 0, i32 1 + %t289 = load ptr, ptr %t288 + %t290 = call i32 @lp_str_eq(ptr %t289, ptr @.str745) + %t291 = icmp ne i32 %t290, 0 + %t292 = zext i1 %t291 to i32 + store i32 %t292, ptr %t274 + br label %scend60 +scend60: + %t293 = load i32, ptr %t274 + %t294 = icmp ne i32 %t293, 0 + br i1 %t294, label %then61, label %ifend63 +then61: + store ptr @.str746, ptr %retval + br label %ret +ifend63: + %t295 = load ptr, ptr %t0 + %t296 = getelementptr inbounds %Cmp_Node, ptr %t295, i32 0, i32 4 + %t297 = load ptr, ptr %t296 + %t298 = getelementptr inbounds %Cmp_Node, ptr %t297, i32 0, i32 4 + %t299 = load ptr, ptr %t298 + %t300 = getelementptr inbounds %Cmp_Node, ptr %t299, i32 0, i32 1 + %t301 = load ptr, ptr %t300 + %t302 = call ptr @fn_ns_lower(ptr %t301) + %t303 = call ptr @lp_str_concat(ptr %t302, ptr @.str747) + %t304 = load ptr, ptr %t0 + %t305 = getelementptr inbounds %Cmp_Node, ptr %t304, i32 0, i32 4 + %t306 = load ptr, ptr %t305 + %t307 = getelementptr inbounds %Cmp_Node, ptr %t306, i32 0, i32 1 + %t308 = load ptr, ptr %t307 + %t309 = call ptr @lp_str_concat(ptr %t303, ptr %t308) + %t310 = call ptr @fn_find_fn(ptr %t309) + store ptr %t310, ptr %t311 + %t312 = load ptr, ptr %t311 + %t313 = icmp ne ptr %t312, null + %t314 = zext i1 %t313 to i32 + %t315 = icmp ne i32 %t314, 0 + br i1 %t315, label %then64, label %ifend66 +then64: + %t316 = load ptr, ptr %t311 + %t317 = getelementptr inbounds %Cmp_Node, ptr %t316, i32 0, i32 3 + %t318 = load ptr, ptr %t317 + store ptr %t318, ptr %retval + br label %ret +ifend66: + br label %ifend22 +ifend22: + br label %ifend11 +ifend11: + %t319 = load ptr, ptr %t0 + %t320 = getelementptr inbounds %Cmp_Node, ptr %t319, i32 0, i32 0 + %t321 = load i32, ptr %t320 + %t322 = icmp eq i32 %t321, 35 + %t323 = zext i1 %t322 to i32 + %t324 = icmp ne i32 %t323, 0 + br i1 %t324, label %then67, label %ifend69 +then67: + %t325 = load ptr, ptr %t0 + %t326 = getelementptr inbounds %Cmp_Node, ptr %t325, i32 0, i32 4 + %t327 = load ptr, ptr %t326 + %t328 = call ptr @fn_static_type(ptr %t327) + store ptr %t328, ptr %t329 + %t330 = load ptr, ptr %t329 + %t331 = icmp ne ptr %t330, null + %t332 = zext i1 %t331 to i32 + %t333 = icmp ne i32 %t332, 0 + br i1 %t333, label %then70, label %ifend72 +then70: + %t334 = load ptr, ptr %t329 + %t335 = call ptr @fn_layout_node(ptr %t334) + store ptr %t335, ptr %t336 + %t337 = load ptr, ptr %t336 + %t338 = icmp ne ptr %t337, null + %t339 = zext i1 %t338 to i32 + %t340 = icmp ne i32 %t339, 0 + br i1 %t340, label %then73, label %ifend75 +then73: + %t341 = load ptr, ptr %t336 + %t342 = load ptr, ptr %t0 + %t343 = getelementptr inbounds %Cmp_Node, ptr %t342, i32 0, i32 1 + %t344 = load ptr, ptr %t343 + %t345 = call ptr @fn_field_type(ptr %t341, ptr %t344) + store ptr %t345, ptr %retval + br label %ret +ifend75: + br label %ifend72 +ifend72: + br label %ifend69 +ifend69: + %t346 = load ptr, ptr %t0 + %t347 = getelementptr inbounds %Cmp_Node, ptr %t346, i32 0, i32 0 + %t348 = load i32, ptr %t347 + %t349 = icmp eq i32 %t348, 36 + %t350 = zext i1 %t349 to i32 + %t351 = icmp ne i32 %t350, 0 + br i1 %t351, label %then76, label %ifend78 +then76: + %t352 = load ptr, ptr %t0 + %t353 = getelementptr inbounds %Cmp_Node, ptr %t352, i32 0, i32 4 + %t354 = load ptr, ptr %t353 + %t355 = call ptr @fn_static_type(ptr %t354) + store ptr %t355, ptr %t356 + %t358 = load ptr, ptr %t356 + %t359 = icmp ne ptr %t358, null + %t360 = zext i1 %t359 to i32 + %t361 = icmp ne i32 %t360, 0 + %t362 = zext i1 %t361 to i32 + store i32 %t362, ptr %t357 + br i1 %t361, label %sc79, label %scend80 +sc79: + %t363 = load ptr, ptr %t356 + %t364 = call i32 @fn_is_slice_ty(ptr %t363) + %t365 = icmp ne i32 %t364, 0 + %t366 = zext i1 %t365 to i32 + store i32 %t366, ptr %t357 + br label %scend80 +scend80: + %t367 = load i32, ptr %t357 + %t368 = icmp ne i32 %t367, 0 + br i1 %t368, label %then81, label %ifend83 +then81: + %t369 = load ptr, ptr %t356 + %t370 = call ptr @fn_slice_elem(ptr %t369) + store ptr %t370, ptr %retval + br label %ret +ifend83: + br label %ifend78 +ifend78: + %t371 = load ptr, ptr %t0 + %t372 = getelementptr inbounds %Cmp_Node, ptr %t371, i32 0, i32 0 + %t373 = load i32, ptr %t372 + %t374 = icmp eq i32 %t373, 39 + %t375 = zext i1 %t374 to i32 + %t376 = icmp ne i32 %t375, 0 + br i1 %t376, label %then84, label %ifend86 +then84: + %t377 = load ptr, ptr %t0 + %t378 = getelementptr inbounds %Cmp_Node, ptr %t377, i32 0, i32 1 + %t379 = load ptr, ptr %t378 + store ptr %t379, ptr %retval + br label %ret +ifend86: + %t381 = load ptr, ptr %t0 + %t382 = getelementptr inbounds %Cmp_Node, ptr %t381, i32 0, i32 0 + %t383 = load i32, ptr %t382 + %t384 = icmp eq i32 %t383, 54 + %t385 = zext i1 %t384 to i32 + %t386 = icmp ne i32 %t385, 0 + %t387 = zext i1 %t386 to i32 + store i32 %t387, ptr %t380 + br i1 %t386, label %sc87, label %scend88 +sc87: + %t388 = load ptr, ptr %t0 + %t389 = getelementptr inbounds %Cmp_Node, ptr %t388, i32 0, i32 7 + %t390 = load ptr, ptr %t389 + %t391 = getelementptr inbounds %LSlice, ptr %t390, i32 0, i32 1 + %t392 = load i32, ptr %t391 + %t393 = icmp sgt i32 %t392, 0 + %t394 = zext i1 %t393 to i32 + %t395 = icmp ne i32 %t394, 0 + %t396 = zext i1 %t395 to i32 + store i32 %t396, ptr %t380 + br label %scend88 +scend88: + %t397 = load i32, ptr %t380 + %t398 = icmp ne i32 %t397, 0 + br i1 %t398, label %then89, label %ifend91 +then89: + %t399 = load ptr, ptr %t0 + %t400 = getelementptr inbounds %Cmp_Node, ptr %t399, i32 0, i32 7 + %t401 = load ptr, ptr %t400 + %t402 = getelementptr inbounds %LSlice, ptr %t401, i32 0, i32 0 + %t403 = load ptr, ptr %t402 + %t404 = getelementptr inbounds ptr, ptr %t403, i32 0 + %t405 = load ptr, ptr %t404 + %t406 = call ptr @fn_static_type(ptr %t405) + store ptr %t406, ptr %t407 + %t408 = load ptr, ptr %t407 + %t409 = icmp ne ptr %t408, null + %t410 = zext i1 %t409 to i32 + %t411 = icmp ne i32 %t410, 0 + br i1 %t411, label %then92, label %ifend94 +then92: + %t412 = load ptr, ptr %t407 + %t413 = call ptr @lp_str_concat(ptr @.str748, ptr %t412) + store ptr %t413, ptr %retval + br label %ret +ifend94: + br label %ifend91 +ifend91: + %t415 = load ptr, ptr %t0 + %t416 = getelementptr inbounds %Cmp_Node, ptr %t415, i32 0, i32 0 + %t417 = load i32, ptr %t416 + %t418 = icmp eq i32 %t417, 31 + %t419 = zext i1 %t418 to i32 + %t420 = icmp ne i32 %t419, 0 + %t421 = zext i1 %t420 to i32 + store i32 %t421, ptr %t414 + br i1 %t420, label %scend96, label %sc95 +sc95: + %t422 = load ptr, ptr %t0 + %t423 = getelementptr inbounds %Cmp_Node, ptr %t422, i32 0, i32 0 + %t424 = load i32, ptr %t423 + %t425 = icmp eq i32 %t424, 44 + %t426 = zext i1 %t425 to i32 + %t427 = icmp ne i32 %t426, 0 + %t428 = zext i1 %t427 to i32 + store i32 %t428, ptr %t414 + br label %scend96 +scend96: + %t429 = load i32, ptr %t414 + %t430 = icmp ne i32 %t429, 0 + br i1 %t430, label %then97, label %ifend99 +then97: + store ptr @.str749, ptr %retval + br label %ret +ifend99: + %t431 = load ptr, ptr %t0 + %t432 = getelementptr inbounds %Cmp_Node, ptr %t431, i32 0, i32 0 + %t433 = load i32, ptr %t432 + %t434 = icmp eq i32 %t433, 30 + %t435 = zext i1 %t434 to i32 + %t436 = icmp ne i32 %t435, 0 + br i1 %t436, label %then100, label %ifend102 +then100: + store ptr @.str750, ptr %retval + br label %ret +ifend102: + %t437 = load ptr, ptr %t0 + %t438 = getelementptr inbounds %Cmp_Node, ptr %t437, i32 0, i32 0 + %t439 = load i32, ptr %t438 + %t440 = icmp eq i32 %t439, 40 + %t441 = zext i1 %t440 to i32 + %t442 = icmp ne i32 %t441, 0 + br i1 %t442, label %then103, label %ifend105 +then103: + store ptr @.str751, ptr %retval + br label %ret +ifend105: + %t443 = load ptr, ptr %t0 + %t444 = getelementptr inbounds %Cmp_Node, ptr %t443, i32 0, i32 0 + %t445 = load i32, ptr %t444 + %t446 = icmp eq i32 %t445, 32 + %t447 = zext i1 %t446 to i32 + %t448 = icmp ne i32 %t447, 0 + br i1 %t448, label %then106, label %ifend108 +then106: + store ptr @.str752, ptr %retval + br label %ret +ifend108: + store ptr null, ptr %retval + br label %ret +ret: + %t449 = load ptr, ptr %retval + ret ptr %t449 +} + +define void @fn_register_onspawn(ptr %arg_model, ptr %arg_body) { +entry: + %t0 = alloca ptr + %t1 = alloca ptr + %t3 = alloca ptr + store ptr %arg_model, ptr %t0 + store ptr %arg_body, ptr %t1 + %t2 = call ptr @fn_node(i32 7) + store ptr %t2, ptr %t3 + %t4 = load ptr, ptr %t3 + %t5 = getelementptr inbounds %Cmp_Node, ptr %t4, i32 0, i32 1 + %t6 = load ptr, ptr %t0 + store ptr %t6, ptr %t5 + %t7 = load ptr, ptr %t3 + %t8 = getelementptr inbounds %Cmp_Node, ptr %t7, i32 0, i32 4 + %t9 = load ptr, ptr %t1 + store ptr %t9, ptr %t8 + %t10 = load ptr, ptr @g_g_onspawn + %t11 = load ptr, ptr %t3 + %t12 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 1 + %t13 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 2 + %t14 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 0 + %t15 = load i32, ptr %t12 + %t16 = load i32, ptr %t13 + %t17 = icmp sge i32 %t15, %t16 + br i1 %t17, label %grow0, label %put1 +grow0: + %t18 = mul i32 %t16, 2 + %t19 = icmp eq i32 %t16, 0 + %t20 = select i1 %t19, i32 8, i32 %t18 + %t21 = getelementptr ptr, ptr null, i32 1 + %t22 = ptrtoint ptr %t21 to i64 + %t23 = zext i32 %t20 to i64 + %t24 = mul i64 %t23, %t22 + %t25 = load ptr, ptr %t14 + %t26 = call ptr @realloc(ptr %t25, i64 %t24) + store ptr %t26, ptr %t14 + store i32 %t20, ptr %t13 + br label %put1 +put1: + %t27 = load ptr, ptr %t14 + %t28 = getelementptr inbounds ptr, ptr %t27, i32 %t15 + store ptr %t11, ptr %t28 + %t29 = add i32 %t15, 1 + store i32 %t29, ptr %t12 + br label %ret +ret: + ret void +} + +define ptr @fn_onspawn_body(ptr %arg_model) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t1 = alloca i32 + store ptr %arg_model, ptr %t0 + store i32 0, ptr %t1 + br label %wcond0 +wcond0: + %t2 = load i32, ptr %t1 + %t3 = load ptr, ptr @g_g_onspawn + %t4 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 1 + %t5 = load i32, ptr %t4 + %t6 = icmp slt i32 %t2, %t5 + %t7 = zext i1 %t6 to i32 + %t8 = icmp ne i32 %t7, 0 + br i1 %t8, label %wbody1, label %wend2 +wbody1: + %t9 = load ptr, ptr @g_g_onspawn + %t10 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0 + %t11 = load ptr, ptr %t10 + %t12 = load i32, ptr %t1 + %t13 = getelementptr inbounds ptr, ptr %t11, i32 %t12 + %t14 = load ptr, ptr %t13 + %t15 = getelementptr inbounds %Cmp_Node, ptr %t14, i32 0, i32 1 + %t16 = load ptr, ptr %t15 + %t17 = load ptr, ptr %t0 + %t18 = call i32 @lp_str_eq(ptr %t16, ptr %t17) + %t19 = icmp ne i32 %t18, 0 + br i1 %t19, label %then3, label %ifend5 +then3: + %t20 = load ptr, ptr @g_g_onspawn + %t21 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 0 + %t22 = load ptr, ptr %t21 + %t23 = load i32, ptr %t1 + %t24 = getelementptr inbounds ptr, ptr %t22, i32 %t23 + %t25 = load ptr, ptr %t24 + %t26 = getelementptr inbounds %Cmp_Node, ptr %t25, i32 0, i32 4 + %t27 = load ptr, ptr %t26 + store ptr %t27, ptr %retval + br label %ret +ifend5: + %t28 = load i32, ptr %t1 + %t29 = add i32 %t28, 1 + store i32 %t29, ptr %t1 + br label %wcond0 +wend2: + store ptr null, ptr %retval + br label %ret +ret: + %t30 = load ptr, ptr %retval + ret ptr %t30 +} + +define void @fn_register_ondespawn(ptr %arg_model, ptr %arg_body, ptr %arg_reason) { +entry: + %t0 = alloca ptr + %t1 = alloca ptr + %t2 = alloca ptr + %t4 = alloca ptr + store ptr %arg_model, ptr %t0 + store ptr %arg_body, ptr %t1 + store ptr %arg_reason, ptr %t2 + %t3 = call ptr @fn_node(i32 7) + store ptr %t3, ptr %t4 + %t5 = load ptr, ptr %t4 + %t6 = getelementptr inbounds %Cmp_Node, ptr %t5, i32 0, i32 1 + %t7 = load ptr, ptr %t0 + store ptr %t7, ptr %t6 + %t8 = load ptr, ptr %t4 + %t9 = getelementptr inbounds %Cmp_Node, ptr %t8, i32 0, i32 4 + %t10 = load ptr, ptr %t1 + store ptr %t10, ptr %t9 + %t11 = load ptr, ptr %t4 + %t12 = getelementptr inbounds %Cmp_Node, ptr %t11, i32 0, i32 3 + %t13 = load ptr, ptr %t2 + store ptr %t13, ptr %t12 + %t14 = load ptr, ptr @g_g_ondespawn + %t15 = load ptr, ptr %t4 + %t16 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 1 + %t17 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 2 + %t18 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 0 + %t19 = load i32, ptr %t16 + %t20 = load i32, ptr %t17 + %t21 = icmp sge i32 %t19, %t20 + br i1 %t21, label %grow0, label %put1 +grow0: + %t22 = mul i32 %t20, 2 + %t23 = icmp eq i32 %t20, 0 + %t24 = select i1 %t23, i32 8, i32 %t22 + %t25 = getelementptr ptr, ptr null, i32 1 + %t26 = ptrtoint ptr %t25 to i64 + %t27 = zext i32 %t24 to i64 + %t28 = mul i64 %t27, %t26 + %t29 = load ptr, ptr %t18 + %t30 = call ptr @realloc(ptr %t29, i64 %t28) + store ptr %t30, ptr %t18 + store i32 %t24, ptr %t17 + br label %put1 +put1: + %t31 = load ptr, ptr %t18 + %t32 = getelementptr inbounds ptr, ptr %t31, i32 %t19 + store ptr %t15, ptr %t32 + %t33 = add i32 %t19, 1 + store i32 %t33, ptr %t16 + br label %ret +ret: + ret void +} + +define ptr @fn_ondespawn_body(ptr %arg_model) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t1 = alloca i32 + store ptr %arg_model, ptr %t0 + store i32 0, ptr %t1 + br label %wcond0 +wcond0: + %t2 = load i32, ptr %t1 + %t3 = load ptr, ptr @g_g_ondespawn + %t4 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 1 + %t5 = load i32, ptr %t4 + %t6 = icmp slt i32 %t2, %t5 + %t7 = zext i1 %t6 to i32 + %t8 = icmp ne i32 %t7, 0 + br i1 %t8, label %wbody1, label %wend2 +wbody1: + %t9 = load ptr, ptr @g_g_ondespawn + %t10 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0 + %t11 = load ptr, ptr %t10 + %t12 = load i32, ptr %t1 + %t13 = getelementptr inbounds ptr, ptr %t11, i32 %t12 + %t14 = load ptr, ptr %t13 + %t15 = getelementptr inbounds %Cmp_Node, ptr %t14, i32 0, i32 1 + %t16 = load ptr, ptr %t15 + %t17 = load ptr, ptr %t0 + %t18 = call i32 @lp_str_eq(ptr %t16, ptr %t17) + %t19 = icmp ne i32 %t18, 0 + br i1 %t19, label %then3, label %ifend5 +then3: + %t20 = load ptr, ptr @g_g_ondespawn + %t21 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 0 + %t22 = load ptr, ptr %t21 + %t23 = load i32, ptr %t1 + %t24 = getelementptr inbounds ptr, ptr %t22, i32 %t23 + %t25 = load ptr, ptr %t24 + %t26 = getelementptr inbounds %Cmp_Node, ptr %t25, i32 0, i32 4 + %t27 = load ptr, ptr %t26 + store ptr %t27, ptr %retval + br label %ret +ifend5: + %t28 = load i32, ptr %t1 + %t29 = add i32 %t28, 1 + store i32 %t29, ptr %t1 + br label %wcond0 +wend2: + store ptr null, ptr %retval + br label %ret +ret: + %t30 = load ptr, ptr %retval + ret ptr %t30 +} + +define void @fn_register_onattach(ptr %arg_prop, ptr %arg_body) { +entry: + %t0 = alloca ptr + %t1 = alloca ptr + %t3 = alloca ptr + store ptr %arg_prop, ptr %t0 + store ptr %arg_body, ptr %t1 + %t2 = call ptr @fn_node(i32 7) + store ptr %t2, ptr %t3 + %t4 = load ptr, ptr %t3 + %t5 = getelementptr inbounds %Cmp_Node, ptr %t4, i32 0, i32 1 + %t6 = load ptr, ptr %t0 + store ptr %t6, ptr %t5 + %t7 = load ptr, ptr %t3 + %t8 = getelementptr inbounds %Cmp_Node, ptr %t7, i32 0, i32 4 + %t9 = load ptr, ptr %t1 + store ptr %t9, ptr %t8 + %t10 = load ptr, ptr @g_g_onattach + %t11 = load ptr, ptr %t3 + %t12 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 1 + %t13 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 2 + %t14 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 0 + %t15 = load i32, ptr %t12 + %t16 = load i32, ptr %t13 + %t17 = icmp sge i32 %t15, %t16 + br i1 %t17, label %grow0, label %put1 +grow0: + %t18 = mul i32 %t16, 2 + %t19 = icmp eq i32 %t16, 0 + %t20 = select i1 %t19, i32 8, i32 %t18 + %t21 = getelementptr ptr, ptr null, i32 1 + %t22 = ptrtoint ptr %t21 to i64 + %t23 = zext i32 %t20 to i64 + %t24 = mul i64 %t23, %t22 + %t25 = load ptr, ptr %t14 + %t26 = call ptr @realloc(ptr %t25, i64 %t24) + store ptr %t26, ptr %t14 + store i32 %t20, ptr %t13 + br label %put1 +put1: + %t27 = load ptr, ptr %t14 + %t28 = getelementptr inbounds ptr, ptr %t27, i32 %t15 + store ptr %t11, ptr %t28 + %t29 = add i32 %t15, 1 + store i32 %t29, ptr %t12 + br label %ret +ret: + ret void +} + +define ptr @fn_onattach_body(ptr %arg_prop) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t1 = alloca i32 + store ptr %arg_prop, ptr %t0 + store i32 0, ptr %t1 + br label %wcond0 +wcond0: + %t2 = load i32, ptr %t1 + %t3 = load ptr, ptr @g_g_onattach + %t4 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 1 + %t5 = load i32, ptr %t4 + %t6 = icmp slt i32 %t2, %t5 + %t7 = zext i1 %t6 to i32 + %t8 = icmp ne i32 %t7, 0 + br i1 %t8, label %wbody1, label %wend2 +wbody1: + %t9 = load ptr, ptr @g_g_onattach + %t10 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0 + %t11 = load ptr, ptr %t10 + %t12 = load i32, ptr %t1 + %t13 = getelementptr inbounds ptr, ptr %t11, i32 %t12 + %t14 = load ptr, ptr %t13 + %t15 = getelementptr inbounds %Cmp_Node, ptr %t14, i32 0, i32 1 + %t16 = load ptr, ptr %t15 + %t17 = load ptr, ptr %t0 + %t18 = call i32 @lp_str_eq(ptr %t16, ptr %t17) + %t19 = icmp ne i32 %t18, 0 + br i1 %t19, label %then3, label %ifend5 +then3: + %t20 = load ptr, ptr @g_g_onattach + %t21 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 0 + %t22 = load ptr, ptr %t21 + %t23 = load i32, ptr %t1 + %t24 = getelementptr inbounds ptr, ptr %t22, i32 %t23 + %t25 = load ptr, ptr %t24 + %t26 = getelementptr inbounds %Cmp_Node, ptr %t25, i32 0, i32 4 + %t27 = load ptr, ptr %t26 + store ptr %t27, ptr %retval + br label %ret +ifend5: + %t28 = load i32, ptr %t1 + %t29 = add i32 %t28, 1 + store i32 %t29, ptr %t1 + br label %wcond0 +wend2: + store ptr null, ptr %retval + br label %ret +ret: + %t30 = load ptr, ptr %retval + ret ptr %t30 +} + +define void @fn_register_ondetach(ptr %arg_prop, ptr %arg_body) { +entry: + %t0 = alloca ptr + %t1 = alloca ptr + %t3 = alloca ptr + store ptr %arg_prop, ptr %t0 + store ptr %arg_body, ptr %t1 + %t2 = call ptr @fn_node(i32 7) + store ptr %t2, ptr %t3 + %t4 = load ptr, ptr %t3 + %t5 = getelementptr inbounds %Cmp_Node, ptr %t4, i32 0, i32 1 + %t6 = load ptr, ptr %t0 + store ptr %t6, ptr %t5 + %t7 = load ptr, ptr %t3 + %t8 = getelementptr inbounds %Cmp_Node, ptr %t7, i32 0, i32 4 + %t9 = load ptr, ptr %t1 + store ptr %t9, ptr %t8 + %t10 = load ptr, ptr @g_g_ondetach + %t11 = load ptr, ptr %t3 + %t12 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 1 + %t13 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 2 + %t14 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 0 + %t15 = load i32, ptr %t12 + %t16 = load i32, ptr %t13 + %t17 = icmp sge i32 %t15, %t16 + br i1 %t17, label %grow0, label %put1 +grow0: + %t18 = mul i32 %t16, 2 + %t19 = icmp eq i32 %t16, 0 + %t20 = select i1 %t19, i32 8, i32 %t18 + %t21 = getelementptr ptr, ptr null, i32 1 + %t22 = ptrtoint ptr %t21 to i64 + %t23 = zext i32 %t20 to i64 + %t24 = mul i64 %t23, %t22 + %t25 = load ptr, ptr %t14 + %t26 = call ptr @realloc(ptr %t25, i64 %t24) + store ptr %t26, ptr %t14 + store i32 %t20, ptr %t13 + br label %put1 +put1: + %t27 = load ptr, ptr %t14 + %t28 = getelementptr inbounds ptr, ptr %t27, i32 %t15 + store ptr %t11, ptr %t28 + %t29 = add i32 %t15, 1 + store i32 %t29, ptr %t12 + br label %ret +ret: + ret void +} + +define ptr @fn_ondetach_body(ptr %arg_prop) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t1 = alloca i32 + store ptr %arg_prop, ptr %t0 + store i32 0, ptr %t1 + br label %wcond0 +wcond0: + %t2 = load i32, ptr %t1 + %t3 = load ptr, ptr @g_g_ondetach + %t4 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 1 + %t5 = load i32, ptr %t4 + %t6 = icmp slt i32 %t2, %t5 + %t7 = zext i1 %t6 to i32 + %t8 = icmp ne i32 %t7, 0 + br i1 %t8, label %wbody1, label %wend2 +wbody1: + %t9 = load ptr, ptr @g_g_ondetach + %t10 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0 + %t11 = load ptr, ptr %t10 + %t12 = load i32, ptr %t1 + %t13 = getelementptr inbounds ptr, ptr %t11, i32 %t12 + %t14 = load ptr, ptr %t13 + %t15 = getelementptr inbounds %Cmp_Node, ptr %t14, i32 0, i32 1 + %t16 = load ptr, ptr %t15 + %t17 = load ptr, ptr %t0 + %t18 = call i32 @lp_str_eq(ptr %t16, ptr %t17) + %t19 = icmp ne i32 %t18, 0 + br i1 %t19, label %then3, label %ifend5 +then3: + %t20 = load ptr, ptr @g_g_ondetach + %t21 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 0 + %t22 = load ptr, ptr %t21 + %t23 = load i32, ptr %t1 + %t24 = getelementptr inbounds ptr, ptr %t22, i32 %t23 + %t25 = load ptr, ptr %t24 + %t26 = getelementptr inbounds %Cmp_Node, ptr %t25, i32 0, i32 4 + %t27 = load ptr, ptr %t26 + store ptr %t27, ptr %retval + br label %ret +ifend5: + %t28 = load i32, ptr %t1 + %t29 = add i32 %t28, 1 + store i32 %t29, ptr %t1 + br label %wcond0 +wend2: + store ptr null, ptr %retval + br label %ret +ret: + %t30 = load ptr, ptr %retval + ret ptr %t30 +} + +define void @fn_register_onenable(ptr %arg_prop, ptr %arg_body) { +entry: + %t0 = alloca ptr + %t1 = alloca ptr + %t3 = alloca ptr + store ptr %arg_prop, ptr %t0 + store ptr %arg_body, ptr %t1 + %t2 = call ptr @fn_node(i32 7) + store ptr %t2, ptr %t3 + %t4 = load ptr, ptr %t3 + %t5 = getelementptr inbounds %Cmp_Node, ptr %t4, i32 0, i32 1 + %t6 = load ptr, ptr %t0 + store ptr %t6, ptr %t5 + %t7 = load ptr, ptr %t3 + %t8 = getelementptr inbounds %Cmp_Node, ptr %t7, i32 0, i32 4 + %t9 = load ptr, ptr %t1 + store ptr %t9, ptr %t8 + %t10 = load ptr, ptr @g_g_onenable + %t11 = load ptr, ptr %t3 + %t12 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 1 + %t13 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 2 + %t14 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 0 + %t15 = load i32, ptr %t12 + %t16 = load i32, ptr %t13 + %t17 = icmp sge i32 %t15, %t16 + br i1 %t17, label %grow0, label %put1 +grow0: + %t18 = mul i32 %t16, 2 + %t19 = icmp eq i32 %t16, 0 + %t20 = select i1 %t19, i32 8, i32 %t18 + %t21 = getelementptr ptr, ptr null, i32 1 + %t22 = ptrtoint ptr %t21 to i64 + %t23 = zext i32 %t20 to i64 + %t24 = mul i64 %t23, %t22 + %t25 = load ptr, ptr %t14 + %t26 = call ptr @realloc(ptr %t25, i64 %t24) + store ptr %t26, ptr %t14 + store i32 %t20, ptr %t13 + br label %put1 +put1: + %t27 = load ptr, ptr %t14 + %t28 = getelementptr inbounds ptr, ptr %t27, i32 %t15 + store ptr %t11, ptr %t28 + %t29 = add i32 %t15, 1 + store i32 %t29, ptr %t12 + br label %ret +ret: + ret void +} + +define void @fn_register_ondisable(ptr %arg_prop, ptr %arg_body) { +entry: + %t0 = alloca ptr + %t1 = alloca ptr + %t3 = alloca ptr + store ptr %arg_prop, ptr %t0 + store ptr %arg_body, ptr %t1 + %t2 = call ptr @fn_node(i32 7) + store ptr %t2, ptr %t3 + %t4 = load ptr, ptr %t3 + %t5 = getelementptr inbounds %Cmp_Node, ptr %t4, i32 0, i32 1 + %t6 = load ptr, ptr %t0 + store ptr %t6, ptr %t5 + %t7 = load ptr, ptr %t3 + %t8 = getelementptr inbounds %Cmp_Node, ptr %t7, i32 0, i32 4 + %t9 = load ptr, ptr %t1 + store ptr %t9, ptr %t8 + %t10 = load ptr, ptr @g_g_ondisable + %t11 = load ptr, ptr %t3 + %t12 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 1 + %t13 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 2 + %t14 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 0 + %t15 = load i32, ptr %t12 + %t16 = load i32, ptr %t13 + %t17 = icmp sge i32 %t15, %t16 + br i1 %t17, label %grow0, label %put1 +grow0: + %t18 = mul i32 %t16, 2 + %t19 = icmp eq i32 %t16, 0 + %t20 = select i1 %t19, i32 8, i32 %t18 + %t21 = getelementptr ptr, ptr null, i32 1 + %t22 = ptrtoint ptr %t21 to i64 + %t23 = zext i32 %t20 to i64 + %t24 = mul i64 %t23, %t22 + %t25 = load ptr, ptr %t14 + %t26 = call ptr @realloc(ptr %t25, i64 %t24) + store ptr %t26, ptr %t14 + store i32 %t20, ptr %t13 + br label %put1 +put1: + %t27 = load ptr, ptr %t14 + %t28 = getelementptr inbounds ptr, ptr %t27, i32 %t15 + store ptr %t11, ptr %t28 + %t29 = add i32 %t15, 1 + store i32 %t29, ptr %t12 + br label %ret +ret: + ret void +} + +define ptr @fn_onenable_body(ptr %arg_prop) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t1 = alloca i32 + store ptr %arg_prop, ptr %t0 + store i32 0, ptr %t1 + br label %wcond0 +wcond0: + %t2 = load i32, ptr %t1 + %t3 = load ptr, ptr @g_g_onenable + %t4 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 1 + %t5 = load i32, ptr %t4 + %t6 = icmp slt i32 %t2, %t5 + %t7 = zext i1 %t6 to i32 + %t8 = icmp ne i32 %t7, 0 + br i1 %t8, label %wbody1, label %wend2 +wbody1: + %t9 = load ptr, ptr @g_g_onenable + %t10 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0 + %t11 = load ptr, ptr %t10 + %t12 = load i32, ptr %t1 + %t13 = getelementptr inbounds ptr, ptr %t11, i32 %t12 + %t14 = load ptr, ptr %t13 + %t15 = getelementptr inbounds %Cmp_Node, ptr %t14, i32 0, i32 1 + %t16 = load ptr, ptr %t15 + %t17 = load ptr, ptr %t0 + %t18 = call i32 @lp_str_eq(ptr %t16, ptr %t17) + %t19 = icmp ne i32 %t18, 0 + br i1 %t19, label %then3, label %ifend5 +then3: + %t20 = load ptr, ptr @g_g_onenable + %t21 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 0 + %t22 = load ptr, ptr %t21 + %t23 = load i32, ptr %t1 + %t24 = getelementptr inbounds ptr, ptr %t22, i32 %t23 + %t25 = load ptr, ptr %t24 + %t26 = getelementptr inbounds %Cmp_Node, ptr %t25, i32 0, i32 4 + %t27 = load ptr, ptr %t26 + store ptr %t27, ptr %retval + br label %ret +ifend5: + %t28 = load i32, ptr %t1 + %t29 = add i32 %t28, 1 + store i32 %t29, ptr %t1 + br label %wcond0 +wend2: + store ptr null, ptr %retval + br label %ret +ret: + %t30 = load ptr, ptr %retval + ret ptr %t30 +} + +define ptr @fn_ondisable_body(ptr %arg_prop) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t1 = alloca i32 + store ptr %arg_prop, ptr %t0 + store i32 0, ptr %t1 + br label %wcond0 +wcond0: + %t2 = load i32, ptr %t1 + %t3 = load ptr, ptr @g_g_ondisable + %t4 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 1 + %t5 = load i32, ptr %t4 + %t6 = icmp slt i32 %t2, %t5 + %t7 = zext i1 %t6 to i32 + %t8 = icmp ne i32 %t7, 0 + br i1 %t8, label %wbody1, label %wend2 +wbody1: + %t9 = load ptr, ptr @g_g_ondisable + %t10 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0 + %t11 = load ptr, ptr %t10 + %t12 = load i32, ptr %t1 + %t13 = getelementptr inbounds ptr, ptr %t11, i32 %t12 + %t14 = load ptr, ptr %t13 + %t15 = getelementptr inbounds %Cmp_Node, ptr %t14, i32 0, i32 1 + %t16 = load ptr, ptr %t15 + %t17 = load ptr, ptr %t0 + %t18 = call i32 @lp_str_eq(ptr %t16, ptr %t17) + %t19 = icmp ne i32 %t18, 0 + br i1 %t19, label %then3, label %ifend5 +then3: + %t20 = load ptr, ptr @g_g_ondisable + %t21 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 0 + %t22 = load ptr, ptr %t21 + %t23 = load i32, ptr %t1 + %t24 = getelementptr inbounds ptr, ptr %t22, i32 %t23 + %t25 = load ptr, ptr %t24 + %t26 = getelementptr inbounds %Cmp_Node, ptr %t25, i32 0, i32 4 + %t27 = load ptr, ptr %t26 + store ptr %t27, ptr %retval + br label %ret +ifend5: + %t28 = load i32, ptr %t1 + %t29 = add i32 %t28, 1 + store i32 %t29, ptr %t1 + br label %wcond0 +wend2: + store ptr null, ptr %retval + br label %ret +ret: + %t30 = load ptr, ptr %retval + ret ptr %t30 +} + +define void @fn_register_event(ptr %arg_n) { +entry: + %t0 = alloca ptr + store ptr %arg_n, ptr %t0 + %t1 = load ptr, ptr @g_g_events + %t2 = load ptr, ptr %t0 + %t3 = getelementptr inbounds %LSlice, ptr %t1, i32 0, i32 1 + %t4 = getelementptr inbounds %LSlice, ptr %t1, i32 0, i32 2 + %t5 = getelementptr inbounds %LSlice, ptr %t1, i32 0, i32 0 + %t6 = load i32, ptr %t3 + %t7 = load i32, ptr %t4 + %t8 = icmp sge i32 %t6, %t7 + br i1 %t8, label %grow0, label %put1 +grow0: + %t9 = mul i32 %t7, 2 + %t10 = icmp eq i32 %t7, 0 + %t11 = select i1 %t10, i32 8, i32 %t9 + %t12 = getelementptr ptr, ptr null, i32 1 + %t13 = ptrtoint ptr %t12 to i64 + %t14 = zext i32 %t11 to i64 + %t15 = mul i64 %t14, %t13 + %t16 = load ptr, ptr %t5 + %t17 = call ptr @realloc(ptr %t16, i64 %t15) + store ptr %t17, ptr %t5 + store i32 %t11, ptr %t4 + br label %put1 +put1: + %t18 = load ptr, ptr %t5 + %t19 = getelementptr inbounds ptr, ptr %t18, i32 %t6 + store ptr %t2, ptr %t19 + %t20 = add i32 %t6, 1 + store i32 %t20, ptr %t3 + br label %ret +ret: + ret void +} + +define ptr @fn_find_event(ptr %arg_name) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t1 = alloca i32 + store ptr %arg_name, ptr %t0 + store i32 0, ptr %t1 + br label %wcond0 +wcond0: + %t2 = load i32, ptr %t1 + %t3 = load ptr, ptr @g_g_events + %t4 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 1 + %t5 = load i32, ptr %t4 + %t6 = icmp slt i32 %t2, %t5 + %t7 = zext i1 %t6 to i32 + %t8 = icmp ne i32 %t7, 0 + br i1 %t8, label %wbody1, label %wend2 +wbody1: + %t9 = load ptr, ptr @g_g_events + %t10 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0 + %t11 = load ptr, ptr %t10 + %t12 = load i32, ptr %t1 + %t13 = getelementptr inbounds ptr, ptr %t11, i32 %t12 + %t14 = load ptr, ptr %t13 + %t15 = getelementptr inbounds %Cmp_Node, ptr %t14, i32 0, i32 1 + %t16 = load ptr, ptr %t15 + %t17 = load ptr, ptr %t0 + %t18 = call i32 @lp_str_eq(ptr %t16, ptr %t17) + %t19 = icmp ne i32 %t18, 0 + br i1 %t19, label %then3, label %ifend5 +then3: + %t20 = load ptr, ptr @g_g_events + %t21 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 0 + %t22 = load ptr, ptr %t21 + %t23 = load i32, ptr %t1 + %t24 = getelementptr inbounds ptr, ptr %t22, i32 %t23 + %t25 = load ptr, ptr %t24 + store ptr %t25, ptr %retval + br label %ret +ifend5: + %t26 = load i32, ptr %t1 + %t27 = add i32 %t26, 1 + store i32 %t27, ptr %t1 + br label %wcond0 +wend2: + store ptr null, ptr %retval + br label %ret +ret: + %t28 = load ptr, ptr %retval + ret ptr %t28 +} + +define void @fn_register_onlisten(ptr %arg_evt, ptr %arg_body) { +entry: + %t0 = alloca ptr + %t1 = alloca ptr + %t3 = alloca ptr + store ptr %arg_evt, ptr %t0 + store ptr %arg_body, ptr %t1 + %t2 = call ptr @fn_node(i32 7) + store ptr %t2, ptr %t3 + %t4 = load ptr, ptr %t3 + %t5 = getelementptr inbounds %Cmp_Node, ptr %t4, i32 0, i32 1 + %t6 = load ptr, ptr %t0 + store ptr %t6, ptr %t5 + %t7 = load ptr, ptr %t3 + %t8 = getelementptr inbounds %Cmp_Node, ptr %t7, i32 0, i32 4 + %t9 = load ptr, ptr %t1 + store ptr %t9, ptr %t8 + %t10 = load ptr, ptr @g_g_onlisten + %t11 = load ptr, ptr %t3 + %t12 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 1 + %t13 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 2 + %t14 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 0 + %t15 = load i32, ptr %t12 + %t16 = load i32, ptr %t13 + %t17 = icmp sge i32 %t15, %t16 + br i1 %t17, label %grow0, label %put1 +grow0: + %t18 = mul i32 %t16, 2 + %t19 = icmp eq i32 %t16, 0 + %t20 = select i1 %t19, i32 8, i32 %t18 + %t21 = getelementptr ptr, ptr null, i32 1 + %t22 = ptrtoint ptr %t21 to i64 + %t23 = zext i32 %t20 to i64 + %t24 = mul i64 %t23, %t22 + %t25 = load ptr, ptr %t14 + %t26 = call ptr @realloc(ptr %t25, i64 %t24) + store ptr %t26, ptr %t14 + store i32 %t20, ptr %t13 + br label %put1 +put1: + %t27 = load ptr, ptr %t14 + %t28 = getelementptr inbounds ptr, ptr %t27, i32 %t15 + store ptr %t11, ptr %t28 + %t29 = add i32 %t15, 1 + store i32 %t29, ptr %t12 + br label %ret +ret: + ret void +} + +define void @fn_ensure_event(ptr %arg_name, i32 %arg_with_reason) { +entry: + %t0 = alloca ptr + %t1 = alloca i32 + %t8 = alloca ptr + %t13 = alloca ptr + %t43 = alloca ptr + store ptr %arg_name, ptr %t0 + store i32 %arg_with_reason, ptr %t1 + %t2 = load ptr, ptr %t0 + %t3 = call ptr @fn_find_event(ptr %t2) + %t4 = icmp ne ptr %t3, null + %t5 = zext i1 %t4 to i32 + %t6 = icmp ne i32 %t5, 0 + br i1 %t6, label %then0, label %ifend2 +then0: + br label %ret +ifend2: + %t7 = call ptr @fn_node(i32 48) + store ptr %t7, ptr %t8 + %t9 = load ptr, ptr %t8 + %t10 = getelementptr inbounds %Cmp_Node, ptr %t9, i32 0, i32 1 + %t11 = load ptr, ptr %t0 + store ptr %t11, ptr %t10 + %t12 = call ptr @fn_node(i32 1) + store ptr %t12, ptr %t13 + %t14 = load ptr, ptr %t13 + %t15 = getelementptr inbounds %Cmp_Node, ptr %t14, i32 0, i32 1 + store ptr @.str753, ptr %t15 + %t16 = load ptr, ptr %t13 + %t17 = getelementptr inbounds %Cmp_Node, ptr %t16, i32 0, i32 3 + store ptr @.str754, ptr %t17 + %t18 = load ptr, ptr %t8 + %t19 = getelementptr inbounds %Cmp_Node, ptr %t18, i32 0, i32 7 + %t20 = load ptr, ptr %t19 + %t21 = load ptr, ptr %t13 + %t22 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 1 + %t23 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 2 + %t24 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 0 + %t25 = load i32, ptr %t22 + %t26 = load i32, ptr %t23 + %t27 = icmp sge i32 %t25, %t26 + br i1 %t27, label %grow3, label %put4 +grow3: + %t28 = mul i32 %t26, 2 + %t29 = icmp eq i32 %t26, 0 + %t30 = select i1 %t29, i32 8, i32 %t28 + %t31 = getelementptr ptr, ptr null, i32 1 + %t32 = ptrtoint ptr %t31 to i64 + %t33 = zext i32 %t30 to i64 + %t34 = mul i64 %t33, %t32 + %t35 = load ptr, ptr %t24 + %t36 = call ptr @realloc(ptr %t35, i64 %t34) + store ptr %t36, ptr %t24 + store i32 %t30, ptr %t23 + br label %put4 +put4: + %t37 = load ptr, ptr %t24 + %t38 = getelementptr inbounds ptr, ptr %t37, i32 %t25 + store ptr %t21, ptr %t38 + %t39 = add i32 %t25, 1 + store i32 %t39, ptr %t22 + %t40 = load i32, ptr %t1 + %t41 = icmp ne i32 %t40, 0 + br i1 %t41, label %then5, label %ifend7 +then5: + %t42 = call ptr @fn_node(i32 1) + store ptr %t42, ptr %t43 + %t44 = load ptr, ptr %t43 + %t45 = getelementptr inbounds %Cmp_Node, ptr %t44, i32 0, i32 1 + store ptr @.str755, ptr %t45 + %t46 = load ptr, ptr %t43 + %t47 = getelementptr inbounds %Cmp_Node, ptr %t46, i32 0, i32 3 + store ptr @.str756, ptr %t47 + %t48 = load ptr, ptr %t8 + %t49 = getelementptr inbounds %Cmp_Node, ptr %t48, i32 0, i32 7 + %t50 = load ptr, ptr %t49 + %t51 = load ptr, ptr %t43 + %t52 = getelementptr inbounds %LSlice, ptr %t50, i32 0, i32 1 + %t53 = getelementptr inbounds %LSlice, ptr %t50, i32 0, i32 2 + %t54 = getelementptr inbounds %LSlice, ptr %t50, i32 0, i32 0 + %t55 = load i32, ptr %t52 + %t56 = load i32, ptr %t53 + %t57 = icmp sge i32 %t55, %t56 + br i1 %t57, label %grow8, label %put9 +grow8: + %t58 = mul i32 %t56, 2 + %t59 = icmp eq i32 %t56, 0 + %t60 = select i1 %t59, i32 8, i32 %t58 + %t61 = getelementptr ptr, ptr null, i32 1 + %t62 = ptrtoint ptr %t61 to i64 + %t63 = zext i32 %t60 to i64 + %t64 = mul i64 %t63, %t62 + %t65 = load ptr, ptr %t54 + %t66 = call ptr @realloc(ptr %t65, i64 %t64) + store ptr %t66, ptr %t54 + store i32 %t60, ptr %t53 + br label %put9 +put9: + %t67 = load ptr, ptr %t54 + %t68 = getelementptr inbounds ptr, ptr %t67, i32 %t55 + store ptr %t51, ptr %t68 + %t69 = add i32 %t55, 1 + store i32 %t69, ptr %t52 + br label %ifend7 +ifend7: + %t70 = load ptr, ptr %t8 + call void @fn_register_event(ptr %t70) + br label %ret +ret: + ret void +} + +define void @fn_ensure_event_empty(ptr %arg_name) { +entry: + %t0 = alloca ptr + %t7 = alloca ptr + store ptr %arg_name, ptr %t0 + %t1 = load ptr, ptr %t0 + %t2 = call ptr @fn_find_event(ptr %t1) + %t3 = icmp ne ptr %t2, null + %t4 = zext i1 %t3 to i32 + %t5 = icmp ne i32 %t4, 0 + br i1 %t5, label %then0, label %ifend2 +then0: + br label %ret +ifend2: + %t6 = call ptr @fn_node(i32 48) + store ptr %t6, ptr %t7 + %t8 = load ptr, ptr %t7 + %t9 = getelementptr inbounds %Cmp_Node, ptr %t8, i32 0, i32 1 + %t10 = load ptr, ptr %t0 + store ptr %t10, ptr %t9 + %t11 = load ptr, ptr %t7 + call void @fn_register_event(ptr %t11) + br label %ret +ret: + ret void +} + +define void @fn_note_toggled_layer(ptr %arg_name) { +entry: + %t0 = alloca ptr + %t1 = alloca i32 + store ptr %arg_name, ptr %t0 + store i32 0, ptr %t1 + br label %wcond0 +wcond0: + %t2 = load i32, ptr %t1 + %t3 = load ptr, ptr @g_g_toggled_layers + %t4 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 1 + %t5 = load i32, ptr %t4 + %t6 = icmp slt i32 %t2, %t5 + %t7 = zext i1 %t6 to i32 + %t8 = icmp ne i32 %t7, 0 + br i1 %t8, label %wbody1, label %wend2 +wbody1: + %t9 = load ptr, ptr @g_g_toggled_layers + %t10 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0 + %t11 = load ptr, ptr %t10 + %t12 = load i32, ptr %t1 + %t13 = getelementptr inbounds ptr, ptr %t11, i32 %t12 + %t14 = load ptr, ptr %t13 + %t15 = load ptr, ptr %t0 + %t16 = call i32 @lp_str_eq(ptr %t14, ptr %t15) + %t17 = icmp ne i32 %t16, 0 + br i1 %t17, label %then3, label %ifend5 +then3: + br label %ret +ifend5: + %t18 = load i32, ptr %t1 + %t19 = add i32 %t18, 1 + store i32 %t19, ptr %t1 + br label %wcond0 +wend2: + %t20 = load ptr, ptr @g_g_toggled_layers + %t21 = load ptr, ptr %t0 + %t22 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 1 + %t23 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 2 + %t24 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 0 + %t25 = load i32, ptr %t22 + %t26 = load i32, ptr %t23 + %t27 = icmp sge i32 %t25, %t26 + br i1 %t27, label %grow6, label %put7 +grow6: + %t28 = mul i32 %t26, 2 + %t29 = icmp eq i32 %t26, 0 + %t30 = select i1 %t29, i32 8, i32 %t28 + %t31 = getelementptr ptr, ptr null, i32 1 + %t32 = ptrtoint ptr %t31 to i64 + %t33 = zext i32 %t30 to i64 + %t34 = mul i64 %t33, %t32 + %t35 = load ptr, ptr %t24 + %t36 = call ptr @realloc(ptr %t35, i64 %t34) + store ptr %t36, ptr %t24 + store i32 %t30, ptr %t23 + br label %put7 +put7: + %t37 = load ptr, ptr %t24 + %t38 = getelementptr inbounds ptr, ptr %t37, i32 %t25 + store ptr %t21, ptr %t38 + %t39 = add i32 %t25, 1 + store i32 %t39, ptr %t22 + br label %ret +ret: + ret void +} + +define i32 @fn_is_toggled_layer(ptr %arg_name) { +entry: + %retval = alloca i32 + %t0 = alloca ptr + %t1 = alloca i32 + store ptr %arg_name, ptr %t0 + store i32 0, ptr %t1 + br label %wcond0 +wcond0: + %t2 = load i32, ptr %t1 + %t3 = load ptr, ptr @g_g_toggled_layers + %t4 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 1 + %t5 = load i32, ptr %t4 + %t6 = icmp slt i32 %t2, %t5 + %t7 = zext i1 %t6 to i32 + %t8 = icmp ne i32 %t7, 0 + br i1 %t8, label %wbody1, label %wend2 +wbody1: + %t9 = load ptr, ptr @g_g_toggled_layers + %t10 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0 + %t11 = load ptr, ptr %t10 + %t12 = load i32, ptr %t1 + %t13 = getelementptr inbounds ptr, ptr %t11, i32 %t12 + %t14 = load ptr, ptr %t13 + %t15 = load ptr, ptr %t0 + %t16 = call i32 @lp_str_eq(ptr %t14, ptr %t15) + %t17 = icmp ne i32 %t16, 0 + br i1 %t17, label %then3, label %ifend5 +then3: + store i32 1, ptr %retval + br label %ret +ifend5: + %t18 = load i32, ptr %t1 + %t19 = add i32 %t18, 1 + store i32 %t19, ptr %t1 + br label %wcond0 +wend2: + store i32 0, ptr %retval + br label %ret +ret: + %t20 = load i32, ptr %retval + ret i32 %t20 +} + +define i32 @fn_is_model(ptr %arg_name) { +entry: + %retval = alloca i32 + %t0 = alloca ptr + store ptr %arg_name, ptr %t0 + %t1 = load ptr, ptr %t0 + %t2 = call i32 @fn_find_arch_id(ptr %t1) + %t3 = icmp sgt i32 %t2, 0 + %t4 = zext i1 %t3 to i32 + store i32 %t4, ptr %retval + br label %ret +ret: + %t5 = load i32, ptr %retval + ret i32 %t5 +} + +define void @fn_loc_reset() { +entry: + store i32 0, ptr @g_nloc + br label %ret +ret: + ret void +} + +define void @fn_loc_push(ptr %arg_name, ptr %arg_r, ptr %arg_ty) { +entry: + %t0 = alloca ptr + %t1 = alloca ptr + %t2 = alloca ptr + store ptr %arg_name, ptr %t0 + store ptr %arg_r, ptr %t1 + store ptr %arg_ty, ptr %t2 + %t3 = load i32, ptr @g_nloc + %t4 = load ptr, ptr @g_loc_name + %t5 = getelementptr inbounds %LSlice, ptr %t4, i32 0, i32 1 + %t6 = load i32, ptr %t5 + %t7 = icmp slt i32 %t3, %t6 + %t8 = zext i1 %t7 to i32 + %t9 = icmp ne i32 %t8, 0 + br i1 %t9, label %then0, label %else1 +then0: + %t10 = load ptr, ptr @g_loc_name + %t11 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 0 + %t12 = load ptr, ptr %t11 + %t13 = load i32, ptr @g_nloc + %t14 = getelementptr inbounds ptr, ptr %t12, i32 %t13 + %t15 = load ptr, ptr %t0 + store ptr %t15, ptr %t14 + %t16 = load ptr, ptr @g_loc_reg + %t17 = getelementptr inbounds %LSlice, ptr %t16, i32 0, i32 0 + %t18 = load ptr, ptr %t17 + %t19 = load i32, ptr @g_nloc + %t20 = getelementptr inbounds ptr, ptr %t18, i32 %t19 + %t21 = load ptr, ptr %t1 + store ptr %t21, ptr %t20 + %t22 = load ptr, ptr @g_loc_ty + %t23 = getelementptr inbounds %LSlice, ptr %t22, i32 0, i32 0 + %t24 = load ptr, ptr %t23 + %t25 = load i32, ptr @g_nloc + %t26 = getelementptr inbounds ptr, ptr %t24, i32 %t25 + %t27 = load ptr, ptr %t2 + store ptr %t27, ptr %t26 + %t28 = load ptr, ptr @g_loc_mut + %t29 = getelementptr inbounds %LSlice, ptr %t28, i32 0, i32 0 + %t30 = load ptr, ptr %t29 + %t31 = load i32, ptr @g_nloc + %t32 = getelementptr inbounds i32, ptr %t30, i32 %t31 + store i32 1, ptr %t32 + br label %ifend2 +else1: + %t33 = load ptr, ptr @g_loc_name + %t34 = load ptr, ptr %t0 + %t35 = getelementptr inbounds %LSlice, ptr %t33, i32 0, i32 1 + %t36 = getelementptr inbounds %LSlice, ptr %t33, i32 0, i32 2 + %t37 = getelementptr inbounds %LSlice, ptr %t33, i32 0, i32 0 + %t38 = load i32, ptr %t35 + %t39 = load i32, ptr %t36 + %t40 = icmp sge i32 %t38, %t39 + br i1 %t40, label %grow3, label %put4 +grow3: + %t41 = mul i32 %t39, 2 + %t42 = icmp eq i32 %t39, 0 + %t43 = select i1 %t42, i32 8, i32 %t41 + %t44 = getelementptr ptr, ptr null, i32 1 + %t45 = ptrtoint ptr %t44 to i64 + %t46 = zext i32 %t43 to i64 + %t47 = mul i64 %t46, %t45 + %t48 = load ptr, ptr %t37 + %t49 = call ptr @realloc(ptr %t48, i64 %t47) + store ptr %t49, ptr %t37 + store i32 %t43, ptr %t36 + br label %put4 +put4: + %t50 = load ptr, ptr %t37 + %t51 = getelementptr inbounds ptr, ptr %t50, i32 %t38 + store ptr %t34, ptr %t51 + %t52 = add i32 %t38, 1 + store i32 %t52, ptr %t35 + %t53 = load ptr, ptr @g_loc_reg + %t54 = load ptr, ptr %t1 + %t55 = getelementptr inbounds %LSlice, ptr %t53, i32 0, i32 1 + %t56 = getelementptr inbounds %LSlice, ptr %t53, i32 0, i32 2 + %t57 = getelementptr inbounds %LSlice, ptr %t53, i32 0, i32 0 + %t58 = load i32, ptr %t55 + %t59 = load i32, ptr %t56 + %t60 = icmp sge i32 %t58, %t59 + br i1 %t60, label %grow5, label %put6 +grow5: + %t61 = mul i32 %t59, 2 + %t62 = icmp eq i32 %t59, 0 + %t63 = select i1 %t62, i32 8, i32 %t61 + %t64 = getelementptr ptr, ptr null, i32 1 + %t65 = ptrtoint ptr %t64 to i64 + %t66 = zext i32 %t63 to i64 + %t67 = mul i64 %t66, %t65 + %t68 = load ptr, ptr %t57 + %t69 = call ptr @realloc(ptr %t68, i64 %t67) + store ptr %t69, ptr %t57 + store i32 %t63, ptr %t56 + br label %put6 +put6: + %t70 = load ptr, ptr %t57 + %t71 = getelementptr inbounds ptr, ptr %t70, i32 %t58 + store ptr %t54, ptr %t71 + %t72 = add i32 %t58, 1 + store i32 %t72, ptr %t55 + %t73 = load ptr, ptr @g_loc_ty + %t74 = load ptr, ptr %t2 + %t75 = getelementptr inbounds %LSlice, ptr %t73, i32 0, i32 1 + %t76 = getelementptr inbounds %LSlice, ptr %t73, i32 0, i32 2 + %t77 = getelementptr inbounds %LSlice, ptr %t73, i32 0, i32 0 + %t78 = load i32, ptr %t75 + %t79 = load i32, ptr %t76 + %t80 = icmp sge i32 %t78, %t79 + br i1 %t80, label %grow7, label %put8 +grow7: + %t81 = mul i32 %t79, 2 + %t82 = icmp eq i32 %t79, 0 + %t83 = select i1 %t82, i32 8, i32 %t81 + %t84 = getelementptr ptr, ptr null, i32 1 + %t85 = ptrtoint ptr %t84 to i64 + %t86 = zext i32 %t83 to i64 + %t87 = mul i64 %t86, %t85 + %t88 = load ptr, ptr %t77 + %t89 = call ptr @realloc(ptr %t88, i64 %t87) + store ptr %t89, ptr %t77 + store i32 %t83, ptr %t76 + br label %put8 +put8: + %t90 = load ptr, ptr %t77 + %t91 = getelementptr inbounds ptr, ptr %t90, i32 %t78 + store ptr %t74, ptr %t91 + %t92 = add i32 %t78, 1 + store i32 %t92, ptr %t75 + %t93 = load ptr, ptr @g_loc_mut + %t94 = getelementptr inbounds %LSlice, ptr %t93, i32 0, i32 1 + %t95 = getelementptr inbounds %LSlice, ptr %t93, i32 0, i32 2 + %t96 = getelementptr inbounds %LSlice, ptr %t93, i32 0, i32 0 + %t97 = load i32, ptr %t94 + %t98 = load i32, ptr %t95 + %t99 = icmp sge i32 %t97, %t98 + br i1 %t99, label %grow9, label %put10 +grow9: + %t100 = mul i32 %t98, 2 + %t101 = icmp eq i32 %t98, 0 + %t102 = select i1 %t101, i32 8, i32 %t100 + %t103 = getelementptr i32, ptr null, i32 1 + %t104 = ptrtoint ptr %t103 to i64 + %t105 = zext i32 %t102 to i64 + %t106 = mul i64 %t105, %t104 + %t107 = load ptr, ptr %t96 + %t108 = call ptr @realloc(ptr %t107, i64 %t106) + store ptr %t108, ptr %t96 + store i32 %t102, ptr %t95 + br label %put10 +put10: + %t109 = load ptr, ptr %t96 + %t110 = getelementptr inbounds i32, ptr %t109, i32 %t97 + store i32 1, ptr %t110 + %t111 = add i32 %t97, 1 + store i32 %t111, ptr %t94 + br label %ifend2 +ifend2: + %t112 = load i32, ptr @g_nloc + %t113 = add i32 %t112, 1 + store i32 %t113, ptr @g_nloc + br label %ret +ret: + ret void +} + +define void @fn_loc_set_mut(i32 %arg_m) { +entry: + %t0 = alloca i32 + store i32 %arg_m, ptr %t0 + %t1 = load i32, ptr @g_nloc + %t2 = icmp sgt i32 %t1, 0 + %t3 = zext i1 %t2 to i32 + %t4 = icmp ne i32 %t3, 0 + br i1 %t4, label %then0, label %ifend2 +then0: + %t5 = load ptr, ptr @g_loc_mut + %t6 = getelementptr inbounds %LSlice, ptr %t5, i32 0, i32 0 + %t7 = load ptr, ptr %t6 + %t8 = load i32, ptr @g_nloc + %t9 = sub i32 %t8, 1 + %t10 = getelementptr inbounds i32, ptr %t7, i32 %t9 + %t11 = load i32, ptr %t0 + store i32 %t11, ptr %t10 + br label %ifend2 +ifend2: + br label %ret +ret: + ret void +} + +define i32 @fn_loc_find(ptr %arg_name) { +entry: + %retval = alloca i32 + %t0 = alloca ptr + %t3 = alloca i32 + store ptr %arg_name, ptr %t0 + %t1 = load i32, ptr @g_nloc + %t2 = sub i32 %t1, 1 + store i32 %t2, ptr %t3 + br label %wcond0 +wcond0: + %t4 = load i32, ptr %t3 + %t5 = icmp sge i32 %t4, 0 + %t6 = zext i1 %t5 to i32 + %t7 = icmp ne i32 %t6, 0 + br i1 %t7, label %wbody1, label %wend2 +wbody1: + %t8 = load ptr, ptr @g_loc_name + %t9 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 0 + %t10 = load ptr, ptr %t9 + %t11 = load i32, ptr %t3 + %t12 = getelementptr inbounds ptr, ptr %t10, i32 %t11 + %t13 = load ptr, ptr %t12 + %t14 = load ptr, ptr %t0 + %t15 = call i32 @lp_str_eq(ptr %t13, ptr %t14) + %t16 = icmp ne i32 %t15, 0 + br i1 %t16, label %then3, label %ifend5 +then3: + %t17 = load i32, ptr %t3 + store i32 %t17, ptr %retval + br label %ret +ifend5: + %t18 = load i32, ptr %t3 + %t19 = sub i32 %t18, 1 + store i32 %t19, ptr %t3 + br label %wcond0 +wend2: + %t20 = sub i32 0, 1 + store i32 %t20, ptr %retval + br label %ret +ret: + %t21 = load i32, ptr %retval + ret i32 %t21 +} + +define i32 @fn_hexdig(i32 %arg_n) { +entry: + %retval = alloca i32 + %t0 = alloca i32 + store i32 %arg_n, ptr %t0 + %t1 = load i32, ptr %t0 + %t2 = icmp slt i32 %t1, 10 + %t3 = zext i1 %t2 to i32 + %t4 = icmp ne i32 %t3, 0 + br i1 %t4, label %then0, label %ifend2 +then0: + %t5 = load i32, ptr %t0 + %t6 = add i32 48, %t5 + store i32 %t6, ptr %retval + br label %ret +ifend2: + %t7 = load i32, ptr %t0 + %t8 = add i32 55, %t7 + store i32 %t8, ptr %retval + br label %ret +ret: + %t9 = load i32, ptr %retval + ret i32 %t9 +} + +define ptr @fn_emit_str_const(ptr %arg_s) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t4 = alloca ptr + %t10 = alloca i32 + %t15 = alloca i32 + %t26 = alloca i32 + %t27 = alloca i32 + %t28 = alloca i32 + %t29 = alloca i32 + store ptr %arg_s, ptr %t0 + %t1 = load i32, ptr @g_ll_str + %t2 = call ptr @fn_itoa(i32 %t1) + %t3 = call ptr @lp_str_concat(ptr @.str757, 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 @.str758) + %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 @.str759) + 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 @.str760) + %t71 = load ptr, ptr %t4 + store ptr %t71, ptr %retval + br label %ret +ret: + %t72 = load ptr, ptr %retval + ret ptr %t72 +} + +define ptr @fn_global_init(ptr %arg_d) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t16 = alloca ptr + %t17 = alloca i32 + %t18 = alloca i32 + %t49 = alloca i32 + %t50 = alloca i32 + %t85 = alloca i32 + %t113 = alloca i32 + store ptr %arg_d, ptr %t0 + %t1 = load ptr, ptr %t0 + %t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 4 + %t3 = load ptr, ptr %t2 + %t4 = icmp eq ptr %t3, null + %t5 = zext i1 %t4 to i32 + %t6 = icmp ne i32 %t5, 0 + br i1 %t6, label %then0, label %ifend2 +then0: + %t7 = load ptr, ptr %t0 + %t8 = getelementptr inbounds %Cmp_Node, ptr %t7, i32 0, i32 3 + %t9 = load ptr, ptr %t8 + %t10 = call ptr @fn_llty(ptr %t9) + %t11 = call i32 @lp_str_eq(ptr %t10, ptr @.str761) + %t12 = icmp ne i32 %t11, 0 + br i1 %t12, label %then3, label %ifend5 +then3: + store ptr @.str762, ptr %retval + br label %ret +ifend5: + store ptr @.str763, ptr %retval + br label %ret +ifend2: + %t13 = load ptr, ptr %t0 + %t14 = getelementptr inbounds %Cmp_Node, ptr %t13, i32 0, i32 4 + %t15 = load ptr, ptr %t14 + store ptr %t15, ptr %t16 + %t19 = load ptr, ptr %t16 + %t20 = getelementptr inbounds %Cmp_Node, ptr %t19, i32 0, i32 0 + %t21 = load i32, ptr %t20 + %t22 = icmp eq i32 %t21, 30 + %t23 = zext i1 %t22 to i32 + %t24 = icmp ne i32 %t23, 0 + %t25 = zext i1 %t24 to i32 + store i32 %t25, ptr %t18 + br i1 %t24, label %scend7, label %sc6 +sc6: + %t26 = load ptr, ptr %t16 + %t27 = getelementptr inbounds %Cmp_Node, ptr %t26, i32 0, i32 0 + %t28 = load i32, ptr %t27 + %t29 = icmp eq i32 %t28, 40 + %t30 = zext i1 %t29 to i32 + %t31 = icmp ne i32 %t30, 0 + %t32 = zext i1 %t31 to i32 + store i32 %t32, ptr %t18 + br label %scend7 +scend7: + %t33 = load i32, ptr %t18 + %t34 = icmp ne i32 %t33, 0 + %t35 = zext i1 %t34 to i32 + store i32 %t35, ptr %t17 + br i1 %t34, label %scend9, label %sc8 +sc8: + %t36 = load ptr, ptr %t16 + %t37 = getelementptr inbounds %Cmp_Node, ptr %t36, i32 0, i32 0 + %t38 = load i32, ptr %t37 + %t39 = icmp eq i32 %t38, 32 + %t40 = zext i1 %t39 to i32 + %t41 = icmp ne i32 %t40, 0 + %t42 = zext i1 %t41 to i32 + store i32 %t42, ptr %t17 + br label %scend9 +scend9: + %t43 = load i32, ptr %t17 + %t44 = icmp ne i32 %t43, 0 + br i1 %t44, label %then10, label %ifend12 +then10: + %t45 = load ptr, ptr %t16 + %t46 = getelementptr inbounds %Cmp_Node, ptr %t45, i32 0, i32 2 + %t47 = load i32, ptr %t46 + %t48 = call ptr @fn_itoa(i32 %t47) + store ptr %t48, ptr %retval + br label %ret +ifend12: + %t51 = load ptr, ptr %t16 + %t52 = getelementptr inbounds %Cmp_Node, ptr %t51, i32 0, i32 0 + %t53 = load i32, ptr %t52 + %t54 = icmp eq i32 %t53, 38 + %t55 = zext i1 %t54 to i32 + %t56 = icmp ne i32 %t55, 0 + %t57 = zext i1 %t56 to i32 + store i32 %t57, ptr %t50 + br i1 %t56, label %sc13, label %scend14 +sc13: + %t58 = load ptr, ptr %t16 + %t59 = getelementptr inbounds %Cmp_Node, ptr %t58, i32 0, i32 1 + %t60 = load ptr, ptr %t59 + %t61 = call i32 @lp_str_eq(ptr %t60, ptr @.str764) + %t62 = icmp ne i32 %t61, 0 + %t63 = zext i1 %t62 to i32 + store i32 %t63, ptr %t50 + br label %scend14 +scend14: + %t64 = load i32, ptr %t50 + %t65 = icmp ne i32 %t64, 0 + %t66 = zext i1 %t65 to i32 + store i32 %t66, ptr %t49 + br i1 %t65, label %sc15, label %scend16 +sc15: + %t67 = load ptr, ptr %t16 + %t68 = getelementptr inbounds %Cmp_Node, ptr %t67, i32 0, i32 4 + %t69 = load ptr, ptr %t68 + %t70 = getelementptr inbounds %Cmp_Node, ptr %t69, i32 0, i32 0 + %t71 = load i32, ptr %t70 + %t72 = icmp eq i32 %t71, 30 + %t73 = zext i1 %t72 to i32 + %t74 = icmp ne i32 %t73, 0 + %t75 = zext i1 %t74 to i32 + store i32 %t75, ptr %t49 + br label %scend16 +scend16: + %t76 = load i32, ptr %t49 + %t77 = icmp ne i32 %t76, 0 + br i1 %t77, label %then17, label %ifend19 +then17: + %t78 = load ptr, ptr %t16 + %t79 = getelementptr inbounds %Cmp_Node, ptr %t78, i32 0, i32 4 + %t80 = load ptr, ptr %t79 + %t81 = getelementptr inbounds %Cmp_Node, ptr %t80, i32 0, i32 2 + %t82 = load i32, ptr %t81 + %t83 = call ptr @fn_itoa(i32 %t82) + %t84 = call ptr @lp_str_concat(ptr @.str765, ptr %t83) + store ptr %t84, ptr %retval + br label %ret +ifend19: + %t86 = load ptr, ptr %t16 + %t87 = getelementptr inbounds %Cmp_Node, ptr %t86, i32 0, i32 0 + %t88 = load i32, ptr %t87 + %t89 = icmp eq i32 %t88, 35 + %t90 = zext i1 %t89 to i32 + %t91 = icmp ne i32 %t90, 0 + %t92 = zext i1 %t91 to i32 + store i32 %t92, ptr %t85 + br i1 %t91, label %sc20, label %scend21 +sc20: + %t93 = load ptr, ptr %t16 + %t94 = getelementptr inbounds %Cmp_Node, ptr %t93, i32 0, i32 4 + %t95 = load ptr, ptr %t94 + %t96 = getelementptr inbounds %Cmp_Node, ptr %t95, i32 0, i32 0 + %t97 = load i32, ptr %t96 + %t98 = icmp eq i32 %t97, 33 + %t99 = zext i1 %t98 to i32 + %t100 = icmp ne i32 %t99, 0 + %t101 = zext i1 %t100 to i32 + store i32 %t101, ptr %t85 + br label %scend21 +scend21: + %t102 = load i32, ptr %t85 + %t103 = icmp ne i32 %t102, 0 + br i1 %t103, label %then22, label %ifend24 +then22: + %t104 = load ptr, ptr %t16 + %t105 = getelementptr inbounds %Cmp_Node, ptr %t104, i32 0, i32 4 + %t106 = load ptr, ptr %t105 + %t107 = getelementptr inbounds %Cmp_Node, ptr %t106, i32 0, i32 1 + %t108 = load ptr, ptr %t107 + %t109 = load ptr, ptr %t16 + %t110 = getelementptr inbounds %Cmp_Node, ptr %t109, i32 0, i32 1 + %t111 = load ptr, ptr %t110 + %t112 = call i32 @fn_enum_ordinal(ptr %t108, ptr %t111) + store i32 %t112, ptr %t113 + %t114 = load i32, ptr %t113 + %t115 = icmp sge i32 %t114, 0 + %t116 = zext i1 %t115 to i32 + %t117 = icmp ne i32 %t116, 0 + br i1 %t117, label %then25, label %ifend27 +then25: + %t118 = load i32, ptr %t113 + %t119 = call ptr @fn_itoa(i32 %t118) + store ptr %t119, ptr %retval + br label %ret +ifend27: + br label %ifend24 +ifend24: + %t120 = load ptr, ptr %t0 + %t121 = getelementptr inbounds %Cmp_Node, ptr %t120, i32 0, i32 3 + %t122 = load ptr, ptr %t121 + %t123 = call ptr @fn_llty(ptr %t122) + %t124 = call i32 @lp_str_eq(ptr %t123, ptr @.str766) + %t125 = icmp ne i32 %t124, 0 + br i1 %t125, label %then28, label %ifend30 +then28: + store ptr @.str767, ptr %retval + br label %ret +ifend30: + store ptr @.str768, ptr %retval + br label %ret +ret: + %t126 = load ptr, ptr %retval + ret ptr %t126 +} + +define i32 @fn_global_needs_init_code(ptr %arg_d) { +entry: + %retval = alloca i32 + %t0 = alloca ptr + %t10 = alloca ptr + %t11 = alloca i32 + %t12 = alloca i32 + %t13 = alloca i32 + %t50 = alloca i32 + %t51 = alloca i32 + %t79 = alloca i32 + store ptr %arg_d, ptr %t0 + %t1 = load ptr, ptr %t0 + %t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 4 + %t3 = load ptr, ptr %t2 + %t4 = icmp eq ptr %t3, null + %t5 = zext i1 %t4 to i32 + %t6 = icmp ne i32 %t5, 0 + br i1 %t6, label %then0, label %ifend2 +then0: + store i32 0, ptr %retval + br label %ret +ifend2: + %t7 = load ptr, ptr %t0 + %t8 = getelementptr inbounds %Cmp_Node, ptr %t7, i32 0, i32 4 + %t9 = load ptr, ptr %t8 + store ptr %t9, ptr %t10 + %t14 = load ptr, ptr %t10 + %t15 = getelementptr inbounds %Cmp_Node, ptr %t14, i32 0, i32 0 + %t16 = load i32, ptr %t15 + %t17 = icmp eq i32 %t16, 30 + %t18 = zext i1 %t17 to i32 + %t19 = icmp ne i32 %t18, 0 + %t20 = zext i1 %t19 to i32 + store i32 %t20, ptr %t13 + br i1 %t19, label %scend4, label %sc3 +sc3: + %t21 = load ptr, ptr %t10 + %t22 = getelementptr inbounds %Cmp_Node, ptr %t21, i32 0, i32 0 + %t23 = load i32, ptr %t22 + %t24 = icmp eq i32 %t23, 40 + %t25 = zext i1 %t24 to i32 + %t26 = icmp ne i32 %t25, 0 + %t27 = zext i1 %t26 to i32 + store i32 %t27, ptr %t13 + br label %scend4 +scend4: + %t28 = load i32, ptr %t13 + %t29 = icmp ne i32 %t28, 0 + %t30 = zext i1 %t29 to i32 + store i32 %t30, ptr %t12 + br i1 %t29, label %scend6, label %sc5 +sc5: + %t31 = load ptr, ptr %t10 + %t32 = getelementptr inbounds %Cmp_Node, ptr %t31, i32 0, i32 0 + %t33 = load i32, ptr %t32 + %t34 = icmp eq i32 %t33, 32 + %t35 = zext i1 %t34 to i32 + %t36 = icmp ne i32 %t35, 0 + %t37 = zext i1 %t36 to i32 + store i32 %t37, ptr %t12 + br label %scend6 +scend6: + %t38 = load i32, ptr %t12 + %t39 = icmp ne i32 %t38, 0 + %t40 = zext i1 %t39 to i32 + store i32 %t40, ptr %t11 + br i1 %t39, label %scend8, label %sc7 +sc7: + %t41 = load ptr, ptr %t10 + %t42 = getelementptr inbounds %Cmp_Node, ptr %t41, i32 0, i32 0 + %t43 = load i32, ptr %t42 + %t44 = icmp eq i32 %t43, 43 + %t45 = zext i1 %t44 to i32 + %t46 = icmp ne i32 %t45, 0 + %t47 = zext i1 %t46 to i32 + store i32 %t47, ptr %t11 + br label %scend8 +scend8: + %t48 = load i32, ptr %t11 + %t49 = icmp ne i32 %t48, 0 + br i1 %t49, label %then9, label %ifend11 +then9: + store i32 0, ptr %retval + br label %ret +ifend11: + %t52 = load ptr, ptr %t10 + %t53 = getelementptr inbounds %Cmp_Node, ptr %t52, i32 0, i32 0 + %t54 = load i32, ptr %t53 + %t55 = icmp eq i32 %t54, 38 + %t56 = zext i1 %t55 to i32 + %t57 = icmp ne i32 %t56, 0 + %t58 = zext i1 %t57 to i32 + store i32 %t58, ptr %t51 + br i1 %t57, label %sc12, label %scend13 +sc12: + %t59 = load ptr, ptr %t10 + %t60 = getelementptr inbounds %Cmp_Node, ptr %t59, i32 0, i32 1 + %t61 = load ptr, ptr %t60 + %t62 = call i32 @lp_str_eq(ptr %t61, ptr @.str769) + %t63 = icmp ne i32 %t62, 0 + %t64 = zext i1 %t63 to i32 + store i32 %t64, ptr %t51 + br label %scend13 +scend13: + %t65 = load i32, ptr %t51 + %t66 = icmp ne i32 %t65, 0 + %t67 = zext i1 %t66 to i32 + store i32 %t67, ptr %t50 + br i1 %t66, label %sc14, label %scend15 +sc14: + %t68 = load ptr, ptr %t10 + %t69 = getelementptr inbounds %Cmp_Node, ptr %t68, i32 0, i32 4 + %t70 = load ptr, ptr %t69 + %t71 = getelementptr inbounds %Cmp_Node, ptr %t70, i32 0, i32 0 + %t72 = load i32, ptr %t71 + %t73 = icmp eq i32 %t72, 30 + %t74 = zext i1 %t73 to i32 + %t75 = icmp ne i32 %t74, 0 + %t76 = zext i1 %t75 to i32 + store i32 %t76, ptr %t50 + br label %scend15 +scend15: + %t77 = load i32, ptr %t50 + %t78 = icmp ne i32 %t77, 0 + br i1 %t78, label %then16, label %ifend18 +then16: + store i32 0, ptr %retval + br label %ret +ifend18: + %t80 = load ptr, ptr %t10 + %t81 = getelementptr inbounds %Cmp_Node, ptr %t80, i32 0, i32 0 + %t82 = load i32, ptr %t81 + %t83 = icmp eq i32 %t82, 35 + %t84 = zext i1 %t83 to i32 + %t85 = icmp ne i32 %t84, 0 + %t86 = zext i1 %t85 to i32 + store i32 %t86, ptr %t79 + br i1 %t85, label %sc19, label %scend20 +sc19: + %t87 = load ptr, ptr %t10 + %t88 = getelementptr inbounds %Cmp_Node, ptr %t87, i32 0, i32 4 + %t89 = load ptr, ptr %t88 + %t90 = getelementptr inbounds %Cmp_Node, ptr %t89, i32 0, i32 0 + %t91 = load i32, ptr %t90 + %t92 = icmp eq i32 %t91, 33 + %t93 = zext i1 %t92 to i32 + %t94 = icmp ne i32 %t93, 0 + %t95 = zext i1 %t94 to i32 + store i32 %t95, ptr %t79 + br label %scend20 +scend20: + %t96 = load i32, ptr %t79 + %t97 = icmp ne i32 %t96, 0 + br i1 %t97, label %then21, label %ifend23 +then21: + %t98 = load ptr, ptr %t10 + %t99 = getelementptr inbounds %Cmp_Node, ptr %t98, i32 0, i32 4 + %t100 = load ptr, ptr %t99 + %t101 = getelementptr inbounds %Cmp_Node, ptr %t100, i32 0, i32 1 + %t102 = load ptr, ptr %t101 + %t103 = load ptr, ptr %t10 + %t104 = getelementptr inbounds %Cmp_Node, ptr %t103, i32 0, i32 1 + %t105 = load ptr, ptr %t104 + %t106 = call i32 @fn_enum_ordinal(ptr %t102, ptr %t105) + %t107 = icmp sge i32 %t106, 0 + %t108 = zext i1 %t107 to i32 + %t109 = icmp ne i32 %t108, 0 + br i1 %t109, label %then24, label %ifend26 +then24: + store i32 0, ptr %retval + br label %ret +ifend26: + br label %ifend23 +ifend23: + store i32 1, ptr %retval + br label %ret +ret: + %t110 = load i32, ptr %retval + ret i32 %t110 +} + +define void @fn_emit_global_init_fn() { +entry: + %t1 = alloca ptr + %t4 = alloca ptr + %t6 = alloca i32 + %t20 = alloca ptr + %t21 = alloca i32 + %t39 = alloca ptr + store i32 0, ptr @g_ll_t + store i32 0, ptr @g_ll_lbl + store i32 0, ptr @g_g_term + call void @fn_loc_reset() + store i32 0, ptr @g_nloop + store i32 0, ptr @g_nself + store ptr @.str770, ptr @g_ret_ty + %t0 = call ptr @fn_buf_new() + store ptr %t0, ptr %t1 + %t2 = call ptr @fn_buf_new() + store ptr %t2, ptr @g_falloc + %t3 = load ptr, ptr @g_code + store ptr %t3, ptr %t4 + %t5 = load ptr, ptr %t1 + store ptr %t5, ptr @g_code + store i32 0, ptr %t6 + br label %wcond0 +wcond0: + %t7 = load i32, ptr %t6 + %t8 = load ptr, ptr @g_prog + %t9 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 1 + %t10 = load i32, ptr %t9 + %t11 = icmp slt i32 %t7, %t10 + %t12 = zext i1 %t11 to i32 + %t13 = icmp ne i32 %t12, 0 + br i1 %t13, label %wbody1, label %wend2 +wbody1: + %t14 = load ptr, ptr @g_prog + %t15 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 0 + %t16 = load ptr, ptr %t15 + %t17 = load i32, ptr %t6 + %t18 = getelementptr inbounds ptr, ptr %t16, i32 %t17 + %t19 = load ptr, ptr %t18 + store ptr %t19, ptr %t20 + %t22 = load ptr, ptr %t20 + %t23 = getelementptr inbounds %Cmp_Node, ptr %t22, i32 0, i32 0 + %t24 = load i32, ptr %t23 + %t25 = icmp eq i32 %t24, 2 + %t26 = zext i1 %t25 to i32 + %t27 = icmp ne i32 %t26, 0 + %t28 = zext i1 %t27 to i32 + store i32 %t28, ptr %t21 + br i1 %t27, label %sc3, label %scend4 +sc3: + %t29 = load ptr, ptr %t20 + %t30 = call i32 @fn_global_needs_init_code(ptr %t29) + %t31 = icmp ne i32 %t30, 0 + %t32 = zext i1 %t31 to i32 + store i32 %t32, ptr %t21 + br label %scend4 +scend4: + %t33 = load i32, ptr %t21 + %t34 = icmp ne i32 %t33, 0 + br i1 %t34, label %then5, label %ifend7 +then5: + %t35 = load ptr, ptr %t20 + %t36 = getelementptr inbounds %Cmp_Node, ptr %t35, i32 0, i32 4 + %t37 = load ptr, ptr %t36 + %t38 = call ptr @fn_emit_expr(ptr %t37) + store ptr %t38, ptr %t39 + call void @fn_emit(ptr @.str771) + %t40 = load ptr, ptr %t20 + %t41 = getelementptr inbounds %Cmp_Node, ptr %t40, i32 0, i32 3 + %t42 = load ptr, ptr %t41 + %t43 = call ptr @fn_llty(ptr %t42) + call void @fn_emit(ptr %t43) + call void @fn_emit(ptr @.str772) + %t44 = load ptr, ptr %t39 + %t45 = load ptr, ptr %t20 + %t46 = getelementptr inbounds %Cmp_Node, ptr %t45, i32 0, i32 3 + %t47 = load ptr, ptr %t46 + %t48 = call ptr @fn_coerce_code(ptr %t44, ptr %t47) + call void @fn_emit(ptr %t48) + call void @fn_emit(ptr @.str773) + %t49 = load ptr, ptr %t20 + %t50 = getelementptr inbounds %Cmp_Node, ptr %t49, i32 0, i32 1 + %t51 = load ptr, ptr %t50 + call void @fn_emit(ptr %t51) + call void @fn_emit(ptr @.str774) + br label %ifend7 +ifend7: + %t52 = load i32, ptr %t6 + %t53 = add i32 %t52, 1 + store i32 %t53, ptr %t6 + br label %wcond0 +wend2: + call void @fn_emit(ptr @.str775) + %t54 = load ptr, ptr %t4 + store ptr %t54, ptr @g_code + call void @fn_emit(ptr @.str776) + %t55 = load ptr, ptr @g_falloc + %t56 = call ptr @fn_buf_str(ptr %t55) + call void @fn_emit(ptr %t56) + %t57 = load ptr, ptr %t1 + %t58 = call ptr @fn_buf_str(ptr %t57) + call void @fn_emit(ptr %t58) + call void @fn_emit(ptr @.str777) + br label %ret +ret: + ret void +} + +define void @fn_emit_header() { +entry: + %t12 = alloca i32 + %t26 = alloca ptr + %t33 = alloca i32 + %t39 = alloca i32 + %t68 = alloca i32 + %t107 = alloca i32 + %t149 = alloca ptr + %t156 = alloca i32 + %t162 = alloca i32 + %t191 = alloca i32 + call void @fn_emith(ptr @.str778) + call void @fn_emith(ptr @.str779) + call void @fn_emith(ptr @.str780) + call void @fn_emith(ptr @.str781) + call void @fn_emith(ptr @.str782) + call void @fn_emith(ptr @.str783) + call void @fn_emith(ptr @.str784) + call void @fn_emith(ptr @.str785) + %t0 = load i32, ptr @g_g_target_win + %t1 = icmp eq i32 %t0, 0 + %t2 = zext i1 %t1 to i32 + %t3 = icmp ne i32 %t2, 0 + br i1 %t3, label %then0, label %ifend2 +then0: + call void @fn_emith(ptr @.str786) + call void @fn_emith(ptr @.str787) + call void @fn_emith(ptr @.str788) + call void @fn_emith(ptr @.str789) + br label %ifend2 +ifend2: + call void @fn_emith(ptr @.str790) + call void @fn_emith(ptr @.str791) + call void @fn_emith(ptr @.str792) + call void @fn_emith(ptr @.str793) + call void @fn_emith(ptr @.str794) + call void @fn_emith(ptr @.str795) + call void @fn_emith(ptr @.str796) + call void @fn_emith(ptr @.str797) + call void @fn_emith(ptr @.str798) + call void @fn_emith(ptr @.str799) + call void @fn_emith(ptr @.str800) + call void @fn_emith(ptr @.str801) + call void @fn_emith(ptr @.str802) + call void @fn_emith(ptr @.str803) + call void @fn_emith(ptr @.str804) + call void @fn_emith(ptr @.str805) + call void @fn_emith(ptr @.str806) + call void @fn_emith(ptr @.str807) + call void @fn_emith(ptr @.str808) + call void @fn_emith(ptr @.str809) + call void @fn_emith(ptr @.str810) + call void @fn_emith(ptr @.str811) + call void @fn_emith(ptr @.str812) + call void @fn_emith(ptr @.str813) + call void @fn_emith(ptr @.str814) + call void @fn_emith(ptr @.str815) + call void @fn_emith(ptr @.str816) + call void @fn_emith(ptr @.str817) + call void @fn_emith(ptr @.str818) + call void @fn_emith(ptr @.str819) + call void @fn_emith(ptr @.str820) + call void @fn_emith(ptr @.str821) + call void @fn_emith(ptr @.str822) + call void @fn_emith(ptr @.str823) + call void @fn_emith(ptr @.str824) + call void @fn_emith(ptr @.str825) + call void @fn_emith(ptr @.str826) + call void @fn_emith(ptr @.str827) + call void @fn_emith(ptr @.str828) + %t4 = load i32, ptr @g_g_target_win + %t5 = icmp ne i32 %t4, 0 + br i1 %t5, label %then3, label %else4 +then3: + call void @fn_emit_win_prelude() + br label %ifend5 +else4: + call void @fn_emith(ptr @.str829) + call void @fn_emith(ptr @.str830) + br label %ifend5 +ifend5: + call void @fn_emith(ptr @.str831) + call void @fn_emith(ptr @.str832) + call void @fn_emith(ptr @.str833) + call void @fn_emith(ptr @.str834) + call void @fn_emith(ptr @.str835) + call void @fn_emith(ptr @.str836) + call void @fn_emith(ptr @.str837) + %t6 = load ptr, ptr @g_g_game_name + %t7 = call i64 @strlen(ptr %t6) + %t8 = trunc i64 %t7 to i32 + %t9 = add i32 %t8, 1 + %t10 = call ptr @fn_itoa(i32 %t9) + call void @fn_emith(ptr %t10) + call void @fn_emith(ptr @.str838) + %t11 = load ptr, ptr @g_g_game_name + call void @fn_emith(ptr %t11) + call void @fn_emith(ptr @.str839) + call void @fn_emith(ptr @.str840) + store i32 0, ptr %t12 + br label %wcond6 +wcond6: + %t13 = load i32, ptr %t12 + %t14 = load ptr, ptr @g_prog + %t15 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 1 + %t16 = load i32, ptr %t15 + %t17 = icmp slt i32 %t13, %t16 + %t18 = zext i1 %t17 to i32 + %t19 = icmp ne i32 %t18, 0 + br i1 %t19, label %wbody7, label %wend8 +wbody7: + %t20 = load ptr, ptr @g_prog + %t21 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 0 + %t22 = load ptr, ptr %t21 + %t23 = load i32, ptr %t12 + %t24 = getelementptr inbounds ptr, ptr %t22, i32 %t23 + %t25 = load ptr, ptr %t24 + store ptr %t25, ptr %t26 + %t27 = load ptr, ptr %t26 + %t28 = getelementptr inbounds %Cmp_Node, ptr %t27, i32 0, i32 0 + %t29 = load i32, ptr %t28 + %t30 = icmp eq i32 %t29, 8 + %t31 = zext i1 %t30 to i32 + %t32 = icmp ne i32 %t31, 0 + br i1 %t32, label %then9, label %ifend11 +then9: + store i32 0, ptr %t33 + br label %wcond12 +wcond12: + %t34 = load i32, ptr %t33 + %t35 = load i32, ptr %t12 + %t36 = icmp slt i32 %t34, %t35 + %t37 = zext i1 %t36 to i32 + %t38 = icmp ne i32 %t37, 0 + br i1 %t38, label %wbody13, label %wend14 +wbody13: + %t40 = load ptr, ptr @g_prog + %t41 = getelementptr inbounds %LSlice, ptr %t40, i32 0, i32 0 + %t42 = load ptr, ptr %t41 + %t43 = load i32, ptr %t33 + %t44 = getelementptr inbounds ptr, ptr %t42, i32 %t43 + %t45 = load ptr, ptr %t44 + %t46 = getelementptr inbounds %Cmp_Node, ptr %t45, i32 0, i32 0 + %t47 = load i32, ptr %t46 + %t48 = icmp eq i32 %t47, 8 + %t49 = zext i1 %t48 to i32 + %t50 = icmp ne i32 %t49, 0 + %t51 = zext i1 %t50 to i32 + store i32 %t51, ptr %t39 + br i1 %t50, label %sc15, label %scend16 +sc15: + %t52 = load ptr, ptr @g_prog + %t53 = getelementptr inbounds %LSlice, ptr %t52, i32 0, i32 0 + %t54 = load ptr, ptr %t53 + %t55 = load i32, ptr %t33 + %t56 = getelementptr inbounds ptr, ptr %t54, i32 %t55 + %t57 = load ptr, ptr %t56 + %t58 = getelementptr inbounds %Cmp_Node, ptr %t57, i32 0, i32 1 + %t59 = load ptr, ptr %t58 + %t60 = load ptr, ptr %t26 + %t61 = getelementptr inbounds %Cmp_Node, ptr %t60, i32 0, i32 1 + %t62 = load ptr, ptr %t61 + %t63 = call i32 @lp_str_eq(ptr %t59, ptr %t62) + %t64 = icmp ne i32 %t63, 0 + %t65 = zext i1 %t64 to i32 + store i32 %t65, ptr %t39 + br label %scend16 +scend16: + %t66 = load i32, ptr %t39 + %t67 = icmp ne i32 %t66, 0 + br i1 %t67, label %then17, label %ifend19 +then17: + %t69 = load i32, ptr %t33 + %t70 = load i32, ptr @g_g_prog_user_end + %t71 = icmp slt i32 %t69, %t70 + %t72 = zext i1 %t71 to i32 + %t73 = icmp ne i32 %t72, 0 + %t74 = zext i1 %t73 to i32 + store i32 %t74, ptr %t68 + br i1 %t73, label %sc20, label %scend21 +sc20: + %t75 = load i32, ptr %t12 + %t76 = load i32, ptr @g_g_prog_user_end + %t77 = icmp sge i32 %t75, %t76 + %t78 = zext i1 %t77 to i32 + %t79 = icmp ne i32 %t78, 0 + %t80 = zext i1 %t79 to i32 + store i32 %t80, ptr %t68 + br label %scend21 +scend21: + %t81 = load i32, ptr %t68 + %t82 = icmp ne i32 %t81, 0 + br i1 %t82, label %then22, label %ifend24 +then22: + %t83 = load ptr, ptr %t26 + %t84 = getelementptr inbounds %Cmp_Node, ptr %t83, i32 0, i32 1 + %t85 = load ptr, ptr %t84 + %t86 = call ptr @lp_str_concat(ptr @.str841, ptr %t85) + %t87 = call ptr @lp_str_concat(ptr %t86, ptr @.str842) + call void @fn_perr(ptr %t87) + br label %ifend24 +ifend24: + %t88 = load ptr, ptr %t26 + %t89 = getelementptr inbounds %Cmp_Node, ptr %t88, i32 0, i32 1 + %t90 = load ptr, ptr %t89 + %t91 = call ptr @lp_str_concat(ptr @.str843, ptr %t90) + %t92 = call ptr @lp_str_concat(ptr %t91, ptr @.str844) + call void @fn_perr(ptr %t92) + br label %ifend19 +ifend19: + %t93 = load i32, ptr %t33 + %t94 = add i32 %t93, 1 + store i32 %t94, ptr %t33 + br label %wcond12 +wend14: + %t95 = load ptr, ptr %t26 + %t96 = getelementptr inbounds %Cmp_Node, ptr %t95, i32 0, i32 1 + %t97 = load ptr, ptr %t96 + %t98 = call ptr @fn_layout_ty(ptr %t97) + call void @fn_emith(ptr %t98) + call void @fn_emith(ptr @.str845) + %t99 = load ptr, ptr %t26 + %t100 = getelementptr inbounds %Cmp_Node, ptr %t99, i32 0, i32 7 + %t101 = load ptr, ptr %t100 + %t102 = getelementptr inbounds %LSlice, ptr %t101, i32 0, i32 1 + %t103 = load i32, ptr %t102 + %t104 = icmp eq i32 %t103, 0 + %t105 = zext i1 %t104 to i32 + %t106 = icmp ne i32 %t105, 0 + br i1 %t106, label %then25, label %ifend27 +then25: + call void @fn_emith(ptr @.str846) + br label %ifend27 +ifend27: + store i32 0, ptr %t107 + br label %wcond28 +wcond28: + %t108 = load i32, ptr %t107 + %t109 = load ptr, ptr %t26 + %t110 = getelementptr inbounds %Cmp_Node, ptr %t109, i32 0, i32 7 + %t111 = load ptr, ptr %t110 + %t112 = getelementptr inbounds %LSlice, ptr %t111, i32 0, i32 1 + %t113 = load i32, ptr %t112 + %t114 = icmp slt i32 %t108, %t113 + %t115 = zext i1 %t114 to i32 + %t116 = icmp ne i32 %t115, 0 + br i1 %t116, label %wbody29, label %wend30 +wbody29: + %t117 = load i32, ptr %t107 + %t118 = icmp sgt i32 %t117, 0 + %t119 = zext i1 %t118 to i32 + %t120 = icmp ne i32 %t119, 0 + br i1 %t120, label %then31, label %ifend33 +then31: + call void @fn_emith(ptr @.str847) + br label %ifend33 +ifend33: + %t121 = load ptr, ptr %t26 + %t122 = getelementptr inbounds %Cmp_Node, ptr %t121, i32 0, i32 7 + %t123 = load ptr, ptr %t122 + %t124 = getelementptr inbounds %LSlice, ptr %t123, i32 0, i32 0 + %t125 = load ptr, ptr %t124 + %t126 = load i32, ptr %t107 + %t127 = getelementptr inbounds ptr, ptr %t125, i32 %t126 + %t128 = load ptr, ptr %t127 + %t129 = getelementptr inbounds %Cmp_Node, ptr %t128, i32 0, i32 3 + %t130 = load ptr, ptr %t129 + %t131 = call ptr @fn_llty(ptr %t130) + call void @fn_emith(ptr %t131) + %t132 = load i32, ptr %t107 + %t133 = add i32 %t132, 1 + store i32 %t133, ptr %t107 + br label %wcond28 +wend30: + call void @fn_emith(ptr @.str848) + br label %ifend11 +ifend11: + %t134 = load i32, ptr %t12 + %t135 = add i32 %t134, 1 + store i32 %t135, ptr %t12 + br label %wcond6 +wend8: + store i32 0, ptr %t12 + br label %wcond34 +wcond34: + %t136 = load i32, ptr %t12 + %t137 = load ptr, ptr @g_prog + %t138 = getelementptr inbounds %LSlice, ptr %t137, i32 0, i32 1 + %t139 = load i32, ptr %t138 + %t140 = icmp slt i32 %t136, %t139 + %t141 = zext i1 %t140 to i32 + %t142 = icmp ne i32 %t141, 0 + br i1 %t142, label %wbody35, label %wend36 +wbody35: + %t143 = load ptr, ptr @g_prog + %t144 = getelementptr inbounds %LSlice, ptr %t143, i32 0, i32 0 + %t145 = load ptr, ptr %t144 + %t146 = load i32, ptr %t12 + %t147 = getelementptr inbounds ptr, ptr %t145, i32 %t146 + %t148 = load ptr, ptr %t147 + store ptr %t148, ptr %t149 + %t150 = load ptr, ptr %t149 + %t151 = getelementptr inbounds %Cmp_Node, ptr %t150, i32 0, i32 0 + %t152 = load i32, ptr %t151 + %t153 = icmp eq i32 %t152, 2 + %t154 = zext i1 %t153 to i32 + %t155 = icmp ne i32 %t154, 0 + br i1 %t155, label %then37, label %ifend39 +then37: + store i32 0, ptr %t156 + br label %wcond40 +wcond40: + %t157 = load i32, ptr %t156 + %t158 = load i32, ptr %t12 + %t159 = icmp slt i32 %t157, %t158 + %t160 = zext i1 %t159 to i32 + %t161 = icmp ne i32 %t160, 0 + br i1 %t161, label %wbody41, label %wend42 +wbody41: + %t163 = load ptr, ptr @g_prog + %t164 = getelementptr inbounds %LSlice, ptr %t163, i32 0, i32 0 + %t165 = load ptr, ptr %t164 + %t166 = load i32, ptr %t156 + %t167 = getelementptr inbounds ptr, ptr %t165, i32 %t166 + %t168 = load ptr, ptr %t167 + %t169 = getelementptr inbounds %Cmp_Node, ptr %t168, i32 0, i32 0 + %t170 = load i32, ptr %t169 + %t171 = icmp eq i32 %t170, 2 + %t172 = zext i1 %t171 to i32 + %t173 = icmp ne i32 %t172, 0 + %t174 = zext i1 %t173 to i32 + store i32 %t174, ptr %t162 + br i1 %t173, label %sc43, label %scend44 +sc43: + %t175 = load ptr, ptr @g_prog + %t176 = getelementptr inbounds %LSlice, ptr %t175, i32 0, i32 0 + %t177 = load ptr, ptr %t176 + %t178 = load i32, ptr %t156 + %t179 = getelementptr inbounds ptr, ptr %t177, i32 %t178 + %t180 = load ptr, ptr %t179 + %t181 = getelementptr inbounds %Cmp_Node, ptr %t180, i32 0, i32 1 + %t182 = load ptr, ptr %t181 + %t183 = load ptr, ptr %t149 + %t184 = getelementptr inbounds %Cmp_Node, ptr %t183, i32 0, i32 1 + %t185 = load ptr, ptr %t184 + %t186 = call i32 @lp_str_eq(ptr %t182, ptr %t185) + %t187 = icmp ne i32 %t186, 0 + %t188 = zext i1 %t187 to i32 + store i32 %t188, ptr %t162 + br label %scend44 +scend44: + %t189 = load i32, ptr %t162 + %t190 = icmp ne i32 %t189, 0 + br i1 %t190, label %then45, label %ifend47 +then45: + %t192 = load i32, ptr %t156 + %t193 = load i32, ptr @g_g_prog_user_end + %t194 = icmp slt i32 %t192, %t193 + %t195 = zext i1 %t194 to i32 + %t196 = icmp ne i32 %t195, 0 + %t197 = zext i1 %t196 to i32 + store i32 %t197, ptr %t191 + br i1 %t196, label %sc48, label %scend49 +sc48: + %t198 = load i32, ptr %t12 + %t199 = load i32, ptr @g_g_prog_user_end + %t200 = icmp sge i32 %t198, %t199 + %t201 = zext i1 %t200 to i32 + %t202 = icmp ne i32 %t201, 0 + %t203 = zext i1 %t202 to i32 + store i32 %t203, ptr %t191 + br label %scend49 +scend49: + %t204 = load i32, ptr %t191 + %t205 = icmp ne i32 %t204, 0 + br i1 %t205, label %then50, label %ifend52 +then50: + %t206 = load ptr, ptr %t149 + %t207 = getelementptr inbounds %Cmp_Node, ptr %t206, i32 0, i32 1 + %t208 = load ptr, ptr %t207 + %t209 = call ptr @lp_str_concat(ptr @.str849, ptr %t208) + %t210 = call ptr @lp_str_concat(ptr %t209, ptr @.str850) + call void @fn_perr(ptr %t210) + br label %ifend52 +ifend52: + %t211 = load ptr, ptr %t149 + %t212 = getelementptr inbounds %Cmp_Node, ptr %t211, i32 0, i32 1 + %t213 = load ptr, ptr %t212 + %t214 = call ptr @lp_str_concat(ptr @.str851, ptr %t213) + %t215 = call ptr @lp_str_concat(ptr %t214, ptr @.str852) + call void @fn_perr(ptr %t215) + br label %ifend47 +ifend47: + %t216 = load i32, ptr %t156 + %t217 = add i32 %t216, 1 + store i32 %t217, ptr %t156 + br label %wcond40 +wend42: + call void @fn_emith(ptr @.str853) + %t218 = load ptr, ptr %t149 + %t219 = getelementptr inbounds %Cmp_Node, ptr %t218, i32 0, i32 1 + %t220 = load ptr, ptr %t219 + call void @fn_emith(ptr %t220) + call void @fn_emith(ptr @.str854) + %t221 = load ptr, ptr %t149 + %t222 = getelementptr inbounds %Cmp_Node, ptr %t221, i32 0, i32 3 + %t223 = load ptr, ptr %t222 + %t224 = call ptr @fn_llty(ptr %t223) + call void @fn_emith(ptr %t224) + call void @fn_emith(ptr @.str855) + %t225 = load ptr, ptr %t149 + %t226 = call ptr @fn_global_init(ptr %t225) + call void @fn_emith(ptr %t226) + call void @fn_emith(ptr @.str856) + br label %ifend39 +ifend39: + %t227 = load i32, ptr %t12 + %t228 = add i32 %t227, 1 + store i32 %t228, ptr %t12 + br label %wcond34 +wend36: + br label %ret +ret: + ret void +} + +define void @fn_emit_extern_decls() { +entry: + %t0 = alloca i32 + %t14 = alloca ptr + %t30 = alloca i32 + store i32 0, ptr %t0 + br label %wcond0 +wcond0: + %t1 = load i32, ptr %t0 + %t2 = load ptr, ptr @g_prog + %t3 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 1 + %t4 = load i32, ptr %t3 + %t5 = icmp slt i32 %t1, %t4 + %t6 = zext i1 %t5 to i32 + %t7 = icmp ne i32 %t6, 0 + br i1 %t7, label %wbody1, label %wend2 +wbody1: + %t8 = load ptr, ptr @g_prog + %t9 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 0 + %t10 = load ptr, ptr %t9 + %t11 = load i32, ptr %t0 + %t12 = getelementptr inbounds ptr, ptr %t10, i32 %t11 + %t13 = load ptr, ptr %t12 + store ptr %t13, ptr %t14 + %t15 = load ptr, ptr %t14 + %t16 = getelementptr inbounds %Cmp_Node, ptr %t15, i32 0, i32 0 + %t17 = load i32, ptr %t16 + %t18 = icmp eq i32 %t17, 11 + %t19 = zext i1 %t18 to i32 + %t20 = icmp ne i32 %t19, 0 + br i1 %t20, label %then3, label %ifend5 +then3: + call void @fn_emith(ptr @.str857) + %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 @.str858) + %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 @.str859) + 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 @.str860) + 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 @.str861) + 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 @.str862) + call void @fn_emith(ptr @.str863) + call void @fn_emith(ptr @.str864) + call void @fn_emith(ptr @.str865) + call void @fn_emith(ptr @.str866) + call void @fn_emith(ptr @.str867) + call void @fn_emith(ptr @.str868) + call void @fn_emith(ptr @.str869) + call void @fn_emith(ptr @.str870) + call void @fn_emith(ptr @.str871) + call void @fn_emith(ptr @.str872) + call void @fn_emith(ptr @.str873) + call void @fn_emith(ptr @.str874) + call void @fn_emith(ptr @.str875) + call void @fn_emith(ptr @.str876) + call void @fn_emith(ptr @.str877) + call void @fn_emith(ptr @.str878) + call void @fn_emith(ptr @.str879) + call void @fn_emith(ptr @.str880) + call void @fn_emith(ptr @.str881) + call void @fn_emith(ptr @.str882) + call void @fn_emith(ptr @.str883) + call void @fn_emith(ptr @.str884) + call void @fn_emith(ptr @.str885) + call void @fn_emith(ptr @.str886) + call void @fn_emith(ptr @.str887) + call void @fn_emith(ptr @.str888) + call void @fn_emith(ptr @.str889) + call void @fn_emith(ptr @.str890) + call void @fn_emith(ptr @.str891) + call void @fn_emith(ptr @.str892) + call void @fn_emith(ptr @.str893) + call void @fn_emith(ptr @.str894) + call void @fn_emith(ptr @.str895) + call void @fn_emith(ptr @.str896) + br label %ret +ret: + ret void +} + +define void @fn_emit_int_str() { +entry: + call void @fn_emith(ptr @.str897) + call void @fn_emith(ptr @.str898) + call void @fn_emith(ptr @.str899) + call void @fn_emith(ptr @.str900) + call void @fn_emith(ptr @.str901) + call void @fn_emith(ptr @.str902) + call void @fn_emith(ptr @.str903) + call void @fn_emith(ptr @.str904) + call void @fn_emith(ptr @.str905) + call void @fn_emith(ptr @.str906) + call void @fn_emith(ptr @.str907) + call void @fn_emith(ptr @.str908) + call void @fn_emith(ptr @.str909) + call void @fn_emith(ptr @.str910) + call void @fn_emith(ptr @.str911) + call void @fn_emith(ptr @.str912) + call void @fn_emith(ptr @.str913) + br label %ret +ret: + ret void +} + +define void @fn_emit_long_str() { +entry: + call void @fn_emith(ptr @.str914) + call void @fn_emith(ptr @.str915) + call void @fn_emith(ptr @.str916) + call void @fn_emith(ptr @.str917) + call void @fn_emith(ptr @.str918) + call void @fn_emith(ptr @.str919) + call void @fn_emith(ptr @.str920) + call void @fn_emith(ptr @.str921) + call void @fn_emith(ptr @.str922) + call void @fn_emith(ptr @.str923) + call void @fn_emith(ptr @.str924) + call void @fn_emith(ptr @.str925) + call void @fn_emith(ptr @.str926) + call void @fn_emith(ptr @.str927) + call void @fn_emith(ptr @.str928) + call void @fn_emith(ptr @.str929) + call void @fn_emith(ptr @.str930) + br label %ret +ret: + ret void +} + +define void @fn_emit_str_slice() { +entry: + call void @fn_emith(ptr @.str931) + call void @fn_emith(ptr @.str932) + call void @fn_emith(ptr @.str933) + call void @fn_emith(ptr @.str934) + call void @fn_emith(ptr @.str935) + call void @fn_emith(ptr @.str936) + call void @fn_emith(ptr @.str937) + call void @fn_emith(ptr @.str938) + br label %ret +ret: + ret void +} + +define ptr @fn_emit_member_addr(ptr %arg_e) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t5 = alloca ptr + %t10 = alloca ptr + %t24 = alloca i32 + %t39 = alloca ptr + store ptr %arg_e, ptr %t0 + %t1 = load ptr, ptr %t0 + %t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 4 + %t3 = load ptr, ptr %t2 + %t4 = call ptr @fn_emit_expr(ptr %t3) + store ptr %t4, ptr %t5 + %t6 = load ptr, ptr %t5 + %t7 = getelementptr inbounds %Cmp_Val, ptr %t6, i32 0, i32 1 + %t8 = load ptr, ptr %t7 + %t9 = call ptr @fn_layout_node(ptr %t8) + store ptr %t9, ptr %t10 + %t11 = load ptr, ptr %t10 + %t12 = icmp eq ptr %t11, null + %t13 = zext i1 %t12 to i32 + %t14 = icmp ne i32 %t13, 0 + br i1 %t14, label %then0, label %ifend2 +then0: + %t15 = load ptr, ptr %t5 + %t16 = getelementptr inbounds %Cmp_Val, ptr %t15, i32 0, i32 1 + %t17 = load ptr, ptr %t16 + %t18 = call ptr @lp_str_concat(ptr @.str939, ptr %t17) + call void @fn_perr(ptr %t18) + br label %ifend2 +ifend2: + %t19 = load ptr, ptr %t10 + %t20 = load ptr, ptr %t0 + %t21 = getelementptr inbounds %Cmp_Node, ptr %t20, i32 0, i32 1 + %t22 = load ptr, ptr %t21 + %t23 = call i32 @fn_field_index(ptr %t19, ptr %t22) + store i32 %t23, ptr %t24 + %t25 = load i32, ptr %t24 + %t26 = icmp slt i32 %t25, 0 + %t27 = zext i1 %t26 to i32 + %t28 = icmp ne i32 %t27, 0 + br i1 %t28, label %then3, label %ifend5 +then3: + %t29 = load ptr, ptr %t0 + %t30 = getelementptr inbounds %Cmp_Node, ptr %t29, i32 0, i32 1 + %t31 = load ptr, ptr %t30 + %t32 = call ptr @lp_str_concat(ptr @.str940, 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 @.str941) + %t40 = load ptr, ptr %t39 + call void @fn_emit(ptr %t40) + call void @fn_emit(ptr @.str942) + %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 @.str943) + %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 @.str944) + %t48 = load i32, ptr %t24 + %t49 = call ptr @fn_itoa(i32 %t48) + call void @fn_emit(ptr %t49) + call void @fn_emit(ptr @.str945) + %t50 = load ptr, ptr %t39 + store ptr %t50, ptr %retval + br label %ret +ret: + %t51 = load ptr, ptr %retval + ret ptr %t51 +} + +define ptr @fn_emit_index_addr(ptr %arg_e) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t5 = alloca ptr + %t17 = alloca ptr + %t33 = alloca ptr + %t50 = alloca ptr + %t67 = alloca ptr + %t79 = alloca ptr + %t85 = alloca ptr + %t87 = alloca ptr + %t93 = alloca ptr + %t100 = alloca ptr + %t102 = alloca ptr + store ptr %arg_e, ptr %t0 + %t1 = load ptr, ptr %t0 + %t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 4 + %t3 = load ptr, ptr %t2 + %t4 = call ptr @fn_emit_expr(ptr %t3) + store ptr %t4, ptr %t5 + %t6 = load ptr, ptr %t5 + %t7 = getelementptr inbounds %Cmp_Val, ptr %t6, i32 0, i32 1 + %t8 = load ptr, ptr %t7 + %t9 = call i32 @fn_is_slice_ty(ptr %t8) + %t10 = icmp eq i32 %t9, 0 + %t11 = zext i1 %t10 to i32 + %t12 = icmp ne i32 %t11, 0 + br i1 %t12, label %then0, label %ifend2 +then0: + %t13 = load ptr, ptr %t0 + %t14 = getelementptr inbounds %Cmp_Node, ptr %t13, i32 0, i32 5 + %t15 = load ptr, ptr %t14 + %t16 = call ptr @fn_emit_expr(ptr %t15) + store ptr %t16, ptr %t17 + %t18 = load ptr, ptr %t5 + %t19 = getelementptr inbounds %Cmp_Val, ptr %t18, i32 0, i32 1 + %t20 = load ptr, ptr %t19 + %t21 = call i32 @lp_str_eq(ptr %t20, ptr @.str946) + %t22 = icmp ne i32 %t21, 0 + br i1 %t22, label %then3, label %ifend5 +then3: + %t23 = load ptr, ptr %t5 + %t24 = getelementptr inbounds %Cmp_Val, ptr %t23, i32 0, i32 0 + %t25 = load ptr, ptr %t24 + %t26 = call ptr @lp_str_concat(ptr @.str947, ptr %t25) + %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str948) + %t28 = load ptr, ptr %t17 + %t29 = getelementptr inbounds %Cmp_Val, ptr %t28, i32 0, i32 0 + %t30 = load ptr, ptr %t29 + %t31 = call ptr @lp_str_concat(ptr %t27, ptr %t30) + %t32 = call ptr @fn_emit_bind(ptr %t31) + store ptr %t32, ptr %t33 + store ptr @.str949, ptr @g_g_addr_ty + %t34 = load ptr, ptr %t33 + store ptr %t34, ptr %retval + br label %ret +ifend5: + %t35 = load ptr, ptr %t5 + %t36 = getelementptr inbounds %Cmp_Val, ptr %t35, i32 0, i32 1 + %t37 = load ptr, ptr %t36 + %t38 = call i32 @lp_str_eq(ptr %t37, ptr @.str950) + %t39 = icmp ne i32 %t38, 0 + br i1 %t39, label %then6, label %ifend8 +then6: + %t40 = load ptr, ptr %t5 + %t41 = getelementptr inbounds %Cmp_Val, ptr %t40, i32 0, i32 0 + %t42 = load ptr, ptr %t41 + %t43 = call ptr @lp_str_concat(ptr @.str951, ptr %t42) + %t44 = call ptr @lp_str_concat(ptr %t43, ptr @.str952) + %t45 = load ptr, ptr %t17 + %t46 = getelementptr inbounds %Cmp_Val, ptr %t45, i32 0, i32 0 + %t47 = load ptr, ptr %t46 + %t48 = call ptr @lp_str_concat(ptr %t44, ptr %t47) + %t49 = call ptr @fn_emit_bind(ptr %t48) + store ptr %t49, ptr %t50 + store ptr @.str953, ptr @g_g_addr_ty + %t51 = load ptr, ptr %t50 + store ptr %t51, ptr %retval + br label %ret +ifend8: + %t52 = load ptr, ptr %t5 + %t53 = getelementptr inbounds %Cmp_Val, ptr %t52, i32 0, i32 1 + %t54 = load ptr, ptr %t53 + %t55 = call i32 @lp_str_eq(ptr %t54, ptr @.str954) + %t56 = icmp ne i32 %t55, 0 + br i1 %t56, label %then9, label %ifend11 +then9: + %t57 = load ptr, ptr %t5 + %t58 = getelementptr inbounds %Cmp_Val, ptr %t57, i32 0, i32 0 + %t59 = load ptr, ptr %t58 + %t60 = call ptr @lp_str_concat(ptr @.str955, ptr %t59) + %t61 = call ptr @lp_str_concat(ptr %t60, ptr @.str956) + %t62 = load ptr, ptr %t17 + %t63 = getelementptr inbounds %Cmp_Val, ptr %t62, i32 0, i32 0 + %t64 = load ptr, ptr %t63 + %t65 = call ptr @lp_str_concat(ptr %t61, ptr %t64) + %t66 = call ptr @fn_emit_bind(ptr %t65) + store ptr %t66, ptr %t67 + store ptr @.str957, ptr @g_g_addr_ty + %t68 = load ptr, ptr %t67 + store ptr %t68, ptr %retval + br label %ret +ifend11: + %t69 = load ptr, ptr %t5 + %t70 = getelementptr inbounds %Cmp_Val, ptr %t69, i32 0, i32 0 + %t71 = load ptr, ptr %t70 + %t72 = call ptr @lp_str_concat(ptr @.str958, ptr %t71) + %t73 = call ptr @lp_str_concat(ptr %t72, ptr @.str959) + %t74 = load ptr, ptr %t17 + %t75 = getelementptr inbounds %Cmp_Val, ptr %t74, i32 0, i32 0 + %t76 = load ptr, ptr %t75 + %t77 = call ptr @lp_str_concat(ptr %t73, ptr %t76) + %t78 = call ptr @fn_emit_bind(ptr %t77) + store ptr %t78, ptr %t79 + store ptr @.str960, ptr @g_g_addr_ty + %t80 = load ptr, ptr %t79 + store ptr %t80, ptr %retval + br label %ret +ifend2: + %t81 = load ptr, ptr %t5 + %t82 = getelementptr inbounds %Cmp_Val, ptr %t81, i32 0, i32 1 + %t83 = load ptr, ptr %t82 + %t84 = call ptr @fn_slice_elem(ptr %t83) + store ptr %t84, ptr %t85 + %t86 = call ptr @fn_nreg() + store ptr %t86, ptr %t87 + call void @fn_emit(ptr @.str961) + %t88 = load ptr, ptr %t87 + call void @fn_emit(ptr %t88) + call void @fn_emit(ptr @.str962) + %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 @.str963) + %t92 = call ptr @fn_nreg() + store ptr %t92, ptr %t93 + call void @fn_emit(ptr @.str964) + %t94 = load ptr, ptr %t93 + call void @fn_emit(ptr %t94) + call void @fn_emit(ptr @.str965) + %t95 = load ptr, ptr %t87 + call void @fn_emit(ptr %t95) + call void @fn_emit(ptr @.str966) + %t96 = load ptr, ptr %t0 + %t97 = getelementptr inbounds %Cmp_Node, ptr %t96, i32 0, i32 5 + %t98 = load ptr, ptr %t97 + %t99 = call ptr @fn_emit_expr(ptr %t98) + store ptr %t99, ptr %t100 + %t101 = call ptr @fn_nreg() + store ptr %t101, ptr %t102 + call void @fn_emit(ptr @.str967) + %t103 = load ptr, ptr %t102 + call void @fn_emit(ptr %t103) + call void @fn_emit(ptr @.str968) + %t104 = load ptr, ptr %t85 + %t105 = call ptr @fn_llty(ptr %t104) + call void @fn_emit(ptr %t105) + call void @fn_emit(ptr @.str969) + %t106 = load ptr, ptr %t93 + call void @fn_emit(ptr %t106) + call void @fn_emit(ptr @.str970) + %t107 = load ptr, ptr %t100 + %t108 = getelementptr inbounds %Cmp_Val, ptr %t107, i32 0, i32 0 + %t109 = load ptr, ptr %t108 + call void @fn_emit(ptr %t109) + call void @fn_emit(ptr @.str971) + %t110 = load ptr, ptr %t85 + store ptr %t110, ptr @g_g_addr_ty + %t111 = load ptr, ptr %t102 + store ptr %t111, ptr %retval + br label %ret +ret: + %t112 = load ptr, ptr %retval + ret ptr %t112 +} + +define i32 @fn_is_intrinsic(ptr %arg_name) { +entry: + %retval = alloca i32 + %t0 = alloca ptr + %t4 = alloca i32 + %t5 = alloca i32 + %t23 = alloca i32 + %t24 = alloca i32 + %t42 = alloca i32 + %t43 = alloca i32 + %t61 = alloca i32 + %t72 = alloca i32 + store ptr %arg_name, ptr %t0 + %t1 = load ptr, ptr %t0 + %t2 = call i32 @lp_str_eq(ptr %t1, ptr @.str972) + %t3 = icmp ne i32 %t2, 0 + br i1 %t3, label %then0, label %ifend2 +then0: + store i32 1, ptr %retval + br label %ret +ifend2: + %t6 = load ptr, ptr %t0 + %t7 = call i32 @lp_str_eq(ptr %t6, ptr @.str973) + %t8 = icmp ne i32 %t7, 0 + %t9 = zext i1 %t8 to i32 + store i32 %t9, ptr %t5 + br i1 %t8, label %scend4, label %sc3 +sc3: + %t10 = load ptr, ptr %t0 + %t11 = call i32 @lp_str_eq(ptr %t10, ptr @.str974) + %t12 = icmp ne i32 %t11, 0 + %t13 = zext i1 %t12 to i32 + store i32 %t13, ptr %t5 + br label %scend4 +scend4: + %t14 = load i32, ptr %t5 + %t15 = icmp ne i32 %t14, 0 + %t16 = zext i1 %t15 to i32 + store i32 %t16, ptr %t4 + br i1 %t15, label %scend6, label %sc5 +sc5: + %t17 = load ptr, ptr %t0 + %t18 = call i32 @lp_str_eq(ptr %t17, ptr @.str975) + %t19 = icmp ne i32 %t18, 0 + %t20 = zext i1 %t19 to i32 + store i32 %t20, ptr %t4 + br label %scend6 +scend6: + %t21 = load i32, ptr %t4 + %t22 = icmp ne i32 %t21, 0 + br i1 %t22, label %then7, label %ifend9 +then7: + store i32 1, ptr %retval + br label %ret +ifend9: + %t25 = load ptr, ptr %t0 + %t26 = call i32 @lp_str_eq(ptr %t25, ptr @.str976) + %t27 = icmp ne i32 %t26, 0 + %t28 = zext i1 %t27 to i32 + store i32 %t28, ptr %t24 + br i1 %t27, label %scend11, label %sc10 +sc10: + %t29 = load ptr, ptr %t0 + %t30 = call i32 @lp_str_eq(ptr %t29, ptr @.str977) + %t31 = icmp ne i32 %t30, 0 + %t32 = zext i1 %t31 to i32 + store i32 %t32, ptr %t24 + br label %scend11 +scend11: + %t33 = load i32, ptr %t24 + %t34 = icmp ne i32 %t33, 0 + %t35 = zext i1 %t34 to i32 + store i32 %t35, ptr %t23 + br i1 %t34, label %scend13, label %sc12 +sc12: + %t36 = load ptr, ptr %t0 + %t37 = call i32 @lp_str_eq(ptr %t36, ptr @.str978) + %t38 = icmp ne i32 %t37, 0 + %t39 = zext i1 %t38 to i32 + store i32 %t39, ptr %t23 + br label %scend13 +scend13: + %t40 = load i32, ptr %t23 + %t41 = icmp ne i32 %t40, 0 + br i1 %t41, label %then14, label %ifend16 +then14: + store i32 1, ptr %retval + br label %ret +ifend16: + %t44 = load ptr, ptr %t0 + %t45 = call i32 @lp_str_eq(ptr %t44, ptr @.str979) + %t46 = icmp ne i32 %t45, 0 + %t47 = zext i1 %t46 to i32 + store i32 %t47, ptr %t43 + br i1 %t46, label %scend18, label %sc17 +sc17: + %t48 = load ptr, ptr %t0 + %t49 = call i32 @lp_str_eq(ptr %t48, ptr @.str980) + %t50 = icmp ne i32 %t49, 0 + %t51 = zext i1 %t50 to i32 + store i32 %t51, ptr %t43 + br label %scend18 +scend18: + %t52 = load i32, ptr %t43 + %t53 = icmp ne i32 %t52, 0 + %t54 = zext i1 %t53 to i32 + store i32 %t54, ptr %t42 + br i1 %t53, label %scend20, label %sc19 +sc19: + %t55 = load ptr, ptr %t0 + %t56 = call i32 @lp_str_eq(ptr %t55, ptr @.str981) + %t57 = icmp ne i32 %t56, 0 + %t58 = zext i1 %t57 to i32 + store i32 %t58, ptr %t42 + br label %scend20 +scend20: + %t59 = load i32, ptr %t42 + %t60 = icmp ne i32 %t59, 0 + br i1 %t60, label %then21, label %ifend23 +then21: + store i32 1, ptr %retval + br label %ret +ifend23: + %t62 = load ptr, ptr %t0 + %t63 = call i32 @lp_str_eq(ptr %t62, ptr @.str982) + %t64 = icmp ne i32 %t63, 0 + %t65 = zext i1 %t64 to i32 + store i32 %t65, ptr %t61 + br i1 %t64, label %scend25, label %sc24 +sc24: + %t66 = load ptr, ptr %t0 + %t67 = call i32 @lp_str_eq(ptr %t66, ptr @.str983) + %t68 = icmp ne i32 %t67, 0 + %t69 = zext i1 %t68 to i32 + store i32 %t69, ptr %t61 + br label %scend25 +scend25: + %t70 = load i32, ptr %t61 + %t71 = icmp ne i32 %t70, 0 + br i1 %t71, label %then26, label %ifend28 +then26: + store i32 1, ptr %retval + br label %ret +ifend28: + %t73 = load ptr, ptr %t0 + %t74 = call i32 @lp_str_eq(ptr %t73, ptr @.str984) + %t75 = icmp ne i32 %t74, 0 + %t76 = zext i1 %t75 to i32 + store i32 %t76, ptr %t72 + br i1 %t75, label %scend30, label %sc29 +sc29: + %t77 = load ptr, ptr %t0 + %t78 = call i32 @lp_str_eq(ptr %t77, ptr @.str985) + %t79 = icmp ne i32 %t78, 0 + %t80 = zext i1 %t79 to i32 + store i32 %t80, ptr %t72 + br label %scend30 +scend30: + %t81 = load i32, ptr %t72 + %t82 = icmp ne i32 %t81, 0 + br i1 %t82, label %then31, label %ifend33 +then31: + store i32 1, ptr %retval + br label %ret +ifend33: + %t83 = load ptr, ptr %t0 + %t84 = call i32 @lp_str_eq(ptr %t83, ptr @.str986) + %t85 = icmp ne i32 %t84, 0 + br i1 %t85, label %then34, label %ifend36 +then34: + store i32 1, ptr %retval + br label %ret +ifend36: + store i32 0, ptr %retval + br label %ret +ret: + %t86 = load i32, ptr %retval + ret i32 %t86 +} + +define ptr @fn_emit_bind(ptr %arg_rest) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t2 = alloca ptr + store ptr %arg_rest, ptr %t0 + %t1 = call ptr @fn_nreg() + store ptr %t1, ptr %t2 + call void @fn_emit(ptr @.str987) + %t3 = load ptr, ptr %t2 + call void @fn_emit(ptr %t3) + call void @fn_emit(ptr @.str988) + %t4 = load ptr, ptr %t0 + call void @fn_emit(ptr %t4) + call void @fn_emit(ptr @.str989) + %t5 = load ptr, ptr %t2 + store ptr %t5, ptr %retval + br label %ret +ret: + %t6 = load ptr, ptr %retval + ret ptr %t6 +} + +define ptr @fn_arg_code(ptr %arg_e, i32 %arg_i) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t1 = alloca i32 + %t11 = alloca ptr + store ptr %arg_e, ptr %t0 + store i32 %arg_i, ptr %t1 + %t2 = load ptr, ptr %t0 + %t3 = getelementptr inbounds %Cmp_Node, ptr %t2, i32 0, i32 7 + %t4 = load ptr, ptr %t3 + %t5 = getelementptr inbounds %LSlice, ptr %t4, i32 0, i32 0 + %t6 = load ptr, ptr %t5 + %t7 = load i32, ptr %t1 + %t8 = getelementptr inbounds ptr, ptr %t6, i32 %t7 + %t9 = load ptr, ptr %t8 + %t10 = call ptr @fn_emit_expr(ptr %t9) + store ptr %t10, ptr %t11 + %t12 = load ptr, ptr %t11 + %t13 = getelementptr inbounds %Cmp_Val, ptr %t12, i32 0, i32 0 + %t14 = load ptr, ptr %t13 + store ptr %t14, ptr %retval + br label %ret +ret: + %t15 = load ptr, ptr %retval + ret ptr %t15 +} + +define ptr @fn_emit_intrinsic(ptr %arg_name, ptr %arg_e) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t1 = alloca ptr + %t7 = alloca ptr + %t10 = alloca ptr + %t15 = alloca ptr + %t29 = alloca ptr + %t32 = alloca ptr + %t41 = alloca i32 + %t54 = alloca ptr + %t57 = alloca ptr + %t60 = alloca ptr + %t65 = alloca ptr + %t66 = alloca ptr + %t83 = alloca ptr + %t94 = alloca ptr + %t97 = alloca ptr + %t100 = alloca ptr + %t105 = alloca ptr + %t122 = alloca ptr + %t127 = alloca ptr + %t138 = alloca ptr + %t146 = alloca ptr + %t159 = alloca ptr + %t161 = alloca ptr + %t168 = alloca ptr + %t178 = alloca ptr + %t198 = alloca ptr + %t209 = alloca ptr + store ptr %arg_name, ptr %t0 + store ptr %arg_e, ptr %t1 + store i32 1, ptr @g_g_intrin_ok + %t2 = load ptr, ptr %t0 + %t3 = call i32 @lp_str_eq(ptr %t2, ptr @.str990) + %t4 = icmp ne i32 %t3, 0 + br i1 %t4, label %then0, label %ifend2 +then0: + %t5 = load ptr, ptr %t1 + %t6 = call ptr @fn_arg_code(ptr %t5, i32 0) + store ptr %t6, ptr %t7 + %t8 = load ptr, ptr %t1 + %t9 = call ptr @fn_arg_code(ptr %t8, i32 1) + store ptr %t9, ptr %t10 + %t11 = load ptr, ptr %t10 + %t12 = call ptr @lp_str_concat(ptr @.str991, ptr %t11) + %t13 = call ptr @lp_str_concat(ptr %t12, ptr @.str992) + %t14 = call ptr @fn_emit_bind(ptr %t13) + store ptr %t14, ptr %t15 + %t16 = load ptr, ptr %t7 + %t17 = call ptr @lp_str_concat(ptr @.str993, ptr %t16) + %t18 = call ptr @lp_str_concat(ptr %t17, ptr @.str994) + %t19 = load ptr, ptr %t15 + %t20 = call ptr @lp_str_concat(ptr %t18, ptr %t19) + %t21 = call ptr @lp_str_concat(ptr %t20, ptr @.str995) + %t22 = call ptr @fn_emit_bind(ptr %t21) + %t23 = call ptr @fn_val(ptr %t22, ptr @.str996) + store ptr %t23, ptr %retval + br label %ret +ifend2: + %t24 = load ptr, ptr %t0 + %t25 = call i32 @lp_str_eq(ptr %t24, ptr @.str997) + %t26 = icmp ne i32 %t25, 0 + br i1 %t26, label %then3, label %ifend5 +then3: + call void @fn_use_pak() + %t27 = load ptr, ptr %t1 + %t28 = call ptr @fn_arg_code(ptr %t27, i32 0) + store ptr %t28, ptr %t29 + %t30 = load ptr, ptr %t1 + %t31 = call ptr @fn_arg_code(ptr %t30, i32 1) + store ptr %t31, ptr %t32 + %t33 = load ptr, ptr %t29 + %t34 = call ptr @lp_str_concat(ptr @.str998, ptr %t33) + %t35 = call ptr @lp_str_concat(ptr %t34, ptr @.str999) + %t36 = load ptr, ptr %t32 + %t37 = call ptr @lp_str_concat(ptr %t35, ptr %t36) + %t38 = call ptr @lp_str_concat(ptr %t37, ptr @.str1000) + %t39 = call ptr @fn_emit_bind(ptr %t38) + %t40 = call ptr @fn_val(ptr %t39, ptr @.str1001) + store ptr %t40, ptr %retval + br label %ret +ifend5: + %t42 = load ptr, ptr %t0 + %t43 = call i32 @lp_str_eq(ptr %t42, ptr @.str1002) + %t44 = icmp ne i32 %t43, 0 + %t45 = zext i1 %t44 to i32 + store i32 %t45, ptr %t41 + br i1 %t44, label %scend7, label %sc6 +sc6: + %t46 = load ptr, ptr %t0 + %t47 = call i32 @lp_str_eq(ptr %t46, ptr @.str1003) + %t48 = icmp ne i32 %t47, 0 + %t49 = zext i1 %t48 to i32 + store i32 %t49, ptr %t41 + br label %scend7 +scend7: + %t50 = load i32, ptr %t41 + %t51 = icmp ne i32 %t50, 0 + br i1 %t51, label %then8, label %ifend10 +then8: + %t52 = load ptr, ptr %t1 + %t53 = call ptr @fn_arg_code(ptr %t52, i32 0) + store ptr %t53, ptr %t54 + %t55 = load ptr, ptr %t1 + %t56 = call ptr @fn_arg_code(ptr %t55, i32 1) + store ptr %t56, ptr %t57 + %t58 = load ptr, ptr %t1 + %t59 = call ptr @fn_arg_code(ptr %t58, i32 2) + store ptr %t59, ptr %t60 + %t61 = load ptr, ptr %t60 + %t62 = call ptr @lp_str_concat(ptr @.str1004, ptr %t61) + %t63 = call ptr @lp_str_concat(ptr %t62, ptr @.str1005) + %t64 = call ptr @fn_emit_bind(ptr %t63) + store ptr %t64, ptr %t65 + store ptr @.str1006, ptr %t66 + %t67 = load ptr, ptr %t0 + %t68 = call i32 @lp_str_eq(ptr %t67, ptr @.str1007) + %t69 = icmp ne i32 %t68, 0 + br i1 %t69, label %then11, label %ifend13 +then11: + store ptr @.str1008, ptr %t66 + br label %ifend13 +ifend13: + %t70 = load ptr, ptr %t66 + %t71 = call ptr @lp_str_concat(ptr @.str1009, ptr %t70) + %t72 = call ptr @lp_str_concat(ptr %t71, ptr @.str1010) + %t73 = load ptr, ptr %t57 + %t74 = call ptr @lp_str_concat(ptr %t72, ptr %t73) + %t75 = call ptr @lp_str_concat(ptr %t74, ptr @.str1011) + %t76 = load ptr, ptr %t65 + %t77 = call ptr @lp_str_concat(ptr %t75, ptr %t76) + %t78 = call ptr @lp_str_concat(ptr %t77, ptr @.str1012) + %t79 = load ptr, ptr %t54 + %t80 = call ptr @lp_str_concat(ptr %t78, ptr %t79) + %t81 = call ptr @lp_str_concat(ptr %t80, ptr @.str1013) + %t82 = call ptr @fn_emit_bind(ptr %t81) + store ptr %t82, ptr %t83 + %t84 = load ptr, ptr %t83 + %t85 = call ptr @lp_str_concat(ptr @.str1014, ptr %t84) + %t86 = call ptr @lp_str_concat(ptr %t85, ptr @.str1015) + %t87 = call ptr @fn_emit_bind(ptr %t86) + %t88 = call ptr @fn_val(ptr %t87, ptr @.str1016) + store ptr %t88, ptr %retval + br label %ret +ifend10: + %t89 = load ptr, ptr %t0 + %t90 = call i32 @lp_str_eq(ptr %t89, ptr @.str1017) + %t91 = icmp ne i32 %t90, 0 + br i1 %t91, label %then14, label %ifend16 +then14: + %t92 = load ptr, ptr %t1 + %t93 = call ptr @fn_arg_code(ptr %t92, i32 0) + store ptr %t93, ptr %t94 + %t95 = load ptr, ptr %t1 + %t96 = call ptr @fn_arg_code(ptr %t95, i32 1) + store ptr %t96, ptr %t97 + %t98 = load ptr, ptr %t1 + %t99 = call ptr @fn_arg_code(ptr %t98, i32 2) + store ptr %t99, ptr %t100 + %t101 = load ptr, ptr %t97 + %t102 = call ptr @lp_str_concat(ptr @.str1018, ptr %t101) + %t103 = call ptr @lp_str_concat(ptr %t102, ptr @.str1019) + %t104 = call ptr @fn_emit_bind(ptr %t103) + store ptr %t104, ptr %t105 + %t106 = load ptr, ptr %t94 + %t107 = call ptr @lp_str_concat(ptr @.str1020, ptr %t106) + %t108 = call ptr @lp_str_concat(ptr %t107, ptr @.str1021) + %t109 = load ptr, ptr %t105 + %t110 = call ptr @lp_str_concat(ptr %t108, ptr %t109) + %t111 = call ptr @lp_str_concat(ptr %t110, ptr @.str1022) + %t112 = load ptr, ptr %t100 + %t113 = call ptr @lp_str_concat(ptr %t111, ptr %t112) + %t114 = call ptr @lp_str_concat(ptr %t113, ptr @.str1023) + %t115 = call ptr @fn_emit_bind(ptr %t114) + %t116 = call ptr @fn_val(ptr %t115, ptr @.str1024) + store ptr %t116, ptr %retval + br label %ret +ifend16: + %t117 = load ptr, ptr %t0 + %t118 = call i32 @lp_str_eq(ptr %t117, ptr @.str1025) + %t119 = icmp ne i32 %t118, 0 + br i1 %t119, label %then17, label %ifend19 +then17: + %t120 = load ptr, ptr %t1 + %t121 = call ptr @fn_arg_code(ptr %t120, i32 0) + store ptr %t121, ptr %t122 + %t123 = load ptr, ptr %t122 + %t124 = call ptr @lp_str_concat(ptr @.str1026, ptr %t123) + %t125 = call ptr @lp_str_concat(ptr %t124, ptr @.str1027) + %t126 = call ptr @fn_emit_bind(ptr %t125) + store ptr %t126, ptr %t127 + %t128 = load ptr, ptr %t127 + %t129 = call ptr @lp_str_concat(ptr @.str1028, ptr %t128) + %t130 = call ptr @lp_str_concat(ptr %t129, ptr @.str1029) + %t131 = call ptr @fn_emit_bind(ptr %t130) + %t132 = call ptr @fn_val(ptr %t131, ptr @.str1030) + store ptr %t132, ptr %retval + br label %ret +ifend19: + %t133 = load ptr, ptr %t0 + %t134 = call i32 @lp_str_eq(ptr %t133, ptr @.str1031) + %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 @.str1032) + %t139 = load ptr, ptr %t138 + call void @fn_emit(ptr %t139) + call void @fn_emit(ptr @.str1033) + %t140 = call ptr @fn_val(ptr @.str1034, ptr @.str1035) + store ptr %t140, ptr %retval + br label %ret +ifend22: + %t141 = load ptr, ptr %t0 + %t142 = call i32 @lp_str_eq(ptr %t141, ptr @.str1036) + %t143 = icmp ne i32 %t142, 0 + br i1 %t143, label %then23, label %ifend25 +then23: + store i32 1, ptr @g_g_uses_world_despawn + %t144 = load ptr, ptr %t1 + %t145 = call ptr @fn_arg_code(ptr %t144, i32 0) + store ptr %t145, ptr %t146 + call void @fn_emit(ptr @.str1037) + %t147 = load ptr, ptr %t146 + call void @fn_emit(ptr %t147) + call void @fn_emit(ptr @.str1038) + %t148 = call ptr @fn_val(ptr @.str1039, ptr @.str1040) + store ptr %t148, ptr %retval + br label %ret +ifend25: + %t149 = load ptr, ptr %t0 + %t150 = call i32 @lp_str_eq(ptr %t149, ptr @.str1041) + %t151 = icmp ne i32 %t150, 0 + br i1 %t151, label %then26, label %ifend28 +then26: + %t152 = call ptr @fn_emit_bind(ptr @.str1042) + %t153 = call ptr @fn_val(ptr %t152, ptr @.str1043) + store ptr %t153, ptr %retval + br label %ret +ifend28: + %t154 = load ptr, ptr %t0 + %t155 = call i32 @lp_str_eq(ptr %t154, ptr @.str1044) + %t156 = icmp ne i32 %t155, 0 + br i1 %t156, label %then29, label %ifend31 +then29: + %t157 = load ptr, ptr %t1 + %t158 = call ptr @fn_arg_code(ptr %t157, i32 0) + store ptr %t158, ptr %t159 + %t160 = call ptr @fn_emit_bind(ptr @.str1045) + store ptr %t160, ptr %t161 + %t162 = load ptr, ptr %t161 + %t163 = call ptr @lp_str_concat(ptr @.str1046, ptr %t162) + %t164 = call ptr @lp_str_concat(ptr %t163, ptr @.str1047) + %t165 = load ptr, ptr %t159 + %t166 = call ptr @lp_str_concat(ptr %t164, ptr %t165) + %t167 = call ptr @fn_emit_bind(ptr %t166) + store ptr %t167, ptr %t168 + %t169 = load ptr, ptr %t168 + %t170 = call ptr @lp_str_concat(ptr @.str1048, ptr %t169) + %t171 = call ptr @fn_emit_bind(ptr %t170) + %t172 = call ptr @fn_val(ptr %t171, ptr @.str1049) + store ptr %t172, ptr %retval + br label %ret +ifend31: + %t173 = load ptr, ptr %t0 + %t174 = call i32 @lp_str_eq(ptr %t173, ptr @.str1050) + %t175 = icmp ne i32 %t174, 0 + br i1 %t175, label %then32, label %ifend34 +then32: + %t176 = load ptr, ptr %t1 + %t177 = call ptr @fn_arg_code(ptr %t176, i32 0) + store ptr %t177, ptr %t178 + call void @fn_emit(ptr @.str1051) + %t179 = load ptr, ptr %t178 + call void @fn_emit(ptr %t179) + call void @fn_emit(ptr @.str1052) + call void @fn_emit(ptr @.str1053) + store i32 1, ptr @g_g_term + %t180 = call ptr @fn_val(ptr @.str1054, ptr @.str1055) + store ptr %t180, ptr %retval + br label %ret +ifend34: + %t181 = load ptr, ptr %t0 + %t182 = call i32 @lp_str_eq(ptr %t181, ptr @.str1056) + %t183 = icmp ne i32 %t182, 0 + br i1 %t183, label %then35, label %ifend37 +then35: + %t184 = call ptr @fn_stdstream_rhs(i32 2) + %t185 = call ptr @fn_emit_bind(ptr %t184) + %t186 = call ptr @fn_val(ptr %t185, ptr @.str1057) + store ptr %t186, ptr %retval + br label %ret +ifend37: + %t187 = load ptr, ptr %t0 + %t188 = call i32 @lp_str_eq(ptr %t187, ptr @.str1058) + %t189 = icmp ne i32 %t188, 0 + br i1 %t189, label %then38, label %ifend40 +then38: + %t190 = call ptr @fn_stdstream_rhs(i32 1) + %t191 = call ptr @fn_emit_bind(ptr %t190) + %t192 = call ptr @fn_val(ptr %t191, ptr @.str1059) + store ptr %t192, ptr %retval + br label %ret +ifend40: + %t193 = load ptr, ptr %t0 + %t194 = call i32 @lp_str_eq(ptr %t193, ptr @.str1060) + %t195 = icmp ne i32 %t194, 0 + br i1 %t195, label %then41, label %ifend43 +then41: + %t196 = load ptr, ptr %t1 + %t197 = call ptr @fn_arg_code(ptr %t196, i32 0) + store ptr %t197, ptr %t198 + %t199 = load ptr, ptr %t198 + %t200 = call ptr @lp_str_concat(ptr @.str1061, ptr %t199) + %t201 = call ptr @lp_str_concat(ptr %t200, ptr @.str1062) + %t202 = call ptr @fn_emit_bind(ptr %t201) + %t203 = call ptr @fn_val(ptr %t202, ptr @.str1063) + store ptr %t203, ptr %retval + br label %ret +ifend43: + %t204 = load ptr, ptr %t0 + %t205 = call i32 @lp_str_eq(ptr %t204, ptr @.str1064) + %t206 = icmp ne i32 %t205, 0 + br i1 %t206, label %then44, label %ifend46 +then44: + %t207 = load ptr, ptr %t1 + %t208 = call ptr @fn_arg_code(ptr %t207, i32 0) + store ptr %t208, ptr %t209 + %t210 = load ptr, ptr %t209 + %t211 = call ptr @lp_str_concat(ptr @.str1065, ptr %t210) + %t212 = call ptr @lp_str_concat(ptr %t211, ptr @.str1066) + %t213 = call ptr @fn_emit_bind(ptr %t212) + %t214 = call ptr @fn_val(ptr %t213, ptr @.str1067) + store ptr %t214, ptr %retval + br label %ret +ifend46: + store i32 0, ptr @g_g_intrin_ok + %t215 = call ptr @fn_val(ptr @.str1068, ptr @.str1069) + store ptr %t215, ptr %retval + br label %ret +ret: + %t216 = load ptr, ptr %retval + ret ptr %t216 +} + +define ptr @fn_stdstream_rhs(i32 %arg_fd) { +entry: + %retval = alloca ptr + %t0 = alloca i32 + store i32 %arg_fd, ptr %t0 + %t1 = load i32, ptr @g_g_target_win + %t2 = icmp ne i32 %t1, 0 + br i1 %t2, label %then0, label %ifend2 +then0: + %t3 = load i32, ptr %t0 + %t4 = call ptr @fn_itoa(i32 %t3) + %t5 = call ptr @lp_str_concat(ptr @.str1070, ptr %t4) + %t6 = call ptr @lp_str_concat(ptr %t5, ptr @.str1071) + store ptr %t6, ptr %retval + br label %ret +ifend2: + %t7 = load i32, ptr %t0 + %t8 = icmp eq i32 %t7, 2 + %t9 = zext i1 %t8 to i32 + %t10 = icmp ne i32 %t9, 0 + br i1 %t10, label %then3, label %ifend5 +then3: + store ptr @.str1072, ptr %retval + br label %ret +ifend5: + store ptr @.str1073, ptr %retval + br label %ret +ret: + %t11 = load ptr, ptr %retval + ret ptr %t11 +} + +define i32 @fn_is_intrinsic2(ptr %arg_name) { +entry: + %retval = alloca i32 + %t0 = alloca ptr + %t1 = alloca i32 + %t12 = alloca i32 + %t23 = alloca i32 + %t34 = alloca i32 + %t45 = alloca i32 + %t46 = alloca i32 + %t64 = alloca i32 + %t75 = alloca i32 + %t86 = alloca i32 + %t100 = alloca i32 + %t101 = alloca i32 + %t119 = alloca i32 + %t120 = alloca i32 + %t121 = alloca i32 + %t146 = alloca i32 + %t147 = alloca i32 + %t165 = alloca i32 + %t166 = alloca i32 + %t167 = alloca i32 + %t192 = alloca i32 + %t193 = alloca i32 + store ptr %arg_name, ptr %t0 + %t2 = load ptr, ptr %t0 + %t3 = call i32 @lp_str_eq(ptr %t2, ptr @.str1074) + %t4 = icmp ne i32 %t3, 0 + %t5 = zext i1 %t4 to i32 + store i32 %t5, ptr %t1 + br i1 %t4, label %scend1, label %sc0 +sc0: + %t6 = load ptr, ptr %t0 + %t7 = call i32 @lp_str_eq(ptr %t6, ptr @.str1075) + %t8 = icmp ne i32 %t7, 0 + %t9 = zext i1 %t8 to i32 + store i32 %t9, ptr %t1 + br label %scend1 +scend1: + %t10 = load i32, ptr %t1 + %t11 = icmp ne i32 %t10, 0 + br i1 %t11, label %then2, label %ifend4 +then2: + store i32 1, ptr %retval + br label %ret +ifend4: + %t13 = load ptr, ptr %t0 + %t14 = call i32 @lp_str_eq(ptr %t13, ptr @.str1076) + %t15 = icmp ne i32 %t14, 0 + %t16 = zext i1 %t15 to i32 + store i32 %t16, ptr %t12 + br i1 %t15, label %scend6, label %sc5 +sc5: + %t17 = load ptr, ptr %t0 + %t18 = call i32 @lp_str_eq(ptr %t17, ptr @.str1077) + %t19 = icmp ne i32 %t18, 0 + %t20 = zext i1 %t19 to i32 + store i32 %t20, ptr %t12 + br label %scend6 +scend6: + %t21 = load i32, ptr %t12 + %t22 = icmp ne i32 %t21, 0 + br i1 %t22, label %then7, label %ifend9 +then7: + store i32 1, ptr %retval + br label %ret +ifend9: + %t24 = load ptr, ptr %t0 + %t25 = call i32 @lp_str_eq(ptr %t24, ptr @.str1078) + %t26 = icmp ne i32 %t25, 0 + %t27 = zext i1 %t26 to i32 + store i32 %t27, ptr %t23 + br i1 %t26, label %scend11, label %sc10 +sc10: + %t28 = load ptr, ptr %t0 + %t29 = call i32 @lp_str_eq(ptr %t28, ptr @.str1079) + %t30 = icmp ne i32 %t29, 0 + %t31 = zext i1 %t30 to i32 + store i32 %t31, ptr %t23 + br label %scend11 +scend11: + %t32 = load i32, ptr %t23 + %t33 = icmp ne i32 %t32, 0 + br i1 %t33, label %then12, label %ifend14 +then12: + store i32 1, ptr %retval + br label %ret +ifend14: + %t35 = load ptr, ptr %t0 + %t36 = call i32 @lp_str_eq(ptr %t35, ptr @.str1080) + %t37 = icmp ne i32 %t36, 0 + %t38 = zext i1 %t37 to i32 + store i32 %t38, ptr %t34 + br i1 %t37, label %scend16, label %sc15 +sc15: + %t39 = load ptr, ptr %t0 + %t40 = call i32 @lp_str_eq(ptr %t39, ptr @.str1081) + %t41 = icmp ne i32 %t40, 0 + %t42 = zext i1 %t41 to i32 + store i32 %t42, ptr %t34 + br label %scend16 +scend16: + %t43 = load i32, ptr %t34 + %t44 = icmp ne i32 %t43, 0 + br i1 %t44, label %then17, label %ifend19 +then17: + store i32 1, ptr %retval + br label %ret +ifend19: + %t47 = load ptr, ptr %t0 + %t48 = call i32 @lp_str_eq(ptr %t47, ptr @.str1082) + %t49 = icmp ne i32 %t48, 0 + %t50 = zext i1 %t49 to i32 + store i32 %t50, ptr %t46 + br i1 %t49, label %scend21, label %sc20 +sc20: + %t51 = load ptr, ptr %t0 + %t52 = call i32 @lp_str_eq(ptr %t51, ptr @.str1083) + %t53 = icmp ne i32 %t52, 0 + %t54 = zext i1 %t53 to i32 + store i32 %t54, ptr %t46 + br label %scend21 +scend21: + %t55 = load i32, ptr %t46 + %t56 = icmp ne i32 %t55, 0 + %t57 = zext i1 %t56 to i32 + store i32 %t57, ptr %t45 + br i1 %t56, label %scend23, label %sc22 +sc22: + %t58 = load ptr, ptr %t0 + %t59 = call i32 @lp_str_eq(ptr %t58, ptr @.str1084) + %t60 = icmp ne i32 %t59, 0 + %t61 = zext i1 %t60 to i32 + store i32 %t61, ptr %t45 + br label %scend23 +scend23: + %t62 = load i32, ptr %t45 + %t63 = icmp ne i32 %t62, 0 + br i1 %t63, label %then24, label %ifend26 +then24: + store i32 1, ptr %retval + br label %ret +ifend26: + %t65 = load ptr, ptr %t0 + %t66 = call i32 @lp_str_eq(ptr %t65, ptr @.str1085) + %t67 = icmp ne i32 %t66, 0 + %t68 = zext i1 %t67 to i32 + store i32 %t68, ptr %t64 + br i1 %t67, label %scend28, label %sc27 +sc27: + %t69 = load ptr, ptr %t0 + %t70 = call i32 @lp_str_eq(ptr %t69, ptr @.str1086) + %t71 = icmp ne i32 %t70, 0 + %t72 = zext i1 %t71 to i32 + store i32 %t72, ptr %t64 + br label %scend28 +scend28: + %t73 = load i32, ptr %t64 + %t74 = icmp ne i32 %t73, 0 + br i1 %t74, label %then29, label %ifend31 +then29: + store i32 1, ptr %retval + br label %ret +ifend31: + %t76 = load ptr, ptr %t0 + %t77 = call i32 @lp_str_eq(ptr %t76, ptr @.str1087) + %t78 = icmp ne i32 %t77, 0 + %t79 = zext i1 %t78 to i32 + store i32 %t79, ptr %t75 + br i1 %t78, label %scend33, label %sc32 +sc32: + %t80 = load ptr, ptr %t0 + %t81 = call i32 @lp_str_eq(ptr %t80, ptr @.str1088) + %t82 = icmp ne i32 %t81, 0 + %t83 = zext i1 %t82 to i32 + store i32 %t83, ptr %t75 + br label %scend33 +scend33: + %t84 = load i32, ptr %t75 + %t85 = icmp ne i32 %t84, 0 + br i1 %t85, label %then34, label %ifend36 +then34: + store i32 1, ptr %retval + br label %ret +ifend36: + %t87 = load ptr, ptr %t0 + %t88 = call i32 @lp_str_eq(ptr %t87, ptr @.str1089) + %t89 = icmp ne i32 %t88, 0 + %t90 = zext i1 %t89 to i32 + store i32 %t90, ptr %t86 + br i1 %t89, label %scend38, label %sc37 +sc37: + %t91 = load ptr, ptr %t0 + %t92 = call i32 @lp_str_eq(ptr %t91, ptr @.str1090) + %t93 = icmp ne i32 %t92, 0 + %t94 = zext i1 %t93 to i32 + store i32 %t94, ptr %t86 + br label %scend38 +scend38: + %t95 = load i32, ptr %t86 + %t96 = icmp ne i32 %t95, 0 + br i1 %t96, label %then39, label %ifend41 +then39: + store i32 1, ptr %retval + br label %ret +ifend41: + %t97 = load ptr, ptr %t0 + %t98 = call i32 @lp_str_eq(ptr %t97, ptr @.str1091) + %t99 = icmp ne i32 %t98, 0 + br i1 %t99, label %then42, label %ifend44 +then42: + store i32 1, ptr %retval + br label %ret +ifend44: + %t102 = load ptr, ptr %t0 + %t103 = call i32 @lp_str_eq(ptr %t102, ptr @.str1092) + %t104 = icmp ne i32 %t103, 0 + %t105 = zext i1 %t104 to i32 + store i32 %t105, ptr %t101 + br i1 %t104, label %scend46, label %sc45 +sc45: + %t106 = load ptr, ptr %t0 + %t107 = call i32 @lp_str_eq(ptr %t106, ptr @.str1093) + %t108 = icmp ne i32 %t107, 0 + %t109 = zext i1 %t108 to i32 + store i32 %t109, ptr %t101 + br label %scend46 +scend46: + %t110 = load i32, ptr %t101 + %t111 = icmp ne i32 %t110, 0 + %t112 = zext i1 %t111 to i32 + store i32 %t112, ptr %t100 + br i1 %t111, label %scend48, label %sc47 +sc47: + %t113 = load ptr, ptr %t0 + %t114 = call i32 @lp_str_eq(ptr %t113, ptr @.str1094) + %t115 = icmp ne i32 %t114, 0 + %t116 = zext i1 %t115 to i32 + store i32 %t116, ptr %t100 + br label %scend48 +scend48: + %t117 = load i32, ptr %t100 + %t118 = icmp ne i32 %t117, 0 + br i1 %t118, label %then49, label %ifend51 +then49: + store i32 1, ptr %retval + br label %ret +ifend51: + %t122 = load ptr, ptr %t0 + %t123 = call i32 @lp_str_eq(ptr %t122, ptr @.str1095) + %t124 = icmp ne i32 %t123, 0 + %t125 = zext i1 %t124 to i32 + store i32 %t125, ptr %t121 + br i1 %t124, label %scend53, label %sc52 +sc52: + %t126 = load ptr, ptr %t0 + %t127 = call i32 @lp_str_eq(ptr %t126, ptr @.str1096) + %t128 = icmp ne i32 %t127, 0 + %t129 = zext i1 %t128 to i32 + store i32 %t129, ptr %t121 + br label %scend53 +scend53: + %t130 = load i32, ptr %t121 + %t131 = icmp ne i32 %t130, 0 + %t132 = zext i1 %t131 to i32 + store i32 %t132, ptr %t120 + br i1 %t131, label %scend55, label %sc54 +sc54: + %t133 = load ptr, ptr %t0 + %t134 = call i32 @lp_str_eq(ptr %t133, ptr @.str1097) + %t135 = icmp ne i32 %t134, 0 + %t136 = zext i1 %t135 to i32 + store i32 %t136, ptr %t120 + br label %scend55 +scend55: + %t137 = load i32, ptr %t120 + %t138 = icmp ne i32 %t137, 0 + %t139 = zext i1 %t138 to i32 + store i32 %t139, ptr %t119 + br i1 %t138, label %scend57, label %sc56 +sc56: + %t140 = load ptr, ptr %t0 + %t141 = call i32 @lp_str_eq(ptr %t140, ptr @.str1098) + %t142 = icmp ne i32 %t141, 0 + %t143 = zext i1 %t142 to i32 + store i32 %t143, ptr %t119 + br label %scend57 +scend57: + %t144 = load i32, ptr %t119 + %t145 = icmp ne i32 %t144, 0 + br i1 %t145, label %then58, label %ifend60 +then58: + store i32 1, ptr %retval + br label %ret +ifend60: + %t148 = load ptr, ptr %t0 + %t149 = call i32 @lp_str_eq(ptr %t148, ptr @.str1099) + %t150 = icmp ne i32 %t149, 0 + %t151 = zext i1 %t150 to i32 + store i32 %t151, ptr %t147 + br i1 %t150, label %scend62, label %sc61 +sc61: + %t152 = load ptr, ptr %t0 + %t153 = call i32 @lp_str_eq(ptr %t152, ptr @.str1100) + %t154 = icmp ne i32 %t153, 0 + %t155 = zext i1 %t154 to i32 + store i32 %t155, ptr %t147 + br label %scend62 +scend62: + %t156 = load i32, ptr %t147 + %t157 = icmp ne i32 %t156, 0 + %t158 = zext i1 %t157 to i32 + store i32 %t158, ptr %t146 + br i1 %t157, label %scend64, label %sc63 +sc63: + %t159 = load ptr, ptr %t0 + %t160 = call i32 @lp_str_eq(ptr %t159, ptr @.str1101) + %t161 = icmp ne i32 %t160, 0 + %t162 = zext i1 %t161 to i32 + store i32 %t162, ptr %t146 + br label %scend64 +scend64: + %t163 = load i32, ptr %t146 + %t164 = icmp ne i32 %t163, 0 + br i1 %t164, label %then65, label %ifend67 +then65: + store i32 1, ptr %retval + br label %ret +ifend67: + %t168 = load ptr, ptr %t0 + %t169 = call i32 @lp_str_eq(ptr %t168, ptr @.str1102) + %t170 = icmp ne i32 %t169, 0 + %t171 = zext i1 %t170 to i32 + store i32 %t171, ptr %t167 + br i1 %t170, label %scend69, label %sc68 +sc68: + %t172 = load ptr, ptr %t0 + %t173 = call i32 @lp_str_eq(ptr %t172, ptr @.str1103) + %t174 = icmp ne i32 %t173, 0 + %t175 = zext i1 %t174 to i32 + store i32 %t175, ptr %t167 + br label %scend69 +scend69: + %t176 = load i32, ptr %t167 + %t177 = icmp ne i32 %t176, 0 + %t178 = zext i1 %t177 to i32 + store i32 %t178, ptr %t166 + br i1 %t177, label %scend71, label %sc70 +sc70: + %t179 = load ptr, ptr %t0 + %t180 = call i32 @lp_str_eq(ptr %t179, ptr @.str1104) + %t181 = icmp ne i32 %t180, 0 + %t182 = zext i1 %t181 to i32 + store i32 %t182, ptr %t166 + br label %scend71 +scend71: + %t183 = load i32, ptr %t166 + %t184 = icmp ne i32 %t183, 0 + %t185 = zext i1 %t184 to i32 + store i32 %t185, ptr %t165 + br i1 %t184, label %scend73, label %sc72 +sc72: + %t186 = load ptr, ptr %t0 + %t187 = call i32 @lp_str_eq(ptr %t186, ptr @.str1105) + %t188 = icmp ne i32 %t187, 0 + %t189 = zext i1 %t188 to i32 + store i32 %t189, ptr %t165 + br label %scend73 +scend73: + %t190 = load i32, ptr %t165 + %t191 = icmp ne i32 %t190, 0 + br i1 %t191, label %then74, label %ifend76 +then74: + store i32 1, ptr %retval + br label %ret +ifend76: + %t194 = load ptr, ptr %t0 + %t195 = call i32 @lp_str_eq(ptr %t194, ptr @.str1106) + %t196 = icmp ne i32 %t195, 0 + %t197 = zext i1 %t196 to i32 + store i32 %t197, ptr %t193 + br i1 %t196, label %scend78, label %sc77 +sc77: + %t198 = load ptr, ptr %t0 + %t199 = call i32 @lp_str_eq(ptr %t198, ptr @.str1107) + %t200 = icmp ne i32 %t199, 0 + %t201 = zext i1 %t200 to i32 + store i32 %t201, ptr %t193 + br label %scend78 +scend78: + %t202 = load i32, ptr %t193 + %t203 = icmp ne i32 %t202, 0 + %t204 = zext i1 %t203 to i32 + store i32 %t204, ptr %t192 + br i1 %t203, label %scend80, label %sc79 +sc79: + %t205 = load ptr, ptr %t0 + %t206 = call i32 @lp_str_eq(ptr %t205, ptr @.str1108) + %t207 = icmp ne i32 %t206, 0 + %t208 = zext i1 %t207 to i32 + store i32 %t208, ptr %t192 + br label %scend80 +scend80: + %t209 = load i32, ptr %t192 + %t210 = icmp ne i32 %t209, 0 + br i1 %t210, label %then81, label %ifend83 +then81: + store i32 1, ptr %retval + br label %ret +ifend83: + store i32 0, ptr %retval + br label %ret +ret: + %t211 = load i32, ptr %retval + ret i32 %t211 +} + +define ptr @fn_emit_intrinsic2(ptr %arg_name, ptr %arg_e) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t1 = alloca ptr + %t7 = alloca ptr + %t15 = alloca ptr + %t18 = alloca ptr + %t21 = alloca ptr + %t26 = alloca ptr + %t36 = alloca ptr + %t39 = alloca ptr + %t41 = alloca ptr + %t63 = alloca ptr + %t79 = alloca ptr + %t110 = alloca ptr + %t113 = alloca ptr + %t116 = alloca ptr + %t119 = alloca ptr + %t130 = alloca ptr + %t133 = alloca ptr + %t136 = alloca ptr + %t150 = alloca ptr + %t158 = alloca ptr + %t166 = alloca ptr + %t174 = alloca ptr + %t182 = alloca ptr + %t190 = alloca ptr + %t201 = alloca ptr + %t204 = alloca ptr + %t207 = alloca ptr + %t210 = alloca ptr + %t221 = alloca ptr + %t229 = alloca ptr + %t240 = alloca ptr + %t243 = alloca ptr + %t252 = alloca ptr + %t255 = alloca ptr + %t264 = alloca ptr + %t267 = alloca ptr + %t276 = alloca ptr + %t279 = alloca ptr + %t293 = alloca ptr + %t296 = alloca ptr + %t299 = alloca ptr + %t309 = alloca ptr + %t312 = alloca ptr + %t315 = alloca ptr + %t325 = alloca ptr + %t328 = alloca ptr + %t337 = alloca ptr + %t348 = alloca ptr + %t359 = alloca ptr + %t370 = alloca ptr + %t381 = alloca ptr + %t384 = alloca ptr + %t398 = alloca ptr + store ptr %arg_name, ptr %t0 + store ptr %arg_e, ptr %t1 + %t2 = load ptr, ptr %t0 + %t3 = call i32 @lp_str_eq(ptr %t2, ptr @.str1109) + %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 @.str1110) + %t8 = load ptr, ptr %t7 + call void @fn_emit(ptr %t8) + call void @fn_emit(ptr @.str1111) + %t9 = call ptr @fn_val(ptr @.str1112, ptr @.str1113) + store ptr %t9, ptr %retval + br label %ret +ifend2: + %t10 = load ptr, ptr %t0 + %t11 = call i32 @lp_str_eq(ptr %t10, ptr @.str1114) + %t12 = icmp ne i32 %t11, 0 + br i1 %t12, label %then3, label %ifend5 +then3: + %t13 = load ptr, ptr %t1 + %t14 = call ptr @fn_arg_code(ptr %t13, i32 0) + store ptr %t14, ptr %t15 + %t16 = load ptr, ptr %t1 + %t17 = call ptr @fn_arg_code(ptr %t16, i32 1) + store ptr %t17, ptr %t18 + %t19 = load ptr, ptr %t1 + %t20 = call ptr @fn_arg_code(ptr %t19, i32 2) + store ptr %t20, ptr %t21 + %t22 = load ptr, ptr %t21 + %t23 = call ptr @lp_str_concat(ptr @.str1115, ptr %t22) + %t24 = call ptr @lp_str_concat(ptr %t23, ptr @.str1116) + %t25 = call ptr @fn_emit_bind(ptr %t24) + store ptr %t25, ptr %t26 + call void @fn_emit(ptr @.str1117) + %t27 = load ptr, ptr %t15 + call void @fn_emit(ptr %t27) + call void @fn_emit(ptr @.str1118) + %t28 = load ptr, ptr %t18 + call void @fn_emit(ptr %t28) + call void @fn_emit(ptr @.str1119) + %t29 = load ptr, ptr %t26 + call void @fn_emit(ptr %t29) + call void @fn_emit(ptr @.str1120) + %t30 = call ptr @fn_val(ptr @.str1121, ptr @.str1122) + store ptr %t30, ptr %retval + br label %ret +ifend5: + %t31 = load ptr, ptr %t0 + %t32 = call i32 @lp_str_eq(ptr %t31, ptr @.str1123) + %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 @.str1124) + %t42 = load ptr, ptr %t41 + call void @fn_emit(ptr %t42) + call void @fn_emit(ptr @.str1125) + %t43 = load ptr, ptr %t36 + call void @fn_emit(ptr %t43) + call void @fn_emit(ptr @.str1126) + %t44 = load ptr, ptr %t39 + call void @fn_emit(ptr %t44) + call void @fn_emit(ptr @.str1127) + %t45 = load ptr, ptr %t41 + %t46 = call ptr @fn_val(ptr %t45, ptr @.str1128) + store ptr %t46, ptr %retval + br label %ret +ifend8: + %t47 = load ptr, ptr %t0 + %t48 = call i32 @lp_str_eq(ptr %t47, ptr @.str1129) + %t49 = icmp ne i32 %t48, 0 + br i1 %t49, label %then9, label %ifend11 +then9: + %t50 = call ptr @fn_emit_bind(ptr @.str1130) + %t51 = call ptr @fn_val(ptr %t50, ptr @.str1131) + store ptr %t51, ptr %retval + br label %ret +ifend11: + %t52 = load ptr, ptr %t0 + %t53 = call i32 @lp_str_eq(ptr %t52, ptr @.str1132) + %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 @.str1133) + store ptr %t67, ptr %retval + br label %ret +ifend14: + %t68 = load ptr, ptr %t0 + %t69 = call i32 @lp_str_eq(ptr %t68, ptr @.str1134) + %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 @.str1135) + store ptr %t83, ptr %retval + br label %ret +ifend17: + %t84 = load ptr, ptr %t0 + %t85 = call i32 @lp_str_eq(ptr %t84, ptr @.str1136) + %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 @.str1137, ptr @.str1138) + store ptr %t89, ptr %retval + br label %ret +ifend23: + %t90 = call ptr @fn_val(ptr @.str1139, ptr @.str1140) + store ptr %t90, ptr %retval + br label %ret +ifend20: + %t91 = load ptr, ptr %t0 + %t92 = call i32 @lp_str_eq(ptr %t91, ptr @.str1141) + %t93 = icmp ne i32 %t92, 0 + br i1 %t93, label %then24, label %ifend26 +then24: + %t94 = call ptr @fn_val(ptr @.str1142, ptr @.str1143) + store ptr %t94, ptr %retval + br label %ret +ifend26: + %t95 = load ptr, ptr %t0 + %t96 = call i32 @lp_str_eq(ptr %t95, ptr @.str1144) + %t97 = icmp ne i32 %t96, 0 + br i1 %t97, label %then27, label %ifend29 +then27: + %t98 = call ptr @fn_emit_bind(ptr @.str1145) + %t99 = call ptr @fn_val(ptr %t98, ptr @.str1146) + store ptr %t99, ptr %retval + br label %ret +ifend29: + %t100 = load ptr, ptr %t0 + %t101 = call i32 @lp_str_eq(ptr %t100, ptr @.str1147) + %t102 = icmp ne i32 %t101, 0 + br i1 %t102, label %then30, label %ifend32 +then30: + %t103 = call ptr @fn_emit_bind(ptr @.str1148) + %t104 = call ptr @fn_val(ptr %t103, ptr @.str1149) + store ptr %t104, ptr %retval + br label %ret +ifend32: + %t105 = load ptr, ptr %t0 + %t106 = call i32 @lp_str_eq(ptr %t105, ptr @.str1150) + %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 @.str1151) + %t120 = load ptr, ptr %t110 + call void @fn_emit(ptr %t120) + call void @fn_emit(ptr @.str1152) + %t121 = load ptr, ptr %t113 + call void @fn_emit(ptr %t121) + call void @fn_emit(ptr @.str1153) + %t122 = load ptr, ptr %t116 + call void @fn_emit(ptr %t122) + call void @fn_emit(ptr @.str1154) + %t123 = load ptr, ptr %t119 + call void @fn_emit(ptr %t123) + call void @fn_emit(ptr @.str1155) + %t124 = call ptr @fn_val(ptr @.str1156, ptr @.str1157) + store ptr %t124, ptr %retval + br label %ret +ifend35: + %t125 = load ptr, ptr %t0 + %t126 = call i32 @lp_str_eq(ptr %t125, ptr @.str1158) + %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 @.str1159) + %t137 = load ptr, ptr %t130 + call void @fn_emit(ptr %t137) + call void @fn_emit(ptr @.str1160) + %t138 = load ptr, ptr %t133 + call void @fn_emit(ptr %t138) + call void @fn_emit(ptr @.str1161) + %t139 = load ptr, ptr %t136 + call void @fn_emit(ptr %t139) + call void @fn_emit(ptr @.str1162) + %t140 = call ptr @fn_val(ptr @.str1163, ptr @.str1164) + store ptr %t140, ptr %retval + br label %ret +ifend38: + %t141 = load ptr, ptr %t0 + %t142 = call i32 @lp_str_eq(ptr %t141, ptr @.str1165) + %t143 = icmp ne i32 %t142, 0 + br i1 %t143, label %then39, label %ifend41 +then39: + call void @fn_emit(ptr @.str1166) + %t144 = call ptr @fn_val(ptr @.str1167, ptr @.str1168) + store ptr %t144, ptr %retval + br label %ret +ifend41: + %t145 = load ptr, ptr %t0 + %t146 = call i32 @lp_str_eq(ptr %t145, ptr @.str1169) + %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 @.str1170) + %t151 = load ptr, ptr %t150 + call void @fn_emit(ptr %t151) + call void @fn_emit(ptr @.str1171) + %t152 = call ptr @fn_val(ptr @.str1172, ptr @.str1173) + store ptr %t152, ptr %retval + br label %ret +ifend44: + %t153 = load ptr, ptr %t0 + %t154 = call i32 @lp_str_eq(ptr %t153, ptr @.str1174) + %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 @.str1175) + %t159 = load ptr, ptr %t158 + call void @fn_emit(ptr %t159) + call void @fn_emit(ptr @.str1176) + %t160 = call ptr @fn_val(ptr @.str1177, ptr @.str1178) + store ptr %t160, ptr %retval + br label %ret +ifend47: + %t161 = load ptr, ptr %t0 + %t162 = call i32 @lp_str_eq(ptr %t161, ptr @.str1179) + %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 @.str1180) + %t167 = load ptr, ptr %t166 + call void @fn_emit(ptr %t167) + call void @fn_emit(ptr @.str1181) + %t168 = call ptr @fn_val(ptr @.str1182, ptr @.str1183) + store ptr %t168, ptr %retval + br label %ret +ifend50: + %t169 = load ptr, ptr %t0 + %t170 = call i32 @lp_str_eq(ptr %t169, ptr @.str1184) + %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 @.str1185) + %t175 = load ptr, ptr %t174 + call void @fn_emit(ptr %t175) + call void @fn_emit(ptr @.str1186) + %t176 = call ptr @fn_val(ptr @.str1187, ptr @.str1188) + store ptr %t176, ptr %retval + br label %ret +ifend53: + %t177 = load ptr, ptr %t0 + %t178 = call i32 @lp_str_eq(ptr %t177, ptr @.str1189) + %t179 = icmp ne i32 %t178, 0 + br i1 %t179, label %then54, label %ifend56 +then54: + %t180 = load ptr, ptr %t1 + %t181 = call ptr @fn_arg_code(ptr %t180, i32 0) + store ptr %t181, ptr %t182 + call void @fn_emit(ptr @.str1190) + %t183 = load ptr, ptr %t182 + call void @fn_emit(ptr %t183) + call void @fn_emit(ptr @.str1191) + %t184 = call ptr @fn_val(ptr @.str1192, ptr @.str1193) + store ptr %t184, ptr %retval + br label %ret +ifend56: + %t185 = load ptr, ptr %t0 + %t186 = call i32 @lp_str_eq(ptr %t185, ptr @.str1194) + %t187 = icmp ne i32 %t186, 0 + br i1 %t187, label %then57, label %ifend59 +then57: + %t188 = load ptr, ptr %t1 + %t189 = call ptr @fn_arg_code(ptr %t188, i32 0) + store ptr %t189, ptr %t190 + %t191 = load ptr, ptr %t190 + %t192 = call ptr @lp_str_concat(ptr @.str1195, ptr %t191) + %t193 = call ptr @lp_str_concat(ptr %t192, ptr @.str1196) + %t194 = call ptr @fn_emit_bind(ptr %t193) + %t195 = call ptr @fn_val(ptr %t194, ptr @.str1197) + store ptr %t195, ptr %retval + br label %ret +ifend59: + %t196 = load ptr, ptr %t0 + %t197 = call i32 @lp_str_eq(ptr %t196, ptr @.str1198) + %t198 = icmp ne i32 %t197, 0 + br i1 %t198, label %then60, label %ifend62 +then60: + %t199 = load ptr, ptr %t1 + %t200 = call ptr @fn_arg_code(ptr %t199, i32 0) + store ptr %t200, ptr %t201 + %t202 = load ptr, ptr %t1 + %t203 = call ptr @fn_arg_code(ptr %t202, i32 1) + store ptr %t203, ptr %t204 + %t205 = load ptr, ptr %t1 + %t206 = call ptr @fn_arg_code(ptr %t205, i32 2) + store ptr %t206, ptr %t207 + %t208 = load ptr, ptr %t1 + %t209 = call ptr @fn_arg_code(ptr %t208, i32 3) + store ptr %t209, ptr %t210 + call void @fn_emit(ptr @.str1199) + %t211 = load ptr, ptr %t201 + call void @fn_emit(ptr %t211) + call void @fn_emit(ptr @.str1200) + %t212 = load ptr, ptr %t204 + call void @fn_emit(ptr %t212) + call void @fn_emit(ptr @.str1201) + %t213 = load ptr, ptr %t207 + call void @fn_emit(ptr %t213) + call void @fn_emit(ptr @.str1202) + %t214 = load ptr, ptr %t210 + call void @fn_emit(ptr %t214) + call void @fn_emit(ptr @.str1203) + %t215 = call ptr @fn_val(ptr @.str1204, ptr @.str1205) + store ptr %t215, ptr %retval + br label %ret +ifend62: + %t216 = load ptr, ptr %t0 + %t217 = call i32 @lp_str_eq(ptr %t216, ptr @.str1206) + %t218 = icmp ne i32 %t217, 0 + br i1 %t218, label %then63, label %ifend65 +then63: + %t219 = load ptr, ptr %t1 + %t220 = call ptr @fn_arg_code(ptr %t219, i32 0) + store ptr %t220, ptr %t221 + call void @fn_emit(ptr @.str1207) + %t222 = load ptr, ptr %t221 + call void @fn_emit(ptr %t222) + call void @fn_emit(ptr @.str1208) + %t223 = call ptr @fn_val(ptr @.str1209, ptr @.str1210) + store ptr %t223, ptr %retval + br label %ret +ifend65: + %t224 = load ptr, ptr %t0 + %t225 = call i32 @lp_str_eq(ptr %t224, ptr @.str1211) + %t226 = icmp ne i32 %t225, 0 + br i1 %t226, label %then66, label %ifend68 +then66: + %t227 = load ptr, ptr %t1 + %t228 = call ptr @fn_arg_code(ptr %t227, i32 0) + store ptr %t228, ptr %t229 + %t230 = load ptr, ptr %t229 + %t231 = call ptr @lp_str_concat(ptr @.str1212, ptr %t230) + %t232 = call ptr @lp_str_concat(ptr %t231, ptr @.str1213) + %t233 = call ptr @fn_emit_bind(ptr %t232) + %t234 = call ptr @fn_val(ptr %t233, ptr @.str1214) + store ptr %t234, ptr %retval + br label %ret +ifend68: + %t235 = load ptr, ptr %t0 + %t236 = call i32 @lp_str_eq(ptr %t235, ptr @.str1215) + %t237 = icmp ne i32 %t236, 0 + br i1 %t237, label %then69, label %ifend71 +then69: + %t238 = load ptr, ptr %t1 + %t239 = call ptr @fn_arg_code(ptr %t238, i32 0) + store ptr %t239, ptr %t240 + %t241 = load ptr, ptr %t1 + %t242 = call ptr @fn_arg_code(ptr %t241, i32 1) + store ptr %t242, ptr %t243 + call void @fn_emit(ptr @.str1216) + %t244 = load ptr, ptr %t240 + call void @fn_emit(ptr %t244) + call void @fn_emit(ptr @.str1217) + %t245 = load ptr, ptr %t243 + call void @fn_emit(ptr %t245) + call void @fn_emit(ptr @.str1218) + %t246 = call ptr @fn_val(ptr @.str1219, ptr @.str1220) + store ptr %t246, ptr %retval + br label %ret +ifend71: + %t247 = load ptr, ptr %t0 + %t248 = call i32 @lp_str_eq(ptr %t247, ptr @.str1221) + %t249 = icmp ne i32 %t248, 0 + br i1 %t249, label %then72, label %ifend74 +then72: + %t250 = load ptr, ptr %t1 + %t251 = call ptr @fn_arg_code(ptr %t250, i32 0) + store ptr %t251, ptr %t252 + %t253 = load ptr, ptr %t1 + %t254 = call ptr @fn_arg_code(ptr %t253, i32 1) + store ptr %t254, ptr %t255 + call void @fn_emit(ptr @.str1222) + %t256 = load ptr, ptr %t252 + call void @fn_emit(ptr %t256) + call void @fn_emit(ptr @.str1223) + %t257 = load ptr, ptr %t255 + call void @fn_emit(ptr %t257) + call void @fn_emit(ptr @.str1224) + %t258 = call ptr @fn_val(ptr @.str1225, ptr @.str1226) + store ptr %t258, ptr %retval + br label %ret +ifend74: + %t259 = load ptr, ptr %t0 + %t260 = call i32 @lp_str_eq(ptr %t259, ptr @.str1227) + %t261 = icmp ne i32 %t260, 0 + br i1 %t261, label %then75, label %ifend77 +then75: + %t262 = load ptr, ptr %t1 + %t263 = call ptr @fn_arg_code(ptr %t262, i32 0) + store ptr %t263, ptr %t264 + %t265 = load ptr, ptr %t1 + %t266 = call ptr @fn_arg_code(ptr %t265, i32 1) + store ptr %t266, ptr %t267 + call void @fn_emit(ptr @.str1228) + %t268 = load ptr, ptr %t264 + call void @fn_emit(ptr %t268) + call void @fn_emit(ptr @.str1229) + %t269 = load ptr, ptr %t267 + call void @fn_emit(ptr %t269) + call void @fn_emit(ptr @.str1230) + %t270 = call ptr @fn_val(ptr @.str1231, ptr @.str1232) + store ptr %t270, ptr %retval + br label %ret +ifend77: + %t271 = load ptr, ptr %t0 + %t272 = call i32 @lp_str_eq(ptr %t271, ptr @.str1233) + %t273 = icmp ne i32 %t272, 0 + br i1 %t273, label %then78, label %ifend80 +then78: + %t274 = load ptr, ptr %t1 + %t275 = call ptr @fn_arg_code(ptr %t274, i32 0) + store ptr %t275, ptr %t276 + %t277 = load ptr, ptr %t1 + %t278 = call ptr @fn_arg_code(ptr %t277, i32 1) + store ptr %t278, ptr %t279 + %t280 = load ptr, ptr %t276 + %t281 = call ptr @lp_str_concat(ptr @.str1234, ptr %t280) + %t282 = call ptr @lp_str_concat(ptr %t281, ptr @.str1235) + %t283 = load ptr, ptr %t279 + %t284 = call ptr @lp_str_concat(ptr %t282, ptr %t283) + %t285 = call ptr @lp_str_concat(ptr %t284, ptr @.str1236) + %t286 = call ptr @fn_emit_bind(ptr %t285) + %t287 = call ptr @fn_val(ptr %t286, ptr @.str1237) + store ptr %t287, ptr %retval + br label %ret +ifend80: + %t288 = load ptr, ptr %t0 + %t289 = call i32 @lp_str_eq(ptr %t288, ptr @.str1238) + %t290 = icmp ne i32 %t289, 0 + br i1 %t290, label %then81, label %ifend83 +then81: + %t291 = load ptr, ptr %t1 + %t292 = call ptr @fn_arg_code(ptr %t291, i32 0) + store ptr %t292, ptr %t293 + %t294 = load ptr, ptr %t1 + %t295 = call ptr @fn_arg_code(ptr %t294, i32 1) + store ptr %t295, ptr %t296 + %t297 = load ptr, ptr %t1 + %t298 = call ptr @fn_arg_code(ptr %t297, i32 2) + store ptr %t298, ptr %t299 + call void @fn_emit(ptr @.str1239) + %t300 = load ptr, ptr %t293 + call void @fn_emit(ptr %t300) + call void @fn_emit(ptr @.str1240) + %t301 = load ptr, ptr %t296 + call void @fn_emit(ptr %t301) + call void @fn_emit(ptr @.str1241) + %t302 = load ptr, ptr %t299 + call void @fn_emit(ptr %t302) + call void @fn_emit(ptr @.str1242) + %t303 = call ptr @fn_val(ptr @.str1243, ptr @.str1244) + store ptr %t303, ptr %retval + br label %ret +ifend83: + %t304 = load ptr, ptr %t0 + %t305 = call i32 @lp_str_eq(ptr %t304, ptr @.str1245) + %t306 = icmp ne i32 %t305, 0 + br i1 %t306, label %then84, label %ifend86 +then84: + %t307 = load ptr, ptr %t1 + %t308 = call ptr @fn_arg_code(ptr %t307, i32 0) + store ptr %t308, ptr %t309 + %t310 = load ptr, ptr %t1 + %t311 = call ptr @fn_arg_code(ptr %t310, i32 1) + store ptr %t311, ptr %t312 + %t313 = load ptr, ptr %t1 + %t314 = call ptr @fn_arg_code(ptr %t313, i32 2) + store ptr %t314, ptr %t315 + call void @fn_emit(ptr @.str1246) + %t316 = load ptr, ptr %t309 + call void @fn_emit(ptr %t316) + call void @fn_emit(ptr @.str1247) + %t317 = load ptr, ptr %t312 + call void @fn_emit(ptr %t317) + call void @fn_emit(ptr @.str1248) + %t318 = load ptr, ptr %t315 + call void @fn_emit(ptr %t318) + call void @fn_emit(ptr @.str1249) + %t319 = call ptr @fn_val(ptr @.str1250, ptr @.str1251) + store ptr %t319, ptr %retval + br label %ret +ifend86: + %t320 = load ptr, ptr %t0 + %t321 = call i32 @lp_str_eq(ptr %t320, ptr @.str1252) + %t322 = icmp ne i32 %t321, 0 + br i1 %t322, label %then87, label %ifend89 +then87: + %t323 = load ptr, ptr %t1 + %t324 = call ptr @fn_arg_code(ptr %t323, i32 0) + store ptr %t324, ptr %t325 + %t326 = load ptr, ptr %t1 + %t327 = call ptr @fn_arg_code(ptr %t326, i32 1) + store ptr %t327, ptr %t328 + call void @fn_emit(ptr @.str1253) + %t329 = load ptr, ptr %t325 + call void @fn_emit(ptr %t329) + call void @fn_emit(ptr @.str1254) + %t330 = load ptr, ptr %t328 + call void @fn_emit(ptr %t330) + call void @fn_emit(ptr @.str1255) + %t331 = call ptr @fn_val(ptr @.str1256, ptr @.str1257) + store ptr %t331, ptr %retval + br label %ret +ifend89: + %t332 = load ptr, ptr %t0 + %t333 = call i32 @lp_str_eq(ptr %t332, ptr @.str1258) + %t334 = icmp ne i32 %t333, 0 + br i1 %t334, label %then90, label %ifend92 +then90: + %t335 = load ptr, ptr %t1 + %t336 = call ptr @fn_arg_code(ptr %t335, i32 0) + store ptr %t336, ptr %t337 + %t338 = load ptr, ptr %t337 + %t339 = call ptr @lp_str_concat(ptr @.str1259, ptr %t338) + %t340 = call ptr @lp_str_concat(ptr %t339, ptr @.str1260) + %t341 = call ptr @fn_emit_bind(ptr %t340) + %t342 = call ptr @fn_val(ptr %t341, ptr @.str1261) + store ptr %t342, ptr %retval + br label %ret +ifend92: + %t343 = load ptr, ptr %t0 + %t344 = call i32 @lp_str_eq(ptr %t343, ptr @.str1262) + %t345 = icmp ne i32 %t344, 0 + br i1 %t345, label %then93, label %ifend95 +then93: + %t346 = load ptr, ptr %t1 + %t347 = call ptr @fn_arg_code(ptr %t346, i32 0) + store ptr %t347, ptr %t348 + %t349 = load ptr, ptr %t348 + %t350 = call ptr @lp_str_concat(ptr @.str1263, ptr %t349) + %t351 = call ptr @lp_str_concat(ptr %t350, ptr @.str1264) + %t352 = call ptr @fn_emit_bind(ptr %t351) + %t353 = call ptr @fn_val(ptr %t352, ptr @.str1265) + store ptr %t353, ptr %retval + br label %ret +ifend95: + %t354 = load ptr, ptr %t0 + %t355 = call i32 @lp_str_eq(ptr %t354, ptr @.str1266) + %t356 = icmp ne i32 %t355, 0 + br i1 %t356, label %then96, label %ifend98 +then96: + %t357 = load ptr, ptr %t1 + %t358 = call ptr @fn_arg_code(ptr %t357, i32 0) + store ptr %t358, ptr %t359 + %t360 = load ptr, ptr %t359 + %t361 = call ptr @lp_str_concat(ptr @.str1267, ptr %t360) + %t362 = call ptr @lp_str_concat(ptr %t361, ptr @.str1268) + %t363 = call ptr @fn_emit_bind(ptr %t362) + %t364 = call ptr @fn_val(ptr %t363, ptr @.str1269) + store ptr %t364, ptr %retval + br label %ret +ifend98: + %t365 = load ptr, ptr %t0 + %t366 = call i32 @lp_str_eq(ptr %t365, ptr @.str1270) + %t367 = icmp ne i32 %t366, 0 + br i1 %t367, label %then99, label %ifend101 +then99: + %t368 = load ptr, ptr %t1 + %t369 = call ptr @fn_arg_code(ptr %t368, i32 0) + store ptr %t369, ptr %t370 + %t371 = load ptr, ptr %t370 + %t372 = call ptr @lp_str_concat(ptr @.str1271, ptr %t371) + %t373 = call ptr @lp_str_concat(ptr %t372, ptr @.str1272) + %t374 = call ptr @fn_emit_bind(ptr %t373) + %t375 = call ptr @fn_val(ptr %t374, ptr @.str1273) + store ptr %t375, ptr %retval + br label %ret +ifend101: + %t376 = load ptr, ptr %t0 + %t377 = call i32 @lp_str_eq(ptr %t376, ptr @.str1274) + %t378 = icmp ne i32 %t377, 0 + br i1 %t378, label %then102, label %ifend104 +then102: + %t379 = load ptr, ptr %t1 + %t380 = call ptr @fn_arg_code(ptr %t379, i32 0) + store ptr %t380, ptr %t381 + %t382 = load ptr, ptr %t1 + %t383 = call ptr @fn_arg_code(ptr %t382, i32 1) + store ptr %t383, ptr %t384 + %t385 = load ptr, ptr %t381 + %t386 = call ptr @lp_str_concat(ptr @.str1275, ptr %t385) + %t387 = call ptr @lp_str_concat(ptr %t386, ptr @.str1276) + %t388 = load ptr, ptr %t384 + %t389 = call ptr @lp_str_concat(ptr %t387, ptr %t388) + %t390 = call ptr @lp_str_concat(ptr %t389, ptr @.str1277) + %t391 = call ptr @fn_emit_bind(ptr %t390) + %t392 = call ptr @fn_val(ptr %t391, ptr @.str1278) + store ptr %t392, ptr %retval + br label %ret +ifend104: + %t393 = load ptr, ptr %t0 + %t394 = call i32 @lp_str_eq(ptr %t393, ptr @.str1279) + %t395 = icmp ne i32 %t394, 0 + br i1 %t395, label %then105, label %ifend107 +then105: + %t396 = load ptr, ptr %t1 + %t397 = call ptr @fn_arg_code(ptr %t396, i32 0) + store ptr %t397, ptr %t398 + call void @fn_emit(ptr @.str1280) + %t399 = load ptr, ptr %t398 + call void @fn_emit(ptr %t399) + call void @fn_emit(ptr @.str1281) + %t400 = call ptr @fn_val(ptr @.str1282, ptr @.str1283) + store ptr %t400, ptr %retval + br label %ret +ifend107: + %t401 = call ptr @fn_val(ptr @.str1284, ptr @.str1285) + store ptr %t401, ptr %retval + br label %ret +ret: + %t402 = load ptr, ptr %retval + ret ptr %t402 +} + +define i32 @fn_is_math_builtin(ptr %arg_name) { +entry: + %retval = alloca i32 + %t0 = alloca ptr + %t1 = alloca i32 + %t2 = alloca i32 + %t3 = alloca i32 + store ptr %arg_name, ptr %t0 + %t4 = load ptr, ptr %t0 + %t5 = call i32 @lp_str_eq(ptr %t4, ptr @.str1286) + %t6 = icmp ne i32 %t5, 0 + %t7 = zext i1 %t6 to i32 + store i32 %t7, ptr %t3 + br i1 %t6, label %scend1, label %sc0 +sc0: + %t8 = load ptr, ptr %t0 + %t9 = call i32 @lp_str_eq(ptr %t8, ptr @.str1287) + %t10 = icmp ne i32 %t9, 0 + %t11 = zext i1 %t10 to i32 + store i32 %t11, ptr %t3 + br label %scend1 +scend1: + %t12 = load i32, ptr %t3 + %t13 = icmp ne i32 %t12, 0 + %t14 = zext i1 %t13 to i32 + store i32 %t14, ptr %t2 + br i1 %t13, label %scend3, label %sc2 +sc2: + %t15 = load ptr, ptr %t0 + %t16 = call i32 @lp_str_eq(ptr %t15, ptr @.str1288) + %t17 = icmp ne i32 %t16, 0 + %t18 = zext i1 %t17 to i32 + store i32 %t18, ptr %t2 + br label %scend3 +scend3: + %t19 = load i32, ptr %t2 + %t20 = icmp ne i32 %t19, 0 + %t21 = zext i1 %t20 to i32 + store i32 %t21, ptr %t1 + br i1 %t20, label %scend5, label %sc4 +sc4: + %t22 = load ptr, ptr %t0 + %t23 = call i32 @lp_str_eq(ptr %t22, ptr @.str1289) + %t24 = icmp ne i32 %t23, 0 + %t25 = zext i1 %t24 to i32 + store i32 %t25, ptr %t1 + br label %scend5 +scend5: + %t26 = load i32, ptr %t1 + store i32 %t26, ptr %retval + br label %ret +ret: + %t27 = load i32, ptr %retval + ret i32 %t27 +} + +define ptr @fn_emit_math_builtin(ptr %arg_name, ptr %arg_e) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t1 = alloca ptr + %t13 = alloca ptr + %t20 = alloca ptr + %t26 = alloca ptr + %t42 = alloca i32 + %t61 = alloca ptr + %t70 = alloca ptr + %t71 = alloca ptr + %t88 = alloca ptr + %t114 = alloca ptr + %t123 = alloca ptr + %t132 = alloca ptr + %t143 = alloca ptr + %t157 = alloca ptr + %t166 = alloca ptr + store ptr %arg_name, ptr %t0 + store ptr %arg_e, ptr %t1 + %t2 = load ptr, ptr %t0 + %t3 = call i32 @lp_str_eq(ptr %t2, ptr @.str1290) + %t4 = icmp ne i32 %t3, 0 + br i1 %t4, label %then0, label %ifend2 +then0: + %t5 = load ptr, ptr %t1 + %t6 = getelementptr inbounds %Cmp_Node, ptr %t5, i32 0, i32 7 + %t7 = load ptr, ptr %t6 + %t8 = getelementptr inbounds %LSlice, ptr %t7, i32 0, i32 0 + %t9 = load ptr, ptr %t8 + %t10 = getelementptr inbounds ptr, ptr %t9, i32 0 + %t11 = load ptr, ptr %t10 + %t12 = call ptr @fn_emit_expr(ptr %t11) + store ptr %t12, ptr %t13 + %t14 = load ptr, ptr %t13 + %t15 = getelementptr inbounds %Cmp_Val, ptr %t14, i32 0, i32 0 + %t16 = load ptr, ptr %t15 + %t17 = call ptr @lp_str_concat(ptr @.str1291, ptr %t16) + %t18 = call ptr @lp_str_concat(ptr %t17, ptr @.str1292) + %t19 = call ptr @fn_emit_bind(ptr %t18) + store ptr %t19, ptr %t20 + %t21 = load ptr, ptr %t13 + %t22 = getelementptr inbounds %Cmp_Val, ptr %t21, i32 0, i32 0 + %t23 = load ptr, ptr %t22 + %t24 = call ptr @lp_str_concat(ptr @.str1293, ptr %t23) + %t25 = call ptr @fn_emit_bind(ptr %t24) + store ptr %t25, ptr %t26 + %t27 = load ptr, ptr %t20 + %t28 = call ptr @lp_str_concat(ptr @.str1294, ptr %t27) + %t29 = call ptr @lp_str_concat(ptr %t28, ptr @.str1295) + %t30 = load ptr, ptr %t26 + %t31 = call ptr @lp_str_concat(ptr %t29, ptr %t30) + %t32 = call ptr @lp_str_concat(ptr %t31, ptr @.str1296) + %t33 = load ptr, ptr %t13 + %t34 = getelementptr inbounds %Cmp_Val, ptr %t33, i32 0, i32 0 + %t35 = load ptr, ptr %t34 + %t36 = call ptr @lp_str_concat(ptr %t32, ptr %t35) + %t37 = call ptr @fn_emit_bind(ptr %t36) + %t38 = load ptr, ptr %t13 + %t39 = getelementptr inbounds %Cmp_Val, ptr %t38, i32 0, i32 1 + %t40 = load ptr, ptr %t39 + %t41 = call ptr @fn_val(ptr %t37, ptr %t40) + store ptr %t41, ptr %retval + br label %ret +ifend2: + %t43 = load ptr, ptr %t0 + %t44 = call i32 @lp_str_eq(ptr %t43, ptr @.str1297) + %t45 = icmp ne i32 %t44, 0 + %t46 = zext i1 %t45 to i32 + store i32 %t46, ptr %t42 + br i1 %t45, label %scend4, label %sc3 +sc3: + %t47 = load ptr, ptr %t0 + %t48 = call i32 @lp_str_eq(ptr %t47, ptr @.str1298) + %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 @.str1299, ptr %t71 + %t72 = load ptr, ptr %t0 + %t73 = call i32 @lp_str_eq(ptr %t72, ptr @.str1300) + %t74 = icmp ne i32 %t73, 0 + br i1 %t74, label %then8, label %ifend10 +then8: + store ptr @.str1301, ptr %t71 + br label %ifend10 +ifend10: + %t75 = load ptr, ptr %t71 + %t76 = call ptr @lp_str_concat(ptr @.str1302, ptr %t75) + %t77 = call ptr @lp_str_concat(ptr %t76, ptr @.str1303) + %t78 = load ptr, ptr %t61 + %t79 = getelementptr inbounds %Cmp_Val, ptr %t78, i32 0, i32 0 + %t80 = load ptr, ptr %t79 + %t81 = call ptr @lp_str_concat(ptr %t77, ptr %t80) + %t82 = call ptr @lp_str_concat(ptr %t81, ptr @.str1304) + %t83 = load ptr, ptr %t70 + %t84 = getelementptr inbounds %Cmp_Val, ptr %t83, i32 0, i32 0 + %t85 = load ptr, ptr %t84 + %t86 = call ptr @lp_str_concat(ptr %t82, ptr %t85) + %t87 = call ptr @fn_emit_bind(ptr %t86) + store ptr %t87, ptr %t88 + %t89 = load ptr, ptr %t88 + %t90 = call ptr @lp_str_concat(ptr @.str1305, ptr %t89) + %t91 = call ptr @lp_str_concat(ptr %t90, ptr @.str1306) + %t92 = load ptr, ptr %t61 + %t93 = getelementptr inbounds %Cmp_Val, ptr %t92, i32 0, i32 0 + %t94 = load ptr, ptr %t93 + %t95 = call ptr @lp_str_concat(ptr %t91, ptr %t94) + %t96 = call ptr @lp_str_concat(ptr %t95, ptr @.str1307) + %t97 = load ptr, ptr %t70 + %t98 = getelementptr inbounds %Cmp_Val, ptr %t97, i32 0, i32 0 + %t99 = load ptr, ptr %t98 + %t100 = call ptr @lp_str_concat(ptr %t96, ptr %t99) + %t101 = call ptr @fn_emit_bind(ptr %t100) + %t102 = load ptr, ptr %t61 + %t103 = getelementptr inbounds %Cmp_Val, ptr %t102, i32 0, i32 1 + %t104 = load ptr, ptr %t103 + %t105 = call ptr @fn_val(ptr %t101, ptr %t104) + store ptr %t105, ptr %retval + br label %ret +ifend7: + %t106 = load ptr, ptr %t1 + %t107 = getelementptr inbounds %Cmp_Node, ptr %t106, i32 0, i32 7 + %t108 = load ptr, ptr %t107 + %t109 = getelementptr inbounds %LSlice, ptr %t108, i32 0, i32 0 + %t110 = load ptr, ptr %t109 + %t111 = getelementptr inbounds ptr, ptr %t110, i32 0 + %t112 = load ptr, ptr %t111 + %t113 = call ptr @fn_emit_expr(ptr %t112) + store ptr %t113, ptr %t114 + %t115 = load ptr, ptr %t1 + %t116 = getelementptr inbounds %Cmp_Node, ptr %t115, i32 0, i32 7 + %t117 = load ptr, ptr %t116 + %t118 = getelementptr inbounds %LSlice, ptr %t117, i32 0, i32 0 + %t119 = load ptr, ptr %t118 + %t120 = getelementptr inbounds ptr, ptr %t119, i32 1 + %t121 = load ptr, ptr %t120 + %t122 = call ptr @fn_emit_expr(ptr %t121) + store ptr %t122, ptr %t123 + %t124 = load ptr, ptr %t1 + %t125 = getelementptr inbounds %Cmp_Node, ptr %t124, i32 0, i32 7 + %t126 = load ptr, ptr %t125 + %t127 = getelementptr inbounds %LSlice, ptr %t126, i32 0, i32 0 + %t128 = load ptr, ptr %t127 + %t129 = getelementptr inbounds ptr, ptr %t128, i32 2 + %t130 = load ptr, ptr %t129 + %t131 = call ptr @fn_emit_expr(ptr %t130) + store ptr %t131, ptr %t132 + %t133 = load ptr, ptr %t114 + %t134 = getelementptr inbounds %Cmp_Val, ptr %t133, i32 0, i32 0 + %t135 = load ptr, ptr %t134 + %t136 = call ptr @lp_str_concat(ptr @.str1308, ptr %t135) + %t137 = call ptr @lp_str_concat(ptr %t136, ptr @.str1309) + %t138 = load ptr, ptr %t132 + %t139 = getelementptr inbounds %Cmp_Val, ptr %t138, i32 0, i32 0 + %t140 = load ptr, ptr %t139 + %t141 = call ptr @lp_str_concat(ptr %t137, ptr %t140) + %t142 = call ptr @fn_emit_bind(ptr %t141) + store ptr %t142, ptr %t143 + %t144 = load ptr, ptr %t143 + %t145 = call ptr @lp_str_concat(ptr @.str1310, ptr %t144) + %t146 = call ptr @lp_str_concat(ptr %t145, ptr @.str1311) + %t147 = load ptr, ptr %t114 + %t148 = getelementptr inbounds %Cmp_Val, ptr %t147, i32 0, i32 0 + %t149 = load ptr, ptr %t148 + %t150 = call ptr @lp_str_concat(ptr %t146, ptr %t149) + %t151 = call ptr @lp_str_concat(ptr %t150, ptr @.str1312) + %t152 = load ptr, ptr %t132 + %t153 = getelementptr inbounds %Cmp_Val, ptr %t152, i32 0, i32 0 + %t154 = load ptr, ptr %t153 + %t155 = call ptr @lp_str_concat(ptr %t151, ptr %t154) + %t156 = call ptr @fn_emit_bind(ptr %t155) + store ptr %t156, ptr %t157 + %t158 = load ptr, ptr %t123 + %t159 = getelementptr inbounds %Cmp_Val, ptr %t158, i32 0, i32 0 + %t160 = load ptr, ptr %t159 + %t161 = call ptr @lp_str_concat(ptr @.str1313, ptr %t160) + %t162 = call ptr @lp_str_concat(ptr %t161, ptr @.str1314) + %t163 = load ptr, ptr %t157 + %t164 = call ptr @lp_str_concat(ptr %t162, ptr %t163) + %t165 = call ptr @fn_emit_bind(ptr %t164) + store ptr %t165, ptr %t166 + %t167 = load ptr, ptr %t166 + %t168 = call ptr @lp_str_concat(ptr @.str1315, ptr %t167) + %t169 = call ptr @lp_str_concat(ptr %t168, ptr @.str1316) + %t170 = load ptr, ptr %t123 + %t171 = getelementptr inbounds %Cmp_Val, ptr %t170, i32 0, i32 0 + %t172 = load ptr, ptr %t171 + %t173 = call ptr @lp_str_concat(ptr %t169, ptr %t172) + %t174 = call ptr @lp_str_concat(ptr %t173, ptr @.str1317) + %t175 = load ptr, ptr %t157 + %t176 = call ptr @lp_str_concat(ptr %t174, ptr %t175) + %t177 = call ptr @fn_emit_bind(ptr %t176) + %t178 = load ptr, ptr %t114 + %t179 = getelementptr inbounds %Cmp_Val, ptr %t178, i32 0, i32 1 + %t180 = load ptr, ptr %t179 + %t181 = call ptr @fn_val(ptr %t177, ptr %t180) + store ptr %t181, ptr %retval + br label %ret +ret: + %t182 = load ptr, ptr %retval + ret ptr %t182 +} + +define ptr @fn_fx_mul_code(ptr %arg_a, ptr %arg_b) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t1 = alloca ptr + %t6 = alloca ptr + %t11 = alloca ptr + %t18 = alloca ptr + %t23 = alloca ptr + store ptr %arg_a, ptr %t0 + store ptr %arg_b, ptr %t1 + %t2 = load ptr, ptr %t0 + %t3 = call ptr @lp_str_concat(ptr @.str1318, ptr %t2) + %t4 = call ptr @lp_str_concat(ptr %t3, ptr @.str1319) + %t5 = call ptr @fn_emit_bind(ptr %t4) + store ptr %t5, ptr %t6 + %t7 = load ptr, ptr %t1 + %t8 = call ptr @lp_str_concat(ptr @.str1320, ptr %t7) + %t9 = call ptr @lp_str_concat(ptr %t8, ptr @.str1321) + %t10 = call ptr @fn_emit_bind(ptr %t9) + store ptr %t10, ptr %t11 + %t12 = load ptr, ptr %t6 + %t13 = call ptr @lp_str_concat(ptr @.str1322, ptr %t12) + %t14 = call ptr @lp_str_concat(ptr %t13, ptr @.str1323) + %t15 = load ptr, ptr %t11 + %t16 = call ptr @lp_str_concat(ptr %t14, ptr %t15) + %t17 = call ptr @fn_emit_bind(ptr %t16) + store ptr %t17, ptr %t18 + %t19 = load ptr, ptr %t18 + %t20 = call ptr @lp_str_concat(ptr @.str1324, ptr %t19) + %t21 = call ptr @lp_str_concat(ptr %t20, ptr @.str1325) + %t22 = call ptr @fn_emit_bind(ptr %t21) + store ptr %t22, ptr %t23 + %t24 = load ptr, ptr %t23 + %t25 = call ptr @lp_str_concat(ptr @.str1326, ptr %t24) + %t26 = call ptr @lp_str_concat(ptr %t25, ptr @.str1327) + %t27 = call ptr @fn_emit_bind(ptr %t26) + store ptr %t27, ptr %retval + br label %ret +ret: + %t28 = load ptr, ptr %retval + ret ptr %t28 +} + +define ptr @fn_fx_div_code(ptr %arg_a, ptr %arg_b) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t1 = alloca ptr + %t6 = alloca ptr + %t11 = alloca ptr + %t16 = alloca ptr + %t23 = alloca ptr + store ptr %arg_a, ptr %t0 + store ptr %arg_b, ptr %t1 + %t2 = load ptr, ptr %t0 + %t3 = call ptr @lp_str_concat(ptr @.str1328, ptr %t2) + %t4 = call ptr @lp_str_concat(ptr %t3, ptr @.str1329) + %t5 = call ptr @fn_emit_bind(ptr %t4) + store ptr %t5, ptr %t6 + %t7 = load ptr, ptr %t6 + %t8 = call ptr @lp_str_concat(ptr @.str1330, ptr %t7) + %t9 = call ptr @lp_str_concat(ptr %t8, ptr @.str1331) + %t10 = call ptr @fn_emit_bind(ptr %t9) + store ptr %t10, ptr %t11 + %t12 = load ptr, ptr %t1 + %t13 = call ptr @lp_str_concat(ptr @.str1332, ptr %t12) + %t14 = call ptr @lp_str_concat(ptr %t13, ptr @.str1333) + %t15 = call ptr @fn_emit_bind(ptr %t14) + store ptr %t15, ptr %t16 + %t17 = load ptr, ptr %t11 + %t18 = call ptr @lp_str_concat(ptr @.str1334, ptr %t17) + %t19 = call ptr @lp_str_concat(ptr %t18, ptr @.str1335) + %t20 = load ptr, ptr %t16 + %t21 = call ptr @lp_str_concat(ptr %t19, ptr %t20) + %t22 = call ptr @fn_emit_bind(ptr %t21) + store ptr %t22, ptr %t23 + %t24 = load ptr, ptr %t23 + %t25 = call ptr @lp_str_concat(ptr @.str1336, ptr %t24) + %t26 = call ptr @lp_str_concat(ptr %t25, ptr @.str1337) + %t27 = call ptr @fn_emit_bind(ptr %t26) + store ptr %t27, ptr %retval + br label %ret +ret: + %t28 = load ptr, ptr %retval + ret ptr %t28 +} + +define ptr @fn_fx_lerp_code(ptr %arg_a, ptr %arg_b, ptr %arg_t) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t1 = alloca ptr + %t2 = alloca ptr + %t9 = alloca ptr + %t13 = alloca ptr + store ptr %arg_a, ptr %t0 + store ptr %arg_b, ptr %t1 + store ptr %arg_t, ptr %t2 + %t3 = load ptr, ptr %t1 + %t4 = call ptr @lp_str_concat(ptr @.str1338, ptr %t3) + %t5 = call ptr @lp_str_concat(ptr %t4, ptr @.str1339) + %t6 = load ptr, ptr %t0 + %t7 = call ptr @lp_str_concat(ptr %t5, ptr %t6) + %t8 = call ptr @fn_emit_bind(ptr %t7) + store ptr %t8, ptr %t9 + %t10 = load ptr, ptr %t9 + %t11 = load ptr, ptr %t2 + %t12 = call ptr @fn_fx_mul_code(ptr %t10, ptr %t11) + store ptr %t12, ptr %t13 + %t14 = load ptr, ptr %t0 + %t15 = call ptr @lp_str_concat(ptr @.str1340, ptr %t14) + %t16 = call ptr @lp_str_concat(ptr %t15, ptr @.str1341) + %t17 = load ptr, ptr %t13 + %t18 = call ptr @lp_str_concat(ptr %t16, ptr %t17) + %t19 = call ptr @fn_emit_bind(ptr %t18) + store ptr %t19, ptr %retval + br label %ret +ret: + %t20 = load ptr, ptr %retval + ret ptr %t20 +} + +define ptr @fn_fx_inv_lerp_code(ptr %arg_a, ptr %arg_b, ptr %arg_v) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t1 = alloca ptr + %t2 = alloca ptr + %t9 = alloca ptr + %t16 = alloca ptr + store ptr %arg_a, ptr %t0 + store ptr %arg_b, ptr %t1 + store ptr %arg_v, ptr %t2 + %t3 = load ptr, ptr %t2 + %t4 = call ptr @lp_str_concat(ptr @.str1342, ptr %t3) + %t5 = call ptr @lp_str_concat(ptr %t4, ptr @.str1343) + %t6 = load ptr, ptr %t0 + %t7 = call ptr @lp_str_concat(ptr %t5, ptr %t6) + %t8 = call ptr @fn_emit_bind(ptr %t7) + store ptr %t8, ptr %t9 + %t10 = load ptr, ptr %t1 + %t11 = call ptr @lp_str_concat(ptr @.str1344, ptr %t10) + %t12 = call ptr @lp_str_concat(ptr %t11, ptr @.str1345) + %t13 = load ptr, ptr %t0 + %t14 = call ptr @lp_str_concat(ptr %t12, ptr %t13) + %t15 = call ptr @fn_emit_bind(ptr %t14) + store ptr %t15, ptr %t16 + %t17 = load ptr, ptr %t9 + %t18 = load ptr, ptr %t16 + %t19 = call ptr @fn_fx_div_code(ptr %t17, ptr %t18) + store ptr %t19, ptr %retval + br label %ret +ret: + %t20 = load ptr, ptr %retval + ret ptr %t20 +} + +define i32 @fn_is_math_ns(ptr %arg_meth) { +entry: + %retval = alloca i32 + %t0 = alloca ptr + %t1 = alloca i32 + %t2 = alloca i32 + %t3 = alloca i32 + %t28 = alloca i32 + %t29 = alloca i32 + %t30 = alloca i32 + %t55 = alloca i32 + %t56 = alloca i32 + %t74 = alloca i32 + %t75 = alloca i32 + %t76 = alloca i32 + %t77 = alloca i32 + %t109 = alloca i32 + %t110 = alloca i32 + %t128 = alloca i32 + %t129 = alloca i32 + %t130 = alloca i32 + %t155 = alloca i32 + %t156 = alloca i32 + %t157 = alloca i32 + %t182 = alloca i32 + %t193 = alloca i32 + %t194 = alloca i32 + store ptr %arg_meth, ptr %t0 + %t4 = load ptr, ptr %t0 + %t5 = call i32 @lp_str_eq(ptr %t4, ptr @.str1346) + %t6 = icmp ne i32 %t5, 0 + %t7 = zext i1 %t6 to i32 + store i32 %t7, ptr %t3 + br i1 %t6, label %scend1, label %sc0 +sc0: + %t8 = load ptr, ptr %t0 + %t9 = call i32 @lp_str_eq(ptr %t8, ptr @.str1347) + %t10 = icmp ne i32 %t9, 0 + %t11 = zext i1 %t10 to i32 + store i32 %t11, ptr %t3 + br label %scend1 +scend1: + %t12 = load i32, ptr %t3 + %t13 = icmp ne i32 %t12, 0 + %t14 = zext i1 %t13 to i32 + store i32 %t14, ptr %t2 + br i1 %t13, label %scend3, label %sc2 +sc2: + %t15 = load ptr, ptr %t0 + %t16 = call i32 @lp_str_eq(ptr %t15, ptr @.str1348) + %t17 = icmp ne i32 %t16, 0 + %t18 = zext i1 %t17 to i32 + store i32 %t18, ptr %t2 + br label %scend3 +scend3: + %t19 = load i32, ptr %t2 + %t20 = icmp ne i32 %t19, 0 + %t21 = zext i1 %t20 to i32 + store i32 %t21, ptr %t1 + br i1 %t20, label %scend5, label %sc4 +sc4: + %t22 = load ptr, ptr %t0 + %t23 = call i32 @lp_str_eq(ptr %t22, ptr @.str1349) + %t24 = icmp ne i32 %t23, 0 + %t25 = zext i1 %t24 to i32 + store i32 %t25, ptr %t1 + br label %scend5 +scend5: + %t26 = load i32, ptr %t1 + %t27 = icmp ne i32 %t26, 0 + br i1 %t27, label %then6, label %ifend8 +then6: + store i32 1, ptr %retval + br label %ret +ifend8: + %t31 = load ptr, ptr %t0 + %t32 = call i32 @lp_str_eq(ptr %t31, ptr @.str1350) + %t33 = icmp ne i32 %t32, 0 + %t34 = zext i1 %t33 to i32 + store i32 %t34, ptr %t30 + br i1 %t33, label %scend10, label %sc9 +sc9: + %t35 = load ptr, ptr %t0 + %t36 = call i32 @lp_str_eq(ptr %t35, ptr @.str1351) + %t37 = icmp ne i32 %t36, 0 + %t38 = zext i1 %t37 to i32 + store i32 %t38, ptr %t30 + br label %scend10 +scend10: + %t39 = load i32, ptr %t30 + %t40 = icmp ne i32 %t39, 0 + %t41 = zext i1 %t40 to i32 + store i32 %t41, ptr %t29 + br i1 %t40, label %scend12, label %sc11 +sc11: + %t42 = load ptr, ptr %t0 + %t43 = call i32 @lp_str_eq(ptr %t42, ptr @.str1352) + %t44 = icmp ne i32 %t43, 0 + %t45 = zext i1 %t44 to i32 + store i32 %t45, ptr %t29 + br label %scend12 +scend12: + %t46 = load i32, ptr %t29 + %t47 = icmp ne i32 %t46, 0 + %t48 = zext i1 %t47 to i32 + store i32 %t48, ptr %t28 + br i1 %t47, label %scend14, label %sc13 +sc13: + %t49 = load ptr, ptr %t0 + %t50 = call i32 @lp_str_eq(ptr %t49, ptr @.str1353) + %t51 = icmp ne i32 %t50, 0 + %t52 = zext i1 %t51 to i32 + store i32 %t52, ptr %t28 + br label %scend14 +scend14: + %t53 = load i32, ptr %t28 + %t54 = icmp ne i32 %t53, 0 + br i1 %t54, label %then15, label %ifend17 +then15: + store i32 1, ptr %retval + br label %ret +ifend17: + %t57 = load ptr, ptr %t0 + %t58 = call i32 @lp_str_eq(ptr %t57, ptr @.str1354) + %t59 = icmp ne i32 %t58, 0 + %t60 = zext i1 %t59 to i32 + store i32 %t60, ptr %t56 + br i1 %t59, label %scend19, label %sc18 +sc18: + %t61 = load ptr, ptr %t0 + %t62 = call i32 @lp_str_eq(ptr %t61, ptr @.str1355) + %t63 = icmp ne i32 %t62, 0 + %t64 = zext i1 %t63 to i32 + store i32 %t64, ptr %t56 + br label %scend19 +scend19: + %t65 = load i32, ptr %t56 + %t66 = icmp ne i32 %t65, 0 + %t67 = zext i1 %t66 to i32 + store i32 %t67, ptr %t55 + br i1 %t66, label %scend21, label %sc20 +sc20: + %t68 = load ptr, ptr %t0 + %t69 = call i32 @lp_str_eq(ptr %t68, ptr @.str1356) + %t70 = icmp ne i32 %t69, 0 + %t71 = zext i1 %t70 to i32 + store i32 %t71, ptr %t55 + br label %scend21 +scend21: + %t72 = load i32, ptr %t55 + %t73 = icmp ne i32 %t72, 0 + br i1 %t73, label %then22, label %ifend24 +then22: + store i32 1, ptr %retval + br label %ret +ifend24: + %t78 = load ptr, ptr %t0 + %t79 = call i32 @lp_str_eq(ptr %t78, ptr @.str1357) + %t80 = icmp ne i32 %t79, 0 + %t81 = zext i1 %t80 to i32 + store i32 %t81, ptr %t77 + br i1 %t80, label %scend26, label %sc25 +sc25: + %t82 = load ptr, ptr %t0 + %t83 = call i32 @lp_str_eq(ptr %t82, ptr @.str1358) + %t84 = icmp ne i32 %t83, 0 + %t85 = zext i1 %t84 to i32 + store i32 %t85, ptr %t77 + br label %scend26 +scend26: + %t86 = load i32, ptr %t77 + %t87 = icmp ne i32 %t86, 0 + %t88 = zext i1 %t87 to i32 + store i32 %t88, ptr %t76 + br i1 %t87, label %scend28, label %sc27 +sc27: + %t89 = load ptr, ptr %t0 + %t90 = call i32 @lp_str_eq(ptr %t89, ptr @.str1359) + %t91 = icmp ne i32 %t90, 0 + %t92 = zext i1 %t91 to i32 + store i32 %t92, ptr %t76 + br label %scend28 +scend28: + %t93 = load i32, ptr %t76 + %t94 = icmp ne i32 %t93, 0 + %t95 = zext i1 %t94 to i32 + store i32 %t95, ptr %t75 + br i1 %t94, label %scend30, label %sc29 +sc29: + %t96 = load ptr, ptr %t0 + %t97 = call i32 @lp_str_eq(ptr %t96, ptr @.str1360) + %t98 = icmp ne i32 %t97, 0 + %t99 = zext i1 %t98 to i32 + store i32 %t99, ptr %t75 + br label %scend30 +scend30: + %t100 = load i32, ptr %t75 + %t101 = icmp ne i32 %t100, 0 + %t102 = zext i1 %t101 to i32 + store i32 %t102, ptr %t74 + br i1 %t101, label %scend32, label %sc31 +sc31: + %t103 = load ptr, ptr %t0 + %t104 = call i32 @lp_str_eq(ptr %t103, ptr @.str1361) + %t105 = icmp ne i32 %t104, 0 + %t106 = zext i1 %t105 to i32 + store i32 %t106, ptr %t74 + br label %scend32 +scend32: + %t107 = load i32, ptr %t74 + %t108 = icmp ne i32 %t107, 0 + br i1 %t108, label %then33, label %ifend35 +then33: + store i32 1, ptr %retval + br label %ret +ifend35: + %t111 = load ptr, ptr %t0 + %t112 = call i32 @lp_str_eq(ptr %t111, ptr @.str1362) + %t113 = icmp ne i32 %t112, 0 + %t114 = zext i1 %t113 to i32 + store i32 %t114, ptr %t110 + br i1 %t113, label %scend37, label %sc36 +sc36: + %t115 = load ptr, ptr %t0 + %t116 = call i32 @lp_str_eq(ptr %t115, ptr @.str1363) + %t117 = icmp ne i32 %t116, 0 + %t118 = zext i1 %t117 to i32 + store i32 %t118, ptr %t110 + br label %scend37 +scend37: + %t119 = load i32, ptr %t110 + %t120 = icmp ne i32 %t119, 0 + %t121 = zext i1 %t120 to i32 + store i32 %t121, ptr %t109 + br i1 %t120, label %scend39, label %sc38 +sc38: + %t122 = load ptr, ptr %t0 + %t123 = call i32 @lp_str_eq(ptr %t122, ptr @.str1364) + %t124 = icmp ne i32 %t123, 0 + %t125 = zext i1 %t124 to i32 + store i32 %t125, ptr %t109 + br label %scend39 +scend39: + %t126 = load i32, ptr %t109 + %t127 = icmp ne i32 %t126, 0 + br i1 %t127, label %then40, label %ifend42 +then40: + store i32 1, ptr %retval + br label %ret +ifend42: + %t131 = load ptr, ptr %t0 + %t132 = call i32 @lp_str_eq(ptr %t131, ptr @.str1365) + %t133 = icmp ne i32 %t132, 0 + %t134 = zext i1 %t133 to i32 + store i32 %t134, ptr %t130 + br i1 %t133, label %scend44, label %sc43 +sc43: + %t135 = load ptr, ptr %t0 + %t136 = call i32 @lp_str_eq(ptr %t135, ptr @.str1366) + %t137 = icmp ne i32 %t136, 0 + %t138 = zext i1 %t137 to i32 + store i32 %t138, ptr %t130 + br label %scend44 +scend44: + %t139 = load i32, ptr %t130 + %t140 = icmp ne i32 %t139, 0 + %t141 = zext i1 %t140 to i32 + store i32 %t141, ptr %t129 + br i1 %t140, label %scend46, label %sc45 +sc45: + %t142 = load ptr, ptr %t0 + %t143 = call i32 @lp_str_eq(ptr %t142, ptr @.str1367) + %t144 = icmp ne i32 %t143, 0 + %t145 = zext i1 %t144 to i32 + store i32 %t145, ptr %t129 + br label %scend46 +scend46: + %t146 = load i32, ptr %t129 + %t147 = icmp ne i32 %t146, 0 + %t148 = zext i1 %t147 to i32 + store i32 %t148, ptr %t128 + br i1 %t147, label %scend48, label %sc47 +sc47: + %t149 = load ptr, ptr %t0 + %t150 = call i32 @lp_str_eq(ptr %t149, ptr @.str1368) + %t151 = icmp ne i32 %t150, 0 + %t152 = zext i1 %t151 to i32 + store i32 %t152, ptr %t128 + br label %scend48 +scend48: + %t153 = load i32, ptr %t128 + %t154 = icmp ne i32 %t153, 0 + br i1 %t154, label %then49, label %ifend51 +then49: + store i32 1, ptr %retval + br label %ret +ifend51: + %t158 = load ptr, ptr %t0 + %t159 = call i32 @lp_str_eq(ptr %t158, ptr @.str1369) + %t160 = icmp ne i32 %t159, 0 + %t161 = zext i1 %t160 to i32 + store i32 %t161, ptr %t157 + br i1 %t160, label %scend53, label %sc52 +sc52: + %t162 = load ptr, ptr %t0 + %t163 = call i32 @lp_str_eq(ptr %t162, ptr @.str1370) + %t164 = icmp ne i32 %t163, 0 + %t165 = zext i1 %t164 to i32 + store i32 %t165, ptr %t157 + br label %scend53 +scend53: + %t166 = load i32, ptr %t157 + %t167 = icmp ne i32 %t166, 0 + %t168 = zext i1 %t167 to i32 + store i32 %t168, ptr %t156 + br i1 %t167, label %scend55, label %sc54 +sc54: + %t169 = load ptr, ptr %t0 + %t170 = call i32 @lp_str_eq(ptr %t169, ptr @.str1371) + %t171 = icmp ne i32 %t170, 0 + %t172 = zext i1 %t171 to i32 + store i32 %t172, ptr %t156 + br label %scend55 +scend55: + %t173 = load i32, ptr %t156 + %t174 = icmp ne i32 %t173, 0 + %t175 = zext i1 %t174 to i32 + store i32 %t175, ptr %t155 + br i1 %t174, label %scend57, label %sc56 +sc56: + %t176 = load ptr, ptr %t0 + %t177 = call i32 @lp_str_eq(ptr %t176, ptr @.str1372) + %t178 = icmp ne i32 %t177, 0 + %t179 = zext i1 %t178 to i32 + store i32 %t179, ptr %t155 + br label %scend57 +scend57: + %t180 = load i32, ptr %t155 + %t181 = icmp ne i32 %t180, 0 + br i1 %t181, label %then58, label %ifend60 +then58: + store i32 1, ptr %retval + br label %ret +ifend60: + %t183 = load ptr, ptr %t0 + %t184 = call i32 @lp_str_eq(ptr %t183, ptr @.str1373) + %t185 = icmp ne i32 %t184, 0 + %t186 = zext i1 %t185 to i32 + store i32 %t186, ptr %t182 + br i1 %t185, label %scend62, label %sc61 +sc61: + %t187 = load ptr, ptr %t0 + %t188 = call i32 @lp_str_eq(ptr %t187, ptr @.str1374) + %t189 = icmp ne i32 %t188, 0 + %t190 = zext i1 %t189 to i32 + store i32 %t190, ptr %t182 + br label %scend62 +scend62: + %t191 = load i32, ptr %t182 + %t192 = icmp ne i32 %t191, 0 + br i1 %t192, label %then63, label %ifend65 +then63: + store i32 1, ptr %retval + br label %ret +ifend65: + %t195 = load ptr, ptr %t0 + %t196 = call i32 @lp_str_eq(ptr %t195, ptr @.str1375) + %t197 = icmp ne i32 %t196, 0 + %t198 = zext i1 %t197 to i32 + store i32 %t198, ptr %t194 + br i1 %t197, label %scend67, label %sc66 +sc66: + %t199 = load ptr, ptr %t0 + %t200 = call i32 @lp_str_eq(ptr %t199, ptr @.str1376) + %t201 = icmp ne i32 %t200, 0 + %t202 = zext i1 %t201 to i32 + store i32 %t202, ptr %t194 + br label %scend67 +scend67: + %t203 = load i32, ptr %t194 + %t204 = icmp ne i32 %t203, 0 + %t205 = zext i1 %t204 to i32 + store i32 %t205, ptr %t193 + br i1 %t204, label %scend69, label %sc68 +sc68: + %t206 = load ptr, ptr %t0 + %t207 = call i32 @lp_str_eq(ptr %t206, ptr @.str1377) + %t208 = icmp ne i32 %t207, 0 + %t209 = zext i1 %t208 to i32 + store i32 %t209, ptr %t193 + br label %scend69 +scend69: + %t210 = load i32, ptr %t193 + %t211 = icmp ne i32 %t210, 0 + br i1 %t211, label %then70, label %ifend72 +then70: + store i32 1, ptr %retval + br label %ret +ifend72: + store i32 0, ptr %retval + br label %ret +ret: + %t212 = load i32, ptr %retval + ret i32 %t212 +} + +define ptr @fn_emit_math_ns(ptr %arg_meth, ptr %arg_e) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t1 = alloca ptr + %t2 = alloca i32 + %t3 = alloca i32 + %t4 = alloca i32 + %t43 = alloca ptr + %t50 = alloca ptr + %t57 = alloca ptr + %t62 = alloca ptr + %t81 = alloca ptr + %t100 = alloca ptr + %t107 = alloca ptr + %t124 = alloca ptr + %t131 = alloca ptr + %t148 = alloca ptr + %t157 = alloca ptr + %t166 = alloca ptr + %t189 = alloca ptr + %t198 = alloca ptr + %t207 = alloca ptr + %t230 = alloca ptr + %t249 = alloca ptr + %t268 = alloca ptr + %t275 = alloca ptr + %t292 = alloca ptr + %t299 = alloca ptr + %t306 = alloca ptr + %t311 = alloca ptr + %t327 = alloca ptr + %t336 = alloca ptr + %t360 = alloca ptr + %t368 = alloca ptr + %t372 = alloca ptr + %t377 = alloca ptr + %t399 = alloca ptr + %t407 = alloca ptr + %t411 = alloca ptr + %t416 = alloca ptr + %t438 = alloca ptr + %t447 = alloca ptr + %t455 = alloca ptr + %t463 = alloca ptr + %t470 = alloca ptr + %t487 = alloca ptr + %t496 = alloca ptr + %t505 = alloca ptr + %t514 = alloca ptr + %t525 = alloca ptr + %t536 = alloca ptr + %t540 = alloca ptr + %t544 = alloca ptr + %t563 = alloca ptr + %t572 = alloca ptr + %t581 = alloca ptr + %t590 = alloca ptr + %t601 = alloca ptr + %t612 = alloca ptr + %t616 = alloca ptr + %t620 = alloca ptr + %t627 = alloca ptr + %t644 = alloca ptr + %t649 = alloca ptr + %t666 = alloca ptr + %t673 = alloca ptr + %t688 = alloca ptr + %t697 = alloca ptr + %t704 = alloca ptr + %t710 = alloca ptr + %t727 = alloca ptr + %t744 = alloca ptr + %t761 = alloca ptr + %t770 = alloca ptr + %t781 = alloca ptr + %t790 = alloca ptr + %t811 = alloca ptr + %t820 = alloca ptr + %t829 = alloca ptr + %t840 = alloca ptr + %t851 = alloca ptr + %t858 = alloca ptr + %t865 = alloca ptr + %t872 = alloca ptr + %t893 = alloca ptr + %t902 = alloca ptr + %t909 = alloca ptr + %t918 = alloca ptr + %t925 = alloca ptr + %t932 = alloca ptr + %t941 = alloca ptr + %t945 = alloca ptr + %t950 = alloca ptr + %t960 = alloca ptr + %t981 = alloca ptr + %t990 = alloca ptr + %t998 = alloca ptr + %t1003 = alloca ptr + %t1008 = alloca ptr + %t1029 = alloca ptr + %t1038 = alloca ptr + %t1047 = alloca ptr + %t1058 = alloca ptr + %t1062 = alloca ptr + %t1067 = alloca ptr + %t1077 = alloca ptr + %t1082 = alloca ptr + %t1087 = alloca ptr + %t1092 = alloca ptr + %t1099 = alloca ptr + %t1108 = alloca ptr + %t1117 = alloca ptr + %t1126 = alloca ptr + %t1150 = alloca ptr + %t1159 = alloca ptr + %t1168 = alloca ptr + %t1179 = alloca ptr + %t1184 = alloca ptr + %t1191 = alloca ptr + %t1196 = alloca ptr + %t1203 = alloca ptr + %t1208 = alloca ptr + %t1212 = alloca ptr + %t1216 = alloca ptr + %t1229 = alloca ptr + %t1238 = alloca ptr + %t1247 = alloca ptr + %t1256 = alloca ptr + %t1265 = alloca ptr + %t1276 = alloca ptr + store ptr %arg_meth, ptr %t0 + store ptr %arg_e, ptr %t1 + %t5 = load ptr, ptr %t0 + %t6 = call i32 @lp_str_eq(ptr %t5, ptr @.str1378) + %t7 = icmp ne i32 %t6, 0 + %t8 = zext i1 %t7 to i32 + store i32 %t8, ptr %t4 + br i1 %t7, label %scend1, label %sc0 +sc0: + %t9 = load ptr, ptr %t0 + %t10 = call i32 @lp_str_eq(ptr %t9, ptr @.str1379) + %t11 = icmp ne i32 %t10, 0 + %t12 = zext i1 %t11 to i32 + store i32 %t12, ptr %t4 + br label %scend1 +scend1: + %t13 = load i32, ptr %t4 + %t14 = icmp ne i32 %t13, 0 + %t15 = zext i1 %t14 to i32 + store i32 %t15, ptr %t3 + br i1 %t14, label %scend3, label %sc2 +sc2: + %t16 = load ptr, ptr %t0 + %t17 = call i32 @lp_str_eq(ptr %t16, ptr @.str1380) + %t18 = icmp ne i32 %t17, 0 + %t19 = zext i1 %t18 to i32 + store i32 %t19, ptr %t3 + br label %scend3 +scend3: + %t20 = load i32, ptr %t3 + %t21 = icmp ne i32 %t20, 0 + %t22 = zext i1 %t21 to i32 + store i32 %t22, ptr %t2 + br i1 %t21, label %scend5, label %sc4 +sc4: + %t23 = load ptr, ptr %t0 + %t24 = call i32 @lp_str_eq(ptr %t23, ptr @.str1381) + %t25 = icmp ne i32 %t24, 0 + %t26 = zext i1 %t25 to i32 + store i32 %t26, ptr %t2 + br label %scend5 +scend5: + %t27 = load i32, ptr %t2 + %t28 = icmp ne i32 %t27, 0 + br i1 %t28, label %then6, label %ifend8 +then6: + %t29 = load ptr, ptr %t0 + %t30 = load ptr, ptr %t1 + %t31 = call ptr @fn_emit_math_builtin(ptr %t29, ptr %t30) + store ptr %t31, ptr %retval + br label %ret +ifend8: + %t32 = load ptr, ptr %t0 + %t33 = call i32 @lp_str_eq(ptr %t32, ptr @.str1382) + %t34 = icmp ne i32 %t33, 0 + br i1 %t34, label %then9, label %ifend11 +then9: + %t35 = load ptr, ptr %t1 + %t36 = getelementptr inbounds %Cmp_Node, ptr %t35, i32 0, i32 7 + %t37 = load ptr, ptr %t36 + %t38 = getelementptr inbounds %LSlice, ptr %t37, i32 0, i32 0 + %t39 = load ptr, ptr %t38 + %t40 = getelementptr inbounds ptr, ptr %t39, i32 0 + %t41 = load ptr, ptr %t40 + %t42 = call ptr @fn_emit_expr(ptr %t41) + store ptr %t42, ptr %t43 + %t44 = load ptr, ptr %t43 + %t45 = getelementptr inbounds %Cmp_Val, ptr %t44, i32 0, i32 0 + %t46 = load ptr, ptr %t45 + %t47 = call ptr @lp_str_concat(ptr @.str1383, ptr %t46) + %t48 = call ptr @lp_str_concat(ptr %t47, ptr @.str1384) + %t49 = call ptr @fn_emit_bind(ptr %t48) + store ptr %t49, ptr %t50 + %t51 = load ptr, ptr %t43 + %t52 = getelementptr inbounds %Cmp_Val, ptr %t51, i32 0, i32 0 + %t53 = load ptr, ptr %t52 + %t54 = call ptr @lp_str_concat(ptr @.str1385, ptr %t53) + %t55 = call ptr @lp_str_concat(ptr %t54, ptr @.str1386) + %t56 = call ptr @fn_emit_bind(ptr %t55) + store ptr %t56, ptr %t57 + %t58 = load ptr, ptr %t57 + %t59 = call ptr @lp_str_concat(ptr @.str1387, ptr %t58) + %t60 = call ptr @lp_str_concat(ptr %t59, ptr @.str1388) + %t61 = call ptr @fn_emit_bind(ptr %t60) + store ptr %t61, ptr %t62 + %t63 = load ptr, ptr %t50 + %t64 = call ptr @lp_str_concat(ptr @.str1389, ptr %t63) + %t65 = call ptr @lp_str_concat(ptr %t64, ptr @.str1390) + %t66 = load ptr, ptr %t62 + %t67 = call ptr @lp_str_concat(ptr %t65, ptr %t66) + %t68 = call ptr @fn_emit_bind(ptr %t67) + %t69 = call ptr @fn_val(ptr %t68, ptr @.str1391) + store ptr %t69, ptr %retval + br label %ret +ifend11: + %t70 = load ptr, ptr %t0 + %t71 = call i32 @lp_str_eq(ptr %t70, ptr @.str1392) + %t72 = icmp ne i32 %t71, 0 + br i1 %t72, label %then12, label %ifend14 +then12: + %t73 = load ptr, ptr %t1 + %t74 = getelementptr inbounds %Cmp_Node, ptr %t73, i32 0, i32 7 + %t75 = load ptr, ptr %t74 + %t76 = getelementptr inbounds %LSlice, ptr %t75, i32 0, i32 0 + %t77 = load ptr, ptr %t76 + %t78 = getelementptr inbounds ptr, ptr %t77, i32 0 + %t79 = load ptr, ptr %t78 + %t80 = call ptr @fn_emit_expr(ptr %t79) + store ptr %t80, ptr %t81 + %t82 = load ptr, ptr %t81 + %t83 = getelementptr inbounds %Cmp_Val, ptr %t82, i32 0, i32 0 + %t84 = load ptr, ptr %t83 + %t85 = call ptr @lp_str_concat(ptr @.str1393, ptr %t84) + %t86 = call ptr @lp_str_concat(ptr %t85, ptr @.str1394) + %t87 = call ptr @fn_emit_bind(ptr %t86) + %t88 = call ptr @fn_val(ptr %t87, ptr @.str1395) + store ptr %t88, ptr %retval + br label %ret +ifend14: + %t89 = load ptr, ptr %t0 + %t90 = call i32 @lp_str_eq(ptr %t89, ptr @.str1396) + %t91 = icmp ne i32 %t90, 0 + br i1 %t91, label %then15, label %ifend17 +then15: + %t92 = load ptr, ptr %t1 + %t93 = getelementptr inbounds %Cmp_Node, ptr %t92, i32 0, i32 7 + %t94 = load ptr, ptr %t93 + %t95 = getelementptr inbounds %LSlice, ptr %t94, i32 0, i32 0 + %t96 = load ptr, ptr %t95 + %t97 = getelementptr inbounds ptr, ptr %t96, i32 0 + %t98 = load ptr, ptr %t97 + %t99 = call ptr @fn_emit_expr(ptr %t98) + store ptr %t99, ptr %t100 + %t101 = load ptr, ptr %t100 + %t102 = getelementptr inbounds %Cmp_Val, ptr %t101, i32 0, i32 0 + %t103 = load ptr, ptr %t102 + %t104 = call ptr @lp_str_concat(ptr @.str1397, ptr %t103) + %t105 = call ptr @lp_str_concat(ptr %t104, ptr @.str1398) + %t106 = call ptr @fn_emit_bind(ptr %t105) + store ptr %t106, ptr %t107 + %t108 = load ptr, ptr %t107 + %t109 = call ptr @lp_str_concat(ptr @.str1399, ptr %t108) + %t110 = call ptr @lp_str_concat(ptr %t109, ptr @.str1400) + %t111 = call ptr @fn_emit_bind(ptr %t110) + %t112 = call ptr @fn_val(ptr %t111, ptr @.str1401) + store ptr %t112, ptr %retval + br label %ret +ifend17: + %t113 = load ptr, ptr %t0 + %t114 = call i32 @lp_str_eq(ptr %t113, ptr @.str1402) + %t115 = icmp ne i32 %t114, 0 + br i1 %t115, label %then18, label %ifend20 +then18: + %t116 = load ptr, ptr %t1 + %t117 = getelementptr inbounds %Cmp_Node, ptr %t116, i32 0, i32 7 + %t118 = load ptr, ptr %t117 + %t119 = getelementptr inbounds %LSlice, ptr %t118, i32 0, i32 0 + %t120 = load ptr, ptr %t119 + %t121 = getelementptr inbounds ptr, ptr %t120, i32 0 + %t122 = load ptr, ptr %t121 + %t123 = call ptr @fn_emit_expr(ptr %t122) + store ptr %t123, ptr %t124 + %t125 = load ptr, ptr %t124 + %t126 = getelementptr inbounds %Cmp_Val, ptr %t125, i32 0, i32 0 + %t127 = load ptr, ptr %t126 + %t128 = call ptr @lp_str_concat(ptr @.str1403, ptr %t127) + %t129 = call ptr @lp_str_concat(ptr %t128, ptr @.str1404) + %t130 = call ptr @fn_emit_bind(ptr %t129) + store ptr %t130, ptr %t131 + %t132 = load ptr, ptr %t131 + %t133 = call ptr @lp_str_concat(ptr @.str1405, ptr %t132) + %t134 = call ptr @lp_str_concat(ptr %t133, ptr @.str1406) + %t135 = call ptr @fn_emit_bind(ptr %t134) + %t136 = call ptr @fn_val(ptr %t135, ptr @.str1407) + store ptr %t136, ptr %retval + br label %ret +ifend20: + %t137 = load ptr, ptr %t0 + %t138 = call i32 @lp_str_eq(ptr %t137, ptr @.str1408) + %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 @.str1409) + store ptr %t177, ptr %retval + br label %ret +ifend23: + %t178 = load ptr, ptr %t0 + %t179 = call i32 @lp_str_eq(ptr %t178, ptr @.str1410) + %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 @.str1411) + store ptr %t218, ptr %retval + br label %ret +ifend26: + %t219 = load ptr, ptr %t0 + %t220 = call i32 @lp_str_eq(ptr %t219, ptr @.str1412) + %t221 = icmp ne i32 %t220, 0 + br i1 %t221, label %then27, label %ifend29 +then27: + store i32 1, ptr @g_g_uses_mathrt + %t222 = load ptr, ptr %t1 + %t223 = getelementptr inbounds %Cmp_Node, ptr %t222, i32 0, i32 7 + %t224 = load ptr, ptr %t223 + %t225 = getelementptr inbounds %LSlice, ptr %t224, i32 0, i32 0 + %t226 = load ptr, ptr %t225 + %t227 = getelementptr inbounds ptr, ptr %t226, i32 0 + %t228 = load ptr, ptr %t227 + %t229 = call ptr @fn_emit_expr(ptr %t228) + store ptr %t229, ptr %t230 + %t231 = load ptr, ptr %t230 + %t232 = getelementptr inbounds %Cmp_Val, ptr %t231, i32 0, i32 0 + %t233 = load ptr, ptr %t232 + %t234 = call ptr @lp_str_concat(ptr @.str1413, ptr %t233) + %t235 = call ptr @lp_str_concat(ptr %t234, ptr @.str1414) + %t236 = call ptr @fn_emit_bind(ptr %t235) + %t237 = call ptr @fn_val(ptr %t236, ptr @.str1415) + store ptr %t237, ptr %retval + br label %ret +ifend29: + %t238 = load ptr, ptr %t0 + %t239 = call i32 @lp_str_eq(ptr %t238, ptr @.str1416) + %t240 = icmp ne i32 %t239, 0 + br i1 %t240, label %then30, label %ifend32 +then30: + store i32 1, ptr @g_g_uses_mathrt + %t241 = load ptr, ptr %t1 + %t242 = getelementptr inbounds %Cmp_Node, ptr %t241, i32 0, i32 7 + %t243 = load ptr, ptr %t242 + %t244 = getelementptr inbounds %LSlice, ptr %t243, i32 0, i32 0 + %t245 = load ptr, ptr %t244 + %t246 = getelementptr inbounds ptr, ptr %t245, i32 0 + %t247 = load ptr, ptr %t246 + %t248 = call ptr @fn_emit_expr(ptr %t247) + store ptr %t248, ptr %t249 + %t250 = load ptr, ptr %t249 + %t251 = getelementptr inbounds %Cmp_Val, ptr %t250, i32 0, i32 0 + %t252 = load ptr, ptr %t251 + %t253 = call ptr @lp_str_concat(ptr @.str1417, ptr %t252) + %t254 = call ptr @lp_str_concat(ptr %t253, ptr @.str1418) + %t255 = call ptr @fn_emit_bind(ptr %t254) + %t256 = call ptr @fn_val(ptr %t255, ptr @.str1419) + store ptr %t256, ptr %retval + br label %ret +ifend32: + %t257 = load ptr, ptr %t0 + %t258 = call i32 @lp_str_eq(ptr %t257, ptr @.str1420) + %t259 = icmp ne i32 %t258, 0 + br i1 %t259, label %then33, label %ifend35 +then33: + store i32 1, ptr @g_g_uses_mathrt + %t260 = load ptr, ptr %t1 + %t261 = getelementptr inbounds %Cmp_Node, ptr %t260, i32 0, i32 7 + %t262 = load ptr, ptr %t261 + %t263 = getelementptr inbounds %LSlice, ptr %t262, i32 0, i32 0 + %t264 = load ptr, ptr %t263 + %t265 = getelementptr inbounds ptr, ptr %t264, i32 0 + %t266 = load ptr, ptr %t265 + %t267 = call ptr @fn_emit_expr(ptr %t266) + store ptr %t267, ptr %t268 + %t269 = load ptr, ptr %t268 + %t270 = getelementptr inbounds %Cmp_Val, ptr %t269, i32 0, i32 0 + %t271 = load ptr, ptr %t270 + %t272 = call ptr @lp_str_concat(ptr @.str1421, ptr %t271) + %t273 = call ptr @lp_str_concat(ptr %t272, ptr @.str1422) + %t274 = call ptr @fn_emit_bind(ptr %t273) + store ptr %t274, ptr %t275 + %t276 = load ptr, ptr %t275 + %t277 = call ptr @lp_str_concat(ptr @.str1423, ptr %t276) + %t278 = call ptr @lp_str_concat(ptr %t277, ptr @.str1424) + %t279 = call ptr @fn_emit_bind(ptr %t278) + %t280 = call ptr @fn_val(ptr %t279, ptr @.str1425) + store ptr %t280, ptr %retval + br label %ret +ifend35: + %t281 = load ptr, ptr %t0 + %t282 = call i32 @lp_str_eq(ptr %t281, ptr @.str1426) + %t283 = icmp ne i32 %t282, 0 + br i1 %t283, label %then36, label %ifend38 +then36: + store i32 1, ptr @g_g_uses_mathrt + %t284 = load ptr, ptr %t1 + %t285 = getelementptr inbounds %Cmp_Node, ptr %t284, i32 0, i32 7 + %t286 = load ptr, ptr %t285 + %t287 = getelementptr inbounds %LSlice, ptr %t286, i32 0, i32 0 + %t288 = load ptr, ptr %t287 + %t289 = getelementptr inbounds ptr, ptr %t288, i32 0 + %t290 = load ptr, ptr %t289 + %t291 = call ptr @fn_emit_expr(ptr %t290) + store ptr %t291, ptr %t292 + %t293 = load ptr, ptr %t292 + %t294 = getelementptr inbounds %Cmp_Val, ptr %t293, i32 0, i32 0 + %t295 = load ptr, ptr %t294 + %t296 = call ptr @lp_str_concat(ptr @.str1427, ptr %t295) + %t297 = call ptr @lp_str_concat(ptr %t296, ptr @.str1428) + %t298 = call ptr @fn_emit_bind(ptr %t297) + store ptr %t298, ptr %t299 + %t300 = load ptr, ptr %t292 + %t301 = getelementptr inbounds %Cmp_Val, ptr %t300, i32 0, i32 0 + %t302 = load ptr, ptr %t301 + %t303 = call ptr @lp_str_concat(ptr @.str1429, ptr %t302) + %t304 = call ptr @lp_str_concat(ptr %t303, ptr @.str1430) + %t305 = call ptr @fn_emit_bind(ptr %t304) + store ptr %t305, ptr %t306 + %t307 = load ptr, ptr %t306 + %t308 = call ptr @lp_str_concat(ptr @.str1431, ptr %t307) + %t309 = call ptr @lp_str_concat(ptr %t308, ptr @.str1432) + %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 @.str1433) + store ptr %t315, ptr %retval + br label %ret +ifend38: + %t316 = load ptr, ptr %t0 + %t317 = call i32 @lp_str_eq(ptr %t316, ptr @.str1434) + %t318 = icmp ne i32 %t317, 0 + br i1 %t318, label %then39, label %ifend41 +then39: + store i32 1, ptr @g_g_uses_mathrt + %t319 = load ptr, ptr %t1 + %t320 = getelementptr inbounds %Cmp_Node, ptr %t319, i32 0, i32 7 + %t321 = load ptr, ptr %t320 + %t322 = getelementptr inbounds %LSlice, ptr %t321, i32 0, i32 0 + %t323 = load ptr, ptr %t322 + %t324 = getelementptr inbounds ptr, ptr %t323, i32 0 + %t325 = load ptr, ptr %t324 + %t326 = call ptr @fn_emit_expr(ptr %t325) + store ptr %t326, ptr %t327 + %t328 = load ptr, ptr %t1 + %t329 = getelementptr inbounds %Cmp_Node, ptr %t328, i32 0, i32 7 + %t330 = load ptr, ptr %t329 + %t331 = getelementptr inbounds %LSlice, ptr %t330, i32 0, i32 0 + %t332 = load ptr, ptr %t331 + %t333 = getelementptr inbounds ptr, ptr %t332, i32 1 + %t334 = load ptr, ptr %t333 + %t335 = call ptr @fn_emit_expr(ptr %t334) + store ptr %t335, ptr %t336 + %t337 = load ptr, ptr %t327 + %t338 = getelementptr inbounds %Cmp_Val, ptr %t337, i32 0, i32 0 + %t339 = load ptr, ptr %t338 + %t340 = call ptr @lp_str_concat(ptr @.str1435, ptr %t339) + %t341 = call ptr @lp_str_concat(ptr %t340, ptr @.str1436) + %t342 = load ptr, ptr %t336 + %t343 = getelementptr inbounds %Cmp_Val, ptr %t342, i32 0, i32 0 + %t344 = load ptr, ptr %t343 + %t345 = call ptr @lp_str_concat(ptr %t341, ptr %t344) + %t346 = call ptr @lp_str_concat(ptr %t345, ptr @.str1437) + %t347 = call ptr @fn_emit_bind(ptr %t346) + %t348 = call ptr @fn_val(ptr %t347, ptr @.str1438) + store ptr %t348, ptr %retval + br label %ret +ifend41: + %t349 = load ptr, ptr %t0 + %t350 = call i32 @lp_str_eq(ptr %t349, ptr @.str1439) + %t351 = icmp ne i32 %t350, 0 + br i1 %t351, label %then42, label %ifend44 +then42: + store i32 1, ptr @g_g_uses_mathrt + %t352 = load ptr, ptr %t1 + %t353 = getelementptr inbounds %Cmp_Node, ptr %t352, i32 0, i32 7 + %t354 = load ptr, ptr %t353 + %t355 = getelementptr inbounds %LSlice, ptr %t354, i32 0, i32 0 + %t356 = load ptr, ptr %t355 + %t357 = getelementptr inbounds ptr, ptr %t356, i32 0 + %t358 = load ptr, ptr %t357 + %t359 = call ptr @fn_emit_expr(ptr %t358) + store ptr %t359, ptr %t360 + %t361 = load ptr, ptr %t360 + %t362 = getelementptr inbounds %Cmp_Val, ptr %t361, i32 0, i32 0 + %t363 = load ptr, ptr %t362 + %t364 = load ptr, ptr %t360 + %t365 = getelementptr inbounds %Cmp_Val, ptr %t364, i32 0, i32 0 + %t366 = load ptr, ptr %t365 + %t367 = call ptr @fn_fx_mul_code(ptr %t363, ptr %t366) + store ptr %t367, ptr %t368 + %t369 = load ptr, ptr %t368 + %t370 = call ptr @lp_str_concat(ptr @.str1440, ptr %t369) + %t371 = call ptr @fn_emit_bind(ptr %t370) + store ptr %t371, ptr %t372 + %t373 = load ptr, ptr %t372 + %t374 = call ptr @lp_str_concat(ptr @.str1441, ptr %t373) + %t375 = call ptr @lp_str_concat(ptr %t374, ptr @.str1442) + %t376 = call ptr @fn_emit_bind(ptr %t375) + store ptr %t376, ptr %t377 + %t378 = load ptr, ptr %t360 + %t379 = getelementptr inbounds %Cmp_Val, ptr %t378, i32 0, i32 0 + %t380 = load ptr, ptr %t379 + %t381 = call ptr @lp_str_concat(ptr @.str1443, ptr %t380) + %t382 = call ptr @lp_str_concat(ptr %t381, ptr @.str1444) + %t383 = load ptr, ptr %t377 + %t384 = call ptr @lp_str_concat(ptr %t382, ptr %t383) + %t385 = call ptr @lp_str_concat(ptr %t384, ptr @.str1445) + %t386 = call ptr @fn_emit_bind(ptr %t385) + %t387 = call ptr @fn_val(ptr %t386, ptr @.str1446) + store ptr %t387, ptr %retval + br label %ret +ifend44: + %t388 = load ptr, ptr %t0 + %t389 = call i32 @lp_str_eq(ptr %t388, ptr @.str1447) + %t390 = icmp ne i32 %t389, 0 + br i1 %t390, label %then45, label %ifend47 +then45: + store i32 1, ptr @g_g_uses_mathrt + %t391 = load ptr, ptr %t1 + %t392 = getelementptr inbounds %Cmp_Node, ptr %t391, i32 0, i32 7 + %t393 = load ptr, ptr %t392 + %t394 = getelementptr inbounds %LSlice, ptr %t393, i32 0, i32 0 + %t395 = load ptr, ptr %t394 + %t396 = getelementptr inbounds ptr, ptr %t395, i32 0 + %t397 = load ptr, ptr %t396 + %t398 = call ptr @fn_emit_expr(ptr %t397) + store ptr %t398, ptr %t399 + %t400 = load ptr, ptr %t399 + %t401 = getelementptr inbounds %Cmp_Val, ptr %t400, i32 0, i32 0 + %t402 = load ptr, ptr %t401 + %t403 = load ptr, ptr %t399 + %t404 = getelementptr inbounds %Cmp_Val, ptr %t403, i32 0, i32 0 + %t405 = load ptr, ptr %t404 + %t406 = call ptr @fn_fx_mul_code(ptr %t402, ptr %t405) + store ptr %t406, ptr %t407 + %t408 = load ptr, ptr %t407 + %t409 = call ptr @lp_str_concat(ptr @.str1448, ptr %t408) + %t410 = call ptr @fn_emit_bind(ptr %t409) + store ptr %t410, ptr %t411 + %t412 = load ptr, ptr %t411 + %t413 = call ptr @lp_str_concat(ptr @.str1449, ptr %t412) + %t414 = call ptr @lp_str_concat(ptr %t413, ptr @.str1450) + %t415 = call ptr @fn_emit_bind(ptr %t414) + store ptr %t415, ptr %t416 + %t417 = load ptr, ptr %t416 + %t418 = call ptr @lp_str_concat(ptr @.str1451, ptr %t417) + %t419 = call ptr @lp_str_concat(ptr %t418, ptr @.str1452) + %t420 = load ptr, ptr %t399 + %t421 = getelementptr inbounds %Cmp_Val, ptr %t420, i32 0, i32 0 + %t422 = load ptr, ptr %t421 + %t423 = call ptr @lp_str_concat(ptr %t419, ptr %t422) + %t424 = call ptr @lp_str_concat(ptr %t423, ptr @.str1453) + %t425 = call ptr @fn_emit_bind(ptr %t424) + %t426 = call ptr @fn_val(ptr %t425, ptr @.str1454) + store ptr %t426, ptr %retval + br label %ret +ifend47: + %t427 = load ptr, ptr %t0 + %t428 = call i32 @lp_str_eq(ptr %t427, ptr @.str1455) + %t429 = icmp ne i32 %t428, 0 + br i1 %t429, label %then48, label %ifend50 +then48: + store i32 1, ptr @g_g_uses_mathrt + %t430 = load ptr, ptr %t1 + %t431 = getelementptr inbounds %Cmp_Node, ptr %t430, i32 0, i32 7 + %t432 = load ptr, ptr %t431 + %t433 = getelementptr inbounds %LSlice, ptr %t432, i32 0, i32 0 + %t434 = load ptr, ptr %t433 + %t435 = getelementptr inbounds ptr, ptr %t434, i32 0 + %t436 = load ptr, ptr %t435 + %t437 = call ptr @fn_emit_expr(ptr %t436) + store ptr %t437, ptr %t438 + %t439 = load ptr, ptr %t1 + %t440 = getelementptr inbounds %Cmp_Node, ptr %t439, i32 0, i32 7 + %t441 = load ptr, ptr %t440 + %t442 = getelementptr inbounds %LSlice, ptr %t441, i32 0, i32 0 + %t443 = load ptr, ptr %t442 + %t444 = getelementptr inbounds ptr, ptr %t443, i32 1 + %t445 = load ptr, ptr %t444 + %t446 = call ptr @fn_emit_expr(ptr %t445) + store ptr %t446, ptr %t447 + %t448 = load ptr, ptr %t438 + %t449 = getelementptr inbounds %Cmp_Val, ptr %t448, i32 0, i32 0 + %t450 = load ptr, ptr %t449 + %t451 = load ptr, ptr %t438 + %t452 = getelementptr inbounds %Cmp_Val, ptr %t451, i32 0, i32 0 + %t453 = load ptr, ptr %t452 + %t454 = call ptr @fn_fx_mul_code(ptr %t450, ptr %t453) + store ptr %t454, ptr %t455 + %t456 = load ptr, ptr %t447 + %t457 = getelementptr inbounds %Cmp_Val, ptr %t456, i32 0, i32 0 + %t458 = load ptr, ptr %t457 + %t459 = load ptr, ptr %t447 + %t460 = getelementptr inbounds %Cmp_Val, ptr %t459, i32 0, i32 0 + %t461 = load ptr, ptr %t460 + %t462 = call ptr @fn_fx_mul_code(ptr %t458, ptr %t461) + store ptr %t462, ptr %t463 + %t464 = load ptr, ptr %t455 + %t465 = call ptr @lp_str_concat(ptr @.str1456, ptr %t464) + %t466 = call ptr @lp_str_concat(ptr %t465, ptr @.str1457) + %t467 = load ptr, ptr %t463 + %t468 = call ptr @lp_str_concat(ptr %t466, ptr %t467) + %t469 = call ptr @fn_emit_bind(ptr %t468) + store ptr %t469, ptr %t470 + %t471 = load ptr, ptr %t470 + %t472 = call ptr @lp_str_concat(ptr @.str1458, ptr %t471) + %t473 = call ptr @lp_str_concat(ptr %t472, ptr @.str1459) + %t474 = call ptr @fn_emit_bind(ptr %t473) + %t475 = call ptr @fn_val(ptr %t474, ptr @.str1460) + store ptr %t475, ptr %retval + br label %ret +ifend50: + %t476 = load ptr, ptr %t0 + %t477 = call i32 @lp_str_eq(ptr %t476, ptr @.str1461) + %t478 = icmp ne i32 %t477, 0 + br i1 %t478, label %then51, label %ifend53 +then51: + %t479 = load ptr, ptr %t1 + %t480 = getelementptr inbounds %Cmp_Node, ptr %t479, i32 0, i32 7 + %t481 = load ptr, ptr %t480 + %t482 = getelementptr inbounds %LSlice, ptr %t481, i32 0, i32 0 + %t483 = load ptr, ptr %t482 + %t484 = getelementptr inbounds ptr, ptr %t483, i32 0 + %t485 = load ptr, ptr %t484 + %t486 = call ptr @fn_emit_expr(ptr %t485) + store ptr %t486, ptr %t487 + %t488 = load ptr, ptr %t1 + %t489 = getelementptr inbounds %Cmp_Node, ptr %t488, i32 0, i32 7 + %t490 = load ptr, ptr %t489 + %t491 = getelementptr inbounds %LSlice, ptr %t490, i32 0, i32 0 + %t492 = load ptr, ptr %t491 + %t493 = getelementptr inbounds ptr, ptr %t492, i32 1 + %t494 = load ptr, ptr %t493 + %t495 = call ptr @fn_emit_expr(ptr %t494) + store ptr %t495, ptr %t496 + %t497 = load ptr, ptr %t1 + %t498 = getelementptr inbounds %Cmp_Node, ptr %t497, i32 0, i32 7 + %t499 = load ptr, ptr %t498 + %t500 = getelementptr inbounds %LSlice, ptr %t499, i32 0, i32 0 + %t501 = load ptr, ptr %t500 + %t502 = getelementptr inbounds ptr, ptr %t501, i32 2 + %t503 = load ptr, ptr %t502 + %t504 = call ptr @fn_emit_expr(ptr %t503) + store ptr %t504, ptr %t505 + %t506 = load ptr, ptr %t1 + %t507 = getelementptr inbounds %Cmp_Node, ptr %t506, i32 0, i32 7 + %t508 = load ptr, ptr %t507 + %t509 = getelementptr inbounds %LSlice, ptr %t508, i32 0, i32 0 + %t510 = load ptr, ptr %t509 + %t511 = getelementptr inbounds ptr, ptr %t510, i32 3 + %t512 = load ptr, ptr %t511 + %t513 = call ptr @fn_emit_expr(ptr %t512) + store ptr %t513, ptr %t514 + %t515 = load ptr, ptr %t505 + %t516 = getelementptr inbounds %Cmp_Val, ptr %t515, i32 0, i32 0 + %t517 = load ptr, ptr %t516 + %t518 = call ptr @lp_str_concat(ptr @.str1462, ptr %t517) + %t519 = call ptr @lp_str_concat(ptr %t518, ptr @.str1463) + %t520 = load ptr, ptr %t487 + %t521 = getelementptr inbounds %Cmp_Val, ptr %t520, i32 0, i32 0 + %t522 = load ptr, ptr %t521 + %t523 = call ptr @lp_str_concat(ptr %t519, ptr %t522) + %t524 = call ptr @fn_emit_bind(ptr %t523) + store ptr %t524, ptr %t525 + %t526 = load ptr, ptr %t514 + %t527 = getelementptr inbounds %Cmp_Val, ptr %t526, i32 0, i32 0 + %t528 = load ptr, ptr %t527 + %t529 = call ptr @lp_str_concat(ptr @.str1464, ptr %t528) + %t530 = call ptr @lp_str_concat(ptr %t529, ptr @.str1465) + %t531 = load ptr, ptr %t496 + %t532 = getelementptr inbounds %Cmp_Val, ptr %t531, i32 0, i32 0 + %t533 = load ptr, ptr %t532 + %t534 = call ptr @lp_str_concat(ptr %t530, ptr %t533) + %t535 = call ptr @fn_emit_bind(ptr %t534) + store ptr %t535, ptr %t536 + %t537 = load ptr, ptr %t525 + %t538 = load ptr, ptr %t525 + %t539 = call ptr @fn_fx_mul_code(ptr %t537, ptr %t538) + store ptr %t539, ptr %t540 + %t541 = load ptr, ptr %t536 + %t542 = load ptr, ptr %t536 + %t543 = call ptr @fn_fx_mul_code(ptr %t541, ptr %t542) + store ptr %t543, ptr %t544 + %t545 = load ptr, ptr %t540 + %t546 = call ptr @lp_str_concat(ptr @.str1466, ptr %t545) + %t547 = call ptr @lp_str_concat(ptr %t546, ptr @.str1467) + %t548 = load ptr, ptr %t544 + %t549 = call ptr @lp_str_concat(ptr %t547, ptr %t548) + %t550 = call ptr @fn_emit_bind(ptr %t549) + %t551 = call ptr @fn_val(ptr %t550, ptr @.str1468) + store ptr %t551, ptr %retval + br label %ret +ifend53: + %t552 = load ptr, ptr %t0 + %t553 = call i32 @lp_str_eq(ptr %t552, ptr @.str1469) + %t554 = icmp ne i32 %t553, 0 + br i1 %t554, label %then54, label %ifend56 +then54: + store i32 1, ptr @g_g_uses_mathrt + %t555 = load ptr, ptr %t1 + %t556 = getelementptr inbounds %Cmp_Node, ptr %t555, i32 0, i32 7 + %t557 = load ptr, ptr %t556 + %t558 = getelementptr inbounds %LSlice, ptr %t557, i32 0, i32 0 + %t559 = load ptr, ptr %t558 + %t560 = getelementptr inbounds ptr, ptr %t559, i32 0 + %t561 = load ptr, ptr %t560 + %t562 = call ptr @fn_emit_expr(ptr %t561) + store ptr %t562, ptr %t563 + %t564 = load ptr, ptr %t1 + %t565 = getelementptr inbounds %Cmp_Node, ptr %t564, i32 0, i32 7 + %t566 = load ptr, ptr %t565 + %t567 = getelementptr inbounds %LSlice, ptr %t566, i32 0, i32 0 + %t568 = load ptr, ptr %t567 + %t569 = getelementptr inbounds ptr, ptr %t568, i32 1 + %t570 = load ptr, ptr %t569 + %t571 = call ptr @fn_emit_expr(ptr %t570) + store ptr %t571, ptr %t572 + %t573 = load ptr, ptr %t1 + %t574 = getelementptr inbounds %Cmp_Node, ptr %t573, i32 0, i32 7 + %t575 = load ptr, ptr %t574 + %t576 = getelementptr inbounds %LSlice, ptr %t575, i32 0, i32 0 + %t577 = load ptr, ptr %t576 + %t578 = getelementptr inbounds ptr, ptr %t577, i32 2 + %t579 = load ptr, ptr %t578 + %t580 = call ptr @fn_emit_expr(ptr %t579) + store ptr %t580, ptr %t581 + %t582 = load ptr, ptr %t1 + %t583 = getelementptr inbounds %Cmp_Node, ptr %t582, i32 0, i32 7 + %t584 = load ptr, ptr %t583 + %t585 = getelementptr inbounds %LSlice, ptr %t584, i32 0, i32 0 + %t586 = load ptr, ptr %t585 + %t587 = getelementptr inbounds ptr, ptr %t586, i32 3 + %t588 = load ptr, ptr %t587 + %t589 = call ptr @fn_emit_expr(ptr %t588) + store ptr %t589, ptr %t590 + %t591 = load ptr, ptr %t581 + %t592 = getelementptr inbounds %Cmp_Val, ptr %t591, i32 0, i32 0 + %t593 = load ptr, ptr %t592 + %t594 = call ptr @lp_str_concat(ptr @.str1470, ptr %t593) + %t595 = call ptr @lp_str_concat(ptr %t594, ptr @.str1471) + %t596 = load ptr, ptr %t563 + %t597 = getelementptr inbounds %Cmp_Val, ptr %t596, i32 0, i32 0 + %t598 = load ptr, ptr %t597 + %t599 = call ptr @lp_str_concat(ptr %t595, ptr %t598) + %t600 = call ptr @fn_emit_bind(ptr %t599) + store ptr %t600, ptr %t601 + %t602 = load ptr, ptr %t590 + %t603 = getelementptr inbounds %Cmp_Val, ptr %t602, i32 0, i32 0 + %t604 = load ptr, ptr %t603 + %t605 = call ptr @lp_str_concat(ptr @.str1472, ptr %t604) + %t606 = call ptr @lp_str_concat(ptr %t605, ptr @.str1473) + %t607 = load ptr, ptr %t572 + %t608 = getelementptr inbounds %Cmp_Val, ptr %t607, i32 0, i32 0 + %t609 = load ptr, ptr %t608 + %t610 = call ptr @lp_str_concat(ptr %t606, ptr %t609) + %t611 = call ptr @fn_emit_bind(ptr %t610) + store ptr %t611, ptr %t612 + %t613 = load ptr, ptr %t601 + %t614 = load ptr, ptr %t601 + %t615 = call ptr @fn_fx_mul_code(ptr %t613, ptr %t614) + store ptr %t615, ptr %t616 + %t617 = load ptr, ptr %t612 + %t618 = load ptr, ptr %t612 + %t619 = call ptr @fn_fx_mul_code(ptr %t617, ptr %t618) + store ptr %t619, ptr %t620 + %t621 = load ptr, ptr %t616 + %t622 = call ptr @lp_str_concat(ptr @.str1474, ptr %t621) + %t623 = call ptr @lp_str_concat(ptr %t622, ptr @.str1475) + %t624 = load ptr, ptr %t620 + %t625 = call ptr @lp_str_concat(ptr %t623, ptr %t624) + %t626 = call ptr @fn_emit_bind(ptr %t625) + store ptr %t626, ptr %t627 + %t628 = load ptr, ptr %t627 + %t629 = call ptr @lp_str_concat(ptr @.str1476, ptr %t628) + %t630 = call ptr @lp_str_concat(ptr %t629, ptr @.str1477) + %t631 = call ptr @fn_emit_bind(ptr %t630) + %t632 = call ptr @fn_val(ptr %t631, ptr @.str1478) + store ptr %t632, ptr %retval + br label %ret +ifend56: + %t633 = load ptr, ptr %t0 + %t634 = call i32 @lp_str_eq(ptr %t633, ptr @.str1479) + %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 @.str1480) + store ptr %t648, ptr %t649 + %t650 = load ptr, ptr %t649 + %t651 = call ptr @lp_str_concat(ptr @.str1481, ptr %t650) + %t652 = call ptr @lp_str_concat(ptr %t651, ptr @.str1482) + %t653 = call ptr @fn_emit_bind(ptr %t652) + %t654 = call ptr @fn_val(ptr %t653, ptr @.str1483) + store ptr %t654, ptr %retval + br label %ret +ifend59: + %t655 = load ptr, ptr %t0 + %t656 = call i32 @lp_str_eq(ptr %t655, ptr @.str1484) + %t657 = icmp ne i32 %t656, 0 + br i1 %t657, label %then60, label %ifend62 +then60: + store i32 1, ptr @g_g_uses_mathrt + %t658 = load ptr, ptr %t1 + %t659 = getelementptr inbounds %Cmp_Node, ptr %t658, i32 0, i32 7 + %t660 = load ptr, ptr %t659 + %t661 = getelementptr inbounds %LSlice, ptr %t660, i32 0, i32 0 + %t662 = load ptr, ptr %t661 + %t663 = getelementptr inbounds ptr, ptr %t662, i32 0 + %t664 = load ptr, ptr %t663 + %t665 = call ptr @fn_emit_expr(ptr %t664) + store ptr %t665, ptr %t666 + %t667 = load ptr, ptr %t666 + %t668 = getelementptr inbounds %Cmp_Val, ptr %t667, i32 0, i32 0 + %t669 = load ptr, ptr %t668 + %t670 = call ptr @lp_str_concat(ptr @.str1485, ptr %t669) + %t671 = call ptr @lp_str_concat(ptr %t670, ptr @.str1486) + %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 @.str1487) + %t676 = call ptr @fn_val(ptr %t675, ptr @.str1488) + store ptr %t676, ptr %retval + br label %ret +ifend62: + %t677 = load ptr, ptr %t0 + %t678 = call i32 @lp_str_eq(ptr %t677, ptr @.str1489) + %t679 = icmp ne i32 %t678, 0 + br i1 %t679, label %then63, label %ifend65 +then63: + store i32 1, ptr @g_g_uses_mathrt + %t680 = load ptr, ptr %t1 + %t681 = getelementptr inbounds %Cmp_Node, ptr %t680, i32 0, i32 7 + %t682 = load ptr, ptr %t681 + %t683 = getelementptr inbounds %LSlice, ptr %t682, i32 0, i32 0 + %t684 = load ptr, ptr %t683 + %t685 = getelementptr inbounds ptr, ptr %t684, i32 0 + %t686 = load ptr, ptr %t685 + %t687 = call ptr @fn_emit_expr(ptr %t686) + store ptr %t687, ptr %t688 + %t689 = load ptr, ptr %t1 + %t690 = getelementptr inbounds %Cmp_Node, ptr %t689, i32 0, i32 7 + %t691 = load ptr, ptr %t690 + %t692 = getelementptr inbounds %LSlice, ptr %t691, i32 0, i32 0 + %t693 = load ptr, ptr %t692 + %t694 = getelementptr inbounds ptr, ptr %t693, i32 1 + %t695 = load ptr, ptr %t694 + %t696 = call ptr @fn_emit_expr(ptr %t695) + store ptr %t696, ptr %t697 + %t698 = load ptr, ptr %t688 + %t699 = getelementptr inbounds %Cmp_Val, ptr %t698, i32 0, i32 0 + %t700 = load ptr, ptr %t699 + %t701 = call ptr @lp_str_concat(ptr @.str1490, ptr %t700) + %t702 = call ptr @lp_str_concat(ptr %t701, ptr @.str1491) + %t703 = call ptr @fn_emit_bind(ptr %t702) + store ptr %t703, ptr %t704 + %t705 = load ptr, ptr %t697 + %t706 = getelementptr inbounds %Cmp_Val, ptr %t705, i32 0, i32 0 + %t707 = load ptr, ptr %t706 + %t708 = load ptr, ptr %t704 + %t709 = call ptr @fn_fx_mul_code(ptr %t707, ptr %t708) + store ptr %t709, ptr %t710 + %t711 = load ptr, ptr %t710 + %t712 = call ptr @lp_str_concat(ptr @.str1492, ptr %t711) + %t713 = call ptr @lp_str_concat(ptr %t712, ptr @.str1493) + %t714 = call ptr @fn_emit_bind(ptr %t713) + %t715 = call ptr @fn_val(ptr %t714, ptr @.str1494) + store ptr %t715, ptr %retval + br label %ret +ifend65: + %t716 = load ptr, ptr %t0 + %t717 = call i32 @lp_str_eq(ptr %t716, ptr @.str1495) + %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 @.str1496) + %t732 = call ptr @fn_val(ptr %t731, ptr @.str1497) + store ptr %t732, ptr %retval + br label %ret +ifend68: + %t733 = load ptr, ptr %t0 + %t734 = call i32 @lp_str_eq(ptr %t733, ptr @.str1498) + %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 @.str1499) + %t749 = call ptr @fn_val(ptr %t748, ptr @.str1500) + store ptr %t749, ptr %retval + br label %ret +ifend71: + %t750 = load ptr, ptr %t0 + %t751 = call i32 @lp_str_eq(ptr %t750, ptr @.str1501) + %t752 = icmp ne i32 %t751, 0 + br i1 %t752, label %then72, label %ifend74 +then72: + %t753 = load ptr, ptr %t1 + %t754 = getelementptr inbounds %Cmp_Node, ptr %t753, i32 0, i32 7 + %t755 = load ptr, ptr %t754 + %t756 = getelementptr inbounds %LSlice, ptr %t755, i32 0, i32 0 + %t757 = load ptr, ptr %t756 + %t758 = getelementptr inbounds ptr, ptr %t757, i32 0 + %t759 = load ptr, ptr %t758 + %t760 = call ptr @fn_emit_expr(ptr %t759) + store ptr %t760, ptr %t761 + %t762 = load ptr, ptr %t1 + %t763 = getelementptr inbounds %Cmp_Node, ptr %t762, i32 0, i32 7 + %t764 = load ptr, ptr %t763 + %t765 = getelementptr inbounds %LSlice, ptr %t764, i32 0, i32 0 + %t766 = load ptr, ptr %t765 + %t767 = getelementptr inbounds ptr, ptr %t766, i32 1 + %t768 = load ptr, ptr %t767 + %t769 = call ptr @fn_emit_expr(ptr %t768) + store ptr %t769, ptr %t770 + %t771 = load ptr, ptr %t761 + %t772 = getelementptr inbounds %Cmp_Val, ptr %t771, i32 0, i32 0 + %t773 = load ptr, ptr %t772 + %t774 = call ptr @lp_str_concat(ptr @.str1502, ptr %t773) + %t775 = call ptr @lp_str_concat(ptr %t774, ptr @.str1503) + %t776 = load ptr, ptr %t770 + %t777 = getelementptr inbounds %Cmp_Val, ptr %t776, i32 0, i32 0 + %t778 = load ptr, ptr %t777 + %t779 = call ptr @lp_str_concat(ptr %t775, ptr %t778) + %t780 = call ptr @fn_emit_bind(ptr %t779) + store ptr %t780, ptr %t781 + %t782 = load ptr, ptr %t781 + %t783 = call ptr @lp_str_concat(ptr @.str1504, ptr %t782) + %t784 = call ptr @lp_str_concat(ptr %t783, ptr @.str1505) + %t785 = load ptr, ptr %t770 + %t786 = getelementptr inbounds %Cmp_Val, ptr %t785, i32 0, i32 0 + %t787 = load ptr, ptr %t786 + %t788 = call ptr @lp_str_concat(ptr %t784, ptr %t787) + %t789 = call ptr @fn_emit_bind(ptr %t788) + store ptr %t789, ptr %t790 + %t791 = load ptr, ptr %t790 + %t792 = call ptr @lp_str_concat(ptr @.str1506, ptr %t791) + %t793 = call ptr @lp_str_concat(ptr %t792, ptr @.str1507) + %t794 = load ptr, ptr %t770 + %t795 = getelementptr inbounds %Cmp_Val, ptr %t794, i32 0, i32 0 + %t796 = load ptr, ptr %t795 + %t797 = call ptr @lp_str_concat(ptr %t793, ptr %t796) + %t798 = call ptr @fn_emit_bind(ptr %t797) + %t799 = call ptr @fn_val(ptr %t798, ptr @.str1508) + store ptr %t799, ptr %retval + br label %ret +ifend74: + %t800 = load ptr, ptr %t0 + %t801 = call i32 @lp_str_eq(ptr %t800, ptr @.str1509) + %t802 = icmp ne i32 %t801, 0 + br i1 %t802, label %then75, label %ifend77 +then75: + %t803 = load ptr, ptr %t1 + %t804 = getelementptr inbounds %Cmp_Node, ptr %t803, i32 0, i32 7 + %t805 = load ptr, ptr %t804 + %t806 = getelementptr inbounds %LSlice, ptr %t805, i32 0, i32 0 + %t807 = load ptr, ptr %t806 + %t808 = getelementptr inbounds ptr, ptr %t807, i32 0 + %t809 = load ptr, ptr %t808 + %t810 = call ptr @fn_emit_expr(ptr %t809) + store ptr %t810, ptr %t811 + %t812 = load ptr, ptr %t1 + %t813 = getelementptr inbounds %Cmp_Node, ptr %t812, i32 0, i32 7 + %t814 = load ptr, ptr %t813 + %t815 = getelementptr inbounds %LSlice, ptr %t814, i32 0, i32 0 + %t816 = load ptr, ptr %t815 + %t817 = getelementptr inbounds ptr, ptr %t816, i32 1 + %t818 = load ptr, ptr %t817 + %t819 = call ptr @fn_emit_expr(ptr %t818) + store ptr %t819, ptr %t820 + %t821 = load ptr, ptr %t1 + %t822 = getelementptr inbounds %Cmp_Node, ptr %t821, i32 0, i32 7 + %t823 = load ptr, ptr %t822 + %t824 = getelementptr inbounds %LSlice, ptr %t823, i32 0, i32 0 + %t825 = load ptr, ptr %t824 + %t826 = getelementptr inbounds ptr, ptr %t825, i32 2 + %t827 = load ptr, ptr %t826 + %t828 = call ptr @fn_emit_expr(ptr %t827) + store ptr %t828, ptr %t829 + %t830 = load ptr, ptr %t829 + %t831 = getelementptr inbounds %Cmp_Val, ptr %t830, i32 0, i32 0 + %t832 = load ptr, ptr %t831 + %t833 = call ptr @lp_str_concat(ptr @.str1510, ptr %t832) + %t834 = call ptr @lp_str_concat(ptr %t833, ptr @.str1511) + %t835 = load ptr, ptr %t820 + %t836 = getelementptr inbounds %Cmp_Val, ptr %t835, i32 0, i32 0 + %t837 = load ptr, ptr %t836 + %t838 = call ptr @lp_str_concat(ptr %t834, ptr %t837) + %t839 = call ptr @fn_emit_bind(ptr %t838) + store ptr %t839, ptr %t840 + %t841 = load ptr, ptr %t811 + %t842 = getelementptr inbounds %Cmp_Val, ptr %t841, i32 0, i32 0 + %t843 = load ptr, ptr %t842 + %t844 = call ptr @lp_str_concat(ptr @.str1512, ptr %t843) + %t845 = call ptr @lp_str_concat(ptr %t844, ptr @.str1513) + %t846 = load ptr, ptr %t820 + %t847 = getelementptr inbounds %Cmp_Val, ptr %t846, i32 0, i32 0 + %t848 = load ptr, ptr %t847 + %t849 = call ptr @lp_str_concat(ptr %t845, ptr %t848) + %t850 = call ptr @fn_emit_bind(ptr %t849) + store ptr %t850, ptr %t851 + %t852 = load ptr, ptr %t851 + %t853 = call ptr @lp_str_concat(ptr @.str1514, ptr %t852) + %t854 = call ptr @lp_str_concat(ptr %t853, ptr @.str1515) + %t855 = load ptr, ptr %t840 + %t856 = call ptr @lp_str_concat(ptr %t854, ptr %t855) + %t857 = call ptr @fn_emit_bind(ptr %t856) + store ptr %t857, ptr %t858 + %t859 = load ptr, ptr %t858 + %t860 = call ptr @lp_str_concat(ptr @.str1516, ptr %t859) + %t861 = call ptr @lp_str_concat(ptr %t860, ptr @.str1517) + %t862 = load ptr, ptr %t840 + %t863 = call ptr @lp_str_concat(ptr %t861, ptr %t862) + %t864 = call ptr @fn_emit_bind(ptr %t863) + store ptr %t864, ptr %t865 + %t866 = load ptr, ptr %t865 + %t867 = call ptr @lp_str_concat(ptr @.str1518, ptr %t866) + %t868 = call ptr @lp_str_concat(ptr %t867, ptr @.str1519) + %t869 = load ptr, ptr %t840 + %t870 = call ptr @lp_str_concat(ptr %t868, ptr %t869) + %t871 = call ptr @fn_emit_bind(ptr %t870) + store ptr %t871, ptr %t872 + %t873 = load ptr, ptr %t820 + %t874 = getelementptr inbounds %Cmp_Val, ptr %t873, i32 0, i32 0 + %t875 = load ptr, ptr %t874 + %t876 = call ptr @lp_str_concat(ptr @.str1520, ptr %t875) + %t877 = call ptr @lp_str_concat(ptr %t876, ptr @.str1521) + %t878 = load ptr, ptr %t872 + %t879 = call ptr @lp_str_concat(ptr %t877, ptr %t878) + %t880 = call ptr @fn_emit_bind(ptr %t879) + %t881 = call ptr @fn_val(ptr %t880, ptr @.str1522) + store ptr %t881, ptr %retval + br label %ret +ifend77: + %t882 = load ptr, ptr %t0 + %t883 = call i32 @lp_str_eq(ptr %t882, ptr @.str1523) + %t884 = icmp ne i32 %t883, 0 + br i1 %t884, label %then78, label %ifend80 +then78: + %t885 = load ptr, ptr %t1 + %t886 = getelementptr inbounds %Cmp_Node, ptr %t885, i32 0, i32 7 + %t887 = load ptr, ptr %t886 + %t888 = getelementptr inbounds %LSlice, ptr %t887, i32 0, i32 0 + %t889 = load ptr, ptr %t888 + %t890 = getelementptr inbounds ptr, ptr %t889, i32 0 + %t891 = load ptr, ptr %t890 + %t892 = call ptr @fn_emit_expr(ptr %t891) + store ptr %t892, ptr %t893 + %t894 = load ptr, ptr %t1 + %t895 = getelementptr inbounds %Cmp_Node, ptr %t894, i32 0, i32 7 + %t896 = load ptr, ptr %t895 + %t897 = getelementptr inbounds %LSlice, ptr %t896, i32 0, i32 0 + %t898 = load ptr, ptr %t897 + %t899 = getelementptr inbounds ptr, ptr %t898, i32 1 + %t900 = load ptr, ptr %t899 + %t901 = call ptr @fn_emit_expr(ptr %t900) + store ptr %t901, ptr %t902 + %t903 = load ptr, ptr %t902 + %t904 = getelementptr inbounds %Cmp_Val, ptr %t903, i32 0, i32 0 + %t905 = load ptr, ptr %t904 + %t906 = call ptr @lp_str_concat(ptr @.str1524, ptr %t905) + %t907 = call ptr @lp_str_concat(ptr %t906, ptr @.str1525) + %t908 = call ptr @fn_emit_bind(ptr %t907) + store ptr %t908, ptr %t909 + %t910 = load ptr, ptr %t893 + %t911 = getelementptr inbounds %Cmp_Val, ptr %t910, i32 0, i32 0 + %t912 = load ptr, ptr %t911 + %t913 = call ptr @lp_str_concat(ptr @.str1526, ptr %t912) + %t914 = call ptr @lp_str_concat(ptr %t913, ptr @.str1527) + %t915 = load ptr, ptr %t909 + %t916 = call ptr @lp_str_concat(ptr %t914, ptr %t915) + %t917 = call ptr @fn_emit_bind(ptr %t916) + store ptr %t917, ptr %t918 + %t919 = load ptr, ptr %t918 + %t920 = call ptr @lp_str_concat(ptr @.str1528, ptr %t919) + %t921 = call ptr @lp_str_concat(ptr %t920, ptr @.str1529) + %t922 = load ptr, ptr %t909 + %t923 = call ptr @lp_str_concat(ptr %t921, ptr %t922) + %t924 = call ptr @fn_emit_bind(ptr %t923) + store ptr %t924, ptr %t925 + %t926 = load ptr, ptr %t925 + %t927 = call ptr @lp_str_concat(ptr @.str1530, ptr %t926) + %t928 = call ptr @lp_str_concat(ptr %t927, ptr @.str1531) + %t929 = load ptr, ptr %t909 + %t930 = call ptr @lp_str_concat(ptr %t928, ptr %t929) + %t931 = call ptr @fn_emit_bind(ptr %t930) + store ptr %t931, ptr %t932 + %t933 = load ptr, ptr %t932 + %t934 = call ptr @lp_str_concat(ptr @.str1532, ptr %t933) + %t935 = call ptr @lp_str_concat(ptr %t934, ptr @.str1533) + %t936 = load ptr, ptr %t902 + %t937 = getelementptr inbounds %Cmp_Val, ptr %t936, i32 0, i32 0 + %t938 = load ptr, ptr %t937 + %t939 = call ptr @lp_str_concat(ptr %t935, ptr %t938) + %t940 = call ptr @fn_emit_bind(ptr %t939) + store ptr %t940, ptr %t941 + %t942 = load ptr, ptr %t941 + %t943 = call ptr @lp_str_concat(ptr @.str1534, ptr %t942) + %t944 = call ptr @fn_emit_bind(ptr %t943) + store ptr %t944, ptr %t945 + %t946 = load ptr, ptr %t941 + %t947 = call ptr @lp_str_concat(ptr @.str1535, ptr %t946) + %t948 = call ptr @lp_str_concat(ptr %t947, ptr @.str1536) + %t949 = call ptr @fn_emit_bind(ptr %t948) + store ptr %t949, ptr %t950 + %t951 = load ptr, ptr %t950 + %t952 = call ptr @lp_str_concat(ptr @.str1537, ptr %t951) + %t953 = call ptr @lp_str_concat(ptr %t952, ptr @.str1538) + %t954 = load ptr, ptr %t945 + %t955 = call ptr @lp_str_concat(ptr %t953, ptr %t954) + %t956 = call ptr @lp_str_concat(ptr %t955, ptr @.str1539) + %t957 = load ptr, ptr %t941 + %t958 = call ptr @lp_str_concat(ptr %t956, ptr %t957) + %t959 = call ptr @fn_emit_bind(ptr %t958) + store ptr %t959, ptr %t960 + %t961 = load ptr, ptr %t902 + %t962 = getelementptr inbounds %Cmp_Val, ptr %t961, i32 0, i32 0 + %t963 = load ptr, ptr %t962 + %t964 = call ptr @lp_str_concat(ptr @.str1540, ptr %t963) + %t965 = call ptr @lp_str_concat(ptr %t964, ptr @.str1541) + %t966 = load ptr, ptr %t960 + %t967 = call ptr @lp_str_concat(ptr %t965, ptr %t966) + %t968 = call ptr @fn_emit_bind(ptr %t967) + %t969 = call ptr @fn_val(ptr %t968, ptr @.str1542) + store ptr %t969, ptr %retval + br label %ret +ifend80: + %t970 = load ptr, ptr %t0 + %t971 = call i32 @lp_str_eq(ptr %t970, ptr @.str1543) + %t972 = icmp ne i32 %t971, 0 + br i1 %t972, label %then81, label %ifend83 +then81: + %t973 = load ptr, ptr %t1 + %t974 = getelementptr inbounds %Cmp_Node, ptr %t973, i32 0, i32 7 + %t975 = load ptr, ptr %t974 + %t976 = getelementptr inbounds %LSlice, ptr %t975, i32 0, i32 0 + %t977 = load ptr, ptr %t976 + %t978 = getelementptr inbounds ptr, ptr %t977, i32 0 + %t979 = load ptr, ptr %t978 + %t980 = call ptr @fn_emit_expr(ptr %t979) + store ptr %t980, ptr %t981 + %t982 = load ptr, ptr %t1 + %t983 = getelementptr inbounds %Cmp_Node, ptr %t982, i32 0, i32 7 + %t984 = load ptr, ptr %t983 + %t985 = getelementptr inbounds %LSlice, ptr %t984, i32 0, i32 0 + %t986 = load ptr, ptr %t985 + %t987 = getelementptr inbounds ptr, ptr %t986, i32 1 + %t988 = load ptr, ptr %t987 + %t989 = call ptr @fn_emit_expr(ptr %t988) + store ptr %t989, ptr %t990 + %t991 = load ptr, ptr %t981 + %t992 = getelementptr inbounds %Cmp_Val, ptr %t991, i32 0, i32 0 + %t993 = load ptr, ptr %t992 + %t994 = load ptr, ptr %t990 + %t995 = getelementptr inbounds %Cmp_Val, ptr %t994, i32 0, i32 0 + %t996 = load ptr, ptr %t995 + %t997 = call ptr @fn_fx_div_code(ptr %t993, ptr %t996) + store ptr %t997, ptr %t998 + %t999 = load ptr, ptr %t998 + %t1000 = call ptr @lp_str_concat(ptr @.str1544, ptr %t999) + %t1001 = call ptr @lp_str_concat(ptr %t1000, ptr @.str1545) + %t1002 = call ptr @fn_emit_bind(ptr %t1001) + store ptr %t1002, ptr %t1003 + %t1004 = load ptr, ptr %t1003 + %t1005 = call ptr @lp_str_concat(ptr @.str1546, ptr %t1004) + %t1006 = call ptr @lp_str_concat(ptr %t1005, ptr @.str1547) + %t1007 = call ptr @fn_emit_bind(ptr %t1006) + store ptr %t1007, ptr %t1008 + %t1009 = load ptr, ptr %t1008 + %t1010 = call ptr @lp_str_concat(ptr @.str1548, ptr %t1009) + %t1011 = call ptr @lp_str_concat(ptr %t1010, ptr @.str1549) + %t1012 = load ptr, ptr %t990 + %t1013 = getelementptr inbounds %Cmp_Val, ptr %t1012, i32 0, i32 0 + %t1014 = load ptr, ptr %t1013 + %t1015 = call ptr @lp_str_concat(ptr %t1011, ptr %t1014) + %t1016 = call ptr @fn_emit_bind(ptr %t1015) + %t1017 = call ptr @fn_val(ptr %t1016, ptr @.str1550) + store ptr %t1017, ptr %retval + br label %ret +ifend83: + %t1018 = load ptr, ptr %t0 + %t1019 = call i32 @lp_str_eq(ptr %t1018, ptr @.str1551) + %t1020 = icmp ne i32 %t1019, 0 + br i1 %t1020, label %then84, label %ifend86 +then84: + %t1021 = load ptr, ptr %t1 + %t1022 = getelementptr inbounds %Cmp_Node, ptr %t1021, i32 0, i32 7 + %t1023 = load ptr, ptr %t1022 + %t1024 = getelementptr inbounds %LSlice, ptr %t1023, i32 0, i32 0 + %t1025 = load ptr, ptr %t1024 + %t1026 = getelementptr inbounds ptr, ptr %t1025, i32 0 + %t1027 = load ptr, ptr %t1026 + %t1028 = call ptr @fn_emit_expr(ptr %t1027) + store ptr %t1028, ptr %t1029 + %t1030 = load ptr, ptr %t1 + %t1031 = getelementptr inbounds %Cmp_Node, ptr %t1030, i32 0, i32 7 + %t1032 = load ptr, ptr %t1031 + %t1033 = getelementptr inbounds %LSlice, ptr %t1032, i32 0, i32 0 + %t1034 = load ptr, ptr %t1033 + %t1035 = getelementptr inbounds ptr, ptr %t1034, i32 1 + %t1036 = load ptr, ptr %t1035 + %t1037 = call ptr @fn_emit_expr(ptr %t1036) + store ptr %t1037, ptr %t1038 + %t1039 = load ptr, ptr %t1 + %t1040 = getelementptr inbounds %Cmp_Node, ptr %t1039, i32 0, i32 7 + %t1041 = load ptr, ptr %t1040 + %t1042 = getelementptr inbounds %LSlice, ptr %t1041, i32 0, i32 0 + %t1043 = load ptr, ptr %t1042 + %t1044 = getelementptr inbounds ptr, ptr %t1043, i32 2 + %t1045 = load ptr, ptr %t1044 + %t1046 = call ptr @fn_emit_expr(ptr %t1045) + store ptr %t1046, ptr %t1047 + %t1048 = load ptr, ptr %t1038 + %t1049 = getelementptr inbounds %Cmp_Val, ptr %t1048, i32 0, i32 0 + %t1050 = load ptr, ptr %t1049 + %t1051 = call ptr @lp_str_concat(ptr @.str1552, ptr %t1050) + %t1052 = call ptr @lp_str_concat(ptr %t1051, ptr @.str1553) + %t1053 = load ptr, ptr %t1029 + %t1054 = getelementptr inbounds %Cmp_Val, ptr %t1053, i32 0, i32 0 + %t1055 = load ptr, ptr %t1054 + %t1056 = call ptr @lp_str_concat(ptr %t1052, ptr %t1055) + %t1057 = call ptr @fn_emit_bind(ptr %t1056) + store ptr %t1057, ptr %t1058 + %t1059 = load ptr, ptr %t1058 + %t1060 = call ptr @lp_str_concat(ptr @.str1554, ptr %t1059) + %t1061 = call ptr @fn_emit_bind(ptr %t1060) + store ptr %t1061, ptr %t1062 + %t1063 = load ptr, ptr %t1058 + %t1064 = call ptr @lp_str_concat(ptr @.str1555, ptr %t1063) + %t1065 = call ptr @lp_str_concat(ptr %t1064, ptr @.str1556) + %t1066 = call ptr @fn_emit_bind(ptr %t1065) + store ptr %t1066, ptr %t1067 + %t1068 = load ptr, ptr %t1067 + %t1069 = call ptr @lp_str_concat(ptr @.str1557, ptr %t1068) + %t1070 = call ptr @lp_str_concat(ptr %t1069, ptr @.str1558) + %t1071 = load ptr, ptr %t1062 + %t1072 = call ptr @lp_str_concat(ptr %t1070, ptr %t1071) + %t1073 = call ptr @lp_str_concat(ptr %t1072, ptr @.str1559) + %t1074 = load ptr, ptr %t1058 + %t1075 = call ptr @lp_str_concat(ptr %t1073, ptr %t1074) + %t1076 = call ptr @fn_emit_bind(ptr %t1075) + store ptr %t1076, ptr %t1077 + %t1078 = load ptr, ptr %t1058 + %t1079 = call ptr @lp_str_concat(ptr @.str1560, ptr %t1078) + %t1080 = call ptr @lp_str_concat(ptr %t1079, ptr @.str1561) + %t1081 = call ptr @fn_emit_bind(ptr %t1080) + store ptr %t1081, ptr %t1082 + %t1083 = load ptr, ptr %t1058 + %t1084 = call ptr @lp_str_concat(ptr @.str1562, ptr %t1083) + %t1085 = call ptr @lp_str_concat(ptr %t1084, ptr @.str1563) + %t1086 = call ptr @fn_emit_bind(ptr %t1085) + store ptr %t1086, ptr %t1087 + %t1088 = load ptr, ptr %t1087 + %t1089 = call ptr @lp_str_concat(ptr @.str1564, ptr %t1088) + %t1090 = call ptr @lp_str_concat(ptr %t1089, ptr @.str1565) + %t1091 = call ptr @fn_emit_bind(ptr %t1090) + store ptr %t1091, ptr %t1092 + %t1093 = load ptr, ptr %t1082 + %t1094 = call ptr @lp_str_concat(ptr @.str1566, ptr %t1093) + %t1095 = call ptr @lp_str_concat(ptr %t1094, ptr @.str1567) + %t1096 = load ptr, ptr %t1092 + %t1097 = call ptr @lp_str_concat(ptr %t1095, ptr %t1096) + %t1098 = call ptr @fn_emit_bind(ptr %t1097) + store ptr %t1098, ptr %t1099 + %t1100 = load ptr, ptr %t1099 + %t1101 = call ptr @lp_str_concat(ptr @.str1568, ptr %t1100) + %t1102 = call ptr @lp_str_concat(ptr %t1101, ptr @.str1569) + %t1103 = load ptr, ptr %t1047 + %t1104 = getelementptr inbounds %Cmp_Val, ptr %t1103, i32 0, i32 0 + %t1105 = load ptr, ptr %t1104 + %t1106 = call ptr @lp_str_concat(ptr %t1102, ptr %t1105) + %t1107 = call ptr @fn_emit_bind(ptr %t1106) + store ptr %t1107, ptr %t1108 + %t1109 = load ptr, ptr %t1029 + %t1110 = getelementptr inbounds %Cmp_Val, ptr %t1109, i32 0, i32 0 + %t1111 = load ptr, ptr %t1110 + %t1112 = call ptr @lp_str_concat(ptr @.str1570, ptr %t1111) + %t1113 = call ptr @lp_str_concat(ptr %t1112, ptr @.str1571) + %t1114 = load ptr, ptr %t1108 + %t1115 = call ptr @lp_str_concat(ptr %t1113, ptr %t1114) + %t1116 = call ptr @fn_emit_bind(ptr %t1115) + store ptr %t1116, ptr %t1117 + %t1118 = load ptr, ptr %t1077 + %t1119 = call ptr @lp_str_concat(ptr @.str1572, ptr %t1118) + %t1120 = call ptr @lp_str_concat(ptr %t1119, ptr @.str1573) + %t1121 = load ptr, ptr %t1047 + %t1122 = getelementptr inbounds %Cmp_Val, ptr %t1121, i32 0, i32 0 + %t1123 = load ptr, ptr %t1122 + %t1124 = call ptr @lp_str_concat(ptr %t1120, ptr %t1123) + %t1125 = call ptr @fn_emit_bind(ptr %t1124) + store ptr %t1125, ptr %t1126 + %t1127 = load ptr, ptr %t1126 + %t1128 = call ptr @lp_str_concat(ptr @.str1574, ptr %t1127) + %t1129 = call ptr @lp_str_concat(ptr %t1128, ptr @.str1575) + %t1130 = load ptr, ptr %t1038 + %t1131 = getelementptr inbounds %Cmp_Val, ptr %t1130, i32 0, i32 0 + %t1132 = load ptr, ptr %t1131 + %t1133 = call ptr @lp_str_concat(ptr %t1129, ptr %t1132) + %t1134 = call ptr @lp_str_concat(ptr %t1133, ptr @.str1576) + %t1135 = load ptr, ptr %t1117 + %t1136 = call ptr @lp_str_concat(ptr %t1134, ptr %t1135) + %t1137 = call ptr @fn_emit_bind(ptr %t1136) + %t1138 = call ptr @fn_val(ptr %t1137, ptr @.str1577) + store ptr %t1138, ptr %retval + br label %ret +ifend86: + %t1139 = load ptr, ptr %t0 + %t1140 = call i32 @lp_str_eq(ptr %t1139, ptr @.str1578) + %t1141 = icmp ne i32 %t1140, 0 + br i1 %t1141, label %then87, label %ifend89 +then87: + %t1142 = load ptr, ptr %t1 + %t1143 = getelementptr inbounds %Cmp_Node, ptr %t1142, i32 0, i32 7 + %t1144 = load ptr, ptr %t1143 + %t1145 = getelementptr inbounds %LSlice, ptr %t1144, i32 0, i32 0 + %t1146 = load ptr, ptr %t1145 + %t1147 = getelementptr inbounds ptr, ptr %t1146, i32 0 + %t1148 = load ptr, ptr %t1147 + %t1149 = call ptr @fn_emit_expr(ptr %t1148) + store ptr %t1149, ptr %t1150 + %t1151 = load ptr, ptr %t1 + %t1152 = getelementptr inbounds %Cmp_Node, ptr %t1151, i32 0, i32 7 + %t1153 = load ptr, ptr %t1152 + %t1154 = getelementptr inbounds %LSlice, ptr %t1153, i32 0, i32 0 + %t1155 = load ptr, ptr %t1154 + %t1156 = getelementptr inbounds ptr, ptr %t1155, i32 1 + %t1157 = load ptr, ptr %t1156 + %t1158 = call ptr @fn_emit_expr(ptr %t1157) + store ptr %t1158, ptr %t1159 + %t1160 = load ptr, ptr %t1 + %t1161 = getelementptr inbounds %Cmp_Node, ptr %t1160, i32 0, i32 7 + %t1162 = load ptr, ptr %t1161 + %t1163 = getelementptr inbounds %LSlice, ptr %t1162, i32 0, i32 0 + %t1164 = load ptr, ptr %t1163 + %t1165 = getelementptr inbounds ptr, ptr %t1164, i32 2 + %t1166 = load ptr, ptr %t1165 + %t1167 = call ptr @fn_emit_expr(ptr %t1166) + store ptr %t1167, ptr %t1168 + %t1169 = load ptr, ptr %t1150 + %t1170 = getelementptr inbounds %Cmp_Val, ptr %t1169, i32 0, i32 0 + %t1171 = load ptr, ptr %t1170 + %t1172 = load ptr, ptr %t1159 + %t1173 = getelementptr inbounds %Cmp_Val, ptr %t1172, i32 0, i32 0 + %t1174 = load ptr, ptr %t1173 + %t1175 = load ptr, ptr %t1168 + %t1176 = getelementptr inbounds %Cmp_Val, ptr %t1175, i32 0, i32 0 + %t1177 = load ptr, ptr %t1176 + %t1178 = call ptr @fn_fx_inv_lerp_code(ptr %t1171, ptr %t1174, ptr %t1177) + store ptr %t1178, ptr %t1179 + %t1180 = load ptr, ptr %t1179 + %t1181 = call ptr @lp_str_concat(ptr @.str1579, ptr %t1180) + %t1182 = call ptr @lp_str_concat(ptr %t1181, ptr @.str1580) + %t1183 = call ptr @fn_emit_bind(ptr %t1182) + store ptr %t1183, ptr %t1184 + %t1185 = load ptr, ptr %t1184 + %t1186 = call ptr @lp_str_concat(ptr @.str1581, ptr %t1185) + %t1187 = call ptr @lp_str_concat(ptr %t1186, ptr @.str1582) + %t1188 = load ptr, ptr %t1179 + %t1189 = call ptr @lp_str_concat(ptr %t1187, ptr %t1188) + %t1190 = call ptr @fn_emit_bind(ptr %t1189) + store ptr %t1190, ptr %t1191 + %t1192 = load ptr, ptr %t1191 + %t1193 = call ptr @lp_str_concat(ptr @.str1583, ptr %t1192) + %t1194 = call ptr @lp_str_concat(ptr %t1193, ptr @.str1584) + %t1195 = call ptr @fn_emit_bind(ptr %t1194) + store ptr %t1195, ptr %t1196 + %t1197 = load ptr, ptr %t1196 + %t1198 = call ptr @lp_str_concat(ptr @.str1585, ptr %t1197) + %t1199 = call ptr @lp_str_concat(ptr %t1198, ptr @.str1586) + %t1200 = load ptr, ptr %t1191 + %t1201 = call ptr @lp_str_concat(ptr %t1199, ptr %t1200) + %t1202 = call ptr @fn_emit_bind(ptr %t1201) + store ptr %t1202, ptr %t1203 + %t1204 = load ptr, ptr %t1203 + %t1205 = call ptr @lp_str_concat(ptr @.str1587, ptr %t1204) + %t1206 = call ptr @lp_str_concat(ptr %t1205, ptr @.str1588) + %t1207 = call ptr @fn_emit_bind(ptr %t1206) + store ptr %t1207, ptr %t1208 + %t1209 = load ptr, ptr %t1208 + %t1210 = call ptr @lp_str_concat(ptr @.str1589, 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 @.str1590) + 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 @.str1591) + 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 @.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) + br label %ret +ret: + ret void +} + +define ptr @fn_vec_pack(ptr %arg_x, ptr %arg_y) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t1 = alloca ptr + %t6 = alloca ptr + %t11 = alloca ptr + %t16 = alloca ptr + store ptr %arg_x, ptr %t0 + store ptr %arg_y, ptr %t1 + %t2 = load ptr, ptr %t0 + %t3 = call ptr @lp_str_concat(ptr @.str1701, ptr %t2) + %t4 = call ptr @lp_str_concat(ptr %t3, ptr @.str1702) + %t5 = call ptr @fn_emit_bind(ptr %t4) + store ptr %t5, ptr %t6 + %t7 = load ptr, ptr %t6 + %t8 = call ptr @lp_str_concat(ptr @.str1703, ptr %t7) + %t9 = call ptr @lp_str_concat(ptr %t8, ptr @.str1704) + %t10 = call ptr @fn_emit_bind(ptr %t9) + store ptr %t10, ptr %t11 + %t12 = load ptr, ptr %t1 + %t13 = call ptr @lp_str_concat(ptr @.str1705, ptr %t12) + %t14 = call ptr @lp_str_concat(ptr %t13, ptr @.str1706) + %t15 = call ptr @fn_emit_bind(ptr %t14) + store ptr %t15, ptr %t16 + %t17 = load ptr, ptr %t11 + %t18 = call ptr @lp_str_concat(ptr @.str1707, ptr %t17) + %t19 = call ptr @lp_str_concat(ptr %t18, ptr @.str1708) + %t20 = load ptr, ptr %t16 + %t21 = call ptr @lp_str_concat(ptr %t19, ptr %t20) + %t22 = call ptr @fn_emit_bind(ptr %t21) + store ptr %t22, ptr %retval + br label %ret +ret: + %t23 = load ptr, ptr %retval + ret ptr %t23 +} + +define ptr @fn_vec_x(ptr %arg_v) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t5 = alloca ptr + store ptr %arg_v, ptr %t0 + %t1 = load ptr, ptr %t0 + %t2 = call ptr @lp_str_concat(ptr @.str1709, ptr %t1) + %t3 = call ptr @lp_str_concat(ptr %t2, ptr @.str1710) + %t4 = call ptr @fn_emit_bind(ptr %t3) + store ptr %t4, ptr %t5 + %t6 = load ptr, ptr %t5 + %t7 = call ptr @lp_str_concat(ptr @.str1711, ptr %t6) + %t8 = call ptr @lp_str_concat(ptr %t7, ptr @.str1712) + %t9 = call ptr @fn_emit_bind(ptr %t8) + store ptr %t9, ptr %retval + br label %ret +ret: + %t10 = load ptr, ptr %retval + ret ptr %t10 +} + +define ptr @fn_vec_y(ptr %arg_v) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + store ptr %arg_v, ptr %t0 + %t1 = load ptr, ptr %t0 + %t2 = call ptr @lp_str_concat(ptr @.str1713, ptr %t1) + %t3 = call ptr @lp_str_concat(ptr %t2, ptr @.str1714) + %t4 = call ptr @fn_emit_bind(ptr %t3) + store ptr %t4, ptr %retval + br label %ret +ret: + %t5 = load ptr, ptr %retval + ret ptr %t5 +} + +define i32 @fn_is_vector_ns(ptr %arg_meth) { +entry: + %retval = alloca i32 + %t0 = alloca ptr + %t1 = alloca i32 + %t2 = alloca i32 + %t3 = alloca i32 + %t28 = alloca i32 + %t29 = alloca i32 + %t30 = alloca i32 + %t55 = alloca i32 + %t56 = alloca i32 + %t57 = alloca i32 + %t82 = alloca i32 + %t83 = alloca i32 + store ptr %arg_meth, ptr %t0 + %t4 = load ptr, ptr %t0 + %t5 = call i32 @lp_str_eq(ptr %t4, ptr @.str1715) + %t6 = icmp ne i32 %t5, 0 + %t7 = zext i1 %t6 to i32 + store i32 %t7, ptr %t3 + br i1 %t6, label %scend1, label %sc0 +sc0: + %t8 = load ptr, ptr %t0 + %t9 = call i32 @lp_str_eq(ptr %t8, ptr @.str1716) + %t10 = icmp ne i32 %t9, 0 + %t11 = zext i1 %t10 to i32 + store i32 %t11, ptr %t3 + br label %scend1 +scend1: + %t12 = load i32, ptr %t3 + %t13 = icmp ne i32 %t12, 0 + %t14 = zext i1 %t13 to i32 + store i32 %t14, ptr %t2 + br i1 %t13, label %scend3, label %sc2 +sc2: + %t15 = load ptr, ptr %t0 + %t16 = call i32 @lp_str_eq(ptr %t15, ptr @.str1717) + %t17 = icmp ne i32 %t16, 0 + %t18 = zext i1 %t17 to i32 + store i32 %t18, ptr %t2 + br label %scend3 +scend3: + %t19 = load i32, ptr %t2 + %t20 = icmp ne i32 %t19, 0 + %t21 = zext i1 %t20 to i32 + store i32 %t21, ptr %t1 + br i1 %t20, label %scend5, label %sc4 +sc4: + %t22 = load ptr, ptr %t0 + %t23 = call i32 @lp_str_eq(ptr %t22, ptr @.str1718) + %t24 = icmp ne i32 %t23, 0 + %t25 = zext i1 %t24 to i32 + store i32 %t25, ptr %t1 + br label %scend5 +scend5: + %t26 = load i32, ptr %t1 + %t27 = icmp ne i32 %t26, 0 + br i1 %t27, label %then6, label %ifend8 +then6: + store i32 1, ptr %retval + br label %ret +ifend8: + %t31 = load ptr, ptr %t0 + %t32 = call i32 @lp_str_eq(ptr %t31, ptr @.str1719) + %t33 = icmp ne i32 %t32, 0 + %t34 = zext i1 %t33 to i32 + store i32 %t34, ptr %t30 + br i1 %t33, label %scend10, label %sc9 +sc9: + %t35 = load ptr, ptr %t0 + %t36 = call i32 @lp_str_eq(ptr %t35, ptr @.str1720) + %t37 = icmp ne i32 %t36, 0 + %t38 = zext i1 %t37 to i32 + store i32 %t38, ptr %t30 + br label %scend10 +scend10: + %t39 = load i32, ptr %t30 + %t40 = icmp ne i32 %t39, 0 + %t41 = zext i1 %t40 to i32 + store i32 %t41, ptr %t29 + br i1 %t40, label %scend12, label %sc11 +sc11: + %t42 = load ptr, ptr %t0 + %t43 = call i32 @lp_str_eq(ptr %t42, ptr @.str1721) + %t44 = icmp ne i32 %t43, 0 + %t45 = zext i1 %t44 to i32 + store i32 %t45, ptr %t29 + br label %scend12 +scend12: + %t46 = load i32, ptr %t29 + %t47 = icmp ne i32 %t46, 0 + %t48 = zext i1 %t47 to i32 + store i32 %t48, ptr %t28 + br i1 %t47, label %scend14, label %sc13 +sc13: + %t49 = load ptr, ptr %t0 + %t50 = call i32 @lp_str_eq(ptr %t49, ptr @.str1722) + %t51 = icmp ne i32 %t50, 0 + %t52 = zext i1 %t51 to i32 + store i32 %t52, ptr %t28 + br label %scend14 +scend14: + %t53 = load i32, ptr %t28 + %t54 = icmp ne i32 %t53, 0 + br i1 %t54, label %then15, label %ifend17 +then15: + store i32 1, ptr %retval + br label %ret +ifend17: + %t58 = load ptr, ptr %t0 + %t59 = call i32 @lp_str_eq(ptr %t58, ptr @.str1723) + %t60 = icmp ne i32 %t59, 0 + %t61 = zext i1 %t60 to i32 + store i32 %t61, ptr %t57 + br i1 %t60, label %scend19, label %sc18 +sc18: + %t62 = load ptr, ptr %t0 + %t63 = call i32 @lp_str_eq(ptr %t62, ptr @.str1724) + %t64 = icmp ne i32 %t63, 0 + %t65 = zext i1 %t64 to i32 + store i32 %t65, ptr %t57 + br label %scend19 +scend19: + %t66 = load i32, ptr %t57 + %t67 = icmp ne i32 %t66, 0 + %t68 = zext i1 %t67 to i32 + store i32 %t68, ptr %t56 + br i1 %t67, label %scend21, label %sc20 +sc20: + %t69 = load ptr, ptr %t0 + %t70 = call i32 @lp_str_eq(ptr %t69, ptr @.str1725) + %t71 = icmp ne i32 %t70, 0 + %t72 = zext i1 %t71 to i32 + store i32 %t72, ptr %t56 + br label %scend21 +scend21: + %t73 = load i32, ptr %t56 + %t74 = icmp ne i32 %t73, 0 + %t75 = zext i1 %t74 to i32 + store i32 %t75, ptr %t55 + br i1 %t74, label %scend23, label %sc22 +sc22: + %t76 = load ptr, ptr %t0 + %t77 = call i32 @lp_str_eq(ptr %t76, ptr @.str1726) + %t78 = icmp ne i32 %t77, 0 + %t79 = zext i1 %t78 to i32 + store i32 %t79, ptr %t55 + br label %scend23 +scend23: + %t80 = load i32, ptr %t55 + %t81 = icmp ne i32 %t80, 0 + br i1 %t81, label %then24, label %ifend26 +then24: + store i32 1, ptr %retval + br label %ret +ifend26: + %t84 = load ptr, ptr %t0 + %t85 = call i32 @lp_str_eq(ptr %t84, ptr @.str1727) + %t86 = icmp ne i32 %t85, 0 + %t87 = zext i1 %t86 to i32 + store i32 %t87, ptr %t83 + br i1 %t86, label %scend28, label %sc27 +sc27: + %t88 = load ptr, ptr %t0 + %t89 = call i32 @lp_str_eq(ptr %t88, ptr @.str1728) + %t90 = icmp ne i32 %t89, 0 + %t91 = zext i1 %t90 to i32 + store i32 %t91, ptr %t83 + br label %scend28 +scend28: + %t92 = load i32, ptr %t83 + %t93 = icmp ne i32 %t92, 0 + %t94 = zext i1 %t93 to i32 + store i32 %t94, ptr %t82 + br i1 %t93, label %scend30, label %sc29 +sc29: + %t95 = load ptr, ptr %t0 + %t96 = call i32 @lp_str_eq(ptr %t95, ptr @.str1729) + %t97 = icmp ne i32 %t96, 0 + %t98 = zext i1 %t97 to i32 + store i32 %t98, ptr %t82 + br label %scend30 +scend30: + %t99 = load i32, ptr %t82 + %t100 = icmp ne i32 %t99, 0 + br i1 %t100, label %then31, label %ifend33 +then31: + store i32 1, ptr %retval + br label %ret +ifend33: + store i32 0, ptr %retval + br label %ret +ret: + %t101 = load i32, ptr %retval + ret i32 %t101 +} + +define ptr @fn_emit_vector_ns(ptr %arg_meth, ptr %arg_e) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t1 = alloca ptr + %t17 = alloca ptr + %t26 = alloca ptr + %t46 = alloca ptr + %t63 = alloca ptr + %t80 = alloca ptr + %t89 = alloca ptr + %t94 = alloca ptr + %t99 = alloca ptr + %t104 = alloca ptr + %t109 = alloca ptr + %t116 = alloca ptr + %t123 = alloca ptr + %t139 = alloca ptr + %t148 = alloca ptr + %t153 = alloca ptr + %t158 = alloca ptr + %t163 = alloca ptr + %t168 = alloca ptr + %t175 = alloca ptr + %t182 = alloca ptr + %t198 = alloca ptr + %t207 = alloca ptr + %t212 = alloca ptr + %t217 = alloca ptr + %t223 = alloca ptr + %t229 = alloca ptr + %t245 = alloca ptr + %t254 = alloca ptr + %t259 = alloca ptr + %t264 = alloca ptr + %t269 = alloca ptr + %t274 = alloca ptr + %t278 = alloca ptr + %t282 = alloca ptr + %t301 = alloca ptr + %t306 = alloca ptr + %t311 = alloca ptr + %t315 = alloca ptr + %t319 = alloca ptr + %t326 = alloca ptr + %t343 = alloca ptr + %t352 = alloca ptr + %t357 = alloca ptr + %t362 = alloca ptr + %t367 = alloca ptr + %t372 = alloca ptr + %t379 = alloca ptr + %t386 = alloca ptr + %t390 = alloca ptr + %t394 = alloca ptr + %t401 = alloca ptr + %t418 = alloca ptr + %t423 = alloca ptr + %t428 = alloca ptr + %t432 = alloca ptr + %t436 = alloca ptr + %t443 = alloca ptr + %t448 = alloca ptr + %t453 = alloca ptr + %t460 = alloca ptr + %t463 = alloca ptr + %t467 = alloca ptr + %t471 = alloca ptr + %t487 = alloca ptr + %t496 = alloca ptr + %t503 = alloca ptr + %t510 = alloca ptr + %t515 = alloca ptr + %t520 = alloca ptr + %t525 = alloca ptr + %t529 = alloca ptr + %t533 = alloca ptr + %t537 = alloca ptr + %t541 = alloca ptr + %t548 = alloca ptr + %t555 = alloca ptr + %t571 = alloca ptr + %t576 = alloca ptr + %t581 = alloca ptr + %t601 = alloca ptr + %t608 = alloca ptr + %t615 = alloca ptr + %t620 = alloca ptr + %t633 = alloca ptr + %t642 = alloca ptr + %t651 = alloca ptr + %t656 = alloca ptr + %t661 = alloca ptr + %t666 = alloca ptr + %t671 = alloca ptr + %t678 = alloca ptr + %t685 = alloca ptr + store ptr %arg_meth, ptr %t0 + store ptr %arg_e, ptr %t1 + %t2 = load ptr, ptr %t0 + %t3 = call i32 @lp_str_eq(ptr %t2, ptr @.str1730) + %t4 = icmp ne i32 %t3, 0 + br i1 %t4, label %then0, label %ifend2 +then0: + %t5 = call ptr @fn_val(ptr @.str1731, ptr @.str1732) + store ptr %t5, ptr %retval + br label %ret +ifend2: + %t6 = load ptr, ptr %t0 + %t7 = call i32 @lp_str_eq(ptr %t6, ptr @.str1733) + %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 @.str1734) + store ptr %t34, ptr %retval + br label %ret +ifend5: + %t35 = load ptr, ptr %t0 + %t36 = call i32 @lp_str_eq(ptr %t35, ptr @.str1735) + %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 @.str1736) + store ptr %t51, ptr %retval + br label %ret +ifend8: + %t52 = load ptr, ptr %t0 + %t53 = call i32 @lp_str_eq(ptr %t52, ptr @.str1737) + %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 @.str1738) + store ptr %t68, ptr %retval + br label %ret +ifend11: + %t69 = load ptr, ptr %t0 + %t70 = call i32 @lp_str_eq(ptr %t69, ptr @.str1739) + %t71 = icmp ne i32 %t70, 0 + br i1 %t71, label %then12, label %ifend14 +then12: + %t72 = load ptr, ptr %t1 + %t73 = getelementptr inbounds %Cmp_Node, ptr %t72, i32 0, i32 7 + %t74 = load ptr, ptr %t73 + %t75 = getelementptr inbounds %LSlice, ptr %t74, i32 0, i32 0 + %t76 = load ptr, ptr %t75 + %t77 = getelementptr inbounds ptr, ptr %t76, i32 0 + %t78 = load ptr, ptr %t77 + %t79 = call ptr @fn_emit_expr(ptr %t78) + store ptr %t79, ptr %t80 + %t81 = load ptr, ptr %t1 + %t82 = getelementptr inbounds %Cmp_Node, ptr %t81, i32 0, i32 7 + %t83 = load ptr, ptr %t82 + %t84 = getelementptr inbounds %LSlice, ptr %t83, i32 0, i32 0 + %t85 = load ptr, ptr %t84 + %t86 = getelementptr inbounds ptr, ptr %t85, i32 1 + %t87 = load ptr, ptr %t86 + %t88 = call ptr @fn_emit_expr(ptr %t87) + store ptr %t88, ptr %t89 + %t90 = load ptr, ptr %t80 + %t91 = getelementptr inbounds %Cmp_Val, ptr %t90, i32 0, i32 0 + %t92 = load ptr, ptr %t91 + %t93 = call ptr @fn_vec_x(ptr %t92) + store ptr %t93, ptr %t94 + %t95 = load ptr, ptr %t80 + %t96 = getelementptr inbounds %Cmp_Val, ptr %t95, i32 0, i32 0 + %t97 = load ptr, ptr %t96 + %t98 = call ptr @fn_vec_y(ptr %t97) + store ptr %t98, ptr %t99 + %t100 = load ptr, ptr %t89 + %t101 = getelementptr inbounds %Cmp_Val, ptr %t100, i32 0, i32 0 + %t102 = load ptr, ptr %t101 + %t103 = call ptr @fn_vec_x(ptr %t102) + store ptr %t103, ptr %t104 + %t105 = load ptr, ptr %t89 + %t106 = getelementptr inbounds %Cmp_Val, ptr %t105, i32 0, i32 0 + %t107 = load ptr, ptr %t106 + %t108 = call ptr @fn_vec_y(ptr %t107) + store ptr %t108, ptr %t109 + %t110 = load ptr, ptr %t94 + %t111 = call ptr @lp_str_concat(ptr @.str1740, ptr %t110) + %t112 = call ptr @lp_str_concat(ptr %t111, ptr @.str1741) + %t113 = load ptr, ptr %t104 + %t114 = call ptr @lp_str_concat(ptr %t112, ptr %t113) + %t115 = call ptr @fn_emit_bind(ptr %t114) + store ptr %t115, ptr %t116 + %t117 = load ptr, ptr %t99 + %t118 = call ptr @lp_str_concat(ptr @.str1742, ptr %t117) + %t119 = call ptr @lp_str_concat(ptr %t118, ptr @.str1743) + %t120 = load ptr, ptr %t109 + %t121 = call ptr @lp_str_concat(ptr %t119, ptr %t120) + %t122 = call ptr @fn_emit_bind(ptr %t121) + store ptr %t122, ptr %t123 + %t124 = load ptr, ptr %t116 + %t125 = load ptr, ptr %t123 + %t126 = call ptr @fn_vec_pack(ptr %t124, ptr %t125) + %t127 = call ptr @fn_val(ptr %t126, ptr @.str1744) + store ptr %t127, ptr %retval + br label %ret +ifend14: + %t128 = load ptr, ptr %t0 + %t129 = call i32 @lp_str_eq(ptr %t128, ptr @.str1745) + %t130 = icmp ne i32 %t129, 0 + br i1 %t130, label %then15, label %ifend17 +then15: + %t131 = load ptr, ptr %t1 + %t132 = getelementptr inbounds %Cmp_Node, ptr %t131, i32 0, i32 7 + %t133 = load ptr, ptr %t132 + %t134 = getelementptr inbounds %LSlice, ptr %t133, i32 0, i32 0 + %t135 = load ptr, ptr %t134 + %t136 = getelementptr inbounds ptr, ptr %t135, i32 0 + %t137 = load ptr, ptr %t136 + %t138 = call ptr @fn_emit_expr(ptr %t137) + store ptr %t138, ptr %t139 + %t140 = load ptr, ptr %t1 + %t141 = getelementptr inbounds %Cmp_Node, ptr %t140, i32 0, i32 7 + %t142 = load ptr, ptr %t141 + %t143 = getelementptr inbounds %LSlice, ptr %t142, i32 0, i32 0 + %t144 = load ptr, ptr %t143 + %t145 = getelementptr inbounds ptr, ptr %t144, i32 1 + %t146 = load ptr, ptr %t145 + %t147 = call ptr @fn_emit_expr(ptr %t146) + store ptr %t147, ptr %t148 + %t149 = load ptr, ptr %t139 + %t150 = getelementptr inbounds %Cmp_Val, ptr %t149, i32 0, i32 0 + %t151 = load ptr, ptr %t150 + %t152 = call ptr @fn_vec_x(ptr %t151) + store ptr %t152, ptr %t153 + %t154 = load ptr, ptr %t139 + %t155 = getelementptr inbounds %Cmp_Val, ptr %t154, i32 0, i32 0 + %t156 = load ptr, ptr %t155 + %t157 = call ptr @fn_vec_y(ptr %t156) + store ptr %t157, ptr %t158 + %t159 = load ptr, ptr %t148 + %t160 = getelementptr inbounds %Cmp_Val, ptr %t159, i32 0, i32 0 + %t161 = load ptr, ptr %t160 + %t162 = call ptr @fn_vec_x(ptr %t161) + store ptr %t162, ptr %t163 + %t164 = load ptr, ptr %t148 + %t165 = getelementptr inbounds %Cmp_Val, ptr %t164, i32 0, i32 0 + %t166 = load ptr, ptr %t165 + %t167 = call ptr @fn_vec_y(ptr %t166) + store ptr %t167, ptr %t168 + %t169 = load ptr, ptr %t153 + %t170 = call ptr @lp_str_concat(ptr @.str1746, ptr %t169) + %t171 = call ptr @lp_str_concat(ptr %t170, ptr @.str1747) + %t172 = load ptr, ptr %t163 + %t173 = call ptr @lp_str_concat(ptr %t171, ptr %t172) + %t174 = call ptr @fn_emit_bind(ptr %t173) + store ptr %t174, ptr %t175 + %t176 = load ptr, ptr %t158 + %t177 = call ptr @lp_str_concat(ptr @.str1748, ptr %t176) + %t178 = call ptr @lp_str_concat(ptr %t177, ptr @.str1749) + %t179 = load ptr, ptr %t168 + %t180 = call ptr @lp_str_concat(ptr %t178, ptr %t179) + %t181 = call ptr @fn_emit_bind(ptr %t180) + store ptr %t181, ptr %t182 + %t183 = load ptr, ptr %t175 + %t184 = load ptr, ptr %t182 + %t185 = call ptr @fn_vec_pack(ptr %t183, ptr %t184) + %t186 = call ptr @fn_val(ptr %t185, ptr @.str1750) + store ptr %t186, ptr %retval + br label %ret +ifend17: + %t187 = load ptr, ptr %t0 + %t188 = call i32 @lp_str_eq(ptr %t187, ptr @.str1751) + %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 @.str1752) + store ptr %t233, ptr %retval + br label %ret +ifend20: + %t234 = load ptr, ptr %t0 + %t235 = call i32 @lp_str_eq(ptr %t234, ptr @.str1753) + %t236 = icmp ne i32 %t235, 0 + br i1 %t236, label %then21, label %ifend23 +then21: + %t237 = load ptr, ptr %t1 + %t238 = getelementptr inbounds %Cmp_Node, ptr %t237, i32 0, i32 7 + %t239 = load ptr, ptr %t238 + %t240 = getelementptr inbounds %LSlice, ptr %t239, i32 0, i32 0 + %t241 = load ptr, ptr %t240 + %t242 = getelementptr inbounds ptr, ptr %t241, i32 0 + %t243 = load ptr, ptr %t242 + %t244 = call ptr @fn_emit_expr(ptr %t243) + store ptr %t244, ptr %t245 + %t246 = load ptr, ptr %t1 + %t247 = getelementptr inbounds %Cmp_Node, ptr %t246, i32 0, i32 7 + %t248 = load ptr, ptr %t247 + %t249 = getelementptr inbounds %LSlice, ptr %t248, i32 0, i32 0 + %t250 = load ptr, ptr %t249 + %t251 = getelementptr inbounds ptr, ptr %t250, i32 1 + %t252 = load ptr, ptr %t251 + %t253 = call ptr @fn_emit_expr(ptr %t252) + store ptr %t253, ptr %t254 + %t255 = load ptr, ptr %t245 + %t256 = getelementptr inbounds %Cmp_Val, ptr %t255, i32 0, i32 0 + %t257 = load ptr, ptr %t256 + %t258 = call ptr @fn_vec_x(ptr %t257) + store ptr %t258, ptr %t259 + %t260 = load ptr, ptr %t245 + %t261 = getelementptr inbounds %Cmp_Val, ptr %t260, i32 0, i32 0 + %t262 = load ptr, ptr %t261 + %t263 = call ptr @fn_vec_y(ptr %t262) + store ptr %t263, ptr %t264 + %t265 = load ptr, ptr %t254 + %t266 = getelementptr inbounds %Cmp_Val, ptr %t265, i32 0, i32 0 + %t267 = load ptr, ptr %t266 + %t268 = call ptr @fn_vec_x(ptr %t267) + store ptr %t268, ptr %t269 + %t270 = load ptr, ptr %t254 + %t271 = getelementptr inbounds %Cmp_Val, ptr %t270, i32 0, i32 0 + %t272 = load ptr, ptr %t271 + %t273 = call ptr @fn_vec_y(ptr %t272) + store ptr %t273, ptr %t274 + %t275 = load ptr, ptr %t259 + %t276 = load ptr, ptr %t269 + %t277 = call ptr @fn_fx_mul_code(ptr %t275, ptr %t276) + store ptr %t277, ptr %t278 + %t279 = load ptr, ptr %t264 + %t280 = load ptr, ptr %t274 + %t281 = call ptr @fn_fx_mul_code(ptr %t279, ptr %t280) + store ptr %t281, ptr %t282 + %t283 = load ptr, ptr %t278 + %t284 = call ptr @lp_str_concat(ptr @.str1754, ptr %t283) + %t285 = call ptr @lp_str_concat(ptr %t284, ptr @.str1755) + %t286 = load ptr, ptr %t282 + %t287 = call ptr @lp_str_concat(ptr %t285, ptr %t286) + %t288 = call ptr @fn_emit_bind(ptr %t287) + %t289 = call ptr @fn_val(ptr %t288, ptr @.str1756) + store ptr %t289, ptr %retval + br label %ret +ifend23: + %t290 = load ptr, ptr %t0 + %t291 = call i32 @lp_str_eq(ptr %t290, ptr @.str1757) + %t292 = icmp ne i32 %t291, 0 + br i1 %t292, label %then24, label %ifend26 +then24: + store i32 1, ptr @g_g_uses_mathrt + %t293 = load ptr, ptr %t1 + %t294 = getelementptr inbounds %Cmp_Node, ptr %t293, i32 0, i32 7 + %t295 = load ptr, ptr %t294 + %t296 = getelementptr inbounds %LSlice, ptr %t295, i32 0, i32 0 + %t297 = load ptr, ptr %t296 + %t298 = getelementptr inbounds ptr, ptr %t297, i32 0 + %t299 = load ptr, ptr %t298 + %t300 = call ptr @fn_emit_expr(ptr %t299) + store ptr %t300, ptr %t301 + %t302 = load ptr, ptr %t301 + %t303 = getelementptr inbounds %Cmp_Val, ptr %t302, i32 0, i32 0 + %t304 = load ptr, ptr %t303 + %t305 = call ptr @fn_vec_x(ptr %t304) + store ptr %t305, ptr %t306 + %t307 = load ptr, ptr %t301 + %t308 = getelementptr inbounds %Cmp_Val, ptr %t307, i32 0, i32 0 + %t309 = load ptr, ptr %t308 + %t310 = call ptr @fn_vec_y(ptr %t309) + store ptr %t310, ptr %t311 + %t312 = load ptr, ptr %t306 + %t313 = load ptr, ptr %t306 + %t314 = call ptr @fn_fx_mul_code(ptr %t312, ptr %t313) + store ptr %t314, ptr %t315 + %t316 = load ptr, ptr %t311 + %t317 = load ptr, ptr %t311 + %t318 = call ptr @fn_fx_mul_code(ptr %t316, ptr %t317) + store ptr %t318, ptr %t319 + %t320 = load ptr, ptr %t315 + %t321 = call ptr @lp_str_concat(ptr @.str1758, ptr %t320) + %t322 = call ptr @lp_str_concat(ptr %t321, ptr @.str1759) + %t323 = load ptr, ptr %t319 + %t324 = call ptr @lp_str_concat(ptr %t322, ptr %t323) + %t325 = call ptr @fn_emit_bind(ptr %t324) + store ptr %t325, ptr %t326 + %t327 = load ptr, ptr %t326 + %t328 = call ptr @lp_str_concat(ptr @.str1760, ptr %t327) + %t329 = call ptr @lp_str_concat(ptr %t328, ptr @.str1761) + %t330 = call ptr @fn_emit_bind(ptr %t329) + %t331 = call ptr @fn_val(ptr %t330, ptr @.str1762) + store ptr %t331, ptr %retval + br label %ret +ifend26: + %t332 = load ptr, ptr %t0 + %t333 = call i32 @lp_str_eq(ptr %t332, ptr @.str1763) + %t334 = icmp ne i32 %t333, 0 + br i1 %t334, label %then27, label %ifend29 +then27: + store i32 1, ptr @g_g_uses_mathrt + %t335 = load ptr, ptr %t1 + %t336 = getelementptr inbounds %Cmp_Node, ptr %t335, i32 0, i32 7 + %t337 = load ptr, ptr %t336 + %t338 = getelementptr inbounds %LSlice, ptr %t337, i32 0, i32 0 + %t339 = load ptr, ptr %t338 + %t340 = getelementptr inbounds ptr, ptr %t339, i32 0 + %t341 = load ptr, ptr %t340 + %t342 = call ptr @fn_emit_expr(ptr %t341) + store ptr %t342, ptr %t343 + %t344 = load ptr, ptr %t1 + %t345 = getelementptr inbounds %Cmp_Node, ptr %t344, i32 0, i32 7 + %t346 = load ptr, ptr %t345 + %t347 = getelementptr inbounds %LSlice, ptr %t346, i32 0, i32 0 + %t348 = load ptr, ptr %t347 + %t349 = getelementptr inbounds ptr, ptr %t348, i32 1 + %t350 = load ptr, ptr %t349 + %t351 = call ptr @fn_emit_expr(ptr %t350) + store ptr %t351, ptr %t352 + %t353 = load ptr, ptr %t343 + %t354 = getelementptr inbounds %Cmp_Val, ptr %t353, i32 0, i32 0 + %t355 = load ptr, ptr %t354 + %t356 = call ptr @fn_vec_x(ptr %t355) + store ptr %t356, ptr %t357 + %t358 = load ptr, ptr %t343 + %t359 = getelementptr inbounds %Cmp_Val, ptr %t358, i32 0, i32 0 + %t360 = load ptr, ptr %t359 + %t361 = call ptr @fn_vec_y(ptr %t360) + store ptr %t361, ptr %t362 + %t363 = load ptr, ptr %t352 + %t364 = getelementptr inbounds %Cmp_Val, ptr %t363, i32 0, i32 0 + %t365 = load ptr, ptr %t364 + %t366 = call ptr @fn_vec_x(ptr %t365) + store ptr %t366, ptr %t367 + %t368 = load ptr, ptr %t352 + %t369 = getelementptr inbounds %Cmp_Val, ptr %t368, i32 0, i32 0 + %t370 = load ptr, ptr %t369 + %t371 = call ptr @fn_vec_y(ptr %t370) + store ptr %t371, ptr %t372 + %t373 = load ptr, ptr %t357 + %t374 = call ptr @lp_str_concat(ptr @.str1764, ptr %t373) + %t375 = call ptr @lp_str_concat(ptr %t374, ptr @.str1765) + %t376 = load ptr, ptr %t367 + %t377 = call ptr @lp_str_concat(ptr %t375, ptr %t376) + %t378 = call ptr @fn_emit_bind(ptr %t377) + store ptr %t378, ptr %t379 + %t380 = load ptr, ptr %t362 + %t381 = call ptr @lp_str_concat(ptr @.str1766, ptr %t380) + %t382 = call ptr @lp_str_concat(ptr %t381, ptr @.str1767) + %t383 = load ptr, ptr %t372 + %t384 = call ptr @lp_str_concat(ptr %t382, ptr %t383) + %t385 = call ptr @fn_emit_bind(ptr %t384) + store ptr %t385, ptr %t386 + %t387 = load ptr, ptr %t379 + %t388 = load ptr, ptr %t379 + %t389 = call ptr @fn_fx_mul_code(ptr %t387, ptr %t388) + store ptr %t389, ptr %t390 + %t391 = load ptr, ptr %t386 + %t392 = load ptr, ptr %t386 + %t393 = call ptr @fn_fx_mul_code(ptr %t391, ptr %t392) + store ptr %t393, ptr %t394 + %t395 = load ptr, ptr %t390 + %t396 = call ptr @lp_str_concat(ptr @.str1768, ptr %t395) + %t397 = call ptr @lp_str_concat(ptr %t396, ptr @.str1769) + %t398 = load ptr, ptr %t394 + %t399 = call ptr @lp_str_concat(ptr %t397, ptr %t398) + %t400 = call ptr @fn_emit_bind(ptr %t399) + store ptr %t400, ptr %t401 + %t402 = load ptr, ptr %t401 + %t403 = call ptr @lp_str_concat(ptr @.str1770, ptr %t402) + %t404 = call ptr @lp_str_concat(ptr %t403, ptr @.str1771) + %t405 = call ptr @fn_emit_bind(ptr %t404) + %t406 = call ptr @fn_val(ptr %t405, ptr @.str1772) + store ptr %t406, ptr %retval + br label %ret +ifend29: + %t407 = load ptr, ptr %t0 + %t408 = call i32 @lp_str_eq(ptr %t407, ptr @.str1773) + %t409 = icmp ne i32 %t408, 0 + br i1 %t409, label %then30, label %ifend32 +then30: + store i32 1, ptr @g_g_uses_mathrt + %t410 = load ptr, ptr %t1 + %t411 = getelementptr inbounds %Cmp_Node, ptr %t410, i32 0, i32 7 + %t412 = load ptr, ptr %t411 + %t413 = getelementptr inbounds %LSlice, ptr %t412, i32 0, i32 0 + %t414 = load ptr, ptr %t413 + %t415 = getelementptr inbounds ptr, ptr %t414, i32 0 + %t416 = load ptr, ptr %t415 + %t417 = call ptr @fn_emit_expr(ptr %t416) + store ptr %t417, ptr %t418 + %t419 = load ptr, ptr %t418 + %t420 = getelementptr inbounds %Cmp_Val, ptr %t419, i32 0, i32 0 + %t421 = load ptr, ptr %t420 + %t422 = call ptr @fn_vec_x(ptr %t421) + store ptr %t422, ptr %t423 + %t424 = load ptr, ptr %t418 + %t425 = getelementptr inbounds %Cmp_Val, ptr %t424, i32 0, i32 0 + %t426 = load ptr, ptr %t425 + %t427 = call ptr @fn_vec_y(ptr %t426) + store ptr %t427, ptr %t428 + %t429 = load ptr, ptr %t423 + %t430 = load ptr, ptr %t423 + %t431 = call ptr @fn_fx_mul_code(ptr %t429, ptr %t430) + store ptr %t431, ptr %t432 + %t433 = load ptr, ptr %t428 + %t434 = load ptr, ptr %t428 + %t435 = call ptr @fn_fx_mul_code(ptr %t433, ptr %t434) + store ptr %t435, ptr %t436 + %t437 = load ptr, ptr %t432 + %t438 = call ptr @lp_str_concat(ptr @.str1774, ptr %t437) + %t439 = call ptr @lp_str_concat(ptr %t438, ptr @.str1775) + %t440 = load ptr, ptr %t436 + %t441 = call ptr @lp_str_concat(ptr %t439, ptr %t440) + %t442 = call ptr @fn_emit_bind(ptr %t441) + store ptr %t442, ptr %t443 + %t444 = load ptr, ptr %t443 + %t445 = call ptr @lp_str_concat(ptr @.str1776, ptr %t444) + %t446 = call ptr @lp_str_concat(ptr %t445, ptr @.str1777) + %t447 = call ptr @fn_emit_bind(ptr %t446) + store ptr %t447, ptr %t448 + %t449 = load ptr, ptr %t448 + %t450 = call ptr @lp_str_concat(ptr @.str1778, ptr %t449) + %t451 = call ptr @lp_str_concat(ptr %t450, ptr @.str1779) + %t452 = call ptr @fn_emit_bind(ptr %t451) + store ptr %t452, ptr %t453 + %t454 = load ptr, ptr %t453 + %t455 = call ptr @lp_str_concat(ptr @.str1780, ptr %t454) + %t456 = call ptr @lp_str_concat(ptr %t455, ptr @.str1781) + %t457 = load ptr, ptr %t448 + %t458 = call ptr @lp_str_concat(ptr %t456, ptr %t457) + %t459 = call ptr @fn_emit_bind(ptr %t458) + store ptr %t459, ptr %t460 + %t461 = load ptr, ptr %t460 + %t462 = call ptr @fn_fx_div_code(ptr @.str1782, 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 @.str1783) + store ptr %t475, ptr %retval + br label %ret +ifend32: + %t476 = load ptr, ptr %t0 + %t477 = call i32 @lp_str_eq(ptr %t476, ptr @.str1784) + %t478 = icmp ne i32 %t477, 0 + br i1 %t478, label %then33, label %ifend35 +then33: + store i32 1, ptr @g_g_uses_mathrt + %t479 = load ptr, ptr %t1 + %t480 = getelementptr inbounds %Cmp_Node, ptr %t479, i32 0, i32 7 + %t481 = load ptr, ptr %t480 + %t482 = getelementptr inbounds %LSlice, ptr %t481, i32 0, i32 0 + %t483 = load ptr, ptr %t482 + %t484 = getelementptr inbounds ptr, ptr %t483, i32 0 + %t485 = load ptr, ptr %t484 + %t486 = call ptr @fn_emit_expr(ptr %t485) + store ptr %t486, ptr %t487 + %t488 = load ptr, ptr %t1 + %t489 = getelementptr inbounds %Cmp_Node, ptr %t488, i32 0, i32 7 + %t490 = load ptr, ptr %t489 + %t491 = getelementptr inbounds %LSlice, ptr %t490, i32 0, i32 0 + %t492 = load ptr, ptr %t491 + %t493 = getelementptr inbounds ptr, ptr %t492, i32 1 + %t494 = load ptr, ptr %t493 + %t495 = call ptr @fn_emit_expr(ptr %t494) + store ptr %t495, ptr %t496 + %t497 = load ptr, ptr %t496 + %t498 = getelementptr inbounds %Cmp_Val, ptr %t497, i32 0, i32 0 + %t499 = load ptr, ptr %t498 + %t500 = call ptr @lp_str_concat(ptr @.str1785, ptr %t499) + %t501 = call ptr @lp_str_concat(ptr %t500, ptr @.str1786) + %t502 = call ptr @fn_emit_bind(ptr %t501) + store ptr %t502, ptr %t503 + %t504 = load ptr, ptr %t496 + %t505 = getelementptr inbounds %Cmp_Val, ptr %t504, i32 0, i32 0 + %t506 = load ptr, ptr %t505 + %t507 = call ptr @lp_str_concat(ptr @.str1787, ptr %t506) + %t508 = call ptr @lp_str_concat(ptr %t507, ptr @.str1788) + %t509 = call ptr @fn_emit_bind(ptr %t508) + store ptr %t509, ptr %t510 + %t511 = load ptr, ptr %t510 + %t512 = call ptr @lp_str_concat(ptr @.str1789, ptr %t511) + %t513 = call ptr @lp_str_concat(ptr %t512, ptr @.str1790) + %t514 = call ptr @fn_emit_bind(ptr %t513) + store ptr %t514, ptr %t515 + %t516 = load ptr, ptr %t487 + %t517 = getelementptr inbounds %Cmp_Val, ptr %t516, i32 0, i32 0 + %t518 = load ptr, ptr %t517 + %t519 = call ptr @fn_vec_x(ptr %t518) + store ptr %t519, ptr %t520 + %t521 = load ptr, ptr %t487 + %t522 = getelementptr inbounds %Cmp_Val, ptr %t521, i32 0, i32 0 + %t523 = load ptr, ptr %t522 + %t524 = call ptr @fn_vec_y(ptr %t523) + store ptr %t524, ptr %t525 + %t526 = load ptr, ptr %t520 + %t527 = load ptr, ptr %t515 + %t528 = call ptr @fn_fx_mul_code(ptr %t526, ptr %t527) + store ptr %t528, ptr %t529 + %t530 = load ptr, ptr %t525 + %t531 = load ptr, ptr %t503 + %t532 = call ptr @fn_fx_mul_code(ptr %t530, ptr %t531) + store ptr %t532, ptr %t533 + %t534 = load ptr, ptr %t520 + %t535 = load ptr, ptr %t503 + %t536 = call ptr @fn_fx_mul_code(ptr %t534, ptr %t535) + store ptr %t536, ptr %t537 + %t538 = load ptr, ptr %t525 + %t539 = load ptr, ptr %t515 + %t540 = call ptr @fn_fx_mul_code(ptr %t538, ptr %t539) + store ptr %t540, ptr %t541 + %t542 = load ptr, ptr %t529 + %t543 = call ptr @lp_str_concat(ptr @.str1791, ptr %t542) + %t544 = call ptr @lp_str_concat(ptr %t543, ptr @.str1792) + %t545 = load ptr, ptr %t533 + %t546 = call ptr @lp_str_concat(ptr %t544, ptr %t545) + %t547 = call ptr @fn_emit_bind(ptr %t546) + store ptr %t547, ptr %t548 + %t549 = load ptr, ptr %t537 + %t550 = call ptr @lp_str_concat(ptr @.str1793, ptr %t549) + %t551 = call ptr @lp_str_concat(ptr %t550, ptr @.str1794) + %t552 = load ptr, ptr %t541 + %t553 = call ptr @lp_str_concat(ptr %t551, ptr %t552) + %t554 = call ptr @fn_emit_bind(ptr %t553) + store ptr %t554, ptr %t555 + %t556 = load ptr, ptr %t548 + %t557 = load ptr, ptr %t555 + %t558 = call ptr @fn_vec_pack(ptr %t556, ptr %t557) + %t559 = call ptr @fn_val(ptr %t558, ptr @.str1795) + store ptr %t559, ptr %retval + br label %ret +ifend35: + %t560 = load ptr, ptr %t0 + %t561 = call i32 @lp_str_eq(ptr %t560, ptr @.str1796) + %t562 = icmp ne i32 %t561, 0 + br i1 %t562, label %then36, label %ifend38 +then36: + store i32 1, ptr @g_g_uses_mathrt + %t563 = load ptr, ptr %t1 + %t564 = getelementptr inbounds %Cmp_Node, ptr %t563, i32 0, i32 7 + %t565 = load ptr, ptr %t564 + %t566 = getelementptr inbounds %LSlice, ptr %t565, i32 0, i32 0 + %t567 = load ptr, ptr %t566 + %t568 = getelementptr inbounds ptr, ptr %t567, i32 0 + %t569 = load ptr, ptr %t568 + %t570 = call ptr @fn_emit_expr(ptr %t569) + store ptr %t570, ptr %t571 + %t572 = load ptr, ptr %t571 + %t573 = getelementptr inbounds %Cmp_Val, ptr %t572, i32 0, i32 0 + %t574 = load ptr, ptr %t573 + %t575 = call ptr @fn_vec_x(ptr %t574) + store ptr %t575, ptr %t576 + %t577 = load ptr, ptr %t571 + %t578 = getelementptr inbounds %Cmp_Val, ptr %t577, i32 0, i32 0 + %t579 = load ptr, ptr %t578 + %t580 = call ptr @fn_vec_y(ptr %t579) + store ptr %t580, ptr %t581 + %t582 = load ptr, ptr %t581 + %t583 = call ptr @lp_str_concat(ptr @.str1797, ptr %t582) + %t584 = call ptr @lp_str_concat(ptr %t583, ptr @.str1798) + %t585 = load ptr, ptr %t576 + %t586 = call ptr @lp_str_concat(ptr %t584, ptr %t585) + %t587 = call ptr @lp_str_concat(ptr %t586, ptr @.str1799) + %t588 = call ptr @fn_emit_bind(ptr %t587) + %t589 = call ptr @fn_val(ptr %t588, ptr @.str1800) + store ptr %t589, ptr %retval + br label %ret +ifend38: + %t590 = load ptr, ptr %t0 + %t591 = call i32 @lp_str_eq(ptr %t590, ptr @.str1801) + %t592 = icmp ne i32 %t591, 0 + br i1 %t592, label %then39, label %ifend41 +then39: + store i32 1, ptr @g_g_uses_mathrt + %t593 = load ptr, ptr %t1 + %t594 = getelementptr inbounds %Cmp_Node, ptr %t593, i32 0, i32 7 + %t595 = load ptr, ptr %t594 + %t596 = getelementptr inbounds %LSlice, ptr %t595, i32 0, i32 0 + %t597 = load ptr, ptr %t596 + %t598 = getelementptr inbounds ptr, ptr %t597, i32 0 + %t599 = load ptr, ptr %t598 + %t600 = call ptr @fn_emit_expr(ptr %t599) + store ptr %t600, ptr %t601 + %t602 = load ptr, ptr %t601 + %t603 = getelementptr inbounds %Cmp_Val, ptr %t602, i32 0, i32 0 + %t604 = load ptr, ptr %t603 + %t605 = call ptr @lp_str_concat(ptr @.str1802, ptr %t604) + %t606 = call ptr @lp_str_concat(ptr %t605, ptr @.str1803) + %t607 = call ptr @fn_emit_bind(ptr %t606) + store ptr %t607, ptr %t608 + %t609 = load ptr, ptr %t601 + %t610 = getelementptr inbounds %Cmp_Val, ptr %t609, i32 0, i32 0 + %t611 = load ptr, ptr %t610 + %t612 = call ptr @lp_str_concat(ptr @.str1804, ptr %t611) + %t613 = call ptr @lp_str_concat(ptr %t612, ptr @.str1805) + %t614 = call ptr @fn_emit_bind(ptr %t613) + store ptr %t614, ptr %t615 + %t616 = load ptr, ptr %t615 + %t617 = call ptr @lp_str_concat(ptr @.str1806, ptr %t616) + %t618 = call ptr @lp_str_concat(ptr %t617, ptr @.str1807) + %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 @.str1808) + 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 @.str1809) + store ptr %t689, ptr %retval + br label %ret +ret: + %t690 = load ptr, ptr %retval + ret ptr %t690 +} + +define ptr @fn_ivec_abs(ptr %arg_d) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t4 = alloca ptr + %t9 = alloca ptr + store ptr %arg_d, ptr %t0 + %t1 = load ptr, ptr %t0 + %t2 = call ptr @lp_str_concat(ptr @.str1810, ptr %t1) + %t3 = call ptr @fn_emit_bind(ptr %t2) + store ptr %t3, ptr %t4 + %t5 = load ptr, ptr %t0 + %t6 = call ptr @lp_str_concat(ptr @.str1811, ptr %t5) + %t7 = call ptr @lp_str_concat(ptr %t6, ptr @.str1812) + %t8 = call ptr @fn_emit_bind(ptr %t7) + store ptr %t8, ptr %t9 + %t10 = load ptr, ptr %t9 + %t11 = call ptr @lp_str_concat(ptr @.str1813, ptr %t10) + %t12 = call ptr @lp_str_concat(ptr %t11, ptr @.str1814) + %t13 = load ptr, ptr %t4 + %t14 = call ptr @lp_str_concat(ptr %t12, ptr %t13) + %t15 = call ptr @lp_str_concat(ptr %t14, ptr @.str1815) + %t16 = load ptr, ptr %t0 + %t17 = call ptr @lp_str_concat(ptr %t15, ptr %t16) + %t18 = call ptr @fn_emit_bind(ptr %t17) + store ptr %t18, ptr %retval + br label %ret +ret: + %t19 = load ptr, ptr %retval + ret ptr %t19 +} + +define i32 @fn_is_ivec_ns(ptr %arg_meth) { +entry: + %retval = alloca i32 + %t0 = alloca ptr + %t1 = alloca i32 + %t2 = alloca i32 + %t3 = alloca i32 + %t28 = alloca i32 + %t29 = alloca i32 + %t30 = alloca i32 + %t55 = alloca i32 + %t56 = alloca i32 + %t74 = alloca i32 + %t75 = alloca i32 + %t76 = alloca i32 + %t77 = alloca i32 + store ptr %arg_meth, ptr %t0 + %t4 = load ptr, ptr %t0 + %t5 = call i32 @lp_str_eq(ptr %t4, ptr @.str1816) + %t6 = icmp ne i32 %t5, 0 + %t7 = zext i1 %t6 to i32 + store i32 %t7, ptr %t3 + br i1 %t6, label %scend1, label %sc0 +sc0: + %t8 = load ptr, ptr %t0 + %t9 = call i32 @lp_str_eq(ptr %t8, ptr @.str1817) + %t10 = icmp ne i32 %t9, 0 + %t11 = zext i1 %t10 to i32 + store i32 %t11, ptr %t3 + br label %scend1 +scend1: + %t12 = load i32, ptr %t3 + %t13 = icmp ne i32 %t12, 0 + %t14 = zext i1 %t13 to i32 + store i32 %t14, ptr %t2 + br i1 %t13, label %scend3, label %sc2 +sc2: + %t15 = load ptr, ptr %t0 + %t16 = call i32 @lp_str_eq(ptr %t15, ptr @.str1818) + %t17 = icmp ne i32 %t16, 0 + %t18 = zext i1 %t17 to i32 + store i32 %t18, ptr %t2 + br label %scend3 +scend3: + %t19 = load i32, ptr %t2 + %t20 = icmp ne i32 %t19, 0 + %t21 = zext i1 %t20 to i32 + store i32 %t21, ptr %t1 + br i1 %t20, label %scend5, label %sc4 +sc4: + %t22 = load ptr, ptr %t0 + %t23 = call i32 @lp_str_eq(ptr %t22, ptr @.str1819) + %t24 = icmp ne i32 %t23, 0 + %t25 = zext i1 %t24 to i32 + store i32 %t25, ptr %t1 + br label %scend5 +scend5: + %t26 = load i32, ptr %t1 + %t27 = icmp ne i32 %t26, 0 + br i1 %t27, label %then6, label %ifend8 +then6: + store i32 1, ptr %retval + br label %ret +ifend8: + %t31 = load ptr, ptr %t0 + %t32 = call i32 @lp_str_eq(ptr %t31, ptr @.str1820) + %t33 = icmp ne i32 %t32, 0 + %t34 = zext i1 %t33 to i32 + store i32 %t34, ptr %t30 + br i1 %t33, label %scend10, label %sc9 +sc9: + %t35 = load ptr, ptr %t0 + %t36 = call i32 @lp_str_eq(ptr %t35, ptr @.str1821) + %t37 = icmp ne i32 %t36, 0 + %t38 = zext i1 %t37 to i32 + store i32 %t38, ptr %t30 + br label %scend10 +scend10: + %t39 = load i32, ptr %t30 + %t40 = icmp ne i32 %t39, 0 + %t41 = zext i1 %t40 to i32 + store i32 %t41, ptr %t29 + br i1 %t40, label %scend12, label %sc11 +sc11: + %t42 = load ptr, ptr %t0 + %t43 = call i32 @lp_str_eq(ptr %t42, ptr @.str1822) + %t44 = icmp ne i32 %t43, 0 + %t45 = zext i1 %t44 to i32 + store i32 %t45, ptr %t29 + br label %scend12 +scend12: + %t46 = load i32, ptr %t29 + %t47 = icmp ne i32 %t46, 0 + %t48 = zext i1 %t47 to i32 + store i32 %t48, ptr %t28 + br i1 %t47, label %scend14, label %sc13 +sc13: + %t49 = load ptr, ptr %t0 + %t50 = call i32 @lp_str_eq(ptr %t49, ptr @.str1823) + %t51 = icmp ne i32 %t50, 0 + %t52 = zext i1 %t51 to i32 + store i32 %t52, ptr %t28 + br label %scend14 +scend14: + %t53 = load i32, ptr %t28 + %t54 = icmp ne i32 %t53, 0 + br i1 %t54, label %then15, label %ifend17 +then15: + store i32 1, ptr %retval + br label %ret +ifend17: + %t57 = load ptr, ptr %t0 + %t58 = call i32 @lp_str_eq(ptr %t57, ptr @.str1824) + %t59 = icmp ne i32 %t58, 0 + %t60 = zext i1 %t59 to i32 + store i32 %t60, ptr %t56 + br i1 %t59, label %scend19, label %sc18 +sc18: + %t61 = load ptr, ptr %t0 + %t62 = call i32 @lp_str_eq(ptr %t61, ptr @.str1825) + %t63 = icmp ne i32 %t62, 0 + %t64 = zext i1 %t63 to i32 + store i32 %t64, ptr %t56 + br label %scend19 +scend19: + %t65 = load i32, ptr %t56 + %t66 = icmp ne i32 %t65, 0 + %t67 = zext i1 %t66 to i32 + store i32 %t67, ptr %t55 + br i1 %t66, label %scend21, label %sc20 +sc20: + %t68 = load ptr, ptr %t0 + %t69 = call i32 @lp_str_eq(ptr %t68, ptr @.str1826) + %t70 = icmp ne i32 %t69, 0 + %t71 = zext i1 %t70 to i32 + store i32 %t71, ptr %t55 + br label %scend21 +scend21: + %t72 = load i32, ptr %t55 + %t73 = icmp ne i32 %t72, 0 + br i1 %t73, label %then22, label %ifend24 +then22: + store i32 1, ptr %retval + br label %ret +ifend24: + %t78 = load ptr, ptr %t0 + %t79 = call i32 @lp_str_eq(ptr %t78, ptr @.str1827) + %t80 = icmp ne i32 %t79, 0 + %t81 = zext i1 %t80 to i32 + store i32 %t81, ptr %t77 + br i1 %t80, label %scend26, label %sc25 +sc25: + %t82 = load ptr, ptr %t0 + %t83 = call i32 @lp_str_eq(ptr %t82, ptr @.str1828) + %t84 = icmp ne i32 %t83, 0 + %t85 = zext i1 %t84 to i32 + store i32 %t85, ptr %t77 + br label %scend26 +scend26: + %t86 = load i32, ptr %t77 + %t87 = icmp ne i32 %t86, 0 + %t88 = zext i1 %t87 to i32 + store i32 %t88, ptr %t76 + br i1 %t87, label %scend28, label %sc27 +sc27: + %t89 = load ptr, ptr %t0 + %t90 = call i32 @lp_str_eq(ptr %t89, ptr @.str1829) + %t91 = icmp ne i32 %t90, 0 + %t92 = zext i1 %t91 to i32 + store i32 %t92, ptr %t76 + br label %scend28 +scend28: + %t93 = load i32, ptr %t76 + %t94 = icmp ne i32 %t93, 0 + %t95 = zext i1 %t94 to i32 + store i32 %t95, ptr %t75 + br i1 %t94, label %scend30, label %sc29 +sc29: + %t96 = load ptr, ptr %t0 + %t97 = call i32 @lp_str_eq(ptr %t96, ptr @.str1830) + %t98 = icmp ne i32 %t97, 0 + %t99 = zext i1 %t98 to i32 + store i32 %t99, ptr %t75 + br label %scend30 +scend30: + %t100 = load i32, ptr %t75 + %t101 = icmp ne i32 %t100, 0 + %t102 = zext i1 %t101 to i32 + store i32 %t102, ptr %t74 + br i1 %t101, label %scend32, label %sc31 +sc31: + %t103 = load ptr, ptr %t0 + %t104 = call i32 @lp_str_eq(ptr %t103, ptr @.str1831) + %t105 = icmp ne i32 %t104, 0 + %t106 = zext i1 %t105 to i32 + store i32 %t106, ptr %t74 + br label %scend32 +scend32: + %t107 = load i32, ptr %t74 + %t108 = icmp ne i32 %t107, 0 + br i1 %t108, label %then33, label %ifend35 +then33: + store i32 1, ptr %retval + br label %ret +ifend35: + store i32 0, ptr %retval + br label %ret +ret: + %t109 = load i32, ptr %retval + ret i32 %t109 +} + +define ptr @fn_emit_ivec_ns(ptr %arg_meth, ptr %arg_e) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t1 = alloca ptr + %t17 = alloca ptr + %t26 = alloca ptr + %t46 = alloca ptr + %t63 = alloca ptr + %t69 = alloca i32 + %t88 = alloca ptr + %t97 = alloca ptr + %t110 = alloca ptr + %t123 = alloca ptr + %t130 = alloca ptr + %t137 = alloca ptr + %t144 = alloca ptr + %t158 = alloca ptr + %t169 = alloca ptr + %t176 = alloca ptr + %t197 = alloca ptr + %t206 = alloca ptr + %t234 = alloca ptr + %t243 = alloca ptr + %t252 = alloca ptr + %t285 = alloca ptr + %t304 = alloca ptr + %t313 = alloca ptr + %t318 = alloca ptr + %t323 = alloca ptr + %t328 = alloca ptr + %t333 = alloca ptr + %t340 = alloca ptr + %t347 = alloca ptr + %t363 = alloca ptr + %t372 = alloca ptr + %t377 = alloca ptr + %t382 = alloca ptr + %t387 = alloca ptr + %t392 = alloca ptr + %t399 = alloca ptr + %t406 = alloca ptr + %t422 = alloca ptr + %t431 = alloca ptr + %t436 = alloca ptr + %t441 = alloca ptr + %t450 = alloca ptr + %t459 = alloca ptr + %t475 = alloca ptr + %t484 = alloca ptr + %t489 = alloca ptr + %t494 = alloca ptr + %t499 = alloca ptr + %t504 = alloca ptr + %t511 = alloca ptr + %t518 = alloca ptr + %t537 = alloca ptr + %t546 = alloca ptr + %t557 = alloca ptr + %t574 = alloca ptr + %t583 = alloca ptr + %t588 = alloca ptr + %t593 = alloca ptr + %t598 = alloca ptr + %t603 = alloca ptr + %t610 = alloca ptr + %t617 = alloca ptr + %t620 = alloca ptr + %t623 = alloca ptr + %t639 = alloca ptr + %t644 = alloca ptr + %t649 = alloca ptr + %t654 = alloca ptr + %t659 = alloca ptr + store ptr %arg_meth, ptr %t0 + store ptr %arg_e, ptr %t1 + %t2 = load ptr, ptr %t0 + %t3 = call i32 @lp_str_eq(ptr %t2, ptr @.str1832) + %t4 = icmp ne i32 %t3, 0 + br i1 %t4, label %then0, label %ifend2 +then0: + %t5 = call ptr @fn_val(ptr @.str1833, ptr @.str1834) + store ptr %t5, ptr %retval + br label %ret +ifend2: + %t6 = load ptr, ptr %t0 + %t7 = call i32 @lp_str_eq(ptr %t6, ptr @.str1835) + %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 @.str1836) + store ptr %t34, ptr %retval + br label %ret +ifend5: + %t35 = load ptr, ptr %t0 + %t36 = call i32 @lp_str_eq(ptr %t35, ptr @.str1837) + %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 @.str1838) + store ptr %t51, ptr %retval + br label %ret +ifend8: + %t52 = load ptr, ptr %t0 + %t53 = call i32 @lp_str_eq(ptr %t52, ptr @.str1839) + %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 @.str1840) + store ptr %t68, ptr %retval + br label %ret +ifend11: + %t70 = load ptr, ptr %t0 + %t71 = call i32 @lp_str_eq(ptr %t70, ptr @.str1841) + %t72 = icmp ne i32 %t71, 0 + %t73 = zext i1 %t72 to i32 + store i32 %t73, ptr %t69 + br i1 %t72, label %scend13, label %sc12 +sc12: + %t74 = load ptr, ptr %t0 + %t75 = call i32 @lp_str_eq(ptr %t74, ptr @.str1842) + %t76 = icmp ne i32 %t75, 0 + %t77 = zext i1 %t76 to i32 + store i32 %t77, ptr %t69 + br label %scend13 +scend13: + %t78 = load i32, ptr %t69 + %t79 = icmp ne i32 %t78, 0 + br i1 %t79, label %then14, label %ifend16 +then14: + %t80 = load ptr, ptr %t1 + %t81 = getelementptr inbounds %Cmp_Node, ptr %t80, i32 0, i32 7 + %t82 = load ptr, ptr %t81 + %t83 = getelementptr inbounds %LSlice, ptr %t82, i32 0, i32 0 + %t84 = load ptr, ptr %t83 + %t85 = getelementptr inbounds ptr, ptr %t84, i32 0 + %t86 = load ptr, ptr %t85 + %t87 = call ptr @fn_emit_expr(ptr %t86) + store ptr %t87, ptr %t88 + %t89 = load ptr, ptr %t1 + %t90 = getelementptr inbounds %Cmp_Node, ptr %t89, i32 0, i32 7 + %t91 = load ptr, ptr %t90 + %t92 = getelementptr inbounds %LSlice, ptr %t91, i32 0, i32 0 + %t93 = load ptr, ptr %t92 + %t94 = getelementptr inbounds ptr, ptr %t93, i32 1 + %t95 = load ptr, ptr %t94 + %t96 = call ptr @fn_emit_expr(ptr %t95) + store ptr %t96, ptr %t97 + %t98 = load ptr, ptr %t97 + %t99 = getelementptr inbounds %Cmp_Val, ptr %t98, i32 0, i32 0 + %t100 = load ptr, ptr %t99 + %t101 = call ptr @fn_vec_x(ptr %t100) + %t102 = call ptr @lp_str_concat(ptr @.str1843, ptr %t101) + %t103 = call ptr @lp_str_concat(ptr %t102, ptr @.str1844) + %t104 = load ptr, ptr %t88 + %t105 = getelementptr inbounds %Cmp_Val, ptr %t104, i32 0, i32 0 + %t106 = load ptr, ptr %t105 + %t107 = call ptr @fn_vec_x(ptr %t106) + %t108 = call ptr @lp_str_concat(ptr %t103, ptr %t107) + %t109 = call ptr @fn_emit_bind(ptr %t108) + store ptr %t109, ptr %t110 + %t111 = load ptr, ptr %t97 + %t112 = getelementptr inbounds %Cmp_Val, ptr %t111, i32 0, i32 0 + %t113 = load ptr, ptr %t112 + %t114 = call ptr @fn_vec_y(ptr %t113) + %t115 = call ptr @lp_str_concat(ptr @.str1845, ptr %t114) + %t116 = call ptr @lp_str_concat(ptr %t115, ptr @.str1846) + %t117 = load ptr, ptr %t88 + %t118 = getelementptr inbounds %Cmp_Val, ptr %t117, i32 0, i32 0 + %t119 = load ptr, ptr %t118 + %t120 = call ptr @fn_vec_y(ptr %t119) + %t121 = call ptr @lp_str_concat(ptr %t116, ptr %t120) + %t122 = call ptr @fn_emit_bind(ptr %t121) + store ptr %t122, ptr %t123 + %t124 = load ptr, ptr %t110 + %t125 = call ptr @lp_str_concat(ptr @.str1847, ptr %t124) + %t126 = call ptr @lp_str_concat(ptr %t125, ptr @.str1848) + %t127 = load ptr, ptr %t110 + %t128 = call ptr @lp_str_concat(ptr %t126, ptr %t127) + %t129 = call ptr @fn_emit_bind(ptr %t128) + store ptr %t129, ptr %t130 + %t131 = load ptr, ptr %t123 + %t132 = call ptr @lp_str_concat(ptr @.str1849, ptr %t131) + %t133 = call ptr @lp_str_concat(ptr %t132, ptr @.str1850) + %t134 = load ptr, ptr %t123 + %t135 = call ptr @lp_str_concat(ptr %t133, ptr %t134) + %t136 = call ptr @fn_emit_bind(ptr %t135) + store ptr %t136, ptr %t137 + %t138 = load ptr, ptr %t130 + %t139 = call ptr @lp_str_concat(ptr @.str1851, ptr %t138) + %t140 = call ptr @lp_str_concat(ptr %t139, ptr @.str1852) + %t141 = load ptr, ptr %t137 + %t142 = call ptr @lp_str_concat(ptr %t140, ptr %t141) + %t143 = call ptr @fn_emit_bind(ptr %t142) + store ptr %t143, ptr %t144 + %t145 = load ptr, ptr %t0 + %t146 = call i32 @lp_str_eq(ptr %t145, ptr @.str1853) + %t147 = icmp ne i32 %t146, 0 + br i1 %t147, label %then17, label %ifend19 +then17: + %t148 = load ptr, ptr %t144 + %t149 = call ptr @fn_val(ptr %t148, ptr @.str1854) + store ptr %t149, ptr %retval + br label %ret +ifend19: + %t150 = load ptr, ptr %t1 + %t151 = getelementptr inbounds %Cmp_Node, ptr %t150, i32 0, i32 7 + %t152 = load ptr, ptr %t151 + %t153 = getelementptr inbounds %LSlice, ptr %t152, i32 0, i32 0 + %t154 = load ptr, ptr %t153 + %t155 = getelementptr inbounds ptr, ptr %t154, i32 2 + %t156 = load ptr, ptr %t155 + %t157 = call ptr @fn_emit_expr(ptr %t156) + store ptr %t157, ptr %t158 + %t159 = load ptr, ptr %t158 + %t160 = getelementptr inbounds %Cmp_Val, ptr %t159, i32 0, i32 0 + %t161 = load ptr, ptr %t160 + %t162 = call ptr @lp_str_concat(ptr @.str1855, ptr %t161) + %t163 = call ptr @lp_str_concat(ptr %t162, ptr @.str1856) + %t164 = load ptr, ptr %t158 + %t165 = getelementptr inbounds %Cmp_Val, ptr %t164, i32 0, i32 0 + %t166 = load ptr, ptr %t165 + %t167 = call ptr @lp_str_concat(ptr %t163, ptr %t166) + %t168 = call ptr @fn_emit_bind(ptr %t167) + store ptr %t168, ptr %t169 + %t170 = load ptr, ptr %t144 + %t171 = call ptr @lp_str_concat(ptr @.str1857, ptr %t170) + %t172 = call ptr @lp_str_concat(ptr %t171, ptr @.str1858) + %t173 = load ptr, ptr %t169 + %t174 = call ptr @lp_str_concat(ptr %t172, ptr %t173) + %t175 = call ptr @fn_emit_bind(ptr %t174) + store ptr %t175, ptr %t176 + %t177 = load ptr, ptr %t176 + %t178 = call ptr @lp_str_concat(ptr @.str1859, ptr %t177) + %t179 = call ptr @lp_str_concat(ptr %t178, ptr @.str1860) + %t180 = call ptr @fn_emit_bind(ptr %t179) + %t181 = call ptr @fn_val(ptr %t180, ptr @.str1861) + store ptr %t181, ptr %retval + br label %ret +ifend16: + %t182 = load ptr, ptr %t0 + %t183 = call i32 @lp_str_eq(ptr %t182, ptr @.str1862) + %t184 = icmp ne i32 %t183, 0 + br i1 %t184, label %then20, label %ifend22 +then20: + %t185 = call ptr @fn_find_fn(ptr @.str1863) + %t186 = icmp eq ptr %t185, null + %t187 = zext i1 %t186 to i32 + %t188 = icmp ne i32 %t187, 0 + br i1 %t188, label %then23, label %ifend25 +then23: + call void @fn_perr(ptr @.str1864) + br label %ifend25 +ifend25: + %t189 = load ptr, ptr %t1 + %t190 = getelementptr inbounds %Cmp_Node, ptr %t189, i32 0, i32 7 + %t191 = load ptr, ptr %t190 + %t192 = getelementptr inbounds %LSlice, ptr %t191, i32 0, i32 0 + %t193 = load ptr, ptr %t192 + %t194 = getelementptr inbounds ptr, ptr %t193, i32 0 + %t195 = load ptr, ptr %t194 + %t196 = call ptr @fn_emit_expr(ptr %t195) + store ptr %t196, ptr %t197 + %t198 = load ptr, ptr %t1 + %t199 = getelementptr inbounds %Cmp_Node, ptr %t198, i32 0, i32 7 + %t200 = load ptr, ptr %t199 + %t201 = getelementptr inbounds %LSlice, ptr %t200, i32 0, i32 0 + %t202 = load ptr, ptr %t201 + %t203 = getelementptr inbounds ptr, ptr %t202, i32 1 + %t204 = load ptr, ptr %t203 + %t205 = call ptr @fn_emit_expr(ptr %t204) + store ptr %t205, ptr %t206 + %t207 = load ptr, ptr %t197 + %t208 = getelementptr inbounds %Cmp_Val, ptr %t207, i32 0, i32 0 + %t209 = load ptr, ptr %t208 + %t210 = call ptr @lp_str_concat(ptr @.str1865, ptr %t209) + %t211 = call ptr @lp_str_concat(ptr %t210, ptr @.str1866) + %t212 = load ptr, ptr %t206 + %t213 = getelementptr inbounds %Cmp_Val, ptr %t212, i32 0, i32 0 + %t214 = load ptr, ptr %t213 + %t215 = call ptr @lp_str_concat(ptr %t211, ptr %t214) + %t216 = call ptr @lp_str_concat(ptr %t215, ptr @.str1867) + %t217 = call ptr @fn_emit_bind(ptr %t216) + %t218 = call ptr @fn_val(ptr %t217, ptr @.str1868) + store ptr %t218, ptr %retval + br label %ret +ifend22: + %t219 = load ptr, ptr %t0 + %t220 = call i32 @lp_str_eq(ptr %t219, ptr @.str1869) + %t221 = icmp ne i32 %t220, 0 + br i1 %t221, label %then26, label %ifend28 +then26: + %t222 = call ptr @fn_find_fn(ptr @.str1870) + %t223 = icmp eq ptr %t222, null + %t224 = zext i1 %t223 to i32 + %t225 = icmp ne i32 %t224, 0 + br i1 %t225, label %then29, label %ifend31 +then29: + call void @fn_perr(ptr @.str1871) + br label %ifend31 +ifend31: + %t226 = load ptr, ptr %t1 + %t227 = getelementptr inbounds %Cmp_Node, ptr %t226, i32 0, i32 7 + %t228 = load ptr, ptr %t227 + %t229 = getelementptr inbounds %LSlice, ptr %t228, i32 0, i32 0 + %t230 = load ptr, ptr %t229 + %t231 = getelementptr inbounds ptr, ptr %t230, i32 0 + %t232 = load ptr, ptr %t231 + %t233 = call ptr @fn_emit_expr(ptr %t232) + store ptr %t233, ptr %t234 + %t235 = load ptr, ptr %t1 + %t236 = getelementptr inbounds %Cmp_Node, ptr %t235, i32 0, i32 7 + %t237 = load ptr, ptr %t236 + %t238 = getelementptr inbounds %LSlice, ptr %t237, i32 0, i32 0 + %t239 = load ptr, ptr %t238 + %t240 = getelementptr inbounds ptr, ptr %t239, i32 1 + %t241 = load ptr, ptr %t240 + %t242 = call ptr @fn_emit_expr(ptr %t241) + store ptr %t242, ptr %t243 + %t244 = load ptr, ptr %t1 + %t245 = getelementptr inbounds %Cmp_Node, ptr %t244, i32 0, i32 7 + %t246 = load ptr, ptr %t245 + %t247 = getelementptr inbounds %LSlice, ptr %t246, i32 0, i32 0 + %t248 = load ptr, ptr %t247 + %t249 = getelementptr inbounds ptr, ptr %t248, i32 2 + %t250 = load ptr, ptr %t249 + %t251 = call ptr @fn_emit_expr(ptr %t250) + store ptr %t251, ptr %t252 + %t253 = load ptr, ptr %t234 + %t254 = getelementptr inbounds %Cmp_Val, ptr %t253, i32 0, i32 0 + %t255 = load ptr, ptr %t254 + %t256 = call ptr @lp_str_concat(ptr @.str1872, ptr %t255) + %t257 = call ptr @lp_str_concat(ptr %t256, ptr @.str1873) + %t258 = load ptr, ptr %t243 + %t259 = getelementptr inbounds %Cmp_Val, ptr %t258, i32 0, i32 0 + %t260 = load ptr, ptr %t259 + %t261 = call ptr @lp_str_concat(ptr %t257, ptr %t260) + %t262 = call ptr @lp_str_concat(ptr %t261, ptr @.str1874) + %t263 = load ptr, ptr %t252 + %t264 = getelementptr inbounds %Cmp_Val, ptr %t263, i32 0, i32 0 + %t265 = load ptr, ptr %t264 + %t266 = call ptr @lp_str_concat(ptr %t262, ptr %t265) + %t267 = call ptr @lp_str_concat(ptr %t266, ptr @.str1875) + %t268 = call ptr @fn_emit_bind(ptr %t267) + %t269 = call ptr @fn_val(ptr %t268, ptr @.str1876) + store ptr %t269, ptr %retval + br label %ret +ifend28: + %t270 = load ptr, ptr %t0 + %t271 = call i32 @lp_str_eq(ptr %t270, ptr @.str1877) + %t272 = icmp ne i32 %t271, 0 + br i1 %t272, label %then32, label %ifend34 +then32: + %t273 = call ptr @fn_find_fn(ptr @.str1878) + %t274 = icmp eq ptr %t273, null + %t275 = zext i1 %t274 to i32 + %t276 = icmp ne i32 %t275, 0 + br i1 %t276, label %then35, label %ifend37 +then35: + call void @fn_perr(ptr @.str1879) + br label %ifend37 +ifend37: + %t277 = load ptr, ptr %t1 + %t278 = getelementptr inbounds %Cmp_Node, ptr %t277, i32 0, i32 7 + %t279 = load ptr, ptr %t278 + %t280 = getelementptr inbounds %LSlice, ptr %t279, i32 0, i32 0 + %t281 = load ptr, ptr %t280 + %t282 = getelementptr inbounds ptr, ptr %t281, i32 0 + %t283 = load ptr, ptr %t282 + %t284 = call ptr @fn_emit_expr(ptr %t283) + store ptr %t284, ptr %t285 + %t286 = load ptr, ptr %t285 + %t287 = getelementptr inbounds %Cmp_Val, ptr %t286, i32 0, i32 0 + %t288 = load ptr, ptr %t287 + %t289 = call ptr @lp_str_concat(ptr @.str1880, ptr %t288) + %t290 = call ptr @lp_str_concat(ptr %t289, ptr @.str1881) + %t291 = call ptr @fn_emit_bind(ptr %t290) + %t292 = call ptr @fn_val(ptr %t291, ptr @.str1882) + store ptr %t292, ptr %retval + br label %ret +ifend34: + %t293 = load ptr, ptr %t0 + %t294 = call i32 @lp_str_eq(ptr %t293, ptr @.str1883) + %t295 = icmp ne i32 %t294, 0 + br i1 %t295, label %then38, label %ifend40 +then38: + %t296 = load ptr, ptr %t1 + %t297 = getelementptr inbounds %Cmp_Node, ptr %t296, i32 0, i32 7 + %t298 = load ptr, ptr %t297 + %t299 = getelementptr inbounds %LSlice, ptr %t298, i32 0, i32 0 + %t300 = load ptr, ptr %t299 + %t301 = getelementptr inbounds ptr, ptr %t300, i32 0 + %t302 = load ptr, ptr %t301 + %t303 = call ptr @fn_emit_expr(ptr %t302) + store ptr %t303, ptr %t304 + %t305 = load ptr, ptr %t1 + %t306 = getelementptr inbounds %Cmp_Node, ptr %t305, i32 0, i32 7 + %t307 = load ptr, ptr %t306 + %t308 = getelementptr inbounds %LSlice, ptr %t307, i32 0, i32 0 + %t309 = load ptr, ptr %t308 + %t310 = getelementptr inbounds ptr, ptr %t309, i32 1 + %t311 = load ptr, ptr %t310 + %t312 = call ptr @fn_emit_expr(ptr %t311) + store ptr %t312, ptr %t313 + %t314 = load ptr, ptr %t304 + %t315 = getelementptr inbounds %Cmp_Val, ptr %t314, i32 0, i32 0 + %t316 = load ptr, ptr %t315 + %t317 = call ptr @fn_vec_x(ptr %t316) + store ptr %t317, ptr %t318 + %t319 = load ptr, ptr %t304 + %t320 = getelementptr inbounds %Cmp_Val, ptr %t319, i32 0, i32 0 + %t321 = load ptr, ptr %t320 + %t322 = call ptr @fn_vec_y(ptr %t321) + store ptr %t322, ptr %t323 + %t324 = load ptr, ptr %t313 + %t325 = getelementptr inbounds %Cmp_Val, ptr %t324, i32 0, i32 0 + %t326 = load ptr, ptr %t325 + %t327 = call ptr @fn_vec_x(ptr %t326) + store ptr %t327, ptr %t328 + %t329 = load ptr, ptr %t313 + %t330 = getelementptr inbounds %Cmp_Val, ptr %t329, i32 0, i32 0 + %t331 = load ptr, ptr %t330 + %t332 = call ptr @fn_vec_y(ptr %t331) + store ptr %t332, ptr %t333 + %t334 = load ptr, ptr %t318 + %t335 = call ptr @lp_str_concat(ptr @.str1884, ptr %t334) + %t336 = call ptr @lp_str_concat(ptr %t335, ptr @.str1885) + %t337 = load ptr, ptr %t328 + %t338 = call ptr @lp_str_concat(ptr %t336, ptr %t337) + %t339 = call ptr @fn_emit_bind(ptr %t338) + store ptr %t339, ptr %t340 + %t341 = load ptr, ptr %t323 + %t342 = call ptr @lp_str_concat(ptr @.str1886, ptr %t341) + %t343 = call ptr @lp_str_concat(ptr %t342, ptr @.str1887) + %t344 = load ptr, ptr %t333 + %t345 = call ptr @lp_str_concat(ptr %t343, ptr %t344) + %t346 = call ptr @fn_emit_bind(ptr %t345) + store ptr %t346, ptr %t347 + %t348 = load ptr, ptr %t340 + %t349 = load ptr, ptr %t347 + %t350 = call ptr @fn_vec_pack(ptr %t348, ptr %t349) + %t351 = call ptr @fn_val(ptr %t350, ptr @.str1888) + store ptr %t351, ptr %retval + br label %ret +ifend40: + %t352 = load ptr, ptr %t0 + %t353 = call i32 @lp_str_eq(ptr %t352, ptr @.str1889) + %t354 = icmp ne i32 %t353, 0 + br i1 %t354, label %then41, label %ifend43 +then41: + %t355 = load ptr, ptr %t1 + %t356 = getelementptr inbounds %Cmp_Node, ptr %t355, i32 0, i32 7 + %t357 = load ptr, ptr %t356 + %t358 = getelementptr inbounds %LSlice, ptr %t357, i32 0, i32 0 + %t359 = load ptr, ptr %t358 + %t360 = getelementptr inbounds ptr, ptr %t359, i32 0 + %t361 = load ptr, ptr %t360 + %t362 = call ptr @fn_emit_expr(ptr %t361) + store ptr %t362, ptr %t363 + %t364 = load ptr, ptr %t1 + %t365 = getelementptr inbounds %Cmp_Node, ptr %t364, i32 0, i32 7 + %t366 = load ptr, ptr %t365 + %t367 = getelementptr inbounds %LSlice, ptr %t366, i32 0, i32 0 + %t368 = load ptr, ptr %t367 + %t369 = getelementptr inbounds ptr, ptr %t368, i32 1 + %t370 = load ptr, ptr %t369 + %t371 = call ptr @fn_emit_expr(ptr %t370) + store ptr %t371, ptr %t372 + %t373 = load ptr, ptr %t363 + %t374 = getelementptr inbounds %Cmp_Val, ptr %t373, i32 0, i32 0 + %t375 = load ptr, ptr %t374 + %t376 = call ptr @fn_vec_x(ptr %t375) + store ptr %t376, ptr %t377 + %t378 = load ptr, ptr %t363 + %t379 = getelementptr inbounds %Cmp_Val, ptr %t378, i32 0, i32 0 + %t380 = load ptr, ptr %t379 + %t381 = call ptr @fn_vec_y(ptr %t380) + store ptr %t381, ptr %t382 + %t383 = load ptr, ptr %t372 + %t384 = getelementptr inbounds %Cmp_Val, ptr %t383, i32 0, i32 0 + %t385 = load ptr, ptr %t384 + %t386 = call ptr @fn_vec_x(ptr %t385) + store ptr %t386, ptr %t387 + %t388 = load ptr, ptr %t372 + %t389 = getelementptr inbounds %Cmp_Val, ptr %t388, i32 0, i32 0 + %t390 = load ptr, ptr %t389 + %t391 = call ptr @fn_vec_y(ptr %t390) + store ptr %t391, ptr %t392 + %t393 = load ptr, ptr %t377 + %t394 = call ptr @lp_str_concat(ptr @.str1890, ptr %t393) + %t395 = call ptr @lp_str_concat(ptr %t394, ptr @.str1891) + %t396 = load ptr, ptr %t387 + %t397 = call ptr @lp_str_concat(ptr %t395, ptr %t396) + %t398 = call ptr @fn_emit_bind(ptr %t397) + store ptr %t398, ptr %t399 + %t400 = load ptr, ptr %t382 + %t401 = call ptr @lp_str_concat(ptr @.str1892, ptr %t400) + %t402 = call ptr @lp_str_concat(ptr %t401, ptr @.str1893) + %t403 = load ptr, ptr %t392 + %t404 = call ptr @lp_str_concat(ptr %t402, ptr %t403) + %t405 = call ptr @fn_emit_bind(ptr %t404) + store ptr %t405, ptr %t406 + %t407 = load ptr, ptr %t399 + %t408 = load ptr, ptr %t406 + %t409 = call ptr @fn_vec_pack(ptr %t407, ptr %t408) + %t410 = call ptr @fn_val(ptr %t409, ptr @.str1894) + store ptr %t410, ptr %retval + br label %ret +ifend43: + %t411 = load ptr, ptr %t0 + %t412 = call i32 @lp_str_eq(ptr %t411, ptr @.str1895) + %t413 = icmp ne i32 %t412, 0 + br i1 %t413, label %then44, label %ifend46 +then44: + %t414 = load ptr, ptr %t1 + %t415 = getelementptr inbounds %Cmp_Node, ptr %t414, i32 0, i32 7 + %t416 = load ptr, ptr %t415 + %t417 = getelementptr inbounds %LSlice, ptr %t416, i32 0, i32 0 + %t418 = load ptr, ptr %t417 + %t419 = getelementptr inbounds ptr, ptr %t418, i32 0 + %t420 = load ptr, ptr %t419 + %t421 = call ptr @fn_emit_expr(ptr %t420) + store ptr %t421, ptr %t422 + %t423 = load ptr, ptr %t1 + %t424 = getelementptr inbounds %Cmp_Node, ptr %t423, i32 0, i32 7 + %t425 = load ptr, ptr %t424 + %t426 = getelementptr inbounds %LSlice, ptr %t425, i32 0, i32 0 + %t427 = load ptr, ptr %t426 + %t428 = getelementptr inbounds ptr, ptr %t427, i32 1 + %t429 = load ptr, ptr %t428 + %t430 = call ptr @fn_emit_expr(ptr %t429) + store ptr %t430, ptr %t431 + %t432 = load ptr, ptr %t422 + %t433 = getelementptr inbounds %Cmp_Val, ptr %t432, i32 0, i32 0 + %t434 = load ptr, ptr %t433 + %t435 = call ptr @fn_vec_x(ptr %t434) + store ptr %t435, ptr %t436 + %t437 = load ptr, ptr %t422 + %t438 = getelementptr inbounds %Cmp_Val, ptr %t437, i32 0, i32 0 + %t439 = load ptr, ptr %t438 + %t440 = call ptr @fn_vec_y(ptr %t439) + store ptr %t440, ptr %t441 + %t442 = load ptr, ptr %t436 + %t443 = call ptr @lp_str_concat(ptr @.str1896, ptr %t442) + %t444 = call ptr @lp_str_concat(ptr %t443, ptr @.str1897) + %t445 = load ptr, ptr %t431 + %t446 = getelementptr inbounds %Cmp_Val, ptr %t445, i32 0, i32 0 + %t447 = load ptr, ptr %t446 + %t448 = call ptr @lp_str_concat(ptr %t444, ptr %t447) + %t449 = call ptr @fn_emit_bind(ptr %t448) + store ptr %t449, ptr %t450 + %t451 = load ptr, ptr %t441 + %t452 = call ptr @lp_str_concat(ptr @.str1898, ptr %t451) + %t453 = call ptr @lp_str_concat(ptr %t452, ptr @.str1899) + %t454 = load ptr, ptr %t431 + %t455 = getelementptr inbounds %Cmp_Val, ptr %t454, i32 0, i32 0 + %t456 = load ptr, ptr %t455 + %t457 = call ptr @lp_str_concat(ptr %t453, ptr %t456) + %t458 = call ptr @fn_emit_bind(ptr %t457) + store ptr %t458, ptr %t459 + %t460 = load ptr, ptr %t450 + %t461 = load ptr, ptr %t459 + %t462 = call ptr @fn_vec_pack(ptr %t460, ptr %t461) + %t463 = call ptr @fn_val(ptr %t462, ptr @.str1900) + store ptr %t463, ptr %retval + br label %ret +ifend46: + %t464 = load ptr, ptr %t0 + %t465 = call i32 @lp_str_eq(ptr %t464, ptr @.str1901) + %t466 = icmp ne i32 %t465, 0 + br i1 %t466, label %then47, label %ifend49 +then47: + %t467 = load ptr, ptr %t1 + %t468 = getelementptr inbounds %Cmp_Node, ptr %t467, i32 0, i32 7 + %t469 = load ptr, ptr %t468 + %t470 = getelementptr inbounds %LSlice, ptr %t469, i32 0, i32 0 + %t471 = load ptr, ptr %t470 + %t472 = getelementptr inbounds ptr, ptr %t471, i32 0 + %t473 = load ptr, ptr %t472 + %t474 = call ptr @fn_emit_expr(ptr %t473) + store ptr %t474, ptr %t475 + %t476 = load ptr, ptr %t1 + %t477 = getelementptr inbounds %Cmp_Node, ptr %t476, i32 0, i32 7 + %t478 = load ptr, ptr %t477 + %t479 = getelementptr inbounds %LSlice, ptr %t478, i32 0, i32 0 + %t480 = load ptr, ptr %t479 + %t481 = getelementptr inbounds ptr, ptr %t480, i32 1 + %t482 = load ptr, ptr %t481 + %t483 = call ptr @fn_emit_expr(ptr %t482) + store ptr %t483, ptr %t484 + %t485 = load ptr, ptr %t475 + %t486 = getelementptr inbounds %Cmp_Val, ptr %t485, i32 0, i32 0 + %t487 = load ptr, ptr %t486 + %t488 = call ptr @fn_vec_x(ptr %t487) + store ptr %t488, ptr %t489 + %t490 = load ptr, ptr %t475 + %t491 = getelementptr inbounds %Cmp_Val, ptr %t490, i32 0, i32 0 + %t492 = load ptr, ptr %t491 + %t493 = call ptr @fn_vec_y(ptr %t492) + store ptr %t493, ptr %t494 + %t495 = load ptr, ptr %t484 + %t496 = getelementptr inbounds %Cmp_Val, ptr %t495, i32 0, i32 0 + %t497 = load ptr, ptr %t496 + %t498 = call ptr @fn_vec_x(ptr %t497) + store ptr %t498, ptr %t499 + %t500 = load ptr, ptr %t484 + %t501 = getelementptr inbounds %Cmp_Val, ptr %t500, i32 0, i32 0 + %t502 = load ptr, ptr %t501 + %t503 = call ptr @fn_vec_y(ptr %t502) + store ptr %t503, ptr %t504 + %t505 = load ptr, ptr %t489 + %t506 = call ptr @lp_str_concat(ptr @.str1902, ptr %t505) + %t507 = call ptr @lp_str_concat(ptr %t506, ptr @.str1903) + %t508 = load ptr, ptr %t499 + %t509 = call ptr @lp_str_concat(ptr %t507, ptr %t508) + %t510 = call ptr @fn_emit_bind(ptr %t509) + store ptr %t510, ptr %t511 + %t512 = load ptr, ptr %t494 + %t513 = call ptr @lp_str_concat(ptr @.str1904, ptr %t512) + %t514 = call ptr @lp_str_concat(ptr %t513, ptr @.str1905) + %t515 = load ptr, ptr %t504 + %t516 = call ptr @lp_str_concat(ptr %t514, ptr %t515) + %t517 = call ptr @fn_emit_bind(ptr %t516) + store ptr %t517, ptr %t518 + %t519 = load ptr, ptr %t511 + %t520 = call ptr @lp_str_concat(ptr @.str1906, ptr %t519) + %t521 = call ptr @lp_str_concat(ptr %t520, ptr @.str1907) + %t522 = load ptr, ptr %t518 + %t523 = call ptr @lp_str_concat(ptr %t521, ptr %t522) + %t524 = call ptr @fn_emit_bind(ptr %t523) + %t525 = call ptr @fn_val(ptr %t524, ptr @.str1908) + store ptr %t525, ptr %retval + br label %ret +ifend49: + %t526 = load ptr, ptr %t0 + %t527 = call i32 @lp_str_eq(ptr %t526, ptr @.str1909) + %t528 = icmp ne i32 %t527, 0 + br i1 %t528, label %then50, label %ifend52 +then50: + %t529 = load ptr, ptr %t1 + %t530 = getelementptr inbounds %Cmp_Node, ptr %t529, i32 0, i32 7 + %t531 = load ptr, ptr %t530 + %t532 = getelementptr inbounds %LSlice, ptr %t531, i32 0, i32 0 + %t533 = load ptr, ptr %t532 + %t534 = getelementptr inbounds ptr, ptr %t533, i32 0 + %t535 = load ptr, ptr %t534 + %t536 = call ptr @fn_emit_expr(ptr %t535) + store ptr %t536, ptr %t537 + %t538 = load ptr, ptr %t1 + %t539 = getelementptr inbounds %Cmp_Node, ptr %t538, i32 0, i32 7 + %t540 = load ptr, ptr %t539 + %t541 = getelementptr inbounds %LSlice, ptr %t540, i32 0, i32 0 + %t542 = load ptr, ptr %t541 + %t543 = getelementptr inbounds ptr, ptr %t542, i32 1 + %t544 = load ptr, ptr %t543 + %t545 = call ptr @fn_emit_expr(ptr %t544) + store ptr %t545, ptr %t546 + %t547 = load ptr, ptr %t537 + %t548 = getelementptr inbounds %Cmp_Val, ptr %t547, i32 0, i32 0 + %t549 = load ptr, ptr %t548 + %t550 = call ptr @lp_str_concat(ptr @.str1910, ptr %t549) + %t551 = call ptr @lp_str_concat(ptr %t550, ptr @.str1911) + %t552 = load ptr, ptr %t546 + %t553 = getelementptr inbounds %Cmp_Val, ptr %t552, i32 0, i32 0 + %t554 = load ptr, ptr %t553 + %t555 = call ptr @lp_str_concat(ptr %t551, ptr %t554) + %t556 = call ptr @fn_emit_bind(ptr %t555) + store ptr %t556, ptr %t557 + %t558 = load ptr, ptr %t557 + %t559 = call ptr @lp_str_concat(ptr @.str1912, ptr %t558) + %t560 = call ptr @lp_str_concat(ptr %t559, ptr @.str1913) + %t561 = call ptr @fn_emit_bind(ptr %t560) + %t562 = call ptr @fn_val(ptr %t561, ptr @.str1914) + store ptr %t562, ptr %retval + br label %ret +ifend52: + %t563 = load ptr, ptr %t0 + %t564 = call i32 @lp_str_eq(ptr %t563, ptr @.str1915) + %t565 = icmp ne i32 %t564, 0 + br i1 %t565, label %then53, label %ifend55 +then53: + %t566 = load ptr, ptr %t1 + %t567 = getelementptr inbounds %Cmp_Node, ptr %t566, i32 0, i32 7 + %t568 = load ptr, ptr %t567 + %t569 = getelementptr inbounds %LSlice, ptr %t568, i32 0, i32 0 + %t570 = load ptr, ptr %t569 + %t571 = getelementptr inbounds ptr, ptr %t570, i32 0 + %t572 = load ptr, ptr %t571 + %t573 = call ptr @fn_emit_expr(ptr %t572) + store ptr %t573, ptr %t574 + %t575 = load ptr, ptr %t1 + %t576 = getelementptr inbounds %Cmp_Node, ptr %t575, i32 0, i32 7 + %t577 = load ptr, ptr %t576 + %t578 = getelementptr inbounds %LSlice, ptr %t577, i32 0, i32 0 + %t579 = load ptr, ptr %t578 + %t580 = getelementptr inbounds ptr, ptr %t579, i32 1 + %t581 = load ptr, ptr %t580 + %t582 = call ptr @fn_emit_expr(ptr %t581) + store ptr %t582, ptr %t583 + %t584 = load ptr, ptr %t574 + %t585 = getelementptr inbounds %Cmp_Val, ptr %t584, i32 0, i32 0 + %t586 = load ptr, ptr %t585 + %t587 = call ptr @fn_vec_x(ptr %t586) + store ptr %t587, ptr %t588 + %t589 = load ptr, ptr %t574 + %t590 = getelementptr inbounds %Cmp_Val, ptr %t589, i32 0, i32 0 + %t591 = load ptr, ptr %t590 + %t592 = call ptr @fn_vec_y(ptr %t591) + store ptr %t592, ptr %t593 + %t594 = load ptr, ptr %t583 + %t595 = getelementptr inbounds %Cmp_Val, ptr %t594, i32 0, i32 0 + %t596 = load ptr, ptr %t595 + %t597 = call ptr @fn_vec_x(ptr %t596) + store ptr %t597, ptr %t598 + %t599 = load ptr, ptr %t583 + %t600 = getelementptr inbounds %Cmp_Val, ptr %t599, i32 0, i32 0 + %t601 = load ptr, ptr %t600 + %t602 = call ptr @fn_vec_y(ptr %t601) + store ptr %t602, ptr %t603 + %t604 = load ptr, ptr %t588 + %t605 = call ptr @lp_str_concat(ptr @.str1916, ptr %t604) + %t606 = call ptr @lp_str_concat(ptr %t605, ptr @.str1917) + %t607 = load ptr, ptr %t598 + %t608 = call ptr @lp_str_concat(ptr %t606, ptr %t607) + %t609 = call ptr @fn_emit_bind(ptr %t608) + store ptr %t609, ptr %t610 + %t611 = load ptr, ptr %t593 + %t612 = call ptr @lp_str_concat(ptr @.str1918, ptr %t611) + %t613 = call ptr @lp_str_concat(ptr %t612, ptr @.str1919) + %t614 = load ptr, ptr %t603 + %t615 = call ptr @lp_str_concat(ptr %t613, ptr %t614) + %t616 = call ptr @fn_emit_bind(ptr %t615) + store ptr %t616, ptr %t617 + %t618 = load ptr, ptr %t610 + %t619 = call ptr @fn_ivec_abs(ptr %t618) + store ptr %t619, ptr %t620 + %t621 = load ptr, ptr %t617 + %t622 = call ptr @fn_ivec_abs(ptr %t621) + store ptr %t622, ptr %t623 + %t624 = load ptr, ptr %t620 + %t625 = call ptr @lp_str_concat(ptr @.str1920, ptr %t624) + %t626 = call ptr @lp_str_concat(ptr %t625, ptr @.str1921) + %t627 = load ptr, ptr %t623 + %t628 = call ptr @lp_str_concat(ptr %t626, ptr %t627) + %t629 = call ptr @fn_emit_bind(ptr %t628) + %t630 = call ptr @fn_val(ptr %t629, ptr @.str1922) + store ptr %t630, ptr %retval + br label %ret +ifend55: + %t631 = load ptr, ptr %t1 + %t632 = getelementptr inbounds %Cmp_Node, ptr %t631, i32 0, i32 7 + %t633 = load ptr, ptr %t632 + %t634 = getelementptr inbounds %LSlice, ptr %t633, i32 0, i32 0 + %t635 = load ptr, ptr %t634 + %t636 = getelementptr inbounds ptr, ptr %t635, i32 0 + %t637 = load ptr, ptr %t636 + %t638 = call ptr @fn_emit_expr(ptr %t637) + store ptr %t638, ptr %t639 + %t640 = load ptr, ptr %t639 + %t641 = getelementptr inbounds %Cmp_Val, ptr %t640, i32 0, i32 0 + %t642 = load ptr, ptr %t641 + %t643 = call ptr @fn_vec_x(ptr %t642) + store ptr %t643, ptr %t644 + %t645 = load ptr, ptr %t639 + %t646 = getelementptr inbounds %Cmp_Val, ptr %t645, i32 0, i32 0 + %t647 = load ptr, ptr %t646 + %t648 = call ptr @fn_vec_y(ptr %t647) + store ptr %t648, ptr %t649 + %t650 = load ptr, ptr %t644 + %t651 = call ptr @lp_str_concat(ptr @.str1923, ptr %t650) + %t652 = call ptr @lp_str_concat(ptr %t651, ptr @.str1924) + %t653 = call ptr @fn_emit_bind(ptr %t652) + store ptr %t653, ptr %t654 + %t655 = load ptr, ptr %t649 + %t656 = call ptr @lp_str_concat(ptr @.str1925, ptr %t655) + %t657 = call ptr @lp_str_concat(ptr %t656, ptr @.str1926) + %t658 = call ptr @fn_emit_bind(ptr %t657) + store ptr %t658, ptr %t659 + %t660 = load ptr, ptr %t654 + %t661 = load ptr, ptr %t659 + %t662 = call ptr @fn_vec_pack(ptr %t660, ptr %t661) + %t663 = call ptr @fn_val(ptr %t662, ptr @.str1927) + store ptr %t663, ptr %retval + br label %ret +ret: + %t664 = load ptr, ptr %retval + ret ptr %t664 +} + +define ptr @fn_rect_pack(ptr %arg_x, ptr %arg_y, ptr %arg_w, ptr %arg_h) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t1 = alloca ptr + %t2 = alloca ptr + %t3 = alloca ptr + %t8 = alloca ptr + %t13 = alloca ptr + %t18 = alloca ptr + %t23 = alloca ptr + %t28 = alloca ptr + %t33 = alloca ptr + %t38 = alloca ptr + %t45 = alloca ptr + %t52 = alloca ptr + store ptr %arg_x, ptr %t0 + store ptr %arg_y, ptr %t1 + store ptr %arg_w, ptr %t2 + store ptr %arg_h, ptr %t3 + %t4 = load ptr, ptr %t0 + %t5 = call ptr @lp_str_concat(ptr @.str1928, ptr %t4) + %t6 = call ptr @lp_str_concat(ptr %t5, ptr @.str1929) + %t7 = call ptr @fn_emit_bind(ptr %t6) + store ptr %t7, ptr %t8 + %t9 = load ptr, ptr %t8 + %t10 = call ptr @lp_str_concat(ptr @.str1930, ptr %t9) + %t11 = call ptr @lp_str_concat(ptr %t10, ptr @.str1931) + %t12 = call ptr @fn_emit_bind(ptr %t11) + store ptr %t12, ptr %t13 + %t14 = load ptr, ptr %t1 + %t15 = call ptr @lp_str_concat(ptr @.str1932, ptr %t14) + %t16 = call ptr @lp_str_concat(ptr %t15, ptr @.str1933) + %t17 = call ptr @fn_emit_bind(ptr %t16) + store ptr %t17, ptr %t18 + %t19 = load ptr, ptr %t18 + %t20 = call ptr @lp_str_concat(ptr @.str1934, ptr %t19) + %t21 = call ptr @lp_str_concat(ptr %t20, ptr @.str1935) + %t22 = call ptr @fn_emit_bind(ptr %t21) + store ptr %t22, ptr %t23 + %t24 = load ptr, ptr %t2 + %t25 = call ptr @lp_str_concat(ptr @.str1936, ptr %t24) + %t26 = call ptr @lp_str_concat(ptr %t25, ptr @.str1937) + %t27 = call ptr @fn_emit_bind(ptr %t26) + store ptr %t27, ptr %t28 + %t29 = load ptr, ptr %t28 + %t30 = call ptr @lp_str_concat(ptr @.str1938, ptr %t29) + %t31 = call ptr @lp_str_concat(ptr %t30, ptr @.str1939) + %t32 = call ptr @fn_emit_bind(ptr %t31) + store ptr %t32, ptr %t33 + %t34 = load ptr, ptr %t3 + %t35 = call ptr @lp_str_concat(ptr @.str1940, ptr %t34) + %t36 = call ptr @lp_str_concat(ptr %t35, ptr @.str1941) + %t37 = call ptr @fn_emit_bind(ptr %t36) + store ptr %t37, ptr %t38 + %t39 = load ptr, ptr %t13 + %t40 = call ptr @lp_str_concat(ptr @.str1942, ptr %t39) + %t41 = call ptr @lp_str_concat(ptr %t40, ptr @.str1943) + %t42 = load ptr, ptr %t23 + %t43 = call ptr @lp_str_concat(ptr %t41, ptr %t42) + %t44 = call ptr @fn_emit_bind(ptr %t43) + store ptr %t44, ptr %t45 + %t46 = load ptr, ptr %t45 + %t47 = call ptr @lp_str_concat(ptr @.str1944, ptr %t46) + %t48 = call ptr @lp_str_concat(ptr %t47, ptr @.str1945) + %t49 = load ptr, ptr %t33 + %t50 = call ptr @lp_str_concat(ptr %t48, ptr %t49) + %t51 = call ptr @fn_emit_bind(ptr %t50) + store ptr %t51, ptr %t52 + %t53 = load ptr, ptr %t52 + %t54 = call ptr @lp_str_concat(ptr @.str1946, ptr %t53) + %t55 = call ptr @lp_str_concat(ptr %t54, ptr @.str1947) + %t56 = load ptr, ptr %t38 + %t57 = call ptr @lp_str_concat(ptr %t55, ptr %t56) + %t58 = call ptr @fn_emit_bind(ptr %t57) + store ptr %t58, ptr %retval + br label %ret +ret: + %t59 = load ptr, ptr %retval + ret ptr %t59 +} + +define ptr @fn_rect_field(ptr %arg_r, i32 %arg_sh) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t1 = alloca i32 + %t17 = alloca ptr + store ptr %arg_r, ptr %t0 + store i32 %arg_sh, ptr %t1 + %t2 = load i32, ptr %t1 + %t3 = icmp eq i32 %t2, 0 + %t4 = zext i1 %t3 to i32 + %t5 = icmp ne i32 %t4, 0 + br i1 %t5, label %then0, label %ifend2 +then0: + %t6 = load ptr, ptr %t0 + %t7 = call ptr @lp_str_concat(ptr @.str1948, ptr %t6) + %t8 = call ptr @lp_str_concat(ptr %t7, ptr @.str1949) + %t9 = call ptr @fn_emit_bind(ptr %t8) + store ptr %t9, ptr %retval + br label %ret +ifend2: + %t10 = load ptr, ptr %t0 + %t11 = call ptr @lp_str_concat(ptr @.str1950, ptr %t10) + %t12 = call ptr @lp_str_concat(ptr %t11, ptr @.str1951) + %t13 = load i32, ptr %t1 + %t14 = call ptr @fn_itoa(i32 %t13) + %t15 = call ptr @lp_str_concat(ptr %t12, ptr %t14) + %t16 = call ptr @fn_emit_bind(ptr %t15) + store ptr %t16, ptr %t17 + %t18 = load ptr, ptr %t17 + %t19 = call ptr @lp_str_concat(ptr @.str1952, ptr %t18) + %t20 = call ptr @lp_str_concat(ptr %t19, ptr @.str1953) + %t21 = call ptr @fn_emit_bind(ptr %t20) + store ptr %t21, ptr %retval + br label %ret +ret: + %t22 = load ptr, ptr %retval + ret ptr %t22 +} + +define ptr @fn_rect_cmp(ptr %arg_cmp, ptr %arg_a, ptr %arg_b) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t1 = alloca ptr + %t2 = alloca ptr + %t12 = alloca ptr + store ptr %arg_cmp, ptr %t0 + store ptr %arg_a, ptr %t1 + store ptr %arg_b, ptr %t2 + %t3 = load ptr, ptr %t0 + %t4 = call ptr @lp_str_concat(ptr @.str1954, ptr %t3) + %t5 = call ptr @lp_str_concat(ptr %t4, ptr @.str1955) + %t6 = load ptr, ptr %t1 + %t7 = call ptr @lp_str_concat(ptr %t5, ptr %t6) + %t8 = call ptr @lp_str_concat(ptr %t7, ptr @.str1956) + %t9 = load ptr, ptr %t2 + %t10 = call ptr @lp_str_concat(ptr %t8, ptr %t9) + %t11 = call ptr @fn_emit_bind(ptr %t10) + store ptr %t11, ptr %t12 + %t13 = load ptr, ptr %t12 + %t14 = call ptr @lp_str_concat(ptr @.str1957, ptr %t13) + %t15 = call ptr @lp_str_concat(ptr %t14, ptr @.str1958) + %t16 = call ptr @fn_emit_bind(ptr %t15) + store ptr %t16, ptr %retval + br label %ret +ret: + %t17 = load ptr, ptr %retval + ret ptr %t17 +} + +define i32 @fn_is_rect_ns(ptr %arg_meth) { +entry: + %retval = alloca i32 + %t0 = alloca ptr + %t1 = alloca i32 + %t2 = alloca i32 + %t3 = alloca i32 + %t4 = alloca i32 + %t36 = alloca i32 + %t37 = alloca i32 + %t55 = alloca i32 + store ptr %arg_meth, ptr %t0 + %t5 = load ptr, ptr %t0 + %t6 = call i32 @lp_str_eq(ptr %t5, ptr @.str1959) + %t7 = icmp ne i32 %t6, 0 + %t8 = zext i1 %t7 to i32 + store i32 %t8, ptr %t4 + br i1 %t7, label %scend1, label %sc0 +sc0: + %t9 = load ptr, ptr %t0 + %t10 = call i32 @lp_str_eq(ptr %t9, ptr @.str1960) + %t11 = icmp ne i32 %t10, 0 + %t12 = zext i1 %t11 to i32 + store i32 %t12, ptr %t4 + br label %scend1 +scend1: + %t13 = load i32, ptr %t4 + %t14 = icmp ne i32 %t13, 0 + %t15 = zext i1 %t14 to i32 + store i32 %t15, ptr %t3 + br i1 %t14, label %scend3, label %sc2 +sc2: + %t16 = load ptr, ptr %t0 + %t17 = call i32 @lp_str_eq(ptr %t16, ptr @.str1961) + %t18 = icmp ne i32 %t17, 0 + %t19 = zext i1 %t18 to i32 + store i32 %t19, ptr %t3 + br label %scend3 +scend3: + %t20 = load i32, ptr %t3 + %t21 = icmp ne i32 %t20, 0 + %t22 = zext i1 %t21 to i32 + store i32 %t22, ptr %t2 + br i1 %t21, label %scend5, label %sc4 +sc4: + %t23 = load ptr, ptr %t0 + %t24 = call i32 @lp_str_eq(ptr %t23, ptr @.str1962) + %t25 = icmp ne i32 %t24, 0 + %t26 = zext i1 %t25 to i32 + store i32 %t26, ptr %t2 + br label %scend5 +scend5: + %t27 = load i32, ptr %t2 + %t28 = icmp ne i32 %t27, 0 + %t29 = zext i1 %t28 to i32 + store i32 %t29, ptr %t1 + br i1 %t28, label %scend7, label %sc6 +sc6: + %t30 = load ptr, ptr %t0 + %t31 = call i32 @lp_str_eq(ptr %t30, ptr @.str1963) + %t32 = icmp ne i32 %t31, 0 + %t33 = zext i1 %t32 to i32 + store i32 %t33, ptr %t1 + br label %scend7 +scend7: + %t34 = load i32, ptr %t1 + %t35 = icmp ne i32 %t34, 0 + br i1 %t35, label %then8, label %ifend10 +then8: + store i32 1, ptr %retval + br label %ret +ifend10: + %t38 = load ptr, ptr %t0 + %t39 = call i32 @lp_str_eq(ptr %t38, ptr @.str1964) + %t40 = icmp ne i32 %t39, 0 + %t41 = zext i1 %t40 to i32 + store i32 %t41, ptr %t37 + br i1 %t40, label %scend12, label %sc11 +sc11: + %t42 = load ptr, ptr %t0 + %t43 = call i32 @lp_str_eq(ptr %t42, ptr @.str1965) + %t44 = icmp ne i32 %t43, 0 + %t45 = zext i1 %t44 to i32 + store i32 %t45, ptr %t37 + br label %scend12 +scend12: + %t46 = load i32, ptr %t37 + %t47 = icmp ne i32 %t46, 0 + %t48 = zext i1 %t47 to i32 + store i32 %t48, ptr %t36 + br i1 %t47, label %scend14, label %sc13 +sc13: + %t49 = load ptr, ptr %t0 + %t50 = call i32 @lp_str_eq(ptr %t49, ptr @.str1966) + %t51 = icmp ne i32 %t50, 0 + %t52 = zext i1 %t51 to i32 + store i32 %t52, ptr %t36 + br label %scend14 +scend14: + %t53 = load i32, ptr %t36 + %t54 = icmp ne i32 %t53, 0 + br i1 %t54, label %then15, label %ifend17 +then15: + store i32 1, ptr %retval + br label %ret +ifend17: + %t56 = load ptr, ptr %t0 + %t57 = call i32 @lp_str_eq(ptr %t56, ptr @.str1967) + %t58 = icmp ne i32 %t57, 0 + %t59 = zext i1 %t58 to i32 + store i32 %t59, ptr %t55 + br i1 %t58, label %scend19, label %sc18 +sc18: + %t60 = load ptr, ptr %t0 + %t61 = call i32 @lp_str_eq(ptr %t60, ptr @.str1968) + %t62 = icmp ne i32 %t61, 0 + %t63 = zext i1 %t62 to i32 + store i32 %t63, ptr %t55 + br label %scend19 +scend19: + %t64 = load i32, ptr %t55 + %t65 = icmp ne i32 %t64, 0 + br i1 %t65, label %then20, label %ifend22 +then20: + store i32 1, ptr %retval + br label %ret +ifend22: + store i32 0, ptr %retval + br label %ret +ret: + %t66 = load i32, ptr %retval + ret i32 %t66 +} + +define ptr @fn_emit_rect_ns(ptr %arg_meth, ptr %arg_e) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t1 = alloca ptr + %t13 = alloca ptr + %t22 = alloca ptr + %t31 = alloca ptr + %t40 = alloca ptr + %t66 = alloca ptr + %t83 = alloca ptr + %t100 = alloca ptr + %t117 = alloca ptr + %t134 = alloca ptr + %t139 = alloca ptr + %t144 = alloca ptr + %t163 = alloca ptr + %t168 = alloca ptr + %t173 = alloca ptr + %t192 = alloca ptr + %t197 = alloca ptr + %t202 = alloca ptr + %t207 = alloca ptr + %t212 = alloca ptr + %t217 = alloca ptr + %t222 = alloca ptr + %t229 = alloca ptr + %t236 = alloca ptr + %t252 = alloca ptr + %t261 = alloca ptr + %t270 = alloca ptr + %t275 = alloca ptr + %t280 = alloca ptr + %t285 = alloca ptr + %t290 = alloca ptr + %t297 = alloca ptr + %t304 = alloca ptr + %t310 = alloca ptr + %t316 = alloca ptr + %t322 = alloca ptr + %t328 = alloca ptr + %t335 = alloca ptr + %t342 = alloca ptr + %t358 = alloca ptr + %t367 = alloca ptr + %t372 = alloca ptr + %t377 = alloca ptr + %t382 = alloca ptr + %t387 = alloca ptr + %t392 = alloca ptr + %t397 = alloca ptr + %t402 = alloca ptr + %t407 = alloca ptr + %t414 = alloca ptr + %t421 = alloca ptr + %t428 = alloca ptr + %t435 = alloca ptr + %t439 = alloca ptr + %t443 = alloca ptr + %t447 = alloca ptr + %t451 = alloca ptr + %t458 = alloca ptr + %t465 = alloca ptr + store ptr %arg_meth, ptr %t0 + store ptr %arg_e, ptr %t1 + %t2 = load ptr, ptr %t0 + %t3 = call i32 @lp_str_eq(ptr %t2, ptr @.str1969) + %t4 = icmp ne i32 %t3, 0 + br i1 %t4, label %then0, label %ifend2 +then0: + %t5 = load ptr, ptr %t1 + %t6 = getelementptr inbounds %Cmp_Node, ptr %t5, i32 0, i32 7 + %t7 = load ptr, ptr %t6 + %t8 = getelementptr inbounds %LSlice, ptr %t7, i32 0, i32 0 + %t9 = load ptr, ptr %t8 + %t10 = getelementptr inbounds ptr, ptr %t9, i32 0 + %t11 = load ptr, ptr %t10 + %t12 = call ptr @fn_emit_expr(ptr %t11) + store ptr %t12, ptr %t13 + %t14 = load ptr, ptr %t1 + %t15 = getelementptr inbounds %Cmp_Node, ptr %t14, i32 0, i32 7 + %t16 = load ptr, ptr %t15 + %t17 = getelementptr inbounds %LSlice, ptr %t16, i32 0, i32 0 + %t18 = load ptr, ptr %t17 + %t19 = getelementptr inbounds ptr, ptr %t18, i32 1 + %t20 = load ptr, ptr %t19 + %t21 = call ptr @fn_emit_expr(ptr %t20) + store ptr %t21, ptr %t22 + %t23 = load ptr, ptr %t1 + %t24 = getelementptr inbounds %Cmp_Node, ptr %t23, i32 0, i32 7 + %t25 = load ptr, ptr %t24 + %t26 = getelementptr inbounds %LSlice, ptr %t25, i32 0, i32 0 + %t27 = load ptr, ptr %t26 + %t28 = getelementptr inbounds ptr, ptr %t27, i32 2 + %t29 = load ptr, ptr %t28 + %t30 = call ptr @fn_emit_expr(ptr %t29) + store ptr %t30, ptr %t31 + %t32 = load ptr, ptr %t1 + %t33 = getelementptr inbounds %Cmp_Node, ptr %t32, i32 0, i32 7 + %t34 = load ptr, ptr %t33 + %t35 = getelementptr inbounds %LSlice, ptr %t34, i32 0, i32 0 + %t36 = load ptr, ptr %t35 + %t37 = getelementptr inbounds ptr, ptr %t36, i32 3 + %t38 = load ptr, ptr %t37 + %t39 = call ptr @fn_emit_expr(ptr %t38) + store ptr %t39, ptr %t40 + %t41 = load ptr, ptr %t13 + %t42 = getelementptr inbounds %Cmp_Val, ptr %t41, i32 0, i32 0 + %t43 = load ptr, ptr %t42 + %t44 = load ptr, ptr %t22 + %t45 = getelementptr inbounds %Cmp_Val, ptr %t44, i32 0, i32 0 + %t46 = load ptr, ptr %t45 + %t47 = load ptr, ptr %t31 + %t48 = getelementptr inbounds %Cmp_Val, ptr %t47, i32 0, i32 0 + %t49 = load ptr, ptr %t48 + %t50 = load ptr, ptr %t40 + %t51 = getelementptr inbounds %Cmp_Val, ptr %t50, i32 0, i32 0 + %t52 = load ptr, ptr %t51 + %t53 = call ptr @fn_rect_pack(ptr %t43, ptr %t46, ptr %t49, ptr %t52) + %t54 = call ptr @fn_val(ptr %t53, ptr @.str1970) + store ptr %t54, ptr %retval + br label %ret +ifend2: + %t55 = load ptr, ptr %t0 + %t56 = call i32 @lp_str_eq(ptr %t55, ptr @.str1971) + %t57 = icmp ne i32 %t56, 0 + br i1 %t57, label %then3, label %ifend5 +then3: + %t58 = load ptr, ptr %t1 + %t59 = getelementptr inbounds %Cmp_Node, ptr %t58, i32 0, i32 7 + %t60 = load ptr, ptr %t59 + %t61 = getelementptr inbounds %LSlice, ptr %t60, i32 0, i32 0 + %t62 = load ptr, ptr %t61 + %t63 = getelementptr inbounds ptr, ptr %t62, i32 0 + %t64 = load ptr, ptr %t63 + %t65 = call ptr @fn_emit_expr(ptr %t64) + store ptr %t65, ptr %t66 + %t67 = load ptr, ptr %t66 + %t68 = getelementptr inbounds %Cmp_Val, ptr %t67, i32 0, i32 0 + %t69 = load ptr, ptr %t68 + %t70 = call ptr @fn_rect_field(ptr %t69, i32 96) + %t71 = call ptr @fn_val(ptr %t70, ptr @.str1972) + store ptr %t71, ptr %retval + br label %ret +ifend5: + %t72 = load ptr, ptr %t0 + %t73 = call i32 @lp_str_eq(ptr %t72, ptr @.str1973) + %t74 = icmp ne i32 %t73, 0 + br i1 %t74, label %then6, label %ifend8 +then6: + %t75 = load ptr, ptr %t1 + %t76 = getelementptr inbounds %Cmp_Node, ptr %t75, i32 0, i32 7 + %t77 = load ptr, ptr %t76 + %t78 = getelementptr inbounds %LSlice, ptr %t77, i32 0, i32 0 + %t79 = load ptr, ptr %t78 + %t80 = getelementptr inbounds ptr, ptr %t79, i32 0 + %t81 = load ptr, ptr %t80 + %t82 = call ptr @fn_emit_expr(ptr %t81) + store ptr %t82, ptr %t83 + %t84 = load ptr, ptr %t83 + %t85 = getelementptr inbounds %Cmp_Val, ptr %t84, i32 0, i32 0 + %t86 = load ptr, ptr %t85 + %t87 = call ptr @fn_rect_field(ptr %t86, i32 64) + %t88 = call ptr @fn_val(ptr %t87, ptr @.str1974) + store ptr %t88, ptr %retval + br label %ret +ifend8: + %t89 = load ptr, ptr %t0 + %t90 = call i32 @lp_str_eq(ptr %t89, ptr @.str1975) + %t91 = icmp ne i32 %t90, 0 + br i1 %t91, label %then9, label %ifend11 +then9: + %t92 = load ptr, ptr %t1 + %t93 = getelementptr inbounds %Cmp_Node, ptr %t92, i32 0, i32 7 + %t94 = load ptr, ptr %t93 + %t95 = getelementptr inbounds %LSlice, ptr %t94, i32 0, i32 0 + %t96 = load ptr, ptr %t95 + %t97 = getelementptr inbounds ptr, ptr %t96, i32 0 + %t98 = load ptr, ptr %t97 + %t99 = call ptr @fn_emit_expr(ptr %t98) + store ptr %t99, ptr %t100 + %t101 = load ptr, ptr %t100 + %t102 = getelementptr inbounds %Cmp_Val, ptr %t101, i32 0, i32 0 + %t103 = load ptr, ptr %t102 + %t104 = call ptr @fn_rect_field(ptr %t103, i32 32) + %t105 = call ptr @fn_val(ptr %t104, ptr @.str1976) + store ptr %t105, ptr %retval + br label %ret +ifend11: + %t106 = load ptr, ptr %t0 + %t107 = call i32 @lp_str_eq(ptr %t106, ptr @.str1977) + %t108 = icmp ne i32 %t107, 0 + br i1 %t108, label %then12, label %ifend14 +then12: + %t109 = load ptr, ptr %t1 + %t110 = getelementptr inbounds %Cmp_Node, ptr %t109, i32 0, i32 7 + %t111 = load ptr, ptr %t110 + %t112 = getelementptr inbounds %LSlice, ptr %t111, i32 0, i32 0 + %t113 = load ptr, ptr %t112 + %t114 = getelementptr inbounds ptr, ptr %t113, i32 0 + %t115 = load ptr, ptr %t114 + %t116 = call ptr @fn_emit_expr(ptr %t115) + store ptr %t116, ptr %t117 + %t118 = load ptr, ptr %t117 + %t119 = getelementptr inbounds %Cmp_Val, ptr %t118, i32 0, i32 0 + %t120 = load ptr, ptr %t119 + %t121 = call ptr @fn_rect_field(ptr %t120, i32 0) + %t122 = call ptr @fn_val(ptr %t121, ptr @.str1978) + store ptr %t122, ptr %retval + br label %ret +ifend14: + %t123 = load ptr, ptr %t0 + %t124 = call i32 @lp_str_eq(ptr %t123, ptr @.str1979) + %t125 = icmp ne i32 %t124, 0 + br i1 %t125, label %then15, label %ifend17 +then15: + %t126 = load ptr, ptr %t1 + %t127 = getelementptr inbounds %Cmp_Node, ptr %t126, i32 0, i32 7 + %t128 = load ptr, ptr %t127 + %t129 = getelementptr inbounds %LSlice, ptr %t128, i32 0, i32 0 + %t130 = load ptr, ptr %t129 + %t131 = getelementptr inbounds ptr, ptr %t130, i32 0 + %t132 = load ptr, ptr %t131 + %t133 = call ptr @fn_emit_expr(ptr %t132) + store ptr %t133, ptr %t134 + %t135 = load ptr, ptr %t134 + %t136 = getelementptr inbounds %Cmp_Val, ptr %t135, i32 0, i32 0 + %t137 = load ptr, ptr %t136 + %t138 = call ptr @fn_rect_field(ptr %t137, i32 96) + store ptr %t138, ptr %t139 + %t140 = load ptr, ptr %t134 + %t141 = getelementptr inbounds %Cmp_Val, ptr %t140, i32 0, i32 0 + %t142 = load ptr, ptr %t141 + %t143 = call ptr @fn_rect_field(ptr %t142, i32 32) + store ptr %t143, ptr %t144 + %t145 = load ptr, ptr %t139 + %t146 = call ptr @lp_str_concat(ptr @.str1980, ptr %t145) + %t147 = call ptr @lp_str_concat(ptr %t146, ptr @.str1981) + %t148 = load ptr, ptr %t144 + %t149 = call ptr @lp_str_concat(ptr %t147, ptr %t148) + %t150 = call ptr @fn_emit_bind(ptr %t149) + %t151 = call ptr @fn_val(ptr %t150, ptr @.str1982) + store ptr %t151, ptr %retval + br label %ret +ifend17: + %t152 = load ptr, ptr %t0 + %t153 = call i32 @lp_str_eq(ptr %t152, ptr @.str1983) + %t154 = icmp ne i32 %t153, 0 + br i1 %t154, label %then18, label %ifend20 +then18: + %t155 = load ptr, ptr %t1 + %t156 = getelementptr inbounds %Cmp_Node, ptr %t155, i32 0, i32 7 + %t157 = load ptr, ptr %t156 + %t158 = getelementptr inbounds %LSlice, ptr %t157, i32 0, i32 0 + %t159 = load ptr, ptr %t158 + %t160 = getelementptr inbounds ptr, ptr %t159, i32 0 + %t161 = load ptr, ptr %t160 + %t162 = call ptr @fn_emit_expr(ptr %t161) + store ptr %t162, ptr %t163 + %t164 = load ptr, ptr %t163 + %t165 = getelementptr inbounds %Cmp_Val, ptr %t164, i32 0, i32 0 + %t166 = load ptr, ptr %t165 + %t167 = call ptr @fn_rect_field(ptr %t166, i32 64) + store ptr %t167, ptr %t168 + %t169 = load ptr, ptr %t163 + %t170 = getelementptr inbounds %Cmp_Val, ptr %t169, i32 0, i32 0 + %t171 = load ptr, ptr %t170 + %t172 = call ptr @fn_rect_field(ptr %t171, i32 0) + store ptr %t172, ptr %t173 + %t174 = load ptr, ptr %t168 + %t175 = call ptr @lp_str_concat(ptr @.str1984, ptr %t174) + %t176 = call ptr @lp_str_concat(ptr %t175, ptr @.str1985) + %t177 = load ptr, ptr %t173 + %t178 = call ptr @lp_str_concat(ptr %t176, ptr %t177) + %t179 = call ptr @fn_emit_bind(ptr %t178) + %t180 = call ptr @fn_val(ptr %t179, ptr @.str1986) + store ptr %t180, ptr %retval + br label %ret +ifend20: + %t181 = load ptr, ptr %t0 + %t182 = call i32 @lp_str_eq(ptr %t181, ptr @.str1987) + %t183 = icmp ne i32 %t182, 0 + br i1 %t183, label %then21, label %ifend23 +then21: + %t184 = load ptr, ptr %t1 + %t185 = getelementptr inbounds %Cmp_Node, ptr %t184, i32 0, i32 7 + %t186 = load ptr, ptr %t185 + %t187 = getelementptr inbounds %LSlice, ptr %t186, i32 0, i32 0 + %t188 = load ptr, ptr %t187 + %t189 = getelementptr inbounds ptr, ptr %t188, i32 0 + %t190 = load ptr, ptr %t189 + %t191 = call ptr @fn_emit_expr(ptr %t190) + store ptr %t191, ptr %t192 + %t193 = load ptr, ptr %t192 + %t194 = getelementptr inbounds %Cmp_Val, ptr %t193, i32 0, i32 0 + %t195 = load ptr, ptr %t194 + %t196 = call ptr @fn_rect_field(ptr %t195, i32 96) + store ptr %t196, ptr %t197 + %t198 = load ptr, ptr %t192 + %t199 = getelementptr inbounds %Cmp_Val, ptr %t198, i32 0, i32 0 + %t200 = load ptr, ptr %t199 + %t201 = call ptr @fn_rect_field(ptr %t200, i32 64) + store ptr %t201, ptr %t202 + %t203 = load ptr, ptr %t192 + %t204 = getelementptr inbounds %Cmp_Val, ptr %t203, i32 0, i32 0 + %t205 = load ptr, ptr %t204 + %t206 = call ptr @fn_rect_field(ptr %t205, i32 32) + store ptr %t206, ptr %t207 + %t208 = load ptr, ptr %t192 + %t209 = getelementptr inbounds %Cmp_Val, ptr %t208, i32 0, i32 0 + %t210 = load ptr, ptr %t209 + %t211 = call ptr @fn_rect_field(ptr %t210, i32 0) + store ptr %t211, ptr %t212 + %t213 = load ptr, ptr %t207 + %t214 = call ptr @lp_str_concat(ptr @.str1988, ptr %t213) + %t215 = call ptr @lp_str_concat(ptr %t214, ptr @.str1989) + %t216 = call ptr @fn_emit_bind(ptr %t215) + store ptr %t216, ptr %t217 + %t218 = load ptr, ptr %t212 + %t219 = call ptr @lp_str_concat(ptr @.str1990, ptr %t218) + %t220 = call ptr @lp_str_concat(ptr %t219, ptr @.str1991) + %t221 = call ptr @fn_emit_bind(ptr %t220) + store ptr %t221, ptr %t222 + %t223 = load ptr, ptr %t197 + %t224 = call ptr @lp_str_concat(ptr @.str1992, ptr %t223) + %t225 = call ptr @lp_str_concat(ptr %t224, ptr @.str1993) + %t226 = load ptr, ptr %t217 + %t227 = call ptr @lp_str_concat(ptr %t225, ptr %t226) + %t228 = call ptr @fn_emit_bind(ptr %t227) + store ptr %t228, ptr %t229 + %t230 = load ptr, ptr %t202 + %t231 = call ptr @lp_str_concat(ptr @.str1994, ptr %t230) + %t232 = call ptr @lp_str_concat(ptr %t231, ptr @.str1995) + %t233 = load ptr, ptr %t222 + %t234 = call ptr @lp_str_concat(ptr %t232, ptr %t233) + %t235 = call ptr @fn_emit_bind(ptr %t234) + store ptr %t235, ptr %t236 + %t237 = load ptr, ptr %t229 + %t238 = load ptr, ptr %t236 + %t239 = call ptr @fn_vec_pack(ptr %t237, ptr %t238) + %t240 = call ptr @fn_val(ptr %t239, ptr @.str1996) + store ptr %t240, ptr %retval + br label %ret +ifend23: + %t241 = load ptr, ptr %t0 + %t242 = call i32 @lp_str_eq(ptr %t241, ptr @.str1997) + %t243 = icmp ne i32 %t242, 0 + br i1 %t243, label %then24, label %ifend26 +then24: + %t244 = load ptr, ptr %t1 + %t245 = getelementptr inbounds %Cmp_Node, ptr %t244, i32 0, i32 7 + %t246 = load ptr, ptr %t245 + %t247 = getelementptr inbounds %LSlice, ptr %t246, i32 0, i32 0 + %t248 = load ptr, ptr %t247 + %t249 = getelementptr inbounds ptr, ptr %t248, i32 0 + %t250 = load ptr, ptr %t249 + %t251 = call ptr @fn_emit_expr(ptr %t250) + store ptr %t251, ptr %t252 + %t253 = load ptr, ptr %t1 + %t254 = getelementptr inbounds %Cmp_Node, ptr %t253, i32 0, i32 7 + %t255 = load ptr, ptr %t254 + %t256 = getelementptr inbounds %LSlice, ptr %t255, i32 0, i32 0 + %t257 = load ptr, ptr %t256 + %t258 = getelementptr inbounds ptr, ptr %t257, i32 1 + %t259 = load ptr, ptr %t258 + %t260 = call ptr @fn_emit_expr(ptr %t259) + store ptr %t260, ptr %t261 + %t262 = load ptr, ptr %t1 + %t263 = getelementptr inbounds %Cmp_Node, ptr %t262, i32 0, i32 7 + %t264 = load ptr, ptr %t263 + %t265 = getelementptr inbounds %LSlice, ptr %t264, i32 0, i32 0 + %t266 = load ptr, ptr %t265 + %t267 = getelementptr inbounds ptr, ptr %t266, i32 2 + %t268 = load ptr, ptr %t267 + %t269 = call ptr @fn_emit_expr(ptr %t268) + store ptr %t269, ptr %t270 + %t271 = load ptr, ptr %t252 + %t272 = getelementptr inbounds %Cmp_Val, ptr %t271, i32 0, i32 0 + %t273 = load ptr, ptr %t272 + %t274 = call ptr @fn_rect_field(ptr %t273, i32 96) + store ptr %t274, ptr %t275 + %t276 = load ptr, ptr %t252 + %t277 = getelementptr inbounds %Cmp_Val, ptr %t276, i32 0, i32 0 + %t278 = load ptr, ptr %t277 + %t279 = call ptr @fn_rect_field(ptr %t278, i32 64) + store ptr %t279, ptr %t280 + %t281 = load ptr, ptr %t252 + %t282 = getelementptr inbounds %Cmp_Val, ptr %t281, i32 0, i32 0 + %t283 = load ptr, ptr %t282 + %t284 = call ptr @fn_rect_field(ptr %t283, i32 32) + store ptr %t284, ptr %t285 + %t286 = load ptr, ptr %t252 + %t287 = getelementptr inbounds %Cmp_Val, ptr %t286, i32 0, i32 0 + %t288 = load ptr, ptr %t287 + %t289 = call ptr @fn_rect_field(ptr %t288, i32 0) + store ptr %t289, ptr %t290 + %t291 = load ptr, ptr %t275 + %t292 = call ptr @lp_str_concat(ptr @.str1998, ptr %t291) + %t293 = call ptr @lp_str_concat(ptr %t292, ptr @.str1999) + %t294 = load ptr, ptr %t285 + %t295 = call ptr @lp_str_concat(ptr %t293, ptr %t294) + %t296 = call ptr @fn_emit_bind(ptr %t295) + store ptr %t296, ptr %t297 + %t298 = load ptr, ptr %t280 + %t299 = call ptr @lp_str_concat(ptr @.str2000, ptr %t298) + %t300 = call ptr @lp_str_concat(ptr %t299, ptr @.str2001) + %t301 = load ptr, ptr %t290 + %t302 = call ptr @lp_str_concat(ptr %t300, ptr %t301) + %t303 = call ptr @fn_emit_bind(ptr %t302) + store ptr %t303, ptr %t304 + %t305 = load ptr, ptr %t261 + %t306 = getelementptr inbounds %Cmp_Val, ptr %t305, i32 0, i32 0 + %t307 = load ptr, ptr %t306 + %t308 = load ptr, ptr %t275 + %t309 = call ptr @fn_rect_cmp(ptr @.str2002, ptr %t307, ptr %t308) + store ptr %t309, ptr %t310 + %t311 = load ptr, ptr %t261 + %t312 = getelementptr inbounds %Cmp_Val, ptr %t311, i32 0, i32 0 + %t313 = load ptr, ptr %t312 + %t314 = load ptr, ptr %t297 + %t315 = call ptr @fn_rect_cmp(ptr @.str2003, ptr %t313, ptr %t314) + store ptr %t315, ptr %t316 + %t317 = load ptr, ptr %t270 + %t318 = getelementptr inbounds %Cmp_Val, ptr %t317, i32 0, i32 0 + %t319 = load ptr, ptr %t318 + %t320 = load ptr, ptr %t280 + %t321 = call ptr @fn_rect_cmp(ptr @.str2004, ptr %t319, ptr %t320) + store ptr %t321, ptr %t322 + %t323 = load ptr, ptr %t270 + %t324 = getelementptr inbounds %Cmp_Val, ptr %t323, i32 0, i32 0 + %t325 = load ptr, ptr %t324 + %t326 = load ptr, ptr %t304 + %t327 = call ptr @fn_rect_cmp(ptr @.str2005, ptr %t325, ptr %t326) + store ptr %t327, ptr %t328 + %t329 = load ptr, ptr %t310 + %t330 = call ptr @lp_str_concat(ptr @.str2006, ptr %t329) + %t331 = call ptr @lp_str_concat(ptr %t330, ptr @.str2007) + %t332 = load ptr, ptr %t316 + %t333 = call ptr @lp_str_concat(ptr %t331, ptr %t332) + %t334 = call ptr @fn_emit_bind(ptr %t333) + store ptr %t334, ptr %t335 + %t336 = load ptr, ptr %t322 + %t337 = call ptr @lp_str_concat(ptr @.str2008, ptr %t336) + %t338 = call ptr @lp_str_concat(ptr %t337, ptr @.str2009) + %t339 = load ptr, ptr %t328 + %t340 = call ptr @lp_str_concat(ptr %t338, ptr %t339) + %t341 = call ptr @fn_emit_bind(ptr %t340) + store ptr %t341, ptr %t342 + %t343 = load ptr, ptr %t335 + %t344 = call ptr @lp_str_concat(ptr @.str2010, ptr %t343) + %t345 = call ptr @lp_str_concat(ptr %t344, ptr @.str2011) + %t346 = load ptr, ptr %t342 + %t347 = call ptr @lp_str_concat(ptr %t345, ptr %t346) + %t348 = call ptr @fn_emit_bind(ptr %t347) + %t349 = call ptr @fn_val(ptr %t348, ptr @.str2012) + store ptr %t349, ptr %retval + br label %ret +ifend26: + %t350 = load ptr, ptr %t1 + %t351 = getelementptr inbounds %Cmp_Node, ptr %t350, i32 0, i32 7 + %t352 = load ptr, ptr %t351 + %t353 = getelementptr inbounds %LSlice, ptr %t352, i32 0, i32 0 + %t354 = load ptr, ptr %t353 + %t355 = getelementptr inbounds ptr, ptr %t354, i32 0 + %t356 = load ptr, ptr %t355 + %t357 = call ptr @fn_emit_expr(ptr %t356) + store ptr %t357, ptr %t358 + %t359 = load ptr, ptr %t1 + %t360 = getelementptr inbounds %Cmp_Node, ptr %t359, i32 0, i32 7 + %t361 = load ptr, ptr %t360 + %t362 = getelementptr inbounds %LSlice, ptr %t361, i32 0, i32 0 + %t363 = load ptr, ptr %t362 + %t364 = getelementptr inbounds ptr, ptr %t363, i32 1 + %t365 = load ptr, ptr %t364 + %t366 = call ptr @fn_emit_expr(ptr %t365) + store ptr %t366, ptr %t367 + %t368 = load ptr, ptr %t358 + %t369 = getelementptr inbounds %Cmp_Val, ptr %t368, i32 0, i32 0 + %t370 = load ptr, ptr %t369 + %t371 = call ptr @fn_rect_field(ptr %t370, i32 96) + store ptr %t371, ptr %t372 + %t373 = load ptr, ptr %t358 + %t374 = getelementptr inbounds %Cmp_Val, ptr %t373, i32 0, i32 0 + %t375 = load ptr, ptr %t374 + %t376 = call ptr @fn_rect_field(ptr %t375, i32 64) + store ptr %t376, ptr %t377 + %t378 = load ptr, ptr %t358 + %t379 = getelementptr inbounds %Cmp_Val, ptr %t378, i32 0, i32 0 + %t380 = load ptr, ptr %t379 + %t381 = call ptr @fn_rect_field(ptr %t380, i32 32) + store ptr %t381, ptr %t382 + %t383 = load ptr, ptr %t358 + %t384 = getelementptr inbounds %Cmp_Val, ptr %t383, i32 0, i32 0 + %t385 = load ptr, ptr %t384 + %t386 = call ptr @fn_rect_field(ptr %t385, i32 0) + store ptr %t386, ptr %t387 + %t388 = load ptr, ptr %t367 + %t389 = getelementptr inbounds %Cmp_Val, ptr %t388, i32 0, i32 0 + %t390 = load ptr, ptr %t389 + %t391 = call ptr @fn_rect_field(ptr %t390, i32 96) + store ptr %t391, ptr %t392 + %t393 = load ptr, ptr %t367 + %t394 = getelementptr inbounds %Cmp_Val, ptr %t393, i32 0, i32 0 + %t395 = load ptr, ptr %t394 + %t396 = call ptr @fn_rect_field(ptr %t395, i32 64) + store ptr %t396, ptr %t397 + %t398 = load ptr, ptr %t367 + %t399 = getelementptr inbounds %Cmp_Val, ptr %t398, i32 0, i32 0 + %t400 = load ptr, ptr %t399 + %t401 = call ptr @fn_rect_field(ptr %t400, i32 32) + store ptr %t401, ptr %t402 + %t403 = load ptr, ptr %t367 + %t404 = getelementptr inbounds %Cmp_Val, ptr %t403, i32 0, i32 0 + %t405 = load ptr, ptr %t404 + %t406 = call ptr @fn_rect_field(ptr %t405, i32 0) + store ptr %t406, ptr %t407 + %t408 = load ptr, ptr %t372 + %t409 = call ptr @lp_str_concat(ptr @.str2013, ptr %t408) + %t410 = call ptr @lp_str_concat(ptr %t409, ptr @.str2014) + %t411 = load ptr, ptr %t382 + %t412 = call ptr @lp_str_concat(ptr %t410, ptr %t411) + %t413 = call ptr @fn_emit_bind(ptr %t412) + store ptr %t413, ptr %t414 + %t415 = load ptr, ptr %t377 + %t416 = call ptr @lp_str_concat(ptr @.str2015, ptr %t415) + %t417 = call ptr @lp_str_concat(ptr %t416, ptr @.str2016) + %t418 = load ptr, ptr %t387 + %t419 = call ptr @lp_str_concat(ptr %t417, ptr %t418) + %t420 = call ptr @fn_emit_bind(ptr %t419) + store ptr %t420, ptr %t421 + %t422 = load ptr, ptr %t392 + %t423 = call ptr @lp_str_concat(ptr @.str2017, ptr %t422) + %t424 = call ptr @lp_str_concat(ptr %t423, ptr @.str2018) + %t425 = load ptr, ptr %t402 + %t426 = call ptr @lp_str_concat(ptr %t424, ptr %t425) + %t427 = call ptr @fn_emit_bind(ptr %t426) + store ptr %t427, ptr %t428 + %t429 = load ptr, ptr %t397 + %t430 = call ptr @lp_str_concat(ptr @.str2019, ptr %t429) + %t431 = call ptr @lp_str_concat(ptr %t430, ptr @.str2020) + %t432 = load ptr, ptr %t407 + %t433 = call ptr @lp_str_concat(ptr %t431, ptr %t432) + %t434 = call ptr @fn_emit_bind(ptr %t433) + store ptr %t434, ptr %t435 + %t436 = load ptr, ptr %t372 + %t437 = load ptr, ptr %t428 + %t438 = call ptr @fn_rect_cmp(ptr @.str2021, ptr %t436, ptr %t437) + store ptr %t438, ptr %t439 + %t440 = load ptr, ptr %t392 + %t441 = load ptr, ptr %t414 + %t442 = call ptr @fn_rect_cmp(ptr @.str2022, ptr %t440, ptr %t441) + store ptr %t442, ptr %t443 + %t444 = load ptr, ptr %t377 + %t445 = load ptr, ptr %t435 + %t446 = call ptr @fn_rect_cmp(ptr @.str2023, ptr %t444, ptr %t445) + store ptr %t446, ptr %t447 + %t448 = load ptr, ptr %t397 + %t449 = load ptr, ptr %t421 + %t450 = call ptr @fn_rect_cmp(ptr @.str2024, ptr %t448, ptr %t449) + store ptr %t450, ptr %t451 + %t452 = load ptr, ptr %t439 + %t453 = call ptr @lp_str_concat(ptr @.str2025, ptr %t452) + %t454 = call ptr @lp_str_concat(ptr %t453, ptr @.str2026) + %t455 = load ptr, ptr %t443 + %t456 = call ptr @lp_str_concat(ptr %t454, ptr %t455) + %t457 = call ptr @fn_emit_bind(ptr %t456) + store ptr %t457, ptr %t458 + %t459 = load ptr, ptr %t447 + %t460 = call ptr @lp_str_concat(ptr @.str2027, ptr %t459) + %t461 = call ptr @lp_str_concat(ptr %t460, ptr @.str2028) + %t462 = load ptr, ptr %t451 + %t463 = call ptr @lp_str_concat(ptr %t461, ptr %t462) + %t464 = call ptr @fn_emit_bind(ptr %t463) + store ptr %t464, ptr %t465 + %t466 = load ptr, ptr %t458 + %t467 = call ptr @lp_str_concat(ptr @.str2029, ptr %t466) + %t468 = call ptr @lp_str_concat(ptr %t467, ptr @.str2030) + %t469 = load ptr, ptr %t465 + %t470 = call ptr @lp_str_concat(ptr %t468, ptr %t469) + %t471 = call ptr @fn_emit_bind(ptr %t470) + %t472 = call ptr @fn_val(ptr %t471, ptr @.str2031) + store ptr %t472, ptr %retval + br label %ret +ret: + %t473 = load ptr, ptr %retval + ret ptr %t473 +} + +define i32 @fn_is_text_ns(ptr %arg_meth) { +entry: + %retval = alloca i32 + %t0 = alloca ptr + %t1 = alloca i32 + %t2 = alloca i32 + %t20 = alloca i32 + %t21 = alloca i32 + %t22 = alloca i32 + %t47 = alloca i32 + %t58 = alloca i32 + %t69 = alloca i32 + %t70 = alloca i32 + %t71 = alloca i32 + %t96 = alloca i32 + %t107 = alloca i32 + %t108 = alloca i32 + store ptr %arg_meth, ptr %t0 + %t3 = load ptr, ptr %t0 + %t4 = call i32 @lp_str_eq(ptr %t3, ptr @.str2032) + %t5 = icmp ne i32 %t4, 0 + %t6 = zext i1 %t5 to i32 + store i32 %t6, ptr %t2 + br i1 %t5, label %scend1, label %sc0 +sc0: + %t7 = load ptr, ptr %t0 + %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str2033) + %t9 = icmp ne i32 %t8, 0 + %t10 = zext i1 %t9 to i32 + store i32 %t10, ptr %t2 + br label %scend1 +scend1: + %t11 = load i32, ptr %t2 + %t12 = icmp ne i32 %t11, 0 + %t13 = zext i1 %t12 to i32 + store i32 %t13, ptr %t1 + br i1 %t12, label %scend3, label %sc2 +sc2: + %t14 = load ptr, ptr %t0 + %t15 = call i32 @lp_str_eq(ptr %t14, ptr @.str2034) + %t16 = icmp ne i32 %t15, 0 + %t17 = zext i1 %t16 to i32 + store i32 %t17, ptr %t1 + br label %scend3 +scend3: + %t18 = load i32, ptr %t1 + %t19 = icmp ne i32 %t18, 0 + br i1 %t19, label %then4, label %ifend6 +then4: + store i32 1, ptr %retval + br label %ret +ifend6: + %t23 = load ptr, ptr %t0 + %t24 = call i32 @lp_str_eq(ptr %t23, ptr @.str2035) + %t25 = icmp ne i32 %t24, 0 + %t26 = zext i1 %t25 to i32 + store i32 %t26, ptr %t22 + br i1 %t25, label %scend8, label %sc7 +sc7: + %t27 = load ptr, ptr %t0 + %t28 = call i32 @lp_str_eq(ptr %t27, ptr @.str2036) + %t29 = icmp ne i32 %t28, 0 + %t30 = zext i1 %t29 to i32 + store i32 %t30, ptr %t22 + br label %scend8 +scend8: + %t31 = load i32, ptr %t22 + %t32 = icmp ne i32 %t31, 0 + %t33 = zext i1 %t32 to i32 + store i32 %t33, ptr %t21 + br i1 %t32, label %scend10, label %sc9 +sc9: + %t34 = load ptr, ptr %t0 + %t35 = call i32 @lp_str_eq(ptr %t34, ptr @.str2037) + %t36 = icmp ne i32 %t35, 0 + %t37 = zext i1 %t36 to i32 + store i32 %t37, ptr %t21 + br label %scend10 +scend10: + %t38 = load i32, ptr %t21 + %t39 = icmp ne i32 %t38, 0 + %t40 = zext i1 %t39 to i32 + store i32 %t40, ptr %t20 + br i1 %t39, label %scend12, label %sc11 +sc11: + %t41 = load ptr, ptr %t0 + %t42 = call i32 @lp_str_eq(ptr %t41, ptr @.str2038) + %t43 = icmp ne i32 %t42, 0 + %t44 = zext i1 %t43 to i32 + store i32 %t44, ptr %t20 + br label %scend12 +scend12: + %t45 = load i32, ptr %t20 + %t46 = icmp ne i32 %t45, 0 + br i1 %t46, label %then13, label %ifend15 +then13: + store i32 1, ptr %retval + br label %ret +ifend15: + %t48 = load ptr, ptr %t0 + %t49 = call i32 @lp_str_eq(ptr %t48, ptr @.str2039) + %t50 = icmp ne i32 %t49, 0 + %t51 = zext i1 %t50 to i32 + store i32 %t51, ptr %t47 + br i1 %t50, label %scend17, label %sc16 +sc16: + %t52 = load ptr, ptr %t0 + %t53 = call i32 @lp_str_eq(ptr %t52, ptr @.str2040) + %t54 = icmp ne i32 %t53, 0 + %t55 = zext i1 %t54 to i32 + store i32 %t55, ptr %t47 + br label %scend17 +scend17: + %t56 = load i32, ptr %t47 + %t57 = icmp ne i32 %t56, 0 + br i1 %t57, label %then18, label %ifend20 +then18: + store i32 1, ptr %retval + br label %ret +ifend20: + %t59 = load ptr, ptr %t0 + %t60 = call i32 @lp_str_eq(ptr %t59, ptr @.str2041) + %t61 = icmp ne i32 %t60, 0 + %t62 = zext i1 %t61 to i32 + store i32 %t62, ptr %t58 + br i1 %t61, label %scend22, label %sc21 +sc21: + %t63 = load ptr, ptr %t0 + %t64 = call i32 @lp_str_eq(ptr %t63, ptr @.str2042) + %t65 = icmp ne i32 %t64, 0 + %t66 = zext i1 %t65 to i32 + store i32 %t66, ptr %t58 + br label %scend22 +scend22: + %t67 = load i32, ptr %t58 + %t68 = icmp ne i32 %t67, 0 + br i1 %t68, label %then23, label %ifend25 +then23: + store i32 1, ptr %retval + br label %ret +ifend25: + %t72 = load ptr, ptr %t0 + %t73 = call i32 @lp_str_eq(ptr %t72, ptr @.str2043) + %t74 = icmp ne i32 %t73, 0 + %t75 = zext i1 %t74 to i32 + store i32 %t75, ptr %t71 + br i1 %t74, label %scend27, label %sc26 +sc26: + %t76 = load ptr, ptr %t0 + %t77 = call i32 @lp_str_eq(ptr %t76, ptr @.str2044) + %t78 = icmp ne i32 %t77, 0 + %t79 = zext i1 %t78 to i32 + store i32 %t79, ptr %t71 + br label %scend27 +scend27: + %t80 = load i32, ptr %t71 + %t81 = icmp ne i32 %t80, 0 + %t82 = zext i1 %t81 to i32 + store i32 %t82, ptr %t70 + br i1 %t81, label %scend29, label %sc28 +sc28: + %t83 = load ptr, ptr %t0 + %t84 = call i32 @lp_str_eq(ptr %t83, ptr @.str2045) + %t85 = icmp ne i32 %t84, 0 + %t86 = zext i1 %t85 to i32 + store i32 %t86, ptr %t70 + br label %scend29 +scend29: + %t87 = load i32, ptr %t70 + %t88 = icmp ne i32 %t87, 0 + %t89 = zext i1 %t88 to i32 + store i32 %t89, ptr %t69 + br i1 %t88, label %scend31, label %sc30 +sc30: + %t90 = load ptr, ptr %t0 + %t91 = call i32 @lp_str_eq(ptr %t90, ptr @.str2046) + %t92 = icmp ne i32 %t91, 0 + %t93 = zext i1 %t92 to i32 + store i32 %t93, ptr %t69 + br label %scend31 +scend31: + %t94 = load i32, ptr %t69 + %t95 = icmp ne i32 %t94, 0 + br i1 %t95, label %then32, label %ifend34 +then32: + store i32 1, ptr %retval + br label %ret +ifend34: + %t97 = load ptr, ptr %t0 + %t98 = call i32 @lp_str_eq(ptr %t97, ptr @.str2047) + %t99 = icmp ne i32 %t98, 0 + %t100 = zext i1 %t99 to i32 + store i32 %t100, ptr %t96 + br i1 %t99, label %scend36, label %sc35 +sc35: + %t101 = load ptr, ptr %t0 + %t102 = call i32 @lp_str_eq(ptr %t101, ptr @.str2048) + %t103 = icmp ne i32 %t102, 0 + %t104 = zext i1 %t103 to i32 + store i32 %t104, ptr %t96 + br label %scend36 +scend36: + %t105 = load i32, ptr %t96 + %t106 = icmp ne i32 %t105, 0 + br i1 %t106, label %then37, label %ifend39 +then37: + store i32 1, ptr %retval + br label %ret +ifend39: + %t109 = load ptr, ptr %t0 + %t110 = call i32 @lp_str_eq(ptr %t109, ptr @.str2049) + %t111 = icmp ne i32 %t110, 0 + %t112 = zext i1 %t111 to i32 + store i32 %t112, ptr %t108 + br i1 %t111, label %scend41, label %sc40 +sc40: + %t113 = load ptr, ptr %t0 + %t114 = call i32 @lp_str_eq(ptr %t113, ptr @.str2050) + %t115 = icmp ne i32 %t114, 0 + %t116 = zext i1 %t115 to i32 + store i32 %t116, ptr %t108 + br label %scend41 +scend41: + %t117 = load i32, ptr %t108 + %t118 = icmp ne i32 %t117, 0 + %t119 = zext i1 %t118 to i32 + store i32 %t119, ptr %t107 + br i1 %t118, label %scend43, label %sc42 +sc42: + %t120 = load ptr, ptr %t0 + %t121 = call i32 @lp_str_eq(ptr %t120, ptr @.str2051) + %t122 = icmp ne i32 %t121, 0 + %t123 = zext i1 %t122 to i32 + store i32 %t123, ptr %t107 + br label %scend43 +scend43: + %t124 = load i32, ptr %t107 + %t125 = icmp ne i32 %t124, 0 + br i1 %t125, label %then44, label %ifend46 +then44: + store i32 1, ptr %retval + br label %ret +ifend46: + store i32 0, ptr %retval + br label %ret +ret: + %t126 = load i32, ptr %retval + ret i32 %t126 +} + +define ptr @fn_emit_text_ns(ptr %arg_meth, ptr %arg_e) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t1 = alloca ptr + %t13 = alloca ptr + %t32 = alloca ptr + %t41 = alloca ptr + %t50 = alloca ptr + %t79 = alloca ptr + %t88 = alloca ptr + %t112 = alloca ptr + %t121 = alloca ptr + %t142 = alloca ptr + %t152 = alloca ptr + %t169 = alloca ptr + %t180 = alloca ptr + %t184 = alloca ptr + %t241 = alloca ptr + %t265 = alloca ptr + %t289 = alloca ptr + %t313 = alloca ptr + %t322 = alloca ptr + %t351 = alloca ptr + %t375 = alloca ptr + %t388 = alloca i32 + %t407 = alloca ptr + %t419 = alloca ptr + %t427 = alloca ptr + %t437 = alloca ptr + %t442 = alloca ptr + %t449 = alloca ptr + %t456 = alloca ptr + %t461 = alloca ptr + %t477 = alloca ptr + %t484 = alloca ptr + %t502 = alloca ptr + %t507 = alloca ptr + %t519 = alloca ptr + %t526 = alloca ptr + %t528 = alloca ptr + %t534 = alloca ptr + %t536 = alloca ptr + %t538 = alloca ptr + %t551 = alloca ptr + %t564 = alloca ptr + %t569 = alloca ptr + %t574 = alloca ptr + store ptr %arg_meth, ptr %t0 + store ptr %arg_e, ptr %t1 + %t2 = load ptr, ptr %t0 + %t3 = call i32 @lp_str_eq(ptr %t2, ptr @.str2052) + %t4 = icmp ne i32 %t3, 0 + br i1 %t4, label %then0, label %ifend2 +then0: + %t5 = load ptr, ptr %t1 + %t6 = getelementptr inbounds %Cmp_Node, ptr %t5, i32 0, i32 7 + %t7 = load ptr, ptr %t6 + %t8 = getelementptr inbounds %LSlice, ptr %t7, i32 0, i32 0 + %t9 = load ptr, ptr %t8 + %t10 = getelementptr inbounds ptr, ptr %t9, i32 0 + %t11 = load ptr, ptr %t10 + %t12 = call ptr @fn_emit_expr(ptr %t11) + store ptr %t12, ptr %t13 + store i32 1, ptr @g_g_uses_intstr + %t14 = load ptr, ptr %t13 + %t15 = getelementptr inbounds %Cmp_Val, ptr %t14, i32 0, i32 0 + %t16 = load ptr, ptr %t15 + %t17 = call ptr @lp_str_concat(ptr @.str2053, ptr %t16) + %t18 = call ptr @lp_str_concat(ptr %t17, ptr @.str2054) + %t19 = call ptr @fn_emit_bind(ptr %t18) + %t20 = call ptr @fn_val(ptr %t19, ptr @.str2055) + store ptr %t20, ptr %retval + br label %ret +ifend2: + %t21 = load ptr, ptr %t0 + %t22 = call i32 @lp_str_eq(ptr %t21, ptr @.str2056) + %t23 = icmp ne i32 %t22, 0 + br i1 %t23, label %then3, label %ifend5 +then3: + %t24 = load ptr, ptr %t1 + %t25 = getelementptr inbounds %Cmp_Node, ptr %t24, i32 0, i32 7 + %t26 = load ptr, ptr %t25 + %t27 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 0 + %t28 = load ptr, ptr %t27 + %t29 = getelementptr inbounds ptr, ptr %t28, i32 0 + %t30 = load ptr, ptr %t29 + %t31 = call ptr @fn_emit_expr(ptr %t30) + store ptr %t31, ptr %t32 + %t33 = load ptr, ptr %t1 + %t34 = getelementptr inbounds %Cmp_Node, ptr %t33, i32 0, i32 7 + %t35 = load ptr, ptr %t34 + %t36 = getelementptr inbounds %LSlice, ptr %t35, i32 0, i32 0 + %t37 = load ptr, ptr %t36 + %t38 = getelementptr inbounds ptr, ptr %t37, i32 1 + %t39 = load ptr, ptr %t38 + %t40 = call ptr @fn_emit_expr(ptr %t39) + store ptr %t40, ptr %t41 + %t42 = load ptr, ptr %t1 + %t43 = getelementptr inbounds %Cmp_Node, ptr %t42, i32 0, i32 7 + %t44 = load ptr, ptr %t43 + %t45 = getelementptr inbounds %LSlice, ptr %t44, i32 0, i32 0 + %t46 = load ptr, ptr %t45 + %t47 = getelementptr inbounds ptr, ptr %t46, i32 2 + %t48 = load ptr, ptr %t47 + %t49 = call ptr @fn_emit_expr(ptr %t48) + store ptr %t49, ptr %t50 + store i32 1, ptr @g_g_uses_strslice + %t51 = load ptr, ptr %t32 + %t52 = getelementptr inbounds %Cmp_Val, ptr %t51, i32 0, i32 0 + %t53 = load ptr, ptr %t52 + %t54 = call ptr @lp_str_concat(ptr @.str2057, ptr %t53) + %t55 = call ptr @lp_str_concat(ptr %t54, ptr @.str2058) + %t56 = load ptr, ptr %t41 + %t57 = getelementptr inbounds %Cmp_Val, ptr %t56, i32 0, i32 0 + %t58 = load ptr, ptr %t57 + %t59 = call ptr @lp_str_concat(ptr %t55, ptr %t58) + %t60 = call ptr @lp_str_concat(ptr %t59, ptr @.str2059) + %t61 = load ptr, ptr %t50 + %t62 = getelementptr inbounds %Cmp_Val, ptr %t61, i32 0, i32 0 + %t63 = load ptr, ptr %t62 + %t64 = call ptr @lp_str_concat(ptr %t60, ptr %t63) + %t65 = call ptr @lp_str_concat(ptr %t64, ptr @.str2060) + %t66 = call ptr @fn_emit_bind(ptr %t65) + %t67 = call ptr @fn_val(ptr %t66, ptr @.str2061) + store ptr %t67, ptr %retval + br label %ret +ifend5: + %t68 = load ptr, ptr %t0 + %t69 = call i32 @lp_str_eq(ptr %t68, ptr @.str2062) + %t70 = icmp ne i32 %t69, 0 + br i1 %t70, label %then6, label %ifend8 +then6: + %t71 = load ptr, ptr %t1 + %t72 = getelementptr inbounds %Cmp_Node, ptr %t71, i32 0, i32 7 + %t73 = load ptr, ptr %t72 + %t74 = getelementptr inbounds %LSlice, ptr %t73, i32 0, i32 0 + %t75 = load ptr, ptr %t74 + %t76 = getelementptr inbounds ptr, ptr %t75, i32 0 + %t77 = load ptr, ptr %t76 + %t78 = call ptr @fn_emit_expr(ptr %t77) + store ptr %t78, ptr %t79 + %t80 = load ptr, ptr %t1 + %t81 = getelementptr inbounds %Cmp_Node, ptr %t80, i32 0, i32 7 + %t82 = load ptr, ptr %t81 + %t83 = getelementptr inbounds %LSlice, ptr %t82, i32 0, i32 0 + %t84 = load ptr, ptr %t83 + %t85 = getelementptr inbounds ptr, ptr %t84, i32 1 + %t86 = load ptr, ptr %t85 + %t87 = call ptr @fn_emit_expr(ptr %t86) + store ptr %t87, ptr %t88 + store i32 1, ptr @g_g_uses_str + %t89 = load ptr, ptr %t79 + %t90 = getelementptr inbounds %Cmp_Val, ptr %t89, i32 0, i32 0 + %t91 = load ptr, ptr %t90 + %t92 = call ptr @lp_str_concat(ptr @.str2063, ptr %t91) + %t93 = call ptr @lp_str_concat(ptr %t92, ptr @.str2064) + %t94 = load ptr, ptr %t88 + %t95 = getelementptr inbounds %Cmp_Val, ptr %t94, i32 0, i32 0 + %t96 = load ptr, ptr %t95 + %t97 = call ptr @lp_str_concat(ptr %t93, ptr %t96) + %t98 = call ptr @lp_str_concat(ptr %t97, ptr @.str2065) + %t99 = call ptr @fn_emit_bind(ptr %t98) + %t100 = call ptr @fn_val(ptr %t99, ptr @.str2066) + store ptr %t100, ptr %retval + br label %ret +ifend8: + %t101 = load ptr, ptr %t0 + %t102 = call i32 @lp_str_eq(ptr %t101, ptr @.str2067) + %t103 = icmp ne i32 %t102, 0 + br i1 %t103, label %then9, label %ifend11 +then9: + %t104 = load ptr, ptr %t1 + %t105 = getelementptr inbounds %Cmp_Node, ptr %t104, i32 0, i32 7 + %t106 = load ptr, ptr %t105 + %t107 = getelementptr inbounds %LSlice, ptr %t106, i32 0, i32 0 + %t108 = load ptr, ptr %t107 + %t109 = getelementptr inbounds ptr, ptr %t108, i32 0 + %t110 = load ptr, ptr %t109 + %t111 = call ptr @fn_emit_expr(ptr %t110) + store ptr %t111, ptr %t112 + %t113 = load ptr, ptr %t1 + %t114 = getelementptr inbounds %Cmp_Node, ptr %t113, i32 0, i32 7 + %t115 = load ptr, ptr %t114 + %t116 = getelementptr inbounds %LSlice, ptr %t115, i32 0, i32 0 + %t117 = load ptr, ptr %t116 + %t118 = getelementptr inbounds ptr, ptr %t117, i32 1 + %t119 = load ptr, ptr %t118 + %t120 = call ptr @fn_emit_expr(ptr %t119) + store ptr %t120, ptr %t121 + store i32 1, ptr @g_g_uses_str + %t122 = load ptr, ptr %t112 + %t123 = getelementptr inbounds %Cmp_Val, ptr %t122, i32 0, i32 0 + %t124 = load ptr, ptr %t123 + %t125 = call ptr @lp_str_concat(ptr @.str2068, ptr %t124) + %t126 = call ptr @lp_str_concat(ptr %t125, ptr @.str2069) + %t127 = load ptr, ptr %t121 + %t128 = getelementptr inbounds %Cmp_Val, ptr %t127, i32 0, i32 0 + %t129 = load ptr, ptr %t128 + %t130 = call ptr @lp_str_concat(ptr %t126, ptr %t129) + %t131 = call ptr @lp_str_concat(ptr %t130, ptr @.str2070) + %t132 = call ptr @fn_emit_bind(ptr %t131) + %t133 = call ptr @fn_val(ptr %t132, ptr @.str2071) + store ptr %t133, ptr %retval + br label %ret +ifend11: + %t134 = load ptr, ptr %t1 + %t135 = getelementptr inbounds %Cmp_Node, ptr %t134, i32 0, i32 7 + %t136 = load ptr, ptr %t135 + %t137 = getelementptr inbounds %LSlice, ptr %t136, i32 0, i32 0 + %t138 = load ptr, ptr %t137 + %t139 = getelementptr inbounds ptr, ptr %t138, i32 0 + %t140 = load ptr, ptr %t139 + %t141 = call ptr @fn_emit_expr(ptr %t140) + store ptr %t141, ptr %t142 + %t143 = load ptr, ptr %t0 + %t144 = call i32 @lp_str_eq(ptr %t143, ptr @.str2072) + %t145 = icmp ne i32 %t144, 0 + br i1 %t145, label %then12, label %ifend14 +then12: + %t146 = load ptr, ptr %t142 + %t147 = getelementptr inbounds %Cmp_Val, ptr %t146, i32 0, i32 0 + %t148 = load ptr, ptr %t147 + %t149 = call ptr @lp_str_concat(ptr @.str2073, ptr %t148) + %t150 = call ptr @lp_str_concat(ptr %t149, ptr @.str2074) + %t151 = call ptr @fn_emit_bind(ptr %t150) + store ptr %t151, ptr %t152 + %t153 = load ptr, ptr %t152 + %t154 = call ptr @lp_str_concat(ptr @.str2075, ptr %t153) + %t155 = call ptr @lp_str_concat(ptr %t154, ptr @.str2076) + %t156 = call ptr @fn_emit_bind(ptr %t155) + %t157 = call ptr @fn_val(ptr %t156, ptr @.str2077) + store ptr %t157, ptr %retval + br label %ret +ifend14: + %t158 = load ptr, ptr %t0 + %t159 = call i32 @lp_str_eq(ptr %t158, ptr @.str2078) + %t160 = icmp ne i32 %t159, 0 + br i1 %t160, label %then15, label %ifend17 +then15: + %t161 = load ptr, ptr %t1 + %t162 = getelementptr inbounds %Cmp_Node, ptr %t161, i32 0, i32 7 + %t163 = load ptr, ptr %t162 + %t164 = getelementptr inbounds %LSlice, ptr %t163, i32 0, i32 0 + %t165 = load ptr, ptr %t164 + %t166 = getelementptr inbounds ptr, ptr %t165, i32 1 + %t167 = load ptr, ptr %t166 + %t168 = call ptr @fn_emit_expr(ptr %t167) + store ptr %t168, ptr %t169 + %t170 = load ptr, ptr %t142 + %t171 = getelementptr inbounds %Cmp_Val, ptr %t170, i32 0, i32 0 + %t172 = load ptr, ptr %t171 + %t173 = call ptr @lp_str_concat(ptr @.str2079, ptr %t172) + %t174 = call ptr @lp_str_concat(ptr %t173, ptr @.str2080) + %t175 = load ptr, ptr %t169 + %t176 = getelementptr inbounds %Cmp_Val, ptr %t175, i32 0, i32 0 + %t177 = load ptr, ptr %t176 + %t178 = call ptr @lp_str_concat(ptr %t174, ptr %t177) + %t179 = call ptr @fn_emit_bind(ptr %t178) + store ptr %t179, ptr %t180 + %t181 = load ptr, ptr %t180 + %t182 = call ptr @lp_str_concat(ptr @.str2081, ptr %t181) + %t183 = call ptr @fn_emit_bind(ptr %t182) + store ptr %t183, ptr %t184 + %t185 = load ptr, ptr %t184 + %t186 = call ptr @lp_str_concat(ptr @.str2082, ptr %t185) + %t187 = call ptr @lp_str_concat(ptr %t186, ptr @.str2083) + %t188 = call ptr @fn_emit_bind(ptr %t187) + %t189 = call ptr @fn_val(ptr %t188, ptr @.str2084) + store ptr %t189, ptr %retval + br label %ret +ifend17: + %t190 = load ptr, ptr %t0 + %t191 = call i32 @lp_str_eq(ptr %t190, ptr @.str2085) + %t192 = icmp ne i32 %t191, 0 + br i1 %t192, label %then18, label %ifend20 +then18: + %t193 = load ptr, ptr %t142 + %t194 = getelementptr inbounds %Cmp_Val, ptr %t193, i32 0, i32 0 + %t195 = load ptr, ptr %t194 + %t196 = call ptr @lp_str_concat(ptr @.str2086, ptr %t195) + %t197 = call ptr @lp_str_concat(ptr %t196, ptr @.str2087) + %t198 = call ptr @fn_emit_bind(ptr %t197) + %t199 = call ptr @fn_val(ptr %t198, ptr @.str2088) + store ptr %t199, ptr %retval + br label %ret +ifend20: + %t200 = load ptr, ptr %t0 + %t201 = call i32 @lp_str_eq(ptr %t200, ptr @.str2089) + %t202 = icmp ne i32 %t201, 0 + br i1 %t202, label %then21, label %ifend23 +then21: + store i32 1, ptr @g_g_uses_textrt + %t203 = load ptr, ptr %t142 + %t204 = getelementptr inbounds %Cmp_Val, ptr %t203, i32 0, i32 0 + %t205 = load ptr, ptr %t204 + %t206 = call ptr @lp_str_concat(ptr @.str2090, ptr %t205) + %t207 = call ptr @lp_str_concat(ptr %t206, ptr @.str2091) + %t208 = call ptr @fn_emit_bind(ptr %t207) + %t209 = call ptr @fn_val(ptr %t208, ptr @.str2092) + store ptr %t209, ptr %retval + br label %ret +ifend23: + %t210 = load ptr, ptr %t0 + %t211 = call i32 @lp_str_eq(ptr %t210, ptr @.str2093) + %t212 = icmp ne i32 %t211, 0 + br i1 %t212, label %then24, label %ifend26 +then24: + store i32 1, ptr @g_g_uses_textrt + %t213 = load ptr, ptr %t142 + %t214 = getelementptr inbounds %Cmp_Val, ptr %t213, i32 0, i32 0 + %t215 = load ptr, ptr %t214 + %t216 = call ptr @lp_str_concat(ptr @.str2094, ptr %t215) + %t217 = call ptr @lp_str_concat(ptr %t216, ptr @.str2095) + %t218 = call ptr @fn_emit_bind(ptr %t217) + %t219 = call ptr @fn_val(ptr %t218, ptr @.str2096) + store ptr %t219, ptr %retval + br label %ret +ifend26: + %t220 = load ptr, ptr %t0 + %t221 = call i32 @lp_str_eq(ptr %t220, ptr @.str2097) + %t222 = icmp ne i32 %t221, 0 + br i1 %t222, label %then27, label %ifend29 +then27: + store i32 1, ptr @g_g_uses_textrt + %t223 = load ptr, ptr %t142 + %t224 = getelementptr inbounds %Cmp_Val, ptr %t223, i32 0, i32 0 + %t225 = load ptr, ptr %t224 + %t226 = call ptr @lp_str_concat(ptr @.str2098, ptr %t225) + %t227 = call ptr @lp_str_concat(ptr %t226, ptr @.str2099) + %t228 = call ptr @fn_emit_bind(ptr %t227) + %t229 = call ptr @fn_val(ptr %t228, ptr @.str2100) + store ptr %t229, ptr %retval + br label %ret +ifend29: + %t230 = load ptr, ptr %t0 + %t231 = call i32 @lp_str_eq(ptr %t230, ptr @.str2101) + %t232 = icmp ne i32 %t231, 0 + br i1 %t232, label %then30, label %ifend32 +then30: + store i32 1, ptr @g_g_uses_textrt + %t233 = load ptr, ptr %t1 + %t234 = getelementptr inbounds %Cmp_Node, ptr %t233, i32 0, i32 7 + %t235 = load ptr, ptr %t234 + %t236 = getelementptr inbounds %LSlice, ptr %t235, i32 0, i32 0 + %t237 = load ptr, ptr %t236 + %t238 = getelementptr inbounds ptr, ptr %t237, i32 1 + %t239 = load ptr, ptr %t238 + %t240 = call ptr @fn_emit_expr(ptr %t239) + store ptr %t240, ptr %t241 + %t242 = load ptr, ptr %t142 + %t243 = getelementptr inbounds %Cmp_Val, ptr %t242, i32 0, i32 0 + %t244 = load ptr, ptr %t243 + %t245 = call ptr @lp_str_concat(ptr @.str2102, ptr %t244) + %t246 = call ptr @lp_str_concat(ptr %t245, ptr @.str2103) + %t247 = load ptr, ptr %t241 + %t248 = getelementptr inbounds %Cmp_Val, ptr %t247, i32 0, i32 0 + %t249 = load ptr, ptr %t248 + %t250 = call ptr @lp_str_concat(ptr %t246, ptr %t249) + %t251 = call ptr @lp_str_concat(ptr %t250, ptr @.str2104) + %t252 = call ptr @fn_emit_bind(ptr %t251) + %t253 = call ptr @fn_val(ptr %t252, ptr @.str2105) + store ptr %t253, ptr %retval + br label %ret +ifend32: + %t254 = load ptr, ptr %t0 + %t255 = call i32 @lp_str_eq(ptr %t254, ptr @.str2106) + %t256 = icmp ne i32 %t255, 0 + br i1 %t256, label %then33, label %ifend35 +then33: + store i32 1, ptr @g_g_uses_textrt + %t257 = load ptr, ptr %t1 + %t258 = getelementptr inbounds %Cmp_Node, ptr %t257, i32 0, i32 7 + %t259 = load ptr, ptr %t258 + %t260 = getelementptr inbounds %LSlice, ptr %t259, i32 0, i32 0 + %t261 = load ptr, ptr %t260 + %t262 = getelementptr inbounds ptr, ptr %t261, i32 1 + %t263 = load ptr, ptr %t262 + %t264 = call ptr @fn_emit_expr(ptr %t263) + store ptr %t264, ptr %t265 + %t266 = load ptr, ptr %t142 + %t267 = getelementptr inbounds %Cmp_Val, ptr %t266, i32 0, i32 0 + %t268 = load ptr, ptr %t267 + %t269 = call ptr @lp_str_concat(ptr @.str2107, ptr %t268) + %t270 = call ptr @lp_str_concat(ptr %t269, ptr @.str2108) + %t271 = load ptr, ptr %t265 + %t272 = getelementptr inbounds %Cmp_Val, ptr %t271, i32 0, i32 0 + %t273 = load ptr, ptr %t272 + %t274 = call ptr @lp_str_concat(ptr %t270, ptr %t273) + %t275 = call ptr @lp_str_concat(ptr %t274, ptr @.str2109) + %t276 = call ptr @fn_emit_bind(ptr %t275) + %t277 = call ptr @fn_val(ptr %t276, ptr @.str2110) + store ptr %t277, ptr %retval + br label %ret +ifend35: + %t278 = load ptr, ptr %t0 + %t279 = call i32 @lp_str_eq(ptr %t278, ptr @.str2111) + %t280 = icmp ne i32 %t279, 0 + br i1 %t280, label %then36, label %ifend38 +then36: + store i32 1, ptr @g_g_uses_textrt + %t281 = load ptr, ptr %t1 + %t282 = getelementptr inbounds %Cmp_Node, ptr %t281, i32 0, i32 7 + %t283 = load ptr, ptr %t282 + %t284 = getelementptr inbounds %LSlice, ptr %t283, i32 0, i32 0 + %t285 = load ptr, ptr %t284 + %t286 = getelementptr inbounds ptr, ptr %t285, i32 1 + %t287 = load ptr, ptr %t286 + %t288 = call ptr @fn_emit_expr(ptr %t287) + store ptr %t288, ptr %t289 + %t290 = load ptr, ptr %t142 + %t291 = getelementptr inbounds %Cmp_Val, ptr %t290, i32 0, i32 0 + %t292 = load ptr, ptr %t291 + %t293 = call ptr @lp_str_concat(ptr @.str2112, ptr %t292) + %t294 = call ptr @lp_str_concat(ptr %t293, ptr @.str2113) + %t295 = load ptr, ptr %t289 + %t296 = getelementptr inbounds %Cmp_Val, ptr %t295, i32 0, i32 0 + %t297 = load ptr, ptr %t296 + %t298 = call ptr @lp_str_concat(ptr %t294, ptr %t297) + %t299 = call ptr @lp_str_concat(ptr %t298, ptr @.str2114) + %t300 = call ptr @fn_emit_bind(ptr %t299) + %t301 = call ptr @fn_val(ptr %t300, ptr @.str2115) + store ptr %t301, ptr %retval + br label %ret +ifend38: + %t302 = load ptr, ptr %t0 + %t303 = call i32 @lp_str_eq(ptr %t302, ptr @.str2116) + %t304 = icmp ne i32 %t303, 0 + br i1 %t304, label %then39, label %ifend41 +then39: + store i32 1, ptr @g_g_uses_textrt2 + %t305 = load ptr, ptr %t1 + %t306 = getelementptr inbounds %Cmp_Node, ptr %t305, i32 0, i32 7 + %t307 = load ptr, ptr %t306 + %t308 = getelementptr inbounds %LSlice, ptr %t307, i32 0, i32 0 + %t309 = load ptr, ptr %t308 + %t310 = getelementptr inbounds ptr, ptr %t309, i32 1 + %t311 = load ptr, ptr %t310 + %t312 = call ptr @fn_emit_expr(ptr %t311) + store ptr %t312, ptr %t313 + %t314 = load ptr, ptr %t1 + %t315 = getelementptr inbounds %Cmp_Node, ptr %t314, i32 0, i32 7 + %t316 = load ptr, ptr %t315 + %t317 = getelementptr inbounds %LSlice, ptr %t316, i32 0, i32 0 + %t318 = load ptr, ptr %t317 + %t319 = getelementptr inbounds ptr, ptr %t318, i32 2 + %t320 = load ptr, ptr %t319 + %t321 = call ptr @fn_emit_expr(ptr %t320) + store ptr %t321, ptr %t322 + %t323 = load ptr, ptr %t142 + %t324 = getelementptr inbounds %Cmp_Val, ptr %t323, i32 0, i32 0 + %t325 = load ptr, ptr %t324 + %t326 = call ptr @lp_str_concat(ptr @.str2117, ptr %t325) + %t327 = call ptr @lp_str_concat(ptr %t326, ptr @.str2118) + %t328 = load ptr, ptr %t313 + %t329 = getelementptr inbounds %Cmp_Val, ptr %t328, i32 0, i32 0 + %t330 = load ptr, ptr %t329 + %t331 = call ptr @lp_str_concat(ptr %t327, ptr %t330) + %t332 = call ptr @lp_str_concat(ptr %t331, ptr @.str2119) + %t333 = load ptr, ptr %t322 + %t334 = getelementptr inbounds %Cmp_Val, ptr %t333, i32 0, i32 0 + %t335 = load ptr, ptr %t334 + %t336 = call ptr @lp_str_concat(ptr %t332, ptr %t335) + %t337 = call ptr @lp_str_concat(ptr %t336, ptr @.str2120) + %t338 = call ptr @fn_emit_bind(ptr %t337) + %t339 = call ptr @fn_val(ptr %t338, ptr @.str2121) + store ptr %t339, ptr %retval + br label %ret +ifend41: + %t340 = load ptr, ptr %t0 + %t341 = call i32 @lp_str_eq(ptr %t340, ptr @.str2122) + %t342 = icmp ne i32 %t341, 0 + br i1 %t342, label %then42, label %ifend44 +then42: + store i32 1, ptr @g_g_uses_textrt2 + %t343 = load ptr, ptr %t1 + %t344 = getelementptr inbounds %Cmp_Node, ptr %t343, i32 0, i32 7 + %t345 = load ptr, ptr %t344 + %t346 = getelementptr inbounds %LSlice, ptr %t345, i32 0, i32 0 + %t347 = load ptr, ptr %t346 + %t348 = getelementptr inbounds ptr, ptr %t347, i32 1 + %t349 = load ptr, ptr %t348 + %t350 = call ptr @fn_emit_expr(ptr %t349) + store ptr %t350, ptr %t351 + %t352 = load ptr, ptr %t142 + %t353 = getelementptr inbounds %Cmp_Val, ptr %t352, i32 0, i32 0 + %t354 = load ptr, ptr %t353 + %t355 = call ptr @lp_str_concat(ptr @.str2123, ptr %t354) + %t356 = call ptr @lp_str_concat(ptr %t355, ptr @.str2124) + %t357 = load ptr, ptr %t351 + %t358 = getelementptr inbounds %Cmp_Val, ptr %t357, i32 0, i32 0 + %t359 = load ptr, ptr %t358 + %t360 = call ptr @lp_str_concat(ptr %t356, ptr %t359) + %t361 = call ptr @lp_str_concat(ptr %t360, ptr @.str2125) + %t362 = call ptr @fn_emit_bind(ptr %t361) + %t363 = call ptr @fn_val(ptr %t362, ptr @.str2126) + store ptr %t363, ptr %retval + br label %ret +ifend44: + %t364 = load ptr, ptr %t0 + %t365 = call i32 @lp_str_eq(ptr %t364, ptr @.str2127) + %t366 = icmp ne i32 %t365, 0 + br i1 %t366, label %then45, label %ifend47 +then45: + store i32 1, ptr @g_g_uses_textrt2 + %t367 = load ptr, ptr %t1 + %t368 = getelementptr inbounds %Cmp_Node, ptr %t367, i32 0, i32 7 + %t369 = load ptr, ptr %t368 + %t370 = getelementptr inbounds %LSlice, ptr %t369, i32 0, i32 0 + %t371 = load ptr, ptr %t370 + %t372 = getelementptr inbounds ptr, ptr %t371, i32 1 + %t373 = load ptr, ptr %t372 + %t374 = call ptr @fn_emit_expr(ptr %t373) + store ptr %t374, ptr %t375 + %t376 = load ptr, ptr %t142 + %t377 = getelementptr inbounds %Cmp_Val, ptr %t376, i32 0, i32 0 + %t378 = load ptr, ptr %t377 + %t379 = call ptr @lp_str_concat(ptr @.str2128, ptr %t378) + %t380 = call ptr @lp_str_concat(ptr %t379, ptr @.str2129) + %t381 = load ptr, ptr %t375 + %t382 = getelementptr inbounds %Cmp_Val, ptr %t381, i32 0, i32 0 + %t383 = load ptr, ptr %t382 + %t384 = call ptr @lp_str_concat(ptr %t380, ptr %t383) + %t385 = call ptr @lp_str_concat(ptr %t384, ptr @.str2130) + %t386 = call ptr @fn_emit_bind(ptr %t385) + %t387 = call ptr @fn_val(ptr %t386, ptr @.str2131) + store ptr %t387, ptr %retval + br label %ret +ifend47: + %t389 = load ptr, ptr %t0 + %t390 = call i32 @lp_str_eq(ptr %t389, ptr @.str2132) + %t391 = icmp ne i32 %t390, 0 + %t392 = zext i1 %t391 to i32 + store i32 %t392, ptr %t388 + br i1 %t391, label %scend49, label %sc48 +sc48: + %t393 = load ptr, ptr %t0 + %t394 = call i32 @lp_str_eq(ptr %t393, ptr @.str2133) + %t395 = icmp ne i32 %t394, 0 + %t396 = zext i1 %t395 to i32 + store i32 %t396, ptr %t388 + br label %scend49 +scend49: + %t397 = load i32, ptr %t388 + %t398 = icmp ne i32 %t397, 0 + br i1 %t398, label %then50, label %ifend52 +then50: + %t399 = load ptr, ptr %t1 + %t400 = getelementptr inbounds %Cmp_Node, ptr %t399, i32 0, i32 7 + %t401 = load ptr, ptr %t400 + %t402 = getelementptr inbounds %LSlice, ptr %t401, i32 0, i32 0 + %t403 = load ptr, ptr %t402 + %t404 = getelementptr inbounds ptr, ptr %t403, i32 1 + %t405 = load ptr, ptr %t404 + %t406 = call ptr @fn_emit_expr(ptr %t405) + store ptr %t406, ptr %t407 + %t408 = load ptr, ptr %t142 + %t409 = getelementptr inbounds %Cmp_Val, ptr %t408, i32 0, i32 0 + %t410 = load ptr, ptr %t409 + %t411 = call ptr @lp_str_concat(ptr @.str2134, ptr %t410) + %t412 = call ptr @lp_str_concat(ptr %t411, ptr @.str2135) + %t413 = load ptr, ptr %t407 + %t414 = getelementptr inbounds %Cmp_Val, ptr %t413, i32 0, i32 0 + %t415 = load ptr, ptr %t414 + %t416 = call ptr @lp_str_concat(ptr %t412, ptr %t415) + %t417 = call ptr @lp_str_concat(ptr %t416, ptr @.str2136) + %t418 = call ptr @fn_emit_bind(ptr %t417) + store ptr %t418, ptr %t419 + %t420 = load ptr, ptr %t0 + %t421 = call i32 @lp_str_eq(ptr %t420, ptr @.str2137) + %t422 = icmp ne i32 %t421, 0 + br i1 %t422, label %then53, label %ifend55 +then53: + %t423 = load ptr, ptr %t419 + %t424 = call ptr @lp_str_concat(ptr @.str2138, ptr %t423) + %t425 = call ptr @lp_str_concat(ptr %t424, ptr @.str2139) + %t426 = call ptr @fn_emit_bind(ptr %t425) + store ptr %t426, ptr %t427 + %t428 = load ptr, ptr %t427 + %t429 = call ptr @lp_str_concat(ptr @.str2140, ptr %t428) + %t430 = call ptr @lp_str_concat(ptr %t429, ptr @.str2141) + %t431 = call ptr @fn_emit_bind(ptr %t430) + %t432 = call ptr @fn_val(ptr %t431, ptr @.str2142) + store ptr %t432, ptr %retval + br label %ret +ifend55: + %t433 = load ptr, ptr %t419 + %t434 = call ptr @lp_str_concat(ptr @.str2143, ptr %t433) + %t435 = call ptr @lp_str_concat(ptr %t434, ptr @.str2144) + %t436 = call ptr @fn_emit_bind(ptr %t435) + store ptr %t436, ptr %t437 + %t438 = load ptr, ptr %t419 + %t439 = call ptr @lp_str_concat(ptr @.str2145, ptr %t438) + %t440 = call ptr @lp_str_concat(ptr %t439, ptr @.str2146) + %t441 = call ptr @fn_emit_bind(ptr %t440) + store ptr %t441, ptr %t442 + %t443 = load ptr, ptr %t142 + %t444 = getelementptr inbounds %Cmp_Val, ptr %t443, i32 0, i32 0 + %t445 = load ptr, ptr %t444 + %t446 = call ptr @lp_str_concat(ptr @.str2147, ptr %t445) + %t447 = call ptr @lp_str_concat(ptr %t446, ptr @.str2148) + %t448 = call ptr @fn_emit_bind(ptr %t447) + store ptr %t448, ptr %t449 + %t450 = load ptr, ptr %t442 + %t451 = call ptr @lp_str_concat(ptr @.str2149, ptr %t450) + %t452 = call ptr @lp_str_concat(ptr %t451, ptr @.str2150) + %t453 = load ptr, ptr %t449 + %t454 = call ptr @lp_str_concat(ptr %t452, ptr %t453) + %t455 = call ptr @fn_emit_bind(ptr %t454) + store ptr %t455, ptr %t456 + %t457 = load ptr, ptr %t456 + %t458 = call ptr @lp_str_concat(ptr @.str2151, ptr %t457) + %t459 = call ptr @lp_str_concat(ptr %t458, ptr @.str2152) + %t460 = call ptr @fn_emit_bind(ptr %t459) + store ptr %t460, ptr %t461 + %t462 = load ptr, ptr %t437 + %t463 = call ptr @lp_str_concat(ptr @.str2153, ptr %t462) + %t464 = call ptr @lp_str_concat(ptr %t463, ptr @.str2154) + %t465 = load ptr, ptr %t461 + %t466 = call ptr @lp_str_concat(ptr %t464, ptr %t465) + %t467 = call ptr @fn_emit_bind(ptr %t466) + %t468 = call ptr @fn_val(ptr %t467, ptr @.str2155) + store ptr %t468, ptr %retval + br label %ret +ifend52: + %t469 = load ptr, ptr %t1 + %t470 = getelementptr inbounds %Cmp_Node, ptr %t469, i32 0, i32 7 + %t471 = load ptr, ptr %t470 + %t472 = getelementptr inbounds %LSlice, ptr %t471, i32 0, i32 0 + %t473 = load ptr, ptr %t472 + %t474 = getelementptr inbounds ptr, ptr %t473, i32 1 + %t475 = load ptr, ptr %t474 + %t476 = call ptr @fn_emit_expr(ptr %t475) + store ptr %t476, ptr %t477 + %t478 = load ptr, ptr %t477 + %t479 = getelementptr inbounds %Cmp_Val, ptr %t478, i32 0, i32 0 + %t480 = load ptr, ptr %t479 + %t481 = call ptr @lp_str_concat(ptr @.str2156, ptr %t480) + %t482 = call ptr @lp_str_concat(ptr %t481, ptr @.str2157) + %t483 = call ptr @fn_emit_bind(ptr %t482) + store ptr %t483, ptr %t484 + %t485 = load ptr, ptr %t0 + %t486 = call i32 @lp_str_eq(ptr %t485, ptr @.str2158) + %t487 = icmp ne i32 %t486, 0 + br i1 %t487, label %then56, label %ifend58 +then56: + %t488 = load ptr, ptr %t142 + %t489 = getelementptr inbounds %Cmp_Val, ptr %t488, i32 0, i32 0 + %t490 = load ptr, ptr %t489 + %t491 = call ptr @lp_str_concat(ptr @.str2159, ptr %t490) + %t492 = call ptr @lp_str_concat(ptr %t491, ptr @.str2160) + %t493 = load ptr, ptr %t477 + %t494 = getelementptr inbounds %Cmp_Val, ptr %t493, i32 0, i32 0 + %t495 = load ptr, ptr %t494 + %t496 = call ptr @lp_str_concat(ptr %t492, ptr %t495) + %t497 = call ptr @lp_str_concat(ptr %t496, ptr @.str2161) + %t498 = load ptr, ptr %t484 + %t499 = call ptr @lp_str_concat(ptr %t497, ptr %t498) + %t500 = call ptr @lp_str_concat(ptr %t499, ptr @.str2162) + %t501 = call ptr @fn_emit_bind(ptr %t500) + store ptr %t501, ptr %t502 + %t503 = load ptr, ptr %t502 + %t504 = call ptr @lp_str_concat(ptr @.str2163, ptr %t503) + %t505 = call ptr @lp_str_concat(ptr %t504, ptr @.str2164) + %t506 = call ptr @fn_emit_bind(ptr %t505) + store ptr %t506, ptr %t507 + %t508 = load ptr, ptr %t507 + %t509 = call ptr @lp_str_concat(ptr @.str2165, ptr %t508) + %t510 = call ptr @lp_str_concat(ptr %t509, ptr @.str2166) + %t511 = call ptr @fn_emit_bind(ptr %t510) + %t512 = call ptr @fn_val(ptr %t511, ptr @.str2167) + store ptr %t512, ptr %retval + br label %ret +ifend58: + %t513 = load ptr, ptr %t142 + %t514 = getelementptr inbounds %Cmp_Val, ptr %t513, i32 0, i32 0 + %t515 = load ptr, ptr %t514 + %t516 = call ptr @lp_str_concat(ptr @.str2168, ptr %t515) + %t517 = call ptr @lp_str_concat(ptr %t516, ptr @.str2169) + %t518 = call ptr @fn_emit_bind(ptr %t517) + store ptr %t518, ptr %t519 + %t520 = load ptr, ptr %t519 + %t521 = call ptr @lp_str_concat(ptr @.str2170, ptr %t520) + %t522 = call ptr @lp_str_concat(ptr %t521, ptr @.str2171) + %t523 = load ptr, ptr %t484 + %t524 = call ptr @lp_str_concat(ptr %t522, ptr %t523) + %t525 = call ptr @fn_emit_bind(ptr %t524) + store ptr %t525, ptr %t526 + %t527 = call ptr @fn_emit_alloca(ptr @.str2172) + store ptr %t527, ptr %t528 + %t529 = load ptr, ptr %t528 + call void @fn_store_at(ptr @.str2173, ptr @.str2174, ptr %t529) + %t530 = load ptr, ptr %t526 + %t531 = call ptr @lp_str_concat(ptr @.str2175, ptr %t530) + %t532 = call ptr @lp_str_concat(ptr %t531, ptr @.str2176) + %t533 = call ptr @fn_emit_bind(ptr %t532) + store ptr %t533, ptr %t534 + %t535 = call ptr @fn_lbl(ptr @.str2177) + store ptr %t535, ptr %t536 + %t537 = call ptr @fn_lbl(ptr @.str2178) + store ptr %t537, ptr %t538 + call void @fn_emit(ptr @.str2179) + %t539 = load ptr, ptr %t534 + call void @fn_emit(ptr %t539) + call void @fn_emit(ptr @.str2180) + %t540 = load ptr, ptr %t538 + call void @fn_emit(ptr %t540) + call void @fn_emit(ptr @.str2181) + %t541 = load ptr, ptr %t536 + call void @fn_emit(ptr %t541) + call void @fn_emit(ptr @.str2182) + %t542 = load ptr, ptr %t536 + call void @fn_emit(ptr %t542) + call void @fn_emit(ptr @.str2183) + %t543 = load ptr, ptr %t142 + %t544 = getelementptr inbounds %Cmp_Val, ptr %t543, i32 0, i32 0 + %t545 = load ptr, ptr %t544 + %t546 = call ptr @lp_str_concat(ptr @.str2184, ptr %t545) + %t547 = call ptr @lp_str_concat(ptr %t546, ptr @.str2185) + %t548 = load ptr, ptr %t526 + %t549 = call ptr @lp_str_concat(ptr %t547, ptr %t548) + %t550 = call ptr @fn_emit_bind(ptr %t549) + store ptr %t550, ptr %t551 + %t552 = load ptr, ptr %t551 + %t553 = call ptr @lp_str_concat(ptr @.str2186, ptr %t552) + %t554 = call ptr @lp_str_concat(ptr %t553, ptr @.str2187) + %t555 = load ptr, ptr %t477 + %t556 = getelementptr inbounds %Cmp_Val, ptr %t555, i32 0, i32 0 + %t557 = load ptr, ptr %t556 + %t558 = call ptr @lp_str_concat(ptr %t554, ptr %t557) + %t559 = call ptr @lp_str_concat(ptr %t558, ptr @.str2188) + %t560 = load ptr, ptr %t484 + %t561 = call ptr @lp_str_concat(ptr %t559, ptr %t560) + %t562 = call ptr @lp_str_concat(ptr %t561, ptr @.str2189) + %t563 = call ptr @fn_emit_bind(ptr %t562) + store ptr %t563, ptr %t564 + %t565 = load ptr, ptr %t564 + %t566 = call ptr @lp_str_concat(ptr @.str2190, ptr %t565) + %t567 = call ptr @lp_str_concat(ptr %t566, ptr @.str2191) + %t568 = call ptr @fn_emit_bind(ptr %t567) + store ptr %t568, ptr %t569 + %t570 = load ptr, ptr %t569 + %t571 = call ptr @lp_str_concat(ptr @.str2192, ptr %t570) + %t572 = call ptr @lp_str_concat(ptr %t571, ptr @.str2193) + %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 @.str2194, ptr %t575, ptr %t576) + call void @fn_emit(ptr @.str2195) + %t577 = load ptr, ptr %t538 + call void @fn_emit(ptr %t577) + call void @fn_emit(ptr @.str2196) + %t578 = load ptr, ptr %t538 + call void @fn_emit(ptr %t578) + call void @fn_emit(ptr @.str2197) + %t579 = load ptr, ptr %t528 + %t580 = call ptr @lp_str_concat(ptr @.str2198, ptr %t579) + %t581 = call ptr @fn_emit_bind(ptr %t580) + %t582 = call ptr @fn_val(ptr %t581, ptr @.str2199) + 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 @.str2200) + call void @fn_emith(ptr @.str2201) + call void @fn_emith(ptr @.str2202) + call void @fn_emith(ptr @.str2203) + call void @fn_emith(ptr @.str2204) + call void @fn_emith(ptr @.str2205) + call void @fn_emith(ptr @.str2206) + call void @fn_emith(ptr @.str2207) + call void @fn_emith(ptr @.str2208) + call void @fn_emith(ptr @.str2209) + call void @fn_emith(ptr @.str2210) + call void @fn_emith(ptr @.str2211) + call void @fn_emith(ptr @.str2212) + call void @fn_emith(ptr @.str2213) + call void @fn_emith(ptr @.str2214) + call void @fn_emith(ptr @.str2215) + call void @fn_emith(ptr @.str2216) + call void @fn_emith(ptr @.str2217) + call void @fn_emith(ptr @.str2218) + call void @fn_emith(ptr @.str2219) + call void @fn_emith(ptr @.str2220) + call void @fn_emith(ptr @.str2221) + call void @fn_emith(ptr @.str2222) + call void @fn_emith(ptr @.str2223) + call void @fn_emith(ptr @.str2224) + call void @fn_emith(ptr @.str2225) + call void @fn_emith(ptr @.str2226) + call void @fn_emith(ptr @.str2227) + call void @fn_emith(ptr @.str2228) + call void @fn_emith(ptr @.str2229) + call void @fn_emith(ptr @.str2230) + call void @fn_emith(ptr @.str2231) + call void @fn_emith(ptr @.str2232) + call void @fn_emith(ptr @.str2233) + call void @fn_emith(ptr @.str2234) + call void @fn_emith(ptr @.str2235) + call void @fn_emith(ptr @.str2236) + call void @fn_emith(ptr @.str2237) + call void @fn_emith(ptr @.str2238) + call void @fn_emith(ptr @.str2239) + call void @fn_emith(ptr @.str2240) + call void @fn_emith(ptr @.str2241) + call void @fn_emith(ptr @.str2242) + call void @fn_emith(ptr @.str2243) + call void @fn_emith(ptr @.str2244) + call void @fn_emith(ptr @.str2245) + call void @fn_emith(ptr @.str2246) + call void @fn_emith(ptr @.str2247) + call void @fn_emith(ptr @.str2248) + call void @fn_emith(ptr @.str2249) + call void @fn_emith(ptr @.str2250) + call void @fn_emith(ptr @.str2251) + call void @fn_emith(ptr @.str2252) + call void @fn_emith(ptr @.str2253) + call void @fn_emith(ptr @.str2254) + call void @fn_emith(ptr @.str2255) + call void @fn_emith(ptr @.str2256) + call void @fn_emith(ptr @.str2257) + call void @fn_emith(ptr @.str2258) + call void @fn_emith(ptr @.str2259) + call void @fn_emith(ptr @.str2260) + call void @fn_emith(ptr @.str2261) + call void @fn_emith(ptr @.str2262) + call void @fn_emith(ptr @.str2263) + call void @fn_emith(ptr @.str2264) + call void @fn_emith(ptr @.str2265) + call void @fn_emith(ptr @.str2266) + call void @fn_emith(ptr @.str2267) + call void @fn_emith(ptr @.str2268) + call void @fn_emith(ptr @.str2269) + call void @fn_emith(ptr @.str2270) + call void @fn_emith(ptr @.str2271) + call void @fn_emith(ptr @.str2272) + call void @fn_emith(ptr @.str2273) + call void @fn_emith(ptr @.str2274) + call void @fn_emith(ptr @.str2275) + call void @fn_emith(ptr @.str2276) + call void @fn_emith(ptr @.str2277) + call void @fn_emith(ptr @.str2278) + call void @fn_emith(ptr @.str2279) + call void @fn_emith(ptr @.str2280) + call void @fn_emith(ptr @.str2281) + call void @fn_emith(ptr @.str2282) + call void @fn_emith(ptr @.str2283) + call void @fn_emith(ptr @.str2284) + call void @fn_emith(ptr @.str2285) + call void @fn_emith(ptr @.str2286) + call void @fn_emith(ptr @.str2287) + call void @fn_emith(ptr @.str2288) + call void @fn_emith(ptr @.str2289) + call void @fn_emith(ptr @.str2290) + call void @fn_emith(ptr @.str2291) + call void @fn_emith(ptr @.str2292) + call void @fn_emith(ptr @.str2293) + call void @fn_emith(ptr @.str2294) + call void @fn_emith(ptr @.str2295) + call void @fn_emith(ptr @.str2296) + call void @fn_emith(ptr @.str2297) + call void @fn_emith(ptr @.str2298) + call void @fn_emith(ptr @.str2299) + call void @fn_emith(ptr @.str2300) + call void @fn_emith(ptr @.str2301) + call void @fn_emith(ptr @.str2302) + call void @fn_emith(ptr @.str2303) + call void @fn_emith(ptr @.str2304) + call void @fn_emith(ptr @.str2305) + call void @fn_emith(ptr @.str2306) + call void @fn_emith(ptr @.str2307) + call void @fn_emith(ptr @.str2308) + call void @fn_emith(ptr @.str2309) + call void @fn_emith(ptr @.str2310) + call void @fn_emith(ptr @.str2311) + call void @fn_emith(ptr @.str2312) + call void @fn_emith(ptr @.str2313) + call void @fn_emith(ptr @.str2314) + call void @fn_emith(ptr @.str2315) + call void @fn_emith(ptr @.str2316) + call void @fn_emith(ptr @.str2317) + call void @fn_emith(ptr @.str2318) + call void @fn_emith(ptr @.str2319) + call void @fn_emith(ptr @.str2320) + call void @fn_emith(ptr @.str2321) + call void @fn_emith(ptr @.str2322) + call void @fn_emith(ptr @.str2323) + call void @fn_emith(ptr @.str2324) + call void @fn_emith(ptr @.str2325) + call void @fn_emith(ptr @.str2326) + call void @fn_emith(ptr @.str2327) + call void @fn_emith(ptr @.str2328) + call void @fn_emith(ptr @.str2329) + call void @fn_emith(ptr @.str2330) + call void @fn_emith(ptr @.str2331) + call void @fn_emith(ptr @.str2332) + call void @fn_emith(ptr @.str2333) + call void @fn_emith(ptr @.str2334) + call void @fn_emith(ptr @.str2335) + call void @fn_emith(ptr @.str2336) + call void @fn_emith(ptr @.str2337) + call void @fn_emith(ptr @.str2338) + call void @fn_emith(ptr @.str2339) + call void @fn_emith(ptr @.str2340) + call void @fn_emith(ptr @.str2341) + call void @fn_emith(ptr @.str2342) + call void @fn_emith(ptr @.str2343) + call void @fn_emith(ptr @.str2344) + call void @fn_emith(ptr @.str2345) + call void @fn_emith(ptr @.str2346) + call void @fn_emith(ptr @.str2347) + call void @fn_emith(ptr @.str2348) + call void @fn_emith(ptr @.str2349) + call void @fn_emith(ptr @.str2350) + call void @fn_emith(ptr @.str2351) + call void @fn_emith(ptr @.str2352) + call void @fn_emith(ptr @.str2353) + call void @fn_emith(ptr @.str2354) + call void @fn_emith(ptr @.str2355) + call void @fn_emith(ptr @.str2356) + call void @fn_emith(ptr @.str2357) + call void @fn_emith(ptr @.str2358) + call void @fn_emith(ptr @.str2359) + call void @fn_emith(ptr @.str2360) + call void @fn_emith(ptr @.str2361) + call void @fn_emith(ptr @.str2362) + call void @fn_emith(ptr @.str2363) + call void @fn_emith(ptr @.str2364) + call void @fn_emith(ptr @.str2365) + call void @fn_emith(ptr @.str2366) + call void @fn_emith(ptr @.str2367) + call void @fn_emith(ptr @.str2368) + call void @fn_emith(ptr @.str2369) + call void @fn_emith(ptr @.str2370) + call void @fn_emith(ptr @.str2371) + call void @fn_emith(ptr @.str2372) + call void @fn_emith(ptr @.str2373) + call void @fn_emith(ptr @.str2374) + call void @fn_emith(ptr @.str2375) + call void @fn_emith(ptr @.str2376) + call void @fn_emith(ptr @.str2377) + call void @fn_emith(ptr @.str2378) + call void @fn_emith(ptr @.str2379) + call void @fn_emith(ptr @.str2380) + call void @fn_emith(ptr @.str2381) + call void @fn_emith(ptr @.str2382) + call void @fn_emith(ptr @.str2383) + call void @fn_emith(ptr @.str2384) + call void @fn_emith(ptr @.str2385) + call void @fn_emith(ptr @.str2386) + call void @fn_emith(ptr @.str2387) + call void @fn_emith(ptr @.str2388) + call void @fn_emith(ptr @.str2389) + call void @fn_emith(ptr @.str2390) + call void @fn_emith(ptr @.str2391) + call void @fn_emith(ptr @.str2392) + call void @fn_emith(ptr @.str2393) + call void @fn_emith(ptr @.str2394) + call void @fn_emith(ptr @.str2395) + call void @fn_emith(ptr @.str2396) + call void @fn_emith(ptr @.str2397) + br label %ret +ret: + ret void +} + +define void @fn_emit_text2_prelude() { +entry: + call void @fn_emith(ptr @.str2398) + call void @fn_emith(ptr @.str2399) + call void @fn_emith(ptr @.str2400) + call void @fn_emith(ptr @.str2401) + call void @fn_emith(ptr @.str2402) + call void @fn_emith(ptr @.str2403) + call void @fn_emith(ptr @.str2404) + call void @fn_emith(ptr @.str2405) + call void @fn_emith(ptr @.str2406) + call void @fn_emith(ptr @.str2407) + call void @fn_emith(ptr @.str2408) + call void @fn_emith(ptr @.str2409) + call void @fn_emith(ptr @.str2410) + call void @fn_emith(ptr @.str2411) + call void @fn_emith(ptr @.str2412) + call void @fn_emith(ptr @.str2413) + call void @fn_emith(ptr @.str2414) + call void @fn_emith(ptr @.str2415) + call void @fn_emith(ptr @.str2416) + call void @fn_emith(ptr @.str2417) + call void @fn_emith(ptr @.str2418) + call void @fn_emith(ptr @.str2419) + call void @fn_emith(ptr @.str2420) + call void @fn_emith(ptr @.str2421) + call void @fn_emith(ptr @.str2422) + call void @fn_emith(ptr @.str2423) + call void @fn_emith(ptr @.str2424) + call void @fn_emith(ptr @.str2425) + call void @fn_emith(ptr @.str2426) + call void @fn_emith(ptr @.str2427) + call void @fn_emith(ptr @.str2428) + call void @fn_emith(ptr @.str2429) + call void @fn_emith(ptr @.str2430) + call void @fn_emith(ptr @.str2431) + call void @fn_emith(ptr @.str2432) + call void @fn_emith(ptr @.str2433) + call void @fn_emith(ptr @.str2434) + call void @fn_emith(ptr @.str2435) + call void @fn_emith(ptr @.str2436) + call void @fn_emith(ptr @.str2437) + call void @fn_emith(ptr @.str2438) + call void @fn_emith(ptr @.str2439) + call void @fn_emith(ptr @.str2440) + call void @fn_emith(ptr @.str2441) + call void @fn_emith(ptr @.str2442) + call void @fn_emith(ptr @.str2443) + call void @fn_emith(ptr @.str2444) + call void @fn_emith(ptr @.str2445) + call void @fn_emith(ptr @.str2446) + call void @fn_emith(ptr @.str2447) + call void @fn_emith(ptr @.str2448) + call void @fn_emith(ptr @.str2449) + call void @fn_emith(ptr @.str2450) + call void @fn_emith(ptr @.str2451) + call void @fn_emith(ptr @.str2452) + call void @fn_emith(ptr @.str2453) + call void @fn_emith(ptr @.str2454) + call void @fn_emith(ptr @.str2455) + call void @fn_emith(ptr @.str2456) + call void @fn_emith(ptr @.str2457) + call void @fn_emith(ptr @.str2458) + call void @fn_emith(ptr @.str2459) + call void @fn_emith(ptr @.str2460) + call void @fn_emith(ptr @.str2461) + call void @fn_emith(ptr @.str2462) + call void @fn_emith(ptr @.str2463) + call void @fn_emith(ptr @.str2464) + call void @fn_emith(ptr @.str2465) + call void @fn_emith(ptr @.str2466) + call void @fn_emith(ptr @.str2467) + call void @fn_emith(ptr @.str2468) + call void @fn_emith(ptr @.str2469) + call void @fn_emith(ptr @.str2470) + call void @fn_emith(ptr @.str2471) + call void @fn_emith(ptr @.str2472) + call void @fn_emith(ptr @.str2473) + call void @fn_emith(ptr @.str2474) + call void @fn_emith(ptr @.str2475) + call void @fn_emith(ptr @.str2476) + call void @fn_emith(ptr @.str2477) + call void @fn_emith(ptr @.str2478) + call void @fn_emith(ptr @.str2479) + call void @fn_emith(ptr @.str2480) + call void @fn_emith(ptr @.str2481) + call void @fn_emith(ptr @.str2482) + call void @fn_emith(ptr @.str2483) + call void @fn_emith(ptr @.str2484) + call void @fn_emith(ptr @.str2485) + call void @fn_emith(ptr @.str2486) + call void @fn_emith(ptr @.str2487) + call void @fn_emith(ptr @.str2488) + call void @fn_emith(ptr @.str2489) + call void @fn_emith(ptr @.str2490) + call void @fn_emith(ptr @.str2491) + call void @fn_emith(ptr @.str2492) + call void @fn_emith(ptr @.str2493) + call void @fn_emith(ptr @.str2494) + call void @fn_emith(ptr @.str2495) + call void @fn_emith(ptr @.str2496) + call void @fn_emith(ptr @.str2497) + call void @fn_emith(ptr @.str2498) + call void @fn_emith(ptr @.str2499) + call void @fn_emith(ptr @.str2500) + call void @fn_emith(ptr @.str2501) + call void @fn_emith(ptr @.str2502) + call void @fn_emith(ptr @.str2503) + call void @fn_emith(ptr @.str2504) + call void @fn_emith(ptr @.str2505) + call void @fn_emith(ptr @.str2506) + call void @fn_emith(ptr @.str2507) + call void @fn_emith(ptr @.str2508) + call void @fn_emith(ptr @.str2509) + call void @fn_emith(ptr @.str2510) + call void @fn_emith(ptr @.str2511) + call void @fn_emith(ptr @.str2512) + call void @fn_emith(ptr @.str2513) + call void @fn_emith(ptr @.str2514) + call void @fn_emith(ptr @.str2515) + call void @fn_emith(ptr @.str2516) + call void @fn_emith(ptr @.str2517) + call void @fn_emith(ptr @.str2518) + call void @fn_emith(ptr @.str2519) + call void @fn_emith(ptr @.str2520) + call void @fn_emith(ptr @.str2521) + call void @fn_emith(ptr @.str2522) + call void @fn_emith(ptr @.str2523) + call void @fn_emith(ptr @.str2524) + call void @fn_emith(ptr @.str2525) + call void @fn_emith(ptr @.str2526) + call void @fn_emith(ptr @.str2527) + call void @fn_emith(ptr @.str2528) + call void @fn_emith(ptr @.str2529) + call void @fn_emith(ptr @.str2530) + call void @fn_emith(ptr @.str2531) + call void @fn_emith(ptr @.str2532) + call void @fn_emith(ptr @.str2533) + call void @fn_emith(ptr @.str2534) + call void @fn_emith(ptr @.str2535) + call void @fn_emith(ptr @.str2536) + call void @fn_emith(ptr @.str2537) + call void @fn_emith(ptr @.str2538) + call void @fn_emith(ptr @.str2539) + call void @fn_emith(ptr @.str2540) + call void @fn_emith(ptr @.str2541) + call void @fn_emith(ptr @.str2542) + call void @fn_emith(ptr @.str2543) + call void @fn_emith(ptr @.str2544) + call void @fn_emith(ptr @.str2545) + call void @fn_emith(ptr @.str2546) + call void @fn_emith(ptr @.str2547) + call void @fn_emith(ptr @.str2548) + call void @fn_emith(ptr @.str2549) + call void @fn_emith(ptr @.str2550) + call void @fn_emith(ptr @.str2551) + call void @fn_emith(ptr @.str2552) + call void @fn_emith(ptr @.str2553) + call void @fn_emith(ptr @.str2554) + call void @fn_emith(ptr @.str2555) + call void @fn_emith(ptr @.str2556) + call void @fn_emith(ptr @.str2557) + call void @fn_emith(ptr @.str2558) + call void @fn_emith(ptr @.str2559) + call void @fn_emith(ptr @.str2560) + call void @fn_emith(ptr @.str2561) + call void @fn_emith(ptr @.str2562) + call void @fn_emith(ptr @.str2563) + call void @fn_emith(ptr @.str2564) + call void @fn_emith(ptr @.str2565) + call void @fn_emith(ptr @.str2566) + call void @fn_emith(ptr @.str2567) + call void @fn_emith(ptr @.str2568) + call void @fn_emith(ptr @.str2569) + call void @fn_emith(ptr @.str2570) + call void @fn_emith(ptr @.str2571) + call void @fn_emith(ptr @.str2572) + call void @fn_emith(ptr @.str2573) + call void @fn_emith(ptr @.str2574) + call void @fn_emith(ptr @.str2575) + call void @fn_emith(ptr @.str2576) + call void @fn_emith(ptr @.str2577) + call void @fn_emith(ptr @.str2578) + call void @fn_emith(ptr @.str2579) + call void @fn_emith(ptr @.str2580) + call void @fn_emith(ptr @.str2581) + call void @fn_emith(ptr @.str2582) + call void @fn_emith(ptr @.str2583) + call void @fn_emith(ptr @.str2584) + call void @fn_emith(ptr @.str2585) + call void @fn_emith(ptr @.str2586) + call void @fn_emith(ptr @.str2587) + call void @fn_emith(ptr @.str2588) + call void @fn_emith(ptr @.str2589) + call void @fn_emith(ptr @.str2590) + call void @fn_emith(ptr @.str2591) + call void @fn_emith(ptr @.str2592) + call void @fn_emith(ptr @.str2593) + call void @fn_emith(ptr @.str2594) + 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) + br label %ret +ret: + ret void +} + +define i32 @fn_is_hash_ns(ptr %arg_meth) { +entry: + %retval = alloca i32 + %t0 = alloca ptr + %t1 = alloca i32 + %t2 = alloca i32 + %t20 = alloca i32 + %t31 = alloca i32 + %t32 = alloca i32 + store ptr %arg_meth, ptr %t0 + %t3 = load ptr, ptr %t0 + %t4 = call i32 @lp_str_eq(ptr %t3, ptr @.str2609) + %t5 = icmp ne i32 %t4, 0 + %t6 = zext i1 %t5 to i32 + store i32 %t6, ptr %t2 + br i1 %t5, label %scend1, label %sc0 +sc0: + %t7 = load ptr, ptr %t0 + %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str2610) + %t9 = icmp ne i32 %t8, 0 + %t10 = zext i1 %t9 to i32 + store i32 %t10, ptr %t2 + br label %scend1 +scend1: + %t11 = load i32, ptr %t2 + %t12 = icmp ne i32 %t11, 0 + %t13 = zext i1 %t12 to i32 + store i32 %t13, ptr %t1 + br i1 %t12, label %scend3, label %sc2 +sc2: + %t14 = load ptr, ptr %t0 + %t15 = call i32 @lp_str_eq(ptr %t14, ptr @.str2611) + %t16 = icmp ne i32 %t15, 0 + %t17 = zext i1 %t16 to i32 + store i32 %t17, ptr %t1 + br label %scend3 +scend3: + %t18 = load i32, ptr %t1 + %t19 = icmp ne i32 %t18, 0 + br i1 %t19, label %then4, label %ifend6 +then4: + store i32 1, ptr %retval + br label %ret +ifend6: + %t21 = load ptr, ptr %t0 + %t22 = call i32 @lp_str_eq(ptr %t21, ptr @.str2612) + %t23 = icmp ne i32 %t22, 0 + %t24 = zext i1 %t23 to i32 + store i32 %t24, ptr %t20 + br i1 %t23, label %scend8, label %sc7 +sc7: + %t25 = load ptr, ptr %t0 + %t26 = call i32 @lp_str_eq(ptr %t25, ptr @.str2613) + %t27 = icmp ne i32 %t26, 0 + %t28 = zext i1 %t27 to i32 + store i32 %t28, ptr %t20 + br label %scend8 +scend8: + %t29 = load i32, ptr %t20 + %t30 = icmp ne i32 %t29, 0 + br i1 %t30, label %then9, label %ifend11 +then9: + store i32 1, ptr %retval + br label %ret +ifend11: + %t33 = load ptr, ptr %t0 + %t34 = call i32 @lp_str_eq(ptr %t33, ptr @.str2614) + %t35 = icmp ne i32 %t34, 0 + %t36 = zext i1 %t35 to i32 + store i32 %t36, ptr %t32 + br i1 %t35, label %scend13, label %sc12 +sc12: + %t37 = load ptr, ptr %t0 + %t38 = call i32 @lp_str_eq(ptr %t37, ptr @.str2615) + %t39 = icmp ne i32 %t38, 0 + %t40 = zext i1 %t39 to i32 + store i32 %t40, ptr %t32 + br label %scend13 +scend13: + %t41 = load i32, ptr %t32 + %t42 = icmp ne i32 %t41, 0 + %t43 = zext i1 %t42 to i32 + store i32 %t43, ptr %t31 + br i1 %t42, label %scend15, label %sc14 +sc14: + %t44 = load ptr, ptr %t0 + %t45 = call i32 @lp_str_eq(ptr %t44, ptr @.str2616) + %t46 = icmp ne i32 %t45, 0 + %t47 = zext i1 %t46 to i32 + store i32 %t47, ptr %t31 + br label %scend15 +scend15: + %t48 = load i32, ptr %t31 + %t49 = icmp ne i32 %t48, 0 + br i1 %t49, label %then16, label %ifend18 +then16: + store i32 1, ptr %retval + br label %ret +ifend18: + store i32 0, ptr %retval + br label %ret +ret: + %t50 = load i32, ptr %retval + ret i32 %t50 +} + +define ptr @fn_hash_mix_code(ptr %arg_x) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t5 = alloca ptr + %t12 = alloca ptr + %t17 = alloca ptr + %t22 = alloca ptr + %t29 = alloca ptr + %t34 = alloca ptr + %t39 = alloca ptr + store ptr %arg_x, ptr %t0 + %t1 = load ptr, ptr %t0 + %t2 = call ptr @lp_str_concat(ptr @.str2617, ptr %t1) + %t3 = call ptr @lp_str_concat(ptr %t2, ptr @.str2618) + %t4 = call ptr @fn_emit_bind(ptr %t3) + store ptr %t4, ptr %t5 + %t6 = load ptr, ptr %t0 + %t7 = call ptr @lp_str_concat(ptr @.str2619, ptr %t6) + %t8 = call ptr @lp_str_concat(ptr %t7, ptr @.str2620) + %t9 = load ptr, ptr %t5 + %t10 = call ptr @lp_str_concat(ptr %t8, ptr %t9) + %t11 = call ptr @fn_emit_bind(ptr %t10) + store ptr %t11, ptr %t12 + %t13 = load ptr, ptr %t12 + %t14 = call ptr @lp_str_concat(ptr @.str2621, ptr %t13) + %t15 = call ptr @lp_str_concat(ptr %t14, ptr @.str2622) + %t16 = call ptr @fn_emit_bind(ptr %t15) + store ptr %t16, ptr %t17 + %t18 = load ptr, ptr %t17 + %t19 = call ptr @lp_str_concat(ptr @.str2623, ptr %t18) + %t20 = call ptr @lp_str_concat(ptr %t19, ptr @.str2624) + %t21 = call ptr @fn_emit_bind(ptr %t20) + store ptr %t21, ptr %t22 + %t23 = load ptr, ptr %t17 + %t24 = call ptr @lp_str_concat(ptr @.str2625, ptr %t23) + %t25 = call ptr @lp_str_concat(ptr %t24, ptr @.str2626) + %t26 = load ptr, ptr %t22 + %t27 = call ptr @lp_str_concat(ptr %t25, ptr %t26) + %t28 = call ptr @fn_emit_bind(ptr %t27) + store ptr %t28, ptr %t29 + %t30 = load ptr, ptr %t29 + %t31 = call ptr @lp_str_concat(ptr @.str2627, ptr %t30) + %t32 = call ptr @lp_str_concat(ptr %t31, ptr @.str2628) + %t33 = call ptr @fn_emit_bind(ptr %t32) + store ptr %t33, ptr %t34 + %t35 = load ptr, ptr %t34 + %t36 = call ptr @lp_str_concat(ptr @.str2629, ptr %t35) + %t37 = call ptr @lp_str_concat(ptr %t36, ptr @.str2630) + %t38 = call ptr @fn_emit_bind(ptr %t37) + store ptr %t38, ptr %t39 + %t40 = load ptr, ptr %t34 + %t41 = call ptr @lp_str_concat(ptr @.str2631, ptr %t40) + %t42 = call ptr @lp_str_concat(ptr %t41, ptr @.str2632) + %t43 = load ptr, ptr %t39 + %t44 = call ptr @lp_str_concat(ptr %t42, ptr %t43) + %t45 = call ptr @fn_emit_bind(ptr %t44) + store ptr %t45, ptr %retval + br label %ret +ret: + %t46 = load ptr, ptr %retval + ret ptr %t46 +} + +define ptr @fn_hash_mix64_code(ptr %arg_x) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t5 = alloca ptr + %t12 = alloca ptr + %t17 = alloca ptr + %t22 = alloca ptr + %t29 = alloca ptr + %t34 = alloca ptr + %t39 = alloca ptr + store ptr %arg_x, ptr %t0 + %t1 = load ptr, ptr %t0 + %t2 = call ptr @lp_str_concat(ptr @.str2633, ptr %t1) + %t3 = call ptr @lp_str_concat(ptr %t2, ptr @.str2634) + %t4 = call ptr @fn_emit_bind(ptr %t3) + store ptr %t4, ptr %t5 + %t6 = load ptr, ptr %t0 + %t7 = call ptr @lp_str_concat(ptr @.str2635, ptr %t6) + %t8 = call ptr @lp_str_concat(ptr %t7, ptr @.str2636) + %t9 = load ptr, ptr %t5 + %t10 = call ptr @lp_str_concat(ptr %t8, ptr %t9) + %t11 = call ptr @fn_emit_bind(ptr %t10) + store ptr %t11, ptr %t12 + %t13 = load ptr, ptr %t12 + %t14 = call ptr @lp_str_concat(ptr @.str2637, ptr %t13) + %t15 = call ptr @lp_str_concat(ptr %t14, ptr @.str2638) + %t16 = call ptr @fn_emit_bind(ptr %t15) + store ptr %t16, ptr %t17 + %t18 = load ptr, ptr %t17 + %t19 = call ptr @lp_str_concat(ptr @.str2639, ptr %t18) + %t20 = call ptr @lp_str_concat(ptr %t19, ptr @.str2640) + %t21 = call ptr @fn_emit_bind(ptr %t20) + store ptr %t21, ptr %t22 + %t23 = load ptr, ptr %t17 + %t24 = call ptr @lp_str_concat(ptr @.str2641, ptr %t23) + %t25 = call ptr @lp_str_concat(ptr %t24, ptr @.str2642) + %t26 = load ptr, ptr %t22 + %t27 = call ptr @lp_str_concat(ptr %t25, ptr %t26) + %t28 = call ptr @fn_emit_bind(ptr %t27) + store ptr %t28, ptr %t29 + %t30 = load ptr, ptr %t29 + %t31 = call ptr @lp_str_concat(ptr @.str2643, ptr %t30) + %t32 = call ptr @lp_str_concat(ptr %t31, ptr @.str2644) + %t33 = call ptr @fn_emit_bind(ptr %t32) + store ptr %t33, ptr %t34 + %t35 = load ptr, ptr %t34 + %t36 = call ptr @lp_str_concat(ptr @.str2645, ptr %t35) + %t37 = call ptr @lp_str_concat(ptr %t36, ptr @.str2646) + %t38 = call ptr @fn_emit_bind(ptr %t37) + store ptr %t38, ptr %t39 + %t40 = load ptr, ptr %t34 + %t41 = call ptr @lp_str_concat(ptr @.str2647, ptr %t40) + %t42 = call ptr @lp_str_concat(ptr %t41, ptr @.str2648) + %t43 = load ptr, ptr %t39 + %t44 = call ptr @lp_str_concat(ptr %t42, ptr %t43) + %t45 = call ptr @fn_emit_bind(ptr %t44) + store ptr %t45, ptr %retval + br label %ret +ret: + %t46 = load ptr, ptr %retval + ret ptr %t46 +} + +define ptr @fn_emit_hash_ns(ptr %arg_meth, ptr %arg_e) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t1 = alloca ptr + %t2 = alloca i32 + %t21 = alloca ptr + %t29 = alloca i32 + %t48 = alloca ptr + %t67 = alloca ptr + %t83 = alloca ptr + %t102 = alloca ptr + %t108 = alloca ptr + %t109 = alloca i32 + %t128 = alloca ptr + %t135 = alloca ptr + %t140 = alloca ptr + %t145 = alloca ptr + %t152 = alloca ptr + %t159 = alloca ptr + store ptr %arg_meth, ptr %t0 + store ptr %arg_e, ptr %t1 + %t3 = load ptr, ptr %t0 + %t4 = call i32 @lp_str_eq(ptr %t3, ptr @.str2649) + %t5 = icmp ne i32 %t4, 0 + %t6 = zext i1 %t5 to i32 + store i32 %t6, ptr %t2 + br i1 %t5, label %scend1, label %sc0 +sc0: + %t7 = load ptr, ptr %t0 + %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str2650) + %t9 = icmp ne i32 %t8, 0 + %t10 = zext i1 %t9 to i32 + store i32 %t10, ptr %t2 + br label %scend1 +scend1: + %t11 = load i32, ptr %t2 + %t12 = icmp ne i32 %t11, 0 + br i1 %t12, label %then2, label %ifend4 +then2: + store i32 1, ptr @g_g_uses_hashrt + %t13 = load ptr, ptr %t1 + %t14 = getelementptr inbounds %Cmp_Node, ptr %t13, i32 0, i32 7 + %t15 = load ptr, ptr %t14 + %t16 = getelementptr inbounds %LSlice, ptr %t15, i32 0, i32 0 + %t17 = load ptr, ptr %t16 + %t18 = getelementptr inbounds ptr, ptr %t17, i32 0 + %t19 = load ptr, ptr %t18 + %t20 = call ptr @fn_emit_expr(ptr %t19) + store ptr %t20, ptr %t21 + %t22 = load ptr, ptr %t21 + %t23 = getelementptr inbounds %Cmp_Val, ptr %t22, i32 0, i32 0 + %t24 = load ptr, ptr %t23 + %t25 = call ptr @lp_str_concat(ptr @.str2651, ptr %t24) + %t26 = call ptr @lp_str_concat(ptr %t25, ptr @.str2652) + %t27 = call ptr @fn_emit_bind(ptr %t26) + %t28 = call ptr @fn_val(ptr %t27, ptr @.str2653) + store ptr %t28, ptr %retval + br label %ret +ifend4: + %t30 = load ptr, ptr %t0 + %t31 = call i32 @lp_str_eq(ptr %t30, ptr @.str2654) + %t32 = icmp ne i32 %t31, 0 + %t33 = zext i1 %t32 to i32 + store i32 %t33, ptr %t29 + br i1 %t32, label %scend6, label %sc5 +sc5: + %t34 = load ptr, ptr %t0 + %t35 = call i32 @lp_str_eq(ptr %t34, ptr @.str2655) + %t36 = icmp ne i32 %t35, 0 + %t37 = zext i1 %t36 to i32 + store i32 %t37, ptr %t29 + br label %scend6 +scend6: + %t38 = load i32, ptr %t29 + %t39 = icmp ne i32 %t38, 0 + br i1 %t39, label %then7, label %ifend9 +then7: + store i32 1, ptr @g_g_uses_hashrt + %t40 = load ptr, ptr %t1 + %t41 = getelementptr inbounds %Cmp_Node, ptr %t40, i32 0, i32 7 + %t42 = load ptr, ptr %t41 + %t43 = getelementptr inbounds %LSlice, ptr %t42, i32 0, i32 0 + %t44 = load ptr, ptr %t43 + %t45 = getelementptr inbounds ptr, ptr %t44, i32 0 + %t46 = load ptr, ptr %t45 + %t47 = call ptr @fn_emit_expr(ptr %t46) + store ptr %t47, ptr %t48 + %t49 = load ptr, ptr %t48 + %t50 = getelementptr inbounds %Cmp_Val, ptr %t49, i32 0, i32 0 + %t51 = load ptr, ptr %t50 + %t52 = call ptr @lp_str_concat(ptr @.str2656, ptr %t51) + %t53 = call ptr @lp_str_concat(ptr %t52, ptr @.str2657) + %t54 = call ptr @fn_emit_bind(ptr %t53) + %t55 = call ptr @fn_val(ptr %t54, ptr @.str2658) + store ptr %t55, ptr %retval + br label %ret +ifend9: + %t56 = load ptr, ptr %t0 + %t57 = call i32 @lp_str_eq(ptr %t56, ptr @.str2659) + %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 @.str2660) + store ptr %t71, ptr %retval + br label %ret +ifend12: + %t72 = load ptr, ptr %t0 + %t73 = call i32 @lp_str_eq(ptr %t72, ptr @.str2661) + %t74 = icmp ne i32 %t73, 0 + br i1 %t74, label %then13, label %ifend15 +then13: + store i32 1, ptr @g_g_uses_hashrt + %t75 = load ptr, ptr %t1 + %t76 = getelementptr inbounds %Cmp_Node, ptr %t75, i32 0, i32 7 + %t77 = load ptr, ptr %t76 + %t78 = getelementptr inbounds %LSlice, ptr %t77, i32 0, i32 0 + %t79 = load ptr, ptr %t78 + %t80 = getelementptr inbounds ptr, ptr %t79, i32 0 + %t81 = load ptr, ptr %t80 + %t82 = call ptr @fn_emit_expr(ptr %t81) + store ptr %t82, ptr %t83 + %t84 = load ptr, ptr %t83 + %t85 = getelementptr inbounds %Cmp_Val, ptr %t84, i32 0, i32 0 + %t86 = load ptr, ptr %t85 + %t87 = call ptr @lp_str_concat(ptr @.str2662, ptr %t86) + %t88 = call ptr @lp_str_concat(ptr %t87, ptr @.str2663) + %t89 = call ptr @fn_emit_bind(ptr %t88) + %t90 = call ptr @fn_val(ptr %t89, ptr @.str2664) + store ptr %t90, ptr %retval + br label %ret +ifend15: + %t91 = load ptr, ptr %t0 + %t92 = call i32 @lp_str_eq(ptr %t91, ptr @.str2665) + %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 @.str2666) + store ptr %t107, ptr %retval + br label %ret +ifend18: + store ptr @.str2667, ptr %t108 + store i32 0, ptr %t109 + br label %wcond19 +wcond19: + %t110 = load i32, ptr %t109 + %t111 = load ptr, ptr %t1 + %t112 = getelementptr inbounds %Cmp_Node, ptr %t111, i32 0, i32 7 + %t113 = load ptr, ptr %t112 + %t114 = getelementptr inbounds %LSlice, ptr %t113, i32 0, i32 1 + %t115 = load i32, ptr %t114 + %t116 = icmp slt i32 %t110, %t115 + %t117 = zext i1 %t116 to i32 + %t118 = icmp ne i32 %t117, 0 + br i1 %t118, label %wbody20, label %wend21 +wbody20: + %t119 = load ptr, ptr %t1 + %t120 = getelementptr inbounds %Cmp_Node, ptr %t119, i32 0, i32 7 + %t121 = load ptr, ptr %t120 + %t122 = getelementptr inbounds %LSlice, ptr %t121, i32 0, i32 0 + %t123 = load ptr, ptr %t122 + %t124 = load i32, ptr %t109 + %t125 = getelementptr inbounds ptr, ptr %t123, i32 %t124 + %t126 = load ptr, ptr %t125 + %t127 = call ptr @fn_emit_expr(ptr %t126) + store ptr %t127, ptr %t128 + %t129 = load ptr, ptr %t128 + %t130 = getelementptr inbounds %Cmp_Val, ptr %t129, i32 0, i32 0 + %t131 = load ptr, ptr %t130 + %t132 = call ptr @lp_str_concat(ptr @.str2668, ptr %t131) + %t133 = call ptr @lp_str_concat(ptr %t132, ptr @.str2669) + %t134 = call ptr @fn_emit_bind(ptr %t133) + store ptr %t134, ptr %t135 + %t136 = load ptr, ptr %t108 + %t137 = call ptr @lp_str_concat(ptr @.str2670, ptr %t136) + %t138 = call ptr @lp_str_concat(ptr %t137, ptr @.str2671) + %t139 = call ptr @fn_emit_bind(ptr %t138) + store ptr %t139, ptr %t140 + %t141 = load ptr, ptr %t108 + %t142 = call ptr @lp_str_concat(ptr @.str2672, ptr %t141) + %t143 = call ptr @lp_str_concat(ptr %t142, ptr @.str2673) + %t144 = call ptr @fn_emit_bind(ptr %t143) + store ptr %t144, ptr %t145 + %t146 = load ptr, ptr %t135 + %t147 = call ptr @lp_str_concat(ptr @.str2674, ptr %t146) + %t148 = call ptr @lp_str_concat(ptr %t147, ptr @.str2675) + %t149 = load ptr, ptr %t140 + %t150 = call ptr @lp_str_concat(ptr %t148, ptr %t149) + %t151 = call ptr @fn_emit_bind(ptr %t150) + store ptr %t151, ptr %t152 + %t153 = load ptr, ptr %t152 + %t154 = call ptr @lp_str_concat(ptr @.str2676, ptr %t153) + %t155 = call ptr @lp_str_concat(ptr %t154, ptr @.str2677) + %t156 = load ptr, ptr %t145 + %t157 = call ptr @lp_str_concat(ptr %t155, ptr %t156) + %t158 = call ptr @fn_emit_bind(ptr %t157) + store ptr %t158, ptr %t159 + %t160 = load ptr, ptr %t108 + %t161 = call ptr @lp_str_concat(ptr @.str2678, ptr %t160) + %t162 = call ptr @lp_str_concat(ptr %t161, ptr @.str2679) + %t163 = load ptr, ptr %t159 + %t164 = call ptr @lp_str_concat(ptr %t162, ptr %t163) + %t165 = call ptr @fn_emit_bind(ptr %t164) + store ptr %t165, ptr %t108 + %t166 = load i32, ptr %t109 + %t167 = add i32 %t166, 1 + store i32 %t167, ptr %t109 + br label %wcond19 +wend21: + %t168 = load ptr, ptr %t108 + %t169 = call ptr @fn_val(ptr %t168, ptr @.str2680) + 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 @.str2681) + call void @fn_emith(ptr @.str2682) + call void @fn_emith(ptr @.str2683) + call void @fn_emith(ptr @.str2684) + call void @fn_emith(ptr @.str2685) + call void @fn_emith(ptr @.str2686) + call void @fn_emith(ptr @.str2687) + call void @fn_emith(ptr @.str2688) + call void @fn_emith(ptr @.str2689) + call void @fn_emith(ptr @.str2690) + call void @fn_emith(ptr @.str2691) + call void @fn_emith(ptr @.str2692) + call void @fn_emith(ptr @.str2693) + call void @fn_emith(ptr @.str2694) + call void @fn_emith(ptr @.str2695) + call void @fn_emith(ptr @.str2696) + call void @fn_emith(ptr @.str2697) + call void @fn_emith(ptr @.str2698) + call void @fn_emith(ptr @.str2699) + call void @fn_emith(ptr @.str2700) + call void @fn_emith(ptr @.str2701) + call void @fn_emith(ptr @.str2702) + call void @fn_emith(ptr @.str2703) + call void @fn_emith(ptr @.str2704) + call void @fn_emith(ptr @.str2705) + call void @fn_emith(ptr @.str2706) + call void @fn_emith(ptr @.str2707) + call void @fn_emith(ptr @.str2708) + call void @fn_emith(ptr @.str2709) + call void @fn_emith(ptr @.str2710) + call void @fn_emith(ptr @.str2711) + call void @fn_emith(ptr @.str2712) + call void @fn_emith(ptr @.str2713) + call void @fn_emith(ptr @.str2714) + call void @fn_emith(ptr @.str2715) + call void @fn_emith(ptr @.str2716) + call void @fn_emith(ptr @.str2717) + call void @fn_emith(ptr @.str2718) + call void @fn_emith(ptr @.str2719) + call void @fn_emith(ptr @.str2720) + call void @fn_emith(ptr @.str2721) + call void @fn_emith(ptr @.str2722) + call void @fn_emith(ptr @.str2723) + call void @fn_emith(ptr @.str2724) + call void @fn_emith(ptr @.str2725) + call void @fn_emith(ptr @.str2726) + call void @fn_emith(ptr @.str2727) + call void @fn_emith(ptr @.str2728) + call void @fn_emith(ptr @.str2729) + call void @fn_emith(ptr @.str2730) + call void @fn_emith(ptr @.str2731) + call void @fn_emith(ptr @.str2732) + call void @fn_emith(ptr @.str2733) + call void @fn_emith(ptr @.str2734) + call void @fn_emith(ptr @.str2735) + call void @fn_emith(ptr @.str2736) + call void @fn_emith(ptr @.str2737) + call void @fn_emith(ptr @.str2738) + call void @fn_emith(ptr @.str2739) + call void @fn_emith(ptr @.str2740) + call void @fn_emith(ptr @.str2741) + call void @fn_emith(ptr @.str2742) + call void @fn_emith(ptr @.str2743) + call void @fn_emith(ptr @.str2744) + call void @fn_emith(ptr @.str2745) + call void @fn_emith(ptr @.str2746) + call void @fn_emith(ptr @.str2747) + call void @fn_emith(ptr @.str2748) + call void @fn_emith(ptr @.str2749) + call void @fn_emith(ptr @.str2750) + call void @fn_emith(ptr @.str2751) + call void @fn_emith(ptr @.str2752) + call void @fn_emith(ptr @.str2753) + call void @fn_emith(ptr @.str2754) + call void @fn_emith(ptr @.str2755) + call void @fn_emith(ptr @.str2756) + call void @fn_emith(ptr @.str2757) + call void @fn_emith(ptr @.str2758) + call void @fn_emith(ptr @.str2759) + call void @fn_emith(ptr @.str2760) + call void @fn_emith(ptr @.str2761) + call void @fn_emith(ptr @.str2762) + call void @fn_emith(ptr @.str2763) + call void @fn_emith(ptr @.str2764) + call void @fn_emith(ptr @.str2765) + call void @fn_emith(ptr @.str2766) + call void @fn_emith(ptr @.str2767) + call void @fn_emith(ptr @.str2768) + call void @fn_emith(ptr @.str2769) + call void @fn_emith(ptr @.str2770) + call void @fn_emith(ptr @.str2771) + call void @fn_emith(ptr @.str2772) + call void @fn_emith(ptr @.str2773) + call void @fn_emith(ptr @.str2774) + call void @fn_emith(ptr @.str2775) + call void @fn_emith(ptr @.str2776) + call void @fn_emith(ptr @.str2777) + br label %ret +ret: + ret void +} + +define i32 @fn_is_crypto_ns(ptr %arg_meth) { +entry: + %retval = alloca i32 + %t0 = alloca ptr + %t1 = alloca i32 + %t2 = alloca i32 + %t20 = alloca i32 + %t31 = alloca i32 + %t32 = alloca i32 + store ptr %arg_meth, ptr %t0 + %t3 = load ptr, ptr %t0 + %t4 = call i32 @lp_str_eq(ptr %t3, ptr @.str2778) + %t5 = icmp ne i32 %t4, 0 + %t6 = zext i1 %t5 to i32 + store i32 %t6, ptr %t2 + br i1 %t5, label %scend1, label %sc0 +sc0: + %t7 = load ptr, ptr %t0 + %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str2779) + %t9 = icmp ne i32 %t8, 0 + %t10 = zext i1 %t9 to i32 + store i32 %t10, ptr %t2 + br label %scend1 +scend1: + %t11 = load i32, ptr %t2 + %t12 = icmp ne i32 %t11, 0 + %t13 = zext i1 %t12 to i32 + store i32 %t13, ptr %t1 + br i1 %t12, label %scend3, label %sc2 +sc2: + %t14 = load ptr, ptr %t0 + %t15 = call i32 @lp_str_eq(ptr %t14, ptr @.str2780) + %t16 = icmp ne i32 %t15, 0 + %t17 = zext i1 %t16 to i32 + store i32 %t17, ptr %t1 + br label %scend3 +scend3: + %t18 = load i32, ptr %t1 + %t19 = icmp ne i32 %t18, 0 + br i1 %t19, label %then4, label %ifend6 +then4: + store i32 1, ptr %retval + br label %ret +ifend6: + %t21 = load ptr, ptr %t0 + %t22 = call i32 @lp_str_eq(ptr %t21, ptr @.str2781) + %t23 = icmp ne i32 %t22, 0 + %t24 = zext i1 %t23 to i32 + store i32 %t24, ptr %t20 + br i1 %t23, label %scend8, label %sc7 +sc7: + %t25 = load ptr, ptr %t0 + %t26 = call i32 @lp_str_eq(ptr %t25, ptr @.str2782) + %t27 = icmp ne i32 %t26, 0 + %t28 = zext i1 %t27 to i32 + store i32 %t28, ptr %t20 + br label %scend8 +scend8: + %t29 = load i32, ptr %t20 + %t30 = icmp ne i32 %t29, 0 + br i1 %t30, label %then9, label %ifend11 +then9: + store i32 1, ptr %retval + br label %ret +ifend11: + %t33 = load ptr, ptr %t0 + %t34 = call i32 @lp_str_eq(ptr %t33, ptr @.str2783) + %t35 = icmp ne i32 %t34, 0 + %t36 = zext i1 %t35 to i32 + store i32 %t36, ptr %t32 + br i1 %t35, label %scend13, label %sc12 +sc12: + %t37 = load ptr, ptr %t0 + %t38 = call i32 @lp_str_eq(ptr %t37, ptr @.str2784) + %t39 = icmp ne i32 %t38, 0 + %t40 = zext i1 %t39 to i32 + store i32 %t40, ptr %t32 + br label %scend13 +scend13: + %t41 = load i32, ptr %t32 + %t42 = icmp ne i32 %t41, 0 + %t43 = zext i1 %t42 to i32 + store i32 %t43, ptr %t31 + br i1 %t42, label %scend15, label %sc14 +sc14: + %t44 = load ptr, ptr %t0 + %t45 = call i32 @lp_str_eq(ptr %t44, ptr @.str2785) + %t46 = icmp ne i32 %t45, 0 + %t47 = zext i1 %t46 to i32 + store i32 %t47, ptr %t31 + br label %scend15 +scend15: + %t48 = load i32, ptr %t31 + %t49 = icmp ne i32 %t48, 0 + br i1 %t49, label %then16, label %ifend18 +then16: + store i32 1, ptr %retval + br label %ret +ifend18: + %t50 = load ptr, ptr %t0 + %t51 = call i32 @lp_str_eq(ptr %t50, ptr @.str2786) + %t52 = icmp ne i32 %t51, 0 + br i1 %t52, label %then19, label %ifend21 +then19: + store i32 1, ptr %retval + br label %ret +ifend21: + store i32 0, ptr %retval + br label %ret +ret: + %t53 = load i32, ptr %retval + ret i32 %t53 +} + +define ptr @fn_emit_crypto_ns(ptr %arg_meth, ptr %arg_e) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t1 = alloca ptr + %t13 = alloca ptr + %t32 = alloca ptr + %t41 = alloca ptr + %t65 = alloca ptr + %t84 = alloca ptr + %t93 = alloca ptr + %t106 = alloca i32 + %t125 = alloca ptr + %t132 = alloca ptr + %t154 = alloca ptr + %t170 = alloca ptr + %t179 = alloca ptr + %t188 = alloca ptr + %t200 = alloca ptr + store ptr %arg_meth, ptr %t0 + store ptr %arg_e, ptr %t1 + store i32 1, ptr @g_g_uses_cryptort + %t2 = load ptr, ptr %t0 + %t3 = call i32 @lp_str_eq(ptr %t2, ptr @.str2787) + %t4 = icmp ne i32 %t3, 0 + br i1 %t4, label %then0, label %ifend2 +then0: + %t5 = load ptr, ptr %t1 + %t6 = getelementptr inbounds %Cmp_Node, ptr %t5, i32 0, i32 7 + %t7 = load ptr, ptr %t6 + %t8 = getelementptr inbounds %LSlice, ptr %t7, i32 0, i32 0 + %t9 = load ptr, ptr %t8 + %t10 = getelementptr inbounds ptr, ptr %t9, i32 0 + %t11 = load ptr, ptr %t10 + %t12 = call ptr @fn_emit_expr(ptr %t11) + store ptr %t12, ptr %t13 + %t14 = load ptr, ptr %t13 + %t15 = getelementptr inbounds %Cmp_Val, ptr %t14, i32 0, i32 0 + %t16 = load ptr, ptr %t15 + %t17 = call ptr @lp_str_concat(ptr @.str2788, ptr %t16) + %t18 = call ptr @lp_str_concat(ptr %t17, ptr @.str2789) + %t19 = call ptr @fn_emit_bind(ptr %t18) + %t20 = call ptr @fn_val(ptr %t19, ptr @.str2790) + store ptr %t20, ptr %retval + br label %ret +ifend2: + %t21 = load ptr, ptr %t0 + %t22 = call i32 @lp_str_eq(ptr %t21, ptr @.str2791) + %t23 = icmp ne i32 %t22, 0 + br i1 %t23, label %then3, label %ifend5 +then3: + %t24 = load ptr, ptr %t1 + %t25 = getelementptr inbounds %Cmp_Node, ptr %t24, i32 0, i32 7 + %t26 = load ptr, ptr %t25 + %t27 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 0 + %t28 = load ptr, ptr %t27 + %t29 = getelementptr inbounds ptr, ptr %t28, i32 0 + %t30 = load ptr, ptr %t29 + %t31 = call ptr @fn_emit_expr(ptr %t30) + store ptr %t31, ptr %t32 + %t33 = load ptr, ptr %t1 + %t34 = getelementptr inbounds %Cmp_Node, ptr %t33, i32 0, i32 7 + %t35 = load ptr, ptr %t34 + %t36 = getelementptr inbounds %LSlice, ptr %t35, i32 0, i32 0 + %t37 = load ptr, ptr %t36 + %t38 = getelementptr inbounds ptr, ptr %t37, i32 1 + %t39 = load ptr, ptr %t38 + %t40 = call ptr @fn_emit_expr(ptr %t39) + store ptr %t40, ptr %t41 + %t42 = load ptr, ptr %t32 + %t43 = getelementptr inbounds %Cmp_Val, ptr %t42, i32 0, i32 0 + %t44 = load ptr, ptr %t43 + %t45 = call ptr @lp_str_concat(ptr @.str2792, ptr %t44) + %t46 = call ptr @lp_str_concat(ptr %t45, ptr @.str2793) + %t47 = load ptr, ptr %t41 + %t48 = getelementptr inbounds %Cmp_Val, ptr %t47, i32 0, i32 0 + %t49 = load ptr, ptr %t48 + %t50 = call ptr @lp_str_concat(ptr %t46, ptr %t49) + %t51 = call ptr @lp_str_concat(ptr %t50, ptr @.str2794) + %t52 = call ptr @fn_emit_bind(ptr %t51) + %t53 = call ptr @fn_val(ptr %t52, ptr @.str2795) + store ptr %t53, ptr %retval + br label %ret +ifend5: + %t54 = load ptr, ptr %t0 + %t55 = call i32 @lp_str_eq(ptr %t54, ptr @.str2796) + %t56 = icmp ne i32 %t55, 0 + br i1 %t56, label %then6, label %ifend8 +then6: + %t57 = load ptr, ptr %t1 + %t58 = getelementptr inbounds %Cmp_Node, ptr %t57, i32 0, i32 7 + %t59 = load ptr, ptr %t58 + %t60 = getelementptr inbounds %LSlice, ptr %t59, i32 0, i32 0 + %t61 = load ptr, ptr %t60 + %t62 = getelementptr inbounds ptr, ptr %t61, i32 0 + %t63 = load ptr, ptr %t62 + %t64 = call ptr @fn_emit_expr(ptr %t63) + store ptr %t64, ptr %t65 + %t66 = load ptr, ptr %t65 + %t67 = getelementptr inbounds %Cmp_Val, ptr %t66, i32 0, i32 0 + %t68 = load ptr, ptr %t67 + %t69 = call ptr @lp_str_concat(ptr @.str2797, ptr %t68) + %t70 = call ptr @lp_str_concat(ptr %t69, ptr @.str2798) + %t71 = call ptr @fn_emit_bind(ptr %t70) + %t72 = call ptr @fn_val(ptr %t71, ptr @.str2799) + store ptr %t72, ptr %retval + br label %ret +ifend8: + %t73 = load ptr, ptr %t0 + %t74 = call i32 @lp_str_eq(ptr %t73, ptr @.str2800) + %t75 = icmp ne i32 %t74, 0 + br i1 %t75, label %then9, label %ifend11 +then9: + %t76 = load ptr, ptr %t1 + %t77 = getelementptr inbounds %Cmp_Node, ptr %t76, i32 0, i32 7 + %t78 = load ptr, ptr %t77 + %t79 = getelementptr inbounds %LSlice, ptr %t78, i32 0, i32 0 + %t80 = load ptr, ptr %t79 + %t81 = getelementptr inbounds ptr, ptr %t80, i32 0 + %t82 = load ptr, ptr %t81 + %t83 = call ptr @fn_emit_expr(ptr %t82) + store ptr %t83, ptr %t84 + %t85 = load ptr, ptr %t1 + %t86 = getelementptr inbounds %Cmp_Node, ptr %t85, i32 0, i32 7 + %t87 = load ptr, ptr %t86 + %t88 = getelementptr inbounds %LSlice, ptr %t87, i32 0, i32 0 + %t89 = load ptr, ptr %t88 + %t90 = getelementptr inbounds ptr, ptr %t89, i32 1 + %t91 = load ptr, ptr %t90 + %t92 = call ptr @fn_emit_expr(ptr %t91) + store ptr %t92, ptr %t93 + %t94 = load ptr, ptr %t84 + %t95 = getelementptr inbounds %Cmp_Val, ptr %t94, i32 0, i32 0 + %t96 = load ptr, ptr %t95 + %t97 = call ptr @lp_str_concat(ptr @.str2801, ptr %t96) + %t98 = call ptr @lp_str_concat(ptr %t97, ptr @.str2802) + %t99 = load ptr, ptr %t93 + %t100 = getelementptr inbounds %Cmp_Val, ptr %t99, i32 0, i32 0 + %t101 = load ptr, ptr %t100 + %t102 = call ptr @lp_str_concat(ptr %t98, ptr %t101) + %t103 = call ptr @lp_str_concat(ptr %t102, ptr @.str2803) + %t104 = call ptr @fn_emit_bind(ptr %t103) + %t105 = call ptr @fn_val(ptr %t104, ptr @.str2804) + store ptr %t105, ptr %retval + br label %ret +ifend11: + %t107 = load ptr, ptr %t0 + %t108 = call i32 @lp_str_eq(ptr %t107, ptr @.str2805) + %t109 = icmp ne i32 %t108, 0 + %t110 = zext i1 %t109 to i32 + store i32 %t110, ptr %t106 + br i1 %t109, label %scend13, label %sc12 +sc12: + %t111 = load ptr, ptr %t0 + %t112 = call i32 @lp_str_eq(ptr %t111, ptr @.str2806) + %t113 = icmp ne i32 %t112, 0 + %t114 = zext i1 %t113 to i32 + store i32 %t114, ptr %t106 + br label %scend13 +scend13: + %t115 = load i32, ptr %t106 + %t116 = icmp ne i32 %t115, 0 + br i1 %t116, label %then14, label %ifend16 +then14: + %t117 = load ptr, ptr %t1 + %t118 = getelementptr inbounds %Cmp_Node, ptr %t117, i32 0, i32 7 + %t119 = load ptr, ptr %t118 + %t120 = getelementptr inbounds %LSlice, ptr %t119, i32 0, i32 0 + %t121 = load ptr, ptr %t120 + %t122 = getelementptr inbounds ptr, ptr %t121, i32 0 + %t123 = load ptr, ptr %t122 + %t124 = call ptr @fn_emit_expr(ptr %t123) + store ptr %t124, ptr %t125 + %t126 = load ptr, ptr %t125 + %t127 = getelementptr inbounds %Cmp_Val, ptr %t126, i32 0, i32 0 + %t128 = load ptr, ptr %t127 + %t129 = call ptr @lp_str_concat(ptr @.str2807, ptr %t128) + %t130 = call ptr @lp_str_concat(ptr %t129, ptr @.str2808) + %t131 = call ptr @fn_emit_bind(ptr %t130) + store ptr %t131, ptr %t132 + %t133 = load ptr, ptr %t132 + %t134 = call ptr @lp_str_concat(ptr @.str2809, ptr %t133) + %t135 = call ptr @lp_str_concat(ptr %t134, ptr @.str2810) + %t136 = call ptr @fn_emit_bind(ptr %t135) + %t137 = call ptr @fn_val(ptr %t136, ptr @.str2811) + store ptr %t137, ptr %retval + br label %ret +ifend16: + %t138 = load ptr, ptr %t0 + %t139 = call i32 @lp_str_eq(ptr %t138, ptr @.str2812) + %t140 = icmp ne i32 %t139, 0 + br i1 %t140, label %then17, label %ifend19 +then17: + %t141 = call ptr @fn_emit_bind(ptr @.str2813) + %t142 = call ptr @fn_val(ptr %t141, ptr @.str2814) + store ptr %t142, ptr %retval + br label %ret +ifend19: + %t143 = load ptr, ptr %t0 + %t144 = call i32 @lp_str_eq(ptr %t143, ptr @.str2815) + %t145 = icmp ne i32 %t144, 0 + br i1 %t145, label %then20, label %ifend22 +then20: + %t146 = load ptr, ptr %t1 + %t147 = getelementptr inbounds %Cmp_Node, ptr %t146, i32 0, i32 7 + %t148 = load ptr, ptr %t147 + %t149 = getelementptr inbounds %LSlice, ptr %t148, i32 0, i32 0 + %t150 = load ptr, ptr %t149 + %t151 = getelementptr inbounds ptr, ptr %t150, i32 0 + %t152 = load ptr, ptr %t151 + %t153 = call ptr @fn_emit_expr(ptr %t152) + store ptr %t153, ptr %t154 + %t155 = load ptr, ptr %t154 + %t156 = getelementptr inbounds %Cmp_Val, ptr %t155, i32 0, i32 0 + %t157 = load ptr, ptr %t156 + %t158 = call ptr @lp_str_concat(ptr @.str2816, ptr %t157) + %t159 = call ptr @lp_str_concat(ptr %t158, ptr @.str2817) + %t160 = call ptr @fn_emit_bind(ptr %t159) + %t161 = call ptr @fn_val(ptr %t160, ptr @.str2818) + store ptr %t161, ptr %retval + br label %ret +ifend22: + %t162 = load ptr, ptr %t1 + %t163 = getelementptr inbounds %Cmp_Node, ptr %t162, i32 0, i32 7 + %t164 = load ptr, ptr %t163 + %t165 = getelementptr inbounds %LSlice, ptr %t164, i32 0, i32 0 + %t166 = load ptr, ptr %t165 + %t167 = getelementptr inbounds ptr, ptr %t166, i32 0 + %t168 = load ptr, ptr %t167 + %t169 = call ptr @fn_emit_expr(ptr %t168) + store ptr %t169, ptr %t170 + %t171 = load ptr, ptr %t1 + %t172 = getelementptr inbounds %Cmp_Node, ptr %t171, i32 0, i32 7 + %t173 = load ptr, ptr %t172 + %t174 = getelementptr inbounds %LSlice, ptr %t173, i32 0, i32 0 + %t175 = load ptr, ptr %t174 + %t176 = getelementptr inbounds ptr, ptr %t175, i32 1 + %t177 = load ptr, ptr %t176 + %t178 = call ptr @fn_emit_expr(ptr %t177) + store ptr %t178, ptr %t179 + %t180 = load ptr, ptr %t1 + %t181 = getelementptr inbounds %Cmp_Node, ptr %t180, i32 0, i32 7 + %t182 = load ptr, ptr %t181 + %t183 = getelementptr inbounds %LSlice, ptr %t182, i32 0, i32 0 + %t184 = load ptr, ptr %t183 + %t185 = getelementptr inbounds ptr, ptr %t184, i32 2 + %t186 = load ptr, ptr %t185 + %t187 = call ptr @fn_emit_expr(ptr %t186) + store ptr %t187, ptr %t188 + %t189 = load ptr, ptr %t170 + %t190 = getelementptr inbounds %Cmp_Val, ptr %t189, i32 0, i32 0 + %t191 = load ptr, ptr %t190 + %t192 = call ptr @lp_str_concat(ptr @.str2819, ptr %t191) + %t193 = call ptr @lp_str_concat(ptr %t192, ptr @.str2820) + %t194 = load ptr, ptr %t179 + %t195 = getelementptr inbounds %Cmp_Val, ptr %t194, i32 0, i32 0 + %t196 = load ptr, ptr %t195 + %t197 = call ptr @lp_str_concat(ptr %t193, ptr %t196) + %t198 = call ptr @lp_str_concat(ptr %t197, ptr @.str2821) + %t199 = call ptr @fn_emit_bind(ptr %t198) + store ptr %t199, ptr %t200 + %t201 = load ptr, ptr %t200 + %t202 = call ptr @lp_str_concat(ptr @.str2822, ptr %t201) + %t203 = call ptr @lp_str_concat(ptr %t202, ptr @.str2823) + %t204 = load ptr, ptr %t188 + %t205 = getelementptr inbounds %Cmp_Val, ptr %t204, i32 0, i32 0 + %t206 = load ptr, ptr %t205 + %t207 = call ptr @lp_str_concat(ptr %t203, ptr %t206) + %t208 = call ptr @lp_str_concat(ptr %t207, ptr @.str2824) + %t209 = call ptr @fn_emit_bind(ptr %t208) + %t210 = call ptr @fn_val(ptr %t209, ptr @.str2825) + 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 @.str2826) + call void @fn_emith(ptr @.str2827) + call void @fn_emith(ptr @.str2828) + call void @fn_emith(ptr @.str2829) + call void @fn_emith(ptr @.str2830) + call void @fn_emith(ptr @.str2831) + call void @fn_emith(ptr @.str2832) + call void @fn_emith(ptr @.str2833) + call void @fn_emith(ptr @.str2834) + call void @fn_emith(ptr @.str2835) + call void @fn_emith(ptr @.str2836) + call void @fn_emith(ptr @.str2837) + call void @fn_emith(ptr @.str2838) + call void @fn_emith(ptr @.str2839) + call void @fn_emith(ptr @.str2840) + call void @fn_emith(ptr @.str2841) + call void @fn_emith(ptr @.str2842) + call void @fn_emith(ptr @.str2843) + call void @fn_emith(ptr @.str2844) + call void @fn_emith(ptr @.str2845) + call void @fn_emith(ptr @.str2846) + call void @fn_emith(ptr @.str2847) + call void @fn_emith(ptr @.str2848) + call void @fn_emith(ptr @.str2849) + call void @fn_emith(ptr @.str2850) + call void @fn_emith(ptr @.str2851) + call void @fn_emith(ptr @.str2852) + call void @fn_emith(ptr @.str2853) + call void @fn_emith(ptr @.str2854) + call void @fn_emith(ptr @.str2855) + call void @fn_emith(ptr @.str2856) + call void @fn_emith(ptr @.str2857) + call void @fn_emith(ptr @.str2858) + call void @fn_emith(ptr @.str2859) + call void @fn_emith(ptr @.str2860) + call void @fn_emith(ptr @.str2861) + call void @fn_emith(ptr @.str2862) + call void @fn_emith(ptr @.str2863) + call void @fn_emith(ptr @.str2864) + call void @fn_emith(ptr @.str2865) + call void @fn_emith(ptr @.str2866) + call void @fn_emith(ptr @.str2867) + call void @fn_emith(ptr @.str2868) + call void @fn_emith(ptr @.str2869) + call void @fn_emith(ptr @.str2870) + call void @fn_emith(ptr @.str2871) + call void @fn_emith(ptr @.str2872) + call void @fn_emith(ptr @.str2873) + call void @fn_emith(ptr @.str2874) + call void @fn_emith(ptr @.str2875) + call void @fn_emith(ptr @.str2876) + call void @fn_emith(ptr @.str2877) + call void @fn_emith(ptr @.str2878) + call void @fn_emith(ptr @.str2879) + call void @fn_emith(ptr @.str2880) + call void @fn_emith(ptr @.str2881) + call void @fn_emith(ptr @.str2882) + call void @fn_emith(ptr @.str2883) + call void @fn_emith(ptr @.str2884) + call void @fn_emith(ptr @.str2885) + call void @fn_emith(ptr @.str2886) + call void @fn_emith(ptr @.str2887) + call void @fn_emith(ptr @.str2888) + call void @fn_emith(ptr @.str2889) + call void @fn_emith(ptr @.str2890) + call void @fn_emith(ptr @.str2891) + call void @fn_emith(ptr @.str2892) + call void @fn_emith(ptr @.str2893) + call void @fn_emith(ptr @.str2894) + call void @fn_emith(ptr @.str2895) + call void @fn_emith(ptr @.str2896) + call void @fn_emith(ptr @.str2897) + call void @fn_emith(ptr @.str2898) + call void @fn_emith(ptr @.str2899) + call void @fn_emith(ptr @.str2900) + call void @fn_emith(ptr @.str2901) + call void @fn_emith(ptr @.str2902) + call void @fn_emith(ptr @.str2903) + call void @fn_emith(ptr @.str2904) + call void @fn_emith(ptr @.str2905) + call void @fn_emith(ptr @.str2906) + call void @fn_emith(ptr @.str2907) + call void @fn_emith(ptr @.str2908) + call void @fn_emith(ptr @.str2909) + call void @fn_emith(ptr @.str2910) + call void @fn_emith(ptr @.str2911) + call void @fn_emith(ptr @.str2912) + call void @fn_emith(ptr @.str2913) + call void @fn_emith(ptr @.str2914) + call void @fn_emith(ptr @.str2915) + call void @fn_emith(ptr @.str2916) + call void @fn_emith(ptr @.str2917) + call void @fn_emith(ptr @.str2918) + call void @fn_emith(ptr @.str2919) + call void @fn_emith(ptr @.str2920) + call void @fn_emith(ptr @.str2921) + call void @fn_emith(ptr @.str2922) + call void @fn_emith(ptr @.str2923) + call void @fn_emith(ptr @.str2924) + call void @fn_emith(ptr @.str2925) + call void @fn_emith(ptr @.str2926) + call void @fn_emith(ptr @.str2927) + call void @fn_emith(ptr @.str2928) + call void @fn_emith(ptr @.str2929) + call void @fn_emith(ptr @.str2930) + call void @fn_emith(ptr @.str2931) + call void @fn_emith(ptr @.str2932) + call void @fn_emith(ptr @.str2933) + call void @fn_emith(ptr @.str2934) + call void @fn_emith(ptr @.str2935) + call void @fn_emith(ptr @.str2936) + call void @fn_emith(ptr @.str2937) + call void @fn_emith(ptr @.str2938) + call void @fn_emith(ptr @.str2939) + call void @fn_emith(ptr @.str2940) + call void @fn_emith(ptr @.str2941) + call void @fn_emith(ptr @.str2942) + call void @fn_emith(ptr @.str2943) + call void @fn_emith(ptr @.str2944) + call void @fn_emith(ptr @.str2945) + call void @fn_emith(ptr @.str2946) + call void @fn_emith(ptr @.str2947) + call void @fn_emith(ptr @.str2948) + call void @fn_emith(ptr @.str2949) + call void @fn_emith(ptr @.str2950) + call void @fn_emith(ptr @.str2951) + call void @fn_emith(ptr @.str2952) + call void @fn_emith(ptr @.str2953) + call void @fn_emith(ptr @.str2954) + call void @fn_emith(ptr @.str2955) + call void @fn_emith(ptr @.str2956) + call void @fn_emith(ptr @.str2957) + call void @fn_emith(ptr @.str2958) + call void @fn_emith(ptr @.str2959) + call void @fn_emith(ptr @.str2960) + call void @fn_emith(ptr @.str2961) + call void @fn_emith(ptr @.str2962) + call void @fn_emith(ptr @.str2963) + call void @fn_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_emit_secure_rand_prelude() + br label %ret +ret: + ret void +} + +define void @fn_emit_secure_rand_prelude() { +entry: + call void @fn_emith(ptr @.str2978) + call void @fn_emith(ptr @.str2979) + call void @fn_emith(ptr @.str2980) + call void @fn_emith(ptr @.str2981) + call void @fn_emith(ptr @.str2982) + call void @fn_emith(ptr @.str2983) + call void @fn_emith(ptr @.str2984) + call void @fn_emith(ptr @.str2985) + call void @fn_emith(ptr @.str2986) + call void @fn_emith(ptr @.str2987) + call void @fn_emith(ptr @.str2988) + call void @fn_emith(ptr @.str2989) + call void @fn_emith(ptr @.str2990) + call void @fn_emith(ptr @.str2991) + call void @fn_emith(ptr @.str2992) + call void @fn_emith(ptr @.str2993) + call void @fn_emith(ptr @.str2994) + call void @fn_emith(ptr @.str2995) + call void @fn_emith(ptr @.str2996) + call void @fn_emith(ptr @.str2997) + call void @fn_emith(ptr @.str2998) + call void @fn_emith(ptr @.str2999) + call void @fn_emith(ptr @.str3000) + call void @fn_emith(ptr @.str3001) + call void @fn_emith(ptr @.str3002) + call void @fn_emith(ptr @.str3003) + call void @fn_emith(ptr @.str3004) + call void @fn_emith(ptr @.str3005) + call void @fn_emith(ptr @.str3006) + call void @fn_emith(ptr @.str3007) + call void @fn_emith(ptr @.str3008) + call void @fn_emith(ptr @.str3009) + call void @fn_emith(ptr @.str3010) + call void @fn_emith(ptr @.str3011) + 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) + br label %ret +ret: + ret void +} + +define i32 @fn_is_uuid_ns(ptr %arg_meth) { +entry: + %retval = alloca i32 + %t0 = alloca ptr + %t1 = alloca i32 + %t2 = alloca i32 + %t3 = alloca i32 + %t28 = alloca i32 + %t29 = alloca i32 + %t47 = alloca i32 + store ptr %arg_meth, ptr %t0 + %t4 = load ptr, ptr %t0 + %t5 = call i32 @lp_str_eq(ptr %t4, ptr @.str3026) + %t6 = icmp ne i32 %t5, 0 + %t7 = zext i1 %t6 to i32 + store i32 %t7, ptr %t3 + br i1 %t6, label %scend1, label %sc0 +sc0: + %t8 = load ptr, ptr %t0 + %t9 = call i32 @lp_str_eq(ptr %t8, ptr @.str3027) + %t10 = icmp ne i32 %t9, 0 + %t11 = zext i1 %t10 to i32 + store i32 %t11, ptr %t3 + br label %scend1 +scend1: + %t12 = load i32, ptr %t3 + %t13 = icmp ne i32 %t12, 0 + %t14 = zext i1 %t13 to i32 + store i32 %t14, ptr %t2 + br i1 %t13, label %scend3, label %sc2 +sc2: + %t15 = load ptr, ptr %t0 + %t16 = call i32 @lp_str_eq(ptr %t15, ptr @.str3028) + %t17 = icmp ne i32 %t16, 0 + %t18 = zext i1 %t17 to i32 + store i32 %t18, ptr %t2 + br label %scend3 +scend3: + %t19 = load i32, ptr %t2 + %t20 = icmp ne i32 %t19, 0 + %t21 = zext i1 %t20 to i32 + store i32 %t21, ptr %t1 + br i1 %t20, label %scend5, label %sc4 +sc4: + %t22 = load ptr, ptr %t0 + %t23 = call i32 @lp_str_eq(ptr %t22, ptr @.str3029) + %t24 = icmp ne i32 %t23, 0 + %t25 = zext i1 %t24 to i32 + store i32 %t25, ptr %t1 + br label %scend5 +scend5: + %t26 = load i32, ptr %t1 + %t27 = icmp ne i32 %t26, 0 + br i1 %t27, label %then6, label %ifend8 +then6: + store i32 1, ptr %retval + br label %ret +ifend8: + %t30 = load ptr, ptr %t0 + %t31 = call i32 @lp_str_eq(ptr %t30, ptr @.str3030) + %t32 = icmp ne i32 %t31, 0 + %t33 = zext i1 %t32 to i32 + store i32 %t33, ptr %t29 + br i1 %t32, label %scend10, label %sc9 +sc9: + %t34 = load ptr, ptr %t0 + %t35 = call i32 @lp_str_eq(ptr %t34, ptr @.str3031) + %t36 = icmp ne i32 %t35, 0 + %t37 = zext i1 %t36 to i32 + store i32 %t37, ptr %t29 + br label %scend10 +scend10: + %t38 = load i32, ptr %t29 + %t39 = icmp ne i32 %t38, 0 + %t40 = zext i1 %t39 to i32 + store i32 %t40, ptr %t28 + br i1 %t39, label %scend12, label %sc11 +sc11: + %t41 = load ptr, ptr %t0 + %t42 = call i32 @lp_str_eq(ptr %t41, ptr @.str3032) + %t43 = icmp ne i32 %t42, 0 + %t44 = zext i1 %t43 to i32 + store i32 %t44, ptr %t28 + br label %scend12 +scend12: + %t45 = load i32, ptr %t28 + %t46 = icmp ne i32 %t45, 0 + br i1 %t46, label %then13, label %ifend15 +then13: + store i32 1, ptr %retval + br label %ret +ifend15: + %t48 = load ptr, ptr %t0 + %t49 = call i32 @lp_str_eq(ptr %t48, ptr @.str3033) + %t50 = icmp ne i32 %t49, 0 + %t51 = zext i1 %t50 to i32 + store i32 %t51, ptr %t47 + br i1 %t50, label %scend17, label %sc16 +sc16: + %t52 = load ptr, ptr %t0 + %t53 = call i32 @lp_str_eq(ptr %t52, ptr @.str3034) + %t54 = icmp ne i32 %t53, 0 + %t55 = zext i1 %t54 to i32 + store i32 %t55, ptr %t47 + br label %scend17 +scend17: + %t56 = load i32, ptr %t47 + %t57 = icmp ne i32 %t56, 0 + br i1 %t57, label %then18, label %ifend20 +then18: + store i32 1, ptr %retval + br label %ret +ifend20: + store i32 0, ptr %retval + br label %ret +ret: + %t58 = load i32, ptr %retval + ret i32 %t58 +} + +define ptr @fn_emit_uuid_ns(ptr %arg_meth, ptr %arg_e) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t1 = alloca ptr + %t2 = alloca i32 + %t15 = alloca i32 + %t44 = alloca ptr + %t63 = alloca ptr + %t79 = alloca ptr + %t88 = alloca ptr + %t109 = alloca ptr + store ptr %arg_meth, ptr %t0 + store ptr %arg_e, ptr %t1 + store i32 1, ptr @g_g_uses_cryptort + store i32 1, ptr @g_g_uses_uuidrt + %t3 = load ptr, ptr %t0 + %t4 = call i32 @lp_str_eq(ptr %t3, ptr @.str3035) + %t5 = icmp ne i32 %t4, 0 + %t6 = zext i1 %t5 to i32 + store i32 %t6, ptr %t2 + br i1 %t5, label %scend1, label %sc0 +sc0: + %t7 = load ptr, ptr %t0 + %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str3036) + %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 @.str3037) + %t14 = call ptr @fn_val(ptr %t13, ptr @.str3038) + store ptr %t14, ptr %retval + br label %ret +ifend4: + %t16 = load ptr, ptr %t0 + %t17 = call i32 @lp_str_eq(ptr %t16, ptr @.str3039) + %t18 = icmp ne i32 %t17, 0 + %t19 = zext i1 %t18 to i32 + store i32 %t19, ptr %t15 + br i1 %t18, label %scend6, label %sc5 +sc5: + %t20 = load ptr, ptr %t0 + %t21 = call i32 @lp_str_eq(ptr %t20, ptr @.str3040) + %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 @.str3041) + %t27 = call ptr @fn_val(ptr %t26, ptr @.str3042) + store ptr %t27, ptr %retval + br label %ret +ifend9: + %t28 = load ptr, ptr %t0 + %t29 = call i32 @lp_str_eq(ptr %t28, ptr @.str3043) + %t30 = icmp ne i32 %t29, 0 + br i1 %t30, label %then10, label %ifend12 +then10: + %t31 = call ptr @fn_emit_bind(ptr @.str3044) + %t32 = call ptr @fn_val(ptr %t31, ptr @.str3045) + store ptr %t32, ptr %retval + br label %ret +ifend12: + %t33 = load ptr, ptr %t0 + %t34 = call i32 @lp_str_eq(ptr %t33, ptr @.str3046) + %t35 = icmp ne i32 %t34, 0 + br i1 %t35, label %then13, label %ifend15 +then13: + %t36 = load ptr, ptr %t1 + %t37 = getelementptr inbounds %Cmp_Node, ptr %t36, i32 0, i32 7 + %t38 = load ptr, ptr %t37 + %t39 = getelementptr inbounds %LSlice, ptr %t38, i32 0, i32 0 + %t40 = load ptr, ptr %t39 + %t41 = getelementptr inbounds ptr, ptr %t40, i32 0 + %t42 = load ptr, ptr %t41 + %t43 = call ptr @fn_emit_expr(ptr %t42) + store ptr %t43, ptr %t44 + %t45 = load ptr, ptr %t44 + %t46 = getelementptr inbounds %Cmp_Val, ptr %t45, i32 0, i32 0 + %t47 = load ptr, ptr %t46 + %t48 = call ptr @lp_str_concat(ptr @.str3047, ptr %t47) + %t49 = call ptr @lp_str_concat(ptr %t48, ptr @.str3048) + %t50 = call ptr @fn_emit_bind(ptr %t49) + %t51 = call ptr @fn_val(ptr %t50, ptr @.str3049) + store ptr %t51, ptr %retval + br label %ret +ifend15: + %t52 = load ptr, ptr %t0 + %t53 = call i32 @lp_str_eq(ptr %t52, ptr @.str3050) + %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 @.str3051) + store ptr %t67, ptr %retval + br label %ret +ifend18: + %t68 = load ptr, ptr %t0 + %t69 = call i32 @lp_str_eq(ptr %t68, ptr @.str3052) + %t70 = icmp ne i32 %t69, 0 + br i1 %t70, label %then19, label %ifend21 +then19: + %t71 = load ptr, ptr %t1 + %t72 = getelementptr inbounds %Cmp_Node, ptr %t71, i32 0, i32 7 + %t73 = load ptr, ptr %t72 + %t74 = getelementptr inbounds %LSlice, ptr %t73, i32 0, i32 0 + %t75 = load ptr, ptr %t74 + %t76 = getelementptr inbounds ptr, ptr %t75, i32 0 + %t77 = load ptr, ptr %t76 + %t78 = call ptr @fn_emit_expr(ptr %t77) + store ptr %t78, ptr %t79 + %t80 = load ptr, ptr %t1 + %t81 = getelementptr inbounds %Cmp_Node, ptr %t80, i32 0, i32 7 + %t82 = load ptr, ptr %t81 + %t83 = getelementptr inbounds %LSlice, ptr %t82, i32 0, i32 0 + %t84 = load ptr, ptr %t83 + %t85 = getelementptr inbounds ptr, ptr %t84, i32 1 + %t86 = load ptr, ptr %t85 + %t87 = call ptr @fn_emit_expr(ptr %t86) + store ptr %t87, ptr %t88 + %t89 = load ptr, ptr %t79 + %t90 = getelementptr inbounds %Cmp_Val, ptr %t89, i32 0, i32 0 + %t91 = load ptr, ptr %t90 + %t92 = call ptr @lp_str_concat(ptr @.str3053, ptr %t91) + %t93 = call ptr @lp_str_concat(ptr %t92, ptr @.str3054) + %t94 = load ptr, ptr %t88 + %t95 = getelementptr inbounds %Cmp_Val, ptr %t94, i32 0, i32 0 + %t96 = load ptr, ptr %t95 + %t97 = call ptr @lp_str_concat(ptr %t93, ptr %t96) + %t98 = call ptr @lp_str_concat(ptr %t97, ptr @.str3055) + %t99 = call ptr @fn_emit_bind(ptr %t98) + %t100 = call ptr @fn_val(ptr %t99, ptr @.str3056) + store ptr %t100, ptr %retval + br label %ret +ifend21: + %t101 = load ptr, ptr %t1 + %t102 = getelementptr inbounds %Cmp_Node, ptr %t101, i32 0, i32 7 + %t103 = load ptr, ptr %t102 + %t104 = getelementptr inbounds %LSlice, ptr %t103, i32 0, i32 0 + %t105 = load ptr, ptr %t104 + %t106 = getelementptr inbounds ptr, ptr %t105, i32 0 + %t107 = load ptr, ptr %t106 + %t108 = call ptr @fn_emit_expr(ptr %t107) + store ptr %t108, ptr %t109 + %t110 = load ptr, ptr %t109 + %t111 = getelementptr inbounds %Cmp_Val, ptr %t110, i32 0, i32 0 + %t112 = load ptr, ptr %t111 + %t113 = call ptr @lp_str_concat(ptr @.str3057, ptr %t112) + %t114 = call ptr @lp_str_concat(ptr %t113, ptr @.str3058) + %t115 = call ptr @fn_emit_bind(ptr %t114) + %t116 = call ptr @fn_val(ptr %t115, ptr @.str3059) + 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 @.str3060) + call void @fn_emith(ptr @.str3061) + call void @fn_emith(ptr @.str3062) + call void @fn_emith(ptr @.str3063) + call void @fn_emith(ptr @.str3064) + call void @fn_emith(ptr @.str3065) + call void @fn_emith(ptr @.str3066) + call void @fn_emith(ptr @.str3067) + call void @fn_emith(ptr @.str3068) + call void @fn_emith(ptr @.str3069) + call void @fn_emith(ptr @.str3070) + call void @fn_emith(ptr @.str3071) + call void @fn_emith(ptr @.str3072) + call void @fn_emith(ptr @.str3073) + call void @fn_emith(ptr @.str3074) + call void @fn_emith(ptr @.str3075) + call void @fn_emith(ptr @.str3076) + call void @fn_emith(ptr @.str3077) + call void @fn_emith(ptr @.str3078) + call void @fn_emith(ptr @.str3079) + call void @fn_emith(ptr @.str3080) + call void @fn_emith(ptr @.str3081) + call void @fn_emith(ptr @.str3082) + call void @fn_emith(ptr @.str3083) + call void @fn_emith(ptr @.str3084) + call void @fn_emith(ptr @.str3085) + call void @fn_emith(ptr @.str3086) + call void @fn_emith(ptr @.str3087) + call void @fn_emith(ptr @.str3088) + call void @fn_emith(ptr @.str3089) + call void @fn_emith(ptr @.str3090) + call void @fn_emith(ptr @.str3091) + call void @fn_emith(ptr @.str3092) + call void @fn_emith(ptr @.str3093) + call void @fn_emith(ptr @.str3094) + call void @fn_emith(ptr @.str3095) + call void @fn_emith(ptr @.str3096) + call void @fn_emith(ptr @.str3097) + call void @fn_emith(ptr @.str3098) + call void @fn_emith(ptr @.str3099) + call void @fn_emith(ptr @.str3100) + call void @fn_emith(ptr @.str3101) + call void @fn_emith(ptr @.str3102) + call void @fn_emith(ptr @.str3103) + call void @fn_emith(ptr @.str3104) + call void @fn_emith(ptr @.str3105) + call void @fn_emith(ptr @.str3106) + call void @fn_emith(ptr @.str3107) + call void @fn_emith(ptr @.str3108) + call void @fn_emith(ptr @.str3109) + call void @fn_emith(ptr @.str3110) + call void @fn_emith(ptr @.str3111) + call void @fn_emith(ptr @.str3112) + call void @fn_emith(ptr @.str3113) + call void @fn_emith(ptr @.str3114) + call void @fn_emith(ptr @.str3115) + call void @fn_emith(ptr @.str3116) + call void @fn_emith(ptr @.str3117) + call void @fn_emith(ptr @.str3118) + call void @fn_emith(ptr @.str3119) + call void @fn_emith(ptr @.str3120) + call void @fn_emith(ptr @.str3121) + call void @fn_emith(ptr @.str3122) + call void @fn_emith(ptr @.str3123) + call void @fn_emith(ptr @.str3124) + call void @fn_emith(ptr @.str3125) + call void @fn_emith(ptr @.str3126) + call void @fn_emith(ptr @.str3127) + call void @fn_emith(ptr @.str3128) + call void @fn_emith(ptr @.str3129) + call void @fn_emith(ptr @.str3130) + call void @fn_emith(ptr @.str3131) + call void @fn_emith(ptr @.str3132) + call void @fn_emith(ptr @.str3133) + br label %ret +ret: + ret void +} + +define i32 @fn_is_noise_ns(ptr %arg_meth) { +entry: + %retval = alloca i32 + %t0 = alloca ptr + %t1 = alloca i32 + %t2 = alloca i32 + %t20 = alloca i32 + %t21 = alloca i32 + store ptr %arg_meth, ptr %t0 + %t3 = load ptr, ptr %t0 + %t4 = call i32 @lp_str_eq(ptr %t3, ptr @.str3134) + %t5 = icmp ne i32 %t4, 0 + %t6 = zext i1 %t5 to i32 + store i32 %t6, ptr %t2 + br i1 %t5, label %scend1, label %sc0 +sc0: + %t7 = load ptr, ptr %t0 + %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str3135) + %t9 = icmp ne i32 %t8, 0 + %t10 = zext i1 %t9 to i32 + store i32 %t10, ptr %t2 + br label %scend1 +scend1: + %t11 = load i32, ptr %t2 + %t12 = icmp ne i32 %t11, 0 + %t13 = zext i1 %t12 to i32 + store i32 %t13, ptr %t1 + br i1 %t12, label %scend3, label %sc2 +sc2: + %t14 = load ptr, ptr %t0 + %t15 = call i32 @lp_str_eq(ptr %t14, ptr @.str3136) + %t16 = icmp ne i32 %t15, 0 + %t17 = zext i1 %t16 to i32 + store i32 %t17, ptr %t1 + br label %scend3 +scend3: + %t18 = load i32, ptr %t1 + %t19 = icmp ne i32 %t18, 0 + br i1 %t19, label %then4, label %ifend6 +then4: + store i32 1, ptr %retval + br label %ret +ifend6: + %t22 = load ptr, ptr %t0 + %t23 = call i32 @lp_str_eq(ptr %t22, ptr @.str3137) + %t24 = icmp ne i32 %t23, 0 + %t25 = zext i1 %t24 to i32 + store i32 %t25, ptr %t21 + br i1 %t24, label %scend8, label %sc7 +sc7: + %t26 = load ptr, ptr %t0 + %t27 = call i32 @lp_str_eq(ptr %t26, ptr @.str3138) + %t28 = icmp ne i32 %t27, 0 + %t29 = zext i1 %t28 to i32 + store i32 %t29, ptr %t21 + br label %scend8 +scend8: + %t30 = load i32, ptr %t21 + %t31 = icmp ne i32 %t30, 0 + %t32 = zext i1 %t31 to i32 + store i32 %t32, ptr %t20 + br i1 %t31, label %scend10, label %sc9 +sc9: + %t33 = load ptr, ptr %t0 + %t34 = call i32 @lp_str_eq(ptr %t33, ptr @.str3139) + %t35 = icmp ne i32 %t34, 0 + %t36 = zext i1 %t35 to i32 + store i32 %t36, ptr %t20 + br label %scend10 +scend10: + %t37 = load i32, ptr %t20 + %t38 = icmp ne i32 %t37, 0 + br i1 %t38, label %then11, label %ifend13 +then11: + store i32 1, ptr %retval + br label %ret +ifend13: + %t39 = load ptr, ptr %t0 + %t40 = call i32 @lp_str_eq(ptr %t39, ptr @.str3140) + %t41 = icmp ne i32 %t40, 0 + br i1 %t41, label %then14, label %ifend16 +then14: + store i32 1, ptr %retval + br label %ret +ifend16: + store i32 0, ptr %retval + br label %ret +ret: + %t42 = load i32, ptr %retval + ret i32 %t42 +} + +define ptr @fn_emit_noise_ns(ptr %arg_meth, ptr %arg_e) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t1 = alloca ptr + %t13 = alloca ptr + %t20 = alloca ptr + %t37 = alloca ptr + %t46 = alloca ptr + %t55 = alloca ptr + %t84 = alloca ptr + %t93 = alloca ptr + %t102 = alloca ptr + %t131 = alloca ptr + %t140 = alloca ptr + %t149 = alloca ptr + %t178 = alloca ptr + %t187 = alloca ptr + %t196 = alloca ptr + %t205 = alloca ptr + %t239 = alloca ptr + %t248 = alloca ptr + %t257 = alloca ptr + %t283 = alloca ptr + %t292 = alloca ptr + %t301 = alloca ptr + store ptr %arg_meth, ptr %t0 + store ptr %arg_e, ptr %t1 + %t2 = load ptr, ptr %t0 + %t3 = call i32 @lp_str_eq(ptr %t2, ptr @.str3141) + %t4 = icmp ne i32 %t3, 0 + br i1 %t4, label %then0, label %ifend2 +then0: + %t5 = load ptr, ptr %t1 + %t6 = getelementptr inbounds %Cmp_Node, ptr %t5, i32 0, i32 7 + %t7 = load ptr, ptr %t6 + %t8 = getelementptr inbounds %LSlice, ptr %t7, i32 0, i32 0 + %t9 = load ptr, ptr %t8 + %t10 = getelementptr inbounds ptr, ptr %t9, i32 0 + %t11 = load ptr, ptr %t10 + %t12 = call ptr @fn_emit_expr(ptr %t11) + store ptr %t12, ptr %t13 + %t14 = load ptr, ptr %t13 + %t15 = getelementptr inbounds %Cmp_Val, ptr %t14, i32 0, i32 0 + %t16 = load ptr, ptr %t15 + %t17 = call ptr @lp_str_concat(ptr @.str3142, ptr %t16) + %t18 = call ptr @lp_str_concat(ptr %t17, ptr @.str3143) + %t19 = call ptr @fn_emit_bind(ptr %t18) + store ptr %t19, ptr %t20 + %t21 = load ptr, ptr %t20 + %t22 = call ptr @lp_str_concat(ptr @.str3144, ptr %t21) + %t23 = call ptr @lp_str_concat(ptr %t22, ptr @.str3145) + %t24 = call ptr @fn_emit_bind(ptr %t23) + %t25 = call ptr @fn_val(ptr %t24, ptr @.str3146) + store ptr %t25, ptr %retval + br label %ret +ifend2: + store i32 1, ptr @g_g_uses_noisert + %t26 = load ptr, ptr %t0 + %t27 = call i32 @lp_str_eq(ptr %t26, ptr @.str3147) + %t28 = icmp ne i32 %t27, 0 + br i1 %t28, label %then3, label %ifend5 +then3: + %t29 = load ptr, ptr %t1 + %t30 = getelementptr inbounds %Cmp_Node, ptr %t29, i32 0, i32 7 + %t31 = load ptr, ptr %t30 + %t32 = getelementptr inbounds %LSlice, ptr %t31, i32 0, i32 0 + %t33 = load ptr, ptr %t32 + %t34 = getelementptr inbounds ptr, ptr %t33, i32 0 + %t35 = load ptr, ptr %t34 + %t36 = call ptr @fn_emit_expr(ptr %t35) + store ptr %t36, ptr %t37 + %t38 = load ptr, ptr %t1 + %t39 = getelementptr inbounds %Cmp_Node, ptr %t38, i32 0, i32 7 + %t40 = load ptr, ptr %t39 + %t41 = getelementptr inbounds %LSlice, ptr %t40, i32 0, i32 0 + %t42 = load ptr, ptr %t41 + %t43 = getelementptr inbounds ptr, ptr %t42, i32 1 + %t44 = load ptr, ptr %t43 + %t45 = call ptr @fn_emit_expr(ptr %t44) + store ptr %t45, ptr %t46 + %t47 = load ptr, ptr %t1 + %t48 = getelementptr inbounds %Cmp_Node, ptr %t47, i32 0, i32 7 + %t49 = load ptr, ptr %t48 + %t50 = getelementptr inbounds %LSlice, ptr %t49, i32 0, i32 0 + %t51 = load ptr, ptr %t50 + %t52 = getelementptr inbounds ptr, ptr %t51, i32 2 + %t53 = load ptr, ptr %t52 + %t54 = call ptr @fn_emit_expr(ptr %t53) + store ptr %t54, ptr %t55 + %t56 = load ptr, ptr %t37 + %t57 = getelementptr inbounds %Cmp_Val, ptr %t56, i32 0, i32 0 + %t58 = load ptr, ptr %t57 + %t59 = call ptr @lp_str_concat(ptr @.str3148, ptr %t58) + %t60 = call ptr @lp_str_concat(ptr %t59, ptr @.str3149) + %t61 = load ptr, ptr %t46 + %t62 = getelementptr inbounds %Cmp_Val, ptr %t61, i32 0, i32 0 + %t63 = load ptr, ptr %t62 + %t64 = call ptr @lp_str_concat(ptr %t60, ptr %t63) + %t65 = call ptr @lp_str_concat(ptr %t64, ptr @.str3150) + %t66 = load ptr, ptr %t55 + %t67 = getelementptr inbounds %Cmp_Val, ptr %t66, i32 0, i32 0 + %t68 = load ptr, ptr %t67 + %t69 = call ptr @lp_str_concat(ptr %t65, ptr %t68) + %t70 = call ptr @lp_str_concat(ptr %t69, ptr @.str3151) + %t71 = call ptr @fn_emit_bind(ptr %t70) + %t72 = call ptr @fn_val(ptr %t71, ptr @.str3152) + store ptr %t72, ptr %retval + br label %ret +ifend5: + %t73 = load ptr, ptr %t0 + %t74 = call i32 @lp_str_eq(ptr %t73, ptr @.str3153) + %t75 = icmp ne i32 %t74, 0 + br i1 %t75, label %then6, label %ifend8 +then6: + %t76 = load ptr, ptr %t1 + %t77 = getelementptr inbounds %Cmp_Node, ptr %t76, i32 0, i32 7 + %t78 = load ptr, ptr %t77 + %t79 = getelementptr inbounds %LSlice, ptr %t78, i32 0, i32 0 + %t80 = load ptr, ptr %t79 + %t81 = getelementptr inbounds ptr, ptr %t80, i32 0 + %t82 = load ptr, ptr %t81 + %t83 = call ptr @fn_emit_expr(ptr %t82) + store ptr %t83, ptr %t84 + %t85 = load ptr, ptr %t1 + %t86 = getelementptr inbounds %Cmp_Node, ptr %t85, i32 0, i32 7 + %t87 = load ptr, ptr %t86 + %t88 = getelementptr inbounds %LSlice, ptr %t87, i32 0, i32 0 + %t89 = load ptr, ptr %t88 + %t90 = getelementptr inbounds ptr, ptr %t89, i32 1 + %t91 = load ptr, ptr %t90 + %t92 = call ptr @fn_emit_expr(ptr %t91) + store ptr %t92, ptr %t93 + %t94 = load ptr, ptr %t1 + %t95 = getelementptr inbounds %Cmp_Node, ptr %t94, i32 0, i32 7 + %t96 = load ptr, ptr %t95 + %t97 = getelementptr inbounds %LSlice, ptr %t96, i32 0, i32 0 + %t98 = load ptr, ptr %t97 + %t99 = getelementptr inbounds ptr, ptr %t98, i32 2 + %t100 = load ptr, ptr %t99 + %t101 = call ptr @fn_emit_expr(ptr %t100) + store ptr %t101, ptr %t102 + %t103 = load ptr, ptr %t84 + %t104 = getelementptr inbounds %Cmp_Val, ptr %t103, i32 0, i32 0 + %t105 = load ptr, ptr %t104 + %t106 = call ptr @lp_str_concat(ptr @.str3154, ptr %t105) + %t107 = call ptr @lp_str_concat(ptr %t106, ptr @.str3155) + %t108 = load ptr, ptr %t93 + %t109 = getelementptr inbounds %Cmp_Val, ptr %t108, i32 0, i32 0 + %t110 = load ptr, ptr %t109 + %t111 = call ptr @lp_str_concat(ptr %t107, ptr %t110) + %t112 = call ptr @lp_str_concat(ptr %t111, ptr @.str3156) + %t113 = load ptr, ptr %t102 + %t114 = getelementptr inbounds %Cmp_Val, ptr %t113, i32 0, i32 0 + %t115 = load ptr, ptr %t114 + %t116 = call ptr @lp_str_concat(ptr %t112, ptr %t115) + %t117 = call ptr @lp_str_concat(ptr %t116, ptr @.str3157) + %t118 = call ptr @fn_emit_bind(ptr %t117) + %t119 = call ptr @fn_val(ptr %t118, ptr @.str3158) + store ptr %t119, ptr %retval + br label %ret +ifend8: + %t120 = load ptr, ptr %t0 + %t121 = call i32 @lp_str_eq(ptr %t120, ptr @.str3159) + %t122 = icmp ne i32 %t121, 0 + br i1 %t122, label %then9, label %ifend11 +then9: + %t123 = load ptr, ptr %t1 + %t124 = getelementptr inbounds %Cmp_Node, ptr %t123, i32 0, i32 7 + %t125 = load ptr, ptr %t124 + %t126 = getelementptr inbounds %LSlice, ptr %t125, i32 0, i32 0 + %t127 = load ptr, ptr %t126 + %t128 = getelementptr inbounds ptr, ptr %t127, i32 0 + %t129 = load ptr, ptr %t128 + %t130 = call ptr @fn_emit_expr(ptr %t129) + store ptr %t130, ptr %t131 + %t132 = load ptr, ptr %t1 + %t133 = getelementptr inbounds %Cmp_Node, ptr %t132, i32 0, i32 7 + %t134 = load ptr, ptr %t133 + %t135 = getelementptr inbounds %LSlice, ptr %t134, i32 0, i32 0 + %t136 = load ptr, ptr %t135 + %t137 = getelementptr inbounds ptr, ptr %t136, i32 1 + %t138 = load ptr, ptr %t137 + %t139 = call ptr @fn_emit_expr(ptr %t138) + store ptr %t139, ptr %t140 + %t141 = load ptr, ptr %t1 + %t142 = getelementptr inbounds %Cmp_Node, ptr %t141, i32 0, i32 7 + %t143 = load ptr, ptr %t142 + %t144 = getelementptr inbounds %LSlice, ptr %t143, i32 0, i32 0 + %t145 = load ptr, ptr %t144 + %t146 = getelementptr inbounds ptr, ptr %t145, i32 2 + %t147 = load ptr, ptr %t146 + %t148 = call ptr @fn_emit_expr(ptr %t147) + store ptr %t148, ptr %t149 + %t150 = load ptr, ptr %t131 + %t151 = getelementptr inbounds %Cmp_Val, ptr %t150, i32 0, i32 0 + %t152 = load ptr, ptr %t151 + %t153 = call ptr @lp_str_concat(ptr @.str3160, ptr %t152) + %t154 = call ptr @lp_str_concat(ptr %t153, ptr @.str3161) + %t155 = load ptr, ptr %t140 + %t156 = getelementptr inbounds %Cmp_Val, ptr %t155, i32 0, i32 0 + %t157 = load ptr, ptr %t156 + %t158 = call ptr @lp_str_concat(ptr %t154, ptr %t157) + %t159 = call ptr @lp_str_concat(ptr %t158, ptr @.str3162) + %t160 = load ptr, ptr %t149 + %t161 = getelementptr inbounds %Cmp_Val, ptr %t160, i32 0, i32 0 + %t162 = load ptr, ptr %t161 + %t163 = call ptr @lp_str_concat(ptr %t159, ptr %t162) + %t164 = call ptr @lp_str_concat(ptr %t163, ptr @.str3163) + %t165 = call ptr @fn_emit_bind(ptr %t164) + %t166 = call ptr @fn_val(ptr %t165, ptr @.str3164) + store ptr %t166, ptr %retval + br label %ret +ifend11: + %t167 = load ptr, ptr %t0 + %t168 = call i32 @lp_str_eq(ptr %t167, ptr @.str3165) + %t169 = icmp ne i32 %t168, 0 + br i1 %t169, label %then12, label %ifend14 +then12: + store i32 1, ptr @g_g_uses_mathrt + %t170 = load ptr, ptr %t1 + %t171 = getelementptr inbounds %Cmp_Node, ptr %t170, i32 0, i32 7 + %t172 = load ptr, ptr %t171 + %t173 = getelementptr inbounds %LSlice, ptr %t172, i32 0, i32 0 + %t174 = load ptr, ptr %t173 + %t175 = getelementptr inbounds ptr, ptr %t174, i32 0 + %t176 = load ptr, ptr %t175 + %t177 = call ptr @fn_emit_expr(ptr %t176) + store ptr %t177, ptr %t178 + %t179 = load ptr, ptr %t1 + %t180 = getelementptr inbounds %Cmp_Node, ptr %t179, i32 0, i32 7 + %t181 = load ptr, ptr %t180 + %t182 = getelementptr inbounds %LSlice, ptr %t181, i32 0, i32 0 + %t183 = load ptr, ptr %t182 + %t184 = getelementptr inbounds ptr, ptr %t183, i32 1 + %t185 = load ptr, ptr %t184 + %t186 = call ptr @fn_emit_expr(ptr %t185) + store ptr %t186, ptr %t187 + %t188 = load ptr, ptr %t1 + %t189 = getelementptr inbounds %Cmp_Node, ptr %t188, i32 0, i32 7 + %t190 = load ptr, ptr %t189 + %t191 = getelementptr inbounds %LSlice, ptr %t190, i32 0, i32 0 + %t192 = load ptr, ptr %t191 + %t193 = getelementptr inbounds ptr, ptr %t192, i32 2 + %t194 = load ptr, ptr %t193 + %t195 = call ptr @fn_emit_expr(ptr %t194) + store ptr %t195, ptr %t196 + %t197 = load ptr, ptr %t1 + %t198 = getelementptr inbounds %Cmp_Node, ptr %t197, i32 0, i32 7 + %t199 = load ptr, ptr %t198 + %t200 = getelementptr inbounds %LSlice, ptr %t199, i32 0, i32 0 + %t201 = load ptr, ptr %t200 + %t202 = getelementptr inbounds ptr, ptr %t201, i32 3 + %t203 = load ptr, ptr %t202 + %t204 = call ptr @fn_emit_expr(ptr %t203) + store ptr %t204, ptr %t205 + %t206 = load ptr, ptr %t178 + %t207 = getelementptr inbounds %Cmp_Val, ptr %t206, i32 0, i32 0 + %t208 = load ptr, ptr %t207 + %t209 = call ptr @lp_str_concat(ptr @.str3166, ptr %t208) + %t210 = call ptr @lp_str_concat(ptr %t209, ptr @.str3167) + %t211 = load ptr, ptr %t187 + %t212 = getelementptr inbounds %Cmp_Val, ptr %t211, i32 0, i32 0 + %t213 = load ptr, ptr %t212 + %t214 = call ptr @lp_str_concat(ptr %t210, ptr %t213) + %t215 = call ptr @lp_str_concat(ptr %t214, ptr @.str3168) + %t216 = load ptr, ptr %t196 + %t217 = getelementptr inbounds %Cmp_Val, ptr %t216, i32 0, i32 0 + %t218 = load ptr, ptr %t217 + %t219 = call ptr @lp_str_concat(ptr %t215, ptr %t218) + %t220 = call ptr @lp_str_concat(ptr %t219, ptr @.str3169) + %t221 = load ptr, ptr %t205 + %t222 = getelementptr inbounds %Cmp_Val, ptr %t221, i32 0, i32 0 + %t223 = load ptr, ptr %t222 + %t224 = call ptr @lp_str_concat(ptr %t220, ptr %t223) + %t225 = call ptr @lp_str_concat(ptr %t224, ptr @.str3170) + %t226 = call ptr @fn_emit_bind(ptr %t225) + %t227 = call ptr @fn_val(ptr %t226, ptr @.str3171) + store ptr %t227, ptr %retval + br label %ret +ifend14: + %t228 = load ptr, ptr %t0 + %t229 = call i32 @lp_str_eq(ptr %t228, ptr @.str3172) + %t230 = icmp ne i32 %t229, 0 + br i1 %t230, label %then15, label %ifend17 +then15: + store i32 1, ptr @g_g_uses_mathrt + %t231 = load ptr, ptr %t1 + %t232 = getelementptr inbounds %Cmp_Node, ptr %t231, i32 0, i32 7 + %t233 = load ptr, ptr %t232 + %t234 = getelementptr inbounds %LSlice, ptr %t233, i32 0, i32 0 + %t235 = load ptr, ptr %t234 + %t236 = getelementptr inbounds ptr, ptr %t235, i32 0 + %t237 = load ptr, ptr %t236 + %t238 = call ptr @fn_emit_expr(ptr %t237) + store ptr %t238, ptr %t239 + %t240 = load ptr, ptr %t1 + %t241 = getelementptr inbounds %Cmp_Node, ptr %t240, i32 0, i32 7 + %t242 = load ptr, ptr %t241 + %t243 = getelementptr inbounds %LSlice, ptr %t242, i32 0, i32 0 + %t244 = load ptr, ptr %t243 + %t245 = getelementptr inbounds ptr, ptr %t244, i32 1 + %t246 = load ptr, ptr %t245 + %t247 = call ptr @fn_emit_expr(ptr %t246) + store ptr %t247, ptr %t248 + %t249 = load ptr, ptr %t1 + %t250 = getelementptr inbounds %Cmp_Node, ptr %t249, i32 0, i32 7 + %t251 = load ptr, ptr %t250 + %t252 = getelementptr inbounds %LSlice, ptr %t251, i32 0, i32 0 + %t253 = load ptr, ptr %t252 + %t254 = getelementptr inbounds ptr, ptr %t253, i32 2 + %t255 = load ptr, ptr %t254 + %t256 = call ptr @fn_emit_expr(ptr %t255) + store ptr %t256, ptr %t257 + %t258 = load ptr, ptr %t239 + %t259 = getelementptr inbounds %Cmp_Val, ptr %t258, i32 0, i32 0 + %t260 = load ptr, ptr %t259 + %t261 = call ptr @lp_str_concat(ptr @.str3173, ptr %t260) + %t262 = call ptr @lp_str_concat(ptr %t261, ptr @.str3174) + %t263 = load ptr, ptr %t248 + %t264 = getelementptr inbounds %Cmp_Val, ptr %t263, i32 0, i32 0 + %t265 = load ptr, ptr %t264 + %t266 = call ptr @lp_str_concat(ptr %t262, ptr %t265) + %t267 = call ptr @lp_str_concat(ptr %t266, ptr @.str3175) + %t268 = load ptr, ptr %t257 + %t269 = getelementptr inbounds %Cmp_Val, ptr %t268, i32 0, i32 0 + %t270 = load ptr, ptr %t269 + %t271 = call ptr @lp_str_concat(ptr %t267, ptr %t270) + %t272 = call ptr @lp_str_concat(ptr %t271, ptr @.str3176) + %t273 = call ptr @fn_emit_bind(ptr %t272) + %t274 = call ptr @fn_val(ptr %t273, ptr @.str3177) + store ptr %t274, ptr %retval + br label %ret +ifend17: + %t275 = load ptr, ptr %t1 + %t276 = getelementptr inbounds %Cmp_Node, ptr %t275, i32 0, i32 7 + %t277 = load ptr, ptr %t276 + %t278 = getelementptr inbounds %LSlice, ptr %t277, i32 0, i32 0 + %t279 = load ptr, ptr %t278 + %t280 = getelementptr inbounds ptr, ptr %t279, i32 0 + %t281 = load ptr, ptr %t280 + %t282 = call ptr @fn_emit_expr(ptr %t281) + store ptr %t282, ptr %t283 + %t284 = load ptr, ptr %t1 + %t285 = getelementptr inbounds %Cmp_Node, ptr %t284, i32 0, i32 7 + %t286 = load ptr, ptr %t285 + %t287 = getelementptr inbounds %LSlice, ptr %t286, i32 0, i32 0 + %t288 = load ptr, ptr %t287 + %t289 = getelementptr inbounds ptr, ptr %t288, i32 1 + %t290 = load ptr, ptr %t289 + %t291 = call ptr @fn_emit_expr(ptr %t290) + store ptr %t291, ptr %t292 + %t293 = load ptr, ptr %t1 + %t294 = getelementptr inbounds %Cmp_Node, ptr %t293, i32 0, i32 7 + %t295 = load ptr, ptr %t294 + %t296 = getelementptr inbounds %LSlice, ptr %t295, i32 0, i32 0 + %t297 = load ptr, ptr %t296 + %t298 = getelementptr inbounds ptr, ptr %t297, i32 2 + %t299 = load ptr, ptr %t298 + %t300 = call ptr @fn_emit_expr(ptr %t299) + store ptr %t300, ptr %t301 + %t302 = load ptr, ptr %t283 + %t303 = getelementptr inbounds %Cmp_Val, ptr %t302, i32 0, i32 0 + %t304 = load ptr, ptr %t303 + %t305 = call ptr @lp_str_concat(ptr @.str3178, ptr %t304) + %t306 = call ptr @lp_str_concat(ptr %t305, ptr @.str3179) + %t307 = load ptr, ptr %t292 + %t308 = getelementptr inbounds %Cmp_Val, ptr %t307, i32 0, i32 0 + %t309 = load ptr, ptr %t308 + %t310 = call ptr @lp_str_concat(ptr %t306, ptr %t309) + %t311 = call ptr @lp_str_concat(ptr %t310, ptr @.str3180) + %t312 = load ptr, ptr %t301 + %t313 = getelementptr inbounds %Cmp_Val, ptr %t312, i32 0, i32 0 + %t314 = load ptr, ptr %t313 + %t315 = call ptr @lp_str_concat(ptr %t311, ptr %t314) + %t316 = call ptr @lp_str_concat(ptr %t315, ptr @.str3181) + %t317 = call ptr @fn_emit_bind(ptr %t316) + %t318 = call ptr @fn_val(ptr %t317, ptr @.str3182) + 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 @.str3183) + call void @fn_emith(ptr @.str3184) + call void @fn_emith(ptr @.str3185) + call void @fn_emith(ptr @.str3186) + call void @fn_emith(ptr @.str3187) + call void @fn_emith(ptr @.str3188) + call void @fn_emith(ptr @.str3189) + call void @fn_emith(ptr @.str3190) + call void @fn_emith(ptr @.str3191) + call void @fn_emith(ptr @.str3192) + call void @fn_emith(ptr @.str3193) + call void @fn_emith(ptr @.str3194) + call void @fn_emith(ptr @.str3195) + call void @fn_emith(ptr @.str3196) + call void @fn_emith(ptr @.str3197) + call void @fn_emith(ptr @.str3198) + call void @fn_emith(ptr @.str3199) + call void @fn_emith(ptr @.str3200) + call void @fn_emith(ptr @.str3201) + call void @fn_emith(ptr @.str3202) + call void @fn_emith(ptr @.str3203) + call void @fn_emith(ptr @.str3204) + call void @fn_emith(ptr @.str3205) + call void @fn_emith(ptr @.str3206) + call void @fn_emith(ptr @.str3207) + call void @fn_emith(ptr @.str3208) + call void @fn_emith(ptr @.str3209) + call void @fn_emith(ptr @.str3210) + call void @fn_emith(ptr @.str3211) + call void @fn_emith(ptr @.str3212) + call void @fn_emith(ptr @.str3213) + call void @fn_emith(ptr @.str3214) + call void @fn_emith(ptr @.str3215) + call void @fn_emith(ptr @.str3216) + call void @fn_emith(ptr @.str3217) + call void @fn_emith(ptr @.str3218) + call void @fn_emith(ptr @.str3219) + call void @fn_emith(ptr @.str3220) + call void @fn_emith(ptr @.str3221) + call void @fn_emith(ptr @.str3222) + call void @fn_emith(ptr @.str3223) + call void @fn_emith(ptr @.str3224) + call void @fn_emith(ptr @.str3225) + call void @fn_emith(ptr @.str3226) + call void @fn_emith(ptr @.str3227) + call void @fn_emith(ptr @.str3228) + call void @fn_emith(ptr @.str3229) + call void @fn_emith(ptr @.str3230) + call void @fn_emith(ptr @.str3231) + call void @fn_emith(ptr @.str3232) + call void @fn_emith(ptr @.str3233) + call void @fn_emith(ptr @.str3234) + call void @fn_emith(ptr @.str3235) + call void @fn_emith(ptr @.str3236) + call void @fn_emith(ptr @.str3237) + call void @fn_emith(ptr @.str3238) + call void @fn_emith(ptr @.str3239) + call void @fn_emith(ptr @.str3240) + call void @fn_emith(ptr @.str3241) + call void @fn_emith(ptr @.str3242) + call void @fn_emith(ptr @.str3243) + call void @fn_emith(ptr @.str3244) + call void @fn_emith(ptr @.str3245) + call void @fn_emith(ptr @.str3246) + call void @fn_emith(ptr @.str3247) + call void @fn_emith(ptr @.str3248) + call void @fn_emith(ptr @.str3249) + call void @fn_emith(ptr @.str3250) + call void @fn_emith(ptr @.str3251) + call void @fn_emith(ptr @.str3252) + call void @fn_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_emit_noise_cellular() + br label %ret +ret: + ret void +} + +define void @fn_emit_noise_cellular() { +entry: + 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) + call void @fn_emith(ptr @.str3289) + call void @fn_emith(ptr @.str3290) + br label %ret +ret: + ret void +} + +define i32 @fn_is_log_ns(ptr %arg_meth) { +entry: + %retval = alloca i32 + %t0 = alloca ptr + %t1 = alloca i32 + %t2 = alloca i32 + %t20 = alloca i32 + %t31 = alloca i32 + store ptr %arg_meth, ptr %t0 + %t3 = load ptr, ptr %t0 + %t4 = call i32 @lp_str_eq(ptr %t3, ptr @.str3291) + %t5 = icmp ne i32 %t4, 0 + %t6 = zext i1 %t5 to i32 + store i32 %t6, ptr %t2 + br i1 %t5, label %scend1, label %sc0 +sc0: + %t7 = load ptr, ptr %t0 + %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str3292) + %t9 = icmp ne i32 %t8, 0 + %t10 = zext i1 %t9 to i32 + store i32 %t10, ptr %t2 + br label %scend1 +scend1: + %t11 = load i32, ptr %t2 + %t12 = icmp ne i32 %t11, 0 + %t13 = zext i1 %t12 to i32 + store i32 %t13, ptr %t1 + br i1 %t12, label %scend3, label %sc2 +sc2: + %t14 = load ptr, ptr %t0 + %t15 = call i32 @lp_str_eq(ptr %t14, ptr @.str3293) + %t16 = icmp ne i32 %t15, 0 + %t17 = zext i1 %t16 to i32 + store i32 %t17, ptr %t1 + br label %scend3 +scend3: + %t18 = load i32, ptr %t1 + %t19 = icmp ne i32 %t18, 0 + br i1 %t19, label %then4, label %ifend6 +then4: + store i32 1, ptr %retval + br label %ret +ifend6: + %t21 = load ptr, ptr %t0 + %t22 = call i32 @lp_str_eq(ptr %t21, ptr @.str3294) + %t23 = icmp ne i32 %t22, 0 + %t24 = zext i1 %t23 to i32 + store i32 %t24, ptr %t20 + br i1 %t23, label %scend8, label %sc7 +sc7: + %t25 = load ptr, ptr %t0 + %t26 = call i32 @lp_str_eq(ptr %t25, ptr @.str3295) + %t27 = icmp ne i32 %t26, 0 + %t28 = zext i1 %t27 to i32 + store i32 %t28, ptr %t20 + br label %scend8 +scend8: + %t29 = load i32, ptr %t20 + %t30 = icmp ne i32 %t29, 0 + br i1 %t30, label %then9, label %ifend11 +then9: + store i32 1, ptr %retval + br label %ret +ifend11: + %t32 = load ptr, ptr %t0 + %t33 = call i32 @lp_str_eq(ptr %t32, ptr @.str3296) + %t34 = icmp ne i32 %t33, 0 + %t35 = zext i1 %t34 to i32 + store i32 %t35, ptr %t31 + br i1 %t34, label %scend13, label %sc12 +sc12: + %t36 = load ptr, ptr %t0 + %t37 = call i32 @lp_str_eq(ptr %t36, ptr @.str3297) + %t38 = icmp ne i32 %t37, 0 + %t39 = zext i1 %t38 to i32 + store i32 %t39, ptr %t31 + br label %scend13 +scend13: + %t40 = load i32, ptr %t31 + %t41 = icmp ne i32 %t40, 0 + br i1 %t41, label %then14, label %ifend16 +then14: + store i32 1, ptr %retval + br label %ret +ifend16: + store i32 0, ptr %retval + br label %ret +ret: + %t42 = load i32, ptr %retval + ret i32 %t42 +} + +define ptr @fn_log_stringify(ptr %arg_v) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + store ptr %arg_v, ptr %t0 + %t1 = load ptr, ptr %t0 + %t2 = getelementptr inbounds %Cmp_Val, ptr %t1, i32 0, i32 1 + %t3 = load ptr, ptr %t2 + %t4 = call ptr @fn_llty(ptr %t3) + %t5 = call i32 @lp_str_eq(ptr %t4, ptr @.str3298) + %t6 = icmp ne i32 %t5, 0 + br i1 %t6, label %then0, label %ifend2 +then0: + %t7 = load ptr, ptr %t0 + %t8 = getelementptr inbounds %Cmp_Val, ptr %t7, i32 0, i32 0 + %t9 = load ptr, ptr %t8 + store ptr %t9, ptr %retval + br label %ret +ifend2: + %t10 = load ptr, ptr %t0 + %t11 = getelementptr inbounds %Cmp_Val, ptr %t10, i32 0, i32 1 + %t12 = load ptr, ptr %t11 + %t13 = call ptr @fn_llty(ptr %t12) + %t14 = call i32 @lp_str_eq(ptr %t13, ptr @.str3299) + %t15 = icmp ne i32 %t14, 0 + br i1 %t15, label %then3, label %ifend5 +then3: + store i32 1, ptr @g_g_uses_longstr + %t16 = load ptr, ptr %t0 + %t17 = getelementptr inbounds %Cmp_Val, ptr %t16, i32 0, i32 0 + %t18 = load ptr, ptr %t17 + %t19 = call ptr @lp_str_concat(ptr @.str3300, ptr %t18) + %t20 = call ptr @lp_str_concat(ptr %t19, ptr @.str3301) + %t21 = call ptr @fn_emit_bind(ptr %t20) + store ptr %t21, ptr %retval + br label %ret +ifend5: + store i32 1, ptr @g_g_uses_intstr + %t22 = load ptr, ptr %t0 + %t23 = getelementptr inbounds %Cmp_Val, ptr %t22, i32 0, i32 0 + %t24 = load ptr, ptr %t23 + %t25 = call ptr @lp_str_concat(ptr @.str3302, ptr %t24) + %t26 = call ptr @lp_str_concat(ptr %t25, ptr @.str3303) + %t27 = call ptr @fn_emit_bind(ptr %t26) + store ptr %t27, ptr %retval + br label %ret +ret: + %t28 = load ptr, ptr %retval + ret ptr %t28 +} + +define ptr @fn_emit_log_ns(ptr %arg_meth, ptr %arg_e) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t1 = alloca ptr + %t13 = alloca ptr + %t25 = alloca ptr + %t26 = alloca ptr + %t42 = alloca ptr + %t51 = alloca ptr + %t57 = alloca i32 + %t77 = alloca ptr + %t88 = alloca ptr + store ptr %arg_meth, ptr %t0 + store ptr %arg_e, ptr %t1 + store i32 1, ptr @g_g_uses_logrt + %t2 = load ptr, ptr %t0 + %t3 = call i32 @lp_str_eq(ptr %t2, ptr @.str3304) + %t4 = icmp ne i32 %t3, 0 + br i1 %t4, label %then0, label %ifend2 +then0: + %t5 = load ptr, ptr %t1 + %t6 = getelementptr inbounds %Cmp_Node, ptr %t5, i32 0, i32 7 + %t7 = load ptr, ptr %t6 + %t8 = getelementptr inbounds %LSlice, ptr %t7, i32 0, i32 0 + %t9 = load ptr, ptr %t8 + %t10 = getelementptr inbounds ptr, ptr %t9, i32 0 + %t11 = load ptr, ptr %t10 + %t12 = call ptr @fn_emit_expr(ptr %t11) + store ptr %t12, ptr %t13 + %t14 = load ptr, ptr %t13 + %t15 = getelementptr inbounds %Cmp_Val, ptr %t14, i32 0, i32 0 + %t16 = load ptr, ptr %t15 + %t17 = call ptr @lp_str_concat(ptr @.str3305, ptr %t16) + %t18 = call ptr @lp_str_concat(ptr %t17, ptr @.str3306) + call void @fn_emit(ptr %t18) + %t19 = call ptr @fn_val(ptr @.str3307, ptr @.str3308) + store ptr %t19, ptr %retval + br label %ret +ifend2: + %t20 = load ptr, ptr %t0 + %t21 = call i32 @lp_str_eq(ptr %t20, ptr @.str3309) + %t22 = icmp ne i32 %t21, 0 + br i1 %t22, label %then3, label %ifend5 +then3: + %t23 = call ptr @fn_emit_bind(ptr @.str3310) + %t24 = call ptr @fn_val(ptr %t23, ptr @.str3311) + store ptr %t24, ptr %retval + br label %ret +ifend5: + store ptr @.str3312, ptr %t25 + store ptr @.str3313, ptr %t26 + %t27 = load ptr, ptr %t0 + %t28 = call i32 @lp_str_eq(ptr %t27, ptr @.str3314) + %t29 = icmp ne i32 %t28, 0 + br i1 %t29, label %then6, label %ifend8 +then6: + store ptr @.str3315, ptr %t25 + store ptr @.str3316, ptr %t26 + br label %ifend8 +ifend8: + %t30 = load ptr, ptr %t0 + %t31 = call i32 @lp_str_eq(ptr %t30, ptr @.str3317) + %t32 = icmp ne i32 %t31, 0 + br i1 %t32, label %then9, label %ifend11 +then9: + store ptr @.str3318, ptr %t25 + store ptr @.str3319, ptr %t26 + br label %ifend11 +ifend11: + %t33 = load ptr, ptr %t0 + %t34 = call i32 @lp_str_eq(ptr %t33, ptr @.str3320) + %t35 = icmp ne i32 %t34, 0 + br i1 %t35, label %then12, label %ifend14 +then12: + store ptr @.str3321, ptr %t25 + store ptr @.str3322, ptr %t26 + br label %ifend14 +ifend14: + %t36 = load ptr, ptr %t0 + %t37 = call i32 @lp_str_eq(ptr %t36, ptr @.str3323) + %t38 = icmp ne i32 %t37, 0 + br i1 %t38, label %then15, label %ifend17 +then15: + store ptr @.str3324, ptr %t25 + store ptr @.str3325, 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 @.str3326) + 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 @.str3328) + %t56 = call ptr @fn_emit_str_op(ptr @.str3327, 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 @.str3330) + %t91 = call ptr @fn_val(ptr %t90, ptr @.str3331) + %t92 = call ptr @fn_emit_str_op(ptr @.str3329, 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 @.str3333) + %t97 = call ptr @fn_emit_str_op(ptr @.str3332, ptr %t93, ptr %t96) + store ptr %t97, ptr %t42 + %t98 = load ptr, ptr %t42 + %t99 = call ptr @fn_emit_str_const(ptr @.str3335) + %t100 = call ptr @fn_val(ptr %t99, ptr @.str3336) + %t101 = call ptr @fn_emit_str_op(ptr @.str3334, 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 @.str3338) + %t106 = call ptr @fn_emit_str_op(ptr @.str3337, ptr %t102, ptr %t105) + store ptr %t106, ptr %t42 + %t107 = load i32, ptr %t57 + %t108 = add i32 %t107, 2 + store i32 %t108, ptr %t57 + br label %wcond18 +wend20: + %t109 = load ptr, ptr %t25 + %t110 = call ptr @lp_str_concat(ptr @.str3339, ptr %t109) + %t111 = call ptr @lp_str_concat(ptr %t110, ptr @.str3340) + %t112 = load ptr, ptr %t42 + %t113 = getelementptr inbounds %Cmp_Val, ptr %t112, i32 0, i32 0 + %t114 = load ptr, ptr %t113 + %t115 = call ptr @lp_str_concat(ptr %t111, ptr %t114) + %t116 = call ptr @lp_str_concat(ptr %t115, ptr @.str3341) + call void @fn_emit(ptr %t116) + %t117 = call ptr @fn_val(ptr @.str3342, ptr @.str3343) + 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 @.str3344) + call void @fn_emith(ptr @.str3345) + call void @fn_emith(ptr @.str3346) + call void @fn_emith(ptr @.str3347) + %t0 = call ptr @fn_stdstream_rhs(i32 2) + %t1 = call ptr @lp_str_concat(ptr @.str3348, ptr %t0) + %t2 = call ptr @lp_str_concat(ptr %t1, ptr @.str3349) + call void @fn_emith(ptr %t2) + call void @fn_emith(ptr @.str3350) + call void @fn_emith(ptr @.str3351) + br label %ret +ret: + ret void +} + +define i32 @fn_is_os_ns(ptr %arg_meth) { +entry: + %retval = alloca i32 + %t0 = alloca ptr + %t1 = alloca i32 + %t2 = alloca i32 + %t20 = alloca i32 + %t21 = alloca i32 + %t39 = alloca i32 + %t50 = alloca i32 + %t51 = alloca i32 + %t52 = alloca i32 + %t77 = alloca i32 + %t88 = alloca i32 + %t89 = alloca i32 + %t90 = alloca i32 + store ptr %arg_meth, ptr %t0 + %t3 = load ptr, ptr %t0 + %t4 = call i32 @lp_str_eq(ptr %t3, ptr @.str3352) + %t5 = icmp ne i32 %t4, 0 + %t6 = zext i1 %t5 to i32 + store i32 %t6, ptr %t2 + br i1 %t5, label %scend1, label %sc0 +sc0: + %t7 = load ptr, ptr %t0 + %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str3353) + %t9 = icmp ne i32 %t8, 0 + %t10 = zext i1 %t9 to i32 + store i32 %t10, ptr %t2 + br label %scend1 +scend1: + %t11 = load i32, ptr %t2 + %t12 = icmp ne i32 %t11, 0 + %t13 = zext i1 %t12 to i32 + store i32 %t13, ptr %t1 + br i1 %t12, label %scend3, label %sc2 +sc2: + %t14 = load ptr, ptr %t0 + %t15 = call i32 @lp_str_eq(ptr %t14, ptr @.str3354) + %t16 = icmp ne i32 %t15, 0 + %t17 = zext i1 %t16 to i32 + store i32 %t17, ptr %t1 + br label %scend3 +scend3: + %t18 = load i32, ptr %t1 + %t19 = icmp ne i32 %t18, 0 + br i1 %t19, label %then4, label %ifend6 +then4: + store i32 1, ptr %retval + br label %ret +ifend6: + %t22 = load ptr, ptr %t0 + %t23 = call i32 @lp_str_eq(ptr %t22, ptr @.str3355) + %t24 = icmp ne i32 %t23, 0 + %t25 = zext i1 %t24 to i32 + store i32 %t25, ptr %t21 + br i1 %t24, label %scend8, label %sc7 +sc7: + %t26 = load ptr, ptr %t0 + %t27 = call i32 @lp_str_eq(ptr %t26, ptr @.str3356) + %t28 = icmp ne i32 %t27, 0 + %t29 = zext i1 %t28 to i32 + store i32 %t29, ptr %t21 + br label %scend8 +scend8: + %t30 = load i32, ptr %t21 + %t31 = icmp ne i32 %t30, 0 + %t32 = zext i1 %t31 to i32 + store i32 %t32, ptr %t20 + br i1 %t31, label %scend10, label %sc9 +sc9: + %t33 = load ptr, ptr %t0 + %t34 = call i32 @lp_str_eq(ptr %t33, ptr @.str3357) + %t35 = icmp ne i32 %t34, 0 + %t36 = zext i1 %t35 to i32 + store i32 %t36, ptr %t20 + br label %scend10 +scend10: + %t37 = load i32, ptr %t20 + %t38 = icmp ne i32 %t37, 0 + br i1 %t38, label %then11, label %ifend13 +then11: + store i32 1, ptr %retval + br label %ret +ifend13: + %t40 = load ptr, ptr %t0 + %t41 = call i32 @lp_str_eq(ptr %t40, ptr @.str3358) + %t42 = icmp ne i32 %t41, 0 + %t43 = zext i1 %t42 to i32 + store i32 %t43, ptr %t39 + br i1 %t42, label %scend15, label %sc14 +sc14: + %t44 = load ptr, ptr %t0 + %t45 = call i32 @lp_str_eq(ptr %t44, ptr @.str3359) + %t46 = icmp ne i32 %t45, 0 + %t47 = zext i1 %t46 to i32 + store i32 %t47, ptr %t39 + br label %scend15 +scend15: + %t48 = load i32, ptr %t39 + %t49 = icmp ne i32 %t48, 0 + br i1 %t49, label %then16, label %ifend18 +then16: + store i32 1, ptr %retval + br label %ret +ifend18: + %t53 = load ptr, ptr %t0 + %t54 = call i32 @lp_str_eq(ptr %t53, ptr @.str3360) + %t55 = icmp ne i32 %t54, 0 + %t56 = zext i1 %t55 to i32 + store i32 %t56, ptr %t52 + br i1 %t55, label %scend20, label %sc19 +sc19: + %t57 = load ptr, ptr %t0 + %t58 = call i32 @lp_str_eq(ptr %t57, ptr @.str3361) + %t59 = icmp ne i32 %t58, 0 + %t60 = zext i1 %t59 to i32 + store i32 %t60, ptr %t52 + br label %scend20 +scend20: + %t61 = load i32, ptr %t52 + %t62 = icmp ne i32 %t61, 0 + %t63 = zext i1 %t62 to i32 + store i32 %t63, ptr %t51 + br i1 %t62, label %scend22, label %sc21 +sc21: + %t64 = load ptr, ptr %t0 + %t65 = call i32 @lp_str_eq(ptr %t64, ptr @.str3362) + %t66 = icmp ne i32 %t65, 0 + %t67 = zext i1 %t66 to i32 + store i32 %t67, ptr %t51 + br label %scend22 +scend22: + %t68 = load i32, ptr %t51 + %t69 = icmp ne i32 %t68, 0 + %t70 = zext i1 %t69 to i32 + store i32 %t70, ptr %t50 + br i1 %t69, label %scend24, label %sc23 +sc23: + %t71 = load ptr, ptr %t0 + %t72 = call i32 @lp_str_eq(ptr %t71, ptr @.str3363) + %t73 = icmp ne i32 %t72, 0 + %t74 = zext i1 %t73 to i32 + store i32 %t74, ptr %t50 + br label %scend24 +scend24: + %t75 = load i32, ptr %t50 + %t76 = icmp ne i32 %t75, 0 + br i1 %t76, label %then25, label %ifend27 +then25: + store i32 1, ptr %retval + br label %ret +ifend27: + %t78 = load ptr, ptr %t0 + %t79 = call i32 @lp_str_eq(ptr %t78, ptr @.str3364) + %t80 = icmp ne i32 %t79, 0 + %t81 = zext i1 %t80 to i32 + store i32 %t81, ptr %t77 + br i1 %t80, label %scend29, label %sc28 +sc28: + %t82 = load ptr, ptr %t0 + %t83 = call i32 @lp_str_eq(ptr %t82, ptr @.str3365) + %t84 = icmp ne i32 %t83, 0 + %t85 = zext i1 %t84 to i32 + store i32 %t85, ptr %t77 + br label %scend29 +scend29: + %t86 = load i32, ptr %t77 + %t87 = icmp ne i32 %t86, 0 + br i1 %t87, label %then30, label %ifend32 +then30: + store i32 1, ptr %retval + br label %ret +ifend32: + %t91 = load ptr, ptr %t0 + %t92 = call i32 @lp_str_eq(ptr %t91, ptr @.str3366) + %t93 = icmp ne i32 %t92, 0 + %t94 = zext i1 %t93 to i32 + store i32 %t94, ptr %t90 + br i1 %t93, label %scend34, label %sc33 +sc33: + %t95 = load ptr, ptr %t0 + %t96 = call i32 @lp_str_eq(ptr %t95, ptr @.str3367) + %t97 = icmp ne i32 %t96, 0 + %t98 = zext i1 %t97 to i32 + store i32 %t98, ptr %t90 + br label %scend34 +scend34: + %t99 = load i32, ptr %t90 + %t100 = icmp ne i32 %t99, 0 + %t101 = zext i1 %t100 to i32 + store i32 %t101, ptr %t89 + br i1 %t100, label %scend36, label %sc35 +sc35: + %t102 = load ptr, ptr %t0 + %t103 = call i32 @lp_str_eq(ptr %t102, ptr @.str3368) + %t104 = icmp ne i32 %t103, 0 + %t105 = zext i1 %t104 to i32 + store i32 %t105, ptr %t89 + br label %scend36 +scend36: + %t106 = load i32, ptr %t89 + %t107 = icmp ne i32 %t106, 0 + %t108 = zext i1 %t107 to i32 + store i32 %t108, ptr %t88 + br i1 %t107, label %scend38, label %sc37 +sc37: + %t109 = load ptr, ptr %t0 + %t110 = call i32 @lp_str_eq(ptr %t109, ptr @.str3369) + %t111 = icmp ne i32 %t110, 0 + %t112 = zext i1 %t111 to i32 + store i32 %t112, ptr %t88 + br label %scend38 +scend38: + %t113 = load i32, ptr %t88 + %t114 = icmp ne i32 %t113, 0 + br i1 %t114, label %then39, label %ifend41 +then39: + store i32 1, ptr %retval + br label %ret +ifend41: + store i32 0, ptr %retval + br label %ret +ret: + %t115 = load i32, ptr %retval + ret i32 %t115 +} + +define ptr @fn_emit_os_ns(ptr %arg_meth, ptr %arg_e) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t1 = alloca ptr + %t18 = alloca ptr + %t20 = alloca ptr + %t29 = alloca ptr + %t50 = alloca ptr + %t68 = alloca ptr + %t87 = alloca ptr + %t94 = alloca ptr + %t99 = alloca ptr + %t105 = alloca i32 + %t116 = alloca i32 + %t128 = alloca ptr + %t132 = alloca ptr + %t139 = alloca ptr + %t168 = alloca ptr + %t177 = alloca ptr + %t201 = alloca ptr + %t210 = alloca ptr + %t222 = alloca ptr + %t227 = alloca ptr + %t244 = alloca ptr + %t251 = alloca ptr + %t256 = alloca ptr + %t283 = alloca ptr + %t302 = alloca ptr + %t321 = alloca ptr + store ptr %arg_meth, ptr %t0 + store ptr %arg_e, ptr %t1 + %t2 = load ptr, ptr %t0 + %t3 = call i32 @lp_str_eq(ptr %t2, ptr @.str3370) + %t4 = icmp ne i32 %t3, 0 + br i1 %t4, label %then0, label %ifend2 +then0: + %t5 = call ptr @fn_emit_bind(ptr @.str3371) + %t6 = call ptr @fn_val(ptr %t5, ptr @.str3372) + store ptr %t6, ptr %retval + br label %ret +ifend2: + %t7 = load ptr, ptr %t0 + %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str3373) + %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 @.str3374) + store ptr %t19, ptr %t20 + %t21 = load ptr, ptr %t20 + %t22 = call ptr @lp_str_concat(ptr @.str3375, ptr %t21) + %t23 = call ptr @lp_str_concat(ptr %t22, ptr @.str3376) + %t24 = load ptr, ptr %t18 + %t25 = getelementptr inbounds %Cmp_Val, ptr %t24, i32 0, i32 0 + %t26 = load ptr, ptr %t25 + %t27 = call ptr @lp_str_concat(ptr %t23, ptr %t26) + %t28 = call ptr @fn_emit_bind(ptr %t27) + store ptr %t28, ptr %t29 + %t30 = load ptr, ptr %t29 + %t31 = call ptr @lp_str_concat(ptr @.str3377, ptr %t30) + %t32 = call ptr @fn_emit_bind(ptr %t31) + %t33 = call ptr @fn_val(ptr %t32, ptr @.str3378) + store ptr %t33, ptr %retval + br label %ret +ifend5: + %t34 = load ptr, ptr %t0 + %t35 = call i32 @lp_str_eq(ptr %t34, ptr @.str3379) + %t36 = icmp ne i32 %t35, 0 + br i1 %t36, label %then6, label %ifend8 +then6: + store i32 1, ptr @g_g_uses_pid + %t37 = call ptr @fn_emit_bind(ptr @.str3380) + %t38 = call ptr @fn_val(ptr %t37, ptr @.str3381) + store ptr %t38, ptr %retval + br label %ret +ifend8: + %t39 = load ptr, ptr %t0 + %t40 = call i32 @lp_str_eq(ptr %t39, ptr @.str3382) + %t41 = icmp ne i32 %t40, 0 + br i1 %t41, label %then9, label %ifend11 +then9: + %t42 = load ptr, ptr %t1 + %t43 = getelementptr inbounds %Cmp_Node, ptr %t42, i32 0, i32 7 + %t44 = load ptr, ptr %t43 + %t45 = getelementptr inbounds %LSlice, ptr %t44, i32 0, i32 0 + %t46 = load ptr, ptr %t45 + %t47 = getelementptr inbounds ptr, ptr %t46, i32 0 + %t48 = load ptr, ptr %t47 + %t49 = call ptr @fn_emit_expr(ptr %t48) + store ptr %t49, ptr %t50 + %t51 = load ptr, ptr %t50 + %t52 = getelementptr inbounds %Cmp_Val, ptr %t51, i32 0, i32 0 + %t53 = load ptr, ptr %t52 + %t54 = call ptr @lp_str_concat(ptr @.str3383, ptr %t53) + %t55 = call ptr @lp_str_concat(ptr %t54, ptr @.str3384) + call void @fn_emit(ptr %t55) + call void @fn_emit(ptr @.str3385) + store i32 1, ptr @g_g_term + %t56 = call ptr @fn_val(ptr @.str3386, ptr @.str3387) + store ptr %t56, ptr %retval + br label %ret +ifend11: + %t57 = load ptr, ptr %t0 + %t58 = call i32 @lp_str_eq(ptr %t57, ptr @.str3388) + %t59 = icmp ne i32 %t58, 0 + br i1 %t59, label %then12, label %ifend14 +then12: + %t60 = load ptr, ptr %t1 + %t61 = getelementptr inbounds %Cmp_Node, ptr %t60, i32 0, i32 7 + %t62 = load ptr, ptr %t61 + %t63 = getelementptr inbounds %LSlice, ptr %t62, i32 0, i32 0 + %t64 = load ptr, ptr %t63 + %t65 = getelementptr inbounds ptr, ptr %t64, i32 0 + %t66 = load ptr, ptr %t65 + %t67 = call ptr @fn_emit_expr(ptr %t66) + store ptr %t67, ptr %t68 + %t69 = load ptr, ptr %t68 + %t70 = getelementptr inbounds %Cmp_Val, ptr %t69, i32 0, i32 0 + %t71 = load ptr, ptr %t70 + %t72 = call ptr @lp_str_concat(ptr @.str3389, ptr %t71) + %t73 = call ptr @lp_str_concat(ptr %t72, ptr @.str3390) + %t74 = call ptr @fn_emit_bind(ptr %t73) + %t75 = call ptr @fn_val(ptr %t74, ptr @.str3391) + store ptr %t75, ptr %retval + br label %ret +ifend14: + %t76 = load ptr, ptr %t0 + %t77 = call i32 @lp_str_eq(ptr %t76, ptr @.str3392) + %t78 = icmp ne i32 %t77, 0 + br i1 %t78, label %then15, label %ifend17 +then15: + %t79 = load ptr, ptr %t1 + %t80 = getelementptr inbounds %Cmp_Node, ptr %t79, i32 0, i32 7 + %t81 = load ptr, ptr %t80 + %t82 = getelementptr inbounds %LSlice, ptr %t81, i32 0, i32 0 + %t83 = load ptr, ptr %t82 + %t84 = getelementptr inbounds ptr, ptr %t83, i32 0 + %t85 = load ptr, ptr %t84 + %t86 = call ptr @fn_emit_expr(ptr %t85) + store ptr %t86, ptr %t87 + %t88 = load ptr, ptr %t87 + %t89 = getelementptr inbounds %Cmp_Val, ptr %t88, i32 0, i32 0 + %t90 = load ptr, ptr %t89 + %t91 = call ptr @lp_str_concat(ptr @.str3393, ptr %t90) + %t92 = call ptr @lp_str_concat(ptr %t91, ptr @.str3394) + %t93 = call ptr @fn_emit_bind(ptr %t92) + store ptr %t93, ptr %t94 + %t95 = load ptr, ptr %t94 + %t96 = call ptr @lp_str_concat(ptr @.str3395, ptr %t95) + %t97 = call ptr @lp_str_concat(ptr %t96, ptr @.str3396) + %t98 = call ptr @fn_emit_bind(ptr %t97) + store ptr %t98, ptr %t99 + %t100 = load ptr, ptr %t99 + %t101 = call ptr @lp_str_concat(ptr @.str3397, ptr %t100) + %t102 = call ptr @lp_str_concat(ptr %t101, ptr @.str3398) + %t103 = call ptr @fn_emit_bind(ptr %t102) + %t104 = call ptr @fn_val(ptr %t103, ptr @.str3399) + store ptr %t104, ptr %retval + br label %ret +ifend17: + %t106 = load ptr, ptr %t0 + %t107 = call i32 @lp_str_eq(ptr %t106, ptr @.str3400) + %t108 = icmp ne i32 %t107, 0 + %t109 = zext i1 %t108 to i32 + store i32 %t109, ptr %t105 + br i1 %t108, label %scend19, label %sc18 +sc18: + %t110 = load ptr, ptr %t0 + %t111 = call i32 @lp_str_eq(ptr %t110, ptr @.str3401) + %t112 = icmp ne i32 %t111, 0 + %t113 = zext i1 %t112 to i32 + store i32 %t113, ptr %t105 + br label %scend19 +scend19: + %t114 = load i32, ptr %t105 + %t115 = icmp ne i32 %t114, 0 + br i1 %t115, label %then20, label %ifend22 +then20: + store i32 1, ptr %t116 + %t117 = load ptr, ptr %t0 + %t118 = call i32 @lp_str_eq(ptr %t117, ptr @.str3402) + %t119 = icmp ne i32 %t118, 0 + br i1 %t119, label %then23, label %ifend25 +then23: + store i32 2, ptr %t116 + br label %ifend25 +ifend25: + %t120 = load ptr, ptr %t1 + %t121 = getelementptr inbounds %Cmp_Node, ptr %t120, i32 0, i32 7 + %t122 = load ptr, ptr %t121 + %t123 = getelementptr inbounds %LSlice, ptr %t122, i32 0, i32 0 + %t124 = load ptr, ptr %t123 + %t125 = getelementptr inbounds ptr, ptr %t124, i32 0 + %t126 = load ptr, ptr %t125 + %t127 = call ptr @fn_emit_expr(ptr %t126) + store ptr %t127, ptr %t128 + %t129 = load i32, ptr %t116 + %t130 = call ptr @fn_stdstream_rhs(i32 %t129) + %t131 = call ptr @fn_emit_bind(ptr %t130) + store ptr %t131, ptr %t132 + %t133 = load ptr, ptr %t128 + %t134 = getelementptr inbounds %Cmp_Val, ptr %t133, i32 0, i32 0 + %t135 = load ptr, ptr %t134 + %t136 = call ptr @lp_str_concat(ptr @.str3403, ptr %t135) + %t137 = call ptr @lp_str_concat(ptr %t136, ptr @.str3404) + %t138 = call ptr @fn_emit_bind(ptr %t137) + store ptr %t138, ptr %t139 + %t140 = load ptr, ptr %t128 + %t141 = getelementptr inbounds %Cmp_Val, ptr %t140, i32 0, i32 0 + %t142 = load ptr, ptr %t141 + %t143 = call ptr @lp_str_concat(ptr @.str3405, ptr %t142) + %t144 = call ptr @lp_str_concat(ptr %t143, ptr @.str3406) + %t145 = load ptr, ptr %t139 + %t146 = call ptr @lp_str_concat(ptr %t144, ptr %t145) + %t147 = call ptr @lp_str_concat(ptr %t146, ptr @.str3407) + %t148 = load ptr, ptr %t132 + %t149 = call ptr @lp_str_concat(ptr %t147, ptr %t148) + %t150 = call ptr @lp_str_concat(ptr %t149, ptr @.str3408) + call void @fn_emit(ptr %t150) + %t151 = call ptr @fn_val(ptr @.str3409, ptr @.str3410) + store ptr %t151, ptr %retval + br label %ret +ifend22: + store i32 1, ptr @g_g_uses_osrt + %t152 = load ptr, ptr %t0 + %t153 = call i32 @lp_str_eq(ptr %t152, ptr @.str3411) + %t154 = icmp ne i32 %t153, 0 + br i1 %t154, label %then26, label %ifend28 +then26: + %t155 = call ptr @fn_emit_bind(ptr @.str3412) + %t156 = call ptr @fn_val(ptr %t155, ptr @.str3413) + store ptr %t156, ptr %retval + br label %ret +ifend28: + %t157 = load ptr, ptr %t0 + %t158 = call i32 @lp_str_eq(ptr %t157, ptr @.str3414) + %t159 = icmp ne i32 %t158, 0 + br i1 %t159, label %then29, label %ifend31 +then29: + %t160 = load ptr, ptr %t1 + %t161 = getelementptr inbounds %Cmp_Node, ptr %t160, i32 0, i32 7 + %t162 = load ptr, ptr %t161 + %t163 = getelementptr inbounds %LSlice, ptr %t162, i32 0, i32 0 + %t164 = load ptr, ptr %t163 + %t165 = getelementptr inbounds ptr, ptr %t164, i32 0 + %t166 = load ptr, ptr %t165 + %t167 = call ptr @fn_emit_expr(ptr %t166) + store ptr %t167, ptr %t168 + %t169 = load ptr, ptr %t1 + %t170 = getelementptr inbounds %Cmp_Node, ptr %t169, i32 0, i32 7 + %t171 = load ptr, ptr %t170 + %t172 = getelementptr inbounds %LSlice, ptr %t171, i32 0, i32 0 + %t173 = load ptr, ptr %t172 + %t174 = getelementptr inbounds ptr, ptr %t173, i32 1 + %t175 = load ptr, ptr %t174 + %t176 = call ptr @fn_emit_expr(ptr %t175) + store ptr %t176, ptr %t177 + %t178 = load ptr, ptr %t168 + %t179 = getelementptr inbounds %Cmp_Val, ptr %t178, i32 0, i32 0 + %t180 = load ptr, ptr %t179 + %t181 = call ptr @lp_str_concat(ptr @.str3415, ptr %t180) + %t182 = call ptr @lp_str_concat(ptr %t181, ptr @.str3416) + %t183 = load ptr, ptr %t177 + %t184 = getelementptr inbounds %Cmp_Val, ptr %t183, i32 0, i32 0 + %t185 = load ptr, ptr %t184 + %t186 = call ptr @lp_str_concat(ptr %t182, ptr %t185) + %t187 = call ptr @lp_str_concat(ptr %t186, ptr @.str3417) + %t188 = call ptr @fn_emit_bind(ptr %t187) + %t189 = call ptr @fn_val(ptr %t188, ptr @.str3418) + store ptr %t189, ptr %retval + br label %ret +ifend31: + %t190 = load ptr, ptr %t0 + %t191 = call i32 @lp_str_eq(ptr %t190, ptr @.str3419) + %t192 = icmp ne i32 %t191, 0 + br i1 %t192, label %then32, label %ifend34 +then32: + %t193 = load ptr, ptr %t1 + %t194 = getelementptr inbounds %Cmp_Node, ptr %t193, i32 0, i32 7 + %t195 = load ptr, ptr %t194 + %t196 = getelementptr inbounds %LSlice, ptr %t195, i32 0, i32 0 + %t197 = load ptr, ptr %t196 + %t198 = getelementptr inbounds ptr, ptr %t197, i32 0 + %t199 = load ptr, ptr %t198 + %t200 = call ptr @fn_emit_expr(ptr %t199) + store ptr %t200, ptr %t201 + %t202 = load ptr, ptr %t1 + %t203 = getelementptr inbounds %Cmp_Node, ptr %t202, i32 0, i32 7 + %t204 = load ptr, ptr %t203 + %t205 = getelementptr inbounds %LSlice, ptr %t204, i32 0, i32 0 + %t206 = load ptr, ptr %t205 + %t207 = getelementptr inbounds ptr, ptr %t206, i32 1 + %t208 = load ptr, ptr %t207 + %t209 = call ptr @fn_emit_expr(ptr %t208) + store ptr %t209, ptr %t210 + %t211 = load ptr, ptr %t201 + %t212 = getelementptr inbounds %Cmp_Val, ptr %t211, i32 0, i32 0 + %t213 = load ptr, ptr %t212 + %t214 = call ptr @lp_str_concat(ptr @.str3420, ptr %t213) + %t215 = call ptr @lp_str_concat(ptr %t214, ptr @.str3421) + %t216 = load ptr, ptr %t210 + %t217 = getelementptr inbounds %Cmp_Val, ptr %t216, i32 0, i32 0 + %t218 = load ptr, ptr %t217 + %t219 = call ptr @lp_str_concat(ptr %t215, ptr %t218) + %t220 = call ptr @lp_str_concat(ptr %t219, ptr @.str3422) + %t221 = call ptr @fn_emit_bind(ptr %t220) + store ptr %t221, ptr %t222 + %t223 = load ptr, ptr %t222 + %t224 = call ptr @lp_str_concat(ptr @.str3423, ptr %t223) + %t225 = call ptr @lp_str_concat(ptr %t224, ptr @.str3424) + %t226 = call ptr @fn_emit_bind(ptr %t225) + store ptr %t226, ptr %t227 + %t228 = load ptr, ptr %t227 + %t229 = call ptr @lp_str_concat(ptr @.str3425, ptr %t228) + %t230 = call ptr @lp_str_concat(ptr %t229, ptr @.str3426) + %t231 = call ptr @fn_emit_bind(ptr %t230) + %t232 = call ptr @fn_val(ptr %t231, ptr @.str3427) + store ptr %t232, ptr %retval + br label %ret +ifend34: + %t233 = load ptr, ptr %t0 + %t234 = call i32 @lp_str_eq(ptr %t233, ptr @.str3428) + %t235 = icmp ne i32 %t234, 0 + br i1 %t235, label %then35, label %ifend37 +then35: + %t236 = load ptr, ptr %t1 + %t237 = getelementptr inbounds %Cmp_Node, ptr %t236, i32 0, i32 7 + %t238 = load ptr, ptr %t237 + %t239 = getelementptr inbounds %LSlice, ptr %t238, i32 0, i32 0 + %t240 = load ptr, ptr %t239 + %t241 = getelementptr inbounds ptr, ptr %t240, i32 0 + %t242 = load ptr, ptr %t241 + %t243 = call ptr @fn_emit_expr(ptr %t242) + store ptr %t243, ptr %t244 + %t245 = load ptr, ptr %t244 + %t246 = getelementptr inbounds %Cmp_Val, ptr %t245, i32 0, i32 0 + %t247 = load ptr, ptr %t246 + %t248 = call ptr @lp_str_concat(ptr @.str3429, ptr %t247) + %t249 = call ptr @lp_str_concat(ptr %t248, ptr @.str3430) + %t250 = call ptr @fn_emit_bind(ptr %t249) + store ptr %t250, ptr %t251 + %t252 = load ptr, ptr %t251 + %t253 = call ptr @lp_str_concat(ptr @.str3431, ptr %t252) + %t254 = call ptr @lp_str_concat(ptr %t253, ptr @.str3432) + %t255 = call ptr @fn_emit_bind(ptr %t254) + store ptr %t255, ptr %t256 + %t257 = load ptr, ptr %t256 + %t258 = call ptr @lp_str_concat(ptr @.str3433, ptr %t257) + %t259 = call ptr @lp_str_concat(ptr %t258, ptr @.str3434) + %t260 = call ptr @fn_emit_bind(ptr %t259) + %t261 = call ptr @fn_val(ptr %t260, ptr @.str3435) + store ptr %t261, ptr %retval + br label %ret +ifend37: + %t262 = load ptr, ptr %t0 + %t263 = call i32 @lp_str_eq(ptr %t262, ptr @.str3436) + %t264 = icmp ne i32 %t263, 0 + br i1 %t264, label %then38, label %ifend40 +then38: + %t265 = call ptr @fn_emit_bind(ptr @.str3437) + %t266 = call ptr @fn_val(ptr %t265, ptr @.str3438) + store ptr %t266, ptr %retval + br label %ret +ifend40: + %t267 = load ptr, ptr %t0 + %t268 = call i32 @lp_str_eq(ptr %t267, ptr @.str3439) + %t269 = icmp ne i32 %t268, 0 + br i1 %t269, label %then41, label %ifend43 +then41: + %t270 = call ptr @fn_emit_bind(ptr @.str3440) + %t271 = call ptr @fn_val(ptr %t270, ptr @.str3441) + store ptr %t271, ptr %retval + br label %ret +ifend43: + %t272 = load ptr, ptr %t0 + %t273 = call i32 @lp_str_eq(ptr %t272, ptr @.str3442) + %t274 = icmp ne i32 %t273, 0 + br i1 %t274, label %then44, label %ifend46 +then44: + %t275 = load ptr, ptr %t1 + %t276 = getelementptr inbounds %Cmp_Node, ptr %t275, i32 0, i32 7 + %t277 = load ptr, ptr %t276 + %t278 = getelementptr inbounds %LSlice, ptr %t277, i32 0, i32 0 + %t279 = load ptr, ptr %t278 + %t280 = getelementptr inbounds ptr, ptr %t279, i32 0 + %t281 = load ptr, ptr %t280 + %t282 = call ptr @fn_emit_expr(ptr %t281) + store ptr %t282, ptr %t283 + %t284 = load ptr, ptr %t283 + %t285 = getelementptr inbounds %Cmp_Val, ptr %t284, i32 0, i32 0 + %t286 = load ptr, ptr %t285 + %t287 = call ptr @lp_str_concat(ptr @.str3443, ptr %t286) + %t288 = call ptr @lp_str_concat(ptr %t287, ptr @.str3444) + %t289 = call ptr @fn_emit_bind(ptr %t288) + %t290 = call ptr @fn_val(ptr %t289, ptr @.str3445) + store ptr %t290, ptr %retval + br label %ret +ifend46: + %t291 = load ptr, ptr %t0 + %t292 = call i32 @lp_str_eq(ptr %t291, ptr @.str3446) + %t293 = icmp ne i32 %t292, 0 + br i1 %t293, label %then47, label %ifend49 +then47: + %t294 = load ptr, ptr %t1 + %t295 = getelementptr inbounds %Cmp_Node, ptr %t294, i32 0, i32 7 + %t296 = load ptr, ptr %t295 + %t297 = getelementptr inbounds %LSlice, ptr %t296, i32 0, i32 0 + %t298 = load ptr, ptr %t297 + %t299 = getelementptr inbounds ptr, ptr %t298, i32 0 + %t300 = load ptr, ptr %t299 + %t301 = call ptr @fn_emit_expr(ptr %t300) + store ptr %t301, ptr %t302 + %t303 = load ptr, ptr %t302 + %t304 = getelementptr inbounds %Cmp_Val, ptr %t303, i32 0, i32 0 + %t305 = load ptr, ptr %t304 + %t306 = call ptr @lp_str_concat(ptr @.str3447, ptr %t305) + %t307 = call ptr @lp_str_concat(ptr %t306, ptr @.str3448) + %t308 = call ptr @fn_emit_bind(ptr %t307) + %t309 = call ptr @fn_val(ptr %t308, ptr @.str3449) + store ptr %t309, ptr %retval + br label %ret +ifend49: + %t310 = load ptr, ptr %t0 + %t311 = call i32 @lp_str_eq(ptr %t310, ptr @.str3450) + %t312 = icmp ne i32 %t311, 0 + br i1 %t312, label %then50, label %ifend52 +then50: + %t313 = load ptr, ptr %t1 + %t314 = getelementptr inbounds %Cmp_Node, ptr %t313, i32 0, i32 7 + %t315 = load ptr, ptr %t314 + %t316 = getelementptr inbounds %LSlice, ptr %t315, i32 0, i32 0 + %t317 = load ptr, ptr %t316 + %t318 = getelementptr inbounds ptr, ptr %t317, i32 0 + %t319 = load ptr, ptr %t318 + %t320 = call ptr @fn_emit_expr(ptr %t319) + store ptr %t320, ptr %t321 + %t322 = load ptr, ptr %t321 + %t323 = getelementptr inbounds %Cmp_Val, ptr %t322, i32 0, i32 0 + %t324 = load ptr, ptr %t323 + %t325 = call ptr @lp_str_concat(ptr @.str3451, ptr %t324) + %t326 = call ptr @lp_str_concat(ptr %t325, ptr @.str3452) + %t327 = call ptr @fn_emit_bind(ptr %t326) + %t328 = call ptr @fn_val(ptr %t327, ptr @.str3453) + store ptr %t328, ptr %retval + br label %ret +ifend52: + %t329 = call ptr @fn_emit_bind(ptr @.str3454) + %t330 = call ptr @fn_val(ptr %t329, ptr @.str3455) + store ptr %t330, ptr %retval + br label %ret +ret: + %t331 = load ptr, ptr %retval + ret ptr %t331 +} + +define void @fn_emit_os_prelude() { +entry: + %t5 = alloca ptr + %t7 = alloca ptr + %t9 = alloca ptr + %t11 = alloca ptr + %t13 = alloca ptr + %t15 = alloca ptr + %t17 = alloca ptr + %t19 = alloca ptr + %t21 = alloca ptr + %t23 = alloca ptr + %t25 = alloca ptr + %t27 = alloca ptr + %t29 = alloca ptr + %t31 = alloca ptr + %t33 = alloca ptr + %t35 = alloca ptr + %t37 = alloca ptr + %t0 = load i32, ptr @g_g_target_win + %t1 = icmp eq i32 %t0, 0 + %t2 = zext i1 %t1 to i32 + %t3 = icmp ne i32 %t2, 0 + br i1 %t3, label %then0, label %ifend2 +then0: + call void @fn_emith(ptr @.str3456) + call void @fn_emith(ptr @.str3457) + call void @fn_emith(ptr @.str3458) + br label %ifend2 +ifend2: + %t4 = call ptr @fn_emit_str_const(ptr @.str3459) + store ptr %t4, ptr %t5 + %t6 = call ptr @fn_emit_str_const(ptr @.str3460) + store ptr %t6, ptr %t7 + %t8 = call ptr @fn_emit_str_const(ptr @.str3461) + store ptr %t8, ptr %t9 + %t10 = call ptr @fn_emit_str_const(ptr @.str3462) + store ptr %t10, ptr %t11 + %t12 = call ptr @fn_emit_str_const(ptr @.str3463) + store ptr %t12, ptr %t13 + %t14 = call ptr @fn_emit_str_const(ptr @.str3464) + store ptr %t14, ptr %t15 + %t16 = call ptr @fn_emit_str_const(ptr @.str3465) + store ptr %t16, ptr %t17 + %t18 = call ptr @fn_emit_str_const(ptr @.str3466) + store ptr %t18, ptr %t19 + %t20 = call ptr @fn_emit_str_const(ptr @.str3467) + store ptr %t20, ptr %t21 + %t22 = call ptr @fn_emit_str_const(ptr @.str3468) + store ptr %t22, ptr %t23 + %t24 = call ptr @fn_emit_str_const(ptr @.str3469) + store ptr %t24, ptr %t25 + %t26 = call ptr @fn_emit_str_const(ptr @.str3470) + store ptr %t26, ptr %t27 + %t28 = call ptr @fn_emit_str_const(ptr @.str3471) + store ptr %t28, ptr %t29 + %t30 = call ptr @fn_emit_str_const(ptr @.str3472) + store ptr %t30, ptr %t31 + %t32 = call ptr @fn_emit_str_const(ptr @.str3473) + store ptr %t32, ptr %t33 + %t34 = call ptr @fn_emit_str_const(ptr @.str3474) + store ptr %t34, ptr %t35 + %t36 = call ptr @fn_emit_str_const(ptr @.str3475) + store ptr %t36, ptr %t37 + call void @fn_emith(ptr @.str3476) + call void @fn_emith(ptr @.str3477) + call void @fn_emith(ptr @.str3478) + call void @fn_emith(ptr @.str3479) + call void @fn_emith(ptr @.str3480) + call void @fn_emith(ptr @.str3481) + call void @fn_emith(ptr @.str3482) + call void @fn_emith(ptr @.str3483) + call void @fn_emith(ptr @.str3484) + call void @fn_emith(ptr @.str3485) + call void @fn_emith(ptr @.str3486) + call void @fn_emith(ptr @.str3487) + %t38 = load i32, ptr @g_g_target_win + %t39 = icmp ne i32 %t38, 0 + br i1 %t39, label %then3, label %ifend5 +then3: + %t40 = load ptr, ptr %t7 + %t41 = load ptr, ptr %t31 + call void @fn_emit_os_win_known(ptr %t40, ptr %t41) + br label %ret +ifend5: + %t42 = load ptr, ptr %t5 + %t43 = call ptr @lp_str_concat(ptr @.str3488, ptr %t42) + %t44 = call ptr @lp_str_concat(ptr %t43, ptr @.str3489) + %t45 = load ptr, ptr %t7 + %t46 = call ptr @lp_str_concat(ptr %t44, ptr %t45) + %t47 = call ptr @lp_str_concat(ptr %t46, ptr @.str3490) + call void @fn_emith(ptr %t47) + call void @fn_emith(ptr @.str3491) + call void @fn_emith(ptr @.str3492) + call void @fn_emith(ptr @.str3493) + call void @fn_emith(ptr @.str3494) + call void @fn_emith(ptr @.str3495) + %t48 = load ptr, ptr %t17 + %t49 = call ptr @lp_str_concat(ptr @.str3496, ptr %t48) + %t50 = call ptr @lp_str_concat(ptr %t49, ptr @.str3497) + call void @fn_emith(ptr %t50) + call void @fn_emith(ptr @.str3498) + call void @fn_emith(ptr @.str3499) + call void @fn_emith(ptr @.str3500) + call void @fn_emith(ptr @.str3501) + %t51 = load ptr, ptr %t31 + %t52 = call ptr @lp_str_concat(ptr @.str3502, ptr %t51) + %t53 = call ptr @lp_str_concat(ptr %t52, ptr @.str3503) + call void @fn_emith(ptr %t53) + call void @fn_emith(ptr @.str3504) + call void @fn_emith(ptr @.str3505) + call void @fn_emith(ptr @.str3506) + call void @fn_emith(ptr @.str3507) + call void @fn_emith(ptr @.str3508) + %t54 = load ptr, ptr %t9 + %t55 = call ptr @lp_str_concat(ptr @.str3509, ptr %t54) + %t56 = call ptr @lp_str_concat(ptr %t55, ptr @.str3510) + %t57 = load ptr, ptr %t19 + %t58 = call ptr @lp_str_concat(ptr %t56, ptr %t57) + %t59 = call ptr @lp_str_concat(ptr %t58, ptr @.str3511) + %t60 = load ptr, ptr %t25 + %t61 = call ptr @lp_str_concat(ptr %t59, ptr %t60) + %t62 = call ptr @lp_str_concat(ptr %t61, ptr @.str3512) + call void @fn_emith(ptr %t62) + %t63 = load ptr, ptr %t9 + %t64 = call ptr @lp_str_concat(ptr @.str3513, ptr %t63) + %t65 = call ptr @lp_str_concat(ptr %t64, ptr @.str3514) + %t66 = load ptr, ptr %t21 + %t67 = call ptr @lp_str_concat(ptr %t65, ptr %t66) + %t68 = call ptr @lp_str_concat(ptr %t67, ptr @.str3515) + %t69 = load ptr, ptr %t27 + %t70 = call ptr @lp_str_concat(ptr %t68, ptr %t69) + %t71 = call ptr @lp_str_concat(ptr %t70, ptr @.str3516) + call void @fn_emith(ptr %t71) + %t72 = load ptr, ptr %t11 + %t73 = call ptr @lp_str_concat(ptr @.str3517, ptr %t72) + %t74 = call ptr @lp_str_concat(ptr %t73, ptr @.str3518) + %t75 = load ptr, ptr %t23 + %t76 = call ptr @lp_str_concat(ptr %t74, ptr %t75) + %t77 = call ptr @lp_str_concat(ptr %t76, ptr @.str3519) + %t78 = load ptr, ptr %t29 + %t79 = call ptr @lp_str_concat(ptr %t77, ptr %t78) + %t80 = call ptr @lp_str_concat(ptr %t79, ptr @.str3520) + call void @fn_emith(ptr %t80) + %t81 = load ptr, ptr %t13 + %t82 = call ptr @lp_str_concat(ptr @.str3521, ptr %t81) + %t83 = call ptr @lp_str_concat(ptr %t82, ptr @.str3522) + %t84 = load ptr, ptr %t15 + %t85 = call ptr @lp_str_concat(ptr %t83, ptr %t84) + %t86 = call ptr @lp_str_concat(ptr %t85, ptr @.str3523) + call void @fn_emith(ptr %t86) + call void @fn_emith(ptr @.str3524) + call void @fn_emith(ptr @.str3525) + call void @fn_emith(ptr @.str3526) + call void @fn_emith(ptr @.str3527) + call void @fn_emith(ptr @.str3528) + call void @fn_emith(ptr @.str3529) + call void @fn_emith(ptr @.str3530) + call void @fn_emith(ptr @.str3531) + call void @fn_emith(ptr @.str3532) + %t87 = load ptr, ptr %t17 + %t88 = call ptr @lp_str_concat(ptr @.str3533, ptr %t87) + %t89 = call ptr @lp_str_concat(ptr %t88, ptr @.str3534) + call void @fn_emith(ptr %t89) + %t90 = load ptr, ptr %t33 + %t91 = call ptr @lp_str_concat(ptr @.str3535, ptr %t90) + %t92 = call ptr @lp_str_concat(ptr %t91, ptr @.str3536) + call void @fn_emith(ptr %t92) + %t93 = load ptr, ptr %t35 + %t94 = call ptr @lp_str_concat(ptr @.str3537, ptr %t93) + %t95 = call ptr @lp_str_concat(ptr %t94, ptr @.str3538) + call void @fn_emith(ptr %t95) + %t96 = load ptr, ptr %t37 + %t97 = call ptr @lp_str_concat(ptr @.str3539, ptr %t96) + %t98 = call ptr @lp_str_concat(ptr %t97, ptr @.str3540) + call void @fn_emith(ptr %t98) + call void @fn_emith(ptr @.str3541) + call void @fn_emith(ptr @.str3542) + call void @fn_emith(ptr @.str3543) + call void @fn_emith(ptr @.str3544) + br label %ret +ret: + ret void +} + +define i32 @fn_is_unicode_ns(ptr %arg_meth) { +entry: + %retval = alloca i32 + %t0 = alloca ptr + %t1 = alloca i32 + %t2 = alloca i32 + %t20 = alloca i32 + %t31 = alloca i32 + %t32 = alloca i32 + store ptr %arg_meth, ptr %t0 + %t3 = load ptr, ptr %t0 + %t4 = call i32 @lp_str_eq(ptr %t3, ptr @.str3545) + %t5 = icmp ne i32 %t4, 0 + %t6 = zext i1 %t5 to i32 + store i32 %t6, ptr %t2 + br i1 %t5, label %scend1, label %sc0 +sc0: + %t7 = load ptr, ptr %t0 + %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str3546) + %t9 = icmp ne i32 %t8, 0 + %t10 = zext i1 %t9 to i32 + store i32 %t10, ptr %t2 + br label %scend1 +scend1: + %t11 = load i32, ptr %t2 + %t12 = icmp ne i32 %t11, 0 + %t13 = zext i1 %t12 to i32 + store i32 %t13, ptr %t1 + br i1 %t12, label %scend3, label %sc2 +sc2: + %t14 = load ptr, ptr %t0 + %t15 = call i32 @lp_str_eq(ptr %t14, ptr @.str3547) + %t16 = icmp ne i32 %t15, 0 + %t17 = zext i1 %t16 to i32 + store i32 %t17, ptr %t1 + br label %scend3 +scend3: + %t18 = load i32, ptr %t1 + %t19 = icmp ne i32 %t18, 0 + br i1 %t19, label %then4, label %ifend6 +then4: + store i32 1, ptr %retval + br label %ret +ifend6: + %t21 = load ptr, ptr %t0 + %t22 = call i32 @lp_str_eq(ptr %t21, ptr @.str3548) + %t23 = icmp ne i32 %t22, 0 + %t24 = zext i1 %t23 to i32 + store i32 %t24, ptr %t20 + br i1 %t23, label %scend8, label %sc7 +sc7: + %t25 = load ptr, ptr %t0 + %t26 = call i32 @lp_str_eq(ptr %t25, ptr @.str3549) + %t27 = icmp ne i32 %t26, 0 + %t28 = zext i1 %t27 to i32 + store i32 %t28, ptr %t20 + br label %scend8 +scend8: + %t29 = load i32, ptr %t20 + %t30 = icmp ne i32 %t29, 0 + br i1 %t30, label %then9, label %ifend11 +then9: + store i32 1, ptr %retval + br label %ret +ifend11: + %t33 = load ptr, ptr %t0 + %t34 = call i32 @lp_str_eq(ptr %t33, ptr @.str3550) + %t35 = icmp ne i32 %t34, 0 + %t36 = zext i1 %t35 to i32 + store i32 %t36, ptr %t32 + br i1 %t35, label %scend13, label %sc12 +sc12: + %t37 = load ptr, ptr %t0 + %t38 = call i32 @lp_str_eq(ptr %t37, ptr @.str3551) + %t39 = icmp ne i32 %t38, 0 + %t40 = zext i1 %t39 to i32 + store i32 %t40, ptr %t32 + br label %scend13 +scend13: + %t41 = load i32, ptr %t32 + %t42 = icmp ne i32 %t41, 0 + %t43 = zext i1 %t42 to i32 + store i32 %t43, ptr %t31 + br i1 %t42, label %scend15, label %sc14 +sc14: + %t44 = load ptr, ptr %t0 + %t45 = call i32 @lp_str_eq(ptr %t44, ptr @.str3552) + %t46 = icmp ne i32 %t45, 0 + %t47 = zext i1 %t46 to i32 + store i32 %t47, ptr %t31 + br label %scend15 +scend15: + %t48 = load i32, ptr %t31 + %t49 = icmp ne i32 %t48, 0 + br i1 %t49, label %then16, label %ifend18 +then16: + store i32 1, ptr %retval + br label %ret +ifend18: + %t50 = load ptr, ptr %t0 + %t51 = call i32 @lp_str_eq(ptr %t50, ptr @.str3553) + %t52 = icmp ne i32 %t51, 0 + br i1 %t52, label %then19, label %ifend21 +then19: + store i32 1, ptr %retval + br label %ret +ifend21: + store i32 0, ptr %retval + br label %ret +ret: + %t53 = load i32, ptr %retval + ret i32 %t53 +} + +define ptr @fn_emit_unicode_ns(ptr %arg_meth, ptr %arg_e) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t1 = alloca ptr + %t13 = alloca ptr + %t20 = alloca ptr + %t37 = alloca ptr + %t56 = alloca ptr + %t75 = alloca ptr + %t84 = alloca ptr + %t108 = alloca ptr + %t127 = alloca ptr + %t146 = alloca ptr + %t165 = alloca ptr + %t174 = alloca ptr + %t195 = alloca ptr + store ptr %arg_meth, ptr %t0 + store ptr %arg_e, ptr %t1 + store i32 1, ptr @g_g_uses_unicodert + %t2 = load ptr, ptr %t0 + %t3 = call i32 @lp_str_eq(ptr %t2, ptr @.str3554) + %t4 = icmp ne i32 %t3, 0 + br i1 %t4, label %then0, label %ifend2 +then0: + %t5 = load ptr, ptr %t1 + %t6 = getelementptr inbounds %Cmp_Node, ptr %t5, i32 0, i32 7 + %t7 = load ptr, ptr %t6 + %t8 = getelementptr inbounds %LSlice, ptr %t7, i32 0, i32 0 + %t9 = load ptr, ptr %t8 + %t10 = getelementptr inbounds ptr, ptr %t9, i32 0 + %t11 = load ptr, ptr %t10 + %t12 = call ptr @fn_emit_expr(ptr %t11) + store ptr %t12, ptr %t13 + %t14 = load ptr, ptr %t13 + %t15 = getelementptr inbounds %Cmp_Val, ptr %t14, i32 0, i32 0 + %t16 = load ptr, ptr %t15 + %t17 = call ptr @lp_str_concat(ptr @.str3555, ptr %t16) + %t18 = call ptr @lp_str_concat(ptr %t17, ptr @.str3556) + %t19 = call ptr @fn_emit_bind(ptr %t18) + store ptr %t19, ptr %t20 + %t21 = load ptr, ptr %t20 + %t22 = call ptr @lp_str_concat(ptr @.str3557, ptr %t21) + %t23 = call ptr @lp_str_concat(ptr %t22, ptr @.str3558) + %t24 = call ptr @fn_emit_bind(ptr %t23) + %t25 = call ptr @fn_val(ptr %t24, ptr @.str3559) + store ptr %t25, ptr %retval + br label %ret +ifend2: + %t26 = load ptr, ptr %t0 + %t27 = call i32 @lp_str_eq(ptr %t26, ptr @.str3560) + %t28 = icmp ne i32 %t27, 0 + br i1 %t28, label %then3, label %ifend5 +then3: + %t29 = load ptr, ptr %t1 + %t30 = getelementptr inbounds %Cmp_Node, ptr %t29, i32 0, i32 7 + %t31 = load ptr, ptr %t30 + %t32 = getelementptr inbounds %LSlice, ptr %t31, i32 0, i32 0 + %t33 = load ptr, ptr %t32 + %t34 = getelementptr inbounds ptr, ptr %t33, i32 0 + %t35 = load ptr, ptr %t34 + %t36 = call ptr @fn_emit_expr(ptr %t35) + store ptr %t36, ptr %t37 + %t38 = load ptr, ptr %t37 + %t39 = getelementptr inbounds %Cmp_Val, ptr %t38, i32 0, i32 0 + %t40 = load ptr, ptr %t39 + %t41 = call ptr @lp_str_concat(ptr @.str3561, ptr %t40) + %t42 = call ptr @lp_str_concat(ptr %t41, ptr @.str3562) + %t43 = call ptr @fn_emit_bind(ptr %t42) + %t44 = call ptr @fn_val(ptr %t43, ptr @.str3563) + store ptr %t44, ptr %retval + br label %ret +ifend5: + %t45 = load ptr, ptr %t0 + %t46 = call i32 @lp_str_eq(ptr %t45, ptr @.str3564) + %t47 = icmp ne i32 %t46, 0 + br i1 %t47, label %then6, label %ifend8 +then6: + %t48 = load ptr, ptr %t1 + %t49 = getelementptr inbounds %Cmp_Node, ptr %t48, i32 0, i32 7 + %t50 = load ptr, ptr %t49 + %t51 = getelementptr inbounds %LSlice, ptr %t50, i32 0, i32 0 + %t52 = load ptr, ptr %t51 + %t53 = getelementptr inbounds ptr, ptr %t52, i32 0 + %t54 = load ptr, ptr %t53 + %t55 = call ptr @fn_emit_expr(ptr %t54) + store ptr %t55, ptr %t56 + %t57 = load ptr, ptr %t56 + %t58 = getelementptr inbounds %Cmp_Val, ptr %t57, i32 0, i32 0 + %t59 = load ptr, ptr %t58 + %t60 = call ptr @lp_str_concat(ptr @.str3565, ptr %t59) + %t61 = call ptr @lp_str_concat(ptr %t60, ptr @.str3566) + %t62 = call ptr @fn_emit_bind(ptr %t61) + %t63 = call ptr @fn_val(ptr %t62, ptr @.str3567) + store ptr %t63, ptr %retval + br label %ret +ifend8: + %t64 = load ptr, ptr %t0 + %t65 = call i32 @lp_str_eq(ptr %t64, ptr @.str3568) + %t66 = icmp ne i32 %t65, 0 + br i1 %t66, label %then9, label %ifend11 +then9: + %t67 = load ptr, ptr %t1 + %t68 = getelementptr inbounds %Cmp_Node, ptr %t67, i32 0, i32 7 + %t69 = load ptr, ptr %t68 + %t70 = getelementptr inbounds %LSlice, ptr %t69, i32 0, i32 0 + %t71 = load ptr, ptr %t70 + %t72 = getelementptr inbounds ptr, ptr %t71, i32 0 + %t73 = load ptr, ptr %t72 + %t74 = call ptr @fn_emit_expr(ptr %t73) + store ptr %t74, ptr %t75 + %t76 = load ptr, ptr %t1 + %t77 = getelementptr inbounds %Cmp_Node, ptr %t76, i32 0, i32 7 + %t78 = load ptr, ptr %t77 + %t79 = getelementptr inbounds %LSlice, ptr %t78, i32 0, i32 0 + %t80 = load ptr, ptr %t79 + %t81 = getelementptr inbounds ptr, ptr %t80, i32 1 + %t82 = load ptr, ptr %t81 + %t83 = call ptr @fn_emit_expr(ptr %t82) + store ptr %t83, ptr %t84 + %t85 = load ptr, ptr %t75 + %t86 = getelementptr inbounds %Cmp_Val, ptr %t85, i32 0, i32 0 + %t87 = load ptr, ptr %t86 + %t88 = call ptr @lp_str_concat(ptr @.str3569, ptr %t87) + %t89 = call ptr @lp_str_concat(ptr %t88, ptr @.str3570) + %t90 = load ptr, ptr %t84 + %t91 = getelementptr inbounds %Cmp_Val, ptr %t90, i32 0, i32 0 + %t92 = load ptr, ptr %t91 + %t93 = call ptr @lp_str_concat(ptr %t89, ptr %t92) + %t94 = call ptr @lp_str_concat(ptr %t93, ptr @.str3571) + %t95 = call ptr @fn_emit_bind(ptr %t94) + %t96 = call ptr @fn_val(ptr %t95, ptr @.str3572) + store ptr %t96, ptr %retval + br label %ret +ifend11: + %t97 = load ptr, ptr %t0 + %t98 = call i32 @lp_str_eq(ptr %t97, ptr @.str3573) + %t99 = icmp ne i32 %t98, 0 + br i1 %t99, label %then12, label %ifend14 +then12: + %t100 = load ptr, ptr %t1 + %t101 = getelementptr inbounds %Cmp_Node, ptr %t100, i32 0, i32 7 + %t102 = load ptr, ptr %t101 + %t103 = getelementptr inbounds %LSlice, ptr %t102, i32 0, i32 0 + %t104 = load ptr, ptr %t103 + %t105 = getelementptr inbounds ptr, ptr %t104, i32 0 + %t106 = load ptr, ptr %t105 + %t107 = call ptr @fn_emit_expr(ptr %t106) + store ptr %t107, ptr %t108 + %t109 = load ptr, ptr %t108 + %t110 = getelementptr inbounds %Cmp_Val, ptr %t109, i32 0, i32 0 + %t111 = load ptr, ptr %t110 + %t112 = call ptr @lp_str_concat(ptr @.str3574, ptr %t111) + %t113 = call ptr @lp_str_concat(ptr %t112, ptr @.str3575) + %t114 = call ptr @fn_emit_bind(ptr %t113) + %t115 = call ptr @fn_val(ptr %t114, ptr @.str3576) + store ptr %t115, ptr %retval + br label %ret +ifend14: + %t116 = load ptr, ptr %t0 + %t117 = call i32 @lp_str_eq(ptr %t116, ptr @.str3577) + %t118 = icmp ne i32 %t117, 0 + br i1 %t118, label %then15, label %ifend17 +then15: + %t119 = load ptr, ptr %t1 + %t120 = getelementptr inbounds %Cmp_Node, ptr %t119, i32 0, i32 7 + %t121 = load ptr, ptr %t120 + %t122 = getelementptr inbounds %LSlice, ptr %t121, i32 0, i32 0 + %t123 = load ptr, ptr %t122 + %t124 = getelementptr inbounds ptr, ptr %t123, i32 0 + %t125 = load ptr, ptr %t124 + %t126 = call ptr @fn_emit_expr(ptr %t125) + store ptr %t126, ptr %t127 + %t128 = load ptr, ptr %t127 + %t129 = getelementptr inbounds %Cmp_Val, ptr %t128, i32 0, i32 0 + %t130 = load ptr, ptr %t129 + %t131 = call ptr @lp_str_concat(ptr @.str3578, ptr %t130) + %t132 = call ptr @lp_str_concat(ptr %t131, ptr @.str3579) + %t133 = call ptr @fn_emit_bind(ptr %t132) + %t134 = call ptr @fn_val(ptr %t133, ptr @.str3580) + store ptr %t134, ptr %retval + br label %ret +ifend17: + %t135 = load ptr, ptr %t0 + %t136 = call i32 @lp_str_eq(ptr %t135, ptr @.str3581) + %t137 = icmp ne i32 %t136, 0 + br i1 %t137, label %then18, label %ifend20 +then18: + %t138 = load ptr, ptr %t1 + %t139 = getelementptr inbounds %Cmp_Node, ptr %t138, i32 0, i32 7 + %t140 = load ptr, ptr %t139 + %t141 = getelementptr inbounds %LSlice, ptr %t140, i32 0, i32 0 + %t142 = load ptr, ptr %t141 + %t143 = getelementptr inbounds ptr, ptr %t142, i32 0 + %t144 = load ptr, ptr %t143 + %t145 = call ptr @fn_emit_expr(ptr %t144) + store ptr %t145, ptr %t146 + %t147 = load ptr, ptr %t146 + %t148 = getelementptr inbounds %Cmp_Val, ptr %t147, i32 0, i32 0 + %t149 = load ptr, ptr %t148 + %t150 = call ptr @lp_str_concat(ptr @.str3582, ptr %t149) + %t151 = call ptr @lp_str_concat(ptr %t150, ptr @.str3583) + %t152 = call ptr @fn_emit_bind(ptr %t151) + %t153 = call ptr @fn_val(ptr %t152, ptr @.str3584) + store ptr %t153, ptr %retval + br label %ret +ifend20: + %t154 = load ptr, ptr %t0 + %t155 = call i32 @lp_str_eq(ptr %t154, ptr @.str3585) + %t156 = icmp ne i32 %t155, 0 + br i1 %t156, label %then21, label %ifend23 +then21: + %t157 = load ptr, ptr %t1 + %t158 = getelementptr inbounds %Cmp_Node, ptr %t157, i32 0, i32 7 + %t159 = load ptr, ptr %t158 + %t160 = getelementptr inbounds %LSlice, ptr %t159, i32 0, i32 0 + %t161 = load ptr, ptr %t160 + %t162 = getelementptr inbounds ptr, ptr %t161, i32 0 + %t163 = load ptr, ptr %t162 + %t164 = call ptr @fn_emit_expr(ptr %t163) + store ptr %t164, ptr %t165 + %t166 = load ptr, ptr %t1 + %t167 = getelementptr inbounds %Cmp_Node, ptr %t166, i32 0, i32 7 + %t168 = load ptr, ptr %t167 + %t169 = getelementptr inbounds %LSlice, ptr %t168, i32 0, i32 0 + %t170 = load ptr, ptr %t169 + %t171 = getelementptr inbounds ptr, ptr %t170, i32 1 + %t172 = load ptr, ptr %t171 + %t173 = call ptr @fn_emit_expr(ptr %t172) + store ptr %t173, ptr %t174 + %t175 = load ptr, ptr %t165 + %t176 = getelementptr inbounds %Cmp_Val, ptr %t175, i32 0, i32 0 + %t177 = load ptr, ptr %t176 + %t178 = call ptr @lp_str_concat(ptr @.str3586, ptr %t177) + %t179 = call ptr @lp_str_concat(ptr %t178, ptr @.str3587) + %t180 = load ptr, ptr %t174 + %t181 = getelementptr inbounds %Cmp_Val, ptr %t180, i32 0, i32 0 + %t182 = load ptr, ptr %t181 + %t183 = call ptr @lp_str_concat(ptr %t179, ptr %t182) + %t184 = call ptr @lp_str_concat(ptr %t183, ptr @.str3588) + %t185 = call ptr @fn_emit_bind(ptr %t184) + %t186 = call ptr @fn_val(ptr %t185, ptr @.str3589) + store ptr %t186, ptr %retval + br label %ret +ifend23: + %t187 = load ptr, ptr %t1 + %t188 = getelementptr inbounds %Cmp_Node, ptr %t187, i32 0, i32 7 + %t189 = load ptr, ptr %t188 + %t190 = getelementptr inbounds %LSlice, ptr %t189, i32 0, i32 0 + %t191 = load ptr, ptr %t190 + %t192 = getelementptr inbounds ptr, ptr %t191, i32 0 + %t193 = load ptr, ptr %t192 + %t194 = call ptr @fn_emit_expr(ptr %t193) + store ptr %t194, ptr %t195 + %t196 = load ptr, ptr %t195 + %t197 = getelementptr inbounds %Cmp_Val, ptr %t196, i32 0, i32 0 + %t198 = load ptr, ptr %t197 + %t199 = call ptr @lp_str_concat(ptr @.str3590, ptr %t198) + %t200 = call ptr @lp_str_concat(ptr %t199, ptr @.str3591) + %t201 = call ptr @fn_emit_bind(ptr %t200) + %t202 = call ptr @fn_val(ptr %t201, ptr @.str3592) + 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 @.str3593) + call void @fn_emith(ptr @.str3594) + call void @fn_emith(ptr @.str3595) + call void @fn_emith(ptr @.str3596) + call void @fn_emith(ptr @.str3597) + call void @fn_emith(ptr @.str3598) + call void @fn_emith(ptr @.str3599) + call void @fn_emith(ptr @.str3600) + call void @fn_emith(ptr @.str3601) + call void @fn_emith(ptr @.str3602) + call void @fn_emith(ptr @.str3603) + call void @fn_emith(ptr @.str3604) + call void @fn_emith(ptr @.str3605) + call void @fn_emith(ptr @.str3606) + call void @fn_emith(ptr @.str3607) + call void @fn_emith(ptr @.str3608) + call void @fn_emith(ptr @.str3609) + call void @fn_emith(ptr @.str3610) + call void @fn_emith(ptr @.str3611) + call void @fn_emith(ptr @.str3612) + call void @fn_emith(ptr @.str3613) + call void @fn_emith(ptr @.str3614) + call void @fn_emith(ptr @.str3615) + call void @fn_emith(ptr @.str3616) + call void @fn_emith(ptr @.str3617) + call void @fn_emith(ptr @.str3618) + call void @fn_emith(ptr @.str3619) + call void @fn_emith(ptr @.str3620) + call void @fn_emith(ptr @.str3621) + call void @fn_emith(ptr @.str3622) + call void @fn_emith(ptr @.str3623) + call void @fn_emith(ptr @.str3624) + call void @fn_emith(ptr @.str3625) + call void @fn_emith(ptr @.str3626) + call void @fn_emith(ptr @.str3627) + call void @fn_emith(ptr @.str3628) + call void @fn_emith(ptr @.str3629) + call void @fn_emith(ptr @.str3630) + call void @fn_emith(ptr @.str3631) + call void @fn_emith(ptr @.str3632) + call void @fn_emith(ptr @.str3633) + call void @fn_emith(ptr @.str3634) + call void @fn_emith(ptr @.str3635) + call void @fn_emith(ptr @.str3636) + call void @fn_emith(ptr @.str3637) + call void @fn_emith(ptr @.str3638) + call void @fn_emith(ptr @.str3639) + call void @fn_emith(ptr @.str3640) + call void @fn_emith(ptr @.str3641) + call void @fn_emith(ptr @.str3642) + call void @fn_emith(ptr @.str3643) + call void @fn_emith(ptr @.str3644) + call void @fn_emith(ptr @.str3645) + call void @fn_emith(ptr @.str3646) + call void @fn_emith(ptr @.str3647) + call void @fn_emith(ptr @.str3648) + call void @fn_emith(ptr @.str3649) + call void @fn_emith(ptr @.str3650) + call void @fn_emith(ptr @.str3651) + call void @fn_emith(ptr @.str3652) + call void @fn_emith(ptr @.str3653) + call void @fn_emith(ptr @.str3654) + call void @fn_emith(ptr @.str3655) + call void @fn_emith(ptr @.str3656) + call void @fn_emith(ptr @.str3657) + call void @fn_emith(ptr @.str3658) + call void @fn_emith(ptr @.str3659) + call void @fn_emith(ptr @.str3660) + call void @fn_emith(ptr @.str3661) + call void @fn_emith(ptr @.str3662) + call void @fn_emith(ptr @.str3663) + call void @fn_emith(ptr @.str3664) + call void @fn_emith(ptr @.str3665) + br label %ret +ret: + ret void +} + +define void @fn_emit_uni_case_fns() { +entry: + call void @fn_emith(ptr @.str3666) + call void @fn_emith(ptr @.str3667) + call void @fn_emith(ptr @.str3668) + call void @fn_emith(ptr @.str3669) + call void @fn_emith(ptr @.str3670) + call void @fn_emith(ptr @.str3671) + call void @fn_emith(ptr @.str3672) + call void @fn_emith(ptr @.str3673) + call void @fn_emith(ptr @.str3674) + call void @fn_emith(ptr @.str3675) + call void @fn_emith(ptr @.str3676) + call void @fn_emith(ptr @.str3677) + call void @fn_emith(ptr @.str3678) + call void @fn_emith(ptr @.str3679) + call void @fn_emith(ptr @.str3680) + call void @fn_emith(ptr @.str3681) + call void @fn_emith(ptr @.str3682) + call void @fn_emith(ptr @.str3683) + call void @fn_emith(ptr @.str3684) + call void @fn_emith(ptr @.str3685) + call void @fn_emith(ptr @.str3686) + call void @fn_emith(ptr @.str3687) + call void @fn_emith(ptr @.str3688) + call void @fn_emith(ptr @.str3689) + call void @fn_emith(ptr @.str3690) + call void @fn_emith(ptr @.str3691) + call void @fn_emith(ptr @.str3692) + call void @fn_emith(ptr @.str3693) + call void @fn_emith(ptr @.str3694) + call void @fn_emith(ptr @.str3695) + call void @fn_emith(ptr @.str3696) + call void @fn_emith(ptr @.str3697) + call void @fn_emith(ptr @.str3698) + call void @fn_emith(ptr @.str3699) + call void @fn_emith(ptr @.str3700) + call void @fn_emith(ptr @.str3701) + call void @fn_emith(ptr @.str3702) + call void @fn_emith(ptr @.str3703) + call void @fn_emith(ptr @.str3704) + call void @fn_emith(ptr @.str3705) + br label %ret +ret: + ret void +} + +define void @fn_emit_uni_str_fns() { +entry: + call void @fn_emith(ptr @.str3706) + call void @fn_emith(ptr @.str3707) + call void @fn_emith(ptr @.str3708) + call void @fn_emith(ptr @.str3709) + call void @fn_emith(ptr @.str3710) + call void @fn_emith(ptr @.str3711) + call void @fn_emith(ptr @.str3712) + call void @fn_emith(ptr @.str3713) + call void @fn_emith(ptr @.str3714) + call void @fn_emith(ptr @.str3715) + call void @fn_emith(ptr @.str3716) + call void @fn_emith(ptr @.str3717) + call void @fn_emith(ptr @.str3718) + call void @fn_emith(ptr @.str3719) + call void @fn_emith(ptr @.str3720) + call void @fn_emith(ptr @.str3721) + call void @fn_emith(ptr @.str3722) + call void @fn_emith(ptr @.str3723) + call void @fn_emith(ptr @.str3724) + call void @fn_emith(ptr @.str3725) + call void @fn_emith(ptr @.str3726) + call void @fn_emith(ptr @.str3727) + call void @fn_emith(ptr @.str3728) + call void @fn_emith(ptr @.str3729) + call void @fn_emith(ptr @.str3730) + call void @fn_emith(ptr @.str3731) + call void @fn_emith(ptr @.str3732) + call void @fn_emith(ptr @.str3733) + call void @fn_emith(ptr @.str3734) + call void @fn_emith(ptr @.str3735) + call void @fn_emith(ptr @.str3736) + call void @fn_emith(ptr @.str3737) + call void @fn_emith(ptr @.str3738) + call void @fn_emith(ptr @.str3739) + call void @fn_emith(ptr @.str3740) + call void @fn_emith(ptr @.str3741) + call void @fn_emith(ptr @.str3742) + call void @fn_emit_uni_grapheme() + br label %ret +ret: + ret void +} + +define void @fn_emit_uni_grapheme() { +entry: + call void @fn_emith(ptr @.str3743) + call void @fn_emith(ptr @.str3744) + call void @fn_emith(ptr @.str3745) + call void @fn_emith(ptr @.str3746) + call void @fn_emith(ptr @.str3747) + call void @fn_emith(ptr @.str3748) + call void @fn_emith(ptr @.str3749) + call void @fn_emith(ptr @.str3750) + call void @fn_emith(ptr @.str3751) + call void @fn_emith(ptr @.str3752) + call void @fn_emith(ptr @.str3753) + call void @fn_emith(ptr @.str3754) + call void @fn_emith(ptr @.str3755) + call void @fn_emith(ptr @.str3756) + call void @fn_emith(ptr @.str3757) + call void @fn_emith(ptr @.str3758) + call void @fn_emith(ptr @.str3759) + call void @fn_emith(ptr @.str3760) + call void @fn_emith(ptr @.str3761) + br label %ret +ret: + ret void +} + +define i32 @fn_is_fs_ns(ptr %arg_meth) { +entry: + %retval = alloca i32 + %t0 = alloca ptr + %t1 = alloca i32 + %t2 = alloca i32 + %t20 = alloca i32 + %t21 = alloca i32 + %t39 = alloca i32 + %t40 = alloca i32 + %t41 = alloca i32 + store ptr %arg_meth, ptr %t0 + %t3 = load ptr, ptr %t0 + %t4 = call i32 @lp_str_eq(ptr %t3, ptr @.str3762) + %t5 = icmp ne i32 %t4, 0 + %t6 = zext i1 %t5 to i32 + store i32 %t6, ptr %t2 + br i1 %t5, label %scend1, label %sc0 +sc0: + %t7 = load ptr, ptr %t0 + %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str3763) + %t9 = icmp ne i32 %t8, 0 + %t10 = zext i1 %t9 to i32 + store i32 %t10, ptr %t2 + br label %scend1 +scend1: + %t11 = load i32, ptr %t2 + %t12 = icmp ne i32 %t11, 0 + %t13 = zext i1 %t12 to i32 + store i32 %t13, ptr %t1 + br i1 %t12, label %scend3, label %sc2 +sc2: + %t14 = load ptr, ptr %t0 + %t15 = call i32 @lp_str_eq(ptr %t14, ptr @.str3764) + %t16 = icmp ne i32 %t15, 0 + %t17 = zext i1 %t16 to i32 + store i32 %t17, ptr %t1 + br label %scend3 +scend3: + %t18 = load i32, ptr %t1 + %t19 = icmp ne i32 %t18, 0 + br i1 %t19, label %then4, label %ifend6 +then4: + store i32 1, ptr %retval + br label %ret +ifend6: + %t22 = load ptr, ptr %t0 + %t23 = call i32 @lp_str_eq(ptr %t22, ptr @.str3765) + %t24 = icmp ne i32 %t23, 0 + %t25 = zext i1 %t24 to i32 + store i32 %t25, ptr %t21 + br i1 %t24, label %scend8, label %sc7 +sc7: + %t26 = load ptr, ptr %t0 + %t27 = call i32 @lp_str_eq(ptr %t26, ptr @.str3766) + %t28 = icmp ne i32 %t27, 0 + %t29 = zext i1 %t28 to i32 + store i32 %t29, ptr %t21 + br label %scend8 +scend8: + %t30 = load i32, ptr %t21 + %t31 = icmp ne i32 %t30, 0 + %t32 = zext i1 %t31 to i32 + store i32 %t32, ptr %t20 + br i1 %t31, label %scend10, label %sc9 +sc9: + %t33 = load ptr, ptr %t0 + %t34 = call i32 @lp_str_eq(ptr %t33, ptr @.str3767) + %t35 = icmp ne i32 %t34, 0 + %t36 = zext i1 %t35 to i32 + store i32 %t36, ptr %t20 + br label %scend10 +scend10: + %t37 = load i32, ptr %t20 + %t38 = icmp ne i32 %t37, 0 + br i1 %t38, label %then11, label %ifend13 +then11: + store i32 1, ptr %retval + br label %ret +ifend13: + %t42 = load ptr, ptr %t0 + %t43 = call i32 @lp_str_eq(ptr %t42, ptr @.str3768) + %t44 = icmp ne i32 %t43, 0 + %t45 = zext i1 %t44 to i32 + store i32 %t45, ptr %t41 + br i1 %t44, label %scend15, label %sc14 +sc14: + %t46 = load ptr, ptr %t0 + %t47 = call i32 @lp_str_eq(ptr %t46, ptr @.str3769) + %t48 = icmp ne i32 %t47, 0 + %t49 = zext i1 %t48 to i32 + store i32 %t49, ptr %t41 + br label %scend15 +scend15: + %t50 = load i32, ptr %t41 + %t51 = icmp ne i32 %t50, 0 + %t52 = zext i1 %t51 to i32 + store i32 %t52, ptr %t40 + br i1 %t51, label %scend17, label %sc16 +sc16: + %t53 = load ptr, ptr %t0 + %t54 = call i32 @lp_str_eq(ptr %t53, ptr @.str3770) + %t55 = icmp ne i32 %t54, 0 + %t56 = zext i1 %t55 to i32 + store i32 %t56, ptr %t40 + br label %scend17 +scend17: + %t57 = load i32, ptr %t40 + %t58 = icmp ne i32 %t57, 0 + %t59 = zext i1 %t58 to i32 + store i32 %t59, ptr %t39 + br i1 %t58, label %scend19, label %sc18 +sc18: + %t60 = load ptr, ptr %t0 + %t61 = call i32 @lp_str_eq(ptr %t60, ptr @.str3771) + %t62 = icmp ne i32 %t61, 0 + %t63 = zext i1 %t62 to i32 + store i32 %t63, ptr %t39 + br label %scend19 +scend19: + %t64 = load i32, ptr %t39 + %t65 = icmp ne i32 %t64, 0 + br i1 %t65, label %then20, label %ifend22 +then20: + store i32 1, ptr %retval + br label %ret +ifend22: + store i32 0, ptr %retval + br label %ret +ret: + %t66 = load i32, ptr %retval + ret i32 %t66 +} + +define i32 @fn_is_path_ns(ptr %arg_meth) { +entry: + %retval = alloca i32 + %t0 = alloca ptr + %t1 = alloca i32 + %t2 = alloca i32 + %t20 = alloca i32 + %t21 = alloca i32 + store ptr %arg_meth, ptr %t0 + %t3 = load ptr, ptr %t0 + %t4 = call i32 @lp_str_eq(ptr %t3, ptr @.str3772) + %t5 = icmp ne i32 %t4, 0 + %t6 = zext i1 %t5 to i32 + store i32 %t6, ptr %t2 + br i1 %t5, label %scend1, label %sc0 +sc0: + %t7 = load ptr, ptr %t0 + %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str3773) + %t9 = icmp ne i32 %t8, 0 + %t10 = zext i1 %t9 to i32 + store i32 %t10, ptr %t2 + br label %scend1 +scend1: + %t11 = load i32, ptr %t2 + %t12 = icmp ne i32 %t11, 0 + %t13 = zext i1 %t12 to i32 + store i32 %t13, ptr %t1 + br i1 %t12, label %scend3, label %sc2 +sc2: + %t14 = load ptr, ptr %t0 + %t15 = call i32 @lp_str_eq(ptr %t14, ptr @.str3774) + %t16 = icmp ne i32 %t15, 0 + %t17 = zext i1 %t16 to i32 + store i32 %t17, ptr %t1 + br label %scend3 +scend3: + %t18 = load i32, ptr %t1 + %t19 = icmp ne i32 %t18, 0 + br i1 %t19, label %then4, label %ifend6 +then4: + store i32 1, ptr %retval + br label %ret +ifend6: + %t22 = load ptr, ptr %t0 + %t23 = call i32 @lp_str_eq(ptr %t22, ptr @.str3775) + %t24 = icmp ne i32 %t23, 0 + %t25 = zext i1 %t24 to i32 + store i32 %t25, ptr %t21 + br i1 %t24, label %scend8, label %sc7 +sc7: + %t26 = load ptr, ptr %t0 + %t27 = call i32 @lp_str_eq(ptr %t26, ptr @.str3776) + %t28 = icmp ne i32 %t27, 0 + %t29 = zext i1 %t28 to i32 + store i32 %t29, ptr %t21 + br label %scend8 +scend8: + %t30 = load i32, ptr %t21 + %t31 = icmp ne i32 %t30, 0 + %t32 = zext i1 %t31 to i32 + store i32 %t32, ptr %t20 + br i1 %t31, label %scend10, label %sc9 +sc9: + %t33 = load ptr, ptr %t0 + %t34 = call i32 @lp_str_eq(ptr %t33, ptr @.str3777) + %t35 = icmp ne i32 %t34, 0 + %t36 = zext i1 %t35 to i32 + store i32 %t36, ptr %t20 + br label %scend10 +scend10: + %t37 = load i32, ptr %t20 + %t38 = icmp ne i32 %t37, 0 + br i1 %t38, label %then11, label %ifend13 +then11: + store i32 1, ptr %retval + br label %ret +ifend13: + store i32 0, ptr %retval + br label %ret +ret: + %t39 = load i32, ptr %retval + ret i32 %t39 +} + +define i32 @fn_is_mime_ns(ptr %arg_meth) { +entry: + %retval = alloca i32 + %t0 = alloca ptr + %t1 = alloca i32 + store ptr %arg_meth, ptr %t0 + %t2 = load ptr, ptr %t0 + %t3 = call i32 @lp_str_eq(ptr %t2, ptr @.str3778) + %t4 = icmp ne i32 %t3, 0 + %t5 = zext i1 %t4 to i32 + store i32 %t5, ptr %t1 + br i1 %t4, label %scend1, label %sc0 +sc0: + %t6 = load ptr, ptr %t0 + %t7 = call i32 @lp_str_eq(ptr %t6, ptr @.str3779) + %t8 = icmp ne i32 %t7, 0 + %t9 = zext i1 %t8 to i32 + store i32 %t9, ptr %t1 + br label %scend1 +scend1: + %t10 = load i32, ptr %t1 + %t11 = icmp ne i32 %t10, 0 + br i1 %t11, label %then2, label %ifend4 +then2: + store i32 1, ptr %retval + br label %ret +ifend4: + store i32 0, ptr %retval + br label %ret +ret: + %t12 = load i32, ptr %retval + ret i32 %t12 +} + +define ptr @fn_emit_fs_ns(ptr %arg_meth, ptr %arg_e) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t1 = alloca ptr + %t10 = alloca ptr + %t89 = alloca ptr + store ptr %arg_meth, ptr %t0 + store ptr %arg_e, ptr %t1 + call void @fn_use_pak() + %t2 = load ptr, ptr %t1 + %t3 = getelementptr inbounds %Cmp_Node, ptr %t2, i32 0, i32 7 + %t4 = load ptr, ptr %t3 + %t5 = getelementptr inbounds %LSlice, ptr %t4, i32 0, i32 0 + %t6 = load ptr, ptr %t5 + %t7 = getelementptr inbounds ptr, ptr %t6, i32 0 + %t8 = load ptr, ptr %t7 + %t9 = call ptr @fn_emit_expr(ptr %t8) + store ptr %t9, ptr %t10 + %t11 = load ptr, ptr %t0 + %t12 = call i32 @lp_str_eq(ptr %t11, ptr @.str3780) + %t13 = icmp ne i32 %t12, 0 + br i1 %t13, label %then0, label %ifend2 +then0: + %t14 = load ptr, ptr %t10 + %t15 = getelementptr inbounds %Cmp_Val, ptr %t14, i32 0, i32 0 + %t16 = load ptr, ptr %t15 + %t17 = call ptr @lp_str_concat(ptr @.str3781, ptr %t16) + %t18 = call ptr @lp_str_concat(ptr %t17, ptr @.str3782) + %t19 = call ptr @fn_emit_bind(ptr %t18) + %t20 = call ptr @fn_val(ptr %t19, ptr @.str3783) + store ptr %t20, ptr %retval + br label %ret +ifend2: + %t21 = load ptr, ptr %t0 + %t22 = call i32 @lp_str_eq(ptr %t21, ptr @.str3784) + %t23 = icmp ne i32 %t22, 0 + br i1 %t23, label %then3, label %ifend5 +then3: + %t24 = load ptr, ptr %t10 + %t25 = getelementptr inbounds %Cmp_Val, ptr %t24, i32 0, i32 0 + %t26 = load ptr, ptr %t25 + %t27 = call ptr @lp_str_concat(ptr @.str3785, ptr %t26) + %t28 = call ptr @lp_str_concat(ptr %t27, ptr @.str3786) + %t29 = call ptr @fn_emit_bind(ptr %t28) + %t30 = call ptr @fn_val(ptr %t29, ptr @.str3787) + store ptr %t30, ptr %retval + br label %ret +ifend5: + %t31 = load ptr, ptr %t0 + %t32 = call i32 @lp_str_eq(ptr %t31, ptr @.str3788) + %t33 = icmp ne i32 %t32, 0 + br i1 %t33, label %then6, label %ifend8 +then6: + %t34 = load ptr, ptr %t10 + %t35 = getelementptr inbounds %Cmp_Val, ptr %t34, i32 0, i32 0 + %t36 = load ptr, ptr %t35 + %t37 = call ptr @lp_str_concat(ptr @.str3789, ptr %t36) + %t38 = call ptr @lp_str_concat(ptr %t37, ptr @.str3790) + %t39 = call ptr @fn_emit_bind(ptr %t38) + %t40 = call ptr @fn_val(ptr %t39, ptr @.str3791) + store ptr %t40, ptr %retval + br label %ret +ifend8: + %t41 = load ptr, ptr %t0 + %t42 = call i32 @lp_str_eq(ptr %t41, ptr @.str3792) + %t43 = icmp ne i32 %t42, 0 + br i1 %t43, label %then9, label %ifend11 +then9: + %t44 = load ptr, ptr %t10 + %t45 = getelementptr inbounds %Cmp_Val, ptr %t44, i32 0, i32 0 + %t46 = load ptr, ptr %t45 + %t47 = call ptr @lp_str_concat(ptr @.str3793, ptr %t46) + %t48 = call ptr @lp_str_concat(ptr %t47, ptr @.str3794) + %t49 = call ptr @fn_emit_bind(ptr %t48) + %t50 = call ptr @fn_val(ptr %t49, ptr @.str3795) + store ptr %t50, ptr %retval + br label %ret +ifend11: + %t51 = load ptr, ptr %t0 + %t52 = call i32 @lp_str_eq(ptr %t51, ptr @.str3796) + %t53 = icmp ne i32 %t52, 0 + br i1 %t53, label %then12, label %ifend14 +then12: + %t54 = load ptr, ptr %t10 + %t55 = getelementptr inbounds %Cmp_Val, ptr %t54, i32 0, i32 0 + %t56 = load ptr, ptr %t55 + %t57 = call ptr @lp_str_concat(ptr @.str3797, ptr %t56) + %t58 = call ptr @lp_str_concat(ptr %t57, ptr @.str3798) + %t59 = call ptr @fn_emit_bind(ptr %t58) + %t60 = call ptr @fn_val(ptr %t59, ptr @.str3799) + store ptr %t60, ptr %retval + br label %ret +ifend14: + %t61 = load ptr, ptr %t0 + %t62 = call i32 @lp_str_eq(ptr %t61, ptr @.str3800) + %t63 = icmp ne i32 %t62, 0 + br i1 %t63, label %then15, label %ifend17 +then15: + %t64 = load ptr, ptr %t10 + %t65 = getelementptr inbounds %Cmp_Val, ptr %t64, i32 0, i32 0 + %t66 = load ptr, ptr %t65 + %t67 = call ptr @lp_str_concat(ptr @.str3801, ptr %t66) + %t68 = call ptr @lp_str_concat(ptr %t67, ptr @.str3802) + %t69 = call ptr @fn_emit_bind(ptr %t68) + %t70 = call ptr @fn_val(ptr %t69, ptr @.str3803) + store ptr %t70, ptr %retval + br label %ret +ifend17: + %t71 = load ptr, ptr %t0 + %t72 = call i32 @lp_str_eq(ptr %t71, ptr @.str3804) + %t73 = icmp ne i32 %t72, 0 + br i1 %t73, label %then18, label %ifend20 +then18: + %t74 = load ptr, ptr %t10 + %t75 = getelementptr inbounds %Cmp_Val, ptr %t74, i32 0, i32 0 + %t76 = load ptr, ptr %t75 + %t77 = call ptr @lp_str_concat(ptr @.str3805, ptr %t76) + %t78 = call ptr @lp_str_concat(ptr %t77, ptr @.str3806) + %t79 = call ptr @fn_emit_bind(ptr %t78) + %t80 = call ptr @fn_val(ptr %t79, ptr @.str3807) + store ptr %t80, ptr %retval + br label %ret +ifend20: + %t81 = load ptr, ptr %t1 + %t82 = getelementptr inbounds %Cmp_Node, ptr %t81, i32 0, i32 7 + %t83 = load ptr, ptr %t82 + %t84 = getelementptr inbounds %LSlice, ptr %t83, i32 0, i32 0 + %t85 = load ptr, ptr %t84 + %t86 = getelementptr inbounds ptr, ptr %t85, i32 1 + %t87 = load ptr, ptr %t86 + %t88 = call ptr @fn_emit_expr(ptr %t87) + store ptr %t88, ptr %t89 + %t90 = load ptr, ptr %t0 + %t91 = call i32 @lp_str_eq(ptr %t90, ptr @.str3808) + %t92 = icmp ne i32 %t91, 0 + br i1 %t92, label %then21, label %ifend23 +then21: + %t93 = load ptr, ptr %t10 + %t94 = getelementptr inbounds %Cmp_Val, ptr %t93, i32 0, i32 0 + %t95 = load ptr, ptr %t94 + %t96 = call ptr @lp_str_concat(ptr @.str3809, ptr %t95) + %t97 = call ptr @lp_str_concat(ptr %t96, ptr @.str3810) + %t98 = load ptr, ptr %t89 + %t99 = getelementptr inbounds %Cmp_Val, ptr %t98, i32 0, i32 0 + %t100 = load ptr, ptr %t99 + %t101 = call ptr @lp_str_concat(ptr %t97, ptr %t100) + %t102 = call ptr @lp_str_concat(ptr %t101, ptr @.str3811) + %t103 = call ptr @fn_emit_bind(ptr %t102) + %t104 = call ptr @fn_val(ptr %t103, ptr @.str3812) + store ptr %t104, ptr %retval + br label %ret +ifend23: + %t105 = load ptr, ptr %t0 + %t106 = call i32 @lp_str_eq(ptr %t105, ptr @.str3813) + %t107 = icmp ne i32 %t106, 0 + br i1 %t107, label %then24, label %ifend26 +then24: + %t108 = load ptr, ptr %t10 + %t109 = getelementptr inbounds %Cmp_Val, ptr %t108, i32 0, i32 0 + %t110 = load ptr, ptr %t109 + %t111 = call ptr @lp_str_concat(ptr @.str3814, ptr %t110) + %t112 = call ptr @lp_str_concat(ptr %t111, ptr @.str3815) + %t113 = load ptr, ptr %t89 + %t114 = getelementptr inbounds %Cmp_Val, ptr %t113, i32 0, i32 0 + %t115 = load ptr, ptr %t114 + %t116 = call ptr @lp_str_concat(ptr %t112, ptr %t115) + %t117 = call ptr @lp_str_concat(ptr %t116, ptr @.str3816) + %t118 = call ptr @fn_emit_bind(ptr %t117) + %t119 = call ptr @fn_val(ptr %t118, ptr @.str3817) + store ptr %t119, ptr %retval + br label %ret +ifend26: + %t120 = load ptr, ptr %t10 + %t121 = getelementptr inbounds %Cmp_Val, ptr %t120, i32 0, i32 0 + %t122 = load ptr, ptr %t121 + %t123 = call ptr @lp_str_concat(ptr @.str3818, ptr %t122) + %t124 = call ptr @lp_str_concat(ptr %t123, ptr @.str3819) + %t125 = load ptr, ptr %t89 + %t126 = getelementptr inbounds %Cmp_Val, ptr %t125, i32 0, i32 0 + %t127 = load ptr, ptr %t126 + %t128 = call ptr @lp_str_concat(ptr %t124, ptr %t127) + %t129 = call ptr @lp_str_concat(ptr %t128, ptr @.str3820) + %t130 = call ptr @fn_emit_bind(ptr %t129) + %t131 = call ptr @fn_val(ptr %t130, ptr @.str3821) + store ptr %t131, ptr %retval + br label %ret +ret: + %t132 = load ptr, ptr %retval + ret ptr %t132 +} + +define ptr @fn_emit_path_ns(ptr %arg_meth, ptr %arg_e) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t1 = alloca ptr + %t10 = alloca ptr + %t69 = alloca ptr + store ptr %arg_meth, ptr %t0 + store ptr %arg_e, ptr %t1 + call void @fn_use_pak() + %t2 = load ptr, ptr %t1 + %t3 = getelementptr inbounds %Cmp_Node, ptr %t2, i32 0, i32 7 + %t4 = load ptr, ptr %t3 + %t5 = getelementptr inbounds %LSlice, ptr %t4, i32 0, i32 0 + %t6 = load ptr, ptr %t5 + %t7 = getelementptr inbounds ptr, ptr %t6, i32 0 + %t8 = load ptr, ptr %t7 + %t9 = call ptr @fn_emit_expr(ptr %t8) + store ptr %t9, ptr %t10 + %t11 = load ptr, ptr %t0 + %t12 = call i32 @lp_str_eq(ptr %t11, ptr @.str3822) + %t13 = icmp ne i32 %t12, 0 + br i1 %t13, label %then0, label %ifend2 +then0: + %t14 = load ptr, ptr %t10 + %t15 = getelementptr inbounds %Cmp_Val, ptr %t14, i32 0, i32 0 + %t16 = load ptr, ptr %t15 + %t17 = call ptr @lp_str_concat(ptr @.str3823, ptr %t16) + %t18 = call ptr @lp_str_concat(ptr %t17, ptr @.str3824) + %t19 = call ptr @fn_emit_bind(ptr %t18) + %t20 = call ptr @fn_val(ptr %t19, ptr @.str3825) + store ptr %t20, ptr %retval + br label %ret +ifend2: + %t21 = load ptr, ptr %t0 + %t22 = call i32 @lp_str_eq(ptr %t21, ptr @.str3826) + %t23 = icmp ne i32 %t22, 0 + br i1 %t23, label %then3, label %ifend5 +then3: + %t24 = load ptr, ptr %t10 + %t25 = getelementptr inbounds %Cmp_Val, ptr %t24, i32 0, i32 0 + %t26 = load ptr, ptr %t25 + %t27 = call ptr @lp_str_concat(ptr @.str3827, ptr %t26) + %t28 = call ptr @lp_str_concat(ptr %t27, ptr @.str3828) + %t29 = call ptr @fn_emit_bind(ptr %t28) + %t30 = call ptr @fn_val(ptr %t29, ptr @.str3829) + store ptr %t30, ptr %retval + br label %ret +ifend5: + %t31 = load ptr, ptr %t0 + %t32 = call i32 @lp_str_eq(ptr %t31, ptr @.str3830) + %t33 = icmp ne i32 %t32, 0 + br i1 %t33, label %then6, label %ifend8 +then6: + %t34 = load ptr, ptr %t10 + %t35 = getelementptr inbounds %Cmp_Val, ptr %t34, i32 0, i32 0 + %t36 = load ptr, ptr %t35 + %t37 = call ptr @lp_str_concat(ptr @.str3831, ptr %t36) + %t38 = call ptr @lp_str_concat(ptr %t37, ptr @.str3832) + %t39 = call ptr @fn_emit_bind(ptr %t38) + %t40 = call ptr @fn_val(ptr %t39, ptr @.str3833) + store ptr %t40, ptr %retval + br label %ret +ifend8: + %t41 = load ptr, ptr %t0 + %t42 = call i32 @lp_str_eq(ptr %t41, ptr @.str3834) + %t43 = icmp ne i32 %t42, 0 + br i1 %t43, label %then9, label %ifend11 +then9: + %t44 = load ptr, ptr %t10 + %t45 = getelementptr inbounds %Cmp_Val, ptr %t44, i32 0, i32 0 + %t46 = load ptr, ptr %t45 + %t47 = call ptr @lp_str_concat(ptr @.str3835, ptr %t46) + %t48 = call ptr @lp_str_concat(ptr %t47, ptr @.str3836) + %t49 = call ptr @fn_emit_bind(ptr %t48) + %t50 = call ptr @fn_val(ptr %t49, ptr @.str3837) + store ptr %t50, ptr %retval + br label %ret +ifend11: + %t51 = load ptr, ptr %t0 + %t52 = call i32 @lp_str_eq(ptr %t51, ptr @.str3838) + %t53 = icmp ne i32 %t52, 0 + br i1 %t53, label %then12, label %ifend14 +then12: + %t54 = load ptr, ptr %t10 + %t55 = getelementptr inbounds %Cmp_Val, ptr %t54, i32 0, i32 0 + %t56 = load ptr, ptr %t55 + %t57 = call ptr @lp_str_concat(ptr @.str3839, ptr %t56) + %t58 = call ptr @lp_str_concat(ptr %t57, ptr @.str3840) + %t59 = call ptr @fn_emit_bind(ptr %t58) + %t60 = call ptr @fn_val(ptr %t59, ptr @.str3841) + store ptr %t60, ptr %retval + br label %ret +ifend14: + %t61 = load ptr, ptr %t1 + %t62 = getelementptr inbounds %Cmp_Node, ptr %t61, i32 0, i32 7 + %t63 = load ptr, ptr %t62 + %t64 = getelementptr inbounds %LSlice, ptr %t63, i32 0, i32 0 + %t65 = load ptr, ptr %t64 + %t66 = getelementptr inbounds ptr, ptr %t65, i32 1 + %t67 = load ptr, ptr %t66 + %t68 = call ptr @fn_emit_expr(ptr %t67) + store ptr %t68, ptr %t69 + %t70 = load ptr, ptr %t10 + %t71 = getelementptr inbounds %Cmp_Val, ptr %t70, i32 0, i32 0 + %t72 = load ptr, ptr %t71 + %t73 = call ptr @lp_str_concat(ptr @.str3842, ptr %t72) + %t74 = call ptr @lp_str_concat(ptr %t73, ptr @.str3843) + %t75 = load ptr, ptr %t69 + %t76 = getelementptr inbounds %Cmp_Val, ptr %t75, i32 0, i32 0 + %t77 = load ptr, ptr %t76 + %t78 = call ptr @lp_str_concat(ptr %t74, ptr %t77) + %t79 = call ptr @lp_str_concat(ptr %t78, ptr @.str3844) + %t80 = call ptr @fn_emit_bind(ptr %t79) + %t81 = call ptr @fn_val(ptr %t80, ptr @.str3845) + store ptr %t81, ptr %retval + br label %ret +ret: + %t82 = load ptr, ptr %retval + ret ptr %t82 +} + +define ptr @fn_emit_mime_ns(ptr %arg_meth, ptr %arg_e) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t1 = alloca ptr + %t10 = alloca ptr + store ptr %arg_meth, ptr %t0 + store ptr %arg_e, ptr %t1 + call void @fn_use_pak() + %t2 = load ptr, ptr %t1 + %t3 = getelementptr inbounds %Cmp_Node, ptr %t2, i32 0, i32 7 + %t4 = load ptr, ptr %t3 + %t5 = getelementptr inbounds %LSlice, ptr %t4, i32 0, i32 0 + %t6 = load ptr, ptr %t5 + %t7 = getelementptr inbounds ptr, ptr %t6, i32 0 + %t8 = load ptr, ptr %t7 + %t9 = call ptr @fn_emit_expr(ptr %t8) + store ptr %t9, ptr %t10 + %t11 = load ptr, ptr %t0 + %t12 = call i32 @lp_str_eq(ptr %t11, ptr @.str3846) + %t13 = icmp ne i32 %t12, 0 + br i1 %t13, label %then0, label %ifend2 +then0: + %t14 = load ptr, ptr %t10 + %t15 = getelementptr inbounds %Cmp_Val, ptr %t14, i32 0, i32 0 + %t16 = load ptr, ptr %t15 + %t17 = call ptr @lp_str_concat(ptr @.str3847, ptr %t16) + %t18 = call ptr @lp_str_concat(ptr %t17, ptr @.str3848) + %t19 = call ptr @fn_emit_bind(ptr %t18) + %t20 = call ptr @fn_val(ptr %t19, ptr @.str3849) + store ptr %t20, ptr %retval + br label %ret +ifend2: + %t21 = load ptr, ptr %t10 + %t22 = getelementptr inbounds %Cmp_Val, ptr %t21, i32 0, i32 0 + %t23 = load ptr, ptr %t22 + %t24 = call ptr @lp_str_concat(ptr @.str3850, ptr %t23) + %t25 = call ptr @lp_str_concat(ptr %t24, ptr @.str3851) + %t26 = call ptr @fn_emit_bind(ptr %t25) + %t27 = call ptr @fn_val(ptr %t26, ptr @.str3852) + store ptr %t27, ptr %retval + br label %ret +ret: + %t28 = load ptr, ptr %retval + ret ptr %t28 +} + +define void @fn_emit_fs_prelude() { +entry: + %t0 = load i32, ptr @g_g_target_win + %t1 = icmp eq i32 %t0, 0 + %t2 = zext i1 %t1 to i32 + %t3 = icmp ne i32 %t2, 0 + br i1 %t3, label %then0, label %ifend2 +then0: + call void @fn_emith(ptr @.str3853) + call void @fn_emith(ptr @.str3854) + call void @fn_emith(ptr @.str3855) + call void @fn_emith(ptr @.str3856) + call void @fn_emith(ptr @.str3857) + call void @fn_emith(ptr @.str3858) + call void @fn_emith(ptr @.str3859) + br label %ifend2 +ifend2: + call void @fn_emit_fs_common() + call void @fn_emit_fs_path() + call void @fn_emit_fs_io() + call void @fn_emit_fs_dir() + call void @fn_emit_fs_mime() + br label %ret +ret: + ret void +} + +define void @fn_emit_fs_common() { +entry: + call void @fn_emith(ptr @.str3860) + call void @fn_emith(ptr @.str3861) + call void @fn_emith(ptr @.str3862) + call void @fn_emith(ptr @.str3863) + call void @fn_emith(ptr @.str3864) + call void @fn_emith(ptr @.str3865) + call void @fn_emith(ptr @.str3866) + call void @fn_emith(ptr @.str3867) + call void @fn_emith(ptr @.str3868) + call void @fn_emith(ptr @.str3869) + call void @fn_emith(ptr @.str3870) + call void @fn_emith(ptr @.str3871) + call void @fn_emith(ptr @.str3872) + br label %ret +ret: + ret void +} + +define void @fn_emit_fs_path() { +entry: + call void @fn_emith(ptr @.str3873) + call void @fn_emith(ptr @.str3874) + call void @fn_emith(ptr @.str3875) + call void @fn_emith(ptr @.str3876) + call void @fn_emith(ptr @.str3877) + call void @fn_emith(ptr @.str3878) + call void @fn_emith(ptr @.str3879) + call void @fn_emith(ptr @.str3880) + call void @fn_emith(ptr @.str3881) + call void @fn_emith(ptr @.str3882) + call void @fn_emith(ptr @.str3883) + call void @fn_emith(ptr @.str3884) + call void @fn_emith(ptr @.str3885) + call void @fn_emith(ptr @.str3886) + call void @fn_emith(ptr @.str3887) + call void @fn_emith(ptr @.str3888) + call void @fn_emith(ptr @.str3889) + call void @fn_emith(ptr @.str3890) + call void @fn_emith(ptr @.str3891) + call void @fn_emith(ptr @.str3892) + call void @fn_emith(ptr @.str3893) + call void @fn_emith(ptr @.str3894) + call void @fn_emith(ptr @.str3895) + call void @fn_emith(ptr @.str3896) + call void @fn_emith(ptr @.str3897) + call void @fn_emith(ptr @.str3898) + call void @fn_emith(ptr @.str3899) + call void @fn_emith(ptr @.str3900) + call void @fn_emith(ptr @.str3901) + call void @fn_emith(ptr @.str3902) + call void @fn_emith(ptr @.str3903) + call void @fn_emith(ptr @.str3904) + call void @fn_emith(ptr @.str3905) + call void @fn_emith(ptr @.str3906) + call void @fn_emith(ptr @.str3907) + call void @fn_emith(ptr @.str3908) + call void @fn_emith(ptr @.str3909) + call void @fn_emith(ptr @.str3910) + call void @fn_emith(ptr @.str3911) + call void @fn_emith(ptr @.str3912) + call void @fn_emith(ptr @.str3913) + call void @fn_emith(ptr @.str3914) + call void @fn_emit_fs_normalize() + br label %ret +ret: + ret void +} + +define void @fn_emit_fs_normalize() { +entry: + call void @fn_emith(ptr @.str3915) + call void @fn_emith(ptr @.str3916) + call void @fn_emith(ptr @.str3917) + call void @fn_emith(ptr @.str3918) + call void @fn_emith(ptr @.str3919) + call void @fn_emith(ptr @.str3920) + call void @fn_emith(ptr @.str3921) + call void @fn_emith(ptr @.str3922) + call void @fn_emith(ptr @.str3923) + call void @fn_emith(ptr @.str3924) + call void @fn_emith(ptr @.str3925) + call void @fn_emith(ptr @.str3926) + call void @fn_emith(ptr @.str3927) + call void @fn_emith(ptr @.str3928) + call void @fn_emith(ptr @.str3929) + call void @fn_emith(ptr @.str3930) + call void @fn_emith(ptr @.str3931) + call void @fn_emith(ptr @.str3932) + call void @fn_emith(ptr @.str3933) + call void @fn_emith(ptr @.str3934) + call void @fn_emith(ptr @.str3935) + call void @fn_emith(ptr @.str3936) + call void @fn_emith(ptr @.str3937) + call void @fn_emith(ptr @.str3938) + call void @fn_emith(ptr @.str3939) + call void @fn_emith(ptr @.str3940) + call void @fn_emith(ptr @.str3941) + call void @fn_emith(ptr @.str3942) + call void @fn_emith(ptr @.str3943) + call void @fn_emith(ptr @.str3944) + call void @fn_emith(ptr @.str3945) + call void @fn_emith(ptr @.str3946) + call void @fn_emith(ptr @.str3947) + call void @fn_emith(ptr @.str3948) + call void @fn_emith(ptr @.str3949) + call void @fn_emith(ptr @.str3950) + call void @fn_emith(ptr @.str3951) + br label %ret +ret: + ret void +} + +define void @fn_emit_fs_io() { +entry: + call void @fn_emith(ptr @.str3952) + call void @fn_emith(ptr @.str3953) + call void @fn_emith(ptr @.str3954) + call void @fn_emith(ptr @.str3955) + call void @fn_emith(ptr @.str3956) + call void @fn_emith(ptr @.str3957) + call void @fn_emith(ptr @.str3958) + call void @fn_emith(ptr @.str3959) + call void @fn_emith(ptr @.str3960) + call void @fn_emith(ptr @.str3961) + call void @fn_emith(ptr @.str3962) + call void @fn_emith(ptr @.str3963) + call void @fn_emith(ptr @.str3964) + call void @fn_emith(ptr @.str3965) + call void @fn_emith(ptr @.str3966) + call void @fn_emith(ptr @.str3967) + call void @fn_emith(ptr @.str3968) + call void @fn_emith(ptr @.str3969) + call void @fn_emith(ptr @.str3970) + call void @fn_emith(ptr @.str3971) + call void @fn_emith(ptr @.str3972) + call void @fn_emith(ptr @.str3973) + call void @fn_emith(ptr @.str3974) + call void @fn_emith(ptr @.str3975) + call void @fn_emith(ptr @.str3976) + call void @fn_emith(ptr @.str3977) + call void @fn_emith(ptr @.str3978) + call void @fn_emith(ptr @.str3979) + call void @fn_emith(ptr @.str3980) + call void @fn_emith(ptr @.str3981) + call void @fn_emith(ptr @.str3982) + call void @fn_emith(ptr @.str3983) + call void @fn_emith(ptr @.str3984) + call void @fn_emith(ptr @.str3985) + call void @fn_emith(ptr @.str3986) + call void @fn_emith(ptr @.str3987) + call void @fn_emith(ptr @.str3988) + call void @fn_emith(ptr @.str3989) + call void @fn_emith(ptr @.str3990) + call void @fn_emith(ptr @.str3991) + call void @fn_emith(ptr @.str3992) + call void @fn_emith(ptr @.str3993) + call void @fn_emith(ptr @.str3994) + call void @fn_emith(ptr @.str3995) + call void @fn_emith(ptr @.str3996) + call void @fn_emith(ptr @.str3997) + call void @fn_emith(ptr @.str3998) + call void @fn_emith(ptr @.str3999) + br label %ret +ret: + ret void +} + +define void @fn_emit_fs_dir() { +entry: + call void @fn_emith(ptr @.str4000) + call void @fn_emith(ptr @.str4001) + call void @fn_emith(ptr @.str4002) + call void @fn_emith(ptr @.str4003) + call void @fn_emith(ptr @.str4004) + call void @fn_emith(ptr @.str4005) + call void @fn_emith(ptr @.str4006) + call void @fn_emith(ptr @.str4007) + call void @fn_emith(ptr @.str4008) + call void @fn_emith(ptr @.str4009) + call void @fn_emith(ptr @.str4010) + call void @fn_emith(ptr @.str4011) + call void @fn_emith(ptr @.str4012) + call void @fn_emith(ptr @.str4013) + call void @fn_emith(ptr @.str4014) + call void @fn_emith(ptr @.str4015) + call void @fn_emith(ptr @.str4016) + call void @fn_emith(ptr @.str4017) + call void @fn_emith(ptr @.str4018) + call void @fn_emith(ptr @.str4019) + call void @fn_emith(ptr @.str4020) + call void @fn_emith(ptr @.str4021) + call void @fn_emith(ptr @.str4022) + call void @fn_emith(ptr @.str4023) + 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 @.str4024, 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 @.str4025, 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 @.str4026, 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 @.str4027, 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 @.str4028, 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 @.str4029, 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 @.str4030, 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 @.str4031, 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 @.str4032, 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 @.str4033, 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 @.str4034, 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 @.str4035, 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 @.str4036, 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 @.str4037, 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 @.str4038, 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 @.str4039, 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 @.str4040, 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 @.str4041, 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 @.str4042, 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 @.str4043, 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 @.str4044, 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 @.str4045, 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 @.str4046, 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 @.str4047, 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 @.str4048, 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 @.str4049, 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 @.str4050, 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 @.str4051, 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 @.str4052, 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 @.str4053, 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 @.str4054, 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 @.str4055, 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 @.str4056, 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 @.str4057, 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 @.str4058, 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 @.str4059, 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 @.str4060, 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 @.str4061, 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 @.str4062, 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 @.str4063, 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 @.str4064, 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 @.str4065, 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 @.str4066, 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 @.str4067, 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 @.str4068, 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 @.str4069, 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 @.str4070, 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 @.str4071, ptr %t924 + %t925 = add i32 %t911, 1 + store i32 %t925, ptr %t908 + %t926 = getelementptr %LSlice, ptr null, i32 1 + %t927 = ptrtoint ptr %t926 to i64 + %t928 = call ptr @malloc(i64 %t927) + %t929 = getelementptr inbounds %LSlice, ptr %t928, i32 0, i32 0 + store ptr null, ptr %t929 + %t930 = getelementptr inbounds %LSlice, ptr %t928, i32 0, i32 1 + store i32 0, ptr %t930 + %t931 = getelementptr inbounds %LSlice, ptr %t928, i32 0, i32 2 + store i32 0, ptr %t931 + store ptr %t928, ptr %t932 + %t933 = getelementptr %LSlice, ptr null, i32 1 + %t934 = ptrtoint ptr %t933 to i64 + %t935 = call ptr @malloc(i64 %t934) + %t936 = getelementptr inbounds %LSlice, ptr %t935, i32 0, i32 0 + store ptr null, ptr %t936 + %t937 = getelementptr inbounds %LSlice, ptr %t935, i32 0, i32 1 + store i32 0, ptr %t937 + %t938 = getelementptr inbounds %LSlice, ptr %t935, i32 0, i32 2 + store i32 0, ptr %t938 + store ptr %t935, ptr %t939 + store i32 0, ptr %t940 + br label %wcond96 +wcond96: + %t941 = load i32, ptr %t940 + %t942 = load ptr, ptr %t6 + %t943 = getelementptr inbounds %LSlice, ptr %t942, i32 0, i32 1 + %t944 = load i32, ptr %t943 + %t945 = icmp slt i32 %t941, %t944 + %t946 = zext i1 %t945 to i32 + %t947 = icmp ne i32 %t946, 0 + br i1 %t947, label %wbody97, label %wend98 +wbody97: + %t948 = load ptr, ptr %t932 + %t949 = load ptr, ptr %t6 + %t950 = getelementptr inbounds %LSlice, ptr %t949, i32 0, i32 0 + %t951 = load ptr, ptr %t950 + %t952 = load i32, ptr %t940 + %t953 = getelementptr inbounds ptr, ptr %t951, i32 %t952 + %t954 = load ptr, ptr %t953 + %t955 = call ptr @fn_emit_str_const(ptr %t954) + %t956 = getelementptr inbounds %LSlice, ptr %t948, i32 0, i32 1 + %t957 = getelementptr inbounds %LSlice, ptr %t948, i32 0, i32 2 + %t958 = getelementptr inbounds %LSlice, ptr %t948, i32 0, i32 0 + %t959 = load i32, ptr %t956 + %t960 = load i32, ptr %t957 + %t961 = icmp sge i32 %t959, %t960 + br i1 %t961, label %grow99, label %put100 +grow99: + %t962 = mul i32 %t960, 2 + %t963 = icmp eq i32 %t960, 0 + %t964 = select i1 %t963, i32 8, i32 %t962 + %t965 = getelementptr ptr, ptr null, i32 1 + %t966 = ptrtoint ptr %t965 to i64 + %t967 = zext i32 %t964 to i64 + %t968 = mul i64 %t967, %t966 + %t969 = load ptr, ptr %t958 + %t970 = call ptr @realloc(ptr %t969, i64 %t968) + store ptr %t970, ptr %t958 + store i32 %t964, ptr %t957 + br label %put100 +put100: + %t971 = load ptr, ptr %t958 + %t972 = getelementptr inbounds ptr, ptr %t971, i32 %t959 + store ptr %t955, ptr %t972 + %t973 = add i32 %t959, 1 + store i32 %t973, ptr %t956 + %t974 = load ptr, ptr %t939 + %t975 = load ptr, ptr %t13 + %t976 = getelementptr inbounds %LSlice, ptr %t975, i32 0, i32 0 + %t977 = load ptr, ptr %t976 + %t978 = load i32, ptr %t940 + %t979 = getelementptr inbounds ptr, ptr %t977, i32 %t978 + %t980 = load ptr, ptr %t979 + %t981 = call ptr @fn_emit_str_const(ptr %t980) + %t982 = getelementptr inbounds %LSlice, ptr %t974, i32 0, i32 1 + %t983 = getelementptr inbounds %LSlice, ptr %t974, i32 0, i32 2 + %t984 = getelementptr inbounds %LSlice, ptr %t974, i32 0, i32 0 + %t985 = load i32, ptr %t982 + %t986 = load i32, ptr %t983 + %t987 = icmp sge i32 %t985, %t986 + br i1 %t987, label %grow101, label %put102 +grow101: + %t988 = mul i32 %t986, 2 + %t989 = icmp eq i32 %t986, 0 + %t990 = select i1 %t989, i32 8, i32 %t988 + %t991 = getelementptr ptr, ptr null, i32 1 + %t992 = ptrtoint ptr %t991 to i64 + %t993 = zext i32 %t990 to i64 + %t994 = mul i64 %t993, %t992 + %t995 = load ptr, ptr %t984 + %t996 = call ptr @realloc(ptr %t995, i64 %t994) + store ptr %t996, ptr %t984 + store i32 %t990, ptr %t983 + br label %put102 +put102: + %t997 = load ptr, ptr %t984 + %t998 = getelementptr inbounds ptr, ptr %t997, i32 %t985 + store ptr %t981, ptr %t998 + %t999 = add i32 %t985, 1 + store i32 %t999, ptr %t982 + %t1000 = load i32, ptr %t940 + %t1001 = add i32 %t1000, 1 + store i32 %t1001, ptr %t940 + br label %wcond96 +wend98: + %t1002 = call ptr @fn_emit_str_const(ptr @.str4072) + store ptr %t1002, ptr %t1003 + %t1004 = load ptr, ptr %t6 + %t1005 = getelementptr inbounds %LSlice, ptr %t1004, i32 0, i32 1 + %t1006 = load i32, ptr %t1005 + store i32 %t1006, ptr %t1007 + %t1008 = load i32, ptr %t1007 + %t1009 = call ptr @fn_itoa(i32 %t1008) + %t1010 = call ptr @lp_str_concat(ptr @.str4073, ptr %t1009) + %t1011 = call ptr @lp_str_concat(ptr %t1010, ptr @.str4074) + 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 @.str4075) + br label %ifend108 +ifend108: + %t1023 = load ptr, ptr %t932 + %t1024 = getelementptr inbounds %LSlice, ptr %t1023, i32 0, i32 0 + %t1025 = load ptr, ptr %t1024 + %t1026 = load i32, ptr %t940 + %t1027 = getelementptr inbounds ptr, ptr %t1025, i32 %t1026 + %t1028 = load ptr, ptr %t1027 + %t1029 = call ptr @lp_str_concat(ptr @.str4076, ptr %t1028) + %t1030 = call ptr @lp_str_concat(ptr %t1029, ptr @.str4077) + %t1031 = load ptr, ptr %t939 + %t1032 = getelementptr inbounds %LSlice, ptr %t1031, i32 0, i32 0 + %t1033 = load ptr, ptr %t1032 + %t1034 = load i32, ptr %t940 + %t1035 = getelementptr inbounds ptr, ptr %t1033, i32 %t1034 + %t1036 = load ptr, ptr %t1035 + %t1037 = call ptr @lp_str_concat(ptr %t1030, ptr %t1036) + %t1038 = call ptr @lp_str_concat(ptr %t1037, ptr @.str4078) + 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 @.str4079) + call void @fn_emith(ptr @.str4080) + call void @fn_emith(ptr @.str4081) + %t1041 = load i32, ptr %t1007 + %t1042 = call ptr @fn_itoa(i32 %t1041) + %t1043 = call ptr @lp_str_concat(ptr @.str4082, ptr %t1042) + %t1044 = call ptr @lp_str_concat(ptr %t1043, ptr @.str4083) + call void @fn_emith(ptr %t1044) + %t1045 = load i32, ptr %t1007 + %t1046 = call ptr @fn_itoa(i32 %t1045) + %t1047 = call ptr @lp_str_concat(ptr @.str4084, ptr %t1046) + %t1048 = call ptr @lp_str_concat(ptr %t1047, ptr @.str4085) + call void @fn_emith(ptr %t1048) + %t1049 = load i32, ptr %t1007 + %t1050 = call ptr @fn_itoa(i32 %t1049) + %t1051 = call ptr @lp_str_concat(ptr @.str4086, ptr %t1050) + %t1052 = call ptr @lp_str_concat(ptr %t1051, ptr @.str4087) + call void @fn_emith(ptr %t1052) + call void @fn_emith(ptr @.str4088) + %t1053 = load ptr, ptr %t1003 + %t1054 = call ptr @lp_str_concat(ptr @.str4089, ptr %t1053) + %t1055 = call ptr @lp_str_concat(ptr %t1054, ptr @.str4090) + call void @fn_emith(ptr %t1055) + call void @fn_emith(ptr @.str4091) + call void @fn_emith(ptr @.str4092) + call void @fn_emith(ptr @.str4093) + call void @fn_emith(ptr @.str4094) + call void @fn_emith(ptr @.str4095) + call void @fn_emith(ptr @.str4096) + call void @fn_emith(ptr @.str4097) + call void @fn_emit_fs_sniff() + br label %ret +ret: + ret void +} + +define void @fn_emit_fs_sniff() { +entry: + call void @fn_emith(ptr @.str4098) + call void @fn_emith(ptr @.str4099) + call void @fn_emith(ptr @.str4100) + call void @fn_emith(ptr @.str4101) + call void @fn_emith(ptr @.str4102) + call void @fn_emith(ptr @.str4103) + call void @fn_emith(ptr @.str4104) + call void @fn_emith(ptr @.str4105) + call void @fn_emith(ptr @.str4106) + call void @fn_emith(ptr @.str4107) + call void @fn_emith(ptr @.str4108) + call void @fn_emith(ptr @.str4109) + call void @fn_emith(ptr @.str4110) + call void @fn_emith(ptr @.str4111) + call void @fn_emith(ptr @.str4112) + call void @fn_emith(ptr @.str4113) + call void @fn_emith(ptr @.str4114) + call void @fn_emith(ptr @.str4115) + call void @fn_emith(ptr @.str4116) + call void @fn_emith(ptr @.str4117) + call void @fn_emith(ptr @.str4118) + call void @fn_emith(ptr @.str4119) + call void @fn_emith(ptr @.str4120) + call void @fn_emith(ptr @.str4121) + br label %ret +ret: + ret void +} + +define void @fn_use_pak() { +entry: + store i32 1, ptr @g_g_uses_pak + store i32 1, ptr @g_g_uses_fsrt + br label %ret +ret: + ret void +} + +define void @fn_emit_pak_prelude() { +entry: + %t0 = load i32, ptr @g_g_target_win + %t1 = icmp eq i32 %t0, 0 + %t2 = zext i1 %t1 to i32 + %t3 = icmp ne i32 %t2, 0 + br i1 %t3, label %then0, label %ifend2 +then0: + call void @fn_emith(ptr @.str4122) + call void @fn_emith(ptr @.str4123) + call void @fn_emith(ptr @.str4124) + call void @fn_emith(ptr @.str4125) + call void @fn_emith(ptr @.str4126) + call void @fn_emith(ptr @.str4127) + call void @fn_emith(ptr @.str4128) + br label %ifend2 +ifend2: + call void @fn_emith(ptr @.str4129) + call void @fn_emith(ptr @.str4130) + call void @fn_emith(ptr @.str4131) + call void @fn_emith(ptr @.str4132) + call void @fn_emith(ptr @.str4133) + call void @fn_emith(ptr @.str4134) + call void @fn_emith(ptr @.str4135) + call void @fn_emith(ptr @.str4136) + call void @fn_emith(ptr @.str4137) + %t4 = load i32, ptr @g_g_windowed + %t5 = icmp ne i32 %t4, 0 + br i1 %t5, label %then3, label %ifend5 +then3: + call void @fn_emith(ptr @.str4138) + call void @fn_emith(ptr @.str4139) + call void @fn_emith(ptr @.str4140) + br label %ifend5 +ifend5: + call void @fn_emit_pak_mount() + call void @fn_emit_pak_lookup() + call void @fn_emit_pak_open() + call void @fn_emit_pak_boot() + call void @fn_emith(ptr @.str4141) + call void @fn_emith(ptr @.str4142) + br label %ret +ret: + ret void +} + +define void @fn_emit_pak_mount() { +entry: + call void @fn_emith(ptr @.str4143) + call void @fn_emith(ptr @.str4144) + call void @fn_emith(ptr @.str4145) + call void @fn_emith(ptr @.str4146) + call void @fn_emith(ptr @.str4147) + call void @fn_emith(ptr @.str4148) + call void @fn_emith(ptr @.str4149) + call void @fn_emith(ptr @.str4150) + call void @fn_emith(ptr @.str4151) + call void @fn_emith(ptr @.str4152) + call void @fn_emith(ptr @.str4153) + br label %ret +ret: + ret void +} + +define void @fn_emit_pak_lookup() { +entry: + call void @fn_emith(ptr @.str4154) + call void @fn_emith(ptr @.str4155) + call void @fn_emith(ptr @.str4156) + call void @fn_emith(ptr @.str4157) + call void @fn_emith(ptr @.str4158) + call void @fn_emith(ptr @.str4159) + call void @fn_emith(ptr @.str4160) + call void @fn_emith(ptr @.str4161) + call void @fn_emith(ptr @.str4162) + call void @fn_emith(ptr @.str4163) + call void @fn_emith(ptr @.str4164) + call void @fn_emith(ptr @.str4165) + call void @fn_emith(ptr @.str4166) + call void @fn_emith(ptr @.str4167) + call void @fn_emith(ptr @.str4168) + call void @fn_emith(ptr @.str4169) + call void @fn_emith(ptr @.str4170) + call void @fn_emith(ptr @.str4171) + call void @fn_emith(ptr @.str4172) + call void @fn_emith(ptr @.str4173) + call void @fn_emith(ptr @.str4174) + call void @fn_emith(ptr @.str4175) + call void @fn_emith(ptr @.str4176) + call void @fn_emith(ptr @.str4177) + call void @fn_emith(ptr @.str4178) + call void @fn_emith(ptr @.str4179) + call void @fn_emith(ptr @.str4180) + call void @fn_emith(ptr @.str4181) + call void @fn_emith(ptr @.str4182) + call void @fn_emith(ptr @.str4183) + call void @fn_emith(ptr @.str4184) + call void @fn_emith(ptr @.str4185) + call void @fn_emith(ptr @.str4186) + call void @fn_emith(ptr @.str4187) + call void @fn_emith(ptr @.str4188) + br label %ret +ret: + ret void +} + +define void @fn_emit_pak_open() { +entry: + call void @fn_emith(ptr @.str4189) + call void @fn_emith(ptr @.str4190) + call void @fn_emith(ptr @.str4191) + call void @fn_emith(ptr @.str4192) + call void @fn_emith(ptr @.str4193) + call void @fn_emith(ptr @.str4194) + br label %ret +ret: + ret void +} + +define void @fn_emit_pak_boot() { +entry: + call void @fn_emith(ptr @.str4195) + call void @fn_emith(ptr @.str4196) + call void @fn_emith(ptr @.str4197) + call void @fn_emith(ptr @.str4198) + call void @fn_emith(ptr @.str4199) + call void @fn_emith(ptr @.str4200) + call void @fn_emith(ptr @.str4201) + call void @fn_emith(ptr @.str4202) + call void @fn_emith(ptr @.str4203) + call void @fn_emith(ptr @.str4204) + call void @fn_emith(ptr @.str4205) + call void @fn_emith(ptr @.str4206) + call void @fn_emith(ptr @.str4207) + call void @fn_emith(ptr @.str4208) + call void @fn_emith(ptr @.str4209) + call void @fn_emith(ptr @.str4210) + call void @fn_emith(ptr @.str4211) + call void @fn_emith(ptr @.str4212) + call void @fn_emith(ptr @.str4213) + call void @fn_emith(ptr @.str4214) + call void @fn_emith(ptr @.str4215) + call void @fn_emith(ptr @.str4216) + call void @fn_emith(ptr @.str4217) + call void @fn_emith(ptr @.str4218) + call void @fn_emith(ptr @.str4219) + call void @fn_emith(ptr @.str4220) + call void @fn_emith(ptr @.str4221) + call void @fn_emith(ptr @.str4222) + call void @fn_emith(ptr @.str4223) + call void @fn_emith(ptr @.str4224) + call void @fn_emith(ptr @.str4225) + call void @fn_emith(ptr @.str4226) + call void @fn_emith(ptr @.str4227) + %t0 = load i32, ptr @g_g_target_win + %t1 = icmp ne i32 %t0, 0 + br i1 %t1, label %then0, label %else1 +then0: + call void @fn_emith(ptr @.str4228) + call void @fn_emith(ptr @.str4229) + br label %ifend2 +else1: + call void @fn_emith(ptr @.str4230) + call void @fn_emith(ptr @.str4231) + br label %ifend2 +ifend2: + call void @fn_emith(ptr @.str4232) + call void @fn_emith(ptr @.str4233) + call void @fn_emith(ptr @.str4234) + call void @fn_emith(ptr @.str4235) + call void @fn_emith(ptr @.str4236) + call void @fn_emith(ptr @.str4237) + call void @fn_emith(ptr @.str4238) + call void @fn_emith(ptr @.str4239) + call void @fn_emith(ptr @.str4240) + call void @fn_emith(ptr @.str4241) + %t2 = load i32, ptr @g_g_windowed + %t3 = icmp ne i32 %t2, 0 + br i1 %t3, label %then3, label %ifend5 +then3: + call void @fn_emith(ptr @.str4242) + br label %ifend5 +ifend5: + call void @fn_emith(ptr @.str4243) + call void @fn_emith(ptr @.str4244) + %t4 = load i32, ptr @g_g_windowed + %t5 = icmp ne i32 %t4, 0 + br i1 %t5, label %then6, label %ifend8 +then6: + call void @fn_emith(ptr @.str4245) + call void @fn_emith(ptr @.str4246) + call void @fn_emith(ptr @.str4247) + call void @fn_emith(ptr @.str4248) + call void @fn_emith(ptr @.str4249) + call void @fn_emith(ptr @.str4250) + call void @fn_emith(ptr @.str4251) + call void @fn_emith(ptr @.str4252) + call void @fn_emith(ptr @.str4253) + call void @fn_emith(ptr @.str4254) + call void @fn_emith(ptr @.str4255) + call void @fn_emith(ptr @.str4256) + call void @fn_emith(ptr @.str4257) + call void @fn_emith(ptr @.str4258) + call void @fn_emith(ptr @.str4259) + call void @fn_emith(ptr @.str4260) + br label %ifend8 +ifend8: + br label %ret +ret: + ret void +} + +define void @fn_emit_win_prelude() { +entry: + call void @fn_emith(ptr @.str4261) + call void @fn_emith(ptr @.str4262) + call void @fn_emith(ptr @.str4263) + call void @fn_emith(ptr @.str4264) + call void @fn_emith(ptr @.str4265) + call void @fn_emith(ptr @.str4266) + call void @fn_emith(ptr @.str4267) + call void @fn_emith(ptr @.str4268) + call void @fn_emith(ptr @.str4269) + call void @fn_emith(ptr @.str4270) + call void @fn_emith(ptr @.str4271) + call void @fn_emith(ptr @.str4272) + call void @fn_emith(ptr @.str4273) + call void @fn_emith(ptr @.str4274) + call void @fn_emith(ptr @.str4275) + call void @fn_emith(ptr @.str4276) + call void @fn_emith(ptr @.str4277) + call void @fn_emith(ptr @.str4278) + call void @fn_emith(ptr @.str4279) + call void @fn_emith(ptr @.str4280) + call void @fn_emith(ptr @.str4281) + call void @fn_emith(ptr @.str4282) + call void @fn_emith(ptr @.str4283) + call void @fn_emith(ptr @.str4284) + call void @fn_emith(ptr @.str4285) + call void @fn_emith(ptr @.str4286) + call void @fn_emith(ptr @.str4287) + call void @fn_emith(ptr @.str4288) + call void @fn_emith(ptr @.str4289) + call void @fn_emith(ptr @.str4290) + call void @fn_emith(ptr @.str4291) + call void @fn_emith(ptr @.str4292) + call void @fn_emith(ptr @.str4293) + call void @fn_emith(ptr @.str4294) + call void @fn_emith(ptr @.str4295) + call void @fn_emith(ptr @.str4296) + call void @fn_emith(ptr @.str4297) + call void @fn_emit_win_stdio() + call void @fn_emit_win_files() + call void @fn_emit_win_dirs() + call void @fn_emit_win_maps() + call void @fn_emit_win_process() + br label %ret +ret: + ret void +} + +define void @fn_emit_win_stdio() { +entry: + call void @fn_emith(ptr @.str4298) + call void @fn_emith(ptr @.str4299) + call void @fn_emith(ptr @.str4300) + call void @fn_emith(ptr @.str4301) + call void @fn_emith(ptr @.str4302) + call void @fn_emith(ptr @.str4303) + call void @fn_emith(ptr @.str4304) + call void @fn_emith(ptr @.str4305) + call void @fn_emith(ptr @.str4306) + call void @fn_emith(ptr @.str4307) + call void @fn_emith(ptr @.str4308) + call void @fn_emith(ptr @.str4309) + br label %ret +ret: + ret void +} + +define void @fn_emit_win_files() { +entry: + call void @fn_emith(ptr @.str4310) + call void @fn_emith(ptr @.str4311) + call void @fn_emith(ptr @.str4312) + call void @fn_emith(ptr @.str4313) + call void @fn_emith(ptr @.str4314) + call void @fn_emith(ptr @.str4315) + call void @fn_emith(ptr @.str4316) + call void @fn_emith(ptr @.str4317) + call void @fn_emith(ptr @.str4318) + call void @fn_emith(ptr @.str4319) + call void @fn_emith(ptr @.str4320) + call void @fn_emith(ptr @.str4321) + call void @fn_emith(ptr @.str4322) + call void @fn_emith(ptr @.str4323) + call void @fn_emith(ptr @.str4324) + call void @fn_emith(ptr @.str4325) + call void @fn_emith(ptr @.str4326) + call void @fn_emith(ptr @.str4327) + call void @fn_emith(ptr @.str4328) + call void @fn_emith(ptr @.str4329) + br label %ret +ret: + ret void +} + +define void @fn_emit_win_dirs() { +entry: + call void @fn_emith(ptr @.str4330) + call void @fn_emith(ptr @.str4331) + call void @fn_emith(ptr @.str4332) + call void @fn_emith(ptr @.str4333) + call void @fn_emith(ptr @.str4334) + call void @fn_emith(ptr @.str4335) + call void @fn_emith(ptr @.str4336) + call void @fn_emith(ptr @.str4337) + call void @fn_emith(ptr @.str4338) + call void @fn_emith(ptr @.str4339) + call void @fn_emith(ptr @.str4340) + call void @fn_emith(ptr @.str4341) + call void @fn_emith(ptr @.str4342) + call void @fn_emith(ptr @.str4343) + br label %ret +ret: + ret void +} + +define void @fn_emit_win_maps() { +entry: + call void @fn_emith(ptr @.str4344) + call void @fn_emith(ptr @.str4345) + call void @fn_emith(ptr @.str4346) + call void @fn_emith(ptr @.str4347) + call void @fn_emith(ptr @.str4348) + call void @fn_emith(ptr @.str4349) + call void @fn_emith(ptr @.str4350) + call void @fn_emith(ptr @.str4351) + call void @fn_emith(ptr @.str4352) + call void @fn_emith(ptr @.str4353) + call void @fn_emith(ptr @.str4354) + call void @fn_emith(ptr @.str4355) + call void @fn_emith(ptr @.str4356) + call void @fn_emith(ptr @.str4357) + call void @fn_emith(ptr @.str4358) + br label %ret +ret: + ret void +} + +define void @fn_emit_win_process() { +entry: + call void @fn_emith(ptr @.str4359) + call void @fn_emith(ptr @.str4360) + call void @fn_emith(ptr @.str4361) + call void @fn_emith(ptr @.str4362) + call void @fn_emith(ptr @.str4363) + call void @fn_emith(ptr @.str4364) + call void @fn_emith(ptr @.str4365) + call void @fn_emith(ptr @.str4366) + call void @fn_emith(ptr @.str4367) + call void @fn_emith(ptr @.str4368) + call void @fn_emith(ptr @.str4369) + br label %ret +ret: + ret void +} + +define void @fn_emit_os_win_known(ptr %arg_k_dot, ptr %arg_k_slash) { +entry: + %t0 = alloca ptr + %t1 = alloca ptr + %t3 = alloca ptr + %t5 = alloca ptr + %t7 = alloca ptr + %t9 = alloca ptr + %t11 = alloca ptr + %t13 = alloca ptr + %t15 = alloca ptr + store ptr %arg_k_dot, ptr %t0 + store ptr %arg_k_slash, ptr %t1 + %t2 = call ptr @fn_emit_str_const(ptr @.str4370) + store ptr %t2, ptr %t3 + %t4 = call ptr @fn_emit_str_const(ptr @.str4371) + store ptr %t4, ptr %t5 + %t6 = call ptr @fn_emit_str_const(ptr @.str4372) + store ptr %t6, ptr %t7 + %t8 = call ptr @fn_emit_str_const(ptr @.str4373) + store ptr %t8, ptr %t9 + %t10 = call ptr @fn_emit_str_const(ptr @.str4374) + store ptr %t10, ptr %t11 + %t12 = call ptr @fn_emit_str_const(ptr @.str4375) + store ptr %t12, ptr %t13 + %t14 = call ptr @fn_emit_str_const(ptr @.str4376) + store ptr %t14, ptr %t15 + %t16 = load ptr, ptr %t3 + %t17 = call ptr @lp_str_concat(ptr @.str4377, ptr %t16) + %t18 = call ptr @lp_str_concat(ptr %t17, ptr @.str4378) + %t19 = load ptr, ptr %t0 + %t20 = call ptr @lp_str_concat(ptr %t18, ptr %t19) + %t21 = call ptr @lp_str_concat(ptr %t20, ptr @.str4379) + call void @fn_emith(ptr %t21) + call void @fn_emith(ptr @.str4380) + call void @fn_emith(ptr @.str4381) + call void @fn_emith(ptr @.str4382) + call void @fn_emith(ptr @.str4383) + %t22 = load ptr, ptr %t1 + %t23 = call ptr @lp_str_concat(ptr @.str4384, ptr %t22) + %t24 = call ptr @lp_str_concat(ptr %t23, ptr @.str4385) + call void @fn_emith(ptr %t24) + %t25 = load ptr, ptr %t5 + %t26 = call ptr @lp_str_concat(ptr @.str4386, ptr %t25) + %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str4387) + call void @fn_emith(ptr %t27) + %t28 = load ptr, ptr %t5 + %t29 = call ptr @lp_str_concat(ptr @.str4388, ptr %t28) + %t30 = call ptr @lp_str_concat(ptr %t29, ptr @.str4389) + call void @fn_emith(ptr %t30) + %t31 = load ptr, ptr %t7 + %t32 = call ptr @lp_str_concat(ptr @.str4390, ptr %t31) + %t33 = call ptr @lp_str_concat(ptr %t32, ptr @.str4391) + call void @fn_emith(ptr %t33) + %t34 = load ptr, ptr %t9 + %t35 = call ptr @lp_str_concat(ptr @.str4392, ptr %t34) + %t36 = call ptr @lp_str_concat(ptr %t35, ptr @.str4393) + %t37 = load ptr, ptr %t0 + %t38 = call ptr @lp_str_concat(ptr %t36, ptr %t37) + %t39 = call ptr @lp_str_concat(ptr %t38, ptr @.str4394) + %t40 = load ptr, ptr %t11 + %t41 = call ptr @lp_str_concat(ptr %t39, ptr %t40) + %t42 = call ptr @lp_str_concat(ptr %t41, ptr @.str4395) + call void @fn_emith(ptr %t42) + %t43 = load ptr, ptr %t13 + %t44 = call ptr @lp_str_concat(ptr @.str4396, ptr %t43) + %t45 = call ptr @lp_str_concat(ptr %t44, ptr @.str4397) + call void @fn_emith(ptr %t45) + %t46 = load ptr, ptr %t15 + %t47 = call ptr @lp_str_concat(ptr @.str4398, ptr %t46) + %t48 = call ptr @lp_str_concat(ptr %t47, ptr @.str4399) + call void @fn_emith(ptr %t48) + call void @fn_emith(ptr @.str4400) + call void @fn_emith(ptr @.str4401) + call void @fn_emith(ptr @.str4402) + call void @fn_emith(ptr @.str4403) + call void @fn_emith(ptr @.str4404) + call void @fn_emith(ptr @.str4405) + call void @fn_emith(ptr @.str4406) + br label %ret +ret: + ret void +} + +define ptr @fn_list_elem_addr(ptr %arg_h, ptr %arg_elt, ptr %arg_idx) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t1 = alloca ptr + %t2 = alloca ptr + %t5 = alloca ptr + %t9 = alloca ptr + store ptr %arg_h, ptr %t0 + store ptr %arg_elt, ptr %t1 + store ptr %arg_idx, ptr %t2 + %t3 = load ptr, ptr %t0 + %t4 = call ptr @fn_slice_field(ptr %t3, i32 0) + store ptr %t4, ptr %t5 + %t6 = load ptr, ptr %t5 + %t7 = call ptr @lp_str_concat(ptr @.str4407, ptr %t6) + %t8 = call ptr @fn_emit_bind(ptr %t7) + store ptr %t8, ptr %t9 + %t10 = load ptr, ptr %t1 + %t11 = call ptr @lp_str_concat(ptr @.str4408, ptr %t10) + %t12 = call ptr @lp_str_concat(ptr %t11, ptr @.str4409) + %t13 = load ptr, ptr %t9 + %t14 = call ptr @lp_str_concat(ptr %t12, ptr %t13) + %t15 = call ptr @lp_str_concat(ptr %t14, ptr @.str4410) + %t16 = load ptr, ptr %t2 + %t17 = call ptr @lp_str_concat(ptr %t15, ptr %t16) + %t18 = call ptr @fn_emit_bind(ptr %t17) + store ptr %t18, ptr %retval + br label %ret +ret: + %t19 = load ptr, ptr %retval + ret ptr %t19 +} + +define i32 @fn_is_list_ns(ptr %arg_meth) { +entry: + %retval = alloca i32 + %t0 = alloca ptr + %t1 = alloca i32 + %t2 = alloca i32 + %t3 = alloca i32 + %t28 = alloca i32 + %t29 = alloca i32 + %t30 = alloca i32 + %t55 = alloca i32 + %t56 = alloca i32 + %t74 = alloca i32 + %t75 = alloca i32 + %t76 = alloca i32 + %t101 = alloca i32 + %t102 = alloca i32 + store ptr %arg_meth, ptr %t0 + %t4 = load ptr, ptr %t0 + %t5 = call i32 @lp_str_eq(ptr %t4, ptr @.str4411) + %t6 = icmp ne i32 %t5, 0 + %t7 = zext i1 %t6 to i32 + store i32 %t7, ptr %t3 + br i1 %t6, label %scend1, label %sc0 +sc0: + %t8 = load ptr, ptr %t0 + %t9 = call i32 @lp_str_eq(ptr %t8, ptr @.str4412) + %t10 = icmp ne i32 %t9, 0 + %t11 = zext i1 %t10 to i32 + store i32 %t11, ptr %t3 + br label %scend1 +scend1: + %t12 = load i32, ptr %t3 + %t13 = icmp ne i32 %t12, 0 + %t14 = zext i1 %t13 to i32 + store i32 %t14, ptr %t2 + br i1 %t13, label %scend3, label %sc2 +sc2: + %t15 = load ptr, ptr %t0 + %t16 = call i32 @lp_str_eq(ptr %t15, ptr @.str4413) + %t17 = icmp ne i32 %t16, 0 + %t18 = zext i1 %t17 to i32 + store i32 %t18, ptr %t2 + br label %scend3 +scend3: + %t19 = load i32, ptr %t2 + %t20 = icmp ne i32 %t19, 0 + %t21 = zext i1 %t20 to i32 + store i32 %t21, ptr %t1 + br i1 %t20, label %scend5, label %sc4 +sc4: + %t22 = load ptr, ptr %t0 + %t23 = call i32 @lp_str_eq(ptr %t22, ptr @.str4414) + %t24 = icmp ne i32 %t23, 0 + %t25 = zext i1 %t24 to i32 + store i32 %t25, ptr %t1 + br label %scend5 +scend5: + %t26 = load i32, ptr %t1 + %t27 = icmp ne i32 %t26, 0 + br i1 %t27, label %then6, label %ifend8 +then6: + store i32 1, ptr %retval + br label %ret +ifend8: + %t31 = load ptr, ptr %t0 + %t32 = call i32 @lp_str_eq(ptr %t31, ptr @.str4415) + %t33 = icmp ne i32 %t32, 0 + %t34 = zext i1 %t33 to i32 + store i32 %t34, ptr %t30 + br i1 %t33, label %scend10, label %sc9 +sc9: + %t35 = load ptr, ptr %t0 + %t36 = call i32 @lp_str_eq(ptr %t35, ptr @.str4416) + %t37 = icmp ne i32 %t36, 0 + %t38 = zext i1 %t37 to i32 + store i32 %t38, ptr %t30 + br label %scend10 +scend10: + %t39 = load i32, ptr %t30 + %t40 = icmp ne i32 %t39, 0 + %t41 = zext i1 %t40 to i32 + store i32 %t41, ptr %t29 + br i1 %t40, label %scend12, label %sc11 +sc11: + %t42 = load ptr, ptr %t0 + %t43 = call i32 @lp_str_eq(ptr %t42, ptr @.str4417) + %t44 = icmp ne i32 %t43, 0 + %t45 = zext i1 %t44 to i32 + store i32 %t45, ptr %t29 + br label %scend12 +scend12: + %t46 = load i32, ptr %t29 + %t47 = icmp ne i32 %t46, 0 + %t48 = zext i1 %t47 to i32 + store i32 %t48, ptr %t28 + br i1 %t47, label %scend14, label %sc13 +sc13: + %t49 = load ptr, ptr %t0 + %t50 = call i32 @lp_str_eq(ptr %t49, ptr @.str4418) + %t51 = icmp ne i32 %t50, 0 + %t52 = zext i1 %t51 to i32 + store i32 %t52, ptr %t28 + br label %scend14 +scend14: + %t53 = load i32, ptr %t28 + %t54 = icmp ne i32 %t53, 0 + br i1 %t54, label %then15, label %ifend17 +then15: + store i32 1, ptr %retval + br label %ret +ifend17: + %t57 = load ptr, ptr %t0 + %t58 = call i32 @lp_str_eq(ptr %t57, ptr @.str4419) + %t59 = icmp ne i32 %t58, 0 + %t60 = zext i1 %t59 to i32 + store i32 %t60, ptr %t56 + br i1 %t59, label %scend19, label %sc18 +sc18: + %t61 = load ptr, ptr %t0 + %t62 = call i32 @lp_str_eq(ptr %t61, ptr @.str4420) + %t63 = icmp ne i32 %t62, 0 + %t64 = zext i1 %t63 to i32 + store i32 %t64, ptr %t56 + br label %scend19 +scend19: + %t65 = load i32, ptr %t56 + %t66 = icmp ne i32 %t65, 0 + %t67 = zext i1 %t66 to i32 + store i32 %t67, ptr %t55 + br i1 %t66, label %scend21, label %sc20 +sc20: + %t68 = load ptr, ptr %t0 + %t69 = call i32 @lp_str_eq(ptr %t68, ptr @.str4421) + %t70 = icmp ne i32 %t69, 0 + %t71 = zext i1 %t70 to i32 + store i32 %t71, ptr %t55 + br label %scend21 +scend21: + %t72 = load i32, ptr %t55 + %t73 = icmp ne i32 %t72, 0 + br i1 %t73, label %then22, label %ifend24 +then22: + store i32 1, ptr %retval + br label %ret +ifend24: + %t77 = load ptr, ptr %t0 + %t78 = call i32 @lp_str_eq(ptr %t77, ptr @.str4422) + %t79 = icmp ne i32 %t78, 0 + %t80 = zext i1 %t79 to i32 + store i32 %t80, ptr %t76 + br i1 %t79, label %scend26, label %sc25 +sc25: + %t81 = load ptr, ptr %t0 + %t82 = call i32 @lp_str_eq(ptr %t81, ptr @.str4423) + %t83 = icmp ne i32 %t82, 0 + %t84 = zext i1 %t83 to i32 + store i32 %t84, ptr %t76 + br label %scend26 +scend26: + %t85 = load i32, ptr %t76 + %t86 = icmp ne i32 %t85, 0 + %t87 = zext i1 %t86 to i32 + store i32 %t87, ptr %t75 + br i1 %t86, label %scend28, label %sc27 +sc27: + %t88 = load ptr, ptr %t0 + %t89 = call i32 @lp_str_eq(ptr %t88, ptr @.str4424) + %t90 = icmp ne i32 %t89, 0 + %t91 = zext i1 %t90 to i32 + store i32 %t91, ptr %t75 + br label %scend28 +scend28: + %t92 = load i32, ptr %t75 + %t93 = icmp ne i32 %t92, 0 + %t94 = zext i1 %t93 to i32 + store i32 %t94, ptr %t74 + br i1 %t93, label %scend30, label %sc29 +sc29: + %t95 = load ptr, ptr %t0 + %t96 = call i32 @lp_str_eq(ptr %t95, ptr @.str4425) + %t97 = icmp ne i32 %t96, 0 + %t98 = zext i1 %t97 to i32 + store i32 %t98, ptr %t74 + br label %scend30 +scend30: + %t99 = load i32, ptr %t74 + %t100 = icmp ne i32 %t99, 0 + br i1 %t100, label %then31, label %ifend33 +then31: + store i32 1, ptr %retval + br label %ret +ifend33: + %t103 = load ptr, ptr %t0 + %t104 = call i32 @lp_str_eq(ptr %t103, ptr @.str4426) + %t105 = icmp ne i32 %t104, 0 + %t106 = zext i1 %t105 to i32 + store i32 %t106, ptr %t102 + br i1 %t105, label %scend35, label %sc34 +sc34: + %t107 = load ptr, ptr %t0 + %t108 = call i32 @lp_str_eq(ptr %t107, ptr @.str4427) + %t109 = icmp ne i32 %t108, 0 + %t110 = zext i1 %t109 to i32 + store i32 %t110, ptr %t102 + br label %scend35 +scend35: + %t111 = load i32, ptr %t102 + %t112 = icmp ne i32 %t111, 0 + %t113 = zext i1 %t112 to i32 + store i32 %t113, ptr %t101 + br i1 %t112, label %scend37, label %sc36 +sc36: + %t114 = load ptr, ptr %t0 + %t115 = call i32 @lp_str_eq(ptr %t114, ptr @.str4428) + %t116 = icmp ne i32 %t115, 0 + %t117 = zext i1 %t116 to i32 + store i32 %t117, ptr %t101 + br label %scend37 +scend37: + %t118 = load i32, ptr %t101 + %t119 = icmp ne i32 %t118, 0 + br i1 %t119, label %then38, label %ifend40 +then38: + store i32 1, ptr %retval + br label %ret +ifend40: + store i32 0, ptr %retval + br label %ret +ret: + %t120 = load i32, ptr %retval + ret i32 %t120 +} + +define void @fn_list_grow_if_full(ptr %arg_h, ptr %arg_elt) { +entry: + %t0 = alloca ptr + %t1 = alloca ptr + %t4 = alloca ptr + %t7 = alloca ptr + %t10 = alloca ptr + %t14 = alloca ptr + %t18 = alloca ptr + %t25 = alloca ptr + %t27 = alloca ptr + %t29 = alloca ptr + %t38 = alloca ptr + %t43 = alloca ptr + %t50 = alloca ptr + %t53 = alloca ptr + %t58 = alloca ptr + %t65 = alloca ptr + %t69 = alloca ptr + %t77 = alloca ptr + store ptr %arg_h, ptr %t0 + store ptr %arg_elt, ptr %t1 + %t2 = load ptr, ptr %t0 + %t3 = call ptr @fn_slice_field(ptr %t2, i32 1) + store ptr %t3, ptr %t4 + %t5 = load ptr, ptr %t0 + %t6 = call ptr @fn_slice_field(ptr %t5, i32 2) + store ptr %t6, ptr %t7 + %t8 = load ptr, ptr %t0 + %t9 = call ptr @fn_slice_field(ptr %t8, i32 0) + store ptr %t9, ptr %t10 + %t11 = load ptr, ptr %t4 + %t12 = call ptr @lp_str_concat(ptr @.str4429, ptr %t11) + %t13 = call ptr @fn_emit_bind(ptr %t12) + store ptr %t13, ptr %t14 + %t15 = load ptr, ptr %t7 + %t16 = call ptr @lp_str_concat(ptr @.str4430, ptr %t15) + %t17 = call ptr @fn_emit_bind(ptr %t16) + store ptr %t17, ptr %t18 + %t19 = load ptr, ptr %t14 + %t20 = call ptr @lp_str_concat(ptr @.str4431, ptr %t19) + %t21 = call ptr @lp_str_concat(ptr %t20, ptr @.str4432) + %t22 = load ptr, ptr %t18 + %t23 = call ptr @lp_str_concat(ptr %t21, ptr %t22) + %t24 = call ptr @fn_emit_bind(ptr %t23) + store ptr %t24, ptr %t25 + %t26 = call ptr @fn_lbl(ptr @.str4433) + store ptr %t26, ptr %t27 + %t28 = call ptr @fn_lbl(ptr @.str4434) + store ptr %t28, ptr %t29 + call void @fn_emit(ptr @.str4435) + %t30 = load ptr, ptr %t25 + call void @fn_emit(ptr %t30) + call void @fn_emit(ptr @.str4436) + %t31 = load ptr, ptr %t27 + call void @fn_emit(ptr %t31) + call void @fn_emit(ptr @.str4437) + %t32 = load ptr, ptr %t29 + call void @fn_emit(ptr %t32) + call void @fn_emit(ptr @.str4438) + %t33 = load ptr, ptr %t27 + call void @fn_emit(ptr %t33) + call void @fn_emit(ptr @.str4439) + %t34 = load ptr, ptr %t18 + %t35 = call ptr @lp_str_concat(ptr @.str4440, ptr %t34) + %t36 = call ptr @lp_str_concat(ptr %t35, ptr @.str4441) + %t37 = call ptr @fn_emit_bind(ptr %t36) + store ptr %t37, ptr %t38 + %t39 = load ptr, ptr %t18 + %t40 = call ptr @lp_str_concat(ptr @.str4442, ptr %t39) + %t41 = call ptr @lp_str_concat(ptr %t40, ptr @.str4443) + %t42 = call ptr @fn_emit_bind(ptr %t41) + store ptr %t42, ptr %t43 + %t44 = load ptr, ptr %t43 + %t45 = call ptr @lp_str_concat(ptr @.str4444, ptr %t44) + %t46 = call ptr @lp_str_concat(ptr %t45, ptr @.str4445) + %t47 = load ptr, ptr %t38 + %t48 = call ptr @lp_str_concat(ptr %t46, ptr %t47) + %t49 = call ptr @fn_emit_bind(ptr %t48) + store ptr %t49, ptr %t50 + %t51 = load ptr, ptr %t1 + %t52 = call ptr @fn_emit_sizeof(ptr %t51) + store ptr %t52, ptr %t53 + %t54 = load ptr, ptr %t50 + %t55 = call ptr @lp_str_concat(ptr @.str4446, ptr %t54) + %t56 = call ptr @lp_str_concat(ptr %t55, ptr @.str4447) + %t57 = call ptr @fn_emit_bind(ptr %t56) + store ptr %t57, ptr %t58 + %t59 = load ptr, ptr %t58 + %t60 = call ptr @lp_str_concat(ptr @.str4448, ptr %t59) + %t61 = call ptr @lp_str_concat(ptr %t60, ptr @.str4449) + %t62 = load ptr, ptr %t53 + %t63 = call ptr @lp_str_concat(ptr %t61, ptr %t62) + %t64 = call ptr @fn_emit_bind(ptr %t63) + store ptr %t64, ptr %t65 + %t66 = load ptr, ptr %t10 + %t67 = call ptr @lp_str_concat(ptr @.str4450, ptr %t66) + %t68 = call ptr @fn_emit_bind(ptr %t67) + store ptr %t68, ptr %t69 + %t70 = load ptr, ptr %t69 + %t71 = call ptr @lp_str_concat(ptr @.str4451, ptr %t70) + %t72 = call ptr @lp_str_concat(ptr %t71, ptr @.str4452) + %t73 = load ptr, ptr %t65 + %t74 = call ptr @lp_str_concat(ptr %t72, ptr %t73) + %t75 = call ptr @lp_str_concat(ptr %t74, ptr @.str4453) + %t76 = call ptr @fn_emit_bind(ptr %t75) + store ptr %t76, ptr %t77 + call void @fn_emit(ptr @.str4454) + %t78 = load ptr, ptr %t77 + call void @fn_emit(ptr %t78) + call void @fn_emit(ptr @.str4455) + %t79 = load ptr, ptr %t10 + call void @fn_emit(ptr %t79) + call void @fn_emit(ptr @.str4456) + call void @fn_emit(ptr @.str4457) + %t80 = load ptr, ptr %t50 + call void @fn_emit(ptr %t80) + call void @fn_emit(ptr @.str4458) + %t81 = load ptr, ptr %t7 + call void @fn_emit(ptr %t81) + call void @fn_emit(ptr @.str4459) + call void @fn_emit(ptr @.str4460) + %t82 = load ptr, ptr %t29 + call void @fn_emit(ptr %t82) + call void @fn_emit(ptr @.str4461) + %t83 = load ptr, ptr %t29 + call void @fn_emit(ptr %t83) + call void @fn_emit(ptr @.str4462) + br label %ret +ret: + ret void +} + +define ptr @fn_gep_at(ptr %arg_base, ptr %arg_elt, ptr %arg_idx) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t1 = alloca ptr + %t2 = alloca ptr + store ptr %arg_base, ptr %t0 + store ptr %arg_elt, ptr %t1 + store ptr %arg_idx, ptr %t2 + %t3 = load ptr, ptr %t1 + %t4 = call ptr @lp_str_concat(ptr @.str4463, ptr %t3) + %t5 = call ptr @lp_str_concat(ptr %t4, ptr @.str4464) + %t6 = load ptr, ptr %t0 + %t7 = call ptr @lp_str_concat(ptr %t5, ptr %t6) + %t8 = call ptr @lp_str_concat(ptr %t7, ptr @.str4465) + %t9 = load ptr, ptr %t2 + %t10 = call ptr @lp_str_concat(ptr %t8, ptr %t9) + %t11 = call ptr @fn_emit_bind(ptr %t10) + store ptr %t11, ptr %retval + br label %ret +ret: + %t12 = load ptr, ptr %retval + ret ptr %t12 +} + +define ptr @fn_emit_takeright(ptr %arg_elt, i32 %arg_mode, ptr %arg_fnsym, ptr %arg_keyll, ptr %arg_av, ptr %arg_bv) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t1 = alloca i32 + %t2 = alloca ptr + %t3 = alloca ptr + %t4 = alloca ptr + %t5 = alloca ptr + %t39 = alloca ptr + %t57 = alloca ptr + %t71 = alloca ptr + store ptr %arg_elt, ptr %t0 + store i32 %arg_mode, ptr %t1 + store ptr %arg_fnsym, ptr %t2 + store ptr %arg_keyll, ptr %t3 + store ptr %arg_av, ptr %t4 + store ptr %arg_bv, ptr %t5 + %t6 = load i32, ptr %t1 + %t7 = icmp eq i32 %t6, 3 + %t8 = zext i1 %t7 to i32 + %t9 = icmp ne i32 %t8, 0 + br i1 %t9, label %then0, label %ifend2 +then0: + %t10 = load ptr, ptr %t0 + %t11 = call ptr @lp_str_concat(ptr @.str4466, ptr %t10) + %t12 = call ptr @lp_str_concat(ptr %t11, ptr @.str4467) + %t13 = load ptr, ptr %t5 + %t14 = call ptr @lp_str_concat(ptr %t12, ptr %t13) + %t15 = call ptr @lp_str_concat(ptr %t14, ptr @.str4468) + %t16 = load ptr, ptr %t4 + %t17 = call ptr @lp_str_concat(ptr %t15, ptr %t16) + %t18 = call ptr @fn_emit_bind(ptr %t17) + store ptr %t18, ptr %retval + br label %ret +ifend2: + %t19 = load i32, ptr %t1 + %t20 = icmp eq i32 %t19, 0 + %t21 = zext i1 %t20 to i32 + %t22 = icmp ne i32 %t21, 0 + br i1 %t22, label %then3, label %ifend5 +then3: + %t23 = load ptr, ptr %t2 + %t24 = call ptr @lp_str_concat(ptr @.str4469, ptr %t23) + %t25 = call ptr @lp_str_concat(ptr %t24, ptr @.str4470) + %t26 = load ptr, ptr %t0 + %t27 = call ptr @lp_str_concat(ptr %t25, ptr %t26) + %t28 = call ptr @lp_str_concat(ptr %t27, ptr @.str4471) + %t29 = load ptr, ptr %t4 + %t30 = call ptr @lp_str_concat(ptr %t28, ptr %t29) + %t31 = call ptr @lp_str_concat(ptr %t30, ptr @.str4472) + %t32 = load ptr, ptr %t0 + %t33 = call ptr @lp_str_concat(ptr %t31, ptr %t32) + %t34 = call ptr @lp_str_concat(ptr %t33, ptr @.str4473) + %t35 = load ptr, ptr %t5 + %t36 = call ptr @lp_str_concat(ptr %t34, ptr %t35) + %t37 = call ptr @lp_str_concat(ptr %t36, ptr @.str4474) + %t38 = call ptr @fn_emit_bind(ptr %t37) + store ptr %t38, ptr %t39 + %t40 = load ptr, ptr %t39 + %t41 = call ptr @lp_str_concat(ptr @.str4475, ptr %t40) + %t42 = call ptr @lp_str_concat(ptr %t41, ptr @.str4476) + %t43 = call ptr @fn_emit_bind(ptr %t42) + store ptr %t43, ptr %retval + br label %ret +ifend5: + %t44 = load ptr, ptr %t3 + %t45 = call ptr @lp_str_concat(ptr @.str4477, ptr %t44) + %t46 = call ptr @lp_str_concat(ptr %t45, ptr @.str4478) + %t47 = load ptr, ptr %t2 + %t48 = call ptr @lp_str_concat(ptr %t46, ptr %t47) + %t49 = call ptr @lp_str_concat(ptr %t48, ptr @.str4479) + %t50 = load ptr, ptr %t0 + %t51 = call ptr @lp_str_concat(ptr %t49, ptr %t50) + %t52 = call ptr @lp_str_concat(ptr %t51, ptr @.str4480) + %t53 = load ptr, ptr %t4 + %t54 = call ptr @lp_str_concat(ptr %t52, ptr %t53) + %t55 = call ptr @lp_str_concat(ptr %t54, ptr @.str4481) + %t56 = call ptr @fn_emit_bind(ptr %t55) + store ptr %t56, ptr %t57 + %t58 = load ptr, ptr %t3 + %t59 = call ptr @lp_str_concat(ptr @.str4482, ptr %t58) + %t60 = call ptr @lp_str_concat(ptr %t59, ptr @.str4483) + %t61 = load ptr, ptr %t2 + %t62 = call ptr @lp_str_concat(ptr %t60, ptr %t61) + %t63 = call ptr @lp_str_concat(ptr %t62, ptr @.str4484) + %t64 = load ptr, ptr %t0 + %t65 = call ptr @lp_str_concat(ptr %t63, ptr %t64) + %t66 = call ptr @lp_str_concat(ptr %t65, ptr @.str4485) + %t67 = load ptr, ptr %t5 + %t68 = call ptr @lp_str_concat(ptr %t66, ptr %t67) + %t69 = call ptr @lp_str_concat(ptr %t68, ptr @.str4486) + %t70 = call ptr @fn_emit_bind(ptr %t69) + store ptr %t70, ptr %t71 + %t72 = load i32, ptr %t1 + %t73 = icmp eq i32 %t72, 2 + %t74 = zext i1 %t73 to i32 + %t75 = icmp ne i32 %t74, 0 + br i1 %t75, label %then6, label %ifend8 +then6: + %t76 = load ptr, ptr %t3 + %t77 = call ptr @lp_str_concat(ptr @.str4487, ptr %t76) + %t78 = call ptr @lp_str_concat(ptr %t77, ptr @.str4488) + %t79 = load ptr, ptr %t57 + %t80 = call ptr @lp_str_concat(ptr %t78, ptr %t79) + %t81 = call ptr @lp_str_concat(ptr %t80, ptr @.str4489) + %t82 = load ptr, ptr %t71 + %t83 = call ptr @lp_str_concat(ptr %t81, ptr %t82) + %t84 = call ptr @fn_emit_bind(ptr %t83) + store ptr %t84, ptr %retval + br label %ret +ifend8: + %t85 = load ptr, ptr %t3 + %t86 = call ptr @lp_str_concat(ptr @.str4490, ptr %t85) + %t87 = call ptr @lp_str_concat(ptr %t86, ptr @.str4491) + %t88 = load ptr, ptr %t57 + %t89 = call ptr @lp_str_concat(ptr %t87, ptr %t88) + %t90 = call ptr @lp_str_concat(ptr %t89, ptr @.str4492) + %t91 = load ptr, ptr %t71 + %t92 = call ptr @lp_str_concat(ptr %t90, ptr %t91) + %t93 = call ptr @fn_emit_bind(ptr %t92) + store ptr %t93, ptr %retval + br label %ret +ret: + %t94 = load ptr, ptr %retval + ret ptr %t94 +} + +define void @fn_emit_merge_sort(ptr %arg_h, ptr %arg_elt, i32 %arg_mode, ptr %arg_fnsym, ptr %arg_keyll) { +entry: + %t0 = alloca ptr + %t1 = alloca ptr + %t2 = alloca i32 + %t3 = alloca ptr + %t4 = alloca ptr + %t7 = alloca ptr + %t11 = alloca ptr + %t14 = alloca ptr + %t18 = alloca ptr + %t21 = alloca ptr + %t26 = alloca ptr + %t33 = alloca ptr + %t38 = alloca ptr + %t40 = alloca ptr + %t43 = alloca ptr + %t45 = alloca ptr + %t47 = alloca ptr + %t53 = alloca ptr + %t60 = alloca ptr + %t69 = alloca ptr + %t71 = alloca ptr + %t74 = alloca ptr + %t76 = alloca ptr + %t78 = alloca ptr + %t84 = alloca ptr + %t91 = alloca ptr + %t102 = alloca ptr + %t109 = alloca ptr + %t119 = alloca ptr + %t126 = alloca ptr + %t133 = alloca ptr + %t143 = alloca ptr + %t145 = alloca ptr + %t149 = alloca ptr + %t153 = alloca ptr + %t157 = alloca ptr + %t159 = alloca ptr + %t161 = alloca ptr + %t167 = alloca ptr + %t171 = alloca ptr + %t178 = alloca ptr + %t185 = alloca ptr + %t192 = alloca ptr + %t201 = alloca ptr + %t208 = alloca ptr + %t213 = alloca ptr + %t220 = alloca ptr + %t228 = alloca ptr + %t232 = alloca ptr + %t237 = alloca ptr + %t239 = alloca ptr + %t241 = alloca ptr + %t243 = alloca ptr + %t255 = alloca ptr + %t267 = alloca ptr + %t276 = alloca ptr + %t282 = alloca ptr + %t284 = alloca ptr + %t286 = alloca ptr + %t292 = alloca ptr + %t299 = alloca ptr + %t308 = alloca ptr + %t315 = alloca ptr + %t319 = alloca ptr + %t324 = alloca ptr + %t332 = alloca ptr + %t339 = alloca ptr + %t345 = alloca ptr + %t347 = alloca ptr + %t349 = alloca ptr + %t355 = alloca ptr + %t362 = alloca ptr + %t371 = alloca ptr + %t378 = alloca ptr + %t382 = alloca ptr + %t387 = alloca ptr + %t395 = alloca ptr + %t402 = alloca ptr + %t408 = alloca ptr + %t412 = alloca ptr + %t414 = alloca ptr + %t416 = alloca ptr + %t422 = alloca ptr + %t429 = alloca ptr + %t438 = alloca ptr + %t445 = alloca ptr + %t450 = alloca ptr + %t458 = alloca ptr + %t469 = alloca ptr + store ptr %arg_h, ptr %t0 + store ptr %arg_elt, ptr %t1 + store i32 %arg_mode, ptr %t2 + store ptr %arg_fnsym, ptr %t3 + store ptr %arg_keyll, ptr %t4 + %t5 = load ptr, ptr %t0 + %t6 = call ptr @fn_slice_field(ptr %t5, i32 0) + store ptr %t6, ptr %t7 + %t8 = load ptr, ptr %t7 + %t9 = call ptr @lp_str_concat(ptr @.str4493, ptr %t8) + %t10 = call ptr @fn_emit_bind(ptr %t9) + store ptr %t10, ptr %t11 + %t12 = load ptr, ptr %t0 + %t13 = call ptr @fn_slice_field(ptr %t12, i32 1) + store ptr %t13, ptr %t14 + %t15 = load ptr, ptr %t14 + %t16 = call ptr @lp_str_concat(ptr @.str4494, ptr %t15) + %t17 = call ptr @fn_emit_bind(ptr %t16) + store ptr %t17, ptr %t18 + %t19 = load ptr, ptr %t1 + %t20 = call ptr @fn_emit_sizeof(ptr %t19) + store ptr %t20, ptr %t21 + %t22 = load ptr, ptr %t18 + %t23 = call ptr @lp_str_concat(ptr @.str4495, ptr %t22) + %t24 = call ptr @lp_str_concat(ptr %t23, ptr @.str4496) + %t25 = call ptr @fn_emit_bind(ptr %t24) + store ptr %t25, ptr %t26 + %t27 = load ptr, ptr %t26 + %t28 = call ptr @lp_str_concat(ptr @.str4497, ptr %t27) + %t29 = call ptr @lp_str_concat(ptr %t28, ptr @.str4498) + %t30 = load ptr, ptr %t21 + %t31 = call ptr @lp_str_concat(ptr %t29, ptr %t30) + %t32 = call ptr @fn_emit_bind(ptr %t31) + store ptr %t32, ptr %t33 + %t34 = load ptr, ptr %t33 + %t35 = call ptr @lp_str_concat(ptr @.str4499, ptr %t34) + %t36 = call ptr @lp_str_concat(ptr %t35, ptr @.str4500) + %t37 = call ptr @fn_emit_bind(ptr %t36) + store ptr %t37, ptr %t38 + %t39 = call ptr @fn_emit_alloca(ptr @.str4501) + store ptr %t39, ptr %t40 + %t41 = load ptr, ptr %t40 + call void @fn_store_at(ptr @.str4502, ptr @.str4503, ptr %t41) + %t42 = call ptr @fn_lbl(ptr @.str4504) + store ptr %t42, ptr %t43 + %t44 = call ptr @fn_lbl(ptr @.str4505) + store ptr %t44, ptr %t45 + %t46 = call ptr @fn_lbl(ptr @.str4506) + store ptr %t46, ptr %t47 + call void @fn_emit(ptr @.str4507) + %t48 = load ptr, ptr %t43 + call void @fn_emit(ptr %t48) + call void @fn_emit(ptr @.str4508) + %t49 = load ptr, ptr %t43 + call void @fn_emit(ptr %t49) + call void @fn_emit(ptr @.str4509) + %t50 = load ptr, ptr %t40 + %t51 = call ptr @lp_str_concat(ptr @.str4510, ptr %t50) + %t52 = call ptr @fn_emit_bind(ptr %t51) + store ptr %t52, ptr %t53 + %t54 = load ptr, ptr %t53 + %t55 = call ptr @lp_str_concat(ptr @.str4511, ptr %t54) + %t56 = call ptr @lp_str_concat(ptr %t55, ptr @.str4512) + %t57 = load ptr, ptr %t18 + %t58 = call ptr @lp_str_concat(ptr %t56, ptr %t57) + %t59 = call ptr @fn_emit_bind(ptr %t58) + store ptr %t59, ptr %t60 + call void @fn_emit(ptr @.str4513) + %t61 = load ptr, ptr %t60 + call void @fn_emit(ptr %t61) + call void @fn_emit(ptr @.str4514) + %t62 = load ptr, ptr %t45 + call void @fn_emit(ptr %t62) + call void @fn_emit(ptr @.str4515) + %t63 = load ptr, ptr %t47 + call void @fn_emit(ptr %t63) + call void @fn_emit(ptr @.str4516) + %t64 = load ptr, ptr %t45 + call void @fn_emit(ptr %t64) + call void @fn_emit(ptr @.str4517) + %t65 = load ptr, ptr %t53 + %t66 = call ptr @lp_str_concat(ptr @.str4518, ptr %t65) + %t67 = call ptr @lp_str_concat(ptr %t66, ptr @.str4519) + %t68 = call ptr @fn_emit_bind(ptr %t67) + store ptr %t68, ptr %t69 + %t70 = call ptr @fn_emit_alloca(ptr @.str4520) + store ptr %t70, ptr %t71 + %t72 = load ptr, ptr %t71 + call void @fn_store_at(ptr @.str4521, ptr @.str4522, ptr %t72) + %t73 = call ptr @fn_lbl(ptr @.str4523) + store ptr %t73, ptr %t74 + %t75 = call ptr @fn_lbl(ptr @.str4524) + store ptr %t75, ptr %t76 + %t77 = call ptr @fn_lbl(ptr @.str4525) + store ptr %t77, ptr %t78 + call void @fn_emit(ptr @.str4526) + %t79 = load ptr, ptr %t74 + call void @fn_emit(ptr %t79) + call void @fn_emit(ptr @.str4527) + %t80 = load ptr, ptr %t74 + call void @fn_emit(ptr %t80) + call void @fn_emit(ptr @.str4528) + %t81 = load ptr, ptr %t71 + %t82 = call ptr @lp_str_concat(ptr @.str4529, ptr %t81) + %t83 = call ptr @fn_emit_bind(ptr %t82) + store ptr %t83, ptr %t84 + %t85 = load ptr, ptr %t84 + %t86 = call ptr @lp_str_concat(ptr @.str4530, ptr %t85) + %t87 = call ptr @lp_str_concat(ptr %t86, ptr @.str4531) + %t88 = load ptr, ptr %t18 + %t89 = call ptr @lp_str_concat(ptr %t87, ptr %t88) + %t90 = call ptr @fn_emit_bind(ptr %t89) + store ptr %t90, ptr %t91 + call void @fn_emit(ptr @.str4532) + %t92 = load ptr, ptr %t91 + call void @fn_emit(ptr %t92) + call void @fn_emit(ptr @.str4533) + %t93 = load ptr, ptr %t76 + call void @fn_emit(ptr %t93) + call void @fn_emit(ptr @.str4534) + %t94 = load ptr, ptr %t78 + call void @fn_emit(ptr %t94) + call void @fn_emit(ptr @.str4535) + %t95 = load ptr, ptr %t76 + call void @fn_emit(ptr %t95) + call void @fn_emit(ptr @.str4536) + %t96 = load ptr, ptr %t84 + %t97 = call ptr @lp_str_concat(ptr @.str4537, ptr %t96) + %t98 = call ptr @lp_str_concat(ptr %t97, ptr @.str4538) + %t99 = load ptr, ptr %t53 + %t100 = call ptr @lp_str_concat(ptr %t98, ptr %t99) + %t101 = call ptr @fn_emit_bind(ptr %t100) + store ptr %t101, ptr %t102 + %t103 = load ptr, ptr %t102 + %t104 = call ptr @lp_str_concat(ptr @.str4539, ptr %t103) + %t105 = call ptr @lp_str_concat(ptr %t104, ptr @.str4540) + %t106 = load ptr, ptr %t18 + %t107 = call ptr @lp_str_concat(ptr %t105, ptr %t106) + %t108 = call ptr @fn_emit_bind(ptr %t107) + store ptr %t108, ptr %t109 + %t110 = load ptr, ptr %t109 + %t111 = call ptr @lp_str_concat(ptr @.str4541, ptr %t110) + %t112 = call ptr @lp_str_concat(ptr %t111, ptr @.str4542) + %t113 = load ptr, ptr %t102 + %t114 = call ptr @lp_str_concat(ptr %t112, ptr %t113) + %t115 = call ptr @lp_str_concat(ptr %t114, ptr @.str4543) + %t116 = load ptr, ptr %t18 + %t117 = call ptr @lp_str_concat(ptr %t115, ptr %t116) + %t118 = call ptr @fn_emit_bind(ptr %t117) + store ptr %t118, ptr %t119 + %t120 = load ptr, ptr %t84 + %t121 = call ptr @lp_str_concat(ptr @.str4544, ptr %t120) + %t122 = call ptr @lp_str_concat(ptr %t121, ptr @.str4545) + %t123 = load ptr, ptr %t69 + %t124 = call ptr @lp_str_concat(ptr %t122, ptr %t123) + %t125 = call ptr @fn_emit_bind(ptr %t124) + store ptr %t125, ptr %t126 + %t127 = load ptr, ptr %t126 + %t128 = call ptr @lp_str_concat(ptr @.str4546, ptr %t127) + %t129 = call ptr @lp_str_concat(ptr %t128, ptr @.str4547) + %t130 = load ptr, ptr %t18 + %t131 = call ptr @lp_str_concat(ptr %t129, ptr %t130) + %t132 = call ptr @fn_emit_bind(ptr %t131) + store ptr %t132, ptr %t133 + %t134 = load ptr, ptr %t133 + %t135 = call ptr @lp_str_concat(ptr @.str4548, ptr %t134) + %t136 = call ptr @lp_str_concat(ptr %t135, ptr @.str4549) + %t137 = load ptr, ptr %t126 + %t138 = call ptr @lp_str_concat(ptr %t136, ptr %t137) + %t139 = call ptr @lp_str_concat(ptr %t138, ptr @.str4550) + %t140 = load ptr, ptr %t18 + %t141 = call ptr @lp_str_concat(ptr %t139, ptr %t140) + %t142 = call ptr @fn_emit_bind(ptr %t141) + store ptr %t142, ptr %t143 + %t144 = call ptr @fn_emit_alloca(ptr @.str4551) + store ptr %t144, ptr %t145 + %t146 = load ptr, ptr %t84 + %t147 = load ptr, ptr %t145 + call void @fn_store_at(ptr @.str4552, ptr %t146, ptr %t147) + %t148 = call ptr @fn_emit_alloca(ptr @.str4553) + store ptr %t148, ptr %t149 + %t150 = load ptr, ptr %t119 + %t151 = load ptr, ptr %t149 + call void @fn_store_at(ptr @.str4554, ptr %t150, ptr %t151) + %t152 = call ptr @fn_emit_alloca(ptr @.str4555) + store ptr %t152, ptr %t153 + %t154 = load ptr, ptr %t84 + %t155 = load ptr, ptr %t153 + call void @fn_store_at(ptr @.str4556, ptr %t154, ptr %t155) + %t156 = call ptr @fn_lbl(ptr @.str4557) + store ptr %t156, ptr %t157 + %t158 = call ptr @fn_lbl(ptr @.str4558) + store ptr %t158, ptr %t159 + %t160 = call ptr @fn_lbl(ptr @.str4559) + store ptr %t160, ptr %t161 + call void @fn_emit(ptr @.str4560) + %t162 = load ptr, ptr %t157 + call void @fn_emit(ptr %t162) + call void @fn_emit(ptr @.str4561) + %t163 = load ptr, ptr %t157 + call void @fn_emit(ptr %t163) + call void @fn_emit(ptr @.str4562) + %t164 = load ptr, ptr %t145 + %t165 = call ptr @lp_str_concat(ptr @.str4563, ptr %t164) + %t166 = call ptr @fn_emit_bind(ptr %t165) + store ptr %t166, ptr %t167 + %t168 = load ptr, ptr %t149 + %t169 = call ptr @lp_str_concat(ptr @.str4564, ptr %t168) + %t170 = call ptr @fn_emit_bind(ptr %t169) + store ptr %t170, ptr %t171 + %t172 = load ptr, ptr %t167 + %t173 = call ptr @lp_str_concat(ptr @.str4565, ptr %t172) + %t174 = call ptr @lp_str_concat(ptr %t173, ptr @.str4566) + %t175 = load ptr, ptr %t119 + %t176 = call ptr @lp_str_concat(ptr %t174, ptr %t175) + %t177 = call ptr @fn_emit_bind(ptr %t176) + store ptr %t177, ptr %t178 + %t179 = load ptr, ptr %t171 + %t180 = call ptr @lp_str_concat(ptr @.str4567, ptr %t179) + %t181 = call ptr @lp_str_concat(ptr %t180, ptr @.str4568) + %t182 = load ptr, ptr %t143 + %t183 = call ptr @lp_str_concat(ptr %t181, ptr %t182) + %t184 = call ptr @fn_emit_bind(ptr %t183) + store ptr %t184, ptr %t185 + %t186 = load ptr, ptr %t178 + %t187 = call ptr @lp_str_concat(ptr @.str4569, ptr %t186) + %t188 = call ptr @lp_str_concat(ptr %t187, ptr @.str4570) + %t189 = load ptr, ptr %t185 + %t190 = call ptr @lp_str_concat(ptr %t188, ptr %t189) + %t191 = call ptr @fn_emit_bind(ptr %t190) + store ptr %t191, ptr %t192 + call void @fn_emit(ptr @.str4571) + %t193 = load ptr, ptr %t192 + call void @fn_emit(ptr %t193) + call void @fn_emit(ptr @.str4572) + %t194 = load ptr, ptr %t159 + call void @fn_emit(ptr %t194) + call void @fn_emit(ptr @.str4573) + %t195 = load ptr, ptr %t161 + call void @fn_emit(ptr %t195) + call void @fn_emit(ptr @.str4574) + %t196 = load ptr, ptr %t159 + call void @fn_emit(ptr %t196) + call void @fn_emit(ptr @.str4575) + %t197 = load ptr, ptr %t11 + %t198 = load ptr, ptr %t1 + %t199 = load ptr, ptr %t167 + %t200 = call ptr @fn_gep_at(ptr %t197, ptr %t198, ptr %t199) + store ptr %t200, ptr %t201 + %t202 = load ptr, ptr %t1 + %t203 = call ptr @lp_str_concat(ptr @.str4576, ptr %t202) + %t204 = call ptr @lp_str_concat(ptr %t203, ptr @.str4577) + %t205 = load ptr, ptr %t201 + %t206 = call ptr @lp_str_concat(ptr %t204, ptr %t205) + %t207 = call ptr @fn_emit_bind(ptr %t206) + store ptr %t207, ptr %t208 + %t209 = load ptr, ptr %t11 + %t210 = load ptr, ptr %t1 + %t211 = load ptr, ptr %t171 + %t212 = call ptr @fn_gep_at(ptr %t209, ptr %t210, ptr %t211) + store ptr %t212, ptr %t213 + %t214 = load ptr, ptr %t1 + %t215 = call ptr @lp_str_concat(ptr @.str4578, ptr %t214) + %t216 = call ptr @lp_str_concat(ptr %t215, ptr @.str4579) + %t217 = load ptr, ptr %t213 + %t218 = call ptr @lp_str_concat(ptr %t216, ptr %t217) + %t219 = call ptr @fn_emit_bind(ptr %t218) + store ptr %t219, ptr %t220 + %t221 = load ptr, ptr %t1 + %t222 = load i32, ptr %t2 + %t223 = load ptr, ptr %t3 + %t224 = load ptr, ptr %t4 + %t225 = load ptr, ptr %t208 + %t226 = load ptr, ptr %t220 + %t227 = call ptr @fn_emit_takeright(ptr %t221, i32 %t222, ptr %t223, ptr %t224, ptr %t225, ptr %t226) + store ptr %t227, ptr %t228 + %t229 = load ptr, ptr %t153 + %t230 = call ptr @lp_str_concat(ptr @.str4580, 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 @.str4581) + store ptr %t238, ptr %t239 + %t240 = call ptr @fn_lbl(ptr @.str4582) + store ptr %t240, ptr %t241 + %t242 = call ptr @fn_lbl(ptr @.str4583) + store ptr %t242, ptr %t243 + call void @fn_emit(ptr @.str4584) + %t244 = load ptr, ptr %t228 + call void @fn_emit(ptr %t244) + call void @fn_emit(ptr @.str4585) + %t245 = load ptr, ptr %t239 + call void @fn_emit(ptr %t245) + call void @fn_emit(ptr @.str4586) + %t246 = load ptr, ptr %t241 + call void @fn_emit(ptr %t246) + call void @fn_emit(ptr @.str4587) + %t247 = load ptr, ptr %t239 + call void @fn_emit(ptr %t247) + call void @fn_emit(ptr @.str4588) + call void @fn_emit(ptr @.str4589) + %t248 = load ptr, ptr %t1 + call void @fn_emit(ptr %t248) + call void @fn_emit(ptr @.str4590) + %t249 = load ptr, ptr %t220 + call void @fn_emit(ptr %t249) + call void @fn_emit(ptr @.str4591) + %t250 = load ptr, ptr %t237 + call void @fn_emit(ptr %t250) + call void @fn_emit(ptr @.str4592) + %t251 = load ptr, ptr %t171 + %t252 = call ptr @lp_str_concat(ptr @.str4593, ptr %t251) + %t253 = call ptr @lp_str_concat(ptr %t252, ptr @.str4594) + %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 @.str4595, ptr %t256, ptr %t257) + call void @fn_emit(ptr @.str4596) + %t258 = load ptr, ptr %t243 + call void @fn_emit(ptr %t258) + call void @fn_emit(ptr @.str4597) + %t259 = load ptr, ptr %t241 + call void @fn_emit(ptr %t259) + call void @fn_emit(ptr @.str4598) + call void @fn_emit(ptr @.str4599) + %t260 = load ptr, ptr %t1 + call void @fn_emit(ptr %t260) + call void @fn_emit(ptr @.str4600) + %t261 = load ptr, ptr %t208 + call void @fn_emit(ptr %t261) + call void @fn_emit(ptr @.str4601) + %t262 = load ptr, ptr %t237 + call void @fn_emit(ptr %t262) + call void @fn_emit(ptr @.str4602) + %t263 = load ptr, ptr %t167 + %t264 = call ptr @lp_str_concat(ptr @.str4603, ptr %t263) + %t265 = call ptr @lp_str_concat(ptr %t264, ptr @.str4604) + %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 @.str4605, ptr %t268, ptr %t269) + call void @fn_emit(ptr @.str4606) + %t270 = load ptr, ptr %t243 + call void @fn_emit(ptr %t270) + call void @fn_emit(ptr @.str4607) + %t271 = load ptr, ptr %t243 + call void @fn_emit(ptr %t271) + call void @fn_emit(ptr @.str4608) + %t272 = load ptr, ptr %t232 + %t273 = call ptr @lp_str_concat(ptr @.str4609, ptr %t272) + %t274 = call ptr @lp_str_concat(ptr %t273, ptr @.str4610) + %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 @.str4611, ptr %t277, ptr %t278) + call void @fn_emit(ptr @.str4612) + %t279 = load ptr, ptr %t157 + call void @fn_emit(ptr %t279) + call void @fn_emit(ptr @.str4613) + %t280 = load ptr, ptr %t161 + call void @fn_emit(ptr %t280) + call void @fn_emit(ptr @.str4614) + %t281 = call ptr @fn_lbl(ptr @.str4615) + store ptr %t281, ptr %t282 + %t283 = call ptr @fn_lbl(ptr @.str4616) + store ptr %t283, ptr %t284 + %t285 = call ptr @fn_lbl(ptr @.str4617) + store ptr %t285, ptr %t286 + call void @fn_emit(ptr @.str4618) + %t287 = load ptr, ptr %t282 + call void @fn_emit(ptr %t287) + call void @fn_emit(ptr @.str4619) + %t288 = load ptr, ptr %t282 + call void @fn_emit(ptr %t288) + call void @fn_emit(ptr @.str4620) + %t289 = load ptr, ptr %t145 + %t290 = call ptr @lp_str_concat(ptr @.str4621, ptr %t289) + %t291 = call ptr @fn_emit_bind(ptr %t290) + store ptr %t291, ptr %t292 + %t293 = load ptr, ptr %t292 + %t294 = call ptr @lp_str_concat(ptr @.str4622, ptr %t293) + %t295 = call ptr @lp_str_concat(ptr %t294, ptr @.str4623) + %t296 = load ptr, ptr %t119 + %t297 = call ptr @lp_str_concat(ptr %t295, ptr %t296) + %t298 = call ptr @fn_emit_bind(ptr %t297) + store ptr %t298, ptr %t299 + call void @fn_emit(ptr @.str4624) + %t300 = load ptr, ptr %t299 + call void @fn_emit(ptr %t300) + call void @fn_emit(ptr @.str4625) + %t301 = load ptr, ptr %t284 + call void @fn_emit(ptr %t301) + call void @fn_emit(ptr @.str4626) + %t302 = load ptr, ptr %t286 + call void @fn_emit(ptr %t302) + call void @fn_emit(ptr @.str4627) + %t303 = load ptr, ptr %t284 + call void @fn_emit(ptr %t303) + call void @fn_emit(ptr @.str4628) + %t304 = load ptr, ptr %t11 + %t305 = load ptr, ptr %t1 + %t306 = load ptr, ptr %t292 + %t307 = call ptr @fn_gep_at(ptr %t304, ptr %t305, ptr %t306) + store ptr %t307, ptr %t308 + %t309 = load ptr, ptr %t1 + %t310 = call ptr @lp_str_concat(ptr @.str4629, ptr %t309) + %t311 = call ptr @lp_str_concat(ptr %t310, ptr @.str4630) + %t312 = load ptr, ptr %t308 + %t313 = call ptr @lp_str_concat(ptr %t311, ptr %t312) + %t314 = call ptr @fn_emit_bind(ptr %t313) + store ptr %t314, ptr %t315 + %t316 = load ptr, ptr %t153 + %t317 = call ptr @lp_str_concat(ptr @.str4631, 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 @.str4632) + %t325 = load ptr, ptr %t1 + call void @fn_emit(ptr %t325) + call void @fn_emit(ptr @.str4633) + %t326 = load ptr, ptr %t315 + call void @fn_emit(ptr %t326) + call void @fn_emit(ptr @.str4634) + %t327 = load ptr, ptr %t324 + call void @fn_emit(ptr %t327) + call void @fn_emit(ptr @.str4635) + %t328 = load ptr, ptr %t292 + %t329 = call ptr @lp_str_concat(ptr @.str4636, ptr %t328) + %t330 = call ptr @lp_str_concat(ptr %t329, ptr @.str4637) + %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 @.str4638, ptr %t333, ptr %t334) + %t335 = load ptr, ptr %t319 + %t336 = call ptr @lp_str_concat(ptr @.str4639, ptr %t335) + %t337 = call ptr @lp_str_concat(ptr %t336, ptr @.str4640) + %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 @.str4641, ptr %t340, ptr %t341) + call void @fn_emit(ptr @.str4642) + %t342 = load ptr, ptr %t282 + call void @fn_emit(ptr %t342) + call void @fn_emit(ptr @.str4643) + %t343 = load ptr, ptr %t286 + call void @fn_emit(ptr %t343) + call void @fn_emit(ptr @.str4644) + %t344 = call ptr @fn_lbl(ptr @.str4645) + store ptr %t344, ptr %t345 + %t346 = call ptr @fn_lbl(ptr @.str4646) + store ptr %t346, ptr %t347 + %t348 = call ptr @fn_lbl(ptr @.str4647) + store ptr %t348, ptr %t349 + call void @fn_emit(ptr @.str4648) + %t350 = load ptr, ptr %t345 + call void @fn_emit(ptr %t350) + call void @fn_emit(ptr @.str4649) + %t351 = load ptr, ptr %t345 + call void @fn_emit(ptr %t351) + call void @fn_emit(ptr @.str4650) + %t352 = load ptr, ptr %t149 + %t353 = call ptr @lp_str_concat(ptr @.str4651, ptr %t352) + %t354 = call ptr @fn_emit_bind(ptr %t353) + store ptr %t354, ptr %t355 + %t356 = load ptr, ptr %t355 + %t357 = call ptr @lp_str_concat(ptr @.str4652, ptr %t356) + %t358 = call ptr @lp_str_concat(ptr %t357, ptr @.str4653) + %t359 = load ptr, ptr %t143 + %t360 = call ptr @lp_str_concat(ptr %t358, ptr %t359) + %t361 = call ptr @fn_emit_bind(ptr %t360) + store ptr %t361, ptr %t362 + call void @fn_emit(ptr @.str4654) + %t363 = load ptr, ptr %t362 + call void @fn_emit(ptr %t363) + call void @fn_emit(ptr @.str4655) + %t364 = load ptr, ptr %t347 + call void @fn_emit(ptr %t364) + call void @fn_emit(ptr @.str4656) + %t365 = load ptr, ptr %t349 + call void @fn_emit(ptr %t365) + call void @fn_emit(ptr @.str4657) + %t366 = load ptr, ptr %t347 + call void @fn_emit(ptr %t366) + call void @fn_emit(ptr @.str4658) + %t367 = load ptr, ptr %t11 + %t368 = load ptr, ptr %t1 + %t369 = load ptr, ptr %t355 + %t370 = call ptr @fn_gep_at(ptr %t367, ptr %t368, ptr %t369) + store ptr %t370, ptr %t371 + %t372 = load ptr, ptr %t1 + %t373 = call ptr @lp_str_concat(ptr @.str4659, ptr %t372) + %t374 = call ptr @lp_str_concat(ptr %t373, ptr @.str4660) + %t375 = load ptr, ptr %t371 + %t376 = call ptr @lp_str_concat(ptr %t374, ptr %t375) + %t377 = call ptr @fn_emit_bind(ptr %t376) + store ptr %t377, ptr %t378 + %t379 = load ptr, ptr %t153 + %t380 = call ptr @lp_str_concat(ptr @.str4661, 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 @.str4662) + %t388 = load ptr, ptr %t1 + call void @fn_emit(ptr %t388) + call void @fn_emit(ptr @.str4663) + %t389 = load ptr, ptr %t378 + call void @fn_emit(ptr %t389) + call void @fn_emit(ptr @.str4664) + %t390 = load ptr, ptr %t387 + call void @fn_emit(ptr %t390) + call void @fn_emit(ptr @.str4665) + %t391 = load ptr, ptr %t355 + %t392 = call ptr @lp_str_concat(ptr @.str4666, ptr %t391) + %t393 = call ptr @lp_str_concat(ptr %t392, ptr @.str4667) + %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 @.str4668, ptr %t396, ptr %t397) + %t398 = load ptr, ptr %t382 + %t399 = call ptr @lp_str_concat(ptr @.str4669, ptr %t398) + %t400 = call ptr @lp_str_concat(ptr %t399, ptr @.str4670) + %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 @.str4671, ptr %t403, ptr %t404) + call void @fn_emit(ptr @.str4672) + %t405 = load ptr, ptr %t345 + call void @fn_emit(ptr %t405) + call void @fn_emit(ptr @.str4673) + %t406 = load ptr, ptr %t349 + call void @fn_emit(ptr %t406) + call void @fn_emit(ptr @.str4674) + %t407 = call ptr @fn_emit_alloca(ptr @.str4675) + store ptr %t407, ptr %t408 + %t409 = load ptr, ptr %t84 + %t410 = load ptr, ptr %t408 + call void @fn_store_at(ptr @.str4676, ptr %t409, ptr %t410) + %t411 = call ptr @fn_lbl(ptr @.str4677) + store ptr %t411, ptr %t412 + %t413 = call ptr @fn_lbl(ptr @.str4678) + store ptr %t413, ptr %t414 + %t415 = call ptr @fn_lbl(ptr @.str4679) + store ptr %t415, ptr %t416 + call void @fn_emit(ptr @.str4680) + %t417 = load ptr, ptr %t412 + call void @fn_emit(ptr %t417) + call void @fn_emit(ptr @.str4681) + %t418 = load ptr, ptr %t412 + call void @fn_emit(ptr %t418) + call void @fn_emit(ptr @.str4682) + %t419 = load ptr, ptr %t408 + %t420 = call ptr @lp_str_concat(ptr @.str4683, ptr %t419) + %t421 = call ptr @fn_emit_bind(ptr %t420) + store ptr %t421, ptr %t422 + %t423 = load ptr, ptr %t422 + %t424 = call ptr @lp_str_concat(ptr @.str4684, ptr %t423) + %t425 = call ptr @lp_str_concat(ptr %t424, ptr @.str4685) + %t426 = load ptr, ptr %t143 + %t427 = call ptr @lp_str_concat(ptr %t425, ptr %t426) + %t428 = call ptr @fn_emit_bind(ptr %t427) + store ptr %t428, ptr %t429 + call void @fn_emit(ptr @.str4686) + %t430 = load ptr, ptr %t429 + call void @fn_emit(ptr %t430) + call void @fn_emit(ptr @.str4687) + %t431 = load ptr, ptr %t414 + call void @fn_emit(ptr %t431) + call void @fn_emit(ptr @.str4688) + %t432 = load ptr, ptr %t416 + call void @fn_emit(ptr %t432) + call void @fn_emit(ptr @.str4689) + %t433 = load ptr, ptr %t414 + call void @fn_emit(ptr %t433) + call void @fn_emit(ptr @.str4690) + %t434 = load ptr, ptr %t38 + %t435 = load ptr, ptr %t1 + %t436 = load ptr, ptr %t422 + %t437 = call ptr @fn_gep_at(ptr %t434, ptr %t435, ptr %t436) + store ptr %t437, ptr %t438 + %t439 = load ptr, ptr %t1 + %t440 = call ptr @lp_str_concat(ptr @.str4691, ptr %t439) + %t441 = call ptr @lp_str_concat(ptr %t440, ptr @.str4692) + %t442 = load ptr, ptr %t438 + %t443 = call ptr @lp_str_concat(ptr %t441, ptr %t442) + %t444 = call ptr @fn_emit_bind(ptr %t443) + store ptr %t444, ptr %t445 + %t446 = load ptr, ptr %t11 + %t447 = load ptr, ptr %t1 + %t448 = load ptr, ptr %t422 + %t449 = call ptr @fn_gep_at(ptr %t446, ptr %t447, ptr %t448) + store ptr %t449, ptr %t450 + call void @fn_emit(ptr @.str4693) + %t451 = load ptr, ptr %t1 + call void @fn_emit(ptr %t451) + call void @fn_emit(ptr @.str4694) + %t452 = load ptr, ptr %t445 + call void @fn_emit(ptr %t452) + call void @fn_emit(ptr @.str4695) + %t453 = load ptr, ptr %t450 + call void @fn_emit(ptr %t453) + call void @fn_emit(ptr @.str4696) + %t454 = load ptr, ptr %t422 + %t455 = call ptr @lp_str_concat(ptr @.str4697, ptr %t454) + %t456 = call ptr @lp_str_concat(ptr %t455, ptr @.str4698) + %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 @.str4699, ptr %t459, ptr %t460) + call void @fn_emit(ptr @.str4700) + %t461 = load ptr, ptr %t412 + call void @fn_emit(ptr %t461) + call void @fn_emit(ptr @.str4701) + %t462 = load ptr, ptr %t416 + call void @fn_emit(ptr %t462) + call void @fn_emit(ptr @.str4702) + %t463 = load ptr, ptr %t84 + %t464 = call ptr @lp_str_concat(ptr @.str4703, ptr %t463) + %t465 = call ptr @lp_str_concat(ptr %t464, ptr @.str4704) + %t466 = load ptr, ptr %t69 + %t467 = call ptr @lp_str_concat(ptr %t465, ptr %t466) + %t468 = call ptr @fn_emit_bind(ptr %t467) + store ptr %t468, ptr %t469 + %t470 = load ptr, ptr %t469 + %t471 = load ptr, ptr %t71 + call void @fn_store_at(ptr @.str4705, ptr %t470, ptr %t471) + call void @fn_emit(ptr @.str4706) + %t472 = load ptr, ptr %t74 + call void @fn_emit(ptr %t472) + call void @fn_emit(ptr @.str4707) + %t473 = load ptr, ptr %t78 + call void @fn_emit(ptr %t473) + call void @fn_emit(ptr @.str4708) + %t474 = load ptr, ptr %t69 + %t475 = load ptr, ptr %t40 + call void @fn_store_at(ptr @.str4709, ptr %t474, ptr %t475) + call void @fn_emit(ptr @.str4710) + %t476 = load ptr, ptr %t43 + call void @fn_emit(ptr %t476) + call void @fn_emit(ptr @.str4711) + %t477 = load ptr, ptr %t47 + call void @fn_emit(ptr %t477) + call void @fn_emit(ptr @.str4712) + call void @fn_emit(ptr @.str4713) + %t478 = load ptr, ptr %t38 + call void @fn_emit(ptr %t478) + call void @fn_emit(ptr @.str4714) + br label %ret +ret: + ret void +} + +define ptr @fn_sort_fn_arg(ptr %arg_meth, ptr %arg_e) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t1 = alloca ptr + %t37 = alloca ptr + store ptr %arg_meth, ptr %t0 + store ptr %arg_e, ptr %t1 + %t2 = load ptr, ptr %t1 + %t3 = getelementptr inbounds %Cmp_Node, ptr %t2, i32 0, i32 7 + %t4 = load ptr, ptr %t3 + %t5 = getelementptr inbounds %LSlice, ptr %t4, i32 0, i32 1 + %t6 = load i32, ptr %t5 + %t7 = icmp slt i32 %t6, 2 + %t8 = zext i1 %t7 to i32 + %t9 = icmp ne i32 %t8, 0 + br i1 %t9, label %then0, label %ifend2 +then0: + %t10 = load ptr, ptr %t0 + %t11 = call ptr @lp_str_concat(ptr @.str4715, ptr %t10) + %t12 = call ptr @lp_str_concat(ptr %t11, ptr @.str4716) + call void @fn_perr(ptr %t12) + br label %ifend2 +ifend2: + %t13 = load ptr, ptr %t1 + %t14 = getelementptr inbounds %Cmp_Node, ptr %t13, i32 0, i32 7 + %t15 = load ptr, ptr %t14 + %t16 = getelementptr inbounds %LSlice, ptr %t15, i32 0, i32 0 + %t17 = load ptr, ptr %t16 + %t18 = getelementptr inbounds ptr, ptr %t17, i32 1 + %t19 = load ptr, ptr %t18 + %t20 = getelementptr inbounds %Cmp_Node, ptr %t19, i32 0, i32 0 + %t21 = load i32, ptr %t20 + %t22 = icmp ne i32 %t21, 33 + %t23 = zext i1 %t22 to i32 + %t24 = icmp ne i32 %t23, 0 + br i1 %t24, label %then3, label %ifend5 +then3: + %t25 = load ptr, ptr %t0 + %t26 = call ptr @lp_str_concat(ptr @.str4717, ptr %t25) + %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str4718) + call void @fn_perr(ptr %t27) + br label %ifend5 +ifend5: + %t28 = load ptr, ptr %t1 + %t29 = getelementptr inbounds %Cmp_Node, ptr %t28, i32 0, i32 7 + %t30 = load ptr, ptr %t29 + %t31 = getelementptr inbounds %LSlice, ptr %t30, i32 0, i32 0 + %t32 = load ptr, ptr %t31 + %t33 = getelementptr inbounds ptr, ptr %t32, i32 1 + %t34 = load ptr, ptr %t33 + %t35 = getelementptr inbounds %Cmp_Node, ptr %t34, i32 0, i32 1 + %t36 = load ptr, ptr %t35 + store ptr %t36, ptr %t37 + %t38 = load ptr, ptr %t37 + %t39 = call ptr @fn_find_fn(ptr %t38) + %t40 = icmp eq ptr %t39, null + %t41 = zext i1 %t40 to i32 + %t42 = icmp ne i32 %t41, 0 + br i1 %t42, label %then6, label %ifend8 +then6: + %t43 = load ptr, ptr %t0 + %t44 = call ptr @lp_str_concat(ptr @.str4719, ptr %t43) + %t45 = call ptr @lp_str_concat(ptr %t44, ptr @.str4720) + %t46 = load ptr, ptr %t37 + %t47 = call ptr @lp_str_concat(ptr %t45, ptr %t46) + %t48 = call ptr @lp_str_concat(ptr %t47, ptr @.str4721) + call void @fn_perr(ptr %t48) + br label %ifend8 +ifend8: + %t49 = load ptr, ptr %t37 + store ptr %t49, ptr %retval + br label %ret +ret: + %t50 = load ptr, ptr %retval + ret ptr %t50 +} + +define ptr @fn_emit_list_ns(ptr %arg_meth, ptr %arg_e) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t1 = alloca ptr + %t23 = alloca ptr + %t32 = alloca ptr + %t57 = alloca ptr + %t72 = alloca ptr + %t75 = alloca ptr + %t79 = alloca ptr + %t82 = alloca ptr + %t94 = alloca ptr + %t109 = alloca ptr + %t114 = alloca ptr + %t119 = alloca ptr + %t134 = alloca ptr + %t139 = alloca ptr + %t144 = alloca ptr + %t151 = alloca ptr + %t168 = alloca ptr + %t177 = alloca ptr + %t184 = alloca ptr + %t191 = alloca ptr + %t198 = alloca ptr + %t205 = alloca ptr + %t213 = alloca i32 + %t232 = alloca ptr + %t236 = alloca ptr + %t238 = alloca ptr + %t241 = alloca ptr + %t244 = alloca ptr + %t246 = alloca ptr + %t248 = alloca ptr + %t250 = alloca ptr + %t252 = alloca ptr + %t258 = alloca ptr + %t265 = alloca ptr + %t274 = alloca ptr + %t281 = alloca ptr + %t293 = alloca ptr + %t306 = alloca ptr + %t314 = alloca ptr + %t324 = alloca ptr + %t341 = alloca ptr + %t350 = alloca ptr + %t356 = alloca ptr + %t358 = alloca ptr + %t362 = alloca ptr + %t364 = alloca ptr + %t366 = alloca ptr + %t372 = alloca ptr + %t381 = alloca ptr + %t390 = alloca ptr + %t395 = alloca ptr + %t402 = alloca ptr + %t407 = alloca ptr + %t421 = alloca ptr + %t431 = alloca ptr + %t446 = alloca ptr + %t450 = alloca ptr + %t455 = alloca ptr + %t457 = alloca ptr + %t463 = alloca ptr + %t465 = alloca ptr + %t467 = alloca ptr + %t473 = alloca ptr + %t480 = alloca ptr + %t489 = alloca ptr + %t494 = alloca ptr + %t501 = alloca ptr + %t506 = alloca ptr + %t528 = alloca ptr + %t532 = alloca ptr + %t534 = alloca ptr + %t537 = alloca ptr + %t540 = alloca ptr + %t542 = alloca ptr + %t544 = alloca ptr + %t546 = alloca ptr + %t548 = alloca ptr + %t554 = alloca ptr + %t561 = alloca ptr + %t565 = alloca ptr + %t570 = alloca ptr + %t577 = alloca ptr + %t586 = alloca ptr + %t593 = alloca ptr + %t605 = alloca ptr + %t618 = alloca ptr + %t626 = alloca ptr + %t631 = alloca ptr + %t633 = alloca ptr + %t635 = alloca ptr + %t644 = alloca ptr + %t646 = alloca ptr + %t650 = alloca ptr + %t652 = alloca ptr + %t654 = alloca ptr + %t660 = alloca ptr + %t667 = alloca ptr + %t676 = alloca ptr + %t681 = alloca ptr + %t688 = alloca ptr + %t693 = alloca ptr + %t712 = alloca ptr + %t717 = alloca ptr + %t719 = alloca ptr + %t721 = alloca ptr + %t723 = alloca ptr + %t731 = alloca ptr + %t733 = alloca ptr + %t736 = alloca ptr + %t738 = alloca ptr + %t740 = alloca ptr + %t746 = alloca ptr + %t753 = alloca ptr + %t762 = alloca ptr + %t769 = alloca ptr + %t771 = alloca ptr + %t776 = alloca ptr + %t780 = alloca ptr + %t782 = alloca ptr + %t784 = alloca ptr + %t790 = alloca ptr + %t795 = alloca ptr + %t800 = alloca ptr + %t807 = alloca ptr + %t817 = alloca ptr + %t824 = alloca ptr + %t833 = alloca ptr + %t838 = alloca ptr + %t846 = alloca ptr + %t854 = alloca ptr + %t859 = alloca ptr + %t864 = alloca ptr + %t872 = alloca ptr + %t890 = alloca ptr + %t906 = alloca i32 + %t920 = alloca ptr + %t923 = alloca ptr + %t941 = alloca ptr + %t942 = alloca i32 + %t959 = alloca i32 + %t972 = alloca ptr + %t974 = alloca ptr + %t977 = alloca ptr + %t982 = alloca ptr + %t986 = alloca ptr + %t988 = alloca ptr + %t990 = alloca ptr + %t996 = alloca ptr + %t1000 = alloca ptr + %t1007 = alloca ptr + %t1016 = alloca ptr + %t1021 = alloca ptr + %t1028 = alloca ptr + %t1035 = alloca ptr + %t1046 = alloca ptr + %t1053 = alloca ptr + store ptr %arg_meth, ptr %t0 + store ptr %arg_e, ptr %t1 + %t2 = load ptr, ptr %t0 + %t3 = call i32 @lp_str_eq(ptr %t2, ptr @.str4722) + %t4 = icmp ne i32 %t3, 0 + br i1 %t4, label %then0, label %ifend2 +then0: + %t5 = load ptr, ptr %t1 + %t6 = call ptr @fn_emit_len(ptr %t5) + store ptr %t6, ptr %retval + br label %ret +ifend2: + %t7 = load ptr, ptr %t0 + %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str4723) + %t9 = icmp ne i32 %t8, 0 + br i1 %t9, label %then3, label %ifend5 +then3: + %t10 = load ptr, ptr %t1 + %t11 = call ptr @fn_emit_push(ptr %t10) + store ptr %t11, ptr %retval + br label %ret +ifend5: + %t12 = load ptr, ptr %t0 + %t13 = call i32 @lp_str_eq(ptr %t12, ptr @.str4724) + %t14 = icmp ne i32 %t13, 0 + br i1 %t14, label %then6, label %ifend8 +then6: + %t15 = load ptr, ptr %t1 + %t16 = getelementptr inbounds %Cmp_Node, ptr %t15, i32 0, i32 7 + %t17 = load ptr, ptr %t16 + %t18 = getelementptr inbounds %LSlice, ptr %t17, i32 0, i32 0 + %t19 = load ptr, ptr %t18 + %t20 = getelementptr inbounds ptr, ptr %t19, i32 0 + %t21 = load ptr, ptr %t20 + %t22 = call ptr @fn_emit_expr(ptr %t21) + store ptr %t22, ptr %t23 + %t24 = load ptr, ptr %t1 + %t25 = getelementptr inbounds %Cmp_Node, ptr %t24, i32 0, i32 7 + %t26 = load ptr, ptr %t25 + %t27 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 0 + %t28 = load ptr, ptr %t27 + %t29 = getelementptr inbounds ptr, ptr %t28, i32 1 + %t30 = load ptr, ptr %t29 + %t31 = call ptr @fn_emit_expr(ptr %t30) + store ptr %t31, ptr %t32 + %t33 = call ptr @fn_find_fn(ptr @.str4725) + %t34 = icmp eq ptr %t33, null + %t35 = zext i1 %t34 to i32 + %t36 = icmp ne i32 %t35, 0 + br i1 %t36, label %then9, label %ifend11 +then9: + call void @fn_perr(ptr @.str4726) + br label %ifend11 +ifend11: + %t37 = load ptr, ptr %t23 + %t38 = getelementptr inbounds %Cmp_Val, ptr %t37, i32 0, i32 0 + %t39 = load ptr, ptr %t38 + %t40 = call ptr @lp_str_concat(ptr @.str4727, ptr %t39) + %t41 = call ptr @lp_str_concat(ptr %t40, ptr @.str4728) + %t42 = load ptr, ptr %t32 + %t43 = getelementptr inbounds %Cmp_Val, ptr %t42, i32 0, i32 0 + %t44 = load ptr, ptr %t43 + %t45 = call ptr @lp_str_concat(ptr %t41, ptr %t44) + %t46 = call ptr @lp_str_concat(ptr %t45, ptr @.str4729) + %t47 = call ptr @fn_emit_bind(ptr %t46) + %t48 = call ptr @fn_val(ptr %t47, ptr @.str4730) + store ptr %t48, ptr %retval + br label %ret +ifend8: + %t49 = load ptr, ptr %t1 + %t50 = getelementptr inbounds %Cmp_Node, ptr %t49, i32 0, i32 7 + %t51 = load ptr, ptr %t50 + %t52 = getelementptr inbounds %LSlice, ptr %t51, i32 0, i32 0 + %t53 = load ptr, ptr %t52 + %t54 = getelementptr inbounds ptr, ptr %t53, i32 0 + %t55 = load ptr, ptr %t54 + %t56 = call ptr @fn_emit_expr(ptr %t55) + store ptr %t56, ptr %t57 + %t58 = load ptr, ptr %t57 + %t59 = getelementptr inbounds %Cmp_Val, ptr %t58, i32 0, i32 1 + %t60 = load ptr, ptr %t59 + %t61 = call i32 @fn_is_slice_ty(ptr %t60) + %t62 = icmp eq i32 %t61, 0 + %t63 = zext i1 %t62 to i32 + %t64 = icmp ne i32 %t63, 0 + br i1 %t64, label %then12, label %ifend14 +then12: + %t65 = load ptr, ptr %t0 + %t66 = call ptr @lp_str_concat(ptr @.str4731, ptr %t65) + %t67 = call ptr @lp_str_concat(ptr %t66, ptr @.str4732) + call void @fn_perr(ptr %t67) + br label %ifend14 +ifend14: + %t68 = load ptr, ptr %t57 + %t69 = getelementptr inbounds %Cmp_Val, ptr %t68, i32 0, i32 1 + %t70 = load ptr, ptr %t69 + %t71 = call ptr @fn_slice_elem(ptr %t70) + store ptr %t71, ptr %t72 + %t73 = load ptr, ptr %t72 + %t74 = call ptr @fn_llty(ptr %t73) + store ptr %t74, ptr %t75 + %t76 = load ptr, ptr %t57 + %t77 = getelementptr inbounds %Cmp_Val, ptr %t76, i32 0, i32 0 + %t78 = load ptr, ptr %t77 + store ptr %t78, ptr %t79 + %t80 = load ptr, ptr %t79 + %t81 = call ptr @fn_slice_field(ptr %t80, i32 1) + store ptr %t81, ptr %t82 + %t83 = load ptr, ptr %t0 + %t84 = call i32 @lp_str_eq(ptr %t83, ptr @.str4733) + %t85 = icmp ne i32 %t84, 0 + br i1 %t85, label %then15, label %ifend17 +then15: + call void @fn_emit(ptr @.str4734) + %t86 = load ptr, ptr %t82 + call void @fn_emit(ptr %t86) + call void @fn_emit(ptr @.str4735) + %t87 = call ptr @fn_val(ptr @.str4736, ptr @.str4737) + store ptr %t87, ptr %retval + br label %ret +ifend17: + %t88 = load ptr, ptr %t0 + %t89 = call i32 @lp_str_eq(ptr %t88, ptr @.str4738) + %t90 = icmp ne i32 %t89, 0 + br i1 %t90, label %then18, label %ifend20 +then18: + %t91 = load ptr, ptr %t79 + %t92 = load ptr, ptr %t75 + %t93 = call ptr @fn_list_elem_addr(ptr %t91, ptr %t92, ptr @.str4739) + store ptr %t93, ptr %t94 + %t95 = load ptr, ptr %t75 + %t96 = call ptr @lp_str_concat(ptr @.str4740, ptr %t95) + %t97 = call ptr @lp_str_concat(ptr %t96, ptr @.str4741) + %t98 = load ptr, ptr %t94 + %t99 = call ptr @lp_str_concat(ptr %t97, ptr %t98) + %t100 = call ptr @fn_emit_bind(ptr %t99) + %t101 = load ptr, ptr %t72 + %t102 = call ptr @fn_val(ptr %t100, ptr %t101) + store ptr %t102, ptr %retval + br label %ret +ifend20: + %t103 = load ptr, ptr %t0 + %t104 = call i32 @lp_str_eq(ptr %t103, ptr @.str4742) + %t105 = icmp ne i32 %t104, 0 + br i1 %t105, label %then21, label %ifend23 +then21: + %t106 = load ptr, ptr %t82 + %t107 = call ptr @lp_str_concat(ptr @.str4743, ptr %t106) + %t108 = call ptr @fn_emit_bind(ptr %t107) + store ptr %t108, ptr %t109 + %t110 = load ptr, ptr %t109 + %t111 = call ptr @lp_str_concat(ptr @.str4744, ptr %t110) + %t112 = call ptr @lp_str_concat(ptr %t111, ptr @.str4745) + %t113 = call ptr @fn_emit_bind(ptr %t112) + store ptr %t113, ptr %t114 + %t115 = load ptr, ptr %t79 + %t116 = load ptr, ptr %t75 + %t117 = load ptr, ptr %t114 + %t118 = call ptr @fn_list_elem_addr(ptr %t115, ptr %t116, ptr %t117) + store ptr %t118, ptr %t119 + %t120 = load ptr, ptr %t75 + %t121 = call ptr @lp_str_concat(ptr @.str4746, ptr %t120) + %t122 = call ptr @lp_str_concat(ptr %t121, ptr @.str4747) + %t123 = load ptr, ptr %t119 + %t124 = call ptr @lp_str_concat(ptr %t122, ptr %t123) + %t125 = call ptr @fn_emit_bind(ptr %t124) + %t126 = load ptr, ptr %t72 + %t127 = call ptr @fn_val(ptr %t125, ptr %t126) + store ptr %t127, ptr %retval + br label %ret +ifend23: + %t128 = load ptr, ptr %t0 + %t129 = call i32 @lp_str_eq(ptr %t128, ptr @.str4748) + %t130 = icmp ne i32 %t129, 0 + br i1 %t130, label %then24, label %ifend26 +then24: + %t131 = load ptr, ptr %t82 + %t132 = call ptr @lp_str_concat(ptr @.str4749, ptr %t131) + %t133 = call ptr @fn_emit_bind(ptr %t132) + store ptr %t133, ptr %t134 + %t135 = load ptr, ptr %t134 + %t136 = call ptr @lp_str_concat(ptr @.str4750, ptr %t135) + %t137 = call ptr @lp_str_concat(ptr %t136, ptr @.str4751) + %t138 = call ptr @fn_emit_bind(ptr %t137) + store ptr %t138, ptr %t139 + %t140 = load ptr, ptr %t79 + %t141 = load ptr, ptr %t75 + %t142 = load ptr, ptr %t139 + %t143 = call ptr @fn_list_elem_addr(ptr %t140, ptr %t141, ptr %t142) + store ptr %t143, ptr %t144 + %t145 = load ptr, ptr %t75 + %t146 = call ptr @lp_str_concat(ptr @.str4752, ptr %t145) + %t147 = call ptr @lp_str_concat(ptr %t146, ptr @.str4753) + %t148 = load ptr, ptr %t144 + %t149 = call ptr @lp_str_concat(ptr %t147, ptr %t148) + %t150 = call ptr @fn_emit_bind(ptr %t149) + store ptr %t150, ptr %t151 + call void @fn_emit(ptr @.str4754) + %t152 = load ptr, ptr %t139 + call void @fn_emit(ptr %t152) + call void @fn_emit(ptr @.str4755) + %t153 = load ptr, ptr %t82 + call void @fn_emit(ptr %t153) + call void @fn_emit(ptr @.str4756) + %t154 = load ptr, ptr %t151 + %t155 = load ptr, ptr %t72 + %t156 = call ptr @fn_val(ptr %t154, ptr %t155) + store ptr %t156, ptr %retval + br label %ret +ifend26: + %t157 = load ptr, ptr %t0 + %t158 = call i32 @lp_str_eq(ptr %t157, ptr @.str4757) + %t159 = icmp ne i32 %t158, 0 + br i1 %t159, label %then27, label %ifend29 +then27: + %t160 = load ptr, ptr %t1 + %t161 = getelementptr inbounds %Cmp_Node, ptr %t160, i32 0, i32 7 + %t162 = load ptr, ptr %t161 + %t163 = getelementptr inbounds %LSlice, ptr %t162, i32 0, i32 0 + %t164 = load ptr, ptr %t163 + %t165 = getelementptr inbounds ptr, ptr %t164, i32 1 + %t166 = load ptr, ptr %t165 + %t167 = call ptr @fn_emit_expr(ptr %t166) + store ptr %t167, ptr %t168 + %t169 = load ptr, ptr %t1 + %t170 = getelementptr inbounds %Cmp_Node, ptr %t169, i32 0, i32 7 + %t171 = load ptr, ptr %t170 + %t172 = getelementptr inbounds %LSlice, ptr %t171, i32 0, i32 0 + %t173 = load ptr, ptr %t172 + %t174 = getelementptr inbounds ptr, ptr %t173, i32 2 + %t175 = load ptr, ptr %t174 + %t176 = call ptr @fn_emit_expr(ptr %t175) + store ptr %t176, ptr %t177 + %t178 = load ptr, ptr %t79 + %t179 = load ptr, ptr %t75 + %t180 = load ptr, ptr %t168 + %t181 = getelementptr inbounds %Cmp_Val, ptr %t180, i32 0, i32 0 + %t182 = load ptr, ptr %t181 + %t183 = call ptr @fn_list_elem_addr(ptr %t178, ptr %t179, ptr %t182) + store ptr %t183, ptr %t184 + %t185 = load ptr, ptr %t79 + %t186 = load ptr, ptr %t75 + %t187 = load ptr, ptr %t177 + %t188 = getelementptr inbounds %Cmp_Val, ptr %t187, i32 0, i32 0 + %t189 = load ptr, ptr %t188 + %t190 = call ptr @fn_list_elem_addr(ptr %t185, ptr %t186, ptr %t189) + store ptr %t190, ptr %t191 + %t192 = load ptr, ptr %t75 + %t193 = call ptr @lp_str_concat(ptr @.str4758, ptr %t192) + %t194 = call ptr @lp_str_concat(ptr %t193, ptr @.str4759) + %t195 = load ptr, ptr %t184 + %t196 = call ptr @lp_str_concat(ptr %t194, ptr %t195) + %t197 = call ptr @fn_emit_bind(ptr %t196) + store ptr %t197, ptr %t198 + %t199 = load ptr, ptr %t75 + %t200 = call ptr @lp_str_concat(ptr @.str4760, ptr %t199) + %t201 = call ptr @lp_str_concat(ptr %t200, ptr @.str4761) + %t202 = load ptr, ptr %t191 + %t203 = call ptr @lp_str_concat(ptr %t201, ptr %t202) + %t204 = call ptr @fn_emit_bind(ptr %t203) + store ptr %t204, ptr %t205 + call void @fn_emit(ptr @.str4762) + %t206 = load ptr, ptr %t75 + call void @fn_emit(ptr %t206) + call void @fn_emit(ptr @.str4763) + %t207 = load ptr, ptr %t205 + call void @fn_emit(ptr %t207) + call void @fn_emit(ptr @.str4764) + %t208 = load ptr, ptr %t184 + call void @fn_emit(ptr %t208) + call void @fn_emit(ptr @.str4765) + call void @fn_emit(ptr @.str4766) + %t209 = load ptr, ptr %t75 + call void @fn_emit(ptr %t209) + call void @fn_emit(ptr @.str4767) + %t210 = load ptr, ptr %t198 + call void @fn_emit(ptr %t210) + call void @fn_emit(ptr @.str4768) + %t211 = load ptr, ptr %t191 + call void @fn_emit(ptr %t211) + call void @fn_emit(ptr @.str4769) + %t212 = call ptr @fn_val(ptr @.str4770, ptr @.str4771) + store ptr %t212, ptr %retval + br label %ret +ifend29: + %t214 = load ptr, ptr %t0 + %t215 = call i32 @lp_str_eq(ptr %t214, ptr @.str4772) + %t216 = icmp ne i32 %t215, 0 + %t217 = zext i1 %t216 to i32 + store i32 %t217, ptr %t213 + br i1 %t216, label %scend31, label %sc30 +sc30: + %t218 = load ptr, ptr %t0 + %t219 = call i32 @lp_str_eq(ptr %t218, ptr @.str4773) + %t220 = icmp ne i32 %t219, 0 + %t221 = zext i1 %t220 to i32 + store i32 %t221, ptr %t213 + br label %scend31 +scend31: + %t222 = load i32, ptr %t213 + %t223 = icmp ne i32 %t222, 0 + br i1 %t223, label %then32, label %ifend34 +then32: + %t224 = load ptr, ptr %t1 + %t225 = getelementptr inbounds %Cmp_Node, ptr %t224, i32 0, i32 7 + %t226 = load ptr, ptr %t225 + %t227 = getelementptr inbounds %LSlice, ptr %t226, i32 0, i32 0 + %t228 = load ptr, ptr %t227 + %t229 = getelementptr inbounds ptr, ptr %t228, i32 1 + %t230 = load ptr, ptr %t229 + %t231 = call ptr @fn_emit_expr(ptr %t230) + store ptr %t231, ptr %t232 + %t233 = load ptr, ptr %t82 + %t234 = call ptr @lp_str_concat(ptr @.str4774, ptr %t233) + %t235 = call ptr @fn_emit_bind(ptr %t234) + store ptr %t235, ptr %t236 + %t237 = call ptr @fn_emit_alloca(ptr @.str4775) + store ptr %t237, ptr %t238 + %t239 = load ptr, ptr %t238 + call void @fn_store_at(ptr @.str4776, ptr @.str4777, ptr %t239) + %t240 = call ptr @fn_emit_alloca(ptr @.str4778) + store ptr %t240, ptr %t241 + %t242 = load ptr, ptr %t241 + call void @fn_store_at(ptr @.str4779, ptr @.str4780, ptr %t242) + %t243 = call ptr @fn_lbl(ptr @.str4781) + store ptr %t243, ptr %t244 + %t245 = call ptr @fn_lbl(ptr @.str4782) + store ptr %t245, ptr %t246 + %t247 = call ptr @fn_lbl(ptr @.str4783) + store ptr %t247, ptr %t248 + %t249 = call ptr @fn_lbl(ptr @.str4784) + store ptr %t249, ptr %t250 + %t251 = call ptr @fn_lbl(ptr @.str4785) + store ptr %t251, ptr %t252 + call void @fn_emit(ptr @.str4786) + %t253 = load ptr, ptr %t244 + call void @fn_emit(ptr %t253) + call void @fn_emit(ptr @.str4787) + %t254 = load ptr, ptr %t244 + call void @fn_emit(ptr %t254) + call void @fn_emit(ptr @.str4788) + %t255 = load ptr, ptr %t241 + %t256 = call ptr @lp_str_concat(ptr @.str4789, ptr %t255) + %t257 = call ptr @fn_emit_bind(ptr %t256) + store ptr %t257, ptr %t258 + %t259 = load ptr, ptr %t258 + %t260 = call ptr @lp_str_concat(ptr @.str4790, ptr %t259) + %t261 = call ptr @lp_str_concat(ptr %t260, ptr @.str4791) + %t262 = load ptr, ptr %t236 + %t263 = call ptr @lp_str_concat(ptr %t261, ptr %t262) + %t264 = call ptr @fn_emit_bind(ptr %t263) + store ptr %t264, ptr %t265 + call void @fn_emit(ptr @.str4792) + %t266 = load ptr, ptr %t265 + call void @fn_emit(ptr %t266) + call void @fn_emit(ptr @.str4793) + %t267 = load ptr, ptr %t246 + call void @fn_emit(ptr %t267) + call void @fn_emit(ptr @.str4794) + %t268 = load ptr, ptr %t252 + call void @fn_emit(ptr %t268) + call void @fn_emit(ptr @.str4795) + %t269 = load ptr, ptr %t246 + call void @fn_emit(ptr %t269) + call void @fn_emit(ptr @.str4796) + %t270 = load ptr, ptr %t79 + %t271 = load ptr, ptr %t75 + %t272 = load ptr, ptr %t258 + %t273 = call ptr @fn_list_elem_addr(ptr %t270, ptr %t271, ptr %t272) + store ptr %t273, ptr %t274 + %t275 = load ptr, ptr %t75 + %t276 = call ptr @lp_str_concat(ptr @.str4797, ptr %t275) + %t277 = call ptr @lp_str_concat(ptr %t276, ptr @.str4798) + %t278 = load ptr, ptr %t274 + %t279 = call ptr @lp_str_concat(ptr %t277, ptr %t278) + %t280 = call ptr @fn_emit_bind(ptr %t279) + store ptr %t280, ptr %t281 + %t282 = load ptr, ptr %t75 + %t283 = call ptr @lp_str_concat(ptr @.str4799, ptr %t282) + %t284 = call ptr @lp_str_concat(ptr %t283, ptr @.str4800) + %t285 = load ptr, ptr %t281 + %t286 = call ptr @lp_str_concat(ptr %t284, ptr %t285) + %t287 = call ptr @lp_str_concat(ptr %t286, ptr @.str4801) + %t288 = load ptr, ptr %t232 + %t289 = getelementptr inbounds %Cmp_Val, ptr %t288, i32 0, i32 0 + %t290 = load ptr, ptr %t289 + %t291 = call ptr @lp_str_concat(ptr %t287, ptr %t290) + %t292 = call ptr @fn_emit_bind(ptr %t291) + store ptr %t292, ptr %t293 + call void @fn_emit(ptr @.str4802) + %t294 = load ptr, ptr %t293 + call void @fn_emit(ptr %t294) + call void @fn_emit(ptr @.str4803) + %t295 = load ptr, ptr %t248 + call void @fn_emit(ptr %t295) + call void @fn_emit(ptr @.str4804) + %t296 = load ptr, ptr %t250 + call void @fn_emit(ptr %t296) + call void @fn_emit(ptr @.str4805) + %t297 = load ptr, ptr %t248 + call void @fn_emit(ptr %t297) + call void @fn_emit(ptr @.str4806) + %t298 = load ptr, ptr %t258 + %t299 = load ptr, ptr %t238 + call void @fn_store_at(ptr @.str4807, ptr %t298, ptr %t299) + call void @fn_emit(ptr @.str4808) + %t300 = load ptr, ptr %t252 + call void @fn_emit(ptr %t300) + call void @fn_emit(ptr @.str4809) + %t301 = load ptr, ptr %t250 + call void @fn_emit(ptr %t301) + call void @fn_emit(ptr @.str4810) + %t302 = load ptr, ptr %t258 + %t303 = call ptr @lp_str_concat(ptr @.str4811, ptr %t302) + %t304 = call ptr @lp_str_concat(ptr %t303, ptr @.str4812) + %t305 = call ptr @fn_emit_bind(ptr %t304) + store ptr %t305, ptr %t306 + %t307 = load ptr, ptr %t306 + %t308 = load ptr, ptr %t241 + call void @fn_store_at(ptr @.str4813, ptr %t307, ptr %t308) + call void @fn_emit(ptr @.str4814) + %t309 = load ptr, ptr %t244 + call void @fn_emit(ptr %t309) + call void @fn_emit(ptr @.str4815) + %t310 = load ptr, ptr %t252 + call void @fn_emit(ptr %t310) + call void @fn_emit(ptr @.str4816) + %t311 = load ptr, ptr %t238 + %t312 = call ptr @lp_str_concat(ptr @.str4817, ptr %t311) + %t313 = call ptr @fn_emit_bind(ptr %t312) + store ptr %t313, ptr %t314 + %t315 = load ptr, ptr %t0 + %t316 = call i32 @lp_str_eq(ptr %t315, ptr @.str4818) + %t317 = icmp ne i32 %t316, 0 + br i1 %t317, label %then35, label %ifend37 +then35: + %t318 = load ptr, ptr %t314 + %t319 = call ptr @fn_val(ptr %t318, ptr @.str4819) + store ptr %t319, ptr %retval + br label %ret +ifend37: + %t320 = load ptr, ptr %t314 + %t321 = call ptr @lp_str_concat(ptr @.str4820, ptr %t320) + %t322 = call ptr @lp_str_concat(ptr %t321, ptr @.str4821) + %t323 = call ptr @fn_emit_bind(ptr %t322) + store ptr %t323, ptr %t324 + %t325 = load ptr, ptr %t324 + %t326 = call ptr @lp_str_concat(ptr @.str4822, ptr %t325) + %t327 = call ptr @lp_str_concat(ptr %t326, ptr @.str4823) + %t328 = call ptr @fn_emit_bind(ptr %t327) + %t329 = call ptr @fn_val(ptr %t328, ptr @.str4824) + store ptr %t329, ptr %retval + br label %ret +ifend34: + %t330 = load ptr, ptr %t0 + %t331 = call i32 @lp_str_eq(ptr %t330, ptr @.str4825) + %t332 = icmp ne i32 %t331, 0 + br i1 %t332, label %then38, label %ifend40 +then38: + %t333 = load ptr, ptr %t1 + %t334 = getelementptr inbounds %Cmp_Node, ptr %t333, i32 0, i32 7 + %t335 = load ptr, ptr %t334 + %t336 = getelementptr inbounds %LSlice, ptr %t335, i32 0, i32 0 + %t337 = load ptr, ptr %t336 + %t338 = getelementptr inbounds ptr, ptr %t337, i32 1 + %t339 = load ptr, ptr %t338 + %t340 = call ptr @fn_emit_expr(ptr %t339) + store ptr %t340, ptr %t341 + %t342 = load ptr, ptr %t1 + %t343 = getelementptr inbounds %Cmp_Node, ptr %t342, i32 0, i32 7 + %t344 = load ptr, ptr %t343 + %t345 = getelementptr inbounds %LSlice, ptr %t344, i32 0, i32 0 + %t346 = load ptr, ptr %t345 + %t347 = getelementptr inbounds ptr, ptr %t346, i32 2 + %t348 = load ptr, ptr %t347 + %t349 = call ptr @fn_emit_expr(ptr %t348) + store ptr %t349, ptr %t350 + %t351 = load ptr, ptr %t79 + %t352 = load ptr, ptr %t75 + call void @fn_list_grow_if_full(ptr %t351, ptr %t352) + %t353 = load ptr, ptr %t82 + %t354 = call ptr @lp_str_concat(ptr @.str4826, ptr %t353) + %t355 = call ptr @fn_emit_bind(ptr %t354) + store ptr %t355, ptr %t356 + %t357 = call ptr @fn_emit_alloca(ptr @.str4827) + store ptr %t357, ptr %t358 + %t359 = load ptr, ptr %t356 + %t360 = load ptr, ptr %t358 + call void @fn_store_at(ptr @.str4828, ptr %t359, ptr %t360) + %t361 = call ptr @fn_lbl(ptr @.str4829) + store ptr %t361, ptr %t362 + %t363 = call ptr @fn_lbl(ptr @.str4830) + store ptr %t363, ptr %t364 + %t365 = call ptr @fn_lbl(ptr @.str4831) + store ptr %t365, ptr %t366 + call void @fn_emit(ptr @.str4832) + %t367 = load ptr, ptr %t362 + call void @fn_emit(ptr %t367) + call void @fn_emit(ptr @.str4833) + %t368 = load ptr, ptr %t362 + call void @fn_emit(ptr %t368) + call void @fn_emit(ptr @.str4834) + %t369 = load ptr, ptr %t358 + %t370 = call ptr @lp_str_concat(ptr @.str4835, ptr %t369) + %t371 = call ptr @fn_emit_bind(ptr %t370) + store ptr %t371, ptr %t372 + %t373 = load ptr, ptr %t372 + %t374 = call ptr @lp_str_concat(ptr @.str4836, ptr %t373) + %t375 = call ptr @lp_str_concat(ptr %t374, ptr @.str4837) + %t376 = load ptr, ptr %t341 + %t377 = getelementptr inbounds %Cmp_Val, ptr %t376, i32 0, i32 0 + %t378 = load ptr, ptr %t377 + %t379 = call ptr @lp_str_concat(ptr %t375, ptr %t378) + %t380 = call ptr @fn_emit_bind(ptr %t379) + store ptr %t380, ptr %t381 + call void @fn_emit(ptr @.str4838) + %t382 = load ptr, ptr %t381 + call void @fn_emit(ptr %t382) + call void @fn_emit(ptr @.str4839) + %t383 = load ptr, ptr %t364 + call void @fn_emit(ptr %t383) + call void @fn_emit(ptr @.str4840) + %t384 = load ptr, ptr %t366 + call void @fn_emit(ptr %t384) + call void @fn_emit(ptr @.str4841) + %t385 = load ptr, ptr %t364 + call void @fn_emit(ptr %t385) + call void @fn_emit(ptr @.str4842) + %t386 = load ptr, ptr %t372 + %t387 = call ptr @lp_str_concat(ptr @.str4843, ptr %t386) + %t388 = call ptr @lp_str_concat(ptr %t387, ptr @.str4844) + %t389 = call ptr @fn_emit_bind(ptr %t388) + store ptr %t389, ptr %t390 + %t391 = load ptr, ptr %t79 + %t392 = load ptr, ptr %t75 + %t393 = load ptr, ptr %t390 + %t394 = call ptr @fn_list_elem_addr(ptr %t391, ptr %t392, ptr %t393) + store ptr %t394, ptr %t395 + %t396 = load ptr, ptr %t75 + %t397 = call ptr @lp_str_concat(ptr @.str4845, ptr %t396) + %t398 = call ptr @lp_str_concat(ptr %t397, ptr @.str4846) + %t399 = load ptr, ptr %t395 + %t400 = call ptr @lp_str_concat(ptr %t398, ptr %t399) + %t401 = call ptr @fn_emit_bind(ptr %t400) + store ptr %t401, ptr %t402 + %t403 = load ptr, ptr %t79 + %t404 = load ptr, ptr %t75 + %t405 = load ptr, ptr %t372 + %t406 = call ptr @fn_list_elem_addr(ptr %t403, ptr %t404, ptr %t405) + store ptr %t406, ptr %t407 + call void @fn_emit(ptr @.str4847) + %t408 = load ptr, ptr %t75 + call void @fn_emit(ptr %t408) + call void @fn_emit(ptr @.str4848) + %t409 = load ptr, ptr %t402 + call void @fn_emit(ptr %t409) + call void @fn_emit(ptr @.str4849) + %t410 = load ptr, ptr %t407 + call void @fn_emit(ptr %t410) + call void @fn_emit(ptr @.str4850) + %t411 = load ptr, ptr %t390 + %t412 = load ptr, ptr %t358 + call void @fn_store_at(ptr @.str4851, ptr %t411, ptr %t412) + call void @fn_emit(ptr @.str4852) + %t413 = load ptr, ptr %t362 + call void @fn_emit(ptr %t413) + call void @fn_emit(ptr @.str4853) + %t414 = load ptr, ptr %t366 + call void @fn_emit(ptr %t414) + call void @fn_emit(ptr @.str4854) + %t415 = load ptr, ptr %t79 + %t416 = load ptr, ptr %t75 + %t417 = load ptr, ptr %t341 + %t418 = getelementptr inbounds %Cmp_Val, ptr %t417, i32 0, i32 0 + %t419 = load ptr, ptr %t418 + %t420 = call ptr @fn_list_elem_addr(ptr %t415, ptr %t416, ptr %t419) + store ptr %t420, ptr %t421 + call void @fn_emit(ptr @.str4855) + %t422 = load ptr, ptr %t75 + call void @fn_emit(ptr %t422) + call void @fn_emit(ptr @.str4856) + %t423 = load ptr, ptr %t350 + %t424 = getelementptr inbounds %Cmp_Val, ptr %t423, i32 0, i32 0 + %t425 = load ptr, ptr %t424 + call void @fn_emit(ptr %t425) + call void @fn_emit(ptr @.str4857) + %t426 = load ptr, ptr %t421 + call void @fn_emit(ptr %t426) + call void @fn_emit(ptr @.str4858) + %t427 = load ptr, ptr %t356 + %t428 = call ptr @lp_str_concat(ptr @.str4859, ptr %t427) + %t429 = call ptr @lp_str_concat(ptr %t428, ptr @.str4860) + %t430 = call ptr @fn_emit_bind(ptr %t429) + store ptr %t430, ptr %t431 + call void @fn_emit(ptr @.str4861) + %t432 = load ptr, ptr %t431 + call void @fn_emit(ptr %t432) + call void @fn_emit(ptr @.str4862) + %t433 = load ptr, ptr %t82 + call void @fn_emit(ptr %t433) + call void @fn_emit(ptr @.str4863) + %t434 = call ptr @fn_val(ptr @.str4864, ptr @.str4865) + store ptr %t434, ptr %retval + br label %ret +ifend40: + %t435 = load ptr, ptr %t0 + %t436 = call i32 @lp_str_eq(ptr %t435, ptr @.str4866) + %t437 = icmp ne i32 %t436, 0 + br i1 %t437, label %then41, label %ifend43 +then41: + %t438 = load ptr, ptr %t1 + %t439 = getelementptr inbounds %Cmp_Node, ptr %t438, i32 0, i32 7 + %t440 = load ptr, ptr %t439 + %t441 = getelementptr inbounds %LSlice, ptr %t440, i32 0, i32 0 + %t442 = load ptr, ptr %t441 + %t443 = getelementptr inbounds ptr, ptr %t442, i32 1 + %t444 = load ptr, ptr %t443 + %t445 = call ptr @fn_emit_expr(ptr %t444) + store ptr %t445, ptr %t446 + %t447 = load ptr, ptr %t82 + %t448 = call ptr @lp_str_concat(ptr @.str4867, ptr %t447) + %t449 = call ptr @fn_emit_bind(ptr %t448) + store ptr %t449, ptr %t450 + %t451 = load ptr, ptr %t450 + %t452 = call ptr @lp_str_concat(ptr @.str4868, ptr %t451) + %t453 = call ptr @lp_str_concat(ptr %t452, ptr @.str4869) + %t454 = call ptr @fn_emit_bind(ptr %t453) + store ptr %t454, ptr %t455 + %t456 = call ptr @fn_emit_alloca(ptr @.str4870) + store ptr %t456, ptr %t457 + %t458 = load ptr, ptr %t446 + %t459 = getelementptr inbounds %Cmp_Val, ptr %t458, i32 0, i32 0 + %t460 = load ptr, ptr %t459 + %t461 = load ptr, ptr %t457 + call void @fn_store_at(ptr @.str4871, ptr %t460, ptr %t461) + %t462 = call ptr @fn_lbl(ptr @.str4872) + store ptr %t462, ptr %t463 + %t464 = call ptr @fn_lbl(ptr @.str4873) + store ptr %t464, ptr %t465 + %t466 = call ptr @fn_lbl(ptr @.str4874) + store ptr %t466, ptr %t467 + call void @fn_emit(ptr @.str4875) + %t468 = load ptr, ptr %t463 + call void @fn_emit(ptr %t468) + call void @fn_emit(ptr @.str4876) + %t469 = load ptr, ptr %t463 + call void @fn_emit(ptr %t469) + call void @fn_emit(ptr @.str4877) + %t470 = load ptr, ptr %t457 + %t471 = call ptr @lp_str_concat(ptr @.str4878, ptr %t470) + %t472 = call ptr @fn_emit_bind(ptr %t471) + store ptr %t472, ptr %t473 + %t474 = load ptr, ptr %t473 + %t475 = call ptr @lp_str_concat(ptr @.str4879, ptr %t474) + %t476 = call ptr @lp_str_concat(ptr %t475, ptr @.str4880) + %t477 = load ptr, ptr %t455 + %t478 = call ptr @lp_str_concat(ptr %t476, ptr %t477) + %t479 = call ptr @fn_emit_bind(ptr %t478) + store ptr %t479, ptr %t480 + call void @fn_emit(ptr @.str4881) + %t481 = load ptr, ptr %t480 + call void @fn_emit(ptr %t481) + call void @fn_emit(ptr @.str4882) + %t482 = load ptr, ptr %t465 + call void @fn_emit(ptr %t482) + call void @fn_emit(ptr @.str4883) + %t483 = load ptr, ptr %t467 + call void @fn_emit(ptr %t483) + call void @fn_emit(ptr @.str4884) + %t484 = load ptr, ptr %t465 + call void @fn_emit(ptr %t484) + call void @fn_emit(ptr @.str4885) + %t485 = load ptr, ptr %t473 + %t486 = call ptr @lp_str_concat(ptr @.str4886, ptr %t485) + %t487 = call ptr @lp_str_concat(ptr %t486, ptr @.str4887) + %t488 = call ptr @fn_emit_bind(ptr %t487) + store ptr %t488, ptr %t489 + %t490 = load ptr, ptr %t79 + %t491 = load ptr, ptr %t75 + %t492 = load ptr, ptr %t489 + %t493 = call ptr @fn_list_elem_addr(ptr %t490, ptr %t491, ptr %t492) + store ptr %t493, ptr %t494 + %t495 = load ptr, ptr %t75 + %t496 = call ptr @lp_str_concat(ptr @.str4888, ptr %t495) + %t497 = call ptr @lp_str_concat(ptr %t496, ptr @.str4889) + %t498 = load ptr, ptr %t494 + %t499 = call ptr @lp_str_concat(ptr %t497, ptr %t498) + %t500 = call ptr @fn_emit_bind(ptr %t499) + store ptr %t500, ptr %t501 + %t502 = load ptr, ptr %t79 + %t503 = load ptr, ptr %t75 + %t504 = load ptr, ptr %t473 + %t505 = call ptr @fn_list_elem_addr(ptr %t502, ptr %t503, ptr %t504) + store ptr %t505, ptr %t506 + call void @fn_emit(ptr @.str4890) + %t507 = load ptr, ptr %t75 + call void @fn_emit(ptr %t507) + call void @fn_emit(ptr @.str4891) + %t508 = load ptr, ptr %t501 + call void @fn_emit(ptr %t508) + call void @fn_emit(ptr @.str4892) + %t509 = load ptr, ptr %t506 + call void @fn_emit(ptr %t509) + call void @fn_emit(ptr @.str4893) + %t510 = load ptr, ptr %t489 + %t511 = load ptr, ptr %t457 + call void @fn_store_at(ptr @.str4894, ptr %t510, ptr %t511) + call void @fn_emit(ptr @.str4895) + %t512 = load ptr, ptr %t463 + call void @fn_emit(ptr %t512) + call void @fn_emit(ptr @.str4896) + %t513 = load ptr, ptr %t467 + call void @fn_emit(ptr %t513) + call void @fn_emit(ptr @.str4897) + call void @fn_emit(ptr @.str4898) + %t514 = load ptr, ptr %t455 + call void @fn_emit(ptr %t514) + call void @fn_emit(ptr @.str4899) + %t515 = load ptr, ptr %t82 + call void @fn_emit(ptr %t515) + call void @fn_emit(ptr @.str4900) + %t516 = call ptr @fn_val(ptr @.str4901, ptr @.str4902) + store ptr %t516, ptr %retval + br label %ret +ifend43: + %t517 = load ptr, ptr %t0 + %t518 = call i32 @lp_str_eq(ptr %t517, ptr @.str4903) + %t519 = icmp ne i32 %t518, 0 + br i1 %t519, label %then44, label %ifend46 +then44: + %t520 = load ptr, ptr %t1 + %t521 = getelementptr inbounds %Cmp_Node, ptr %t520, i32 0, i32 7 + %t522 = load ptr, ptr %t521 + %t523 = getelementptr inbounds %LSlice, ptr %t522, i32 0, i32 0 + %t524 = load ptr, ptr %t523 + %t525 = getelementptr inbounds ptr, ptr %t524, i32 1 + %t526 = load ptr, ptr %t525 + %t527 = call ptr @fn_emit_expr(ptr %t526) + store ptr %t527, ptr %t528 + %t529 = load ptr, ptr %t82 + %t530 = call ptr @lp_str_concat(ptr @.str4904, ptr %t529) + %t531 = call ptr @fn_emit_bind(ptr %t530) + store ptr %t531, ptr %t532 + %t533 = call ptr @fn_emit_alloca(ptr @.str4905) + store ptr %t533, ptr %t534 + %t535 = load ptr, ptr %t534 + call void @fn_store_at(ptr @.str4906, ptr @.str4907, ptr %t535) + %t536 = call ptr @fn_emit_alloca(ptr @.str4908) + store ptr %t536, ptr %t537 + %t538 = load ptr, ptr %t537 + call void @fn_store_at(ptr @.str4909, ptr @.str4910, ptr %t538) + %t539 = call ptr @fn_lbl(ptr @.str4911) + store ptr %t539, ptr %t540 + %t541 = call ptr @fn_lbl(ptr @.str4912) + store ptr %t541, ptr %t542 + %t543 = call ptr @fn_lbl(ptr @.str4913) + store ptr %t543, ptr %t544 + %t545 = call ptr @fn_lbl(ptr @.str4914) + store ptr %t545, ptr %t546 + %t547 = call ptr @fn_lbl(ptr @.str4915) + store ptr %t547, ptr %t548 + call void @fn_emit(ptr @.str4916) + %t549 = load ptr, ptr %t540 + call void @fn_emit(ptr %t549) + call void @fn_emit(ptr @.str4917) + %t550 = load ptr, ptr %t540 + call void @fn_emit(ptr %t550) + call void @fn_emit(ptr @.str4918) + %t551 = load ptr, ptr %t537 + %t552 = call ptr @lp_str_concat(ptr @.str4919, ptr %t551) + %t553 = call ptr @fn_emit_bind(ptr %t552) + store ptr %t553, ptr %t554 + %t555 = load ptr, ptr %t554 + %t556 = call ptr @lp_str_concat(ptr @.str4920, ptr %t555) + %t557 = call ptr @lp_str_concat(ptr %t556, ptr @.str4921) + %t558 = load ptr, ptr %t532 + %t559 = call ptr @lp_str_concat(ptr %t557, ptr %t558) + %t560 = call ptr @fn_emit_bind(ptr %t559) + store ptr %t560, ptr %t561 + %t562 = load ptr, ptr %t534 + %t563 = call ptr @lp_str_concat(ptr @.str4922, ptr %t562) + %t564 = call ptr @fn_emit_bind(ptr %t563) + store ptr %t564, ptr %t565 + %t566 = load ptr, ptr %t565 + %t567 = call ptr @lp_str_concat(ptr @.str4923, ptr %t566) + %t568 = call ptr @lp_str_concat(ptr %t567, ptr @.str4924) + %t569 = call ptr @fn_emit_bind(ptr %t568) + store ptr %t569, ptr %t570 + %t571 = load ptr, ptr %t561 + %t572 = call ptr @lp_str_concat(ptr @.str4925, ptr %t571) + %t573 = call ptr @lp_str_concat(ptr %t572, ptr @.str4926) + %t574 = load ptr, ptr %t570 + %t575 = call ptr @lp_str_concat(ptr %t573, ptr %t574) + %t576 = call ptr @fn_emit_bind(ptr %t575) + store ptr %t576, ptr %t577 + call void @fn_emit(ptr @.str4927) + %t578 = load ptr, ptr %t577 + call void @fn_emit(ptr %t578) + call void @fn_emit(ptr @.str4928) + %t579 = load ptr, ptr %t542 + call void @fn_emit(ptr %t579) + call void @fn_emit(ptr @.str4929) + %t580 = load ptr, ptr %t548 + call void @fn_emit(ptr %t580) + call void @fn_emit(ptr @.str4930) + %t581 = load ptr, ptr %t542 + call void @fn_emit(ptr %t581) + call void @fn_emit(ptr @.str4931) + %t582 = load ptr, ptr %t79 + %t583 = load ptr, ptr %t75 + %t584 = load ptr, ptr %t554 + %t585 = call ptr @fn_list_elem_addr(ptr %t582, ptr %t583, ptr %t584) + store ptr %t585, ptr %t586 + %t587 = load ptr, ptr %t75 + %t588 = call ptr @lp_str_concat(ptr @.str4932, ptr %t587) + %t589 = call ptr @lp_str_concat(ptr %t588, ptr @.str4933) + %t590 = load ptr, ptr %t586 + %t591 = call ptr @lp_str_concat(ptr %t589, ptr %t590) + %t592 = call ptr @fn_emit_bind(ptr %t591) + store ptr %t592, ptr %t593 + %t594 = load ptr, ptr %t75 + %t595 = call ptr @lp_str_concat(ptr @.str4934, ptr %t594) + %t596 = call ptr @lp_str_concat(ptr %t595, ptr @.str4935) + %t597 = load ptr, ptr %t593 + %t598 = call ptr @lp_str_concat(ptr %t596, ptr %t597) + %t599 = call ptr @lp_str_concat(ptr %t598, ptr @.str4936) + %t600 = load ptr, ptr %t528 + %t601 = getelementptr inbounds %Cmp_Val, ptr %t600, i32 0, i32 0 + %t602 = load ptr, ptr %t601 + %t603 = call ptr @lp_str_concat(ptr %t599, ptr %t602) + %t604 = call ptr @fn_emit_bind(ptr %t603) + store ptr %t604, ptr %t605 + call void @fn_emit(ptr @.str4937) + %t606 = load ptr, ptr %t605 + call void @fn_emit(ptr %t606) + call void @fn_emit(ptr @.str4938) + %t607 = load ptr, ptr %t544 + call void @fn_emit(ptr %t607) + call void @fn_emit(ptr @.str4939) + %t608 = load ptr, ptr %t546 + call void @fn_emit(ptr %t608) + call void @fn_emit(ptr @.str4940) + %t609 = load ptr, ptr %t544 + call void @fn_emit(ptr %t609) + call void @fn_emit(ptr @.str4941) + %t610 = load ptr, ptr %t554 + %t611 = load ptr, ptr %t534 + call void @fn_store_at(ptr @.str4942, ptr %t610, ptr %t611) + call void @fn_emit(ptr @.str4943) + %t612 = load ptr, ptr %t540 + call void @fn_emit(ptr %t612) + call void @fn_emit(ptr @.str4944) + %t613 = load ptr, ptr %t546 + call void @fn_emit(ptr %t613) + call void @fn_emit(ptr @.str4945) + %t614 = load ptr, ptr %t554 + %t615 = call ptr @lp_str_concat(ptr @.str4946, ptr %t614) + %t616 = call ptr @lp_str_concat(ptr %t615, ptr @.str4947) + %t617 = call ptr @fn_emit_bind(ptr %t616) + store ptr %t617, ptr %t618 + %t619 = load ptr, ptr %t618 + %t620 = load ptr, ptr %t537 + call void @fn_store_at(ptr @.str4948, ptr %t619, ptr %t620) + call void @fn_emit(ptr @.str4949) + %t621 = load ptr, ptr %t540 + call void @fn_emit(ptr %t621) + call void @fn_emit(ptr @.str4950) + %t622 = load ptr, ptr %t548 + call void @fn_emit(ptr %t622) + call void @fn_emit(ptr @.str4951) + %t623 = load ptr, ptr %t534 + %t624 = call ptr @lp_str_concat(ptr @.str4952, ptr %t623) + %t625 = call ptr @fn_emit_bind(ptr %t624) + store ptr %t625, ptr %t626 + %t627 = load ptr, ptr %t626 + %t628 = call ptr @lp_str_concat(ptr @.str4953, ptr %t627) + %t629 = call ptr @lp_str_concat(ptr %t628, ptr @.str4954) + %t630 = call ptr @fn_emit_bind(ptr %t629) + store ptr %t630, ptr %t631 + %t632 = call ptr @fn_lbl(ptr @.str4955) + store ptr %t632, ptr %t633 + %t634 = call ptr @fn_lbl(ptr @.str4956) + store ptr %t634, ptr %t635 + call void @fn_emit(ptr @.str4957) + %t636 = load ptr, ptr %t631 + call void @fn_emit(ptr %t636) + call void @fn_emit(ptr @.str4958) + %t637 = load ptr, ptr %t633 + call void @fn_emit(ptr %t637) + call void @fn_emit(ptr @.str4959) + %t638 = load ptr, ptr %t635 + call void @fn_emit(ptr %t638) + call void @fn_emit(ptr @.str4960) + %t639 = load ptr, ptr %t633 + call void @fn_emit(ptr %t639) + call void @fn_emit(ptr @.str4961) + %t640 = load ptr, ptr %t532 + %t641 = call ptr @lp_str_concat(ptr @.str4962, ptr %t640) + %t642 = call ptr @lp_str_concat(ptr %t641, ptr @.str4963) + %t643 = call ptr @fn_emit_bind(ptr %t642) + store ptr %t643, ptr %t644 + %t645 = call ptr @fn_emit_alloca(ptr @.str4964) + store ptr %t645, ptr %t646 + %t647 = load ptr, ptr %t626 + %t648 = load ptr, ptr %t646 + call void @fn_store_at(ptr @.str4965, ptr %t647, ptr %t648) + %t649 = call ptr @fn_lbl(ptr @.str4966) + store ptr %t649, ptr %t650 + %t651 = call ptr @fn_lbl(ptr @.str4967) + store ptr %t651, ptr %t652 + %t653 = call ptr @fn_lbl(ptr @.str4968) + store ptr %t653, ptr %t654 + call void @fn_emit(ptr @.str4969) + %t655 = load ptr, ptr %t650 + call void @fn_emit(ptr %t655) + call void @fn_emit(ptr @.str4970) + %t656 = load ptr, ptr %t650 + call void @fn_emit(ptr %t656) + call void @fn_emit(ptr @.str4971) + %t657 = load ptr, ptr %t646 + %t658 = call ptr @lp_str_concat(ptr @.str4972, ptr %t657) + %t659 = call ptr @fn_emit_bind(ptr %t658) + store ptr %t659, ptr %t660 + %t661 = load ptr, ptr %t660 + %t662 = call ptr @lp_str_concat(ptr @.str4973, ptr %t661) + %t663 = call ptr @lp_str_concat(ptr %t662, ptr @.str4974) + %t664 = load ptr, ptr %t644 + %t665 = call ptr @lp_str_concat(ptr %t663, ptr %t664) + %t666 = call ptr @fn_emit_bind(ptr %t665) + store ptr %t666, ptr %t667 + call void @fn_emit(ptr @.str4975) + %t668 = load ptr, ptr %t667 + call void @fn_emit(ptr %t668) + call void @fn_emit(ptr @.str4976) + %t669 = load ptr, ptr %t652 + call void @fn_emit(ptr %t669) + call void @fn_emit(ptr @.str4977) + %t670 = load ptr, ptr %t654 + call void @fn_emit(ptr %t670) + call void @fn_emit(ptr @.str4978) + %t671 = load ptr, ptr %t652 + call void @fn_emit(ptr %t671) + call void @fn_emit(ptr @.str4979) + %t672 = load ptr, ptr %t660 + %t673 = call ptr @lp_str_concat(ptr @.str4980, ptr %t672) + %t674 = call ptr @lp_str_concat(ptr %t673, ptr @.str4981) + %t675 = call ptr @fn_emit_bind(ptr %t674) + store ptr %t675, ptr %t676 + %t677 = load ptr, ptr %t79 + %t678 = load ptr, ptr %t75 + %t679 = load ptr, ptr %t676 + %t680 = call ptr @fn_list_elem_addr(ptr %t677, ptr %t678, ptr %t679) + store ptr %t680, ptr %t681 + %t682 = load ptr, ptr %t75 + %t683 = call ptr @lp_str_concat(ptr @.str4982, ptr %t682) + %t684 = call ptr @lp_str_concat(ptr %t683, ptr @.str4983) + %t685 = load ptr, ptr %t681 + %t686 = call ptr @lp_str_concat(ptr %t684, ptr %t685) + %t687 = call ptr @fn_emit_bind(ptr %t686) + store ptr %t687, ptr %t688 + %t689 = load ptr, ptr %t79 + %t690 = load ptr, ptr %t75 + %t691 = load ptr, ptr %t660 + %t692 = call ptr @fn_list_elem_addr(ptr %t689, ptr %t690, ptr %t691) + store ptr %t692, ptr %t693 + call void @fn_emit(ptr @.str4984) + %t694 = load ptr, ptr %t75 + call void @fn_emit(ptr %t694) + call void @fn_emit(ptr @.str4985) + %t695 = load ptr, ptr %t688 + call void @fn_emit(ptr %t695) + call void @fn_emit(ptr @.str4986) + %t696 = load ptr, ptr %t693 + call void @fn_emit(ptr %t696) + call void @fn_emit(ptr @.str4987) + %t697 = load ptr, ptr %t676 + %t698 = load ptr, ptr %t646 + call void @fn_store_at(ptr @.str4988, ptr %t697, ptr %t698) + call void @fn_emit(ptr @.str4989) + %t699 = load ptr, ptr %t650 + call void @fn_emit(ptr %t699) + call void @fn_emit(ptr @.str4990) + %t700 = load ptr, ptr %t654 + call void @fn_emit(ptr %t700) + call void @fn_emit(ptr @.str4991) + call void @fn_emit(ptr @.str4992) + %t701 = load ptr, ptr %t644 + call void @fn_emit(ptr %t701) + call void @fn_emit(ptr @.str4993) + %t702 = load ptr, ptr %t82 + call void @fn_emit(ptr %t702) + call void @fn_emit(ptr @.str4994) + call void @fn_emit(ptr @.str4995) + %t703 = load ptr, ptr %t635 + call void @fn_emit(ptr %t703) + call void @fn_emit(ptr @.str4996) + %t704 = load ptr, ptr %t635 + call void @fn_emit(ptr %t704) + call void @fn_emit(ptr @.str4997) + %t705 = call ptr @fn_val(ptr @.str4998, ptr @.str4999) + store ptr %t705, ptr %retval + br label %ret +ifend46: + %t706 = load ptr, ptr %t0 + %t707 = call i32 @lp_str_eq(ptr %t706, ptr @.str5000) + %t708 = icmp ne i32 %t707, 0 + br i1 %t708, label %then47, label %ifend49 +then47: + %t709 = load ptr, ptr %t82 + %t710 = call ptr @lp_str_concat(ptr @.str5001, ptr %t709) + %t711 = call ptr @fn_emit_bind(ptr %t710) + store ptr %t711, ptr %t712 + %t713 = load ptr, ptr %t712 + %t714 = call ptr @lp_str_concat(ptr @.str5002, ptr %t713) + %t715 = call ptr @lp_str_concat(ptr %t714, ptr @.str5003) + %t716 = call ptr @fn_emit_bind(ptr %t715) + store ptr %t716, ptr %t717 + %t718 = call ptr @fn_lbl(ptr @.str5004) + store ptr %t718, ptr %t719 + %t720 = call ptr @fn_lbl(ptr @.str5005) + store ptr %t720, ptr %t721 + %t722 = call ptr @fn_lbl(ptr @.str5006) + store ptr %t722, ptr %t723 + call void @fn_emit(ptr @.str5007) + %t724 = load ptr, ptr %t717 + call void @fn_emit(ptr %t724) + call void @fn_emit(ptr @.str5008) + %t725 = load ptr, ptr %t719 + call void @fn_emit(ptr %t725) + call void @fn_emit(ptr @.str5009) + %t726 = load ptr, ptr %t721 + call void @fn_emit(ptr %t726) + call void @fn_emit(ptr @.str5010) + %t727 = load ptr, ptr %t719 + call void @fn_emit(ptr %t727) + call void @fn_emit(ptr @.str5011) + %t728 = load ptr, ptr %t82 + %t729 = call ptr @lp_str_concat(ptr @.str5012, ptr %t728) + %t730 = call ptr @fn_emit_bind(ptr %t729) + store ptr %t730, ptr %t731 + %t732 = call ptr @fn_emit_alloca(ptr @.str5013) + store ptr %t732, ptr %t733 + %t734 = load ptr, ptr %t733 + call void @fn_store_at(ptr @.str5014, ptr @.str5015, ptr %t734) + %t735 = call ptr @fn_lbl(ptr @.str5016) + store ptr %t735, ptr %t736 + %t737 = call ptr @fn_lbl(ptr @.str5017) + store ptr %t737, ptr %t738 + %t739 = call ptr @fn_lbl(ptr @.str5018) + store ptr %t739, ptr %t740 + call void @fn_emit(ptr @.str5019) + %t741 = load ptr, ptr %t736 + call void @fn_emit(ptr %t741) + call void @fn_emit(ptr @.str5020) + %t742 = load ptr, ptr %t736 + call void @fn_emit(ptr %t742) + call void @fn_emit(ptr @.str5021) + %t743 = load ptr, ptr %t733 + %t744 = call ptr @lp_str_concat(ptr @.str5022, ptr %t743) + %t745 = call ptr @fn_emit_bind(ptr %t744) + store ptr %t745, ptr %t746 + %t747 = load ptr, ptr %t746 + %t748 = call ptr @lp_str_concat(ptr @.str5023, ptr %t747) + %t749 = call ptr @lp_str_concat(ptr %t748, ptr @.str5024) + %t750 = load ptr, ptr %t731 + %t751 = call ptr @lp_str_concat(ptr %t749, ptr %t750) + %t752 = call ptr @fn_emit_bind(ptr %t751) + store ptr %t752, ptr %t753 + call void @fn_emit(ptr @.str5025) + %t754 = load ptr, ptr %t753 + call void @fn_emit(ptr %t754) + call void @fn_emit(ptr @.str5026) + %t755 = load ptr, ptr %t738 + call void @fn_emit(ptr %t755) + call void @fn_emit(ptr @.str5027) + %t756 = load ptr, ptr %t740 + call void @fn_emit(ptr %t756) + call void @fn_emit(ptr @.str5028) + %t757 = load ptr, ptr %t738 + call void @fn_emit(ptr %t757) + call void @fn_emit(ptr @.str5029) + %t758 = load ptr, ptr %t79 + %t759 = load ptr, ptr %t75 + %t760 = load ptr, ptr %t746 + %t761 = call ptr @fn_list_elem_addr(ptr %t758, ptr %t759, ptr %t760) + store ptr %t761, ptr %t762 + %t763 = load ptr, ptr %t75 + %t764 = call ptr @lp_str_concat(ptr @.str5030, ptr %t763) + %t765 = call ptr @lp_str_concat(ptr %t764, ptr @.str5031) + %t766 = load ptr, ptr %t762 + %t767 = call ptr @lp_str_concat(ptr %t765, ptr %t766) + %t768 = call ptr @fn_emit_bind(ptr %t767) + store ptr %t768, ptr %t769 + %t770 = call ptr @fn_emit_alloca(ptr @.str5032) + store ptr %t770, ptr %t771 + %t772 = load ptr, ptr %t746 + %t773 = call ptr @lp_str_concat(ptr @.str5033, ptr %t772) + %t774 = call ptr @lp_str_concat(ptr %t773, ptr @.str5034) + %t775 = call ptr @fn_emit_bind(ptr %t774) + store ptr %t775, ptr %t776 + %t777 = load ptr, ptr %t776 + %t778 = load ptr, ptr %t771 + call void @fn_store_at(ptr @.str5035, ptr %t777, ptr %t778) + %t779 = call ptr @fn_lbl(ptr @.str5036) + store ptr %t779, ptr %t780 + %t781 = call ptr @fn_lbl(ptr @.str5037) + store ptr %t781, ptr %t782 + %t783 = call ptr @fn_lbl(ptr @.str5038) + store ptr %t783, ptr %t784 + call void @fn_emit(ptr @.str5039) + %t785 = load ptr, ptr %t780 + call void @fn_emit(ptr %t785) + call void @fn_emit(ptr @.str5040) + %t786 = load ptr, ptr %t780 + call void @fn_emit(ptr %t786) + call void @fn_emit(ptr @.str5041) + %t787 = load ptr, ptr %t771 + %t788 = call ptr @lp_str_concat(ptr @.str5042, ptr %t787) + %t789 = call ptr @fn_emit_bind(ptr %t788) + store ptr %t789, ptr %t790 + %t791 = load ptr, ptr %t790 + %t792 = call ptr @lp_str_concat(ptr @.str5043, ptr %t791) + %t793 = call ptr @lp_str_concat(ptr %t792, ptr @.str5044) + %t794 = call ptr @fn_emit_bind(ptr %t793) + store ptr %t794, ptr %t795 + %t796 = load ptr, ptr %t79 + %t797 = load ptr, ptr %t75 + %t798 = load ptr, ptr %t790 + %t799 = call ptr @fn_list_elem_addr(ptr %t796, ptr %t797, ptr %t798) + store ptr %t799, ptr %t800 + %t801 = load ptr, ptr %t75 + %t802 = call ptr @lp_str_concat(ptr @.str5045, ptr %t801) + %t803 = call ptr @lp_str_concat(ptr %t802, ptr @.str5046) + %t804 = load ptr, ptr %t800 + %t805 = call ptr @lp_str_concat(ptr %t803, ptr %t804) + %t806 = call ptr @fn_emit_bind(ptr %t805) + store ptr %t806, ptr %t807 + %t808 = load ptr, ptr %t75 + %t809 = call ptr @lp_str_concat(ptr @.str5047, ptr %t808) + %t810 = call ptr @lp_str_concat(ptr %t809, ptr @.str5048) + %t811 = load ptr, ptr %t807 + %t812 = call ptr @lp_str_concat(ptr %t810, ptr %t811) + %t813 = call ptr @lp_str_concat(ptr %t812, ptr @.str5049) + %t814 = load ptr, ptr %t769 + %t815 = call ptr @lp_str_concat(ptr %t813, ptr %t814) + %t816 = call ptr @fn_emit_bind(ptr %t815) + store ptr %t816, ptr %t817 + %t818 = load ptr, ptr %t795 + %t819 = call ptr @lp_str_concat(ptr @.str5050, ptr %t818) + %t820 = call ptr @lp_str_concat(ptr %t819, ptr @.str5051) + %t821 = load ptr, ptr %t817 + %t822 = call ptr @lp_str_concat(ptr %t820, ptr %t821) + %t823 = call ptr @fn_emit_bind(ptr %t822) + store ptr %t823, ptr %t824 + call void @fn_emit(ptr @.str5052) + %t825 = load ptr, ptr %t824 + call void @fn_emit(ptr %t825) + call void @fn_emit(ptr @.str5053) + %t826 = load ptr, ptr %t782 + call void @fn_emit(ptr %t826) + call void @fn_emit(ptr @.str5054) + %t827 = load ptr, ptr %t784 + call void @fn_emit(ptr %t827) + call void @fn_emit(ptr @.str5055) + %t828 = load ptr, ptr %t782 + call void @fn_emit(ptr %t828) + call void @fn_emit(ptr @.str5056) + %t829 = load ptr, ptr %t790 + %t830 = call ptr @lp_str_concat(ptr @.str5057, ptr %t829) + %t831 = call ptr @lp_str_concat(ptr %t830, ptr @.str5058) + %t832 = call ptr @fn_emit_bind(ptr %t831) + store ptr %t832, ptr %t833 + %t834 = load ptr, ptr %t79 + %t835 = load ptr, ptr %t75 + %t836 = load ptr, ptr %t833 + %t837 = call ptr @fn_list_elem_addr(ptr %t834, ptr %t835, ptr %t836) + store ptr %t837, ptr %t838 + call void @fn_emit(ptr @.str5059) + %t839 = load ptr, ptr %t75 + call void @fn_emit(ptr %t839) + call void @fn_emit(ptr @.str5060) + %t840 = load ptr, ptr %t807 + call void @fn_emit(ptr %t840) + call void @fn_emit(ptr @.str5061) + %t841 = load ptr, ptr %t838 + call void @fn_emit(ptr %t841) + call void @fn_emit(ptr @.str5062) + %t842 = load ptr, ptr %t790 + %t843 = call ptr @lp_str_concat(ptr @.str5063, ptr %t842) + %t844 = call ptr @lp_str_concat(ptr %t843, ptr @.str5064) + %t845 = call ptr @fn_emit_bind(ptr %t844) + store ptr %t845, ptr %t846 + %t847 = load ptr, ptr %t846 + %t848 = load ptr, ptr %t771 + call void @fn_store_at(ptr @.str5065, ptr %t847, ptr %t848) + call void @fn_emit(ptr @.str5066) + %t849 = load ptr, ptr %t780 + call void @fn_emit(ptr %t849) + call void @fn_emit(ptr @.str5067) + %t850 = load ptr, ptr %t784 + call void @fn_emit(ptr %t850) + call void @fn_emit(ptr @.str5068) + %t851 = load ptr, ptr %t771 + %t852 = call ptr @lp_str_concat(ptr @.str5069, ptr %t851) + %t853 = call ptr @fn_emit_bind(ptr %t852) + store ptr %t853, ptr %t854 + %t855 = load ptr, ptr %t854 + %t856 = call ptr @lp_str_concat(ptr @.str5070, ptr %t855) + %t857 = call ptr @lp_str_concat(ptr %t856, ptr @.str5071) + %t858 = call ptr @fn_emit_bind(ptr %t857) + store ptr %t858, ptr %t859 + %t860 = load ptr, ptr %t79 + %t861 = load ptr, ptr %t75 + %t862 = load ptr, ptr %t859 + %t863 = call ptr @fn_list_elem_addr(ptr %t860, ptr %t861, ptr %t862) + store ptr %t863, ptr %t864 + call void @fn_emit(ptr @.str5072) + %t865 = load ptr, ptr %t75 + call void @fn_emit(ptr %t865) + call void @fn_emit(ptr @.str5073) + %t866 = load ptr, ptr %t769 + call void @fn_emit(ptr %t866) + call void @fn_emit(ptr @.str5074) + %t867 = load ptr, ptr %t864 + call void @fn_emit(ptr %t867) + call void @fn_emit(ptr @.str5075) + %t868 = load ptr, ptr %t746 + %t869 = call ptr @lp_str_concat(ptr @.str5076, ptr %t868) + %t870 = call ptr @lp_str_concat(ptr %t869, ptr @.str5077) + %t871 = call ptr @fn_emit_bind(ptr %t870) + store ptr %t871, ptr %t872 + %t873 = load ptr, ptr %t872 + %t874 = load ptr, ptr %t733 + call void @fn_store_at(ptr @.str5078, ptr %t873, ptr %t874) + call void @fn_emit(ptr @.str5079) + %t875 = load ptr, ptr %t736 + call void @fn_emit(ptr %t875) + call void @fn_emit(ptr @.str5080) + %t876 = load ptr, ptr %t740 + call void @fn_emit(ptr %t876) + call void @fn_emit(ptr @.str5081) + call void @fn_emit(ptr @.str5082) + %t877 = load ptr, ptr %t723 + call void @fn_emit(ptr %t877) + call void @fn_emit(ptr @.str5083) + %t878 = load ptr, ptr %t721 + call void @fn_emit(ptr %t878) + call void @fn_emit(ptr @.str5084) + %t879 = load ptr, ptr %t79 + %t880 = load ptr, ptr %t75 + call void @fn_emit_merge_sort(ptr %t879, ptr %t880, i32 3, ptr @.str5085, ptr @.str5086) + call void @fn_emit(ptr @.str5087) + %t881 = load ptr, ptr %t723 + call void @fn_emit(ptr %t881) + call void @fn_emit(ptr @.str5088) + %t882 = load ptr, ptr %t723 + call void @fn_emit(ptr %t882) + call void @fn_emit(ptr @.str5089) + %t883 = call ptr @fn_val(ptr @.str5090, ptr @.str5091) + store ptr %t883, ptr %retval + br label %ret +ifend49: + %t884 = load ptr, ptr %t0 + %t885 = call i32 @lp_str_eq(ptr %t884, ptr @.str5092) + %t886 = icmp ne i32 %t885, 0 + br i1 %t886, label %then50, label %ifend52 +then50: + %t887 = load ptr, ptr %t0 + %t888 = load ptr, ptr %t1 + %t889 = call ptr @fn_sort_fn_arg(ptr %t887, ptr %t888) + store ptr %t889, ptr %t890 + %t891 = load ptr, ptr %t890 + %t892 = call ptr @fn_find_fn(ptr %t891) + %t893 = call ptr @fn_param_types(ptr %t892) + %t894 = getelementptr inbounds %LSlice, ptr %t893, i32 0, i32 1 + %t895 = load i32, ptr %t894 + %t896 = icmp ne i32 %t895, 2 + %t897 = zext i1 %t896 to i32 + %t898 = icmp ne i32 %t897, 0 + br i1 %t898, label %then53, label %ifend55 +then53: + %t899 = load ptr, ptr %t890 + %t900 = call ptr @lp_str_concat(ptr @.str5093, ptr %t899) + %t901 = call ptr @lp_str_concat(ptr %t900, ptr @.str5094) + call void @fn_perr(ptr %t901) + br label %ifend55 +ifend55: + %t902 = load ptr, ptr %t79 + %t903 = load ptr, ptr %t75 + %t904 = load ptr, ptr %t890 + call void @fn_emit_merge_sort(ptr %t902, ptr %t903, i32 0, ptr %t904, ptr @.str5095) + %t905 = call ptr @fn_val(ptr @.str5096, ptr @.str5097) + store ptr %t905, ptr %retval + br label %ret +ifend52: + %t907 = load ptr, ptr %t0 + %t908 = call i32 @lp_str_eq(ptr %t907, ptr @.str5098) + %t909 = icmp ne i32 %t908, 0 + %t910 = zext i1 %t909 to i32 + store i32 %t910, ptr %t906 + br i1 %t909, label %scend57, label %sc56 +sc56: + %t911 = load ptr, ptr %t0 + %t912 = call i32 @lp_str_eq(ptr %t911, ptr @.str5099) + %t913 = icmp ne i32 %t912, 0 + %t914 = zext i1 %t913 to i32 + store i32 %t914, ptr %t906 + br label %scend57 +scend57: + %t915 = load i32, ptr %t906 + %t916 = icmp ne i32 %t915, 0 + br i1 %t916, label %then58, label %ifend60 +then58: + %t917 = load ptr, ptr %t0 + %t918 = load ptr, ptr %t1 + %t919 = call ptr @fn_sort_fn_arg(ptr %t917, ptr %t918) + store ptr %t919, ptr %t920 + %t921 = load ptr, ptr %t920 + %t922 = call ptr @fn_find_fn(ptr %t921) + store ptr %t922, ptr %t923 + %t924 = load ptr, ptr %t923 + %t925 = call ptr @fn_param_types(ptr %t924) + %t926 = getelementptr inbounds %LSlice, ptr %t925, i32 0, i32 1 + %t927 = load i32, ptr %t926 + %t928 = icmp ne i32 %t927, 1 + %t929 = zext i1 %t928 to i32 + %t930 = icmp ne i32 %t929, 0 + br i1 %t930, label %then61, label %ifend63 +then61: + %t931 = load ptr, ptr %t0 + %t932 = call ptr @lp_str_concat(ptr @.str5100, ptr %t931) + %t933 = call ptr @lp_str_concat(ptr %t932, ptr @.str5101) + %t934 = load ptr, ptr %t920 + %t935 = call ptr @lp_str_concat(ptr %t933, ptr %t934) + %t936 = call ptr @lp_str_concat(ptr %t935, ptr @.str5102) + call void @fn_perr(ptr %t936) + br label %ifend63 +ifend63: + %t937 = load ptr, ptr %t923 + %t938 = getelementptr inbounds %Cmp_Node, ptr %t937, i32 0, i32 3 + %t939 = load ptr, ptr %t938 + %t940 = call ptr @fn_llty(ptr %t939) + store ptr %t940, ptr %t941 + %t943 = load ptr, ptr %t941 + %t944 = call i32 @lp_str_eq(ptr %t943, ptr @.str5103) + %t945 = icmp ne i32 %t944, 0 + %t946 = zext i1 %t945 to i32 + store i32 %t946, ptr %t942 + br i1 %t945, label %scend65, label %sc64 +sc64: + %t947 = load ptr, ptr %t941 + %t948 = call i32 @lp_str_eq(ptr %t947, ptr @.str5104) + %t949 = icmp ne i32 %t948, 0 + %t950 = zext i1 %t949 to i32 + store i32 %t950, ptr %t942 + br label %scend65 +scend65: + %t951 = load i32, ptr %t942 + %t952 = icmp ne i32 %t951, 0 + br i1 %t952, label %then66, label %ifend68 +then66: + %t953 = load ptr, ptr %t0 + %t954 = call ptr @lp_str_concat(ptr @.str5105, ptr %t953) + %t955 = call ptr @lp_str_concat(ptr %t954, ptr @.str5106) + %t956 = load ptr, ptr %t920 + %t957 = call ptr @lp_str_concat(ptr %t955, ptr %t956) + %t958 = call ptr @lp_str_concat(ptr %t957, ptr @.str5107) + call void @fn_perr(ptr %t958) + br label %ifend68 +ifend68: + store i32 1, ptr %t959 + %t960 = load ptr, ptr %t0 + %t961 = call i32 @lp_str_eq(ptr %t960, ptr @.str5108) + %t962 = icmp ne i32 %t961, 0 + br i1 %t962, label %then69, label %ifend71 +then69: + store i32 2, ptr %t959 + br label %ifend71 +ifend71: + %t963 = load ptr, ptr %t79 + %t964 = load ptr, ptr %t75 + %t965 = load i32, ptr %t959 + %t966 = load ptr, ptr %t920 + %t967 = load ptr, ptr %t941 + call void @fn_emit_merge_sort(ptr %t963, ptr %t964, i32 %t965, ptr %t966, ptr %t967) + %t968 = call ptr @fn_val(ptr @.str5109, ptr @.str5110) + store ptr %t968, ptr %retval + br label %ret +ifend60: + %t969 = load ptr, ptr %t82 + %t970 = call ptr @lp_str_concat(ptr @.str5111, ptr %t969) + %t971 = call ptr @fn_emit_bind(ptr %t970) + store ptr %t971, ptr %t972 + %t973 = call ptr @fn_emit_alloca(ptr @.str5112) + store ptr %t973, ptr %t974 + %t975 = load ptr, ptr %t974 + call void @fn_store_at(ptr @.str5113, ptr @.str5114, ptr %t975) + %t976 = call ptr @fn_emit_alloca(ptr @.str5115) + store ptr %t976, ptr %t977 + %t978 = load ptr, ptr %t972 + %t979 = call ptr @lp_str_concat(ptr @.str5116, ptr %t978) + %t980 = call ptr @lp_str_concat(ptr %t979, ptr @.str5117) + %t981 = call ptr @fn_emit_bind(ptr %t980) + store ptr %t981, ptr %t982 + %t983 = load ptr, ptr %t982 + %t984 = load ptr, ptr %t977 + call void @fn_store_at(ptr @.str5118, ptr %t983, ptr %t984) + %t985 = call ptr @fn_lbl(ptr @.str5119) + store ptr %t985, ptr %t986 + %t987 = call ptr @fn_lbl(ptr @.str5120) + store ptr %t987, ptr %t988 + %t989 = call ptr @fn_lbl(ptr @.str5121) + store ptr %t989, ptr %t990 + call void @fn_emit(ptr @.str5122) + %t991 = load ptr, ptr %t986 + call void @fn_emit(ptr %t991) + call void @fn_emit(ptr @.str5123) + %t992 = load ptr, ptr %t986 + call void @fn_emit(ptr %t992) + call void @fn_emit(ptr @.str5124) + %t993 = load ptr, ptr %t974 + %t994 = call ptr @lp_str_concat(ptr @.str5125, ptr %t993) + %t995 = call ptr @fn_emit_bind(ptr %t994) + store ptr %t995, ptr %t996 + %t997 = load ptr, ptr %t977 + %t998 = call ptr @lp_str_concat(ptr @.str5126, ptr %t997) + %t999 = call ptr @fn_emit_bind(ptr %t998) + store ptr %t999, ptr %t1000 + %t1001 = load ptr, ptr %t996 + %t1002 = call ptr @lp_str_concat(ptr @.str5127, ptr %t1001) + %t1003 = call ptr @lp_str_concat(ptr %t1002, ptr @.str5128) + %t1004 = load ptr, ptr %t1000 + %t1005 = call ptr @lp_str_concat(ptr %t1003, ptr %t1004) + %t1006 = call ptr @fn_emit_bind(ptr %t1005) + store ptr %t1006, ptr %t1007 + call void @fn_emit(ptr @.str5129) + %t1008 = load ptr, ptr %t1007 + call void @fn_emit(ptr %t1008) + call void @fn_emit(ptr @.str5130) + %t1009 = load ptr, ptr %t988 + call void @fn_emit(ptr %t1009) + call void @fn_emit(ptr @.str5131) + %t1010 = load ptr, ptr %t990 + call void @fn_emit(ptr %t1010) + call void @fn_emit(ptr @.str5132) + %t1011 = load ptr, ptr %t988 + call void @fn_emit(ptr %t1011) + call void @fn_emit(ptr @.str5133) + %t1012 = load ptr, ptr %t79 + %t1013 = load ptr, ptr %t75 + %t1014 = load ptr, ptr %t996 + %t1015 = call ptr @fn_list_elem_addr(ptr %t1012, ptr %t1013, ptr %t1014) + store ptr %t1015, ptr %t1016 + %t1017 = load ptr, ptr %t79 + %t1018 = load ptr, ptr %t75 + %t1019 = load ptr, ptr %t1000 + %t1020 = call ptr @fn_list_elem_addr(ptr %t1017, ptr %t1018, ptr %t1019) + store ptr %t1020, ptr %t1021 + %t1022 = load ptr, ptr %t75 + %t1023 = call ptr @lp_str_concat(ptr @.str5134, ptr %t1022) + %t1024 = call ptr @lp_str_concat(ptr %t1023, ptr @.str5135) + %t1025 = load ptr, ptr %t1016 + %t1026 = call ptr @lp_str_concat(ptr %t1024, ptr %t1025) + %t1027 = call ptr @fn_emit_bind(ptr %t1026) + store ptr %t1027, ptr %t1028 + %t1029 = load ptr, ptr %t75 + %t1030 = call ptr @lp_str_concat(ptr @.str5136, ptr %t1029) + %t1031 = call ptr @lp_str_concat(ptr %t1030, ptr @.str5137) + %t1032 = load ptr, ptr %t1021 + %t1033 = call ptr @lp_str_concat(ptr %t1031, ptr %t1032) + %t1034 = call ptr @fn_emit_bind(ptr %t1033) + store ptr %t1034, ptr %t1035 + call void @fn_emit(ptr @.str5138) + %t1036 = load ptr, ptr %t75 + call void @fn_emit(ptr %t1036) + call void @fn_emit(ptr @.str5139) + %t1037 = load ptr, ptr %t1035 + call void @fn_emit(ptr %t1037) + call void @fn_emit(ptr @.str5140) + %t1038 = load ptr, ptr %t1016 + call void @fn_emit(ptr %t1038) + call void @fn_emit(ptr @.str5141) + call void @fn_emit(ptr @.str5142) + %t1039 = load ptr, ptr %t75 + call void @fn_emit(ptr %t1039) + call void @fn_emit(ptr @.str5143) + %t1040 = load ptr, ptr %t1028 + call void @fn_emit(ptr %t1040) + call void @fn_emit(ptr @.str5144) + %t1041 = load ptr, ptr %t1021 + call void @fn_emit(ptr %t1041) + call void @fn_emit(ptr @.str5145) + %t1042 = load ptr, ptr %t996 + %t1043 = call ptr @lp_str_concat(ptr @.str5146, ptr %t1042) + %t1044 = call ptr @lp_str_concat(ptr %t1043, ptr @.str5147) + %t1045 = call ptr @fn_emit_bind(ptr %t1044) + store ptr %t1045, ptr %t1046 + %t1047 = load ptr, ptr %t1046 + %t1048 = load ptr, ptr %t974 + call void @fn_store_at(ptr @.str5148, ptr %t1047, ptr %t1048) + %t1049 = load ptr, ptr %t1000 + %t1050 = call ptr @lp_str_concat(ptr @.str5149, ptr %t1049) + %t1051 = call ptr @lp_str_concat(ptr %t1050, ptr @.str5150) + %t1052 = call ptr @fn_emit_bind(ptr %t1051) + store ptr %t1052, ptr %t1053 + %t1054 = load ptr, ptr %t1053 + %t1055 = load ptr, ptr %t977 + call void @fn_store_at(ptr @.str5151, ptr %t1054, ptr %t1055) + call void @fn_emit(ptr @.str5152) + %t1056 = load ptr, ptr %t986 + call void @fn_emit(ptr %t1056) + call void @fn_emit(ptr @.str5153) + %t1057 = load ptr, ptr %t990 + call void @fn_emit(ptr %t1057) + call void @fn_emit(ptr @.str5154) + %t1058 = call ptr @fn_val(ptr @.str5155, ptr @.str5156) + store ptr %t1058, ptr %retval + br label %ret +ret: + %t1059 = load ptr, ptr %retval + ret ptr %t1059 +} + +define i32 @fn_is_ease_ns(ptr %arg_meth) { +entry: + %retval = alloca i32 + %t0 = alloca ptr + %t1 = alloca i32 + %t2 = alloca i32 + %t20 = alloca i32 + %t21 = alloca i32 + store ptr %arg_meth, ptr %t0 + %t3 = load ptr, ptr %t0 + %t4 = call i32 @lp_str_eq(ptr %t3, ptr @.str5157) + %t5 = icmp ne i32 %t4, 0 + %t6 = zext i1 %t5 to i32 + store i32 %t6, ptr %t2 + br i1 %t5, label %scend1, label %sc0 +sc0: + %t7 = load ptr, ptr %t0 + %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str5158) + %t9 = icmp ne i32 %t8, 0 + %t10 = zext i1 %t9 to i32 + store i32 %t10, ptr %t2 + br label %scend1 +scend1: + %t11 = load i32, ptr %t2 + %t12 = icmp ne i32 %t11, 0 + %t13 = zext i1 %t12 to i32 + store i32 %t13, ptr %t1 + br i1 %t12, label %scend3, label %sc2 +sc2: + %t14 = load ptr, ptr %t0 + %t15 = call i32 @lp_str_eq(ptr %t14, ptr @.str5159) + %t16 = icmp ne i32 %t15, 0 + %t17 = zext i1 %t16 to i32 + store i32 %t17, ptr %t1 + br label %scend3 +scend3: + %t18 = load i32, ptr %t1 + %t19 = icmp ne i32 %t18, 0 + br i1 %t19, label %then4, label %ifend6 +then4: + store i32 1, ptr %retval + br label %ret +ifend6: + %t22 = load ptr, ptr %t0 + %t23 = call i32 @lp_str_eq(ptr %t22, ptr @.str5160) + %t24 = icmp ne i32 %t23, 0 + %t25 = zext i1 %t24 to i32 + store i32 %t25, ptr %t21 + br i1 %t24, label %scend8, label %sc7 +sc7: + %t26 = load ptr, ptr %t0 + %t27 = call i32 @lp_str_eq(ptr %t26, ptr @.str5161) + %t28 = icmp ne i32 %t27, 0 + %t29 = zext i1 %t28 to i32 + store i32 %t29, ptr %t21 + br label %scend8 +scend8: + %t30 = load i32, ptr %t21 + %t31 = icmp ne i32 %t30, 0 + %t32 = zext i1 %t31 to i32 + store i32 %t32, ptr %t20 + br i1 %t31, label %scend10, label %sc9 +sc9: + %t33 = load ptr, ptr %t0 + %t34 = call i32 @lp_str_eq(ptr %t33, ptr @.str5162) + %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 @.str5163) + store ptr %t6, ptr %retval + br label %ret +ret: + %t7 = load ptr, ptr %retval + ret ptr %t7 +} + +define ptr @fn_ease_bounce_code(ptr %arg_t) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t3 = alloca ptr + %t8 = alloca ptr + %t11 = alloca ptr + %t16 = alloca ptr + %t21 = alloca ptr + %t24 = alloca ptr + %t29 = alloca ptr + %t34 = alloca ptr + %t37 = alloca ptr + %t42 = alloca ptr + %t47 = alloca ptr + %t57 = alloca ptr + %t62 = alloca ptr + %t72 = alloca ptr + %t77 = alloca ptr + store ptr %arg_t, ptr %t0 + %t1 = load ptr, ptr %t0 + %t2 = call ptr @fn_ease_bounce_seg(ptr %t1) + store ptr %t2, ptr %t3 + %t4 = load ptr, ptr %t0 + %t5 = call ptr @lp_str_concat(ptr @.str5164, ptr %t4) + %t6 = call ptr @lp_str_concat(ptr %t5, ptr @.str5165) + %t7 = call ptr @fn_emit_bind(ptr %t6) + store ptr %t7, ptr %t8 + %t9 = load ptr, ptr %t8 + %t10 = call ptr @fn_ease_bounce_seg(ptr %t9) + store ptr %t10, ptr %t11 + %t12 = load ptr, ptr %t11 + %t13 = call ptr @lp_str_concat(ptr @.str5166, ptr %t12) + %t14 = call ptr @lp_str_concat(ptr %t13, ptr @.str5167) + %t15 = call ptr @fn_emit_bind(ptr %t14) + store ptr %t15, ptr %t16 + %t17 = load ptr, ptr %t0 + %t18 = call ptr @lp_str_concat(ptr @.str5168, ptr %t17) + %t19 = call ptr @lp_str_concat(ptr %t18, ptr @.str5169) + %t20 = call ptr @fn_emit_bind(ptr %t19) + store ptr %t20, ptr %t21 + %t22 = load ptr, ptr %t21 + %t23 = call ptr @fn_ease_bounce_seg(ptr %t22) + store ptr %t23, ptr %t24 + %t25 = load ptr, ptr %t24 + %t26 = call ptr @lp_str_concat(ptr @.str5170, ptr %t25) + %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str5171) + %t28 = call ptr @fn_emit_bind(ptr %t27) + store ptr %t28, ptr %t29 + %t30 = load ptr, ptr %t0 + %t31 = call ptr @lp_str_concat(ptr @.str5172, ptr %t30) + %t32 = call ptr @lp_str_concat(ptr %t31, ptr @.str5173) + %t33 = call ptr @fn_emit_bind(ptr %t32) + store ptr %t33, ptr %t34 + %t35 = load ptr, ptr %t34 + %t36 = call ptr @fn_ease_bounce_seg(ptr %t35) + store ptr %t36, ptr %t37 + %t38 = load ptr, ptr %t37 + %t39 = call ptr @lp_str_concat(ptr @.str5174, ptr %t38) + %t40 = call ptr @lp_str_concat(ptr %t39, ptr @.str5175) + %t41 = call ptr @fn_emit_bind(ptr %t40) + store ptr %t41, ptr %t42 + %t43 = load ptr, ptr %t0 + %t44 = call ptr @lp_str_concat(ptr @.str5176, ptr %t43) + %t45 = call ptr @lp_str_concat(ptr %t44, ptr @.str5177) + %t46 = call ptr @fn_emit_bind(ptr %t45) + store ptr %t46, ptr %t47 + %t48 = load ptr, ptr %t47 + %t49 = call ptr @lp_str_concat(ptr @.str5178, ptr %t48) + %t50 = call ptr @lp_str_concat(ptr %t49, ptr @.str5179) + %t51 = load ptr, ptr %t29 + %t52 = call ptr @lp_str_concat(ptr %t50, ptr %t51) + %t53 = call ptr @lp_str_concat(ptr %t52, ptr @.str5180) + %t54 = load ptr, ptr %t42 + %t55 = call ptr @lp_str_concat(ptr %t53, ptr %t54) + %t56 = call ptr @fn_emit_bind(ptr %t55) + store ptr %t56, ptr %t57 + %t58 = load ptr, ptr %t0 + %t59 = call ptr @lp_str_concat(ptr @.str5181, ptr %t58) + %t60 = call ptr @lp_str_concat(ptr %t59, ptr @.str5182) + %t61 = call ptr @fn_emit_bind(ptr %t60) + store ptr %t61, ptr %t62 + %t63 = load ptr, ptr %t62 + %t64 = call ptr @lp_str_concat(ptr @.str5183, ptr %t63) + %t65 = call ptr @lp_str_concat(ptr %t64, ptr @.str5184) + %t66 = load ptr, ptr %t16 + %t67 = call ptr @lp_str_concat(ptr %t65, ptr %t66) + %t68 = call ptr @lp_str_concat(ptr %t67, ptr @.str5185) + %t69 = load ptr, ptr %t57 + %t70 = call ptr @lp_str_concat(ptr %t68, ptr %t69) + %t71 = call ptr @fn_emit_bind(ptr %t70) + store ptr %t71, ptr %t72 + %t73 = load ptr, ptr %t0 + %t74 = call ptr @lp_str_concat(ptr @.str5186, ptr %t73) + %t75 = call ptr @lp_str_concat(ptr %t74, ptr @.str5187) + %t76 = call ptr @fn_emit_bind(ptr %t75) + store ptr %t76, ptr %t77 + %t78 = load ptr, ptr %t77 + %t79 = call ptr @lp_str_concat(ptr @.str5188, ptr %t78) + %t80 = call ptr @lp_str_concat(ptr %t79, ptr @.str5189) + %t81 = load ptr, ptr %t3 + %t82 = call ptr @lp_str_concat(ptr %t80, ptr %t81) + %t83 = call ptr @lp_str_concat(ptr %t82, ptr @.str5190) + %t84 = load ptr, ptr %t72 + %t85 = call ptr @lp_str_concat(ptr %t83, ptr %t84) + %t86 = call ptr @fn_emit_bind(ptr %t85) + store ptr %t86, ptr %retval + br label %ret +ret: + %t87 = load ptr, ptr %retval + ret ptr %t87 +} + +define ptr @fn_ease_eval(i32 %arg_mode, ptr %arg_t) { +entry: + %retval = alloca ptr + %t0 = alloca i32 + %t1 = alloca ptr + %t21 = alloca ptr + %t32 = alloca ptr + %t36 = alloca ptr + %t41 = alloca ptr + %t46 = alloca ptr + %t60 = alloca ptr + %t64 = alloca ptr + %t67 = alloca ptr + %t70 = alloca ptr + %t85 = alloca ptr + %t89 = alloca ptr + %t94 = alloca ptr + %t99 = alloca ptr + %t102 = alloca ptr + %t107 = alloca ptr + %t111 = alloca ptr + store i32 %arg_mode, ptr %t0 + store ptr %arg_t, ptr %t1 + %t2 = load i32, ptr %t0 + %t3 = icmp eq i32 %t2, 0 + %t4 = zext i1 %t3 to i32 + %t5 = icmp ne i32 %t4, 0 + br i1 %t5, label %then0, label %ifend2 +then0: + %t6 = load ptr, ptr %t1 + store ptr %t6, ptr %retval + br label %ret +ifend2: + %t7 = load i32, ptr %t0 + %t8 = icmp eq i32 %t7, 1 + %t9 = zext i1 %t8 to i32 + %t10 = icmp ne i32 %t9, 0 + br i1 %t10, label %then3, label %ifend5 +then3: + %t11 = load ptr, ptr %t1 + %t12 = load ptr, ptr %t1 + %t13 = call ptr @fn_fx_mul_code(ptr %t11, ptr %t12) + store ptr %t13, ptr %retval + br label %ret +ifend5: + %t14 = load i32, ptr %t0 + %t15 = icmp eq i32 %t14, 2 + %t16 = zext i1 %t15 to i32 + %t17 = icmp ne i32 %t16, 0 + br i1 %t17, label %then6, label %ifend8 +then6: + %t18 = load ptr, ptr %t1 + %t19 = call ptr @lp_str_concat(ptr @.str5191, ptr %t18) + %t20 = call ptr @fn_emit_bind(ptr %t19) + store ptr %t20, ptr %t21 + %t22 = load ptr, ptr %t1 + %t23 = load ptr, ptr %t21 + %t24 = call ptr @fn_fx_mul_code(ptr %t22, ptr %t23) + store ptr %t24, ptr %retval + br label %ret +ifend8: + %t25 = load i32, ptr %t0 + %t26 = icmp eq i32 %t25, 3 + %t27 = zext i1 %t26 to i32 + %t28 = icmp ne i32 %t27, 0 + br i1 %t28, label %then9, label %ifend11 +then9: + %t29 = load ptr, ptr %t1 + %t30 = load ptr, ptr %t1 + %t31 = call ptr @fn_fx_mul_code(ptr %t29, ptr %t30) + store ptr %t31, ptr %t32 + %t33 = load ptr, ptr %t32 + %t34 = load ptr, ptr %t1 + %t35 = call ptr @fn_fx_mul_code(ptr %t33, ptr %t34) + store ptr %t35, ptr %t36 + %t37 = load ptr, ptr %t32 + %t38 = call ptr @lp_str_concat(ptr @.str5192, ptr %t37) + %t39 = call ptr @lp_str_concat(ptr %t38, ptr @.str5193) + %t40 = call ptr @fn_emit_bind(ptr %t39) + store ptr %t40, ptr %t41 + %t42 = load ptr, ptr %t36 + %t43 = call ptr @lp_str_concat(ptr @.str5194, ptr %t42) + %t44 = call ptr @lp_str_concat(ptr %t43, ptr @.str5195) + %t45 = call ptr @fn_emit_bind(ptr %t44) + store ptr %t45, ptr %t46 + %t47 = load ptr, ptr %t41 + %t48 = call ptr @lp_str_concat(ptr @.str5196, ptr %t47) + %t49 = call ptr @lp_str_concat(ptr %t48, ptr @.str5197) + %t50 = load ptr, ptr %t46 + %t51 = call ptr @lp_str_concat(ptr %t49, ptr %t50) + %t52 = call ptr @fn_emit_bind(ptr %t51) + store ptr %t52, ptr %retval + br label %ret +ifend11: + %t53 = load i32, ptr %t0 + %t54 = icmp eq i32 %t53, 4 + %t55 = zext i1 %t54 to i32 + %t56 = icmp ne i32 %t55, 0 + br i1 %t56, label %then12, label %ifend14 +then12: + %t57 = load ptr, ptr %t1 + %t58 = load ptr, ptr %t1 + %t59 = call ptr @fn_fx_mul_code(ptr %t57, ptr %t58) + store ptr %t59, ptr %t60 + %t61 = load ptr, ptr %t60 + %t62 = load ptr, ptr %t1 + %t63 = call ptr @fn_fx_mul_code(ptr %t61, ptr %t62) + store ptr %t63, ptr %t64 + %t65 = load ptr, ptr %t64 + %t66 = call ptr @fn_fx_mul_code(ptr %t65, ptr @.str5198) + store ptr %t66, ptr %t67 + %t68 = load ptr, ptr %t60 + %t69 = call ptr @fn_fx_mul_code(ptr %t68, ptr @.str5199) + store ptr %t69, ptr %t70 + %t71 = load ptr, ptr %t67 + %t72 = call ptr @lp_str_concat(ptr @.str5200, ptr %t71) + %t73 = call ptr @lp_str_concat(ptr %t72, ptr @.str5201) + %t74 = load ptr, ptr %t70 + %t75 = call ptr @lp_str_concat(ptr %t73, ptr %t74) + %t76 = call ptr @fn_emit_bind(ptr %t75) + store ptr %t76, ptr %retval + br label %ret +ifend14: + %t77 = load i32, ptr %t0 + %t78 = icmp eq i32 %t77, 5 + %t79 = zext i1 %t78 to i32 + %t80 = icmp ne i32 %t79, 0 + br i1 %t80, label %then15, label %ifend17 +then15: + store i32 1, ptr @g_g_uses_mathrt + %t81 = load ptr, ptr %t1 + %t82 = call ptr @lp_str_concat(ptr @.str5202, ptr %t81) + %t83 = call ptr @lp_str_concat(ptr %t82, ptr @.str5203) + %t84 = call ptr @fn_emit_bind(ptr %t83) + store ptr %t84, ptr %t85 + %t86 = load ptr, ptr %t85 + %t87 = call ptr @lp_str_concat(ptr @.str5204, ptr %t86) + %t88 = call ptr @fn_emit_bind(ptr %t87) + store ptr %t88, ptr %t89 + %t90 = load ptr, ptr %t89 + %t91 = call ptr @lp_str_concat(ptr @.str5205, ptr %t90) + %t92 = call ptr @lp_str_concat(ptr %t91, ptr @.str5206) + %t93 = call ptr @fn_emit_bind(ptr %t92) + store ptr %t93, ptr %t94 + %t95 = load ptr, ptr %t85 + %t96 = call ptr @lp_str_concat(ptr @.str5207, ptr %t95) + %t97 = call ptr @lp_str_concat(ptr %t96, ptr @.str5208) + %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 @.str5209) + store ptr %t101, ptr %t102 + %t103 = load ptr, ptr %t102 + %t104 = call ptr @lp_str_concat(ptr @.str5210, ptr %t103) + %t105 = call ptr @lp_str_concat(ptr %t104, ptr @.str5211) + %t106 = call ptr @fn_emit_bind(ptr %t105) + store ptr %t106, ptr %t107 + %t108 = load ptr, ptr %t94 + %t109 = load ptr, ptr %t107 + %t110 = call ptr @fn_fx_mul_code(ptr %t108, ptr %t109) + store ptr %t110, ptr %t111 + %t112 = load ptr, ptr %t111 + %t113 = call ptr @lp_str_concat(ptr @.str5212, ptr %t112) + %t114 = call ptr @lp_str_concat(ptr %t113, ptr @.str5213) + %t115 = call ptr @fn_emit_bind(ptr %t114) + store ptr %t115, ptr %retval + br label %ret +ifend17: + %t116 = load ptr, ptr %t1 + %t117 = call ptr @fn_ease_bounce_code(ptr %t116) + store ptr %t117, ptr %retval + br label %ret +ret: + %t118 = load ptr, ptr %retval + ret ptr %t118 +} + +define ptr @fn_emit_ease_ns(ptr %arg_meth, ptr %arg_e) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t1 = alloca ptr + %t10 = alloca ptr + store ptr %arg_meth, ptr %t0 + store ptr %arg_e, ptr %t1 + %t2 = load ptr, ptr %t1 + %t3 = getelementptr inbounds %Cmp_Node, ptr %t2, i32 0, i32 7 + %t4 = load ptr, ptr %t3 + %t5 = getelementptr inbounds %LSlice, ptr %t4, i32 0, i32 0 + %t6 = load ptr, ptr %t5 + %t7 = getelementptr inbounds ptr, ptr %t6, i32 0 + %t8 = load ptr, ptr %t7 + %t9 = call ptr @fn_emit_expr(ptr %t8) + store ptr %t9, ptr %t10 + %t11 = load ptr, ptr %t0 + %t12 = call i32 @lp_str_eq(ptr %t11, ptr @.str5214) + %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 @.str5215) + store ptr %t18, ptr %retval + br label %ret +ifend2: + %t19 = load ptr, ptr %t0 + %t20 = call i32 @lp_str_eq(ptr %t19, ptr @.str5216) + %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 @.str5217) + store ptr %t26, ptr %retval + br label %ret +ifend5: + %t27 = load ptr, ptr %t0 + %t28 = call i32 @lp_str_eq(ptr %t27, ptr @.str5218) + %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 @.str5219) + store ptr %t34, ptr %retval + br label %ret +ifend8: + %t35 = load ptr, ptr %t0 + %t36 = call i32 @lp_str_eq(ptr %t35, ptr @.str5220) + %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 @.str5221) + store ptr %t42, ptr %retval + br label %ret +ifend11: + %t43 = load ptr, ptr %t0 + %t44 = call i32 @lp_str_eq(ptr %t43, ptr @.str5222) + %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 @.str5223) + 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 @.str5224) + store ptr %t55, ptr %retval + br label %ret +ret: + %t56 = load ptr, ptr %retval + ret ptr %t56 +} + +define i32 @fn_is_anim_ns(ptr %arg_meth) { +entry: + %retval = alloca i32 + %t0 = alloca ptr + %t1 = alloca i32 + %t2 = alloca i32 + %t20 = alloca i32 + %t31 = alloca i32 + store ptr %arg_meth, ptr %t0 + %t3 = load ptr, ptr %t0 + %t4 = call i32 @lp_str_eq(ptr %t3, ptr @.str5225) + %t5 = icmp ne i32 %t4, 0 + %t6 = zext i1 %t5 to i32 + store i32 %t6, ptr %t2 + br i1 %t5, label %scend1, label %sc0 +sc0: + %t7 = load ptr, ptr %t0 + %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str5226) + %t9 = icmp ne i32 %t8, 0 + %t10 = zext i1 %t9 to i32 + store i32 %t10, ptr %t2 + br label %scend1 +scend1: + %t11 = load i32, ptr %t2 + %t12 = icmp ne i32 %t11, 0 + %t13 = zext i1 %t12 to i32 + store i32 %t13, ptr %t1 + br i1 %t12, label %scend3, label %sc2 +sc2: + %t14 = load ptr, ptr %t0 + %t15 = call i32 @lp_str_eq(ptr %t14, ptr @.str5227) + %t16 = icmp ne i32 %t15, 0 + %t17 = zext i1 %t16 to i32 + store i32 %t17, ptr %t1 + br label %scend3 +scend3: + %t18 = load i32, ptr %t1 + %t19 = icmp ne i32 %t18, 0 + br i1 %t19, label %then4, label %ifend6 +then4: + store i32 1, ptr %retval + br label %ret +ifend6: + %t21 = load ptr, ptr %t0 + %t22 = call i32 @lp_str_eq(ptr %t21, ptr @.str5228) + %t23 = icmp ne i32 %t22, 0 + %t24 = zext i1 %t23 to i32 + store i32 %t24, ptr %t20 + br i1 %t23, label %scend8, label %sc7 +sc7: + %t25 = load ptr, ptr %t0 + %t26 = call i32 @lp_str_eq(ptr %t25, ptr @.str5229) + %t27 = icmp ne i32 %t26, 0 + %t28 = zext i1 %t27 to i32 + store i32 %t28, ptr %t20 + br label %scend8 +scend8: + %t29 = load i32, ptr %t20 + %t30 = icmp ne i32 %t29, 0 + br i1 %t30, label %then9, label %ifend11 +then9: + store i32 1, ptr %retval + br label %ret +ifend11: + %t32 = load ptr, ptr %t0 + %t33 = call i32 @lp_str_eq(ptr %t32, ptr @.str5230) + %t34 = icmp ne i32 %t33, 0 + %t35 = zext i1 %t34 to i32 + store i32 %t35, ptr %t31 + br i1 %t34, label %scend13, label %sc12 +sc12: + %t36 = load ptr, ptr %t0 + %t37 = call i32 @lp_str_eq(ptr %t36, ptr @.str5231) + %t38 = icmp ne i32 %t37, 0 + %t39 = zext i1 %t38 to i32 + store i32 %t39, ptr %t31 + br label %scend13 +scend13: + %t40 = load i32, ptr %t31 + %t41 = icmp ne i32 %t40, 0 + br i1 %t41, label %then14, label %ifend16 +then14: + store i32 1, ptr %retval + br label %ret +ifend16: + store i32 0, ptr %retval + br label %ret +ret: + %t42 = load i32, ptr %retval + ret i32 %t42 +} + +define ptr @fn_anim_elapsed(ptr %arg_timer, ptr %arg_fps) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t1 = alloca ptr + %t6 = alloca ptr + %t11 = alloca ptr + %t18 = alloca ptr + %t23 = alloca ptr + store ptr %arg_timer, ptr %t0 + store ptr %arg_fps, ptr %t1 + %t2 = load ptr, ptr %t0 + %t3 = call ptr @lp_str_concat(ptr @.str5232, ptr %t2) + %t4 = call ptr @lp_str_concat(ptr %t3, ptr @.str5233) + %t5 = call ptr @fn_emit_bind(ptr %t4) + store ptr %t5, ptr %t6 + %t7 = load ptr, ptr %t1 + %t8 = call ptr @lp_str_concat(ptr @.str5234, ptr %t7) + %t9 = call ptr @lp_str_concat(ptr %t8, ptr @.str5235) + %t10 = call ptr @fn_emit_bind(ptr %t9) + store ptr %t10, ptr %t11 + %t12 = load ptr, ptr %t6 + %t13 = call ptr @lp_str_concat(ptr @.str5236, ptr %t12) + %t14 = call ptr @lp_str_concat(ptr %t13, ptr @.str5237) + %t15 = load ptr, ptr %t11 + %t16 = call ptr @lp_str_concat(ptr %t14, ptr %t15) + %t17 = call ptr @fn_emit_bind(ptr %t16) + store ptr %t17, ptr %t18 + %t19 = load ptr, ptr %t18 + %t20 = call ptr @lp_str_concat(ptr @.str5238, ptr %t19) + %t21 = call ptr @lp_str_concat(ptr %t20, ptr @.str5239) + %t22 = call ptr @fn_emit_bind(ptr %t21) + store ptr %t22, ptr %t23 + %t24 = load ptr, ptr %t23 + %t25 = call ptr @lp_str_concat(ptr @.str5240, ptr %t24) + %t26 = call ptr @lp_str_concat(ptr %t25, ptr @.str5241) + %t27 = call ptr @fn_emit_bind(ptr %t26) + store ptr %t27, ptr %retval + br label %ret +ret: + %t28 = load ptr, ptr %retval + ret ptr %t28 +} + +define ptr @fn_anim_atleast1(ptr %arg_v) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t5 = alloca ptr + store ptr %arg_v, ptr %t0 + %t1 = load ptr, ptr %t0 + %t2 = call ptr @lp_str_concat(ptr @.str5242, ptr %t1) + %t3 = call ptr @lp_str_concat(ptr %t2, ptr @.str5243) + %t4 = call ptr @fn_emit_bind(ptr %t3) + store ptr %t4, ptr %t5 + %t6 = load ptr, ptr %t5 + %t7 = call ptr @lp_str_concat(ptr @.str5244, ptr %t6) + %t8 = call ptr @lp_str_concat(ptr %t7, ptr @.str5245) + %t9 = load ptr, ptr %t0 + %t10 = call ptr @lp_str_concat(ptr %t8, ptr %t9) + %t11 = call ptr @fn_emit_bind(ptr %t10) + store ptr %t11, ptr %retval + br label %ret +ret: + %t12 = load ptr, ptr %retval + ret ptr %t12 +} + +define ptr @fn_emit_anim_ns(ptr %arg_meth, ptr %arg_e) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t1 = alloca ptr + %t13 = alloca ptr + %t22 = alloca ptr + %t31 = alloca ptr + %t39 = alloca ptr + %t44 = alloca ptr + %t63 = alloca ptr + %t72 = alloca ptr + %t81 = alloca ptr + %t89 = alloca ptr + %t96 = alloca ptr + %t103 = alloca ptr + %t125 = alloca ptr + %t134 = alloca ptr + %t143 = alloca ptr + %t151 = alloca ptr + %t158 = alloca ptr + %t163 = alloca ptr + %t166 = alloca ptr + %t173 = alloca ptr + %t180 = alloca ptr + %t189 = alloca ptr + %t211 = alloca ptr + %t220 = alloca ptr + %t229 = alloca ptr + %t237 = alloca ptr + %t246 = alloca ptr + %t263 = alloca ptr + %t272 = alloca ptr + %t279 = alloca ptr + %t284 = alloca ptr + %t303 = alloca ptr + %t312 = alloca ptr + %t321 = alloca ptr + %t326 = alloca ptr + %t335 = alloca ptr + %t353 = alloca ptr + %t362 = alloca ptr + %t371 = alloca ptr + %t376 = alloca ptr + %t385 = alloca ptr + store ptr %arg_meth, ptr %t0 + store ptr %arg_e, ptr %t1 + %t2 = load ptr, ptr %t0 + %t3 = call i32 @lp_str_eq(ptr %t2, ptr @.str5246) + %t4 = icmp ne i32 %t3, 0 + br i1 %t4, label %then0, label %ifend2 +then0: + %t5 = load ptr, ptr %t1 + %t6 = getelementptr inbounds %Cmp_Node, ptr %t5, i32 0, i32 7 + %t7 = load ptr, ptr %t6 + %t8 = getelementptr inbounds %LSlice, ptr %t7, i32 0, i32 0 + %t9 = load ptr, ptr %t8 + %t10 = getelementptr inbounds ptr, ptr %t9, i32 0 + %t11 = load ptr, ptr %t10 + %t12 = call ptr @fn_emit_expr(ptr %t11) + store ptr %t12, ptr %t13 + %t14 = load ptr, ptr %t1 + %t15 = getelementptr inbounds %Cmp_Node, ptr %t14, i32 0, i32 7 + %t16 = load ptr, ptr %t15 + %t17 = getelementptr inbounds %LSlice, ptr %t16, i32 0, i32 0 + %t18 = load ptr, ptr %t17 + %t19 = getelementptr inbounds ptr, ptr %t18, i32 1 + %t20 = load ptr, ptr %t19 + %t21 = call ptr @fn_emit_expr(ptr %t20) + store ptr %t21, ptr %t22 + %t23 = load ptr, ptr %t1 + %t24 = getelementptr inbounds %Cmp_Node, ptr %t23, i32 0, i32 7 + %t25 = load ptr, ptr %t24 + %t26 = getelementptr inbounds %LSlice, ptr %t25, i32 0, i32 0 + %t27 = load ptr, ptr %t26 + %t28 = getelementptr inbounds ptr, ptr %t27, i32 2 + %t29 = load ptr, ptr %t28 + %t30 = call ptr @fn_emit_expr(ptr %t29) + store ptr %t30, ptr %t31 + %t32 = load ptr, ptr %t13 + %t33 = getelementptr inbounds %Cmp_Val, ptr %t32, i32 0, i32 0 + %t34 = load ptr, ptr %t33 + %t35 = load ptr, ptr %t22 + %t36 = getelementptr inbounds %Cmp_Val, ptr %t35, i32 0, i32 0 + %t37 = load ptr, ptr %t36 + %t38 = call ptr @fn_anim_elapsed(ptr %t34, ptr %t37) + store ptr %t38, ptr %t39 + %t40 = load ptr, ptr %t31 + %t41 = getelementptr inbounds %Cmp_Val, ptr %t40, i32 0, i32 0 + %t42 = load ptr, ptr %t41 + %t43 = call ptr @fn_anim_atleast1(ptr %t42) + store ptr %t43, ptr %t44 + %t45 = load ptr, ptr %t39 + %t46 = call ptr @lp_str_concat(ptr @.str5247, ptr %t45) + %t47 = call ptr @lp_str_concat(ptr %t46, ptr @.str5248) + %t48 = load ptr, ptr %t44 + %t49 = call ptr @lp_str_concat(ptr %t47, ptr %t48) + %t50 = call ptr @fn_emit_bind(ptr %t49) + %t51 = call ptr @fn_val(ptr %t50, ptr @.str5249) + store ptr %t51, ptr %retval + br label %ret +ifend2: + %t52 = load ptr, ptr %t0 + %t53 = call i32 @lp_str_eq(ptr %t52, ptr @.str5250) + %t54 = icmp ne i32 %t53, 0 + br i1 %t54, label %then3, label %ifend5 +then3: + %t55 = load ptr, ptr %t1 + %t56 = getelementptr inbounds %Cmp_Node, ptr %t55, i32 0, i32 7 + %t57 = load ptr, ptr %t56 + %t58 = getelementptr inbounds %LSlice, ptr %t57, i32 0, i32 0 + %t59 = load ptr, ptr %t58 + %t60 = getelementptr inbounds ptr, ptr %t59, i32 0 + %t61 = load ptr, ptr %t60 + %t62 = call ptr @fn_emit_expr(ptr %t61) + store ptr %t62, ptr %t63 + %t64 = load ptr, ptr %t1 + %t65 = getelementptr inbounds %Cmp_Node, ptr %t64, i32 0, i32 7 + %t66 = load ptr, ptr %t65 + %t67 = getelementptr inbounds %LSlice, ptr %t66, i32 0, i32 0 + %t68 = load ptr, ptr %t67 + %t69 = getelementptr inbounds ptr, ptr %t68, i32 1 + %t70 = load ptr, ptr %t69 + %t71 = call ptr @fn_emit_expr(ptr %t70) + store ptr %t71, ptr %t72 + %t73 = load ptr, ptr %t1 + %t74 = getelementptr inbounds %Cmp_Node, ptr %t73, i32 0, i32 7 + %t75 = load ptr, ptr %t74 + %t76 = getelementptr inbounds %LSlice, ptr %t75, i32 0, i32 0 + %t77 = load ptr, ptr %t76 + %t78 = getelementptr inbounds ptr, ptr %t77, i32 2 + %t79 = load ptr, ptr %t78 + %t80 = call ptr @fn_emit_expr(ptr %t79) + store ptr %t80, ptr %t81 + %t82 = load ptr, ptr %t63 + %t83 = getelementptr inbounds %Cmp_Val, ptr %t82, i32 0, i32 0 + %t84 = load ptr, ptr %t83 + %t85 = load ptr, ptr %t72 + %t86 = getelementptr inbounds %Cmp_Val, ptr %t85, i32 0, i32 0 + %t87 = load ptr, ptr %t86 + %t88 = call ptr @fn_anim_elapsed(ptr %t84, ptr %t87) + store ptr %t88, ptr %t89 + %t90 = load ptr, ptr %t81 + %t91 = getelementptr inbounds %Cmp_Val, ptr %t90, i32 0, i32 0 + %t92 = load ptr, ptr %t91 + %t93 = call ptr @lp_str_concat(ptr @.str5251, ptr %t92) + %t94 = call ptr @lp_str_concat(ptr %t93, ptr @.str5252) + %t95 = call ptr @fn_emit_bind(ptr %t94) + store ptr %t95, ptr %t96 + %t97 = load ptr, ptr %t89 + %t98 = call ptr @lp_str_concat(ptr @.str5253, ptr %t97) + %t99 = call ptr @lp_str_concat(ptr %t98, ptr @.str5254) + %t100 = load ptr, ptr %t96 + %t101 = call ptr @lp_str_concat(ptr %t99, ptr %t100) + %t102 = call ptr @fn_emit_bind(ptr %t101) + store ptr %t102, ptr %t103 + %t104 = load ptr, ptr %t103 + %t105 = call ptr @lp_str_concat(ptr @.str5255, ptr %t104) + %t106 = call ptr @lp_str_concat(ptr %t105, ptr @.str5256) + %t107 = load ptr, ptr %t89 + %t108 = call ptr @lp_str_concat(ptr %t106, ptr %t107) + %t109 = call ptr @lp_str_concat(ptr %t108, ptr @.str5257) + %t110 = load ptr, ptr %t96 + %t111 = call ptr @lp_str_concat(ptr %t109, ptr %t110) + %t112 = call ptr @fn_emit_bind(ptr %t111) + %t113 = call ptr @fn_val(ptr %t112, ptr @.str5258) + store ptr %t113, ptr %retval + br label %ret +ifend5: + %t114 = load ptr, ptr %t0 + %t115 = call i32 @lp_str_eq(ptr %t114, ptr @.str5259) + %t116 = icmp ne i32 %t115, 0 + br i1 %t116, label %then6, label %ifend8 +then6: + %t117 = load ptr, ptr %t1 + %t118 = getelementptr inbounds %Cmp_Node, ptr %t117, i32 0, i32 7 + %t119 = load ptr, ptr %t118 + %t120 = getelementptr inbounds %LSlice, ptr %t119, i32 0, i32 0 + %t121 = load ptr, ptr %t120 + %t122 = getelementptr inbounds ptr, ptr %t121, i32 0 + %t123 = load ptr, ptr %t122 + %t124 = call ptr @fn_emit_expr(ptr %t123) + store ptr %t124, ptr %t125 + %t126 = load ptr, ptr %t1 + %t127 = getelementptr inbounds %Cmp_Node, ptr %t126, i32 0, i32 7 + %t128 = load ptr, ptr %t127 + %t129 = getelementptr inbounds %LSlice, ptr %t128, i32 0, i32 0 + %t130 = load ptr, ptr %t129 + %t131 = getelementptr inbounds ptr, ptr %t130, i32 1 + %t132 = load ptr, ptr %t131 + %t133 = call ptr @fn_emit_expr(ptr %t132) + store ptr %t133, ptr %t134 + %t135 = load ptr, ptr %t1 + %t136 = getelementptr inbounds %Cmp_Node, ptr %t135, i32 0, i32 7 + %t137 = load ptr, ptr %t136 + %t138 = getelementptr inbounds %LSlice, ptr %t137, i32 0, i32 0 + %t139 = load ptr, ptr %t138 + %t140 = getelementptr inbounds ptr, ptr %t139, i32 2 + %t141 = load ptr, ptr %t140 + %t142 = call ptr @fn_emit_expr(ptr %t141) + store ptr %t142, ptr %t143 + %t144 = load ptr, ptr %t125 + %t145 = getelementptr inbounds %Cmp_Val, ptr %t144, i32 0, i32 0 + %t146 = load ptr, ptr %t145 + %t147 = load ptr, ptr %t134 + %t148 = getelementptr inbounds %Cmp_Val, ptr %t147, i32 0, i32 0 + %t149 = load ptr, ptr %t148 + %t150 = call ptr @fn_anim_elapsed(ptr %t146, ptr %t149) + store ptr %t150, ptr %t151 + %t152 = load ptr, ptr %t143 + %t153 = getelementptr inbounds %Cmp_Val, ptr %t152, i32 0, i32 0 + %t154 = load ptr, ptr %t153 + %t155 = call ptr @lp_str_concat(ptr @.str5260, ptr %t154) + %t156 = call ptr @lp_str_concat(ptr %t155, ptr @.str5261) + %t157 = call ptr @fn_emit_bind(ptr %t156) + store ptr %t157, ptr %t158 + %t159 = load ptr, ptr %t158 + %t160 = call ptr @lp_str_concat(ptr @.str5262, ptr %t159) + %t161 = call ptr @lp_str_concat(ptr %t160, ptr @.str5263) + %t162 = call ptr @fn_emit_bind(ptr %t161) + store ptr %t162, ptr %t163 + %t164 = load ptr, ptr %t163 + %t165 = call ptr @fn_anim_atleast1(ptr %t164) + store ptr %t165, ptr %t166 + %t167 = load ptr, ptr %t151 + %t168 = call ptr @lp_str_concat(ptr @.str5264, ptr %t167) + %t169 = call ptr @lp_str_concat(ptr %t168, ptr @.str5265) + %t170 = load ptr, ptr %t166 + %t171 = call ptr @lp_str_concat(ptr %t169, ptr %t170) + %t172 = call ptr @fn_emit_bind(ptr %t171) + store ptr %t172, ptr %t173 + %t174 = load ptr, ptr %t166 + %t175 = call ptr @lp_str_concat(ptr @.str5266, ptr %t174) + %t176 = call ptr @lp_str_concat(ptr %t175, ptr @.str5267) + %t177 = load ptr, ptr %t173 + %t178 = call ptr @lp_str_concat(ptr %t176, ptr %t177) + %t179 = call ptr @fn_emit_bind(ptr %t178) + store ptr %t179, ptr %t180 + %t181 = load ptr, ptr %t173 + %t182 = call ptr @lp_str_concat(ptr @.str5268, ptr %t181) + %t183 = call ptr @lp_str_concat(ptr %t182, ptr @.str5269) + %t184 = load ptr, ptr %t143 + %t185 = getelementptr inbounds %Cmp_Val, ptr %t184, i32 0, i32 0 + %t186 = load ptr, ptr %t185 + %t187 = call ptr @lp_str_concat(ptr %t183, ptr %t186) + %t188 = call ptr @fn_emit_bind(ptr %t187) + store ptr %t188, ptr %t189 + %t190 = load ptr, ptr %t189 + %t191 = call ptr @lp_str_concat(ptr @.str5270, ptr %t190) + %t192 = call ptr @lp_str_concat(ptr %t191, ptr @.str5271) + %t193 = load ptr, ptr %t173 + %t194 = call ptr @lp_str_concat(ptr %t192, ptr %t193) + %t195 = call ptr @lp_str_concat(ptr %t194, ptr @.str5272) + %t196 = load ptr, ptr %t180 + %t197 = call ptr @lp_str_concat(ptr %t195, ptr %t196) + %t198 = call ptr @fn_emit_bind(ptr %t197) + %t199 = call ptr @fn_val(ptr %t198, ptr @.str5273) + store ptr %t199, ptr %retval + br label %ret +ifend8: + %t200 = load ptr, ptr %t0 + %t201 = call i32 @lp_str_eq(ptr %t200, ptr @.str5274) + %t202 = icmp ne i32 %t201, 0 + br i1 %t202, label %then9, label %ifend11 +then9: + %t203 = load ptr, ptr %t1 + %t204 = getelementptr inbounds %Cmp_Node, ptr %t203, i32 0, i32 7 + %t205 = load ptr, ptr %t204 + %t206 = getelementptr inbounds %LSlice, ptr %t205, i32 0, i32 0 + %t207 = load ptr, ptr %t206 + %t208 = getelementptr inbounds ptr, ptr %t207, i32 0 + %t209 = load ptr, ptr %t208 + %t210 = call ptr @fn_emit_expr(ptr %t209) + store ptr %t210, ptr %t211 + %t212 = load ptr, ptr %t1 + %t213 = getelementptr inbounds %Cmp_Node, ptr %t212, i32 0, i32 7 + %t214 = load ptr, ptr %t213 + %t215 = getelementptr inbounds %LSlice, ptr %t214, i32 0, i32 0 + %t216 = load ptr, ptr %t215 + %t217 = getelementptr inbounds ptr, ptr %t216, i32 1 + %t218 = load ptr, ptr %t217 + %t219 = call ptr @fn_emit_expr(ptr %t218) + store ptr %t219, ptr %t220 + %t221 = load ptr, ptr %t1 + %t222 = getelementptr inbounds %Cmp_Node, ptr %t221, i32 0, i32 7 + %t223 = load ptr, ptr %t222 + %t224 = getelementptr inbounds %LSlice, ptr %t223, i32 0, i32 0 + %t225 = load ptr, ptr %t224 + %t226 = getelementptr inbounds ptr, ptr %t225, i32 2 + %t227 = load ptr, ptr %t226 + %t228 = call ptr @fn_emit_expr(ptr %t227) + store ptr %t228, ptr %t229 + %t230 = load ptr, ptr %t211 + %t231 = getelementptr inbounds %Cmp_Val, ptr %t230, i32 0, i32 0 + %t232 = load ptr, ptr %t231 + %t233 = load ptr, ptr %t220 + %t234 = getelementptr inbounds %Cmp_Val, ptr %t233, i32 0, i32 0 + %t235 = load ptr, ptr %t234 + %t236 = call ptr @fn_anim_elapsed(ptr %t232, ptr %t235) + store ptr %t236, ptr %t237 + %t238 = load ptr, ptr %t237 + %t239 = call ptr @lp_str_concat(ptr @.str5275, ptr %t238) + %t240 = call ptr @lp_str_concat(ptr %t239, ptr @.str5276) + %t241 = load ptr, ptr %t229 + %t242 = getelementptr inbounds %Cmp_Val, ptr %t241, i32 0, i32 0 + %t243 = load ptr, ptr %t242 + %t244 = call ptr @lp_str_concat(ptr %t240, ptr %t243) + %t245 = call ptr @fn_emit_bind(ptr %t244) + store ptr %t245, ptr %t246 + %t247 = load ptr, ptr %t246 + %t248 = call ptr @lp_str_concat(ptr @.str5277, ptr %t247) + %t249 = call ptr @lp_str_concat(ptr %t248, ptr @.str5278) + %t250 = call ptr @fn_emit_bind(ptr %t249) + %t251 = call ptr @fn_val(ptr %t250, ptr @.str5279) + store ptr %t251, ptr %retval + br label %ret +ifend11: + %t252 = load ptr, ptr %t0 + %t253 = call i32 @lp_str_eq(ptr %t252, ptr @.str5280) + %t254 = icmp ne i32 %t253, 0 + br i1 %t254, label %then12, label %ifend14 +then12: + %t255 = load ptr, ptr %t1 + %t256 = getelementptr inbounds %Cmp_Node, ptr %t255, i32 0, i32 7 + %t257 = load ptr, ptr %t256 + %t258 = getelementptr inbounds %LSlice, ptr %t257, i32 0, i32 0 + %t259 = load ptr, ptr %t258 + %t260 = getelementptr inbounds ptr, ptr %t259, i32 0 + %t261 = load ptr, ptr %t260 + %t262 = call ptr @fn_emit_expr(ptr %t261) + store ptr %t262, ptr %t263 + %t264 = load ptr, ptr %t1 + %t265 = getelementptr inbounds %Cmp_Node, ptr %t264, i32 0, i32 7 + %t266 = load ptr, ptr %t265 + %t267 = getelementptr inbounds %LSlice, ptr %t266, i32 0, i32 0 + %t268 = load ptr, ptr %t267 + %t269 = getelementptr inbounds ptr, ptr %t268, i32 1 + %t270 = load ptr, ptr %t269 + %t271 = call ptr @fn_emit_expr(ptr %t270) + store ptr %t271, ptr %t272 + %t273 = load ptr, ptr %t272 + %t274 = getelementptr inbounds %Cmp_Val, ptr %t273, i32 0, i32 0 + %t275 = load ptr, ptr %t274 + %t276 = call ptr @lp_str_concat(ptr @.str5281, ptr %t275) + %t277 = call ptr @lp_str_concat(ptr %t276, ptr @.str5282) + %t278 = call ptr @fn_emit_bind(ptr %t277) + store ptr %t278, ptr %t279 + %t280 = load ptr, ptr %t263 + %t281 = getelementptr inbounds %Cmp_Val, ptr %t280, i32 0, i32 0 + %t282 = load ptr, ptr %t281 + %t283 = call ptr @fn_anim_atleast1(ptr %t282) + store ptr %t283, ptr %t284 + %t285 = load ptr, ptr %t279 + %t286 = call ptr @lp_str_concat(ptr @.str5283, ptr %t285) + %t287 = call ptr @lp_str_concat(ptr %t286, ptr @.str5284) + %t288 = load ptr, ptr %t284 + %t289 = call ptr @lp_str_concat(ptr %t287, ptr %t288) + %t290 = call ptr @fn_emit_bind(ptr %t289) + %t291 = call ptr @fn_val(ptr %t290, ptr @.str5285) + store ptr %t291, ptr %retval + br label %ret +ifend14: + %t292 = load ptr, ptr %t0 + %t293 = call i32 @lp_str_eq(ptr %t292, ptr @.str5286) + %t294 = icmp ne i32 %t293, 0 + br i1 %t294, label %then15, label %ifend17 +then15: + %t295 = load ptr, ptr %t1 + %t296 = getelementptr inbounds %Cmp_Node, ptr %t295, i32 0, i32 7 + %t297 = load ptr, ptr %t296 + %t298 = getelementptr inbounds %LSlice, ptr %t297, i32 0, i32 0 + %t299 = load ptr, ptr %t298 + %t300 = getelementptr inbounds ptr, ptr %t299, i32 0 + %t301 = load ptr, ptr %t300 + %t302 = call ptr @fn_emit_expr(ptr %t301) + store ptr %t302, ptr %t303 + %t304 = load ptr, ptr %t1 + %t305 = getelementptr inbounds %Cmp_Node, ptr %t304, i32 0, i32 7 + %t306 = load ptr, ptr %t305 + %t307 = getelementptr inbounds %LSlice, ptr %t306, i32 0, i32 0 + %t308 = load ptr, ptr %t307 + %t309 = getelementptr inbounds ptr, ptr %t308, i32 1 + %t310 = load ptr, ptr %t309 + %t311 = call ptr @fn_emit_expr(ptr %t310) + store ptr %t311, ptr %t312 + %t313 = load ptr, ptr %t1 + %t314 = getelementptr inbounds %Cmp_Node, ptr %t313, i32 0, i32 7 + %t315 = load ptr, ptr %t314 + %t316 = getelementptr inbounds %LSlice, ptr %t315, i32 0, i32 0 + %t317 = load ptr, ptr %t316 + %t318 = getelementptr inbounds ptr, ptr %t317, i32 2 + %t319 = load ptr, ptr %t318 + %t320 = call ptr @fn_emit_expr(ptr %t319) + store ptr %t320, ptr %t321 + %t322 = load ptr, ptr %t312 + %t323 = getelementptr inbounds %Cmp_Val, ptr %t322, i32 0, i32 0 + %t324 = load ptr, ptr %t323 + %t325 = call ptr @fn_anim_atleast1(ptr %t324) + store ptr %t325, ptr %t326 + %t327 = load ptr, ptr %t303 + %t328 = getelementptr inbounds %Cmp_Val, ptr %t327, i32 0, i32 0 + %t329 = load ptr, ptr %t328 + %t330 = call ptr @lp_str_concat(ptr @.str5287, ptr %t329) + %t331 = call ptr @lp_str_concat(ptr %t330, ptr @.str5288) + %t332 = load ptr, ptr %t326 + %t333 = call ptr @lp_str_concat(ptr %t331, ptr %t332) + %t334 = call ptr @fn_emit_bind(ptr %t333) + store ptr %t334, ptr %t335 + %t336 = load ptr, ptr %t335 + %t337 = call ptr @lp_str_concat(ptr @.str5289, ptr %t336) + %t338 = call ptr @lp_str_concat(ptr %t337, ptr @.str5290) + %t339 = load ptr, ptr %t321 + %t340 = getelementptr inbounds %Cmp_Val, ptr %t339, i32 0, i32 0 + %t341 = load ptr, ptr %t340 + %t342 = call ptr @lp_str_concat(ptr %t338, ptr %t341) + %t343 = call ptr @fn_emit_bind(ptr %t342) + %t344 = call ptr @fn_val(ptr %t343, ptr @.str5291) + store ptr %t344, ptr %retval + br label %ret +ifend17: + %t345 = load ptr, ptr %t1 + %t346 = getelementptr inbounds %Cmp_Node, ptr %t345, i32 0, i32 7 + %t347 = load ptr, ptr %t346 + %t348 = getelementptr inbounds %LSlice, ptr %t347, i32 0, i32 0 + %t349 = load ptr, ptr %t348 + %t350 = getelementptr inbounds ptr, ptr %t349, i32 0 + %t351 = load ptr, ptr %t350 + %t352 = call ptr @fn_emit_expr(ptr %t351) + store ptr %t352, ptr %t353 + %t354 = load ptr, ptr %t1 + %t355 = getelementptr inbounds %Cmp_Node, ptr %t354, i32 0, i32 7 + %t356 = load ptr, ptr %t355 + %t357 = getelementptr inbounds %LSlice, ptr %t356, i32 0, i32 0 + %t358 = load ptr, ptr %t357 + %t359 = getelementptr inbounds ptr, ptr %t358, i32 1 + %t360 = load ptr, ptr %t359 + %t361 = call ptr @fn_emit_expr(ptr %t360) + store ptr %t361, ptr %t362 + %t363 = load ptr, ptr %t1 + %t364 = getelementptr inbounds %Cmp_Node, ptr %t363, i32 0, i32 7 + %t365 = load ptr, ptr %t364 + %t366 = getelementptr inbounds %LSlice, ptr %t365, i32 0, i32 0 + %t367 = load ptr, ptr %t366 + %t368 = getelementptr inbounds ptr, ptr %t367, i32 2 + %t369 = load ptr, ptr %t368 + %t370 = call ptr @fn_emit_expr(ptr %t369) + store ptr %t370, ptr %t371 + %t372 = load ptr, ptr %t362 + %t373 = getelementptr inbounds %Cmp_Val, ptr %t372, i32 0, i32 0 + %t374 = load ptr, ptr %t373 + %t375 = call ptr @fn_anim_atleast1(ptr %t374) + store ptr %t375, ptr %t376 + %t377 = load ptr, ptr %t353 + %t378 = getelementptr inbounds %Cmp_Val, ptr %t377, i32 0, i32 0 + %t379 = load ptr, ptr %t378 + %t380 = call ptr @lp_str_concat(ptr @.str5292, ptr %t379) + %t381 = call ptr @lp_str_concat(ptr %t380, ptr @.str5293) + %t382 = load ptr, ptr %t376 + %t383 = call ptr @lp_str_concat(ptr %t381, ptr %t382) + %t384 = call ptr @fn_emit_bind(ptr %t383) + store ptr %t384, ptr %t385 + %t386 = load ptr, ptr %t385 + %t387 = call ptr @lp_str_concat(ptr @.str5294, ptr %t386) + %t388 = call ptr @lp_str_concat(ptr %t387, ptr @.str5295) + %t389 = load ptr, ptr %t371 + %t390 = getelementptr inbounds %Cmp_Val, ptr %t389, i32 0, i32 0 + %t391 = load ptr, ptr %t390 + %t392 = call ptr @lp_str_concat(ptr %t388, ptr %t391) + %t393 = call ptr @fn_emit_bind(ptr %t392) + %t394 = call ptr @fn_val(ptr %t393, ptr @.str5296) + store ptr %t394, ptr %retval + br label %ret +ret: + %t395 = load ptr, ptr %retval + ret ptr %t395 +} + +define i32 @fn_is_tween_ns(ptr %arg_meth) { +entry: + %retval = alloca i32 + %t0 = alloca ptr + %t1 = alloca i32 + %t2 = alloca i32 + %t3 = alloca i32 + %t28 = alloca i32 + %t29 = alloca i32 + %t47 = alloca i32 + store ptr %arg_meth, ptr %t0 + %t4 = load ptr, ptr %t0 + %t5 = call i32 @lp_str_eq(ptr %t4, ptr @.str5297) + %t6 = icmp ne i32 %t5, 0 + %t7 = zext i1 %t6 to i32 + store i32 %t7, ptr %t3 + br i1 %t6, label %scend1, label %sc0 +sc0: + %t8 = load ptr, ptr %t0 + %t9 = call i32 @lp_str_eq(ptr %t8, ptr @.str5298) + %t10 = icmp ne i32 %t9, 0 + %t11 = zext i1 %t10 to i32 + store i32 %t11, ptr %t3 + br label %scend1 +scend1: + %t12 = load i32, ptr %t3 + %t13 = icmp ne i32 %t12, 0 + %t14 = zext i1 %t13 to i32 + store i32 %t14, ptr %t2 + br i1 %t13, label %scend3, label %sc2 +sc2: + %t15 = load ptr, ptr %t0 + %t16 = call i32 @lp_str_eq(ptr %t15, ptr @.str5299) + %t17 = icmp ne i32 %t16, 0 + %t18 = zext i1 %t17 to i32 + store i32 %t18, ptr %t2 + br label %scend3 +scend3: + %t19 = load i32, ptr %t2 + %t20 = icmp ne i32 %t19, 0 + %t21 = zext i1 %t20 to i32 + store i32 %t21, ptr %t1 + br i1 %t20, label %scend5, label %sc4 +sc4: + %t22 = load ptr, ptr %t0 + %t23 = call i32 @lp_str_eq(ptr %t22, ptr @.str5300) + %t24 = icmp ne i32 %t23, 0 + %t25 = zext i1 %t24 to i32 + store i32 %t25, ptr %t1 + br label %scend5 +scend5: + %t26 = load i32, ptr %t1 + %t27 = icmp ne i32 %t26, 0 + br i1 %t27, label %then6, label %ifend8 +then6: + store i32 1, ptr %retval + br label %ret +ifend8: + %t30 = load ptr, ptr %t0 + %t31 = call i32 @lp_str_eq(ptr %t30, ptr @.str5301) + %t32 = icmp ne i32 %t31, 0 + %t33 = zext i1 %t32 to i32 + store i32 %t33, ptr %t29 + br i1 %t32, label %scend10, label %sc9 +sc9: + %t34 = load ptr, ptr %t0 + %t35 = call i32 @lp_str_eq(ptr %t34, ptr @.str5302) + %t36 = icmp ne i32 %t35, 0 + %t37 = zext i1 %t36 to i32 + store i32 %t37, ptr %t29 + br label %scend10 +scend10: + %t38 = load i32, ptr %t29 + %t39 = icmp ne i32 %t38, 0 + %t40 = zext i1 %t39 to i32 + store i32 %t40, ptr %t28 + br i1 %t39, label %scend12, label %sc11 +sc11: + %t41 = load ptr, ptr %t0 + %t42 = call i32 @lp_str_eq(ptr %t41, ptr @.str5303) + %t43 = icmp ne i32 %t42, 0 + %t44 = zext i1 %t43 to i32 + store i32 %t44, ptr %t28 + br label %scend12 +scend12: + %t45 = load i32, ptr %t28 + %t46 = icmp ne i32 %t45, 0 + br i1 %t46, label %then13, label %ifend15 +then13: + store i32 1, ptr %retval + br label %ret +ifend15: + %t48 = load ptr, ptr %t0 + %t49 = call i32 @lp_str_eq(ptr %t48, ptr @.str5304) + %t50 = icmp ne i32 %t49, 0 + %t51 = zext i1 %t50 to i32 + store i32 %t51, ptr %t47 + br i1 %t50, label %scend17, label %sc16 +sc16: + %t52 = load ptr, ptr %t0 + %t53 = call i32 @lp_str_eq(ptr %t52, ptr @.str5305) + %t54 = icmp ne i32 %t53, 0 + %t55 = zext i1 %t54 to i32 + store i32 %t55, ptr %t47 + br label %scend17 +scend17: + %t56 = load i32, ptr %t47 + %t57 = icmp ne i32 %t56, 0 + br i1 %t57, label %then18, label %ifend20 +then18: + store i32 1, ptr %retval + br label %ret +ifend20: + store i32 0, ptr %retval + br label %ret +ret: + %t58 = load i32, ptr %retval + ret i32 %t58 +} + +define ptr @fn_tween_den(ptr %arg_dur) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t5 = alloca ptr + store ptr %arg_dur, ptr %t0 + %t1 = load ptr, ptr %t0 + %t2 = call ptr @lp_str_concat(ptr @.str5306, ptr %t1) + %t3 = call ptr @lp_str_concat(ptr %t2, ptr @.str5307) + %t4 = call ptr @fn_emit_bind(ptr %t3) + store ptr %t4, ptr %t5 + %t6 = load ptr, ptr %t5 + %t7 = call ptr @lp_str_concat(ptr @.str5308, ptr %t6) + %t8 = call ptr @lp_str_concat(ptr %t7, ptr @.str5309) + %t9 = load ptr, ptr %t0 + %t10 = call ptr @lp_str_concat(ptr %t8, ptr %t9) + %t11 = call ptr @lp_str_concat(ptr %t10, ptr @.str5310) + %t12 = call ptr @fn_emit_bind(ptr %t11) + store ptr %t12, ptr %retval + br label %ret +ret: + %t13 = load ptr, ptr %retval + ret ptr %t13 +} + +define ptr @fn_emit_tween_ns(ptr %arg_meth, ptr %arg_e) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t1 = alloca ptr + %t13 = alloca ptr + %t22 = alloca ptr + %t29 = alloca ptr + %t39 = alloca ptr + %t45 = alloca ptr + %t50 = alloca ptr + %t57 = alloca ptr + %t62 = alloca ptr + %t69 = alloca ptr + %t89 = alloca ptr + %t98 = alloca ptr + %t103 = alloca ptr + %t109 = alloca ptr + %t126 = alloca ptr + %t135 = alloca ptr + %t140 = alloca ptr + %t146 = alloca ptr + %t151 = alloca ptr + %t155 = alloca ptr + %t160 = alloca ptr + %t190 = alloca ptr + %t206 = alloca ptr + %t215 = alloca ptr + %t226 = alloca ptr + %t243 = alloca ptr + %t251 = alloca ptr + %t277 = alloca ptr + %t286 = alloca ptr + %t295 = alloca ptr + %t318 = alloca ptr + %t327 = alloca ptr + %t336 = alloca ptr + %t347 = alloca ptr + %t352 = alloca ptr + %t359 = alloca ptr + %t366 = alloca ptr + %t371 = alloca ptr + %t376 = alloca ptr + %t381 = alloca ptr + %t402 = alloca ptr + %t411 = alloca ptr + %t420 = alloca ptr + %t425 = alloca ptr + %t430 = alloca ptr + %t435 = alloca ptr + %t440 = alloca ptr + %t447 = alloca ptr + %t454 = alloca ptr + %t467 = alloca ptr + %t476 = alloca ptr + %t485 = alloca ptr + %t498 = alloca ptr + %t511 = alloca ptr + %t524 = alloca ptr + store ptr %arg_meth, ptr %t0 + store ptr %arg_e, ptr %t1 + %t2 = load ptr, ptr %t0 + %t3 = call i32 @lp_str_eq(ptr %t2, ptr @.str5311) + %t4 = icmp ne i32 %t3, 0 + br i1 %t4, label %then0, label %ifend2 +then0: + %t5 = load ptr, ptr %t1 + %t6 = getelementptr inbounds %Cmp_Node, ptr %t5, i32 0, i32 7 + %t7 = load ptr, ptr %t6 + %t8 = getelementptr inbounds %LSlice, ptr %t7, i32 0, i32 0 + %t9 = load ptr, ptr %t8 + %t10 = getelementptr inbounds ptr, ptr %t9, i32 0 + %t11 = load ptr, ptr %t10 + %t12 = call ptr @fn_emit_expr(ptr %t11) + store ptr %t12, ptr %t13 + %t14 = load ptr, ptr %t1 + %t15 = getelementptr inbounds %Cmp_Node, ptr %t14, i32 0, i32 7 + %t16 = load ptr, ptr %t15 + %t17 = getelementptr inbounds %LSlice, ptr %t16, i32 0, i32 0 + %t18 = load ptr, ptr %t17 + %t19 = getelementptr inbounds ptr, ptr %t18, i32 1 + %t20 = load ptr, ptr %t19 + %t21 = call ptr @fn_emit_expr(ptr %t20) + store ptr %t21, ptr %t22 + %t23 = load ptr, ptr %t22 + %t24 = getelementptr inbounds %Cmp_Val, ptr %t23, i32 0, i32 0 + %t25 = load ptr, ptr %t24 + %t26 = call ptr @lp_str_concat(ptr @.str5312, ptr %t25) + %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str5313) + %t28 = call ptr @fn_emit_bind(ptr %t27) + store ptr %t28, ptr %t29 + %t30 = load ptr, ptr %t29 + %t31 = call ptr @lp_str_concat(ptr @.str5314, ptr %t30) + %t32 = call ptr @lp_str_concat(ptr %t31, ptr @.str5315) + %t33 = load ptr, ptr %t22 + %t34 = getelementptr inbounds %Cmp_Val, ptr %t33, i32 0, i32 0 + %t35 = load ptr, ptr %t34 + %t36 = call ptr @lp_str_concat(ptr %t32, ptr %t35) + %t37 = call ptr @lp_str_concat(ptr %t36, ptr @.str5316) + %t38 = call ptr @fn_emit_bind(ptr %t37) + store ptr %t38, ptr %t39 + %t40 = load ptr, ptr %t13 + %t41 = getelementptr inbounds %Cmp_Val, ptr %t40, i32 0, i32 0 + %t42 = load ptr, ptr %t41 + %t43 = load ptr, ptr %t39 + %t44 = call ptr @fn_fx_div_code(ptr %t42, ptr %t43) + store ptr %t44, ptr %t45 + %t46 = load ptr, ptr %t45 + %t47 = call ptr @lp_str_concat(ptr @.str5317, ptr %t46) + %t48 = call ptr @lp_str_concat(ptr %t47, ptr @.str5318) + %t49 = call ptr @fn_emit_bind(ptr %t48) + store ptr %t49, ptr %t50 + %t51 = load ptr, ptr %t50 + %t52 = call ptr @lp_str_concat(ptr @.str5319, ptr %t51) + %t53 = call ptr @lp_str_concat(ptr %t52, ptr @.str5320) + %t54 = load ptr, ptr %t45 + %t55 = call ptr @lp_str_concat(ptr %t53, ptr %t54) + %t56 = call ptr @fn_emit_bind(ptr %t55) + store ptr %t56, ptr %t57 + %t58 = load ptr, ptr %t57 + %t59 = call ptr @lp_str_concat(ptr @.str5321, ptr %t58) + %t60 = call ptr @lp_str_concat(ptr %t59, ptr @.str5322) + %t61 = call ptr @fn_emit_bind(ptr %t60) + store ptr %t61, ptr %t62 + %t63 = load ptr, ptr %t62 + %t64 = call ptr @lp_str_concat(ptr @.str5323, ptr %t63) + %t65 = call ptr @lp_str_concat(ptr %t64, ptr @.str5324) + %t66 = load ptr, ptr %t57 + %t67 = call ptr @lp_str_concat(ptr %t65, ptr %t66) + %t68 = call ptr @fn_emit_bind(ptr %t67) + store ptr %t68, ptr %t69 + %t70 = load ptr, ptr %t29 + %t71 = call ptr @lp_str_concat(ptr @.str5325, ptr %t70) + %t72 = call ptr @lp_str_concat(ptr %t71, ptr @.str5326) + %t73 = load ptr, ptr %t69 + %t74 = call ptr @lp_str_concat(ptr %t72, ptr %t73) + %t75 = call ptr @lp_str_concat(ptr %t74, ptr @.str5327) + %t76 = call ptr @fn_emit_bind(ptr %t75) + %t77 = call ptr @fn_val(ptr %t76, ptr @.str5328) + store ptr %t77, ptr %retval + br label %ret +ifend2: + %t78 = load ptr, ptr %t0 + %t79 = call i32 @lp_str_eq(ptr %t78, ptr @.str5329) + %t80 = icmp ne i32 %t79, 0 + br i1 %t80, label %then3, label %ifend5 +then3: + %t81 = load ptr, ptr %t1 + %t82 = getelementptr inbounds %Cmp_Node, ptr %t81, i32 0, i32 7 + %t83 = load ptr, ptr %t82 + %t84 = getelementptr inbounds %LSlice, ptr %t83, i32 0, i32 0 + %t85 = load ptr, ptr %t84 + %t86 = getelementptr inbounds ptr, ptr %t85, i32 0 + %t87 = load ptr, ptr %t86 + %t88 = call ptr @fn_emit_expr(ptr %t87) + store ptr %t88, ptr %t89 + %t90 = load ptr, ptr %t1 + %t91 = getelementptr inbounds %Cmp_Node, ptr %t90, i32 0, i32 7 + %t92 = load ptr, ptr %t91 + %t93 = getelementptr inbounds %LSlice, ptr %t92, i32 0, i32 0 + %t94 = load ptr, ptr %t93 + %t95 = getelementptr inbounds ptr, ptr %t94, i32 1 + %t96 = load ptr, ptr %t95 + %t97 = call ptr @fn_emit_expr(ptr %t96) + store ptr %t97, ptr %t98 + %t99 = load ptr, ptr %t98 + %t100 = getelementptr inbounds %Cmp_Val, ptr %t99, i32 0, i32 0 + %t101 = load ptr, ptr %t100 + %t102 = call ptr @fn_tween_den(ptr %t101) + store ptr %t102, ptr %t103 + %t104 = load ptr, ptr %t89 + %t105 = getelementptr inbounds %Cmp_Val, ptr %t104, i32 0, i32 0 + %t106 = load ptr, ptr %t105 + %t107 = load ptr, ptr %t103 + %t108 = call ptr @fn_fx_div_code(ptr %t106, ptr %t107) + store ptr %t108, ptr %t109 + %t110 = load ptr, ptr %t109 + %t111 = call ptr @lp_str_concat(ptr @.str5330, ptr %t110) + %t112 = call ptr @lp_str_concat(ptr %t111, ptr @.str5331) + %t113 = call ptr @fn_emit_bind(ptr %t112) + %t114 = call ptr @fn_val(ptr %t113, ptr @.str5332) + store ptr %t114, ptr %retval + br label %ret +ifend5: + %t115 = load ptr, ptr %t0 + %t116 = call i32 @lp_str_eq(ptr %t115, ptr @.str5333) + %t117 = icmp ne i32 %t116, 0 + br i1 %t117, label %then6, label %ifend8 +then6: + %t118 = load ptr, ptr %t1 + %t119 = getelementptr inbounds %Cmp_Node, ptr %t118, i32 0, i32 7 + %t120 = load ptr, ptr %t119 + %t121 = getelementptr inbounds %LSlice, ptr %t120, i32 0, i32 0 + %t122 = load ptr, ptr %t121 + %t123 = getelementptr inbounds ptr, ptr %t122, i32 0 + %t124 = load ptr, ptr %t123 + %t125 = call ptr @fn_emit_expr(ptr %t124) + store ptr %t125, ptr %t126 + %t127 = load ptr, ptr %t1 + %t128 = getelementptr inbounds %Cmp_Node, ptr %t127, i32 0, i32 7 + %t129 = load ptr, ptr %t128 + %t130 = getelementptr inbounds %LSlice, ptr %t129, i32 0, i32 0 + %t131 = load ptr, ptr %t130 + %t132 = getelementptr inbounds ptr, ptr %t131, i32 1 + %t133 = load ptr, ptr %t132 + %t134 = call ptr @fn_emit_expr(ptr %t133) + store ptr %t134, ptr %t135 + %t136 = load ptr, ptr %t135 + %t137 = getelementptr inbounds %Cmp_Val, ptr %t136, i32 0, i32 0 + %t138 = load ptr, ptr %t137 + %t139 = call ptr @fn_tween_den(ptr %t138) + store ptr %t139, ptr %t140 + %t141 = load ptr, ptr %t126 + %t142 = getelementptr inbounds %Cmp_Val, ptr %t141, i32 0, i32 0 + %t143 = load ptr, ptr %t142 + %t144 = load ptr, ptr %t140 + %t145 = call ptr @fn_fx_div_code(ptr %t143, ptr %t144) + store ptr %t145, ptr %t146 + %t147 = load ptr, ptr %t146 + %t148 = call ptr @lp_str_concat(ptr @.str5334, ptr %t147) + %t149 = call ptr @lp_str_concat(ptr %t148, ptr @.str5335) + %t150 = call ptr @fn_emit_bind(ptr %t149) + store ptr %t150, ptr %t151 + %t152 = load ptr, ptr %t151 + %t153 = call ptr @lp_str_concat(ptr @.str5336, ptr %t152) + %t154 = call ptr @fn_emit_bind(ptr %t153) + store ptr %t154, ptr %t155 + %t156 = load ptr, ptr %t151 + %t157 = call ptr @lp_str_concat(ptr @.str5337, ptr %t156) + %t158 = call ptr @lp_str_concat(ptr %t157, ptr @.str5338) + %t159 = call ptr @fn_emit_bind(ptr %t158) + store ptr %t159, ptr %t160 + %t161 = load ptr, ptr %t160 + %t162 = call ptr @lp_str_concat(ptr @.str5339, ptr %t161) + %t163 = call ptr @lp_str_concat(ptr %t162, ptr @.str5340) + %t164 = load ptr, ptr %t151 + %t165 = call ptr @lp_str_concat(ptr %t163, ptr %t164) + %t166 = call ptr @lp_str_concat(ptr %t165, ptr @.str5341) + %t167 = load ptr, ptr %t155 + %t168 = call ptr @lp_str_concat(ptr %t166, ptr %t167) + %t169 = call ptr @fn_emit_bind(ptr %t168) + %t170 = call ptr @fn_val(ptr %t169, ptr @.str5342) + store ptr %t170, ptr %retval + br label %ret +ifend8: + %t171 = load ptr, ptr %t0 + %t172 = call i32 @lp_str_eq(ptr %t171, ptr @.str5343) + %t173 = icmp ne i32 %t172, 0 + br i1 %t173, label %then9, label %ifend11 +then9: + %t174 = load ptr, ptr %t1 + %t175 = getelementptr inbounds %Cmp_Node, ptr %t174, i32 0, i32 7 + %t176 = load ptr, ptr %t175 + %t177 = getelementptr inbounds %LSlice, ptr %t176, i32 0, i32 1 + %t178 = load i32, ptr %t177 + %t179 = icmp eq i32 %t178, 1 + %t180 = zext i1 %t179 to i32 + %t181 = icmp ne i32 %t180, 0 + br i1 %t181, label %then12, label %ifend14 +then12: + %t182 = load ptr, ptr %t1 + %t183 = getelementptr inbounds %Cmp_Node, ptr %t182, i32 0, i32 7 + %t184 = load ptr, ptr %t183 + %t185 = getelementptr inbounds %LSlice, ptr %t184, i32 0, i32 0 + %t186 = load ptr, ptr %t185 + %t187 = getelementptr inbounds ptr, ptr %t186, i32 0 + %t188 = load ptr, ptr %t187 + %t189 = call ptr @fn_emit_expr(ptr %t188) + store ptr %t189, ptr %t190 + %t191 = load ptr, ptr %t190 + %t192 = getelementptr inbounds %Cmp_Val, ptr %t191, i32 0, i32 0 + %t193 = load ptr, ptr %t192 + %t194 = call ptr @lp_str_concat(ptr @.str5344, ptr %t193) + %t195 = call ptr @lp_str_concat(ptr %t194, ptr @.str5345) + %t196 = call ptr @fn_emit_bind(ptr %t195) + %t197 = call ptr @fn_val(ptr %t196, ptr @.str5346) + store ptr %t197, ptr %retval + br label %ret +ifend14: + %t198 = load ptr, ptr %t1 + %t199 = getelementptr inbounds %Cmp_Node, ptr %t198, i32 0, i32 7 + %t200 = load ptr, ptr %t199 + %t201 = getelementptr inbounds %LSlice, ptr %t200, i32 0, i32 0 + %t202 = load ptr, ptr %t201 + %t203 = getelementptr inbounds ptr, ptr %t202, i32 0 + %t204 = load ptr, ptr %t203 + %t205 = call ptr @fn_emit_expr(ptr %t204) + store ptr %t205, ptr %t206 + %t207 = load ptr, ptr %t1 + %t208 = getelementptr inbounds %Cmp_Node, ptr %t207, i32 0, i32 7 + %t209 = load ptr, ptr %t208 + %t210 = getelementptr inbounds %LSlice, ptr %t209, i32 0, i32 0 + %t211 = load ptr, ptr %t210 + %t212 = getelementptr inbounds ptr, ptr %t211, i32 1 + %t213 = load ptr, ptr %t212 + %t214 = call ptr @fn_emit_expr(ptr %t213) + store ptr %t214, ptr %t215 + %t216 = load ptr, ptr %t206 + %t217 = getelementptr inbounds %Cmp_Val, ptr %t216, i32 0, i32 0 + %t218 = load ptr, ptr %t217 + %t219 = call ptr @lp_str_concat(ptr @.str5347, ptr %t218) + %t220 = call ptr @lp_str_concat(ptr %t219, ptr @.str5348) + %t221 = load ptr, ptr %t215 + %t222 = getelementptr inbounds %Cmp_Val, ptr %t221, i32 0, i32 0 + %t223 = load ptr, ptr %t222 + %t224 = call ptr @lp_str_concat(ptr %t220, ptr %t223) + %t225 = call ptr @fn_emit_bind(ptr %t224) + store ptr %t225, ptr %t226 + %t227 = load ptr, ptr %t226 + %t228 = call ptr @lp_str_concat(ptr @.str5349, ptr %t227) + %t229 = call ptr @lp_str_concat(ptr %t228, ptr @.str5350) + %t230 = call ptr @fn_emit_bind(ptr %t229) + %t231 = call ptr @fn_val(ptr %t230, ptr @.str5351) + store ptr %t231, ptr %retval + br label %ret +ifend11: + %t232 = load ptr, ptr %t0 + %t233 = call i32 @lp_str_eq(ptr %t232, ptr @.str5352) + %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 @.str5353) + 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 @.str5354) + store ptr %t265, ptr %retval + br label %ret +ifend17: + %t266 = load ptr, ptr %t0 + %t267 = call i32 @lp_str_eq(ptr %t266, ptr @.str5355) + %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 @.str5356) + store ptr %t306, ptr %retval + br label %ret +ifend23: + %t307 = load ptr, ptr %t0 + %t308 = call i32 @lp_str_eq(ptr %t307, ptr @.str5357) + %t309 = icmp ne i32 %t308, 0 + br i1 %t309, label %then24, label %ifend26 +then24: + %t310 = load ptr, ptr %t1 + %t311 = getelementptr inbounds %Cmp_Node, ptr %t310, i32 0, i32 7 + %t312 = load ptr, ptr %t311 + %t313 = getelementptr inbounds %LSlice, ptr %t312, i32 0, i32 0 + %t314 = load ptr, ptr %t313 + %t315 = getelementptr inbounds ptr, ptr %t314, i32 0 + %t316 = load ptr, ptr %t315 + %t317 = call ptr @fn_emit_expr(ptr %t316) + store ptr %t317, ptr %t318 + %t319 = load ptr, ptr %t1 + %t320 = getelementptr inbounds %Cmp_Node, ptr %t319, i32 0, i32 7 + %t321 = load ptr, ptr %t320 + %t322 = getelementptr inbounds %LSlice, ptr %t321, i32 0, i32 0 + %t323 = load ptr, ptr %t322 + %t324 = getelementptr inbounds ptr, ptr %t323, i32 1 + %t325 = load ptr, ptr %t324 + %t326 = call ptr @fn_emit_expr(ptr %t325) + store ptr %t326, ptr %t327 + %t328 = load ptr, ptr %t1 + %t329 = getelementptr inbounds %Cmp_Node, ptr %t328, i32 0, i32 7 + %t330 = load ptr, ptr %t329 + %t331 = getelementptr inbounds %LSlice, ptr %t330, i32 0, i32 0 + %t332 = load ptr, ptr %t331 + %t333 = getelementptr inbounds ptr, ptr %t332, i32 2 + %t334 = load ptr, ptr %t333 + %t335 = call ptr @fn_emit_expr(ptr %t334) + store ptr %t335, ptr %t336 + %t337 = load ptr, ptr %t327 + %t338 = getelementptr inbounds %Cmp_Val, ptr %t337, i32 0, i32 0 + %t339 = load ptr, ptr %t338 + %t340 = call ptr @lp_str_concat(ptr @.str5358, ptr %t339) + %t341 = call ptr @lp_str_concat(ptr %t340, ptr @.str5359) + %t342 = load ptr, ptr %t318 + %t343 = getelementptr inbounds %Cmp_Val, ptr %t342, i32 0, i32 0 + %t344 = load ptr, ptr %t343 + %t345 = call ptr @lp_str_concat(ptr %t341, ptr %t344) + %t346 = call ptr @fn_emit_bind(ptr %t345) + store ptr %t346, ptr %t347 + %t348 = load ptr, ptr %t347 + %t349 = call ptr @lp_str_concat(ptr @.str5360, ptr %t348) + %t350 = call ptr @lp_str_concat(ptr %t349, ptr @.str5361) + %t351 = call ptr @fn_emit_bind(ptr %t350) + store ptr %t351, ptr %t352 + %t353 = load ptr, ptr %t336 + %t354 = getelementptr inbounds %Cmp_Val, ptr %t353, i32 0, i32 0 + %t355 = load ptr, ptr %t354 + %t356 = call ptr @lp_str_concat(ptr @.str5362, ptr %t355) + %t357 = call ptr @lp_str_concat(ptr %t356, ptr @.str5363) + %t358 = call ptr @fn_emit_bind(ptr %t357) + store ptr %t358, ptr %t359 + %t360 = load ptr, ptr %t352 + %t361 = call ptr @lp_str_concat(ptr @.str5364, ptr %t360) + %t362 = call ptr @lp_str_concat(ptr %t361, ptr @.str5365) + %t363 = load ptr, ptr %t359 + %t364 = call ptr @lp_str_concat(ptr %t362, ptr %t363) + %t365 = call ptr @fn_emit_bind(ptr %t364) + store ptr %t365, ptr %t366 + %t367 = load ptr, ptr %t366 + %t368 = call ptr @lp_str_concat(ptr @.str5366, ptr %t367) + %t369 = call ptr @lp_str_concat(ptr %t368, ptr @.str5367) + %t370 = call ptr @fn_emit_bind(ptr %t369) + store ptr %t370, ptr %t371 + %t372 = load ptr, ptr %t371 + %t373 = call ptr @lp_str_concat(ptr @.str5368, ptr %t372) + %t374 = call ptr @lp_str_concat(ptr %t373, ptr @.str5369) + %t375 = call ptr @fn_emit_bind(ptr %t374) + store ptr %t375, ptr %t376 + %t377 = load ptr, ptr %t376 + %t378 = call ptr @lp_str_concat(ptr @.str5370, ptr %t377) + %t379 = call ptr @lp_str_concat(ptr %t378, ptr @.str5371) + %t380 = call ptr @fn_emit_bind(ptr %t379) + store ptr %t380, ptr %t381 + %t382 = load ptr, ptr %t318 + %t383 = getelementptr inbounds %Cmp_Val, ptr %t382, i32 0, i32 0 + %t384 = load ptr, ptr %t383 + %t385 = call ptr @lp_str_concat(ptr @.str5372, ptr %t384) + %t386 = call ptr @lp_str_concat(ptr %t385, ptr @.str5373) + %t387 = load ptr, ptr %t381 + %t388 = call ptr @lp_str_concat(ptr %t386, ptr %t387) + %t389 = call ptr @fn_emit_bind(ptr %t388) + %t390 = call ptr @fn_val(ptr %t389, ptr @.str5374) + store ptr %t390, ptr %retval + br label %ret +ifend26: + %t391 = load ptr, ptr %t0 + %t392 = call i32 @lp_str_eq(ptr %t391, ptr @.str5375) + %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 @.str5376) + 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 @.str5377) + %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 @.str5378) + %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 @.str5379) + %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 @.str5380) + %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 @.str5381) + %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 @.str5382) + %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 @.str5383) + store ptr %t529, ptr %retval + br label %ret +ret: + %t530 = load ptr, ptr %retval + ret ptr %t530 +} + +define i32 @fn_is_collide_ns(ptr %arg_meth) { +entry: + %retval = alloca i32 + %t0 = alloca ptr + %t1 = alloca i32 + %t12 = alloca i32 + store ptr %arg_meth, ptr %t0 + %t2 = load ptr, ptr %t0 + %t3 = call i32 @lp_str_eq(ptr %t2, ptr @.str5384) + %t4 = icmp ne i32 %t3, 0 + %t5 = zext i1 %t4 to i32 + store i32 %t5, ptr %t1 + br i1 %t4, label %scend1, label %sc0 +sc0: + %t6 = load ptr, ptr %t0 + %t7 = call i32 @lp_str_eq(ptr %t6, ptr @.str5385) + %t8 = icmp ne i32 %t7, 0 + %t9 = zext i1 %t8 to i32 + store i32 %t9, ptr %t1 + br label %scend1 +scend1: + %t10 = load i32, ptr %t1 + %t11 = icmp ne i32 %t10, 0 + br i1 %t11, label %then2, label %ifend4 +then2: + store i32 1, ptr %retval + br label %ret +ifend4: + %t13 = load ptr, ptr %t0 + %t14 = call i32 @lp_str_eq(ptr %t13, ptr @.str5386) + %t15 = icmp ne i32 %t14, 0 + %t16 = zext i1 %t15 to i32 + store i32 %t16, ptr %t12 + br i1 %t15, label %scend6, label %sc5 +sc5: + %t17 = load ptr, ptr %t0 + %t18 = call i32 @lp_str_eq(ptr %t17, ptr @.str5387) + %t19 = icmp ne i32 %t18, 0 + %t20 = zext i1 %t19 to i32 + store i32 %t20, ptr %t12 + br label %scend6 +scend6: + %t21 = load i32, ptr %t12 + %t22 = icmp ne i32 %t21, 0 + br i1 %t22, label %then7, label %ifend9 +then7: + store i32 1, ptr %retval + br label %ret +ifend9: + store i32 0, ptr %retval + br label %ret +ret: + %t23 = load i32, ptr %retval + ret i32 %t23 +} + +define ptr @fn_coll_sq_sum(ptr %arg_dx, ptr %arg_dy) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t1 = alloca ptr + %t6 = alloca ptr + %t11 = alloca ptr + %t18 = alloca ptr + %t25 = alloca ptr + store ptr %arg_dx, ptr %t0 + store ptr %arg_dy, ptr %t1 + %t2 = load ptr, ptr %t0 + %t3 = call ptr @lp_str_concat(ptr @.str5388, ptr %t2) + %t4 = call ptr @lp_str_concat(ptr %t3, ptr @.str5389) + %t5 = call ptr @fn_emit_bind(ptr %t4) + store ptr %t5, ptr %t6 + %t7 = load ptr, ptr %t1 + %t8 = call ptr @lp_str_concat(ptr @.str5390, ptr %t7) + %t9 = call ptr @lp_str_concat(ptr %t8, ptr @.str5391) + %t10 = call ptr @fn_emit_bind(ptr %t9) + store ptr %t10, ptr %t11 + %t12 = load ptr, ptr %t6 + %t13 = call ptr @lp_str_concat(ptr @.str5392, ptr %t12) + %t14 = call ptr @lp_str_concat(ptr %t13, ptr @.str5393) + %t15 = load ptr, ptr %t6 + %t16 = call ptr @lp_str_concat(ptr %t14, ptr %t15) + %t17 = call ptr @fn_emit_bind(ptr %t16) + store ptr %t17, ptr %t18 + %t19 = load ptr, ptr %t11 + %t20 = call ptr @lp_str_concat(ptr @.str5394, ptr %t19) + %t21 = call ptr @lp_str_concat(ptr %t20, ptr @.str5395) + %t22 = load ptr, ptr %t11 + %t23 = call ptr @lp_str_concat(ptr %t21, ptr %t22) + %t24 = call ptr @fn_emit_bind(ptr %t23) + store ptr %t24, ptr %t25 + %t26 = load ptr, ptr %t18 + %t27 = call ptr @lp_str_concat(ptr @.str5396, ptr %t26) + %t28 = call ptr @lp_str_concat(ptr %t27, ptr @.str5397) + %t29 = load ptr, ptr %t25 + %t30 = call ptr @lp_str_concat(ptr %t28, ptr %t29) + %t31 = call ptr @fn_emit_bind(ptr %t30) + store ptr %t31, ptr %retval + br label %ret +ret: + %t32 = load ptr, ptr %retval + ret ptr %t32 +} + +define ptr @fn_coll_clamp(ptr %arg_v, ptr %arg_lo, ptr %arg_hi) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t1 = alloca ptr + %t2 = alloca ptr + %t9 = alloca ptr + %t19 = alloca ptr + %t26 = alloca ptr + store ptr %arg_v, ptr %t0 + store ptr %arg_lo, ptr %t1 + store ptr %arg_hi, ptr %t2 + %t3 = load ptr, ptr %t0 + %t4 = call ptr @lp_str_concat(ptr @.str5398, ptr %t3) + %t5 = call ptr @lp_str_concat(ptr %t4, ptr @.str5399) + %t6 = load ptr, ptr %t2 + %t7 = call ptr @lp_str_concat(ptr %t5, ptr %t6) + %t8 = call ptr @fn_emit_bind(ptr %t7) + store ptr %t8, ptr %t9 + %t10 = load ptr, ptr %t9 + %t11 = call ptr @lp_str_concat(ptr @.str5400, ptr %t10) + %t12 = call ptr @lp_str_concat(ptr %t11, ptr @.str5401) + %t13 = load ptr, ptr %t0 + %t14 = call ptr @lp_str_concat(ptr %t12, ptr %t13) + %t15 = call ptr @lp_str_concat(ptr %t14, ptr @.str5402) + %t16 = load ptr, ptr %t2 + %t17 = call ptr @lp_str_concat(ptr %t15, ptr %t16) + %t18 = call ptr @fn_emit_bind(ptr %t17) + store ptr %t18, ptr %t19 + %t20 = load ptr, ptr %t1 + %t21 = call ptr @lp_str_concat(ptr @.str5403, ptr %t20) + %t22 = call ptr @lp_str_concat(ptr %t21, ptr @.str5404) + %t23 = load ptr, ptr %t19 + %t24 = call ptr @lp_str_concat(ptr %t22, ptr %t23) + %t25 = call ptr @fn_emit_bind(ptr %t24) + store ptr %t25, ptr %t26 + %t27 = load ptr, ptr %t26 + %t28 = call ptr @lp_str_concat(ptr @.str5405, ptr %t27) + %t29 = call ptr @lp_str_concat(ptr %t28, ptr @.str5406) + %t30 = load ptr, ptr %t1 + %t31 = call ptr @lp_str_concat(ptr %t29, ptr %t30) + %t32 = call ptr @lp_str_concat(ptr %t31, ptr @.str5407) + %t33 = load ptr, ptr %t19 + %t34 = call ptr @lp_str_concat(ptr %t32, ptr %t33) + %t35 = call ptr @fn_emit_bind(ptr %t34) + store ptr %t35, ptr %retval + br label %ret +ret: + %t36 = load ptr, ptr %retval + ret ptr %t36 +} + +define ptr @fn_emit_collide_ns(ptr %arg_meth, ptr %arg_e) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t1 = alloca ptr + %t13 = alloca ptr + %t22 = alloca ptr + %t31 = alloca ptr + %t40 = alloca ptr + %t49 = alloca ptr + %t58 = alloca ptr + %t67 = alloca ptr + %t76 = alloca ptr + %t87 = alloca ptr + %t98 = alloca ptr + %t109 = alloca ptr + %t120 = alloca ptr + %t129 = alloca ptr + %t138 = alloca ptr + %t147 = alloca ptr + %t156 = alloca ptr + %t163 = alloca ptr + %t170 = alloca ptr + %t177 = alloca ptr + %t194 = alloca ptr + %t203 = alloca ptr + %t212 = alloca ptr + %t221 = alloca ptr + %t230 = alloca ptr + %t239 = alloca ptr + %t250 = alloca ptr + %t261 = alloca ptr + %t272 = alloca ptr + %t281 = alloca ptr + %t292 = alloca ptr + %t301 = alloca ptr + %t308 = alloca ptr + %t315 = alloca ptr + %t322 = alloca ptr + %t339 = alloca ptr + %t348 = alloca ptr + %t357 = alloca ptr + %t366 = alloca ptr + %t375 = alloca ptr + %t384 = alloca ptr + %t395 = alloca ptr + %t406 = alloca ptr + %t410 = alloca ptr + %t421 = alloca ptr + %t426 = alloca ptr + %t433 = alloca ptr + %t440 = alloca ptr + %t454 = alloca ptr + %t463 = alloca ptr + %t472 = alloca ptr + %t481 = alloca ptr + %t490 = alloca ptr + %t499 = alloca ptr + %t508 = alloca ptr + %t519 = alloca ptr + %t530 = alloca ptr + %t539 = alloca ptr + %t548 = alloca ptr + %t557 = alloca ptr + %t566 = alloca ptr + %t570 = alloca ptr + %t577 = alloca ptr + %t584 = alloca ptr + %t591 = alloca ptr + store ptr %arg_meth, ptr %t0 + store ptr %arg_e, ptr %t1 + %t2 = load ptr, ptr %t0 + %t3 = call i32 @lp_str_eq(ptr %t2, ptr @.str5408) + %t4 = icmp ne i32 %t3, 0 + br i1 %t4, label %then0, label %ifend2 +then0: + %t5 = load ptr, ptr %t1 + %t6 = getelementptr inbounds %Cmp_Node, ptr %t5, i32 0, i32 7 + %t7 = load ptr, ptr %t6 + %t8 = getelementptr inbounds %LSlice, ptr %t7, i32 0, i32 0 + %t9 = load ptr, ptr %t8 + %t10 = getelementptr inbounds ptr, ptr %t9, i32 0 + %t11 = load ptr, ptr %t10 + %t12 = call ptr @fn_emit_expr(ptr %t11) + store ptr %t12, ptr %t13 + %t14 = load ptr, ptr %t1 + %t15 = getelementptr inbounds %Cmp_Node, ptr %t14, i32 0, i32 7 + %t16 = load ptr, ptr %t15 + %t17 = getelementptr inbounds %LSlice, ptr %t16, i32 0, i32 0 + %t18 = load ptr, ptr %t17 + %t19 = getelementptr inbounds ptr, ptr %t18, i32 1 + %t20 = load ptr, ptr %t19 + %t21 = call ptr @fn_emit_expr(ptr %t20) + store ptr %t21, ptr %t22 + %t23 = load ptr, ptr %t1 + %t24 = getelementptr inbounds %Cmp_Node, ptr %t23, i32 0, i32 7 + %t25 = load ptr, ptr %t24 + %t26 = getelementptr inbounds %LSlice, ptr %t25, i32 0, i32 0 + %t27 = load ptr, ptr %t26 + %t28 = getelementptr inbounds ptr, ptr %t27, i32 2 + %t29 = load ptr, ptr %t28 + %t30 = call ptr @fn_emit_expr(ptr %t29) + store ptr %t30, ptr %t31 + %t32 = load ptr, ptr %t1 + %t33 = getelementptr inbounds %Cmp_Node, ptr %t32, i32 0, i32 7 + %t34 = load ptr, ptr %t33 + %t35 = getelementptr inbounds %LSlice, ptr %t34, i32 0, i32 0 + %t36 = load ptr, ptr %t35 + %t37 = getelementptr inbounds ptr, ptr %t36, i32 3 + %t38 = load ptr, ptr %t37 + %t39 = call ptr @fn_emit_expr(ptr %t38) + store ptr %t39, ptr %t40 + %t41 = load ptr, ptr %t1 + %t42 = getelementptr inbounds %Cmp_Node, ptr %t41, i32 0, i32 7 + %t43 = load ptr, ptr %t42 + %t44 = getelementptr inbounds %LSlice, ptr %t43, i32 0, i32 0 + %t45 = load ptr, ptr %t44 + %t46 = getelementptr inbounds ptr, ptr %t45, i32 4 + %t47 = load ptr, ptr %t46 + %t48 = call ptr @fn_emit_expr(ptr %t47) + store ptr %t48, ptr %t49 + %t50 = load ptr, ptr %t1 + %t51 = getelementptr inbounds %Cmp_Node, ptr %t50, i32 0, i32 7 + %t52 = load ptr, ptr %t51 + %t53 = getelementptr inbounds %LSlice, ptr %t52, i32 0, i32 0 + %t54 = load ptr, ptr %t53 + %t55 = getelementptr inbounds ptr, ptr %t54, i32 5 + %t56 = load ptr, ptr %t55 + %t57 = call ptr @fn_emit_expr(ptr %t56) + store ptr %t57, ptr %t58 + %t59 = load ptr, ptr %t1 + %t60 = getelementptr inbounds %Cmp_Node, ptr %t59, i32 0, i32 7 + %t61 = load ptr, ptr %t60 + %t62 = getelementptr inbounds %LSlice, ptr %t61, i32 0, i32 0 + %t63 = load ptr, ptr %t62 + %t64 = getelementptr inbounds ptr, ptr %t63, i32 6 + %t65 = load ptr, ptr %t64 + %t66 = call ptr @fn_emit_expr(ptr %t65) + store ptr %t66, ptr %t67 + %t68 = load ptr, ptr %t1 + %t69 = getelementptr inbounds %Cmp_Node, ptr %t68, i32 0, i32 7 + %t70 = load ptr, ptr %t69 + %t71 = getelementptr inbounds %LSlice, ptr %t70, i32 0, i32 0 + %t72 = load ptr, ptr %t71 + %t73 = getelementptr inbounds ptr, ptr %t72, i32 7 + %t74 = load ptr, ptr %t73 + %t75 = call ptr @fn_emit_expr(ptr %t74) + store ptr %t75, ptr %t76 + %t77 = load ptr, ptr %t13 + %t78 = getelementptr inbounds %Cmp_Val, ptr %t77, i32 0, i32 0 + %t79 = load ptr, ptr %t78 + %t80 = call ptr @lp_str_concat(ptr @.str5409, ptr %t79) + %t81 = call ptr @lp_str_concat(ptr %t80, ptr @.str5410) + %t82 = load ptr, ptr %t31 + %t83 = getelementptr inbounds %Cmp_Val, ptr %t82, i32 0, i32 0 + %t84 = load ptr, ptr %t83 + %t85 = call ptr @lp_str_concat(ptr %t81, ptr %t84) + %t86 = call ptr @fn_emit_bind(ptr %t85) + store ptr %t86, ptr %t87 + %t88 = load ptr, ptr %t49 + %t89 = getelementptr inbounds %Cmp_Val, ptr %t88, i32 0, i32 0 + %t90 = load ptr, ptr %t89 + %t91 = call ptr @lp_str_concat(ptr @.str5411, ptr %t90) + %t92 = call ptr @lp_str_concat(ptr %t91, ptr @.str5412) + %t93 = load ptr, ptr %t67 + %t94 = getelementptr inbounds %Cmp_Val, ptr %t93, i32 0, i32 0 + %t95 = load ptr, ptr %t94 + %t96 = call ptr @lp_str_concat(ptr %t92, ptr %t95) + %t97 = call ptr @fn_emit_bind(ptr %t96) + store ptr %t97, ptr %t98 + %t99 = load ptr, ptr %t22 + %t100 = getelementptr inbounds %Cmp_Val, ptr %t99, i32 0, i32 0 + %t101 = load ptr, ptr %t100 + %t102 = call ptr @lp_str_concat(ptr @.str5413, ptr %t101) + %t103 = call ptr @lp_str_concat(ptr %t102, ptr @.str5414) + %t104 = load ptr, ptr %t40 + %t105 = getelementptr inbounds %Cmp_Val, ptr %t104, i32 0, i32 0 + %t106 = load ptr, ptr %t105 + %t107 = call ptr @lp_str_concat(ptr %t103, ptr %t106) + %t108 = call ptr @fn_emit_bind(ptr %t107) + store ptr %t108, ptr %t109 + %t110 = load ptr, ptr %t58 + %t111 = getelementptr inbounds %Cmp_Val, ptr %t110, i32 0, i32 0 + %t112 = load ptr, ptr %t111 + %t113 = call ptr @lp_str_concat(ptr @.str5415, ptr %t112) + %t114 = call ptr @lp_str_concat(ptr %t113, ptr @.str5416) + %t115 = load ptr, ptr %t76 + %t116 = getelementptr inbounds %Cmp_Val, ptr %t115, i32 0, i32 0 + %t117 = load ptr, ptr %t116 + %t118 = call ptr @lp_str_concat(ptr %t114, ptr %t117) + %t119 = call ptr @fn_emit_bind(ptr %t118) + store ptr %t119, ptr %t120 + %t121 = load ptr, ptr %t13 + %t122 = getelementptr inbounds %Cmp_Val, ptr %t121, i32 0, i32 0 + %t123 = load ptr, ptr %t122 + %t124 = call ptr @lp_str_concat(ptr @.str5417, ptr %t123) + %t125 = call ptr @lp_str_concat(ptr %t124, ptr @.str5418) + %t126 = load ptr, ptr %t98 + %t127 = call ptr @lp_str_concat(ptr %t125, ptr %t126) + %t128 = call ptr @fn_emit_bind(ptr %t127) + store ptr %t128, ptr %t129 + %t130 = load ptr, ptr %t49 + %t131 = getelementptr inbounds %Cmp_Val, ptr %t130, i32 0, i32 0 + %t132 = load ptr, ptr %t131 + %t133 = call ptr @lp_str_concat(ptr @.str5419, ptr %t132) + %t134 = call ptr @lp_str_concat(ptr %t133, ptr @.str5420) + %t135 = load ptr, ptr %t87 + %t136 = call ptr @lp_str_concat(ptr %t134, ptr %t135) + %t137 = call ptr @fn_emit_bind(ptr %t136) + store ptr %t137, ptr %t138 + %t139 = load ptr, ptr %t22 + %t140 = getelementptr inbounds %Cmp_Val, ptr %t139, i32 0, i32 0 + %t141 = load ptr, ptr %t140 + %t142 = call ptr @lp_str_concat(ptr @.str5421, ptr %t141) + %t143 = call ptr @lp_str_concat(ptr %t142, ptr @.str5422) + %t144 = load ptr, ptr %t120 + %t145 = call ptr @lp_str_concat(ptr %t143, ptr %t144) + %t146 = call ptr @fn_emit_bind(ptr %t145) + store ptr %t146, ptr %t147 + %t148 = load ptr, ptr %t58 + %t149 = getelementptr inbounds %Cmp_Val, ptr %t148, i32 0, i32 0 + %t150 = load ptr, ptr %t149 + %t151 = call ptr @lp_str_concat(ptr @.str5423, ptr %t150) + %t152 = call ptr @lp_str_concat(ptr %t151, ptr @.str5424) + %t153 = load ptr, ptr %t109 + %t154 = call ptr @lp_str_concat(ptr %t152, ptr %t153) + %t155 = call ptr @fn_emit_bind(ptr %t154) + store ptr %t155, ptr %t156 + %t157 = load ptr, ptr %t129 + %t158 = call ptr @lp_str_concat(ptr @.str5425, ptr %t157) + %t159 = call ptr @lp_str_concat(ptr %t158, ptr @.str5426) + %t160 = load ptr, ptr %t138 + %t161 = call ptr @lp_str_concat(ptr %t159, ptr %t160) + %t162 = call ptr @fn_emit_bind(ptr %t161) + store ptr %t162, ptr %t163 + %t164 = load ptr, ptr %t147 + %t165 = call ptr @lp_str_concat(ptr @.str5427, ptr %t164) + %t166 = call ptr @lp_str_concat(ptr %t165, ptr @.str5428) + %t167 = load ptr, ptr %t156 + %t168 = call ptr @lp_str_concat(ptr %t166, ptr %t167) + %t169 = call ptr @fn_emit_bind(ptr %t168) + store ptr %t169, ptr %t170 + %t171 = load ptr, ptr %t163 + %t172 = call ptr @lp_str_concat(ptr @.str5429, ptr %t171) + %t173 = call ptr @lp_str_concat(ptr %t172, ptr @.str5430) + %t174 = load ptr, ptr %t170 + %t175 = call ptr @lp_str_concat(ptr %t173, ptr %t174) + %t176 = call ptr @fn_emit_bind(ptr %t175) + store ptr %t176, ptr %t177 + %t178 = load ptr, ptr %t177 + %t179 = call ptr @lp_str_concat(ptr @.str5431, ptr %t178) + %t180 = call ptr @lp_str_concat(ptr %t179, ptr @.str5432) + %t181 = call ptr @fn_emit_bind(ptr %t180) + %t182 = call ptr @fn_val(ptr %t181, ptr @.str5433) + store ptr %t182, ptr %retval + br label %ret +ifend2: + %t183 = load ptr, ptr %t0 + %t184 = call i32 @lp_str_eq(ptr %t183, ptr @.str5434) + %t185 = icmp ne i32 %t184, 0 + br i1 %t185, label %then3, label %ifend5 +then3: + %t186 = load ptr, ptr %t1 + %t187 = getelementptr inbounds %Cmp_Node, ptr %t186, i32 0, i32 7 + %t188 = load ptr, ptr %t187 + %t189 = getelementptr inbounds %LSlice, ptr %t188, i32 0, i32 0 + %t190 = load ptr, ptr %t189 + %t191 = getelementptr inbounds ptr, ptr %t190, i32 0 + %t192 = load ptr, ptr %t191 + %t193 = call ptr @fn_emit_expr(ptr %t192) + store ptr %t193, ptr %t194 + %t195 = load ptr, ptr %t1 + %t196 = getelementptr inbounds %Cmp_Node, ptr %t195, i32 0, i32 7 + %t197 = load ptr, ptr %t196 + %t198 = getelementptr inbounds %LSlice, ptr %t197, i32 0, i32 0 + %t199 = load ptr, ptr %t198 + %t200 = getelementptr inbounds ptr, ptr %t199, i32 1 + %t201 = load ptr, ptr %t200 + %t202 = call ptr @fn_emit_expr(ptr %t201) + store ptr %t202, ptr %t203 + %t204 = load ptr, ptr %t1 + %t205 = getelementptr inbounds %Cmp_Node, ptr %t204, i32 0, i32 7 + %t206 = load ptr, ptr %t205 + %t207 = getelementptr inbounds %LSlice, ptr %t206, i32 0, i32 0 + %t208 = load ptr, ptr %t207 + %t209 = getelementptr inbounds ptr, ptr %t208, i32 2 + %t210 = load ptr, ptr %t209 + %t211 = call ptr @fn_emit_expr(ptr %t210) + store ptr %t211, ptr %t212 + %t213 = load ptr, ptr %t1 + %t214 = getelementptr inbounds %Cmp_Node, ptr %t213, i32 0, i32 7 + %t215 = load ptr, ptr %t214 + %t216 = getelementptr inbounds %LSlice, ptr %t215, i32 0, i32 0 + %t217 = load ptr, ptr %t216 + %t218 = getelementptr inbounds ptr, ptr %t217, i32 3 + %t219 = load ptr, ptr %t218 + %t220 = call ptr @fn_emit_expr(ptr %t219) + store ptr %t220, ptr %t221 + %t222 = load ptr, ptr %t1 + %t223 = getelementptr inbounds %Cmp_Node, ptr %t222, i32 0, i32 7 + %t224 = load ptr, ptr %t223 + %t225 = getelementptr inbounds %LSlice, ptr %t224, i32 0, i32 0 + %t226 = load ptr, ptr %t225 + %t227 = getelementptr inbounds ptr, ptr %t226, i32 4 + %t228 = load ptr, ptr %t227 + %t229 = call ptr @fn_emit_expr(ptr %t228) + store ptr %t229, ptr %t230 + %t231 = load ptr, ptr %t1 + %t232 = getelementptr inbounds %Cmp_Node, ptr %t231, i32 0, i32 7 + %t233 = load ptr, ptr %t232 + %t234 = getelementptr inbounds %LSlice, ptr %t233, i32 0, i32 0 + %t235 = load ptr, ptr %t234 + %t236 = getelementptr inbounds ptr, ptr %t235, i32 5 + %t237 = load ptr, ptr %t236 + %t238 = call ptr @fn_emit_expr(ptr %t237) + store ptr %t238, ptr %t239 + %t240 = load ptr, ptr %t212 + %t241 = getelementptr inbounds %Cmp_Val, ptr %t240, i32 0, i32 0 + %t242 = load ptr, ptr %t241 + %t243 = call ptr @lp_str_concat(ptr @.str5435, ptr %t242) + %t244 = call ptr @lp_str_concat(ptr %t243, ptr @.str5436) + %t245 = load ptr, ptr %t230 + %t246 = getelementptr inbounds %Cmp_Val, ptr %t245, i32 0, i32 0 + %t247 = load ptr, ptr %t246 + %t248 = call ptr @lp_str_concat(ptr %t244, ptr %t247) + %t249 = call ptr @fn_emit_bind(ptr %t248) + store ptr %t249, ptr %t250 + %t251 = load ptr, ptr %t221 + %t252 = getelementptr inbounds %Cmp_Val, ptr %t251, i32 0, i32 0 + %t253 = load ptr, ptr %t252 + %t254 = call ptr @lp_str_concat(ptr @.str5437, ptr %t253) + %t255 = call ptr @lp_str_concat(ptr %t254, ptr @.str5438) + %t256 = load ptr, ptr %t239 + %t257 = getelementptr inbounds %Cmp_Val, ptr %t256, i32 0, i32 0 + %t258 = load ptr, ptr %t257 + %t259 = call ptr @lp_str_concat(ptr %t255, ptr %t258) + %t260 = call ptr @fn_emit_bind(ptr %t259) + store ptr %t260, ptr %t261 + %t262 = load ptr, ptr %t194 + %t263 = getelementptr inbounds %Cmp_Val, ptr %t262, i32 0, i32 0 + %t264 = load ptr, ptr %t263 + %t265 = call ptr @lp_str_concat(ptr @.str5439, ptr %t264) + %t266 = call ptr @lp_str_concat(ptr %t265, ptr @.str5440) + %t267 = load ptr, ptr %t212 + %t268 = getelementptr inbounds %Cmp_Val, ptr %t267, i32 0, i32 0 + %t269 = load ptr, ptr %t268 + %t270 = call ptr @lp_str_concat(ptr %t266, ptr %t269) + %t271 = call ptr @fn_emit_bind(ptr %t270) + store ptr %t271, ptr %t272 + %t273 = load ptr, ptr %t194 + %t274 = getelementptr inbounds %Cmp_Val, ptr %t273, i32 0, i32 0 + %t275 = load ptr, ptr %t274 + %t276 = call ptr @lp_str_concat(ptr @.str5441, ptr %t275) + %t277 = call ptr @lp_str_concat(ptr %t276, ptr @.str5442) + %t278 = load ptr, ptr %t250 + %t279 = call ptr @lp_str_concat(ptr %t277, ptr %t278) + %t280 = call ptr @fn_emit_bind(ptr %t279) + store ptr %t280, ptr %t281 + %t282 = load ptr, ptr %t203 + %t283 = getelementptr inbounds %Cmp_Val, ptr %t282, i32 0, i32 0 + %t284 = load ptr, ptr %t283 + %t285 = call ptr @lp_str_concat(ptr @.str5443, ptr %t284) + %t286 = call ptr @lp_str_concat(ptr %t285, ptr @.str5444) + %t287 = load ptr, ptr %t221 + %t288 = getelementptr inbounds %Cmp_Val, ptr %t287, i32 0, i32 0 + %t289 = load ptr, ptr %t288 + %t290 = call ptr @lp_str_concat(ptr %t286, ptr %t289) + %t291 = call ptr @fn_emit_bind(ptr %t290) + store ptr %t291, ptr %t292 + %t293 = load ptr, ptr %t203 + %t294 = getelementptr inbounds %Cmp_Val, ptr %t293, i32 0, i32 0 + %t295 = load ptr, ptr %t294 + %t296 = call ptr @lp_str_concat(ptr @.str5445, ptr %t295) + %t297 = call ptr @lp_str_concat(ptr %t296, ptr @.str5446) + %t298 = load ptr, ptr %t261 + %t299 = call ptr @lp_str_concat(ptr %t297, ptr %t298) + %t300 = call ptr @fn_emit_bind(ptr %t299) + store ptr %t300, ptr %t301 + %t302 = load ptr, ptr %t272 + %t303 = call ptr @lp_str_concat(ptr @.str5447, ptr %t302) + %t304 = call ptr @lp_str_concat(ptr %t303, ptr @.str5448) + %t305 = load ptr, ptr %t281 + %t306 = call ptr @lp_str_concat(ptr %t304, ptr %t305) + %t307 = call ptr @fn_emit_bind(ptr %t306) + store ptr %t307, ptr %t308 + %t309 = load ptr, ptr %t292 + %t310 = call ptr @lp_str_concat(ptr @.str5449, ptr %t309) + %t311 = call ptr @lp_str_concat(ptr %t310, ptr @.str5450) + %t312 = load ptr, ptr %t301 + %t313 = call ptr @lp_str_concat(ptr %t311, ptr %t312) + %t314 = call ptr @fn_emit_bind(ptr %t313) + store ptr %t314, ptr %t315 + %t316 = load ptr, ptr %t308 + %t317 = call ptr @lp_str_concat(ptr @.str5451, ptr %t316) + %t318 = call ptr @lp_str_concat(ptr %t317, ptr @.str5452) + %t319 = load ptr, ptr %t315 + %t320 = call ptr @lp_str_concat(ptr %t318, ptr %t319) + %t321 = call ptr @fn_emit_bind(ptr %t320) + store ptr %t321, ptr %t322 + %t323 = load ptr, ptr %t322 + %t324 = call ptr @lp_str_concat(ptr @.str5453, ptr %t323) + %t325 = call ptr @lp_str_concat(ptr %t324, ptr @.str5454) + %t326 = call ptr @fn_emit_bind(ptr %t325) + %t327 = call ptr @fn_val(ptr %t326, ptr @.str5455) + store ptr %t327, ptr %retval + br label %ret +ifend5: + %t328 = load ptr, ptr %t0 + %t329 = call i32 @lp_str_eq(ptr %t328, ptr @.str5456) + %t330 = icmp ne i32 %t329, 0 + br i1 %t330, label %then6, label %ifend8 +then6: + %t331 = load ptr, ptr %t1 + %t332 = getelementptr inbounds %Cmp_Node, ptr %t331, i32 0, i32 7 + %t333 = load ptr, ptr %t332 + %t334 = getelementptr inbounds %LSlice, ptr %t333, i32 0, i32 0 + %t335 = load ptr, ptr %t334 + %t336 = getelementptr inbounds ptr, ptr %t335, i32 0 + %t337 = load ptr, ptr %t336 + %t338 = call ptr @fn_emit_expr(ptr %t337) + store ptr %t338, ptr %t339 + %t340 = load ptr, ptr %t1 + %t341 = getelementptr inbounds %Cmp_Node, ptr %t340, i32 0, i32 7 + %t342 = load ptr, ptr %t341 + %t343 = getelementptr inbounds %LSlice, ptr %t342, i32 0, i32 0 + %t344 = load ptr, ptr %t343 + %t345 = getelementptr inbounds ptr, ptr %t344, i32 1 + %t346 = load ptr, ptr %t345 + %t347 = call ptr @fn_emit_expr(ptr %t346) + store ptr %t347, ptr %t348 + %t349 = load ptr, ptr %t1 + %t350 = getelementptr inbounds %Cmp_Node, ptr %t349, i32 0, i32 7 + %t351 = load ptr, ptr %t350 + %t352 = getelementptr inbounds %LSlice, ptr %t351, i32 0, i32 0 + %t353 = load ptr, ptr %t352 + %t354 = getelementptr inbounds ptr, ptr %t353, i32 2 + %t355 = load ptr, ptr %t354 + %t356 = call ptr @fn_emit_expr(ptr %t355) + store ptr %t356, ptr %t357 + %t358 = load ptr, ptr %t1 + %t359 = getelementptr inbounds %Cmp_Node, ptr %t358, i32 0, i32 7 + %t360 = load ptr, ptr %t359 + %t361 = getelementptr inbounds %LSlice, ptr %t360, i32 0, i32 0 + %t362 = load ptr, ptr %t361 + %t363 = getelementptr inbounds ptr, ptr %t362, i32 3 + %t364 = load ptr, ptr %t363 + %t365 = call ptr @fn_emit_expr(ptr %t364) + store ptr %t365, ptr %t366 + %t367 = load ptr, ptr %t1 + %t368 = getelementptr inbounds %Cmp_Node, ptr %t367, i32 0, i32 7 + %t369 = load ptr, ptr %t368 + %t370 = getelementptr inbounds %LSlice, ptr %t369, i32 0, i32 0 + %t371 = load ptr, ptr %t370 + %t372 = getelementptr inbounds ptr, ptr %t371, i32 4 + %t373 = load ptr, ptr %t372 + %t374 = call ptr @fn_emit_expr(ptr %t373) + store ptr %t374, ptr %t375 + %t376 = load ptr, ptr %t1 + %t377 = getelementptr inbounds %Cmp_Node, ptr %t376, i32 0, i32 7 + %t378 = load ptr, ptr %t377 + %t379 = getelementptr inbounds %LSlice, ptr %t378, i32 0, i32 0 + %t380 = load ptr, ptr %t379 + %t381 = getelementptr inbounds ptr, ptr %t380, i32 5 + %t382 = load ptr, ptr %t381 + %t383 = call ptr @fn_emit_expr(ptr %t382) + store ptr %t383, ptr %t384 + %t385 = load ptr, ptr %t339 + %t386 = getelementptr inbounds %Cmp_Val, ptr %t385, i32 0, i32 0 + %t387 = load ptr, ptr %t386 + %t388 = call ptr @lp_str_concat(ptr @.str5457, ptr %t387) + %t389 = call ptr @lp_str_concat(ptr %t388, ptr @.str5458) + %t390 = load ptr, ptr %t366 + %t391 = getelementptr inbounds %Cmp_Val, ptr %t390, i32 0, i32 0 + %t392 = load ptr, ptr %t391 + %t393 = call ptr @lp_str_concat(ptr %t389, ptr %t392) + %t394 = call ptr @fn_emit_bind(ptr %t393) + store ptr %t394, ptr %t395 + %t396 = load ptr, ptr %t348 + %t397 = getelementptr inbounds %Cmp_Val, ptr %t396, i32 0, i32 0 + %t398 = load ptr, ptr %t397 + %t399 = call ptr @lp_str_concat(ptr @.str5459, ptr %t398) + %t400 = call ptr @lp_str_concat(ptr %t399, ptr @.str5460) + %t401 = load ptr, ptr %t375 + %t402 = getelementptr inbounds %Cmp_Val, ptr %t401, i32 0, i32 0 + %t403 = load ptr, ptr %t402 + %t404 = call ptr @lp_str_concat(ptr %t400, ptr %t403) + %t405 = call ptr @fn_emit_bind(ptr %t404) + store ptr %t405, ptr %t406 + %t407 = load ptr, ptr %t395 + %t408 = load ptr, ptr %t406 + %t409 = call ptr @fn_coll_sq_sum(ptr %t407, ptr %t408) + store ptr %t409, ptr %t410 + %t411 = load ptr, ptr %t357 + %t412 = getelementptr inbounds %Cmp_Val, ptr %t411, i32 0, i32 0 + %t413 = load ptr, ptr %t412 + %t414 = call ptr @lp_str_concat(ptr @.str5461, ptr %t413) + %t415 = call ptr @lp_str_concat(ptr %t414, ptr @.str5462) + %t416 = load ptr, ptr %t384 + %t417 = getelementptr inbounds %Cmp_Val, ptr %t416, i32 0, i32 0 + %t418 = load ptr, ptr %t417 + %t419 = call ptr @lp_str_concat(ptr %t415, ptr %t418) + %t420 = call ptr @fn_emit_bind(ptr %t419) + store ptr %t420, ptr %t421 + %t422 = load ptr, ptr %t421 + %t423 = call ptr @lp_str_concat(ptr @.str5463, ptr %t422) + %t424 = call ptr @lp_str_concat(ptr %t423, ptr @.str5464) + %t425 = call ptr @fn_emit_bind(ptr %t424) + store ptr %t425, ptr %t426 + %t427 = load ptr, ptr %t426 + %t428 = call ptr @lp_str_concat(ptr @.str5465, ptr %t427) + %t429 = call ptr @lp_str_concat(ptr %t428, ptr @.str5466) + %t430 = load ptr, ptr %t426 + %t431 = call ptr @lp_str_concat(ptr %t429, ptr %t430) + %t432 = call ptr @fn_emit_bind(ptr %t431) + store ptr %t432, ptr %t433 + %t434 = load ptr, ptr %t410 + %t435 = call ptr @lp_str_concat(ptr @.str5467, ptr %t434) + %t436 = call ptr @lp_str_concat(ptr %t435, ptr @.str5468) + %t437 = load ptr, ptr %t433 + %t438 = call ptr @lp_str_concat(ptr %t436, ptr %t437) + %t439 = call ptr @fn_emit_bind(ptr %t438) + store ptr %t439, ptr %t440 + %t441 = load ptr, ptr %t440 + %t442 = call ptr @lp_str_concat(ptr @.str5469, ptr %t441) + %t443 = call ptr @lp_str_concat(ptr %t442, ptr @.str5470) + %t444 = call ptr @fn_emit_bind(ptr %t443) + %t445 = call ptr @fn_val(ptr %t444, ptr @.str5471) + store ptr %t445, ptr %retval + br label %ret +ifend8: + %t446 = load ptr, ptr %t1 + %t447 = getelementptr inbounds %Cmp_Node, ptr %t446, i32 0, i32 7 + %t448 = load ptr, ptr %t447 + %t449 = getelementptr inbounds %LSlice, ptr %t448, i32 0, i32 0 + %t450 = load ptr, ptr %t449 + %t451 = getelementptr inbounds ptr, ptr %t450, i32 0 + %t452 = load ptr, ptr %t451 + %t453 = call ptr @fn_emit_expr(ptr %t452) + store ptr %t453, ptr %t454 + %t455 = load ptr, ptr %t1 + %t456 = getelementptr inbounds %Cmp_Node, ptr %t455, i32 0, i32 7 + %t457 = load ptr, ptr %t456 + %t458 = getelementptr inbounds %LSlice, ptr %t457, i32 0, i32 0 + %t459 = load ptr, ptr %t458 + %t460 = getelementptr inbounds ptr, ptr %t459, i32 1 + %t461 = load ptr, ptr %t460 + %t462 = call ptr @fn_emit_expr(ptr %t461) + store ptr %t462, ptr %t463 + %t464 = load ptr, ptr %t1 + %t465 = getelementptr inbounds %Cmp_Node, ptr %t464, i32 0, i32 7 + %t466 = load ptr, ptr %t465 + %t467 = getelementptr inbounds %LSlice, ptr %t466, i32 0, i32 0 + %t468 = load ptr, ptr %t467 + %t469 = getelementptr inbounds ptr, ptr %t468, i32 2 + %t470 = load ptr, ptr %t469 + %t471 = call ptr @fn_emit_expr(ptr %t470) + store ptr %t471, ptr %t472 + %t473 = load ptr, ptr %t1 + %t474 = getelementptr inbounds %Cmp_Node, ptr %t473, i32 0, i32 7 + %t475 = load ptr, ptr %t474 + %t476 = getelementptr inbounds %LSlice, ptr %t475, i32 0, i32 0 + %t477 = load ptr, ptr %t476 + %t478 = getelementptr inbounds ptr, ptr %t477, i32 3 + %t479 = load ptr, ptr %t478 + %t480 = call ptr @fn_emit_expr(ptr %t479) + store ptr %t480, ptr %t481 + %t482 = load ptr, ptr %t1 + %t483 = getelementptr inbounds %Cmp_Node, ptr %t482, i32 0, i32 7 + %t484 = load ptr, ptr %t483 + %t485 = getelementptr inbounds %LSlice, ptr %t484, i32 0, i32 0 + %t486 = load ptr, ptr %t485 + %t487 = getelementptr inbounds ptr, ptr %t486, i32 4 + %t488 = load ptr, ptr %t487 + %t489 = call ptr @fn_emit_expr(ptr %t488) + store ptr %t489, ptr %t490 + %t491 = load ptr, ptr %t1 + %t492 = getelementptr inbounds %Cmp_Node, ptr %t491, i32 0, i32 7 + %t493 = load ptr, ptr %t492 + %t494 = getelementptr inbounds %LSlice, ptr %t493, i32 0, i32 0 + %t495 = load ptr, ptr %t494 + %t496 = getelementptr inbounds ptr, ptr %t495, i32 5 + %t497 = load ptr, ptr %t496 + %t498 = call ptr @fn_emit_expr(ptr %t497) + store ptr %t498, ptr %t499 + %t500 = load ptr, ptr %t1 + %t501 = getelementptr inbounds %Cmp_Node, ptr %t500, i32 0, i32 7 + %t502 = load ptr, ptr %t501 + %t503 = getelementptr inbounds %LSlice, ptr %t502, i32 0, i32 0 + %t504 = load ptr, ptr %t503 + %t505 = getelementptr inbounds ptr, ptr %t504, i32 6 + %t506 = load ptr, ptr %t505 + %t507 = call ptr @fn_emit_expr(ptr %t506) + store ptr %t507, ptr %t508 + %t509 = load ptr, ptr %t454 + %t510 = getelementptr inbounds %Cmp_Val, ptr %t509, i32 0, i32 0 + %t511 = load ptr, ptr %t510 + %t512 = call ptr @lp_str_concat(ptr @.str5472, ptr %t511) + %t513 = call ptr @lp_str_concat(ptr %t512, ptr @.str5473) + %t514 = load ptr, ptr %t472 + %t515 = getelementptr inbounds %Cmp_Val, ptr %t514, i32 0, i32 0 + %t516 = load ptr, ptr %t515 + %t517 = call ptr @lp_str_concat(ptr %t513, ptr %t516) + %t518 = call ptr @fn_emit_bind(ptr %t517) + store ptr %t518, ptr %t519 + %t520 = load ptr, ptr %t463 + %t521 = getelementptr inbounds %Cmp_Val, ptr %t520, i32 0, i32 0 + %t522 = load ptr, ptr %t521 + %t523 = call ptr @lp_str_concat(ptr @.str5474, ptr %t522) + %t524 = call ptr @lp_str_concat(ptr %t523, ptr @.str5475) + %t525 = load ptr, ptr %t481 + %t526 = getelementptr inbounds %Cmp_Val, ptr %t525, i32 0, i32 0 + %t527 = load ptr, ptr %t526 + %t528 = call ptr @lp_str_concat(ptr %t524, ptr %t527) + %t529 = call ptr @fn_emit_bind(ptr %t528) + store ptr %t529, ptr %t530 + %t531 = load ptr, ptr %t490 + %t532 = getelementptr inbounds %Cmp_Val, ptr %t531, i32 0, i32 0 + %t533 = load ptr, ptr %t532 + %t534 = load ptr, ptr %t454 + %t535 = getelementptr inbounds %Cmp_Val, ptr %t534, i32 0, i32 0 + %t536 = load ptr, ptr %t535 + %t537 = load ptr, ptr %t519 + %t538 = call ptr @fn_coll_clamp(ptr %t533, ptr %t536, ptr %t537) + store ptr %t538, ptr %t539 + %t540 = load ptr, ptr %t499 + %t541 = getelementptr inbounds %Cmp_Val, ptr %t540, i32 0, i32 0 + %t542 = load ptr, ptr %t541 + %t543 = load ptr, ptr %t463 + %t544 = getelementptr inbounds %Cmp_Val, ptr %t543, i32 0, i32 0 + %t545 = load ptr, ptr %t544 + %t546 = load ptr, ptr %t530 + %t547 = call ptr @fn_coll_clamp(ptr %t542, ptr %t545, ptr %t546) + store ptr %t547, ptr %t548 + %t549 = load ptr, ptr %t490 + %t550 = getelementptr inbounds %Cmp_Val, ptr %t549, i32 0, i32 0 + %t551 = load ptr, ptr %t550 + %t552 = call ptr @lp_str_concat(ptr @.str5476, ptr %t551) + %t553 = call ptr @lp_str_concat(ptr %t552, ptr @.str5477) + %t554 = load ptr, ptr %t539 + %t555 = call ptr @lp_str_concat(ptr %t553, ptr %t554) + %t556 = call ptr @fn_emit_bind(ptr %t555) + store ptr %t556, ptr %t557 + %t558 = load ptr, ptr %t499 + %t559 = getelementptr inbounds %Cmp_Val, ptr %t558, i32 0, i32 0 + %t560 = load ptr, ptr %t559 + %t561 = call ptr @lp_str_concat(ptr @.str5478, ptr %t560) + %t562 = call ptr @lp_str_concat(ptr %t561, ptr @.str5479) + %t563 = load ptr, ptr %t548 + %t564 = call ptr @lp_str_concat(ptr %t562, ptr %t563) + %t565 = call ptr @fn_emit_bind(ptr %t564) + store ptr %t565, ptr %t566 + %t567 = load ptr, ptr %t557 + %t568 = load ptr, ptr %t566 + %t569 = call ptr @fn_coll_sq_sum(ptr %t567, ptr %t568) + store ptr %t569, ptr %t570 + %t571 = load ptr, ptr %t508 + %t572 = getelementptr inbounds %Cmp_Val, ptr %t571, i32 0, i32 0 + %t573 = load ptr, ptr %t572 + %t574 = call ptr @lp_str_concat(ptr @.str5480, ptr %t573) + %t575 = call ptr @lp_str_concat(ptr %t574, ptr @.str5481) + %t576 = call ptr @fn_emit_bind(ptr %t575) + store ptr %t576, ptr %t577 + %t578 = load ptr, ptr %t577 + %t579 = call ptr @lp_str_concat(ptr @.str5482, ptr %t578) + %t580 = call ptr @lp_str_concat(ptr %t579, ptr @.str5483) + %t581 = load ptr, ptr %t577 + %t582 = call ptr @lp_str_concat(ptr %t580, ptr %t581) + %t583 = call ptr @fn_emit_bind(ptr %t582) + store ptr %t583, ptr %t584 + %t585 = load ptr, ptr %t570 + %t586 = call ptr @lp_str_concat(ptr @.str5484, ptr %t585) + %t587 = call ptr @lp_str_concat(ptr %t586, ptr @.str5485) + %t588 = load ptr, ptr %t584 + %t589 = call ptr @lp_str_concat(ptr %t587, ptr %t588) + %t590 = call ptr @fn_emit_bind(ptr %t589) + store ptr %t590, ptr %t591 + %t592 = load ptr, ptr %t591 + %t593 = call ptr @lp_str_concat(ptr @.str5486, ptr %t592) + %t594 = call ptr @lp_str_concat(ptr %t593, ptr @.str5487) + %t595 = call ptr @fn_emit_bind(ptr %t594) + %t596 = call ptr @fn_val(ptr %t595, ptr @.str5488) + store ptr %t596, ptr %retval + br label %ret +ret: + %t597 = load ptr, ptr %retval + ret ptr %t597 +} + +define i32 @fn_is_mem_ns(ptr %arg_meth) { +entry: + %retval = alloca i32 + %t0 = alloca ptr + %t1 = alloca i32 + %t12 = alloca i32 + %t13 = alloca i32 + %t14 = alloca i32 + store ptr %arg_meth, ptr %t0 + %t2 = load ptr, ptr %t0 + %t3 = call i32 @lp_str_eq(ptr %t2, ptr @.str5489) + %t4 = icmp ne i32 %t3, 0 + %t5 = zext i1 %t4 to i32 + store i32 %t5, ptr %t1 + br i1 %t4, label %scend1, label %sc0 +sc0: + %t6 = load ptr, ptr %t0 + %t7 = call i32 @lp_str_eq(ptr %t6, ptr @.str5490) + %t8 = icmp ne i32 %t7, 0 + %t9 = zext i1 %t8 to i32 + store i32 %t9, ptr %t1 + br label %scend1 +scend1: + %t10 = load i32, ptr %t1 + %t11 = icmp ne i32 %t10, 0 + br i1 %t11, label %then2, label %ifend4 +then2: + store i32 1, ptr %retval + br label %ret +ifend4: + %t15 = load ptr, ptr %t0 + %t16 = call i32 @lp_str_eq(ptr %t15, ptr @.str5491) + %t17 = icmp ne i32 %t16, 0 + %t18 = zext i1 %t17 to i32 + store i32 %t18, ptr %t14 + br i1 %t17, label %scend6, label %sc5 +sc5: + %t19 = load ptr, ptr %t0 + %t20 = call i32 @lp_str_eq(ptr %t19, ptr @.str5492) + %t21 = icmp ne i32 %t20, 0 + %t22 = zext i1 %t21 to i32 + store i32 %t22, ptr %t14 + br label %scend6 +scend6: + %t23 = load i32, ptr %t14 + %t24 = icmp ne i32 %t23, 0 + %t25 = zext i1 %t24 to i32 + store i32 %t25, ptr %t13 + br i1 %t24, label %scend8, label %sc7 +sc7: + %t26 = load ptr, ptr %t0 + %t27 = call i32 @lp_str_eq(ptr %t26, ptr @.str5493) + %t28 = icmp ne i32 %t27, 0 + %t29 = zext i1 %t28 to i32 + store i32 %t29, ptr %t13 + br label %scend8 +scend8: + %t30 = load i32, ptr %t13 + %t31 = icmp ne i32 %t30, 0 + %t32 = zext i1 %t31 to i32 + store i32 %t32, ptr %t12 + br i1 %t31, label %scend10, label %sc9 +sc9: + %t33 = load ptr, ptr %t0 + %t34 = call i32 @lp_str_eq(ptr %t33, ptr @.str5494) + %t35 = icmp ne i32 %t34, 0 + %t36 = zext i1 %t35 to i32 + store i32 %t36, ptr %t12 + br label %scend10 +scend10: + %t37 = load i32, ptr %t12 + %t38 = icmp ne i32 %t37, 0 + br i1 %t38, label %then11, label %ifend13 +then11: + store i32 1, ptr %retval + br label %ret +ifend13: + store i32 0, ptr %retval + br label %ret +ret: + %t39 = load i32, ptr %retval + ret i32 %t39 +} + +define ptr @fn_emit_mem_ns(ptr %arg_meth, ptr %arg_e) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t1 = alloca ptr + %t13 = alloca ptr + %t20 = alloca ptr + %t37 = alloca ptr + %t44 = alloca ptr + %t49 = alloca ptr + %t66 = alloca ptr + %t75 = alloca ptr + %t84 = alloca ptr + %t91 = alloca ptr + %t111 = alloca ptr + %t120 = alloca ptr + %t129 = alloca ptr + %t136 = alloca ptr + %t156 = alloca ptr + %t165 = alloca ptr + %t176 = alloca ptr + %t180 = alloca ptr + %t194 = alloca ptr + %t203 = alloca ptr + %t212 = alloca ptr + %t223 = alloca ptr + %t230 = alloca ptr + store ptr %arg_meth, ptr %t0 + store ptr %arg_e, ptr %t1 + %t2 = load ptr, ptr %t0 + %t3 = call i32 @lp_str_eq(ptr %t2, ptr @.str5495) + %t4 = icmp ne i32 %t3, 0 + br i1 %t4, label %then0, label %ifend2 +then0: + %t5 = load ptr, ptr %t1 + %t6 = getelementptr inbounds %Cmp_Node, ptr %t5, i32 0, i32 7 + %t7 = load ptr, ptr %t6 + %t8 = getelementptr inbounds %LSlice, ptr %t7, i32 0, i32 0 + %t9 = load ptr, ptr %t8 + %t10 = getelementptr inbounds ptr, ptr %t9, i32 0 + %t11 = load ptr, ptr %t10 + %t12 = call ptr @fn_emit_expr(ptr %t11) + store ptr %t12, ptr %t13 + %t14 = load ptr, ptr %t13 + %t15 = getelementptr inbounds %Cmp_Val, ptr %t14, i32 0, i32 0 + %t16 = load ptr, ptr %t15 + %t17 = call ptr @lp_str_concat(ptr @.str5496, ptr %t16) + %t18 = call ptr @lp_str_concat(ptr %t17, ptr @.str5497) + %t19 = call ptr @fn_emit_bind(ptr %t18) + store ptr %t19, ptr %t20 + %t21 = load ptr, ptr %t20 + %t22 = call ptr @lp_str_concat(ptr @.str5498, ptr %t21) + %t23 = call ptr @lp_str_concat(ptr %t22, ptr @.str5499) + %t24 = call ptr @fn_emit_bind(ptr %t23) + %t25 = call ptr @fn_val(ptr %t24, ptr @.str5500) + store ptr %t25, ptr %retval + br label %ret +ifend2: + %t26 = load ptr, ptr %t0 + %t27 = call i32 @lp_str_eq(ptr %t26, ptr @.str5501) + %t28 = icmp ne i32 %t27, 0 + br i1 %t28, label %then3, label %ifend5 +then3: + %t29 = load ptr, ptr %t1 + %t30 = getelementptr inbounds %Cmp_Node, ptr %t29, i32 0, i32 7 + %t31 = load ptr, ptr %t30 + %t32 = getelementptr inbounds %LSlice, ptr %t31, i32 0, i32 0 + %t33 = load ptr, ptr %t32 + %t34 = getelementptr inbounds ptr, ptr %t33, i32 0 + %t35 = load ptr, ptr %t34 + %t36 = call ptr @fn_emit_expr(ptr %t35) + store ptr %t36, ptr %t37 + %t38 = load ptr, ptr %t37 + %t39 = getelementptr inbounds %Cmp_Val, ptr %t38, i32 0, i32 0 + %t40 = load ptr, ptr %t39 + %t41 = call ptr @lp_str_concat(ptr @.str5502, ptr %t40) + %t42 = call ptr @lp_str_concat(ptr %t41, ptr @.str5503) + %t43 = call ptr @fn_emit_bind(ptr %t42) + store ptr %t43, ptr %t44 + %t45 = load ptr, ptr %t44 + %t46 = call ptr @lp_str_concat(ptr @.str5504, ptr %t45) + %t47 = call ptr @lp_str_concat(ptr %t46, ptr @.str5505) + %t48 = call ptr @fn_emit_bind(ptr %t47) + store ptr %t48, ptr %t49 + %t50 = load ptr, ptr %t49 + %t51 = call ptr @lp_str_concat(ptr @.str5506, ptr %t50) + %t52 = call ptr @lp_str_concat(ptr %t51, ptr @.str5507) + %t53 = call ptr @fn_emit_bind(ptr %t52) + %t54 = call ptr @fn_val(ptr %t53, ptr @.str5508) + store ptr %t54, ptr %retval + br label %ret +ifend5: + %t55 = load ptr, ptr %t0 + %t56 = call i32 @lp_str_eq(ptr %t55, ptr @.str5509) + %t57 = icmp ne i32 %t56, 0 + br i1 %t57, label %then6, label %ifend8 +then6: + %t58 = load ptr, ptr %t1 + %t59 = getelementptr inbounds %Cmp_Node, ptr %t58, i32 0, i32 7 + %t60 = load ptr, ptr %t59 + %t61 = getelementptr inbounds %LSlice, ptr %t60, i32 0, i32 0 + %t62 = load ptr, ptr %t61 + %t63 = getelementptr inbounds ptr, ptr %t62, i32 0 + %t64 = load ptr, ptr %t63 + %t65 = call ptr @fn_emit_expr(ptr %t64) + store ptr %t65, ptr %t66 + %t67 = load ptr, ptr %t1 + %t68 = getelementptr inbounds %Cmp_Node, ptr %t67, i32 0, i32 7 + %t69 = load ptr, ptr %t68 + %t70 = getelementptr inbounds %LSlice, ptr %t69, i32 0, i32 0 + %t71 = load ptr, ptr %t70 + %t72 = getelementptr inbounds ptr, ptr %t71, i32 1 + %t73 = load ptr, ptr %t72 + %t74 = call ptr @fn_emit_expr(ptr %t73) + store ptr %t74, ptr %t75 + %t76 = load ptr, ptr %t1 + %t77 = getelementptr inbounds %Cmp_Node, ptr %t76, i32 0, i32 7 + %t78 = load ptr, ptr %t77 + %t79 = getelementptr inbounds %LSlice, ptr %t78, i32 0, i32 0 + %t80 = load ptr, ptr %t79 + %t81 = getelementptr inbounds ptr, ptr %t80, i32 2 + %t82 = load ptr, ptr %t81 + %t83 = call ptr @fn_emit_expr(ptr %t82) + store ptr %t83, ptr %t84 + %t85 = load ptr, ptr %t84 + %t86 = getelementptr inbounds %Cmp_Val, ptr %t85, i32 0, i32 0 + %t87 = load ptr, ptr %t86 + %t88 = call ptr @lp_str_concat(ptr @.str5510, ptr %t87) + %t89 = call ptr @lp_str_concat(ptr %t88, ptr @.str5511) + %t90 = call ptr @fn_emit_bind(ptr %t89) + store ptr %t90, ptr %t91 + call void @fn_emit(ptr @.str5512) + %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 @.str5513) + %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 @.str5514) + %t98 = load ptr, ptr %t91 + call void @fn_emit(ptr %t98) + call void @fn_emit(ptr @.str5515) + %t99 = call ptr @fn_val(ptr @.str5516, ptr @.str5517) + store ptr %t99, ptr %retval + br label %ret +ifend8: + %t100 = load ptr, ptr %t0 + %t101 = call i32 @lp_str_eq(ptr %t100, ptr @.str5518) + %t102 = icmp ne i32 %t101, 0 + br i1 %t102, label %then9, label %ifend11 +then9: + %t103 = load ptr, ptr %t1 + %t104 = getelementptr inbounds %Cmp_Node, ptr %t103, i32 0, i32 7 + %t105 = load ptr, ptr %t104 + %t106 = getelementptr inbounds %LSlice, ptr %t105, i32 0, i32 0 + %t107 = load ptr, ptr %t106 + %t108 = getelementptr inbounds ptr, ptr %t107, i32 0 + %t109 = load ptr, ptr %t108 + %t110 = call ptr @fn_emit_expr(ptr %t109) + store ptr %t110, ptr %t111 + %t112 = load ptr, ptr %t1 + %t113 = getelementptr inbounds %Cmp_Node, ptr %t112, i32 0, i32 7 + %t114 = load ptr, ptr %t113 + %t115 = getelementptr inbounds %LSlice, ptr %t114, i32 0, i32 0 + %t116 = load ptr, ptr %t115 + %t117 = getelementptr inbounds ptr, ptr %t116, i32 1 + %t118 = load ptr, ptr %t117 + %t119 = call ptr @fn_emit_expr(ptr %t118) + store ptr %t119, ptr %t120 + %t121 = load ptr, ptr %t1 + %t122 = getelementptr inbounds %Cmp_Node, ptr %t121, i32 0, i32 7 + %t123 = load ptr, ptr %t122 + %t124 = getelementptr inbounds %LSlice, ptr %t123, i32 0, i32 0 + %t125 = load ptr, ptr %t124 + %t126 = getelementptr inbounds ptr, ptr %t125, i32 2 + %t127 = load ptr, ptr %t126 + %t128 = call ptr @fn_emit_expr(ptr %t127) + store ptr %t128, ptr %t129 + %t130 = load ptr, ptr %t129 + %t131 = getelementptr inbounds %Cmp_Val, ptr %t130, i32 0, i32 0 + %t132 = load ptr, ptr %t131 + %t133 = call ptr @lp_str_concat(ptr @.str5519, ptr %t132) + %t134 = call ptr @lp_str_concat(ptr %t133, ptr @.str5520) + %t135 = call ptr @fn_emit_bind(ptr %t134) + store ptr %t135, ptr %t136 + call void @fn_emit(ptr @.str5521) + %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 @.str5522) + %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 @.str5523) + %t143 = load ptr, ptr %t136 + call void @fn_emit(ptr %t143) + call void @fn_emit(ptr @.str5524) + %t144 = call ptr @fn_val(ptr @.str5525, ptr @.str5526) + store ptr %t144, ptr %retval + br label %ret +ifend11: + %t145 = load ptr, ptr %t0 + %t146 = call i32 @lp_str_eq(ptr %t145, ptr @.str5527) + %t147 = icmp ne i32 %t146, 0 + br i1 %t147, label %then12, label %ifend14 +then12: + %t148 = load ptr, ptr %t1 + %t149 = getelementptr inbounds %Cmp_Node, ptr %t148, i32 0, i32 7 + %t150 = load ptr, ptr %t149 + %t151 = getelementptr inbounds %LSlice, ptr %t150, i32 0, i32 0 + %t152 = load ptr, ptr %t151 + %t153 = getelementptr inbounds ptr, ptr %t152, i32 0 + %t154 = load ptr, ptr %t153 + %t155 = call ptr @fn_emit_expr(ptr %t154) + store ptr %t155, ptr %t156 + %t157 = load ptr, ptr %t1 + %t158 = getelementptr inbounds %Cmp_Node, ptr %t157, i32 0, i32 7 + %t159 = load ptr, ptr %t158 + %t160 = getelementptr inbounds %LSlice, ptr %t159, i32 0, i32 0 + %t161 = load ptr, ptr %t160 + %t162 = getelementptr inbounds ptr, ptr %t161, i32 1 + %t163 = load ptr, ptr %t162 + %t164 = call ptr @fn_emit_expr(ptr %t163) + store ptr %t164, ptr %t165 + %t166 = load ptr, ptr %t156 + %t167 = getelementptr inbounds %Cmp_Val, ptr %t166, i32 0, i32 0 + %t168 = load ptr, ptr %t167 + %t169 = call ptr @lp_str_concat(ptr @.str5528, ptr %t168) + %t170 = call ptr @lp_str_concat(ptr %t169, ptr @.str5529) + %t171 = load ptr, ptr %t165 + %t172 = getelementptr inbounds %Cmp_Val, ptr %t171, i32 0, i32 0 + %t173 = load ptr, ptr %t172 + %t174 = call ptr @lp_str_concat(ptr %t170, ptr %t173) + %t175 = call ptr @fn_emit_bind(ptr %t174) + store ptr %t175, ptr %t176 + %t177 = load ptr, ptr %t176 + %t178 = call ptr @lp_str_concat(ptr @.str5530, ptr %t177) + %t179 = call ptr @fn_emit_bind(ptr %t178) + store ptr %t179, ptr %t180 + %t181 = load ptr, ptr %t180 + %t182 = call ptr @lp_str_concat(ptr @.str5531, ptr %t181) + %t183 = call ptr @lp_str_concat(ptr %t182, ptr @.str5532) + %t184 = call ptr @fn_emit_bind(ptr %t183) + %t185 = call ptr @fn_val(ptr %t184, ptr @.str5533) + store ptr %t185, ptr %retval + br label %ret +ifend14: + %t186 = load ptr, ptr %t1 + %t187 = getelementptr inbounds %Cmp_Node, ptr %t186, i32 0, i32 7 + %t188 = load ptr, ptr %t187 + %t189 = getelementptr inbounds %LSlice, ptr %t188, i32 0, i32 0 + %t190 = load ptr, ptr %t189 + %t191 = getelementptr inbounds ptr, ptr %t190, i32 0 + %t192 = load ptr, ptr %t191 + %t193 = call ptr @fn_emit_expr(ptr %t192) + store ptr %t193, ptr %t194 + %t195 = load ptr, ptr %t1 + %t196 = getelementptr inbounds %Cmp_Node, ptr %t195, i32 0, i32 7 + %t197 = load ptr, ptr %t196 + %t198 = getelementptr inbounds %LSlice, ptr %t197, i32 0, i32 0 + %t199 = load ptr, ptr %t198 + %t200 = getelementptr inbounds ptr, ptr %t199, i32 1 + %t201 = load ptr, ptr %t200 + %t202 = call ptr @fn_emit_expr(ptr %t201) + store ptr %t202, ptr %t203 + %t204 = load ptr, ptr %t1 + %t205 = getelementptr inbounds %Cmp_Node, ptr %t204, i32 0, i32 7 + %t206 = load ptr, ptr %t205 + %t207 = getelementptr inbounds %LSlice, ptr %t206, i32 0, i32 0 + %t208 = load ptr, ptr %t207 + %t209 = getelementptr inbounds ptr, ptr %t208, i32 2 + %t210 = load ptr, ptr %t209 + %t211 = call ptr @fn_emit_expr(ptr %t210) + store ptr %t211, ptr %t212 + %t213 = load ptr, ptr %t194 + %t214 = getelementptr inbounds %Cmp_Val, ptr %t213, i32 0, i32 0 + %t215 = load ptr, ptr %t214 + %t216 = call ptr @lp_str_concat(ptr @.str5534, ptr %t215) + %t217 = call ptr @lp_str_concat(ptr %t216, ptr @.str5535) + %t218 = load ptr, ptr %t203 + %t219 = getelementptr inbounds %Cmp_Val, ptr %t218, i32 0, i32 0 + %t220 = load ptr, ptr %t219 + %t221 = call ptr @lp_str_concat(ptr %t217, ptr %t220) + %t222 = call ptr @fn_emit_bind(ptr %t221) + store ptr %t222, ptr %t223 + %t224 = load ptr, ptr %t212 + %t225 = getelementptr inbounds %Cmp_Val, ptr %t224, i32 0, i32 0 + %t226 = load ptr, ptr %t225 + %t227 = call ptr @lp_str_concat(ptr @.str5536, ptr %t226) + %t228 = call ptr @lp_str_concat(ptr %t227, ptr @.str5537) + %t229 = call ptr @fn_emit_bind(ptr %t228) + store ptr %t229, ptr %t230 + call void @fn_emit(ptr @.str5538) + %t231 = load ptr, ptr %t230 + call void @fn_emit(ptr %t231) + call void @fn_emit(ptr @.str5539) + %t232 = load ptr, ptr %t223 + call void @fn_emit(ptr %t232) + call void @fn_emit(ptr @.str5540) + %t233 = call ptr @fn_val(ptr @.str5541, ptr @.str5542) + store ptr %t233, ptr %retval + br label %ret +ret: + %t234 = load ptr, ptr %retval + ret ptr %t234 +} + +define i32 @fn_is_time_ns(ptr %arg_meth) { +entry: + %retval = alloca i32 + %t0 = alloca ptr + %t1 = alloca i32 + %t2 = alloca i32 + %t3 = alloca i32 + store ptr %arg_meth, ptr %t0 + %t4 = load ptr, ptr %t0 + %t5 = call i32 @lp_str_eq(ptr %t4, ptr @.str5543) + %t6 = icmp ne i32 %t5, 0 + %t7 = zext i1 %t6 to i32 + store i32 %t7, ptr %t3 + br i1 %t6, label %scend1, label %sc0 +sc0: + %t8 = load ptr, ptr %t0 + %t9 = call i32 @lp_str_eq(ptr %t8, ptr @.str5544) + %t10 = icmp ne i32 %t9, 0 + %t11 = zext i1 %t10 to i32 + store i32 %t11, ptr %t3 + br label %scend1 +scend1: + %t12 = load i32, ptr %t3 + %t13 = icmp ne i32 %t12, 0 + %t14 = zext i1 %t13 to i32 + store i32 %t14, ptr %t2 + br i1 %t13, label %scend3, label %sc2 +sc2: + %t15 = load ptr, ptr %t0 + %t16 = call i32 @lp_str_eq(ptr %t15, ptr @.str5545) + %t17 = icmp ne i32 %t16, 0 + %t18 = zext i1 %t17 to i32 + store i32 %t18, ptr %t2 + br label %scend3 +scend3: + %t19 = load i32, ptr %t2 + %t20 = icmp ne i32 %t19, 0 + %t21 = zext i1 %t20 to i32 + store i32 %t21, ptr %t1 + br i1 %t20, label %scend5, label %sc4 +sc4: + %t22 = load ptr, ptr %t0 + %t23 = call i32 @lp_str_eq(ptr %t22, ptr @.str5546) + %t24 = icmp ne i32 %t23, 0 + %t25 = zext i1 %t24 to i32 + store i32 %t25, ptr %t1 + br label %scend5 +scend5: + %t26 = load i32, ptr %t1 + %t27 = icmp ne i32 %t26, 0 + br i1 %t27, label %then6, label %ifend8 +then6: + store i32 1, ptr %retval + br label %ret +ifend8: + %t28 = load ptr, ptr %t0 + %t29 = call i32 @lp_str_eq(ptr %t28, ptr @.str5547) + %t30 = icmp ne i32 %t29, 0 + br i1 %t30, label %then9, label %ifend11 +then9: + store i32 1, ptr %retval + br label %ret +ifend11: + store i32 0, ptr %retval + br label %ret +ret: + %t31 = load i32, ptr %retval + ret i32 %t31 +} + +define ptr @fn_emit_time_ns(ptr %arg_meth, ptr %arg_e) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t1 = alloca ptr + %t15 = alloca ptr + %t32 = alloca ptr + %t34 = alloca ptr + %t39 = alloca ptr + %t50 = alloca ptr + store ptr %arg_meth, ptr %t0 + store ptr %arg_e, ptr %t1 + %t2 = load ptr, ptr %t0 + %t3 = call i32 @lp_str_eq(ptr %t2, ptr @.str5548) + %t4 = icmp ne i32 %t3, 0 + br i1 %t4, label %then0, label %ifend2 +then0: + %t5 = call ptr @fn_emit_bind(ptr @.str5549) + %t6 = call ptr @fn_val(ptr %t5, ptr @.str5550) + store ptr %t6, ptr %retval + br label %ret +ifend2: + %t7 = load ptr, ptr %t0 + %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str5551) + %t9 = icmp ne i32 %t8, 0 + br i1 %t9, label %then3, label %ifend5 +then3: + %t10 = call ptr @fn_val(ptr @.str5552, ptr @.str5553) + store ptr %t10, ptr %retval + br label %ret +ifend5: + %t11 = load ptr, ptr %t0 + %t12 = call i32 @lp_str_eq(ptr %t11, ptr @.str5554) + %t13 = icmp ne i32 %t12, 0 + br i1 %t13, label %then6, label %ifend8 +then6: + %t14 = call ptr @fn_emit_bind(ptr @.str5555) + store ptr %t14, ptr %t15 + %t16 = load ptr, ptr %t15 + %t17 = call ptr @lp_str_concat(ptr @.str5556, ptr %t16) + %t18 = call ptr @lp_str_concat(ptr %t17, ptr @.str5557) + %t19 = call ptr @fn_emit_bind(ptr %t18) + %t20 = call ptr @fn_val(ptr %t19, ptr @.str5558) + store ptr %t20, ptr %retval + br label %ret +ifend8: + %t21 = load ptr, ptr %t0 + %t22 = call i32 @lp_str_eq(ptr %t21, ptr @.str5559) + %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 @.str5560) + store ptr %t33, ptr %t34 + %t35 = load ptr, ptr %t34 + %t36 = call ptr @lp_str_concat(ptr @.str5561, ptr %t35) + %t37 = call ptr @lp_str_concat(ptr %t36, ptr @.str5562) + %t38 = call ptr @fn_emit_bind(ptr %t37) + store ptr %t38, ptr %t39 + %t40 = load ptr, ptr %t39 + %t41 = call ptr @lp_str_concat(ptr @.str5563, ptr %t40) + %t42 = call ptr @lp_str_concat(ptr %t41, ptr @.str5564) + %t43 = load ptr, ptr %t32 + %t44 = getelementptr inbounds %Cmp_Val, ptr %t43, i32 0, i32 0 + %t45 = load ptr, ptr %t44 + %t46 = call ptr @lp_str_concat(ptr %t42, ptr %t45) + %t47 = call ptr @fn_emit_bind(ptr %t46) + %t48 = call ptr @fn_val(ptr %t47, ptr @.str5565) + store ptr %t48, ptr %retval + br label %ret +ifend11: + %t49 = call ptr @fn_emit_bind(ptr @.str5566) + store ptr %t49, ptr %t50 + %t51 = load ptr, ptr %t50 + %t52 = call ptr @lp_str_concat(ptr @.str5567, ptr %t51) + %t53 = call ptr @lp_str_concat(ptr %t52, ptr @.str5568) + %t54 = call ptr @fn_emit_bind(ptr %t53) + %t55 = call ptr @fn_val(ptr %t54, ptr @.str5569) + store ptr %t55, ptr %retval + br label %ret +ret: + %t56 = load ptr, ptr %retval + ret ptr %t56 +} + +define i32 @fn_is_duration_ns(ptr %arg_meth) { +entry: + %retval = alloca i32 + %t0 = alloca ptr + %t1 = alloca i32 + %t2 = alloca i32 + %t3 = alloca i32 + %t28 = alloca i32 + %t29 = alloca i32 + %t30 = alloca i32 + store ptr %arg_meth, ptr %t0 + %t4 = load ptr, ptr %t0 + %t5 = call i32 @lp_str_eq(ptr %t4, ptr @.str5570) + %t6 = icmp ne i32 %t5, 0 + %t7 = zext i1 %t6 to i32 + store i32 %t7, ptr %t3 + br i1 %t6, label %scend1, label %sc0 +sc0: + %t8 = load ptr, ptr %t0 + %t9 = call i32 @lp_str_eq(ptr %t8, ptr @.str5571) + %t10 = icmp ne i32 %t9, 0 + %t11 = zext i1 %t10 to i32 + store i32 %t11, ptr %t3 + br label %scend1 +scend1: + %t12 = load i32, ptr %t3 + %t13 = icmp ne i32 %t12, 0 + %t14 = zext i1 %t13 to i32 + store i32 %t14, ptr %t2 + br i1 %t13, label %scend3, label %sc2 +sc2: + %t15 = load ptr, ptr %t0 + %t16 = call i32 @lp_str_eq(ptr %t15, ptr @.str5572) + %t17 = icmp ne i32 %t16, 0 + %t18 = zext i1 %t17 to i32 + store i32 %t18, ptr %t2 + br label %scend3 +scend3: + %t19 = load i32, ptr %t2 + %t20 = icmp ne i32 %t19, 0 + %t21 = zext i1 %t20 to i32 + store i32 %t21, ptr %t1 + br i1 %t20, label %scend5, label %sc4 +sc4: + %t22 = load ptr, ptr %t0 + %t23 = call i32 @lp_str_eq(ptr %t22, ptr @.str5573) + %t24 = icmp ne i32 %t23, 0 + %t25 = zext i1 %t24 to i32 + store i32 %t25, ptr %t1 + br label %scend5 +scend5: + %t26 = load i32, ptr %t1 + %t27 = icmp ne i32 %t26, 0 + br i1 %t27, label %then6, label %ifend8 +then6: + store i32 1, ptr %retval + br label %ret +ifend8: + %t31 = load ptr, ptr %t0 + %t32 = call i32 @lp_str_eq(ptr %t31, ptr @.str5574) + %t33 = icmp ne i32 %t32, 0 + %t34 = zext i1 %t33 to i32 + store i32 %t34, ptr %t30 + br i1 %t33, label %scend10, label %sc9 +sc9: + %t35 = load ptr, ptr %t0 + %t36 = call i32 @lp_str_eq(ptr %t35, ptr @.str5575) + %t37 = icmp ne i32 %t36, 0 + %t38 = zext i1 %t37 to i32 + store i32 %t38, ptr %t30 + br label %scend10 +scend10: + %t39 = load i32, ptr %t30 + %t40 = icmp ne i32 %t39, 0 + %t41 = zext i1 %t40 to i32 + store i32 %t41, ptr %t29 + br i1 %t40, label %scend12, label %sc11 +sc11: + %t42 = load ptr, ptr %t0 + %t43 = call i32 @lp_str_eq(ptr %t42, ptr @.str5576) + %t44 = icmp ne i32 %t43, 0 + %t45 = zext i1 %t44 to i32 + store i32 %t45, ptr %t29 + br label %scend12 +scend12: + %t46 = load i32, ptr %t29 + %t47 = icmp ne i32 %t46, 0 + %t48 = zext i1 %t47 to i32 + store i32 %t48, ptr %t28 + br i1 %t47, label %scend14, label %sc13 +sc13: + %t49 = load ptr, ptr %t0 + %t50 = call i32 @lp_str_eq(ptr %t49, ptr @.str5577) + %t51 = icmp ne i32 %t50, 0 + %t52 = zext i1 %t51 to i32 + store i32 %t52, ptr %t28 + br label %scend14 +scend14: + %t53 = load i32, ptr %t28 + %t54 = icmp ne i32 %t53, 0 + br i1 %t54, label %then15, label %ifend17 +then15: + store i32 1, ptr %retval + br label %ret +ifend17: + store i32 0, ptr %retval + br label %ret +ret: + %t55 = load i32, ptr %retval + ret i32 %t55 +} + +define ptr @fn_emit_duration_ns(ptr %arg_meth, ptr %arg_e) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t1 = alloca ptr + %t10 = alloca ptr + store ptr %arg_meth, ptr %t0 + store ptr %arg_e, ptr %t1 + %t2 = load ptr, ptr %t1 + %t3 = getelementptr inbounds %Cmp_Node, ptr %t2, i32 0, i32 7 + %t4 = load ptr, ptr %t3 + %t5 = getelementptr inbounds %LSlice, ptr %t4, i32 0, i32 0 + %t6 = load ptr, ptr %t5 + %t7 = getelementptr inbounds ptr, ptr %t6, i32 0 + %t8 = load ptr, ptr %t7 + %t9 = call ptr @fn_emit_expr(ptr %t8) + store ptr %t9, ptr %t10 + %t11 = load ptr, ptr %t0 + %t12 = call i32 @lp_str_eq(ptr %t11, ptr @.str5578) + %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 @.str5579) + store ptr %t17, ptr %retval + br label %ret +ifend2: + %t18 = load ptr, ptr %t0 + %t19 = call i32 @lp_str_eq(ptr %t18, ptr @.str5580) + %t20 = icmp ne i32 %t19, 0 + br i1 %t20, label %then3, label %ifend5 +then3: + %t21 = load ptr, ptr %t10 + %t22 = getelementptr inbounds %Cmp_Val, ptr %t21, i32 0, i32 0 + %t23 = load ptr, ptr %t22 + %t24 = call ptr @lp_str_concat(ptr @.str5581, ptr %t23) + %t25 = call ptr @lp_str_concat(ptr %t24, ptr @.str5582) + %t26 = call ptr @fn_emit_bind(ptr %t25) + %t27 = call ptr @fn_val(ptr %t26, ptr @.str5583) + store ptr %t27, ptr %retval + br label %ret +ifend5: + %t28 = load ptr, ptr %t0 + %t29 = call i32 @lp_str_eq(ptr %t28, ptr @.str5584) + %t30 = icmp ne i32 %t29, 0 + br i1 %t30, label %then6, label %ifend8 +then6: + %t31 = load ptr, ptr %t10 + %t32 = getelementptr inbounds %Cmp_Val, ptr %t31, i32 0, i32 0 + %t33 = load ptr, ptr %t32 + %t34 = call ptr @lp_str_concat(ptr @.str5585, ptr %t33) + %t35 = call ptr @lp_str_concat(ptr %t34, ptr @.str5586) + %t36 = call ptr @fn_emit_bind(ptr %t35) + %t37 = call ptr @fn_val(ptr %t36, ptr @.str5587) + store ptr %t37, ptr %retval + br label %ret +ifend8: + %t38 = load ptr, ptr %t0 + %t39 = call i32 @lp_str_eq(ptr %t38, ptr @.str5588) + %t40 = icmp ne i32 %t39, 0 + br i1 %t40, label %then9, label %ifend11 +then9: + %t41 = load ptr, ptr %t10 + %t42 = getelementptr inbounds %Cmp_Val, ptr %t41, i32 0, i32 0 + %t43 = load ptr, ptr %t42 + %t44 = call ptr @lp_str_concat(ptr @.str5589, ptr %t43) + %t45 = call ptr @lp_str_concat(ptr %t44, ptr @.str5590) + %t46 = call ptr @fn_emit_bind(ptr %t45) + %t47 = call ptr @fn_val(ptr %t46, ptr @.str5591) + store ptr %t47, ptr %retval + br label %ret +ifend11: + %t48 = load ptr, ptr %t0 + %t49 = call i32 @lp_str_eq(ptr %t48, ptr @.str5592) + %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 @.str5593) + store ptr %t54, ptr %retval + br label %ret +ifend14: + %t55 = load ptr, ptr %t0 + %t56 = call i32 @lp_str_eq(ptr %t55, ptr @.str5594) + %t57 = icmp ne i32 %t56, 0 + br i1 %t57, label %then15, label %ifend17 +then15: + %t58 = load ptr, ptr %t10 + %t59 = getelementptr inbounds %Cmp_Val, ptr %t58, i32 0, i32 0 + %t60 = load ptr, ptr %t59 + %t61 = call ptr @lp_str_concat(ptr @.str5595, ptr %t60) + %t62 = call ptr @lp_str_concat(ptr %t61, ptr @.str5596) + %t63 = call ptr @fn_emit_bind(ptr %t62) + %t64 = call ptr @fn_val(ptr %t63, ptr @.str5597) + store ptr %t64, ptr %retval + br label %ret +ifend17: + %t65 = load ptr, ptr %t0 + %t66 = call i32 @lp_str_eq(ptr %t65, ptr @.str5598) + %t67 = icmp ne i32 %t66, 0 + br i1 %t67, label %then18, label %ifend20 +then18: + %t68 = load ptr, ptr %t10 + %t69 = getelementptr inbounds %Cmp_Val, ptr %t68, i32 0, i32 0 + %t70 = load ptr, ptr %t69 + %t71 = call ptr @lp_str_concat(ptr @.str5599, ptr %t70) + %t72 = call ptr @lp_str_concat(ptr %t71, ptr @.str5600) + %t73 = call ptr @fn_emit_bind(ptr %t72) + %t74 = call ptr @fn_val(ptr %t73, ptr @.str5601) + store ptr %t74, ptr %retval + br label %ret +ifend20: + %t75 = load ptr, ptr %t10 + %t76 = getelementptr inbounds %Cmp_Val, ptr %t75, i32 0, i32 0 + %t77 = load ptr, ptr %t76 + %t78 = call ptr @lp_str_concat(ptr @.str5602, ptr %t77) + %t79 = call ptr @lp_str_concat(ptr %t78, ptr @.str5603) + %t80 = call ptr @fn_emit_bind(ptr %t79) + %t81 = call ptr @fn_val(ptr %t80, ptr @.str5604) + 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 @.str5605) + store ptr %t2, ptr %t3 + %t4 = call ptr @fn_emit_alloca(ptr @.str5606) + store ptr %t4, ptr %t5 + %t6 = call ptr @fn_emit_alloca(ptr @.str5607) + store ptr %t6, ptr %t7 + %t8 = load ptr, ptr %t0 + %t9 = call ptr @lp_str_concat(ptr @.str5608, ptr %t8) + %t10 = call ptr @lp_str_concat(ptr %t9, ptr @.str5609) + %t11 = load ptr, ptr %t3 + %t12 = call ptr @lp_str_concat(ptr %t10, ptr %t11) + %t13 = call ptr @lp_str_concat(ptr %t12, ptr @.str5610) + %t14 = load ptr, ptr %t5 + %t15 = call ptr @lp_str_concat(ptr %t13, ptr %t14) + %t16 = call ptr @lp_str_concat(ptr %t15, ptr @.str5611) + %t17 = load ptr, ptr %t7 + %t18 = call ptr @lp_str_concat(ptr %t16, ptr %t17) + %t19 = call ptr @lp_str_concat(ptr %t18, ptr @.str5612) + call void @fn_emit(ptr %t19) + %t20 = load ptr, ptr %t3 + store ptr %t20, ptr %t21 + %t22 = load i32, ptr %t1 + %t23 = icmp eq i32 %t22, 1 + %t24 = zext i1 %t23 to i32 + %t25 = icmp ne i32 %t24, 0 + br i1 %t25, label %then0, label %ifend2 +then0: + %t26 = load ptr, ptr %t5 + store ptr %t26, ptr %t21 + br label %ifend2 +ifend2: + %t27 = load i32, ptr %t1 + %t28 = icmp eq i32 %t27, 2 + %t29 = zext i1 %t28 to i32 + %t30 = icmp ne i32 %t29, 0 + br i1 %t30, label %then3, label %ifend5 +then3: + %t31 = load ptr, ptr %t7 + store ptr %t31, ptr %t21 + br label %ifend5 +ifend5: + %t32 = load ptr, ptr %t21 + %t33 = call ptr @lp_str_concat(ptr @.str5613, ptr %t32) + %t34 = call ptr @fn_emit_bind(ptr %t33) + store ptr %t34, ptr %retval + br label %ret +ret: + %t35 = load ptr, ptr %retval + ret ptr %t35 +} + +define i32 @fn_is_date_ns(ptr %arg_meth) { +entry: + %retval = alloca i32 + %t0 = alloca ptr + %t1 = alloca i32 + %t2 = alloca i32 + %t3 = alloca i32 + %t28 = alloca i32 + %t29 = alloca i32 + %t47 = alloca i32 + %t48 = alloca i32 + store ptr %arg_meth, ptr %t0 + %t4 = load ptr, ptr %t0 + %t5 = call i32 @lp_str_eq(ptr %t4, ptr @.str5614) + %t6 = icmp ne i32 %t5, 0 + %t7 = zext i1 %t6 to i32 + store i32 %t7, ptr %t3 + br i1 %t6, label %scend1, label %sc0 +sc0: + %t8 = load ptr, ptr %t0 + %t9 = call i32 @lp_str_eq(ptr %t8, ptr @.str5615) + %t10 = icmp ne i32 %t9, 0 + %t11 = zext i1 %t10 to i32 + store i32 %t11, ptr %t3 + br label %scend1 +scend1: + %t12 = load i32, ptr %t3 + %t13 = icmp ne i32 %t12, 0 + %t14 = zext i1 %t13 to i32 + store i32 %t14, ptr %t2 + br i1 %t13, label %scend3, label %sc2 +sc2: + %t15 = load ptr, ptr %t0 + %t16 = call i32 @lp_str_eq(ptr %t15, ptr @.str5616) + %t17 = icmp ne i32 %t16, 0 + %t18 = zext i1 %t17 to i32 + store i32 %t18, ptr %t2 + br label %scend3 +scend3: + %t19 = load i32, ptr %t2 + %t20 = icmp ne i32 %t19, 0 + %t21 = zext i1 %t20 to i32 + store i32 %t21, ptr %t1 + br i1 %t20, label %scend5, label %sc4 +sc4: + %t22 = load ptr, ptr %t0 + %t23 = call i32 @lp_str_eq(ptr %t22, ptr @.str5617) + %t24 = icmp ne i32 %t23, 0 + %t25 = zext i1 %t24 to i32 + store i32 %t25, ptr %t1 + br label %scend5 +scend5: + %t26 = load i32, ptr %t1 + %t27 = icmp ne i32 %t26, 0 + br i1 %t27, label %then6, label %ifend8 +then6: + store i32 1, ptr %retval + br label %ret +ifend8: + %t30 = load ptr, ptr %t0 + %t31 = call i32 @lp_str_eq(ptr %t30, ptr @.str5618) + %t32 = icmp ne i32 %t31, 0 + %t33 = zext i1 %t32 to i32 + store i32 %t33, ptr %t29 + br i1 %t32, label %scend10, label %sc9 +sc9: + %t34 = load ptr, ptr %t0 + %t35 = call i32 @lp_str_eq(ptr %t34, ptr @.str5619) + %t36 = icmp ne i32 %t35, 0 + %t37 = zext i1 %t36 to i32 + store i32 %t37, ptr %t29 + br label %scend10 +scend10: + %t38 = load i32, ptr %t29 + %t39 = icmp ne i32 %t38, 0 + %t40 = zext i1 %t39 to i32 + store i32 %t40, ptr %t28 + br i1 %t39, label %scend12, label %sc11 +sc11: + %t41 = load ptr, ptr %t0 + %t42 = call i32 @lp_str_eq(ptr %t41, ptr @.str5620) + %t43 = icmp ne i32 %t42, 0 + %t44 = zext i1 %t43 to i32 + store i32 %t44, ptr %t28 + br label %scend12 +scend12: + %t45 = load i32, ptr %t28 + %t46 = icmp ne i32 %t45, 0 + br i1 %t46, label %then13, label %ifend15 +then13: + store i32 1, ptr %retval + br label %ret +ifend15: + %t49 = load ptr, ptr %t0 + %t50 = call i32 @lp_str_eq(ptr %t49, ptr @.str5621) + %t51 = icmp ne i32 %t50, 0 + %t52 = zext i1 %t51 to i32 + store i32 %t52, ptr %t48 + br i1 %t51, label %scend17, label %sc16 +sc16: + %t53 = load ptr, ptr %t0 + %t54 = call i32 @lp_str_eq(ptr %t53, ptr @.str5622) + %t55 = icmp ne i32 %t54, 0 + %t56 = zext i1 %t55 to i32 + store i32 %t56, ptr %t48 + br label %scend17 +scend17: + %t57 = load i32, ptr %t48 + %t58 = icmp ne i32 %t57, 0 + %t59 = zext i1 %t58 to i32 + store i32 %t59, ptr %t47 + br i1 %t58, label %scend19, label %sc18 +sc18: + %t60 = load ptr, ptr %t0 + %t61 = call i32 @lp_str_eq(ptr %t60, ptr @.str5623) + %t62 = icmp ne i32 %t61, 0 + %t63 = zext i1 %t62 to i32 + store i32 %t63, ptr %t47 + br label %scend19 +scend19: + %t64 = load i32, ptr %t47 + %t65 = icmp ne i32 %t64, 0 + br i1 %t65, label %then20, label %ifend22 +then20: + store i32 1, ptr %retval + br label %ret +ifend22: + store i32 0, ptr %retval + br label %ret +ret: + %t66 = load i32, ptr %retval + ret i32 %t66 +} + +define ptr @fn_emit_date_ns(ptr %arg_meth, ptr %arg_e) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t1 = alloca ptr + %t13 = alloca ptr + %t22 = alloca ptr + %t31 = alloca ptr + %t60 = alloca ptr + %t77 = alloca ptr + %t94 = alloca ptr + %t111 = alloca ptr + %t118 = alloca ptr + %t123 = alloca ptr + %t128 = alloca ptr + %t145 = alloca ptr + %t152 = alloca ptr + %t157 = alloca ptr + %t164 = alloca ptr + %t169 = alloca ptr + %t176 = alloca ptr + %t181 = alloca ptr + %t188 = alloca ptr + %t195 = alloca ptr + %t212 = alloca ptr + %t221 = alloca ptr + %t233 = alloca ptr + %t240 = alloca ptr + %t247 = alloca ptr + %t259 = alloca ptr + %t266 = alloca ptr + %t273 = alloca ptr + %t281 = alloca ptr + %t300 = alloca ptr + %t319 = alloca ptr + %t328 = alloca ptr + %t348 = alloca ptr + %t357 = alloca ptr + store ptr %arg_meth, ptr %t0 + store ptr %arg_e, ptr %t1 + %t2 = load ptr, ptr %t0 + %t3 = call i32 @lp_str_eq(ptr %t2, ptr @.str5624) + %t4 = icmp ne i32 %t3, 0 + br i1 %t4, label %then0, label %ifend2 +then0: + store i32 1, ptr @g_g_uses_datert + %t5 = load ptr, ptr %t1 + %t6 = getelementptr inbounds %Cmp_Node, ptr %t5, i32 0, i32 7 + %t7 = load ptr, ptr %t6 + %t8 = getelementptr inbounds %LSlice, ptr %t7, i32 0, i32 0 + %t9 = load ptr, ptr %t8 + %t10 = getelementptr inbounds ptr, ptr %t9, i32 0 + %t11 = load ptr, ptr %t10 + %t12 = call ptr @fn_emit_expr(ptr %t11) + store ptr %t12, ptr %t13 + %t14 = load ptr, ptr %t1 + %t15 = getelementptr inbounds %Cmp_Node, ptr %t14, i32 0, i32 7 + %t16 = load ptr, ptr %t15 + %t17 = getelementptr inbounds %LSlice, ptr %t16, i32 0, i32 0 + %t18 = load ptr, ptr %t17 + %t19 = getelementptr inbounds ptr, ptr %t18, i32 1 + %t20 = load ptr, ptr %t19 + %t21 = call ptr @fn_emit_expr(ptr %t20) + store ptr %t21, ptr %t22 + %t23 = load ptr, ptr %t1 + %t24 = getelementptr inbounds %Cmp_Node, ptr %t23, i32 0, i32 7 + %t25 = load ptr, ptr %t24 + %t26 = getelementptr inbounds %LSlice, ptr %t25, i32 0, i32 0 + %t27 = load ptr, ptr %t26 + %t28 = getelementptr inbounds ptr, ptr %t27, i32 2 + %t29 = load ptr, ptr %t28 + %t30 = call ptr @fn_emit_expr(ptr %t29) + store ptr %t30, ptr %t31 + %t32 = load ptr, ptr %t13 + %t33 = getelementptr inbounds %Cmp_Val, ptr %t32, i32 0, i32 0 + %t34 = load ptr, ptr %t33 + %t35 = call ptr @lp_str_concat(ptr @.str5625, ptr %t34) + %t36 = call ptr @lp_str_concat(ptr %t35, ptr @.str5626) + %t37 = load ptr, ptr %t22 + %t38 = getelementptr inbounds %Cmp_Val, ptr %t37, i32 0, i32 0 + %t39 = load ptr, ptr %t38 + %t40 = call ptr @lp_str_concat(ptr %t36, ptr %t39) + %t41 = call ptr @lp_str_concat(ptr %t40, ptr @.str5627) + %t42 = load ptr, ptr %t31 + %t43 = getelementptr inbounds %Cmp_Val, ptr %t42, i32 0, i32 0 + %t44 = load ptr, ptr %t43 + %t45 = call ptr @lp_str_concat(ptr %t41, ptr %t44) + %t46 = call ptr @lp_str_concat(ptr %t45, ptr @.str5628) + %t47 = call ptr @fn_emit_bind(ptr %t46) + %t48 = call ptr @fn_val(ptr %t47, ptr @.str5629) + store ptr %t48, ptr %retval + br label %ret +ifend2: + %t49 = load ptr, ptr %t0 + %t50 = call i32 @lp_str_eq(ptr %t49, ptr @.str5630) + %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 @.str5631) + store ptr %t65, ptr %retval + br label %ret +ifend5: + %t66 = load ptr, ptr %t0 + %t67 = call i32 @lp_str_eq(ptr %t66, ptr @.str5632) + %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 @.str5633) + store ptr %t82, ptr %retval + br label %ret +ifend8: + %t83 = load ptr, ptr %t0 + %t84 = call i32 @lp_str_eq(ptr %t83, ptr @.str5634) + %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 @.str5635) + store ptr %t99, ptr %retval + br label %ret +ifend11: + %t100 = load ptr, ptr %t0 + %t101 = call i32 @lp_str_eq(ptr %t100, ptr @.str5636) + %t102 = icmp ne i32 %t101, 0 + br i1 %t102, label %then12, label %ifend14 +then12: + %t103 = load ptr, ptr %t1 + %t104 = getelementptr inbounds %Cmp_Node, ptr %t103, i32 0, i32 7 + %t105 = load ptr, ptr %t104 + %t106 = getelementptr inbounds %LSlice, ptr %t105, i32 0, i32 0 + %t107 = load ptr, ptr %t106 + %t108 = getelementptr inbounds ptr, ptr %t107, i32 0 + %t109 = load ptr, ptr %t108 + %t110 = call ptr @fn_emit_expr(ptr %t109) + store ptr %t110, ptr %t111 + %t112 = load ptr, ptr %t111 + %t113 = getelementptr inbounds %Cmp_Val, ptr %t112, i32 0, i32 0 + %t114 = load ptr, ptr %t113 + %t115 = call ptr @lp_str_concat(ptr @.str5637, ptr %t114) + %t116 = call ptr @lp_str_concat(ptr %t115, ptr @.str5638) + %t117 = call ptr @fn_emit_bind(ptr %t116) + store ptr %t117, ptr %t118 + %t119 = load ptr, ptr %t118 + %t120 = call ptr @lp_str_concat(ptr @.str5639, ptr %t119) + %t121 = call ptr @lp_str_concat(ptr %t120, ptr @.str5640) + %t122 = call ptr @fn_emit_bind(ptr %t121) + store ptr %t122, ptr %t123 + %t124 = load ptr, ptr %t123 + %t125 = call ptr @lp_str_concat(ptr @.str5641, ptr %t124) + %t126 = call ptr @lp_str_concat(ptr %t125, ptr @.str5642) + %t127 = call ptr @fn_emit_bind(ptr %t126) + store ptr %t127, ptr %t128 + %t129 = load ptr, ptr %t128 + %t130 = call ptr @lp_str_concat(ptr @.str5643, ptr %t129) + %t131 = call ptr @lp_str_concat(ptr %t130, ptr @.str5644) + %t132 = call ptr @fn_emit_bind(ptr %t131) + %t133 = call ptr @fn_val(ptr %t132, ptr @.str5645) + store ptr %t133, ptr %retval + br label %ret +ifend14: + %t134 = load ptr, ptr %t0 + %t135 = call i32 @lp_str_eq(ptr %t134, ptr @.str5646) + %t136 = icmp ne i32 %t135, 0 + br i1 %t136, label %then15, label %ifend17 +then15: + %t137 = load ptr, ptr %t1 + %t138 = getelementptr inbounds %Cmp_Node, ptr %t137, i32 0, i32 7 + %t139 = load ptr, ptr %t138 + %t140 = getelementptr inbounds %LSlice, ptr %t139, i32 0, i32 0 + %t141 = load ptr, ptr %t140 + %t142 = getelementptr inbounds ptr, ptr %t141, i32 0 + %t143 = load ptr, ptr %t142 + %t144 = call ptr @fn_emit_expr(ptr %t143) + store ptr %t144, ptr %t145 + %t146 = load ptr, ptr %t145 + %t147 = getelementptr inbounds %Cmp_Val, ptr %t146, i32 0, i32 0 + %t148 = load ptr, ptr %t147 + %t149 = call ptr @lp_str_concat(ptr @.str5647, ptr %t148) + %t150 = call ptr @lp_str_concat(ptr %t149, ptr @.str5648) + %t151 = call ptr @fn_emit_bind(ptr %t150) + store ptr %t151, ptr %t152 + %t153 = load ptr, ptr %t152 + %t154 = call ptr @lp_str_concat(ptr @.str5649, ptr %t153) + %t155 = call ptr @lp_str_concat(ptr %t154, ptr @.str5650) + %t156 = call ptr @fn_emit_bind(ptr %t155) + store ptr %t156, ptr %t157 + %t158 = load ptr, ptr %t145 + %t159 = getelementptr inbounds %Cmp_Val, ptr %t158, i32 0, i32 0 + %t160 = load ptr, ptr %t159 + %t161 = call ptr @lp_str_concat(ptr @.str5651, ptr %t160) + %t162 = call ptr @lp_str_concat(ptr %t161, ptr @.str5652) + %t163 = call ptr @fn_emit_bind(ptr %t162) + store ptr %t163, ptr %t164 + %t165 = load ptr, ptr %t164 + %t166 = call ptr @lp_str_concat(ptr @.str5653, ptr %t165) + %t167 = call ptr @lp_str_concat(ptr %t166, ptr @.str5654) + %t168 = call ptr @fn_emit_bind(ptr %t167) + store ptr %t168, ptr %t169 + %t170 = load ptr, ptr %t145 + %t171 = getelementptr inbounds %Cmp_Val, ptr %t170, i32 0, i32 0 + %t172 = load ptr, ptr %t171 + %t173 = call ptr @lp_str_concat(ptr @.str5655, ptr %t172) + %t174 = call ptr @lp_str_concat(ptr %t173, ptr @.str5656) + %t175 = call ptr @fn_emit_bind(ptr %t174) + store ptr %t175, ptr %t176 + %t177 = load ptr, ptr %t176 + %t178 = call ptr @lp_str_concat(ptr @.str5657, ptr %t177) + %t179 = call ptr @lp_str_concat(ptr %t178, ptr @.str5658) + %t180 = call ptr @fn_emit_bind(ptr %t179) + store ptr %t180, ptr %t181 + %t182 = load ptr, ptr %t157 + %t183 = call ptr @lp_str_concat(ptr @.str5659, ptr %t182) + %t184 = call ptr @lp_str_concat(ptr %t183, ptr @.str5660) + %t185 = load ptr, ptr %t169 + %t186 = call ptr @lp_str_concat(ptr %t184, ptr %t185) + %t187 = call ptr @fn_emit_bind(ptr %t186) + store ptr %t187, ptr %t188 + %t189 = load ptr, ptr %t188 + %t190 = call ptr @lp_str_concat(ptr @.str5661, ptr %t189) + %t191 = call ptr @lp_str_concat(ptr %t190, ptr @.str5662) + %t192 = load ptr, ptr %t181 + %t193 = call ptr @lp_str_concat(ptr %t191, ptr %t192) + %t194 = call ptr @fn_emit_bind(ptr %t193) + store ptr %t194, ptr %t195 + %t196 = load ptr, ptr %t195 + %t197 = call ptr @lp_str_concat(ptr @.str5663, ptr %t196) + %t198 = call ptr @lp_str_concat(ptr %t197, ptr @.str5664) + %t199 = call ptr @fn_emit_bind(ptr %t198) + %t200 = call ptr @fn_val(ptr %t199, ptr @.str5665) + store ptr %t200, ptr %retval + br label %ret +ifend17: + %t201 = load ptr, ptr %t0 + %t202 = call i32 @lp_str_eq(ptr %t201, ptr @.str5666) + %t203 = icmp ne i32 %t202, 0 + br i1 %t203, label %then18, label %ifend20 +then18: + store i32 1, ptr @g_g_uses_datert + %t204 = load ptr, ptr %t1 + %t205 = getelementptr inbounds %Cmp_Node, ptr %t204, i32 0, i32 7 + %t206 = load ptr, ptr %t205 + %t207 = getelementptr inbounds %LSlice, ptr %t206, i32 0, i32 0 + %t208 = load ptr, ptr %t207 + %t209 = getelementptr inbounds ptr, ptr %t208, i32 0 + %t210 = load ptr, ptr %t209 + %t211 = call ptr @fn_emit_expr(ptr %t210) + store ptr %t211, ptr %t212 + %t213 = load ptr, ptr %t1 + %t214 = getelementptr inbounds %Cmp_Node, ptr %t213, i32 0, i32 7 + %t215 = load ptr, ptr %t214 + %t216 = getelementptr inbounds %LSlice, ptr %t215, i32 0, i32 0 + %t217 = load ptr, ptr %t216 + %t218 = getelementptr inbounds ptr, ptr %t217, i32 1 + %t219 = load ptr, ptr %t218 + %t220 = call ptr @fn_emit_expr(ptr %t219) + store ptr %t220, ptr %t221 + %t222 = load ptr, ptr %t212 + %t223 = getelementptr inbounds %Cmp_Val, ptr %t222, i32 0, i32 0 + %t224 = load ptr, ptr %t223 + %t225 = call ptr @lp_str_concat(ptr @.str5667, ptr %t224) + %t226 = call ptr @lp_str_concat(ptr %t225, ptr @.str5668) + %t227 = load ptr, ptr %t221 + %t228 = getelementptr inbounds %Cmp_Val, ptr %t227, i32 0, i32 0 + %t229 = load ptr, ptr %t228 + %t230 = call ptr @lp_str_concat(ptr %t226, ptr %t229) + %t231 = call ptr @lp_str_concat(ptr %t230, ptr @.str5669) + %t232 = call ptr @fn_emit_bind(ptr %t231) + store ptr %t232, ptr %t233 + %t234 = load ptr, ptr %t221 + %t235 = getelementptr inbounds %Cmp_Val, ptr %t234, i32 0, i32 0 + %t236 = load ptr, ptr %t235 + %t237 = call ptr @lp_str_concat(ptr @.str5670, ptr %t236) + %t238 = call ptr @lp_str_concat(ptr %t237, ptr @.str5671) + %t239 = call ptr @fn_emit_bind(ptr %t238) + store ptr %t239, ptr %t240 + %t241 = load ptr, ptr %t212 + %t242 = getelementptr inbounds %Cmp_Val, ptr %t241, i32 0, i32 0 + %t243 = load ptr, ptr %t242 + %t244 = call ptr @lp_str_concat(ptr @.str5672, ptr %t243) + %t245 = call ptr @lp_str_concat(ptr %t244, ptr @.str5673) + %t246 = call ptr @fn_emit_bind(ptr %t245) + store ptr %t246, ptr %t247 + %t248 = load ptr, ptr %t240 + %t249 = call ptr @lp_str_concat(ptr @.str5674, ptr %t248) + %t250 = call ptr @lp_str_concat(ptr %t249, ptr @.str5675) + %t251 = load ptr, ptr %t247 + %t252 = call ptr @lp_str_concat(ptr %t250, ptr %t251) + %t253 = call ptr @lp_str_concat(ptr %t252, ptr @.str5676) + %t254 = load ptr, ptr %t212 + %t255 = getelementptr inbounds %Cmp_Val, ptr %t254, i32 0, i32 0 + %t256 = load ptr, ptr %t255 + %t257 = call ptr @lp_str_concat(ptr %t253, ptr %t256) + %t258 = call ptr @fn_emit_bind(ptr %t257) + store ptr %t258, ptr %t259 + %t260 = load ptr, ptr %t221 + %t261 = getelementptr inbounds %Cmp_Val, ptr %t260, i32 0, i32 0 + %t262 = load ptr, ptr %t261 + %t263 = call ptr @lp_str_concat(ptr @.str5677, ptr %t262) + %t264 = call ptr @lp_str_concat(ptr %t263, ptr @.str5678) + %t265 = call ptr @fn_emit_bind(ptr %t264) + store ptr %t265, ptr %t266 + %t267 = load ptr, ptr %t240 + %t268 = call ptr @lp_str_concat(ptr @.str5679, ptr %t267) + %t269 = call ptr @lp_str_concat(ptr %t268, ptr @.str5680) + %t270 = load ptr, ptr %t266 + %t271 = call ptr @lp_str_concat(ptr %t269, ptr %t270) + %t272 = call ptr @fn_emit_bind(ptr %t271) + store ptr %t272, ptr %t273 + %t274 = load ptr, ptr %t259 + %t275 = call ptr @lp_str_concat(ptr @.str5681, ptr %t274) + %t276 = call ptr @lp_str_concat(ptr %t275, ptr @.str5682) + %t277 = load ptr, ptr %t273 + %t278 = call ptr @lp_str_concat(ptr %t276, ptr %t277) + %t279 = call ptr @lp_str_concat(ptr %t278, ptr @.str5683) + %t280 = call ptr @fn_emit_bind(ptr %t279) + store ptr %t280, ptr %t281 + %t282 = load ptr, ptr %t281 + %t283 = call ptr @lp_str_concat(ptr @.str5684, ptr %t282) + %t284 = call ptr @lp_str_concat(ptr %t283, ptr @.str5685) + %t285 = load ptr, ptr %t233 + %t286 = call ptr @lp_str_concat(ptr %t284, ptr %t285) + %t287 = call ptr @fn_emit_bind(ptr %t286) + %t288 = call ptr @fn_val(ptr %t287, ptr @.str5686) + store ptr %t288, ptr %retval + br label %ret +ifend20: + %t289 = load ptr, ptr %t0 + %t290 = call i32 @lp_str_eq(ptr %t289, ptr @.str5687) + %t291 = icmp ne i32 %t290, 0 + br i1 %t291, label %then21, label %ifend23 +then21: + %t292 = load ptr, ptr %t1 + %t293 = getelementptr inbounds %Cmp_Node, ptr %t292, i32 0, i32 7 + %t294 = load ptr, ptr %t293 + %t295 = getelementptr inbounds %LSlice, ptr %t294, i32 0, i32 0 + %t296 = load ptr, ptr %t295 + %t297 = getelementptr inbounds ptr, ptr %t296, i32 0 + %t298 = load ptr, ptr %t297 + %t299 = call ptr @fn_emit_expr(ptr %t298) + store ptr %t299, ptr %t300 + %t301 = load ptr, ptr %t300 + %t302 = getelementptr inbounds %Cmp_Val, ptr %t301, i32 0, i32 0 + %t303 = load ptr, ptr %t302 + %t304 = call ptr @lp_str_concat(ptr @.str5688, ptr %t303) + %t305 = call ptr @lp_str_concat(ptr %t304, ptr @.str5689) + %t306 = call ptr @fn_emit_bind(ptr %t305) + %t307 = call ptr @fn_val(ptr %t306, ptr @.str5690) + store ptr %t307, ptr %retval + br label %ret +ifend23: + %t308 = load ptr, ptr %t0 + %t309 = call i32 @lp_str_eq(ptr %t308, ptr @.str5691) + %t310 = icmp ne i32 %t309, 0 + br i1 %t310, label %then24, label %ifend26 +then24: + %t311 = load ptr, ptr %t1 + %t312 = getelementptr inbounds %Cmp_Node, ptr %t311, i32 0, i32 7 + %t313 = load ptr, ptr %t312 + %t314 = getelementptr inbounds %LSlice, ptr %t313, i32 0, i32 0 + %t315 = load ptr, ptr %t314 + %t316 = getelementptr inbounds ptr, ptr %t315, i32 0 + %t317 = load ptr, ptr %t316 + %t318 = call ptr @fn_emit_expr(ptr %t317) + store ptr %t318, ptr %t319 + %t320 = load ptr, ptr %t1 + %t321 = getelementptr inbounds %Cmp_Node, ptr %t320, i32 0, i32 7 + %t322 = load ptr, ptr %t321 + %t323 = getelementptr inbounds %LSlice, ptr %t322, i32 0, i32 0 + %t324 = load ptr, ptr %t323 + %t325 = getelementptr inbounds ptr, ptr %t324, i32 1 + %t326 = load ptr, ptr %t325 + %t327 = call ptr @fn_emit_expr(ptr %t326) + store ptr %t327, ptr %t328 + %t329 = load ptr, ptr %t319 + %t330 = getelementptr inbounds %Cmp_Val, ptr %t329, i32 0, i32 0 + %t331 = load ptr, ptr %t330 + %t332 = call ptr @lp_str_concat(ptr @.str5692, ptr %t331) + %t333 = call ptr @lp_str_concat(ptr %t332, ptr @.str5693) + %t334 = load ptr, ptr %t328 + %t335 = getelementptr inbounds %Cmp_Val, ptr %t334, i32 0, i32 0 + %t336 = load ptr, ptr %t335 + %t337 = call ptr @lp_str_concat(ptr %t333, ptr %t336) + %t338 = call ptr @fn_emit_bind(ptr %t337) + %t339 = call ptr @fn_val(ptr %t338, ptr @.str5694) + store ptr %t339, ptr %retval + br label %ret +ifend26: + %t340 = load ptr, ptr %t1 + %t341 = getelementptr inbounds %Cmp_Node, ptr %t340, i32 0, i32 7 + %t342 = load ptr, ptr %t341 + %t343 = getelementptr inbounds %LSlice, ptr %t342, i32 0, i32 0 + %t344 = load ptr, ptr %t343 + %t345 = getelementptr inbounds ptr, ptr %t344, i32 0 + %t346 = load ptr, ptr %t345 + %t347 = call ptr @fn_emit_expr(ptr %t346) + store ptr %t347, ptr %t348 + %t349 = load ptr, ptr %t1 + %t350 = getelementptr inbounds %Cmp_Node, ptr %t349, i32 0, i32 7 + %t351 = load ptr, ptr %t350 + %t352 = getelementptr inbounds %LSlice, ptr %t351, i32 0, i32 0 + %t353 = load ptr, ptr %t352 + %t354 = getelementptr inbounds ptr, ptr %t353, i32 1 + %t355 = load ptr, ptr %t354 + %t356 = call ptr @fn_emit_expr(ptr %t355) + store ptr %t356, ptr %t357 + %t358 = load ptr, ptr %t348 + %t359 = getelementptr inbounds %Cmp_Val, ptr %t358, i32 0, i32 0 + %t360 = load ptr, ptr %t359 + %t361 = call ptr @lp_str_concat(ptr @.str5695, ptr %t360) + %t362 = call ptr @lp_str_concat(ptr %t361, ptr @.str5696) + %t363 = load ptr, ptr %t357 + %t364 = getelementptr inbounds %Cmp_Val, ptr %t363, i32 0, i32 0 + %t365 = load ptr, ptr %t364 + %t366 = call ptr @lp_str_concat(ptr %t362, ptr %t365) + %t367 = call ptr @fn_emit_bind(ptr %t366) + %t368 = call ptr @fn_val(ptr %t367, ptr @.str5697) + store ptr %t368, ptr %retval + br label %ret +ret: + %t369 = load ptr, ptr %retval + ret ptr %t369 +} + +define ptr @fn_dt_secofday(ptr %arg_t) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t5 = alloca ptr + %t10 = alloca ptr + store ptr %arg_t, ptr %t0 + %t1 = load ptr, ptr %t0 + %t2 = call ptr @lp_str_concat(ptr @.str5698, ptr %t1) + %t3 = call ptr @lp_str_concat(ptr %t2, ptr @.str5699) + %t4 = call ptr @fn_emit_bind(ptr %t3) + store ptr %t4, ptr %t5 + %t6 = load ptr, ptr %t5 + %t7 = call ptr @lp_str_concat(ptr @.str5700, ptr %t6) + %t8 = call ptr @lp_str_concat(ptr %t7, ptr @.str5701) + %t9 = call ptr @fn_emit_bind(ptr %t8) + store ptr %t9, ptr %t10 + %t11 = load ptr, ptr %t10 + %t12 = call ptr @lp_str_concat(ptr @.str5702, ptr %t11) + %t13 = call ptr @lp_str_concat(ptr %t12, ptr @.str5703) + %t14 = call ptr @fn_emit_bind(ptr %t13) + store ptr %t14, ptr %retval + br label %ret +ret: + %t15 = load ptr, ptr %retval + ret ptr %t15 +} + +define ptr @fn_dt_epochday(ptr %arg_t) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t3 = alloca ptr + %t10 = alloca ptr + store ptr %arg_t, ptr %t0 + %t1 = load ptr, ptr %t0 + %t2 = call ptr @fn_dt_secofday(ptr %t1) + store ptr %t2, ptr %t3 + %t4 = load ptr, ptr %t0 + %t5 = call ptr @lp_str_concat(ptr @.str5704, ptr %t4) + %t6 = call ptr @lp_str_concat(ptr %t5, ptr @.str5705) + %t7 = load ptr, ptr %t3 + %t8 = call ptr @lp_str_concat(ptr %t6, ptr %t7) + %t9 = call ptr @fn_emit_bind(ptr %t8) + store ptr %t9, ptr %t10 + %t11 = load ptr, ptr %t10 + %t12 = call ptr @lp_str_concat(ptr @.str5706, ptr %t11) + %t13 = call ptr @lp_str_concat(ptr %t12, ptr @.str5707) + %t14 = call ptr @fn_emit_bind(ptr %t13) + store ptr %t14, ptr %retval + br label %ret +ret: + %t15 = load ptr, ptr %retval + ret ptr %t15 +} + +define i32 @fn_is_datetime_ns(ptr %arg_meth) { +entry: + %retval = alloca i32 + %t0 = alloca ptr + %t1 = alloca i32 + %t2 = alloca i32 + %t20 = alloca i32 + %t21 = alloca i32 + %t22 = alloca i32 + %t47 = alloca i32 + %t48 = alloca i32 + %t66 = alloca i32 + store ptr %arg_meth, ptr %t0 + %t3 = load ptr, ptr %t0 + %t4 = call i32 @lp_str_eq(ptr %t3, ptr @.str5708) + %t5 = icmp ne i32 %t4, 0 + %t6 = zext i1 %t5 to i32 + store i32 %t6, ptr %t2 + br i1 %t5, label %scend1, label %sc0 +sc0: + %t7 = load ptr, ptr %t0 + %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str5709) + %t9 = icmp ne i32 %t8, 0 + %t10 = zext i1 %t9 to i32 + store i32 %t10, ptr %t2 + br label %scend1 +scend1: + %t11 = load i32, ptr %t2 + %t12 = icmp ne i32 %t11, 0 + %t13 = zext i1 %t12 to i32 + store i32 %t13, ptr %t1 + br i1 %t12, label %scend3, label %sc2 +sc2: + %t14 = load ptr, ptr %t0 + %t15 = call i32 @lp_str_eq(ptr %t14, ptr @.str5710) + %t16 = icmp ne i32 %t15, 0 + %t17 = zext i1 %t16 to i32 + store i32 %t17, ptr %t1 + br label %scend3 +scend3: + %t18 = load i32, ptr %t1 + %t19 = icmp ne i32 %t18, 0 + br i1 %t19, label %then4, label %ifend6 +then4: + store i32 1, ptr %retval + br label %ret +ifend6: + %t23 = load ptr, ptr %t0 + %t24 = call i32 @lp_str_eq(ptr %t23, ptr @.str5711) + %t25 = icmp ne i32 %t24, 0 + %t26 = zext i1 %t25 to i32 + store i32 %t26, ptr %t22 + br i1 %t25, label %scend8, label %sc7 +sc7: + %t27 = load ptr, ptr %t0 + %t28 = call i32 @lp_str_eq(ptr %t27, ptr @.str5712) + %t29 = icmp ne i32 %t28, 0 + %t30 = zext i1 %t29 to i32 + store i32 %t30, ptr %t22 + br label %scend8 +scend8: + %t31 = load i32, ptr %t22 + %t32 = icmp ne i32 %t31, 0 + %t33 = zext i1 %t32 to i32 + store i32 %t33, ptr %t21 + br i1 %t32, label %scend10, label %sc9 +sc9: + %t34 = load ptr, ptr %t0 + %t35 = call i32 @lp_str_eq(ptr %t34, ptr @.str5713) + %t36 = icmp ne i32 %t35, 0 + %t37 = zext i1 %t36 to i32 + store i32 %t37, ptr %t21 + br label %scend10 +scend10: + %t38 = load i32, ptr %t21 + %t39 = icmp ne i32 %t38, 0 + %t40 = zext i1 %t39 to i32 + store i32 %t40, ptr %t20 + br i1 %t39, label %scend12, label %sc11 +sc11: + %t41 = load ptr, ptr %t0 + %t42 = call i32 @lp_str_eq(ptr %t41, ptr @.str5714) + %t43 = icmp ne i32 %t42, 0 + %t44 = zext i1 %t43 to i32 + store i32 %t44, ptr %t20 + br label %scend12 +scend12: + %t45 = load i32, ptr %t20 + %t46 = icmp ne i32 %t45, 0 + br i1 %t46, label %then13, label %ifend15 +then13: + store i32 1, ptr %retval + br label %ret +ifend15: + %t49 = load ptr, ptr %t0 + %t50 = call i32 @lp_str_eq(ptr %t49, ptr @.str5715) + %t51 = icmp ne i32 %t50, 0 + %t52 = zext i1 %t51 to i32 + store i32 %t52, ptr %t48 + br i1 %t51, label %scend17, label %sc16 +sc16: + %t53 = load ptr, ptr %t0 + %t54 = call i32 @lp_str_eq(ptr %t53, ptr @.str5716) + %t55 = icmp ne i32 %t54, 0 + %t56 = zext i1 %t55 to i32 + store i32 %t56, ptr %t48 + br label %scend17 +scend17: + %t57 = load i32, ptr %t48 + %t58 = icmp ne i32 %t57, 0 + %t59 = zext i1 %t58 to i32 + store i32 %t59, ptr %t47 + br i1 %t58, label %scend19, label %sc18 +sc18: + %t60 = load ptr, ptr %t0 + %t61 = call i32 @lp_str_eq(ptr %t60, ptr @.str5717) + %t62 = icmp ne i32 %t61, 0 + %t63 = zext i1 %t62 to i32 + store i32 %t63, ptr %t47 + br label %scend19 +scend19: + %t64 = load i32, ptr %t47 + %t65 = icmp ne i32 %t64, 0 + br i1 %t65, label %then20, label %ifend22 +then20: + store i32 1, ptr %retval + br label %ret +ifend22: + %t67 = load ptr, ptr %t0 + %t68 = call i32 @lp_str_eq(ptr %t67, ptr @.str5718) + %t69 = icmp ne i32 %t68, 0 + %t70 = zext i1 %t69 to i32 + store i32 %t70, ptr %t66 + br i1 %t69, label %scend24, label %sc23 +sc23: + %t71 = load ptr, ptr %t0 + %t72 = call i32 @lp_str_eq(ptr %t71, ptr @.str5719) + %t73 = icmp ne i32 %t72, 0 + %t74 = zext i1 %t73 to i32 + store i32 %t74, ptr %t66 + br label %scend24 +scend24: + %t75 = load i32, ptr %t66 + %t76 = icmp ne i32 %t75, 0 + br i1 %t76, label %then25, label %ifend27 +then25: + store i32 1, ptr %retval + br label %ret +ifend27: + store i32 0, ptr %retval + br label %ret +ret: + %t77 = load i32, ptr %retval + ret i32 %t77 +} + +define ptr @fn_dt_concat(ptr %arg_a, ptr %arg_b) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t1 = alloca ptr + store ptr %arg_a, ptr %t0 + store ptr %arg_b, ptr %t1 + %t2 = load ptr, ptr %t0 + %t3 = call ptr @lp_str_concat(ptr @.str5720, ptr %t2) + %t4 = call ptr @lp_str_concat(ptr %t3, ptr @.str5721) + %t5 = load ptr, ptr %t1 + %t6 = call ptr @lp_str_concat(ptr %t4, ptr %t5) + %t7 = call ptr @lp_str_concat(ptr %t6, ptr @.str5722) + %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 @.str5723) + 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 @.str5724) + store ptr %t41, ptr %t42 + %t43 = call ptr @fn_emit_alloca(ptr @.str5725) + store ptr %t43, ptr %t44 + %t45 = call ptr @fn_emit_alloca(ptr @.str5726) + store ptr %t45, ptr %t46 + %t47 = load ptr, ptr %t40 + %t48 = call ptr @lp_str_concat(ptr @.str5727, ptr %t47) + %t49 = call ptr @lp_str_concat(ptr %t48, ptr @.str5728) + %t50 = load ptr, ptr %t42 + %t51 = call ptr @lp_str_concat(ptr %t49, ptr %t50) + %t52 = call ptr @lp_str_concat(ptr %t51, ptr @.str5729) + %t53 = load ptr, ptr %t44 + %t54 = call ptr @lp_str_concat(ptr %t52, ptr %t53) + %t55 = call ptr @lp_str_concat(ptr %t54, ptr @.str5730) + %t56 = load ptr, ptr %t46 + %t57 = call ptr @lp_str_concat(ptr %t55, ptr %t56) + %t58 = call ptr @lp_str_concat(ptr %t57, ptr @.str5731) + call void @fn_emit(ptr %t58) + %t59 = load ptr, ptr %t42 + %t60 = call ptr @lp_str_concat(ptr @.str5732, ptr %t59) + %t61 = call ptr @fn_emit_bind(ptr %t60) + store ptr %t61, ptr %t62 + %t63 = load ptr, ptr %t44 + %t64 = call ptr @lp_str_concat(ptr @.str5733, ptr %t63) + %t65 = call ptr @fn_emit_bind(ptr %t64) + store ptr %t65, ptr %t66 + %t67 = load ptr, ptr %t46 + %t68 = call ptr @lp_str_concat(ptr @.str5734, ptr %t67) + %t69 = call ptr @fn_emit_bind(ptr %t68) + store ptr %t69, ptr %t70 + %t71 = load ptr, ptr %t21 + %t72 = getelementptr inbounds %Cmp_Val, ptr %t71, i32 0, i32 0 + %t73 = load ptr, ptr %t72 + %t74 = call ptr @fn_dt_secofday(ptr %t73) + store ptr %t74, ptr %t75 + %t76 = load ptr, ptr %t75 + %t77 = call ptr @lp_str_concat(ptr @.str5735, ptr %t76) + %t78 = call ptr @lp_str_concat(ptr %t77, ptr @.str5736) + %t79 = call ptr @fn_emit_bind(ptr %t78) + store ptr %t79, ptr %t80 + %t81 = load ptr, ptr %t75 + %t82 = call ptr @lp_str_concat(ptr @.str5737, ptr %t81) + %t83 = call ptr @lp_str_concat(ptr %t82, ptr @.str5738) + %t84 = call ptr @fn_emit_bind(ptr %t83) + store ptr %t84, ptr %t85 + %t86 = load ptr, ptr %t85 + %t87 = call ptr @lp_str_concat(ptr @.str5739, ptr %t86) + %t88 = call ptr @lp_str_concat(ptr %t87, ptr @.str5740) + %t89 = call ptr @fn_emit_bind(ptr %t88) + store ptr %t89, ptr %t90 + %t91 = load ptr, ptr %t75 + %t92 = call ptr @lp_str_concat(ptr @.str5741, ptr %t91) + %t93 = call ptr @lp_str_concat(ptr %t92, ptr @.str5742) + %t94 = call ptr @fn_emit_bind(ptr %t93) + store ptr %t94, ptr %t95 + %t96 = load ptr, ptr %t62 + %t97 = call ptr @lp_str_concat(ptr @.str5743, ptr %t96) + %t98 = call ptr @lp_str_concat(ptr %t97, ptr @.str5744) + %t99 = call ptr @fn_emit_bind(ptr %t98) + store ptr %t99, ptr %t100 + %t101 = call ptr @fn_emit_str_const(ptr @.str5745) + 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 @.str5746, 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 @.str5747, 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 @.str5748, 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 @.str5749, 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 @.str5750, 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 @.str5751, 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 @.str5752, i32 2) + %t154 = icmp ne i32 %t153, 0 + br i1 %t154, label %then24, label %ifend26 +then24: + %t155 = load ptr, ptr %t95 + store ptr %t155, ptr %t111 + store i32 2, ptr %t112 + store i32 2, ptr %t113 + br label %ifend26 +ifend26: + br label %ifend23 +ifend23: + br label %ifend20 +ifend20: + br label %ifend17 +ifend17: + br label %ifend14 +ifend14: + br label %ifend11 +ifend11: + br label %ifend8 +ifend8: + %t156 = load ptr, ptr %t111 + %t157 = icmp eq ptr %t156, null + %t158 = zext i1 %t157 to i32 + %t159 = icmp ne i32 %t158, 0 + br i1 %t159, label %then27, label %else28 +then27: + %t160 = load ptr, ptr %t104 + %t161 = load ptr, ptr %t31 + %t162 = load i32, ptr %t105 + %t163 = getelementptr inbounds i8, ptr %t161, i32 %t162 + %t164 = load i8, ptr %t163 + %t165 = zext i8 %t164 to i32 + call void @fn_buf_putc(ptr %t160, i32 %t165) + %t166 = load i32, ptr %t105 + %t167 = add i32 %t166, 1 + store i32 %t167, ptr %t105 + br label %ifend29 +else28: + %t168 = load ptr, ptr %t104 + %t169 = call ptr @fn_buf_str(ptr %t168) + store ptr %t169, ptr %t170 + %t171 = load ptr, ptr %t170 + %t172 = call i64 @strlen(ptr %t171) + %t173 = trunc i64 %t172 to i32 + %t174 = icmp sgt i32 %t173, 0 + %t175 = zext i1 %t174 to i32 + %t176 = icmp ne i32 %t175, 0 + br i1 %t176, label %then30, label %ifend32 +then30: + %t177 = load ptr, ptr %t102 + %t178 = load ptr, ptr %t170 + %t179 = call ptr @fn_emit_str_const(ptr %t178) + %t180 = call ptr @fn_dt_concat(ptr %t177, ptr %t179) + store ptr %t180, ptr %t102 + br label %ifend32 +ifend32: + %t181 = load ptr, ptr %t111 + %t182 = call ptr @lp_str_concat(ptr @.str5753, ptr %t181) + %t183 = call ptr @lp_str_concat(ptr %t182, ptr @.str5754) + %t184 = load i32, ptr %t112 + %t185 = call ptr @lp_int_str(i32 %t184) + %t186 = call ptr @lp_str_concat(ptr %t183, ptr %t185) + %t187 = call ptr @lp_str_concat(ptr %t186, ptr @.str5755) + %t188 = call ptr @fn_emit_bind(ptr %t187) + store ptr %t188, ptr %t189 + %t190 = load ptr, ptr %t102 + %t191 = load ptr, ptr %t189 + %t192 = call ptr @fn_dt_concat(ptr %t190, ptr %t191) + store ptr %t192, ptr %t102 + %t193 = load ptr, ptr %t104 + %t194 = getelementptr inbounds %Cmp_Buf, ptr %t193, i32 0, i32 1 + store i32 0, ptr %t194 + %t195 = load i32, ptr %t113 + %t196 = load i32, ptr %t105 + %t197 = add i32 %t196, %t195 + store i32 %t197, ptr %t105 + br label %ifend29 +ifend29: + br label %wcond3 +wend5: + %t198 = load ptr, ptr %t104 + %t199 = call ptr @fn_buf_str(ptr %t198) + store ptr %t199, ptr %t200 + %t201 = load ptr, ptr %t200 + %t202 = call i64 @strlen(ptr %t201) + %t203 = trunc i64 %t202 to i32 + %t204 = icmp sgt i32 %t203, 0 + %t205 = zext i1 %t204 to i32 + %t206 = icmp ne i32 %t205, 0 + br i1 %t206, label %then33, label %ifend35 +then33: + %t207 = load ptr, ptr %t102 + %t208 = load ptr, ptr %t200 + %t209 = call ptr @fn_emit_str_const(ptr %t208) + %t210 = call ptr @fn_dt_concat(ptr %t207, ptr %t209) + store ptr %t210, ptr %t102 + br label %ifend35 +ifend35: + %t211 = load ptr, ptr %t102 + %t212 = call ptr @fn_val(ptr %t211, ptr @.str5756) + 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 @.str5757) + 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 @.str5758) + store ptr %t36, ptr %t37 + %t38 = load ptr, ptr %t37 + call void @fn_store_at(ptr @.str5759, ptr @.str5760, ptr %t38) + %t39 = call ptr @fn_emit_alloca(ptr @.str5761) + store ptr %t39, ptr %t40 + %t41 = load ptr, ptr %t40 + call void @fn_store_at(ptr @.str5762, ptr @.str5763, ptr %t41) + %t42 = call ptr @fn_emit_alloca(ptr @.str5764) + store ptr %t42, ptr %t43 + %t44 = load ptr, ptr %t43 + call void @fn_store_at(ptr @.str5765, ptr @.str5766, ptr %t44) + %t45 = call ptr @fn_emit_alloca(ptr @.str5767) + store ptr %t45, ptr %t46 + %t47 = load ptr, ptr %t46 + call void @fn_store_at(ptr @.str5768, ptr @.str5769, ptr %t47) + %t48 = call ptr @fn_emit_alloca(ptr @.str5770) + store ptr %t48, ptr %t49 + %t50 = load ptr, ptr %t49 + call void @fn_store_at(ptr @.str5771, ptr @.str5772, ptr %t50) + %t51 = call ptr @fn_emit_alloca(ptr @.str5773) + store ptr %t51, ptr %t52 + %t53 = load ptr, ptr %t52 + call void @fn_store_at(ptr @.str5774, ptr @.str5775, ptr %t53) + %t54 = call ptr @fn_emit_alloca(ptr @.str5776) + store ptr %t54, ptr %t55 + %t56 = load ptr, ptr %t55 + call void @fn_store_at(ptr @.str5777, ptr @.str5778, 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 @.str5779, 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 @.str5780, 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 @.str5781, 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 @.str5782, 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 @.str5783, 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 @.str5784, i32 2) + %t101 = icmp ne i32 %t100, 0 + br i1 %t101, label %then21, label %ifend23 +then21: + %t102 = load ptr, ptr %t55 + store ptr %t102, ptr %t64 + store i32 2, ptr %t65 + store i32 2, ptr %t66 + br label %ifend23 +ifend23: + br label %ifend20 +ifend20: + br label %ifend17 +ifend17: + br label %ifend14 +ifend14: + br label %ifend11 +ifend11: + br label %ifend8 +ifend8: + %t103 = load ptr, ptr %t64 + %t104 = icmp eq ptr %t103, null + %t105 = zext i1 %t104 to i32 + %t106 = icmp ne i32 %t105, 0 + br i1 %t106, label %then24, label %else25 +then24: + %t107 = load i32, ptr %t57 + %t108 = add i32 %t107, 1 + store i32 %t108, ptr %t57 + %t109 = load i32, ptr %t58 + %t110 = add i32 %t109, 1 + store i32 %t110, ptr %t58 + br label %ifend26 +else25: + %t111 = load ptr, ptr %t21 + %t112 = getelementptr inbounds %Cmp_Val, ptr %t111, i32 0, i32 0 + %t113 = load ptr, ptr %t112 + %t114 = call ptr @lp_str_concat(ptr @.str5785, ptr %t113) + %t115 = call ptr @lp_str_concat(ptr %t114, ptr @.str5786) + %t116 = load i32, ptr %t57 + %t117 = call ptr @fn_itoa(i32 %t116) + %t118 = call ptr @lp_str_concat(ptr %t115, ptr %t117) + %t119 = call ptr @lp_str_concat(ptr %t118, ptr @.str5787) + %t120 = load i32, ptr %t65 + %t121 = call ptr @lp_int_str(i32 %t120) + %t122 = call ptr @lp_str_concat(ptr %t119, ptr %t121) + %t123 = call ptr @lp_str_concat(ptr %t122, ptr @.str5788) + %t124 = load ptr, ptr %t37 + %t125 = call ptr @lp_str_concat(ptr %t123, ptr %t124) + %t126 = call ptr @lp_str_concat(ptr %t125, ptr @.str5789) + %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 @.str5790, ptr %t129, ptr %t130) + %t131 = load i32, ptr %t65 + %t132 = load i32, ptr %t57 + %t133 = add i32 %t132, %t131 + store i32 %t133, ptr %t57 + %t134 = load i32, ptr %t66 + %t135 = load i32, ptr %t58 + %t136 = add i32 %t135, %t134 + store i32 %t136, ptr %t58 + br label %ifend26 +ifend26: + br label %wcond3 +wend5: + %t137 = load ptr, ptr %t40 + %t138 = call ptr @lp_str_concat(ptr @.str5791, ptr %t137) + %t139 = call ptr @fn_emit_bind(ptr %t138) + store ptr %t139, ptr %t140 + %t141 = load ptr, ptr %t43 + %t142 = call ptr @lp_str_concat(ptr @.str5792, ptr %t141) + %t143 = call ptr @fn_emit_bind(ptr %t142) + store ptr %t143, ptr %t144 + %t145 = load ptr, ptr %t46 + %t146 = call ptr @lp_str_concat(ptr @.str5793, ptr %t145) + %t147 = call ptr @fn_emit_bind(ptr %t146) + store ptr %t147, ptr %t148 + %t149 = load ptr, ptr %t49 + %t150 = call ptr @lp_str_concat(ptr @.str5794, ptr %t149) + %t151 = call ptr @fn_emit_bind(ptr %t150) + store ptr %t151, ptr %t152 + %t153 = load ptr, ptr %t52 + %t154 = call ptr @lp_str_concat(ptr @.str5795, ptr %t153) + %t155 = call ptr @fn_emit_bind(ptr %t154) + store ptr %t155, ptr %t156 + %t157 = load ptr, ptr %t55 + %t158 = call ptr @lp_str_concat(ptr @.str5796, ptr %t157) + %t159 = call ptr @fn_emit_bind(ptr %t158) + store ptr %t159, ptr %t160 + %t161 = load ptr, ptr %t140 + %t162 = call ptr @lp_str_concat(ptr @.str5797, ptr %t161) + %t163 = call ptr @lp_str_concat(ptr %t162, ptr @.str5798) + %t164 = load ptr, ptr %t144 + %t165 = call ptr @lp_str_concat(ptr %t163, ptr %t164) + %t166 = call ptr @lp_str_concat(ptr %t165, ptr @.str5799) + %t167 = load ptr, ptr %t148 + %t168 = call ptr @lp_str_concat(ptr %t166, ptr %t167) + %t169 = call ptr @lp_str_concat(ptr %t168, ptr @.str5800) + %t170 = call ptr @fn_emit_bind(ptr %t169) + store ptr %t170, ptr %t171 + %t172 = load ptr, ptr %t171 + %t173 = call ptr @lp_str_concat(ptr @.str5801, ptr %t172) + %t174 = call ptr @lp_str_concat(ptr %t173, ptr @.str5802) + %t175 = call ptr @fn_emit_bind(ptr %t174) + store ptr %t175, ptr %t176 + %t177 = load ptr, ptr %t152 + %t178 = call ptr @lp_str_concat(ptr @.str5803, ptr %t177) + %t179 = call ptr @lp_str_concat(ptr %t178, ptr @.str5804) + %t180 = call ptr @fn_emit_bind(ptr %t179) + store ptr %t180, ptr %t181 + %t182 = load ptr, ptr %t156 + %t183 = call ptr @lp_str_concat(ptr @.str5805, ptr %t182) + %t184 = call ptr @lp_str_concat(ptr %t183, ptr @.str5806) + %t185 = call ptr @fn_emit_bind(ptr %t184) + store ptr %t185, ptr %t186 + %t187 = load ptr, ptr %t176 + %t188 = call ptr @lp_str_concat(ptr @.str5807, ptr %t187) + %t189 = call ptr @lp_str_concat(ptr %t188, ptr @.str5808) + %t190 = load ptr, ptr %t181 + %t191 = call ptr @lp_str_concat(ptr %t189, ptr %t190) + %t192 = call ptr @fn_emit_bind(ptr %t191) + store ptr %t192, ptr %t193 + %t194 = load ptr, ptr %t193 + %t195 = call ptr @lp_str_concat(ptr @.str5809, ptr %t194) + %t196 = call ptr @lp_str_concat(ptr %t195, ptr @.str5810) + %t197 = load ptr, ptr %t186 + %t198 = call ptr @lp_str_concat(ptr %t196, ptr %t197) + %t199 = call ptr @fn_emit_bind(ptr %t198) + store ptr %t199, ptr %t200 + %t201 = load ptr, ptr %t200 + %t202 = call ptr @lp_str_concat(ptr @.str5811, ptr %t201) + %t203 = call ptr @lp_str_concat(ptr %t202, ptr @.str5812) + %t204 = load ptr, ptr %t160 + %t205 = call ptr @lp_str_concat(ptr %t203, ptr %t204) + %t206 = call ptr @fn_emit_bind(ptr %t205) + store ptr %t206, ptr %t207 + %t208 = load ptr, ptr %t37 + %t209 = call ptr @lp_str_concat(ptr @.str5813, ptr %t208) + %t210 = call ptr @fn_emit_bind(ptr %t209) + store ptr %t210, ptr %t211 + %t212 = load ptr, ptr %t211 + %t213 = call ptr @lp_str_concat(ptr @.str5814, ptr %t212) + %t214 = call ptr @lp_str_concat(ptr %t213, ptr @.str5815) + %t215 = call ptr @fn_emit_bind(ptr %t214) + store ptr %t215, ptr %t216 + %t217 = load ptr, ptr %t216 + %t218 = call ptr @lp_str_concat(ptr @.str5816, ptr %t217) + %t219 = call ptr @lp_str_concat(ptr %t218, ptr @.str5817) + %t220 = load ptr, ptr %t207 + %t221 = call ptr @lp_str_concat(ptr %t219, ptr %t220) + %t222 = call ptr @fn_emit_bind(ptr %t221) + %t223 = call ptr @fn_val(ptr %t222, ptr @.str5818) + store ptr %t223, ptr %retval + br label %ret +ret: + %t224 = load ptr, ptr %retval + ret ptr %t224 +} + +define ptr @fn_emit_datetime_ns(ptr %arg_meth, ptr %arg_e) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t1 = alloca ptr + %t23 = alloca ptr + %t32 = alloca ptr + %t41 = alloca ptr + %t50 = alloca ptr + %t59 = alloca ptr + %t68 = alloca ptr + %t85 = alloca ptr + %t90 = alloca ptr + %t97 = alloca ptr + %t104 = alloca ptr + %t111 = alloca ptr + %t118 = alloca ptr + %t139 = alloca ptr + %t156 = alloca ptr + %t165 = alloca ptr + %t188 = alloca ptr + %t206 = alloca ptr + %t224 = alloca ptr + %t242 = alloca ptr + %t247 = alloca ptr + %t252 = alloca ptr + %t257 = alloca ptr + %t262 = alloca ptr + %t279 = alloca ptr + %t284 = alloca ptr + %t301 = alloca ptr + %t306 = alloca ptr + %t311 = alloca ptr + %t325 = alloca ptr + %t330 = alloca ptr + store ptr %arg_meth, ptr %t0 + store ptr %arg_e, ptr %t1 + %t2 = load ptr, ptr %t0 + %t3 = call i32 @lp_str_eq(ptr %t2, ptr @.str5819) + %t4 = icmp ne i32 %t3, 0 + br i1 %t4, label %then0, label %ifend2 +then0: + %t5 = load ptr, ptr %t1 + %t6 = call ptr @fn_emit_datetime_format(ptr %t5) + store ptr %t6, ptr %retval + br label %ret +ifend2: + %t7 = load ptr, ptr %t0 + %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str5820) + %t9 = icmp ne i32 %t8, 0 + br i1 %t9, label %then3, label %ifend5 +then3: + %t10 = load ptr, ptr %t1 + %t11 = call ptr @fn_emit_datetime_parse(ptr %t10) + store ptr %t11, ptr %retval + br label %ret +ifend5: + %t12 = load ptr, ptr %t0 + %t13 = call i32 @lp_str_eq(ptr %t12, ptr @.str5821) + %t14 = icmp ne i32 %t13, 0 + br i1 %t14, label %then6, label %ifend8 +then6: + store i32 1, ptr @g_g_uses_datert + %t15 = load ptr, ptr %t1 + %t16 = getelementptr inbounds %Cmp_Node, ptr %t15, i32 0, i32 7 + %t17 = load ptr, ptr %t16 + %t18 = getelementptr inbounds %LSlice, ptr %t17, i32 0, i32 0 + %t19 = load ptr, ptr %t18 + %t20 = getelementptr inbounds ptr, ptr %t19, i32 0 + %t21 = load ptr, ptr %t20 + %t22 = call ptr @fn_emit_expr(ptr %t21) + store ptr %t22, ptr %t23 + %t24 = load ptr, ptr %t1 + %t25 = getelementptr inbounds %Cmp_Node, ptr %t24, i32 0, i32 7 + %t26 = load ptr, ptr %t25 + %t27 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 0 + %t28 = load ptr, ptr %t27 + %t29 = getelementptr inbounds ptr, ptr %t28, i32 1 + %t30 = load ptr, ptr %t29 + %t31 = call ptr @fn_emit_expr(ptr %t30) + store ptr %t31, ptr %t32 + %t33 = load ptr, ptr %t1 + %t34 = getelementptr inbounds %Cmp_Node, ptr %t33, i32 0, i32 7 + %t35 = load ptr, ptr %t34 + %t36 = getelementptr inbounds %LSlice, ptr %t35, i32 0, i32 0 + %t37 = load ptr, ptr %t36 + %t38 = getelementptr inbounds ptr, ptr %t37, i32 2 + %t39 = load ptr, ptr %t38 + %t40 = call ptr @fn_emit_expr(ptr %t39) + store ptr %t40, ptr %t41 + %t42 = load ptr, ptr %t1 + %t43 = getelementptr inbounds %Cmp_Node, ptr %t42, i32 0, i32 7 + %t44 = load ptr, ptr %t43 + %t45 = getelementptr inbounds %LSlice, ptr %t44, i32 0, i32 0 + %t46 = load ptr, ptr %t45 + %t47 = getelementptr inbounds ptr, ptr %t46, i32 3 + %t48 = load ptr, ptr %t47 + %t49 = call ptr @fn_emit_expr(ptr %t48) + store ptr %t49, ptr %t50 + %t51 = load ptr, ptr %t1 + %t52 = getelementptr inbounds %Cmp_Node, ptr %t51, i32 0, i32 7 + %t53 = load ptr, ptr %t52 + %t54 = getelementptr inbounds %LSlice, ptr %t53, i32 0, i32 0 + %t55 = load ptr, ptr %t54 + %t56 = getelementptr inbounds ptr, ptr %t55, i32 4 + %t57 = load ptr, ptr %t56 + %t58 = call ptr @fn_emit_expr(ptr %t57) + store ptr %t58, ptr %t59 + %t60 = load ptr, ptr %t1 + %t61 = getelementptr inbounds %Cmp_Node, ptr %t60, i32 0, i32 7 + %t62 = load ptr, ptr %t61 + %t63 = getelementptr inbounds %LSlice, ptr %t62, i32 0, i32 0 + %t64 = load ptr, ptr %t63 + %t65 = getelementptr inbounds ptr, ptr %t64, i32 5 + %t66 = load ptr, ptr %t65 + %t67 = call ptr @fn_emit_expr(ptr %t66) + store ptr %t67, ptr %t68 + %t69 = load ptr, ptr %t23 + %t70 = getelementptr inbounds %Cmp_Val, ptr %t69, i32 0, i32 0 + %t71 = load ptr, ptr %t70 + %t72 = call ptr @lp_str_concat(ptr @.str5822, ptr %t71) + %t73 = call ptr @lp_str_concat(ptr %t72, ptr @.str5823) + %t74 = load ptr, ptr %t32 + %t75 = getelementptr inbounds %Cmp_Val, ptr %t74, i32 0, i32 0 + %t76 = load ptr, ptr %t75 + %t77 = call ptr @lp_str_concat(ptr %t73, ptr %t76) + %t78 = call ptr @lp_str_concat(ptr %t77, ptr @.str5824) + %t79 = load ptr, ptr %t41 + %t80 = getelementptr inbounds %Cmp_Val, ptr %t79, i32 0, i32 0 + %t81 = load ptr, ptr %t80 + %t82 = call ptr @lp_str_concat(ptr %t78, ptr %t81) + %t83 = call ptr @lp_str_concat(ptr %t82, ptr @.str5825) + %t84 = call ptr @fn_emit_bind(ptr %t83) + store ptr %t84, ptr %t85 + %t86 = load ptr, ptr %t85 + %t87 = call ptr @lp_str_concat(ptr @.str5826, ptr %t86) + %t88 = call ptr @lp_str_concat(ptr %t87, ptr @.str5827) + %t89 = call ptr @fn_emit_bind(ptr %t88) + store ptr %t89, ptr %t90 + %t91 = load ptr, ptr %t50 + %t92 = getelementptr inbounds %Cmp_Val, ptr %t91, i32 0, i32 0 + %t93 = load ptr, ptr %t92 + %t94 = call ptr @lp_str_concat(ptr @.str5828, ptr %t93) + %t95 = call ptr @lp_str_concat(ptr %t94, ptr @.str5829) + %t96 = call ptr @fn_emit_bind(ptr %t95) + store ptr %t96, ptr %t97 + %t98 = load ptr, ptr %t59 + %t99 = getelementptr inbounds %Cmp_Val, ptr %t98, i32 0, i32 0 + %t100 = load ptr, ptr %t99 + %t101 = call ptr @lp_str_concat(ptr @.str5830, ptr %t100) + %t102 = call ptr @lp_str_concat(ptr %t101, ptr @.str5831) + %t103 = call ptr @fn_emit_bind(ptr %t102) + store ptr %t103, ptr %t104 + %t105 = load ptr, ptr %t90 + %t106 = call ptr @lp_str_concat(ptr @.str5832, ptr %t105) + %t107 = call ptr @lp_str_concat(ptr %t106, ptr @.str5833) + %t108 = load ptr, ptr %t97 + %t109 = call ptr @lp_str_concat(ptr %t107, ptr %t108) + %t110 = call ptr @fn_emit_bind(ptr %t109) + store ptr %t110, ptr %t111 + %t112 = load ptr, ptr %t111 + %t113 = call ptr @lp_str_concat(ptr @.str5834, ptr %t112) + %t114 = call ptr @lp_str_concat(ptr %t113, ptr @.str5835) + %t115 = load ptr, ptr %t104 + %t116 = call ptr @lp_str_concat(ptr %t114, ptr %t115) + %t117 = call ptr @fn_emit_bind(ptr %t116) + store ptr %t117, ptr %t118 + %t119 = load ptr, ptr %t118 + %t120 = call ptr @lp_str_concat(ptr @.str5836, ptr %t119) + %t121 = call ptr @lp_str_concat(ptr %t120, ptr @.str5837) + %t122 = load ptr, ptr %t68 + %t123 = getelementptr inbounds %Cmp_Val, ptr %t122, i32 0, i32 0 + %t124 = load ptr, ptr %t123 + %t125 = call ptr @lp_str_concat(ptr %t121, ptr %t124) + %t126 = call ptr @fn_emit_bind(ptr %t125) + %t127 = call ptr @fn_val(ptr %t126, ptr @.str5838) + store ptr %t127, ptr %retval + br label %ret +ifend8: + %t128 = load ptr, ptr %t0 + %t129 = call i32 @lp_str_eq(ptr %t128, ptr @.str5839) + %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 @.str5840) + store ptr %t144, ptr %retval + br label %ret +ifend11: + %t145 = load ptr, ptr %t0 + %t146 = call i32 @lp_str_eq(ptr %t145, ptr @.str5841) + %t147 = icmp ne i32 %t146, 0 + br i1 %t147, label %then12, label %ifend14 +then12: + %t148 = load ptr, ptr %t1 + %t149 = getelementptr inbounds %Cmp_Node, ptr %t148, i32 0, i32 7 + %t150 = load ptr, ptr %t149 + %t151 = getelementptr inbounds %LSlice, ptr %t150, i32 0, i32 0 + %t152 = load ptr, ptr %t151 + %t153 = getelementptr inbounds ptr, ptr %t152, i32 0 + %t154 = load ptr, ptr %t153 + %t155 = call ptr @fn_emit_expr(ptr %t154) + store ptr %t155, ptr %t156 + %t157 = load ptr, ptr %t1 + %t158 = getelementptr inbounds %Cmp_Node, ptr %t157, i32 0, i32 7 + %t159 = load ptr, ptr %t158 + %t160 = getelementptr inbounds %LSlice, ptr %t159, i32 0, i32 0 + %t161 = load ptr, ptr %t160 + %t162 = getelementptr inbounds ptr, ptr %t161, i32 1 + %t163 = load ptr, ptr %t162 + %t164 = call ptr @fn_emit_expr(ptr %t163) + store ptr %t164, ptr %t165 + %t166 = load ptr, ptr %t156 + %t167 = getelementptr inbounds %Cmp_Val, ptr %t166, i32 0, i32 0 + %t168 = load ptr, ptr %t167 + %t169 = call ptr @lp_str_concat(ptr @.str5842, ptr %t168) + %t170 = call ptr @lp_str_concat(ptr %t169, ptr @.str5843) + %t171 = load ptr, ptr %t165 + %t172 = getelementptr inbounds %Cmp_Val, ptr %t171, i32 0, i32 0 + %t173 = load ptr, ptr %t172 + %t174 = call ptr @lp_str_concat(ptr %t170, ptr %t173) + %t175 = call ptr @fn_emit_bind(ptr %t174) + %t176 = call ptr @fn_val(ptr %t175, ptr @.str5844) + store ptr %t176, ptr %retval + br label %ret +ifend14: + %t177 = load ptr, ptr %t0 + %t178 = call i32 @lp_str_eq(ptr %t177, ptr @.str5845) + %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 @.str5846) + store ptr %t194, ptr %retval + br label %ret +ifend17: + %t195 = load ptr, ptr %t0 + %t196 = call i32 @lp_str_eq(ptr %t195, ptr @.str5847) + %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 @.str5848) + store ptr %t212, ptr %retval + br label %ret +ifend20: + %t213 = load ptr, ptr %t0 + %t214 = call i32 @lp_str_eq(ptr %t213, ptr @.str5849) + %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 @.str5850) + store ptr %t230, ptr %retval + br label %ret +ifend23: + %t231 = load ptr, ptr %t0 + %t232 = call i32 @lp_str_eq(ptr %t231, ptr @.str5851) + %t233 = icmp ne i32 %t232, 0 + br i1 %t233, label %then24, label %ifend26 +then24: + %t234 = load ptr, ptr %t1 + %t235 = getelementptr inbounds %Cmp_Node, ptr %t234, i32 0, i32 7 + %t236 = load ptr, ptr %t235 + %t237 = getelementptr inbounds %LSlice, ptr %t236, i32 0, i32 0 + %t238 = load ptr, ptr %t237 + %t239 = getelementptr inbounds ptr, ptr %t238, i32 0 + %t240 = load ptr, ptr %t239 + %t241 = call ptr @fn_emit_expr(ptr %t240) + store ptr %t241, ptr %t242 + %t243 = load ptr, ptr %t242 + %t244 = getelementptr inbounds %Cmp_Val, ptr %t243, i32 0, i32 0 + %t245 = load ptr, ptr %t244 + %t246 = call ptr @fn_dt_epochday(ptr %t245) + store ptr %t246, ptr %t247 + %t248 = load ptr, ptr %t247 + %t249 = call ptr @lp_str_concat(ptr @.str5852, ptr %t248) + %t250 = call ptr @lp_str_concat(ptr %t249, ptr @.str5853) + %t251 = call ptr @fn_emit_bind(ptr %t250) + store ptr %t251, ptr %t252 + %t253 = load ptr, ptr %t252 + %t254 = call ptr @lp_str_concat(ptr @.str5854, ptr %t253) + %t255 = call ptr @lp_str_concat(ptr %t254, ptr @.str5855) + %t256 = call ptr @fn_emit_bind(ptr %t255) + store ptr %t256, ptr %t257 + %t258 = load ptr, ptr %t257 + %t259 = call ptr @lp_str_concat(ptr @.str5856, ptr %t258) + %t260 = call ptr @lp_str_concat(ptr %t259, ptr @.str5857) + %t261 = call ptr @fn_emit_bind(ptr %t260) + store ptr %t261, ptr %t262 + %t263 = load ptr, ptr %t262 + %t264 = call ptr @lp_str_concat(ptr @.str5858, ptr %t263) + %t265 = call ptr @lp_str_concat(ptr %t264, ptr @.str5859) + %t266 = call ptr @fn_emit_bind(ptr %t265) + %t267 = call ptr @fn_val(ptr %t266, ptr @.str5860) + store ptr %t267, ptr %retval + br label %ret +ifend26: + %t268 = load ptr, ptr %t0 + %t269 = call i32 @lp_str_eq(ptr %t268, ptr @.str5861) + %t270 = icmp ne i32 %t269, 0 + br i1 %t270, label %then27, label %ifend29 +then27: + %t271 = load ptr, ptr %t1 + %t272 = getelementptr inbounds %Cmp_Node, ptr %t271, i32 0, i32 7 + %t273 = load ptr, ptr %t272 + %t274 = getelementptr inbounds %LSlice, ptr %t273, i32 0, i32 0 + %t275 = load ptr, ptr %t274 + %t276 = getelementptr inbounds ptr, ptr %t275, i32 0 + %t277 = load ptr, ptr %t276 + %t278 = call ptr @fn_emit_expr(ptr %t277) + store ptr %t278, ptr %t279 + %t280 = load ptr, ptr %t279 + %t281 = getelementptr inbounds %Cmp_Val, ptr %t280, i32 0, i32 0 + %t282 = load ptr, ptr %t281 + %t283 = call ptr @fn_dt_secofday(ptr %t282) + store ptr %t283, ptr %t284 + %t285 = load ptr, ptr %t284 + %t286 = call ptr @lp_str_concat(ptr @.str5862, ptr %t285) + %t287 = call ptr @lp_str_concat(ptr %t286, ptr @.str5863) + %t288 = call ptr @fn_emit_bind(ptr %t287) + %t289 = call ptr @fn_val(ptr %t288, ptr @.str5864) + store ptr %t289, ptr %retval + br label %ret +ifend29: + %t290 = load ptr, ptr %t0 + %t291 = call i32 @lp_str_eq(ptr %t290, ptr @.str5865) + %t292 = icmp ne i32 %t291, 0 + br i1 %t292, label %then30, label %ifend32 +then30: + %t293 = load ptr, ptr %t1 + %t294 = getelementptr inbounds %Cmp_Node, ptr %t293, i32 0, i32 7 + %t295 = load ptr, ptr %t294 + %t296 = getelementptr inbounds %LSlice, ptr %t295, i32 0, i32 0 + %t297 = load ptr, ptr %t296 + %t298 = getelementptr inbounds ptr, ptr %t297, i32 0 + %t299 = load ptr, ptr %t298 + %t300 = call ptr @fn_emit_expr(ptr %t299) + store ptr %t300, ptr %t301 + %t302 = load ptr, ptr %t301 + %t303 = getelementptr inbounds %Cmp_Val, ptr %t302, i32 0, i32 0 + %t304 = load ptr, ptr %t303 + %t305 = call ptr @fn_dt_secofday(ptr %t304) + store ptr %t305, ptr %t306 + %t307 = load ptr, ptr %t306 + %t308 = call ptr @lp_str_concat(ptr @.str5866, ptr %t307) + %t309 = call ptr @lp_str_concat(ptr %t308, ptr @.str5867) + %t310 = call ptr @fn_emit_bind(ptr %t309) + store ptr %t310, ptr %t311 + %t312 = load ptr, ptr %t311 + %t313 = call ptr @lp_str_concat(ptr @.str5868, ptr %t312) + %t314 = call ptr @lp_str_concat(ptr %t313, ptr @.str5869) + %t315 = call ptr @fn_emit_bind(ptr %t314) + %t316 = call ptr @fn_val(ptr %t315, ptr @.str5870) + store ptr %t316, ptr %retval + br label %ret +ifend32: + %t317 = load ptr, ptr %t1 + %t318 = getelementptr inbounds %Cmp_Node, ptr %t317, i32 0, i32 7 + %t319 = load ptr, ptr %t318 + %t320 = getelementptr inbounds %LSlice, ptr %t319, i32 0, i32 0 + %t321 = load ptr, ptr %t320 + %t322 = getelementptr inbounds ptr, ptr %t321, i32 0 + %t323 = load ptr, ptr %t322 + %t324 = call ptr @fn_emit_expr(ptr %t323) + store ptr %t324, ptr %t325 + %t326 = load ptr, ptr %t325 + %t327 = getelementptr inbounds %Cmp_Val, ptr %t326, i32 0, i32 0 + %t328 = load ptr, ptr %t327 + %t329 = call ptr @fn_dt_secofday(ptr %t328) + store ptr %t329, ptr %t330 + %t331 = load ptr, ptr %t330 + %t332 = call ptr @lp_str_concat(ptr @.str5871, ptr %t331) + %t333 = call ptr @lp_str_concat(ptr %t332, ptr @.str5872) + %t334 = call ptr @fn_emit_bind(ptr %t333) + %t335 = call ptr @fn_val(ptr %t334, ptr @.str5873) + 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 @.str5874) + call void @fn_emith(ptr @.str5875) + call void @fn_emith(ptr @.str5876) + call void @fn_emith(ptr @.str5877) + call void @fn_emith(ptr @.str5878) + call void @fn_emith(ptr @.str5879) + call void @fn_emith(ptr @.str5880) + call void @fn_emith(ptr @.str5881) + call void @fn_emith(ptr @.str5882) + call void @fn_emith(ptr @.str5883) + call void @fn_emith(ptr @.str5884) + call void @fn_emith(ptr @.str5885) + call void @fn_emith(ptr @.str5886) + call void @fn_emith(ptr @.str5887) + call void @fn_emith(ptr @.str5888) + call void @fn_emith(ptr @.str5889) + call void @fn_emith(ptr @.str5890) + call void @fn_emith(ptr @.str5891) + call void @fn_emith(ptr @.str5892) + call void @fn_emith(ptr @.str5893) + call void @fn_emith(ptr @.str5894) + call void @fn_emith(ptr @.str5895) + call void @fn_emith(ptr @.str5896) + call void @fn_emith(ptr @.str5897) + call void @fn_emith(ptr @.str5898) + call void @fn_emith(ptr @.str5899) + call void @fn_emith(ptr @.str5900) + call void @fn_emith(ptr @.str5901) + call void @fn_emith(ptr @.str5902) + call void @fn_emith(ptr @.str5903) + call void @fn_emith(ptr @.str5904) + call void @fn_emith(ptr @.str5905) + call void @fn_emith(ptr @.str5906) + call void @fn_emith(ptr @.str5907) + call void @fn_emith(ptr @.str5908) + call void @fn_emith(ptr @.str5909) + call void @fn_emith(ptr @.str5910) + call void @fn_emith(ptr @.str5911) + call void @fn_emith(ptr @.str5912) + call void @fn_emith(ptr @.str5913) + call void @fn_emith(ptr @.str5914) + call void @fn_emith(ptr @.str5915) + call void @fn_emith(ptr @.str5916) + call void @fn_emith(ptr @.str5917) + call void @fn_emith(ptr @.str5918) + call void @fn_emith(ptr @.str5919) + call void @fn_emith(ptr @.str5920) + call void @fn_emith(ptr @.str5921) + call void @fn_emith(ptr @.str5922) + call void @fn_emith(ptr @.str5923) + call void @fn_emith(ptr @.str5924) + call void @fn_emith(ptr @.str5925) + call void @fn_emith(ptr @.str5926) + call void @fn_emith(ptr @.str5927) + call void @fn_emith(ptr @.str5928) + call void @fn_emith(ptr @.str5929) + call void @fn_emith(ptr @.str5930) + call void @fn_emith(ptr @.str5931) + call void @fn_emith(ptr @.str5932) + call void @fn_emith(ptr @.str5933) + call void @fn_emith(ptr @.str5934) + call void @fn_emith(ptr @.str5935) + call void @fn_emith(ptr @.str5936) + call void @fn_emith(ptr @.str5937) + call void @fn_emith(ptr @.str5938) + call void @fn_emith(ptr @.str5939) + call void @fn_emith(ptr @.str5940) + call void @fn_emith(ptr @.str5941) + call void @fn_emith(ptr @.str5942) + call void @fn_emith(ptr @.str5943) + call void @fn_emith(ptr @.str5944) + call void @fn_emith(ptr @.str5945) + call void @fn_emith(ptr @.str5946) + call void @fn_emith(ptr @.str5947) + call void @fn_emith(ptr @.str5948) + call void @fn_emith(ptr @.str5949) + call void @fn_emith(ptr @.str5950) + call void @fn_emith(ptr @.str5951) + call void @fn_emith(ptr @.str5952) + call void @fn_emith(ptr @.str5953) + call void @fn_emith(ptr @.str5954) + call void @fn_emith(ptr @.str5955) + call void @fn_emith(ptr @.str5956) + call void @fn_emith(ptr @.str5957) + call void @fn_emith(ptr @.str5958) + call void @fn_emith(ptr @.str5959) + call void @fn_emith(ptr @.str5960) + call void @fn_emith(ptr @.str5961) + call void @fn_emith(ptr @.str5962) + call void @fn_emith(ptr @.str5963) + call void @fn_emith(ptr @.str5964) + call void @fn_emith(ptr @.str5965) + call void @fn_emith(ptr @.str5966) + call void @fn_emith(ptr @.str5967) + call void @fn_emith(ptr @.str5968) + call void @fn_emith(ptr @.str5969) + call void @fn_emith(ptr @.str5970) + call void @fn_emith(ptr @.str5971) + br label %ret +ret: + ret void +} + +define i32 @fn_is_clock_ns(ptr %arg_meth) { +entry: + %retval = alloca i32 + %t0 = alloca ptr + %t1 = alloca i32 + %t2 = alloca i32 + %t3 = alloca i32 + store ptr %arg_meth, ptr %t0 + %t4 = load ptr, ptr %t0 + %t5 = call i32 @lp_str_eq(ptr %t4, ptr @.str5972) + %t6 = icmp ne i32 %t5, 0 + %t7 = zext i1 %t6 to i32 + store i32 %t7, ptr %t3 + br i1 %t6, label %scend1, label %sc0 +sc0: + %t8 = load ptr, ptr %t0 + %t9 = call i32 @lp_str_eq(ptr %t8, ptr @.str5973) + %t10 = icmp ne i32 %t9, 0 + %t11 = zext i1 %t10 to i32 + store i32 %t11, ptr %t3 + br label %scend1 +scend1: + %t12 = load i32, ptr %t3 + %t13 = icmp ne i32 %t12, 0 + %t14 = zext i1 %t13 to i32 + store i32 %t14, ptr %t2 + br i1 %t13, label %scend3, label %sc2 +sc2: + %t15 = load ptr, ptr %t0 + %t16 = call i32 @lp_str_eq(ptr %t15, ptr @.str5974) + %t17 = icmp ne i32 %t16, 0 + %t18 = zext i1 %t17 to i32 + store i32 %t18, ptr %t2 + br label %scend3 +scend3: + %t19 = load i32, ptr %t2 + %t20 = icmp ne i32 %t19, 0 + %t21 = zext i1 %t20 to i32 + store i32 %t21, ptr %t1 + br i1 %t20, label %scend5, label %sc4 +sc4: + %t22 = load ptr, ptr %t0 + %t23 = call i32 @lp_str_eq(ptr %t22, ptr @.str5975) + %t24 = icmp ne i32 %t23, 0 + %t25 = zext i1 %t24 to i32 + store i32 %t25, ptr %t1 + br label %scend5 +scend5: + %t26 = load i32, ptr %t1 + %t27 = icmp ne i32 %t26, 0 + br i1 %t27, label %then6, label %ifend8 +then6: + store i32 1, ptr %retval + br label %ret +ifend8: + store i32 0, ptr %retval + br label %ret +ret: + %t28 = load i32, ptr %retval + ret i32 %t28 +} + +define ptr @fn_emit_clock_ns(ptr %arg_meth, ptr %arg_e) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t1 = alloca ptr + %t22 = alloca ptr + %t37 = alloca ptr + %t39 = alloca ptr + %t48 = alloca ptr + store ptr %arg_meth, ptr %t0 + store ptr %arg_e, ptr %t1 + %t2 = load ptr, ptr %t0 + %t3 = call i32 @lp_str_eq(ptr %t2, ptr @.str5976) + %t4 = icmp ne i32 %t3, 0 + br i1 %t4, label %then0, label %ifend2 +then0: + %t5 = call ptr @fn_emit_bind(ptr @.str5977) + %t6 = call ptr @fn_val(ptr %t5, ptr @.str5978) + store ptr %t6, ptr %retval + br label %ret +ifend2: + %t7 = load ptr, ptr %t0 + %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str5979) + %t9 = icmp ne i32 %t8, 0 + br i1 %t9, label %then3, label %ifend5 +then3: + call void @fn_emit(ptr @.str5980) + %t10 = call ptr @fn_val(ptr @.str5981, ptr @.str5982) + store ptr %t10, ptr %retval + br label %ret +ifend5: + %t11 = load ptr, ptr %t0 + %t12 = call i32 @lp_str_eq(ptr %t11, ptr @.str5983) + %t13 = icmp ne i32 %t12, 0 + br i1 %t13, label %then6, label %ifend8 +then6: + %t14 = load ptr, ptr %t1 + %t15 = getelementptr inbounds %Cmp_Node, ptr %t14, i32 0, i32 7 + %t16 = load ptr, ptr %t15 + %t17 = getelementptr inbounds %LSlice, ptr %t16, i32 0, i32 0 + %t18 = load ptr, ptr %t17 + %t19 = getelementptr inbounds ptr, ptr %t18, i32 0 + %t20 = load ptr, ptr %t19 + %t21 = call ptr @fn_emit_expr(ptr %t20) + store ptr %t21, ptr %t22 + %t23 = load ptr, ptr %t22 + %t24 = getelementptr inbounds %Cmp_Val, ptr %t23, i32 0, i32 0 + %t25 = load ptr, ptr %t24 + %t26 = call ptr @lp_str_concat(ptr @.str5984, ptr %t25) + %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str5985) + call void @fn_emit(ptr %t27) + %t28 = call ptr @fn_val(ptr @.str5986, ptr @.str5987) + 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 @.str5988) + store ptr %t38, ptr %t39 + %t40 = load ptr, ptr %t39 + %t41 = call ptr @lp_str_concat(ptr @.str5989, ptr %t40) + %t42 = call ptr @lp_str_concat(ptr %t41, ptr @.str5990) + %t43 = load ptr, ptr %t37 + %t44 = getelementptr inbounds %Cmp_Val, ptr %t43, i32 0, i32 0 + %t45 = load ptr, ptr %t44 + %t46 = call ptr @lp_str_concat(ptr %t42, ptr %t45) + %t47 = call ptr @fn_emit_bind(ptr %t46) + store ptr %t47, ptr %t48 + %t49 = load ptr, ptr %t48 + %t50 = call ptr @lp_str_concat(ptr @.str5991, ptr %t49) + %t51 = call ptr @lp_str_concat(ptr %t50, ptr @.str5992) + call void @fn_emit(ptr %t51) + %t52 = call ptr @fn_val(ptr @.str5993, ptr @.str5994) + store ptr %t52, ptr %retval + br label %ret +ret: + %t53 = load ptr, ptr %retval + ret ptr %t53 +} + +define i32 @fn_is_colorfn_ns(ptr %arg_meth) { +entry: + %retval = alloca i32 + %t0 = alloca ptr + %t1 = alloca i32 + %t2 = alloca i32 + %t20 = alloca i32 + %t21 = alloca i32 + store ptr %arg_meth, ptr %t0 + %t3 = load ptr, ptr %t0 + %t4 = call i32 @lp_str_eq(ptr %t3, ptr @.str5995) + %t5 = icmp ne i32 %t4, 0 + %t6 = zext i1 %t5 to i32 + store i32 %t6, ptr %t2 + br i1 %t5, label %scend1, label %sc0 +sc0: + %t7 = load ptr, ptr %t0 + %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str5996) + %t9 = icmp ne i32 %t8, 0 + %t10 = zext i1 %t9 to i32 + store i32 %t10, ptr %t2 + br label %scend1 +scend1: + %t11 = load i32, ptr %t2 + %t12 = icmp ne i32 %t11, 0 + %t13 = zext i1 %t12 to i32 + store i32 %t13, ptr %t1 + br i1 %t12, label %scend3, label %sc2 +sc2: + %t14 = load ptr, ptr %t0 + %t15 = call i32 @lp_str_eq(ptr %t14, ptr @.str5997) + %t16 = icmp ne i32 %t15, 0 + %t17 = zext i1 %t16 to i32 + store i32 %t17, ptr %t1 + br label %scend3 +scend3: + %t18 = load i32, ptr %t1 + %t19 = icmp ne i32 %t18, 0 + br i1 %t19, label %then4, label %ifend6 +then4: + store i32 1, ptr %retval + br label %ret +ifend6: + %t22 = load ptr, ptr %t0 + %t23 = call i32 @lp_str_eq(ptr %t22, ptr @.str5998) + %t24 = icmp ne i32 %t23, 0 + %t25 = zext i1 %t24 to i32 + store i32 %t25, ptr %t21 + br i1 %t24, label %scend8, label %sc7 +sc7: + %t26 = load ptr, ptr %t0 + %t27 = call i32 @lp_str_eq(ptr %t26, ptr @.str5999) + %t28 = icmp ne i32 %t27, 0 + %t29 = zext i1 %t28 to i32 + store i32 %t29, ptr %t21 + br label %scend8 +scend8: + %t30 = load i32, ptr %t21 + %t31 = icmp ne i32 %t30, 0 + %t32 = zext i1 %t31 to i32 + store i32 %t32, ptr %t20 + br i1 %t31, label %scend10, label %sc9 +sc9: + %t33 = load ptr, ptr %t0 + %t34 = call i32 @lp_str_eq(ptr %t33, ptr @.str6000) + %t35 = icmp ne i32 %t34, 0 + %t36 = zext i1 %t35 to i32 + store i32 %t36, ptr %t20 + br label %scend10 +scend10: + %t37 = load i32, ptr %t20 + %t38 = icmp ne i32 %t37, 0 + br i1 %t38, label %then11, label %ifend13 +then11: + store i32 1, ptr %retval + br label %ret +ifend13: + store i32 0, ptr %retval + br label %ret +ret: + %t39 = load i32, ptr %retval + ret i32 %t39 +} + +define ptr @fn_color_ch(ptr %arg_c, ptr %arg_shift) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t1 = alloca ptr + %t8 = alloca ptr + store ptr %arg_c, ptr %t0 + store ptr %arg_shift, ptr %t1 + %t2 = load ptr, ptr %t0 + %t3 = call ptr @lp_str_concat(ptr @.str6001, ptr %t2) + %t4 = call ptr @lp_str_concat(ptr %t3, ptr @.str6002) + %t5 = load ptr, ptr %t1 + %t6 = call ptr @lp_str_concat(ptr %t4, ptr %t5) + %t7 = call ptr @fn_emit_bind(ptr %t6) + store ptr %t7, ptr %t8 + %t9 = load ptr, ptr %t8 + %t10 = call ptr @lp_str_concat(ptr @.str6003, ptr %t9) + %t11 = call ptr @lp_str_concat(ptr %t10, ptr @.str6004) + %t12 = call ptr @fn_emit_bind(ptr %t11) + store ptr %t12, ptr %retval + br label %ret +ret: + %t13 = load ptr, ptr %retval + ret ptr %t13 +} + +define ptr @fn_color_pack(ptr %arg_r, ptr %arg_g, ptr %arg_b) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t1 = alloca ptr + %t2 = alloca ptr + %t7 = alloca ptr + %t12 = alloca ptr + %t19 = alloca ptr + store ptr %arg_r, ptr %t0 + store ptr %arg_g, ptr %t1 + store ptr %arg_b, ptr %t2 + %t3 = load ptr, ptr %t0 + %t4 = call ptr @lp_str_concat(ptr @.str6005, ptr %t3) + %t5 = call ptr @lp_str_concat(ptr %t4, ptr @.str6006) + %t6 = call ptr @fn_emit_bind(ptr %t5) + store ptr %t6, ptr %t7 + %t8 = load ptr, ptr %t1 + %t9 = call ptr @lp_str_concat(ptr @.str6007, ptr %t8) + %t10 = call ptr @lp_str_concat(ptr %t9, ptr @.str6008) + %t11 = call ptr @fn_emit_bind(ptr %t10) + store ptr %t11, ptr %t12 + %t13 = load ptr, ptr %t7 + %t14 = call ptr @lp_str_concat(ptr @.str6009, ptr %t13) + %t15 = call ptr @lp_str_concat(ptr %t14, ptr @.str6010) + %t16 = load ptr, ptr %t12 + %t17 = call ptr @lp_str_concat(ptr %t15, ptr %t16) + %t18 = call ptr @fn_emit_bind(ptr %t17) + store ptr %t18, ptr %t19 + %t20 = load ptr, ptr %t19 + %t21 = call ptr @lp_str_concat(ptr @.str6011, ptr %t20) + %t22 = call ptr @lp_str_concat(ptr %t21, ptr @.str6012) + %t23 = load ptr, ptr %t2 + %t24 = call ptr @lp_str_concat(ptr %t22, ptr %t23) + %t25 = call ptr @fn_emit_bind(ptr %t24) + store ptr %t25, ptr %retval + br label %ret +ret: + %t26 = load ptr, ptr %retval + ret ptr %t26 +} + +define ptr @fn_color_lerp_ch(ptr %arg_ch0, ptr %arg_ch1, ptr %arg_t) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t1 = alloca ptr + %t2 = alloca ptr + %t9 = alloca ptr + %t16 = alloca ptr + %t21 = alloca ptr + store ptr %arg_ch0, ptr %t0 + store ptr %arg_ch1, ptr %t1 + store ptr %arg_t, ptr %t2 + %t3 = load ptr, ptr %t1 + %t4 = call ptr @lp_str_concat(ptr @.str6013, ptr %t3) + %t5 = call ptr @lp_str_concat(ptr %t4, ptr @.str6014) + %t6 = load ptr, ptr %t0 + %t7 = call ptr @lp_str_concat(ptr %t5, ptr %t6) + %t8 = call ptr @fn_emit_bind(ptr %t7) + store ptr %t8, ptr %t9 + %t10 = load ptr, ptr %t9 + %t11 = call ptr @lp_str_concat(ptr @.str6015, ptr %t10) + %t12 = call ptr @lp_str_concat(ptr %t11, ptr @.str6016) + %t13 = load ptr, ptr %t2 + %t14 = call ptr @lp_str_concat(ptr %t12, ptr %t13) + %t15 = call ptr @fn_emit_bind(ptr %t14) + store ptr %t15, ptr %t16 + %t17 = load ptr, ptr %t16 + %t18 = call ptr @lp_str_concat(ptr @.str6017, ptr %t17) + %t19 = call ptr @lp_str_concat(ptr %t18, ptr @.str6018) + %t20 = call ptr @fn_emit_bind(ptr %t19) + store ptr %t20, ptr %t21 + %t22 = load ptr, ptr %t0 + %t23 = call ptr @lp_str_concat(ptr @.str6019, ptr %t22) + %t24 = call ptr @lp_str_concat(ptr %t23, ptr @.str6020) + %t25 = load ptr, ptr %t21 + %t26 = call ptr @lp_str_concat(ptr %t24, ptr %t25) + %t27 = call ptr @fn_emit_bind(ptr %t26) + store ptr %t27, ptr %retval + br label %ret +ret: + %t28 = load ptr, ptr %retval + ret ptr %t28 +} + +define ptr @fn_emit_colorfn_ns(ptr %arg_meth, ptr %arg_e) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t1 = alloca ptr + %t13 = alloca ptr + %t22 = alloca ptr + %t31 = alloca ptr + %t54 = alloca ptr + %t63 = alloca ptr + %t72 = alloca ptr + %t81 = alloca ptr + %t92 = alloca ptr + %t99 = alloca ptr + %t118 = alloca ptr + %t127 = alloca ptr + %t134 = alloca ptr + %t141 = alloca ptr + %t160 = alloca ptr + %t169 = alloca ptr + %t178 = alloca ptr + %t191 = alloca ptr + %t204 = alloca ptr + %t217 = alloca ptr + %t234 = alloca ptr + %t243 = alloca ptr + %t249 = alloca ptr + %t254 = alloca ptr + %t259 = alloca ptr + %t264 = alloca ptr + %t271 = alloca ptr + %t276 = alloca ptr + %t283 = alloca ptr + %t288 = alloca ptr + %t295 = alloca ptr + %t300 = alloca ptr + %t314 = alloca ptr + %t323 = alloca ptr + %t328 = alloca ptr + %t333 = alloca ptr + %t338 = alloca ptr + %t342 = alloca ptr + %t351 = alloca ptr + %t356 = alloca ptr + %t363 = alloca ptr + %t367 = alloca ptr + %t376 = alloca ptr + %t381 = alloca ptr + %t388 = alloca ptr + %t392 = alloca ptr + %t401 = alloca ptr + %t406 = alloca ptr + %t413 = alloca ptr + store ptr %arg_meth, ptr %t0 + store ptr %arg_e, ptr %t1 + %t2 = load ptr, ptr %t0 + %t3 = call i32 @lp_str_eq(ptr %t2, ptr @.str6021) + %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 @.str6022) + store ptr %t42, ptr %retval + br label %ret +ifend2: + %t43 = load ptr, ptr %t0 + %t44 = call i32 @lp_str_eq(ptr %t43, ptr @.str6023) + %t45 = icmp ne i32 %t44, 0 + br i1 %t45, label %then3, label %ifend5 +then3: + %t46 = load ptr, ptr %t1 + %t47 = getelementptr inbounds %Cmp_Node, ptr %t46, i32 0, i32 7 + %t48 = load ptr, ptr %t47 + %t49 = getelementptr inbounds %LSlice, ptr %t48, i32 0, i32 0 + %t50 = load ptr, ptr %t49 + %t51 = getelementptr inbounds ptr, ptr %t50, i32 0 + %t52 = load ptr, ptr %t51 + %t53 = call ptr @fn_emit_expr(ptr %t52) + store ptr %t53, ptr %t54 + %t55 = load ptr, ptr %t1 + %t56 = getelementptr inbounds %Cmp_Node, ptr %t55, i32 0, i32 7 + %t57 = load ptr, ptr %t56 + %t58 = getelementptr inbounds %LSlice, ptr %t57, i32 0, i32 0 + %t59 = load ptr, ptr %t58 + %t60 = getelementptr inbounds ptr, ptr %t59, i32 1 + %t61 = load ptr, ptr %t60 + %t62 = call ptr @fn_emit_expr(ptr %t61) + store ptr %t62, ptr %t63 + %t64 = load ptr, ptr %t1 + %t65 = getelementptr inbounds %Cmp_Node, ptr %t64, i32 0, i32 7 + %t66 = load ptr, ptr %t65 + %t67 = getelementptr inbounds %LSlice, ptr %t66, i32 0, i32 0 + %t68 = load ptr, ptr %t67 + %t69 = getelementptr inbounds ptr, ptr %t68, i32 2 + %t70 = load ptr, ptr %t69 + %t71 = call ptr @fn_emit_expr(ptr %t70) + store ptr %t71, ptr %t72 + %t73 = load ptr, ptr %t1 + %t74 = getelementptr inbounds %Cmp_Node, ptr %t73, i32 0, i32 7 + %t75 = load ptr, ptr %t74 + %t76 = getelementptr inbounds %LSlice, ptr %t75, i32 0, i32 0 + %t77 = load ptr, ptr %t76 + %t78 = getelementptr inbounds ptr, ptr %t77, i32 3 + %t79 = load ptr, ptr %t78 + %t80 = call ptr @fn_emit_expr(ptr %t79) + store ptr %t80, ptr %t81 + %t82 = load ptr, ptr %t54 + %t83 = getelementptr inbounds %Cmp_Val, ptr %t82, i32 0, i32 0 + %t84 = load ptr, ptr %t83 + %t85 = load ptr, ptr %t63 + %t86 = getelementptr inbounds %Cmp_Val, ptr %t85, i32 0, i32 0 + %t87 = load ptr, ptr %t86 + %t88 = load ptr, ptr %t72 + %t89 = getelementptr inbounds %Cmp_Val, ptr %t88, i32 0, i32 0 + %t90 = load ptr, ptr %t89 + %t91 = call ptr @fn_color_pack(ptr %t84, ptr %t87, ptr %t90) + store ptr %t91, ptr %t92 + %t93 = load ptr, ptr %t81 + %t94 = getelementptr inbounds %Cmp_Val, ptr %t93, i32 0, i32 0 + %t95 = load ptr, ptr %t94 + %t96 = call ptr @lp_str_concat(ptr @.str6024, ptr %t95) + %t97 = call ptr @lp_str_concat(ptr %t96, ptr @.str6025) + %t98 = call ptr @fn_emit_bind(ptr %t97) + store ptr %t98, ptr %t99 + %t100 = load ptr, ptr %t92 + %t101 = call ptr @lp_str_concat(ptr @.str6026, ptr %t100) + %t102 = call ptr @lp_str_concat(ptr %t101, ptr @.str6027) + %t103 = load ptr, ptr %t99 + %t104 = call ptr @lp_str_concat(ptr %t102, ptr %t103) + %t105 = call ptr @fn_emit_bind(ptr %t104) + %t106 = call ptr @fn_val(ptr %t105, ptr @.str6028) + store ptr %t106, ptr %retval + br label %ret +ifend5: + %t107 = load ptr, ptr %t0 + %t108 = call i32 @lp_str_eq(ptr %t107, ptr @.str6029) + %t109 = icmp ne i32 %t108, 0 + br i1 %t109, label %then6, label %ifend8 +then6: + %t110 = load ptr, ptr %t1 + %t111 = getelementptr inbounds %Cmp_Node, ptr %t110, i32 0, i32 7 + %t112 = load ptr, ptr %t111 + %t113 = getelementptr inbounds %LSlice, ptr %t112, i32 0, i32 0 + %t114 = load ptr, ptr %t113 + %t115 = getelementptr inbounds ptr, ptr %t114, i32 0 + %t116 = load ptr, ptr %t115 + %t117 = call ptr @fn_emit_expr(ptr %t116) + store ptr %t117, ptr %t118 + %t119 = load ptr, ptr %t1 + %t120 = getelementptr inbounds %Cmp_Node, ptr %t119, i32 0, i32 7 + %t121 = load ptr, ptr %t120 + %t122 = getelementptr inbounds %LSlice, ptr %t121, i32 0, i32 0 + %t123 = load ptr, ptr %t122 + %t124 = getelementptr inbounds ptr, ptr %t123, i32 1 + %t125 = load ptr, ptr %t124 + %t126 = call ptr @fn_emit_expr(ptr %t125) + store ptr %t126, ptr %t127 + %t128 = load ptr, ptr %t118 + %t129 = getelementptr inbounds %Cmp_Val, ptr %t128, i32 0, i32 0 + %t130 = load ptr, ptr %t129 + %t131 = call ptr @lp_str_concat(ptr @.str6030, ptr %t130) + %t132 = call ptr @lp_str_concat(ptr %t131, ptr @.str6031) + %t133 = call ptr @fn_emit_bind(ptr %t132) + store ptr %t133, ptr %t134 + %t135 = load ptr, ptr %t127 + %t136 = getelementptr inbounds %Cmp_Val, ptr %t135, i32 0, i32 0 + %t137 = load ptr, ptr %t136 + %t138 = call ptr @lp_str_concat(ptr @.str6032, ptr %t137) + %t139 = call ptr @lp_str_concat(ptr %t138, ptr @.str6033) + %t140 = call ptr @fn_emit_bind(ptr %t139) + store ptr %t140, ptr %t141 + %t142 = load ptr, ptr %t134 + %t143 = call ptr @lp_str_concat(ptr @.str6034, ptr %t142) + %t144 = call ptr @lp_str_concat(ptr %t143, ptr @.str6035) + %t145 = load ptr, ptr %t141 + %t146 = call ptr @lp_str_concat(ptr %t144, ptr %t145) + %t147 = call ptr @fn_emit_bind(ptr %t146) + %t148 = call ptr @fn_val(ptr %t147, ptr @.str6036) + store ptr %t148, ptr %retval + br label %ret +ifend8: + %t149 = load ptr, ptr %t0 + %t150 = call i32 @lp_str_eq(ptr %t149, ptr @.str6037) + %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 @.str6038) + %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 @.str6039) + %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 @.str6040) + %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 @.str6041) + %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 @.str6042) + %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 @.str6043) + %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 @.str6044) + store ptr %t222, ptr %retval + br label %ret +ifend11: + %t223 = load ptr, ptr %t0 + %t224 = call i32 @lp_str_eq(ptr %t223, ptr @.str6045) + %t225 = icmp ne i32 %t224, 0 + br i1 %t225, label %then12, label %ifend14 +then12: + %t226 = load ptr, ptr %t1 + %t227 = getelementptr inbounds %Cmp_Node, ptr %t226, i32 0, i32 7 + %t228 = load ptr, ptr %t227 + %t229 = getelementptr inbounds %LSlice, ptr %t228, i32 0, i32 0 + %t230 = load ptr, ptr %t229 + %t231 = getelementptr inbounds ptr, ptr %t230, i32 0 + %t232 = load ptr, ptr %t231 + %t233 = call ptr @fn_emit_expr(ptr %t232) + store ptr %t233, ptr %t234 + %t235 = load ptr, ptr %t1 + %t236 = getelementptr inbounds %Cmp_Node, ptr %t235, i32 0, i32 7 + %t237 = load ptr, ptr %t236 + %t238 = getelementptr inbounds %LSlice, ptr %t237, i32 0, i32 0 + %t239 = load ptr, ptr %t238 + %t240 = getelementptr inbounds ptr, ptr %t239, i32 1 + %t241 = load ptr, ptr %t240 + %t242 = call ptr @fn_emit_expr(ptr %t241) + store ptr %t242, ptr %t243 + %t244 = load ptr, ptr %t243 + %t245 = getelementptr inbounds %Cmp_Val, ptr %t244, i32 0, i32 0 + %t246 = load ptr, ptr %t245 + %t247 = call ptr @lp_str_concat(ptr @.str6046, 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 @.str6047) + 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 @.str6048) + 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 @.str6049) + store ptr %t263, ptr %t264 + %t265 = load ptr, ptr %t254 + %t266 = call ptr @lp_str_concat(ptr @.str6050, ptr %t265) + %t267 = call ptr @lp_str_concat(ptr %t266, ptr @.str6051) + %t268 = load ptr, ptr %t249 + %t269 = call ptr @lp_str_concat(ptr %t267, ptr %t268) + %t270 = call ptr @fn_emit_bind(ptr %t269) + store ptr %t270, ptr %t271 + %t272 = load ptr, ptr %t271 + %t273 = call ptr @lp_str_concat(ptr @.str6052, ptr %t272) + %t274 = call ptr @lp_str_concat(ptr %t273, ptr @.str6053) + %t275 = call ptr @fn_emit_bind(ptr %t274) + store ptr %t275, ptr %t276 + %t277 = load ptr, ptr %t259 + %t278 = call ptr @lp_str_concat(ptr @.str6054, ptr %t277) + %t279 = call ptr @lp_str_concat(ptr %t278, ptr @.str6055) + %t280 = load ptr, ptr %t249 + %t281 = call ptr @lp_str_concat(ptr %t279, ptr %t280) + %t282 = call ptr @fn_emit_bind(ptr %t281) + store ptr %t282, ptr %t283 + %t284 = load ptr, ptr %t283 + %t285 = call ptr @lp_str_concat(ptr @.str6056, ptr %t284) + %t286 = call ptr @lp_str_concat(ptr %t285, ptr @.str6057) + %t287 = call ptr @fn_emit_bind(ptr %t286) + store ptr %t287, ptr %t288 + %t289 = load ptr, ptr %t264 + %t290 = call ptr @lp_str_concat(ptr @.str6058, ptr %t289) + %t291 = call ptr @lp_str_concat(ptr %t290, ptr @.str6059) + %t292 = load ptr, ptr %t249 + %t293 = call ptr @lp_str_concat(ptr %t291, ptr %t292) + %t294 = call ptr @fn_emit_bind(ptr %t293) + store ptr %t294, ptr %t295 + %t296 = load ptr, ptr %t295 + %t297 = call ptr @lp_str_concat(ptr @.str6060, ptr %t296) + %t298 = call ptr @lp_str_concat(ptr %t297, ptr @.str6061) + %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 @.str6062) + 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 @.str6063) + 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 @.str6064) + 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 @.str6065) + store ptr %t337, ptr %t338 + %t339 = load ptr, ptr %t328 + %t340 = call ptr @lp_str_concat(ptr @.str6066, ptr %t339) + %t341 = call ptr @fn_emit_bind(ptr %t340) + store ptr %t341, ptr %t342 + %t343 = load ptr, ptr %t342 + %t344 = call ptr @lp_str_concat(ptr @.str6067, ptr %t343) + %t345 = call ptr @lp_str_concat(ptr %t344, ptr @.str6068) + %t346 = load ptr, ptr %t323 + %t347 = getelementptr inbounds %Cmp_Val, ptr %t346, i32 0, i32 0 + %t348 = load ptr, ptr %t347 + %t349 = call ptr @lp_str_concat(ptr %t345, ptr %t348) + %t350 = call ptr @fn_emit_bind(ptr %t349) + store ptr %t350, ptr %t351 + %t352 = load ptr, ptr %t351 + %t353 = call ptr @lp_str_concat(ptr @.str6069, ptr %t352) + %t354 = call ptr @lp_str_concat(ptr %t353, ptr @.str6070) + %t355 = call ptr @fn_emit_bind(ptr %t354) + store ptr %t355, ptr %t356 + %t357 = load ptr, ptr %t328 + %t358 = call ptr @lp_str_concat(ptr @.str6071, ptr %t357) + %t359 = call ptr @lp_str_concat(ptr %t358, ptr @.str6072) + %t360 = load ptr, ptr %t356 + %t361 = call ptr @lp_str_concat(ptr %t359, ptr %t360) + %t362 = call ptr @fn_emit_bind(ptr %t361) + store ptr %t362, ptr %t363 + %t364 = load ptr, ptr %t333 + %t365 = call ptr @lp_str_concat(ptr @.str6073, ptr %t364) + %t366 = call ptr @fn_emit_bind(ptr %t365) + store ptr %t366, ptr %t367 + %t368 = load ptr, ptr %t367 + %t369 = call ptr @lp_str_concat(ptr @.str6074, ptr %t368) + %t370 = call ptr @lp_str_concat(ptr %t369, ptr @.str6075) + %t371 = load ptr, ptr %t323 + %t372 = getelementptr inbounds %Cmp_Val, ptr %t371, i32 0, i32 0 + %t373 = load ptr, ptr %t372 + %t374 = call ptr @lp_str_concat(ptr %t370, ptr %t373) + %t375 = call ptr @fn_emit_bind(ptr %t374) + store ptr %t375, ptr %t376 + %t377 = load ptr, ptr %t376 + %t378 = call ptr @lp_str_concat(ptr @.str6076, ptr %t377) + %t379 = call ptr @lp_str_concat(ptr %t378, ptr @.str6077) + %t380 = call ptr @fn_emit_bind(ptr %t379) + store ptr %t380, ptr %t381 + %t382 = load ptr, ptr %t333 + %t383 = call ptr @lp_str_concat(ptr @.str6078, ptr %t382) + %t384 = call ptr @lp_str_concat(ptr %t383, ptr @.str6079) + %t385 = load ptr, ptr %t381 + %t386 = call ptr @lp_str_concat(ptr %t384, ptr %t385) + %t387 = call ptr @fn_emit_bind(ptr %t386) + store ptr %t387, ptr %t388 + %t389 = load ptr, ptr %t338 + %t390 = call ptr @lp_str_concat(ptr @.str6080, ptr %t389) + %t391 = call ptr @fn_emit_bind(ptr %t390) + store ptr %t391, ptr %t392 + %t393 = load ptr, ptr %t392 + %t394 = call ptr @lp_str_concat(ptr @.str6081, ptr %t393) + %t395 = call ptr @lp_str_concat(ptr %t394, ptr @.str6082) + %t396 = load ptr, ptr %t323 + %t397 = getelementptr inbounds %Cmp_Val, ptr %t396, i32 0, i32 0 + %t398 = load ptr, ptr %t397 + %t399 = call ptr @lp_str_concat(ptr %t395, ptr %t398) + %t400 = call ptr @fn_emit_bind(ptr %t399) + store ptr %t400, ptr %t401 + %t402 = load ptr, ptr %t401 + %t403 = call ptr @lp_str_concat(ptr @.str6083, ptr %t402) + %t404 = call ptr @lp_str_concat(ptr %t403, ptr @.str6084) + %t405 = call ptr @fn_emit_bind(ptr %t404) + store ptr %t405, ptr %t406 + %t407 = load ptr, ptr %t338 + %t408 = call ptr @lp_str_concat(ptr @.str6085, ptr %t407) + %t409 = call ptr @lp_str_concat(ptr %t408, ptr @.str6086) + %t410 = load ptr, ptr %t406 + %t411 = call ptr @lp_str_concat(ptr %t409, ptr %t410) + %t412 = call ptr @fn_emit_bind(ptr %t411) + store ptr %t412, ptr %t413 + %t414 = load ptr, ptr %t363 + %t415 = load ptr, ptr %t388 + %t416 = load ptr, ptr %t413 + %t417 = call ptr @fn_color_pack(ptr %t414, ptr %t415, ptr %t416) + %t418 = call ptr @fn_val(ptr %t417, ptr @.str6087) + store ptr %t418, ptr %retval + br label %ret +ret: + %t419 = load ptr, ptr %retval + ret ptr %t419 +} + +define i32 @fn_color_lookup(ptr %arg_name) { +entry: + %retval = alloca i32 + %t0 = alloca ptr + store ptr %arg_name, ptr %t0 + %t1 = load ptr, ptr %t0 + %t2 = call i32 @lp_str_eq(ptr %t1, ptr @.str6088) + %t3 = icmp ne i32 %t2, 0 + br i1 %t3, label %then0, label %ifend2 +then0: + store i32 16777215, ptr %retval + br label %ret +ifend2: + %t4 = load ptr, ptr %t0 + %t5 = call i32 @lp_str_eq(ptr %t4, ptr @.str6089) + %t6 = icmp ne i32 %t5, 0 + br i1 %t6, label %then3, label %ifend5 +then3: + store i32 16775930, ptr %retval + br label %ret +ifend5: + %t7 = load ptr, ptr %t0 + %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str6090) + %t9 = icmp ne i32 %t8, 0 + br i1 %t9, label %then6, label %ifend8 +then6: + store i32 16777200, ptr %retval + br label %ret +ifend8: + %t10 = load ptr, ptr %t0 + %t11 = call i32 @lp_str_eq(ptr %t10, ptr @.str6091) + %t12 = icmp ne i32 %t11, 0 + br i1 %t12, label %then9, label %ifend11 +then9: + store i32 15788758, ptr %retval + br label %ret +ifend11: + %t13 = load ptr, ptr %t0 + %t14 = call i32 @lp_str_eq(ptr %t13, ptr @.str6092) + %t15 = icmp ne i32 %t14, 0 + br i1 %t15, label %then12, label %ifend14 +then12: + store i32 16775920, ptr %retval + br label %ret +ifend14: + %t16 = load ptr, ptr %t0 + %t17 = call i32 @lp_str_eq(ptr %t16, ptr @.str6093) + %t18 = icmp ne i32 %t17, 0 + br i1 %t18, label %then15, label %ifend17 +then15: + store i32 16774638, ptr %retval + br label %ret +ifend17: + %t19 = load ptr, ptr %t0 + %t20 = call i32 @lp_str_eq(ptr %t19, ptr @.str6094) + %t21 = icmp ne i32 %t20, 0 + br i1 %t21, label %then18, label %ifend20 +then18: + store i32 16445670, ptr %retval + br label %ret +ifend20: + %t22 = load ptr, ptr %t0 + %t23 = call i32 @lp_str_eq(ptr %t22, ptr @.str6095) + %t24 = icmp ne i32 %t23, 0 + br i1 %t24, label %then21, label %ifend23 +then21: + store i32 16444375, ptr %retval + br label %ret +ifend23: + %t25 = load ptr, ptr %t0 + %t26 = call i32 @lp_str_eq(ptr %t25, ptr @.str6096) + %t27 = icmp ne i32 %t26, 0 + br i1 %t27, label %then24, label %ifend26 +then24: + store i32 16643558, ptr %retval + br label %ret +ifend26: + %t28 = load ptr, ptr %t0 + %t29 = call i32 @lp_str_eq(ptr %t28, ptr @.str6097) + %t30 = icmp ne i32 %t29, 0 + br i1 %t30, label %then27, label %ifend29 +then27: + store i32 16119260, ptr %retval + br label %ret +ifend29: + %t31 = load ptr, ptr %t0 + %t32 = call i32 @lp_str_eq(ptr %t31, ptr @.str6098) + %t33 = icmp ne i32 %t32, 0 + br i1 %t33, label %then30, label %ifend32 +then30: + store i32 16776656, ptr %retval + br label %ret +ifend32: + %t34 = load ptr, ptr %t0 + %t35 = call i32 @lp_str_eq(ptr %t34, ptr @.str6099) + %t36 = icmp ne i32 %t35, 0 + br i1 %t36, label %then33, label %ifend35 +then33: + store i32 15794160, ptr %retval + br label %ret +ifend35: + %t37 = load ptr, ptr %t0 + %t38 = call i32 @lp_str_eq(ptr %t37, ptr @.str6100) + %t39 = icmp ne i32 %t38, 0 + br i1 %t39, label %then36, label %ifend38 +then36: + store i32 16121850, ptr %retval + br label %ret +ifend38: + %t40 = load ptr, ptr %t0 + %t41 = call i32 @lp_str_eq(ptr %t40, ptr @.str6101) + %t42 = icmp ne i32 %t41, 0 + br i1 %t42, label %then39, label %ifend41 +then39: + store i32 15794175, ptr %retval + br label %ret +ifend41: + %t43 = load ptr, ptr %t0 + %t44 = call i32 @lp_str_eq(ptr %t43, ptr @.str6102) + %t45 = icmp ne i32 %t44, 0 + br i1 %t45, label %then42, label %ifend44 +then42: + store i32 15792383, ptr %retval + br label %ret +ifend44: + %t46 = load ptr, ptr %t0 + %t47 = call i32 @lp_str_eq(ptr %t46, ptr @.str6103) + %t48 = icmp ne i32 %t47, 0 + br i1 %t48, label %then45, label %ifend47 +then45: + store i32 16316671, ptr %retval + br label %ret +ifend47: + %t49 = load ptr, ptr %t0 + %t50 = call i32 @lp_str_eq(ptr %t49, ptr @.str6104) + %t51 = icmp ne i32 %t50, 0 + br i1 %t51, label %then48, label %ifend50 +then48: + store i32 16119285, ptr %retval + br label %ret +ifend50: + %t52 = load ptr, ptr %t0 + %t53 = call i32 @lp_str_eq(ptr %t52, ptr @.str6105) + %t54 = icmp ne i32 %t53, 0 + br i1 %t54, label %then51, label %ifend53 +then51: + store i32 15132410, ptr %retval + br label %ret +ifend53: + %t55 = load ptr, ptr %t0 + %t56 = call i32 @lp_str_eq(ptr %t55, ptr @.str6106) + %t57 = icmp ne i32 %t56, 0 + br i1 %t57, label %then54, label %ifend56 +then54: + store i32 14932681, ptr %retval + br label %ret +ifend56: + %t58 = load ptr, ptr %t0 + %t59 = call i32 @lp_str_eq(ptr %t58, ptr @.str6107) + %t60 = icmp ne i32 %t59, 0 + br i1 %t60, label %then57, label %ifend59 +then57: + store i32 15854034, ptr %retval + br label %ret +ifend59: + %t61 = load ptr, ptr %t0 + %t62 = call i32 @lp_str_eq(ptr %t61, ptr @.str6108) + %t63 = icmp ne i32 %t62, 0 + br i1 %t63, label %then60, label %ifend62 +then60: + store i32 14474460, ptr %retval + br label %ret +ifend62: + %t64 = load ptr, ptr %t0 + %t65 = call i32 @lp_str_eq(ptr %t64, ptr @.str6109) + %t66 = icmp ne i32 %t65, 0 + br i1 %t66, label %then63, label %ifend65 +then63: + store i32 13882323, ptr %retval + br label %ret +ifend65: + %t67 = load ptr, ptr %t0 + %t68 = call i32 @lp_str_eq(ptr %t67, ptr @.str6110) + %t69 = icmp ne i32 %t68, 0 + br i1 %t69, label %then66, label %ifend68 +then66: + store i32 12632256, ptr %retval + br label %ret +ifend68: + %t70 = load ptr, ptr %t0 + %t71 = call i32 @lp_str_eq(ptr %t70, ptr @.str6111) + %t72 = icmp ne i32 %t71, 0 + br i1 %t72, label %then69, label %ifend71 +then69: + store i32 11714229, ptr %retval + br label %ret +ifend71: + %t73 = load ptr, ptr %t0 + %t74 = call i32 @lp_str_eq(ptr %t73, ptr @.str6112) + %t75 = icmp ne i32 %t74, 0 + br i1 %t75, label %then72, label %ifend74 +then72: + store i32 11119017, ptr %retval + br label %ret +ifend74: + %t76 = load ptr, ptr %t0 + %t77 = call i32 @lp_str_eq(ptr %t76, ptr @.str6113) + %t78 = icmp ne i32 %t77, 0 + br i1 %t78, label %then75, label %ifend77 +then75: + store i32 8421504, ptr %retval + br label %ret +ifend77: + %t79 = load ptr, ptr %t0 + %t80 = call i32 @lp_str_eq(ptr %t79, ptr @.str6114) + %t81 = icmp ne i32 %t80, 0 + br i1 %t81, label %then78, label %ifend80 +then78: + store i32 6908265, ptr %retval + br label %ret +ifend80: + %t82 = load ptr, ptr %t0 + %t83 = call i32 @lp_str_eq(ptr %t82, ptr @.str6115) + %t84 = icmp ne i32 %t83, 0 + br i1 %t84, label %then81, label %ifend83 +then81: + store i32 7500914, ptr %retval + br label %ret +ifend83: + %t85 = load ptr, ptr %t0 + %t86 = call i32 @lp_str_eq(ptr %t85, ptr @.str6116) + %t87 = icmp ne i32 %t86, 0 + br i1 %t87, label %then84, label %ifend86 +then84: + store i32 7372944, ptr %retval + br label %ret +ifend86: + %t88 = load ptr, ptr %t0 + %t89 = call i32 @lp_str_eq(ptr %t88, ptr @.str6117) + %t90 = icmp ne i32 %t89, 0 + br i1 %t90, label %then87, label %ifend89 +then87: + store i32 7372944, ptr %retval + br label %ret +ifend89: + %t91 = load ptr, ptr %t0 + %t92 = call i32 @lp_str_eq(ptr %t91, ptr @.str6118) + %t93 = icmp ne i32 %t92, 0 + br i1 %t93, label %then90, label %ifend92 +then90: + store i32 7833753, ptr %retval + br label %ret +ifend92: + %t94 = load ptr, ptr %t0 + %t95 = call i32 @lp_str_eq(ptr %t94, ptr @.str6119) + %t96 = icmp ne i32 %t95, 0 + br i1 %t96, label %then93, label %ifend95 +then93: + store i32 2765881, ptr %retval + br label %ret +ifend95: + %t97 = load ptr, ptr %t0 + %t98 = call i32 @lp_str_eq(ptr %t97, ptr @.str6120) + %t99 = icmp ne i32 %t98, 0 + br i1 %t99, label %then96, label %ifend98 +then96: + store i32 3556687, ptr %retval + br label %ret +ifend98: + %t100 = load ptr, ptr %t0 + %t101 = call i32 @lp_str_eq(ptr %t100, ptr @.str6121) + %t102 = icmp ne i32 %t101, 0 + br i1 %t102, label %then99, label %ifend101 +then99: + store i32 1842204, ptr %retval + br label %ret +ifend101: + %t103 = load ptr, ptr %t0 + %t104 = call i32 @lp_str_eq(ptr %t103, ptr @.str6122) + %t105 = icmp ne i32 %t104, 0 + br i1 %t105, label %then102, label %ifend104 +then102: + store i32 3487801, ptr %retval + br label %ret +ifend104: + %t106 = load ptr, ptr %t0 + %t107 = call i32 @lp_str_eq(ptr %t106, ptr @.str6123) + %t108 = icmp ne i32 %t107, 0 + br i1 %t108, label %then105, label %ifend107 +then105: + store i32 3421236, ptr %retval + br label %ret +ifend107: + %t109 = load ptr, ptr %t0 + %t110 = call i32 @lp_str_eq(ptr %t109, ptr @.str6124) + %t111 = icmp ne i32 %t110, 0 + br i1 %t111, label %then108, label %ifend110 +then108: + store i32 0, ptr %retval + br label %ret +ifend110: + %t112 = load ptr, ptr %t0 + %t113 = call i32 @lp_str_eq(ptr %t112, ptr @.str6125) + %t114 = icmp ne i32 %t113, 0 + br i1 %t114, label %then111, label %ifend113 +then111: + store i32 1776411, ptr %retval + br label %ret +ifend113: + %t115 = load ptr, ptr %t0 + %t116 = call i32 @lp_str_eq(ptr %t115, ptr @.str6126) + %t117 = icmp ne i32 %t116, 0 + br i1 %t117, label %then114, label %ifend116 +then114: + store i32 2367780, ptr %retval + br label %ret +ifend116: + %t118 = load ptr, ptr %t0 + %t119 = call i32 @lp_str_eq(ptr %t118, ptr @.str6127) + %t120 = icmp ne i32 %t119, 0 + br i1 %t120, label %then117, label %ifend119 +then117: + store i32 5594448, ptr %retval + br label %ret +ifend119: + %t121 = load ptr, ptr %t0 + %t122 = call i32 @lp_str_eq(ptr %t121, ptr @.str6128) + %t123 = icmp ne i32 %t122, 0 + br i1 %t123, label %then120, label %ifend122 +then120: + store i32 16711680, ptr %retval + br label %ret +ifend122: + %t124 = load ptr, ptr %t0 + %t125 = call i32 @lp_str_eq(ptr %t124, ptr @.str6129) + %t126 = icmp ne i32 %t125, 0 + br i1 %t126, label %then123, label %ifend125 +then123: + store i32 14423100, ptr %retval + br label %ret +ifend125: + %t127 = load ptr, ptr %t0 + %t128 = call i32 @lp_str_eq(ptr %t127, ptr @.str6130) + %t129 = icmp ne i32 %t128, 0 + br i1 %t129, label %then126, label %ifend128 +then126: + store i32 16720896, ptr %retval + br label %ret +ifend128: + %t130 = load ptr, ptr %t0 + %t131 = call i32 @lp_str_eq(ptr %t130, ptr @.str6131) + %t132 = icmp ne i32 %t131, 0 + br i1 %t132, label %then129, label %ifend131 +then129: + store i32 14893620, ptr %retval + br label %ret +ifend131: + %t133 = load ptr, ptr %t0 + %t134 = call i32 @lp_str_eq(ptr %t133, ptr @.str6132) + %t135 = icmp ne i32 %t134, 0 + br i1 %t135, label %then132, label %ifend134 +then132: + store i32 11674146, ptr %retval + br label %ret +ifend134: + %t136 = load ptr, ptr %t0 + %t137 = call i32 @lp_str_eq(ptr %t136, ptr @.str6133) + %t138 = icmp ne i32 %t137, 0 + br i1 %t138, label %then135, label %ifend137 +then135: + store i32 14961966, ptr %retval + br label %ret +ifend137: + %t139 = load ptr, ptr %t0 + %t140 = call i32 @lp_str_eq(ptr %t139, ptr @.str6134) + %t141 = icmp ne i32 %t140, 0 + br i1 %t141, label %then138, label %ifend140 +then138: + store i32 9109504, ptr %retval + br label %ret +ifend140: + %t142 = load ptr, ptr %t0 + %t143 = call i32 @lp_str_eq(ptr %t142, ptr @.str6135) + %t144 = icmp ne i32 %t143, 0 + br i1 %t144, label %then141, label %ifend143 +then141: + store i32 8388608, ptr %retval + br label %ret +ifend143: + %t145 = load ptr, ptr %t0 + %t146 = call i32 @lp_str_eq(ptr %t145, ptr @.str6136) + %t147 = icmp ne i32 %t146, 0 + br i1 %t147, label %then144, label %ifend146 +then144: + store i32 14684511, ptr %retval + br label %ret +ifend146: + %t148 = load ptr, ptr %t0 + %t149 = call i32 @lp_str_eq(ptr %t148, ptr @.str6137) + %t150 = icmp ne i32 %t149, 0 + br i1 %t150, label %then147, label %ifend149 +then147: + store i32 12852794, ptr %retval + br label %ret +ifend149: + %t151 = load ptr, ptr %t0 + %t152 = call i32 @lp_str_eq(ptr %t151, ptr @.str6138) + %t153 = icmp ne i32 %t152, 0 + br i1 %t153, label %then150, label %ifend152 +then150: + store i32 13458524, ptr %retval + br label %ret +ifend152: + %t154 = load ptr, ptr %t0 + %t155 = call i32 @lp_str_eq(ptr %t154, ptr @.str6139) + %t156 = icmp ne i32 %t155, 0 + br i1 %t156, label %then153, label %ifend155 +then153: + store i32 12009742, ptr %retval + br label %ret +ifend155: + %t157 = load ptr, ptr %t0 + %t158 = call i32 @lp_str_eq(ptr %t157, ptr @.str6140) + %t159 = icmp ne i32 %t158, 0 + br i1 %t159, label %then156, label %ifend158 +then156: + store i32 9568266, ptr %retval + br label %ret +ifend158: + %t160 = load ptr, ptr %t0 + %t161 = call i32 @lp_str_eq(ptr %t160, ptr @.str6141) + %t162 = icmp ne i32 %t161, 0 + br i1 %t162, label %then159, label %ifend161 +then159: + store i32 10771026, ptr %retval + br label %ret +ifend161: + %t163 = load ptr, ptr %t0 + %t164 = call i32 @lp_str_eq(ptr %t163, ptr @.str6142) + %t165 = icmp ne i32 %t164, 0 + br i1 %t165, label %then162, label %ifend164 +then162: + store i32 14561635, ptr %retval + br label %ret +ifend164: + %t166 = load ptr, ptr %t0 + %t167 = call i32 @lp_str_eq(ptr %t166, ptr @.str6143) + %t168 = icmp ne i32 %t167, 0 + br i1 %t168, label %then165, label %ifend167 +then165: + store i32 15018832, ptr %retval + br label %ret +ifend167: + %t169 = load ptr, ptr %t0 + %t170 = call i32 @lp_str_eq(ptr %t169, ptr @.str6144) + %t171 = icmp ne i32 %t170, 0 + br i1 %t171, label %then168, label %ifend170 +then168: + store i32 9830424, ptr %retval + br label %ret +ifend170: + %t172 = load ptr, ptr %t0 + %t173 = call i32 @lp_str_eq(ptr %t172, ptr @.str6145) + %t174 = icmp ne i32 %t173, 0 + br i1 %t174, label %then171, label %ifend173 +then171: + store i32 9782581, ptr %retval + br label %ret +ifend173: + %t175 = load ptr, ptr %t0 + %t176 = call i32 @lp_str_eq(ptr %t175, ptr @.str6146) + %t177 = icmp ne i32 %t176, 0 + br i1 %t177, label %then174, label %ifend176 +then174: + store i32 13320532, ptr %retval + br label %ret +ifend176: + %t178 = load ptr, ptr %t0 + %t179 = call i32 @lp_str_eq(ptr %t178, ptr @.str6147) + %t180 = icmp ne i32 %t179, 0 + br i1 %t180, label %then177, label %ifend179 +then177: + store i32 14840411, ptr %retval + br label %ret +ifend179: + %t181 = load ptr, ptr %t0 + %t182 = call i32 @lp_str_eq(ptr %t181, ptr @.str6148) + %t183 = icmp ne i32 %t182, 0 + br i1 %t183, label %then180, label %ifend182 +then180: + store i32 16761035, ptr %retval + br label %ret +ifend182: + %t184 = load ptr, ptr %t0 + %t185 = call i32 @lp_str_eq(ptr %t184, ptr @.str6149) + %t186 = icmp ne i32 %t185, 0 + br i1 %t186, label %then183, label %ifend185 +then183: + store i32 16758465, ptr %retval + br label %ret +ifend185: + %t187 = load ptr, ptr %t0 + %t188 = call i32 @lp_str_eq(ptr %t187, ptr @.str6150) + %t189 = icmp ne i32 %t188, 0 + br i1 %t189, label %then186, label %ifend188 +then186: + store i32 16738740, ptr %retval + br label %ret +ifend188: + %t190 = load ptr, ptr %t0 + %t191 = call i32 @lp_str_eq(ptr %t190, ptr @.str6151) + %t192 = icmp ne i32 %t191, 0 + br i1 %t192, label %then189, label %ifend191 +then189: + store i32 16716947, ptr %retval + br label %ret +ifend191: + %t193 = load ptr, ptr %t0 + %t194 = call i32 @lp_str_eq(ptr %t193, ptr @.str6152) + %t195 = icmp ne i32 %t194, 0 + br i1 %t195, label %then192, label %ifend194 +then192: + store i32 14381203, ptr %retval + br label %ret +ifend194: + %t196 = load ptr, ptr %t0 + %t197 = call i32 @lp_str_eq(ptr %t196, ptr @.str6153) + %t198 = icmp ne i32 %t197, 0 + br i1 %t198, label %then195, label %ifend197 +then195: + store i32 16711807, ptr %retval + br label %ret +ifend197: + %t199 = load ptr, ptr %t0 + %t200 = call i32 @lp_str_eq(ptr %t199, ptr @.str6154) + %t201 = icmp ne i32 %t200, 0 + br i1 %t201, label %then198, label %ifend200 +then198: + store i32 14572931, ptr %retval + br label %ret +ifend200: + %t202 = load ptr, ptr %t0 + %t203 = call i32 @lp_str_eq(ptr %t202, ptr @.str6155) + %t204 = icmp ne i32 %t203, 0 + br i1 %t204, label %then201, label %ifend203 +then201: + store i32 16416882, ptr %retval + br label %ret +ifend203: + %t205 = load ptr, ptr %t0 + %t206 = call i32 @lp_str_eq(ptr %t205, ptr @.str6156) + %t207 = icmp ne i32 %t206, 0 + br i1 %t207, label %then204, label %ifend206 +then204: + store i32 16752762, ptr %retval + br label %ret +ifend206: + %t208 = load ptr, ptr %t0 + %t209 = call i32 @lp_str_eq(ptr %t208, ptr @.str6157) + %t210 = icmp ne i32 %t209, 0 + br i1 %t210, label %then207, label %ifend209 +then207: + store i32 15308410, ptr %retval + br label %ret +ifend209: + %t211 = load ptr, ptr %t0 + %t212 = call i32 @lp_str_eq(ptr %t211, ptr @.str6158) + %t213 = icmp ne i32 %t212, 0 + br i1 %t213, label %then210, label %ifend212 +then210: + store i32 16744272, ptr %retval + br label %ret +ifend212: + %t214 = load ptr, ptr %t0 + %t215 = call i32 @lp_str_eq(ptr %t214, ptr @.str6159) + %t216 = icmp ne i32 %t215, 0 + br i1 %t216, label %then213, label %ifend215 +then213: + store i32 16542853, ptr %retval + br label %ret +ifend215: + %t217 = load ptr, ptr %t0 + %t218 = call i32 @lp_str_eq(ptr %t217, ptr @.str6160) + %t219 = icmp ne i32 %t218, 0 + br i1 %t219, label %then216, label %ifend218 +then216: + store i32 16551596, ptr %retval + br label %ret +ifend218: + %t220 = load ptr, ptr %t0 + %t221 = call i32 @lp_str_eq(ptr %t220, ptr @.str6161) + %t222 = icmp ne i32 %t221, 0 + br i1 %t222, label %then219, label %ifend221 +then219: + store i32 16761292, ptr %retval + br label %ret +ifend221: + %t223 = load ptr, ptr %t0 + %t224 = call i32 @lp_str_eq(ptr %t223, ptr @.str6162) + %t225 = icmp ne i32 %t224, 0 + br i1 %t225, label %then222, label %ifend224 +then222: + store i32 16711935, ptr %retval + br label %ret +ifend224: + %t226 = load ptr, ptr %t0 + %t227 = call i32 @lp_str_eq(ptr %t226, ptr @.str6163) + %t228 = icmp ne i32 %t227, 0 + br i1 %t228, label %then225, label %ifend227 +then225: + store i32 16711935, ptr %retval + br label %ret +ifend227: + %t229 = load ptr, ptr %t0 + %t230 = call i32 @lp_str_eq(ptr %t229, ptr @.str6164) + %t231 = icmp ne i32 %t230, 0 + br i1 %t231, label %then228, label %ifend230 +then228: + store i32 14725375, ptr %retval + br label %ret +ifend230: + %t232 = load ptr, ptr %t0 + %t233 = call i32 @lp_str_eq(ptr %t232, ptr @.str6165) + %t234 = icmp ne i32 %t233, 0 + br i1 %t234, label %then231, label %ifend233 +then231: + store i32 13404313, ptr %retval + br label %ret +ifend233: + %t235 = load ptr, ptr %t0 + %t236 = call i32 @lp_str_eq(ptr %t235, ptr @.str6166) + %t237 = icmp ne i32 %t236, 0 + br i1 %t237, label %then234, label %ifend236 +then234: + store i32 14204888, ptr %retval + br label %ret +ifend236: + %t238 = load ptr, ptr %t0 + %t239 = call i32 @lp_str_eq(ptr %t238, ptr @.str6167) + %t240 = icmp ne i32 %t239, 0 + br i1 %t240, label %then237, label %ifend239 +then237: + store i32 14315734, ptr %retval + br label %ret +ifend239: + %t241 = load ptr, ptr %t0 + %t242 = call i32 @lp_str_eq(ptr %t241, ptr @.str6168) + %t243 = icmp ne i32 %t242, 0 + br i1 %t243, label %then240, label %ifend242 +then240: + store i32 16753920, ptr %retval + br label %ret +ifend242: + %t244 = load ptr, ptr %t0 + %t245 = call i32 @lp_str_eq(ptr %t244, ptr @.str6169) + %t246 = icmp ne i32 %t245, 0 + br i1 %t246, label %then243, label %ifend245 +then243: + store i32 16747520, ptr %retval + br label %ret +ifend245: + %t247 = load ptr, ptr %t0 + %t248 = call i32 @lp_str_eq(ptr %t247, ptr @.str6170) + %t249 = icmp ne i32 %t248, 0 + br i1 %t249, label %then246, label %ifend248 +then246: + store i32 15893760, ptr %retval + br label %ret +ifend248: + %t250 = load ptr, ptr %t0 + %t251 = call i32 @lp_str_eq(ptr %t250, ptr @.str6171) + %t252 = icmp ne i32 %t251, 0 + br i1 %t252, label %then249, label %ifend251 +then249: + store i32 16741656, ptr %retval + br label %ret +ifend251: + %t253 = load ptr, ptr %t0 + %t254 = call i32 @lp_str_eq(ptr %t253, ptr @.str6172) + %t255 = icmp ne i32 %t254, 0 + br i1 %t255, label %then252, label %ifend254 +then252: + store i32 16502449, ptr %retval + br label %ret +ifend254: + %t256 = load ptr, ptr %t0 + %t257 = call i32 @lp_str_eq(ptr %t256, ptr @.str6173) + %t258 = icmp ne i32 %t257, 0 + br i1 %t258, label %then255, label %ifend257 +then255: + store i32 16770484, ptr %retval + br label %ret +ifend257: + %t259 = load ptr, ptr %t0 + %t260 = call i32 @lp_str_eq(ptr %t259, ptr @.str6174) + %t261 = icmp ne i32 %t260, 0 + br i1 %t261, label %then258, label %ifend260 +then258: + store i32 16754219, ptr %retval + br label %ret +ifend260: + %t262 = load ptr, ptr %t0 + %t263 = call i32 @lp_str_eq(ptr %t262, ptr @.str6175) + %t264 = icmp ne i32 %t263, 0 + br i1 %t264, label %then261, label %ifend263 +then261: + store i32 16760576, ptr %retval + br label %ret +ifend263: + %t265 = load ptr, ptr %t0 + %t266 = call i32 @lp_str_eq(ptr %t265, ptr @.str6176) + %t267 = icmp ne i32 %t266, 0 + br i1 %t267, label %then264, label %ifend266 +then264: + store i32 13467442, ptr %retval + br label %ret +ifend266: + %t268 = load ptr, ptr %t0 + %t269 = call i32 @lp_str_eq(ptr %t268, ptr @.str6177) + %t270 = icmp ne i32 %t269, 0 + br i1 %t270, label %then267, label %ifend269 +then267: + store i32 12088115, ptr %retval + br label %ret +ifend269: + %t271 = load ptr, ptr %t0 + %t272 = call i32 @lp_str_eq(ptr %t271, ptr @.str6178) + %t273 = icmp ne i32 %t272, 0 + br i1 %t273, label %then270, label %ifend272 +then270: + store i32 15376929, ptr %retval + br label %ret +ifend272: + %t274 = load ptr, ptr %t0 + %t275 = call i32 @lp_str_eq(ptr %t274, ptr @.str6179) + %t276 = icmp ne i32 %t275, 0 + br i1 %t276, label %then273, label %ifend275 +then273: + store i32 15569185, ptr %retval + br label %ret +ifend275: + %t277 = load ptr, ptr %t0 + %t278 = call i32 @lp_str_eq(ptr %t277, ptr @.str6180) + %t279 = icmp ne i32 %t278, 0 + br i1 %t279, label %then276, label %ifend278 +then276: + store i32 15489024, ptr %retval + br label %ret +ifend278: + %t280 = load ptr, ptr %t0 + %t281 = call i32 @lp_str_eq(ptr %t280, ptr @.str6181) + %t282 = icmp ne i32 %t281, 0 + br i1 %t282, label %then279, label %ifend281 +then279: + store i32 16752172, ptr %retval + br label %ret +ifend281: + %t283 = load ptr, ptr %t0 + %t284 = call i32 @lp_str_eq(ptr %t283, ptr @.str6182) + %t285 = icmp ne i32 %t284, 0 + br i1 %t285, label %then282, label %ifend284 +then282: + store i32 16438949, ptr %retval + br label %ret +ifend284: + %t286 = load ptr, ptr %t0 + %t287 = call i32 @lp_str_eq(ptr %t286, ptr @.str6183) + %t288 = icmp ne i32 %t287, 0 + br i1 %t288, label %then285, label %ifend287 +then285: + store i32 16776960, ptr %retval + br label %ret +ifend287: + %t289 = load ptr, ptr %t0 + %t290 = call i32 @lp_str_eq(ptr %t289, ptr @.str6184) + %t291 = icmp ne i32 %t290, 0 + br i1 %t291, label %then288, label %ifend290 +then288: + store i32 16777184, ptr %retval + br label %ret +ifend290: + %t292 = load ptr, ptr %t0 + %t293 = call i32 @lp_str_eq(ptr %t292, ptr @.str6185) + %t294 = icmp ne i32 %t293, 0 + br i1 %t294, label %then291, label %ifend293 +then291: + store i32 16766720, ptr %retval + br label %ret +ifend293: + %t295 = load ptr, ptr %t0 + %t296 = call i32 @lp_str_eq(ptr %t295, ptr @.str6186) + %t297 = icmp ne i32 %t296, 0 + br i1 %t297, label %then294, label %ifend296 +then294: + store i32 14329120, ptr %retval + br label %ret +ifend296: + %t298 = load ptr, ptr %t0 + %t299 = call i32 @lp_str_eq(ptr %t298, ptr @.str6187) + %t300 = icmp ne i32 %t299, 0 + br i1 %t300, label %then297, label %ifend299 +then297: + store i32 16774912, ptr %retval + br label %ret +ifend299: + %t301 = load ptr, ptr %t0 + %t302 = call i32 @lp_str_eq(ptr %t301, ptr @.str6188) + %t303 = icmp ne i32 %t302, 0 + br i1 %t303, label %then300, label %ifend302 +then300: + store i32 16772864, ptr %retval + br label %ret +ifend302: + %t304 = load ptr, ptr %t0 + %t305 = call i32 @lp_str_eq(ptr %t304, ptr @.str6189) + %t306 = icmp ne i32 %t305, 0 + br i1 %t306, label %then303, label %ifend305 +then303: + store i32 16767832, ptr %retval + br label %ret +ifend305: + %t307 = load ptr, ptr %t0 + %t308 = call i32 @lp_str_eq(ptr %t307, ptr @.str6190) + %t309 = icmp ne i32 %t308, 0 + br i1 %t309, label %then306, label %ifend308 +then306: + store i32 15654018, ptr %retval + br label %ret +ifend308: + %t310 = load ptr, ptr %t0 + %t311 = call i32 @lp_str_eq(ptr %t310, ptr @.str6191) + %t312 = icmp ne i32 %t311, 0 + br i1 %t312, label %then309, label %ifend311 +then309: + store i32 16113331, ptr %retval + br label %ret +ifend311: + %t313 = load ptr, ptr %t0 + %t314 = call i32 @lp_str_eq(ptr %t313, ptr @.str6192) + %t315 = icmp ne i32 %t314, 0 + br i1 %t315, label %then312, label %ifend314 +then312: + store i32 16510045, ptr %retval + br label %ret +ifend314: + %t316 = load ptr, ptr %t0 + %t317 = call i32 @lp_str_eq(ptr %t316, ptr @.str6193) + %t318 = icmp ne i32 %t317, 0 + br i1 %t318, label %then315, label %ifend317 +then315: + store i32 15786288, ptr %retval + br label %ret +ifend317: + %t319 = load ptr, ptr %t0 + %t320 = call i32 @lp_str_eq(ptr %t319, ptr @.str6194) + %t321 = icmp ne i32 %t320, 0 + br i1 %t321, label %then318, label %ifend320 +then318: + store i32 16041008, ptr %retval + br label %ret +ifend320: + %t322 = load ptr, ptr %t0 + %t323 = call i32 @lp_str_eq(ptr %t322, ptr @.str6195) + %t324 = icmp ne i32 %t323, 0 + br i1 %t324, label %then321, label %ifend323 +then321: + store i32 15787660, ptr %retval + br label %ret +ifend323: + %t325 = load ptr, ptr %t0 + %t326 = call i32 @lp_str_eq(ptr %t325, ptr @.str6196) + %t327 = icmp ne i32 %t326, 0 + br i1 %t327, label %then324, label %ifend326 +then324: + store i32 12433259, ptr %retval + br label %ret +ifend326: + %t328 = load ptr, ptr %t0 + %t329 = call i32 @lp_str_eq(ptr %t328, ptr @.str6197) + %t330 = icmp ne i32 %t329, 0 + br i1 %t330, label %then327, label %ifend329 +then327: + store i32 14997871, ptr %retval + br label %ret +ifend329: + %t331 = load ptr, ptr %t0 + %t332 = call i32 @lp_str_eq(ptr %t331, ptr @.str6198) + %t333 = icmp ne i32 %t332, 0 + br i1 %t333, label %then330, label %ifend332 +then330: + store i32 9127187, ptr %retval + br label %ret +ifend332: + %t334 = load ptr, ptr %t0 + %t335 = call i32 @lp_str_eq(ptr %t334, ptr @.str6199) + %t336 = icmp ne i32 %t335, 0 + br i1 %t336, label %then333, label %ifend335 +then333: + store i32 9127187, ptr %retval + br label %ret +ifend335: + %t337 = load ptr, ptr %t0 + %t338 = call i32 @lp_str_eq(ptr %t337, ptr @.str6200) + %t339 = icmp ne i32 %t338, 0 + br i1 %t339, label %then336, label %ifend338 +then336: + store i32 10506797, ptr %retval + br label %ret +ifend338: + %t340 = load ptr, ptr %t0 + %t341 = call i32 @lp_str_eq(ptr %t340, ptr @.str6201) + %t342 = icmp ne i32 %t341, 0 + br i1 %t342, label %then339, label %ifend341 +then339: + store i32 13789470, ptr %retval + br label %ret +ifend341: + %t343 = load ptr, ptr %t0 + %t344 = call i32 @lp_str_eq(ptr %t343, ptr @.str6202) + %t345 = icmp ne i32 %t344, 0 + br i1 %t345, label %then342, label %ifend344 +then342: + store i32 13468991, ptr %retval + br label %ret +ifend344: + %t346 = load ptr, ptr %t0 + %t347 = call i32 @lp_str_eq(ptr %t346, ptr @.str6203) + %t348 = icmp ne i32 %t347, 0 + br i1 %t348, label %then345, label %ifend347 +then345: + store i32 13808780, ptr %retval + br label %ret +ifend347: + %t349 = load ptr, ptr %t0 + %t350 = call i32 @lp_str_eq(ptr %t349, ptr @.str6204) + %t351 = icmp ne i32 %t350, 0 + br i1 %t351, label %then348, label %ifend350 +then348: + store i32 14596231, ptr %retval + br label %ret +ifend350: + %t352 = load ptr, ptr %t0 + %t353 = call i32 @lp_str_eq(ptr %t352, ptr @.str6205) + %t354 = icmp ne i32 %t353, 0 + br i1 %t354, label %then351, label %ifend353 +then351: + store i32 12759680, ptr %retval + br label %ret +ifend353: + %t355 = load ptr, ptr %t0 + %t356 = call i32 @lp_str_eq(ptr %t355, ptr @.str6206) + %t357 = icmp ne i32 %t356, 0 + br i1 %t357, label %then354, label %ifend356 +then354: + store i32 7294519, ptr %retval + br label %ret +ifend356: + %t358 = load ptr, ptr %t0 + %t359 = call i32 @lp_str_eq(ptr %t358, ptr @.str6207) + %t360 = icmp ne i32 %t359, 0 + br i1 %t360, label %then357, label %ifend359 +then357: + store i32 4929057, ptr %retval + br label %ret +ifend359: + %t361 = load ptr, ptr %t0 + %t362 = call i32 @lp_str_eq(ptr %t361, ptr @.str6208) + %t363 = icmp ne i32 %t362, 0 + br i1 %t363, label %then360, label %ifend362 +then360: + store i32 12599296, ptr %retval + br label %ret +ifend362: + %t364 = load ptr, ptr %t0 + %t365 = call i32 @lp_str_eq(ptr %t364, ptr @.str6209) + %t366 = icmp ne i32 %t365, 0 + br i1 %t366, label %then363, label %ifend365 +then363: + store i32 7814938, ptr %retval + br label %ret +ifend365: + %t367 = load ptr, ptr %t0 + %t368 = call i32 @lp_str_eq(ptr %t367, ptr @.str6210) + %t369 = icmp ne i32 %t368, 0 + br i1 %t369, label %then366, label %ifend368 +then366: + store i32 6508871, ptr %retval + br label %ret +ifend368: + %t370 = load ptr, ptr %t0 + %t371 = call i32 @lp_str_eq(ptr %t370, ptr @.str6211) + %t372 = icmp ne i32 %t371, 0 + br i1 %t372, label %then369, label %ifend371 +then369: + store i32 7356948, ptr %retval + br label %ret +ifend371: + %t373 = load ptr, ptr %t0 + %t374 = call i32 @lp_str_eq(ptr %t373, ptr @.str6212) + %t375 = icmp ne i32 %t374, 0 + br i1 %t375, label %then372, label %ifend374 +then372: + store i32 4734002, ptr %retval + br label %ret +ifend374: + %t376 = load ptr, ptr %t0 + %t377 = call i32 @lp_str_eq(ptr %t376, ptr @.str6213) + %t378 = icmp ne i32 %t377, 0 + br i1 %t378, label %then375, label %ifend377 +then375: + store i32 15051376, ptr %retval + br label %ret +ifend377: + %t379 = load ptr, ptr %t0 + %t380 = call i32 @lp_str_eq(ptr %t379, ptr @.str6214) + %t381 = icmp ne i32 %t380, 0 + br i1 %t381, label %then378, label %ifend380 +then378: + store i32 13012503, ptr %retval + br label %ret +ifend380: + %t382 = load ptr, ptr %t0 + %t383 = call i32 @lp_str_eq(ptr %t382, ptr @.str6215) + %t384 = icmp ne i32 %t383, 0 + br i1 %t384, label %then381, label %ifend383 +then381: + store i32 13789470, ptr %retval + br label %ret +ifend383: + %t385 = load ptr, ptr %t0 + %t386 = call i32 @lp_str_eq(ptr %t385, ptr @.str6216) + %t387 = icmp ne i32 %t386, 0 + br i1 %t387, label %then384, label %ifend386 +then384: + store i32 9336344, ptr %retval + br label %ret +ifend386: + %t388 = load ptr, ptr %t0 + %t389 = call i32 @lp_str_eq(ptr %t388, ptr @.str6217) + %t390 = icmp ne i32 %t389, 0 + br i1 %t390, label %then387, label %ifend389 +then387: + store i32 6575186, ptr %retval + br label %ret +ifend389: + %t391 = load ptr, ptr %t0 + %t392 = call i32 @lp_str_eq(ptr %t391, ptr @.str6218) + %t393 = icmp ne i32 %t392, 0 + br i1 %t393, label %then390, label %ifend392 +then390: + store i32 32768, ptr %retval + br label %ret +ifend392: + %t394 = load ptr, ptr %t0 + %t395 = call i32 @lp_str_eq(ptr %t394, ptr @.str6219) + %t396 = icmp ne i32 %t395, 0 + br i1 %t396, label %then393, label %ifend395 +then393: + store i32 65280, ptr %retval + br label %ret +ifend395: + %t397 = load ptr, ptr %t0 + %t398 = call i32 @lp_str_eq(ptr %t397, ptr @.str6220) + %t399 = icmp ne i32 %t398, 0 + br i1 %t399, label %then396, label %ifend398 +then396: + store i32 3329330, ptr %retval + br label %ret +ifend398: + %t400 = load ptr, ptr %t0 + %t401 = call i32 @lp_str_eq(ptr %t400, ptr @.str6221) + %t402 = icmp ne i32 %t401, 0 + br i1 %t402, label %then399, label %ifend401 +then399: + store i32 8190976, ptr %retval + br label %ret +ifend401: + %t403 = load ptr, ptr %t0 + %t404 = call i32 @lp_str_eq(ptr %t403, ptr @.str6222) + %t405 = icmp ne i32 %t404, 0 + br i1 %t405, label %then402, label %ifend404 +then402: + store i32 8388352, ptr %retval + br label %ret +ifend404: + %t406 = load ptr, ptr %t0 + %t407 = call i32 @lp_str_eq(ptr %t406, ptr @.str6223) + %t408 = icmp ne i32 %t407, 0 + br i1 %t408, label %then405, label %ifend407 +then405: + store i32 11403055, ptr %retval + br label %ret +ifend407: + %t409 = load ptr, ptr %t0 + %t410 = call i32 @lp_str_eq(ptr %t409, ptr @.str6224) + %t411 = icmp ne i32 %t410, 0 + br i1 %t411, label %then408, label %ifend410 +then408: + store i32 65407, ptr %retval + br label %ret +ifend410: + %t412 = load ptr, ptr %t0 + %t413 = call i32 @lp_str_eq(ptr %t412, ptr @.str6225) + %t414 = icmp ne i32 %t413, 0 + br i1 %t414, label %then411, label %ifend413 +then411: + store i32 10026904, ptr %retval + br label %ret +ifend413: + %t415 = load ptr, ptr %t0 + %t416 = call i32 @lp_str_eq(ptr %t415, ptr @.str6226) + %t417 = icmp ne i32 %t416, 0 + br i1 %t417, label %then414, label %ifend416 +then414: + store i32 3050327, ptr %retval + br label %ret +ifend416: + %t418 = load ptr, ptr %t0 + %t419 = call i32 @lp_str_eq(ptr %t418, ptr @.str6227) + %t420 = icmp ne i32 %t419, 0 + br i1 %t420, label %then417, label %ifend419 +then417: + store i32 3978097, ptr %retval + br label %ret +ifend419: + %t421 = load ptr, ptr %t0 + %t422 = call i32 @lp_str_eq(ptr %t421, ptr @.str6228) + %t423 = icmp ne i32 %t422, 0 + br i1 %t423, label %then420, label %ifend422 +then420: + store i32 2263842, ptr %retval + br label %ret +ifend422: + %t424 = load ptr, ptr %t0 + %t425 = call i32 @lp_str_eq(ptr %t424, ptr @.str6229) + %t426 = icmp ne i32 %t425, 0 + br i1 %t426, label %then423, label %ifend425 +then423: + store i32 25600, ptr %retval + br label %ret +ifend425: + %t427 = load ptr, ptr %t0 + %t428 = call i32 @lp_str_eq(ptr %t427, ptr @.str6230) + %t429 = icmp ne i32 %t428, 0 + br i1 %t429, label %then426, label %ifend428 +then426: + store i32 7048739, ptr %retval + br label %ret +ifend428: + %t430 = load ptr, ptr %t0 + %t431 = call i32 @lp_str_eq(ptr %t430, ptr @.str6231) + %t432 = icmp ne i32 %t431, 0 + br i1 %t432, label %then429, label %ifend431 +then429: + store i32 8421376, ptr %retval + br label %ret +ifend431: + %t433 = load ptr, ptr %t0 + %t434 = call i32 @lp_str_eq(ptr %t433, ptr @.str6232) + %t435 = icmp ne i32 %t434, 0 + br i1 %t435, label %then432, label %ifend434 +then432: + store i32 9083483, ptr %retval + br label %ret +ifend434: + %t436 = load ptr, ptr %t0 + %t437 = call i32 @lp_str_eq(ptr %t436, ptr @.str6233) + %t438 = icmp ne i32 %t437, 0 + br i1 %t438, label %then435, label %ifend437 +then435: + store i32 5208386, ptr %retval + br label %ret +ifend437: + %t439 = load ptr, ptr %t0 + %t440 = call i32 @lp_str_eq(ptr %t439, ptr @.str6234) + %t441 = icmp ne i32 %t440, 0 + br i1 %t441, label %then438, label %ifend440 +then438: + store i32 5294200, ptr %retval + br label %ret +ifend440: + %t442 = load ptr, ptr %t0 + %t443 = call i32 @lp_str_eq(ptr %t442, ptr @.str6235) + %t444 = icmp ne i32 %t443, 0 + br i1 %t444, label %then441, label %ifend443 +then441: + store i32 43115, ptr %retval + br label %ret +ifend443: + %t445 = load ptr, ptr %t0 + %t446 = call i32 @lp_str_eq(ptr %t445, ptr @.str6236) + %t447 = icmp ne i32 %t446, 0 + br i1 %t447, label %then444, label %ifend446 +then444: + store i32 776785, ptr %retval + br label %ret +ifend446: + %t448 = load ptr, ptr %t0 + %t449 = call i32 @lp_str_eq(ptr %t448, ptr @.str6237) + %t450 = icmp ne i32 %t449, 0 + br i1 %t450, label %then447, label %ifend449 +then447: + store i32 40544, ptr %retval + br label %ret +ifend449: + %t451 = load ptr, ptr %t0 + %t452 = call i32 @lp_str_eq(ptr %t451, ptr @.str6238) + %t453 = icmp ne i32 %t452, 0 + br i1 %t453, label %then450, label %ifend452 +then450: + store i32 9684338, ptr %retval + br label %ret +ifend452: + %t454 = load ptr, ptr %t0 + %t455 = call i32 @lp_str_eq(ptr %t454, ptr @.str6239) + %t456 = icmp ne i32 %t455, 0 + br i1 %t456, label %then453, label %ifend455 +then453: + store i32 5669379, ptr %retval + br label %ret +ifend455: + %t457 = load ptr, ptr %t0 + %t458 = call i32 @lp_str_eq(ptr %t457, ptr @.str6240) + %t459 = icmp ne i32 %t458, 0 + br i1 %t459, label %then456, label %ifend458 +then456: + store i32 96623, ptr %retval + br label %ret +ifend458: + %t460 = load ptr, ptr %t0 + %t461 = call i32 @lp_str_eq(ptr %t460, ptr @.str6241) + %t462 = icmp ne i32 %t461, 0 + br i1 %t462, label %then459, label %ifend461 +then459: + store i32 10268552, ptr %retval + br label %ret +ifend461: + %t463 = load ptr, ptr %t0 + %t464 = call i32 @lp_str_eq(ptr %t463, ptr @.str6242) + %t465 = icmp ne i32 %t464, 0 + br i1 %t465, label %then462, label %ifend464 +then462: + store i32 5028631, ptr %retval + br label %ret +ifend464: + %t466 = load ptr, ptr %t0 + %t467 = call i32 @lp_str_eq(ptr %t466, ptr @.str6243) + %t468 = icmp ne i32 %t467, 0 + br i1 %t468, label %then465, label %ifend467 +then465: + store i32 3497531, ptr %retval + br label %ret +ifend467: + %t469 = load ptr, ptr %t0 + %t470 = call i32 @lp_str_eq(ptr %t469, ptr @.str6244) + %t471 = icmp ne i32 %t470, 0 + br i1 %t471, label %then468, label %ifend470 +then468: + store i32 5739049, ptr %retval + br label %ret +ifend470: + %t472 = load ptr, ptr %t0 + %t473 = call i32 @lp_str_eq(ptr %t472, ptr @.str6245) + %t474 = icmp ne i32 %t473, 0 + br i1 %t474, label %then471, label %ifend473 +then471: + store i32 3050327, ptr %retval + br label %ret +ifend473: + %t475 = load ptr, ptr %t0 + %t476 = call i32 @lp_str_eq(ptr %t475, ptr @.str6246) + %t477 = icmp ne i32 %t476, 0 + br i1 %t477, label %then474, label %ifend476 +then474: + store i32 7182969, ptr %retval + br label %ret +ifend476: + %t478 = load ptr, ptr %t0 + %t479 = call i32 @lp_str_eq(ptr %t478, ptr @.str6247) + %t480 = icmp ne i32 %t479, 0 + br i1 %t480, label %then477, label %ifend479 +then477: + store i32 3800852, ptr %retval + br label %ret +ifend479: + %t481 = load ptr, ptr %t0 + %t482 = call i32 @lp_str_eq(ptr %t481, ptr @.str6248) + %t483 = icmp ne i32 %t482, 0 + br i1 %t483, label %then480, label %ifend482 +then480: + store i32 65535, ptr %retval + br label %ret +ifend482: + %t484 = load ptr, ptr %t0 + %t485 = call i32 @lp_str_eq(ptr %t484, ptr @.str6249) + %t486 = icmp ne i32 %t485, 0 + br i1 %t486, label %then483, label %ifend485 +then483: + store i32 65535, ptr %retval + br label %ret +ifend485: + %t487 = load ptr, ptr %t0 + %t488 = call i32 @lp_str_eq(ptr %t487, ptr @.str6250) + %t489 = icmp ne i32 %t488, 0 + br i1 %t489, label %then486, label %ifend488 +then486: + store i32 14745599, ptr %retval + br label %ret +ifend488: + %t490 = load ptr, ptr %t0 + %t491 = call i32 @lp_str_eq(ptr %t490, ptr @.str6251) + %t492 = icmp ne i32 %t491, 0 + br i1 %t492, label %then489, label %ifend491 +then489: + store i32 11529966, ptr %retval + br label %ret +ifend491: + %t493 = load ptr, ptr %t0 + %t494 = call i32 @lp_str_eq(ptr %t493, ptr @.str6252) + %t495 = icmp ne i32 %t494, 0 + br i1 %t495, label %then492, label %ifend494 +then492: + store i32 8388564, ptr %retval + br label %ret +ifend494: + %t496 = load ptr, ptr %t0 + %t497 = call i32 @lp_str_eq(ptr %t496, ptr @.str6253) + %t498 = icmp ne i32 %t497, 0 + br i1 %t498, label %then495, label %ifend497 +then495: + store i32 4251856, ptr %retval + br label %ret +ifend497: + %t499 = load ptr, ptr %t0 + %t500 = call i32 @lp_str_eq(ptr %t499, ptr @.str6254) + %t501 = icmp ne i32 %t500, 0 + br i1 %t501, label %then498, label %ifend500 +then498: + store i32 4772300, ptr %retval + br label %ret +ifend500: + %t502 = load ptr, ptr %t0 + %t503 = call i32 @lp_str_eq(ptr %t502, ptr @.str6255) + %t504 = icmp ne i32 %t503, 0 + br i1 %t504, label %then501, label %ifend503 +then501: + store i32 52945, ptr %retval + br label %ret +ifend503: + %t505 = load ptr, ptr %t0 + %t506 = call i32 @lp_str_eq(ptr %t505, ptr @.str6256) + %t507 = icmp ne i32 %t506, 0 + br i1 %t507, label %then504, label %ifend506 +then504: + store i32 32896, ptr %retval + br label %ret +ifend506: + %t508 = load ptr, ptr %t0 + %t509 = call i32 @lp_str_eq(ptr %t508, ptr @.str6257) + %t510 = icmp ne i32 %t509, 0 + br i1 %t510, label %then507, label %ifend509 +then507: + store i32 35723, ptr %retval + br label %ret +ifend509: + %t511 = load ptr, ptr %t0 + %t512 = call i32 @lp_str_eq(ptr %t511, ptr @.str6258) + %t513 = icmp ne i32 %t512, 0 + br i1 %t513, label %then510, label %ifend512 +then510: + store i32 6266528, ptr %retval + br label %ret +ifend512: + %t514 = load ptr, ptr %t0 + %t515 = call i32 @lp_str_eq(ptr %t514, ptr @.str6259) + %t516 = icmp ne i32 %t515, 0 + br i1 %t516, label %then513, label %ifend515 +then513: + store i32 102030, ptr %retval + br label %ret +ifend515: + %t517 = load ptr, ptr %t0 + %t518 = call i32 @lp_str_eq(ptr %t517, ptr @.str6260) + %t519 = icmp ne i32 %t518, 0 + br i1 %t519, label %then516, label %ifend518 +then516: + store i32 9693630, ptr %retval + br label %ret +ifend518: + %t520 = load ptr, ptr %t0 + %t521 = call i32 @lp_str_eq(ptr %t520, ptr @.str6261) + %t522 = icmp ne i32 %t521, 0 + br i1 %t522, label %then519, label %ifend521 +then519: + store i32 31655, ptr %retval + br label %ret +ifend521: + %t523 = load ptr, ptr %t0 + %t524 = call i32 @lp_str_eq(ptr %t523, ptr @.str6262) + %t525 = icmp ne i32 %t524, 0 + br i1 %t525, label %then522, label %ifend524 +then522: + store i32 8444651, ptr %retval + br label %ret +ifend524: + %t526 = load ptr, ptr %t0 + %t527 = call i32 @lp_str_eq(ptr %t526, ptr @.str6263) + %t528 = icmp ne i32 %t527, 0 + br i1 %t528, label %then525, label %ifend527 +then525: + store i32 52428, ptr %retval + br label %ret +ifend527: + %t529 = load ptr, ptr %t0 + %t530 = call i32 @lp_str_eq(ptr %t529, ptr @.str6264) + %t531 = icmp ne i32 %t530, 0 + br i1 %t531, label %then528, label %ifend530 +then528: + store i32 4436910, ptr %retval + br label %ret +ifend530: + %t532 = load ptr, ptr %t0 + %t533 = call i32 @lp_str_eq(ptr %t532, ptr @.str6265) + %t534 = icmp ne i32 %t533, 0 + br i1 %t534, label %then531, label %ifend533 +then531: + store i32 11329967, ptr %retval + br label %ret +ifend533: + %t535 = load ptr, ptr %t0 + %t536 = call i32 @lp_str_eq(ptr %t535, ptr @.str6266) + %t537 = icmp ne i32 %t536, 0 + br i1 %t537, label %then534, label %ifend536 +then534: + store i32 255, ptr %retval + br label %ret +ifend536: + %t538 = load ptr, ptr %t0 + %t539 = call i32 @lp_str_eq(ptr %t538, ptr @.str6267) + %t540 = icmp ne i32 %t539, 0 + br i1 %t540, label %then537, label %ifend539 +then537: + store i32 11393254, ptr %retval + br label %ret +ifend539: + %t541 = load ptr, ptr %t0 + %t542 = call i32 @lp_str_eq(ptr %t541, ptr @.str6268) + %t543 = icmp ne i32 %t542, 0 + br i1 %t543, label %then540, label %ifend542 +then540: + store i32 11591910, ptr %retval + br label %ret +ifend542: + %t544 = load ptr, ptr %t0 + %t545 = call i32 @lp_str_eq(ptr %t544, ptr @.str6269) + %t546 = icmp ne i32 %t545, 0 + br i1 %t546, label %then543, label %ifend545 +then543: + store i32 8900331, ptr %retval + br label %ret +ifend545: + %t547 = load ptr, ptr %t0 + %t548 = call i32 @lp_str_eq(ptr %t547, ptr @.str6270) + %t549 = icmp ne i32 %t548, 0 + br i1 %t549, label %then546, label %ifend548 +then546: + store i32 8900346, ptr %retval + br label %ret +ifend548: + %t550 = load ptr, ptr %t0 + %t551 = call i32 @lp_str_eq(ptr %t550, ptr @.str6271) + %t552 = icmp ne i32 %t551, 0 + br i1 %t552, label %then549, label %ifend551 +then549: + store i32 49151, ptr %retval + br label %ret +ifend551: + %t553 = load ptr, ptr %t0 + %t554 = call i32 @lp_str_eq(ptr %t553, ptr @.str6272) + %t555 = icmp ne i32 %t554, 0 + br i1 %t555, label %then552, label %ifend554 +then552: + store i32 2003199, ptr %retval + br label %ret +ifend554: + %t556 = load ptr, ptr %t0 + %t557 = call i32 @lp_str_eq(ptr %t556, ptr @.str6273) + %t558 = icmp ne i32 %t557, 0 + br i1 %t558, label %then555, label %ifend557 +then555: + store i32 6591981, ptr %retval + br label %ret +ifend557: + %t559 = load ptr, ptr %t0 + %t560 = call i32 @lp_str_eq(ptr %t559, ptr @.str6274) + %t561 = icmp ne i32 %t560, 0 + br i1 %t561, label %then558, label %ifend560 +then558: + store i32 4620980, ptr %retval + br label %ret +ifend560: + %t562 = load ptr, ptr %t0 + %t563 = call i32 @lp_str_eq(ptr %t562, ptr @.str6275) + %t564 = icmp ne i32 %t563, 0 + br i1 %t564, label %then561, label %ifend563 +then561: + store i32 4286945, ptr %retval + br label %ret +ifend563: + %t565 = load ptr, ptr %t0 + %t566 = call i32 @lp_str_eq(ptr %t565, ptr @.str6276) + %t567 = icmp ne i32 %t566, 0 + br i1 %t567, label %then564, label %ifend566 +then564: + store i32 205, ptr %retval + br label %ret +ifend566: + %t568 = load ptr, ptr %t0 + %t569 = call i32 @lp_str_eq(ptr %t568, ptr @.str6277) + %t570 = icmp ne i32 %t569, 0 + br i1 %t570, label %then567, label %ifend569 +then567: + store i32 139, ptr %retval + br label %ret +ifend569: + %t571 = load ptr, ptr %t0 + %t572 = call i32 @lp_str_eq(ptr %t571, ptr @.str6278) + %t573 = icmp ne i32 %t572, 0 + br i1 %t573, label %then570, label %ifend572 +then570: + store i32 128, ptr %retval + br label %ret +ifend572: + %t574 = load ptr, ptr %t0 + %t575 = call i32 @lp_str_eq(ptr %t574, ptr @.str6279) + %t576 = icmp ne i32 %t575, 0 + br i1 %t576, label %then573, label %ifend575 +then573: + store i32 1644912, ptr %retval + br label %ret +ifend575: + %t577 = load ptr, ptr %t0 + %t578 = call i32 @lp_str_eq(ptr %t577, ptr @.str6280) + %t579 = icmp ne i32 %t578, 0 + br i1 %t579, label %then576, label %ifend578 +then576: + store i32 18347, ptr %retval + br label %ret +ifend578: + %t580 = load ptr, ptr %t0 + %t581 = call i32 @lp_str_eq(ptr %t580, ptr @.str6281) + %t582 = icmp ne i32 %t581, 0 + br i1 %t582, label %then579, label %ifend581 +then579: + store i32 1004218, ptr %retval + br label %ret +ifend581: + %t583 = load ptr, ptr %t0 + %t584 = call i32 @lp_str_eq(ptr %t583, ptr @.str6282) + %t585 = icmp ne i32 %t584, 0 + br i1 %t585, label %then582, label %ifend584 +then582: + store i32 1401021, ptr %retval + br label %ret +ifend584: + %t586 = load ptr, ptr %t0 + %t587 = call i32 @lp_str_eq(ptr %t586, ptr @.str6283) + %t588 = icmp ne i32 %t587, 0 + br i1 %t588, label %then585, label %ifend587 +then585: + store i32 4915330, ptr %retval + br label %ret +ifend587: + %t589 = load ptr, ptr %t0 + %t590 = call i32 @lp_str_eq(ptr %t589, ptr @.str6284) + %t591 = icmp ne i32 %t590, 0 + br i1 %t591, label %then588, label %ifend590 +then588: + store i32 12627, ptr %retval + br label %ret +ifend590: + %t592 = load ptr, ptr %t0 + %t593 = call i32 @lp_str_eq(ptr %t592, ptr @.str6285) + %t594 = icmp ne i32 %t593, 0 + br i1 %t594, label %then591, label %ifend593 +then591: + store i32 4129023, ptr %retval + br label %ret +ifend593: + %t595 = load ptr, ptr %t0 + %t596 = call i32 @lp_str_eq(ptr %t595, ptr @.str6286) + %t597 = icmp ne i32 %t596, 0 + br i1 %t597, label %then594, label %ifend596 +then594: + store i32 13421823, ptr %retval + br label %ret +ifend596: + %t598 = load ptr, ptr %t0 + %t599 = call i32 @lp_str_eq(ptr %t598, ptr @.str6287) + %t600 = icmp ne i32 %t599, 0 + br i1 %t600, label %then597, label %ifend599 +then597: + store i32 5918671, ptr %retval + br label %ret +ifend599: + %t601 = load ptr, ptr %t0 + %t602 = call i32 @lp_str_eq(ptr %t601, ptr @.str6288) + %t603 = icmp ne i32 %t602, 0 + br i1 %t603, label %then600, label %ifend602 +then600: + store i32 6324918, ptr %retval + br label %ret +ifend602: + %t604 = load ptr, ptr %t0 + %t605 = call i32 @lp_str_eq(ptr %t604, ptr @.str6289) + %t606 = icmp ne i32 %t605, 0 + br i1 %t606, label %then603, label %ifend605 +then603: + store i32 5288, ptr %retval + br label %ret +ifend605: + %t607 = load ptr, ptr %t0 + %t608 = call i32 @lp_str_eq(ptr %t607, ptr @.str6290) + %t609 = icmp ne i32 %t608, 0 + br i1 %t609, label %then606, label %ifend608 +then606: + store i32 3026312, ptr %retval + br label %ret +ifend608: + %t610 = load ptr, ptr %t0 + %t611 = call i32 @lp_str_eq(ptr %t610, ptr @.str6291) + %t612 = icmp ne i32 %t611, 0 + br i1 %t612, label %then609, label %ifend611 +then609: + store i32 8388736, ptr %retval + br label %ret +ifend611: + %t613 = load ptr, ptr %t0 + %t614 = call i32 @lp_str_eq(ptr %t613, ptr @.str6292) + %t615 = icmp ne i32 %t614, 0 + br i1 %t615, label %then612, label %ifend614 +then612: + store i32 15631086, ptr %retval + br label %ret +ifend614: + %t616 = load ptr, ptr %t0 + %t617 = call i32 @lp_str_eq(ptr %t616, ptr @.str6293) + %t618 = icmp ne i32 %t617, 0 + br i1 %t618, label %then615, label %ifend617 +then615: + store i32 9699539, ptr %retval + br label %ret +ifend617: + %t619 = load ptr, ptr %t0 + %t620 = call i32 @lp_str_eq(ptr %t619, ptr @.str6294) + %t621 = icmp ne i32 %t620, 0 + br i1 %t621, label %then618, label %ifend620 +then618: + store i32 9055202, ptr %retval + br label %ret +ifend620: + %t622 = load ptr, ptr %t0 + %t623 = call i32 @lp_str_eq(ptr %t622, ptr @.str6295) + %t624 = icmp ne i32 %t623, 0 + br i1 %t624, label %then621, label %ifend623 +then621: + store i32 9662683, ptr %retval + br label %ret +ifend623: + %t625 = load ptr, ptr %t0 + %t626 = call i32 @lp_str_eq(ptr %t625, ptr @.str6296) + %t627 = icmp ne i32 %t626, 0 + br i1 %t627, label %then624, label %ifend626 +then624: + store i32 10053324, ptr %retval + br label %ret +ifend626: + %t628 = load ptr, ptr %t0 + %t629 = call i32 @lp_str_eq(ptr %t628, ptr @.str6297) + %t630 = icmp ne i32 %t629, 0 + br i1 %t630, label %then627, label %ifend629 +then627: + store i32 9323909, ptr %retval + br label %ret +ifend629: + %t631 = load ptr, ptr %t0 + %t632 = call i32 @lp_str_eq(ptr %t631, ptr @.str6298) + %t633 = icmp ne i32 %t632, 0 + br i1 %t633, label %then630, label %ifend632 +then630: + store i32 6373457, ptr %retval + br label %ret +ifend632: + %t634 = load ptr, ptr %t0 + %t635 = call i32 @lp_str_eq(ptr %t634, ptr @.str6299) + %t636 = icmp ne i32 %t635, 0 + br i1 %t636, label %then633, label %ifend635 +then633: + store i32 7286184, ptr %retval + br label %ret +ifend635: + %t637 = load ptr, ptr %t0 + %t638 = call i32 @lp_str_eq(ptr %t637, ptr @.str6300) + %t639 = icmp ne i32 %t638, 0 + br i1 %t639, label %then636, label %ifend638 +then636: + store i32 7483191, ptr %retval + br label %ret +ifend638: + %t640 = load ptr, ptr %t0 + %t641 = call i32 @lp_str_eq(ptr %t640, ptr @.str6301) + %t642 = icmp ne i32 %t641, 0 + br i1 %t642, label %then639, label %ifend641 +then639: + store i32 12929932, ptr %retval + br label %ret +ifend641: + %t643 = load ptr, ptr %t0 + %t644 = call i32 @lp_str_eq(ptr %t643, ptr @.str6302) + %t645 = icmp ne i32 %t644, 0 + br i1 %t645, label %then642, label %ifend644 +then642: + store i32 13148872, ptr %retval + br label %ret +ifend644: + %t646 = load ptr, ptr %t0 + %t647 = call i32 @lp_str_eq(ptr %t646, ptr @.str6303) + %t648 = icmp ne i32 %t647, 0 + br i1 %t648, label %then645, label %ifend647 +then645: + store i32 13213916, ptr %retval + br label %ret +ifend647: + %t649 = load ptr, ptr %t0 + %t650 = call i32 @lp_str_eq(ptr %t649, ptr @.str6304) + %t651 = icmp ne i32 %t650, 0 + br i1 %t651, label %then648, label %ifend650 +then648: + store i32 14644223, ptr %retval + br label %ret +ifend650: + %t652 = load ptr, ptr %t0 + %t653 = call i32 @lp_str_eq(ptr %t652, ptr @.str6305) + %t654 = icmp ne i32 %t653, 0 + br i1 %t654, label %then651, label %ifend653 +then651: + store i32 7350627, ptr %retval + br label %ret +ifend653: + %t655 = load ptr, ptr %t0 + %t656 = call i32 @lp_str_eq(ptr %t655, ptr @.str6306) + %t657 = icmp ne i32 %t656, 0 + br i1 %t657, label %then654, label %ifend656 +then654: + store i32 6685244, ptr %retval + br label %ret +ifend656: + %t658 = load ptr, ptr %t0 + %t659 = call i32 @lp_str_eq(ptr %t658, ptr @.str6307) + %t660 = icmp ne i32 %t659, 0 + br i1 %t660, label %then657, label %ifend659 +then657: + store i32 6697881, ptr %retval + br label %ret +ifend659: + %t661 = load ptr, ptr %t0 + %t662 = call i32 @lp_str_eq(ptr %t661, ptr @.str6308) + %t663 = icmp ne i32 %t662, 0 + br i1 %t663, label %then660, label %ifend662 +then660: + store i32 11495919, ptr %retval + br label %ret +ifend662: + %t664 = sub i32 0, 1 + store i32 %t664, ptr %retval + br label %ret +ret: + %t665 = load i32, ptr %retval + ret i32 %t665 +} + +define i32 @fn_key_lookup(ptr %arg_name) { +entry: + %retval = alloca i32 + %t0 = alloca ptr + %t78 = alloca i32 + %t79 = alloca i32 + store ptr %arg_name, ptr %t0 + %t1 = load ptr, ptr %t0 + %t2 = call i32 @lp_str_eq(ptr %t1, ptr @.str6309) + %t3 = icmp ne i32 %t2, 0 + br i1 %t3, label %then0, label %ifend2 +then0: + store i32 32, ptr %retval + br label %ret +ifend2: + %t4 = load ptr, ptr %t0 + %t5 = call i32 @lp_str_eq(ptr %t4, ptr @.str6310) + %t6 = icmp ne i32 %t5, 0 + br i1 %t6, label %then3, label %ifend5 +then3: + store i32 10, ptr %retval + br label %ret +ifend5: + %t7 = load ptr, ptr %t0 + %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str6311) + %t9 = icmp ne i32 %t8, 0 + br i1 %t9, label %then6, label %ifend8 +then6: + store i32 10, ptr %retval + br label %ret +ifend8: + %t10 = load ptr, ptr %t0 + %t11 = call i32 @lp_str_eq(ptr %t10, ptr @.str6312) + %t12 = icmp ne i32 %t11, 0 + br i1 %t12, label %then9, label %ifend11 +then9: + store i32 27, ptr %retval + br label %ret +ifend11: + %t13 = load ptr, ptr %t0 + %t14 = call i32 @lp_str_eq(ptr %t13, ptr @.str6313) + %t15 = icmp ne i32 %t14, 0 + br i1 %t15, label %then12, label %ifend14 +then12: + store i32 27, ptr %retval + br label %ret +ifend14: + %t16 = load ptr, ptr %t0 + %t17 = call i32 @lp_str_eq(ptr %t16, ptr @.str6314) + %t18 = icmp ne i32 %t17, 0 + br i1 %t18, label %then15, label %ifend17 +then15: + store i32 16, ptr %retval + br label %ret +ifend17: + %t19 = load ptr, ptr %t0 + %t20 = call i32 @lp_str_eq(ptr %t19, ptr @.str6315) + %t21 = icmp ne i32 %t20, 0 + br i1 %t21, label %then18, label %ifend20 +then18: + store i32 9, ptr %retval + br label %ret +ifend20: + %t22 = load ptr, ptr %t0 + %t23 = call i32 @lp_str_eq(ptr %t22, ptr @.str6316) + %t24 = icmp ne i32 %t23, 0 + br i1 %t24, label %then21, label %ifend23 +then21: + store i32 8, ptr %retval + br label %ret +ifend23: + %t25 = load ptr, ptr %t0 + %t26 = call i32 @lp_str_eq(ptr %t25, ptr @.str6317) + %t27 = icmp ne i32 %t26, 0 + br i1 %t27, label %then24, label %ifend26 +then24: + store i32 119, ptr %retval + br label %ret +ifend26: + %t28 = load ptr, ptr %t0 + %t29 = call i32 @lp_str_eq(ptr %t28, ptr @.str6318) + %t30 = icmp ne i32 %t29, 0 + br i1 %t30, label %then27, label %ifend29 +then27: + store i32 115, ptr %retval + br label %ret +ifend29: + %t31 = load ptr, ptr %t0 + %t32 = call i32 @lp_str_eq(ptr %t31, ptr @.str6319) + %t33 = icmp ne i32 %t32, 0 + br i1 %t33, label %then30, label %ifend32 +then30: + store i32 97, ptr %retval + br label %ret +ifend32: + %t34 = load ptr, ptr %t0 + %t35 = call i32 @lp_str_eq(ptr %t34, ptr @.str6320) + %t36 = icmp ne i32 %t35, 0 + br i1 %t36, label %then33, label %ifend35 +then33: + store i32 100, ptr %retval + br label %ret +ifend35: + %t37 = load ptr, ptr %t0 + %t38 = call i32 @lp_str_eq(ptr %t37, ptr @.str6321) + %t39 = icmp ne i32 %t38, 0 + br i1 %t39, label %then36, label %ifend38 +then36: + store i32 48, ptr %retval + br label %ret +ifend38: + %t40 = load ptr, ptr %t0 + %t41 = call i32 @lp_str_eq(ptr %t40, ptr @.str6322) + %t42 = icmp ne i32 %t41, 0 + br i1 %t42, label %then39, label %ifend41 +then39: + store i32 49, ptr %retval + br label %ret +ifend41: + %t43 = load ptr, ptr %t0 + %t44 = call i32 @lp_str_eq(ptr %t43, ptr @.str6323) + %t45 = icmp ne i32 %t44, 0 + br i1 %t45, label %then42, label %ifend44 +then42: + store i32 50, ptr %retval + br label %ret +ifend44: + %t46 = load ptr, ptr %t0 + %t47 = call i32 @lp_str_eq(ptr %t46, ptr @.str6324) + %t48 = icmp ne i32 %t47, 0 + br i1 %t48, label %then45, label %ifend47 +then45: + store i32 51, ptr %retval + br label %ret +ifend47: + %t49 = load ptr, ptr %t0 + %t50 = call i32 @lp_str_eq(ptr %t49, ptr @.str6325) + %t51 = icmp ne i32 %t50, 0 + br i1 %t51, label %then48, label %ifend50 +then48: + store i32 52, ptr %retval + br label %ret +ifend50: + %t52 = load ptr, ptr %t0 + %t53 = call i32 @lp_str_eq(ptr %t52, ptr @.str6326) + %t54 = icmp ne i32 %t53, 0 + br i1 %t54, label %then51, label %ifend53 +then51: + store i32 53, ptr %retval + br label %ret +ifend53: + %t55 = load ptr, ptr %t0 + %t56 = call i32 @lp_str_eq(ptr %t55, ptr @.str6327) + %t57 = icmp ne i32 %t56, 0 + br i1 %t57, label %then54, label %ifend56 +then54: + store i32 54, ptr %retval + br label %ret +ifend56: + %t58 = load ptr, ptr %t0 + %t59 = call i32 @lp_str_eq(ptr %t58, ptr @.str6328) + %t60 = icmp ne i32 %t59, 0 + br i1 %t60, label %then57, label %ifend59 +then57: + store i32 55, ptr %retval + br label %ret +ifend59: + %t61 = load ptr, ptr %t0 + %t62 = call i32 @lp_str_eq(ptr %t61, ptr @.str6329) + %t63 = icmp ne i32 %t62, 0 + br i1 %t63, label %then60, label %ifend62 +then60: + store i32 56, ptr %retval + br label %ret +ifend62: + %t64 = load ptr, ptr %t0 + %t65 = call i32 @lp_str_eq(ptr %t64, ptr @.str6330) + %t66 = icmp ne i32 %t65, 0 + br i1 %t66, label %then63, label %ifend65 +then63: + store i32 57, ptr %retval + br label %ret +ifend65: + %t67 = load ptr, ptr %t0 + %t68 = getelementptr inbounds i8, ptr %t67, i32 1 + %t69 = load i8, ptr %t68 + %t70 = zext i8 %t69 to i32 + %t71 = icmp eq i32 %t70, 0 + %t72 = zext i1 %t71 to i32 + %t73 = icmp ne i32 %t72, 0 + br i1 %t73, label %then66, label %ifend68 +then66: + %t74 = load ptr, ptr %t0 + %t75 = getelementptr inbounds i8, ptr %t74, i32 0 + %t76 = load i8, ptr %t75 + %t77 = zext i8 %t76 to i32 + store i32 %t77, ptr %t78 + %t80 = load i32, ptr %t78 + %t81 = icmp sge i32 %t80, 65 + %t82 = zext i1 %t81 to i32 + %t83 = icmp ne i32 %t82, 0 + %t84 = zext i1 %t83 to i32 + store i32 %t84, ptr %t79 + br i1 %t83, label %sc69, label %scend70 +sc69: + %t85 = load i32, ptr %t78 + %t86 = icmp sle i32 %t85, 90 + %t87 = zext i1 %t86 to i32 + %t88 = icmp ne i32 %t87, 0 + %t89 = zext i1 %t88 to i32 + store i32 %t89, ptr %t79 + br label %scend70 +scend70: + %t90 = load i32, ptr %t79 + %t91 = icmp ne i32 %t90, 0 + br i1 %t91, label %then71, label %ifend73 +then71: + %t92 = load i32, ptr %t78 + %t93 = add i32 %t92, 32 + store i32 %t93, ptr %retval + br label %ret +ifend73: + br label %ifend68 +ifend68: + %t94 = sub i32 0, 1 + store i32 %t94, ptr %retval + br label %ret +ret: + %t95 = load i32, ptr %retval + ret i32 %t95 +} + +define ptr @fn_emit_sizeof(ptr %arg_llt) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t5 = alloca ptr + store ptr %arg_llt, ptr %t0 + %t1 = load ptr, ptr %t0 + %t2 = call ptr @lp_str_concat(ptr @.str6331, ptr %t1) + %t3 = call ptr @lp_str_concat(ptr %t2, ptr @.str6332) + %t4 = call ptr @fn_emit_bind(ptr %t3) + store ptr %t4, ptr %t5 + %t6 = load ptr, ptr %t5 + %t7 = call ptr @lp_str_concat(ptr @.str6333, ptr %t6) + %t8 = call ptr @lp_str_concat(ptr %t7, ptr @.str6334) + %t9 = call ptr @fn_emit_bind(ptr %t8) + store ptr %t9, ptr %retval + br label %ret +ret: + %t10 = load ptr, ptr %retval + ret ptr %t10 +} + +define ptr @fn_rec_field(ptr %arg_rec, ptr %arg_fname) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t1 = alloca ptr + %t6 = alloca i32 + %t24 = alloca ptr + store ptr %arg_rec, ptr %t0 + store ptr %arg_fname, ptr %t1 + %t2 = load ptr, ptr %t0 + %t3 = icmp eq ptr %t2, null + %t4 = zext i1 %t3 to i32 + %t5 = icmp ne i32 %t4, 0 + br i1 %t5, label %then0, label %ifend2 +then0: + store ptr null, ptr %retval + br label %ret +ifend2: + store i32 0, ptr %t6 + br label %wcond3 +wcond3: + %t7 = load i32, ptr %t6 + %t8 = load ptr, ptr %t0 + %t9 = getelementptr inbounds %Cmp_Node, ptr %t8, i32 0, i32 7 + %t10 = load ptr, ptr %t9 + %t11 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 1 + %t12 = load i32, ptr %t11 + %t13 = icmp slt i32 %t7, %t12 + %t14 = zext i1 %t13 to i32 + %t15 = icmp ne i32 %t14, 0 + br i1 %t15, label %wbody4, label %wend5 +wbody4: + %t16 = load ptr, ptr %t0 + %t17 = getelementptr inbounds %Cmp_Node, ptr %t16, i32 0, i32 7 + %t18 = load ptr, ptr %t17 + %t19 = getelementptr inbounds %LSlice, ptr %t18, i32 0, i32 0 + %t20 = load ptr, ptr %t19 + %t21 = load i32, ptr %t6 + %t22 = getelementptr inbounds ptr, ptr %t20, i32 %t21 + %t23 = load ptr, ptr %t22 + store ptr %t23, ptr %t24 + %t25 = load ptr, ptr %t24 + %t26 = getelementptr inbounds %Cmp_Node, ptr %t25, i32 0, i32 1 + %t27 = load ptr, ptr %t26 + %t28 = load ptr, ptr %t1 + %t29 = call i32 @lp_str_eq(ptr %t27, ptr %t28) + %t30 = icmp ne i32 %t29, 0 + br i1 %t30, label %then6, label %ifend8 +then6: + %t31 = load ptr, ptr %t24 + %t32 = getelementptr inbounds %Cmp_Node, ptr %t31, i32 0, i32 4 + %t33 = load ptr, ptr %t32 + store ptr %t33, ptr %retval + br label %ret +ifend8: + %t34 = load i32, ptr %t6 + %t35 = add i32 %t34, 1 + store i32 %t35, ptr %t6 + br label %wcond3 +wend5: + store ptr null, ptr %retval + br label %ret +ret: + %t36 = load ptr, ptr %retval + ret ptr %t36 +} + +define ptr @fn_emit_new_struct(ptr %arg_name, ptr %arg_rec) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t1 = alloca ptr + %t4 = alloca ptr + %t11 = alloca ptr + %t14 = alloca ptr + %t19 = alloca ptr + %t20 = alloca i32 + %t38 = alloca ptr + %t40 = alloca ptr + %t50 = alloca ptr + %t51 = alloca ptr + %t65 = alloca ptr + %t74 = alloca ptr + %t81 = alloca ptr + store ptr %arg_name, ptr %t0 + store ptr %arg_rec, ptr %t1 + %t2 = load ptr, ptr %t0 + %t3 = call ptr @fn_layout_node(ptr %t2) + store ptr %t3, ptr %t4 + %t5 = load ptr, ptr %t4 + %t6 = icmp eq ptr %t5, null + %t7 = zext i1 %t6 to i32 + %t8 = icmp ne i32 %t7, 0 + br i1 %t8, label %then0, label %ifend2 +then0: + call void @fn_perr(ptr @.str6335) + br label %ifend2 +ifend2: + %t9 = load ptr, ptr %t0 + %t10 = call ptr @fn_layout_ty(ptr %t9) + store ptr %t10, ptr %t11 + %t12 = load ptr, ptr %t11 + %t13 = call ptr @fn_emit_sizeof(ptr %t12) + store ptr %t13, ptr %t14 + %t15 = load ptr, ptr %t14 + %t16 = call ptr @lp_str_concat(ptr @.str6336, ptr %t15) + %t17 = call ptr @lp_str_concat(ptr %t16, ptr @.str6337) + %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 @.str6338) + %t41 = load ptr, ptr %t40 + call void @fn_emit(ptr %t41) + call void @fn_emit(ptr @.str6339) + %t42 = load ptr, ptr %t11 + call void @fn_emit(ptr %t42) + call void @fn_emit(ptr @.str6340) + %t43 = load ptr, ptr %t19 + call void @fn_emit(ptr %t43) + call void @fn_emit(ptr @.str6341) + %t44 = load i32, ptr %t20 + %t45 = call ptr @fn_itoa(i32 %t44) + call void @fn_emit(ptr %t45) + call void @fn_emit(ptr @.str6342) + %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 @.str6343, ptr %t51 + %t52 = load ptr, ptr %t50 + %t53 = call i32 @lp_str_eq(ptr %t52, ptr @.str6344) + %t54 = icmp ne i32 %t53, 0 + br i1 %t54, label %then6, label %ifend8 +then6: + store ptr @.str6345, 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 @.str6346) + %t85 = load ptr, ptr %t50 + call void @fn_emit(ptr %t85) + call void @fn_emit(ptr @.str6347) + %t86 = load ptr, ptr %t51 + call void @fn_emit(ptr %t86) + call void @fn_emit(ptr @.str6348) + %t87 = load ptr, ptr %t40 + call void @fn_emit(ptr %t87) + call void @fn_emit(ptr @.str6349) + %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 @.str6350) + store ptr %t1, ptr %t2 + %t3 = load ptr, ptr %t2 + %t4 = call ptr @lp_str_concat(ptr @.str6351, ptr %t3) + %t5 = call ptr @lp_str_concat(ptr %t4, ptr @.str6352) + %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 @.str6353) + %t10 = load ptr, ptr %t9 + call void @fn_emit(ptr %t10) + call void @fn_emit(ptr @.str6354) + %t11 = load ptr, ptr %t7 + call void @fn_emit(ptr %t11) + call void @fn_emit(ptr @.str6355) + call void @fn_emit(ptr @.str6356) + %t12 = load ptr, ptr %t9 + call void @fn_emit(ptr %t12) + call void @fn_emit(ptr @.str6357) + %t13 = call ptr @fn_nreg() + store ptr %t13, ptr %t14 + call void @fn_emit(ptr @.str6358) + %t15 = load ptr, ptr %t14 + call void @fn_emit(ptr %t15) + call void @fn_emit(ptr @.str6359) + %t16 = load ptr, ptr %t7 + call void @fn_emit(ptr %t16) + call void @fn_emit(ptr @.str6360) + call void @fn_emit(ptr @.str6361) + %t17 = load ptr, ptr %t14 + call void @fn_emit(ptr %t17) + call void @fn_emit(ptr @.str6362) + %t18 = call ptr @fn_nreg() + store ptr %t18, ptr %t19 + call void @fn_emit(ptr @.str6363) + %t20 = load ptr, ptr %t19 + call void @fn_emit(ptr %t20) + call void @fn_emit(ptr @.str6364) + %t21 = load ptr, ptr %t7 + call void @fn_emit(ptr %t21) + call void @fn_emit(ptr @.str6365) + call void @fn_emit(ptr @.str6366) + %t22 = load ptr, ptr %t19 + call void @fn_emit(ptr %t22) + call void @fn_emit(ptr @.str6367) + %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 @.str6368) + %t4 = load ptr, ptr %t3 + call void @fn_emit(ptr %t4) + call void @fn_emit(ptr @.str6369) + %t5 = load ptr, ptr %t0 + call void @fn_emit(ptr %t5) + call void @fn_emit(ptr @.str6370) + %t6 = load i32, ptr %t1 + %t7 = call ptr @fn_itoa(i32 %t6) + call void @fn_emit(ptr %t7) + call void @fn_emit(ptr @.str6371) + %t8 = load ptr, ptr %t3 + store ptr %t8, ptr %retval + br label %ret +ret: + %t9 = load ptr, ptr %retval + ret ptr %t9 +} + +define ptr @fn_emit_len(ptr %arg_e) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t9 = alloca ptr + %t19 = alloca ptr + %t30 = alloca ptr + store ptr %arg_e, ptr %t0 + %t1 = load ptr, ptr %t0 + %t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 7 + %t3 = load ptr, ptr %t2 + %t4 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 0 + %t5 = load ptr, ptr %t4 + %t6 = getelementptr inbounds ptr, ptr %t5, i32 0 + %t7 = load ptr, ptr %t6 + %t8 = call ptr @fn_emit_expr(ptr %t7) + store ptr %t8, ptr %t9 + %t10 = load ptr, ptr %t9 + %t11 = getelementptr inbounds %Cmp_Val, ptr %t10, i32 0, i32 1 + %t12 = load ptr, ptr %t11 + %t13 = call i32 @fn_is_slice_ty(ptr %t12) + %t14 = icmp ne i32 %t13, 0 + br i1 %t14, label %then0, label %ifend2 +then0: + %t15 = load ptr, ptr %t9 + %t16 = getelementptr inbounds %Cmp_Val, ptr %t15, i32 0, i32 0 + %t17 = load ptr, ptr %t16 + %t18 = call ptr @fn_slice_field(ptr %t17, i32 1) + store ptr %t18, ptr %t19 + %t20 = load ptr, ptr %t19 + %t21 = call ptr @lp_str_concat(ptr @.str6372, ptr %t20) + %t22 = call ptr @fn_emit_bind(ptr %t21) + %t23 = call ptr @fn_val(ptr %t22, ptr @.str6373) + store ptr %t23, ptr %retval + br label %ret +ifend2: + %t24 = load ptr, ptr %t9 + %t25 = getelementptr inbounds %Cmp_Val, ptr %t24, i32 0, i32 0 + %t26 = load ptr, ptr %t25 + %t27 = call ptr @lp_str_concat(ptr @.str6374, ptr %t26) + %t28 = call ptr @lp_str_concat(ptr %t27, ptr @.str6375) + %t29 = call ptr @fn_emit_bind(ptr %t28) + store ptr %t29, ptr %t30 + %t31 = load ptr, ptr %t30 + %t32 = call ptr @lp_str_concat(ptr @.str6376, ptr %t31) + %t33 = call ptr @lp_str_concat(ptr %t32, ptr @.str6377) + %t34 = call ptr @fn_emit_bind(ptr %t33) + %t35 = call ptr @fn_val(ptr %t34, ptr @.str6378) + store ptr %t35, ptr %retval + br label %ret +ret: + %t36 = load ptr, ptr %retval + ret ptr %t36 +} + +define ptr @fn_emit_push(ptr %arg_e) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t9 = alloca ptr + store ptr %arg_e, ptr %t0 + %t1 = load ptr, ptr %t0 + %t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 7 + %t3 = load ptr, ptr %t2 + %t4 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 0 + %t5 = load ptr, ptr %t4 + %t6 = getelementptr inbounds ptr, ptr %t5, i32 0 + %t7 = load ptr, ptr %t6 + %t8 = call ptr @fn_emit_expr(ptr %t7) + store ptr %t8, ptr %t9 + %t10 = load ptr, ptr %t9 + %t11 = getelementptr inbounds %Cmp_Val, ptr %t10, i32 0, i32 0 + %t12 = load ptr, ptr %t11 + %t13 = load ptr, ptr %t9 + %t14 = getelementptr inbounds %Cmp_Val, ptr %t13, i32 0, i32 1 + %t15 = load ptr, ptr %t14 + %t16 = call ptr @fn_slice_elem(ptr %t15) + %t17 = call ptr @fn_llty(ptr %t16) + %t18 = load ptr, ptr %t0 + %t19 = getelementptr inbounds %Cmp_Node, ptr %t18, i32 0, i32 7 + %t20 = load ptr, ptr %t19 + %t21 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 0 + %t22 = load ptr, ptr %t21 + %t23 = getelementptr inbounds ptr, ptr %t22, i32 1 + %t24 = load ptr, ptr %t23 + %t25 = call ptr @fn_emit_expr(ptr %t24) + call void @fn_emit_push_into(ptr %t12, ptr %t17, ptr %t25) + %t26 = call ptr @fn_val(ptr @.str6379, ptr @.str6380) + store ptr %t26, ptr %retval + br label %ret +ret: + %t27 = load ptr, ptr %retval + ret ptr %t27 +} + +define ptr @fn_emit_list(ptr %arg_e) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t17 = alloca ptr + %t22 = alloca ptr + %t27 = alloca ptr + %t30 = alloca ptr + %t36 = alloca i32 + %t55 = alloca ptr + store ptr %arg_e, ptr %t0 + %t1 = load ptr, ptr %t0 + %t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 7 + %t3 = load ptr, ptr %t2 + %t4 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 1 + %t5 = load i32, ptr %t4 + %t6 = icmp eq i32 %t5, 0 + %t7 = zext i1 %t6 to i32 + %t8 = icmp ne i32 %t7, 0 + br i1 %t8, label %then0, label %ifend2 +then0: + call void @fn_perr(ptr @.str6381) + br label %ifend2 +ifend2: + %t9 = load ptr, ptr %t0 + %t10 = getelementptr inbounds %Cmp_Node, ptr %t9, i32 0, i32 7 + %t11 = load ptr, ptr %t10 + %t12 = getelementptr inbounds %LSlice, ptr %t11, i32 0, i32 0 + %t13 = load ptr, ptr %t12 + %t14 = getelementptr inbounds ptr, ptr %t13, i32 0 + %t15 = load ptr, ptr %t14 + %t16 = call ptr @fn_emit_expr(ptr %t15) + store ptr %t16, ptr %t17 + %t18 = load ptr, ptr %t17 + %t19 = getelementptr inbounds %Cmp_Val, ptr %t18, i32 0, i32 1 + %t20 = load ptr, ptr %t19 + %t21 = call ptr @lp_str_concat(ptr @.str6382, ptr %t20) + store ptr %t21, ptr %t22 + %t23 = load ptr, ptr %t17 + %t24 = getelementptr inbounds %Cmp_Val, ptr %t23, i32 0, i32 1 + %t25 = load ptr, ptr %t24 + %t26 = call ptr @fn_llty(ptr %t25) + store ptr %t26, ptr %t27 + %t28 = load ptr, ptr %t22 + %t29 = call ptr @fn_emit_new_slice(ptr %t28) + store ptr %t29, ptr %t30 + %t31 = load ptr, ptr %t30 + %t32 = getelementptr inbounds %Cmp_Val, ptr %t31, i32 0, i32 0 + %t33 = load ptr, ptr %t32 + %t34 = load ptr, ptr %t27 + %t35 = load ptr, ptr %t17 + call void @fn_emit_push_into(ptr %t33, ptr %t34, ptr %t35) + store i32 1, ptr %t36 + br label %wcond3 +wcond3: + %t37 = load i32, ptr %t36 + %t38 = load ptr, ptr %t0 + %t39 = getelementptr inbounds %Cmp_Node, ptr %t38, i32 0, i32 7 + %t40 = load ptr, ptr %t39 + %t41 = getelementptr inbounds %LSlice, ptr %t40, i32 0, i32 1 + %t42 = load i32, ptr %t41 + %t43 = icmp slt i32 %t37, %t42 + %t44 = zext i1 %t43 to i32 + %t45 = icmp ne i32 %t44, 0 + br i1 %t45, label %wbody4, label %wend5 +wbody4: + %t46 = load ptr, ptr %t0 + %t47 = getelementptr inbounds %Cmp_Node, ptr %t46, i32 0, i32 7 + %t48 = load ptr, ptr %t47 + %t49 = getelementptr inbounds %LSlice, ptr %t48, i32 0, i32 0 + %t50 = load ptr, ptr %t49 + %t51 = load i32, ptr %t36 + %t52 = getelementptr inbounds ptr, ptr %t50, i32 %t51 + %t53 = load ptr, ptr %t52 + %t54 = call ptr @fn_emit_expr(ptr %t53) + store ptr %t54, ptr %t55 + %t56 = load ptr, ptr %t55 + %t57 = getelementptr inbounds %Cmp_Val, ptr %t56, i32 0, i32 1 + %t58 = load ptr, ptr %t57 + %t59 = load ptr, ptr %t17 + %t60 = getelementptr inbounds %Cmp_Val, ptr %t59, i32 0, i32 1 + %t61 = load ptr, ptr %t60 + %t62 = call i32 @lp_str_eq(ptr %t58, ptr %t61) + %t63 = icmp eq i32 %t62, 0 + %t64 = zext i1 %t63 to i32 + %t65 = icmp ne i32 %t64, 0 + br i1 %t65, label %then6, label %ifend8 +then6: + %t66 = load ptr, ptr %t17 + %t67 = getelementptr inbounds %Cmp_Val, ptr %t66, i32 0, i32 1 + %t68 = load ptr, ptr %t67 + %t69 = call ptr @lp_str_concat(ptr @.str6383, ptr %t68) + %t70 = call ptr @lp_str_concat(ptr %t69, ptr @.str6384) + %t71 = load ptr, ptr %t55 + %t72 = getelementptr inbounds %Cmp_Val, ptr %t71, i32 0, i32 1 + %t73 = load ptr, ptr %t72 + %t74 = call ptr @lp_str_concat(ptr %t70, ptr %t73) + call void @fn_perr(ptr %t74) + br label %ifend8 +ifend8: + %t75 = load ptr, ptr %t30 + %t76 = getelementptr inbounds %Cmp_Val, ptr %t75, i32 0, i32 0 + %t77 = load ptr, ptr %t76 + %t78 = load ptr, ptr %t27 + %t79 = load ptr, ptr %t55 + call void @fn_emit_push_into(ptr %t77, ptr %t78, ptr %t79) + %t80 = load i32, ptr %t36 + %t81 = add i32 %t80, 1 + store i32 %t81, ptr %t36 + br label %wcond3 +wend5: + %t82 = load ptr, ptr %t30 + store ptr %t82, ptr %retval + br label %ret +ret: + %t83 = load ptr, ptr %retval + ret ptr %t83 +} + +define void @fn_emit_push_into(ptr %arg_h, ptr %arg_elt, ptr %arg_v) { +entry: + %t0 = alloca ptr + %t1 = alloca ptr + %t2 = alloca ptr + %t5 = alloca ptr + %t8 = alloca ptr + %t11 = alloca ptr + %t15 = alloca ptr + %t19 = alloca ptr + %t26 = alloca ptr + %t28 = alloca ptr + %t30 = alloca ptr + %t39 = alloca ptr + %t44 = alloca ptr + %t51 = alloca ptr + %t54 = alloca ptr + %t59 = alloca ptr + %t66 = alloca ptr + %t70 = alloca ptr + %t78 = alloca ptr + %t88 = alloca ptr + %t90 = alloca ptr + %t104 = alloca ptr + store ptr %arg_h, ptr %t0 + store ptr %arg_elt, ptr %t1 + store ptr %arg_v, ptr %t2 + %t3 = load ptr, ptr %t0 + %t4 = call ptr @fn_slice_field(ptr %t3, i32 1) + store ptr %t4, ptr %t5 + %t6 = load ptr, ptr %t0 + %t7 = call ptr @fn_slice_field(ptr %t6, i32 2) + store ptr %t7, ptr %t8 + %t9 = load ptr, ptr %t0 + %t10 = call ptr @fn_slice_field(ptr %t9, i32 0) + store ptr %t10, ptr %t11 + %t12 = load ptr, ptr %t5 + %t13 = call ptr @lp_str_concat(ptr @.str6385, ptr %t12) + %t14 = call ptr @fn_emit_bind(ptr %t13) + store ptr %t14, ptr %t15 + %t16 = load ptr, ptr %t8 + %t17 = call ptr @lp_str_concat(ptr @.str6386, ptr %t16) + %t18 = call ptr @fn_emit_bind(ptr %t17) + store ptr %t18, ptr %t19 + %t20 = load ptr, ptr %t15 + %t21 = call ptr @lp_str_concat(ptr @.str6387, ptr %t20) + %t22 = call ptr @lp_str_concat(ptr %t21, ptr @.str6388) + %t23 = load ptr, ptr %t19 + %t24 = call ptr @lp_str_concat(ptr %t22, ptr %t23) + %t25 = call ptr @fn_emit_bind(ptr %t24) + store ptr %t25, ptr %t26 + %t27 = call ptr @fn_lbl(ptr @.str6389) + store ptr %t27, ptr %t28 + %t29 = call ptr @fn_lbl(ptr @.str6390) + store ptr %t29, ptr %t30 + call void @fn_emit(ptr @.str6391) + %t31 = load ptr, ptr %t26 + call void @fn_emit(ptr %t31) + call void @fn_emit(ptr @.str6392) + %t32 = load ptr, ptr %t28 + call void @fn_emit(ptr %t32) + call void @fn_emit(ptr @.str6393) + %t33 = load ptr, ptr %t30 + call void @fn_emit(ptr %t33) + call void @fn_emit(ptr @.str6394) + %t34 = load ptr, ptr %t28 + call void @fn_emit(ptr %t34) + call void @fn_emit(ptr @.str6395) + %t35 = load ptr, ptr %t19 + %t36 = call ptr @lp_str_concat(ptr @.str6396, ptr %t35) + %t37 = call ptr @lp_str_concat(ptr %t36, ptr @.str6397) + %t38 = call ptr @fn_emit_bind(ptr %t37) + store ptr %t38, ptr %t39 + %t40 = load ptr, ptr %t19 + %t41 = call ptr @lp_str_concat(ptr @.str6398, ptr %t40) + %t42 = call ptr @lp_str_concat(ptr %t41, ptr @.str6399) + %t43 = call ptr @fn_emit_bind(ptr %t42) + store ptr %t43, ptr %t44 + %t45 = load ptr, ptr %t44 + %t46 = call ptr @lp_str_concat(ptr @.str6400, ptr %t45) + %t47 = call ptr @lp_str_concat(ptr %t46, ptr @.str6401) + %t48 = load ptr, ptr %t39 + %t49 = call ptr @lp_str_concat(ptr %t47, ptr %t48) + %t50 = call ptr @fn_emit_bind(ptr %t49) + store ptr %t50, ptr %t51 + %t52 = load ptr, ptr %t1 + %t53 = call ptr @fn_emit_sizeof(ptr %t52) + store ptr %t53, ptr %t54 + %t55 = load ptr, ptr %t51 + %t56 = call ptr @lp_str_concat(ptr @.str6402, ptr %t55) + %t57 = call ptr @lp_str_concat(ptr %t56, ptr @.str6403) + %t58 = call ptr @fn_emit_bind(ptr %t57) + store ptr %t58, ptr %t59 + %t60 = load ptr, ptr %t59 + %t61 = call ptr @lp_str_concat(ptr @.str6404, ptr %t60) + %t62 = call ptr @lp_str_concat(ptr %t61, ptr @.str6405) + %t63 = load ptr, ptr %t54 + %t64 = call ptr @lp_str_concat(ptr %t62, ptr %t63) + %t65 = call ptr @fn_emit_bind(ptr %t64) + store ptr %t65, ptr %t66 + %t67 = load ptr, ptr %t11 + %t68 = call ptr @lp_str_concat(ptr @.str6406, ptr %t67) + %t69 = call ptr @fn_emit_bind(ptr %t68) + store ptr %t69, ptr %t70 + %t71 = load ptr, ptr %t70 + %t72 = call ptr @lp_str_concat(ptr @.str6407, ptr %t71) + %t73 = call ptr @lp_str_concat(ptr %t72, ptr @.str6408) + %t74 = load ptr, ptr %t66 + %t75 = call ptr @lp_str_concat(ptr %t73, ptr %t74) + %t76 = call ptr @lp_str_concat(ptr %t75, ptr @.str6409) + %t77 = call ptr @fn_emit_bind(ptr %t76) + store ptr %t77, ptr %t78 + call void @fn_emit(ptr @.str6410) + %t79 = load ptr, ptr %t78 + call void @fn_emit(ptr %t79) + call void @fn_emit(ptr @.str6411) + %t80 = load ptr, ptr %t11 + call void @fn_emit(ptr %t80) + call void @fn_emit(ptr @.str6412) + call void @fn_emit(ptr @.str6413) + %t81 = load ptr, ptr %t51 + call void @fn_emit(ptr %t81) + call void @fn_emit(ptr @.str6414) + %t82 = load ptr, ptr %t8 + call void @fn_emit(ptr %t82) + call void @fn_emit(ptr @.str6415) + call void @fn_emit(ptr @.str6416) + %t83 = load ptr, ptr %t30 + call void @fn_emit(ptr %t83) + call void @fn_emit(ptr @.str6417) + %t84 = load ptr, ptr %t30 + call void @fn_emit(ptr %t84) + call void @fn_emit(ptr @.str6418) + %t85 = load ptr, ptr %t11 + %t86 = call ptr @lp_str_concat(ptr @.str6419, ptr %t85) + %t87 = call ptr @fn_emit_bind(ptr %t86) + store ptr %t87, ptr %t88 + %t89 = call ptr @fn_nreg() + store ptr %t89, ptr %t90 + call void @fn_emit(ptr @.str6420) + %t91 = load ptr, ptr %t90 + call void @fn_emit(ptr %t91) + call void @fn_emit(ptr @.str6421) + %t92 = load ptr, ptr %t1 + call void @fn_emit(ptr %t92) + call void @fn_emit(ptr @.str6422) + %t93 = load ptr, ptr %t88 + call void @fn_emit(ptr %t93) + call void @fn_emit(ptr @.str6423) + %t94 = load ptr, ptr %t15 + call void @fn_emit(ptr %t94) + call void @fn_emit(ptr @.str6424) + call void @fn_emit(ptr @.str6425) + %t95 = load ptr, ptr %t1 + call void @fn_emit(ptr %t95) + call void @fn_emit(ptr @.str6426) + %t96 = load ptr, ptr %t2 + %t97 = getelementptr inbounds %Cmp_Val, ptr %t96, i32 0, i32 0 + %t98 = load ptr, ptr %t97 + call void @fn_emit(ptr %t98) + call void @fn_emit(ptr @.str6427) + %t99 = load ptr, ptr %t90 + call void @fn_emit(ptr %t99) + call void @fn_emit(ptr @.str6428) + %t100 = load ptr, ptr %t15 + %t101 = call ptr @lp_str_concat(ptr @.str6429, ptr %t100) + %t102 = call ptr @lp_str_concat(ptr %t101, ptr @.str6430) + %t103 = call ptr @fn_emit_bind(ptr %t102) + store ptr %t103, ptr %t104 + call void @fn_emit(ptr @.str6431) + %t105 = load ptr, ptr %t104 + call void @fn_emit(ptr %t105) + call void @fn_emit(ptr @.str6432) + %t106 = load ptr, ptr %t5 + call void @fn_emit(ptr %t106) + call void @fn_emit(ptr @.str6433) + br label %ret +ret: + ret void +} + +define void @fn_emit_try_body(ptr %arg_b, ptr %arg_slot) { +entry: + %t0 = alloca ptr + %t1 = alloca ptr + %t2 = alloca i32 + %t22 = alloca ptr + %t23 = alloca i32 + %t51 = alloca ptr + store ptr %arg_b, ptr %t0 + store ptr %arg_slot, ptr %t1 + store i32 0, ptr %t2 + br label %wcond0 +wcond0: + %t3 = load i32, ptr %t2 + %t4 = load ptr, ptr %t0 + %t5 = getelementptr inbounds %Cmp_Node, ptr %t4, i32 0, i32 7 + %t6 = load ptr, ptr %t5 + %t7 = getelementptr inbounds %LSlice, ptr %t6, i32 0, i32 1 + %t8 = load i32, ptr %t7 + %t9 = icmp slt i32 %t3, %t8 + %t10 = zext i1 %t9 to i32 + %t11 = icmp ne i32 %t10, 0 + br i1 %t11, label %wbody1, label %wend2 +wbody1: + %t12 = load i32, ptr @g_g_term + %t13 = icmp ne i32 %t12, 0 + br i1 %t13, label %then3, label %ifend5 +then3: + br label %ret +ifend5: + %t14 = load ptr, ptr %t0 + %t15 = getelementptr inbounds %Cmp_Node, ptr %t14, i32 0, i32 7 + %t16 = load ptr, ptr %t15 + %t17 = getelementptr inbounds %LSlice, ptr %t16, i32 0, i32 0 + %t18 = load ptr, ptr %t17 + %t19 = load i32, ptr %t2 + %t20 = getelementptr inbounds ptr, ptr %t18, i32 %t19 + %t21 = load ptr, ptr %t20 + store ptr %t21, ptr %t22 + %t24 = load i32, ptr %t2 + %t25 = load ptr, ptr %t0 + %t26 = getelementptr inbounds %Cmp_Node, ptr %t25, i32 0, i32 7 + %t27 = load ptr, ptr %t26 + %t28 = getelementptr inbounds %LSlice, ptr %t27, i32 0, i32 1 + %t29 = load i32, ptr %t28 + %t30 = sub i32 %t29, 1 + %t31 = icmp eq i32 %t24, %t30 + %t32 = zext i1 %t31 to i32 + %t33 = icmp ne i32 %t32, 0 + %t34 = zext i1 %t33 to i32 + store i32 %t34, ptr %t23 + br i1 %t33, label %sc6, label %scend7 +sc6: + %t35 = load ptr, ptr %t22 + %t36 = getelementptr inbounds %Cmp_Node, ptr %t35, i32 0, i32 0 + %t37 = load i32, ptr %t36 + %t38 = icmp eq i32 %t37, 16 + %t39 = zext i1 %t38 to i32 + %t40 = icmp ne i32 %t39, 0 + %t41 = zext i1 %t40 to i32 + store i32 %t41, ptr %t23 + br label %scend7 +scend7: + %t42 = load i32, ptr %t23 + %t43 = icmp ne i32 %t42, 0 + br i1 %t43, label %then8, label %else9 +then8: + %t44 = load ptr, ptr %t22 + %t45 = getelementptr inbounds %Cmp_Node, ptr %t44, i32 0, i32 8 + %t46 = load i32, ptr %t45 + call void @fn_emit_cov_hit(i32 %t46) + %t47 = load ptr, ptr %t22 + %t48 = getelementptr inbounds %Cmp_Node, ptr %t47, i32 0, i32 4 + %t49 = load ptr, ptr %t48 + %t50 = call ptr @fn_emit_expr(ptr %t49) + store ptr %t50, ptr %t51 + %t52 = load ptr, ptr %t51 + %t53 = call ptr @fn_coerce_code(ptr %t52, ptr @.str6435) + %t54 = call ptr @lp_str_concat(ptr @.str6434, ptr %t53) + %t55 = call ptr @lp_str_concat(ptr %t54, ptr @.str6436) + %t56 = load ptr, ptr %t1 + %t57 = call ptr @lp_str_concat(ptr %t55, ptr %t56) + %t58 = call ptr @lp_str_concat(ptr %t57, ptr @.str6437) + call void @fn_emit(ptr %t58) + br label %ifend10 +else9: + %t59 = load ptr, ptr %t22 + call void @fn_emit_stmt(ptr %t59) + br label %ifend10 +ifend10: + %t60 = load i32, ptr %t2 + %t61 = add i32 %t60, 1 + store i32 %t61, ptr %t2 + br label %wcond0 +wend2: + br label %ret +ret: + ret void +} + +define ptr @fn_emit_try(ptr %arg_e) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t5 = alloca ptr + %t24 = alloca ptr + %t34 = alloca ptr + %t38 = alloca ptr + %t43 = alloca ptr + %t45 = alloca ptr + %t47 = alloca ptr + %t49 = alloca ptr + %t67 = alloca ptr + %t71 = alloca ptr + %t89 = alloca ptr + %t93 = alloca ptr + %t95 = alloca ptr + %t103 = alloca i32 + store ptr %arg_e, ptr %t0 + store i32 1, ptr @g_g_uses_result + %t1 = load ptr, ptr %t0 + %t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 4 + %t3 = load ptr, ptr %t2 + %t4 = call ptr @fn_emit_expr(ptr %t3) + store ptr %t4, ptr %t5 + %t6 = load ptr, ptr %t5 + %t7 = getelementptr inbounds %Cmp_Val, ptr %t6, i32 0, i32 1 + %t8 = load ptr, ptr %t7 + %t9 = call i32 @lp_str_eq(ptr %t8, ptr @.str6438) + %t10 = icmp eq i32 %t9, 0 + %t11 = zext i1 %t10 to i32 + %t12 = icmp ne i32 %t11, 0 + br i1 %t12, label %then0, label %ifend2 +then0: + %t13 = load ptr, ptr %t5 + %t14 = getelementptr inbounds %Cmp_Val, ptr %t13, i32 0, i32 1 + %t15 = load ptr, ptr %t14 + %t16 = call ptr @lp_str_concat(ptr @.str6439, ptr %t15) + %t17 = call ptr @lp_str_concat(ptr %t16, ptr @.str6440) + %t18 = load ptr, ptr %t0 + %t19 = getelementptr inbounds %Cmp_Node, ptr %t18, i32 0, i32 8 + %t20 = load i32, ptr %t19 + %t21 = call ptr @fn_itoa(i32 %t20) + %t22 = call ptr @lp_str_concat(ptr %t17, ptr %t21) + call void @fn_perr(ptr %t22) + br label %ifend2 +ifend2: + %t23 = call ptr @fn_emit_alloca(ptr @.str6441) + store ptr %t23, ptr %t24 + %t25 = load ptr, ptr %t24 + %t26 = call ptr @lp_str_concat(ptr @.str6442, ptr %t25) + %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str6443) + call void @fn_emit(ptr %t27) + %t28 = load ptr, ptr %t5 + %t29 = getelementptr inbounds %Cmp_Val, ptr %t28, i32 0, i32 0 + %t30 = load ptr, ptr %t29 + %t31 = call ptr @lp_str_concat(ptr @.str6444, ptr %t30) + %t32 = call ptr @lp_str_concat(ptr %t31, ptr @.str6445) + %t33 = call ptr @fn_emit_bind(ptr %t32) + store ptr %t33, ptr %t34 + %t35 = load ptr, ptr %t34 + %t36 = call ptr @lp_str_concat(ptr @.str6446, ptr %t35) + %t37 = call ptr @fn_emit_bind(ptr %t36) + store ptr %t37, ptr %t38 + %t39 = load ptr, ptr %t38 + %t40 = call ptr @lp_str_concat(ptr @.str6447, ptr %t39) + %t41 = call ptr @lp_str_concat(ptr %t40, ptr @.str6448) + %t42 = call ptr @fn_emit_bind(ptr %t41) + store ptr %t42, ptr %t43 + %t44 = call ptr @fn_lbl(ptr @.str6449) + store ptr %t44, ptr %t45 + %t46 = call ptr @fn_lbl(ptr @.str6450) + store ptr %t46, ptr %t47 + %t48 = call ptr @fn_lbl(ptr @.str6451) + store ptr %t48, ptr %t49 + %t50 = load ptr, ptr %t43 + %t51 = call ptr @lp_str_concat(ptr @.str6452, ptr %t50) + %t52 = call ptr @lp_str_concat(ptr %t51, ptr @.str6453) + %t53 = load ptr, ptr %t45 + %t54 = call ptr @lp_str_concat(ptr %t52, ptr %t53) + %t55 = call ptr @lp_str_concat(ptr %t54, ptr @.str6454) + %t56 = load ptr, ptr %t47 + %t57 = call ptr @lp_str_concat(ptr %t55, ptr %t56) + %t58 = call ptr @lp_str_concat(ptr %t57, ptr @.str6455) + call void @fn_emit(ptr %t58) + %t59 = load ptr, ptr %t45 + %t60 = call ptr @lp_str_concat(ptr %t59, ptr @.str6456) + call void @fn_emit(ptr %t60) + store i32 0, ptr @g_g_term + %t61 = load ptr, ptr %t5 + %t62 = getelementptr inbounds %Cmp_Val, ptr %t61, i32 0, i32 0 + %t63 = load ptr, ptr %t62 + %t64 = call ptr @lp_str_concat(ptr @.str6457, ptr %t63) + %t65 = call ptr @lp_str_concat(ptr %t64, ptr @.str6458) + %t66 = call ptr @fn_emit_bind(ptr %t65) + store ptr %t66, ptr %t67 + %t68 = load ptr, ptr %t67 + %t69 = call ptr @lp_str_concat(ptr @.str6459, ptr %t68) + %t70 = call ptr @fn_emit_bind(ptr %t69) + store ptr %t70, ptr %t71 + %t72 = load ptr, ptr %t71 + %t73 = call ptr @lp_str_concat(ptr @.str6460, ptr %t72) + %t74 = call ptr @lp_str_concat(ptr %t73, ptr @.str6461) + %t75 = load ptr, ptr %t24 + %t76 = call ptr @lp_str_concat(ptr %t74, ptr %t75) + %t77 = call ptr @lp_str_concat(ptr %t76, ptr @.str6462) + call void @fn_emit(ptr %t77) + %t78 = load ptr, ptr %t49 + %t79 = call ptr @lp_str_concat(ptr @.str6463, ptr %t78) + %t80 = call ptr @lp_str_concat(ptr %t79, ptr @.str6464) + call void @fn_emit(ptr %t80) + %t81 = load ptr, ptr %t47 + %t82 = call ptr @lp_str_concat(ptr %t81, ptr @.str6465) + call void @fn_emit(ptr %t82) + store i32 0, ptr @g_g_term + %t83 = load ptr, ptr %t5 + %t84 = getelementptr inbounds %Cmp_Val, ptr %t83, i32 0, i32 0 + %t85 = load ptr, ptr %t84 + %t86 = call ptr @lp_str_concat(ptr @.str6466, ptr %t85) + %t87 = call ptr @lp_str_concat(ptr %t86, ptr @.str6467) + %t88 = call ptr @fn_emit_bind(ptr %t87) + store ptr %t88, ptr %t89 + %t90 = load ptr, ptr %t89 + %t91 = call ptr @lp_str_concat(ptr @.str6468, ptr %t90) + %t92 = call ptr @fn_emit_bind(ptr %t91) + store ptr %t92, ptr %t93 + %t94 = call ptr @fn_emit_alloca(ptr @.str6469) + store ptr %t94, ptr %t95 + %t96 = load ptr, ptr %t93 + %t97 = call ptr @lp_str_concat(ptr @.str6470, ptr %t96) + %t98 = call ptr @lp_str_concat(ptr %t97, ptr @.str6471) + %t99 = load ptr, ptr %t95 + %t100 = call ptr @lp_str_concat(ptr %t98, ptr %t99) + %t101 = call ptr @lp_str_concat(ptr %t100, ptr @.str6472) + 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 @.str6473, ptr %t104, ptr @.str6474) + %t105 = load ptr, ptr %t0 + %t106 = getelementptr inbounds %Cmp_Node, ptr %t105, i32 0, i32 5 + %t107 = load ptr, ptr %t106 + %t108 = load ptr, ptr %t24 + call void @fn_emit_try_body(ptr %t107, ptr %t108) + %t109 = load i32, ptr %t103 + store i32 %t109, ptr @g_nloc + %t110 = load i32, ptr @g_g_term + %t111 = icmp eq i32 %t110, 0 + %t112 = zext i1 %t111 to i32 + %t113 = icmp ne i32 %t112, 0 + br i1 %t113, label %then3, label %ifend5 +then3: + %t114 = load ptr, ptr %t49 + %t115 = call ptr @lp_str_concat(ptr @.str6475, ptr %t114) + %t116 = call ptr @lp_str_concat(ptr %t115, ptr @.str6476) + call void @fn_emit(ptr %t116) + br label %ifend5 +ifend5: + %t117 = load ptr, ptr %t49 + %t118 = call ptr @lp_str_concat(ptr %t117, ptr @.str6477) + call void @fn_emit(ptr %t118) + store i32 0, ptr @g_g_term + %t119 = load ptr, ptr %t24 + %t120 = call ptr @lp_str_concat(ptr @.str6478, ptr %t119) + %t121 = call ptr @fn_emit_bind(ptr %t120) + %t122 = call ptr @fn_val(ptr %t121, ptr @.str6479) + store ptr %t122, ptr %retval + br label %ret +ret: + %t123 = load ptr, ptr %retval + ret ptr %t123 +} + +define ptr @fn_emit_load_at(ptr %arg_addr, ptr %arg_ty) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t1 = alloca ptr + %t9 = alloca ptr + store ptr %arg_addr, ptr %t0 + store ptr %arg_ty, ptr %t1 + %t2 = load ptr, ptr %t1 + %t3 = call ptr @fn_llty(ptr %t2) + %t4 = call ptr @lp_str_concat(ptr @.str6480, ptr %t3) + %t5 = call ptr @lp_str_concat(ptr %t4, ptr @.str6481) + %t6 = load ptr, ptr %t0 + %t7 = call ptr @lp_str_concat(ptr %t5, ptr %t6) + %t8 = call ptr @fn_emit_bind(ptr %t7) + store ptr %t8, ptr %t9 + %t10 = load ptr, ptr %t9 + %t11 = load ptr, ptr %t1 + %t12 = call ptr @fn_val(ptr %t10, ptr %t11) + store ptr %t12, ptr %retval + br label %ret +ret: + %t13 = load ptr, ptr %retval + ret ptr %t13 +} + +define ptr @fn_emit_logic(ptr %arg_e) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t2 = alloca ptr + %t7 = alloca ptr + %t14 = alloca ptr + %t19 = alloca ptr + %t23 = alloca ptr + %t25 = alloca ptr + %t42 = alloca ptr + %t49 = alloca ptr + %t54 = alloca ptr + store ptr %arg_e, ptr %t0 + %t1 = call ptr @fn_emit_alloca(ptr @.str6482) + store ptr %t1, ptr %t2 + %t3 = load ptr, ptr %t0 + %t4 = getelementptr inbounds %Cmp_Node, ptr %t3, i32 0, i32 4 + %t5 = load ptr, ptr %t4 + %t6 = call ptr @fn_emit_expr(ptr %t5) + store ptr %t6, ptr %t7 + %t8 = load ptr, ptr %t7 + %t9 = getelementptr inbounds %Cmp_Val, ptr %t8, i32 0, i32 0 + %t10 = load ptr, ptr %t9 + %t11 = call ptr @lp_str_concat(ptr @.str6483, ptr %t10) + %t12 = call ptr @lp_str_concat(ptr %t11, ptr @.str6484) + %t13 = call ptr @fn_emit_bind(ptr %t12) + store ptr %t13, ptr %t14 + %t15 = load ptr, ptr %t14 + %t16 = call ptr @lp_str_concat(ptr @.str6485, ptr %t15) + %t17 = call ptr @lp_str_concat(ptr %t16, ptr @.str6486) + %t18 = call ptr @fn_emit_bind(ptr %t17) + store ptr %t18, ptr %t19 + call void @fn_emit(ptr @.str6487) + %t20 = load ptr, ptr %t19 + call void @fn_emit(ptr %t20) + call void @fn_emit(ptr @.str6488) + %t21 = load ptr, ptr %t2 + call void @fn_emit(ptr %t21) + call void @fn_emit(ptr @.str6489) + %t22 = call ptr @fn_lbl(ptr @.str6490) + store ptr %t22, ptr %t23 + %t24 = call ptr @fn_lbl(ptr @.str6491) + store ptr %t24, ptr %t25 + %t26 = load ptr, ptr %t0 + %t27 = getelementptr inbounds %Cmp_Node, ptr %t26, i32 0, i32 1 + %t28 = load ptr, ptr %t27 + %t29 = call i32 @lp_str_eq(ptr %t28, ptr @.str6492) + %t30 = icmp ne i32 %t29, 0 + br i1 %t30, label %then0, label %else1 +then0: + call void @fn_emit(ptr @.str6493) + %t31 = load ptr, ptr %t14 + call void @fn_emit(ptr %t31) + call void @fn_emit(ptr @.str6494) + %t32 = load ptr, ptr %t23 + call void @fn_emit(ptr %t32) + call void @fn_emit(ptr @.str6495) + %t33 = load ptr, ptr %t25 + call void @fn_emit(ptr %t33) + call void @fn_emit(ptr @.str6496) + br label %ifend2 +else1: + call void @fn_emit(ptr @.str6497) + %t34 = load ptr, ptr %t14 + call void @fn_emit(ptr %t34) + call void @fn_emit(ptr @.str6498) + %t35 = load ptr, ptr %t25 + call void @fn_emit(ptr %t35) + call void @fn_emit(ptr @.str6499) + %t36 = load ptr, ptr %t23 + call void @fn_emit(ptr %t36) + call void @fn_emit(ptr @.str6500) + br label %ifend2 +ifend2: + %t37 = load ptr, ptr %t23 + call void @fn_emit(ptr %t37) + call void @fn_emit(ptr @.str6501) + %t38 = load ptr, ptr %t0 + %t39 = getelementptr inbounds %Cmp_Node, ptr %t38, i32 0, i32 5 + %t40 = load ptr, ptr %t39 + %t41 = call ptr @fn_emit_expr(ptr %t40) + store ptr %t41, ptr %t42 + %t43 = load ptr, ptr %t42 + %t44 = getelementptr inbounds %Cmp_Val, ptr %t43, i32 0, i32 0 + %t45 = load ptr, ptr %t44 + %t46 = call ptr @lp_str_concat(ptr @.str6502, ptr %t45) + %t47 = call ptr @lp_str_concat(ptr %t46, ptr @.str6503) + %t48 = call ptr @fn_emit_bind(ptr %t47) + store ptr %t48, ptr %t49 + %t50 = load ptr, ptr %t49 + %t51 = call ptr @lp_str_concat(ptr @.str6504, ptr %t50) + %t52 = call ptr @lp_str_concat(ptr %t51, ptr @.str6505) + %t53 = call ptr @fn_emit_bind(ptr %t52) + store ptr %t53, ptr %t54 + call void @fn_emit(ptr @.str6506) + %t55 = load ptr, ptr %t54 + call void @fn_emit(ptr %t55) + call void @fn_emit(ptr @.str6507) + %t56 = load ptr, ptr %t2 + call void @fn_emit(ptr %t56) + call void @fn_emit(ptr @.str6508) + call void @fn_emit(ptr @.str6509) + %t57 = load ptr, ptr %t25 + call void @fn_emit(ptr %t57) + call void @fn_emit(ptr @.str6510) + %t58 = load ptr, ptr %t25 + call void @fn_emit(ptr %t58) + call void @fn_emit(ptr @.str6511) + %t59 = load ptr, ptr %t2 + %t60 = call ptr @lp_str_concat(ptr @.str6512, ptr %t59) + %t61 = call ptr @fn_emit_bind(ptr %t60) + %t62 = call ptr @fn_val(ptr %t61, ptr @.str6513) + store ptr %t62, ptr %retval + br label %ret +ret: + %t63 = load ptr, ptr %retval + ret ptr %t63 +} + +define ptr @fn_cmp_code(ptr %arg_op) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + store ptr %arg_op, ptr %t0 + %t1 = load ptr, ptr %t0 + %t2 = call i32 @lp_str_eq(ptr %t1, ptr @.str6514) + %t3 = icmp ne i32 %t2, 0 + br i1 %t3, label %then0, label %ifend2 +then0: + store ptr @.str6515, ptr %retval + br label %ret +ifend2: + %t4 = load ptr, ptr %t0 + %t5 = call i32 @lp_str_eq(ptr %t4, ptr @.str6516) + %t6 = icmp ne i32 %t5, 0 + br i1 %t6, label %then3, label %ifend5 +then3: + store ptr @.str6517, ptr %retval + br label %ret +ifend5: + %t7 = load ptr, ptr %t0 + %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str6518) + %t9 = icmp ne i32 %t8, 0 + br i1 %t9, label %then6, label %ifend8 +then6: + store ptr @.str6519, ptr %retval + br label %ret +ifend8: + %t10 = load ptr, ptr %t0 + %t11 = call i32 @lp_str_eq(ptr %t10, ptr @.str6520) + %t12 = icmp ne i32 %t11, 0 + br i1 %t12, label %then9, label %ifend11 +then9: + store ptr @.str6521, ptr %retval + br label %ret +ifend11: + %t13 = load ptr, ptr %t0 + %t14 = call i32 @lp_str_eq(ptr %t13, ptr @.str6522) + %t15 = icmp ne i32 %t14, 0 + br i1 %t15, label %then12, label %ifend14 +then12: + store ptr @.str6523, ptr %retval + br label %ret +ifend14: + store ptr @.str6524, ptr %retval + br label %ret +ret: + %t16 = load ptr, ptr %retval + ret ptr %t16 +} + +define i32 @fn_is_cmp(ptr %arg_op) { +entry: + %retval = alloca i32 + %t0 = alloca ptr + %t1 = alloca i32 + %t2 = alloca i32 + %t3 = alloca i32 + %t4 = alloca i32 + %t5 = alloca i32 + store ptr %arg_op, ptr %t0 + %t6 = load ptr, ptr %t0 + %t7 = call i32 @lp_str_eq(ptr %t6, ptr @.str6525) + %t8 = icmp ne i32 %t7, 0 + %t9 = zext i1 %t8 to i32 + store i32 %t9, ptr %t5 + br i1 %t8, label %scend1, label %sc0 +sc0: + %t10 = load ptr, ptr %t0 + %t11 = call i32 @lp_str_eq(ptr %t10, ptr @.str6526) + %t12 = icmp ne i32 %t11, 0 + %t13 = zext i1 %t12 to i32 + store i32 %t13, ptr %t5 + br label %scend1 +scend1: + %t14 = load i32, ptr %t5 + %t15 = icmp ne i32 %t14, 0 + %t16 = zext i1 %t15 to i32 + store i32 %t16, ptr %t4 + br i1 %t15, label %scend3, label %sc2 +sc2: + %t17 = load ptr, ptr %t0 + %t18 = call i32 @lp_str_eq(ptr %t17, ptr @.str6527) + %t19 = icmp ne i32 %t18, 0 + %t20 = zext i1 %t19 to i32 + store i32 %t20, ptr %t4 + br label %scend3 +scend3: + %t21 = load i32, ptr %t4 + %t22 = icmp ne i32 %t21, 0 + %t23 = zext i1 %t22 to i32 + store i32 %t23, ptr %t3 + br i1 %t22, label %scend5, label %sc4 +sc4: + %t24 = load ptr, ptr %t0 + %t25 = call i32 @lp_str_eq(ptr %t24, ptr @.str6528) + %t26 = icmp ne i32 %t25, 0 + %t27 = zext i1 %t26 to i32 + store i32 %t27, ptr %t3 + br label %scend5 +scend5: + %t28 = load i32, ptr %t3 + %t29 = icmp ne i32 %t28, 0 + %t30 = zext i1 %t29 to i32 + store i32 %t30, ptr %t2 + br i1 %t29, label %scend7, label %sc6 +sc6: + %t31 = load ptr, ptr %t0 + %t32 = call i32 @lp_str_eq(ptr %t31, ptr @.str6529) + %t33 = icmp ne i32 %t32, 0 + %t34 = zext i1 %t33 to i32 + store i32 %t34, ptr %t2 + br label %scend7 +scend7: + %t35 = load i32, ptr %t2 + %t36 = icmp ne i32 %t35, 0 + %t37 = zext i1 %t36 to i32 + store i32 %t37, ptr %t1 + br i1 %t36, label %scend9, label %sc8 +sc8: + %t38 = load ptr, ptr %t0 + %t39 = call i32 @lp_str_eq(ptr %t38, ptr @.str6530) + %t40 = icmp ne i32 %t39, 0 + %t41 = zext i1 %t40 to i32 + store i32 %t41, ptr %t1 + br label %scend9 +scend9: + %t42 = load i32, ptr %t1 + store i32 %t42, ptr %retval + br label %ret +ret: + %t43 = load i32, ptr %retval + ret i32 %t43 +} + +define ptr @fn_arith_code(ptr %arg_op) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + store ptr %arg_op, ptr %t0 + %t1 = load ptr, ptr %t0 + %t2 = call i32 @lp_str_eq(ptr %t1, ptr @.str6531) + %t3 = icmp ne i32 %t2, 0 + br i1 %t3, label %then0, label %ifend2 +then0: + store ptr @.str6532, ptr %retval + br label %ret +ifend2: + %t4 = load ptr, ptr %t0 + %t5 = call i32 @lp_str_eq(ptr %t4, ptr @.str6533) + %t6 = icmp ne i32 %t5, 0 + br i1 %t6, label %then3, label %ifend5 +then3: + store ptr @.str6534, ptr %retval + br label %ret +ifend5: + %t7 = load ptr, ptr %t0 + %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str6535) + %t9 = icmp ne i32 %t8, 0 + br i1 %t9, label %then6, label %ifend8 +then6: + store ptr @.str6536, ptr %retval + br label %ret +ifend8: + %t10 = load ptr, ptr %t0 + %t11 = call i32 @lp_str_eq(ptr %t10, ptr @.str6537) + %t12 = icmp ne i32 %t11, 0 + br i1 %t12, label %then9, label %ifend11 +then9: + store ptr @.str6538, ptr %retval + br label %ret +ifend11: + %t13 = load ptr, ptr %t0 + %t14 = call i32 @lp_str_eq(ptr %t13, ptr @.str6539) + %t15 = icmp ne i32 %t14, 0 + br i1 %t15, label %then12, label %ifend14 +then12: + store ptr @.str6540, ptr %retval + br label %ret +ifend14: + %t16 = load ptr, ptr %t0 + %t17 = call i32 @lp_str_eq(ptr %t16, ptr @.str6541) + %t18 = icmp ne i32 %t17, 0 + br i1 %t18, label %then15, label %ifend17 +then15: + store ptr @.str6542, ptr %retval + br label %ret +ifend17: + %t19 = load ptr, ptr %t0 + %t20 = call i32 @lp_str_eq(ptr %t19, ptr @.str6543) + %t21 = icmp ne i32 %t20, 0 + br i1 %t21, label %then18, label %ifend20 +then18: + store ptr @.str6544, ptr %retval + br label %ret +ifend20: + %t22 = load ptr, ptr %t0 + %t23 = call i32 @lp_str_eq(ptr %t22, ptr @.str6545) + %t24 = icmp ne i32 %t23, 0 + br i1 %t24, label %then21, label %ifend23 +then21: + store ptr @.str6546, ptr %retval + br label %ret +ifend23: + %t25 = load ptr, ptr %t0 + %t26 = call i32 @lp_str_eq(ptr %t25, ptr @.str6547) + %t27 = icmp ne i32 %t26, 0 + br i1 %t27, label %then24, label %ifend26 +then24: + store ptr @.str6548, ptr %retval + br label %ret +ifend26: + store ptr @.str6549, ptr %retval + br label %ret +ret: + %t28 = load ptr, ptr %retval + ret ptr %t28 +} + +define ptr @fn_to_fixed(ptr %arg_v) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + store ptr %arg_v, ptr %t0 + %t1 = load ptr, ptr %t0 + %t2 = getelementptr inbounds %Cmp_Val, ptr %t1, i32 0, i32 1 + %t3 = load ptr, ptr %t2 + %t4 = call i32 @lp_str_eq(ptr %t3, ptr @.str6550) + %t5 = icmp ne i32 %t4, 0 + br i1 %t5, label %then0, label %ifend2 +then0: + %t6 = load ptr, ptr %t0 + %t7 = getelementptr inbounds %Cmp_Val, ptr %t6, i32 0, i32 0 + %t8 = load ptr, ptr %t7 + store ptr %t8, ptr %retval + br label %ret +ifend2: + %t9 = load ptr, ptr %t0 + %t10 = getelementptr inbounds %Cmp_Val, ptr %t9, i32 0, i32 0 + %t11 = load ptr, ptr %t10 + %t12 = call ptr @lp_str_concat(ptr @.str6551, ptr %t11) + %t13 = call ptr @lp_str_concat(ptr %t12, ptr @.str6552) + %t14 = call ptr @fn_emit_bind(ptr %t13) + store ptr %t14, ptr %retval + br label %ret +ret: + %t15 = load ptr, ptr %retval + ret ptr %t15 +} + +define ptr @fn_coerce_code(ptr %arg_v, ptr %arg_target) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t1 = alloca ptr + %t4 = alloca ptr + %t9 = alloca ptr + %t17 = alloca i32 + %t34 = alloca i32 + store ptr %arg_v, ptr %t0 + store ptr %arg_target, ptr %t1 + %t2 = load ptr, ptr %t1 + %t3 = call ptr @fn_llty(ptr %t2) + store ptr %t3, ptr %t4 + %t5 = load ptr, ptr %t0 + %t6 = getelementptr inbounds %Cmp_Val, ptr %t5, i32 0, i32 1 + %t7 = load ptr, ptr %t6 + %t8 = call ptr @fn_llty(ptr %t7) + store ptr %t8, ptr %t9 + %t10 = load ptr, ptr %t4 + %t11 = load ptr, ptr %t9 + %t12 = call i32 @lp_str_eq(ptr %t10, ptr %t11) + %t13 = icmp ne i32 %t12, 0 + br i1 %t13, label %then0, label %ifend2 +then0: + %t14 = load ptr, ptr %t0 + %t15 = getelementptr inbounds %Cmp_Val, ptr %t14, i32 0, i32 0 + %t16 = load ptr, ptr %t15 + store ptr %t16, ptr %retval + br label %ret +ifend2: + %t18 = load ptr, ptr %t4 + %t19 = call i32 @lp_str_eq(ptr %t18, ptr @.str6553) + %t20 = icmp ne i32 %t19, 0 + %t21 = zext i1 %t20 to i32 + store i32 %t21, ptr %t17 + br i1 %t20, label %sc3, label %scend4 +sc3: + %t22 = load ptr, ptr %t9 + %t23 = call i32 @lp_str_eq(ptr %t22, ptr @.str6554) + %t24 = icmp ne i32 %t23, 0 + %t25 = zext i1 %t24 to i32 + store i32 %t25, ptr %t17 + br label %scend4 +scend4: + %t26 = load i32, ptr %t17 + %t27 = icmp ne i32 %t26, 0 + br i1 %t27, label %then5, label %ifend7 +then5: + %t28 = load ptr, ptr %t0 + %t29 = getelementptr inbounds %Cmp_Val, ptr %t28, i32 0, i32 0 + %t30 = load ptr, ptr %t29 + %t31 = call ptr @lp_str_concat(ptr @.str6555, ptr %t30) + %t32 = call ptr @lp_str_concat(ptr %t31, ptr @.str6556) + %t33 = call ptr @fn_emit_bind(ptr %t32) + store ptr %t33, ptr %retval + br label %ret +ifend7: + %t35 = load ptr, ptr %t4 + %t36 = call i32 @lp_str_eq(ptr %t35, ptr @.str6557) + %t37 = icmp ne i32 %t36, 0 + %t38 = zext i1 %t37 to i32 + store i32 %t38, ptr %t34 + br i1 %t37, label %sc8, label %scend9 +sc8: + %t39 = load ptr, ptr %t9 + %t40 = call i32 @lp_str_eq(ptr %t39, ptr @.str6558) + %t41 = icmp ne i32 %t40, 0 + %t42 = zext i1 %t41 to i32 + store i32 %t42, ptr %t34 + br label %scend9 +scend9: + %t43 = load i32, ptr %t34 + %t44 = icmp ne i32 %t43, 0 + br i1 %t44, label %then10, label %ifend12 +then10: + %t45 = load ptr, ptr %t0 + %t46 = getelementptr inbounds %Cmp_Val, ptr %t45, i32 0, i32 0 + %t47 = load ptr, ptr %t46 + %t48 = call ptr @lp_str_concat(ptr @.str6559, ptr %t47) + %t49 = call ptr @lp_str_concat(ptr %t48, ptr @.str6560) + %t50 = call ptr @fn_emit_bind(ptr %t49) + store ptr %t50, ptr %retval + br label %ret +ifend12: + %t51 = load ptr, ptr %t0 + %t52 = getelementptr inbounds %Cmp_Val, ptr %t51, i32 0, i32 0 + %t53 = load ptr, ptr %t52 + store ptr %t53, ptr %retval + br label %ret +ret: + %t54 = load ptr, ptr %retval + ret ptr %t54 +} + +define ptr @fn_to_long(ptr %arg_v) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + store ptr %arg_v, ptr %t0 + %t1 = load ptr, ptr %t0 + %t2 = getelementptr inbounds %Cmp_Val, ptr %t1, i32 0, i32 1 + %t3 = load ptr, ptr %t2 + %t4 = call ptr @fn_llty(ptr %t3) + %t5 = call i32 @lp_str_eq(ptr %t4, ptr @.str6561) + %t6 = icmp ne i32 %t5, 0 + br i1 %t6, label %then0, label %ifend2 +then0: + %t7 = load ptr, ptr %t0 + %t8 = getelementptr inbounds %Cmp_Val, ptr %t7, i32 0, i32 0 + %t9 = load ptr, ptr %t8 + store ptr %t9, ptr %retval + br label %ret +ifend2: + %t10 = load ptr, ptr %t0 + %t11 = getelementptr inbounds %Cmp_Val, ptr %t10, i32 0, i32 0 + %t12 = load ptr, ptr %t11 + %t13 = call ptr @lp_str_concat(ptr @.str6562, ptr %t12) + %t14 = call ptr @lp_str_concat(ptr %t13, ptr @.str6563) + %t15 = call ptr @fn_emit_bind(ptr %t14) + store ptr %t15, ptr %retval + br label %ret +ret: + %t16 = load ptr, ptr %retval + ret ptr %t16 +} + +define ptr @fn_emit_str_op(ptr %arg_op, ptr %arg_a, ptr %arg_b) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t1 = alloca ptr + %t2 = alloca ptr + %t29 = alloca ptr + %t37 = alloca ptr + store ptr %arg_op, ptr %t0 + store ptr %arg_a, ptr %t1 + store ptr %arg_b, ptr %t2 + store i32 1, ptr @g_g_uses_str + %t3 = load ptr, ptr %t0 + %t4 = call i32 @lp_str_eq(ptr %t3, ptr @.str6564) + %t5 = icmp ne i32 %t4, 0 + br i1 %t5, label %then0, label %ifend2 +then0: + %t6 = load ptr, ptr %t1 + %t7 = getelementptr inbounds %Cmp_Val, ptr %t6, i32 0, i32 0 + %t8 = load ptr, ptr %t7 + %t9 = call ptr @lp_str_concat(ptr @.str6565, ptr %t8) + %t10 = call ptr @lp_str_concat(ptr %t9, ptr @.str6566) + %t11 = load ptr, ptr %t2 + %t12 = getelementptr inbounds %Cmp_Val, ptr %t11, i32 0, i32 0 + %t13 = load ptr, ptr %t12 + %t14 = call ptr @lp_str_concat(ptr %t10, ptr %t13) + %t15 = call ptr @lp_str_concat(ptr %t14, ptr @.str6567) + %t16 = call ptr @fn_emit_bind(ptr %t15) + %t17 = call ptr @fn_val(ptr %t16, ptr @.str6568) + store ptr %t17, ptr %retval + br label %ret +ifend2: + %t18 = load ptr, ptr %t1 + %t19 = getelementptr inbounds %Cmp_Val, ptr %t18, i32 0, i32 0 + %t20 = load ptr, ptr %t19 + %t21 = call ptr @lp_str_concat(ptr @.str6569, ptr %t20) + %t22 = call ptr @lp_str_concat(ptr %t21, ptr @.str6570) + %t23 = load ptr, ptr %t2 + %t24 = getelementptr inbounds %Cmp_Val, ptr %t23, i32 0, i32 0 + %t25 = load ptr, ptr %t24 + %t26 = call ptr @lp_str_concat(ptr %t22, ptr %t25) + %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str6571) + %t28 = call ptr @fn_emit_bind(ptr %t27) + store ptr %t28, ptr %t29 + %t30 = load ptr, ptr %t0 + %t31 = call i32 @lp_str_eq(ptr %t30, ptr @.str6572) + %t32 = icmp ne i32 %t31, 0 + br i1 %t32, label %then3, label %ifend5 +then3: + %t33 = load ptr, ptr %t29 + %t34 = call ptr @lp_str_concat(ptr @.str6573, ptr %t33) + %t35 = call ptr @lp_str_concat(ptr %t34, ptr @.str6574) + %t36 = call ptr @fn_emit_bind(ptr %t35) + store ptr %t36, ptr %t37 + %t38 = load ptr, ptr %t37 + %t39 = call ptr @lp_str_concat(ptr @.str6575, ptr %t38) + %t40 = call ptr @lp_str_concat(ptr %t39, ptr @.str6576) + %t41 = call ptr @fn_emit_bind(ptr %t40) + %t42 = call ptr @fn_val(ptr %t41, ptr @.str6577) + store ptr %t42, ptr %retval + br label %ret +ifend5: + %t43 = load ptr, ptr %t29 + %t44 = call ptr @fn_val(ptr %t43, ptr @.str6578) + store ptr %t44, ptr %retval + br label %ret +ret: + %t45 = load ptr, ptr %retval + ret ptr %t45 +} + +define ptr @fn_arith_ty(ptr %arg_ty) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t1 = alloca i32 + store ptr %arg_ty, ptr %t0 + %t2 = load ptr, ptr %t0 + %t3 = call i32 @lp_str_eq(ptr %t2, ptr @.str6579) + %t4 = icmp ne i32 %t3, 0 + %t5 = zext i1 %t4 to i32 + store i32 %t5, ptr %t1 + br i1 %t4, label %scend1, label %sc0 +sc0: + %t6 = load ptr, ptr %t0 + %t7 = call i32 @lp_str_eq(ptr %t6, ptr @.str6580) + %t8 = icmp ne i32 %t7, 0 + %t9 = zext i1 %t8 to i32 + store i32 %t9, ptr %t1 + br label %scend1 +scend1: + %t10 = load i32, ptr %t1 + %t11 = icmp ne i32 %t10, 0 + br i1 %t11, label %then2, label %ifend4 +then2: + %t12 = load ptr, ptr %t0 + store ptr %t12, ptr %retval + br label %ret +ifend4: + store ptr @.str6581, ptr %retval + br label %ret +ret: + %t13 = load ptr, ptr %retval + ret ptr %t13 +} + +define ptr @fn_emit_bin(ptr %arg_e) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t1 = alloca i32 + %t22 = alloca ptr + %t27 = alloca ptr + %t28 = alloca i32 + %t48 = alloca i32 + store ptr %arg_e, ptr %t0 + %t2 = load ptr, ptr %t0 + %t3 = getelementptr inbounds %Cmp_Node, ptr %t2, i32 0, i32 1 + %t4 = load ptr, ptr %t3 + %t5 = call i32 @lp_str_eq(ptr %t4, ptr @.str6582) + %t6 = icmp ne i32 %t5, 0 + %t7 = zext i1 %t6 to i32 + store i32 %t7, ptr %t1 + br i1 %t6, label %scend1, label %sc0 +sc0: + %t8 = load ptr, ptr %t0 + %t9 = getelementptr inbounds %Cmp_Node, ptr %t8, i32 0, i32 1 + %t10 = load ptr, ptr %t9 + %t11 = call i32 @lp_str_eq(ptr %t10, ptr @.str6583) + %t12 = icmp ne i32 %t11, 0 + %t13 = zext i1 %t12 to i32 + store i32 %t13, ptr %t1 + br label %scend1 +scend1: + %t14 = load i32, ptr %t1 + %t15 = icmp ne i32 %t14, 0 + br i1 %t15, label %then2, label %ifend4 +then2: + %t16 = load ptr, ptr %t0 + %t17 = call ptr @fn_emit_logic(ptr %t16) + store ptr %t17, ptr %retval + br label %ret +ifend4: + %t18 = load ptr, ptr %t0 + %t19 = getelementptr inbounds %Cmp_Node, ptr %t18, i32 0, i32 4 + %t20 = load ptr, ptr %t19 + %t21 = call ptr @fn_emit_expr(ptr %t20) + store ptr %t21, ptr %t22 + %t23 = load ptr, ptr %t0 + %t24 = getelementptr inbounds %Cmp_Node, ptr %t23, i32 0, i32 5 + %t25 = load ptr, ptr %t24 + %t26 = call ptr @fn_emit_expr(ptr %t25) + store ptr %t26, ptr %t27 + %t29 = load ptr, ptr %t0 + %t30 = getelementptr inbounds %Cmp_Node, ptr %t29, i32 0, i32 4 + %t31 = load ptr, ptr %t30 + %t32 = getelementptr inbounds %Cmp_Node, ptr %t31, i32 0, i32 0 + %t33 = load i32, ptr %t32 + %t34 = icmp eq i32 %t33, 43 + %t35 = zext i1 %t34 to i32 + %t36 = icmp ne i32 %t35, 0 + %t37 = zext i1 %t36 to i32 + store i32 %t37, ptr %t28 + br i1 %t36, label %scend6, label %sc5 +sc5: + %t38 = load ptr, ptr %t0 + %t39 = getelementptr inbounds %Cmp_Node, ptr %t38, i32 0, i32 5 + %t40 = load ptr, ptr %t39 + %t41 = getelementptr inbounds %Cmp_Node, ptr %t40, i32 0, i32 0 + %t42 = load i32, ptr %t41 + %t43 = icmp eq i32 %t42, 43 + %t44 = zext i1 %t43 to i32 + %t45 = icmp ne i32 %t44, 0 + %t46 = zext i1 %t45 to i32 + store i32 %t46, ptr %t28 + br label %scend6 +scend6: + %t47 = load i32, ptr %t28 + store i32 %t47, ptr %t48 + %t49 = load ptr, ptr %t0 + %t50 = getelementptr inbounds %Cmp_Node, ptr %t49, i32 0, i32 1 + %t51 = load ptr, ptr %t50 + %t52 = load ptr, ptr %t22 + %t53 = load ptr, ptr %t27 + %t54 = load i32, ptr %t48 + %t55 = call ptr @fn_emit_bin_vals(ptr %t51, ptr %t52, ptr %t53, i32 %t54) + store ptr %t55, ptr %retval + br label %ret +ret: + %t56 = load ptr, ptr %retval + ret ptr %t56 +} + +define ptr @fn_emit_bin_vals(ptr %arg_op, ptr %arg_a, ptr %arg_b, i32 %arg_isnull) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t1 = alloca ptr + %t2 = alloca ptr + %t3 = alloca i32 + %t4 = alloca i32 + %t20 = alloca i32 + %t29 = alloca i32 + %t30 = alloca i32 + %t53 = alloca i32 + %t67 = alloca i32 + %t68 = alloca i32 + %t69 = alloca i32 + %t70 = alloca i32 + %t102 = alloca i32 + %t109 = alloca ptr + %t113 = alloca ptr + %t114 = alloca ptr + %t127 = alloca i32 + %t157 = alloca ptr + %t167 = alloca ptr + %t170 = alloca ptr + %t185 = alloca ptr + %t188 = alloca ptr + %t196 = alloca ptr + %t201 = alloca ptr + %t208 = alloca ptr + %t213 = alloca ptr + %t226 = alloca ptr + %t231 = alloca ptr + %t236 = alloca ptr + %t243 = alloca ptr + %t258 = alloca ptr + %t274 = alloca ptr + store ptr %arg_op, ptr %t0 + store ptr %arg_a, ptr %t1 + store ptr %arg_b, ptr %t2 + store i32 %arg_isnull, ptr %t3 + %t5 = load ptr, ptr %t1 + %t6 = getelementptr inbounds %Cmp_Val, ptr %t5, i32 0, i32 1 + %t7 = load ptr, ptr %t6 + %t8 = call ptr @fn_llty(ptr %t7) + %t9 = call i32 @lp_str_eq(ptr %t8, ptr @.str6584) + %t10 = icmp ne i32 %t9, 0 + %t11 = zext i1 %t10 to i32 + store i32 %t11, ptr %t4 + br i1 %t10, label %scend1, label %sc0 +sc0: + %t12 = load ptr, ptr %t2 + %t13 = getelementptr inbounds %Cmp_Val, ptr %t12, i32 0, i32 1 + %t14 = load ptr, ptr %t13 + %t15 = call ptr @fn_llty(ptr %t14) + %t16 = call i32 @lp_str_eq(ptr %t15, ptr @.str6585) + %t17 = icmp ne i32 %t16, 0 + %t18 = zext i1 %t17 to i32 + store i32 %t18, ptr %t4 + br label %scend1 +scend1: + %t19 = load i32, ptr %t4 + store i32 %t19, ptr %t20 + %t21 = load i32, ptr %t20 + %t22 = icmp ne i32 %t21, 0 + br i1 %t22, label %then2, label %ifend4 +then2: + %t23 = load ptr, ptr %t0 + %t24 = call i32 @lp_str_eq(ptr %t23, ptr @.str6586) + %t25 = icmp ne i32 %t24, 0 + br i1 %t25, label %then5, label %ifend7 +then5: + %t26 = load ptr, ptr %t1 + %t27 = load ptr, ptr %t2 + %t28 = call ptr @fn_emit_str_op(ptr @.str6587, ptr %t26, ptr %t27) + store ptr %t28, ptr %retval + br label %ret +ifend7: + %t31 = load ptr, ptr %t0 + %t32 = call i32 @lp_str_eq(ptr %t31, ptr @.str6588) + %t33 = icmp ne i32 %t32, 0 + %t34 = zext i1 %t33 to i32 + store i32 %t34, ptr %t30 + br i1 %t33, label %scend9, label %sc8 +sc8: + %t35 = load ptr, ptr %t0 + %t36 = call i32 @lp_str_eq(ptr %t35, ptr @.str6589) + %t37 = icmp ne i32 %t36, 0 + %t38 = zext i1 %t37 to i32 + store i32 %t38, ptr %t30 + br label %scend9 +scend9: + %t39 = load i32, ptr %t30 + %t40 = icmp ne i32 %t39, 0 + %t41 = zext i1 %t40 to i32 + store i32 %t41, ptr %t29 + br i1 %t40, label %sc10, label %scend11 +sc10: + %t42 = load i32, ptr %t3 + %t43 = icmp eq i32 %t42, 0 + %t44 = zext i1 %t43 to i32 + %t45 = icmp ne i32 %t44, 0 + %t46 = zext i1 %t45 to i32 + store i32 %t46, ptr %t29 + br label %scend11 +scend11: + %t47 = load i32, ptr %t29 + %t48 = icmp ne i32 %t47, 0 + br i1 %t48, label %then12, label %ifend14 +then12: + %t49 = load ptr, ptr %t0 + %t50 = load ptr, ptr %t1 + %t51 = load ptr, ptr %t2 + %t52 = call ptr @fn_emit_str_op(ptr %t49, ptr %t50, ptr %t51) + store ptr %t52, ptr %retval + br label %ret +ifend14: + br label %ifend4 +ifend4: + %t54 = load ptr, ptr %t1 + %t55 = getelementptr inbounds %Cmp_Val, ptr %t54, i32 0, i32 1 + %t56 = load ptr, ptr %t55 + %t57 = call i32 @lp_str_eq(ptr %t56, ptr @.str6590) + %t58 = icmp ne i32 %t57, 0 + %t59 = zext i1 %t58 to i32 + store i32 %t59, ptr %t53 + br i1 %t58, label %scend16, label %sc15 +sc15: + %t60 = load ptr, ptr %t2 + %t61 = getelementptr inbounds %Cmp_Val, ptr %t60, i32 0, i32 1 + %t62 = load ptr, ptr %t61 + %t63 = call i32 @lp_str_eq(ptr %t62, ptr @.str6591) + %t64 = icmp ne i32 %t63, 0 + %t65 = zext i1 %t64 to i32 + store i32 %t65, ptr %t53 + br label %scend16 +scend16: + %t66 = load i32, ptr %t53 + store i32 %t66, ptr %t67 + %t71 = load ptr, ptr %t1 + %t72 = getelementptr inbounds %Cmp_Val, ptr %t71, i32 0, i32 1 + %t73 = load ptr, ptr %t72 + %t74 = call ptr @fn_llty(ptr %t73) + %t75 = call i32 @lp_str_eq(ptr %t74, ptr @.str6592) + %t76 = icmp ne i32 %t75, 0 + %t77 = zext i1 %t76 to i32 + store i32 %t77, ptr %t70 + br i1 %t76, label %scend18, label %sc17 +sc17: + %t78 = load ptr, ptr %t2 + %t79 = getelementptr inbounds %Cmp_Val, ptr %t78, i32 0, i32 1 + %t80 = load ptr, ptr %t79 + %t81 = call ptr @fn_llty(ptr %t80) + %t82 = call i32 @lp_str_eq(ptr %t81, ptr @.str6593) + %t83 = icmp ne i32 %t82, 0 + %t84 = zext i1 %t83 to i32 + store i32 %t84, ptr %t70 + br label %scend18 +scend18: + %t85 = load i32, ptr %t70 + %t86 = icmp ne i32 %t85, 0 + %t87 = zext i1 %t86 to i32 + store i32 %t87, ptr %t69 + br i1 %t86, label %sc19, label %scend20 +sc19: + %t88 = load i32, ptr %t67 + %t89 = icmp eq i32 %t88, 0 + %t90 = zext i1 %t89 to i32 + %t91 = icmp ne i32 %t90, 0 + %t92 = zext i1 %t91 to i32 + store i32 %t92, ptr %t69 + br label %scend20 +scend20: + %t93 = load i32, ptr %t69 + %t94 = icmp ne i32 %t93, 0 + %t95 = zext i1 %t94 to i32 + store i32 %t95, ptr %t68 + br i1 %t94, label %sc21, label %scend22 +sc21: + %t96 = load i32, ptr %t20 + %t97 = icmp eq i32 %t96, 0 + %t98 = zext i1 %t97 to i32 + %t99 = icmp ne i32 %t98, 0 + %t100 = zext i1 %t99 to i32 + store i32 %t100, ptr %t68 + br label %scend22 +scend22: + %t101 = load i32, ptr %t68 + store i32 %t101, ptr %t102 + %t103 = load ptr, ptr %t0 + %t104 = call i32 @fn_is_cmp(ptr %t103) + %t105 = icmp ne i32 %t104, 0 + br i1 %t105, label %then23, label %ifend25 +then23: + %t106 = load ptr, ptr %t1 + %t107 = getelementptr inbounds %Cmp_Val, ptr %t106, i32 0, i32 0 + %t108 = load ptr, ptr %t107 + store ptr %t108, ptr %t109 + %t110 = load ptr, ptr %t2 + %t111 = getelementptr inbounds %Cmp_Val, ptr %t110, i32 0, i32 0 + %t112 = load ptr, ptr %t111 + store ptr %t112, ptr %t113 + store ptr @.str6594, ptr %t114 + %t115 = load i32, ptr %t67 + %t116 = icmp ne i32 %t115, 0 + br i1 %t116, label %then26, label %else27 +then26: + %t117 = load ptr, ptr %t1 + %t118 = call ptr @fn_to_fixed(ptr %t117) + store ptr %t118, ptr %t109 + %t119 = load ptr, ptr %t2 + %t120 = call ptr @fn_to_fixed(ptr %t119) + store ptr %t120, ptr %t113 + br label %ifend28 +else27: + %t121 = load i32, ptr %t102 + %t122 = icmp ne i32 %t121, 0 + br i1 %t122, label %then29, label %else30 +then29: + store ptr @.str6595, ptr %t114 + %t123 = load ptr, ptr %t1 + %t124 = call ptr @fn_to_long(ptr %t123) + store ptr %t124, ptr %t109 + %t125 = load ptr, ptr %t2 + %t126 = call ptr @fn_to_long(ptr %t125) + store ptr %t126, ptr %t113 + br label %ifend31 +else30: + %t128 = load ptr, ptr %t1 + %t129 = getelementptr inbounds %Cmp_Val, ptr %t128, i32 0, i32 1 + %t130 = load ptr, ptr %t129 + %t131 = call ptr @fn_llty(ptr %t130) + %t132 = call i32 @lp_str_eq(ptr %t131, ptr @.str6596) + %t133 = icmp ne i32 %t132, 0 + %t134 = zext i1 %t133 to i32 + store i32 %t134, ptr %t127 + br i1 %t133, label %scend33, label %sc32 +sc32: + %t135 = load ptr, ptr %t2 + %t136 = getelementptr inbounds %Cmp_Val, ptr %t135, i32 0, i32 1 + %t137 = load ptr, ptr %t136 + %t138 = call ptr @fn_llty(ptr %t137) + %t139 = call i32 @lp_str_eq(ptr %t138, ptr @.str6597) + %t140 = icmp ne i32 %t139, 0 + %t141 = zext i1 %t140 to i32 + store i32 %t141, ptr %t127 + br label %scend33 +scend33: + %t142 = load i32, ptr %t127 + %t143 = icmp ne i32 %t142, 0 + br i1 %t143, label %then34, label %ifend36 +then34: + store ptr @.str6598, ptr %t114 + br label %ifend36 +ifend36: + br label %ifend31 +ifend31: + br label %ifend28 +ifend28: + %t144 = load ptr, ptr %t0 + %t145 = call ptr @fn_cmp_code(ptr %t144) + %t146 = call ptr @lp_str_concat(ptr @.str6599, ptr %t145) + %t147 = call ptr @lp_str_concat(ptr %t146, ptr @.str6600) + %t148 = load ptr, ptr %t114 + %t149 = call ptr @lp_str_concat(ptr %t147, ptr %t148) + %t150 = call ptr @lp_str_concat(ptr %t149, ptr @.str6601) + %t151 = load ptr, ptr %t109 + %t152 = call ptr @lp_str_concat(ptr %t150, ptr %t151) + %t153 = call ptr @lp_str_concat(ptr %t152, ptr @.str6602) + %t154 = load ptr, ptr %t113 + %t155 = call ptr @lp_str_concat(ptr %t153, ptr %t154) + %t156 = call ptr @fn_emit_bind(ptr %t155) + store ptr %t156, ptr %t157 + %t158 = load ptr, ptr %t157 + %t159 = call ptr @lp_str_concat(ptr @.str6603, ptr %t158) + %t160 = call ptr @lp_str_concat(ptr %t159, ptr @.str6604) + %t161 = call ptr @fn_emit_bind(ptr %t160) + %t162 = call ptr @fn_val(ptr %t161, ptr @.str6605) + store ptr %t162, ptr %retval + br label %ret +ifend25: + %t163 = load i32, ptr %t102 + %t164 = icmp ne i32 %t163, 0 + br i1 %t164, label %then37, label %ifend39 +then37: + %t165 = load ptr, ptr %t1 + %t166 = call ptr @fn_to_long(ptr %t165) + store ptr %t166, ptr %t167 + %t168 = load ptr, ptr %t2 + %t169 = call ptr @fn_to_long(ptr %t168) + store ptr %t169, ptr %t170 + %t171 = load ptr, ptr %t0 + %t172 = call ptr @fn_arith_code(ptr %t171) + %t173 = call ptr @lp_str_concat(ptr %t172, ptr @.str6606) + %t174 = load ptr, ptr %t167 + %t175 = call ptr @lp_str_concat(ptr %t173, ptr %t174) + %t176 = call ptr @lp_str_concat(ptr %t175, ptr @.str6607) + %t177 = load ptr, ptr %t170 + %t178 = call ptr @lp_str_concat(ptr %t176, ptr %t177) + %t179 = call ptr @fn_emit_bind(ptr %t178) + %t180 = call ptr @fn_val(ptr %t179, ptr @.str6608) + store ptr %t180, ptr %retval + br label %ret +ifend39: + %t181 = load i32, ptr %t67 + %t182 = icmp ne i32 %t181, 0 + br i1 %t182, label %then40, label %ifend42 +then40: + %t183 = load ptr, ptr %t1 + %t184 = call ptr @fn_to_fixed(ptr %t183) + store ptr %t184, ptr %t185 + %t186 = load ptr, ptr %t2 + %t187 = call ptr @fn_to_fixed(ptr %t186) + store ptr %t187, ptr %t188 + %t189 = load ptr, ptr %t0 + %t190 = call i32 @lp_str_eq(ptr %t189, ptr @.str6609) + %t191 = icmp ne i32 %t190, 0 + br i1 %t191, label %then43, label %ifend45 +then43: + %t192 = load ptr, ptr %t185 + %t193 = call ptr @lp_str_concat(ptr @.str6610, ptr %t192) + %t194 = call ptr @lp_str_concat(ptr %t193, ptr @.str6611) + %t195 = call ptr @fn_emit_bind(ptr %t194) + store ptr %t195, ptr %t196 + %t197 = load ptr, ptr %t188 + %t198 = call ptr @lp_str_concat(ptr @.str6612, ptr %t197) + %t199 = call ptr @lp_str_concat(ptr %t198, ptr @.str6613) + %t200 = call ptr @fn_emit_bind(ptr %t199) + store ptr %t200, ptr %t201 + %t202 = load ptr, ptr %t196 + %t203 = call ptr @lp_str_concat(ptr @.str6614, ptr %t202) + %t204 = call ptr @lp_str_concat(ptr %t203, ptr @.str6615) + %t205 = load ptr, ptr %t201 + %t206 = call ptr @lp_str_concat(ptr %t204, ptr %t205) + %t207 = call ptr @fn_emit_bind(ptr %t206) + store ptr %t207, ptr %t208 + %t209 = load ptr, ptr %t208 + %t210 = call ptr @lp_str_concat(ptr @.str6616, ptr %t209) + %t211 = call ptr @lp_str_concat(ptr %t210, ptr @.str6617) + %t212 = call ptr @fn_emit_bind(ptr %t211) + store ptr %t212, ptr %t213 + %t214 = load ptr, ptr %t213 + %t215 = call ptr @lp_str_concat(ptr @.str6618, ptr %t214) + %t216 = call ptr @lp_str_concat(ptr %t215, ptr @.str6619) + %t217 = call ptr @fn_emit_bind(ptr %t216) + %t218 = call ptr @fn_val(ptr %t217, ptr @.str6620) + store ptr %t218, ptr %retval + br label %ret +ifend45: + %t219 = load ptr, ptr %t0 + %t220 = call i32 @lp_str_eq(ptr %t219, ptr @.str6621) + %t221 = icmp ne i32 %t220, 0 + br i1 %t221, label %then46, label %ifend48 +then46: + %t222 = load ptr, ptr %t185 + %t223 = call ptr @lp_str_concat(ptr @.str6622, ptr %t222) + %t224 = call ptr @lp_str_concat(ptr %t223, ptr @.str6623) + %t225 = call ptr @fn_emit_bind(ptr %t224) + store ptr %t225, ptr %t226 + %t227 = load ptr, ptr %t226 + %t228 = call ptr @lp_str_concat(ptr @.str6624, ptr %t227) + %t229 = call ptr @lp_str_concat(ptr %t228, ptr @.str6625) + %t230 = call ptr @fn_emit_bind(ptr %t229) + store ptr %t230, ptr %t231 + %t232 = load ptr, ptr %t188 + %t233 = call ptr @lp_str_concat(ptr @.str6626, ptr %t232) + %t234 = call ptr @lp_str_concat(ptr %t233, ptr @.str6627) + %t235 = call ptr @fn_emit_bind(ptr %t234) + store ptr %t235, ptr %t236 + %t237 = load ptr, ptr %t231 + %t238 = call ptr @lp_str_concat(ptr @.str6628, ptr %t237) + %t239 = call ptr @lp_str_concat(ptr %t238, ptr @.str6629) + %t240 = load ptr, ptr %t236 + %t241 = call ptr @lp_str_concat(ptr %t239, ptr %t240) + %t242 = call ptr @fn_emit_bind(ptr %t241) + store ptr %t242, ptr %t243 + %t244 = load ptr, ptr %t243 + %t245 = call ptr @lp_str_concat(ptr @.str6630, ptr %t244) + %t246 = call ptr @lp_str_concat(ptr %t245, ptr @.str6631) + %t247 = call ptr @fn_emit_bind(ptr %t246) + %t248 = call ptr @fn_val(ptr %t247, ptr @.str6632) + store ptr %t248, ptr %retval + br label %ret +ifend48: + %t249 = load ptr, ptr %t0 + %t250 = call ptr @fn_arith_code(ptr %t249) + %t251 = call ptr @lp_str_concat(ptr %t250, ptr @.str6633) + %t252 = load ptr, ptr %t185 + %t253 = call ptr @lp_str_concat(ptr %t251, ptr %t252) + %t254 = call ptr @lp_str_concat(ptr %t253, ptr @.str6634) + %t255 = load ptr, ptr %t188 + %t256 = call ptr @lp_str_concat(ptr %t254, ptr %t255) + %t257 = call ptr @fn_emit_bind(ptr %t256) + store ptr %t257, ptr %t258 + %t259 = load ptr, ptr %t258 + %t260 = call ptr @fn_val(ptr %t259, ptr @.str6635) + store ptr %t260, ptr %retval + br label %ret +ifend42: + %t261 = load ptr, ptr %t0 + %t262 = call ptr @fn_arith_code(ptr %t261) + %t263 = call ptr @lp_str_concat(ptr %t262, ptr @.str6636) + %t264 = load ptr, ptr %t1 + %t265 = getelementptr inbounds %Cmp_Val, ptr %t264, i32 0, i32 0 + %t266 = load ptr, ptr %t265 + %t267 = call ptr @lp_str_concat(ptr %t263, ptr %t266) + %t268 = call ptr @lp_str_concat(ptr %t267, ptr @.str6637) + %t269 = load ptr, ptr %t2 + %t270 = getelementptr inbounds %Cmp_Val, ptr %t269, i32 0, i32 0 + %t271 = load ptr, ptr %t270 + %t272 = call ptr @lp_str_concat(ptr %t268, ptr %t271) + %t273 = call ptr @fn_emit_bind(ptr %t272) + store ptr %t273, ptr %t274 + %t275 = load ptr, ptr %t274 + %t276 = call ptr @fn_val(ptr %t275, ptr @.str6638) + store ptr %t276, ptr %retval + br label %ret +ret: + %t277 = load ptr, ptr %retval + ret ptr %t277 +} + +define i32 @fn_args_are_named(ptr %arg_e) { +entry: + %retval = alloca i32 + %t0 = alloca ptr + %t1 = alloca i32 + store ptr %arg_e, ptr %t0 + store i32 0, ptr %t1 + br label %wcond0 +wcond0: + %t2 = load i32, ptr %t1 + %t3 = load ptr, ptr %t0 + %t4 = getelementptr inbounds %Cmp_Node, ptr %t3, i32 0, i32 7 + %t5 = load ptr, ptr %t4 + %t6 = getelementptr inbounds %LSlice, ptr %t5, i32 0, i32 1 + %t7 = load i32, ptr %t6 + %t8 = icmp slt i32 %t2, %t7 + %t9 = zext i1 %t8 to i32 + %t10 = icmp ne i32 %t9, 0 + br i1 %t10, label %wbody1, label %wend2 +wbody1: + %t11 = load ptr, ptr %t0 + %t12 = getelementptr inbounds %Cmp_Node, ptr %t11, i32 0, i32 7 + %t13 = load ptr, ptr %t12 + %t14 = getelementptr inbounds %LSlice, ptr %t13, i32 0, i32 0 + %t15 = load ptr, ptr %t14 + %t16 = load i32, ptr %t1 + %t17 = getelementptr inbounds ptr, ptr %t15, i32 %t16 + %t18 = load ptr, ptr %t17 + %t19 = getelementptr inbounds %Cmp_Node, ptr %t18, i32 0, i32 0 + %t20 = load i32, ptr %t19 + %t21 = icmp eq i32 %t20, 42 + %t22 = zext i1 %t21 to i32 + %t23 = icmp ne i32 %t22, 0 + br i1 %t23, label %then3, label %ifend5 +then3: + store i32 1, ptr %retval + br label %ret +ifend5: + %t24 = load i32, ptr %t1 + %t25 = add i32 %t24, 1 + store i32 %t25, ptr %t1 + br label %wcond0 +wend2: + store i32 0, ptr %retval + br label %ret +ret: + %t26 = load i32, ptr %retval + ret i32 %t26 +} + +define void @fn_reorder_named(ptr %arg_e, ptr %arg_labels) { +entry: + %t0 = alloca ptr + %t1 = alloca ptr + %t7 = alloca i32 + %t49 = alloca ptr + %t50 = alloca i32 + %t58 = alloca ptr + %t59 = alloca i32 + store ptr %arg_e, ptr %t0 + store ptr %arg_labels, ptr %t1 + %t2 = load ptr, ptr %t0 + %t3 = call i32 @fn_args_are_named(ptr %t2) + %t4 = icmp eq i32 %t3, 0 + %t5 = zext i1 %t4 to i32 + %t6 = icmp ne i32 %t5, 0 + br i1 %t6, label %then0, label %ifend2 +then0: + br label %ret +ifend2: + store i32 0, ptr %t7 + br label %wcond3 +wcond3: + %t8 = load i32, ptr %t7 + %t9 = load ptr, ptr %t0 + %t10 = getelementptr inbounds %Cmp_Node, ptr %t9, i32 0, i32 7 + %t11 = load ptr, ptr %t10 + %t12 = getelementptr inbounds %LSlice, ptr %t11, i32 0, i32 1 + %t13 = load i32, ptr %t12 + %t14 = icmp slt i32 %t8, %t13 + %t15 = zext i1 %t14 to i32 + %t16 = icmp ne i32 %t15, 0 + br i1 %t16, label %wbody4, label %wend5 +wbody4: + %t17 = load ptr, ptr %t0 + %t18 = getelementptr inbounds %Cmp_Node, ptr %t17, i32 0, i32 7 + %t19 = load ptr, ptr %t18 + %t20 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 0 + %t21 = load ptr, ptr %t20 + %t22 = load i32, ptr %t7 + %t23 = getelementptr inbounds ptr, ptr %t21, i32 %t22 + %t24 = load ptr, ptr %t23 + %t25 = getelementptr inbounds %Cmp_Node, ptr %t24, i32 0, i32 0 + %t26 = load i32, ptr %t25 + %t27 = icmp ne i32 %t26, 42 + %t28 = zext i1 %t27 to i32 + %t29 = icmp ne i32 %t28, 0 + br i1 %t29, label %then6, label %ifend8 +then6: + call void @fn_perr(ptr @.str6639) + 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 @.str6640) + br label %ifend11 +ifend11: + %t43 = getelementptr %LSlice, ptr null, i32 1 + %t44 = ptrtoint ptr %t43 to i64 + %t45 = call ptr @malloc(i64 %t44) + %t46 = getelementptr inbounds %LSlice, ptr %t45, i32 0, i32 0 + store ptr null, ptr %t46 + %t47 = getelementptr inbounds %LSlice, ptr %t45, i32 0, i32 1 + store i32 0, ptr %t47 + %t48 = getelementptr inbounds %LSlice, ptr %t45, i32 0, i32 2 + store i32 0, ptr %t48 + store ptr %t45, ptr %t49 + store i32 0, ptr %t50 + br label %wcond12 +wcond12: + %t51 = load i32, ptr %t50 + %t52 = load ptr, ptr %t1 + %t53 = getelementptr inbounds %LSlice, ptr %t52, i32 0, i32 1 + %t54 = load i32, ptr %t53 + %t55 = icmp slt i32 %t51, %t54 + %t56 = zext i1 %t55 to i32 + %t57 = icmp ne i32 %t56, 0 + br i1 %t57, label %wbody13, label %wend14 +wbody13: + store ptr null, ptr %t58 + store i32 0, ptr %t59 + br label %wcond15 +wcond15: + %t60 = load i32, ptr %t59 + %t61 = load ptr, ptr %t0 + %t62 = getelementptr inbounds %Cmp_Node, ptr %t61, i32 0, i32 7 + %t63 = load ptr, ptr %t62 + %t64 = getelementptr inbounds %LSlice, ptr %t63, i32 0, i32 1 + %t65 = load i32, ptr %t64 + %t66 = icmp slt i32 %t60, %t65 + %t67 = zext i1 %t66 to i32 + %t68 = icmp ne i32 %t67, 0 + br i1 %t68, label %wbody16, label %wend17 +wbody16: + %t69 = load ptr, ptr %t0 + %t70 = getelementptr inbounds %Cmp_Node, ptr %t69, i32 0, i32 7 + %t71 = load ptr, ptr %t70 + %t72 = getelementptr inbounds %LSlice, ptr %t71, i32 0, i32 0 + %t73 = load ptr, ptr %t72 + %t74 = load i32, ptr %t59 + %t75 = getelementptr inbounds ptr, ptr %t73, i32 %t74 + %t76 = load ptr, ptr %t75 + %t77 = getelementptr inbounds %Cmp_Node, ptr %t76, i32 0, i32 1 + %t78 = load ptr, ptr %t77 + %t79 = load ptr, ptr %t1 + %t80 = getelementptr inbounds %LSlice, ptr %t79, i32 0, i32 0 + %t81 = load ptr, ptr %t80 + %t82 = load i32, ptr %t50 + %t83 = getelementptr inbounds ptr, ptr %t81, i32 %t82 + %t84 = load ptr, ptr %t83 + %t85 = call i32 @lp_str_eq(ptr %t78, ptr %t84) + %t86 = icmp ne i32 %t85, 0 + br i1 %t86, label %then18, label %ifend20 +then18: + %t87 = load ptr, ptr %t0 + %t88 = getelementptr inbounds %Cmp_Node, ptr %t87, i32 0, i32 7 + %t89 = load ptr, ptr %t88 + %t90 = getelementptr inbounds %LSlice, ptr %t89, i32 0, i32 0 + %t91 = load ptr, ptr %t90 + %t92 = load i32, ptr %t59 + %t93 = getelementptr inbounds ptr, ptr %t91, i32 %t92 + %t94 = load ptr, ptr %t93 + store ptr %t94, ptr %t58 + br label %ifend20 +ifend20: + %t95 = load i32, ptr %t59 + %t96 = add i32 %t95, 1 + store i32 %t96, ptr %t59 + br label %wcond15 +wend17: + %t97 = load ptr, ptr %t58 + %t98 = icmp eq ptr %t97, null + %t99 = zext i1 %t98 to i32 + %t100 = icmp ne i32 %t99, 0 + br i1 %t100, label %then21, label %ifend23 +then21: + %t101 = load ptr, ptr %t1 + %t102 = getelementptr inbounds %LSlice, ptr %t101, i32 0, i32 0 + %t103 = load ptr, ptr %t102 + %t104 = load i32, ptr %t50 + %t105 = getelementptr inbounds ptr, ptr %t103, i32 %t104 + %t106 = load ptr, ptr %t105 + %t107 = call ptr @lp_str_concat(ptr @.str6641, ptr %t106) + call void @fn_perr(ptr %t107) + br label %ifend23 +ifend23: + %t108 = load ptr, ptr %t49 + %t109 = load ptr, ptr %t58 + %t110 = getelementptr inbounds %Cmp_Node, ptr %t109, i32 0, i32 4 + %t111 = load ptr, ptr %t110 + %t112 = getelementptr inbounds %LSlice, ptr %t108, i32 0, i32 1 + %t113 = getelementptr inbounds %LSlice, ptr %t108, i32 0, i32 2 + %t114 = getelementptr inbounds %LSlice, ptr %t108, i32 0, i32 0 + %t115 = load i32, ptr %t112 + %t116 = load i32, ptr %t113 + %t117 = icmp sge i32 %t115, %t116 + br i1 %t117, label %grow24, label %put25 +grow24: + %t118 = mul i32 %t116, 2 + %t119 = icmp eq i32 %t116, 0 + %t120 = select i1 %t119, i32 8, i32 %t118 + %t121 = getelementptr ptr, ptr null, i32 1 + %t122 = ptrtoint ptr %t121 to i64 + %t123 = zext i32 %t120 to i64 + %t124 = mul i64 %t123, %t122 + %t125 = load ptr, ptr %t114 + %t126 = call ptr @realloc(ptr %t125, i64 %t124) + store ptr %t126, ptr %t114 + store i32 %t120, ptr %t113 + br label %put25 +put25: + %t127 = load ptr, ptr %t114 + %t128 = getelementptr inbounds ptr, ptr %t127, i32 %t115 + store ptr %t111, ptr %t128 + %t129 = add i32 %t115, 1 + store i32 %t129, ptr %t112 + %t130 = load i32, ptr %t50 + %t131 = add i32 %t130, 1 + store i32 %t131, ptr %t50 + br label %wcond12 +wend14: + %t132 = load ptr, ptr %t0 + %t133 = getelementptr inbounds %Cmp_Node, ptr %t132, i32 0, i32 7 + %t134 = load ptr, ptr %t49 + store ptr %t134, ptr %t133 + br label %ret +ret: + ret void +} + +define ptr @fn_param_labels(ptr %arg_fn) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t7 = alloca ptr + %t8 = alloca i32 + store ptr %arg_fn, ptr %t0 + %t1 = getelementptr %LSlice, ptr null, i32 1 + %t2 = ptrtoint ptr %t1 to i64 + %t3 = call ptr @malloc(i64 %t2) + %t4 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 0 + store ptr null, ptr %t4 + %t5 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 1 + store i32 0, ptr %t5 + %t6 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 2 + store i32 0, ptr %t6 + store ptr %t3, ptr %t7 + store i32 0, ptr %t8 + br label %wcond0 +wcond0: + %t9 = load i32, ptr %t8 + %t10 = load ptr, ptr %t0 + %t11 = getelementptr inbounds %Cmp_Node, ptr %t10, i32 0, i32 7 + %t12 = load ptr, ptr %t11 + %t13 = getelementptr inbounds %LSlice, ptr %t12, i32 0, i32 1 + %t14 = load i32, ptr %t13 + %t15 = icmp slt i32 %t9, %t14 + %t16 = zext i1 %t15 to i32 + %t17 = icmp ne i32 %t16, 0 + br i1 %t17, label %wbody1, label %wend2 +wbody1: + %t18 = load ptr, ptr %t0 + %t19 = getelementptr inbounds %Cmp_Node, ptr %t18, i32 0, i32 7 + %t20 = load ptr, ptr %t19 + %t21 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 0 + %t22 = load ptr, ptr %t21 + %t23 = load i32, ptr %t8 + %t24 = getelementptr inbounds ptr, ptr %t22, i32 %t23 + %t25 = load ptr, ptr %t24 + %t26 = getelementptr inbounds %Cmp_Node, ptr %t25, i32 0, i32 0 + %t27 = load i32, ptr %t26 + %t28 = icmp eq i32 %t27, 5 + %t29 = zext i1 %t28 to i32 + %t30 = icmp ne i32 %t29, 0 + br i1 %t30, label %then3, label %ifend5 +then3: + %t31 = load ptr, ptr %t7 + %t32 = load ptr, ptr %t0 + %t33 = getelementptr inbounds %Cmp_Node, ptr %t32, i32 0, i32 7 + %t34 = load ptr, ptr %t33 + %t35 = getelementptr inbounds %LSlice, ptr %t34, i32 0, i32 0 + %t36 = load ptr, ptr %t35 + %t37 = load i32, ptr %t8 + %t38 = getelementptr inbounds ptr, ptr %t36, i32 %t37 + %t39 = load ptr, ptr %t38 + %t40 = getelementptr inbounds %Cmp_Node, ptr %t39, i32 0, i32 1 + %t41 = load ptr, ptr %t40 + %t42 = getelementptr inbounds %LSlice, ptr %t31, i32 0, i32 1 + %t43 = getelementptr inbounds %LSlice, ptr %t31, i32 0, i32 2 + %t44 = getelementptr inbounds %LSlice, ptr %t31, i32 0, i32 0 + %t45 = load i32, ptr %t42 + %t46 = load i32, ptr %t43 + %t47 = icmp sge i32 %t45, %t46 + br i1 %t47, label %grow6, label %put7 +grow6: + %t48 = mul i32 %t46, 2 + %t49 = icmp eq i32 %t46, 0 + %t50 = select i1 %t49, i32 8, i32 %t48 + %t51 = getelementptr ptr, ptr null, i32 1 + %t52 = ptrtoint ptr %t51 to i64 + %t53 = zext i32 %t50 to i64 + %t54 = mul i64 %t53, %t52 + %t55 = load ptr, ptr %t44 + %t56 = call ptr @realloc(ptr %t55, i64 %t54) + store ptr %t56, ptr %t44 + store i32 %t50, ptr %t43 + br label %put7 +put7: + %t57 = load ptr, ptr %t44 + %t58 = getelementptr inbounds ptr, ptr %t57, i32 %t45 + store ptr %t41, ptr %t58 + %t59 = add i32 %t45, 1 + store i32 %t59, ptr %t42 + br label %ifend5 +ifend5: + %t60 = load i32, ptr %t8 + %t61 = add i32 %t60, 1 + store i32 %t61, ptr %t8 + br label %wcond0 +wend2: + %t62 = load ptr, ptr %t7 + store ptr %t62, ptr %retval + br label %ret +ret: + %t63 = load ptr, ptr %retval + ret ptr %t63 +} + +define ptr @fn_param_types(ptr %arg_fn) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t7 = alloca ptr + %t8 = alloca i32 + store ptr %arg_fn, ptr %t0 + %t1 = getelementptr %LSlice, ptr null, i32 1 + %t2 = ptrtoint ptr %t1 to i64 + %t3 = call ptr @malloc(i64 %t2) + %t4 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 0 + store ptr null, ptr %t4 + %t5 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 1 + store i32 0, ptr %t5 + %t6 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 2 + store i32 0, ptr %t6 + store ptr %t3, ptr %t7 + store i32 0, ptr %t8 + br label %wcond0 +wcond0: + %t9 = load i32, ptr %t8 + %t10 = load ptr, ptr %t0 + %t11 = getelementptr inbounds %Cmp_Node, ptr %t10, i32 0, i32 7 + %t12 = load ptr, ptr %t11 + %t13 = getelementptr inbounds %LSlice, ptr %t12, i32 0, i32 1 + %t14 = load i32, ptr %t13 + %t15 = icmp slt i32 %t9, %t14 + %t16 = zext i1 %t15 to i32 + %t17 = icmp ne i32 %t16, 0 + br i1 %t17, label %wbody1, label %wend2 +wbody1: + %t18 = load ptr, ptr %t0 + %t19 = getelementptr inbounds %Cmp_Node, ptr %t18, i32 0, i32 7 + %t20 = load ptr, ptr %t19 + %t21 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 0 + %t22 = load ptr, ptr %t21 + %t23 = load i32, ptr %t8 + %t24 = getelementptr inbounds ptr, ptr %t22, i32 %t23 + %t25 = load ptr, ptr %t24 + %t26 = getelementptr inbounds %Cmp_Node, ptr %t25, i32 0, i32 0 + %t27 = load i32, ptr %t26 + %t28 = icmp eq i32 %t27, 5 + %t29 = zext i1 %t28 to i32 + %t30 = icmp ne i32 %t29, 0 + br i1 %t30, label %then3, label %ifend5 +then3: + %t31 = load ptr, ptr %t7 + %t32 = load ptr, ptr %t0 + %t33 = getelementptr inbounds %Cmp_Node, ptr %t32, i32 0, i32 7 + %t34 = load ptr, ptr %t33 + %t35 = getelementptr inbounds %LSlice, ptr %t34, i32 0, i32 0 + %t36 = load ptr, ptr %t35 + %t37 = load i32, ptr %t8 + %t38 = getelementptr inbounds ptr, ptr %t36, i32 %t37 + %t39 = load ptr, ptr %t38 + %t40 = getelementptr inbounds %Cmp_Node, ptr %t39, i32 0, i32 3 + %t41 = load ptr, ptr %t40 + %t42 = getelementptr inbounds %LSlice, ptr %t31, i32 0, i32 1 + %t43 = getelementptr inbounds %LSlice, ptr %t31, i32 0, i32 2 + %t44 = getelementptr inbounds %LSlice, ptr %t31, i32 0, i32 0 + %t45 = load i32, ptr %t42 + %t46 = load i32, ptr %t43 + %t47 = icmp sge i32 %t45, %t46 + br i1 %t47, label %grow6, label %put7 +grow6: + %t48 = mul i32 %t46, 2 + %t49 = icmp eq i32 %t46, 0 + %t50 = select i1 %t49, i32 8, i32 %t48 + %t51 = getelementptr ptr, ptr null, i32 1 + %t52 = ptrtoint ptr %t51 to i64 + %t53 = zext i32 %t50 to i64 + %t54 = mul i64 %t53, %t52 + %t55 = load ptr, ptr %t44 + %t56 = call ptr @realloc(ptr %t55, i64 %t54) + store ptr %t56, ptr %t44 + store i32 %t50, ptr %t43 + br label %put7 +put7: + %t57 = load ptr, ptr %t44 + %t58 = getelementptr inbounds ptr, ptr %t57, i32 %t45 + store ptr %t41, ptr %t58 + %t59 = add i32 %t45, 1 + store i32 %t59, ptr %t42 + br label %ifend5 +ifend5: + %t60 = load i32, ptr %t8 + %t61 = add i32 %t60, 1 + store i32 %t61, ptr %t8 + br label %wcond0 +wend2: + %t62 = load ptr, ptr %t7 + store ptr %t62, ptr %retval + br label %ret +ret: + %t63 = load ptr, ptr %retval + ret ptr %t63 +} + +define void @fn_emit_expect_fail(ptr %arg_cond1, ptr %arg_msgsym, ptr %arg_got, ptr %arg_want) { +entry: + %t0 = alloca ptr + %t1 = alloca ptr + %t2 = alloca ptr + %t3 = alloca ptr + %t5 = alloca ptr + %t7 = alloca ptr + store ptr %arg_cond1, ptr %t0 + store ptr %arg_msgsym, ptr %t1 + store ptr %arg_got, ptr %t2 + store ptr %arg_want, ptr %t3 + %t4 = call ptr @fn_lbl(ptr @.str6642) + store ptr %t4, ptr %t5 + %t6 = call ptr @fn_lbl(ptr @.str6643) + store ptr %t6, ptr %t7 + %t8 = load ptr, ptr %t0 + %t9 = call ptr @lp_str_concat(ptr @.str6644, ptr %t8) + %t10 = call ptr @lp_str_concat(ptr %t9, ptr @.str6645) + %t11 = load ptr, ptr %t5 + %t12 = call ptr @lp_str_concat(ptr %t10, ptr %t11) + %t13 = call ptr @lp_str_concat(ptr %t12, ptr @.str6646) + %t14 = load ptr, ptr %t7 + %t15 = call ptr @lp_str_concat(ptr %t13, ptr %t14) + %t16 = call ptr @lp_str_concat(ptr %t15, ptr @.str6647) + call void @fn_emit(ptr %t16) + %t17 = load ptr, ptr %t7 + %t18 = call ptr @lp_str_concat(ptr %t17, ptr @.str6648) + call void @fn_emit(ptr %t18) + call void @fn_emit(ptr @.str6649) + %t19 = load ptr, ptr %t2 + %t20 = call i32 @lp_str_eq(ptr %t19, ptr @.str6650) + %t21 = icmp ne i32 %t20, 0 + br i1 %t21, label %then0, label %else1 +then0: + %t22 = load ptr, ptr %t1 + %t23 = call ptr @lp_str_concat(ptr @.str6651, ptr %t22) + %t24 = call ptr @lp_str_concat(ptr %t23, ptr @.str6652) + call void @fn_emit(ptr %t24) + br label %ifend2 +else1: + %t25 = load ptr, ptr %t1 + %t26 = call ptr @lp_str_concat(ptr @.str6653, ptr %t25) + %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str6654) + %t28 = load ptr, ptr %t2 + %t29 = call ptr @lp_str_concat(ptr %t27, ptr %t28) + %t30 = call ptr @lp_str_concat(ptr %t29, ptr @.str6655) + %t31 = load ptr, ptr %t3 + %t32 = call ptr @lp_str_concat(ptr %t30, ptr %t31) + %t33 = call ptr @lp_str_concat(ptr %t32, ptr @.str6656) + call void @fn_emit(ptr %t33) + br label %ifend2 +ifend2: + %t34 = load ptr, ptr %t5 + %t35 = call ptr @lp_str_concat(ptr @.str6657, ptr %t34) + %t36 = call ptr @lp_str_concat(ptr %t35, ptr @.str6658) + call void @fn_emit(ptr %t36) + %t37 = load ptr, ptr %t5 + %t38 = call ptr @lp_str_concat(ptr %t37, ptr @.str6659) + call void @fn_emit(ptr %t38) + br label %ret +ret: + ret void +} + +define ptr @fn_ns_lower(ptr %arg_s) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t3 = alloca i32 + %t8 = alloca ptr + %t9 = alloca i32 + %t20 = alloca i32 + %t21 = alloca i32 + store ptr %arg_s, ptr %t0 + %t1 = load ptr, ptr %t0 + %t2 = call i32 @fn_cstr_len(ptr %t1) + store i32 %t2, ptr %t3 + %t4 = load i32, ptr %t3 + %t5 = add i32 %t4, 1 + %t6 = zext i32 %t5 to i64 + %t7 = call ptr @malloc(i64 %t6) + store ptr %t7, ptr %t8 + store i32 0, ptr %t9 + br label %wcond0 +wcond0: + %t10 = load i32, ptr %t9 + %t11 = load i32, ptr %t3 + %t12 = icmp slt i32 %t10, %t11 + %t13 = zext i1 %t12 to i32 + %t14 = icmp ne i32 %t13, 0 + br i1 %t14, label %wbody1, label %wend2 +wbody1: + %t15 = load ptr, ptr %t0 + %t16 = load i32, ptr %t9 + %t17 = getelementptr inbounds i8, ptr %t15, i32 %t16 + %t18 = load i8, ptr %t17 + %t19 = zext i8 %t18 to i32 + store i32 %t19, ptr %t20 + %t22 = load i32, ptr %t20 + %t23 = icmp sge i32 %t22, 65 + %t24 = zext i1 %t23 to i32 + %t25 = icmp ne i32 %t24, 0 + %t26 = zext i1 %t25 to i32 + store i32 %t26, ptr %t21 + br i1 %t25, label %sc3, label %scend4 +sc3: + %t27 = load i32, ptr %t20 + %t28 = icmp sle i32 %t27, 90 + %t29 = zext i1 %t28 to i32 + %t30 = icmp ne i32 %t29, 0 + %t31 = zext i1 %t30 to i32 + store i32 %t31, ptr %t21 + br label %scend4 +scend4: + %t32 = load i32, ptr %t21 + %t33 = icmp ne i32 %t32, 0 + br i1 %t33, label %then5, label %ifend7 +then5: + %t34 = load i32, ptr %t20 + %t35 = add i32 %t34, 32 + store i32 %t35, ptr %t20 + br label %ifend7 +ifend7: + %t36 = load ptr, ptr %t8 + %t37 = load i32, ptr %t9 + %t38 = getelementptr inbounds i8, ptr %t36, i32 %t37 + %t39 = load i32, ptr %t20 + %t40 = trunc i32 %t39 to i8 + store i8 %t40, ptr %t38 + %t41 = load i32, ptr %t9 + %t42 = add i32 %t41, 1 + store i32 %t42, ptr %t9 + br label %wcond0 +wend2: + %t43 = load ptr, ptr %t8 + %t44 = load i32, ptr %t3 + %t45 = getelementptr inbounds i8, ptr %t43, i32 %t44 + %t46 = trunc i32 0 to i8 + store i8 %t46, ptr %t45 + %t47 = load ptr, ptr %t8 + store ptr %t47, ptr %retval + br label %ret +ret: + %t48 = load ptr, ptr %retval + ret ptr %t48 +} + +define ptr @fn_emit_component_access(ptr %arg_prop, ptr %arg_meth, ptr %arg_e) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t1 = alloca ptr + %t2 = alloca ptr + %t4 = alloca ptr + %t19 = alloca ptr + %t32 = alloca ptr + %t61 = alloca ptr + %t90 = alloca ptr + %t92 = alloca ptr + %t94 = alloca ptr + %t143 = alloca ptr + %t146 = alloca ptr + %t149 = alloca ptr + %t151 = alloca ptr + %t153 = alloca ptr + %t155 = alloca ptr + %t161 = alloca ptr + %t163 = alloca ptr + %t170 = alloca ptr + %t181 = alloca ptr + %t185 = alloca ptr + %t195 = alloca ptr + %t199 = alloca ptr + %t204 = alloca ptr + %t211 = alloca ptr + %t215 = alloca ptr + %t222 = alloca ptr + %t231 = alloca ptr + %t261 = alloca ptr + %t279 = alloca ptr + %t291 = alloca ptr + %t301 = alloca ptr + %t308 = alloca ptr + %t312 = alloca ptr + %t317 = alloca ptr + %t327 = alloca ptr + %t331 = alloca ptr + %t336 = alloca ptr + %t343 = alloca ptr + %t350 = alloca ptr + store ptr %arg_prop, ptr %t0 + store ptr %arg_meth, ptr %t1 + store ptr %arg_e, ptr %t2 + %t3 = call ptr @fn_itoa(i32 1024) + store ptr %t3, ptr %t4 + %t5 = load ptr, ptr %t1 + %t6 = call i32 @lp_str_eq(ptr %t5, ptr @.str6660) + %t7 = icmp ne i32 %t6, 0 + br i1 %t7, label %then0, label %ifend2 +then0: + %t8 = load ptr, ptr %t2 + %t9 = getelementptr inbounds %Cmp_Node, ptr %t8, i32 0, i32 7 + %t10 = load ptr, ptr %t9 + %t11 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 1 + %t12 = load i32, ptr %t11 + %t13 = icmp ne i32 %t12, 0 + %t14 = zext i1 %t13 to i32 + %t15 = icmp ne i32 %t14, 0 + br i1 %t15, label %then3, label %ifend5 +then3: + %t16 = load ptr, ptr %t0 + %t17 = call ptr @lp_str_concat(ptr %t16, ptr @.str6661) + call void @fn_perr(ptr %t17) + br label %ifend5 +ifend5: + %t18 = call ptr @fn_node(i32 21) + store ptr %t18, ptr %t19 + %t20 = load ptr, ptr %t19 + %t21 = getelementptr inbounds %Cmp_Node, ptr %t20, i32 0, i32 7 + %t22 = getelementptr %LSlice, ptr null, i32 1 + %t23 = ptrtoint ptr %t22 to i64 + %t24 = call ptr @malloc(i64 %t23) + %t25 = getelementptr inbounds %LSlice, ptr %t24, i32 0, i32 0 + store ptr null, ptr %t25 + %t26 = getelementptr inbounds %LSlice, ptr %t24, i32 0, i32 1 + store i32 0, ptr %t26 + %t27 = getelementptr inbounds %LSlice, ptr %t24, i32 0, i32 2 + store i32 0, ptr %t27 + store ptr %t24, ptr %t21 + %t28 = load ptr, ptr %t19 + %t29 = getelementptr inbounds %Cmp_Node, ptr %t28, i32 0, i32 6 + %t30 = call ptr @fn_node(i32 7) + store ptr %t30, ptr %t29 + %t31 = call ptr @fn_node(i32 33) + store ptr %t31, ptr %t32 + %t33 = load ptr, ptr %t32 + %t34 = getelementptr inbounds %Cmp_Node, ptr %t33, i32 0, i32 1 + %t35 = load ptr, ptr %t0 + store ptr %t35, ptr %t34 + %t36 = load ptr, ptr %t19 + %t37 = getelementptr inbounds %Cmp_Node, ptr %t36, i32 0, i32 6 + %t38 = load ptr, ptr %t37 + %t39 = getelementptr inbounds %Cmp_Node, ptr %t38, i32 0, i32 7 + %t40 = load ptr, ptr %t39 + %t41 = load ptr, ptr %t32 + %t42 = getelementptr inbounds %LSlice, ptr %t40, i32 0, i32 1 + %t43 = getelementptr inbounds %LSlice, ptr %t40, i32 0, i32 2 + %t44 = getelementptr inbounds %LSlice, ptr %t40, i32 0, i32 0 + %t45 = load i32, ptr %t42 + %t46 = load i32, ptr %t43 + %t47 = icmp sge i32 %t45, %t46 + br i1 %t47, label %grow6, label %put7 +grow6: + %t48 = mul i32 %t46, 2 + %t49 = icmp eq i32 %t46, 0 + %t50 = select i1 %t49, i32 8, i32 %t48 + %t51 = getelementptr ptr, ptr null, i32 1 + %t52 = ptrtoint ptr %t51 to i64 + %t53 = zext i32 %t50 to i64 + %t54 = mul i64 %t53, %t52 + %t55 = load ptr, ptr %t44 + %t56 = call ptr @realloc(ptr %t55, i64 %t54) + store ptr %t56, ptr %t44 + store i32 %t50, ptr %t43 + br label %put7 +put7: + %t57 = load ptr, ptr %t44 + %t58 = getelementptr inbounds ptr, ptr %t57, i32 %t45 + store ptr %t41, ptr %t58 + %t59 = add i32 %t45, 1 + store i32 %t59, ptr %t42 + %t60 = call ptr @fn_node(i32 33) + store ptr %t60, ptr %t61 + %t62 = load ptr, ptr %t61 + %t63 = getelementptr inbounds %Cmp_Node, ptr %t62, i32 0, i32 1 + store ptr @.str6662, ptr %t63 + %t64 = load ptr, ptr %t19 + %t65 = getelementptr inbounds %Cmp_Node, ptr %t64, i32 0, i32 7 + %t66 = load ptr, ptr %t65 + %t67 = load ptr, ptr %t61 + %t68 = getelementptr inbounds %LSlice, ptr %t66, i32 0, i32 1 + %t69 = getelementptr inbounds %LSlice, ptr %t66, i32 0, i32 2 + %t70 = getelementptr inbounds %LSlice, ptr %t66, i32 0, i32 0 + %t71 = load i32, ptr %t68 + %t72 = load i32, ptr %t69 + %t73 = icmp sge i32 %t71, %t72 + br i1 %t73, label %grow8, label %put9 +grow8: + %t74 = mul i32 %t72, 2 + %t75 = icmp eq i32 %t72, 0 + %t76 = select i1 %t75, i32 8, i32 %t74 + %t77 = getelementptr ptr, ptr null, i32 1 + %t78 = ptrtoint ptr %t77 to i64 + %t79 = zext i32 %t76 to i64 + %t80 = mul i64 %t79, %t78 + %t81 = load ptr, ptr %t70 + %t82 = call ptr @realloc(ptr %t81, i64 %t80) + store ptr %t82, ptr %t70 + store i32 %t76, ptr %t69 + br label %put9 +put9: + %t83 = load ptr, ptr %t70 + %t84 = getelementptr inbounds ptr, ptr %t83, i32 %t71 + store ptr %t67, ptr %t84 + %t85 = add i32 %t71, 1 + store i32 %t85, ptr %t68 + %t86 = load ptr, ptr %t19 + %t87 = getelementptr inbounds %Cmp_Node, ptr %t86, i32 0, i32 4 + %t88 = call ptr @fn_node(i32 7) + store ptr %t88, ptr %t87 + %t89 = call ptr @fn_node(i32 23) + store ptr %t89, ptr %t90 + %t91 = call ptr @fn_node(i32 34) + store ptr %t91, ptr %t92 + %t93 = call ptr @fn_node(i32 33) + store ptr %t93, ptr %t94 + %t95 = load ptr, ptr %t94 + %t96 = getelementptr inbounds %Cmp_Node, ptr %t95, i32 0, i32 1 + store ptr @.str6663, ptr %t96 + %t97 = load ptr, ptr %t92 + %t98 = getelementptr inbounds %Cmp_Node, ptr %t97, i32 0, i32 4 + %t99 = load ptr, ptr %t94 + store ptr %t99, ptr %t98 + %t100 = load ptr, ptr %t90 + %t101 = getelementptr inbounds %Cmp_Node, ptr %t100, i32 0, i32 4 + %t102 = load ptr, ptr %t92 + store ptr %t102, ptr %t101 + %t103 = load ptr, ptr %t19 + %t104 = getelementptr inbounds %Cmp_Node, ptr %t103, i32 0, i32 4 + %t105 = load ptr, ptr %t104 + %t106 = getelementptr inbounds %Cmp_Node, ptr %t105, i32 0, i32 7 + %t107 = load ptr, ptr %t106 + %t108 = load ptr, ptr %t90 + %t109 = getelementptr inbounds %LSlice, ptr %t107, i32 0, i32 1 + %t110 = getelementptr inbounds %LSlice, ptr %t107, i32 0, i32 2 + %t111 = getelementptr inbounds %LSlice, ptr %t107, i32 0, i32 0 + %t112 = load i32, ptr %t109 + %t113 = load i32, ptr %t110 + %t114 = icmp sge i32 %t112, %t113 + br i1 %t114, label %grow10, label %put11 +grow10: + %t115 = mul i32 %t113, 2 + %t116 = icmp eq i32 %t113, 0 + %t117 = select i1 %t116, i32 8, i32 %t115 + %t118 = getelementptr ptr, ptr null, i32 1 + %t119 = ptrtoint ptr %t118 to i64 + %t120 = zext i32 %t117 to i64 + %t121 = mul i64 %t120, %t119 + %t122 = load ptr, ptr %t111 + %t123 = call ptr @realloc(ptr %t122, i64 %t121) + store ptr %t123, ptr %t111 + store i32 %t117, ptr %t110 + br label %put11 +put11: + %t124 = load ptr, ptr %t111 + %t125 = getelementptr inbounds ptr, ptr %t124, i32 %t112 + store ptr %t108, ptr %t125 + %t126 = add i32 %t112, 1 + store i32 %t126, ptr %t109 + %t127 = load ptr, ptr %t19 + call void @fn_emit_query(ptr %t127) + %t128 = call ptr @fn_val(ptr @.str6664, ptr @.str6665) + store ptr %t128, ptr %retval + br label %ret +ifend2: + %t129 = load ptr, ptr %t1 + %t130 = call i32 @lp_str_eq(ptr %t129, ptr @.str6666) + %t131 = icmp ne i32 %t130, 0 + br i1 %t131, label %then12, label %ifend14 +then12: + %t132 = load ptr, ptr %t2 + %t133 = getelementptr inbounds %Cmp_Node, ptr %t132, i32 0, i32 7 + %t134 = load ptr, ptr %t133 + %t135 = getelementptr inbounds %LSlice, ptr %t134, i32 0, i32 1 + %t136 = load i32, ptr %t135 + %t137 = icmp ne i32 %t136, 0 + %t138 = zext i1 %t137 to i32 + %t139 = icmp ne i32 %t138, 0 + br i1 %t139, label %then15, label %ifend17 +then15: + %t140 = load ptr, ptr %t0 + %t141 = call ptr @lp_str_concat(ptr %t140, ptr @.str6667) + call void @fn_perr(ptr %t141) + br label %ifend17 +ifend17: + %t142 = call ptr @fn_emit_alloca(ptr @.str6668) + store ptr %t142, ptr %t143 + %t144 = load ptr, ptr %t143 + call void @fn_store_at(ptr @.str6669, ptr @.str6670, ptr %t144) + %t145 = call ptr @fn_emit_alloca(ptr @.str6671) + store ptr %t145, ptr %t146 + %t147 = load ptr, ptr %t146 + call void @fn_store_at(ptr @.str6672, ptr @.str6673, ptr %t147) + %t148 = call ptr @fn_lbl(ptr @.str6674) + store ptr %t148, ptr %t149 + %t150 = call ptr @fn_lbl(ptr @.str6675) + store ptr %t150, ptr %t151 + %t152 = call ptr @fn_lbl(ptr @.str6676) + store ptr %t152, ptr %t153 + %t154 = call ptr @fn_lbl(ptr @.str6677) + store ptr %t154, ptr %t155 + call void @fn_emit(ptr @.str6678) + %t156 = load ptr, ptr %t149 + call void @fn_emit(ptr %t156) + call void @fn_emit(ptr @.str6679) + %t157 = load ptr, ptr %t149 + call void @fn_emit(ptr %t157) + call void @fn_emit(ptr @.str6680) + %t158 = load ptr, ptr %t143 + %t159 = call ptr @lp_str_concat(ptr @.str6681, ptr %t158) + %t160 = call ptr @fn_emit_bind(ptr %t159) + store ptr %t160, ptr %t161 + %t162 = call ptr @fn_emit_bind(ptr @.str6682) + store ptr %t162, ptr %t163 + %t164 = load ptr, ptr %t161 + %t165 = call ptr @lp_str_concat(ptr @.str6683, ptr %t164) + %t166 = call ptr @lp_str_concat(ptr %t165, ptr @.str6684) + %t167 = load ptr, ptr %t163 + %t168 = call ptr @lp_str_concat(ptr %t166, ptr %t167) + %t169 = call ptr @fn_emit_bind(ptr %t168) + store ptr %t169, ptr %t170 + call void @fn_emit(ptr @.str6685) + %t171 = load ptr, ptr %t170 + call void @fn_emit(ptr %t171) + call void @fn_emit(ptr @.str6686) + %t172 = load ptr, ptr %t151 + call void @fn_emit(ptr %t172) + call void @fn_emit(ptr @.str6687) + %t173 = load ptr, ptr %t155 + call void @fn_emit(ptr %t173) + call void @fn_emit(ptr @.str6688) + %t174 = load ptr, ptr %t151 + call void @fn_emit(ptr %t174) + call void @fn_emit(ptr @.str6689) + %t175 = load ptr, ptr %t4 + %t176 = call ptr @lp_str_concat(ptr @.str6690, ptr %t175) + %t177 = call ptr @lp_str_concat(ptr %t176, ptr @.str6691) + %t178 = load ptr, ptr %t161 + %t179 = call ptr @lp_str_concat(ptr %t177, ptr %t178) + %t180 = call ptr @fn_emit_bind(ptr %t179) + store ptr %t180, ptr %t181 + %t182 = load ptr, ptr %t181 + %t183 = call ptr @lp_str_concat(ptr @.str6692, ptr %t182) + %t184 = call ptr @fn_emit_bind(ptr %t183) + store ptr %t184, ptr %t185 + %t186 = load ptr, ptr %t4 + %t187 = call ptr @lp_str_concat(ptr @.str6693, ptr %t186) + %t188 = call ptr @lp_str_concat(ptr %t187, ptr @.str6694) + %t189 = load ptr, ptr %t0 + %t190 = call ptr @lp_str_concat(ptr %t188, ptr %t189) + %t191 = call ptr @lp_str_concat(ptr %t190, ptr @.str6695) + %t192 = load ptr, ptr %t161 + %t193 = call ptr @lp_str_concat(ptr %t191, ptr %t192) + %t194 = call ptr @fn_emit_bind(ptr %t193) + store ptr %t194, ptr %t195 + %t196 = load ptr, ptr %t195 + %t197 = call ptr @lp_str_concat(ptr @.str6696, ptr %t196) + %t198 = call ptr @fn_emit_bind(ptr %t197) + store ptr %t198, ptr %t199 + %t200 = load ptr, ptr %t199 + %t201 = call ptr @lp_str_concat(ptr @.str6697, ptr %t200) + %t202 = call ptr @lp_str_concat(ptr %t201, ptr @.str6698) + %t203 = call ptr @fn_emit_bind(ptr %t202) + store ptr %t203, ptr %t204 + %t205 = load ptr, ptr %t185 + %t206 = call ptr @lp_str_concat(ptr @.str6699, ptr %t205) + %t207 = call ptr @lp_str_concat(ptr %t206, ptr @.str6700) + %t208 = load ptr, ptr %t204 + %t209 = call ptr @lp_str_concat(ptr %t207, ptr %t208) + %t210 = call ptr @fn_emit_bind(ptr %t209) + store ptr %t210, ptr %t211 + %t212 = load ptr, ptr %t146 + %t213 = call ptr @lp_str_concat(ptr @.str6701, ptr %t212) + %t214 = call ptr @fn_emit_bind(ptr %t213) + store ptr %t214, ptr %t215 + %t216 = load ptr, ptr %t215 + %t217 = call ptr @lp_str_concat(ptr @.str6702, ptr %t216) + %t218 = call ptr @lp_str_concat(ptr %t217, ptr @.str6703) + %t219 = load ptr, ptr %t211 + %t220 = call ptr @lp_str_concat(ptr %t218, ptr %t219) + %t221 = call ptr @fn_emit_bind(ptr %t220) + store ptr %t221, ptr %t222 + %t223 = load ptr, ptr %t222 + %t224 = load ptr, ptr %t146 + call void @fn_store_at(ptr @.str6704, ptr %t223, ptr %t224) + call void @fn_emit(ptr @.str6705) + %t225 = load ptr, ptr %t153 + call void @fn_emit(ptr %t225) + call void @fn_emit(ptr @.str6706) + %t226 = load ptr, ptr %t153 + call void @fn_emit(ptr %t226) + call void @fn_emit(ptr @.str6707) + %t227 = load ptr, ptr %t161 + %t228 = call ptr @lp_str_concat(ptr @.str6708, ptr %t227) + %t229 = call ptr @lp_str_concat(ptr %t228, ptr @.str6709) + %t230 = call ptr @fn_emit_bind(ptr %t229) + store ptr %t230, ptr %t231 + %t232 = load ptr, ptr %t231 + %t233 = load ptr, ptr %t143 + call void @fn_store_at(ptr @.str6710, ptr %t232, ptr %t233) + call void @fn_emit(ptr @.str6711) + %t234 = load ptr, ptr %t149 + call void @fn_emit(ptr %t234) + call void @fn_emit(ptr @.str6712) + %t235 = load ptr, ptr %t155 + call void @fn_emit(ptr %t235) + call void @fn_emit(ptr @.str6713) + %t236 = load ptr, ptr %t146 + %t237 = call ptr @lp_str_concat(ptr @.str6714, ptr %t236) + %t238 = call ptr @fn_emit_bind(ptr %t237) + %t239 = call ptr @fn_val(ptr %t238, ptr @.str6715) + store ptr %t239, ptr %retval + br label %ret +ifend14: + %t240 = load ptr, ptr %t2 + %t241 = getelementptr inbounds %Cmp_Node, ptr %t240, i32 0, i32 7 + %t242 = load ptr, ptr %t241 + %t243 = getelementptr inbounds %LSlice, ptr %t242, i32 0, i32 1 + %t244 = load i32, ptr %t243 + %t245 = icmp ne i32 %t244, 1 + %t246 = zext i1 %t245 to i32 + %t247 = icmp ne i32 %t246, 0 + br i1 %t247, label %then18, label %ifend20 +then18: + %t248 = load ptr, ptr %t0 + %t249 = call ptr @lp_str_concat(ptr %t248, ptr @.str6716) + %t250 = load ptr, ptr %t1 + %t251 = call ptr @lp_str_concat(ptr %t249, ptr %t250) + %t252 = call ptr @lp_str_concat(ptr %t251, ptr @.str6717) + call void @fn_perr(ptr %t252) + br label %ifend20 +ifend20: + %t253 = load ptr, ptr %t2 + %t254 = getelementptr inbounds %Cmp_Node, ptr %t253, i32 0, i32 7 + %t255 = load ptr, ptr %t254 + %t256 = getelementptr inbounds %LSlice, ptr %t255, i32 0, i32 0 + %t257 = load ptr, ptr %t256 + %t258 = getelementptr inbounds ptr, ptr %t257, i32 0 + %t259 = load ptr, ptr %t258 + %t260 = call ptr @fn_emit_expr(ptr %t259) + store ptr %t260, ptr %t261 + %t262 = load ptr, ptr %t1 + %t263 = call i32 @lp_str_eq(ptr %t262, ptr @.str6718) + %t264 = icmp ne i32 %t263, 0 + br i1 %t264, label %then21, label %ifend23 +then21: + %t265 = load ptr, ptr %t4 + %t266 = call ptr @lp_str_concat(ptr @.str6719, ptr %t265) + %t267 = call ptr @lp_str_concat(ptr %t266, ptr @.str6720) + %t268 = load ptr, ptr %t0 + %t269 = call ptr @lp_str_concat(ptr %t267, ptr %t268) + %t270 = call ptr @lp_str_concat(ptr %t269, ptr @.str6721) + %t271 = load ptr, ptr %t0 + %t272 = call ptr @lp_str_concat(ptr %t270, ptr %t271) + %t273 = call ptr @lp_str_concat(ptr %t272, ptr @.str6722) + %t274 = load ptr, ptr %t261 + %t275 = getelementptr inbounds %Cmp_Val, ptr %t274, i32 0, i32 0 + %t276 = load ptr, ptr %t275 + %t277 = call ptr @lp_str_concat(ptr %t273, ptr %t276) + %t278 = call ptr @fn_emit_bind(ptr %t277) + store ptr %t278, ptr %t279 + %t280 = load ptr, ptr %t279 + %t281 = load ptr, ptr %t0 + %t282 = call ptr @fn_val(ptr %t280, ptr %t281) + store ptr %t282, ptr %retval + br label %ret +ifend23: + %t283 = load ptr, ptr %t261 + %t284 = getelementptr inbounds %Cmp_Val, ptr %t283, i32 0, i32 0 + %t285 = load ptr, ptr %t284 + %t286 = call ptr @lp_str_concat(ptr @.str6723, ptr %t285) + %t287 = call ptr @lp_str_concat(ptr %t286, ptr @.str6724) + %t288 = load ptr, ptr %t4 + %t289 = call ptr @lp_str_concat(ptr %t287, ptr %t288) + %t290 = call ptr @fn_emit_bind(ptr %t289) + store ptr %t290, ptr %t291 + %t292 = load ptr, ptr %t291 + %t293 = call ptr @lp_str_concat(ptr @.str6725, ptr %t292) + %t294 = call ptr @lp_str_concat(ptr %t293, ptr @.str6726) + %t295 = load ptr, ptr %t261 + %t296 = getelementptr inbounds %Cmp_Val, ptr %t295, i32 0, i32 0 + %t297 = load ptr, ptr %t296 + %t298 = call ptr @lp_str_concat(ptr %t294, ptr %t297) + %t299 = call ptr @lp_str_concat(ptr %t298, ptr @.str6727) + %t300 = call ptr @fn_emit_bind(ptr %t299) + store ptr %t300, ptr %t301 + %t302 = load ptr, ptr %t4 + %t303 = call ptr @lp_str_concat(ptr @.str6728, ptr %t302) + %t304 = call ptr @lp_str_concat(ptr %t303, ptr @.str6729) + %t305 = load ptr, ptr %t301 + %t306 = call ptr @lp_str_concat(ptr %t304, ptr %t305) + %t307 = call ptr @fn_emit_bind(ptr %t306) + store ptr %t307, ptr %t308 + %t309 = load ptr, ptr %t308 + %t310 = call ptr @lp_str_concat(ptr @.str6730, ptr %t309) + %t311 = call ptr @fn_emit_bind(ptr %t310) + store ptr %t311, ptr %t312 + %t313 = load ptr, ptr %t312 + %t314 = call ptr @lp_str_concat(ptr @.str6731, ptr %t313) + %t315 = call ptr @lp_str_concat(ptr %t314, ptr @.str6732) + %t316 = call ptr @fn_emit_bind(ptr %t315) + store ptr %t316, ptr %t317 + %t318 = load ptr, ptr %t4 + %t319 = call ptr @lp_str_concat(ptr @.str6733, ptr %t318) + %t320 = call ptr @lp_str_concat(ptr %t319, ptr @.str6734) + %t321 = load ptr, ptr %t0 + %t322 = call ptr @lp_str_concat(ptr %t320, ptr %t321) + %t323 = call ptr @lp_str_concat(ptr %t322, ptr @.str6735) + %t324 = load ptr, ptr %t301 + %t325 = call ptr @lp_str_concat(ptr %t323, ptr %t324) + %t326 = call ptr @fn_emit_bind(ptr %t325) + store ptr %t326, ptr %t327 + %t328 = load ptr, ptr %t327 + %t329 = call ptr @lp_str_concat(ptr @.str6736, ptr %t328) + %t330 = call ptr @fn_emit_bind(ptr %t329) + store ptr %t330, ptr %t331 + %t332 = load ptr, ptr %t331 + %t333 = call ptr @lp_str_concat(ptr @.str6737, ptr %t332) + %t334 = call ptr @lp_str_concat(ptr %t333, ptr @.str6738) + %t335 = call ptr @fn_emit_bind(ptr %t334) + store ptr %t335, ptr %t336 + %t337 = load ptr, ptr %t291 + %t338 = call ptr @lp_str_concat(ptr @.str6739, ptr %t337) + %t339 = call ptr @lp_str_concat(ptr %t338, ptr @.str6740) + %t340 = load ptr, ptr %t317 + %t341 = call ptr @lp_str_concat(ptr %t339, ptr %t340) + %t342 = call ptr @fn_emit_bind(ptr %t341) + store ptr %t342, ptr %t343 + %t344 = load ptr, ptr %t343 + %t345 = call ptr @lp_str_concat(ptr @.str6741, ptr %t344) + %t346 = call ptr @lp_str_concat(ptr %t345, ptr @.str6742) + %t347 = load ptr, ptr %t336 + %t348 = call ptr @lp_str_concat(ptr %t346, ptr %t347) + %t349 = call ptr @fn_emit_bind(ptr %t348) + store ptr %t349, ptr %t350 + %t351 = load ptr, ptr %t350 + %t352 = call ptr @lp_str_concat(ptr @.str6743, ptr %t351) + %t353 = call ptr @lp_str_concat(ptr %t352, ptr @.str6744) + %t354 = call ptr @fn_emit_bind(ptr %t353) + %t355 = call ptr @fn_val(ptr %t354, ptr @.str6745) + store ptr %t355, ptr %retval + br label %ret +ret: + %t356 = load ptr, ptr %retval + ret ptr %t356 +} + +define i32 @fn_first_arg_is_text(ptr %arg_e) { +entry: + %retval = alloca i32 + %t0 = alloca ptr + %t16 = alloca ptr + %t39 = alloca ptr + store ptr %arg_e, ptr %t0 + %t1 = load ptr, ptr %t0 + %t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 7 + %t3 = load ptr, ptr %t2 + %t4 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 1 + %t5 = load i32, ptr %t4 + %t6 = icmp eq i32 %t5, 0 + %t7 = zext i1 %t6 to i32 + %t8 = icmp ne i32 %t7, 0 + br i1 %t8, label %then0, label %ifend2 +then0: + store i32 0, ptr %retval + br label %ret +ifend2: + %t9 = load ptr, ptr %t0 + %t10 = getelementptr inbounds %Cmp_Node, ptr %t9, i32 0, i32 7 + %t11 = load ptr, ptr %t10 + %t12 = getelementptr inbounds %LSlice, ptr %t11, i32 0, i32 0 + %t13 = load ptr, ptr %t12 + %t14 = getelementptr inbounds ptr, ptr %t13, i32 0 + %t15 = load ptr, ptr %t14 + store ptr %t15, ptr %t16 + %t17 = load ptr, ptr %t16 + %t18 = getelementptr inbounds %Cmp_Node, ptr %t17, i32 0, i32 0 + %t19 = load i32, ptr %t18 + %t20 = icmp eq i32 %t19, 42 + %t21 = zext i1 %t20 to i32 + %t22 = icmp ne i32 %t21, 0 + br i1 %t22, label %then3, label %ifend5 +then3: + %t23 = load ptr, ptr %t16 + %t24 = getelementptr inbounds %Cmp_Node, ptr %t23, i32 0, i32 1 + %t25 = load ptr, ptr %t24 + %t26 = call i32 @lp_str_eq(ptr %t25, ptr @.str6746) + %t27 = icmp ne i32 %t26, 0 + br i1 %t27, label %then6, label %ifend8 +then6: + store i32 1, ptr %retval + br label %ret +ifend8: + %t28 = load ptr, ptr %t16 + %t29 = getelementptr inbounds %Cmp_Node, ptr %t28, i32 0, i32 4 + %t30 = load ptr, ptr %t29 + store ptr %t30, ptr %t16 + br label %ifend5 +ifend5: + %t31 = load ptr, ptr %t16 + %t32 = getelementptr inbounds %Cmp_Node, ptr %t31, i32 0, i32 0 + %t33 = load i32, ptr %t32 + %t34 = icmp eq i32 %t33, 31 + %t35 = zext i1 %t34 to i32 + %t36 = icmp ne i32 %t35, 0 + br i1 %t36, label %then9, label %ifend11 +then9: + store i32 1, ptr %retval + br label %ret +ifend11: + %t37 = load ptr, ptr %t16 + %t38 = call ptr @fn_static_type(ptr %t37) + store ptr %t38, ptr %t39 + %t40 = load ptr, ptr %t39 + %t41 = icmp eq ptr %t40, null + %t42 = zext i1 %t41 to i32 + %t43 = icmp ne i32 %t42, 0 + br i1 %t43, label %then12, label %ifend14 +then12: + store i32 0, ptr %retval + br label %ret +ifend14: + %t44 = load ptr, ptr %t39 + %t45 = call i32 @lp_str_eq(ptr %t44, ptr @.str6747) + store i32 %t45, ptr %retval + br label %ret +ret: + %t46 = load i32, ptr %retval + ret i32 %t46 +} + +define ptr @fn_emit_ns_call(ptr %arg_ns, ptr %arg_meth, ptr %arg_e) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t1 = alloca ptr + %t2 = alloca ptr + %t3 = alloca i32 + %t10 = alloca i32 + %t11 = alloca i32 + %t12 = alloca i32 + %t360 = alloca ptr + %t391 = alloca ptr + %t393 = alloca ptr + %t403 = alloca ptr + %t410 = alloca ptr + %t3411 = alloca ptr + %t3422 = alloca ptr + %t3471 = alloca ptr + %t3480 = alloca ptr + %t3487 = alloca ptr + %t3489 = alloca ptr + %t3496 = alloca ptr + %t3505 = alloca ptr + %t3514 = alloca ptr + %t3519 = alloca ptr + %t3524 = alloca ptr + %t3544 = alloca ptr + %t3582 = alloca ptr + %t15097 = alloca i32 + %t15113 = alloca ptr + %t15126 = alloca ptr + %t15127 = alloca i32 + %t15162 = alloca i32 + %t15179 = alloca i32 + %t15201 = alloca ptr + %t15208 = alloca ptr + %t15209 = alloca i32 + %t15256 = alloca ptr + store ptr %arg_ns, ptr %t0 + store ptr %arg_meth, ptr %t1 + store ptr %arg_e, ptr %t2 + %t4 = load ptr, ptr %t0 + %t5 = call ptr @fn_find_comp(ptr %t4) + %t6 = icmp ne ptr %t5, null + %t7 = zext i1 %t6 to i32 + %t8 = icmp ne i32 %t7, 0 + %t9 = zext i1 %t8 to i32 + store i32 %t9, ptr %t3 + br i1 %t8, label %sc0, label %scend1 +sc0: + %t13 = load ptr, ptr %t1 + %t14 = call i32 @lp_str_eq(ptr %t13, ptr @.str6748) + %t15 = icmp ne i32 %t14, 0 + %t16 = zext i1 %t15 to i32 + store i32 %t16, ptr %t12 + br i1 %t15, label %scend3, label %sc2 +sc2: + %t17 = load ptr, ptr %t1 + %t18 = call i32 @lp_str_eq(ptr %t17, ptr @.str6749) + %t19 = icmp ne i32 %t18, 0 + %t20 = zext i1 %t19 to i32 + store i32 %t20, ptr %t12 + br label %scend3 +scend3: + %t21 = load i32, ptr %t12 + %t22 = icmp ne i32 %t21, 0 + %t23 = zext i1 %t22 to i32 + store i32 %t23, ptr %t11 + br i1 %t22, label %scend5, label %sc4 +sc4: + %t24 = load ptr, ptr %t1 + %t25 = call i32 @lp_str_eq(ptr %t24, ptr @.str6750) + %t26 = icmp ne i32 %t25, 0 + %t27 = zext i1 %t26 to i32 + store i32 %t27, ptr %t11 + br label %scend5 +scend5: + %t28 = load i32, ptr %t11 + %t29 = icmp ne i32 %t28, 0 + %t30 = zext i1 %t29 to i32 + store i32 %t30, ptr %t10 + br i1 %t29, label %scend7, label %sc6 +sc6: + %t31 = load ptr, ptr %t1 + %t32 = call i32 @lp_str_eq(ptr %t31, ptr @.str6751) + %t33 = icmp ne i32 %t32, 0 + %t34 = zext i1 %t33 to i32 + store i32 %t34, ptr %t10 + br label %scend7 +scend7: + %t35 = load i32, ptr %t10 + %t36 = icmp ne i32 %t35, 0 + %t37 = zext i1 %t36 to i32 + store i32 %t37, ptr %t3 + br label %scend1 +scend1: + %t38 = load i32, ptr %t3 + %t39 = icmp ne i32 %t38, 0 + br i1 %t39, label %then8, label %ifend10 +then8: + %t40 = load ptr, ptr %t0 + %t41 = call ptr @fn_ns_lower(ptr %t40) + %t42 = call ptr @lp_str_concat(ptr %t41, ptr @.str6752) + %t43 = load ptr, ptr %t1 + %t44 = call ptr @lp_str_concat(ptr %t42, ptr %t43) + %t45 = call ptr @fn_find_fn(ptr %t44) + %t46 = icmp eq ptr %t45, null + %t47 = zext i1 %t46 to i32 + %t48 = icmp ne i32 %t47, 0 + br i1 %t48, label %then11, label %ifend13 +then11: + %t49 = load ptr, ptr %t0 + %t50 = load ptr, ptr %t1 + %t51 = load ptr, ptr %t2 + %t52 = call ptr @fn_emit_component_access(ptr %t49, ptr %t50, ptr %t51) + store ptr %t52, ptr %retval + br label %ret +ifend13: + br label %ifend10 +ifend10: + %t53 = load ptr, ptr %t0 + %t54 = call i32 @lp_str_eq(ptr %t53, ptr @.str6753) + %t55 = icmp ne i32 %t54, 0 + br i1 %t55, label %then14, label %ifend16 +then14: + %t56 = load ptr, ptr %t1 + %t57 = call i32 @fn_is_math_ns(ptr %t56) + %t58 = icmp ne i32 %t57, 0 + br i1 %t58, label %then17, label %ifend19 +then17: + %t59 = load ptr, ptr %t1 + %t60 = load ptr, ptr %t2 + %t61 = call ptr @fn_emit_math_ns(ptr %t59, ptr %t60) + store ptr %t61, ptr %retval + br label %ret +ifend19: + %t62 = load ptr, ptr %t1 + %t63 = call ptr @lp_str_concat(ptr @.str6754, ptr %t62) + call void @fn_perr(ptr %t63) + br label %ifend16 +ifend16: + %t64 = load ptr, ptr %t0 + %t65 = call i32 @lp_str_eq(ptr %t64, ptr @.str6755) + %t66 = icmp ne i32 %t65, 0 + br i1 %t66, label %then20, label %ifend22 +then20: + %t67 = load ptr, ptr %t1 + %t68 = call i32 @fn_is_text_ns(ptr %t67) + %t69 = icmp ne i32 %t68, 0 + br i1 %t69, label %then23, label %ifend25 +then23: + %t70 = load ptr, ptr %t1 + %t71 = load ptr, ptr %t2 + %t72 = call ptr @fn_emit_text_ns(ptr %t70, ptr %t71) + store ptr %t72, ptr %retval + br label %ret +ifend25: + %t73 = load ptr, ptr %t1 + %t74 = call ptr @lp_str_concat(ptr @.str6756, ptr %t73) + call void @fn_perr(ptr %t74) + br label %ifend22 +ifend22: + %t75 = load ptr, ptr %t0 + %t76 = call i32 @lp_str_eq(ptr %t75, ptr @.str6757) + %t77 = icmp ne i32 %t76, 0 + br i1 %t77, label %then26, label %ifend28 +then26: + %t78 = load ptr, ptr %t1 + %t79 = call i32 @fn_is_list_ns(ptr %t78) + %t80 = icmp ne i32 %t79, 0 + br i1 %t80, label %then29, label %ifend31 +then29: + %t81 = load ptr, ptr %t1 + %t82 = load ptr, ptr %t2 + %t83 = call ptr @fn_emit_list_ns(ptr %t81, ptr %t82) + store ptr %t83, ptr %retval + br label %ret +ifend31: + %t84 = load ptr, ptr %t1 + %t85 = call ptr @lp_str_concat(ptr @.str6758, ptr %t84) + call void @fn_perr(ptr %t85) + br label %ifend28 +ifend28: + %t86 = load ptr, ptr %t0 + %t87 = call i32 @lp_str_eq(ptr %t86, ptr @.str6759) + %t88 = icmp ne i32 %t87, 0 + br i1 %t88, label %then32, label %ifend34 +then32: + %t89 = load ptr, ptr %t1 + %t90 = call i32 @fn_is_ease_ns(ptr %t89) + %t91 = icmp ne i32 %t90, 0 + br i1 %t91, label %then35, label %ifend37 +then35: + %t92 = load ptr, ptr %t1 + %t93 = load ptr, ptr %t2 + %t94 = call ptr @fn_emit_ease_ns(ptr %t92, ptr %t93) + store ptr %t94, ptr %retval + br label %ret +ifend37: + %t95 = load ptr, ptr %t1 + %t96 = call ptr @lp_str_concat(ptr @.str6760, ptr %t95) + call void @fn_perr(ptr %t96) + br label %ifend34 +ifend34: + %t97 = load ptr, ptr %t0 + %t98 = call i32 @lp_str_eq(ptr %t97, ptr @.str6761) + %t99 = icmp ne i32 %t98, 0 + br i1 %t99, label %then38, label %ifend40 +then38: + %t100 = load ptr, ptr %t1 + %t101 = call i32 @fn_is_anim_ns(ptr %t100) + %t102 = icmp ne i32 %t101, 0 + br i1 %t102, label %then41, label %ifend43 +then41: + %t103 = load ptr, ptr %t1 + %t104 = load ptr, ptr %t2 + %t105 = call ptr @fn_emit_anim_ns(ptr %t103, ptr %t104) + store ptr %t105, ptr %retval + br label %ret +ifend43: + br label %ifend40 +ifend40: + %t106 = load ptr, ptr %t0 + %t107 = call i32 @lp_str_eq(ptr %t106, ptr @.str6762) + %t108 = icmp ne i32 %t107, 0 + br i1 %t108, label %then44, label %ifend46 +then44: + %t109 = load ptr, ptr %t1 + %t110 = call i32 @fn_is_tween_ns(ptr %t109) + %t111 = icmp ne i32 %t110, 0 + br i1 %t111, label %then47, label %ifend49 +then47: + %t112 = load ptr, ptr %t1 + %t113 = load ptr, ptr %t2 + %t114 = call ptr @fn_emit_tween_ns(ptr %t112, ptr %t113) + store ptr %t114, ptr %retval + br label %ret +ifend49: + br label %ifend46 +ifend46: + %t115 = load ptr, ptr %t0 + %t116 = call i32 @lp_str_eq(ptr %t115, ptr @.str6763) + %t117 = icmp ne i32 %t116, 0 + br i1 %t117, label %then50, label %ifend52 +then50: + %t118 = load ptr, ptr %t1 + %t119 = call i32 @fn_is_collide_ns(ptr %t118) + %t120 = icmp ne i32 %t119, 0 + br i1 %t120, label %then53, label %ifend55 +then53: + %t121 = load ptr, ptr %t1 + %t122 = load ptr, ptr %t2 + %t123 = call ptr @fn_emit_collide_ns(ptr %t121, ptr %t122) + store ptr %t123, ptr %retval + br label %ret +ifend55: + %t124 = load ptr, ptr %t1 + %t125 = call ptr @lp_str_concat(ptr @.str6764, ptr %t124) + call void @fn_perr(ptr %t125) + br label %ifend52 +ifend52: + %t126 = load ptr, ptr %t0 + %t127 = call i32 @lp_str_eq(ptr %t126, ptr @.str6765) + %t128 = icmp ne i32 %t127, 0 + br i1 %t128, label %then56, label %ifend58 +then56: + %t129 = load ptr, ptr %t1 + %t130 = call i32 @fn_is_mem_ns(ptr %t129) + %t131 = icmp ne i32 %t130, 0 + br i1 %t131, label %then59, label %ifend61 +then59: + %t132 = load ptr, ptr %t1 + %t133 = load ptr, ptr %t2 + %t134 = call ptr @fn_emit_mem_ns(ptr %t132, ptr %t133) + store ptr %t134, ptr %retval + br label %ret +ifend61: + %t135 = load ptr, ptr %t1 + %t136 = call ptr @lp_str_concat(ptr @.str6766, ptr %t135) + call void @fn_perr(ptr %t136) + br label %ifend58 +ifend58: + %t137 = load ptr, ptr %t0 + %t138 = call i32 @lp_str_eq(ptr %t137, ptr @.str6767) + %t139 = icmp ne i32 %t138, 0 + br i1 %t139, label %then62, label %ifend64 +then62: + %t140 = load ptr, ptr %t1 + %t141 = call i32 @fn_is_colorfn_ns(ptr %t140) + %t142 = icmp ne i32 %t141, 0 + br i1 %t142, label %then65, label %ifend67 +then65: + %t143 = load ptr, ptr %t1 + %t144 = load ptr, ptr %t2 + %t145 = call ptr @fn_emit_colorfn_ns(ptr %t143, ptr %t144) + store ptr %t145, ptr %retval + br label %ret +ifend67: + %t146 = load ptr, ptr %t1 + %t147 = call ptr @lp_str_concat(ptr @.str6768, ptr %t146) + call void @fn_perr(ptr %t147) + br label %ifend64 +ifend64: + %t148 = load ptr, ptr %t0 + %t149 = call i32 @lp_str_eq(ptr %t148, ptr @.str6769) + %t150 = icmp ne i32 %t149, 0 + br i1 %t150, label %then68, label %ifend70 +then68: + %t151 = load ptr, ptr %t1 + %t152 = call i32 @fn_is_time_ns(ptr %t151) + %t153 = icmp ne i32 %t152, 0 + br i1 %t153, label %then71, label %ifend73 +then71: + %t154 = load ptr, ptr %t1 + %t155 = load ptr, ptr %t2 + %t156 = call ptr @fn_emit_time_ns(ptr %t154, ptr %t155) + store ptr %t156, ptr %retval + br label %ret +ifend73: + %t157 = load ptr, ptr %t1 + %t158 = call ptr @lp_str_concat(ptr @.str6770, ptr %t157) + call void @fn_perr(ptr %t158) + br label %ifend70 +ifend70: + %t159 = load ptr, ptr %t0 + %t160 = call i32 @lp_str_eq(ptr %t159, ptr @.str6771) + %t161 = icmp ne i32 %t160, 0 + br i1 %t161, label %then74, label %ifend76 +then74: + %t162 = load ptr, ptr %t1 + %t163 = call i32 @fn_is_hash_ns(ptr %t162) + %t164 = icmp ne i32 %t163, 0 + br i1 %t164, label %then77, label %ifend79 +then77: + %t165 = load ptr, ptr %t1 + %t166 = load ptr, ptr %t2 + %t167 = call ptr @fn_emit_hash_ns(ptr %t165, ptr %t166) + store ptr %t167, ptr %retval + br label %ret +ifend79: + %t168 = load ptr, ptr %t1 + %t169 = call ptr @lp_str_concat(ptr @.str6772, ptr %t168) + call void @fn_perr(ptr %t169) + br label %ifend76 +ifend76: + %t170 = load ptr, ptr %t0 + %t171 = call i32 @lp_str_eq(ptr %t170, ptr @.str6773) + %t172 = icmp ne i32 %t171, 0 + br i1 %t172, label %then80, label %ifend82 +then80: + %t173 = load ptr, ptr %t1 + %t174 = call i32 @fn_is_crypto_ns(ptr %t173) + %t175 = icmp ne i32 %t174, 0 + br i1 %t175, label %then83, label %ifend85 +then83: + %t176 = load ptr, ptr %t1 + %t177 = load ptr, ptr %t2 + %t178 = call ptr @fn_emit_crypto_ns(ptr %t176, ptr %t177) + store ptr %t178, ptr %retval + br label %ret +ifend85: + %t179 = load ptr, ptr %t1 + %t180 = call ptr @lp_str_concat(ptr @.str6774, ptr %t179) + call void @fn_perr(ptr %t180) + br label %ifend82 +ifend82: + %t181 = load ptr, ptr %t0 + %t182 = call i32 @lp_str_eq(ptr %t181, ptr @.str6775) + %t183 = icmp ne i32 %t182, 0 + br i1 %t183, label %then86, label %ifend88 +then86: + %t184 = load ptr, ptr %t1 + %t185 = call i32 @fn_is_uuid_ns(ptr %t184) + %t186 = icmp ne i32 %t185, 0 + br i1 %t186, label %then89, label %ifend91 +then89: + %t187 = load ptr, ptr %t1 + %t188 = load ptr, ptr %t2 + %t189 = call ptr @fn_emit_uuid_ns(ptr %t187, ptr %t188) + store ptr %t189, ptr %retval + br label %ret +ifend91: + %t190 = load ptr, ptr %t1 + %t191 = call ptr @lp_str_concat(ptr @.str6776, ptr %t190) + call void @fn_perr(ptr %t191) + br label %ifend88 +ifend88: + %t192 = load ptr, ptr %t0 + %t193 = call i32 @lp_str_eq(ptr %t192, ptr @.str6777) + %t194 = icmp ne i32 %t193, 0 + br i1 %t194, label %then92, label %ifend94 +then92: + %t195 = load ptr, ptr %t1 + %t196 = call i32 @fn_is_noise_ns(ptr %t195) + %t197 = icmp ne i32 %t196, 0 + br i1 %t197, label %then95, label %ifend97 +then95: + %t198 = load ptr, ptr %t1 + %t199 = load ptr, ptr %t2 + %t200 = call ptr @fn_emit_noise_ns(ptr %t198, ptr %t199) + store ptr %t200, ptr %retval + br label %ret +ifend97: + %t201 = load ptr, ptr %t1 + %t202 = call ptr @lp_str_concat(ptr @.str6778, ptr %t201) + call void @fn_perr(ptr %t202) + br label %ifend94 +ifend94: + %t203 = load ptr, ptr %t0 + %t204 = call i32 @lp_str_eq(ptr %t203, ptr @.str6779) + %t205 = icmp ne i32 %t204, 0 + br i1 %t205, label %then98, label %ifend100 +then98: + %t206 = load ptr, ptr %t1 + %t207 = call i32 @fn_is_log_ns(ptr %t206) + %t208 = icmp ne i32 %t207, 0 + br i1 %t208, label %then101, label %ifend103 +then101: + %t209 = load ptr, ptr %t1 + %t210 = load ptr, ptr %t2 + %t211 = call ptr @fn_emit_log_ns(ptr %t209, ptr %t210) + store ptr %t211, ptr %retval + br label %ret +ifend103: + %t212 = load ptr, ptr %t1 + %t213 = call ptr @lp_str_concat(ptr @.str6780, ptr %t212) + call void @fn_perr(ptr %t213) + br label %ifend100 +ifend100: + %t214 = load ptr, ptr %t0 + %t215 = call i32 @lp_str_eq(ptr %t214, ptr @.str6781) + %t216 = icmp ne i32 %t215, 0 + br i1 %t216, label %then104, label %ifend106 +then104: + %t217 = load ptr, ptr %t1 + %t218 = call i32 @fn_is_os_ns(ptr %t217) + %t219 = icmp ne i32 %t218, 0 + br i1 %t219, label %then107, label %ifend109 +then107: + %t220 = load ptr, ptr %t1 + %t221 = load ptr, ptr %t2 + %t222 = call ptr @fn_emit_os_ns(ptr %t220, ptr %t221) + store ptr %t222, ptr %retval + br label %ret +ifend109: + %t223 = load ptr, ptr %t1 + %t224 = call ptr @lp_str_concat(ptr @.str6782, ptr %t223) + call void @fn_perr(ptr %t224) + br label %ifend106 +ifend106: + %t225 = load ptr, ptr %t0 + %t226 = call i32 @lp_str_eq(ptr %t225, ptr @.str6783) + %t227 = icmp ne i32 %t226, 0 + br i1 %t227, label %then110, label %ifend112 +then110: + %t228 = load ptr, ptr %t1 + %t229 = call i32 @fn_is_unicode_ns(ptr %t228) + %t230 = icmp ne i32 %t229, 0 + br i1 %t230, label %then113, label %ifend115 +then113: + %t231 = load ptr, ptr %t1 + %t232 = load ptr, ptr %t2 + %t233 = call ptr @fn_emit_unicode_ns(ptr %t231, ptr %t232) + store ptr %t233, ptr %retval + br label %ret +ifend115: + %t234 = load ptr, ptr %t1 + %t235 = call ptr @lp_str_concat(ptr @.str6784, ptr %t234) + call void @fn_perr(ptr %t235) + br label %ifend112 +ifend112: + %t236 = load ptr, ptr %t0 + %t237 = call i32 @lp_str_eq(ptr %t236, ptr @.str6785) + %t238 = icmp ne i32 %t237, 0 + br i1 %t238, label %then116, label %ifend118 +then116: + %t239 = load ptr, ptr %t1 + %t240 = call i32 @fn_is_fs_ns(ptr %t239) + %t241 = icmp ne i32 %t240, 0 + br i1 %t241, label %then119, label %ifend121 +then119: + %t242 = load ptr, ptr %t1 + %t243 = load ptr, ptr %t2 + %t244 = call ptr @fn_emit_fs_ns(ptr %t242, ptr %t243) + store ptr %t244, ptr %retval + br label %ret +ifend121: + %t245 = load ptr, ptr %t1 + %t246 = call ptr @lp_str_concat(ptr @.str6786, ptr %t245) + call void @fn_perr(ptr %t246) + br label %ifend118 +ifend118: + %t247 = load ptr, ptr %t0 + %t248 = call i32 @lp_str_eq(ptr %t247, ptr @.str6787) + %t249 = icmp ne i32 %t248, 0 + br i1 %t249, label %then122, label %ifend124 +then122: + %t250 = load ptr, ptr %t1 + %t251 = call i32 @fn_is_path_ns(ptr %t250) + %t252 = icmp ne i32 %t251, 0 + br i1 %t252, label %then125, label %ifend127 +then125: + %t253 = load ptr, ptr %t1 + %t254 = load ptr, ptr %t2 + %t255 = call ptr @fn_emit_path_ns(ptr %t253, ptr %t254) + store ptr %t255, ptr %retval + br label %ret +ifend127: + %t256 = load ptr, ptr %t1 + %t257 = call ptr @lp_str_concat(ptr @.str6788, ptr %t256) + call void @fn_perr(ptr %t257) + br label %ifend124 +ifend124: + %t258 = load ptr, ptr %t0 + %t259 = call i32 @lp_str_eq(ptr %t258, ptr @.str6789) + %t260 = icmp ne i32 %t259, 0 + br i1 %t260, label %then128, label %ifend130 +then128: + %t261 = load ptr, ptr %t1 + %t262 = call i32 @fn_is_mime_ns(ptr %t261) + %t263 = icmp ne i32 %t262, 0 + br i1 %t263, label %then131, label %ifend133 +then131: + %t264 = load ptr, ptr %t1 + %t265 = load ptr, ptr %t2 + %t266 = call ptr @fn_emit_mime_ns(ptr %t264, ptr %t265) + store ptr %t266, ptr %retval + br label %ret +ifend133: + %t267 = load ptr, ptr %t1 + %t268 = call ptr @lp_str_concat(ptr @.str6790, ptr %t267) + call void @fn_perr(ptr %t268) + br label %ifend130 +ifend130: + %t269 = load ptr, ptr %t0 + %t270 = call i32 @lp_str_eq(ptr %t269, ptr @.str6791) + %t271 = icmp ne i32 %t270, 0 + br i1 %t271, label %then134, label %ifend136 +then134: + %t272 = load ptr, ptr %t1 + %t273 = call i32 @fn_is_vector_ns(ptr %t272) + %t274 = icmp ne i32 %t273, 0 + br i1 %t274, label %then137, label %ifend139 +then137: + %t275 = load ptr, ptr %t1 + %t276 = load ptr, ptr %t2 + %t277 = call ptr @fn_emit_vector_ns(ptr %t275, ptr %t276) + store ptr %t277, ptr %retval + br label %ret +ifend139: + %t278 = load ptr, ptr %t1 + %t279 = call ptr @lp_str_concat(ptr @.str6792, ptr %t278) + call void @fn_perr(ptr %t279) + br label %ifend136 +ifend136: + %t280 = load ptr, ptr %t0 + %t281 = call i32 @lp_str_eq(ptr %t280, ptr @.str6793) + %t282 = icmp ne i32 %t281, 0 + br i1 %t282, label %then140, label %ifend142 +then140: + %t283 = load ptr, ptr %t1 + %t284 = call i32 @fn_is_ivec_ns(ptr %t283) + %t285 = icmp ne i32 %t284, 0 + br i1 %t285, label %then143, label %ifend145 +then143: + %t286 = load ptr, ptr %t1 + %t287 = load ptr, ptr %t2 + %t288 = call ptr @fn_emit_ivec_ns(ptr %t286, ptr %t287) + store ptr %t288, ptr %retval + br label %ret +ifend145: + %t289 = load ptr, ptr %t1 + %t290 = call ptr @lp_str_concat(ptr @.str6794, ptr %t289) + call void @fn_perr(ptr %t290) + br label %ifend142 +ifend142: + %t291 = load ptr, ptr %t0 + %t292 = call i32 @lp_str_eq(ptr %t291, ptr @.str6795) + %t293 = icmp ne i32 %t292, 0 + br i1 %t293, label %then146, label %ifend148 +then146: + %t294 = load ptr, ptr %t1 + %t295 = call i32 @fn_is_rect_ns(ptr %t294) + %t296 = icmp ne i32 %t295, 0 + br i1 %t296, label %then149, label %ifend151 +then149: + %t297 = load ptr, ptr %t1 + %t298 = load ptr, ptr %t2 + %t299 = call ptr @fn_emit_rect_ns(ptr %t297, ptr %t298) + store ptr %t299, ptr %retval + br label %ret +ifend151: + %t300 = load ptr, ptr %t1 + %t301 = call ptr @lp_str_concat(ptr @.str6796, ptr %t300) + call void @fn_perr(ptr %t301) + br label %ifend148 +ifend148: + %t302 = load ptr, ptr %t0 + %t303 = call i32 @lp_str_eq(ptr %t302, ptr @.str6797) + %t304 = icmp ne i32 %t303, 0 + br i1 %t304, label %then152, label %ifend154 +then152: + %t305 = load ptr, ptr %t1 + %t306 = call i32 @fn_is_duration_ns(ptr %t305) + %t307 = icmp ne i32 %t306, 0 + br i1 %t307, label %then155, label %ifend157 +then155: + %t308 = load ptr, ptr %t1 + %t309 = load ptr, ptr %t2 + %t310 = call ptr @fn_emit_duration_ns(ptr %t308, ptr %t309) + store ptr %t310, ptr %retval + br label %ret +ifend157: + %t311 = load ptr, ptr %t1 + %t312 = call ptr @lp_str_concat(ptr @.str6798, ptr %t311) + call void @fn_perr(ptr %t312) + br label %ifend154 +ifend154: + %t313 = load ptr, ptr %t0 + %t314 = call i32 @lp_str_eq(ptr %t313, ptr @.str6799) + %t315 = icmp ne i32 %t314, 0 + br i1 %t315, label %then158, label %ifend160 +then158: + %t316 = load ptr, ptr %t1 + %t317 = call i32 @fn_is_date_ns(ptr %t316) + %t318 = icmp ne i32 %t317, 0 + br i1 %t318, label %then161, label %ifend163 +then161: + %t319 = load ptr, ptr %t1 + %t320 = load ptr, ptr %t2 + %t321 = call ptr @fn_emit_date_ns(ptr %t319, ptr %t320) + store ptr %t321, ptr %retval + br label %ret +ifend163: + %t322 = load ptr, ptr %t1 + %t323 = call ptr @lp_str_concat(ptr @.str6800, ptr %t322) + call void @fn_perr(ptr %t323) + br label %ifend160 +ifend160: + %t324 = load ptr, ptr %t0 + %t325 = call i32 @lp_str_eq(ptr %t324, ptr @.str6801) + %t326 = icmp ne i32 %t325, 0 + br i1 %t326, label %then164, label %ifend166 +then164: + %t327 = load ptr, ptr %t1 + %t328 = call i32 @fn_is_datetime_ns(ptr %t327) + %t329 = icmp ne i32 %t328, 0 + br i1 %t329, label %then167, label %ifend169 +then167: + %t330 = load ptr, ptr %t1 + %t331 = load ptr, ptr %t2 + %t332 = call ptr @fn_emit_datetime_ns(ptr %t330, ptr %t331) + store ptr %t332, ptr %retval + br label %ret +ifend169: + %t333 = load ptr, ptr %t1 + %t334 = call ptr @lp_str_concat(ptr @.str6802, ptr %t333) + call void @fn_perr(ptr %t334) + br label %ifend166 +ifend166: + %t335 = load ptr, ptr %t0 + %t336 = call i32 @lp_str_eq(ptr %t335, ptr @.str6803) + %t337 = icmp ne i32 %t336, 0 + br i1 %t337, label %then170, label %ifend172 +then170: + %t338 = load ptr, ptr %t1 + %t339 = call i32 @fn_is_clock_ns(ptr %t338) + %t340 = icmp ne i32 %t339, 0 + br i1 %t340, label %then173, label %ifend175 +then173: + %t341 = load ptr, ptr %t1 + %t342 = load ptr, ptr %t2 + %t343 = call ptr @fn_emit_clock_ns(ptr %t341, ptr %t342) + store ptr %t343, ptr %retval + br label %ret +ifend175: + %t344 = load ptr, ptr %t1 + %t345 = call ptr @lp_str_concat(ptr @.str6804, ptr %t344) + call void @fn_perr(ptr %t345) + br label %ifend172 +ifend172: + %t346 = load ptr, ptr %t0 + %t347 = call i32 @lp_str_eq(ptr %t346, ptr @.str6805) + %t348 = icmp ne i32 %t347, 0 + br i1 %t348, label %then176, label %ifend178 +then176: + %t349 = load ptr, ptr %t1 + %t350 = call i32 @lp_str_eq(ptr %t349, ptr @.str6806) + %t351 = icmp ne i32 %t350, 0 + br i1 %t351, label %then179, label %ifend181 +then179: + call void @fn_use_pak() + %t352 = load i32, ptr @g_g_windowed + %t353 = icmp ne i32 %t352, 0 + br i1 %t353, label %then182, label %ifend184 +then182: + call void @fn_emit(ptr @.str6807) + br label %ifend184 +ifend184: + %t354 = call ptr @fn_val(ptr @.str6808, ptr @.str6809) + store ptr %t354, ptr %retval + br label %ret +ifend181: + %t355 = load ptr, ptr %t1 + %t356 = call i32 @lp_str_eq(ptr %t355, ptr @.str6810) + %t357 = icmp ne i32 %t356, 0 + br i1 %t357, label %then185, label %ifend187 +then185: + call void @fn_use_pak() + %t358 = load ptr, ptr %t2 + %t359 = call ptr @fn_arg_code(ptr %t358, i32 0) + store ptr %t359, ptr %t360 + %t361 = load i32, ptr @g_g_windowed + %t362 = icmp ne i32 %t361, 0 + br i1 %t362, label %then188, label %ifend190 +then188: + %t363 = load ptr, ptr %t360 + %t364 = call ptr @lp_str_concat(ptr @.str6811, ptr %t363) + %t365 = call ptr @lp_str_concat(ptr %t364, ptr @.str6812) + call void @fn_emit(ptr %t365) + br label %ifend190 +ifend190: + %t366 = call ptr @fn_val(ptr @.str6813, ptr @.str6814) + store ptr %t366, ptr %retval + br label %ret +ifend187: + %t367 = load ptr, ptr %t1 + %t368 = call ptr @lp_str_concat(ptr @.str6815, ptr %t367) + call void @fn_perr(ptr %t368) + br label %ifend178 +ifend178: + %t369 = load ptr, ptr %t0 + %t370 = call i32 @lp_str_eq(ptr %t369, ptr @.str6816) + %t371 = icmp ne i32 %t370, 0 + br i1 %t371, label %then191, label %ifend193 +then191: + %t372 = load ptr, ptr %t1 + %t373 = call i32 @lp_str_eq(ptr %t372, ptr @.str6817) + %t374 = icmp ne i32 %t373, 0 + br i1 %t374, label %then194, label %ifend196 +then194: + %t375 = call ptr @fn_itoa(i32 1024) + %t376 = call ptr @fn_val(ptr %t375, ptr @.str6818) + store ptr %t376, ptr %retval + br label %ret +ifend196: + %t377 = load ptr, ptr %t1 + %t378 = call i32 @lp_str_eq(ptr %t377, ptr @.str6819) + %t379 = icmp ne i32 %t378, 0 + br i1 %t379, label %then197, label %ifend199 +then197: + %t380 = call ptr @fn_emit_bind(ptr @.str6820) + %t381 = call ptr @fn_val(ptr %t380, ptr @.str6821) + store ptr %t381, ptr %retval + br label %ret +ifend199: + %t382 = load ptr, ptr %t1 + %t383 = call i32 @lp_str_eq(ptr %t382, ptr @.str6822) + %t384 = icmp ne i32 %t383, 0 + br i1 %t384, label %then200, label %ifend202 +then200: + %t385 = call ptr @fn_emit_bind(ptr @.str6823) + %t386 = call ptr @fn_val(ptr %t385, ptr @.str6824) + store ptr %t386, ptr %retval + br label %ret +ifend202: + %t387 = load ptr, ptr %t1 + %t388 = call i32 @lp_str_eq(ptr %t387, ptr @.str6825) + %t389 = icmp ne i32 %t388, 0 + br i1 %t389, label %then203, label %ifend205 +then203: + %t390 = call ptr @fn_emit_bind(ptr @.str6826) + store ptr %t390, ptr %t391 + %t392 = call ptr @fn_emit_bind(ptr @.str6827) + store ptr %t392, ptr %t393 + %t394 = load ptr, ptr %t391 + %t395 = call ptr @lp_str_concat(ptr @.str6828, ptr %t394) + %t396 = call ptr @lp_str_concat(ptr %t395, ptr @.str6829) + %t397 = load ptr, ptr %t393 + %t398 = call ptr @lp_str_concat(ptr %t396, ptr %t397) + %t399 = call ptr @fn_emit_bind(ptr %t398) + %t400 = call ptr @fn_val(ptr %t399, ptr @.str6830) + store ptr %t400, ptr %retval + br label %ret +ifend205: + %t401 = load ptr, ptr %t1 + %t402 = call ptr @lp_str_concat(ptr @.str6831, ptr %t401) + call void @fn_perr(ptr %t402) + br label %ifend193 +ifend193: + store ptr null, ptr %t403 + %t404 = getelementptr %LSlice, ptr null, i32 1 + %t405 = ptrtoint ptr %t404 to i64 + %t406 = call ptr @malloc(i64 %t405) + %t407 = getelementptr inbounds %LSlice, ptr %t406, i32 0, i32 0 + store ptr null, ptr %t407 + %t408 = getelementptr inbounds %LSlice, ptr %t406, i32 0, i32 1 + store i32 0, ptr %t408 + %t409 = getelementptr inbounds %LSlice, ptr %t406, i32 0, i32 2 + store i32 0, ptr %t409 + store ptr %t406, ptr %t410 + %t411 = load ptr, ptr %t0 + %t412 = call i32 @lp_str_eq(ptr %t411, ptr @.str6832) + %t413 = icmp ne i32 %t412, 0 + br i1 %t413, label %then206, label %ifend208 +then206: + %t414 = load ptr, ptr %t1 + %t415 = call i32 @lp_str_eq(ptr %t414, ptr @.str6833) + %t416 = icmp ne i32 %t415, 0 + br i1 %t416, label %then209, label %ifend211 +then209: + store ptr @.str6834, ptr %t403 + %t417 = load ptr, ptr %t410 + %t418 = getelementptr inbounds %LSlice, ptr %t417, i32 0, i32 1 + %t419 = getelementptr inbounds %LSlice, ptr %t417, i32 0, i32 2 + %t420 = getelementptr inbounds %LSlice, ptr %t417, i32 0, i32 0 + %t421 = load i32, ptr %t418 + %t422 = load i32, ptr %t419 + %t423 = icmp sge i32 %t421, %t422 + br i1 %t423, label %grow212, label %put213 +grow212: + %t424 = mul i32 %t422, 2 + %t425 = icmp eq i32 %t422, 0 + %t426 = select i1 %t425, i32 8, i32 %t424 + %t427 = getelementptr ptr, ptr null, i32 1 + %t428 = ptrtoint ptr %t427 to i64 + %t429 = zext i32 %t426 to i64 + %t430 = mul i64 %t429, %t428 + %t431 = load ptr, ptr %t420 + %t432 = call ptr @realloc(ptr %t431, i64 %t430) + store ptr %t432, ptr %t420 + store i32 %t426, ptr %t419 + br label %put213 +put213: + %t433 = load ptr, ptr %t420 + %t434 = getelementptr inbounds ptr, ptr %t433, i32 %t421 + store ptr @.str6835, ptr %t434 + %t435 = add i32 %t421, 1 + store i32 %t435, ptr %t418 + br label %ifend211 +ifend211: + %t436 = load ptr, ptr %t1 + %t437 = call i32 @lp_str_eq(ptr %t436, ptr @.str6836) + %t438 = icmp ne i32 %t437, 0 + br i1 %t438, label %then214, label %ifend216 +then214: + store ptr @.str6837, ptr %t403 + %t439 = load ptr, ptr %t410 + %t440 = getelementptr inbounds %LSlice, ptr %t439, i32 0, i32 1 + %t441 = getelementptr inbounds %LSlice, ptr %t439, i32 0, i32 2 + %t442 = getelementptr inbounds %LSlice, ptr %t439, i32 0, i32 0 + %t443 = load i32, ptr %t440 + %t444 = load i32, ptr %t441 + %t445 = icmp sge i32 %t443, %t444 + br i1 %t445, label %grow217, label %put218 +grow217: + %t446 = mul i32 %t444, 2 + %t447 = icmp eq i32 %t444, 0 + %t448 = select i1 %t447, i32 8, i32 %t446 + %t449 = getelementptr ptr, ptr null, i32 1 + %t450 = ptrtoint ptr %t449 to i64 + %t451 = zext i32 %t448 to i64 + %t452 = mul i64 %t451, %t450 + %t453 = load ptr, ptr %t442 + %t454 = call ptr @realloc(ptr %t453, i64 %t452) + store ptr %t454, ptr %t442 + store i32 %t448, ptr %t441 + br label %put218 +put218: + %t455 = load ptr, ptr %t442 + %t456 = getelementptr inbounds ptr, ptr %t455, i32 %t443 + store ptr @.str6838, ptr %t456 + %t457 = add i32 %t443, 1 + store i32 %t457, ptr %t440 + %t458 = load ptr, ptr %t410 + %t459 = getelementptr inbounds %LSlice, ptr %t458, i32 0, i32 1 + %t460 = getelementptr inbounds %LSlice, ptr %t458, i32 0, i32 2 + %t461 = getelementptr inbounds %LSlice, ptr %t458, i32 0, i32 0 + %t462 = load i32, ptr %t459 + %t463 = load i32, ptr %t460 + %t464 = icmp sge i32 %t462, %t463 + br i1 %t464, label %grow219, label %put220 +grow219: + %t465 = mul i32 %t463, 2 + %t466 = icmp eq i32 %t463, 0 + %t467 = select i1 %t466, i32 8, i32 %t465 + %t468 = getelementptr ptr, ptr null, i32 1 + %t469 = ptrtoint ptr %t468 to i64 + %t470 = zext i32 %t467 to i64 + %t471 = mul i64 %t470, %t469 + %t472 = load ptr, ptr %t461 + %t473 = call ptr @realloc(ptr %t472, i64 %t471) + store ptr %t473, ptr %t461 + store i32 %t467, ptr %t460 + br label %put220 +put220: + %t474 = load ptr, ptr %t461 + %t475 = getelementptr inbounds ptr, ptr %t474, i32 %t462 + store ptr @.str6839, ptr %t475 + %t476 = add i32 %t462, 1 + store i32 %t476, ptr %t459 + %t477 = load ptr, ptr %t410 + %t478 = getelementptr inbounds %LSlice, ptr %t477, i32 0, i32 1 + %t479 = getelementptr inbounds %LSlice, ptr %t477, i32 0, i32 2 + %t480 = getelementptr inbounds %LSlice, ptr %t477, i32 0, i32 0 + %t481 = load i32, ptr %t478 + %t482 = load i32, ptr %t479 + %t483 = icmp sge i32 %t481, %t482 + br i1 %t483, label %grow221, label %put222 +grow221: + %t484 = mul i32 %t482, 2 + %t485 = icmp eq i32 %t482, 0 + %t486 = select i1 %t485, i32 8, i32 %t484 + %t487 = getelementptr ptr, ptr null, i32 1 + %t488 = ptrtoint ptr %t487 to i64 + %t489 = zext i32 %t486 to i64 + %t490 = mul i64 %t489, %t488 + %t491 = load ptr, ptr %t480 + %t492 = call ptr @realloc(ptr %t491, i64 %t490) + store ptr %t492, ptr %t480 + store i32 %t486, ptr %t479 + br label %put222 +put222: + %t493 = load ptr, ptr %t480 + %t494 = getelementptr inbounds ptr, ptr %t493, i32 %t481 + store ptr @.str6840, ptr %t494 + %t495 = add i32 %t481, 1 + store i32 %t495, ptr %t478 + %t496 = load ptr, ptr %t410 + %t497 = getelementptr inbounds %LSlice, ptr %t496, i32 0, i32 1 + %t498 = getelementptr inbounds %LSlice, ptr %t496, i32 0, i32 2 + %t499 = getelementptr inbounds %LSlice, ptr %t496, i32 0, i32 0 + %t500 = load i32, ptr %t497 + %t501 = load i32, ptr %t498 + %t502 = icmp sge i32 %t500, %t501 + br i1 %t502, label %grow223, label %put224 +grow223: + %t503 = mul i32 %t501, 2 + %t504 = icmp eq i32 %t501, 0 + %t505 = select i1 %t504, i32 8, i32 %t503 + %t506 = getelementptr ptr, ptr null, i32 1 + %t507 = ptrtoint ptr %t506 to i64 + %t508 = zext i32 %t505 to i64 + %t509 = mul i64 %t508, %t507 + %t510 = load ptr, ptr %t499 + %t511 = call ptr @realloc(ptr %t510, i64 %t509) + store ptr %t511, ptr %t499 + store i32 %t505, ptr %t498 + br label %put224 +put224: + %t512 = load ptr, ptr %t499 + %t513 = getelementptr inbounds ptr, ptr %t512, i32 %t500 + store ptr @.str6841, ptr %t513 + %t514 = add i32 %t500, 1 + store i32 %t514, ptr %t497 + %t515 = load ptr, ptr %t410 + %t516 = getelementptr inbounds %LSlice, ptr %t515, i32 0, i32 1 + %t517 = getelementptr inbounds %LSlice, ptr %t515, i32 0, i32 2 + %t518 = getelementptr inbounds %LSlice, ptr %t515, i32 0, i32 0 + %t519 = load i32, ptr %t516 + %t520 = load i32, ptr %t517 + %t521 = icmp sge i32 %t519, %t520 + br i1 %t521, label %grow225, label %put226 +grow225: + %t522 = mul i32 %t520, 2 + %t523 = icmp eq i32 %t520, 0 + %t524 = select i1 %t523, i32 8, i32 %t522 + %t525 = getelementptr ptr, ptr null, i32 1 + %t526 = ptrtoint ptr %t525 to i64 + %t527 = zext i32 %t524 to i64 + %t528 = mul i64 %t527, %t526 + %t529 = load ptr, ptr %t518 + %t530 = call ptr @realloc(ptr %t529, i64 %t528) + store ptr %t530, ptr %t518 + store i32 %t524, ptr %t517 + br label %put226 +put226: + %t531 = load ptr, ptr %t518 + %t532 = getelementptr inbounds ptr, ptr %t531, i32 %t519 + store ptr @.str6842, ptr %t532 + %t533 = add i32 %t519, 1 + store i32 %t533, ptr %t516 + br label %ifend216 +ifend216: + %t534 = load ptr, ptr %t1 + %t535 = call i32 @lp_str_eq(ptr %t534, ptr @.str6843) + %t536 = icmp ne i32 %t535, 0 + br i1 %t536, label %then227, label %ifend229 +then227: + store ptr @.str6844, ptr %t403 + %t537 = load ptr, ptr %t410 + %t538 = getelementptr inbounds %LSlice, ptr %t537, i32 0, i32 1 + %t539 = getelementptr inbounds %LSlice, ptr %t537, i32 0, i32 2 + %t540 = getelementptr inbounds %LSlice, ptr %t537, i32 0, i32 0 + %t541 = load i32, ptr %t538 + %t542 = load i32, ptr %t539 + %t543 = icmp sge i32 %t541, %t542 + br i1 %t543, label %grow230, label %put231 +grow230: + %t544 = mul i32 %t542, 2 + %t545 = icmp eq i32 %t542, 0 + %t546 = select i1 %t545, i32 8, i32 %t544 + %t547 = getelementptr ptr, ptr null, i32 1 + %t548 = ptrtoint ptr %t547 to i64 + %t549 = zext i32 %t546 to i64 + %t550 = mul i64 %t549, %t548 + %t551 = load ptr, ptr %t540 + %t552 = call ptr @realloc(ptr %t551, i64 %t550) + store ptr %t552, ptr %t540 + store i32 %t546, ptr %t539 + br label %put231 +put231: + %t553 = load ptr, ptr %t540 + %t554 = getelementptr inbounds ptr, ptr %t553, i32 %t541 + store ptr @.str6845, ptr %t554 + %t555 = add i32 %t541, 1 + store i32 %t555, ptr %t538 + %t556 = load ptr, ptr %t410 + %t557 = getelementptr inbounds %LSlice, ptr %t556, i32 0, i32 1 + %t558 = getelementptr inbounds %LSlice, ptr %t556, i32 0, i32 2 + %t559 = getelementptr inbounds %LSlice, ptr %t556, i32 0, i32 0 + %t560 = load i32, ptr %t557 + %t561 = load i32, ptr %t558 + %t562 = icmp sge i32 %t560, %t561 + br i1 %t562, label %grow232, label %put233 +grow232: + %t563 = mul i32 %t561, 2 + %t564 = icmp eq i32 %t561, 0 + %t565 = select i1 %t564, i32 8, i32 %t563 + %t566 = getelementptr ptr, ptr null, i32 1 + %t567 = ptrtoint ptr %t566 to i64 + %t568 = zext i32 %t565 to i64 + %t569 = mul i64 %t568, %t567 + %t570 = load ptr, ptr %t559 + %t571 = call ptr @realloc(ptr %t570, i64 %t569) + store ptr %t571, ptr %t559 + store i32 %t565, ptr %t558 + br label %put233 +put233: + %t572 = load ptr, ptr %t559 + %t573 = getelementptr inbounds ptr, ptr %t572, i32 %t560 + store ptr @.str6846, ptr %t573 + %t574 = add i32 %t560, 1 + store i32 %t574, ptr %t557 + %t575 = load ptr, ptr %t410 + %t576 = getelementptr inbounds %LSlice, ptr %t575, i32 0, i32 1 + %t577 = getelementptr inbounds %LSlice, ptr %t575, i32 0, i32 2 + %t578 = getelementptr inbounds %LSlice, ptr %t575, i32 0, i32 0 + %t579 = load i32, ptr %t576 + %t580 = load i32, ptr %t577 + %t581 = icmp sge i32 %t579, %t580 + br i1 %t581, label %grow234, label %put235 +grow234: + %t582 = mul i32 %t580, 2 + %t583 = icmp eq i32 %t580, 0 + %t584 = select i1 %t583, i32 8, i32 %t582 + %t585 = getelementptr ptr, ptr null, i32 1 + %t586 = ptrtoint ptr %t585 to i64 + %t587 = zext i32 %t584 to i64 + %t588 = mul i64 %t587, %t586 + %t589 = load ptr, ptr %t578 + %t590 = call ptr @realloc(ptr %t589, i64 %t588) + store ptr %t590, ptr %t578 + store i32 %t584, ptr %t577 + br label %put235 +put235: + %t591 = load ptr, ptr %t578 + %t592 = getelementptr inbounds ptr, ptr %t591, i32 %t579 + store ptr @.str6847, ptr %t592 + %t593 = add i32 %t579, 1 + store i32 %t593, ptr %t576 + %t594 = load ptr, ptr %t410 + %t595 = getelementptr inbounds %LSlice, ptr %t594, i32 0, i32 1 + %t596 = getelementptr inbounds %LSlice, ptr %t594, i32 0, i32 2 + %t597 = getelementptr inbounds %LSlice, ptr %t594, i32 0, i32 0 + %t598 = load i32, ptr %t595 + %t599 = load i32, ptr %t596 + %t600 = icmp sge i32 %t598, %t599 + br i1 %t600, label %grow236, label %put237 +grow236: + %t601 = mul i32 %t599, 2 + %t602 = icmp eq i32 %t599, 0 + %t603 = select i1 %t602, i32 8, i32 %t601 + %t604 = getelementptr ptr, ptr null, i32 1 + %t605 = ptrtoint ptr %t604 to i64 + %t606 = zext i32 %t603 to i64 + %t607 = mul i64 %t606, %t605 + %t608 = load ptr, ptr %t597 + %t609 = call ptr @realloc(ptr %t608, i64 %t607) + store ptr %t609, ptr %t597 + store i32 %t603, ptr %t596 + br label %put237 +put237: + %t610 = load ptr, ptr %t597 + %t611 = getelementptr inbounds ptr, ptr %t610, i32 %t598 + store ptr @.str6848, ptr %t611 + %t612 = add i32 %t598, 1 + store i32 %t612, ptr %t595 + %t613 = load ptr, ptr %t410 + %t614 = getelementptr inbounds %LSlice, ptr %t613, i32 0, i32 1 + %t615 = getelementptr inbounds %LSlice, ptr %t613, i32 0, i32 2 + %t616 = getelementptr inbounds %LSlice, ptr %t613, i32 0, i32 0 + %t617 = load i32, ptr %t614 + %t618 = load i32, ptr %t615 + %t619 = icmp sge i32 %t617, %t618 + br i1 %t619, label %grow238, label %put239 +grow238: + %t620 = mul i32 %t618, 2 + %t621 = icmp eq i32 %t618, 0 + %t622 = select i1 %t621, i32 8, i32 %t620 + %t623 = getelementptr ptr, ptr null, i32 1 + %t624 = ptrtoint ptr %t623 to i64 + %t625 = zext i32 %t622 to i64 + %t626 = mul i64 %t625, %t624 + %t627 = load ptr, ptr %t616 + %t628 = call ptr @realloc(ptr %t627, i64 %t626) + store ptr %t628, ptr %t616 + store i32 %t622, ptr %t615 + br label %put239 +put239: + %t629 = load ptr, ptr %t616 + %t630 = getelementptr inbounds ptr, ptr %t629, i32 %t617 + store ptr @.str6849, ptr %t630 + %t631 = add i32 %t617, 1 + store i32 %t631, ptr %t614 + %t632 = load ptr, ptr %t410 + %t633 = getelementptr inbounds %LSlice, ptr %t632, i32 0, i32 1 + %t634 = getelementptr inbounds %LSlice, ptr %t632, i32 0, i32 2 + %t635 = getelementptr inbounds %LSlice, ptr %t632, i32 0, i32 0 + %t636 = load i32, ptr %t633 + %t637 = load i32, ptr %t634 + %t638 = icmp sge i32 %t636, %t637 + br i1 %t638, label %grow240, label %put241 +grow240: + %t639 = mul i32 %t637, 2 + %t640 = icmp eq i32 %t637, 0 + %t641 = select i1 %t640, i32 8, i32 %t639 + %t642 = getelementptr ptr, ptr null, i32 1 + %t643 = ptrtoint ptr %t642 to i64 + %t644 = zext i32 %t641 to i64 + %t645 = mul i64 %t644, %t643 + %t646 = load ptr, ptr %t635 + %t647 = call ptr @realloc(ptr %t646, i64 %t645) + store ptr %t647, ptr %t635 + store i32 %t641, ptr %t634 + br label %put241 +put241: + %t648 = load ptr, ptr %t635 + %t649 = getelementptr inbounds ptr, ptr %t648, i32 %t636 + store ptr @.str6850, ptr %t649 + %t650 = add i32 %t636, 1 + store i32 %t650, ptr %t633 + %t651 = load ptr, ptr %t410 + %t652 = getelementptr inbounds %LSlice, ptr %t651, i32 0, i32 1 + %t653 = getelementptr inbounds %LSlice, ptr %t651, i32 0, i32 2 + %t654 = getelementptr inbounds %LSlice, ptr %t651, i32 0, i32 0 + %t655 = load i32, ptr %t652 + %t656 = load i32, ptr %t653 + %t657 = icmp sge i32 %t655, %t656 + br i1 %t657, label %grow242, label %put243 +grow242: + %t658 = mul i32 %t656, 2 + %t659 = icmp eq i32 %t656, 0 + %t660 = select i1 %t659, i32 8, i32 %t658 + %t661 = getelementptr ptr, ptr null, i32 1 + %t662 = ptrtoint ptr %t661 to i64 + %t663 = zext i32 %t660 to i64 + %t664 = mul i64 %t663, %t662 + %t665 = load ptr, ptr %t654 + %t666 = call ptr @realloc(ptr %t665, i64 %t664) + store ptr %t666, ptr %t654 + store i32 %t660, ptr %t653 + br label %put243 +put243: + %t667 = load ptr, ptr %t654 + %t668 = getelementptr inbounds ptr, ptr %t667, i32 %t655 + store ptr @.str6851, ptr %t668 + %t669 = add i32 %t655, 1 + store i32 %t669, ptr %t652 + %t670 = load ptr, ptr %t410 + %t671 = getelementptr inbounds %LSlice, ptr %t670, i32 0, i32 1 + %t672 = getelementptr inbounds %LSlice, ptr %t670, i32 0, i32 2 + %t673 = getelementptr inbounds %LSlice, ptr %t670, i32 0, i32 0 + %t674 = load i32, ptr %t671 + %t675 = load i32, ptr %t672 + %t676 = icmp sge i32 %t674, %t675 + br i1 %t676, label %grow244, label %put245 +grow244: + %t677 = mul i32 %t675, 2 + %t678 = icmp eq i32 %t675, 0 + %t679 = select i1 %t678, i32 8, i32 %t677 + %t680 = getelementptr ptr, ptr null, i32 1 + %t681 = ptrtoint ptr %t680 to i64 + %t682 = zext i32 %t679 to i64 + %t683 = mul i64 %t682, %t681 + %t684 = load ptr, ptr %t673 + %t685 = call ptr @realloc(ptr %t684, i64 %t683) + store ptr %t685, ptr %t673 + store i32 %t679, ptr %t672 + br label %put245 +put245: + %t686 = load ptr, ptr %t673 + %t687 = getelementptr inbounds ptr, ptr %t686, i32 %t674 + store ptr @.str6852, ptr %t687 + %t688 = add i32 %t674, 1 + store i32 %t688, ptr %t671 + br label %ifend229 +ifend229: + %t689 = load ptr, ptr %t1 + %t690 = call i32 @lp_str_eq(ptr %t689, ptr @.str6853) + %t691 = icmp ne i32 %t690, 0 + br i1 %t691, label %then246, label %ifend248 +then246: + store ptr @.str6854, ptr %t403 + %t692 = load ptr, ptr %t410 + %t693 = getelementptr inbounds %LSlice, ptr %t692, i32 0, i32 1 + %t694 = getelementptr inbounds %LSlice, ptr %t692, i32 0, i32 2 + %t695 = getelementptr inbounds %LSlice, ptr %t692, i32 0, i32 0 + %t696 = load i32, ptr %t693 + %t697 = load i32, ptr %t694 + %t698 = icmp sge i32 %t696, %t697 + br i1 %t698, label %grow249, label %put250 +grow249: + %t699 = mul i32 %t697, 2 + %t700 = icmp eq i32 %t697, 0 + %t701 = select i1 %t700, i32 8, i32 %t699 + %t702 = getelementptr ptr, ptr null, i32 1 + %t703 = ptrtoint ptr %t702 to i64 + %t704 = zext i32 %t701 to i64 + %t705 = mul i64 %t704, %t703 + %t706 = load ptr, ptr %t695 + %t707 = call ptr @realloc(ptr %t706, i64 %t705) + store ptr %t707, ptr %t695 + store i32 %t701, ptr %t694 + br label %put250 +put250: + %t708 = load ptr, ptr %t695 + %t709 = getelementptr inbounds ptr, ptr %t708, i32 %t696 + store ptr @.str6855, ptr %t709 + %t710 = add i32 %t696, 1 + store i32 %t710, ptr %t693 + %t711 = load ptr, ptr %t410 + %t712 = getelementptr inbounds %LSlice, ptr %t711, i32 0, i32 1 + %t713 = getelementptr inbounds %LSlice, ptr %t711, i32 0, i32 2 + %t714 = getelementptr inbounds %LSlice, ptr %t711, i32 0, i32 0 + %t715 = load i32, ptr %t712 + %t716 = load i32, ptr %t713 + %t717 = icmp sge i32 %t715, %t716 + br i1 %t717, label %grow251, label %put252 +grow251: + %t718 = mul i32 %t716, 2 + %t719 = icmp eq i32 %t716, 0 + %t720 = select i1 %t719, i32 8, i32 %t718 + %t721 = getelementptr ptr, ptr null, i32 1 + %t722 = ptrtoint ptr %t721 to i64 + %t723 = zext i32 %t720 to i64 + %t724 = mul i64 %t723, %t722 + %t725 = load ptr, ptr %t714 + %t726 = call ptr @realloc(ptr %t725, i64 %t724) + store ptr %t726, ptr %t714 + store i32 %t720, ptr %t713 + br label %put252 +put252: + %t727 = load ptr, ptr %t714 + %t728 = getelementptr inbounds ptr, ptr %t727, i32 %t715 + store ptr @.str6856, ptr %t728 + %t729 = add i32 %t715, 1 + store i32 %t729, ptr %t712 + %t730 = load ptr, ptr %t410 + %t731 = getelementptr inbounds %LSlice, ptr %t730, i32 0, i32 1 + %t732 = getelementptr inbounds %LSlice, ptr %t730, i32 0, i32 2 + %t733 = getelementptr inbounds %LSlice, ptr %t730, i32 0, i32 0 + %t734 = load i32, ptr %t731 + %t735 = load i32, ptr %t732 + %t736 = icmp sge i32 %t734, %t735 + br i1 %t736, label %grow253, label %put254 +grow253: + %t737 = mul i32 %t735, 2 + %t738 = icmp eq i32 %t735, 0 + %t739 = select i1 %t738, i32 8, i32 %t737 + %t740 = getelementptr ptr, ptr null, i32 1 + %t741 = ptrtoint ptr %t740 to i64 + %t742 = zext i32 %t739 to i64 + %t743 = mul i64 %t742, %t741 + %t744 = load ptr, ptr %t733 + %t745 = call ptr @realloc(ptr %t744, i64 %t743) + store ptr %t745, ptr %t733 + store i32 %t739, ptr %t732 + br label %put254 +put254: + %t746 = load ptr, ptr %t733 + %t747 = getelementptr inbounds ptr, ptr %t746, i32 %t734 + store ptr @.str6857, ptr %t747 + %t748 = add i32 %t734, 1 + store i32 %t748, ptr %t731 + %t749 = load ptr, ptr %t410 + %t750 = getelementptr inbounds %LSlice, ptr %t749, i32 0, i32 1 + %t751 = getelementptr inbounds %LSlice, ptr %t749, i32 0, i32 2 + %t752 = getelementptr inbounds %LSlice, ptr %t749, i32 0, i32 0 + %t753 = load i32, ptr %t750 + %t754 = load i32, ptr %t751 + %t755 = icmp sge i32 %t753, %t754 + br i1 %t755, label %grow255, label %put256 +grow255: + %t756 = mul i32 %t754, 2 + %t757 = icmp eq i32 %t754, 0 + %t758 = select i1 %t757, i32 8, i32 %t756 + %t759 = getelementptr ptr, ptr null, i32 1 + %t760 = ptrtoint ptr %t759 to i64 + %t761 = zext i32 %t758 to i64 + %t762 = mul i64 %t761, %t760 + %t763 = load ptr, ptr %t752 + %t764 = call ptr @realloc(ptr %t763, i64 %t762) + store ptr %t764, ptr %t752 + store i32 %t758, ptr %t751 + br label %put256 +put256: + %t765 = load ptr, ptr %t752 + %t766 = getelementptr inbounds ptr, ptr %t765, i32 %t753 + store ptr @.str6858, ptr %t766 + %t767 = add i32 %t753, 1 + store i32 %t767, ptr %t750 + %t768 = load ptr, ptr %t410 + %t769 = getelementptr inbounds %LSlice, ptr %t768, i32 0, i32 1 + %t770 = getelementptr inbounds %LSlice, ptr %t768, i32 0, i32 2 + %t771 = getelementptr inbounds %LSlice, ptr %t768, i32 0, i32 0 + %t772 = load i32, ptr %t769 + %t773 = load i32, ptr %t770 + %t774 = icmp sge i32 %t772, %t773 + br i1 %t774, label %grow257, label %put258 +grow257: + %t775 = mul i32 %t773, 2 + %t776 = icmp eq i32 %t773, 0 + %t777 = select i1 %t776, i32 8, i32 %t775 + %t778 = getelementptr ptr, ptr null, i32 1 + %t779 = ptrtoint ptr %t778 to i64 + %t780 = zext i32 %t777 to i64 + %t781 = mul i64 %t780, %t779 + %t782 = load ptr, ptr %t771 + %t783 = call ptr @realloc(ptr %t782, i64 %t781) + store ptr %t783, ptr %t771 + store i32 %t777, ptr %t770 + br label %put258 +put258: + %t784 = load ptr, ptr %t771 + %t785 = getelementptr inbounds ptr, ptr %t784, i32 %t772 + store ptr @.str6859, ptr %t785 + %t786 = add i32 %t772, 1 + store i32 %t786, ptr %t769 + br label %ifend248 +ifend248: + %t787 = load ptr, ptr %t1 + %t788 = call i32 @lp_str_eq(ptr %t787, ptr @.str6860) + %t789 = icmp ne i32 %t788, 0 + br i1 %t789, label %then259, label %ifend261 +then259: + store ptr @.str6861, ptr %t403 + %t790 = load ptr, ptr %t410 + %t791 = getelementptr inbounds %LSlice, ptr %t790, i32 0, i32 1 + %t792 = getelementptr inbounds %LSlice, ptr %t790, i32 0, i32 2 + %t793 = getelementptr inbounds %LSlice, ptr %t790, i32 0, i32 0 + %t794 = load i32, ptr %t791 + %t795 = load i32, ptr %t792 + %t796 = icmp sge i32 %t794, %t795 + br i1 %t796, label %grow262, label %put263 +grow262: + %t797 = mul i32 %t795, 2 + %t798 = icmp eq i32 %t795, 0 + %t799 = select i1 %t798, i32 8, i32 %t797 + %t800 = getelementptr ptr, ptr null, i32 1 + %t801 = ptrtoint ptr %t800 to i64 + %t802 = zext i32 %t799 to i64 + %t803 = mul i64 %t802, %t801 + %t804 = load ptr, ptr %t793 + %t805 = call ptr @realloc(ptr %t804, i64 %t803) + store ptr %t805, ptr %t793 + store i32 %t799, ptr %t792 + br label %put263 +put263: + %t806 = load ptr, ptr %t793 + %t807 = getelementptr inbounds ptr, ptr %t806, i32 %t794 + store ptr @.str6862, ptr %t807 + %t808 = add i32 %t794, 1 + store i32 %t808, ptr %t791 + %t809 = load ptr, ptr %t410 + %t810 = getelementptr inbounds %LSlice, ptr %t809, i32 0, i32 1 + %t811 = getelementptr inbounds %LSlice, ptr %t809, i32 0, i32 2 + %t812 = getelementptr inbounds %LSlice, ptr %t809, i32 0, i32 0 + %t813 = load i32, ptr %t810 + %t814 = load i32, ptr %t811 + %t815 = icmp sge i32 %t813, %t814 + br i1 %t815, label %grow264, label %put265 +grow264: + %t816 = mul i32 %t814, 2 + %t817 = icmp eq i32 %t814, 0 + %t818 = select i1 %t817, i32 8, i32 %t816 + %t819 = getelementptr ptr, ptr null, i32 1 + %t820 = ptrtoint ptr %t819 to i64 + %t821 = zext i32 %t818 to i64 + %t822 = mul i64 %t821, %t820 + %t823 = load ptr, ptr %t812 + %t824 = call ptr @realloc(ptr %t823, i64 %t822) + store ptr %t824, ptr %t812 + store i32 %t818, ptr %t811 + br label %put265 +put265: + %t825 = load ptr, ptr %t812 + %t826 = getelementptr inbounds ptr, ptr %t825, i32 %t813 + store ptr @.str6863, ptr %t826 + %t827 = add i32 %t813, 1 + store i32 %t827, ptr %t810 + %t828 = load ptr, ptr %t410 + %t829 = getelementptr inbounds %LSlice, ptr %t828, i32 0, i32 1 + %t830 = getelementptr inbounds %LSlice, ptr %t828, i32 0, i32 2 + %t831 = getelementptr inbounds %LSlice, ptr %t828, i32 0, i32 0 + %t832 = load i32, ptr %t829 + %t833 = load i32, ptr %t830 + %t834 = icmp sge i32 %t832, %t833 + br i1 %t834, label %grow266, label %put267 +grow266: + %t835 = mul i32 %t833, 2 + %t836 = icmp eq i32 %t833, 0 + %t837 = select i1 %t836, i32 8, i32 %t835 + %t838 = getelementptr ptr, ptr null, i32 1 + %t839 = ptrtoint ptr %t838 to i64 + %t840 = zext i32 %t837 to i64 + %t841 = mul i64 %t840, %t839 + %t842 = load ptr, ptr %t831 + %t843 = call ptr @realloc(ptr %t842, i64 %t841) + store ptr %t843, ptr %t831 + store i32 %t837, ptr %t830 + br label %put267 +put267: + %t844 = load ptr, ptr %t831 + %t845 = getelementptr inbounds ptr, ptr %t844, i32 %t832 + store ptr @.str6864, ptr %t845 + %t846 = add i32 %t832, 1 + store i32 %t846, ptr %t829 + br label %ifend261 +ifend261: + %t847 = load ptr, ptr %t1 + %t848 = call i32 @lp_str_eq(ptr %t847, ptr @.str6865) + %t849 = icmp ne i32 %t848, 0 + br i1 %t849, label %then268, label %ifend270 +then268: + store ptr @.str6866, ptr %t403 + %t850 = load ptr, ptr %t410 + %t851 = getelementptr inbounds %LSlice, ptr %t850, i32 0, i32 1 + %t852 = getelementptr inbounds %LSlice, ptr %t850, i32 0, i32 2 + %t853 = getelementptr inbounds %LSlice, ptr %t850, i32 0, i32 0 + %t854 = load i32, ptr %t851 + %t855 = load i32, ptr %t852 + %t856 = icmp sge i32 %t854, %t855 + br i1 %t856, label %grow271, label %put272 +grow271: + %t857 = mul i32 %t855, 2 + %t858 = icmp eq i32 %t855, 0 + %t859 = select i1 %t858, i32 8, i32 %t857 + %t860 = getelementptr ptr, ptr null, i32 1 + %t861 = ptrtoint ptr %t860 to i64 + %t862 = zext i32 %t859 to i64 + %t863 = mul i64 %t862, %t861 + %t864 = load ptr, ptr %t853 + %t865 = call ptr @realloc(ptr %t864, i64 %t863) + store ptr %t865, ptr %t853 + store i32 %t859, ptr %t852 + br label %put272 +put272: + %t866 = load ptr, ptr %t853 + %t867 = getelementptr inbounds ptr, ptr %t866, i32 %t854 + store ptr @.str6867, ptr %t867 + %t868 = add i32 %t854, 1 + store i32 %t868, ptr %t851 + %t869 = load ptr, ptr %t410 + %t870 = getelementptr inbounds %LSlice, ptr %t869, i32 0, i32 1 + %t871 = getelementptr inbounds %LSlice, ptr %t869, i32 0, i32 2 + %t872 = getelementptr inbounds %LSlice, ptr %t869, i32 0, i32 0 + %t873 = load i32, ptr %t870 + %t874 = load i32, ptr %t871 + %t875 = icmp sge i32 %t873, %t874 + br i1 %t875, label %grow273, label %put274 +grow273: + %t876 = mul i32 %t874, 2 + %t877 = icmp eq i32 %t874, 0 + %t878 = select i1 %t877, i32 8, i32 %t876 + %t879 = getelementptr ptr, ptr null, i32 1 + %t880 = ptrtoint ptr %t879 to i64 + %t881 = zext i32 %t878 to i64 + %t882 = mul i64 %t881, %t880 + %t883 = load ptr, ptr %t872 + %t884 = call ptr @realloc(ptr %t883, i64 %t882) + store ptr %t884, ptr %t872 + store i32 %t878, ptr %t871 + br label %put274 +put274: + %t885 = load ptr, ptr %t872 + %t886 = getelementptr inbounds ptr, ptr %t885, i32 %t873 + store ptr @.str6868, ptr %t886 + %t887 = add i32 %t873, 1 + store i32 %t887, ptr %t870 + %t888 = load ptr, ptr %t410 + %t889 = getelementptr inbounds %LSlice, ptr %t888, i32 0, i32 1 + %t890 = getelementptr inbounds %LSlice, ptr %t888, i32 0, i32 2 + %t891 = getelementptr inbounds %LSlice, ptr %t888, i32 0, i32 0 + %t892 = load i32, ptr %t889 + %t893 = load i32, ptr %t890 + %t894 = icmp sge i32 %t892, %t893 + br i1 %t894, label %grow275, label %put276 +grow275: + %t895 = mul i32 %t893, 2 + %t896 = icmp eq i32 %t893, 0 + %t897 = select i1 %t896, i32 8, i32 %t895 + %t898 = getelementptr ptr, ptr null, i32 1 + %t899 = ptrtoint ptr %t898 to i64 + %t900 = zext i32 %t897 to i64 + %t901 = mul i64 %t900, %t899 + %t902 = load ptr, ptr %t891 + %t903 = call ptr @realloc(ptr %t902, i64 %t901) + store ptr %t903, ptr %t891 + store i32 %t897, ptr %t890 + br label %put276 +put276: + %t904 = load ptr, ptr %t891 + %t905 = getelementptr inbounds ptr, ptr %t904, i32 %t892 + store ptr @.str6869, ptr %t905 + %t906 = add i32 %t892, 1 + store i32 %t906, ptr %t889 + %t907 = load ptr, ptr %t410 + %t908 = getelementptr inbounds %LSlice, ptr %t907, i32 0, i32 1 + %t909 = getelementptr inbounds %LSlice, ptr %t907, i32 0, i32 2 + %t910 = getelementptr inbounds %LSlice, ptr %t907, i32 0, i32 0 + %t911 = load i32, ptr %t908 + %t912 = load i32, ptr %t909 + %t913 = icmp sge i32 %t911, %t912 + br i1 %t913, label %grow277, label %put278 +grow277: + %t914 = mul i32 %t912, 2 + %t915 = icmp eq i32 %t912, 0 + %t916 = select i1 %t915, i32 8, i32 %t914 + %t917 = getelementptr ptr, ptr null, i32 1 + %t918 = ptrtoint ptr %t917 to i64 + %t919 = zext i32 %t916 to i64 + %t920 = mul i64 %t919, %t918 + %t921 = load ptr, ptr %t910 + %t922 = call ptr @realloc(ptr %t921, i64 %t920) + store ptr %t922, ptr %t910 + store i32 %t916, ptr %t909 + br label %put278 +put278: + %t923 = load ptr, ptr %t910 + %t924 = getelementptr inbounds ptr, ptr %t923, i32 %t911 + store ptr @.str6870, ptr %t924 + %t925 = add i32 %t911, 1 + store i32 %t925, ptr %t908 + %t926 = load ptr, ptr %t410 + %t927 = getelementptr inbounds %LSlice, ptr %t926, i32 0, i32 1 + %t928 = getelementptr inbounds %LSlice, ptr %t926, i32 0, i32 2 + %t929 = getelementptr inbounds %LSlice, ptr %t926, i32 0, i32 0 + %t930 = load i32, ptr %t927 + %t931 = load i32, ptr %t928 + %t932 = icmp sge i32 %t930, %t931 + br i1 %t932, label %grow279, label %put280 +grow279: + %t933 = mul i32 %t931, 2 + %t934 = icmp eq i32 %t931, 0 + %t935 = select i1 %t934, i32 8, i32 %t933 + %t936 = getelementptr ptr, ptr null, i32 1 + %t937 = ptrtoint ptr %t936 to i64 + %t938 = zext i32 %t935 to i64 + %t939 = mul i64 %t938, %t937 + %t940 = load ptr, ptr %t929 + %t941 = call ptr @realloc(ptr %t940, i64 %t939) + store ptr %t941, ptr %t929 + store i32 %t935, ptr %t928 + br label %put280 +put280: + %t942 = load ptr, ptr %t929 + %t943 = getelementptr inbounds ptr, ptr %t942, i32 %t930 + store ptr @.str6871, ptr %t943 + %t944 = add i32 %t930, 1 + store i32 %t944, ptr %t927 + br label %ifend270 +ifend270: + %t945 = load ptr, ptr %t1 + %t946 = call i32 @lp_str_eq(ptr %t945, ptr @.str6872) + %t947 = icmp ne i32 %t946, 0 + br i1 %t947, label %then281, label %ifend283 +then281: + store ptr @.str6873, ptr %t403 + %t948 = load ptr, ptr %t410 + %t949 = getelementptr inbounds %LSlice, ptr %t948, i32 0, i32 1 + %t950 = getelementptr inbounds %LSlice, ptr %t948, i32 0, i32 2 + %t951 = getelementptr inbounds %LSlice, ptr %t948, i32 0, i32 0 + %t952 = load i32, ptr %t949 + %t953 = load i32, ptr %t950 + %t954 = icmp sge i32 %t952, %t953 + br i1 %t954, label %grow284, label %put285 +grow284: + %t955 = mul i32 %t953, 2 + %t956 = icmp eq i32 %t953, 0 + %t957 = select i1 %t956, i32 8, i32 %t955 + %t958 = getelementptr ptr, ptr null, i32 1 + %t959 = ptrtoint ptr %t958 to i64 + %t960 = zext i32 %t957 to i64 + %t961 = mul i64 %t960, %t959 + %t962 = load ptr, ptr %t951 + %t963 = call ptr @realloc(ptr %t962, i64 %t961) + store ptr %t963, ptr %t951 + store i32 %t957, ptr %t950 + br label %put285 +put285: + %t964 = load ptr, ptr %t951 + %t965 = getelementptr inbounds ptr, ptr %t964, i32 %t952 + store ptr @.str6874, ptr %t965 + %t966 = add i32 %t952, 1 + store i32 %t966, ptr %t949 + %t967 = load ptr, ptr %t410 + %t968 = getelementptr inbounds %LSlice, ptr %t967, i32 0, i32 1 + %t969 = getelementptr inbounds %LSlice, ptr %t967, i32 0, i32 2 + %t970 = getelementptr inbounds %LSlice, ptr %t967, i32 0, i32 0 + %t971 = load i32, ptr %t968 + %t972 = load i32, ptr %t969 + %t973 = icmp sge i32 %t971, %t972 + br i1 %t973, label %grow286, label %put287 +grow286: + %t974 = mul i32 %t972, 2 + %t975 = icmp eq i32 %t972, 0 + %t976 = select i1 %t975, i32 8, i32 %t974 + %t977 = getelementptr ptr, ptr null, i32 1 + %t978 = ptrtoint ptr %t977 to i64 + %t979 = zext i32 %t976 to i64 + %t980 = mul i64 %t979, %t978 + %t981 = load ptr, ptr %t970 + %t982 = call ptr @realloc(ptr %t981, i64 %t980) + store ptr %t982, ptr %t970 + store i32 %t976, ptr %t969 + br label %put287 +put287: + %t983 = load ptr, ptr %t970 + %t984 = getelementptr inbounds ptr, ptr %t983, i32 %t971 + store ptr @.str6875, ptr %t984 + %t985 = add i32 %t971, 1 + store i32 %t985, ptr %t968 + %t986 = load ptr, ptr %t410 + %t987 = getelementptr inbounds %LSlice, ptr %t986, i32 0, i32 1 + %t988 = getelementptr inbounds %LSlice, ptr %t986, i32 0, i32 2 + %t989 = getelementptr inbounds %LSlice, ptr %t986, i32 0, i32 0 + %t990 = load i32, ptr %t987 + %t991 = load i32, ptr %t988 + %t992 = icmp sge i32 %t990, %t991 + br i1 %t992, label %grow288, label %put289 +grow288: + %t993 = mul i32 %t991, 2 + %t994 = icmp eq i32 %t991, 0 + %t995 = select i1 %t994, i32 8, i32 %t993 + %t996 = getelementptr ptr, ptr null, i32 1 + %t997 = ptrtoint ptr %t996 to i64 + %t998 = zext i32 %t995 to i64 + %t999 = mul i64 %t998, %t997 + %t1000 = load ptr, ptr %t989 + %t1001 = call ptr @realloc(ptr %t1000, i64 %t999) + store ptr %t1001, ptr %t989 + store i32 %t995, ptr %t988 + br label %put289 +put289: + %t1002 = load ptr, ptr %t989 + %t1003 = getelementptr inbounds ptr, ptr %t1002, i32 %t990 + store ptr @.str6876, ptr %t1003 + %t1004 = add i32 %t990, 1 + store i32 %t1004, ptr %t987 + %t1005 = load ptr, ptr %t410 + %t1006 = getelementptr inbounds %LSlice, ptr %t1005, i32 0, i32 1 + %t1007 = getelementptr inbounds %LSlice, ptr %t1005, i32 0, i32 2 + %t1008 = getelementptr inbounds %LSlice, ptr %t1005, i32 0, i32 0 + %t1009 = load i32, ptr %t1006 + %t1010 = load i32, ptr %t1007 + %t1011 = icmp sge i32 %t1009, %t1010 + br i1 %t1011, label %grow290, label %put291 +grow290: + %t1012 = mul i32 %t1010, 2 + %t1013 = icmp eq i32 %t1010, 0 + %t1014 = select i1 %t1013, i32 8, i32 %t1012 + %t1015 = getelementptr ptr, ptr null, i32 1 + %t1016 = ptrtoint ptr %t1015 to i64 + %t1017 = zext i32 %t1014 to i64 + %t1018 = mul i64 %t1017, %t1016 + %t1019 = load ptr, ptr %t1008 + %t1020 = call ptr @realloc(ptr %t1019, i64 %t1018) + store ptr %t1020, ptr %t1008 + store i32 %t1014, ptr %t1007 + br label %put291 +put291: + %t1021 = load ptr, ptr %t1008 + %t1022 = getelementptr inbounds ptr, ptr %t1021, i32 %t1009 + store ptr @.str6877, ptr %t1022 + %t1023 = add i32 %t1009, 1 + store i32 %t1023, ptr %t1006 + %t1024 = load ptr, ptr %t410 + %t1025 = getelementptr inbounds %LSlice, ptr %t1024, i32 0, i32 1 + %t1026 = getelementptr inbounds %LSlice, ptr %t1024, i32 0, i32 2 + %t1027 = getelementptr inbounds %LSlice, ptr %t1024, i32 0, i32 0 + %t1028 = load i32, ptr %t1025 + %t1029 = load i32, ptr %t1026 + %t1030 = icmp sge i32 %t1028, %t1029 + br i1 %t1030, label %grow292, label %put293 +grow292: + %t1031 = mul i32 %t1029, 2 + %t1032 = icmp eq i32 %t1029, 0 + %t1033 = select i1 %t1032, i32 8, i32 %t1031 + %t1034 = getelementptr ptr, ptr null, i32 1 + %t1035 = ptrtoint ptr %t1034 to i64 + %t1036 = zext i32 %t1033 to i64 + %t1037 = mul i64 %t1036, %t1035 + %t1038 = load ptr, ptr %t1027 + %t1039 = call ptr @realloc(ptr %t1038, i64 %t1037) + store ptr %t1039, ptr %t1027 + store i32 %t1033, ptr %t1026 + br label %put293 +put293: + %t1040 = load ptr, ptr %t1027 + %t1041 = getelementptr inbounds ptr, ptr %t1040, i32 %t1028 + store ptr @.str6878, ptr %t1041 + %t1042 = add i32 %t1028, 1 + store i32 %t1042, ptr %t1025 + br label %ifend283 +ifend283: + %t1043 = load ptr, ptr %t1 + %t1044 = call i32 @lp_str_eq(ptr %t1043, ptr @.str6879) + %t1045 = icmp ne i32 %t1044, 0 + br i1 %t1045, label %then294, label %ifend296 +then294: + store ptr @.str6880, ptr %t403 + br label %ifend296 +ifend296: + %t1046 = load ptr, ptr %t1 + %t1047 = call i32 @lp_str_eq(ptr %t1046, ptr @.str6881) + %t1048 = icmp ne i32 %t1047, 0 + br i1 %t1048, label %then297, label %ifend299 +then297: + store ptr @.str6882, ptr %t403 + br label %ifend299 +ifend299: + %t1049 = load ptr, ptr %t1 + %t1050 = call i32 @lp_str_eq(ptr %t1049, ptr @.str6883) + %t1051 = icmp ne i32 %t1050, 0 + br i1 %t1051, label %then300, label %ifend302 +then300: + store ptr @.str6884, ptr %t403 + br label %ifend302 +ifend302: + %t1052 = load ptr, ptr %t1 + %t1053 = call i32 @lp_str_eq(ptr %t1052, ptr @.str6885) + %t1054 = icmp ne i32 %t1053, 0 + br i1 %t1054, label %then303, label %ifend305 +then303: + store ptr @.str6886, ptr %t403 + %t1055 = load ptr, ptr %t410 + %t1056 = getelementptr inbounds %LSlice, ptr %t1055, i32 0, i32 1 + %t1057 = getelementptr inbounds %LSlice, ptr %t1055, i32 0, i32 2 + %t1058 = getelementptr inbounds %LSlice, ptr %t1055, i32 0, i32 0 + %t1059 = load i32, ptr %t1056 + %t1060 = load i32, ptr %t1057 + %t1061 = icmp sge i32 %t1059, %t1060 + br i1 %t1061, label %grow306, label %put307 +grow306: + %t1062 = mul i32 %t1060, 2 + %t1063 = icmp eq i32 %t1060, 0 + %t1064 = select i1 %t1063, i32 8, i32 %t1062 + %t1065 = getelementptr ptr, ptr null, i32 1 + %t1066 = ptrtoint ptr %t1065 to i64 + %t1067 = zext i32 %t1064 to i64 + %t1068 = mul i64 %t1067, %t1066 + %t1069 = load ptr, ptr %t1058 + %t1070 = call ptr @realloc(ptr %t1069, i64 %t1068) + store ptr %t1070, ptr %t1058 + store i32 %t1064, ptr %t1057 + br label %put307 +put307: + %t1071 = load ptr, ptr %t1058 + %t1072 = getelementptr inbounds ptr, ptr %t1071, i32 %t1059 + store ptr @.str6887, ptr %t1072 + %t1073 = add i32 %t1059, 1 + store i32 %t1073, ptr %t1056 + br label %ifend305 +ifend305: + %t1074 = load ptr, ptr %t1 + %t1075 = call i32 @lp_str_eq(ptr %t1074, ptr @.str6888) + %t1076 = icmp ne i32 %t1075, 0 + br i1 %t1076, label %then308, label %ifend310 +then308: + store ptr @.str6889, ptr %t403 + %t1077 = load ptr, ptr %t410 + %t1078 = getelementptr inbounds %LSlice, ptr %t1077, i32 0, i32 1 + %t1079 = getelementptr inbounds %LSlice, ptr %t1077, i32 0, i32 2 + %t1080 = getelementptr inbounds %LSlice, ptr %t1077, i32 0, i32 0 + %t1081 = load i32, ptr %t1078 + %t1082 = load i32, ptr %t1079 + %t1083 = icmp sge i32 %t1081, %t1082 + br i1 %t1083, label %grow311, label %put312 +grow311: + %t1084 = mul i32 %t1082, 2 + %t1085 = icmp eq i32 %t1082, 0 + %t1086 = select i1 %t1085, i32 8, i32 %t1084 + %t1087 = getelementptr ptr, ptr null, i32 1 + %t1088 = ptrtoint ptr %t1087 to i64 + %t1089 = zext i32 %t1086 to i64 + %t1090 = mul i64 %t1089, %t1088 + %t1091 = load ptr, ptr %t1080 + %t1092 = call ptr @realloc(ptr %t1091, i64 %t1090) + store ptr %t1092, ptr %t1080 + store i32 %t1086, ptr %t1079 + br label %put312 +put312: + %t1093 = load ptr, ptr %t1080 + %t1094 = getelementptr inbounds ptr, ptr %t1093, i32 %t1081 + store ptr @.str6890, ptr %t1094 + %t1095 = add i32 %t1081, 1 + store i32 %t1095, ptr %t1078 + %t1096 = load ptr, ptr %t410 + %t1097 = getelementptr inbounds %LSlice, ptr %t1096, i32 0, i32 1 + %t1098 = getelementptr inbounds %LSlice, ptr %t1096, i32 0, i32 2 + %t1099 = getelementptr inbounds %LSlice, ptr %t1096, i32 0, i32 0 + %t1100 = load i32, ptr %t1097 + %t1101 = load i32, ptr %t1098 + %t1102 = icmp sge i32 %t1100, %t1101 + br i1 %t1102, label %grow313, label %put314 +grow313: + %t1103 = mul i32 %t1101, 2 + %t1104 = icmp eq i32 %t1101, 0 + %t1105 = select i1 %t1104, i32 8, i32 %t1103 + %t1106 = getelementptr ptr, ptr null, i32 1 + %t1107 = ptrtoint ptr %t1106 to i64 + %t1108 = zext i32 %t1105 to i64 + %t1109 = mul i64 %t1108, %t1107 + %t1110 = load ptr, ptr %t1099 + %t1111 = call ptr @realloc(ptr %t1110, i64 %t1109) + store ptr %t1111, ptr %t1099 + store i32 %t1105, ptr %t1098 + br label %put314 +put314: + %t1112 = load ptr, ptr %t1099 + %t1113 = getelementptr inbounds ptr, ptr %t1112, i32 %t1100 + store ptr @.str6891, ptr %t1113 + %t1114 = add i32 %t1100, 1 + store i32 %t1114, ptr %t1097 + %t1115 = load ptr, ptr %t410 + %t1116 = getelementptr inbounds %LSlice, ptr %t1115, i32 0, i32 1 + %t1117 = getelementptr inbounds %LSlice, ptr %t1115, i32 0, i32 2 + %t1118 = getelementptr inbounds %LSlice, ptr %t1115, i32 0, i32 0 + %t1119 = load i32, ptr %t1116 + %t1120 = load i32, ptr %t1117 + %t1121 = icmp sge i32 %t1119, %t1120 + br i1 %t1121, label %grow315, label %put316 +grow315: + %t1122 = mul i32 %t1120, 2 + %t1123 = icmp eq i32 %t1120, 0 + %t1124 = select i1 %t1123, i32 8, i32 %t1122 + %t1125 = getelementptr ptr, ptr null, i32 1 + %t1126 = ptrtoint ptr %t1125 to i64 + %t1127 = zext i32 %t1124 to i64 + %t1128 = mul i64 %t1127, %t1126 + %t1129 = load ptr, ptr %t1118 + %t1130 = call ptr @realloc(ptr %t1129, i64 %t1128) + store ptr %t1130, ptr %t1118 + store i32 %t1124, ptr %t1117 + br label %put316 +put316: + %t1131 = load ptr, ptr %t1118 + %t1132 = getelementptr inbounds ptr, ptr %t1131, i32 %t1119 + store ptr @.str6892, ptr %t1132 + %t1133 = add i32 %t1119, 1 + store i32 %t1133, ptr %t1116 + %t1134 = load ptr, ptr %t410 + %t1135 = getelementptr inbounds %LSlice, ptr %t1134, i32 0, i32 1 + %t1136 = getelementptr inbounds %LSlice, ptr %t1134, i32 0, i32 2 + %t1137 = getelementptr inbounds %LSlice, ptr %t1134, i32 0, i32 0 + %t1138 = load i32, ptr %t1135 + %t1139 = load i32, ptr %t1136 + %t1140 = icmp sge i32 %t1138, %t1139 + br i1 %t1140, label %grow317, label %put318 +grow317: + %t1141 = mul i32 %t1139, 2 + %t1142 = icmp eq i32 %t1139, 0 + %t1143 = select i1 %t1142, i32 8, i32 %t1141 + %t1144 = getelementptr ptr, ptr null, i32 1 + %t1145 = ptrtoint ptr %t1144 to i64 + %t1146 = zext i32 %t1143 to i64 + %t1147 = mul i64 %t1146, %t1145 + %t1148 = load ptr, ptr %t1137 + %t1149 = call ptr @realloc(ptr %t1148, i64 %t1147) + store ptr %t1149, ptr %t1137 + store i32 %t1143, ptr %t1136 + br label %put318 +put318: + %t1150 = load ptr, ptr %t1137 + %t1151 = getelementptr inbounds ptr, ptr %t1150, i32 %t1138 + store ptr @.str6893, ptr %t1151 + %t1152 = add i32 %t1138, 1 + store i32 %t1152, ptr %t1135 + %t1153 = load ptr, ptr %t410 + %t1154 = getelementptr inbounds %LSlice, ptr %t1153, i32 0, i32 1 + %t1155 = getelementptr inbounds %LSlice, ptr %t1153, i32 0, i32 2 + %t1156 = getelementptr inbounds %LSlice, ptr %t1153, i32 0, i32 0 + %t1157 = load i32, ptr %t1154 + %t1158 = load i32, ptr %t1155 + %t1159 = icmp sge i32 %t1157, %t1158 + br i1 %t1159, label %grow319, label %put320 +grow319: + %t1160 = mul i32 %t1158, 2 + %t1161 = icmp eq i32 %t1158, 0 + %t1162 = select i1 %t1161, i32 8, i32 %t1160 + %t1163 = getelementptr ptr, ptr null, i32 1 + %t1164 = ptrtoint ptr %t1163 to i64 + %t1165 = zext i32 %t1162 to i64 + %t1166 = mul i64 %t1165, %t1164 + %t1167 = load ptr, ptr %t1156 + %t1168 = call ptr @realloc(ptr %t1167, i64 %t1166) + store ptr %t1168, ptr %t1156 + store i32 %t1162, ptr %t1155 + br label %put320 +put320: + %t1169 = load ptr, ptr %t1156 + %t1170 = getelementptr inbounds ptr, ptr %t1169, i32 %t1157 + store ptr @.str6894, ptr %t1170 + %t1171 = add i32 %t1157, 1 + store i32 %t1171, ptr %t1154 + br label %ifend310 +ifend310: + %t1172 = load ptr, ptr %t1 + %t1173 = call i32 @lp_str_eq(ptr %t1172, ptr @.str6895) + %t1174 = icmp ne i32 %t1173, 0 + br i1 %t1174, label %then321, label %ifend323 +then321: + store ptr @.str6896, ptr %t403 + %t1175 = load ptr, ptr %t410 + %t1176 = getelementptr inbounds %LSlice, ptr %t1175, i32 0, i32 1 + %t1177 = getelementptr inbounds %LSlice, ptr %t1175, i32 0, i32 2 + %t1178 = getelementptr inbounds %LSlice, ptr %t1175, i32 0, i32 0 + %t1179 = load i32, ptr %t1176 + %t1180 = load i32, ptr %t1177 + %t1181 = icmp sge i32 %t1179, %t1180 + br i1 %t1181, label %grow324, label %put325 +grow324: + %t1182 = mul i32 %t1180, 2 + %t1183 = icmp eq i32 %t1180, 0 + %t1184 = select i1 %t1183, i32 8, i32 %t1182 + %t1185 = getelementptr ptr, ptr null, i32 1 + %t1186 = ptrtoint ptr %t1185 to i64 + %t1187 = zext i32 %t1184 to i64 + %t1188 = mul i64 %t1187, %t1186 + %t1189 = load ptr, ptr %t1178 + %t1190 = call ptr @realloc(ptr %t1189, i64 %t1188) + store ptr %t1190, ptr %t1178 + store i32 %t1184, ptr %t1177 + br label %put325 +put325: + %t1191 = load ptr, ptr %t1178 + %t1192 = getelementptr inbounds ptr, ptr %t1191, i32 %t1179 + store ptr @.str6897, ptr %t1192 + %t1193 = add i32 %t1179, 1 + store i32 %t1193, ptr %t1176 + %t1194 = load ptr, ptr %t410 + %t1195 = getelementptr inbounds %LSlice, ptr %t1194, i32 0, i32 1 + %t1196 = getelementptr inbounds %LSlice, ptr %t1194, i32 0, i32 2 + %t1197 = getelementptr inbounds %LSlice, ptr %t1194, i32 0, i32 0 + %t1198 = load i32, ptr %t1195 + %t1199 = load i32, ptr %t1196 + %t1200 = icmp sge i32 %t1198, %t1199 + br i1 %t1200, label %grow326, label %put327 +grow326: + %t1201 = mul i32 %t1199, 2 + %t1202 = icmp eq i32 %t1199, 0 + %t1203 = select i1 %t1202, i32 8, i32 %t1201 + %t1204 = getelementptr ptr, ptr null, i32 1 + %t1205 = ptrtoint ptr %t1204 to i64 + %t1206 = zext i32 %t1203 to i64 + %t1207 = mul i64 %t1206, %t1205 + %t1208 = load ptr, ptr %t1197 + %t1209 = call ptr @realloc(ptr %t1208, i64 %t1207) + store ptr %t1209, ptr %t1197 + store i32 %t1203, ptr %t1196 + br label %put327 +put327: + %t1210 = load ptr, ptr %t1197 + %t1211 = getelementptr inbounds ptr, ptr %t1210, i32 %t1198 + store ptr @.str6898, ptr %t1211 + %t1212 = add i32 %t1198, 1 + store i32 %t1212, ptr %t1195 + %t1213 = load ptr, ptr %t410 + %t1214 = getelementptr inbounds %LSlice, ptr %t1213, i32 0, i32 1 + %t1215 = getelementptr inbounds %LSlice, ptr %t1213, i32 0, i32 2 + %t1216 = getelementptr inbounds %LSlice, ptr %t1213, i32 0, i32 0 + %t1217 = load i32, ptr %t1214 + %t1218 = load i32, ptr %t1215 + %t1219 = icmp sge i32 %t1217, %t1218 + br i1 %t1219, label %grow328, label %put329 +grow328: + %t1220 = mul i32 %t1218, 2 + %t1221 = icmp eq i32 %t1218, 0 + %t1222 = select i1 %t1221, i32 8, i32 %t1220 + %t1223 = getelementptr ptr, ptr null, i32 1 + %t1224 = ptrtoint ptr %t1223 to i64 + %t1225 = zext i32 %t1222 to i64 + %t1226 = mul i64 %t1225, %t1224 + %t1227 = load ptr, ptr %t1216 + %t1228 = call ptr @realloc(ptr %t1227, i64 %t1226) + store ptr %t1228, ptr %t1216 + store i32 %t1222, ptr %t1215 + br label %put329 +put329: + %t1229 = load ptr, ptr %t1216 + %t1230 = getelementptr inbounds ptr, ptr %t1229, i32 %t1217 + store ptr @.str6899, ptr %t1230 + %t1231 = add i32 %t1217, 1 + store i32 %t1231, ptr %t1214 + %t1232 = load ptr, ptr %t410 + %t1233 = getelementptr inbounds %LSlice, ptr %t1232, i32 0, i32 1 + %t1234 = getelementptr inbounds %LSlice, ptr %t1232, i32 0, i32 2 + %t1235 = getelementptr inbounds %LSlice, ptr %t1232, i32 0, i32 0 + %t1236 = load i32, ptr %t1233 + %t1237 = load i32, ptr %t1234 + %t1238 = icmp sge i32 %t1236, %t1237 + br i1 %t1238, label %grow330, label %put331 +grow330: + %t1239 = mul i32 %t1237, 2 + %t1240 = icmp eq i32 %t1237, 0 + %t1241 = select i1 %t1240, i32 8, i32 %t1239 + %t1242 = getelementptr ptr, ptr null, i32 1 + %t1243 = ptrtoint ptr %t1242 to i64 + %t1244 = zext i32 %t1241 to i64 + %t1245 = mul i64 %t1244, %t1243 + %t1246 = load ptr, ptr %t1235 + %t1247 = call ptr @realloc(ptr %t1246, i64 %t1245) + store ptr %t1247, ptr %t1235 + store i32 %t1241, ptr %t1234 + br label %put331 +put331: + %t1248 = load ptr, ptr %t1235 + %t1249 = getelementptr inbounds ptr, ptr %t1248, i32 %t1236 + store ptr @.str6900, ptr %t1249 + %t1250 = add i32 %t1236, 1 + store i32 %t1250, ptr %t1233 + br label %ifend323 +ifend323: + %t1251 = load ptr, ptr %t1 + %t1252 = call i32 @lp_str_eq(ptr %t1251, ptr @.str6901) + %t1253 = icmp ne i32 %t1252, 0 + br i1 %t1253, label %then332, label %ifend334 +then332: + store ptr @.str6902, ptr %t403 + %t1254 = load ptr, ptr %t410 + %t1255 = getelementptr inbounds %LSlice, ptr %t1254, i32 0, i32 1 + %t1256 = getelementptr inbounds %LSlice, ptr %t1254, i32 0, i32 2 + %t1257 = getelementptr inbounds %LSlice, ptr %t1254, i32 0, i32 0 + %t1258 = load i32, ptr %t1255 + %t1259 = load i32, ptr %t1256 + %t1260 = icmp sge i32 %t1258, %t1259 + br i1 %t1260, label %grow335, label %put336 +grow335: + %t1261 = mul i32 %t1259, 2 + %t1262 = icmp eq i32 %t1259, 0 + %t1263 = select i1 %t1262, i32 8, i32 %t1261 + %t1264 = getelementptr ptr, ptr null, i32 1 + %t1265 = ptrtoint ptr %t1264 to i64 + %t1266 = zext i32 %t1263 to i64 + %t1267 = mul i64 %t1266, %t1265 + %t1268 = load ptr, ptr %t1257 + %t1269 = call ptr @realloc(ptr %t1268, i64 %t1267) + store ptr %t1269, ptr %t1257 + store i32 %t1263, ptr %t1256 + br label %put336 +put336: + %t1270 = load ptr, ptr %t1257 + %t1271 = getelementptr inbounds ptr, ptr %t1270, i32 %t1258 + store ptr @.str6903, ptr %t1271 + %t1272 = add i32 %t1258, 1 + store i32 %t1272, ptr %t1255 + %t1273 = load ptr, ptr %t410 + %t1274 = getelementptr inbounds %LSlice, ptr %t1273, i32 0, i32 1 + %t1275 = getelementptr inbounds %LSlice, ptr %t1273, i32 0, i32 2 + %t1276 = getelementptr inbounds %LSlice, ptr %t1273, i32 0, i32 0 + %t1277 = load i32, ptr %t1274 + %t1278 = load i32, ptr %t1275 + %t1279 = icmp sge i32 %t1277, %t1278 + br i1 %t1279, label %grow337, label %put338 +grow337: + %t1280 = mul i32 %t1278, 2 + %t1281 = icmp eq i32 %t1278, 0 + %t1282 = select i1 %t1281, i32 8, i32 %t1280 + %t1283 = getelementptr ptr, ptr null, i32 1 + %t1284 = ptrtoint ptr %t1283 to i64 + %t1285 = zext i32 %t1282 to i64 + %t1286 = mul i64 %t1285, %t1284 + %t1287 = load ptr, ptr %t1276 + %t1288 = call ptr @realloc(ptr %t1287, i64 %t1286) + store ptr %t1288, ptr %t1276 + store i32 %t1282, ptr %t1275 + br label %put338 +put338: + %t1289 = load ptr, ptr %t1276 + %t1290 = getelementptr inbounds ptr, ptr %t1289, i32 %t1277 + store ptr @.str6904, ptr %t1290 + %t1291 = add i32 %t1277, 1 + store i32 %t1291, ptr %t1274 + %t1292 = load ptr, ptr %t410 + %t1293 = getelementptr inbounds %LSlice, ptr %t1292, i32 0, i32 1 + %t1294 = getelementptr inbounds %LSlice, ptr %t1292, i32 0, i32 2 + %t1295 = getelementptr inbounds %LSlice, ptr %t1292, i32 0, i32 0 + %t1296 = load i32, ptr %t1293 + %t1297 = load i32, ptr %t1294 + %t1298 = icmp sge i32 %t1296, %t1297 + br i1 %t1298, label %grow339, label %put340 +grow339: + %t1299 = mul i32 %t1297, 2 + %t1300 = icmp eq i32 %t1297, 0 + %t1301 = select i1 %t1300, i32 8, i32 %t1299 + %t1302 = getelementptr ptr, ptr null, i32 1 + %t1303 = ptrtoint ptr %t1302 to i64 + %t1304 = zext i32 %t1301 to i64 + %t1305 = mul i64 %t1304, %t1303 + %t1306 = load ptr, ptr %t1295 + %t1307 = call ptr @realloc(ptr %t1306, i64 %t1305) + store ptr %t1307, ptr %t1295 + store i32 %t1301, ptr %t1294 + br label %put340 +put340: + %t1308 = load ptr, ptr %t1295 + %t1309 = getelementptr inbounds ptr, ptr %t1308, i32 %t1296 + store ptr @.str6905, ptr %t1309 + %t1310 = add i32 %t1296, 1 + store i32 %t1310, ptr %t1293 + %t1311 = load ptr, ptr %t410 + %t1312 = getelementptr inbounds %LSlice, ptr %t1311, i32 0, i32 1 + %t1313 = getelementptr inbounds %LSlice, ptr %t1311, i32 0, i32 2 + %t1314 = getelementptr inbounds %LSlice, ptr %t1311, i32 0, i32 0 + %t1315 = load i32, ptr %t1312 + %t1316 = load i32, ptr %t1313 + %t1317 = icmp sge i32 %t1315, %t1316 + br i1 %t1317, label %grow341, label %put342 +grow341: + %t1318 = mul i32 %t1316, 2 + %t1319 = icmp eq i32 %t1316, 0 + %t1320 = select i1 %t1319, i32 8, i32 %t1318 + %t1321 = getelementptr ptr, ptr null, i32 1 + %t1322 = ptrtoint ptr %t1321 to i64 + %t1323 = zext i32 %t1320 to i64 + %t1324 = mul i64 %t1323, %t1322 + %t1325 = load ptr, ptr %t1314 + %t1326 = call ptr @realloc(ptr %t1325, i64 %t1324) + store ptr %t1326, ptr %t1314 + store i32 %t1320, ptr %t1313 + br label %put342 +put342: + %t1327 = load ptr, ptr %t1314 + %t1328 = getelementptr inbounds ptr, ptr %t1327, i32 %t1315 + store ptr @.str6906, ptr %t1328 + %t1329 = add i32 %t1315, 1 + store i32 %t1329, ptr %t1312 + br label %ifend334 +ifend334: + %t1330 = load ptr, ptr %t1 + %t1331 = call i32 @lp_str_eq(ptr %t1330, ptr @.str6907) + %t1332 = icmp ne i32 %t1331, 0 + br i1 %t1332, label %then343, label %ifend345 +then343: + store ptr @.str6908, ptr %t403 + %t1333 = load ptr, ptr %t410 + %t1334 = getelementptr inbounds %LSlice, ptr %t1333, i32 0, i32 1 + %t1335 = getelementptr inbounds %LSlice, ptr %t1333, i32 0, i32 2 + %t1336 = getelementptr inbounds %LSlice, ptr %t1333, i32 0, i32 0 + %t1337 = load i32, ptr %t1334 + %t1338 = load i32, ptr %t1335 + %t1339 = icmp sge i32 %t1337, %t1338 + br i1 %t1339, label %grow346, label %put347 +grow346: + %t1340 = mul i32 %t1338, 2 + %t1341 = icmp eq i32 %t1338, 0 + %t1342 = select i1 %t1341, i32 8, i32 %t1340 + %t1343 = getelementptr ptr, ptr null, i32 1 + %t1344 = ptrtoint ptr %t1343 to i64 + %t1345 = zext i32 %t1342 to i64 + %t1346 = mul i64 %t1345, %t1344 + %t1347 = load ptr, ptr %t1336 + %t1348 = call ptr @realloc(ptr %t1347, i64 %t1346) + store ptr %t1348, ptr %t1336 + store i32 %t1342, ptr %t1335 + br label %put347 +put347: + %t1349 = load ptr, ptr %t1336 + %t1350 = getelementptr inbounds ptr, ptr %t1349, i32 %t1337 + store ptr @.str6909, ptr %t1350 + %t1351 = add i32 %t1337, 1 + store i32 %t1351, ptr %t1334 + %t1352 = load ptr, ptr %t410 + %t1353 = getelementptr inbounds %LSlice, ptr %t1352, i32 0, i32 1 + %t1354 = getelementptr inbounds %LSlice, ptr %t1352, i32 0, i32 2 + %t1355 = getelementptr inbounds %LSlice, ptr %t1352, i32 0, i32 0 + %t1356 = load i32, ptr %t1353 + %t1357 = load i32, ptr %t1354 + %t1358 = icmp sge i32 %t1356, %t1357 + br i1 %t1358, label %grow348, label %put349 +grow348: + %t1359 = mul i32 %t1357, 2 + %t1360 = icmp eq i32 %t1357, 0 + %t1361 = select i1 %t1360, i32 8, i32 %t1359 + %t1362 = getelementptr ptr, ptr null, i32 1 + %t1363 = ptrtoint ptr %t1362 to i64 + %t1364 = zext i32 %t1361 to i64 + %t1365 = mul i64 %t1364, %t1363 + %t1366 = load ptr, ptr %t1355 + %t1367 = call ptr @realloc(ptr %t1366, i64 %t1365) + store ptr %t1367, ptr %t1355 + store i32 %t1361, ptr %t1354 + br label %put349 +put349: + %t1368 = load ptr, ptr %t1355 + %t1369 = getelementptr inbounds ptr, ptr %t1368, i32 %t1356 + store ptr @.str6910, ptr %t1369 + %t1370 = add i32 %t1356, 1 + store i32 %t1370, ptr %t1353 + %t1371 = load ptr, ptr %t410 + %t1372 = getelementptr inbounds %LSlice, ptr %t1371, i32 0, i32 1 + %t1373 = getelementptr inbounds %LSlice, ptr %t1371, i32 0, i32 2 + %t1374 = getelementptr inbounds %LSlice, ptr %t1371, i32 0, i32 0 + %t1375 = load i32, ptr %t1372 + %t1376 = load i32, ptr %t1373 + %t1377 = icmp sge i32 %t1375, %t1376 + br i1 %t1377, label %grow350, label %put351 +grow350: + %t1378 = mul i32 %t1376, 2 + %t1379 = icmp eq i32 %t1376, 0 + %t1380 = select i1 %t1379, i32 8, i32 %t1378 + %t1381 = getelementptr ptr, ptr null, i32 1 + %t1382 = ptrtoint ptr %t1381 to i64 + %t1383 = zext i32 %t1380 to i64 + %t1384 = mul i64 %t1383, %t1382 + %t1385 = load ptr, ptr %t1374 + %t1386 = call ptr @realloc(ptr %t1385, i64 %t1384) + store ptr %t1386, ptr %t1374 + store i32 %t1380, ptr %t1373 + br label %put351 +put351: + %t1387 = load ptr, ptr %t1374 + %t1388 = getelementptr inbounds ptr, ptr %t1387, i32 %t1375 + store ptr @.str6911, ptr %t1388 + %t1389 = add i32 %t1375, 1 + store i32 %t1389, ptr %t1372 + %t1390 = load ptr, ptr %t410 + %t1391 = getelementptr inbounds %LSlice, ptr %t1390, i32 0, i32 1 + %t1392 = getelementptr inbounds %LSlice, ptr %t1390, i32 0, i32 2 + %t1393 = getelementptr inbounds %LSlice, ptr %t1390, i32 0, i32 0 + %t1394 = load i32, ptr %t1391 + %t1395 = load i32, ptr %t1392 + %t1396 = icmp sge i32 %t1394, %t1395 + br i1 %t1396, label %grow352, label %put353 +grow352: + %t1397 = mul i32 %t1395, 2 + %t1398 = icmp eq i32 %t1395, 0 + %t1399 = select i1 %t1398, i32 8, i32 %t1397 + %t1400 = getelementptr ptr, ptr null, i32 1 + %t1401 = ptrtoint ptr %t1400 to i64 + %t1402 = zext i32 %t1399 to i64 + %t1403 = mul i64 %t1402, %t1401 + %t1404 = load ptr, ptr %t1393 + %t1405 = call ptr @realloc(ptr %t1404, i64 %t1403) + store ptr %t1405, ptr %t1393 + store i32 %t1399, ptr %t1392 + br label %put353 +put353: + %t1406 = load ptr, ptr %t1393 + %t1407 = getelementptr inbounds ptr, ptr %t1406, i32 %t1394 + store ptr @.str6912, ptr %t1407 + %t1408 = add i32 %t1394, 1 + store i32 %t1408, ptr %t1391 + %t1409 = load ptr, ptr %t410 + %t1410 = getelementptr inbounds %LSlice, ptr %t1409, i32 0, i32 1 + %t1411 = getelementptr inbounds %LSlice, ptr %t1409, i32 0, i32 2 + %t1412 = getelementptr inbounds %LSlice, ptr %t1409, i32 0, i32 0 + %t1413 = load i32, ptr %t1410 + %t1414 = load i32, ptr %t1411 + %t1415 = icmp sge i32 %t1413, %t1414 + br i1 %t1415, label %grow354, label %put355 +grow354: + %t1416 = mul i32 %t1414, 2 + %t1417 = icmp eq i32 %t1414, 0 + %t1418 = select i1 %t1417, i32 8, i32 %t1416 + %t1419 = getelementptr ptr, ptr null, i32 1 + %t1420 = ptrtoint ptr %t1419 to i64 + %t1421 = zext i32 %t1418 to i64 + %t1422 = mul i64 %t1421, %t1420 + %t1423 = load ptr, ptr %t1412 + %t1424 = call ptr @realloc(ptr %t1423, i64 %t1422) + store ptr %t1424, ptr %t1412 + store i32 %t1418, ptr %t1411 + br label %put355 +put355: + %t1425 = load ptr, ptr %t1412 + %t1426 = getelementptr inbounds ptr, ptr %t1425, i32 %t1413 + store ptr @.str6913, ptr %t1426 + %t1427 = add i32 %t1413, 1 + store i32 %t1427, ptr %t1410 + %t1428 = load ptr, ptr %t410 + %t1429 = getelementptr inbounds %LSlice, ptr %t1428, i32 0, i32 1 + %t1430 = getelementptr inbounds %LSlice, ptr %t1428, i32 0, i32 2 + %t1431 = getelementptr inbounds %LSlice, ptr %t1428, i32 0, i32 0 + %t1432 = load i32, ptr %t1429 + %t1433 = load i32, ptr %t1430 + %t1434 = icmp sge i32 %t1432, %t1433 + br i1 %t1434, label %grow356, label %put357 +grow356: + %t1435 = mul i32 %t1433, 2 + %t1436 = icmp eq i32 %t1433, 0 + %t1437 = select i1 %t1436, i32 8, i32 %t1435 + %t1438 = getelementptr ptr, ptr null, i32 1 + %t1439 = ptrtoint ptr %t1438 to i64 + %t1440 = zext i32 %t1437 to i64 + %t1441 = mul i64 %t1440, %t1439 + %t1442 = load ptr, ptr %t1431 + %t1443 = call ptr @realloc(ptr %t1442, i64 %t1441) + store ptr %t1443, ptr %t1431 + store i32 %t1437, ptr %t1430 + br label %put357 +put357: + %t1444 = load ptr, ptr %t1431 + %t1445 = getelementptr inbounds ptr, ptr %t1444, i32 %t1432 + store ptr @.str6914, ptr %t1445 + %t1446 = add i32 %t1432, 1 + store i32 %t1446, ptr %t1429 + %t1447 = load ptr, ptr %t410 + %t1448 = getelementptr inbounds %LSlice, ptr %t1447, i32 0, i32 1 + %t1449 = getelementptr inbounds %LSlice, ptr %t1447, i32 0, i32 2 + %t1450 = getelementptr inbounds %LSlice, ptr %t1447, i32 0, i32 0 + %t1451 = load i32, ptr %t1448 + %t1452 = load i32, ptr %t1449 + %t1453 = icmp sge i32 %t1451, %t1452 + br i1 %t1453, label %grow358, label %put359 +grow358: + %t1454 = mul i32 %t1452, 2 + %t1455 = icmp eq i32 %t1452, 0 + %t1456 = select i1 %t1455, i32 8, i32 %t1454 + %t1457 = getelementptr ptr, ptr null, i32 1 + %t1458 = ptrtoint ptr %t1457 to i64 + %t1459 = zext i32 %t1456 to i64 + %t1460 = mul i64 %t1459, %t1458 + %t1461 = load ptr, ptr %t1450 + %t1462 = call ptr @realloc(ptr %t1461, i64 %t1460) + store ptr %t1462, ptr %t1450 + store i32 %t1456, ptr %t1449 + br label %put359 +put359: + %t1463 = load ptr, ptr %t1450 + %t1464 = getelementptr inbounds ptr, ptr %t1463, i32 %t1451 + store ptr @.str6915, ptr %t1464 + %t1465 = add i32 %t1451, 1 + store i32 %t1465, ptr %t1448 + br label %ifend345 +ifend345: + %t1466 = load ptr, ptr %t1 + %t1467 = call i32 @lp_str_eq(ptr %t1466, ptr @.str6916) + %t1468 = icmp ne i32 %t1467, 0 + br i1 %t1468, label %then360, label %ifend362 +then360: + store ptr @.str6917, ptr %t403 + %t1469 = load ptr, ptr %t410 + %t1470 = getelementptr inbounds %LSlice, ptr %t1469, i32 0, i32 1 + %t1471 = getelementptr inbounds %LSlice, ptr %t1469, i32 0, i32 2 + %t1472 = getelementptr inbounds %LSlice, ptr %t1469, i32 0, i32 0 + %t1473 = load i32, ptr %t1470 + %t1474 = load i32, ptr %t1471 + %t1475 = icmp sge i32 %t1473, %t1474 + br i1 %t1475, label %grow363, label %put364 +grow363: + %t1476 = mul i32 %t1474, 2 + %t1477 = icmp eq i32 %t1474, 0 + %t1478 = select i1 %t1477, i32 8, i32 %t1476 + %t1479 = getelementptr ptr, ptr null, i32 1 + %t1480 = ptrtoint ptr %t1479 to i64 + %t1481 = zext i32 %t1478 to i64 + %t1482 = mul i64 %t1481, %t1480 + %t1483 = load ptr, ptr %t1472 + %t1484 = call ptr @realloc(ptr %t1483, i64 %t1482) + store ptr %t1484, ptr %t1472 + store i32 %t1478, ptr %t1471 + br label %put364 +put364: + %t1485 = load ptr, ptr %t1472 + %t1486 = getelementptr inbounds ptr, ptr %t1485, i32 %t1473 + store ptr @.str6918, ptr %t1486 + %t1487 = add i32 %t1473, 1 + store i32 %t1487, ptr %t1470 + %t1488 = load ptr, ptr %t410 + %t1489 = getelementptr inbounds %LSlice, ptr %t1488, i32 0, i32 1 + %t1490 = getelementptr inbounds %LSlice, ptr %t1488, i32 0, i32 2 + %t1491 = getelementptr inbounds %LSlice, ptr %t1488, i32 0, i32 0 + %t1492 = load i32, ptr %t1489 + %t1493 = load i32, ptr %t1490 + %t1494 = icmp sge i32 %t1492, %t1493 + br i1 %t1494, label %grow365, label %put366 +grow365: + %t1495 = mul i32 %t1493, 2 + %t1496 = icmp eq i32 %t1493, 0 + %t1497 = select i1 %t1496, i32 8, i32 %t1495 + %t1498 = getelementptr ptr, ptr null, i32 1 + %t1499 = ptrtoint ptr %t1498 to i64 + %t1500 = zext i32 %t1497 to i64 + %t1501 = mul i64 %t1500, %t1499 + %t1502 = load ptr, ptr %t1491 + %t1503 = call ptr @realloc(ptr %t1502, i64 %t1501) + store ptr %t1503, ptr %t1491 + store i32 %t1497, ptr %t1490 + br label %put366 +put366: + %t1504 = load ptr, ptr %t1491 + %t1505 = getelementptr inbounds ptr, ptr %t1504, i32 %t1492 + store ptr @.str6919, ptr %t1505 + %t1506 = add i32 %t1492, 1 + store i32 %t1506, ptr %t1489 + %t1507 = load ptr, ptr %t410 + %t1508 = getelementptr inbounds %LSlice, ptr %t1507, i32 0, i32 1 + %t1509 = getelementptr inbounds %LSlice, ptr %t1507, i32 0, i32 2 + %t1510 = getelementptr inbounds %LSlice, ptr %t1507, i32 0, i32 0 + %t1511 = load i32, ptr %t1508 + %t1512 = load i32, ptr %t1509 + %t1513 = icmp sge i32 %t1511, %t1512 + br i1 %t1513, label %grow367, label %put368 +grow367: + %t1514 = mul i32 %t1512, 2 + %t1515 = icmp eq i32 %t1512, 0 + %t1516 = select i1 %t1515, i32 8, i32 %t1514 + %t1517 = getelementptr ptr, ptr null, i32 1 + %t1518 = ptrtoint ptr %t1517 to i64 + %t1519 = zext i32 %t1516 to i64 + %t1520 = mul i64 %t1519, %t1518 + %t1521 = load ptr, ptr %t1510 + %t1522 = call ptr @realloc(ptr %t1521, i64 %t1520) + store ptr %t1522, ptr %t1510 + store i32 %t1516, ptr %t1509 + br label %put368 +put368: + %t1523 = load ptr, ptr %t1510 + %t1524 = getelementptr inbounds ptr, ptr %t1523, i32 %t1511 + store ptr @.str6920, ptr %t1524 + %t1525 = add i32 %t1511, 1 + store i32 %t1525, ptr %t1508 + %t1526 = load ptr, ptr %t410 + %t1527 = getelementptr inbounds %LSlice, ptr %t1526, i32 0, i32 1 + %t1528 = getelementptr inbounds %LSlice, ptr %t1526, i32 0, i32 2 + %t1529 = getelementptr inbounds %LSlice, ptr %t1526, i32 0, i32 0 + %t1530 = load i32, ptr %t1527 + %t1531 = load i32, ptr %t1528 + %t1532 = icmp sge i32 %t1530, %t1531 + br i1 %t1532, label %grow369, label %put370 +grow369: + %t1533 = mul i32 %t1531, 2 + %t1534 = icmp eq i32 %t1531, 0 + %t1535 = select i1 %t1534, i32 8, i32 %t1533 + %t1536 = getelementptr ptr, ptr null, i32 1 + %t1537 = ptrtoint ptr %t1536 to i64 + %t1538 = zext i32 %t1535 to i64 + %t1539 = mul i64 %t1538, %t1537 + %t1540 = load ptr, ptr %t1529 + %t1541 = call ptr @realloc(ptr %t1540, i64 %t1539) + store ptr %t1541, ptr %t1529 + store i32 %t1535, ptr %t1528 + br label %put370 +put370: + %t1542 = load ptr, ptr %t1529 + %t1543 = getelementptr inbounds ptr, ptr %t1542, i32 %t1530 + store ptr @.str6921, ptr %t1543 + %t1544 = add i32 %t1530, 1 + store i32 %t1544, ptr %t1527 + %t1545 = load ptr, ptr %t410 + %t1546 = getelementptr inbounds %LSlice, ptr %t1545, i32 0, i32 1 + %t1547 = getelementptr inbounds %LSlice, ptr %t1545, i32 0, i32 2 + %t1548 = getelementptr inbounds %LSlice, ptr %t1545, i32 0, i32 0 + %t1549 = load i32, ptr %t1546 + %t1550 = load i32, ptr %t1547 + %t1551 = icmp sge i32 %t1549, %t1550 + br i1 %t1551, label %grow371, label %put372 +grow371: + %t1552 = mul i32 %t1550, 2 + %t1553 = icmp eq i32 %t1550, 0 + %t1554 = select i1 %t1553, i32 8, i32 %t1552 + %t1555 = getelementptr ptr, ptr null, i32 1 + %t1556 = ptrtoint ptr %t1555 to i64 + %t1557 = zext i32 %t1554 to i64 + %t1558 = mul i64 %t1557, %t1556 + %t1559 = load ptr, ptr %t1548 + %t1560 = call ptr @realloc(ptr %t1559, i64 %t1558) + store ptr %t1560, ptr %t1548 + store i32 %t1554, ptr %t1547 + br label %put372 +put372: + %t1561 = load ptr, ptr %t1548 + %t1562 = getelementptr inbounds ptr, ptr %t1561, i32 %t1549 + store ptr @.str6922, ptr %t1562 + %t1563 = add i32 %t1549, 1 + store i32 %t1563, ptr %t1546 + %t1564 = load ptr, ptr %t410 + %t1565 = getelementptr inbounds %LSlice, ptr %t1564, i32 0, i32 1 + %t1566 = getelementptr inbounds %LSlice, ptr %t1564, i32 0, i32 2 + %t1567 = getelementptr inbounds %LSlice, ptr %t1564, i32 0, i32 0 + %t1568 = load i32, ptr %t1565 + %t1569 = load i32, ptr %t1566 + %t1570 = icmp sge i32 %t1568, %t1569 + br i1 %t1570, label %grow373, label %put374 +grow373: + %t1571 = mul i32 %t1569, 2 + %t1572 = icmp eq i32 %t1569, 0 + %t1573 = select i1 %t1572, i32 8, i32 %t1571 + %t1574 = getelementptr ptr, ptr null, i32 1 + %t1575 = ptrtoint ptr %t1574 to i64 + %t1576 = zext i32 %t1573 to i64 + %t1577 = mul i64 %t1576, %t1575 + %t1578 = load ptr, ptr %t1567 + %t1579 = call ptr @realloc(ptr %t1578, i64 %t1577) + store ptr %t1579, ptr %t1567 + store i32 %t1573, ptr %t1566 + br label %put374 +put374: + %t1580 = load ptr, ptr %t1567 + %t1581 = getelementptr inbounds ptr, ptr %t1580, i32 %t1568 + store ptr @.str6923, ptr %t1581 + %t1582 = add i32 %t1568, 1 + store i32 %t1582, ptr %t1565 + %t1583 = load ptr, ptr %t410 + %t1584 = getelementptr inbounds %LSlice, ptr %t1583, i32 0, i32 1 + %t1585 = getelementptr inbounds %LSlice, ptr %t1583, i32 0, i32 2 + %t1586 = getelementptr inbounds %LSlice, ptr %t1583, i32 0, i32 0 + %t1587 = load i32, ptr %t1584 + %t1588 = load i32, ptr %t1585 + %t1589 = icmp sge i32 %t1587, %t1588 + br i1 %t1589, label %grow375, label %put376 +grow375: + %t1590 = mul i32 %t1588, 2 + %t1591 = icmp eq i32 %t1588, 0 + %t1592 = select i1 %t1591, i32 8, i32 %t1590 + %t1593 = getelementptr ptr, ptr null, i32 1 + %t1594 = ptrtoint ptr %t1593 to i64 + %t1595 = zext i32 %t1592 to i64 + %t1596 = mul i64 %t1595, %t1594 + %t1597 = load ptr, ptr %t1586 + %t1598 = call ptr @realloc(ptr %t1597, i64 %t1596) + store ptr %t1598, ptr %t1586 + store i32 %t1592, ptr %t1585 + br label %put376 +put376: + %t1599 = load ptr, ptr %t1586 + %t1600 = getelementptr inbounds ptr, ptr %t1599, i32 %t1587 + store ptr @.str6924, ptr %t1600 + %t1601 = add i32 %t1587, 1 + store i32 %t1601, ptr %t1584 + br label %ifend362 +ifend362: + %t1602 = load ptr, ptr %t1 + %t1603 = call i32 @lp_str_eq(ptr %t1602, ptr @.str6925) + %t1604 = icmp ne i32 %t1603, 0 + br i1 %t1604, label %then377, label %ifend379 +then377: + store ptr @.str6926, ptr %t403 + %t1605 = load ptr, ptr %t410 + %t1606 = getelementptr inbounds %LSlice, ptr %t1605, i32 0, i32 1 + %t1607 = getelementptr inbounds %LSlice, ptr %t1605, i32 0, i32 2 + %t1608 = getelementptr inbounds %LSlice, ptr %t1605, i32 0, i32 0 + %t1609 = load i32, ptr %t1606 + %t1610 = load i32, ptr %t1607 + %t1611 = icmp sge i32 %t1609, %t1610 + br i1 %t1611, label %grow380, label %put381 +grow380: + %t1612 = mul i32 %t1610, 2 + %t1613 = icmp eq i32 %t1610, 0 + %t1614 = select i1 %t1613, i32 8, i32 %t1612 + %t1615 = getelementptr ptr, ptr null, i32 1 + %t1616 = ptrtoint ptr %t1615 to i64 + %t1617 = zext i32 %t1614 to i64 + %t1618 = mul i64 %t1617, %t1616 + %t1619 = load ptr, ptr %t1608 + %t1620 = call ptr @realloc(ptr %t1619, i64 %t1618) + store ptr %t1620, ptr %t1608 + store i32 %t1614, ptr %t1607 + br label %put381 +put381: + %t1621 = load ptr, ptr %t1608 + %t1622 = getelementptr inbounds ptr, ptr %t1621, i32 %t1609 + store ptr @.str6927, ptr %t1622 + %t1623 = add i32 %t1609, 1 + store i32 %t1623, ptr %t1606 + %t1624 = load ptr, ptr %t410 + %t1625 = getelementptr inbounds %LSlice, ptr %t1624, i32 0, i32 1 + %t1626 = getelementptr inbounds %LSlice, ptr %t1624, i32 0, i32 2 + %t1627 = getelementptr inbounds %LSlice, ptr %t1624, i32 0, i32 0 + %t1628 = load i32, ptr %t1625 + %t1629 = load i32, ptr %t1626 + %t1630 = icmp sge i32 %t1628, %t1629 + br i1 %t1630, label %grow382, label %put383 +grow382: + %t1631 = mul i32 %t1629, 2 + %t1632 = icmp eq i32 %t1629, 0 + %t1633 = select i1 %t1632, i32 8, i32 %t1631 + %t1634 = getelementptr ptr, ptr null, i32 1 + %t1635 = ptrtoint ptr %t1634 to i64 + %t1636 = zext i32 %t1633 to i64 + %t1637 = mul i64 %t1636, %t1635 + %t1638 = load ptr, ptr %t1627 + %t1639 = call ptr @realloc(ptr %t1638, i64 %t1637) + store ptr %t1639, ptr %t1627 + store i32 %t1633, ptr %t1626 + br label %put383 +put383: + %t1640 = load ptr, ptr %t1627 + %t1641 = getelementptr inbounds ptr, ptr %t1640, i32 %t1628 + store ptr @.str6928, ptr %t1641 + %t1642 = add i32 %t1628, 1 + store i32 %t1642, ptr %t1625 + %t1643 = load ptr, ptr %t410 + %t1644 = getelementptr inbounds %LSlice, ptr %t1643, i32 0, i32 1 + %t1645 = getelementptr inbounds %LSlice, ptr %t1643, i32 0, i32 2 + %t1646 = getelementptr inbounds %LSlice, ptr %t1643, i32 0, i32 0 + %t1647 = load i32, ptr %t1644 + %t1648 = load i32, ptr %t1645 + %t1649 = icmp sge i32 %t1647, %t1648 + br i1 %t1649, label %grow384, label %put385 +grow384: + %t1650 = mul i32 %t1648, 2 + %t1651 = icmp eq i32 %t1648, 0 + %t1652 = select i1 %t1651, i32 8, i32 %t1650 + %t1653 = getelementptr ptr, ptr null, i32 1 + %t1654 = ptrtoint ptr %t1653 to i64 + %t1655 = zext i32 %t1652 to i64 + %t1656 = mul i64 %t1655, %t1654 + %t1657 = load ptr, ptr %t1646 + %t1658 = call ptr @realloc(ptr %t1657, i64 %t1656) + store ptr %t1658, ptr %t1646 + store i32 %t1652, ptr %t1645 + br label %put385 +put385: + %t1659 = load ptr, ptr %t1646 + %t1660 = getelementptr inbounds ptr, ptr %t1659, i32 %t1647 + store ptr @.str6929, ptr %t1660 + %t1661 = add i32 %t1647, 1 + store i32 %t1661, ptr %t1644 + br label %ifend379 +ifend379: + %t1662 = load ptr, ptr %t1 + %t1663 = call i32 @lp_str_eq(ptr %t1662, ptr @.str6930) + %t1664 = icmp ne i32 %t1663, 0 + br i1 %t1664, label %then386, label %ifend388 +then386: + store ptr @.str6931, ptr %t403 + %t1665 = load ptr, ptr %t410 + %t1666 = getelementptr inbounds %LSlice, ptr %t1665, i32 0, i32 1 + %t1667 = getelementptr inbounds %LSlice, ptr %t1665, i32 0, i32 2 + %t1668 = getelementptr inbounds %LSlice, ptr %t1665, i32 0, i32 0 + %t1669 = load i32, ptr %t1666 + %t1670 = load i32, ptr %t1667 + %t1671 = icmp sge i32 %t1669, %t1670 + br i1 %t1671, label %grow389, label %put390 +grow389: + %t1672 = mul i32 %t1670, 2 + %t1673 = icmp eq i32 %t1670, 0 + %t1674 = select i1 %t1673, i32 8, i32 %t1672 + %t1675 = getelementptr ptr, ptr null, i32 1 + %t1676 = ptrtoint ptr %t1675 to i64 + %t1677 = zext i32 %t1674 to i64 + %t1678 = mul i64 %t1677, %t1676 + %t1679 = load ptr, ptr %t1668 + %t1680 = call ptr @realloc(ptr %t1679, i64 %t1678) + store ptr %t1680, ptr %t1668 + store i32 %t1674, ptr %t1667 + br label %put390 +put390: + %t1681 = load ptr, ptr %t1668 + %t1682 = getelementptr inbounds ptr, ptr %t1681, i32 %t1669 + store ptr @.str6932, ptr %t1682 + %t1683 = add i32 %t1669, 1 + store i32 %t1683, ptr %t1666 + %t1684 = load ptr, ptr %t410 + %t1685 = getelementptr inbounds %LSlice, ptr %t1684, i32 0, i32 1 + %t1686 = getelementptr inbounds %LSlice, ptr %t1684, i32 0, i32 2 + %t1687 = getelementptr inbounds %LSlice, ptr %t1684, i32 0, i32 0 + %t1688 = load i32, ptr %t1685 + %t1689 = load i32, ptr %t1686 + %t1690 = icmp sge i32 %t1688, %t1689 + br i1 %t1690, label %grow391, label %put392 +grow391: + %t1691 = mul i32 %t1689, 2 + %t1692 = icmp eq i32 %t1689, 0 + %t1693 = select i1 %t1692, i32 8, i32 %t1691 + %t1694 = getelementptr ptr, ptr null, i32 1 + %t1695 = ptrtoint ptr %t1694 to i64 + %t1696 = zext i32 %t1693 to i64 + %t1697 = mul i64 %t1696, %t1695 + %t1698 = load ptr, ptr %t1687 + %t1699 = call ptr @realloc(ptr %t1698, i64 %t1697) + store ptr %t1699, ptr %t1687 + store i32 %t1693, ptr %t1686 + br label %put392 +put392: + %t1700 = load ptr, ptr %t1687 + %t1701 = getelementptr inbounds ptr, ptr %t1700, i32 %t1688 + store ptr @.str6933, ptr %t1701 + %t1702 = add i32 %t1688, 1 + store i32 %t1702, ptr %t1685 + %t1703 = load ptr, ptr %t410 + %t1704 = getelementptr inbounds %LSlice, ptr %t1703, i32 0, i32 1 + %t1705 = getelementptr inbounds %LSlice, ptr %t1703, i32 0, i32 2 + %t1706 = getelementptr inbounds %LSlice, ptr %t1703, i32 0, i32 0 + %t1707 = load i32, ptr %t1704 + %t1708 = load i32, ptr %t1705 + %t1709 = icmp sge i32 %t1707, %t1708 + br i1 %t1709, label %grow393, label %put394 +grow393: + %t1710 = mul i32 %t1708, 2 + %t1711 = icmp eq i32 %t1708, 0 + %t1712 = select i1 %t1711, i32 8, i32 %t1710 + %t1713 = getelementptr ptr, ptr null, i32 1 + %t1714 = ptrtoint ptr %t1713 to i64 + %t1715 = zext i32 %t1712 to i64 + %t1716 = mul i64 %t1715, %t1714 + %t1717 = load ptr, ptr %t1706 + %t1718 = call ptr @realloc(ptr %t1717, i64 %t1716) + store ptr %t1718, ptr %t1706 + store i32 %t1712, ptr %t1705 + br label %put394 +put394: + %t1719 = load ptr, ptr %t1706 + %t1720 = getelementptr inbounds ptr, ptr %t1719, i32 %t1707 + store ptr @.str6934, ptr %t1720 + %t1721 = add i32 %t1707, 1 + store i32 %t1721, ptr %t1704 + %t1722 = load ptr, ptr %t410 + %t1723 = getelementptr inbounds %LSlice, ptr %t1722, i32 0, i32 1 + %t1724 = getelementptr inbounds %LSlice, ptr %t1722, i32 0, i32 2 + %t1725 = getelementptr inbounds %LSlice, ptr %t1722, i32 0, i32 0 + %t1726 = load i32, ptr %t1723 + %t1727 = load i32, ptr %t1724 + %t1728 = icmp sge i32 %t1726, %t1727 + br i1 %t1728, label %grow395, label %put396 +grow395: + %t1729 = mul i32 %t1727, 2 + %t1730 = icmp eq i32 %t1727, 0 + %t1731 = select i1 %t1730, i32 8, i32 %t1729 + %t1732 = getelementptr ptr, ptr null, i32 1 + %t1733 = ptrtoint ptr %t1732 to i64 + %t1734 = zext i32 %t1731 to i64 + %t1735 = mul i64 %t1734, %t1733 + %t1736 = load ptr, ptr %t1725 + %t1737 = call ptr @realloc(ptr %t1736, i64 %t1735) + store ptr %t1737, ptr %t1725 + store i32 %t1731, ptr %t1724 + br label %put396 +put396: + %t1738 = load ptr, ptr %t1725 + %t1739 = getelementptr inbounds ptr, ptr %t1738, i32 %t1726 + store ptr @.str6935, ptr %t1739 + %t1740 = add i32 %t1726, 1 + store i32 %t1740, ptr %t1723 + br label %ifend388 +ifend388: + %t1741 = load ptr, ptr %t1 + %t1742 = call i32 @lp_str_eq(ptr %t1741, ptr @.str6936) + %t1743 = icmp ne i32 %t1742, 0 + br i1 %t1743, label %then397, label %ifend399 +then397: + store ptr @.str6937, ptr %t403 + %t1744 = load ptr, ptr %t410 + %t1745 = getelementptr inbounds %LSlice, ptr %t1744, i32 0, i32 1 + %t1746 = getelementptr inbounds %LSlice, ptr %t1744, i32 0, i32 2 + %t1747 = getelementptr inbounds %LSlice, ptr %t1744, i32 0, i32 0 + %t1748 = load i32, ptr %t1745 + %t1749 = load i32, ptr %t1746 + %t1750 = icmp sge i32 %t1748, %t1749 + br i1 %t1750, label %grow400, label %put401 +grow400: + %t1751 = mul i32 %t1749, 2 + %t1752 = icmp eq i32 %t1749, 0 + %t1753 = select i1 %t1752, i32 8, i32 %t1751 + %t1754 = getelementptr ptr, ptr null, i32 1 + %t1755 = ptrtoint ptr %t1754 to i64 + %t1756 = zext i32 %t1753 to i64 + %t1757 = mul i64 %t1756, %t1755 + %t1758 = load ptr, ptr %t1747 + %t1759 = call ptr @realloc(ptr %t1758, i64 %t1757) + store ptr %t1759, ptr %t1747 + store i32 %t1753, ptr %t1746 + br label %put401 +put401: + %t1760 = load ptr, ptr %t1747 + %t1761 = getelementptr inbounds ptr, ptr %t1760, i32 %t1748 + store ptr @.str6938, ptr %t1761 + %t1762 = add i32 %t1748, 1 + store i32 %t1762, ptr %t1745 + %t1763 = load ptr, ptr %t410 + %t1764 = getelementptr inbounds %LSlice, ptr %t1763, i32 0, i32 1 + %t1765 = getelementptr inbounds %LSlice, ptr %t1763, i32 0, i32 2 + %t1766 = getelementptr inbounds %LSlice, ptr %t1763, i32 0, i32 0 + %t1767 = load i32, ptr %t1764 + %t1768 = load i32, ptr %t1765 + %t1769 = icmp sge i32 %t1767, %t1768 + br i1 %t1769, label %grow402, label %put403 +grow402: + %t1770 = mul i32 %t1768, 2 + %t1771 = icmp eq i32 %t1768, 0 + %t1772 = select i1 %t1771, i32 8, i32 %t1770 + %t1773 = getelementptr ptr, ptr null, i32 1 + %t1774 = ptrtoint ptr %t1773 to i64 + %t1775 = zext i32 %t1772 to i64 + %t1776 = mul i64 %t1775, %t1774 + %t1777 = load ptr, ptr %t1766 + %t1778 = call ptr @realloc(ptr %t1777, i64 %t1776) + store ptr %t1778, ptr %t1766 + store i32 %t1772, ptr %t1765 + br label %put403 +put403: + %t1779 = load ptr, ptr %t1766 + %t1780 = getelementptr inbounds ptr, ptr %t1779, i32 %t1767 + store ptr @.str6939, ptr %t1780 + %t1781 = add i32 %t1767, 1 + store i32 %t1781, ptr %t1764 + %t1782 = load ptr, ptr %t410 + %t1783 = getelementptr inbounds %LSlice, ptr %t1782, i32 0, i32 1 + %t1784 = getelementptr inbounds %LSlice, ptr %t1782, i32 0, i32 2 + %t1785 = getelementptr inbounds %LSlice, ptr %t1782, i32 0, i32 0 + %t1786 = load i32, ptr %t1783 + %t1787 = load i32, ptr %t1784 + %t1788 = icmp sge i32 %t1786, %t1787 + br i1 %t1788, label %grow404, label %put405 +grow404: + %t1789 = mul i32 %t1787, 2 + %t1790 = icmp eq i32 %t1787, 0 + %t1791 = select i1 %t1790, i32 8, i32 %t1789 + %t1792 = getelementptr ptr, ptr null, i32 1 + %t1793 = ptrtoint ptr %t1792 to i64 + %t1794 = zext i32 %t1791 to i64 + %t1795 = mul i64 %t1794, %t1793 + %t1796 = load ptr, ptr %t1785 + %t1797 = call ptr @realloc(ptr %t1796, i64 %t1795) + store ptr %t1797, ptr %t1785 + store i32 %t1791, ptr %t1784 + br label %put405 +put405: + %t1798 = load ptr, ptr %t1785 + %t1799 = getelementptr inbounds ptr, ptr %t1798, i32 %t1786 + store ptr @.str6940, ptr %t1799 + %t1800 = add i32 %t1786, 1 + store i32 %t1800, ptr %t1783 + %t1801 = load ptr, ptr %t410 + %t1802 = getelementptr inbounds %LSlice, ptr %t1801, i32 0, i32 1 + %t1803 = getelementptr inbounds %LSlice, ptr %t1801, i32 0, i32 2 + %t1804 = getelementptr inbounds %LSlice, ptr %t1801, i32 0, i32 0 + %t1805 = load i32, ptr %t1802 + %t1806 = load i32, ptr %t1803 + %t1807 = icmp sge i32 %t1805, %t1806 + br i1 %t1807, label %grow406, label %put407 +grow406: + %t1808 = mul i32 %t1806, 2 + %t1809 = icmp eq i32 %t1806, 0 + %t1810 = select i1 %t1809, i32 8, i32 %t1808 + %t1811 = getelementptr ptr, ptr null, i32 1 + %t1812 = ptrtoint ptr %t1811 to i64 + %t1813 = zext i32 %t1810 to i64 + %t1814 = mul i64 %t1813, %t1812 + %t1815 = load ptr, ptr %t1804 + %t1816 = call ptr @realloc(ptr %t1815, i64 %t1814) + store ptr %t1816, ptr %t1804 + store i32 %t1810, ptr %t1803 + br label %put407 +put407: + %t1817 = load ptr, ptr %t1804 + %t1818 = getelementptr inbounds ptr, ptr %t1817, i32 %t1805 + store ptr @.str6941, ptr %t1818 + %t1819 = add i32 %t1805, 1 + store i32 %t1819, ptr %t1802 + %t1820 = load ptr, ptr %t410 + %t1821 = getelementptr inbounds %LSlice, ptr %t1820, i32 0, i32 1 + %t1822 = getelementptr inbounds %LSlice, ptr %t1820, i32 0, i32 2 + %t1823 = getelementptr inbounds %LSlice, ptr %t1820, i32 0, i32 0 + %t1824 = load i32, ptr %t1821 + %t1825 = load i32, ptr %t1822 + %t1826 = icmp sge i32 %t1824, %t1825 + br i1 %t1826, label %grow408, label %put409 +grow408: + %t1827 = mul i32 %t1825, 2 + %t1828 = icmp eq i32 %t1825, 0 + %t1829 = select i1 %t1828, i32 8, i32 %t1827 + %t1830 = getelementptr ptr, ptr null, i32 1 + %t1831 = ptrtoint ptr %t1830 to i64 + %t1832 = zext i32 %t1829 to i64 + %t1833 = mul i64 %t1832, %t1831 + %t1834 = load ptr, ptr %t1823 + %t1835 = call ptr @realloc(ptr %t1834, i64 %t1833) + store ptr %t1835, ptr %t1823 + store i32 %t1829, ptr %t1822 + br label %put409 +put409: + %t1836 = load ptr, ptr %t1823 + %t1837 = getelementptr inbounds ptr, ptr %t1836, i32 %t1824 + store ptr @.str6942, ptr %t1837 + %t1838 = add i32 %t1824, 1 + store i32 %t1838, ptr %t1821 + br label %ifend399 +ifend399: + %t1839 = load ptr, ptr %t1 + %t1840 = call i32 @lp_str_eq(ptr %t1839, ptr @.str6943) + %t1841 = icmp ne i32 %t1840, 0 + br i1 %t1841, label %then410, label %ifend412 +then410: + store ptr @.str6944, ptr %t403 + %t1842 = load ptr, ptr %t410 + %t1843 = getelementptr inbounds %LSlice, ptr %t1842, i32 0, i32 1 + %t1844 = getelementptr inbounds %LSlice, ptr %t1842, i32 0, i32 2 + %t1845 = getelementptr inbounds %LSlice, ptr %t1842, i32 0, i32 0 + %t1846 = load i32, ptr %t1843 + %t1847 = load i32, ptr %t1844 + %t1848 = icmp sge i32 %t1846, %t1847 + br i1 %t1848, label %grow413, label %put414 +grow413: + %t1849 = mul i32 %t1847, 2 + %t1850 = icmp eq i32 %t1847, 0 + %t1851 = select i1 %t1850, i32 8, i32 %t1849 + %t1852 = getelementptr ptr, ptr null, i32 1 + %t1853 = ptrtoint ptr %t1852 to i64 + %t1854 = zext i32 %t1851 to i64 + %t1855 = mul i64 %t1854, %t1853 + %t1856 = load ptr, ptr %t1845 + %t1857 = call ptr @realloc(ptr %t1856, i64 %t1855) + store ptr %t1857, ptr %t1845 + store i32 %t1851, ptr %t1844 + br label %put414 +put414: + %t1858 = load ptr, ptr %t1845 + %t1859 = getelementptr inbounds ptr, ptr %t1858, i32 %t1846 + store ptr @.str6945, ptr %t1859 + %t1860 = add i32 %t1846, 1 + store i32 %t1860, ptr %t1843 + %t1861 = load ptr, ptr %t410 + %t1862 = getelementptr inbounds %LSlice, ptr %t1861, i32 0, i32 1 + %t1863 = getelementptr inbounds %LSlice, ptr %t1861, i32 0, i32 2 + %t1864 = getelementptr inbounds %LSlice, ptr %t1861, i32 0, i32 0 + %t1865 = load i32, ptr %t1862 + %t1866 = load i32, ptr %t1863 + %t1867 = icmp sge i32 %t1865, %t1866 + br i1 %t1867, label %grow415, label %put416 +grow415: + %t1868 = mul i32 %t1866, 2 + %t1869 = icmp eq i32 %t1866, 0 + %t1870 = select i1 %t1869, i32 8, i32 %t1868 + %t1871 = getelementptr ptr, ptr null, i32 1 + %t1872 = ptrtoint ptr %t1871 to i64 + %t1873 = zext i32 %t1870 to i64 + %t1874 = mul i64 %t1873, %t1872 + %t1875 = load ptr, ptr %t1864 + %t1876 = call ptr @realloc(ptr %t1875, i64 %t1874) + store ptr %t1876, ptr %t1864 + store i32 %t1870, ptr %t1863 + br label %put416 +put416: + %t1877 = load ptr, ptr %t1864 + %t1878 = getelementptr inbounds ptr, ptr %t1877, i32 %t1865 + store ptr @.str6946, ptr %t1878 + %t1879 = add i32 %t1865, 1 + store i32 %t1879, ptr %t1862 + br label %ifend412 +ifend412: + %t1880 = load ptr, ptr %t1 + %t1881 = call i32 @lp_str_eq(ptr %t1880, ptr @.str6947) + %t1882 = icmp ne i32 %t1881, 0 + br i1 %t1882, label %then417, label %ifend419 +then417: + store ptr @.str6948, ptr %t403 + %t1883 = load ptr, ptr %t410 + %t1884 = getelementptr inbounds %LSlice, ptr %t1883, i32 0, i32 1 + %t1885 = getelementptr inbounds %LSlice, ptr %t1883, i32 0, i32 2 + %t1886 = getelementptr inbounds %LSlice, ptr %t1883, i32 0, i32 0 + %t1887 = load i32, ptr %t1884 + %t1888 = load i32, ptr %t1885 + %t1889 = icmp sge i32 %t1887, %t1888 + br i1 %t1889, label %grow420, label %put421 +grow420: + %t1890 = mul i32 %t1888, 2 + %t1891 = icmp eq i32 %t1888, 0 + %t1892 = select i1 %t1891, i32 8, i32 %t1890 + %t1893 = getelementptr ptr, ptr null, i32 1 + %t1894 = ptrtoint ptr %t1893 to i64 + %t1895 = zext i32 %t1892 to i64 + %t1896 = mul i64 %t1895, %t1894 + %t1897 = load ptr, ptr %t1886 + %t1898 = call ptr @realloc(ptr %t1897, i64 %t1896) + store ptr %t1898, ptr %t1886 + store i32 %t1892, ptr %t1885 + br label %put421 +put421: + %t1899 = load ptr, ptr %t1886 + %t1900 = getelementptr inbounds ptr, ptr %t1899, i32 %t1887 + store ptr @.str6949, ptr %t1900 + %t1901 = add i32 %t1887, 1 + store i32 %t1901, ptr %t1884 + %t1902 = load ptr, ptr %t410 + %t1903 = getelementptr inbounds %LSlice, ptr %t1902, i32 0, i32 1 + %t1904 = getelementptr inbounds %LSlice, ptr %t1902, i32 0, i32 2 + %t1905 = getelementptr inbounds %LSlice, ptr %t1902, i32 0, i32 0 + %t1906 = load i32, ptr %t1903 + %t1907 = load i32, ptr %t1904 + %t1908 = icmp sge i32 %t1906, %t1907 + br i1 %t1908, label %grow422, label %put423 +grow422: + %t1909 = mul i32 %t1907, 2 + %t1910 = icmp eq i32 %t1907, 0 + %t1911 = select i1 %t1910, i32 8, i32 %t1909 + %t1912 = getelementptr ptr, ptr null, i32 1 + %t1913 = ptrtoint ptr %t1912 to i64 + %t1914 = zext i32 %t1911 to i64 + %t1915 = mul i64 %t1914, %t1913 + %t1916 = load ptr, ptr %t1905 + %t1917 = call ptr @realloc(ptr %t1916, i64 %t1915) + store ptr %t1917, ptr %t1905 + store i32 %t1911, ptr %t1904 + br label %put423 +put423: + %t1918 = load ptr, ptr %t1905 + %t1919 = getelementptr inbounds ptr, ptr %t1918, i32 %t1906 + store ptr @.str6950, ptr %t1919 + %t1920 = add i32 %t1906, 1 + store i32 %t1920, ptr %t1903 + %t1921 = load ptr, ptr %t410 + %t1922 = getelementptr inbounds %LSlice, ptr %t1921, i32 0, i32 1 + %t1923 = getelementptr inbounds %LSlice, ptr %t1921, i32 0, i32 2 + %t1924 = getelementptr inbounds %LSlice, ptr %t1921, i32 0, i32 0 + %t1925 = load i32, ptr %t1922 + %t1926 = load i32, ptr %t1923 + %t1927 = icmp sge i32 %t1925, %t1926 + br i1 %t1927, label %grow424, label %put425 +grow424: + %t1928 = mul i32 %t1926, 2 + %t1929 = icmp eq i32 %t1926, 0 + %t1930 = select i1 %t1929, i32 8, i32 %t1928 + %t1931 = getelementptr ptr, ptr null, i32 1 + %t1932 = ptrtoint ptr %t1931 to i64 + %t1933 = zext i32 %t1930 to i64 + %t1934 = mul i64 %t1933, %t1932 + %t1935 = load ptr, ptr %t1924 + %t1936 = call ptr @realloc(ptr %t1935, i64 %t1934) + store ptr %t1936, ptr %t1924 + store i32 %t1930, ptr %t1923 + br label %put425 +put425: + %t1937 = load ptr, ptr %t1924 + %t1938 = getelementptr inbounds ptr, ptr %t1937, i32 %t1925 + store ptr @.str6951, ptr %t1938 + %t1939 = add i32 %t1925, 1 + store i32 %t1939, ptr %t1922 + %t1940 = load ptr, ptr %t410 + %t1941 = getelementptr inbounds %LSlice, ptr %t1940, i32 0, i32 1 + %t1942 = getelementptr inbounds %LSlice, ptr %t1940, i32 0, i32 2 + %t1943 = getelementptr inbounds %LSlice, ptr %t1940, i32 0, i32 0 + %t1944 = load i32, ptr %t1941 + %t1945 = load i32, ptr %t1942 + %t1946 = icmp sge i32 %t1944, %t1945 + br i1 %t1946, label %grow426, label %put427 +grow426: + %t1947 = mul i32 %t1945, 2 + %t1948 = icmp eq i32 %t1945, 0 + %t1949 = select i1 %t1948, i32 8, i32 %t1947 + %t1950 = getelementptr ptr, ptr null, i32 1 + %t1951 = ptrtoint ptr %t1950 to i64 + %t1952 = zext i32 %t1949 to i64 + %t1953 = mul i64 %t1952, %t1951 + %t1954 = load ptr, ptr %t1943 + %t1955 = call ptr @realloc(ptr %t1954, i64 %t1953) + store ptr %t1955, ptr %t1943 + store i32 %t1949, ptr %t1942 + br label %put427 +put427: + %t1956 = load ptr, ptr %t1943 + %t1957 = getelementptr inbounds ptr, ptr %t1956, i32 %t1944 + store ptr @.str6952, ptr %t1957 + %t1958 = add i32 %t1944, 1 + store i32 %t1958, ptr %t1941 + br label %ifend419 +ifend419: + %t1959 = load ptr, ptr %t1 + %t1960 = call i32 @lp_str_eq(ptr %t1959, ptr @.str6953) + %t1961 = icmp ne i32 %t1960, 0 + br i1 %t1961, label %then428, label %ifend430 +then428: + store ptr @.str6954, ptr %t403 + br label %ifend430 +ifend430: + %t1962 = load ptr, ptr %t1 + %t1963 = call i32 @lp_str_eq(ptr %t1962, ptr @.str6955) + %t1964 = icmp ne i32 %t1963, 0 + br i1 %t1964, label %then431, label %ifend433 +then431: + store ptr @.str6956, ptr %t403 + %t1965 = load ptr, ptr %t410 + %t1966 = getelementptr inbounds %LSlice, ptr %t1965, i32 0, i32 1 + %t1967 = getelementptr inbounds %LSlice, ptr %t1965, i32 0, i32 2 + %t1968 = getelementptr inbounds %LSlice, ptr %t1965, i32 0, i32 0 + %t1969 = load i32, ptr %t1966 + %t1970 = load i32, ptr %t1967 + %t1971 = icmp sge i32 %t1969, %t1970 + br i1 %t1971, label %grow434, label %put435 +grow434: + %t1972 = mul i32 %t1970, 2 + %t1973 = icmp eq i32 %t1970, 0 + %t1974 = select i1 %t1973, i32 8, i32 %t1972 + %t1975 = getelementptr ptr, ptr null, i32 1 + %t1976 = ptrtoint ptr %t1975 to i64 + %t1977 = zext i32 %t1974 to i64 + %t1978 = mul i64 %t1977, %t1976 + %t1979 = load ptr, ptr %t1968 + %t1980 = call ptr @realloc(ptr %t1979, i64 %t1978) + store ptr %t1980, ptr %t1968 + store i32 %t1974, ptr %t1967 + br label %put435 +put435: + %t1981 = load ptr, ptr %t1968 + %t1982 = getelementptr inbounds ptr, ptr %t1981, i32 %t1969 + store ptr @.str6957, ptr %t1982 + %t1983 = add i32 %t1969, 1 + store i32 %t1983, ptr %t1966 + br label %ifend433 +ifend433: + %t1984 = load ptr, ptr %t1 + %t1985 = call i32 @lp_str_eq(ptr %t1984, ptr @.str6958) + %t1986 = icmp ne i32 %t1985, 0 + br i1 %t1986, label %then436, label %ifend438 +then436: + store ptr @.str6959, ptr %t403 + %t1987 = load ptr, ptr %t410 + %t1988 = getelementptr inbounds %LSlice, ptr %t1987, i32 0, i32 1 + %t1989 = getelementptr inbounds %LSlice, ptr %t1987, i32 0, i32 2 + %t1990 = getelementptr inbounds %LSlice, ptr %t1987, i32 0, i32 0 + %t1991 = load i32, ptr %t1988 + %t1992 = load i32, ptr %t1989 + %t1993 = icmp sge i32 %t1991, %t1992 + br i1 %t1993, label %grow439, label %put440 +grow439: + %t1994 = mul i32 %t1992, 2 + %t1995 = icmp eq i32 %t1992, 0 + %t1996 = select i1 %t1995, i32 8, i32 %t1994 + %t1997 = getelementptr ptr, ptr null, i32 1 + %t1998 = ptrtoint ptr %t1997 to i64 + %t1999 = zext i32 %t1996 to i64 + %t2000 = mul i64 %t1999, %t1998 + %t2001 = load ptr, ptr %t1990 + %t2002 = call ptr @realloc(ptr %t2001, i64 %t2000) + store ptr %t2002, ptr %t1990 + store i32 %t1996, ptr %t1989 + br label %put440 +put440: + %t2003 = load ptr, ptr %t1990 + %t2004 = getelementptr inbounds ptr, ptr %t2003, i32 %t1991 + store ptr @.str6960, ptr %t2004 + %t2005 = add i32 %t1991, 1 + store i32 %t2005, ptr %t1988 + br label %ifend438 +ifend438: + %t2006 = load ptr, ptr %t1 + %t2007 = call i32 @lp_str_eq(ptr %t2006, ptr @.str6961) + %t2008 = icmp ne i32 %t2007, 0 + br i1 %t2008, label %then441, label %ifend443 +then441: + store ptr @.str6962, ptr %t403 + %t2009 = load ptr, ptr %t410 + %t2010 = getelementptr inbounds %LSlice, ptr %t2009, i32 0, i32 1 + %t2011 = getelementptr inbounds %LSlice, ptr %t2009, i32 0, i32 2 + %t2012 = getelementptr inbounds %LSlice, ptr %t2009, i32 0, i32 0 + %t2013 = load i32, ptr %t2010 + %t2014 = load i32, ptr %t2011 + %t2015 = icmp sge i32 %t2013, %t2014 + br i1 %t2015, label %grow444, label %put445 +grow444: + %t2016 = mul i32 %t2014, 2 + %t2017 = icmp eq i32 %t2014, 0 + %t2018 = select i1 %t2017, i32 8, i32 %t2016 + %t2019 = getelementptr ptr, ptr null, i32 1 + %t2020 = ptrtoint ptr %t2019 to i64 + %t2021 = zext i32 %t2018 to i64 + %t2022 = mul i64 %t2021, %t2020 + %t2023 = load ptr, ptr %t2012 + %t2024 = call ptr @realloc(ptr %t2023, i64 %t2022) + store ptr %t2024, ptr %t2012 + store i32 %t2018, ptr %t2011 + br label %put445 +put445: + %t2025 = load ptr, ptr %t2012 + %t2026 = getelementptr inbounds ptr, ptr %t2025, i32 %t2013 + store ptr @.str6963, ptr %t2026 + %t2027 = add i32 %t2013, 1 + store i32 %t2027, ptr %t2010 + %t2028 = load ptr, ptr %t410 + %t2029 = getelementptr inbounds %LSlice, ptr %t2028, i32 0, i32 1 + %t2030 = getelementptr inbounds %LSlice, ptr %t2028, i32 0, i32 2 + %t2031 = getelementptr inbounds %LSlice, ptr %t2028, i32 0, i32 0 + %t2032 = load i32, ptr %t2029 + %t2033 = load i32, ptr %t2030 + %t2034 = icmp sge i32 %t2032, %t2033 + br i1 %t2034, label %grow446, label %put447 +grow446: + %t2035 = mul i32 %t2033, 2 + %t2036 = icmp eq i32 %t2033, 0 + %t2037 = select i1 %t2036, i32 8, i32 %t2035 + %t2038 = getelementptr ptr, ptr null, i32 1 + %t2039 = ptrtoint ptr %t2038 to i64 + %t2040 = zext i32 %t2037 to i64 + %t2041 = mul i64 %t2040, %t2039 + %t2042 = load ptr, ptr %t2031 + %t2043 = call ptr @realloc(ptr %t2042, i64 %t2041) + store ptr %t2043, ptr %t2031 + store i32 %t2037, ptr %t2030 + br label %put447 +put447: + %t2044 = load ptr, ptr %t2031 + %t2045 = getelementptr inbounds ptr, ptr %t2044, i32 %t2032 + store ptr @.str6964, ptr %t2045 + %t2046 = add i32 %t2032, 1 + store i32 %t2046, ptr %t2029 + br label %ifend443 +ifend443: + br label %ifend208 +ifend208: + %t2047 = load ptr, ptr %t0 + %t2048 = call i32 @lp_str_eq(ptr %t2047, ptr @.str6965) + %t2049 = icmp ne i32 %t2048, 0 + br i1 %t2049, label %then448, label %ifend450 +then448: + %t2050 = load ptr, ptr %t1 + %t2051 = call i32 @lp_str_eq(ptr %t2050, ptr @.str6966) + %t2052 = icmp ne i32 %t2051, 0 + br i1 %t2052, label %then451, label %ifend453 +then451: + store ptr @.str6967, ptr %t403 + %t2053 = load ptr, ptr %t410 + %t2054 = getelementptr inbounds %LSlice, ptr %t2053, i32 0, i32 1 + %t2055 = getelementptr inbounds %LSlice, ptr %t2053, i32 0, i32 2 + %t2056 = getelementptr inbounds %LSlice, ptr %t2053, i32 0, i32 0 + %t2057 = load i32, ptr %t2054 + %t2058 = load i32, ptr %t2055 + %t2059 = icmp sge i32 %t2057, %t2058 + br i1 %t2059, label %grow454, label %put455 +grow454: + %t2060 = mul i32 %t2058, 2 + %t2061 = icmp eq i32 %t2058, 0 + %t2062 = select i1 %t2061, i32 8, i32 %t2060 + %t2063 = getelementptr ptr, ptr null, i32 1 + %t2064 = ptrtoint ptr %t2063 to i64 + %t2065 = zext i32 %t2062 to i64 + %t2066 = mul i64 %t2065, %t2064 + %t2067 = load ptr, ptr %t2056 + %t2068 = call ptr @realloc(ptr %t2067, i64 %t2066) + store ptr %t2068, ptr %t2056 + store i32 %t2062, ptr %t2055 + br label %put455 +put455: + %t2069 = load ptr, ptr %t2056 + %t2070 = getelementptr inbounds ptr, ptr %t2069, i32 %t2057 + store ptr @.str6968, ptr %t2070 + %t2071 = add i32 %t2057, 1 + store i32 %t2071, ptr %t2054 + %t2072 = load ptr, ptr %t410 + %t2073 = getelementptr inbounds %LSlice, ptr %t2072, i32 0, i32 1 + %t2074 = getelementptr inbounds %LSlice, ptr %t2072, i32 0, i32 2 + %t2075 = getelementptr inbounds %LSlice, ptr %t2072, i32 0, i32 0 + %t2076 = load i32, ptr %t2073 + %t2077 = load i32, ptr %t2074 + %t2078 = icmp sge i32 %t2076, %t2077 + br i1 %t2078, label %grow456, label %put457 +grow456: + %t2079 = mul i32 %t2077, 2 + %t2080 = icmp eq i32 %t2077, 0 + %t2081 = select i1 %t2080, i32 8, i32 %t2079 + %t2082 = getelementptr ptr, ptr null, i32 1 + %t2083 = ptrtoint ptr %t2082 to i64 + %t2084 = zext i32 %t2081 to i64 + %t2085 = mul i64 %t2084, %t2083 + %t2086 = load ptr, ptr %t2075 + %t2087 = call ptr @realloc(ptr %t2086, i64 %t2085) + store ptr %t2087, ptr %t2075 + store i32 %t2081, ptr %t2074 + br label %put457 +put457: + %t2088 = load ptr, ptr %t2075 + %t2089 = getelementptr inbounds ptr, ptr %t2088, i32 %t2076 + store ptr @.str6969, ptr %t2089 + %t2090 = add i32 %t2076, 1 + store i32 %t2090, ptr %t2073 + %t2091 = load ptr, ptr %t410 + %t2092 = getelementptr inbounds %LSlice, ptr %t2091, i32 0, i32 1 + %t2093 = getelementptr inbounds %LSlice, ptr %t2091, i32 0, i32 2 + %t2094 = getelementptr inbounds %LSlice, ptr %t2091, i32 0, i32 0 + %t2095 = load i32, ptr %t2092 + %t2096 = load i32, ptr %t2093 + %t2097 = icmp sge i32 %t2095, %t2096 + br i1 %t2097, label %grow458, label %put459 +grow458: + %t2098 = mul i32 %t2096, 2 + %t2099 = icmp eq i32 %t2096, 0 + %t2100 = select i1 %t2099, i32 8, i32 %t2098 + %t2101 = getelementptr ptr, ptr null, i32 1 + %t2102 = ptrtoint ptr %t2101 to i64 + %t2103 = zext i32 %t2100 to i64 + %t2104 = mul i64 %t2103, %t2102 + %t2105 = load ptr, ptr %t2094 + %t2106 = call ptr @realloc(ptr %t2105, i64 %t2104) + store ptr %t2106, ptr %t2094 + store i32 %t2100, ptr %t2093 + br label %put459 +put459: + %t2107 = load ptr, ptr %t2094 + %t2108 = getelementptr inbounds ptr, ptr %t2107, i32 %t2095 + store ptr @.str6970, ptr %t2108 + %t2109 = add i32 %t2095, 1 + store i32 %t2109, ptr %t2092 + br label %ifend453 +ifend453: + %t2110 = load ptr, ptr %t1 + %t2111 = call i32 @lp_str_eq(ptr %t2110, ptr @.str6971) + %t2112 = icmp ne i32 %t2111, 0 + br i1 %t2112, label %then460, label %ifend462 +then460: + store ptr @.str6972, ptr %t403 + %t2113 = load ptr, ptr %t410 + %t2114 = getelementptr inbounds %LSlice, ptr %t2113, i32 0, i32 1 + %t2115 = getelementptr inbounds %LSlice, ptr %t2113, i32 0, i32 2 + %t2116 = getelementptr inbounds %LSlice, ptr %t2113, i32 0, i32 0 + %t2117 = load i32, ptr %t2114 + %t2118 = load i32, ptr %t2115 + %t2119 = icmp sge i32 %t2117, %t2118 + br i1 %t2119, label %grow463, label %put464 +grow463: + %t2120 = mul i32 %t2118, 2 + %t2121 = icmp eq i32 %t2118, 0 + %t2122 = select i1 %t2121, i32 8, i32 %t2120 + %t2123 = getelementptr ptr, ptr null, i32 1 + %t2124 = ptrtoint ptr %t2123 to i64 + %t2125 = zext i32 %t2122 to i64 + %t2126 = mul i64 %t2125, %t2124 + %t2127 = load ptr, ptr %t2116 + %t2128 = call ptr @realloc(ptr %t2127, i64 %t2126) + store ptr %t2128, ptr %t2116 + store i32 %t2122, ptr %t2115 + br label %put464 +put464: + %t2129 = load ptr, ptr %t2116 + %t2130 = getelementptr inbounds ptr, ptr %t2129, i32 %t2117 + store ptr @.str6973, ptr %t2130 + %t2131 = add i32 %t2117, 1 + store i32 %t2131, ptr %t2114 + %t2132 = load ptr, ptr %t410 + %t2133 = getelementptr inbounds %LSlice, ptr %t2132, i32 0, i32 1 + %t2134 = getelementptr inbounds %LSlice, ptr %t2132, i32 0, i32 2 + %t2135 = getelementptr inbounds %LSlice, ptr %t2132, i32 0, i32 0 + %t2136 = load i32, ptr %t2133 + %t2137 = load i32, ptr %t2134 + %t2138 = icmp sge i32 %t2136, %t2137 + br i1 %t2138, label %grow465, label %put466 +grow465: + %t2139 = mul i32 %t2137, 2 + %t2140 = icmp eq i32 %t2137, 0 + %t2141 = select i1 %t2140, i32 8, i32 %t2139 + %t2142 = getelementptr ptr, ptr null, i32 1 + %t2143 = ptrtoint ptr %t2142 to i64 + %t2144 = zext i32 %t2141 to i64 + %t2145 = mul i64 %t2144, %t2143 + %t2146 = load ptr, ptr %t2135 + %t2147 = call ptr @realloc(ptr %t2146, i64 %t2145) + store ptr %t2147, ptr %t2135 + store i32 %t2141, ptr %t2134 + br label %put466 +put466: + %t2148 = load ptr, ptr %t2135 + %t2149 = getelementptr inbounds ptr, ptr %t2148, i32 %t2136 + store ptr @.str6974, ptr %t2149 + %t2150 = add i32 %t2136, 1 + store i32 %t2150, ptr %t2133 + %t2151 = load ptr, ptr %t410 + %t2152 = getelementptr inbounds %LSlice, ptr %t2151, i32 0, i32 1 + %t2153 = getelementptr inbounds %LSlice, ptr %t2151, i32 0, i32 2 + %t2154 = getelementptr inbounds %LSlice, ptr %t2151, i32 0, i32 0 + %t2155 = load i32, ptr %t2152 + %t2156 = load i32, ptr %t2153 + %t2157 = icmp sge i32 %t2155, %t2156 + br i1 %t2157, label %grow467, label %put468 +grow467: + %t2158 = mul i32 %t2156, 2 + %t2159 = icmp eq i32 %t2156, 0 + %t2160 = select i1 %t2159, i32 8, i32 %t2158 + %t2161 = getelementptr ptr, ptr null, i32 1 + %t2162 = ptrtoint ptr %t2161 to i64 + %t2163 = zext i32 %t2160 to i64 + %t2164 = mul i64 %t2163, %t2162 + %t2165 = load ptr, ptr %t2154 + %t2166 = call ptr @realloc(ptr %t2165, i64 %t2164) + store ptr %t2166, ptr %t2154 + store i32 %t2160, ptr %t2153 + br label %put468 +put468: + %t2167 = load ptr, ptr %t2154 + %t2168 = getelementptr inbounds ptr, ptr %t2167, i32 %t2155 + store ptr @.str6975, ptr %t2168 + %t2169 = add i32 %t2155, 1 + store i32 %t2169, ptr %t2152 + br label %ifend462 +ifend462: + %t2170 = load ptr, ptr %t1 + %t2171 = call i32 @lp_str_eq(ptr %t2170, ptr @.str6976) + %t2172 = icmp ne i32 %t2171, 0 + br i1 %t2172, label %then469, label %ifend471 +then469: + store ptr @.str6977, ptr %t403 + %t2173 = load ptr, ptr %t410 + %t2174 = getelementptr inbounds %LSlice, ptr %t2173, i32 0, i32 1 + %t2175 = getelementptr inbounds %LSlice, ptr %t2173, i32 0, i32 2 + %t2176 = getelementptr inbounds %LSlice, ptr %t2173, i32 0, i32 0 + %t2177 = load i32, ptr %t2174 + %t2178 = load i32, ptr %t2175 + %t2179 = icmp sge i32 %t2177, %t2178 + br i1 %t2179, label %grow472, label %put473 +grow472: + %t2180 = mul i32 %t2178, 2 + %t2181 = icmp eq i32 %t2178, 0 + %t2182 = select i1 %t2181, i32 8, i32 %t2180 + %t2183 = getelementptr ptr, ptr null, i32 1 + %t2184 = ptrtoint ptr %t2183 to i64 + %t2185 = zext i32 %t2182 to i64 + %t2186 = mul i64 %t2185, %t2184 + %t2187 = load ptr, ptr %t2176 + %t2188 = call ptr @realloc(ptr %t2187, i64 %t2186) + store ptr %t2188, ptr %t2176 + store i32 %t2182, ptr %t2175 + br label %put473 +put473: + %t2189 = load ptr, ptr %t2176 + %t2190 = getelementptr inbounds ptr, ptr %t2189, i32 %t2177 + store ptr @.str6978, ptr %t2190 + %t2191 = add i32 %t2177, 1 + store i32 %t2191, ptr %t2174 + %t2192 = load ptr, ptr %t410 + %t2193 = getelementptr inbounds %LSlice, ptr %t2192, i32 0, i32 1 + %t2194 = getelementptr inbounds %LSlice, ptr %t2192, i32 0, i32 2 + %t2195 = getelementptr inbounds %LSlice, ptr %t2192, i32 0, i32 0 + %t2196 = load i32, ptr %t2193 + %t2197 = load i32, ptr %t2194 + %t2198 = icmp sge i32 %t2196, %t2197 + br i1 %t2198, label %grow474, label %put475 +grow474: + %t2199 = mul i32 %t2197, 2 + %t2200 = icmp eq i32 %t2197, 0 + %t2201 = select i1 %t2200, i32 8, i32 %t2199 + %t2202 = getelementptr ptr, ptr null, i32 1 + %t2203 = ptrtoint ptr %t2202 to i64 + %t2204 = zext i32 %t2201 to i64 + %t2205 = mul i64 %t2204, %t2203 + %t2206 = load ptr, ptr %t2195 + %t2207 = call ptr @realloc(ptr %t2206, i64 %t2205) + store ptr %t2207, ptr %t2195 + store i32 %t2201, ptr %t2194 + br label %put475 +put475: + %t2208 = load ptr, ptr %t2195 + %t2209 = getelementptr inbounds ptr, ptr %t2208, i32 %t2196 + store ptr @.str6979, ptr %t2209 + %t2210 = add i32 %t2196, 1 + store i32 %t2210, ptr %t2193 + %t2211 = load ptr, ptr %t410 + %t2212 = getelementptr inbounds %LSlice, ptr %t2211, i32 0, i32 1 + %t2213 = getelementptr inbounds %LSlice, ptr %t2211, i32 0, i32 2 + %t2214 = getelementptr inbounds %LSlice, ptr %t2211, i32 0, i32 0 + %t2215 = load i32, ptr %t2212 + %t2216 = load i32, ptr %t2213 + %t2217 = icmp sge i32 %t2215, %t2216 + br i1 %t2217, label %grow476, label %put477 +grow476: + %t2218 = mul i32 %t2216, 2 + %t2219 = icmp eq i32 %t2216, 0 + %t2220 = select i1 %t2219, i32 8, i32 %t2218 + %t2221 = getelementptr ptr, ptr null, i32 1 + %t2222 = ptrtoint ptr %t2221 to i64 + %t2223 = zext i32 %t2220 to i64 + %t2224 = mul i64 %t2223, %t2222 + %t2225 = load ptr, ptr %t2214 + %t2226 = call ptr @realloc(ptr %t2225, i64 %t2224) + store ptr %t2226, ptr %t2214 + store i32 %t2220, ptr %t2213 + br label %put477 +put477: + %t2227 = load ptr, ptr %t2214 + %t2228 = getelementptr inbounds ptr, ptr %t2227, i32 %t2215 + store ptr @.str6980, ptr %t2228 + %t2229 = add i32 %t2215, 1 + store i32 %t2229, ptr %t2212 + %t2230 = load ptr, ptr %t410 + %t2231 = getelementptr inbounds %LSlice, ptr %t2230, i32 0, i32 1 + %t2232 = getelementptr inbounds %LSlice, ptr %t2230, i32 0, i32 2 + %t2233 = getelementptr inbounds %LSlice, ptr %t2230, i32 0, i32 0 + %t2234 = load i32, ptr %t2231 + %t2235 = load i32, ptr %t2232 + %t2236 = icmp sge i32 %t2234, %t2235 + br i1 %t2236, label %grow478, label %put479 +grow478: + %t2237 = mul i32 %t2235, 2 + %t2238 = icmp eq i32 %t2235, 0 + %t2239 = select i1 %t2238, i32 8, i32 %t2237 + %t2240 = getelementptr ptr, ptr null, i32 1 + %t2241 = ptrtoint ptr %t2240 to i64 + %t2242 = zext i32 %t2239 to i64 + %t2243 = mul i64 %t2242, %t2241 + %t2244 = load ptr, ptr %t2233 + %t2245 = call ptr @realloc(ptr %t2244, i64 %t2243) + store ptr %t2245, ptr %t2233 + store i32 %t2239, ptr %t2232 + br label %put479 +put479: + %t2246 = load ptr, ptr %t2233 + %t2247 = getelementptr inbounds ptr, ptr %t2246, i32 %t2234 + store ptr @.str6981, ptr %t2247 + %t2248 = add i32 %t2234, 1 + store i32 %t2248, ptr %t2231 + %t2249 = load ptr, ptr %t410 + %t2250 = getelementptr inbounds %LSlice, ptr %t2249, i32 0, i32 1 + %t2251 = getelementptr inbounds %LSlice, ptr %t2249, i32 0, i32 2 + %t2252 = getelementptr inbounds %LSlice, ptr %t2249, i32 0, i32 0 + %t2253 = load i32, ptr %t2250 + %t2254 = load i32, ptr %t2251 + %t2255 = icmp sge i32 %t2253, %t2254 + br i1 %t2255, label %grow480, label %put481 +grow480: + %t2256 = mul i32 %t2254, 2 + %t2257 = icmp eq i32 %t2254, 0 + %t2258 = select i1 %t2257, i32 8, i32 %t2256 + %t2259 = getelementptr ptr, ptr null, i32 1 + %t2260 = ptrtoint ptr %t2259 to i64 + %t2261 = zext i32 %t2258 to i64 + %t2262 = mul i64 %t2261, %t2260 + %t2263 = load ptr, ptr %t2252 + %t2264 = call ptr @realloc(ptr %t2263, i64 %t2262) + store ptr %t2264, ptr %t2252 + store i32 %t2258, ptr %t2251 + br label %put481 +put481: + %t2265 = load ptr, ptr %t2252 + %t2266 = getelementptr inbounds ptr, ptr %t2265, i32 %t2253 + store ptr @.str6982, ptr %t2266 + %t2267 = add i32 %t2253, 1 + store i32 %t2267, ptr %t2250 + br label %ifend471 +ifend471: + %t2268 = load ptr, ptr %t1 + %t2269 = call i32 @lp_str_eq(ptr %t2268, ptr @.str6983) + %t2270 = icmp ne i32 %t2269, 0 + br i1 %t2270, label %then482, label %ifend484 +then482: + store ptr @.str6984, ptr %t403 + %t2271 = load ptr, ptr %t410 + %t2272 = getelementptr inbounds %LSlice, ptr %t2271, i32 0, i32 1 + %t2273 = getelementptr inbounds %LSlice, ptr %t2271, i32 0, i32 2 + %t2274 = getelementptr inbounds %LSlice, ptr %t2271, i32 0, i32 0 + %t2275 = load i32, ptr %t2272 + %t2276 = load i32, ptr %t2273 + %t2277 = icmp sge i32 %t2275, %t2276 + br i1 %t2277, label %grow485, label %put486 +grow485: + %t2278 = mul i32 %t2276, 2 + %t2279 = icmp eq i32 %t2276, 0 + %t2280 = select i1 %t2279, i32 8, i32 %t2278 + %t2281 = getelementptr ptr, ptr null, i32 1 + %t2282 = ptrtoint ptr %t2281 to i64 + %t2283 = zext i32 %t2280 to i64 + %t2284 = mul i64 %t2283, %t2282 + %t2285 = load ptr, ptr %t2274 + %t2286 = call ptr @realloc(ptr %t2285, i64 %t2284) + store ptr %t2286, ptr %t2274 + store i32 %t2280, ptr %t2273 + br label %put486 +put486: + %t2287 = load ptr, ptr %t2274 + %t2288 = getelementptr inbounds ptr, ptr %t2287, i32 %t2275 + store ptr @.str6985, ptr %t2288 + %t2289 = add i32 %t2275, 1 + store i32 %t2289, ptr %t2272 + %t2290 = load ptr, ptr %t410 + %t2291 = getelementptr inbounds %LSlice, ptr %t2290, i32 0, i32 1 + %t2292 = getelementptr inbounds %LSlice, ptr %t2290, i32 0, i32 2 + %t2293 = getelementptr inbounds %LSlice, ptr %t2290, i32 0, i32 0 + %t2294 = load i32, ptr %t2291 + %t2295 = load i32, ptr %t2292 + %t2296 = icmp sge i32 %t2294, %t2295 + br i1 %t2296, label %grow487, label %put488 +grow487: + %t2297 = mul i32 %t2295, 2 + %t2298 = icmp eq i32 %t2295, 0 + %t2299 = select i1 %t2298, i32 8, i32 %t2297 + %t2300 = getelementptr ptr, ptr null, i32 1 + %t2301 = ptrtoint ptr %t2300 to i64 + %t2302 = zext i32 %t2299 to i64 + %t2303 = mul i64 %t2302, %t2301 + %t2304 = load ptr, ptr %t2293 + %t2305 = call ptr @realloc(ptr %t2304, i64 %t2303) + store ptr %t2305, ptr %t2293 + store i32 %t2299, ptr %t2292 + br label %put488 +put488: + %t2306 = load ptr, ptr %t2293 + %t2307 = getelementptr inbounds ptr, ptr %t2306, i32 %t2294 + store ptr @.str6986, ptr %t2307 + %t2308 = add i32 %t2294, 1 + store i32 %t2308, ptr %t2291 + %t2309 = load ptr, ptr %t410 + %t2310 = getelementptr inbounds %LSlice, ptr %t2309, i32 0, i32 1 + %t2311 = getelementptr inbounds %LSlice, ptr %t2309, i32 0, i32 2 + %t2312 = getelementptr inbounds %LSlice, ptr %t2309, i32 0, i32 0 + %t2313 = load i32, ptr %t2310 + %t2314 = load i32, ptr %t2311 + %t2315 = icmp sge i32 %t2313, %t2314 + br i1 %t2315, label %grow489, label %put490 +grow489: + %t2316 = mul i32 %t2314, 2 + %t2317 = icmp eq i32 %t2314, 0 + %t2318 = select i1 %t2317, i32 8, i32 %t2316 + %t2319 = getelementptr ptr, ptr null, i32 1 + %t2320 = ptrtoint ptr %t2319 to i64 + %t2321 = zext i32 %t2318 to i64 + %t2322 = mul i64 %t2321, %t2320 + %t2323 = load ptr, ptr %t2312 + %t2324 = call ptr @realloc(ptr %t2323, i64 %t2322) + store ptr %t2324, ptr %t2312 + store i32 %t2318, ptr %t2311 + br label %put490 +put490: + %t2325 = load ptr, ptr %t2312 + %t2326 = getelementptr inbounds ptr, ptr %t2325, i32 %t2313 + store ptr @.str6987, ptr %t2326 + %t2327 = add i32 %t2313, 1 + store i32 %t2327, ptr %t2310 + %t2328 = load ptr, ptr %t410 + %t2329 = getelementptr inbounds %LSlice, ptr %t2328, i32 0, i32 1 + %t2330 = getelementptr inbounds %LSlice, ptr %t2328, i32 0, i32 2 + %t2331 = getelementptr inbounds %LSlice, ptr %t2328, i32 0, i32 0 + %t2332 = load i32, ptr %t2329 + %t2333 = load i32, ptr %t2330 + %t2334 = icmp sge i32 %t2332, %t2333 + br i1 %t2334, label %grow491, label %put492 +grow491: + %t2335 = mul i32 %t2333, 2 + %t2336 = icmp eq i32 %t2333, 0 + %t2337 = select i1 %t2336, i32 8, i32 %t2335 + %t2338 = getelementptr ptr, ptr null, i32 1 + %t2339 = ptrtoint ptr %t2338 to i64 + %t2340 = zext i32 %t2337 to i64 + %t2341 = mul i64 %t2340, %t2339 + %t2342 = load ptr, ptr %t2331 + %t2343 = call ptr @realloc(ptr %t2342, i64 %t2341) + store ptr %t2343, ptr %t2331 + store i32 %t2337, ptr %t2330 + br label %put492 +put492: + %t2344 = load ptr, ptr %t2331 + %t2345 = getelementptr inbounds ptr, ptr %t2344, i32 %t2332 + store ptr @.str6988, ptr %t2345 + %t2346 = add i32 %t2332, 1 + store i32 %t2346, ptr %t2329 + %t2347 = load ptr, ptr %t410 + %t2348 = getelementptr inbounds %LSlice, ptr %t2347, i32 0, i32 1 + %t2349 = getelementptr inbounds %LSlice, ptr %t2347, i32 0, i32 2 + %t2350 = getelementptr inbounds %LSlice, ptr %t2347, i32 0, i32 0 + %t2351 = load i32, ptr %t2348 + %t2352 = load i32, ptr %t2349 + %t2353 = icmp sge i32 %t2351, %t2352 + br i1 %t2353, label %grow493, label %put494 +grow493: + %t2354 = mul i32 %t2352, 2 + %t2355 = icmp eq i32 %t2352, 0 + %t2356 = select i1 %t2355, i32 8, i32 %t2354 + %t2357 = getelementptr ptr, ptr null, i32 1 + %t2358 = ptrtoint ptr %t2357 to i64 + %t2359 = zext i32 %t2356 to i64 + %t2360 = mul i64 %t2359, %t2358 + %t2361 = load ptr, ptr %t2350 + %t2362 = call ptr @realloc(ptr %t2361, i64 %t2360) + store ptr %t2362, ptr %t2350 + store i32 %t2356, ptr %t2349 + br label %put494 +put494: + %t2363 = load ptr, ptr %t2350 + %t2364 = getelementptr inbounds ptr, ptr %t2363, i32 %t2351 + store ptr @.str6989, ptr %t2364 + %t2365 = add i32 %t2351, 1 + store i32 %t2365, ptr %t2348 + br label %ifend484 +ifend484: + %t2366 = load ptr, ptr %t1 + %t2367 = call i32 @lp_str_eq(ptr %t2366, ptr @.str6990) + %t2368 = icmp ne i32 %t2367, 0 + br i1 %t2368, label %then495, label %ifend497 +then495: + store ptr @.str6991, ptr %t403 + %t2369 = load ptr, ptr %t410 + %t2370 = getelementptr inbounds %LSlice, ptr %t2369, i32 0, i32 1 + %t2371 = getelementptr inbounds %LSlice, ptr %t2369, i32 0, i32 2 + %t2372 = getelementptr inbounds %LSlice, ptr %t2369, i32 0, i32 0 + %t2373 = load i32, ptr %t2370 + %t2374 = load i32, ptr %t2371 + %t2375 = icmp sge i32 %t2373, %t2374 + br i1 %t2375, label %grow498, label %put499 +grow498: + %t2376 = mul i32 %t2374, 2 + %t2377 = icmp eq i32 %t2374, 0 + %t2378 = select i1 %t2377, i32 8, i32 %t2376 + %t2379 = getelementptr ptr, ptr null, i32 1 + %t2380 = ptrtoint ptr %t2379 to i64 + %t2381 = zext i32 %t2378 to i64 + %t2382 = mul i64 %t2381, %t2380 + %t2383 = load ptr, ptr %t2372 + %t2384 = call ptr @realloc(ptr %t2383, i64 %t2382) + store ptr %t2384, ptr %t2372 + store i32 %t2378, ptr %t2371 + br label %put499 +put499: + %t2385 = load ptr, ptr %t2372 + %t2386 = getelementptr inbounds ptr, ptr %t2385, i32 %t2373 + store ptr @.str6992, ptr %t2386 + %t2387 = add i32 %t2373, 1 + store i32 %t2387, ptr %t2370 + %t2388 = load ptr, ptr %t410 + %t2389 = getelementptr inbounds %LSlice, ptr %t2388, i32 0, i32 1 + %t2390 = getelementptr inbounds %LSlice, ptr %t2388, i32 0, i32 2 + %t2391 = getelementptr inbounds %LSlice, ptr %t2388, i32 0, i32 0 + %t2392 = load i32, ptr %t2389 + %t2393 = load i32, ptr %t2390 + %t2394 = icmp sge i32 %t2392, %t2393 + br i1 %t2394, label %grow500, label %put501 +grow500: + %t2395 = mul i32 %t2393, 2 + %t2396 = icmp eq i32 %t2393, 0 + %t2397 = select i1 %t2396, i32 8, i32 %t2395 + %t2398 = getelementptr ptr, ptr null, i32 1 + %t2399 = ptrtoint ptr %t2398 to i64 + %t2400 = zext i32 %t2397 to i64 + %t2401 = mul i64 %t2400, %t2399 + %t2402 = load ptr, ptr %t2391 + %t2403 = call ptr @realloc(ptr %t2402, i64 %t2401) + store ptr %t2403, ptr %t2391 + store i32 %t2397, ptr %t2390 + br label %put501 +put501: + %t2404 = load ptr, ptr %t2391 + %t2405 = getelementptr inbounds ptr, ptr %t2404, i32 %t2392 + store ptr @.str6993, ptr %t2405 + %t2406 = add i32 %t2392, 1 + store i32 %t2406, ptr %t2389 + %t2407 = load ptr, ptr %t410 + %t2408 = getelementptr inbounds %LSlice, ptr %t2407, i32 0, i32 1 + %t2409 = getelementptr inbounds %LSlice, ptr %t2407, i32 0, i32 2 + %t2410 = getelementptr inbounds %LSlice, ptr %t2407, i32 0, i32 0 + %t2411 = load i32, ptr %t2408 + %t2412 = load i32, ptr %t2409 + %t2413 = icmp sge i32 %t2411, %t2412 + br i1 %t2413, label %grow502, label %put503 +grow502: + %t2414 = mul i32 %t2412, 2 + %t2415 = icmp eq i32 %t2412, 0 + %t2416 = select i1 %t2415, i32 8, i32 %t2414 + %t2417 = getelementptr ptr, ptr null, i32 1 + %t2418 = ptrtoint ptr %t2417 to i64 + %t2419 = zext i32 %t2416 to i64 + %t2420 = mul i64 %t2419, %t2418 + %t2421 = load ptr, ptr %t2410 + %t2422 = call ptr @realloc(ptr %t2421, i64 %t2420) + store ptr %t2422, ptr %t2410 + store i32 %t2416, ptr %t2409 + br label %put503 +put503: + %t2423 = load ptr, ptr %t2410 + %t2424 = getelementptr inbounds ptr, ptr %t2423, i32 %t2411 + store ptr @.str6994, ptr %t2424 + %t2425 = add i32 %t2411, 1 + store i32 %t2425, ptr %t2408 + %t2426 = load ptr, ptr %t410 + %t2427 = getelementptr inbounds %LSlice, ptr %t2426, i32 0, i32 1 + %t2428 = getelementptr inbounds %LSlice, ptr %t2426, i32 0, i32 2 + %t2429 = getelementptr inbounds %LSlice, ptr %t2426, i32 0, i32 0 + %t2430 = load i32, ptr %t2427 + %t2431 = load i32, ptr %t2428 + %t2432 = icmp sge i32 %t2430, %t2431 + br i1 %t2432, label %grow504, label %put505 +grow504: + %t2433 = mul i32 %t2431, 2 + %t2434 = icmp eq i32 %t2431, 0 + %t2435 = select i1 %t2434, i32 8, i32 %t2433 + %t2436 = getelementptr ptr, ptr null, i32 1 + %t2437 = ptrtoint ptr %t2436 to i64 + %t2438 = zext i32 %t2435 to i64 + %t2439 = mul i64 %t2438, %t2437 + %t2440 = load ptr, ptr %t2429 + %t2441 = call ptr @realloc(ptr %t2440, i64 %t2439) + store ptr %t2441, ptr %t2429 + store i32 %t2435, ptr %t2428 + br label %put505 +put505: + %t2442 = load ptr, ptr %t2429 + %t2443 = getelementptr inbounds ptr, ptr %t2442, i32 %t2430 + store ptr @.str6995, ptr %t2443 + %t2444 = add i32 %t2430, 1 + store i32 %t2444, ptr %t2427 + br label %ifend497 +ifend497: + %t2445 = load ptr, ptr %t1 + %t2446 = call i32 @lp_str_eq(ptr %t2445, ptr @.str6996) + %t2447 = icmp ne i32 %t2446, 0 + br i1 %t2447, label %then506, label %ifend508 +then506: + store ptr @.str6997, ptr %t403 + %t2448 = load ptr, ptr %t410 + %t2449 = getelementptr inbounds %LSlice, ptr %t2448, i32 0, i32 1 + %t2450 = getelementptr inbounds %LSlice, ptr %t2448, i32 0, i32 2 + %t2451 = getelementptr inbounds %LSlice, ptr %t2448, i32 0, i32 0 + %t2452 = load i32, ptr %t2449 + %t2453 = load i32, ptr %t2450 + %t2454 = icmp sge i32 %t2452, %t2453 + br i1 %t2454, label %grow509, label %put510 +grow509: + %t2455 = mul i32 %t2453, 2 + %t2456 = icmp eq i32 %t2453, 0 + %t2457 = select i1 %t2456, i32 8, i32 %t2455 + %t2458 = getelementptr ptr, ptr null, i32 1 + %t2459 = ptrtoint ptr %t2458 to i64 + %t2460 = zext i32 %t2457 to i64 + %t2461 = mul i64 %t2460, %t2459 + %t2462 = load ptr, ptr %t2451 + %t2463 = call ptr @realloc(ptr %t2462, i64 %t2461) + store ptr %t2463, ptr %t2451 + store i32 %t2457, ptr %t2450 + br label %put510 +put510: + %t2464 = load ptr, ptr %t2451 + %t2465 = getelementptr inbounds ptr, ptr %t2464, i32 %t2452 + store ptr @.str6998, ptr %t2465 + %t2466 = add i32 %t2452, 1 + store i32 %t2466, ptr %t2449 + br label %ifend508 +ifend508: + %t2467 = load ptr, ptr %t1 + %t2468 = call i32 @lp_str_eq(ptr %t2467, ptr @.str6999) + %t2469 = icmp ne i32 %t2468, 0 + br i1 %t2469, label %then511, label %ifend513 +then511: + store ptr @.str7000, ptr %t403 + %t2470 = load ptr, ptr %t410 + %t2471 = getelementptr inbounds %LSlice, ptr %t2470, i32 0, i32 1 + %t2472 = getelementptr inbounds %LSlice, ptr %t2470, i32 0, i32 2 + %t2473 = getelementptr inbounds %LSlice, ptr %t2470, i32 0, i32 0 + %t2474 = load i32, ptr %t2471 + %t2475 = load i32, ptr %t2472 + %t2476 = icmp sge i32 %t2474, %t2475 + br i1 %t2476, label %grow514, label %put515 +grow514: + %t2477 = mul i32 %t2475, 2 + %t2478 = icmp eq i32 %t2475, 0 + %t2479 = select i1 %t2478, i32 8, i32 %t2477 + %t2480 = getelementptr ptr, ptr null, i32 1 + %t2481 = ptrtoint ptr %t2480 to i64 + %t2482 = zext i32 %t2479 to i64 + %t2483 = mul i64 %t2482, %t2481 + %t2484 = load ptr, ptr %t2473 + %t2485 = call ptr @realloc(ptr %t2484, i64 %t2483) + store ptr %t2485, ptr %t2473 + store i32 %t2479, ptr %t2472 + br label %put515 +put515: + %t2486 = load ptr, ptr %t2473 + %t2487 = getelementptr inbounds ptr, ptr %t2486, i32 %t2474 + store ptr @.str7001, ptr %t2487 + %t2488 = add i32 %t2474, 1 + store i32 %t2488, ptr %t2471 + %t2489 = load ptr, ptr %t410 + %t2490 = getelementptr inbounds %LSlice, ptr %t2489, i32 0, i32 1 + %t2491 = getelementptr inbounds %LSlice, ptr %t2489, i32 0, i32 2 + %t2492 = getelementptr inbounds %LSlice, ptr %t2489, i32 0, i32 0 + %t2493 = load i32, ptr %t2490 + %t2494 = load i32, ptr %t2491 + %t2495 = icmp sge i32 %t2493, %t2494 + br i1 %t2495, label %grow516, label %put517 +grow516: + %t2496 = mul i32 %t2494, 2 + %t2497 = icmp eq i32 %t2494, 0 + %t2498 = select i1 %t2497, i32 8, i32 %t2496 + %t2499 = getelementptr ptr, ptr null, i32 1 + %t2500 = ptrtoint ptr %t2499 to i64 + %t2501 = zext i32 %t2498 to i64 + %t2502 = mul i64 %t2501, %t2500 + %t2503 = load ptr, ptr %t2492 + %t2504 = call ptr @realloc(ptr %t2503, i64 %t2502) + store ptr %t2504, ptr %t2492 + store i32 %t2498, ptr %t2491 + br label %put517 +put517: + %t2505 = load ptr, ptr %t2492 + %t2506 = getelementptr inbounds ptr, ptr %t2505, i32 %t2493 + store ptr @.str7002, ptr %t2506 + %t2507 = add i32 %t2493, 1 + store i32 %t2507, ptr %t2490 + %t2508 = load ptr, ptr %t410 + %t2509 = getelementptr inbounds %LSlice, ptr %t2508, i32 0, i32 1 + %t2510 = getelementptr inbounds %LSlice, ptr %t2508, i32 0, i32 2 + %t2511 = getelementptr inbounds %LSlice, ptr %t2508, i32 0, i32 0 + %t2512 = load i32, ptr %t2509 + %t2513 = load i32, ptr %t2510 + %t2514 = icmp sge i32 %t2512, %t2513 + br i1 %t2514, label %grow518, label %put519 +grow518: + %t2515 = mul i32 %t2513, 2 + %t2516 = icmp eq i32 %t2513, 0 + %t2517 = select i1 %t2516, i32 8, i32 %t2515 + %t2518 = getelementptr ptr, ptr null, i32 1 + %t2519 = ptrtoint ptr %t2518 to i64 + %t2520 = zext i32 %t2517 to i64 + %t2521 = mul i64 %t2520, %t2519 + %t2522 = load ptr, ptr %t2511 + %t2523 = call ptr @realloc(ptr %t2522, i64 %t2521) + store ptr %t2523, ptr %t2511 + store i32 %t2517, ptr %t2510 + br label %put519 +put519: + %t2524 = load ptr, ptr %t2511 + %t2525 = getelementptr inbounds ptr, ptr %t2524, i32 %t2512 + store ptr @.str7003, ptr %t2525 + %t2526 = add i32 %t2512, 1 + store i32 %t2526, ptr %t2509 + br label %ifend513 +ifend513: + %t2527 = load ptr, ptr %t1 + %t2528 = call i32 @lp_str_eq(ptr %t2527, ptr @.str7004) + %t2529 = icmp ne i32 %t2528, 0 + br i1 %t2529, label %then520, label %ifend522 +then520: + store ptr @.str7005, ptr %t403 + %t2530 = load ptr, ptr %t410 + %t2531 = getelementptr inbounds %LSlice, ptr %t2530, i32 0, i32 1 + %t2532 = getelementptr inbounds %LSlice, ptr %t2530, i32 0, i32 2 + %t2533 = getelementptr inbounds %LSlice, ptr %t2530, i32 0, i32 0 + %t2534 = load i32, ptr %t2531 + %t2535 = load i32, ptr %t2532 + %t2536 = icmp sge i32 %t2534, %t2535 + br i1 %t2536, label %grow523, label %put524 +grow523: + %t2537 = mul i32 %t2535, 2 + %t2538 = icmp eq i32 %t2535, 0 + %t2539 = select i1 %t2538, i32 8, i32 %t2537 + %t2540 = getelementptr ptr, ptr null, i32 1 + %t2541 = ptrtoint ptr %t2540 to i64 + %t2542 = zext i32 %t2539 to i64 + %t2543 = mul i64 %t2542, %t2541 + %t2544 = load ptr, ptr %t2533 + %t2545 = call ptr @realloc(ptr %t2544, i64 %t2543) + store ptr %t2545, ptr %t2533 + store i32 %t2539, ptr %t2532 + br label %put524 +put524: + %t2546 = load ptr, ptr %t2533 + %t2547 = getelementptr inbounds ptr, ptr %t2546, i32 %t2534 + store ptr @.str7006, ptr %t2547 + %t2548 = add i32 %t2534, 1 + store i32 %t2548, ptr %t2531 + %t2549 = load ptr, ptr %t410 + %t2550 = getelementptr inbounds %LSlice, ptr %t2549, i32 0, i32 1 + %t2551 = getelementptr inbounds %LSlice, ptr %t2549, i32 0, i32 2 + %t2552 = getelementptr inbounds %LSlice, ptr %t2549, i32 0, i32 0 + %t2553 = load i32, ptr %t2550 + %t2554 = load i32, ptr %t2551 + %t2555 = icmp sge i32 %t2553, %t2554 + br i1 %t2555, label %grow525, label %put526 +grow525: + %t2556 = mul i32 %t2554, 2 + %t2557 = icmp eq i32 %t2554, 0 + %t2558 = select i1 %t2557, i32 8, i32 %t2556 + %t2559 = getelementptr ptr, ptr null, i32 1 + %t2560 = ptrtoint ptr %t2559 to i64 + %t2561 = zext i32 %t2558 to i64 + %t2562 = mul i64 %t2561, %t2560 + %t2563 = load ptr, ptr %t2552 + %t2564 = call ptr @realloc(ptr %t2563, i64 %t2562) + store ptr %t2564, ptr %t2552 + store i32 %t2558, ptr %t2551 + br label %put526 +put526: + %t2565 = load ptr, ptr %t2552 + %t2566 = getelementptr inbounds ptr, ptr %t2565, i32 %t2553 + store ptr @.str7007, ptr %t2566 + %t2567 = add i32 %t2553, 1 + store i32 %t2567, ptr %t2550 + %t2568 = load ptr, ptr %t410 + %t2569 = getelementptr inbounds %LSlice, ptr %t2568, i32 0, i32 1 + %t2570 = getelementptr inbounds %LSlice, ptr %t2568, i32 0, i32 2 + %t2571 = getelementptr inbounds %LSlice, ptr %t2568, i32 0, i32 0 + %t2572 = load i32, ptr %t2569 + %t2573 = load i32, ptr %t2570 + %t2574 = icmp sge i32 %t2572, %t2573 + br i1 %t2574, label %grow527, label %put528 +grow527: + %t2575 = mul i32 %t2573, 2 + %t2576 = icmp eq i32 %t2573, 0 + %t2577 = select i1 %t2576, i32 8, i32 %t2575 + %t2578 = getelementptr ptr, ptr null, i32 1 + %t2579 = ptrtoint ptr %t2578 to i64 + %t2580 = zext i32 %t2577 to i64 + %t2581 = mul i64 %t2580, %t2579 + %t2582 = load ptr, ptr %t2571 + %t2583 = call ptr @realloc(ptr %t2582, i64 %t2581) + store ptr %t2583, ptr %t2571 + store i32 %t2577, ptr %t2570 + br label %put528 +put528: + %t2584 = load ptr, ptr %t2571 + %t2585 = getelementptr inbounds ptr, ptr %t2584, i32 %t2572 + store ptr @.str7008, ptr %t2585 + %t2586 = add i32 %t2572, 1 + store i32 %t2586, ptr %t2569 + %t2587 = load ptr, ptr %t410 + %t2588 = getelementptr inbounds %LSlice, ptr %t2587, i32 0, i32 1 + %t2589 = getelementptr inbounds %LSlice, ptr %t2587, i32 0, i32 2 + %t2590 = getelementptr inbounds %LSlice, ptr %t2587, i32 0, i32 0 + %t2591 = load i32, ptr %t2588 + %t2592 = load i32, ptr %t2589 + %t2593 = icmp sge i32 %t2591, %t2592 + br i1 %t2593, label %grow529, label %put530 +grow529: + %t2594 = mul i32 %t2592, 2 + %t2595 = icmp eq i32 %t2592, 0 + %t2596 = select i1 %t2595, i32 8, i32 %t2594 + %t2597 = getelementptr ptr, ptr null, i32 1 + %t2598 = ptrtoint ptr %t2597 to i64 + %t2599 = zext i32 %t2596 to i64 + %t2600 = mul i64 %t2599, %t2598 + %t2601 = load ptr, ptr %t2590 + %t2602 = call ptr @realloc(ptr %t2601, i64 %t2600) + store ptr %t2602, ptr %t2590 + store i32 %t2596, ptr %t2589 + br label %put530 +put530: + %t2603 = load ptr, ptr %t2590 + %t2604 = getelementptr inbounds ptr, ptr %t2603, i32 %t2591 + store ptr @.str7009, ptr %t2604 + %t2605 = add i32 %t2591, 1 + store i32 %t2605, ptr %t2588 + br label %ifend522 +ifend522: + %t2606 = load ptr, ptr %t1 + %t2607 = call i32 @lp_str_eq(ptr %t2606, ptr @.str7010) + %t2608 = icmp ne i32 %t2607, 0 + br i1 %t2608, label %then531, label %ifend533 +then531: + store ptr @.str7011, ptr %t403 + %t2609 = load ptr, ptr %t410 + %t2610 = getelementptr inbounds %LSlice, ptr %t2609, i32 0, i32 1 + %t2611 = getelementptr inbounds %LSlice, ptr %t2609, i32 0, i32 2 + %t2612 = getelementptr inbounds %LSlice, ptr %t2609, i32 0, i32 0 + %t2613 = load i32, ptr %t2610 + %t2614 = load i32, ptr %t2611 + %t2615 = icmp sge i32 %t2613, %t2614 + br i1 %t2615, label %grow534, label %put535 +grow534: + %t2616 = mul i32 %t2614, 2 + %t2617 = icmp eq i32 %t2614, 0 + %t2618 = select i1 %t2617, i32 8, i32 %t2616 + %t2619 = getelementptr ptr, ptr null, i32 1 + %t2620 = ptrtoint ptr %t2619 to i64 + %t2621 = zext i32 %t2618 to i64 + %t2622 = mul i64 %t2621, %t2620 + %t2623 = load ptr, ptr %t2612 + %t2624 = call ptr @realloc(ptr %t2623, i64 %t2622) + store ptr %t2624, ptr %t2612 + store i32 %t2618, ptr %t2611 + br label %put535 +put535: + %t2625 = load ptr, ptr %t2612 + %t2626 = getelementptr inbounds ptr, ptr %t2625, i32 %t2613 + store ptr @.str7012, ptr %t2626 + %t2627 = add i32 %t2613, 1 + store i32 %t2627, ptr %t2610 + %t2628 = load ptr, ptr %t410 + %t2629 = getelementptr inbounds %LSlice, ptr %t2628, i32 0, i32 1 + %t2630 = getelementptr inbounds %LSlice, ptr %t2628, i32 0, i32 2 + %t2631 = getelementptr inbounds %LSlice, ptr %t2628, i32 0, i32 0 + %t2632 = load i32, ptr %t2629 + %t2633 = load i32, ptr %t2630 + %t2634 = icmp sge i32 %t2632, %t2633 + br i1 %t2634, label %grow536, label %put537 +grow536: + %t2635 = mul i32 %t2633, 2 + %t2636 = icmp eq i32 %t2633, 0 + %t2637 = select i1 %t2636, i32 8, i32 %t2635 + %t2638 = getelementptr ptr, ptr null, i32 1 + %t2639 = ptrtoint ptr %t2638 to i64 + %t2640 = zext i32 %t2637 to i64 + %t2641 = mul i64 %t2640, %t2639 + %t2642 = load ptr, ptr %t2631 + %t2643 = call ptr @realloc(ptr %t2642, i64 %t2641) + store ptr %t2643, ptr %t2631 + store i32 %t2637, ptr %t2630 + br label %put537 +put537: + %t2644 = load ptr, ptr %t2631 + %t2645 = getelementptr inbounds ptr, ptr %t2644, i32 %t2632 + store ptr @.str7013, ptr %t2645 + %t2646 = add i32 %t2632, 1 + store i32 %t2646, ptr %t2629 + %t2647 = load ptr, ptr %t410 + %t2648 = getelementptr inbounds %LSlice, ptr %t2647, i32 0, i32 1 + %t2649 = getelementptr inbounds %LSlice, ptr %t2647, i32 0, i32 2 + %t2650 = getelementptr inbounds %LSlice, ptr %t2647, i32 0, i32 0 + %t2651 = load i32, ptr %t2648 + %t2652 = load i32, ptr %t2649 + %t2653 = icmp sge i32 %t2651, %t2652 + br i1 %t2653, label %grow538, label %put539 +grow538: + %t2654 = mul i32 %t2652, 2 + %t2655 = icmp eq i32 %t2652, 0 + %t2656 = select i1 %t2655, i32 8, i32 %t2654 + %t2657 = getelementptr ptr, ptr null, i32 1 + %t2658 = ptrtoint ptr %t2657 to i64 + %t2659 = zext i32 %t2656 to i64 + %t2660 = mul i64 %t2659, %t2658 + %t2661 = load ptr, ptr %t2650 + %t2662 = call ptr @realloc(ptr %t2661, i64 %t2660) + store ptr %t2662, ptr %t2650 + store i32 %t2656, ptr %t2649 + br label %put539 +put539: + %t2663 = load ptr, ptr %t2650 + %t2664 = getelementptr inbounds ptr, ptr %t2663, i32 %t2651 + store ptr @.str7014, ptr %t2664 + %t2665 = add i32 %t2651, 1 + store i32 %t2665, ptr %t2648 + %t2666 = load ptr, ptr %t410 + %t2667 = getelementptr inbounds %LSlice, ptr %t2666, i32 0, i32 1 + %t2668 = getelementptr inbounds %LSlice, ptr %t2666, i32 0, i32 2 + %t2669 = getelementptr inbounds %LSlice, ptr %t2666, i32 0, i32 0 + %t2670 = load i32, ptr %t2667 + %t2671 = load i32, ptr %t2668 + %t2672 = icmp sge i32 %t2670, %t2671 + br i1 %t2672, label %grow540, label %put541 +grow540: + %t2673 = mul i32 %t2671, 2 + %t2674 = icmp eq i32 %t2671, 0 + %t2675 = select i1 %t2674, i32 8, i32 %t2673 + %t2676 = getelementptr ptr, ptr null, i32 1 + %t2677 = ptrtoint ptr %t2676 to i64 + %t2678 = zext i32 %t2675 to i64 + %t2679 = mul i64 %t2678, %t2677 + %t2680 = load ptr, ptr %t2669 + %t2681 = call ptr @realloc(ptr %t2680, i64 %t2679) + store ptr %t2681, ptr %t2669 + store i32 %t2675, ptr %t2668 + br label %put541 +put541: + %t2682 = load ptr, ptr %t2669 + %t2683 = getelementptr inbounds ptr, ptr %t2682, i32 %t2670 + store ptr @.str7015, ptr %t2683 + %t2684 = add i32 %t2670, 1 + store i32 %t2684, ptr %t2667 + %t2685 = load ptr, ptr %t410 + %t2686 = getelementptr inbounds %LSlice, ptr %t2685, i32 0, i32 1 + %t2687 = getelementptr inbounds %LSlice, ptr %t2685, i32 0, i32 2 + %t2688 = getelementptr inbounds %LSlice, ptr %t2685, i32 0, i32 0 + %t2689 = load i32, ptr %t2686 + %t2690 = load i32, ptr %t2687 + %t2691 = icmp sge i32 %t2689, %t2690 + br i1 %t2691, label %grow542, label %put543 +grow542: + %t2692 = mul i32 %t2690, 2 + %t2693 = icmp eq i32 %t2690, 0 + %t2694 = select i1 %t2693, i32 8, i32 %t2692 + %t2695 = getelementptr ptr, ptr null, i32 1 + %t2696 = ptrtoint ptr %t2695 to i64 + %t2697 = zext i32 %t2694 to i64 + %t2698 = mul i64 %t2697, %t2696 + %t2699 = load ptr, ptr %t2688 + %t2700 = call ptr @realloc(ptr %t2699, i64 %t2698) + store ptr %t2700, ptr %t2688 + store i32 %t2694, ptr %t2687 + br label %put543 +put543: + %t2701 = load ptr, ptr %t2688 + %t2702 = getelementptr inbounds ptr, ptr %t2701, i32 %t2689 + store ptr @.str7016, ptr %t2702 + %t2703 = add i32 %t2689, 1 + store i32 %t2703, ptr %t2686 + %t2704 = load ptr, ptr %t410 + %t2705 = getelementptr inbounds %LSlice, ptr %t2704, i32 0, i32 1 + %t2706 = getelementptr inbounds %LSlice, ptr %t2704, i32 0, i32 2 + %t2707 = getelementptr inbounds %LSlice, ptr %t2704, i32 0, i32 0 + %t2708 = load i32, ptr %t2705 + %t2709 = load i32, ptr %t2706 + %t2710 = icmp sge i32 %t2708, %t2709 + br i1 %t2710, label %grow544, label %put545 +grow544: + %t2711 = mul i32 %t2709, 2 + %t2712 = icmp eq i32 %t2709, 0 + %t2713 = select i1 %t2712, i32 8, i32 %t2711 + %t2714 = getelementptr ptr, ptr null, i32 1 + %t2715 = ptrtoint ptr %t2714 to i64 + %t2716 = zext i32 %t2713 to i64 + %t2717 = mul i64 %t2716, %t2715 + %t2718 = load ptr, ptr %t2707 + %t2719 = call ptr @realloc(ptr %t2718, i64 %t2717) + store ptr %t2719, ptr %t2707 + store i32 %t2713, ptr %t2706 + br label %put545 +put545: + %t2720 = load ptr, ptr %t2707 + %t2721 = getelementptr inbounds ptr, ptr %t2720, i32 %t2708 + store ptr @.str7017, ptr %t2721 + %t2722 = add i32 %t2708, 1 + store i32 %t2722, ptr %t2705 + %t2723 = load ptr, ptr %t410 + %t2724 = getelementptr inbounds %LSlice, ptr %t2723, i32 0, i32 1 + %t2725 = getelementptr inbounds %LSlice, ptr %t2723, i32 0, i32 2 + %t2726 = getelementptr inbounds %LSlice, ptr %t2723, i32 0, i32 0 + %t2727 = load i32, ptr %t2724 + %t2728 = load i32, ptr %t2725 + %t2729 = icmp sge i32 %t2727, %t2728 + br i1 %t2729, label %grow546, label %put547 +grow546: + %t2730 = mul i32 %t2728, 2 + %t2731 = icmp eq i32 %t2728, 0 + %t2732 = select i1 %t2731, i32 8, i32 %t2730 + %t2733 = getelementptr ptr, ptr null, i32 1 + %t2734 = ptrtoint ptr %t2733 to i64 + %t2735 = zext i32 %t2732 to i64 + %t2736 = mul i64 %t2735, %t2734 + %t2737 = load ptr, ptr %t2726 + %t2738 = call ptr @realloc(ptr %t2737, i64 %t2736) + store ptr %t2738, ptr %t2726 + store i32 %t2732, ptr %t2725 + br label %put547 +put547: + %t2739 = load ptr, ptr %t2726 + %t2740 = getelementptr inbounds ptr, ptr %t2739, i32 %t2727 + store ptr @.str7018, ptr %t2740 + %t2741 = add i32 %t2727, 1 + store i32 %t2741, ptr %t2724 + %t2742 = load ptr, ptr %t410 + %t2743 = getelementptr inbounds %LSlice, ptr %t2742, i32 0, i32 1 + %t2744 = getelementptr inbounds %LSlice, ptr %t2742, i32 0, i32 2 + %t2745 = getelementptr inbounds %LSlice, ptr %t2742, i32 0, i32 0 + %t2746 = load i32, ptr %t2743 + %t2747 = load i32, ptr %t2744 + %t2748 = icmp sge i32 %t2746, %t2747 + br i1 %t2748, label %grow548, label %put549 +grow548: + %t2749 = mul i32 %t2747, 2 + %t2750 = icmp eq i32 %t2747, 0 + %t2751 = select i1 %t2750, i32 8, i32 %t2749 + %t2752 = getelementptr ptr, ptr null, i32 1 + %t2753 = ptrtoint ptr %t2752 to i64 + %t2754 = zext i32 %t2751 to i64 + %t2755 = mul i64 %t2754, %t2753 + %t2756 = load ptr, ptr %t2745 + %t2757 = call ptr @realloc(ptr %t2756, i64 %t2755) + store ptr %t2757, ptr %t2745 + store i32 %t2751, ptr %t2744 + br label %put549 +put549: + %t2758 = load ptr, ptr %t2745 + %t2759 = getelementptr inbounds ptr, ptr %t2758, i32 %t2746 + store ptr @.str7019, ptr %t2759 + %t2760 = add i32 %t2746, 1 + store i32 %t2760, ptr %t2743 + %t2761 = load ptr, ptr %t410 + %t2762 = getelementptr inbounds %LSlice, ptr %t2761, i32 0, i32 1 + %t2763 = getelementptr inbounds %LSlice, ptr %t2761, i32 0, i32 2 + %t2764 = getelementptr inbounds %LSlice, ptr %t2761, i32 0, i32 0 + %t2765 = load i32, ptr %t2762 + %t2766 = load i32, ptr %t2763 + %t2767 = icmp sge i32 %t2765, %t2766 + br i1 %t2767, label %grow550, label %put551 +grow550: + %t2768 = mul i32 %t2766, 2 + %t2769 = icmp eq i32 %t2766, 0 + %t2770 = select i1 %t2769, i32 8, i32 %t2768 + %t2771 = getelementptr ptr, ptr null, i32 1 + %t2772 = ptrtoint ptr %t2771 to i64 + %t2773 = zext i32 %t2770 to i64 + %t2774 = mul i64 %t2773, %t2772 + %t2775 = load ptr, ptr %t2764 + %t2776 = call ptr @realloc(ptr %t2775, i64 %t2774) + store ptr %t2776, ptr %t2764 + store i32 %t2770, ptr %t2763 + br label %put551 +put551: + %t2777 = load ptr, ptr %t2764 + %t2778 = getelementptr inbounds ptr, ptr %t2777, i32 %t2765 + store ptr @.str7020, ptr %t2778 + %t2779 = add i32 %t2765, 1 + store i32 %t2779, ptr %t2762 + br label %ifend533 +ifend533: + %t2780 = load ptr, ptr %t1 + %t2781 = call i32 @lp_str_eq(ptr %t2780, ptr @.str7021) + %t2782 = icmp ne i32 %t2781, 0 + br i1 %t2782, label %then552, label %ifend554 +then552: + store ptr @.str7022, ptr %t403 + %t2783 = load ptr, ptr %t410 + %t2784 = getelementptr inbounds %LSlice, ptr %t2783, i32 0, i32 1 + %t2785 = getelementptr inbounds %LSlice, ptr %t2783, i32 0, i32 2 + %t2786 = getelementptr inbounds %LSlice, ptr %t2783, i32 0, i32 0 + %t2787 = load i32, ptr %t2784 + %t2788 = load i32, ptr %t2785 + %t2789 = icmp sge i32 %t2787, %t2788 + br i1 %t2789, label %grow555, label %put556 +grow555: + %t2790 = mul i32 %t2788, 2 + %t2791 = icmp eq i32 %t2788, 0 + %t2792 = select i1 %t2791, i32 8, i32 %t2790 + %t2793 = getelementptr ptr, ptr null, i32 1 + %t2794 = ptrtoint ptr %t2793 to i64 + %t2795 = zext i32 %t2792 to i64 + %t2796 = mul i64 %t2795, %t2794 + %t2797 = load ptr, ptr %t2786 + %t2798 = call ptr @realloc(ptr %t2797, i64 %t2796) + store ptr %t2798, ptr %t2786 + store i32 %t2792, ptr %t2785 + br label %put556 +put556: + %t2799 = load ptr, ptr %t2786 + %t2800 = getelementptr inbounds ptr, ptr %t2799, i32 %t2787 + store ptr @.str7023, ptr %t2800 + %t2801 = add i32 %t2787, 1 + store i32 %t2801, ptr %t2784 + br label %ifend554 +ifend554: + %t2802 = load ptr, ptr %t1 + %t2803 = call i32 @lp_str_eq(ptr %t2802, ptr @.str7024) + %t2804 = icmp ne i32 %t2803, 0 + br i1 %t2804, label %then557, label %ifend559 +then557: + store ptr @.str7025, ptr %t403 + %t2805 = load ptr, ptr %t410 + %t2806 = getelementptr inbounds %LSlice, ptr %t2805, i32 0, i32 1 + %t2807 = getelementptr inbounds %LSlice, ptr %t2805, i32 0, i32 2 + %t2808 = getelementptr inbounds %LSlice, ptr %t2805, i32 0, i32 0 + %t2809 = load i32, ptr %t2806 + %t2810 = load i32, ptr %t2807 + %t2811 = icmp sge i32 %t2809, %t2810 + br i1 %t2811, label %grow560, label %put561 +grow560: + %t2812 = mul i32 %t2810, 2 + %t2813 = icmp eq i32 %t2810, 0 + %t2814 = select i1 %t2813, i32 8, i32 %t2812 + %t2815 = getelementptr ptr, ptr null, i32 1 + %t2816 = ptrtoint ptr %t2815 to i64 + %t2817 = zext i32 %t2814 to i64 + %t2818 = mul i64 %t2817, %t2816 + %t2819 = load ptr, ptr %t2808 + %t2820 = call ptr @realloc(ptr %t2819, i64 %t2818) + store ptr %t2820, ptr %t2808 + store i32 %t2814, ptr %t2807 + br label %put561 +put561: + %t2821 = load ptr, ptr %t2808 + %t2822 = getelementptr inbounds ptr, ptr %t2821, i32 %t2809 + store ptr @.str7026, ptr %t2822 + %t2823 = add i32 %t2809, 1 + store i32 %t2823, ptr %t2806 + br label %ifend559 +ifend559: + br label %ifend450 +ifend450: + %t2824 = load ptr, ptr %t0 + %t2825 = call i32 @lp_str_eq(ptr %t2824, ptr @.str7027) + %t2826 = icmp ne i32 %t2825, 0 + br i1 %t2826, label %then562, label %ifend564 +then562: + %t2827 = load ptr, ptr %t1 + %t2828 = call i32 @lp_str_eq(ptr %t2827, ptr @.str7028) + %t2829 = icmp ne i32 %t2828, 0 + br i1 %t2829, label %then565, label %ifend567 +then565: + store ptr @.str7029, ptr %t403 + %t2830 = load ptr, ptr %t410 + %t2831 = getelementptr inbounds %LSlice, ptr %t2830, i32 0, i32 1 + %t2832 = getelementptr inbounds %LSlice, ptr %t2830, i32 0, i32 2 + %t2833 = getelementptr inbounds %LSlice, ptr %t2830, i32 0, i32 0 + %t2834 = load i32, ptr %t2831 + %t2835 = load i32, ptr %t2832 + %t2836 = icmp sge i32 %t2834, %t2835 + br i1 %t2836, label %grow568, label %put569 +grow568: + %t2837 = mul i32 %t2835, 2 + %t2838 = icmp eq i32 %t2835, 0 + %t2839 = select i1 %t2838, i32 8, i32 %t2837 + %t2840 = getelementptr ptr, ptr null, i32 1 + %t2841 = ptrtoint ptr %t2840 to i64 + %t2842 = zext i32 %t2839 to i64 + %t2843 = mul i64 %t2842, %t2841 + %t2844 = load ptr, ptr %t2833 + %t2845 = call ptr @realloc(ptr %t2844, i64 %t2843) + store ptr %t2845, ptr %t2833 + store i32 %t2839, ptr %t2832 + br label %put569 +put569: + %t2846 = load ptr, ptr %t2833 + %t2847 = getelementptr inbounds ptr, ptr %t2846, i32 %t2834 + store ptr @.str7030, ptr %t2847 + %t2848 = add i32 %t2834, 1 + store i32 %t2848, ptr %t2831 + br label %ifend567 +ifend567: + br label %ifend564 +ifend564: + %t2849 = load ptr, ptr %t0 + %t2850 = call i32 @lp_str_eq(ptr %t2849, ptr @.str7031) + %t2851 = icmp ne i32 %t2850, 0 + br i1 %t2851, label %then570, label %ifend572 +then570: + %t2852 = load ptr, ptr %t1 + %t2853 = call i32 @lp_str_eq(ptr %t2852, ptr @.str7032) + %t2854 = icmp ne i32 %t2853, 0 + br i1 %t2854, label %then573, label %ifend575 +then573: + store ptr @.str7033, ptr %t403 + br label %ifend575 +ifend575: + %t2855 = load ptr, ptr %t1 + %t2856 = call i32 @lp_str_eq(ptr %t2855, ptr @.str7034) + %t2857 = icmp ne i32 %t2856, 0 + br i1 %t2857, label %then576, label %ifend578 +then576: + store ptr @.str7035, ptr %t403 + %t2858 = load ptr, ptr %t410 + %t2859 = getelementptr inbounds %LSlice, ptr %t2858, i32 0, i32 1 + %t2860 = getelementptr inbounds %LSlice, ptr %t2858, i32 0, i32 2 + %t2861 = getelementptr inbounds %LSlice, ptr %t2858, i32 0, i32 0 + %t2862 = load i32, ptr %t2859 + %t2863 = load i32, ptr %t2860 + %t2864 = icmp sge i32 %t2862, %t2863 + br i1 %t2864, label %grow579, label %put580 +grow579: + %t2865 = mul i32 %t2863, 2 + %t2866 = icmp eq i32 %t2863, 0 + %t2867 = select i1 %t2866, i32 8, i32 %t2865 + %t2868 = getelementptr ptr, ptr null, i32 1 + %t2869 = ptrtoint ptr %t2868 to i64 + %t2870 = zext i32 %t2867 to i64 + %t2871 = mul i64 %t2870, %t2869 + %t2872 = load ptr, ptr %t2861 + %t2873 = call ptr @realloc(ptr %t2872, i64 %t2871) + store ptr %t2873, ptr %t2861 + store i32 %t2867, ptr %t2860 + br label %put580 +put580: + %t2874 = load ptr, ptr %t2861 + %t2875 = getelementptr inbounds ptr, ptr %t2874, i32 %t2862 + store ptr @.str7036, ptr %t2875 + %t2876 = add i32 %t2862, 1 + store i32 %t2876, ptr %t2859 + br label %ifend578 +ifend578: + %t2877 = load ptr, ptr %t1 + %t2878 = call i32 @lp_str_eq(ptr %t2877, ptr @.str7037) + %t2879 = icmp ne i32 %t2878, 0 + br i1 %t2879, label %then581, label %ifend583 +then581: + store ptr @.str7038, ptr %t403 + br label %ifend583 +ifend583: + %t2880 = load ptr, ptr %t1 + %t2881 = call i32 @lp_str_eq(ptr %t2880, ptr @.str7039) + %t2882 = icmp ne i32 %t2881, 0 + br i1 %t2882, label %then584, label %ifend586 +then584: + store ptr @.str7040, ptr %t403 + %t2883 = load ptr, ptr %t410 + %t2884 = getelementptr inbounds %LSlice, ptr %t2883, i32 0, i32 1 + %t2885 = getelementptr inbounds %LSlice, ptr %t2883, i32 0, i32 2 + %t2886 = getelementptr inbounds %LSlice, ptr %t2883, i32 0, i32 0 + %t2887 = load i32, ptr %t2884 + %t2888 = load i32, ptr %t2885 + %t2889 = icmp sge i32 %t2887, %t2888 + br i1 %t2889, label %grow587, label %put588 +grow587: + %t2890 = mul i32 %t2888, 2 + %t2891 = icmp eq i32 %t2888, 0 + %t2892 = select i1 %t2891, i32 8, i32 %t2890 + %t2893 = getelementptr ptr, ptr null, i32 1 + %t2894 = ptrtoint ptr %t2893 to i64 + %t2895 = zext i32 %t2892 to i64 + %t2896 = mul i64 %t2895, %t2894 + %t2897 = load ptr, ptr %t2886 + %t2898 = call ptr @realloc(ptr %t2897, i64 %t2896) + store ptr %t2898, ptr %t2886 + store i32 %t2892, ptr %t2885 + br label %put588 +put588: + %t2899 = load ptr, ptr %t2886 + %t2900 = getelementptr inbounds ptr, ptr %t2899, i32 %t2887 + store ptr @.str7041, ptr %t2900 + %t2901 = add i32 %t2887, 1 + store i32 %t2901, ptr %t2884 + br label %ifend586 +ifend586: + %t2902 = load ptr, ptr %t1 + %t2903 = call i32 @lp_str_eq(ptr %t2902, ptr @.str7042) + %t2904 = icmp ne i32 %t2903, 0 + br i1 %t2904, label %then589, label %ifend591 +then589: + store ptr @.str7043, ptr %t403 + %t2905 = load ptr, ptr %t410 + %t2906 = getelementptr inbounds %LSlice, ptr %t2905, i32 0, i32 1 + %t2907 = getelementptr inbounds %LSlice, ptr %t2905, i32 0, i32 2 + %t2908 = getelementptr inbounds %LSlice, ptr %t2905, i32 0, i32 0 + %t2909 = load i32, ptr %t2906 + %t2910 = load i32, ptr %t2907 + %t2911 = icmp sge i32 %t2909, %t2910 + br i1 %t2911, label %grow592, label %put593 +grow592: + %t2912 = mul i32 %t2910, 2 + %t2913 = icmp eq i32 %t2910, 0 + %t2914 = select i1 %t2913, i32 8, i32 %t2912 + %t2915 = getelementptr ptr, ptr null, i32 1 + %t2916 = ptrtoint ptr %t2915 to i64 + %t2917 = zext i32 %t2914 to i64 + %t2918 = mul i64 %t2917, %t2916 + %t2919 = load ptr, ptr %t2908 + %t2920 = call ptr @realloc(ptr %t2919, i64 %t2918) + store ptr %t2920, ptr %t2908 + store i32 %t2914, ptr %t2907 + br label %put593 +put593: + %t2921 = load ptr, ptr %t2908 + %t2922 = getelementptr inbounds ptr, ptr %t2921, i32 %t2909 + store ptr @.str7044, ptr %t2922 + %t2923 = add i32 %t2909, 1 + store i32 %t2923, ptr %t2906 + br label %ifend591 +ifend591: + %t2924 = load ptr, ptr %t1 + %t2925 = call i32 @lp_str_eq(ptr %t2924, ptr @.str7045) + %t2926 = icmp ne i32 %t2925, 0 + br i1 %t2926, label %then594, label %ifend596 +then594: + store ptr @.str7046, ptr %t403 + %t2927 = load ptr, ptr %t410 + %t2928 = getelementptr inbounds %LSlice, ptr %t2927, i32 0, i32 1 + %t2929 = getelementptr inbounds %LSlice, ptr %t2927, i32 0, i32 2 + %t2930 = getelementptr inbounds %LSlice, ptr %t2927, i32 0, i32 0 + %t2931 = load i32, ptr %t2928 + %t2932 = load i32, ptr %t2929 + %t2933 = icmp sge i32 %t2931, %t2932 + br i1 %t2933, label %grow597, label %put598 +grow597: + %t2934 = mul i32 %t2932, 2 + %t2935 = icmp eq i32 %t2932, 0 + %t2936 = select i1 %t2935, i32 8, i32 %t2934 + %t2937 = getelementptr ptr, ptr null, i32 1 + %t2938 = ptrtoint ptr %t2937 to i64 + %t2939 = zext i32 %t2936 to i64 + %t2940 = mul i64 %t2939, %t2938 + %t2941 = load ptr, ptr %t2930 + %t2942 = call ptr @realloc(ptr %t2941, i64 %t2940) + store ptr %t2942, ptr %t2930 + store i32 %t2936, ptr %t2929 + br label %put598 +put598: + %t2943 = load ptr, ptr %t2930 + %t2944 = getelementptr inbounds ptr, ptr %t2943, i32 %t2931 + store ptr @.str7047, ptr %t2944 + %t2945 = add i32 %t2931, 1 + store i32 %t2945, ptr %t2928 + %t2946 = load ptr, ptr %t410 + %t2947 = getelementptr inbounds %LSlice, ptr %t2946, i32 0, i32 1 + %t2948 = getelementptr inbounds %LSlice, ptr %t2946, i32 0, i32 2 + %t2949 = getelementptr inbounds %LSlice, ptr %t2946, i32 0, i32 0 + %t2950 = load i32, ptr %t2947 + %t2951 = load i32, ptr %t2948 + %t2952 = icmp sge i32 %t2950, %t2951 + br i1 %t2952, label %grow599, label %put600 +grow599: + %t2953 = mul i32 %t2951, 2 + %t2954 = icmp eq i32 %t2951, 0 + %t2955 = select i1 %t2954, i32 8, i32 %t2953 + %t2956 = getelementptr ptr, ptr null, i32 1 + %t2957 = ptrtoint ptr %t2956 to i64 + %t2958 = zext i32 %t2955 to i64 + %t2959 = mul i64 %t2958, %t2957 + %t2960 = load ptr, ptr %t2949 + %t2961 = call ptr @realloc(ptr %t2960, i64 %t2959) + store ptr %t2961, ptr %t2949 + store i32 %t2955, ptr %t2948 + br label %put600 +put600: + %t2962 = load ptr, ptr %t2949 + %t2963 = getelementptr inbounds ptr, ptr %t2962, i32 %t2950 + store ptr @.str7048, ptr %t2963 + %t2964 = add i32 %t2950, 1 + store i32 %t2964, ptr %t2947 + br label %ifend596 +ifend596: + %t2965 = load ptr, ptr %t1 + %t2966 = call i32 @lp_str_eq(ptr %t2965, ptr @.str7049) + %t2967 = icmp ne i32 %t2966, 0 + br i1 %t2967, label %then601, label %ifend603 +then601: + store ptr @.str7050, ptr %t403 + br label %ifend603 +ifend603: + br label %ifend572 +ifend572: + %t2968 = load ptr, ptr %t0 + %t2969 = call i32 @lp_str_eq(ptr %t2968, ptr @.str7051) + %t2970 = icmp ne i32 %t2969, 0 + br i1 %t2970, label %then604, label %ifend606 +then604: + %t2971 = load ptr, ptr %t1 + %t2972 = call i32 @lp_str_eq(ptr %t2971, ptr @.str7052) + %t2973 = icmp ne i32 %t2972, 0 + br i1 %t2973, label %then607, label %ifend609 +then607: + store ptr @.str7053, ptr %t403 + %t2974 = load ptr, ptr %t410 + %t2975 = getelementptr inbounds %LSlice, ptr %t2974, i32 0, i32 1 + %t2976 = getelementptr inbounds %LSlice, ptr %t2974, i32 0, i32 2 + %t2977 = getelementptr inbounds %LSlice, ptr %t2974, i32 0, i32 0 + %t2978 = load i32, ptr %t2975 + %t2979 = load i32, ptr %t2976 + %t2980 = icmp sge i32 %t2978, %t2979 + br i1 %t2980, label %grow610, label %put611 +grow610: + %t2981 = mul i32 %t2979, 2 + %t2982 = icmp eq i32 %t2979, 0 + %t2983 = select i1 %t2982, i32 8, i32 %t2981 + %t2984 = getelementptr ptr, ptr null, i32 1 + %t2985 = ptrtoint ptr %t2984 to i64 + %t2986 = zext i32 %t2983 to i64 + %t2987 = mul i64 %t2986, %t2985 + %t2988 = load ptr, ptr %t2977 + %t2989 = call ptr @realloc(ptr %t2988, i64 %t2987) + store ptr %t2989, ptr %t2977 + store i32 %t2983, ptr %t2976 + br label %put611 +put611: + %t2990 = load ptr, ptr %t2977 + %t2991 = getelementptr inbounds ptr, ptr %t2990, i32 %t2978 + store ptr @.str7054, ptr %t2991 + %t2992 = add i32 %t2978, 1 + store i32 %t2992, ptr %t2975 + %t2993 = load ptr, ptr %t410 + %t2994 = getelementptr inbounds %LSlice, ptr %t2993, i32 0, i32 1 + %t2995 = getelementptr inbounds %LSlice, ptr %t2993, i32 0, i32 2 + %t2996 = getelementptr inbounds %LSlice, ptr %t2993, i32 0, i32 0 + %t2997 = load i32, ptr %t2994 + %t2998 = load i32, ptr %t2995 + %t2999 = icmp sge i32 %t2997, %t2998 + br i1 %t2999, label %grow612, label %put613 +grow612: + %t3000 = mul i32 %t2998, 2 + %t3001 = icmp eq i32 %t2998, 0 + %t3002 = select i1 %t3001, i32 8, i32 %t3000 + %t3003 = getelementptr ptr, ptr null, i32 1 + %t3004 = ptrtoint ptr %t3003 to i64 + %t3005 = zext i32 %t3002 to i64 + %t3006 = mul i64 %t3005, %t3004 + %t3007 = load ptr, ptr %t2996 + %t3008 = call ptr @realloc(ptr %t3007, i64 %t3006) + store ptr %t3008, ptr %t2996 + store i32 %t3002, ptr %t2995 + br label %put613 +put613: + %t3009 = load ptr, ptr %t2996 + %t3010 = getelementptr inbounds ptr, ptr %t3009, i32 %t2997 + store ptr @.str7055, ptr %t3010 + %t3011 = add i32 %t2997, 1 + store i32 %t3011, ptr %t2994 + br label %ifend609 +ifend609: + %t3012 = load ptr, ptr %t1 + %t3013 = call i32 @lp_str_eq(ptr %t3012, ptr @.str7056) + %t3014 = icmp ne i32 %t3013, 0 + br i1 %t3014, label %then614, label %ifend616 +then614: + store ptr @.str7057, ptr %t403 + %t3015 = load ptr, ptr %t410 + %t3016 = getelementptr inbounds %LSlice, ptr %t3015, i32 0, i32 1 + %t3017 = getelementptr inbounds %LSlice, ptr %t3015, i32 0, i32 2 + %t3018 = getelementptr inbounds %LSlice, ptr %t3015, i32 0, i32 0 + %t3019 = load i32, ptr %t3016 + %t3020 = load i32, ptr %t3017 + %t3021 = icmp sge i32 %t3019, %t3020 + br i1 %t3021, label %grow617, label %put618 +grow617: + %t3022 = mul i32 %t3020, 2 + %t3023 = icmp eq i32 %t3020, 0 + %t3024 = select i1 %t3023, i32 8, i32 %t3022 + %t3025 = getelementptr ptr, ptr null, i32 1 + %t3026 = ptrtoint ptr %t3025 to i64 + %t3027 = zext i32 %t3024 to i64 + %t3028 = mul i64 %t3027, %t3026 + %t3029 = load ptr, ptr %t3018 + %t3030 = call ptr @realloc(ptr %t3029, i64 %t3028) + store ptr %t3030, ptr %t3018 + store i32 %t3024, ptr %t3017 + br label %put618 +put618: + %t3031 = load ptr, ptr %t3018 + %t3032 = getelementptr inbounds ptr, ptr %t3031, i32 %t3019 + store ptr @.str7058, ptr %t3032 + %t3033 = add i32 %t3019, 1 + store i32 %t3033, ptr %t3016 + %t3034 = load ptr, ptr %t410 + %t3035 = getelementptr inbounds %LSlice, ptr %t3034, i32 0, i32 1 + %t3036 = getelementptr inbounds %LSlice, ptr %t3034, i32 0, i32 2 + %t3037 = getelementptr inbounds %LSlice, ptr %t3034, i32 0, i32 0 + %t3038 = load i32, ptr %t3035 + %t3039 = load i32, ptr %t3036 + %t3040 = icmp sge i32 %t3038, %t3039 + br i1 %t3040, label %grow619, label %put620 +grow619: + %t3041 = mul i32 %t3039, 2 + %t3042 = icmp eq i32 %t3039, 0 + %t3043 = select i1 %t3042, i32 8, i32 %t3041 + %t3044 = getelementptr ptr, ptr null, i32 1 + %t3045 = ptrtoint ptr %t3044 to i64 + %t3046 = zext i32 %t3043 to i64 + %t3047 = mul i64 %t3046, %t3045 + %t3048 = load ptr, ptr %t3037 + %t3049 = call ptr @realloc(ptr %t3048, i64 %t3047) + store ptr %t3049, ptr %t3037 + store i32 %t3043, ptr %t3036 + br label %put620 +put620: + %t3050 = load ptr, ptr %t3037 + %t3051 = getelementptr inbounds ptr, ptr %t3050, i32 %t3038 + store ptr @.str7059, ptr %t3051 + %t3052 = add i32 %t3038, 1 + store i32 %t3052, ptr %t3035 + %t3053 = load ptr, ptr %t410 + %t3054 = getelementptr inbounds %LSlice, ptr %t3053, i32 0, i32 1 + %t3055 = getelementptr inbounds %LSlice, ptr %t3053, i32 0, i32 2 + %t3056 = getelementptr inbounds %LSlice, ptr %t3053, i32 0, i32 0 + %t3057 = load i32, ptr %t3054 + %t3058 = load i32, ptr %t3055 + %t3059 = icmp sge i32 %t3057, %t3058 + br i1 %t3059, label %grow621, label %put622 +grow621: + %t3060 = mul i32 %t3058, 2 + %t3061 = icmp eq i32 %t3058, 0 + %t3062 = select i1 %t3061, i32 8, i32 %t3060 + %t3063 = getelementptr ptr, ptr null, i32 1 + %t3064 = ptrtoint ptr %t3063 to i64 + %t3065 = zext i32 %t3062 to i64 + %t3066 = mul i64 %t3065, %t3064 + %t3067 = load ptr, ptr %t3056 + %t3068 = call ptr @realloc(ptr %t3067, i64 %t3066) + store ptr %t3068, ptr %t3056 + store i32 %t3062, ptr %t3055 + br label %put622 +put622: + %t3069 = load ptr, ptr %t3056 + %t3070 = getelementptr inbounds ptr, ptr %t3069, i32 %t3057 + store ptr @.str7060, ptr %t3070 + %t3071 = add i32 %t3057, 1 + store i32 %t3071, ptr %t3054 + br label %ifend616 +ifend616: + %t3072 = load ptr, ptr %t1 + %t3073 = call i32 @lp_str_eq(ptr %t3072, ptr @.str7061) + %t3074 = icmp ne i32 %t3073, 0 + br i1 %t3074, label %then623, label %ifend625 +then623: + store ptr @.str7062, ptr %t403 + %t3075 = load ptr, ptr %t410 + %t3076 = getelementptr inbounds %LSlice, ptr %t3075, i32 0, i32 1 + %t3077 = getelementptr inbounds %LSlice, ptr %t3075, i32 0, i32 2 + %t3078 = getelementptr inbounds %LSlice, ptr %t3075, i32 0, i32 0 + %t3079 = load i32, ptr %t3076 + %t3080 = load i32, ptr %t3077 + %t3081 = icmp sge i32 %t3079, %t3080 + br i1 %t3081, label %grow626, label %put627 +grow626: + %t3082 = mul i32 %t3080, 2 + %t3083 = icmp eq i32 %t3080, 0 + %t3084 = select i1 %t3083, i32 8, i32 %t3082 + %t3085 = getelementptr ptr, ptr null, i32 1 + %t3086 = ptrtoint ptr %t3085 to i64 + %t3087 = zext i32 %t3084 to i64 + %t3088 = mul i64 %t3087, %t3086 + %t3089 = load ptr, ptr %t3078 + %t3090 = call ptr @realloc(ptr %t3089, i64 %t3088) + store ptr %t3090, ptr %t3078 + store i32 %t3084, ptr %t3077 + br label %put627 +put627: + %t3091 = load ptr, ptr %t3078 + %t3092 = getelementptr inbounds ptr, ptr %t3091, i32 %t3079 + store ptr @.str7063, ptr %t3092 + %t3093 = add i32 %t3079, 1 + store i32 %t3093, ptr %t3076 + %t3094 = load ptr, ptr %t410 + %t3095 = getelementptr inbounds %LSlice, ptr %t3094, i32 0, i32 1 + %t3096 = getelementptr inbounds %LSlice, ptr %t3094, i32 0, i32 2 + %t3097 = getelementptr inbounds %LSlice, ptr %t3094, i32 0, i32 0 + %t3098 = load i32, ptr %t3095 + %t3099 = load i32, ptr %t3096 + %t3100 = icmp sge i32 %t3098, %t3099 + br i1 %t3100, label %grow628, label %put629 +grow628: + %t3101 = mul i32 %t3099, 2 + %t3102 = icmp eq i32 %t3099, 0 + %t3103 = select i1 %t3102, i32 8, i32 %t3101 + %t3104 = getelementptr ptr, ptr null, i32 1 + %t3105 = ptrtoint ptr %t3104 to i64 + %t3106 = zext i32 %t3103 to i64 + %t3107 = mul i64 %t3106, %t3105 + %t3108 = load ptr, ptr %t3097 + %t3109 = call ptr @realloc(ptr %t3108, i64 %t3107) + store ptr %t3109, ptr %t3097 + store i32 %t3103, ptr %t3096 + br label %put629 +put629: + %t3110 = load ptr, ptr %t3097 + %t3111 = getelementptr inbounds ptr, ptr %t3110, i32 %t3098 + store ptr @.str7064, ptr %t3111 + %t3112 = add i32 %t3098, 1 + store i32 %t3112, ptr %t3095 + %t3113 = load ptr, ptr %t410 + %t3114 = getelementptr inbounds %LSlice, ptr %t3113, i32 0, i32 1 + %t3115 = getelementptr inbounds %LSlice, ptr %t3113, i32 0, i32 2 + %t3116 = getelementptr inbounds %LSlice, ptr %t3113, i32 0, i32 0 + %t3117 = load i32, ptr %t3114 + %t3118 = load i32, ptr %t3115 + %t3119 = icmp sge i32 %t3117, %t3118 + br i1 %t3119, label %grow630, label %put631 +grow630: + %t3120 = mul i32 %t3118, 2 + %t3121 = icmp eq i32 %t3118, 0 + %t3122 = select i1 %t3121, i32 8, i32 %t3120 + %t3123 = getelementptr ptr, ptr null, i32 1 + %t3124 = ptrtoint ptr %t3123 to i64 + %t3125 = zext i32 %t3122 to i64 + %t3126 = mul i64 %t3125, %t3124 + %t3127 = load ptr, ptr %t3116 + %t3128 = call ptr @realloc(ptr %t3127, i64 %t3126) + store ptr %t3128, ptr %t3116 + store i32 %t3122, ptr %t3115 + br label %put631 +put631: + %t3129 = load ptr, ptr %t3116 + %t3130 = getelementptr inbounds ptr, ptr %t3129, i32 %t3117 + store ptr @.str7065, ptr %t3130 + %t3131 = add i32 %t3117, 1 + store i32 %t3131, ptr %t3114 + br label %ifend625 +ifend625: + %t3132 = load ptr, ptr %t1 + %t3133 = call i32 @lp_str_eq(ptr %t3132, ptr @.str7066) + %t3134 = icmp ne i32 %t3133, 0 + br i1 %t3134, label %then632, label %ifend634 +then632: + store ptr @.str7067, ptr %t403 + %t3135 = load ptr, ptr %t410 + %t3136 = getelementptr inbounds %LSlice, ptr %t3135, i32 0, i32 1 + %t3137 = getelementptr inbounds %LSlice, ptr %t3135, i32 0, i32 2 + %t3138 = getelementptr inbounds %LSlice, ptr %t3135, i32 0, i32 0 + %t3139 = load i32, ptr %t3136 + %t3140 = load i32, ptr %t3137 + %t3141 = icmp sge i32 %t3139, %t3140 + br i1 %t3141, label %grow635, label %put636 +grow635: + %t3142 = mul i32 %t3140, 2 + %t3143 = icmp eq i32 %t3140, 0 + %t3144 = select i1 %t3143, i32 8, i32 %t3142 + %t3145 = getelementptr ptr, ptr null, i32 1 + %t3146 = ptrtoint ptr %t3145 to i64 + %t3147 = zext i32 %t3144 to i64 + %t3148 = mul i64 %t3147, %t3146 + %t3149 = load ptr, ptr %t3138 + %t3150 = call ptr @realloc(ptr %t3149, i64 %t3148) + store ptr %t3150, ptr %t3138 + store i32 %t3144, ptr %t3137 + br label %put636 +put636: + %t3151 = load ptr, ptr %t3138 + %t3152 = getelementptr inbounds ptr, ptr %t3151, i32 %t3139 + store ptr @.str7068, ptr %t3152 + %t3153 = add i32 %t3139, 1 + store i32 %t3153, ptr %t3136 + %t3154 = load ptr, ptr %t410 + %t3155 = getelementptr inbounds %LSlice, ptr %t3154, i32 0, i32 1 + %t3156 = getelementptr inbounds %LSlice, ptr %t3154, i32 0, i32 2 + %t3157 = getelementptr inbounds %LSlice, ptr %t3154, i32 0, i32 0 + %t3158 = load i32, ptr %t3155 + %t3159 = load i32, ptr %t3156 + %t3160 = icmp sge i32 %t3158, %t3159 + br i1 %t3160, label %grow637, label %put638 +grow637: + %t3161 = mul i32 %t3159, 2 + %t3162 = icmp eq i32 %t3159, 0 + %t3163 = select i1 %t3162, i32 8, i32 %t3161 + %t3164 = getelementptr ptr, ptr null, i32 1 + %t3165 = ptrtoint ptr %t3164 to i64 + %t3166 = zext i32 %t3163 to i64 + %t3167 = mul i64 %t3166, %t3165 + %t3168 = load ptr, ptr %t3157 + %t3169 = call ptr @realloc(ptr %t3168, i64 %t3167) + store ptr %t3169, ptr %t3157 + store i32 %t3163, ptr %t3156 + br label %put638 +put638: + %t3170 = load ptr, ptr %t3157 + %t3171 = getelementptr inbounds ptr, ptr %t3170, i32 %t3158 + store ptr @.str7069, ptr %t3171 + %t3172 = add i32 %t3158, 1 + store i32 %t3172, ptr %t3155 + %t3173 = load ptr, ptr %t410 + %t3174 = getelementptr inbounds %LSlice, ptr %t3173, i32 0, i32 1 + %t3175 = getelementptr inbounds %LSlice, ptr %t3173, i32 0, i32 2 + %t3176 = getelementptr inbounds %LSlice, ptr %t3173, i32 0, i32 0 + %t3177 = load i32, ptr %t3174 + %t3178 = load i32, ptr %t3175 + %t3179 = icmp sge i32 %t3177, %t3178 + br i1 %t3179, label %grow639, label %put640 +grow639: + %t3180 = mul i32 %t3178, 2 + %t3181 = icmp eq i32 %t3178, 0 + %t3182 = select i1 %t3181, i32 8, i32 %t3180 + %t3183 = getelementptr ptr, ptr null, i32 1 + %t3184 = ptrtoint ptr %t3183 to i64 + %t3185 = zext i32 %t3182 to i64 + %t3186 = mul i64 %t3185, %t3184 + %t3187 = load ptr, ptr %t3176 + %t3188 = call ptr @realloc(ptr %t3187, i64 %t3186) + store ptr %t3188, ptr %t3176 + store i32 %t3182, ptr %t3175 + br label %put640 +put640: + %t3189 = load ptr, ptr %t3176 + %t3190 = getelementptr inbounds ptr, ptr %t3189, i32 %t3177 + store ptr @.str7070, ptr %t3190 + %t3191 = add i32 %t3177, 1 + store i32 %t3191, ptr %t3174 + br label %ifend634 +ifend634: + %t3192 = load ptr, ptr %t1 + %t3193 = call i32 @lp_str_eq(ptr %t3192, ptr @.str7071) + %t3194 = icmp ne i32 %t3193, 0 + br i1 %t3194, label %then641, label %ifend643 +then641: + store ptr @.str7072, ptr %t403 + %t3195 = load ptr, ptr %t410 + %t3196 = getelementptr inbounds %LSlice, ptr %t3195, i32 0, i32 1 + %t3197 = getelementptr inbounds %LSlice, ptr %t3195, i32 0, i32 2 + %t3198 = getelementptr inbounds %LSlice, ptr %t3195, i32 0, i32 0 + %t3199 = load i32, ptr %t3196 + %t3200 = load i32, ptr %t3197 + %t3201 = icmp sge i32 %t3199, %t3200 + br i1 %t3201, label %grow644, label %put645 +grow644: + %t3202 = mul i32 %t3200, 2 + %t3203 = icmp eq i32 %t3200, 0 + %t3204 = select i1 %t3203, i32 8, i32 %t3202 + %t3205 = getelementptr ptr, ptr null, i32 1 + %t3206 = ptrtoint ptr %t3205 to i64 + %t3207 = zext i32 %t3204 to i64 + %t3208 = mul i64 %t3207, %t3206 + %t3209 = load ptr, ptr %t3198 + %t3210 = call ptr @realloc(ptr %t3209, i64 %t3208) + store ptr %t3210, ptr %t3198 + store i32 %t3204, ptr %t3197 + br label %put645 +put645: + %t3211 = load ptr, ptr %t3198 + %t3212 = getelementptr inbounds ptr, ptr %t3211, i32 %t3199 + store ptr @.str7073, ptr %t3212 + %t3213 = add i32 %t3199, 1 + store i32 %t3213, ptr %t3196 + br label %ifend643 +ifend643: + %t3214 = load ptr, ptr %t1 + %t3215 = call i32 @lp_str_eq(ptr %t3214, ptr @.str7074) + %t3216 = icmp ne i32 %t3215, 0 + br i1 %t3216, label %then646, label %ifend648 +then646: + store ptr @.str7075, ptr %t403 + %t3217 = load ptr, ptr %t410 + %t3218 = getelementptr inbounds %LSlice, ptr %t3217, i32 0, i32 1 + %t3219 = getelementptr inbounds %LSlice, ptr %t3217, i32 0, i32 2 + %t3220 = getelementptr inbounds %LSlice, ptr %t3217, i32 0, i32 0 + %t3221 = load i32, ptr %t3218 + %t3222 = load i32, ptr %t3219 + %t3223 = icmp sge i32 %t3221, %t3222 + br i1 %t3223, label %grow649, label %put650 +grow649: + %t3224 = mul i32 %t3222, 2 + %t3225 = icmp eq i32 %t3222, 0 + %t3226 = select i1 %t3225, i32 8, i32 %t3224 + %t3227 = getelementptr ptr, ptr null, i32 1 + %t3228 = ptrtoint ptr %t3227 to i64 + %t3229 = zext i32 %t3226 to i64 + %t3230 = mul i64 %t3229, %t3228 + %t3231 = load ptr, ptr %t3220 + %t3232 = call ptr @realloc(ptr %t3231, i64 %t3230) + store ptr %t3232, ptr %t3220 + store i32 %t3226, ptr %t3219 + br label %put650 +put650: + %t3233 = load ptr, ptr %t3220 + %t3234 = getelementptr inbounds ptr, ptr %t3233, i32 %t3221 + store ptr @.str7076, ptr %t3234 + %t3235 = add i32 %t3221, 1 + store i32 %t3235, ptr %t3218 + br label %ifend648 +ifend648: + br label %ifend606 +ifend606: + %t3236 = load ptr, ptr %t0 + %t3237 = call i32 @lp_str_eq(ptr %t3236, ptr @.str7077) + %t3238 = icmp ne i32 %t3237, 0 + br i1 %t3238, label %then651, label %ifend653 +then651: + %t3239 = load ptr, ptr %t1 + %t3240 = call i32 @lp_str_eq(ptr %t3239, ptr @.str7078) + %t3241 = icmp ne i32 %t3240, 0 + br i1 %t3241, label %then654, label %ifend656 +then654: + store ptr @.str7079, ptr %t403 + %t3242 = load ptr, ptr %t410 + %t3243 = getelementptr inbounds %LSlice, ptr %t3242, i32 0, i32 1 + %t3244 = getelementptr inbounds %LSlice, ptr %t3242, i32 0, i32 2 + %t3245 = getelementptr inbounds %LSlice, ptr %t3242, i32 0, i32 0 + %t3246 = load i32, ptr %t3243 + %t3247 = load i32, ptr %t3244 + %t3248 = icmp sge i32 %t3246, %t3247 + br i1 %t3248, label %grow657, label %put658 +grow657: + %t3249 = mul i32 %t3247, 2 + %t3250 = icmp eq i32 %t3247, 0 + %t3251 = select i1 %t3250, i32 8, i32 %t3249 + %t3252 = getelementptr ptr, ptr null, i32 1 + %t3253 = ptrtoint ptr %t3252 to i64 + %t3254 = zext i32 %t3251 to i64 + %t3255 = mul i64 %t3254, %t3253 + %t3256 = load ptr, ptr %t3245 + %t3257 = call ptr @realloc(ptr %t3256, i64 %t3255) + store ptr %t3257, ptr %t3245 + store i32 %t3251, ptr %t3244 + br label %put658 +put658: + %t3258 = load ptr, ptr %t3245 + %t3259 = getelementptr inbounds ptr, ptr %t3258, i32 %t3246 + store ptr @.str7080, ptr %t3259 + %t3260 = add i32 %t3246, 1 + store i32 %t3260, ptr %t3243 + %t3261 = load ptr, ptr %t410 + %t3262 = getelementptr inbounds %LSlice, ptr %t3261, i32 0, i32 1 + %t3263 = getelementptr inbounds %LSlice, ptr %t3261, i32 0, i32 2 + %t3264 = getelementptr inbounds %LSlice, ptr %t3261, i32 0, i32 0 + %t3265 = load i32, ptr %t3262 + %t3266 = load i32, ptr %t3263 + %t3267 = icmp sge i32 %t3265, %t3266 + br i1 %t3267, label %grow659, label %put660 +grow659: + %t3268 = mul i32 %t3266, 2 + %t3269 = icmp eq i32 %t3266, 0 + %t3270 = select i1 %t3269, i32 8, i32 %t3268 + %t3271 = getelementptr ptr, ptr null, i32 1 + %t3272 = ptrtoint ptr %t3271 to i64 + %t3273 = zext i32 %t3270 to i64 + %t3274 = mul i64 %t3273, %t3272 + %t3275 = load ptr, ptr %t3264 + %t3276 = call ptr @realloc(ptr %t3275, i64 %t3274) + store ptr %t3276, ptr %t3264 + store i32 %t3270, ptr %t3263 + br label %put660 +put660: + %t3277 = load ptr, ptr %t3264 + %t3278 = getelementptr inbounds ptr, ptr %t3277, i32 %t3265 + store ptr @.str7081, ptr %t3278 + %t3279 = add i32 %t3265, 1 + store i32 %t3279, ptr %t3262 + %t3280 = load ptr, ptr %t410 + %t3281 = getelementptr inbounds %LSlice, ptr %t3280, i32 0, i32 1 + %t3282 = getelementptr inbounds %LSlice, ptr %t3280, i32 0, i32 2 + %t3283 = getelementptr inbounds %LSlice, ptr %t3280, i32 0, i32 0 + %t3284 = load i32, ptr %t3281 + %t3285 = load i32, ptr %t3282 + %t3286 = icmp sge i32 %t3284, %t3285 + br i1 %t3286, label %grow661, label %put662 +grow661: + %t3287 = mul i32 %t3285, 2 + %t3288 = icmp eq i32 %t3285, 0 + %t3289 = select i1 %t3288, i32 8, i32 %t3287 + %t3290 = getelementptr ptr, ptr null, i32 1 + %t3291 = ptrtoint ptr %t3290 to i64 + %t3292 = zext i32 %t3289 to i64 + %t3293 = mul i64 %t3292, %t3291 + %t3294 = load ptr, ptr %t3283 + %t3295 = call ptr @realloc(ptr %t3294, i64 %t3293) + store ptr %t3295, ptr %t3283 + store i32 %t3289, ptr %t3282 + br label %put662 +put662: + %t3296 = load ptr, ptr %t3283 + %t3297 = getelementptr inbounds ptr, ptr %t3296, i32 %t3284 + store ptr @.str7082, ptr %t3297 + %t3298 = add i32 %t3284, 1 + store i32 %t3298, ptr %t3281 + %t3299 = load ptr, ptr %t410 + %t3300 = getelementptr inbounds %LSlice, ptr %t3299, i32 0, i32 1 + %t3301 = getelementptr inbounds %LSlice, ptr %t3299, i32 0, i32 2 + %t3302 = getelementptr inbounds %LSlice, ptr %t3299, i32 0, i32 0 + %t3303 = load i32, ptr %t3300 + %t3304 = load i32, ptr %t3301 + %t3305 = icmp sge i32 %t3303, %t3304 + br i1 %t3305, label %grow663, label %put664 +grow663: + %t3306 = mul i32 %t3304, 2 + %t3307 = icmp eq i32 %t3304, 0 + %t3308 = select i1 %t3307, i32 8, i32 %t3306 + %t3309 = getelementptr ptr, ptr null, i32 1 + %t3310 = ptrtoint ptr %t3309 to i64 + %t3311 = zext i32 %t3308 to i64 + %t3312 = mul i64 %t3311, %t3310 + %t3313 = load ptr, ptr %t3302 + %t3314 = call ptr @realloc(ptr %t3313, i64 %t3312) + store ptr %t3314, ptr %t3302 + store i32 %t3308, ptr %t3301 + br label %put664 +put664: + %t3315 = load ptr, ptr %t3302 + %t3316 = getelementptr inbounds ptr, ptr %t3315, i32 %t3303 + store ptr @.str7083, ptr %t3316 + %t3317 = add i32 %t3303, 1 + store i32 %t3317, ptr %t3300 + br label %ifend656 +ifend656: + %t3318 = load ptr, ptr %t1 + %t3319 = call i32 @lp_str_eq(ptr %t3318, ptr @.str7084) + %t3320 = icmp ne i32 %t3319, 0 + br i1 %t3320, label %then665, label %ifend667 +then665: + store ptr @.str7085, ptr %t403 + %t3321 = load ptr, ptr %t410 + %t3322 = getelementptr inbounds %LSlice, ptr %t3321, i32 0, i32 1 + %t3323 = getelementptr inbounds %LSlice, ptr %t3321, i32 0, i32 2 + %t3324 = getelementptr inbounds %LSlice, ptr %t3321, i32 0, i32 0 + %t3325 = load i32, ptr %t3322 + %t3326 = load i32, ptr %t3323 + %t3327 = icmp sge i32 %t3325, %t3326 + br i1 %t3327, label %grow668, label %put669 +grow668: + %t3328 = mul i32 %t3326, 2 + %t3329 = icmp eq i32 %t3326, 0 + %t3330 = select i1 %t3329, i32 8, i32 %t3328 + %t3331 = getelementptr ptr, ptr null, i32 1 + %t3332 = ptrtoint ptr %t3331 to i64 + %t3333 = zext i32 %t3330 to i64 + %t3334 = mul i64 %t3333, %t3332 + %t3335 = load ptr, ptr %t3324 + %t3336 = call ptr @realloc(ptr %t3335, i64 %t3334) + store ptr %t3336, ptr %t3324 + store i32 %t3330, ptr %t3323 + br label %put669 +put669: + %t3337 = load ptr, ptr %t3324 + %t3338 = getelementptr inbounds ptr, ptr %t3337, i32 %t3325 + store ptr @.str7086, ptr %t3338 + %t3339 = add i32 %t3325, 1 + store i32 %t3339, ptr %t3322 + %t3340 = load ptr, ptr %t410 + %t3341 = getelementptr inbounds %LSlice, ptr %t3340, i32 0, i32 1 + %t3342 = getelementptr inbounds %LSlice, ptr %t3340, i32 0, i32 2 + %t3343 = getelementptr inbounds %LSlice, ptr %t3340, i32 0, i32 0 + %t3344 = load i32, ptr %t3341 + %t3345 = load i32, ptr %t3342 + %t3346 = icmp sge i32 %t3344, %t3345 + br i1 %t3346, label %grow670, label %put671 +grow670: + %t3347 = mul i32 %t3345, 2 + %t3348 = icmp eq i32 %t3345, 0 + %t3349 = select i1 %t3348, i32 8, i32 %t3347 + %t3350 = getelementptr ptr, ptr null, i32 1 + %t3351 = ptrtoint ptr %t3350 to i64 + %t3352 = zext i32 %t3349 to i64 + %t3353 = mul i64 %t3352, %t3351 + %t3354 = load ptr, ptr %t3343 + %t3355 = call ptr @realloc(ptr %t3354, i64 %t3353) + store ptr %t3355, ptr %t3343 + store i32 %t3349, ptr %t3342 + br label %put671 +put671: + %t3356 = load ptr, ptr %t3343 + %t3357 = getelementptr inbounds ptr, ptr %t3356, i32 %t3344 + store ptr @.str7087, ptr %t3357 + %t3358 = add i32 %t3344, 1 + store i32 %t3358, ptr %t3341 + %t3359 = load ptr, ptr %t410 + %t3360 = getelementptr inbounds %LSlice, ptr %t3359, i32 0, i32 1 + %t3361 = getelementptr inbounds %LSlice, ptr %t3359, i32 0, i32 2 + %t3362 = getelementptr inbounds %LSlice, ptr %t3359, i32 0, i32 0 + %t3363 = load i32, ptr %t3360 + %t3364 = load i32, ptr %t3361 + %t3365 = icmp sge i32 %t3363, %t3364 + br i1 %t3365, label %grow672, label %put673 +grow672: + %t3366 = mul i32 %t3364, 2 + %t3367 = icmp eq i32 %t3364, 0 + %t3368 = select i1 %t3367, i32 8, i32 %t3366 + %t3369 = getelementptr ptr, ptr null, i32 1 + %t3370 = ptrtoint ptr %t3369 to i64 + %t3371 = zext i32 %t3368 to i64 + %t3372 = mul i64 %t3371, %t3370 + %t3373 = load ptr, ptr %t3362 + %t3374 = call ptr @realloc(ptr %t3373, i64 %t3372) + store ptr %t3374, ptr %t3362 + store i32 %t3368, ptr %t3361 + br label %put673 +put673: + %t3375 = load ptr, ptr %t3362 + %t3376 = getelementptr inbounds ptr, ptr %t3375, i32 %t3363 + store ptr @.str7088, ptr %t3376 + %t3377 = add i32 %t3363, 1 + store i32 %t3377, ptr %t3360 + %t3378 = load ptr, ptr %t410 + %t3379 = getelementptr inbounds %LSlice, ptr %t3378, i32 0, i32 1 + %t3380 = getelementptr inbounds %LSlice, ptr %t3378, i32 0, i32 2 + %t3381 = getelementptr inbounds %LSlice, ptr %t3378, i32 0, i32 0 + %t3382 = load i32, ptr %t3379 + %t3383 = load i32, ptr %t3380 + %t3384 = icmp sge i32 %t3382, %t3383 + br i1 %t3384, label %grow674, label %put675 +grow674: + %t3385 = mul i32 %t3383, 2 + %t3386 = icmp eq i32 %t3383, 0 + %t3387 = select i1 %t3386, i32 8, i32 %t3385 + %t3388 = getelementptr ptr, ptr null, i32 1 + %t3389 = ptrtoint ptr %t3388 to i64 + %t3390 = zext i32 %t3387 to i64 + %t3391 = mul i64 %t3390, %t3389 + %t3392 = load ptr, ptr %t3381 + %t3393 = call ptr @realloc(ptr %t3392, i64 %t3391) + store ptr %t3393, ptr %t3381 + store i32 %t3387, ptr %t3380 + br label %put675 +put675: + %t3394 = load ptr, ptr %t3381 + %t3395 = getelementptr inbounds ptr, ptr %t3394, i32 %t3382 + store ptr @.str7089, ptr %t3395 + %t3396 = add i32 %t3382, 1 + store i32 %t3396, ptr %t3379 + br label %ifend667 +ifend667: + %t3397 = load ptr, ptr %t1 + %t3398 = call i32 @lp_str_eq(ptr %t3397, ptr @.str7090) + %t3399 = icmp ne i32 %t3398, 0 + br i1 %t3399, label %then676, label %ifend678 +then676: + store ptr @.str7091, ptr %t403 + br label %ifend678 +ifend678: + br label %ifend653 +ifend653: + %t3400 = load ptr, ptr %t0 + %t3401 = call i32 @lp_str_eq(ptr %t3400, ptr @.str7092) + %t3402 = icmp ne i32 %t3401, 0 + br i1 %t3402, label %then679, label %ifend681 +then679: + %t3403 = load ptr, ptr %t1 + %t3404 = call i32 @lp_str_eq(ptr %t3403, ptr @.str7093) + %t3405 = icmp ne i32 %t3404, 0 + br i1 %t3405, label %then682, label %ifend684 +then682: + %t3406 = call i32 @fn_has_prefabs() + %t3407 = icmp eq i32 %t3406, 0 + %t3408 = zext i1 %t3407 to i32 + %t3409 = icmp ne i32 %t3408, 0 + br i1 %t3409, label %then685, label %ifend687 +then685: + call void @fn_perr(ptr @.str7094) + br label %ifend687 +ifend687: + %t3410 = call ptr @fn_find_comp(ptr @.str7095) + store ptr %t3410, ptr %t3411 + %t3412 = load ptr, ptr %t3411 + %t3413 = icmp eq ptr %t3412, null + %t3414 = zext i1 %t3413 to i32 + %t3415 = icmp ne i32 %t3414, 0 + br i1 %t3415, label %then688, label %ifend690 +then688: + call void @fn_perr(ptr @.str7096) + br label %ifend690 +ifend690: + %t3416 = getelementptr %LSlice, ptr null, i32 1 + %t3417 = ptrtoint ptr %t3416 to i64 + %t3418 = call ptr @malloc(i64 %t3417) + %t3419 = getelementptr inbounds %LSlice, ptr %t3418, i32 0, i32 0 + store ptr null, ptr %t3419 + %t3420 = getelementptr inbounds %LSlice, ptr %t3418, i32 0, i32 1 + store i32 0, ptr %t3420 + %t3421 = getelementptr inbounds %LSlice, ptr %t3418, i32 0, i32 2 + store i32 0, ptr %t3421 + store ptr %t3418, ptr %t3422 + %t3423 = load ptr, ptr %t3422 + %t3424 = getelementptr inbounds %LSlice, ptr %t3423, i32 0, i32 1 + %t3425 = getelementptr inbounds %LSlice, ptr %t3423, i32 0, i32 2 + %t3426 = getelementptr inbounds %LSlice, ptr %t3423, i32 0, i32 0 + %t3427 = load i32, ptr %t3424 + %t3428 = load i32, ptr %t3425 + %t3429 = icmp sge i32 %t3427, %t3428 + br i1 %t3429, label %grow691, label %put692 +grow691: + %t3430 = mul i32 %t3428, 2 + %t3431 = icmp eq i32 %t3428, 0 + %t3432 = select i1 %t3431, i32 8, i32 %t3430 + %t3433 = getelementptr ptr, ptr null, i32 1 + %t3434 = ptrtoint ptr %t3433 to i64 + %t3435 = zext i32 %t3432 to i64 + %t3436 = mul i64 %t3435, %t3434 + %t3437 = load ptr, ptr %t3426 + %t3438 = call ptr @realloc(ptr %t3437, i64 %t3436) + store ptr %t3438, ptr %t3426 + store i32 %t3432, ptr %t3425 + br label %put692 +put692: + %t3439 = load ptr, ptr %t3426 + %t3440 = getelementptr inbounds ptr, ptr %t3439, i32 %t3427 + store ptr @.str7097, ptr %t3440 + %t3441 = add i32 %t3427, 1 + store i32 %t3441, ptr %t3424 + %t3442 = load ptr, ptr %t3422 + %t3443 = getelementptr inbounds %LSlice, ptr %t3442, i32 0, i32 1 + %t3444 = getelementptr inbounds %LSlice, ptr %t3442, i32 0, i32 2 + %t3445 = getelementptr inbounds %LSlice, ptr %t3442, i32 0, i32 0 + %t3446 = load i32, ptr %t3443 + %t3447 = load i32, ptr %t3444 + %t3448 = icmp sge i32 %t3446, %t3447 + br i1 %t3448, label %grow693, label %put694 +grow693: + %t3449 = mul i32 %t3447, 2 + %t3450 = icmp eq i32 %t3447, 0 + %t3451 = select i1 %t3450, i32 8, i32 %t3449 + %t3452 = getelementptr ptr, ptr null, i32 1 + %t3453 = ptrtoint ptr %t3452 to i64 + %t3454 = zext i32 %t3451 to i64 + %t3455 = mul i64 %t3454, %t3453 + %t3456 = load ptr, ptr %t3445 + %t3457 = call ptr @realloc(ptr %t3456, i64 %t3455) + store ptr %t3457, ptr %t3445 + store i32 %t3451, ptr %t3444 + br label %put694 +put694: + %t3458 = load ptr, ptr %t3445 + %t3459 = getelementptr inbounds ptr, ptr %t3458, i32 %t3446 + store ptr @.str7098, ptr %t3459 + %t3460 = add i32 %t3446, 1 + store i32 %t3460, ptr %t3443 + %t3461 = load ptr, ptr %t2 + %t3462 = load ptr, ptr %t3422 + call void @fn_reorder_named(ptr %t3461, ptr %t3462) + %t3463 = load ptr, ptr %t2 + %t3464 = getelementptr inbounds %Cmp_Node, ptr %t3463, i32 0, i32 7 + %t3465 = load ptr, ptr %t3464 + %t3466 = getelementptr inbounds %LSlice, ptr %t3465, i32 0, i32 0 + %t3467 = load ptr, ptr %t3466 + %t3468 = getelementptr inbounds ptr, ptr %t3467, i32 0 + %t3469 = load ptr, ptr %t3468 + %t3470 = call ptr @fn_emit_expr(ptr %t3469) + store ptr %t3470, ptr %t3471 + %t3472 = load ptr, ptr %t2 + %t3473 = getelementptr inbounds %Cmp_Node, ptr %t3472, i32 0, i32 7 + %t3474 = load ptr, ptr %t3473 + %t3475 = getelementptr inbounds %LSlice, ptr %t3474, i32 0, i32 0 + %t3476 = load ptr, ptr %t3475 + %t3477 = getelementptr inbounds ptr, ptr %t3476, i32 1 + %t3478 = load ptr, ptr %t3477 + %t3479 = call ptr @fn_emit_expr(ptr %t3478) + store ptr %t3479, ptr %t3480 + %t3481 = load ptr, ptr %t3471 + %t3482 = getelementptr inbounds %Cmp_Val, ptr %t3481, i32 0, i32 0 + %t3483 = load ptr, ptr %t3482 + %t3484 = call ptr @lp_str_concat(ptr @.str7099, ptr %t3483) + %t3485 = call ptr @lp_str_concat(ptr %t3484, ptr @.str7100) + %t3486 = call ptr @fn_emit_bind(ptr %t3485) + store ptr %t3486, ptr %t3487 + %t3488 = call ptr @fn_itoa(i32 1024) + store ptr %t3488, ptr %t3489 + %t3490 = load ptr, ptr %t3489 + %t3491 = call ptr @lp_str_concat(ptr @.str7101, ptr %t3490) + %t3492 = call ptr @lp_str_concat(ptr %t3491, ptr @.str7102) + %t3493 = load ptr, ptr %t3487 + %t3494 = call ptr @lp_str_concat(ptr %t3492, ptr %t3493) + %t3495 = call ptr @fn_emit_bind(ptr %t3494) + store ptr %t3495, ptr %t3496 + %t3497 = load ptr, ptr %t3496 + %t3498 = call ptr @lp_str_concat(ptr @.str7103, ptr %t3497) + %t3499 = call ptr @lp_str_concat(ptr %t3498, ptr @.str7104) + %t3500 = load ptr, ptr %t3411 + %t3501 = call i32 @fn_field_index(ptr %t3500, ptr @.str7105) + %t3502 = call ptr @fn_itoa(i32 %t3501) + %t3503 = call ptr @lp_str_concat(ptr %t3499, ptr %t3502) + %t3504 = call ptr @fn_emit_bind(ptr %t3503) + store ptr %t3504, ptr %t3505 + %t3506 = load ptr, ptr %t3496 + %t3507 = call ptr @lp_str_concat(ptr @.str7106, ptr %t3506) + %t3508 = call ptr @lp_str_concat(ptr %t3507, ptr @.str7107) + %t3509 = load ptr, ptr %t3411 + %t3510 = call i32 @fn_field_index(ptr %t3509, ptr @.str7108) + %t3511 = call ptr @fn_itoa(i32 %t3510) + %t3512 = call ptr @lp_str_concat(ptr %t3508, ptr %t3511) + %t3513 = call ptr @fn_emit_bind(ptr %t3512) + store ptr %t3513, ptr %t3514 + %t3515 = load ptr, ptr %t3480 + %t3516 = getelementptr inbounds %Cmp_Val, ptr %t3515, i32 0, i32 0 + %t3517 = load ptr, ptr %t3516 + %t3518 = call ptr @fn_vec_x(ptr %t3517) + store ptr %t3518, ptr %t3519 + %t3520 = load ptr, ptr %t3480 + %t3521 = getelementptr inbounds %Cmp_Val, ptr %t3520, i32 0, i32 0 + %t3522 = load ptr, ptr %t3521 + %t3523 = call ptr @fn_vec_y(ptr %t3522) + store ptr %t3523, ptr %t3524 + call void @fn_emit(ptr @.str7109) + %t3525 = load ptr, ptr %t3519 + call void @fn_emit(ptr %t3525) + call void @fn_emit(ptr @.str7110) + %t3526 = load ptr, ptr %t3505 + call void @fn_emit(ptr %t3526) + call void @fn_emit(ptr @.str7111) + call void @fn_emit(ptr @.str7112) + %t3527 = load ptr, ptr %t3524 + call void @fn_emit(ptr %t3527) + call void @fn_emit(ptr @.str7113) + %t3528 = load ptr, ptr %t3514 + call void @fn_emit(ptr %t3528) + call void @fn_emit(ptr @.str7114) + %t3529 = load ptr, ptr %t3487 + %t3530 = call ptr @fn_val(ptr %t3529, ptr @.str7115) + store ptr %t3530, ptr %retval + br label %ret +ifend684: + %t3531 = load ptr, ptr %t1 + %t3532 = call i32 @lp_str_eq(ptr %t3531, ptr @.str7116) + %t3533 = icmp ne i32 %t3532, 0 + br i1 %t3533, label %then695, label %ifend697 +then695: + %t3534 = call i32 @fn_has_prefabs() + %t3535 = icmp eq i32 %t3534, 0 + %t3536 = zext i1 %t3535 to i32 + %t3537 = icmp ne i32 %t3536, 0 + br i1 %t3537, label %then698, label %ifend700 +then698: + call void @fn_perr(ptr @.str7117) + br label %ifend700 +ifend700: + %t3538 = getelementptr %LSlice, ptr null, i32 1 + %t3539 = ptrtoint ptr %t3538 to i64 + %t3540 = call ptr @malloc(i64 %t3539) + %t3541 = getelementptr inbounds %LSlice, ptr %t3540, i32 0, i32 0 + store ptr null, ptr %t3541 + %t3542 = getelementptr inbounds %LSlice, ptr %t3540, i32 0, i32 1 + store i32 0, ptr %t3542 + %t3543 = getelementptr inbounds %LSlice, ptr %t3540, i32 0, i32 2 + store i32 0, ptr %t3543 + store ptr %t3540, ptr %t3544 + %t3545 = load ptr, ptr %t3544 + %t3546 = getelementptr inbounds %LSlice, ptr %t3545, i32 0, i32 1 + %t3547 = getelementptr inbounds %LSlice, ptr %t3545, i32 0, i32 2 + %t3548 = getelementptr inbounds %LSlice, ptr %t3545, i32 0, i32 0 + %t3549 = load i32, ptr %t3546 + %t3550 = load i32, ptr %t3547 + %t3551 = icmp sge i32 %t3549, %t3550 + br i1 %t3551, label %grow701, label %put702 +grow701: + %t3552 = mul i32 %t3550, 2 + %t3553 = icmp eq i32 %t3550, 0 + %t3554 = select i1 %t3553, i32 8, i32 %t3552 + %t3555 = getelementptr ptr, ptr null, i32 1 + %t3556 = ptrtoint ptr %t3555 to i64 + %t3557 = zext i32 %t3554 to i64 + %t3558 = mul i64 %t3557, %t3556 + %t3559 = load ptr, ptr %t3548 + %t3560 = call ptr @realloc(ptr %t3559, i64 %t3558) + store ptr %t3560, ptr %t3548 + store i32 %t3554, ptr %t3547 + br label %put702 +put702: + %t3561 = load ptr, ptr %t3548 + %t3562 = getelementptr inbounds ptr, ptr %t3561, i32 %t3549 + store ptr @.str7118, ptr %t3562 + %t3563 = add i32 %t3549, 1 + store i32 %t3563, ptr %t3546 + %t3564 = load ptr, ptr %t2 + %t3565 = load ptr, ptr %t3544 + call void @fn_reorder_named(ptr %t3564, ptr %t3565) + %t3566 = load ptr, ptr %t2 + %t3567 = getelementptr inbounds %Cmp_Node, ptr %t3566, i32 0, i32 7 + %t3568 = load ptr, ptr %t3567 + %t3569 = getelementptr inbounds %LSlice, ptr %t3568, i32 0, i32 1 + %t3570 = load i32, ptr %t3569 + %t3571 = icmp ne i32 %t3570, 1 + %t3572 = zext i1 %t3571 to i32 + %t3573 = icmp ne i32 %t3572, 0 + br i1 %t3573, label %then703, label %ifend705 +then703: + call void @fn_perr(ptr @.str7119) + br label %ifend705 +ifend705: + %t3574 = load ptr, ptr %t2 + %t3575 = getelementptr inbounds %Cmp_Node, ptr %t3574, i32 0, i32 7 + %t3576 = load ptr, ptr %t3575 + %t3577 = getelementptr inbounds %LSlice, ptr %t3576, i32 0, i32 0 + %t3578 = load ptr, ptr %t3577 + %t3579 = getelementptr inbounds ptr, ptr %t3578, i32 0 + %t3580 = load ptr, ptr %t3579 + %t3581 = call ptr @fn_emit_expr(ptr %t3580) + store ptr %t3581, ptr %t3582 + %t3583 = load ptr, ptr %t3582 + %t3584 = getelementptr inbounds %Cmp_Val, ptr %t3583, i32 0, i32 0 + %t3585 = load ptr, ptr %t3584 + %t3586 = call ptr @lp_str_concat(ptr @.str7120, ptr %t3585) + %t3587 = call ptr @lp_str_concat(ptr %t3586, ptr @.str7121) + %t3588 = call ptr @fn_emit_bind(ptr %t3587) + %t3589 = call ptr @fn_val(ptr %t3588, ptr @.str7122) + store ptr %t3589, ptr %retval + br label %ret +ifend697: + %t3590 = load ptr, ptr %t1 + %t3591 = call ptr @lp_str_concat(ptr @.str7123, ptr %t3590) + call void @fn_perr(ptr %t3591) + br label %ifend681 +ifend681: + %t3592 = load ptr, ptr %t0 + %t3593 = call i32 @lp_str_eq(ptr %t3592, ptr @.str7124) + %t3594 = icmp ne i32 %t3593, 0 + br i1 %t3594, label %then706, label %ifend708 +then706: + %t3595 = load ptr, ptr %t1 + %t3596 = call i32 @lp_str_eq(ptr %t3595, ptr @.str7125) + %t3597 = icmp ne i32 %t3596, 0 + br i1 %t3597, label %then709, label %ifend711 +then709: + store ptr @.str7126, ptr %t403 + %t3598 = load ptr, ptr %t410 + %t3599 = getelementptr inbounds %LSlice, ptr %t3598, i32 0, i32 1 + %t3600 = getelementptr inbounds %LSlice, ptr %t3598, i32 0, i32 2 + %t3601 = getelementptr inbounds %LSlice, ptr %t3598, i32 0, i32 0 + %t3602 = load i32, ptr %t3599 + %t3603 = load i32, ptr %t3600 + %t3604 = icmp sge i32 %t3602, %t3603 + br i1 %t3604, label %grow712, label %put713 +grow712: + %t3605 = mul i32 %t3603, 2 + %t3606 = icmp eq i32 %t3603, 0 + %t3607 = select i1 %t3606, i32 8, i32 %t3605 + %t3608 = getelementptr ptr, ptr null, i32 1 + %t3609 = ptrtoint ptr %t3608 to i64 + %t3610 = zext i32 %t3607 to i64 + %t3611 = mul i64 %t3610, %t3609 + %t3612 = load ptr, ptr %t3601 + %t3613 = call ptr @realloc(ptr %t3612, i64 %t3611) + store ptr %t3613, ptr %t3601 + store i32 %t3607, ptr %t3600 + br label %put713 +put713: + %t3614 = load ptr, ptr %t3601 + %t3615 = getelementptr inbounds ptr, ptr %t3614, i32 %t3602 + store ptr @.str7127, ptr %t3615 + %t3616 = add i32 %t3602, 1 + store i32 %t3616, ptr %t3599 + br label %ifend711 +ifend711: + %t3617 = load ptr, ptr %t1 + %t3618 = call i32 @lp_str_eq(ptr %t3617, ptr @.str7128) + %t3619 = icmp ne i32 %t3618, 0 + br i1 %t3619, label %then714, label %ifend716 +then714: + store ptr @.str7129, ptr %t403 + %t3620 = load ptr, ptr %t410 + %t3621 = getelementptr inbounds %LSlice, ptr %t3620, i32 0, i32 1 + %t3622 = getelementptr inbounds %LSlice, ptr %t3620, i32 0, i32 2 + %t3623 = getelementptr inbounds %LSlice, ptr %t3620, i32 0, i32 0 + %t3624 = load i32, ptr %t3621 + %t3625 = load i32, ptr %t3622 + %t3626 = icmp sge i32 %t3624, %t3625 + br i1 %t3626, label %grow717, label %put718 +grow717: + %t3627 = mul i32 %t3625, 2 + %t3628 = icmp eq i32 %t3625, 0 + %t3629 = select i1 %t3628, i32 8, i32 %t3627 + %t3630 = getelementptr ptr, ptr null, i32 1 + %t3631 = ptrtoint ptr %t3630 to i64 + %t3632 = zext i32 %t3629 to i64 + %t3633 = mul i64 %t3632, %t3631 + %t3634 = load ptr, ptr %t3623 + %t3635 = call ptr @realloc(ptr %t3634, i64 %t3633) + store ptr %t3635, ptr %t3623 + store i32 %t3629, ptr %t3622 + br label %put718 +put718: + %t3636 = load ptr, ptr %t3623 + %t3637 = getelementptr inbounds ptr, ptr %t3636, i32 %t3624 + store ptr @.str7130, ptr %t3637 + %t3638 = add i32 %t3624, 1 + store i32 %t3638, ptr %t3621 + br label %ifend716 +ifend716: + %t3639 = load ptr, ptr %t1 + %t3640 = call i32 @lp_str_eq(ptr %t3639, ptr @.str7131) + %t3641 = icmp ne i32 %t3640, 0 + br i1 %t3641, label %then719, label %ifend721 +then719: + store ptr @.str7132, ptr %t403 + %t3642 = load ptr, ptr %t410 + %t3643 = getelementptr inbounds %LSlice, ptr %t3642, i32 0, i32 1 + %t3644 = getelementptr inbounds %LSlice, ptr %t3642, i32 0, i32 2 + %t3645 = getelementptr inbounds %LSlice, ptr %t3642, i32 0, i32 0 + %t3646 = load i32, ptr %t3643 + %t3647 = load i32, ptr %t3644 + %t3648 = icmp sge i32 %t3646, %t3647 + br i1 %t3648, label %grow722, label %put723 +grow722: + %t3649 = mul i32 %t3647, 2 + %t3650 = icmp eq i32 %t3647, 0 + %t3651 = select i1 %t3650, i32 8, i32 %t3649 + %t3652 = getelementptr ptr, ptr null, i32 1 + %t3653 = ptrtoint ptr %t3652 to i64 + %t3654 = zext i32 %t3651 to i64 + %t3655 = mul i64 %t3654, %t3653 + %t3656 = load ptr, ptr %t3645 + %t3657 = call ptr @realloc(ptr %t3656, i64 %t3655) + store ptr %t3657, ptr %t3645 + store i32 %t3651, ptr %t3644 + br label %put723 +put723: + %t3658 = load ptr, ptr %t3645 + %t3659 = getelementptr inbounds ptr, ptr %t3658, i32 %t3646 + store ptr @.str7133, ptr %t3659 + %t3660 = add i32 %t3646, 1 + store i32 %t3660, ptr %t3643 + br label %ifend721 +ifend721: + %t3661 = load ptr, ptr %t1 + %t3662 = call i32 @lp_str_eq(ptr %t3661, ptr @.str7134) + %t3663 = icmp ne i32 %t3662, 0 + br i1 %t3663, label %then724, label %ifend726 +then724: + store ptr @.str7135, ptr %t403 + %t3664 = load ptr, ptr %t410 + %t3665 = getelementptr inbounds %LSlice, ptr %t3664, i32 0, i32 1 + %t3666 = getelementptr inbounds %LSlice, ptr %t3664, i32 0, i32 2 + %t3667 = getelementptr inbounds %LSlice, ptr %t3664, i32 0, i32 0 + %t3668 = load i32, ptr %t3665 + %t3669 = load i32, ptr %t3666 + %t3670 = icmp sge i32 %t3668, %t3669 + br i1 %t3670, label %grow727, label %put728 +grow727: + %t3671 = mul i32 %t3669, 2 + %t3672 = icmp eq i32 %t3669, 0 + %t3673 = select i1 %t3672, i32 8, i32 %t3671 + %t3674 = getelementptr ptr, ptr null, i32 1 + %t3675 = ptrtoint ptr %t3674 to i64 + %t3676 = zext i32 %t3673 to i64 + %t3677 = mul i64 %t3676, %t3675 + %t3678 = load ptr, ptr %t3667 + %t3679 = call ptr @realloc(ptr %t3678, i64 %t3677) + store ptr %t3679, ptr %t3667 + store i32 %t3673, ptr %t3666 + br label %put728 +put728: + %t3680 = load ptr, ptr %t3667 + %t3681 = getelementptr inbounds ptr, ptr %t3680, i32 %t3668 + store ptr @.str7136, ptr %t3681 + %t3682 = add i32 %t3668, 1 + store i32 %t3682, ptr %t3665 + br label %ifend726 +ifend726: + %t3683 = load ptr, ptr %t1 + %t3684 = call i32 @lp_str_eq(ptr %t3683, ptr @.str7137) + %t3685 = icmp ne i32 %t3684, 0 + br i1 %t3685, label %then729, label %ifend731 +then729: + store ptr @.str7138, ptr %t403 + %t3686 = load ptr, ptr %t410 + %t3687 = getelementptr inbounds %LSlice, ptr %t3686, i32 0, i32 1 + %t3688 = getelementptr inbounds %LSlice, ptr %t3686, i32 0, i32 2 + %t3689 = getelementptr inbounds %LSlice, ptr %t3686, i32 0, i32 0 + %t3690 = load i32, ptr %t3687 + %t3691 = load i32, ptr %t3688 + %t3692 = icmp sge i32 %t3690, %t3691 + br i1 %t3692, label %grow732, label %put733 +grow732: + %t3693 = mul i32 %t3691, 2 + %t3694 = icmp eq i32 %t3691, 0 + %t3695 = select i1 %t3694, i32 8, i32 %t3693 + %t3696 = getelementptr ptr, ptr null, i32 1 + %t3697 = ptrtoint ptr %t3696 to i64 + %t3698 = zext i32 %t3695 to i64 + %t3699 = mul i64 %t3698, %t3697 + %t3700 = load ptr, ptr %t3689 + %t3701 = call ptr @realloc(ptr %t3700, i64 %t3699) + store ptr %t3701, ptr %t3689 + store i32 %t3695, ptr %t3688 + br label %put733 +put733: + %t3702 = load ptr, ptr %t3689 + %t3703 = getelementptr inbounds ptr, ptr %t3702, i32 %t3690 + store ptr @.str7139, ptr %t3703 + %t3704 = add i32 %t3690, 1 + store i32 %t3704, ptr %t3687 + br label %ifend731 +ifend731: + %t3705 = load ptr, ptr %t1 + %t3706 = call i32 @lp_str_eq(ptr %t3705, ptr @.str7140) + %t3707 = icmp ne i32 %t3706, 0 + br i1 %t3707, label %then734, label %ifend736 +then734: + store ptr @.str7141, ptr %t403 + %t3708 = load ptr, ptr %t410 + %t3709 = getelementptr inbounds %LSlice, ptr %t3708, i32 0, i32 1 + %t3710 = getelementptr inbounds %LSlice, ptr %t3708, i32 0, i32 2 + %t3711 = getelementptr inbounds %LSlice, ptr %t3708, i32 0, i32 0 + %t3712 = load i32, ptr %t3709 + %t3713 = load i32, ptr %t3710 + %t3714 = icmp sge i32 %t3712, %t3713 + br i1 %t3714, label %grow737, label %put738 +grow737: + %t3715 = mul i32 %t3713, 2 + %t3716 = icmp eq i32 %t3713, 0 + %t3717 = select i1 %t3716, i32 8, i32 %t3715 + %t3718 = getelementptr ptr, ptr null, i32 1 + %t3719 = ptrtoint ptr %t3718 to i64 + %t3720 = zext i32 %t3717 to i64 + %t3721 = mul i64 %t3720, %t3719 + %t3722 = load ptr, ptr %t3711 + %t3723 = call ptr @realloc(ptr %t3722, i64 %t3721) + store ptr %t3723, ptr %t3711 + store i32 %t3717, ptr %t3710 + br label %put738 +put738: + %t3724 = load ptr, ptr %t3711 + %t3725 = getelementptr inbounds ptr, ptr %t3724, i32 %t3712 + store ptr @.str7142, ptr %t3725 + %t3726 = add i32 %t3712, 1 + store i32 %t3726, ptr %t3709 + %t3727 = load ptr, ptr %t410 + %t3728 = getelementptr inbounds %LSlice, ptr %t3727, i32 0, i32 1 + %t3729 = getelementptr inbounds %LSlice, ptr %t3727, i32 0, i32 2 + %t3730 = getelementptr inbounds %LSlice, ptr %t3727, i32 0, i32 0 + %t3731 = load i32, ptr %t3728 + %t3732 = load i32, ptr %t3729 + %t3733 = icmp sge i32 %t3731, %t3732 + br i1 %t3733, label %grow739, label %put740 +grow739: + %t3734 = mul i32 %t3732, 2 + %t3735 = icmp eq i32 %t3732, 0 + %t3736 = select i1 %t3735, i32 8, i32 %t3734 + %t3737 = getelementptr ptr, ptr null, i32 1 + %t3738 = ptrtoint ptr %t3737 to i64 + %t3739 = zext i32 %t3736 to i64 + %t3740 = mul i64 %t3739, %t3738 + %t3741 = load ptr, ptr %t3730 + %t3742 = call ptr @realloc(ptr %t3741, i64 %t3740) + store ptr %t3742, ptr %t3730 + store i32 %t3736, ptr %t3729 + br label %put740 +put740: + %t3743 = load ptr, ptr %t3730 + %t3744 = getelementptr inbounds ptr, ptr %t3743, i32 %t3731 + store ptr @.str7143, ptr %t3744 + %t3745 = add i32 %t3731, 1 + store i32 %t3745, ptr %t3728 + br label %ifend736 +ifend736: + %t3746 = load ptr, ptr %t1 + %t3747 = call i32 @lp_str_eq(ptr %t3746, ptr @.str7144) + %t3748 = icmp ne i32 %t3747, 0 + br i1 %t3748, label %then741, label %ifend743 +then741: + store ptr @.str7145, ptr %t403 + %t3749 = load ptr, ptr %t410 + %t3750 = getelementptr inbounds %LSlice, ptr %t3749, i32 0, i32 1 + %t3751 = getelementptr inbounds %LSlice, ptr %t3749, i32 0, i32 2 + %t3752 = getelementptr inbounds %LSlice, ptr %t3749, i32 0, i32 0 + %t3753 = load i32, ptr %t3750 + %t3754 = load i32, ptr %t3751 + %t3755 = icmp sge i32 %t3753, %t3754 + br i1 %t3755, label %grow744, label %put745 +grow744: + %t3756 = mul i32 %t3754, 2 + %t3757 = icmp eq i32 %t3754, 0 + %t3758 = select i1 %t3757, i32 8, i32 %t3756 + %t3759 = getelementptr ptr, ptr null, i32 1 + %t3760 = ptrtoint ptr %t3759 to i64 + %t3761 = zext i32 %t3758 to i64 + %t3762 = mul i64 %t3761, %t3760 + %t3763 = load ptr, ptr %t3752 + %t3764 = call ptr @realloc(ptr %t3763, i64 %t3762) + store ptr %t3764, ptr %t3752 + store i32 %t3758, ptr %t3751 + br label %put745 +put745: + %t3765 = load ptr, ptr %t3752 + %t3766 = getelementptr inbounds ptr, ptr %t3765, i32 %t3753 + store ptr @.str7146, ptr %t3766 + %t3767 = add i32 %t3753, 1 + store i32 %t3767, ptr %t3750 + br label %ifend743 +ifend743: + %t3768 = load ptr, ptr %t1 + %t3769 = call i32 @lp_str_eq(ptr %t3768, ptr @.str7147) + %t3770 = icmp ne i32 %t3769, 0 + br i1 %t3770, label %then746, label %ifend748 +then746: + store ptr @.str7148, ptr %t403 + br label %ifend748 +ifend748: + %t3771 = load ptr, ptr %t1 + %t3772 = call i32 @lp_str_eq(ptr %t3771, ptr @.str7149) + %t3773 = icmp ne i32 %t3772, 0 + br i1 %t3773, label %then749, label %ifend751 +then749: + store ptr @.str7150, ptr %t403 + br label %ifend751 +ifend751: + %t3774 = load ptr, ptr %t1 + %t3775 = call i32 @lp_str_eq(ptr %t3774, ptr @.str7151) + %t3776 = icmp ne i32 %t3775, 0 + br i1 %t3776, label %then752, label %ifend754 +then752: + store ptr @.str7152, ptr %t403 + br label %ifend754 +ifend754: + %t3777 = load ptr, ptr %t1 + %t3778 = call i32 @lp_str_eq(ptr %t3777, ptr @.str7153) + %t3779 = icmp ne i32 %t3778, 0 + br i1 %t3779, label %then755, label %ifend757 +then755: + store ptr @.str7154, ptr %t403 + br label %ifend757 +ifend757: + br label %ifend708 +ifend708: + %t3780 = load ptr, ptr %t0 + %t3781 = call i32 @lp_str_eq(ptr %t3780, ptr @.str7155) + %t3782 = icmp ne i32 %t3781, 0 + br i1 %t3782, label %then758, label %ifend760 +then758: + %t3783 = load ptr, ptr %t1 + %t3784 = call i32 @lp_str_eq(ptr %t3783, ptr @.str7156) + %t3785 = icmp ne i32 %t3784, 0 + br i1 %t3785, label %then761, label %ifend763 +then761: + store ptr @.str7157, ptr %t403 + %t3786 = load ptr, ptr %t410 + %t3787 = getelementptr inbounds %LSlice, ptr %t3786, i32 0, i32 1 + %t3788 = getelementptr inbounds %LSlice, ptr %t3786, i32 0, i32 2 + %t3789 = getelementptr inbounds %LSlice, ptr %t3786, i32 0, i32 0 + %t3790 = load i32, ptr %t3787 + %t3791 = load i32, ptr %t3788 + %t3792 = icmp sge i32 %t3790, %t3791 + br i1 %t3792, label %grow764, label %put765 +grow764: + %t3793 = mul i32 %t3791, 2 + %t3794 = icmp eq i32 %t3791, 0 + %t3795 = select i1 %t3794, i32 8, i32 %t3793 + %t3796 = getelementptr ptr, ptr null, i32 1 + %t3797 = ptrtoint ptr %t3796 to i64 + %t3798 = zext i32 %t3795 to i64 + %t3799 = mul i64 %t3798, %t3797 + %t3800 = load ptr, ptr %t3789 + %t3801 = call ptr @realloc(ptr %t3800, i64 %t3799) + store ptr %t3801, ptr %t3789 + store i32 %t3795, ptr %t3788 + br label %put765 +put765: + %t3802 = load ptr, ptr %t3789 + %t3803 = getelementptr inbounds ptr, ptr %t3802, i32 %t3790 + store ptr @.str7158, ptr %t3803 + %t3804 = add i32 %t3790, 1 + store i32 %t3804, ptr %t3787 + %t3805 = load ptr, ptr %t410 + %t3806 = getelementptr inbounds %LSlice, ptr %t3805, i32 0, i32 1 + %t3807 = getelementptr inbounds %LSlice, ptr %t3805, i32 0, i32 2 + %t3808 = getelementptr inbounds %LSlice, ptr %t3805, i32 0, i32 0 + %t3809 = load i32, ptr %t3806 + %t3810 = load i32, ptr %t3807 + %t3811 = icmp sge i32 %t3809, %t3810 + br i1 %t3811, label %grow766, label %put767 +grow766: + %t3812 = mul i32 %t3810, 2 + %t3813 = icmp eq i32 %t3810, 0 + %t3814 = select i1 %t3813, i32 8, i32 %t3812 + %t3815 = getelementptr ptr, ptr null, i32 1 + %t3816 = ptrtoint ptr %t3815 to i64 + %t3817 = zext i32 %t3814 to i64 + %t3818 = mul i64 %t3817, %t3816 + %t3819 = load ptr, ptr %t3808 + %t3820 = call ptr @realloc(ptr %t3819, i64 %t3818) + store ptr %t3820, ptr %t3808 + store i32 %t3814, ptr %t3807 + br label %put767 +put767: + %t3821 = load ptr, ptr %t3808 + %t3822 = getelementptr inbounds ptr, ptr %t3821, i32 %t3809 + store ptr @.str7159, ptr %t3822 + %t3823 = add i32 %t3809, 1 + store i32 %t3823, ptr %t3806 + br label %ifend763 +ifend763: + %t3824 = load ptr, ptr %t1 + %t3825 = call i32 @lp_str_eq(ptr %t3824, ptr @.str7160) + %t3826 = icmp ne i32 %t3825, 0 + br i1 %t3826, label %then768, label %ifend770 +then768: + store ptr @.str7161, ptr %t403 + %t3827 = load ptr, ptr %t410 + %t3828 = getelementptr inbounds %LSlice, ptr %t3827, i32 0, i32 1 + %t3829 = getelementptr inbounds %LSlice, ptr %t3827, i32 0, i32 2 + %t3830 = getelementptr inbounds %LSlice, ptr %t3827, i32 0, i32 0 + %t3831 = load i32, ptr %t3828 + %t3832 = load i32, ptr %t3829 + %t3833 = icmp sge i32 %t3831, %t3832 + br i1 %t3833, label %grow771, label %put772 +grow771: + %t3834 = mul i32 %t3832, 2 + %t3835 = icmp eq i32 %t3832, 0 + %t3836 = select i1 %t3835, i32 8, i32 %t3834 + %t3837 = getelementptr ptr, ptr null, i32 1 + %t3838 = ptrtoint ptr %t3837 to i64 + %t3839 = zext i32 %t3836 to i64 + %t3840 = mul i64 %t3839, %t3838 + %t3841 = load ptr, ptr %t3830 + %t3842 = call ptr @realloc(ptr %t3841, i64 %t3840) + store ptr %t3842, ptr %t3830 + store i32 %t3836, ptr %t3829 + br label %put772 +put772: + %t3843 = load ptr, ptr %t3830 + %t3844 = getelementptr inbounds ptr, ptr %t3843, i32 %t3831 + store ptr @.str7162, ptr %t3844 + %t3845 = add i32 %t3831, 1 + store i32 %t3845, ptr %t3828 + %t3846 = load ptr, ptr %t410 + %t3847 = getelementptr inbounds %LSlice, ptr %t3846, i32 0, i32 1 + %t3848 = getelementptr inbounds %LSlice, ptr %t3846, i32 0, i32 2 + %t3849 = getelementptr inbounds %LSlice, ptr %t3846, i32 0, i32 0 + %t3850 = load i32, ptr %t3847 + %t3851 = load i32, ptr %t3848 + %t3852 = icmp sge i32 %t3850, %t3851 + br i1 %t3852, label %grow773, label %put774 +grow773: + %t3853 = mul i32 %t3851, 2 + %t3854 = icmp eq i32 %t3851, 0 + %t3855 = select i1 %t3854, i32 8, i32 %t3853 + %t3856 = getelementptr ptr, ptr null, i32 1 + %t3857 = ptrtoint ptr %t3856 to i64 + %t3858 = zext i32 %t3855 to i64 + %t3859 = mul i64 %t3858, %t3857 + %t3860 = load ptr, ptr %t3849 + %t3861 = call ptr @realloc(ptr %t3860, i64 %t3859) + store ptr %t3861, ptr %t3849 + store i32 %t3855, ptr %t3848 + br label %put774 +put774: + %t3862 = load ptr, ptr %t3849 + %t3863 = getelementptr inbounds ptr, ptr %t3862, i32 %t3850 + store ptr @.str7163, ptr %t3863 + %t3864 = add i32 %t3850, 1 + store i32 %t3864, ptr %t3847 + %t3865 = load ptr, ptr %t410 + %t3866 = getelementptr inbounds %LSlice, ptr %t3865, i32 0, i32 1 + %t3867 = getelementptr inbounds %LSlice, ptr %t3865, i32 0, i32 2 + %t3868 = getelementptr inbounds %LSlice, ptr %t3865, i32 0, i32 0 + %t3869 = load i32, ptr %t3866 + %t3870 = load i32, ptr %t3867 + %t3871 = icmp sge i32 %t3869, %t3870 + br i1 %t3871, label %grow775, label %put776 +grow775: + %t3872 = mul i32 %t3870, 2 + %t3873 = icmp eq i32 %t3870, 0 + %t3874 = select i1 %t3873, i32 8, i32 %t3872 + %t3875 = getelementptr ptr, ptr null, i32 1 + %t3876 = ptrtoint ptr %t3875 to i64 + %t3877 = zext i32 %t3874 to i64 + %t3878 = mul i64 %t3877, %t3876 + %t3879 = load ptr, ptr %t3868 + %t3880 = call ptr @realloc(ptr %t3879, i64 %t3878) + store ptr %t3880, ptr %t3868 + store i32 %t3874, ptr %t3867 + br label %put776 +put776: + %t3881 = load ptr, ptr %t3868 + %t3882 = getelementptr inbounds ptr, ptr %t3881, i32 %t3869 + store ptr @.str7164, ptr %t3882 + %t3883 = add i32 %t3869, 1 + store i32 %t3883, ptr %t3866 + br label %ifend770 +ifend770: + %t3884 = load ptr, ptr %t1 + %t3885 = call i32 @lp_str_eq(ptr %t3884, ptr @.str7165) + %t3886 = icmp ne i32 %t3885, 0 + br i1 %t3886, label %then777, label %ifend779 +then777: + store ptr @.str7166, ptr %t403 + %t3887 = load ptr, ptr %t410 + %t3888 = getelementptr inbounds %LSlice, ptr %t3887, i32 0, i32 1 + %t3889 = getelementptr inbounds %LSlice, ptr %t3887, i32 0, i32 2 + %t3890 = getelementptr inbounds %LSlice, ptr %t3887, i32 0, i32 0 + %t3891 = load i32, ptr %t3888 + %t3892 = load i32, ptr %t3889 + %t3893 = icmp sge i32 %t3891, %t3892 + br i1 %t3893, label %grow780, label %put781 +grow780: + %t3894 = mul i32 %t3892, 2 + %t3895 = icmp eq i32 %t3892, 0 + %t3896 = select i1 %t3895, i32 8, i32 %t3894 + %t3897 = getelementptr ptr, ptr null, i32 1 + %t3898 = ptrtoint ptr %t3897 to i64 + %t3899 = zext i32 %t3896 to i64 + %t3900 = mul i64 %t3899, %t3898 + %t3901 = load ptr, ptr %t3890 + %t3902 = call ptr @realloc(ptr %t3901, i64 %t3900) + store ptr %t3902, ptr %t3890 + store i32 %t3896, ptr %t3889 + br label %put781 +put781: + %t3903 = load ptr, ptr %t3890 + %t3904 = getelementptr inbounds ptr, ptr %t3903, i32 %t3891 + store ptr @.str7167, ptr %t3904 + %t3905 = add i32 %t3891, 1 + store i32 %t3905, ptr %t3888 + br label %ifend779 +ifend779: + %t3906 = load ptr, ptr %t1 + %t3907 = call i32 @lp_str_eq(ptr %t3906, ptr @.str7168) + %t3908 = icmp ne i32 %t3907, 0 + br i1 %t3908, label %then782, label %ifend784 +then782: + store ptr @.str7169, ptr %t403 + %t3909 = load ptr, ptr %t410 + %t3910 = getelementptr inbounds %LSlice, ptr %t3909, i32 0, i32 1 + %t3911 = getelementptr inbounds %LSlice, ptr %t3909, i32 0, i32 2 + %t3912 = getelementptr inbounds %LSlice, ptr %t3909, i32 0, i32 0 + %t3913 = load i32, ptr %t3910 + %t3914 = load i32, ptr %t3911 + %t3915 = icmp sge i32 %t3913, %t3914 + br i1 %t3915, label %grow785, label %put786 +grow785: + %t3916 = mul i32 %t3914, 2 + %t3917 = icmp eq i32 %t3914, 0 + %t3918 = select i1 %t3917, i32 8, i32 %t3916 + %t3919 = getelementptr ptr, ptr null, i32 1 + %t3920 = ptrtoint ptr %t3919 to i64 + %t3921 = zext i32 %t3918 to i64 + %t3922 = mul i64 %t3921, %t3920 + %t3923 = load ptr, ptr %t3912 + %t3924 = call ptr @realloc(ptr %t3923, i64 %t3922) + store ptr %t3924, ptr %t3912 + store i32 %t3918, ptr %t3911 + br label %put786 +put786: + %t3925 = load ptr, ptr %t3912 + %t3926 = getelementptr inbounds ptr, ptr %t3925, i32 %t3913 + store ptr @.str7170, ptr %t3926 + %t3927 = add i32 %t3913, 1 + store i32 %t3927, ptr %t3910 + %t3928 = load ptr, ptr %t410 + %t3929 = getelementptr inbounds %LSlice, ptr %t3928, i32 0, i32 1 + %t3930 = getelementptr inbounds %LSlice, ptr %t3928, i32 0, i32 2 + %t3931 = getelementptr inbounds %LSlice, ptr %t3928, i32 0, i32 0 + %t3932 = load i32, ptr %t3929 + %t3933 = load i32, ptr %t3930 + %t3934 = icmp sge i32 %t3932, %t3933 + br i1 %t3934, label %grow787, label %put788 +grow787: + %t3935 = mul i32 %t3933, 2 + %t3936 = icmp eq i32 %t3933, 0 + %t3937 = select i1 %t3936, i32 8, i32 %t3935 + %t3938 = getelementptr ptr, ptr null, i32 1 + %t3939 = ptrtoint ptr %t3938 to i64 + %t3940 = zext i32 %t3937 to i64 + %t3941 = mul i64 %t3940, %t3939 + %t3942 = load ptr, ptr %t3931 + %t3943 = call ptr @realloc(ptr %t3942, i64 %t3941) + store ptr %t3943, ptr %t3931 + store i32 %t3937, ptr %t3930 + br label %put788 +put788: + %t3944 = load ptr, ptr %t3931 + %t3945 = getelementptr inbounds ptr, ptr %t3944, i32 %t3932 + store ptr @.str7171, ptr %t3945 + %t3946 = add i32 %t3932, 1 + store i32 %t3946, ptr %t3929 + br label %ifend784 +ifend784: + %t3947 = load ptr, ptr %t1 + %t3948 = call i32 @lp_str_eq(ptr %t3947, ptr @.str7172) + %t3949 = icmp ne i32 %t3948, 0 + br i1 %t3949, label %then789, label %ifend791 +then789: + store ptr @.str7173, ptr %t403 + %t3950 = load ptr, ptr %t410 + %t3951 = getelementptr inbounds %LSlice, ptr %t3950, i32 0, i32 1 + %t3952 = getelementptr inbounds %LSlice, ptr %t3950, i32 0, i32 2 + %t3953 = getelementptr inbounds %LSlice, ptr %t3950, i32 0, i32 0 + %t3954 = load i32, ptr %t3951 + %t3955 = load i32, ptr %t3952 + %t3956 = icmp sge i32 %t3954, %t3955 + br i1 %t3956, label %grow792, label %put793 +grow792: + %t3957 = mul i32 %t3955, 2 + %t3958 = icmp eq i32 %t3955, 0 + %t3959 = select i1 %t3958, i32 8, i32 %t3957 + %t3960 = getelementptr ptr, ptr null, i32 1 + %t3961 = ptrtoint ptr %t3960 to i64 + %t3962 = zext i32 %t3959 to i64 + %t3963 = mul i64 %t3962, %t3961 + %t3964 = load ptr, ptr %t3953 + %t3965 = call ptr @realloc(ptr %t3964, i64 %t3963) + store ptr %t3965, ptr %t3953 + store i32 %t3959, ptr %t3952 + br label %put793 +put793: + %t3966 = load ptr, ptr %t3953 + %t3967 = getelementptr inbounds ptr, ptr %t3966, i32 %t3954 + store ptr @.str7174, ptr %t3967 + %t3968 = add i32 %t3954, 1 + store i32 %t3968, ptr %t3951 + br label %ifend791 +ifend791: + br label %ifend760 +ifend760: + %t3969 = load ptr, ptr %t0 + %t3970 = call i32 @lp_str_eq(ptr %t3969, ptr @.str7175) + %t3971 = icmp ne i32 %t3970, 0 + br i1 %t3971, label %then794, label %ifend796 +then794: + %t3972 = load ptr, ptr %t1 + %t3973 = call i32 @lp_str_eq(ptr %t3972, ptr @.str7176) + %t3974 = icmp ne i32 %t3973, 0 + br i1 %t3974, label %then797, label %ifend799 +then797: + store ptr @.str7177, ptr %t403 + %t3975 = load ptr, ptr %t410 + %t3976 = getelementptr inbounds %LSlice, ptr %t3975, i32 0, i32 1 + %t3977 = getelementptr inbounds %LSlice, ptr %t3975, i32 0, i32 2 + %t3978 = getelementptr inbounds %LSlice, ptr %t3975, i32 0, i32 0 + %t3979 = load i32, ptr %t3976 + %t3980 = load i32, ptr %t3977 + %t3981 = icmp sge i32 %t3979, %t3980 + br i1 %t3981, label %grow800, label %put801 +grow800: + %t3982 = mul i32 %t3980, 2 + %t3983 = icmp eq i32 %t3980, 0 + %t3984 = select i1 %t3983, i32 8, i32 %t3982 + %t3985 = getelementptr ptr, ptr null, i32 1 + %t3986 = ptrtoint ptr %t3985 to i64 + %t3987 = zext i32 %t3984 to i64 + %t3988 = mul i64 %t3987, %t3986 + %t3989 = load ptr, ptr %t3978 + %t3990 = call ptr @realloc(ptr %t3989, i64 %t3988) + store ptr %t3990, ptr %t3978 + store i32 %t3984, ptr %t3977 + br label %put801 +put801: + %t3991 = load ptr, ptr %t3978 + %t3992 = getelementptr inbounds ptr, ptr %t3991, i32 %t3979 + store ptr @.str7178, ptr %t3992 + %t3993 = add i32 %t3979, 1 + store i32 %t3993, ptr %t3976 + %t3994 = load ptr, ptr %t410 + %t3995 = getelementptr inbounds %LSlice, ptr %t3994, i32 0, i32 1 + %t3996 = getelementptr inbounds %LSlice, ptr %t3994, i32 0, i32 2 + %t3997 = getelementptr inbounds %LSlice, ptr %t3994, i32 0, i32 0 + %t3998 = load i32, ptr %t3995 + %t3999 = load i32, ptr %t3996 + %t4000 = icmp sge i32 %t3998, %t3999 + br i1 %t4000, label %grow802, label %put803 +grow802: + %t4001 = mul i32 %t3999, 2 + %t4002 = icmp eq i32 %t3999, 0 + %t4003 = select i1 %t4002, i32 8, i32 %t4001 + %t4004 = getelementptr ptr, ptr null, i32 1 + %t4005 = ptrtoint ptr %t4004 to i64 + %t4006 = zext i32 %t4003 to i64 + %t4007 = mul i64 %t4006, %t4005 + %t4008 = load ptr, ptr %t3997 + %t4009 = call ptr @realloc(ptr %t4008, i64 %t4007) + store ptr %t4009, ptr %t3997 + store i32 %t4003, ptr %t3996 + br label %put803 +put803: + %t4010 = load ptr, ptr %t3997 + %t4011 = getelementptr inbounds ptr, ptr %t4010, i32 %t3998 + store ptr @.str7179, ptr %t4011 + %t4012 = add i32 %t3998, 1 + store i32 %t4012, ptr %t3995 + br label %ifend799 +ifend799: + %t4013 = load ptr, ptr %t1 + %t4014 = call i32 @lp_str_eq(ptr %t4013, ptr @.str7180) + %t4015 = icmp ne i32 %t4014, 0 + br i1 %t4015, label %then804, label %ifend806 +then804: + store ptr @.str7181, ptr %t403 + %t4016 = load ptr, ptr %t410 + %t4017 = getelementptr inbounds %LSlice, ptr %t4016, i32 0, i32 1 + %t4018 = getelementptr inbounds %LSlice, ptr %t4016, i32 0, i32 2 + %t4019 = getelementptr inbounds %LSlice, ptr %t4016, i32 0, i32 0 + %t4020 = load i32, ptr %t4017 + %t4021 = load i32, ptr %t4018 + %t4022 = icmp sge i32 %t4020, %t4021 + br i1 %t4022, label %grow807, label %put808 +grow807: + %t4023 = mul i32 %t4021, 2 + %t4024 = icmp eq i32 %t4021, 0 + %t4025 = select i1 %t4024, i32 8, i32 %t4023 + %t4026 = getelementptr ptr, ptr null, i32 1 + %t4027 = ptrtoint ptr %t4026 to i64 + %t4028 = zext i32 %t4025 to i64 + %t4029 = mul i64 %t4028, %t4027 + %t4030 = load ptr, ptr %t4019 + %t4031 = call ptr @realloc(ptr %t4030, i64 %t4029) + store ptr %t4031, ptr %t4019 + store i32 %t4025, ptr %t4018 + br label %put808 +put808: + %t4032 = load ptr, ptr %t4019 + %t4033 = getelementptr inbounds ptr, ptr %t4032, i32 %t4020 + store ptr @.str7182, ptr %t4033 + %t4034 = add i32 %t4020, 1 + store i32 %t4034, ptr %t4017 + %t4035 = load ptr, ptr %t410 + %t4036 = getelementptr inbounds %LSlice, ptr %t4035, i32 0, i32 1 + %t4037 = getelementptr inbounds %LSlice, ptr %t4035, i32 0, i32 2 + %t4038 = getelementptr inbounds %LSlice, ptr %t4035, i32 0, i32 0 + %t4039 = load i32, ptr %t4036 + %t4040 = load i32, ptr %t4037 + %t4041 = icmp sge i32 %t4039, %t4040 + br i1 %t4041, label %grow809, label %put810 +grow809: + %t4042 = mul i32 %t4040, 2 + %t4043 = icmp eq i32 %t4040, 0 + %t4044 = select i1 %t4043, i32 8, i32 %t4042 + %t4045 = getelementptr ptr, ptr null, i32 1 + %t4046 = ptrtoint ptr %t4045 to i64 + %t4047 = zext i32 %t4044 to i64 + %t4048 = mul i64 %t4047, %t4046 + %t4049 = load ptr, ptr %t4038 + %t4050 = call ptr @realloc(ptr %t4049, i64 %t4048) + store ptr %t4050, ptr %t4038 + store i32 %t4044, ptr %t4037 + br label %put810 +put810: + %t4051 = load ptr, ptr %t4038 + %t4052 = getelementptr inbounds ptr, ptr %t4051, i32 %t4039 + store ptr @.str7183, ptr %t4052 + %t4053 = add i32 %t4039, 1 + store i32 %t4053, ptr %t4036 + br label %ifend806 +ifend806: + %t4054 = load ptr, ptr %t1 + %t4055 = call i32 @lp_str_eq(ptr %t4054, ptr @.str7184) + %t4056 = icmp ne i32 %t4055, 0 + br i1 %t4056, label %then811, label %ifend813 +then811: + store ptr @.str7185, ptr %t403 + %t4057 = load ptr, ptr %t410 + %t4058 = getelementptr inbounds %LSlice, ptr %t4057, i32 0, i32 1 + %t4059 = getelementptr inbounds %LSlice, ptr %t4057, i32 0, i32 2 + %t4060 = getelementptr inbounds %LSlice, ptr %t4057, i32 0, i32 0 + %t4061 = load i32, ptr %t4058 + %t4062 = load i32, ptr %t4059 + %t4063 = icmp sge i32 %t4061, %t4062 + br i1 %t4063, label %grow814, label %put815 +grow814: + %t4064 = mul i32 %t4062, 2 + %t4065 = icmp eq i32 %t4062, 0 + %t4066 = select i1 %t4065, i32 8, i32 %t4064 + %t4067 = getelementptr ptr, ptr null, i32 1 + %t4068 = ptrtoint ptr %t4067 to i64 + %t4069 = zext i32 %t4066 to i64 + %t4070 = mul i64 %t4069, %t4068 + %t4071 = load ptr, ptr %t4060 + %t4072 = call ptr @realloc(ptr %t4071, i64 %t4070) + store ptr %t4072, ptr %t4060 + store i32 %t4066, ptr %t4059 + br label %put815 +put815: + %t4073 = load ptr, ptr %t4060 + %t4074 = getelementptr inbounds ptr, ptr %t4073, i32 %t4061 + store ptr @.str7186, ptr %t4074 + %t4075 = add i32 %t4061, 1 + store i32 %t4075, ptr %t4058 + %t4076 = load ptr, ptr %t410 + %t4077 = getelementptr inbounds %LSlice, ptr %t4076, i32 0, i32 1 + %t4078 = getelementptr inbounds %LSlice, ptr %t4076, i32 0, i32 2 + %t4079 = getelementptr inbounds %LSlice, ptr %t4076, i32 0, i32 0 + %t4080 = load i32, ptr %t4077 + %t4081 = load i32, ptr %t4078 + %t4082 = icmp sge i32 %t4080, %t4081 + br i1 %t4082, label %grow816, label %put817 +grow816: + %t4083 = mul i32 %t4081, 2 + %t4084 = icmp eq i32 %t4081, 0 + %t4085 = select i1 %t4084, i32 8, i32 %t4083 + %t4086 = getelementptr ptr, ptr null, i32 1 + %t4087 = ptrtoint ptr %t4086 to i64 + %t4088 = zext i32 %t4085 to i64 + %t4089 = mul i64 %t4088, %t4087 + %t4090 = load ptr, ptr %t4079 + %t4091 = call ptr @realloc(ptr %t4090, i64 %t4089) + store ptr %t4091, ptr %t4079 + store i32 %t4085, ptr %t4078 + br label %put817 +put817: + %t4092 = load ptr, ptr %t4079 + %t4093 = getelementptr inbounds ptr, ptr %t4092, i32 %t4080 + store ptr @.str7187, ptr %t4093 + %t4094 = add i32 %t4080, 1 + store i32 %t4094, ptr %t4077 + br label %ifend813 +ifend813: + %t4095 = load ptr, ptr %t1 + %t4096 = call i32 @lp_str_eq(ptr %t4095, ptr @.str7188) + %t4097 = icmp ne i32 %t4096, 0 + br i1 %t4097, label %then818, label %ifend820 +then818: + store ptr @.str7189, ptr %t403 + %t4098 = load ptr, ptr %t410 + %t4099 = getelementptr inbounds %LSlice, ptr %t4098, i32 0, i32 1 + %t4100 = getelementptr inbounds %LSlice, ptr %t4098, i32 0, i32 2 + %t4101 = getelementptr inbounds %LSlice, ptr %t4098, i32 0, i32 0 + %t4102 = load i32, ptr %t4099 + %t4103 = load i32, ptr %t4100 + %t4104 = icmp sge i32 %t4102, %t4103 + br i1 %t4104, label %grow821, label %put822 +grow821: + %t4105 = mul i32 %t4103, 2 + %t4106 = icmp eq i32 %t4103, 0 + %t4107 = select i1 %t4106, i32 8, i32 %t4105 + %t4108 = getelementptr ptr, ptr null, i32 1 + %t4109 = ptrtoint ptr %t4108 to i64 + %t4110 = zext i32 %t4107 to i64 + %t4111 = mul i64 %t4110, %t4109 + %t4112 = load ptr, ptr %t4101 + %t4113 = call ptr @realloc(ptr %t4112, i64 %t4111) + store ptr %t4113, ptr %t4101 + store i32 %t4107, ptr %t4100 + br label %put822 +put822: + %t4114 = load ptr, ptr %t4101 + %t4115 = getelementptr inbounds ptr, ptr %t4114, i32 %t4102 + store ptr @.str7190, ptr %t4115 + %t4116 = add i32 %t4102, 1 + store i32 %t4116, ptr %t4099 + %t4117 = load ptr, ptr %t410 + %t4118 = getelementptr inbounds %LSlice, ptr %t4117, i32 0, i32 1 + %t4119 = getelementptr inbounds %LSlice, ptr %t4117, i32 0, i32 2 + %t4120 = getelementptr inbounds %LSlice, ptr %t4117, i32 0, i32 0 + %t4121 = load i32, ptr %t4118 + %t4122 = load i32, ptr %t4119 + %t4123 = icmp sge i32 %t4121, %t4122 + br i1 %t4123, label %grow823, label %put824 +grow823: + %t4124 = mul i32 %t4122, 2 + %t4125 = icmp eq i32 %t4122, 0 + %t4126 = select i1 %t4125, i32 8, i32 %t4124 + %t4127 = getelementptr ptr, ptr null, i32 1 + %t4128 = ptrtoint ptr %t4127 to i64 + %t4129 = zext i32 %t4126 to i64 + %t4130 = mul i64 %t4129, %t4128 + %t4131 = load ptr, ptr %t4120 + %t4132 = call ptr @realloc(ptr %t4131, i64 %t4130) + store ptr %t4132, ptr %t4120 + store i32 %t4126, ptr %t4119 + br label %put824 +put824: + %t4133 = load ptr, ptr %t4120 + %t4134 = getelementptr inbounds ptr, ptr %t4133, i32 %t4121 + store ptr @.str7191, ptr %t4134 + %t4135 = add i32 %t4121, 1 + store i32 %t4135, ptr %t4118 + br label %ifend820 +ifend820: + %t4136 = load ptr, ptr %t1 + %t4137 = call i32 @lp_str_eq(ptr %t4136, ptr @.str7192) + %t4138 = icmp ne i32 %t4137, 0 + br i1 %t4138, label %then825, label %ifend827 +then825: + store ptr @.str7193, ptr %t403 + %t4139 = load ptr, ptr %t410 + %t4140 = getelementptr inbounds %LSlice, ptr %t4139, i32 0, i32 1 + %t4141 = getelementptr inbounds %LSlice, ptr %t4139, i32 0, i32 2 + %t4142 = getelementptr inbounds %LSlice, ptr %t4139, i32 0, i32 0 + %t4143 = load i32, ptr %t4140 + %t4144 = load i32, ptr %t4141 + %t4145 = icmp sge i32 %t4143, %t4144 + br i1 %t4145, label %grow828, label %put829 +grow828: + %t4146 = mul i32 %t4144, 2 + %t4147 = icmp eq i32 %t4144, 0 + %t4148 = select i1 %t4147, i32 8, i32 %t4146 + %t4149 = getelementptr ptr, ptr null, i32 1 + %t4150 = ptrtoint ptr %t4149 to i64 + %t4151 = zext i32 %t4148 to i64 + %t4152 = mul i64 %t4151, %t4150 + %t4153 = load ptr, ptr %t4142 + %t4154 = call ptr @realloc(ptr %t4153, i64 %t4152) + store ptr %t4154, ptr %t4142 + store i32 %t4148, ptr %t4141 + br label %put829 +put829: + %t4155 = load ptr, ptr %t4142 + %t4156 = getelementptr inbounds ptr, ptr %t4155, i32 %t4143 + store ptr @.str7194, ptr %t4156 + %t4157 = add i32 %t4143, 1 + store i32 %t4157, ptr %t4140 + %t4158 = load ptr, ptr %t410 + %t4159 = getelementptr inbounds %LSlice, ptr %t4158, i32 0, i32 1 + %t4160 = getelementptr inbounds %LSlice, ptr %t4158, i32 0, i32 2 + %t4161 = getelementptr inbounds %LSlice, ptr %t4158, i32 0, i32 0 + %t4162 = load i32, ptr %t4159 + %t4163 = load i32, ptr %t4160 + %t4164 = icmp sge i32 %t4162, %t4163 + br i1 %t4164, label %grow830, label %put831 +grow830: + %t4165 = mul i32 %t4163, 2 + %t4166 = icmp eq i32 %t4163, 0 + %t4167 = select i1 %t4166, i32 8, i32 %t4165 + %t4168 = getelementptr ptr, ptr null, i32 1 + %t4169 = ptrtoint ptr %t4168 to i64 + %t4170 = zext i32 %t4167 to i64 + %t4171 = mul i64 %t4170, %t4169 + %t4172 = load ptr, ptr %t4161 + %t4173 = call ptr @realloc(ptr %t4172, i64 %t4171) + store ptr %t4173, ptr %t4161 + store i32 %t4167, ptr %t4160 + br label %put831 +put831: + %t4174 = load ptr, ptr %t4161 + %t4175 = getelementptr inbounds ptr, ptr %t4174, i32 %t4162 + store ptr @.str7195, ptr %t4175 + %t4176 = add i32 %t4162, 1 + store i32 %t4176, ptr %t4159 + %t4177 = load ptr, ptr %t410 + %t4178 = getelementptr inbounds %LSlice, ptr %t4177, i32 0, i32 1 + %t4179 = getelementptr inbounds %LSlice, ptr %t4177, i32 0, i32 2 + %t4180 = getelementptr inbounds %LSlice, ptr %t4177, i32 0, i32 0 + %t4181 = load i32, ptr %t4178 + %t4182 = load i32, ptr %t4179 + %t4183 = icmp sge i32 %t4181, %t4182 + br i1 %t4183, label %grow832, label %put833 +grow832: + %t4184 = mul i32 %t4182, 2 + %t4185 = icmp eq i32 %t4182, 0 + %t4186 = select i1 %t4185, i32 8, i32 %t4184 + %t4187 = getelementptr ptr, ptr null, i32 1 + %t4188 = ptrtoint ptr %t4187 to i64 + %t4189 = zext i32 %t4186 to i64 + %t4190 = mul i64 %t4189, %t4188 + %t4191 = load ptr, ptr %t4180 + %t4192 = call ptr @realloc(ptr %t4191, i64 %t4190) + store ptr %t4192, ptr %t4180 + store i32 %t4186, ptr %t4179 + br label %put833 +put833: + %t4193 = load ptr, ptr %t4180 + %t4194 = getelementptr inbounds ptr, ptr %t4193, i32 %t4181 + store ptr @.str7196, ptr %t4194 + %t4195 = add i32 %t4181, 1 + store i32 %t4195, ptr %t4178 + br label %ifend827 +ifend827: + %t4196 = load ptr, ptr %t1 + %t4197 = call i32 @lp_str_eq(ptr %t4196, ptr @.str7197) + %t4198 = icmp ne i32 %t4197, 0 + br i1 %t4198, label %then834, label %ifend836 +then834: + store ptr @.str7198, ptr %t403 + %t4199 = load ptr, ptr %t410 + %t4200 = getelementptr inbounds %LSlice, ptr %t4199, i32 0, i32 1 + %t4201 = getelementptr inbounds %LSlice, ptr %t4199, i32 0, i32 2 + %t4202 = getelementptr inbounds %LSlice, ptr %t4199, i32 0, i32 0 + %t4203 = load i32, ptr %t4200 + %t4204 = load i32, ptr %t4201 + %t4205 = icmp sge i32 %t4203, %t4204 + br i1 %t4205, label %grow837, label %put838 +grow837: + %t4206 = mul i32 %t4204, 2 + %t4207 = icmp eq i32 %t4204, 0 + %t4208 = select i1 %t4207, i32 8, i32 %t4206 + %t4209 = getelementptr ptr, ptr null, i32 1 + %t4210 = ptrtoint ptr %t4209 to i64 + %t4211 = zext i32 %t4208 to i64 + %t4212 = mul i64 %t4211, %t4210 + %t4213 = load ptr, ptr %t4202 + %t4214 = call ptr @realloc(ptr %t4213, i64 %t4212) + store ptr %t4214, ptr %t4202 + store i32 %t4208, ptr %t4201 + br label %put838 +put838: + %t4215 = load ptr, ptr %t4202 + %t4216 = getelementptr inbounds ptr, ptr %t4215, i32 %t4203 + store ptr @.str7199, ptr %t4216 + %t4217 = add i32 %t4203, 1 + store i32 %t4217, ptr %t4200 + br label %ifend836 +ifend836: + %t4218 = load ptr, ptr %t1 + %t4219 = call i32 @lp_str_eq(ptr %t4218, ptr @.str7200) + %t4220 = icmp ne i32 %t4219, 0 + br i1 %t4220, label %then839, label %ifend841 +then839: + store ptr @.str7201, ptr %t403 + %t4221 = load ptr, ptr %t410 + %t4222 = getelementptr inbounds %LSlice, ptr %t4221, i32 0, i32 1 + %t4223 = getelementptr inbounds %LSlice, ptr %t4221, i32 0, i32 2 + %t4224 = getelementptr inbounds %LSlice, ptr %t4221, i32 0, i32 0 + %t4225 = load i32, ptr %t4222 + %t4226 = load i32, ptr %t4223 + %t4227 = icmp sge i32 %t4225, %t4226 + br i1 %t4227, label %grow842, label %put843 +grow842: + %t4228 = mul i32 %t4226, 2 + %t4229 = icmp eq i32 %t4226, 0 + %t4230 = select i1 %t4229, i32 8, i32 %t4228 + %t4231 = getelementptr ptr, ptr null, i32 1 + %t4232 = ptrtoint ptr %t4231 to i64 + %t4233 = zext i32 %t4230 to i64 + %t4234 = mul i64 %t4233, %t4232 + %t4235 = load ptr, ptr %t4224 + %t4236 = call ptr @realloc(ptr %t4235, i64 %t4234) + store ptr %t4236, ptr %t4224 + store i32 %t4230, ptr %t4223 + br label %put843 +put843: + %t4237 = load ptr, ptr %t4224 + %t4238 = getelementptr inbounds ptr, ptr %t4237, i32 %t4225 + store ptr @.str7202, ptr %t4238 + %t4239 = add i32 %t4225, 1 + store i32 %t4239, ptr %t4222 + %t4240 = load ptr, ptr %t410 + %t4241 = getelementptr inbounds %LSlice, ptr %t4240, i32 0, i32 1 + %t4242 = getelementptr inbounds %LSlice, ptr %t4240, i32 0, i32 2 + %t4243 = getelementptr inbounds %LSlice, ptr %t4240, i32 0, i32 0 + %t4244 = load i32, ptr %t4241 + %t4245 = load i32, ptr %t4242 + %t4246 = icmp sge i32 %t4244, %t4245 + br i1 %t4246, label %grow844, label %put845 +grow844: + %t4247 = mul i32 %t4245, 2 + %t4248 = icmp eq i32 %t4245, 0 + %t4249 = select i1 %t4248, i32 8, i32 %t4247 + %t4250 = getelementptr ptr, ptr null, i32 1 + %t4251 = ptrtoint ptr %t4250 to i64 + %t4252 = zext i32 %t4249 to i64 + %t4253 = mul i64 %t4252, %t4251 + %t4254 = load ptr, ptr %t4243 + %t4255 = call ptr @realloc(ptr %t4254, i64 %t4253) + store ptr %t4255, ptr %t4243 + store i32 %t4249, ptr %t4242 + br label %put845 +put845: + %t4256 = load ptr, ptr %t4243 + %t4257 = getelementptr inbounds ptr, ptr %t4256, i32 %t4244 + store ptr @.str7203, ptr %t4257 + %t4258 = add i32 %t4244, 1 + store i32 %t4258, ptr %t4241 + %t4259 = load ptr, ptr %t410 + %t4260 = getelementptr inbounds %LSlice, ptr %t4259, i32 0, i32 1 + %t4261 = getelementptr inbounds %LSlice, ptr %t4259, i32 0, i32 2 + %t4262 = getelementptr inbounds %LSlice, ptr %t4259, i32 0, i32 0 + %t4263 = load i32, ptr %t4260 + %t4264 = load i32, ptr %t4261 + %t4265 = icmp sge i32 %t4263, %t4264 + br i1 %t4265, label %grow846, label %put847 +grow846: + %t4266 = mul i32 %t4264, 2 + %t4267 = icmp eq i32 %t4264, 0 + %t4268 = select i1 %t4267, i32 8, i32 %t4266 + %t4269 = getelementptr ptr, ptr null, i32 1 + %t4270 = ptrtoint ptr %t4269 to i64 + %t4271 = zext i32 %t4268 to i64 + %t4272 = mul i64 %t4271, %t4270 + %t4273 = load ptr, ptr %t4262 + %t4274 = call ptr @realloc(ptr %t4273, i64 %t4272) + store ptr %t4274, ptr %t4262 + store i32 %t4268, ptr %t4261 + br label %put847 +put847: + %t4275 = load ptr, ptr %t4262 + %t4276 = getelementptr inbounds ptr, ptr %t4275, i32 %t4263 + store ptr @.str7204, ptr %t4276 + %t4277 = add i32 %t4263, 1 + store i32 %t4277, ptr %t4260 + %t4278 = load ptr, ptr %t410 + %t4279 = getelementptr inbounds %LSlice, ptr %t4278, i32 0, i32 1 + %t4280 = getelementptr inbounds %LSlice, ptr %t4278, i32 0, i32 2 + %t4281 = getelementptr inbounds %LSlice, ptr %t4278, i32 0, i32 0 + %t4282 = load i32, ptr %t4279 + %t4283 = load i32, ptr %t4280 + %t4284 = icmp sge i32 %t4282, %t4283 + br i1 %t4284, label %grow848, label %put849 +grow848: + %t4285 = mul i32 %t4283, 2 + %t4286 = icmp eq i32 %t4283, 0 + %t4287 = select i1 %t4286, i32 8, i32 %t4285 + %t4288 = getelementptr ptr, ptr null, i32 1 + %t4289 = ptrtoint ptr %t4288 to i64 + %t4290 = zext i32 %t4287 to i64 + %t4291 = mul i64 %t4290, %t4289 + %t4292 = load ptr, ptr %t4281 + %t4293 = call ptr @realloc(ptr %t4292, i64 %t4291) + store ptr %t4293, ptr %t4281 + store i32 %t4287, ptr %t4280 + br label %put849 +put849: + %t4294 = load ptr, ptr %t4281 + %t4295 = getelementptr inbounds ptr, ptr %t4294, i32 %t4282 + store ptr @.str7205, ptr %t4295 + %t4296 = add i32 %t4282, 1 + store i32 %t4296, ptr %t4279 + %t4297 = load ptr, ptr %t410 + %t4298 = getelementptr inbounds %LSlice, ptr %t4297, i32 0, i32 1 + %t4299 = getelementptr inbounds %LSlice, ptr %t4297, i32 0, i32 2 + %t4300 = getelementptr inbounds %LSlice, ptr %t4297, i32 0, i32 0 + %t4301 = load i32, ptr %t4298 + %t4302 = load i32, ptr %t4299 + %t4303 = icmp sge i32 %t4301, %t4302 + br i1 %t4303, label %grow850, label %put851 +grow850: + %t4304 = mul i32 %t4302, 2 + %t4305 = icmp eq i32 %t4302, 0 + %t4306 = select i1 %t4305, i32 8, i32 %t4304 + %t4307 = getelementptr ptr, ptr null, i32 1 + %t4308 = ptrtoint ptr %t4307 to i64 + %t4309 = zext i32 %t4306 to i64 + %t4310 = mul i64 %t4309, %t4308 + %t4311 = load ptr, ptr %t4300 + %t4312 = call ptr @realloc(ptr %t4311, i64 %t4310) + store ptr %t4312, ptr %t4300 + store i32 %t4306, ptr %t4299 + br label %put851 +put851: + %t4313 = load ptr, ptr %t4300 + %t4314 = getelementptr inbounds ptr, ptr %t4313, i32 %t4301 + store ptr @.str7206, ptr %t4314 + %t4315 = add i32 %t4301, 1 + store i32 %t4315, ptr %t4298 + br label %ifend841 +ifend841: + %t4316 = load ptr, ptr %t1 + %t4317 = call i32 @lp_str_eq(ptr %t4316, ptr @.str7207) + %t4318 = icmp ne i32 %t4317, 0 + br i1 %t4318, label %then852, label %ifend854 +then852: + store ptr @.str7208, ptr %t403 + %t4319 = load ptr, ptr %t410 + %t4320 = getelementptr inbounds %LSlice, ptr %t4319, i32 0, i32 1 + %t4321 = getelementptr inbounds %LSlice, ptr %t4319, i32 0, i32 2 + %t4322 = getelementptr inbounds %LSlice, ptr %t4319, i32 0, i32 0 + %t4323 = load i32, ptr %t4320 + %t4324 = load i32, ptr %t4321 + %t4325 = icmp sge i32 %t4323, %t4324 + br i1 %t4325, label %grow855, label %put856 +grow855: + %t4326 = mul i32 %t4324, 2 + %t4327 = icmp eq i32 %t4324, 0 + %t4328 = select i1 %t4327, i32 8, i32 %t4326 + %t4329 = getelementptr ptr, ptr null, i32 1 + %t4330 = ptrtoint ptr %t4329 to i64 + %t4331 = zext i32 %t4328 to i64 + %t4332 = mul i64 %t4331, %t4330 + %t4333 = load ptr, ptr %t4322 + %t4334 = call ptr @realloc(ptr %t4333, i64 %t4332) + store ptr %t4334, ptr %t4322 + store i32 %t4328, ptr %t4321 + br label %put856 +put856: + %t4335 = load ptr, ptr %t4322 + %t4336 = getelementptr inbounds ptr, ptr %t4335, i32 %t4323 + store ptr @.str7209, ptr %t4336 + %t4337 = add i32 %t4323, 1 + store i32 %t4337, ptr %t4320 + br label %ifend854 +ifend854: + %t4338 = load ptr, ptr %t1 + %t4339 = call i32 @lp_str_eq(ptr %t4338, ptr @.str7210) + %t4340 = icmp ne i32 %t4339, 0 + br i1 %t4340, label %then857, label %ifend859 +then857: + store ptr @.str7211, ptr %t403 + %t4341 = load ptr, ptr %t410 + %t4342 = getelementptr inbounds %LSlice, ptr %t4341, i32 0, i32 1 + %t4343 = getelementptr inbounds %LSlice, ptr %t4341, i32 0, i32 2 + %t4344 = getelementptr inbounds %LSlice, ptr %t4341, i32 0, i32 0 + %t4345 = load i32, ptr %t4342 + %t4346 = load i32, ptr %t4343 + %t4347 = icmp sge i32 %t4345, %t4346 + br i1 %t4347, label %grow860, label %put861 +grow860: + %t4348 = mul i32 %t4346, 2 + %t4349 = icmp eq i32 %t4346, 0 + %t4350 = select i1 %t4349, i32 8, i32 %t4348 + %t4351 = getelementptr ptr, ptr null, i32 1 + %t4352 = ptrtoint ptr %t4351 to i64 + %t4353 = zext i32 %t4350 to i64 + %t4354 = mul i64 %t4353, %t4352 + %t4355 = load ptr, ptr %t4344 + %t4356 = call ptr @realloc(ptr %t4355, i64 %t4354) + store ptr %t4356, ptr %t4344 + store i32 %t4350, ptr %t4343 + br label %put861 +put861: + %t4357 = load ptr, ptr %t4344 + %t4358 = getelementptr inbounds ptr, ptr %t4357, i32 %t4345 + store ptr @.str7212, ptr %t4358 + %t4359 = add i32 %t4345, 1 + store i32 %t4359, ptr %t4342 + br label %ifend859 +ifend859: + %t4360 = load ptr, ptr %t1 + %t4361 = call i32 @lp_str_eq(ptr %t4360, ptr @.str7213) + %t4362 = icmp ne i32 %t4361, 0 + br i1 %t4362, label %then862, label %ifend864 +then862: + store ptr @.str7214, ptr %t403 + %t4363 = load ptr, ptr %t410 + %t4364 = getelementptr inbounds %LSlice, ptr %t4363, i32 0, i32 1 + %t4365 = getelementptr inbounds %LSlice, ptr %t4363, i32 0, i32 2 + %t4366 = getelementptr inbounds %LSlice, ptr %t4363, i32 0, i32 0 + %t4367 = load i32, ptr %t4364 + %t4368 = load i32, ptr %t4365 + %t4369 = icmp sge i32 %t4367, %t4368 + br i1 %t4369, label %grow865, label %put866 +grow865: + %t4370 = mul i32 %t4368, 2 + %t4371 = icmp eq i32 %t4368, 0 + %t4372 = select i1 %t4371, i32 8, i32 %t4370 + %t4373 = getelementptr ptr, ptr null, i32 1 + %t4374 = ptrtoint ptr %t4373 to i64 + %t4375 = zext i32 %t4372 to i64 + %t4376 = mul i64 %t4375, %t4374 + %t4377 = load ptr, ptr %t4366 + %t4378 = call ptr @realloc(ptr %t4377, i64 %t4376) + store ptr %t4378, ptr %t4366 + store i32 %t4372, ptr %t4365 + br label %put866 +put866: + %t4379 = load ptr, ptr %t4366 + %t4380 = getelementptr inbounds ptr, ptr %t4379, i32 %t4367 + store ptr @.str7215, ptr %t4380 + %t4381 = add i32 %t4367, 1 + store i32 %t4381, ptr %t4364 + %t4382 = load ptr, ptr %t410 + %t4383 = getelementptr inbounds %LSlice, ptr %t4382, i32 0, i32 1 + %t4384 = getelementptr inbounds %LSlice, ptr %t4382, i32 0, i32 2 + %t4385 = getelementptr inbounds %LSlice, ptr %t4382, i32 0, i32 0 + %t4386 = load i32, ptr %t4383 + %t4387 = load i32, ptr %t4384 + %t4388 = icmp sge i32 %t4386, %t4387 + br i1 %t4388, label %grow867, label %put868 +grow867: + %t4389 = mul i32 %t4387, 2 + %t4390 = icmp eq i32 %t4387, 0 + %t4391 = select i1 %t4390, i32 8, i32 %t4389 + %t4392 = getelementptr ptr, ptr null, i32 1 + %t4393 = ptrtoint ptr %t4392 to i64 + %t4394 = zext i32 %t4391 to i64 + %t4395 = mul i64 %t4394, %t4393 + %t4396 = load ptr, ptr %t4385 + %t4397 = call ptr @realloc(ptr %t4396, i64 %t4395) + store ptr %t4397, ptr %t4385 + store i32 %t4391, ptr %t4384 + br label %put868 +put868: + %t4398 = load ptr, ptr %t4385 + %t4399 = getelementptr inbounds ptr, ptr %t4398, i32 %t4386 + store ptr @.str7216, ptr %t4399 + %t4400 = add i32 %t4386, 1 + store i32 %t4400, ptr %t4383 + %t4401 = load ptr, ptr %t410 + %t4402 = getelementptr inbounds %LSlice, ptr %t4401, i32 0, i32 1 + %t4403 = getelementptr inbounds %LSlice, ptr %t4401, i32 0, i32 2 + %t4404 = getelementptr inbounds %LSlice, ptr %t4401, i32 0, i32 0 + %t4405 = load i32, ptr %t4402 + %t4406 = load i32, ptr %t4403 + %t4407 = icmp sge i32 %t4405, %t4406 + br i1 %t4407, label %grow869, label %put870 +grow869: + %t4408 = mul i32 %t4406, 2 + %t4409 = icmp eq i32 %t4406, 0 + %t4410 = select i1 %t4409, i32 8, i32 %t4408 + %t4411 = getelementptr ptr, ptr null, i32 1 + %t4412 = ptrtoint ptr %t4411 to i64 + %t4413 = zext i32 %t4410 to i64 + %t4414 = mul i64 %t4413, %t4412 + %t4415 = load ptr, ptr %t4404 + %t4416 = call ptr @realloc(ptr %t4415, i64 %t4414) + store ptr %t4416, ptr %t4404 + store i32 %t4410, ptr %t4403 + br label %put870 +put870: + %t4417 = load ptr, ptr %t4404 + %t4418 = getelementptr inbounds ptr, ptr %t4417, i32 %t4405 + store ptr @.str7217, ptr %t4418 + %t4419 = add i32 %t4405, 1 + store i32 %t4419, ptr %t4402 + br label %ifend864 +ifend864: + %t4420 = load ptr, ptr %t1 + %t4421 = call i32 @lp_str_eq(ptr %t4420, ptr @.str7218) + %t4422 = icmp ne i32 %t4421, 0 + br i1 %t4422, label %then871, label %ifend873 +then871: + store ptr @.str7219, ptr %t403 + %t4423 = load ptr, ptr %t410 + %t4424 = getelementptr inbounds %LSlice, ptr %t4423, i32 0, i32 1 + %t4425 = getelementptr inbounds %LSlice, ptr %t4423, i32 0, i32 2 + %t4426 = getelementptr inbounds %LSlice, ptr %t4423, i32 0, i32 0 + %t4427 = load i32, ptr %t4424 + %t4428 = load i32, ptr %t4425 + %t4429 = icmp sge i32 %t4427, %t4428 + br i1 %t4429, label %grow874, label %put875 +grow874: + %t4430 = mul i32 %t4428, 2 + %t4431 = icmp eq i32 %t4428, 0 + %t4432 = select i1 %t4431, i32 8, i32 %t4430 + %t4433 = getelementptr ptr, ptr null, i32 1 + %t4434 = ptrtoint ptr %t4433 to i64 + %t4435 = zext i32 %t4432 to i64 + %t4436 = mul i64 %t4435, %t4434 + %t4437 = load ptr, ptr %t4426 + %t4438 = call ptr @realloc(ptr %t4437, i64 %t4436) + store ptr %t4438, ptr %t4426 + store i32 %t4432, ptr %t4425 + br label %put875 +put875: + %t4439 = load ptr, ptr %t4426 + %t4440 = getelementptr inbounds ptr, ptr %t4439, i32 %t4427 + store ptr @.str7220, ptr %t4440 + %t4441 = add i32 %t4427, 1 + store i32 %t4441, ptr %t4424 + %t4442 = load ptr, ptr %t410 + %t4443 = getelementptr inbounds %LSlice, ptr %t4442, i32 0, i32 1 + %t4444 = getelementptr inbounds %LSlice, ptr %t4442, i32 0, i32 2 + %t4445 = getelementptr inbounds %LSlice, ptr %t4442, i32 0, i32 0 + %t4446 = load i32, ptr %t4443 + %t4447 = load i32, ptr %t4444 + %t4448 = icmp sge i32 %t4446, %t4447 + br i1 %t4448, label %grow876, label %put877 +grow876: + %t4449 = mul i32 %t4447, 2 + %t4450 = icmp eq i32 %t4447, 0 + %t4451 = select i1 %t4450, i32 8, i32 %t4449 + %t4452 = getelementptr ptr, ptr null, i32 1 + %t4453 = ptrtoint ptr %t4452 to i64 + %t4454 = zext i32 %t4451 to i64 + %t4455 = mul i64 %t4454, %t4453 + %t4456 = load ptr, ptr %t4445 + %t4457 = call ptr @realloc(ptr %t4456, i64 %t4455) + store ptr %t4457, ptr %t4445 + store i32 %t4451, ptr %t4444 + br label %put877 +put877: + %t4458 = load ptr, ptr %t4445 + %t4459 = getelementptr inbounds ptr, ptr %t4458, i32 %t4446 + store ptr @.str7221, ptr %t4459 + %t4460 = add i32 %t4446, 1 + store i32 %t4460, ptr %t4443 + br label %ifend873 +ifend873: + %t4461 = load ptr, ptr %t1 + %t4462 = call i32 @lp_str_eq(ptr %t4461, ptr @.str7222) + %t4463 = icmp ne i32 %t4462, 0 + br i1 %t4463, label %then878, label %ifend880 +then878: + store ptr @.str7223, ptr %t403 + %t4464 = load ptr, ptr %t410 + %t4465 = getelementptr inbounds %LSlice, ptr %t4464, i32 0, i32 1 + %t4466 = getelementptr inbounds %LSlice, ptr %t4464, i32 0, i32 2 + %t4467 = getelementptr inbounds %LSlice, ptr %t4464, i32 0, i32 0 + %t4468 = load i32, ptr %t4465 + %t4469 = load i32, ptr %t4466 + %t4470 = icmp sge i32 %t4468, %t4469 + br i1 %t4470, label %grow881, label %put882 +grow881: + %t4471 = mul i32 %t4469, 2 + %t4472 = icmp eq i32 %t4469, 0 + %t4473 = select i1 %t4472, i32 8, i32 %t4471 + %t4474 = getelementptr ptr, ptr null, i32 1 + %t4475 = ptrtoint ptr %t4474 to i64 + %t4476 = zext i32 %t4473 to i64 + %t4477 = mul i64 %t4476, %t4475 + %t4478 = load ptr, ptr %t4467 + %t4479 = call ptr @realloc(ptr %t4478, i64 %t4477) + store ptr %t4479, ptr %t4467 + store i32 %t4473, ptr %t4466 + br label %put882 +put882: + %t4480 = load ptr, ptr %t4467 + %t4481 = getelementptr inbounds ptr, ptr %t4480, i32 %t4468 + store ptr @.str7224, ptr %t4481 + %t4482 = add i32 %t4468, 1 + store i32 %t4482, ptr %t4465 + %t4483 = load ptr, ptr %t410 + %t4484 = getelementptr inbounds %LSlice, ptr %t4483, i32 0, i32 1 + %t4485 = getelementptr inbounds %LSlice, ptr %t4483, i32 0, i32 2 + %t4486 = getelementptr inbounds %LSlice, ptr %t4483, i32 0, i32 0 + %t4487 = load i32, ptr %t4484 + %t4488 = load i32, ptr %t4485 + %t4489 = icmp sge i32 %t4487, %t4488 + br i1 %t4489, label %grow883, label %put884 +grow883: + %t4490 = mul i32 %t4488, 2 + %t4491 = icmp eq i32 %t4488, 0 + %t4492 = select i1 %t4491, i32 8, i32 %t4490 + %t4493 = getelementptr ptr, ptr null, i32 1 + %t4494 = ptrtoint ptr %t4493 to i64 + %t4495 = zext i32 %t4492 to i64 + %t4496 = mul i64 %t4495, %t4494 + %t4497 = load ptr, ptr %t4486 + %t4498 = call ptr @realloc(ptr %t4497, i64 %t4496) + store ptr %t4498, ptr %t4486 + store i32 %t4492, ptr %t4485 + br label %put884 +put884: + %t4499 = load ptr, ptr %t4486 + %t4500 = getelementptr inbounds ptr, ptr %t4499, i32 %t4487 + store ptr @.str7225, ptr %t4500 + %t4501 = add i32 %t4487, 1 + store i32 %t4501, ptr %t4484 + br label %ifend880 +ifend880: + %t4502 = load ptr, ptr %t1 + %t4503 = call i32 @lp_str_eq(ptr %t4502, ptr @.str7226) + %t4504 = icmp ne i32 %t4503, 0 + br i1 %t4504, label %then885, label %ifend887 +then885: + store ptr @.str7227, ptr %t403 + %t4505 = load ptr, ptr %t410 + %t4506 = getelementptr inbounds %LSlice, ptr %t4505, i32 0, i32 1 + %t4507 = getelementptr inbounds %LSlice, ptr %t4505, i32 0, i32 2 + %t4508 = getelementptr inbounds %LSlice, ptr %t4505, i32 0, i32 0 + %t4509 = load i32, ptr %t4506 + %t4510 = load i32, ptr %t4507 + %t4511 = icmp sge i32 %t4509, %t4510 + br i1 %t4511, label %grow888, label %put889 +grow888: + %t4512 = mul i32 %t4510, 2 + %t4513 = icmp eq i32 %t4510, 0 + %t4514 = select i1 %t4513, i32 8, i32 %t4512 + %t4515 = getelementptr ptr, ptr null, i32 1 + %t4516 = ptrtoint ptr %t4515 to i64 + %t4517 = zext i32 %t4514 to i64 + %t4518 = mul i64 %t4517, %t4516 + %t4519 = load ptr, ptr %t4508 + %t4520 = call ptr @realloc(ptr %t4519, i64 %t4518) + store ptr %t4520, ptr %t4508 + store i32 %t4514, ptr %t4507 + br label %put889 +put889: + %t4521 = load ptr, ptr %t4508 + %t4522 = getelementptr inbounds ptr, ptr %t4521, i32 %t4509 + store ptr @.str7228, ptr %t4522 + %t4523 = add i32 %t4509, 1 + store i32 %t4523, ptr %t4506 + br label %ifend887 +ifend887: + %t4524 = load ptr, ptr %t1 + %t4525 = call i32 @lp_str_eq(ptr %t4524, ptr @.str7229) + %t4526 = icmp ne i32 %t4525, 0 + br i1 %t4526, label %then890, label %ifend892 +then890: + store ptr @.str7230, ptr %t403 + br label %ifend892 +ifend892: + %t4527 = load ptr, ptr %t1 + %t4528 = call i32 @lp_str_eq(ptr %t4527, ptr @.str7231) + %t4529 = icmp ne i32 %t4528, 0 + br i1 %t4529, label %then893, label %ifend895 +then893: + store ptr @.str7232, ptr %t403 + br label %ifend895 +ifend895: + br label %ifend796 +ifend796: + %t4530 = load ptr, ptr %t0 + %t4531 = call i32 @lp_str_eq(ptr %t4530, ptr @.str7233) + %t4532 = icmp ne i32 %t4531, 0 + br i1 %t4532, label %then896, label %ifend898 +then896: + %t4533 = load ptr, ptr %t1 + %t4534 = call i32 @lp_str_eq(ptr %t4533, ptr @.str7234) + %t4535 = icmp ne i32 %t4534, 0 + br i1 %t4535, label %then899, label %ifend901 +then899: + store ptr @.str7235, ptr %t403 + %t4536 = load ptr, ptr %t410 + %t4537 = getelementptr inbounds %LSlice, ptr %t4536, i32 0, i32 1 + %t4538 = getelementptr inbounds %LSlice, ptr %t4536, i32 0, i32 2 + %t4539 = getelementptr inbounds %LSlice, ptr %t4536, i32 0, i32 0 + %t4540 = load i32, ptr %t4537 + %t4541 = load i32, ptr %t4538 + %t4542 = icmp sge i32 %t4540, %t4541 + br i1 %t4542, label %grow902, label %put903 +grow902: + %t4543 = mul i32 %t4541, 2 + %t4544 = icmp eq i32 %t4541, 0 + %t4545 = select i1 %t4544, i32 8, i32 %t4543 + %t4546 = getelementptr ptr, ptr null, i32 1 + %t4547 = ptrtoint ptr %t4546 to i64 + %t4548 = zext i32 %t4545 to i64 + %t4549 = mul i64 %t4548, %t4547 + %t4550 = load ptr, ptr %t4539 + %t4551 = call ptr @realloc(ptr %t4550, i64 %t4549) + store ptr %t4551, ptr %t4539 + store i32 %t4545, ptr %t4538 + br label %put903 +put903: + %t4552 = load ptr, ptr %t4539 + %t4553 = getelementptr inbounds ptr, ptr %t4552, i32 %t4540 + store ptr @.str7236, ptr %t4553 + %t4554 = add i32 %t4540, 1 + store i32 %t4554, ptr %t4537 + %t4555 = load ptr, ptr %t410 + %t4556 = getelementptr inbounds %LSlice, ptr %t4555, i32 0, i32 1 + %t4557 = getelementptr inbounds %LSlice, ptr %t4555, i32 0, i32 2 + %t4558 = getelementptr inbounds %LSlice, ptr %t4555, i32 0, i32 0 + %t4559 = load i32, ptr %t4556 + %t4560 = load i32, ptr %t4557 + %t4561 = icmp sge i32 %t4559, %t4560 + br i1 %t4561, label %grow904, label %put905 +grow904: + %t4562 = mul i32 %t4560, 2 + %t4563 = icmp eq i32 %t4560, 0 + %t4564 = select i1 %t4563, i32 8, i32 %t4562 + %t4565 = getelementptr ptr, ptr null, i32 1 + %t4566 = ptrtoint ptr %t4565 to i64 + %t4567 = zext i32 %t4564 to i64 + %t4568 = mul i64 %t4567, %t4566 + %t4569 = load ptr, ptr %t4558 + %t4570 = call ptr @realloc(ptr %t4569, i64 %t4568) + store ptr %t4570, ptr %t4558 + store i32 %t4564, ptr %t4557 + br label %put905 +put905: + %t4571 = load ptr, ptr %t4558 + %t4572 = getelementptr inbounds ptr, ptr %t4571, i32 %t4559 + store ptr @.str7237, ptr %t4572 + %t4573 = add i32 %t4559, 1 + store i32 %t4573, ptr %t4556 + br label %ifend901 +ifend901: + %t4574 = load ptr, ptr %t1 + %t4575 = call i32 @lp_str_eq(ptr %t4574, ptr @.str7238) + %t4576 = icmp ne i32 %t4575, 0 + br i1 %t4576, label %then906, label %ifend908 +then906: + store ptr @.str7239, ptr %t403 + %t4577 = load ptr, ptr %t410 + %t4578 = getelementptr inbounds %LSlice, ptr %t4577, i32 0, i32 1 + %t4579 = getelementptr inbounds %LSlice, ptr %t4577, i32 0, i32 2 + %t4580 = getelementptr inbounds %LSlice, ptr %t4577, i32 0, i32 0 + %t4581 = load i32, ptr %t4578 + %t4582 = load i32, ptr %t4579 + %t4583 = icmp sge i32 %t4581, %t4582 + br i1 %t4583, label %grow909, label %put910 +grow909: + %t4584 = mul i32 %t4582, 2 + %t4585 = icmp eq i32 %t4582, 0 + %t4586 = select i1 %t4585, i32 8, i32 %t4584 + %t4587 = getelementptr ptr, ptr null, i32 1 + %t4588 = ptrtoint ptr %t4587 to i64 + %t4589 = zext i32 %t4586 to i64 + %t4590 = mul i64 %t4589, %t4588 + %t4591 = load ptr, ptr %t4580 + %t4592 = call ptr @realloc(ptr %t4591, i64 %t4590) + store ptr %t4592, ptr %t4580 + store i32 %t4586, ptr %t4579 + br label %put910 +put910: + %t4593 = load ptr, ptr %t4580 + %t4594 = getelementptr inbounds ptr, ptr %t4593, i32 %t4581 + store ptr @.str7240, ptr %t4594 + %t4595 = add i32 %t4581, 1 + store i32 %t4595, ptr %t4578 + br label %ifend908 +ifend908: + %t4596 = load ptr, ptr %t1 + %t4597 = call i32 @lp_str_eq(ptr %t4596, ptr @.str7241) + %t4598 = icmp ne i32 %t4597, 0 + br i1 %t4598, label %then911, label %ifend913 +then911: + store ptr @.str7242, ptr %t403 + %t4599 = load ptr, ptr %t410 + %t4600 = getelementptr inbounds %LSlice, ptr %t4599, i32 0, i32 1 + %t4601 = getelementptr inbounds %LSlice, ptr %t4599, i32 0, i32 2 + %t4602 = getelementptr inbounds %LSlice, ptr %t4599, i32 0, i32 0 + %t4603 = load i32, ptr %t4600 + %t4604 = load i32, ptr %t4601 + %t4605 = icmp sge i32 %t4603, %t4604 + br i1 %t4605, label %grow914, label %put915 +grow914: + %t4606 = mul i32 %t4604, 2 + %t4607 = icmp eq i32 %t4604, 0 + %t4608 = select i1 %t4607, i32 8, i32 %t4606 + %t4609 = getelementptr ptr, ptr null, i32 1 + %t4610 = ptrtoint ptr %t4609 to i64 + %t4611 = zext i32 %t4608 to i64 + %t4612 = mul i64 %t4611, %t4610 + %t4613 = load ptr, ptr %t4602 + %t4614 = call ptr @realloc(ptr %t4613, i64 %t4612) + store ptr %t4614, ptr %t4602 + store i32 %t4608, ptr %t4601 + br label %put915 +put915: + %t4615 = load ptr, ptr %t4602 + %t4616 = getelementptr inbounds ptr, ptr %t4615, i32 %t4603 + store ptr @.str7243, ptr %t4616 + %t4617 = add i32 %t4603, 1 + store i32 %t4617, ptr %t4600 + br label %ifend913 +ifend913: + %t4618 = load ptr, ptr %t1 + %t4619 = call i32 @lp_str_eq(ptr %t4618, ptr @.str7244) + %t4620 = icmp ne i32 %t4619, 0 + br i1 %t4620, label %then916, label %ifend918 +then916: + store ptr @.str7245, ptr %t403 + %t4621 = load ptr, ptr %t410 + %t4622 = getelementptr inbounds %LSlice, ptr %t4621, i32 0, i32 1 + %t4623 = getelementptr inbounds %LSlice, ptr %t4621, i32 0, i32 2 + %t4624 = getelementptr inbounds %LSlice, ptr %t4621, i32 0, i32 0 + %t4625 = load i32, ptr %t4622 + %t4626 = load i32, ptr %t4623 + %t4627 = icmp sge i32 %t4625, %t4626 + br i1 %t4627, label %grow919, label %put920 +grow919: + %t4628 = mul i32 %t4626, 2 + %t4629 = icmp eq i32 %t4626, 0 + %t4630 = select i1 %t4629, i32 8, i32 %t4628 + %t4631 = getelementptr ptr, ptr null, i32 1 + %t4632 = ptrtoint ptr %t4631 to i64 + %t4633 = zext i32 %t4630 to i64 + %t4634 = mul i64 %t4633, %t4632 + %t4635 = load ptr, ptr %t4624 + %t4636 = call ptr @realloc(ptr %t4635, i64 %t4634) + store ptr %t4636, ptr %t4624 + store i32 %t4630, ptr %t4623 + br label %put920 +put920: + %t4637 = load ptr, ptr %t4624 + %t4638 = getelementptr inbounds ptr, ptr %t4637, i32 %t4625 + store ptr @.str7246, ptr %t4638 + %t4639 = add i32 %t4625, 1 + store i32 %t4639, ptr %t4622 + br label %ifend918 +ifend918: + %t4640 = load ptr, ptr %t1 + %t4641 = call i32 @lp_str_eq(ptr %t4640, ptr @.str7247) + %t4642 = icmp ne i32 %t4641, 0 + br i1 %t4642, label %then921, label %ifend923 +then921: + store ptr @.str7248, ptr %t403 + br label %ifend923 +ifend923: + %t4643 = load ptr, ptr %t1 + %t4644 = call i32 @lp_str_eq(ptr %t4643, ptr @.str7249) + %t4645 = icmp ne i32 %t4644, 0 + br i1 %t4645, label %then924, label %ifend926 +then924: + store ptr @.str7250, ptr %t403 + %t4646 = load ptr, ptr %t410 + %t4647 = getelementptr inbounds %LSlice, ptr %t4646, i32 0, i32 1 + %t4648 = getelementptr inbounds %LSlice, ptr %t4646, i32 0, i32 2 + %t4649 = getelementptr inbounds %LSlice, ptr %t4646, i32 0, i32 0 + %t4650 = load i32, ptr %t4647 + %t4651 = load i32, ptr %t4648 + %t4652 = icmp sge i32 %t4650, %t4651 + br i1 %t4652, label %grow927, label %put928 +grow927: + %t4653 = mul i32 %t4651, 2 + %t4654 = icmp eq i32 %t4651, 0 + %t4655 = select i1 %t4654, i32 8, i32 %t4653 + %t4656 = getelementptr ptr, ptr null, i32 1 + %t4657 = ptrtoint ptr %t4656 to i64 + %t4658 = zext i32 %t4655 to i64 + %t4659 = mul i64 %t4658, %t4657 + %t4660 = load ptr, ptr %t4649 + %t4661 = call ptr @realloc(ptr %t4660, i64 %t4659) + store ptr %t4661, ptr %t4649 + store i32 %t4655, ptr %t4648 + br label %put928 +put928: + %t4662 = load ptr, ptr %t4649 + %t4663 = getelementptr inbounds ptr, ptr %t4662, i32 %t4650 + store ptr @.str7251, ptr %t4663 + %t4664 = add i32 %t4650, 1 + store i32 %t4664, ptr %t4647 + br label %ifend926 +ifend926: + %t4665 = load ptr, ptr %t1 + %t4666 = call i32 @lp_str_eq(ptr %t4665, ptr @.str7252) + %t4667 = icmp ne i32 %t4666, 0 + br i1 %t4667, label %then929, label %ifend931 +then929: + store ptr @.str7253, ptr %t403 + br label %ifend931 +ifend931: + br label %ifend898 +ifend898: + %t4668 = load ptr, ptr %t0 + %t4669 = call i32 @lp_str_eq(ptr %t4668, ptr @.str7254) + %t4670 = icmp ne i32 %t4669, 0 + br i1 %t4670, label %then932, label %ifend934 +then932: + %t4671 = load ptr, ptr %t1 + %t4672 = call i32 @lp_str_eq(ptr %t4671, ptr @.str7255) + %t4673 = icmp ne i32 %t4672, 0 + br i1 %t4673, label %then935, label %ifend937 +then935: + store ptr @.str7256, ptr %t403 + br label %ifend937 +ifend937: + %t4674 = load ptr, ptr %t1 + %t4675 = call i32 @lp_str_eq(ptr %t4674, ptr @.str7257) + %t4676 = icmp ne i32 %t4675, 0 + br i1 %t4676, label %then938, label %ifend940 +then938: + store ptr @.str7258, ptr %t403 + %t4677 = load ptr, ptr %t410 + %t4678 = getelementptr inbounds %LSlice, ptr %t4677, i32 0, i32 1 + %t4679 = getelementptr inbounds %LSlice, ptr %t4677, i32 0, i32 2 + %t4680 = getelementptr inbounds %LSlice, ptr %t4677, i32 0, i32 0 + %t4681 = load i32, ptr %t4678 + %t4682 = load i32, ptr %t4679 + %t4683 = icmp sge i32 %t4681, %t4682 + br i1 %t4683, label %grow941, label %put942 +grow941: + %t4684 = mul i32 %t4682, 2 + %t4685 = icmp eq i32 %t4682, 0 + %t4686 = select i1 %t4685, i32 8, i32 %t4684 + %t4687 = getelementptr ptr, ptr null, i32 1 + %t4688 = ptrtoint ptr %t4687 to i64 + %t4689 = zext i32 %t4686 to i64 + %t4690 = mul i64 %t4689, %t4688 + %t4691 = load ptr, ptr %t4680 + %t4692 = call ptr @realloc(ptr %t4691, i64 %t4690) + store ptr %t4692, ptr %t4680 + store i32 %t4686, ptr %t4679 + br label %put942 +put942: + %t4693 = load ptr, ptr %t4680 + %t4694 = getelementptr inbounds ptr, ptr %t4693, i32 %t4681 + store ptr @.str7259, ptr %t4694 + %t4695 = add i32 %t4681, 1 + store i32 %t4695, ptr %t4678 + %t4696 = load ptr, ptr %t410 + %t4697 = getelementptr inbounds %LSlice, ptr %t4696, i32 0, i32 1 + %t4698 = getelementptr inbounds %LSlice, ptr %t4696, i32 0, i32 2 + %t4699 = getelementptr inbounds %LSlice, ptr %t4696, i32 0, i32 0 + %t4700 = load i32, ptr %t4697 + %t4701 = load i32, ptr %t4698 + %t4702 = icmp sge i32 %t4700, %t4701 + br i1 %t4702, label %grow943, label %put944 +grow943: + %t4703 = mul i32 %t4701, 2 + %t4704 = icmp eq i32 %t4701, 0 + %t4705 = select i1 %t4704, i32 8, i32 %t4703 + %t4706 = getelementptr ptr, ptr null, i32 1 + %t4707 = ptrtoint ptr %t4706 to i64 + %t4708 = zext i32 %t4705 to i64 + %t4709 = mul i64 %t4708, %t4707 + %t4710 = load ptr, ptr %t4699 + %t4711 = call ptr @realloc(ptr %t4710, i64 %t4709) + store ptr %t4711, ptr %t4699 + store i32 %t4705, ptr %t4698 + br label %put944 +put944: + %t4712 = load ptr, ptr %t4699 + %t4713 = getelementptr inbounds ptr, ptr %t4712, i32 %t4700 + store ptr @.str7260, ptr %t4713 + %t4714 = add i32 %t4700, 1 + store i32 %t4714, ptr %t4697 + br label %ifend940 +ifend940: + %t4715 = load ptr, ptr %t1 + %t4716 = call i32 @lp_str_eq(ptr %t4715, ptr @.str7261) + %t4717 = icmp ne i32 %t4716, 0 + br i1 %t4717, label %then945, label %ifend947 +then945: + store ptr @.str7262, ptr %t403 + %t4718 = load ptr, ptr %t410 + %t4719 = getelementptr inbounds %LSlice, ptr %t4718, i32 0, i32 1 + %t4720 = getelementptr inbounds %LSlice, ptr %t4718, i32 0, i32 2 + %t4721 = getelementptr inbounds %LSlice, ptr %t4718, i32 0, i32 0 + %t4722 = load i32, ptr %t4719 + %t4723 = load i32, ptr %t4720 + %t4724 = icmp sge i32 %t4722, %t4723 + br i1 %t4724, label %grow948, label %put949 +grow948: + %t4725 = mul i32 %t4723, 2 + %t4726 = icmp eq i32 %t4723, 0 + %t4727 = select i1 %t4726, i32 8, i32 %t4725 + %t4728 = getelementptr ptr, ptr null, i32 1 + %t4729 = ptrtoint ptr %t4728 to i64 + %t4730 = zext i32 %t4727 to i64 + %t4731 = mul i64 %t4730, %t4729 + %t4732 = load ptr, ptr %t4721 + %t4733 = call ptr @realloc(ptr %t4732, i64 %t4731) + store ptr %t4733, ptr %t4721 + store i32 %t4727, ptr %t4720 + br label %put949 +put949: + %t4734 = load ptr, ptr %t4721 + %t4735 = getelementptr inbounds ptr, ptr %t4734, i32 %t4722 + store ptr @.str7263, ptr %t4735 + %t4736 = add i32 %t4722, 1 + store i32 %t4736, ptr %t4719 + %t4737 = load ptr, ptr %t410 + %t4738 = getelementptr inbounds %LSlice, ptr %t4737, i32 0, i32 1 + %t4739 = getelementptr inbounds %LSlice, ptr %t4737, i32 0, i32 2 + %t4740 = getelementptr inbounds %LSlice, ptr %t4737, i32 0, i32 0 + %t4741 = load i32, ptr %t4738 + %t4742 = load i32, ptr %t4739 + %t4743 = icmp sge i32 %t4741, %t4742 + br i1 %t4743, label %grow950, label %put951 +grow950: + %t4744 = mul i32 %t4742, 2 + %t4745 = icmp eq i32 %t4742, 0 + %t4746 = select i1 %t4745, i32 8, i32 %t4744 + %t4747 = getelementptr ptr, ptr null, i32 1 + %t4748 = ptrtoint ptr %t4747 to i64 + %t4749 = zext i32 %t4746 to i64 + %t4750 = mul i64 %t4749, %t4748 + %t4751 = load ptr, ptr %t4740 + %t4752 = call ptr @realloc(ptr %t4751, i64 %t4750) + store ptr %t4752, ptr %t4740 + store i32 %t4746, ptr %t4739 + br label %put951 +put951: + %t4753 = load ptr, ptr %t4740 + %t4754 = getelementptr inbounds ptr, ptr %t4753, i32 %t4741 + store ptr @.str7264, ptr %t4754 + %t4755 = add i32 %t4741, 1 + store i32 %t4755, ptr %t4738 + %t4756 = load ptr, ptr %t410 + %t4757 = getelementptr inbounds %LSlice, ptr %t4756, i32 0, i32 1 + %t4758 = getelementptr inbounds %LSlice, ptr %t4756, i32 0, i32 2 + %t4759 = getelementptr inbounds %LSlice, ptr %t4756, i32 0, i32 0 + %t4760 = load i32, ptr %t4757 + %t4761 = load i32, ptr %t4758 + %t4762 = icmp sge i32 %t4760, %t4761 + br i1 %t4762, label %grow952, label %put953 +grow952: + %t4763 = mul i32 %t4761, 2 + %t4764 = icmp eq i32 %t4761, 0 + %t4765 = select i1 %t4764, i32 8, i32 %t4763 + %t4766 = getelementptr ptr, ptr null, i32 1 + %t4767 = ptrtoint ptr %t4766 to i64 + %t4768 = zext i32 %t4765 to i64 + %t4769 = mul i64 %t4768, %t4767 + %t4770 = load ptr, ptr %t4759 + %t4771 = call ptr @realloc(ptr %t4770, i64 %t4769) + store ptr %t4771, ptr %t4759 + store i32 %t4765, ptr %t4758 + br label %put953 +put953: + %t4772 = load ptr, ptr %t4759 + %t4773 = getelementptr inbounds ptr, ptr %t4772, i32 %t4760 + store ptr @.str7265, ptr %t4773 + %t4774 = add i32 %t4760, 1 + store i32 %t4774, ptr %t4757 + br label %ifend947 +ifend947: + %t4775 = load ptr, ptr %t1 + %t4776 = call i32 @lp_str_eq(ptr %t4775, ptr @.str7266) + %t4777 = icmp ne i32 %t4776, 0 + br i1 %t4777, label %then954, label %ifend956 +then954: + store ptr @.str7267, ptr %t403 + br label %ifend956 +ifend956: + %t4778 = load ptr, ptr %t1 + %t4779 = call i32 @lp_str_eq(ptr %t4778, ptr @.str7268) + %t4780 = icmp ne i32 %t4779, 0 + br i1 %t4780, label %then957, label %ifend959 +then957: + store ptr @.str7269, ptr %t403 + br label %ifend959 +ifend959: + %t4781 = load ptr, ptr %t1 + %t4782 = call i32 @lp_str_eq(ptr %t4781, ptr @.str7270) + %t4783 = icmp ne i32 %t4782, 0 + br i1 %t4783, label %then960, label %ifend962 +then960: + store ptr @.str7271, ptr %t403 + br label %ifend962 +ifend962: + %t4784 = load ptr, ptr %t1 + %t4785 = call i32 @lp_str_eq(ptr %t4784, ptr @.str7272) + %t4786 = icmp ne i32 %t4785, 0 + br i1 %t4786, label %then963, label %ifend965 +then963: + store ptr @.str7273, ptr %t403 + br label %ifend965 +ifend965: + %t4787 = load ptr, ptr %t1 + %t4788 = call i32 @lp_str_eq(ptr %t4787, ptr @.str7274) + %t4789 = icmp ne i32 %t4788, 0 + br i1 %t4789, label %then966, label %ifend968 +then966: + store ptr @.str7275, ptr %t403 + br label %ifend968 +ifend968: + %t4790 = load ptr, ptr %t1 + %t4791 = call i32 @lp_str_eq(ptr %t4790, ptr @.str7276) + %t4792 = icmp ne i32 %t4791, 0 + br i1 %t4792, label %then969, label %ifend971 +then969: + store ptr @.str7277, ptr %t403 + %t4793 = load ptr, ptr %t410 + %t4794 = getelementptr inbounds %LSlice, ptr %t4793, i32 0, i32 1 + %t4795 = getelementptr inbounds %LSlice, ptr %t4793, i32 0, i32 2 + %t4796 = getelementptr inbounds %LSlice, ptr %t4793, i32 0, i32 0 + %t4797 = load i32, ptr %t4794 + %t4798 = load i32, ptr %t4795 + %t4799 = icmp sge i32 %t4797, %t4798 + br i1 %t4799, label %grow972, label %put973 +grow972: + %t4800 = mul i32 %t4798, 2 + %t4801 = icmp eq i32 %t4798, 0 + %t4802 = select i1 %t4801, i32 8, i32 %t4800 + %t4803 = getelementptr ptr, ptr null, i32 1 + %t4804 = ptrtoint ptr %t4803 to i64 + %t4805 = zext i32 %t4802 to i64 + %t4806 = mul i64 %t4805, %t4804 + %t4807 = load ptr, ptr %t4796 + %t4808 = call ptr @realloc(ptr %t4807, i64 %t4806) + store ptr %t4808, ptr %t4796 + store i32 %t4802, ptr %t4795 + br label %put973 +put973: + %t4809 = load ptr, ptr %t4796 + %t4810 = getelementptr inbounds ptr, ptr %t4809, i32 %t4797 + store ptr @.str7278, ptr %t4810 + %t4811 = add i32 %t4797, 1 + store i32 %t4811, ptr %t4794 + %t4812 = load ptr, ptr %t410 + %t4813 = getelementptr inbounds %LSlice, ptr %t4812, i32 0, i32 1 + %t4814 = getelementptr inbounds %LSlice, ptr %t4812, i32 0, i32 2 + %t4815 = getelementptr inbounds %LSlice, ptr %t4812, i32 0, i32 0 + %t4816 = load i32, ptr %t4813 + %t4817 = load i32, ptr %t4814 + %t4818 = icmp sge i32 %t4816, %t4817 + br i1 %t4818, label %grow974, label %put975 +grow974: + %t4819 = mul i32 %t4817, 2 + %t4820 = icmp eq i32 %t4817, 0 + %t4821 = select i1 %t4820, i32 8, i32 %t4819 + %t4822 = getelementptr ptr, ptr null, i32 1 + %t4823 = ptrtoint ptr %t4822 to i64 + %t4824 = zext i32 %t4821 to i64 + %t4825 = mul i64 %t4824, %t4823 + %t4826 = load ptr, ptr %t4815 + %t4827 = call ptr @realloc(ptr %t4826, i64 %t4825) + store ptr %t4827, ptr %t4815 + store i32 %t4821, ptr %t4814 + br label %put975 +put975: + %t4828 = load ptr, ptr %t4815 + %t4829 = getelementptr inbounds ptr, ptr %t4828, i32 %t4816 + store ptr @.str7279, ptr %t4829 + %t4830 = add i32 %t4816, 1 + store i32 %t4830, ptr %t4813 + br label %ifend971 +ifend971: + %t4831 = load ptr, ptr %t1 + %t4832 = call i32 @lp_str_eq(ptr %t4831, ptr @.str7280) + %t4833 = icmp ne i32 %t4832, 0 + br i1 %t4833, label %then976, label %ifend978 +then976: + store ptr @.str7281, ptr %t403 + %t4834 = load ptr, ptr %t410 + %t4835 = getelementptr inbounds %LSlice, ptr %t4834, i32 0, i32 1 + %t4836 = getelementptr inbounds %LSlice, ptr %t4834, i32 0, i32 2 + %t4837 = getelementptr inbounds %LSlice, ptr %t4834, i32 0, i32 0 + %t4838 = load i32, ptr %t4835 + %t4839 = load i32, ptr %t4836 + %t4840 = icmp sge i32 %t4838, %t4839 + br i1 %t4840, label %grow979, label %put980 +grow979: + %t4841 = mul i32 %t4839, 2 + %t4842 = icmp eq i32 %t4839, 0 + %t4843 = select i1 %t4842, i32 8, i32 %t4841 + %t4844 = getelementptr ptr, ptr null, i32 1 + %t4845 = ptrtoint ptr %t4844 to i64 + %t4846 = zext i32 %t4843 to i64 + %t4847 = mul i64 %t4846, %t4845 + %t4848 = load ptr, ptr %t4837 + %t4849 = call ptr @realloc(ptr %t4848, i64 %t4847) + store ptr %t4849, ptr %t4837 + store i32 %t4843, ptr %t4836 + br label %put980 +put980: + %t4850 = load ptr, ptr %t4837 + %t4851 = getelementptr inbounds ptr, ptr %t4850, i32 %t4838 + store ptr @.str7282, ptr %t4851 + %t4852 = add i32 %t4838, 1 + store i32 %t4852, ptr %t4835 + %t4853 = load ptr, ptr %t410 + %t4854 = getelementptr inbounds %LSlice, ptr %t4853, i32 0, i32 1 + %t4855 = getelementptr inbounds %LSlice, ptr %t4853, i32 0, i32 2 + %t4856 = getelementptr inbounds %LSlice, ptr %t4853, i32 0, i32 0 + %t4857 = load i32, ptr %t4854 + %t4858 = load i32, ptr %t4855 + %t4859 = icmp sge i32 %t4857, %t4858 + br i1 %t4859, label %grow981, label %put982 +grow981: + %t4860 = mul i32 %t4858, 2 + %t4861 = icmp eq i32 %t4858, 0 + %t4862 = select i1 %t4861, i32 8, i32 %t4860 + %t4863 = getelementptr ptr, ptr null, i32 1 + %t4864 = ptrtoint ptr %t4863 to i64 + %t4865 = zext i32 %t4862 to i64 + %t4866 = mul i64 %t4865, %t4864 + %t4867 = load ptr, ptr %t4856 + %t4868 = call ptr @realloc(ptr %t4867, i64 %t4866) + store ptr %t4868, ptr %t4856 + store i32 %t4862, ptr %t4855 + br label %put982 +put982: + %t4869 = load ptr, ptr %t4856 + %t4870 = getelementptr inbounds ptr, ptr %t4869, i32 %t4857 + store ptr @.str7283, ptr %t4870 + %t4871 = add i32 %t4857, 1 + store i32 %t4871, ptr %t4854 + br label %ifend978 +ifend978: + %t4872 = load ptr, ptr %t1 + %t4873 = call i32 @lp_str_eq(ptr %t4872, ptr @.str7284) + %t4874 = icmp ne i32 %t4873, 0 + br i1 %t4874, label %then983, label %ifend985 +then983: + store ptr @.str7285, ptr %t403 + %t4875 = load ptr, ptr %t410 + %t4876 = getelementptr inbounds %LSlice, ptr %t4875, i32 0, i32 1 + %t4877 = getelementptr inbounds %LSlice, ptr %t4875, i32 0, i32 2 + %t4878 = getelementptr inbounds %LSlice, ptr %t4875, i32 0, i32 0 + %t4879 = load i32, ptr %t4876 + %t4880 = load i32, ptr %t4877 + %t4881 = icmp sge i32 %t4879, %t4880 + br i1 %t4881, label %grow986, label %put987 +grow986: + %t4882 = mul i32 %t4880, 2 + %t4883 = icmp eq i32 %t4880, 0 + %t4884 = select i1 %t4883, i32 8, i32 %t4882 + %t4885 = getelementptr ptr, ptr null, i32 1 + %t4886 = ptrtoint ptr %t4885 to i64 + %t4887 = zext i32 %t4884 to i64 + %t4888 = mul i64 %t4887, %t4886 + %t4889 = load ptr, ptr %t4878 + %t4890 = call ptr @realloc(ptr %t4889, i64 %t4888) + store ptr %t4890, ptr %t4878 + store i32 %t4884, ptr %t4877 + br label %put987 +put987: + %t4891 = load ptr, ptr %t4878 + %t4892 = getelementptr inbounds ptr, ptr %t4891, i32 %t4879 + store ptr @.str7286, ptr %t4892 + %t4893 = add i32 %t4879, 1 + store i32 %t4893, ptr %t4876 + br label %ifend985 +ifend985: + %t4894 = load ptr, ptr %t1 + %t4895 = call i32 @lp_str_eq(ptr %t4894, ptr @.str7287) + %t4896 = icmp ne i32 %t4895, 0 + br i1 %t4896, label %then988, label %ifend990 +then988: + store ptr @.str7288, ptr %t403 + %t4897 = load ptr, ptr %t410 + %t4898 = getelementptr inbounds %LSlice, ptr %t4897, i32 0, i32 1 + %t4899 = getelementptr inbounds %LSlice, ptr %t4897, i32 0, i32 2 + %t4900 = getelementptr inbounds %LSlice, ptr %t4897, i32 0, i32 0 + %t4901 = load i32, ptr %t4898 + %t4902 = load i32, ptr %t4899 + %t4903 = icmp sge i32 %t4901, %t4902 + br i1 %t4903, label %grow991, label %put992 +grow991: + %t4904 = mul i32 %t4902, 2 + %t4905 = icmp eq i32 %t4902, 0 + %t4906 = select i1 %t4905, i32 8, i32 %t4904 + %t4907 = getelementptr ptr, ptr null, i32 1 + %t4908 = ptrtoint ptr %t4907 to i64 + %t4909 = zext i32 %t4906 to i64 + %t4910 = mul i64 %t4909, %t4908 + %t4911 = load ptr, ptr %t4900 + %t4912 = call ptr @realloc(ptr %t4911, i64 %t4910) + store ptr %t4912, ptr %t4900 + store i32 %t4906, ptr %t4899 + br label %put992 +put992: + %t4913 = load ptr, ptr %t4900 + %t4914 = getelementptr inbounds ptr, ptr %t4913, i32 %t4901 + store ptr @.str7289, ptr %t4914 + %t4915 = add i32 %t4901, 1 + store i32 %t4915, ptr %t4898 + br label %ifend990 +ifend990: + %t4916 = load ptr, ptr %t1 + %t4917 = call i32 @lp_str_eq(ptr %t4916, ptr @.str7290) + %t4918 = icmp ne i32 %t4917, 0 + br i1 %t4918, label %then993, label %ifend995 +then993: + store ptr @.str7291, ptr %t403 + %t4919 = load ptr, ptr %t410 + %t4920 = getelementptr inbounds %LSlice, ptr %t4919, i32 0, i32 1 + %t4921 = getelementptr inbounds %LSlice, ptr %t4919, i32 0, i32 2 + %t4922 = getelementptr inbounds %LSlice, ptr %t4919, i32 0, i32 0 + %t4923 = load i32, ptr %t4920 + %t4924 = load i32, ptr %t4921 + %t4925 = icmp sge i32 %t4923, %t4924 + br i1 %t4925, label %grow996, label %put997 +grow996: + %t4926 = mul i32 %t4924, 2 + %t4927 = icmp eq i32 %t4924, 0 + %t4928 = select i1 %t4927, i32 8, i32 %t4926 + %t4929 = getelementptr ptr, ptr null, i32 1 + %t4930 = ptrtoint ptr %t4929 to i64 + %t4931 = zext i32 %t4928 to i64 + %t4932 = mul i64 %t4931, %t4930 + %t4933 = load ptr, ptr %t4922 + %t4934 = call ptr @realloc(ptr %t4933, i64 %t4932) + store ptr %t4934, ptr %t4922 + store i32 %t4928, ptr %t4921 + br label %put997 +put997: + %t4935 = load ptr, ptr %t4922 + %t4936 = getelementptr inbounds ptr, ptr %t4935, i32 %t4923 + store ptr @.str7292, ptr %t4936 + %t4937 = add i32 %t4923, 1 + store i32 %t4937, ptr %t4920 + br label %ifend995 +ifend995: + %t4938 = load ptr, ptr %t1 + %t4939 = call i32 @lp_str_eq(ptr %t4938, ptr @.str7293) + %t4940 = icmp ne i32 %t4939, 0 + br i1 %t4940, label %then998, label %ifend1000 +then998: + store ptr @.str7294, ptr %t403 + %t4941 = load ptr, ptr %t410 + %t4942 = getelementptr inbounds %LSlice, ptr %t4941, i32 0, i32 1 + %t4943 = getelementptr inbounds %LSlice, ptr %t4941, i32 0, i32 2 + %t4944 = getelementptr inbounds %LSlice, ptr %t4941, i32 0, i32 0 + %t4945 = load i32, ptr %t4942 + %t4946 = load i32, ptr %t4943 + %t4947 = icmp sge i32 %t4945, %t4946 + br i1 %t4947, label %grow1001, label %put1002 +grow1001: + %t4948 = mul i32 %t4946, 2 + %t4949 = icmp eq i32 %t4946, 0 + %t4950 = select i1 %t4949, i32 8, i32 %t4948 + %t4951 = getelementptr ptr, ptr null, i32 1 + %t4952 = ptrtoint ptr %t4951 to i64 + %t4953 = zext i32 %t4950 to i64 + %t4954 = mul i64 %t4953, %t4952 + %t4955 = load ptr, ptr %t4944 + %t4956 = call ptr @realloc(ptr %t4955, i64 %t4954) + store ptr %t4956, ptr %t4944 + store i32 %t4950, ptr %t4943 + br label %put1002 +put1002: + %t4957 = load ptr, ptr %t4944 + %t4958 = getelementptr inbounds ptr, ptr %t4957, i32 %t4945 + store ptr @.str7295, ptr %t4958 + %t4959 = add i32 %t4945, 1 + store i32 %t4959, ptr %t4942 + br label %ifend1000 +ifend1000: + %t4960 = load ptr, ptr %t1 + %t4961 = call i32 @lp_str_eq(ptr %t4960, ptr @.str7296) + %t4962 = icmp ne i32 %t4961, 0 + br i1 %t4962, label %then1003, label %ifend1005 +then1003: + store ptr @.str7297, ptr %t403 + %t4963 = load ptr, ptr %t410 + %t4964 = getelementptr inbounds %LSlice, ptr %t4963, i32 0, i32 1 + %t4965 = getelementptr inbounds %LSlice, ptr %t4963, i32 0, i32 2 + %t4966 = getelementptr inbounds %LSlice, ptr %t4963, i32 0, i32 0 + %t4967 = load i32, ptr %t4964 + %t4968 = load i32, ptr %t4965 + %t4969 = icmp sge i32 %t4967, %t4968 + br i1 %t4969, label %grow1006, label %put1007 +grow1006: + %t4970 = mul i32 %t4968, 2 + %t4971 = icmp eq i32 %t4968, 0 + %t4972 = select i1 %t4971, i32 8, i32 %t4970 + %t4973 = getelementptr ptr, ptr null, i32 1 + %t4974 = ptrtoint ptr %t4973 to i64 + %t4975 = zext i32 %t4972 to i64 + %t4976 = mul i64 %t4975, %t4974 + %t4977 = load ptr, ptr %t4966 + %t4978 = call ptr @realloc(ptr %t4977, i64 %t4976) + store ptr %t4978, ptr %t4966 + store i32 %t4972, ptr %t4965 + br label %put1007 +put1007: + %t4979 = load ptr, ptr %t4966 + %t4980 = getelementptr inbounds ptr, ptr %t4979, i32 %t4967 + store ptr @.str7298, ptr %t4980 + %t4981 = add i32 %t4967, 1 + store i32 %t4981, ptr %t4964 + br label %ifend1005 +ifend1005: + %t4982 = load ptr, ptr %t1 + %t4983 = call i32 @lp_str_eq(ptr %t4982, ptr @.str7299) + %t4984 = icmp ne i32 %t4983, 0 + br i1 %t4984, label %then1008, label %ifend1010 +then1008: + store ptr @.str7300, ptr %t403 + %t4985 = load ptr, ptr %t410 + %t4986 = getelementptr inbounds %LSlice, ptr %t4985, i32 0, i32 1 + %t4987 = getelementptr inbounds %LSlice, ptr %t4985, i32 0, i32 2 + %t4988 = getelementptr inbounds %LSlice, ptr %t4985, i32 0, i32 0 + %t4989 = load i32, ptr %t4986 + %t4990 = load i32, ptr %t4987 + %t4991 = icmp sge i32 %t4989, %t4990 + br i1 %t4991, label %grow1011, label %put1012 +grow1011: + %t4992 = mul i32 %t4990, 2 + %t4993 = icmp eq i32 %t4990, 0 + %t4994 = select i1 %t4993, i32 8, i32 %t4992 + %t4995 = getelementptr ptr, ptr null, i32 1 + %t4996 = ptrtoint ptr %t4995 to i64 + %t4997 = zext i32 %t4994 to i64 + %t4998 = mul i64 %t4997, %t4996 + %t4999 = load ptr, ptr %t4988 + %t5000 = call ptr @realloc(ptr %t4999, i64 %t4998) + store ptr %t5000, ptr %t4988 + store i32 %t4994, ptr %t4987 + br label %put1012 +put1012: + %t5001 = load ptr, ptr %t4988 + %t5002 = getelementptr inbounds ptr, ptr %t5001, i32 %t4989 + store ptr @.str7301, ptr %t5002 + %t5003 = add i32 %t4989, 1 + store i32 %t5003, ptr %t4986 + br label %ifend1010 +ifend1010: + %t5004 = load ptr, ptr %t1 + %t5005 = call i32 @lp_str_eq(ptr %t5004, ptr @.str7302) + %t5006 = icmp ne i32 %t5005, 0 + br i1 %t5006, label %then1013, label %ifend1015 +then1013: + store ptr @.str7303, ptr %t403 + %t5007 = load ptr, ptr %t410 + %t5008 = getelementptr inbounds %LSlice, ptr %t5007, i32 0, i32 1 + %t5009 = getelementptr inbounds %LSlice, ptr %t5007, i32 0, i32 2 + %t5010 = getelementptr inbounds %LSlice, ptr %t5007, i32 0, i32 0 + %t5011 = load i32, ptr %t5008 + %t5012 = load i32, ptr %t5009 + %t5013 = icmp sge i32 %t5011, %t5012 + br i1 %t5013, label %grow1016, label %put1017 +grow1016: + %t5014 = mul i32 %t5012, 2 + %t5015 = icmp eq i32 %t5012, 0 + %t5016 = select i1 %t5015, i32 8, i32 %t5014 + %t5017 = getelementptr ptr, ptr null, i32 1 + %t5018 = ptrtoint ptr %t5017 to i64 + %t5019 = zext i32 %t5016 to i64 + %t5020 = mul i64 %t5019, %t5018 + %t5021 = load ptr, ptr %t5010 + %t5022 = call ptr @realloc(ptr %t5021, i64 %t5020) + store ptr %t5022, ptr %t5010 + store i32 %t5016, ptr %t5009 + br label %put1017 +put1017: + %t5023 = load ptr, ptr %t5010 + %t5024 = getelementptr inbounds ptr, ptr %t5023, i32 %t5011 + store ptr @.str7304, ptr %t5024 + %t5025 = add i32 %t5011, 1 + store i32 %t5025, ptr %t5008 + br label %ifend1015 +ifend1015: + %t5026 = load ptr, ptr %t1 + %t5027 = call i32 @lp_str_eq(ptr %t5026, ptr @.str7305) + %t5028 = icmp ne i32 %t5027, 0 + br i1 %t5028, label %then1018, label %ifend1020 +then1018: + store ptr @.str7306, ptr %t403 + %t5029 = load ptr, ptr %t410 + %t5030 = getelementptr inbounds %LSlice, ptr %t5029, i32 0, i32 1 + %t5031 = getelementptr inbounds %LSlice, ptr %t5029, i32 0, i32 2 + %t5032 = getelementptr inbounds %LSlice, ptr %t5029, i32 0, i32 0 + %t5033 = load i32, ptr %t5030 + %t5034 = load i32, ptr %t5031 + %t5035 = icmp sge i32 %t5033, %t5034 + br i1 %t5035, label %grow1021, label %put1022 +grow1021: + %t5036 = mul i32 %t5034, 2 + %t5037 = icmp eq i32 %t5034, 0 + %t5038 = select i1 %t5037, i32 8, i32 %t5036 + %t5039 = getelementptr ptr, ptr null, i32 1 + %t5040 = ptrtoint ptr %t5039 to i64 + %t5041 = zext i32 %t5038 to i64 + %t5042 = mul i64 %t5041, %t5040 + %t5043 = load ptr, ptr %t5032 + %t5044 = call ptr @realloc(ptr %t5043, i64 %t5042) + store ptr %t5044, ptr %t5032 + store i32 %t5038, ptr %t5031 + br label %put1022 +put1022: + %t5045 = load ptr, ptr %t5032 + %t5046 = getelementptr inbounds ptr, ptr %t5045, i32 %t5033 + store ptr @.str7307, ptr %t5046 + %t5047 = add i32 %t5033, 1 + store i32 %t5047, ptr %t5030 + br label %ifend1020 +ifend1020: + %t5048 = load ptr, ptr %t1 + %t5049 = call i32 @lp_str_eq(ptr %t5048, ptr @.str7308) + %t5050 = icmp ne i32 %t5049, 0 + br i1 %t5050, label %then1023, label %ifend1025 +then1023: + store ptr @.str7309, ptr %t403 + %t5051 = load ptr, ptr %t410 + %t5052 = getelementptr inbounds %LSlice, ptr %t5051, i32 0, i32 1 + %t5053 = getelementptr inbounds %LSlice, ptr %t5051, i32 0, i32 2 + %t5054 = getelementptr inbounds %LSlice, ptr %t5051, i32 0, i32 0 + %t5055 = load i32, ptr %t5052 + %t5056 = load i32, ptr %t5053 + %t5057 = icmp sge i32 %t5055, %t5056 + br i1 %t5057, label %grow1026, label %put1027 +grow1026: + %t5058 = mul i32 %t5056, 2 + %t5059 = icmp eq i32 %t5056, 0 + %t5060 = select i1 %t5059, i32 8, i32 %t5058 + %t5061 = getelementptr ptr, ptr null, i32 1 + %t5062 = ptrtoint ptr %t5061 to i64 + %t5063 = zext i32 %t5060 to i64 + %t5064 = mul i64 %t5063, %t5062 + %t5065 = load ptr, ptr %t5054 + %t5066 = call ptr @realloc(ptr %t5065, i64 %t5064) + store ptr %t5066, ptr %t5054 + store i32 %t5060, ptr %t5053 + br label %put1027 +put1027: + %t5067 = load ptr, ptr %t5054 + %t5068 = getelementptr inbounds ptr, ptr %t5067, i32 %t5055 + store ptr @.str7310, ptr %t5068 + %t5069 = add i32 %t5055, 1 + store i32 %t5069, ptr %t5052 + %t5070 = load ptr, ptr %t410 + %t5071 = getelementptr inbounds %LSlice, ptr %t5070, i32 0, i32 1 + %t5072 = getelementptr inbounds %LSlice, ptr %t5070, i32 0, i32 2 + %t5073 = getelementptr inbounds %LSlice, ptr %t5070, i32 0, i32 0 + %t5074 = load i32, ptr %t5071 + %t5075 = load i32, ptr %t5072 + %t5076 = icmp sge i32 %t5074, %t5075 + br i1 %t5076, label %grow1028, label %put1029 +grow1028: + %t5077 = mul i32 %t5075, 2 + %t5078 = icmp eq i32 %t5075, 0 + %t5079 = select i1 %t5078, i32 8, i32 %t5077 + %t5080 = getelementptr ptr, ptr null, i32 1 + %t5081 = ptrtoint ptr %t5080 to i64 + %t5082 = zext i32 %t5079 to i64 + %t5083 = mul i64 %t5082, %t5081 + %t5084 = load ptr, ptr %t5073 + %t5085 = call ptr @realloc(ptr %t5084, i64 %t5083) + store ptr %t5085, ptr %t5073 + store i32 %t5079, ptr %t5072 + br label %put1029 +put1029: + %t5086 = load ptr, ptr %t5073 + %t5087 = getelementptr inbounds ptr, ptr %t5086, i32 %t5074 + store ptr @.str7311, ptr %t5087 + %t5088 = add i32 %t5074, 1 + store i32 %t5088, ptr %t5071 + br label %ifend1025 +ifend1025: + %t5089 = load ptr, ptr %t1 + %t5090 = call i32 @lp_str_eq(ptr %t5089, ptr @.str7312) + %t5091 = icmp ne i32 %t5090, 0 + br i1 %t5091, label %then1030, label %ifend1032 +then1030: + store ptr @.str7313, ptr %t403 + %t5092 = load ptr, ptr %t410 + %t5093 = getelementptr inbounds %LSlice, ptr %t5092, i32 0, i32 1 + %t5094 = getelementptr inbounds %LSlice, ptr %t5092, i32 0, i32 2 + %t5095 = getelementptr inbounds %LSlice, ptr %t5092, i32 0, i32 0 + %t5096 = load i32, ptr %t5093 + %t5097 = load i32, ptr %t5094 + %t5098 = icmp sge i32 %t5096, %t5097 + br i1 %t5098, label %grow1033, label %put1034 +grow1033: + %t5099 = mul i32 %t5097, 2 + %t5100 = icmp eq i32 %t5097, 0 + %t5101 = select i1 %t5100, i32 8, i32 %t5099 + %t5102 = getelementptr ptr, ptr null, i32 1 + %t5103 = ptrtoint ptr %t5102 to i64 + %t5104 = zext i32 %t5101 to i64 + %t5105 = mul i64 %t5104, %t5103 + %t5106 = load ptr, ptr %t5095 + %t5107 = call ptr @realloc(ptr %t5106, i64 %t5105) + store ptr %t5107, ptr %t5095 + store i32 %t5101, ptr %t5094 + br label %put1034 +put1034: + %t5108 = load ptr, ptr %t5095 + %t5109 = getelementptr inbounds ptr, ptr %t5108, i32 %t5096 + store ptr @.str7314, ptr %t5109 + %t5110 = add i32 %t5096, 1 + store i32 %t5110, ptr %t5093 + %t5111 = load ptr, ptr %t410 + %t5112 = getelementptr inbounds %LSlice, ptr %t5111, i32 0, i32 1 + %t5113 = getelementptr inbounds %LSlice, ptr %t5111, i32 0, i32 2 + %t5114 = getelementptr inbounds %LSlice, ptr %t5111, i32 0, i32 0 + %t5115 = load i32, ptr %t5112 + %t5116 = load i32, ptr %t5113 + %t5117 = icmp sge i32 %t5115, %t5116 + br i1 %t5117, label %grow1035, label %put1036 +grow1035: + %t5118 = mul i32 %t5116, 2 + %t5119 = icmp eq i32 %t5116, 0 + %t5120 = select i1 %t5119, i32 8, i32 %t5118 + %t5121 = getelementptr ptr, ptr null, i32 1 + %t5122 = ptrtoint ptr %t5121 to i64 + %t5123 = zext i32 %t5120 to i64 + %t5124 = mul i64 %t5123, %t5122 + %t5125 = load ptr, ptr %t5114 + %t5126 = call ptr @realloc(ptr %t5125, i64 %t5124) + store ptr %t5126, ptr %t5114 + store i32 %t5120, ptr %t5113 + br label %put1036 +put1036: + %t5127 = load ptr, ptr %t5114 + %t5128 = getelementptr inbounds ptr, ptr %t5127, i32 %t5115 + store ptr @.str7315, ptr %t5128 + %t5129 = add i32 %t5115, 1 + store i32 %t5129, ptr %t5112 + br label %ifend1032 +ifend1032: + %t5130 = load ptr, ptr %t1 + %t5131 = call i32 @lp_str_eq(ptr %t5130, ptr @.str7316) + %t5132 = icmp ne i32 %t5131, 0 + br i1 %t5132, label %then1037, label %ifend1039 +then1037: + store ptr @.str7317, ptr %t403 + br label %ifend1039 +ifend1039: + %t5133 = load ptr, ptr %t1 + %t5134 = call i32 @lp_str_eq(ptr %t5133, ptr @.str7318) + %t5135 = icmp ne i32 %t5134, 0 + br i1 %t5135, label %then1040, label %ifend1042 +then1040: + store ptr @.str7319, ptr %t403 + %t5136 = load ptr, ptr %t410 + %t5137 = getelementptr inbounds %LSlice, ptr %t5136, i32 0, i32 1 + %t5138 = getelementptr inbounds %LSlice, ptr %t5136, i32 0, i32 2 + %t5139 = getelementptr inbounds %LSlice, ptr %t5136, i32 0, i32 0 + %t5140 = load i32, ptr %t5137 + %t5141 = load i32, ptr %t5138 + %t5142 = icmp sge i32 %t5140, %t5141 + br i1 %t5142, label %grow1043, label %put1044 +grow1043: + %t5143 = mul i32 %t5141, 2 + %t5144 = icmp eq i32 %t5141, 0 + %t5145 = select i1 %t5144, i32 8, i32 %t5143 + %t5146 = getelementptr ptr, ptr null, i32 1 + %t5147 = ptrtoint ptr %t5146 to i64 + %t5148 = zext i32 %t5145 to i64 + %t5149 = mul i64 %t5148, %t5147 + %t5150 = load ptr, ptr %t5139 + %t5151 = call ptr @realloc(ptr %t5150, i64 %t5149) + store ptr %t5151, ptr %t5139 + store i32 %t5145, ptr %t5138 + br label %put1044 +put1044: + %t5152 = load ptr, ptr %t5139 + %t5153 = getelementptr inbounds ptr, ptr %t5152, i32 %t5140 + store ptr @.str7320, ptr %t5153 + %t5154 = add i32 %t5140, 1 + store i32 %t5154, ptr %t5137 + %t5155 = load ptr, ptr %t410 + %t5156 = getelementptr inbounds %LSlice, ptr %t5155, i32 0, i32 1 + %t5157 = getelementptr inbounds %LSlice, ptr %t5155, i32 0, i32 2 + %t5158 = getelementptr inbounds %LSlice, ptr %t5155, i32 0, i32 0 + %t5159 = load i32, ptr %t5156 + %t5160 = load i32, ptr %t5157 + %t5161 = icmp sge i32 %t5159, %t5160 + br i1 %t5161, label %grow1045, label %put1046 +grow1045: + %t5162 = mul i32 %t5160, 2 + %t5163 = icmp eq i32 %t5160, 0 + %t5164 = select i1 %t5163, i32 8, i32 %t5162 + %t5165 = getelementptr ptr, ptr null, i32 1 + %t5166 = ptrtoint ptr %t5165 to i64 + %t5167 = zext i32 %t5164 to i64 + %t5168 = mul i64 %t5167, %t5166 + %t5169 = load ptr, ptr %t5158 + %t5170 = call ptr @realloc(ptr %t5169, i64 %t5168) + store ptr %t5170, ptr %t5158 + store i32 %t5164, ptr %t5157 + br label %put1046 +put1046: + %t5171 = load ptr, ptr %t5158 + %t5172 = getelementptr inbounds ptr, ptr %t5171, i32 %t5159 + store ptr @.str7321, ptr %t5172 + %t5173 = add i32 %t5159, 1 + store i32 %t5173, ptr %t5156 + %t5174 = load ptr, ptr %t410 + %t5175 = getelementptr inbounds %LSlice, ptr %t5174, i32 0, i32 1 + %t5176 = getelementptr inbounds %LSlice, ptr %t5174, i32 0, i32 2 + %t5177 = getelementptr inbounds %LSlice, ptr %t5174, i32 0, i32 0 + %t5178 = load i32, ptr %t5175 + %t5179 = load i32, ptr %t5176 + %t5180 = icmp sge i32 %t5178, %t5179 + br i1 %t5180, label %grow1047, label %put1048 +grow1047: + %t5181 = mul i32 %t5179, 2 + %t5182 = icmp eq i32 %t5179, 0 + %t5183 = select i1 %t5182, i32 8, i32 %t5181 + %t5184 = getelementptr ptr, ptr null, i32 1 + %t5185 = ptrtoint ptr %t5184 to i64 + %t5186 = zext i32 %t5183 to i64 + %t5187 = mul i64 %t5186, %t5185 + %t5188 = load ptr, ptr %t5177 + %t5189 = call ptr @realloc(ptr %t5188, i64 %t5187) + store ptr %t5189, ptr %t5177 + store i32 %t5183, ptr %t5176 + br label %put1048 +put1048: + %t5190 = load ptr, ptr %t5177 + %t5191 = getelementptr inbounds ptr, ptr %t5190, i32 %t5178 + store ptr @.str7322, ptr %t5191 + %t5192 = add i32 %t5178, 1 + store i32 %t5192, ptr %t5175 + %t5193 = load ptr, ptr %t410 + %t5194 = getelementptr inbounds %LSlice, ptr %t5193, i32 0, i32 1 + %t5195 = getelementptr inbounds %LSlice, ptr %t5193, i32 0, i32 2 + %t5196 = getelementptr inbounds %LSlice, ptr %t5193, i32 0, i32 0 + %t5197 = load i32, ptr %t5194 + %t5198 = load i32, ptr %t5195 + %t5199 = icmp sge i32 %t5197, %t5198 + br i1 %t5199, label %grow1049, label %put1050 +grow1049: + %t5200 = mul i32 %t5198, 2 + %t5201 = icmp eq i32 %t5198, 0 + %t5202 = select i1 %t5201, i32 8, i32 %t5200 + %t5203 = getelementptr ptr, ptr null, i32 1 + %t5204 = ptrtoint ptr %t5203 to i64 + %t5205 = zext i32 %t5202 to i64 + %t5206 = mul i64 %t5205, %t5204 + %t5207 = load ptr, ptr %t5196 + %t5208 = call ptr @realloc(ptr %t5207, i64 %t5206) + store ptr %t5208, ptr %t5196 + store i32 %t5202, ptr %t5195 + br label %put1050 +put1050: + %t5209 = load ptr, ptr %t5196 + %t5210 = getelementptr inbounds ptr, ptr %t5209, i32 %t5197 + store ptr @.str7323, ptr %t5210 + %t5211 = add i32 %t5197, 1 + store i32 %t5211, ptr %t5194 + br label %ifend1042 +ifend1042: + %t5212 = load ptr, ptr %t1 + %t5213 = call i32 @lp_str_eq(ptr %t5212, ptr @.str7324) + %t5214 = icmp ne i32 %t5213, 0 + br i1 %t5214, label %then1051, label %ifend1053 +then1051: + store ptr @.str7325, ptr %t403 + %t5215 = load ptr, ptr %t410 + %t5216 = getelementptr inbounds %LSlice, ptr %t5215, i32 0, i32 1 + %t5217 = getelementptr inbounds %LSlice, ptr %t5215, i32 0, i32 2 + %t5218 = getelementptr inbounds %LSlice, ptr %t5215, i32 0, i32 0 + %t5219 = load i32, ptr %t5216 + %t5220 = load i32, ptr %t5217 + %t5221 = icmp sge i32 %t5219, %t5220 + br i1 %t5221, label %grow1054, label %put1055 +grow1054: + %t5222 = mul i32 %t5220, 2 + %t5223 = icmp eq i32 %t5220, 0 + %t5224 = select i1 %t5223, i32 8, i32 %t5222 + %t5225 = getelementptr ptr, ptr null, i32 1 + %t5226 = ptrtoint ptr %t5225 to i64 + %t5227 = zext i32 %t5224 to i64 + %t5228 = mul i64 %t5227, %t5226 + %t5229 = load ptr, ptr %t5218 + %t5230 = call ptr @realloc(ptr %t5229, i64 %t5228) + store ptr %t5230, ptr %t5218 + store i32 %t5224, ptr %t5217 + br label %put1055 +put1055: + %t5231 = load ptr, ptr %t5218 + %t5232 = getelementptr inbounds ptr, ptr %t5231, i32 %t5219 + store ptr @.str7326, ptr %t5232 + %t5233 = add i32 %t5219, 1 + store i32 %t5233, ptr %t5216 + br label %ifend1053 +ifend1053: + %t5234 = load ptr, ptr %t1 + %t5235 = call i32 @lp_str_eq(ptr %t5234, ptr @.str7327) + %t5236 = icmp ne i32 %t5235, 0 + br i1 %t5236, label %then1056, label %ifend1058 +then1056: + store ptr @.str7328, ptr %t403 + br label %ifend1058 +ifend1058: + %t5237 = load ptr, ptr %t1 + %t5238 = call i32 @lp_str_eq(ptr %t5237, ptr @.str7329) + %t5239 = icmp ne i32 %t5238, 0 + br i1 %t5239, label %then1059, label %ifend1061 +then1059: + store ptr @.str7330, ptr %t403 + br label %ifend1061 +ifend1061: + %t5240 = load ptr, ptr %t1 + %t5241 = call i32 @lp_str_eq(ptr %t5240, ptr @.str7331) + %t5242 = icmp ne i32 %t5241, 0 + br i1 %t5242, label %then1062, label %ifend1064 +then1062: + store ptr @.str7332, ptr %t403 + br label %ifend1064 +ifend1064: + %t5243 = load ptr, ptr %t1 + %t5244 = call i32 @lp_str_eq(ptr %t5243, ptr @.str7333) + %t5245 = icmp ne i32 %t5244, 0 + br i1 %t5245, label %then1065, label %ifend1067 +then1065: + store ptr @.str7334, ptr %t403 + br label %ifend1067 +ifend1067: + %t5246 = load ptr, ptr %t1 + %t5247 = call i32 @lp_str_eq(ptr %t5246, ptr @.str7335) + %t5248 = icmp ne i32 %t5247, 0 + br i1 %t5248, label %then1068, label %ifend1070 +then1068: + store ptr @.str7336, ptr %t403 + %t5249 = load ptr, ptr %t410 + %t5250 = getelementptr inbounds %LSlice, ptr %t5249, i32 0, i32 1 + %t5251 = getelementptr inbounds %LSlice, ptr %t5249, i32 0, i32 2 + %t5252 = getelementptr inbounds %LSlice, ptr %t5249, i32 0, i32 0 + %t5253 = load i32, ptr %t5250 + %t5254 = load i32, ptr %t5251 + %t5255 = icmp sge i32 %t5253, %t5254 + br i1 %t5255, label %grow1071, label %put1072 +grow1071: + %t5256 = mul i32 %t5254, 2 + %t5257 = icmp eq i32 %t5254, 0 + %t5258 = select i1 %t5257, i32 8, i32 %t5256 + %t5259 = getelementptr ptr, ptr null, i32 1 + %t5260 = ptrtoint ptr %t5259 to i64 + %t5261 = zext i32 %t5258 to i64 + %t5262 = mul i64 %t5261, %t5260 + %t5263 = load ptr, ptr %t5252 + %t5264 = call ptr @realloc(ptr %t5263, i64 %t5262) + store ptr %t5264, ptr %t5252 + store i32 %t5258, ptr %t5251 + br label %put1072 +put1072: + %t5265 = load ptr, ptr %t5252 + %t5266 = getelementptr inbounds ptr, ptr %t5265, i32 %t5253 + store ptr @.str7337, ptr %t5266 + %t5267 = add i32 %t5253, 1 + store i32 %t5267, ptr %t5250 + br label %ifend1070 +ifend1070: + %t5268 = load ptr, ptr %t1 + %t5269 = call i32 @lp_str_eq(ptr %t5268, ptr @.str7338) + %t5270 = icmp ne i32 %t5269, 0 + br i1 %t5270, label %then1073, label %ifend1075 +then1073: + store ptr @.str7339, ptr %t403 + br label %ifend1075 +ifend1075: + %t5271 = load ptr, ptr %t1 + %t5272 = call i32 @lp_str_eq(ptr %t5271, ptr @.str7340) + %t5273 = icmp ne i32 %t5272, 0 + br i1 %t5273, label %then1076, label %ifend1078 +then1076: + store ptr @.str7341, ptr %t403 + %t5274 = load ptr, ptr %t410 + %t5275 = getelementptr inbounds %LSlice, ptr %t5274, i32 0, i32 1 + %t5276 = getelementptr inbounds %LSlice, ptr %t5274, i32 0, i32 2 + %t5277 = getelementptr inbounds %LSlice, ptr %t5274, i32 0, i32 0 + %t5278 = load i32, ptr %t5275 + %t5279 = load i32, ptr %t5276 + %t5280 = icmp sge i32 %t5278, %t5279 + br i1 %t5280, label %grow1079, label %put1080 +grow1079: + %t5281 = mul i32 %t5279, 2 + %t5282 = icmp eq i32 %t5279, 0 + %t5283 = select i1 %t5282, i32 8, i32 %t5281 + %t5284 = getelementptr ptr, ptr null, i32 1 + %t5285 = ptrtoint ptr %t5284 to i64 + %t5286 = zext i32 %t5283 to i64 + %t5287 = mul i64 %t5286, %t5285 + %t5288 = load ptr, ptr %t5277 + %t5289 = call ptr @realloc(ptr %t5288, i64 %t5287) + store ptr %t5289, ptr %t5277 + store i32 %t5283, ptr %t5276 + br label %put1080 +put1080: + %t5290 = load ptr, ptr %t5277 + %t5291 = getelementptr inbounds ptr, ptr %t5290, i32 %t5278 + store ptr @.str7342, ptr %t5291 + %t5292 = add i32 %t5278, 1 + store i32 %t5292, ptr %t5275 + %t5293 = load ptr, ptr %t410 + %t5294 = getelementptr inbounds %LSlice, ptr %t5293, i32 0, i32 1 + %t5295 = getelementptr inbounds %LSlice, ptr %t5293, i32 0, i32 2 + %t5296 = getelementptr inbounds %LSlice, ptr %t5293, i32 0, i32 0 + %t5297 = load i32, ptr %t5294 + %t5298 = load i32, ptr %t5295 + %t5299 = icmp sge i32 %t5297, %t5298 + br i1 %t5299, label %grow1081, label %put1082 +grow1081: + %t5300 = mul i32 %t5298, 2 + %t5301 = icmp eq i32 %t5298, 0 + %t5302 = select i1 %t5301, i32 8, i32 %t5300 + %t5303 = getelementptr ptr, ptr null, i32 1 + %t5304 = ptrtoint ptr %t5303 to i64 + %t5305 = zext i32 %t5302 to i64 + %t5306 = mul i64 %t5305, %t5304 + %t5307 = load ptr, ptr %t5296 + %t5308 = call ptr @realloc(ptr %t5307, i64 %t5306) + store ptr %t5308, ptr %t5296 + store i32 %t5302, ptr %t5295 + br label %put1082 +put1082: + %t5309 = load ptr, ptr %t5296 + %t5310 = getelementptr inbounds ptr, ptr %t5309, i32 %t5297 + store ptr @.str7343, ptr %t5310 + %t5311 = add i32 %t5297, 1 + store i32 %t5311, ptr %t5294 + %t5312 = load ptr, ptr %t410 + %t5313 = getelementptr inbounds %LSlice, ptr %t5312, i32 0, i32 1 + %t5314 = getelementptr inbounds %LSlice, ptr %t5312, i32 0, i32 2 + %t5315 = getelementptr inbounds %LSlice, ptr %t5312, i32 0, i32 0 + %t5316 = load i32, ptr %t5313 + %t5317 = load i32, ptr %t5314 + %t5318 = icmp sge i32 %t5316, %t5317 + br i1 %t5318, label %grow1083, label %put1084 +grow1083: + %t5319 = mul i32 %t5317, 2 + %t5320 = icmp eq i32 %t5317, 0 + %t5321 = select i1 %t5320, i32 8, i32 %t5319 + %t5322 = getelementptr ptr, ptr null, i32 1 + %t5323 = ptrtoint ptr %t5322 to i64 + %t5324 = zext i32 %t5321 to i64 + %t5325 = mul i64 %t5324, %t5323 + %t5326 = load ptr, ptr %t5315 + %t5327 = call ptr @realloc(ptr %t5326, i64 %t5325) + store ptr %t5327, ptr %t5315 + store i32 %t5321, ptr %t5314 + br label %put1084 +put1084: + %t5328 = load ptr, ptr %t5315 + %t5329 = getelementptr inbounds ptr, ptr %t5328, i32 %t5316 + store ptr @.str7344, ptr %t5329 + %t5330 = add i32 %t5316, 1 + store i32 %t5330, ptr %t5313 + %t5331 = load ptr, ptr %t410 + %t5332 = getelementptr inbounds %LSlice, ptr %t5331, i32 0, i32 1 + %t5333 = getelementptr inbounds %LSlice, ptr %t5331, i32 0, i32 2 + %t5334 = getelementptr inbounds %LSlice, ptr %t5331, i32 0, i32 0 + %t5335 = load i32, ptr %t5332 + %t5336 = load i32, ptr %t5333 + %t5337 = icmp sge i32 %t5335, %t5336 + br i1 %t5337, label %grow1085, label %put1086 +grow1085: + %t5338 = mul i32 %t5336, 2 + %t5339 = icmp eq i32 %t5336, 0 + %t5340 = select i1 %t5339, i32 8, i32 %t5338 + %t5341 = getelementptr ptr, ptr null, i32 1 + %t5342 = ptrtoint ptr %t5341 to i64 + %t5343 = zext i32 %t5340 to i64 + %t5344 = mul i64 %t5343, %t5342 + %t5345 = load ptr, ptr %t5334 + %t5346 = call ptr @realloc(ptr %t5345, i64 %t5344) + store ptr %t5346, ptr %t5334 + store i32 %t5340, ptr %t5333 + br label %put1086 +put1086: + %t5347 = load ptr, ptr %t5334 + %t5348 = getelementptr inbounds ptr, ptr %t5347, i32 %t5335 + store ptr @.str7345, ptr %t5348 + %t5349 = add i32 %t5335, 1 + store i32 %t5349, ptr %t5332 + br label %ifend1078 +ifend1078: + %t5350 = load ptr, ptr %t1 + %t5351 = call i32 @lp_str_eq(ptr %t5350, ptr @.str7346) + %t5352 = icmp ne i32 %t5351, 0 + br i1 %t5352, label %then1087, label %ifend1089 +then1087: + store ptr @.str7347, ptr %t403 + %t5353 = load ptr, ptr %t410 + %t5354 = getelementptr inbounds %LSlice, ptr %t5353, i32 0, i32 1 + %t5355 = getelementptr inbounds %LSlice, ptr %t5353, i32 0, i32 2 + %t5356 = getelementptr inbounds %LSlice, ptr %t5353, i32 0, i32 0 + %t5357 = load i32, ptr %t5354 + %t5358 = load i32, ptr %t5355 + %t5359 = icmp sge i32 %t5357, %t5358 + br i1 %t5359, label %grow1090, label %put1091 +grow1090: + %t5360 = mul i32 %t5358, 2 + %t5361 = icmp eq i32 %t5358, 0 + %t5362 = select i1 %t5361, i32 8, i32 %t5360 + %t5363 = getelementptr ptr, ptr null, i32 1 + %t5364 = ptrtoint ptr %t5363 to i64 + %t5365 = zext i32 %t5362 to i64 + %t5366 = mul i64 %t5365, %t5364 + %t5367 = load ptr, ptr %t5356 + %t5368 = call ptr @realloc(ptr %t5367, i64 %t5366) + store ptr %t5368, ptr %t5356 + store i32 %t5362, ptr %t5355 + br label %put1091 +put1091: + %t5369 = load ptr, ptr %t5356 + %t5370 = getelementptr inbounds ptr, ptr %t5369, i32 %t5357 + store ptr @.str7348, ptr %t5370 + %t5371 = add i32 %t5357, 1 + store i32 %t5371, ptr %t5354 + br label %ifend1089 +ifend1089: + %t5372 = load ptr, ptr %t1 + %t5373 = call i32 @lp_str_eq(ptr %t5372, ptr @.str7349) + %t5374 = icmp ne i32 %t5373, 0 + br i1 %t5374, label %then1092, label %ifend1094 +then1092: + store ptr @.str7350, ptr %t403 + %t5375 = load ptr, ptr %t410 + %t5376 = getelementptr inbounds %LSlice, ptr %t5375, i32 0, i32 1 + %t5377 = getelementptr inbounds %LSlice, ptr %t5375, i32 0, i32 2 + %t5378 = getelementptr inbounds %LSlice, ptr %t5375, i32 0, i32 0 + %t5379 = load i32, ptr %t5376 + %t5380 = load i32, ptr %t5377 + %t5381 = icmp sge i32 %t5379, %t5380 + br i1 %t5381, label %grow1095, label %put1096 +grow1095: + %t5382 = mul i32 %t5380, 2 + %t5383 = icmp eq i32 %t5380, 0 + %t5384 = select i1 %t5383, i32 8, i32 %t5382 + %t5385 = getelementptr ptr, ptr null, i32 1 + %t5386 = ptrtoint ptr %t5385 to i64 + %t5387 = zext i32 %t5384 to i64 + %t5388 = mul i64 %t5387, %t5386 + %t5389 = load ptr, ptr %t5378 + %t5390 = call ptr @realloc(ptr %t5389, i64 %t5388) + store ptr %t5390, ptr %t5378 + store i32 %t5384, ptr %t5377 + br label %put1096 +put1096: + %t5391 = load ptr, ptr %t5378 + %t5392 = getelementptr inbounds ptr, ptr %t5391, i32 %t5379 + store ptr @.str7351, ptr %t5392 + %t5393 = add i32 %t5379, 1 + store i32 %t5393, ptr %t5376 + %t5394 = load ptr, ptr %t410 + %t5395 = getelementptr inbounds %LSlice, ptr %t5394, i32 0, i32 1 + %t5396 = getelementptr inbounds %LSlice, ptr %t5394, i32 0, i32 2 + %t5397 = getelementptr inbounds %LSlice, ptr %t5394, i32 0, i32 0 + %t5398 = load i32, ptr %t5395 + %t5399 = load i32, ptr %t5396 + %t5400 = icmp sge i32 %t5398, %t5399 + br i1 %t5400, label %grow1097, label %put1098 +grow1097: + %t5401 = mul i32 %t5399, 2 + %t5402 = icmp eq i32 %t5399, 0 + %t5403 = select i1 %t5402, i32 8, i32 %t5401 + %t5404 = getelementptr ptr, ptr null, i32 1 + %t5405 = ptrtoint ptr %t5404 to i64 + %t5406 = zext i32 %t5403 to i64 + %t5407 = mul i64 %t5406, %t5405 + %t5408 = load ptr, ptr %t5397 + %t5409 = call ptr @realloc(ptr %t5408, i64 %t5407) + store ptr %t5409, ptr %t5397 + store i32 %t5403, ptr %t5396 + br label %put1098 +put1098: + %t5410 = load ptr, ptr %t5397 + %t5411 = getelementptr inbounds ptr, ptr %t5410, i32 %t5398 + store ptr @.str7352, ptr %t5411 + %t5412 = add i32 %t5398, 1 + store i32 %t5412, ptr %t5395 + br label %ifend1094 +ifend1094: + %t5413 = load ptr, ptr %t1 + %t5414 = call i32 @lp_str_eq(ptr %t5413, ptr @.str7353) + %t5415 = icmp ne i32 %t5414, 0 + br i1 %t5415, label %then1099, label %ifend1101 +then1099: + store ptr @.str7354, ptr %t403 + %t5416 = load ptr, ptr %t410 + %t5417 = getelementptr inbounds %LSlice, ptr %t5416, i32 0, i32 1 + %t5418 = getelementptr inbounds %LSlice, ptr %t5416, i32 0, i32 2 + %t5419 = getelementptr inbounds %LSlice, ptr %t5416, i32 0, i32 0 + %t5420 = load i32, ptr %t5417 + %t5421 = load i32, ptr %t5418 + %t5422 = icmp sge i32 %t5420, %t5421 + br i1 %t5422, label %grow1102, label %put1103 +grow1102: + %t5423 = mul i32 %t5421, 2 + %t5424 = icmp eq i32 %t5421, 0 + %t5425 = select i1 %t5424, i32 8, i32 %t5423 + %t5426 = getelementptr ptr, ptr null, i32 1 + %t5427 = ptrtoint ptr %t5426 to i64 + %t5428 = zext i32 %t5425 to i64 + %t5429 = mul i64 %t5428, %t5427 + %t5430 = load ptr, ptr %t5419 + %t5431 = call ptr @realloc(ptr %t5430, i64 %t5429) + store ptr %t5431, ptr %t5419 + store i32 %t5425, ptr %t5418 + br label %put1103 +put1103: + %t5432 = load ptr, ptr %t5419 + %t5433 = getelementptr inbounds ptr, ptr %t5432, i32 %t5420 + store ptr @.str7355, ptr %t5433 + %t5434 = add i32 %t5420, 1 + store i32 %t5434, ptr %t5417 + %t5435 = load ptr, ptr %t410 + %t5436 = getelementptr inbounds %LSlice, ptr %t5435, i32 0, i32 1 + %t5437 = getelementptr inbounds %LSlice, ptr %t5435, i32 0, i32 2 + %t5438 = getelementptr inbounds %LSlice, ptr %t5435, i32 0, i32 0 + %t5439 = load i32, ptr %t5436 + %t5440 = load i32, ptr %t5437 + %t5441 = icmp sge i32 %t5439, %t5440 + br i1 %t5441, label %grow1104, label %put1105 +grow1104: + %t5442 = mul i32 %t5440, 2 + %t5443 = icmp eq i32 %t5440, 0 + %t5444 = select i1 %t5443, i32 8, i32 %t5442 + %t5445 = getelementptr ptr, ptr null, i32 1 + %t5446 = ptrtoint ptr %t5445 to i64 + %t5447 = zext i32 %t5444 to i64 + %t5448 = mul i64 %t5447, %t5446 + %t5449 = load ptr, ptr %t5438 + %t5450 = call ptr @realloc(ptr %t5449, i64 %t5448) + store ptr %t5450, ptr %t5438 + store i32 %t5444, ptr %t5437 + br label %put1105 +put1105: + %t5451 = load ptr, ptr %t5438 + %t5452 = getelementptr inbounds ptr, ptr %t5451, i32 %t5439 + store ptr @.str7356, ptr %t5452 + %t5453 = add i32 %t5439, 1 + store i32 %t5453, ptr %t5436 + br label %ifend1101 +ifend1101: + %t5454 = load ptr, ptr %t1 + %t5455 = call i32 @lp_str_eq(ptr %t5454, ptr @.str7357) + %t5456 = icmp ne i32 %t5455, 0 + br i1 %t5456, label %then1106, label %ifend1108 +then1106: + store ptr @.str7358, ptr %t403 + %t5457 = load ptr, ptr %t410 + %t5458 = getelementptr inbounds %LSlice, ptr %t5457, i32 0, i32 1 + %t5459 = getelementptr inbounds %LSlice, ptr %t5457, i32 0, i32 2 + %t5460 = getelementptr inbounds %LSlice, ptr %t5457, i32 0, i32 0 + %t5461 = load i32, ptr %t5458 + %t5462 = load i32, ptr %t5459 + %t5463 = icmp sge i32 %t5461, %t5462 + br i1 %t5463, label %grow1109, label %put1110 +grow1109: + %t5464 = mul i32 %t5462, 2 + %t5465 = icmp eq i32 %t5462, 0 + %t5466 = select i1 %t5465, i32 8, i32 %t5464 + %t5467 = getelementptr ptr, ptr null, i32 1 + %t5468 = ptrtoint ptr %t5467 to i64 + %t5469 = zext i32 %t5466 to i64 + %t5470 = mul i64 %t5469, %t5468 + %t5471 = load ptr, ptr %t5460 + %t5472 = call ptr @realloc(ptr %t5471, i64 %t5470) + store ptr %t5472, ptr %t5460 + store i32 %t5466, ptr %t5459 + br label %put1110 +put1110: + %t5473 = load ptr, ptr %t5460 + %t5474 = getelementptr inbounds ptr, ptr %t5473, i32 %t5461 + store ptr @.str7359, ptr %t5474 + %t5475 = add i32 %t5461, 1 + store i32 %t5475, ptr %t5458 + %t5476 = load ptr, ptr %t410 + %t5477 = getelementptr inbounds %LSlice, ptr %t5476, i32 0, i32 1 + %t5478 = getelementptr inbounds %LSlice, ptr %t5476, i32 0, i32 2 + %t5479 = getelementptr inbounds %LSlice, ptr %t5476, i32 0, i32 0 + %t5480 = load i32, ptr %t5477 + %t5481 = load i32, ptr %t5478 + %t5482 = icmp sge i32 %t5480, %t5481 + br i1 %t5482, label %grow1111, label %put1112 +grow1111: + %t5483 = mul i32 %t5481, 2 + %t5484 = icmp eq i32 %t5481, 0 + %t5485 = select i1 %t5484, i32 8, i32 %t5483 + %t5486 = getelementptr ptr, ptr null, i32 1 + %t5487 = ptrtoint ptr %t5486 to i64 + %t5488 = zext i32 %t5485 to i64 + %t5489 = mul i64 %t5488, %t5487 + %t5490 = load ptr, ptr %t5479 + %t5491 = call ptr @realloc(ptr %t5490, i64 %t5489) + store ptr %t5491, ptr %t5479 + store i32 %t5485, ptr %t5478 + br label %put1112 +put1112: + %t5492 = load ptr, ptr %t5479 + %t5493 = getelementptr inbounds ptr, ptr %t5492, i32 %t5480 + store ptr @.str7360, ptr %t5493 + %t5494 = add i32 %t5480, 1 + store i32 %t5494, ptr %t5477 + %t5495 = load ptr, ptr %t410 + %t5496 = getelementptr inbounds %LSlice, ptr %t5495, i32 0, i32 1 + %t5497 = getelementptr inbounds %LSlice, ptr %t5495, i32 0, i32 2 + %t5498 = getelementptr inbounds %LSlice, ptr %t5495, i32 0, i32 0 + %t5499 = load i32, ptr %t5496 + %t5500 = load i32, ptr %t5497 + %t5501 = icmp sge i32 %t5499, %t5500 + br i1 %t5501, label %grow1113, label %put1114 +grow1113: + %t5502 = mul i32 %t5500, 2 + %t5503 = icmp eq i32 %t5500, 0 + %t5504 = select i1 %t5503, i32 8, i32 %t5502 + %t5505 = getelementptr ptr, ptr null, i32 1 + %t5506 = ptrtoint ptr %t5505 to i64 + %t5507 = zext i32 %t5504 to i64 + %t5508 = mul i64 %t5507, %t5506 + %t5509 = load ptr, ptr %t5498 + %t5510 = call ptr @realloc(ptr %t5509, i64 %t5508) + store ptr %t5510, ptr %t5498 + store i32 %t5504, ptr %t5497 + br label %put1114 +put1114: + %t5511 = load ptr, ptr %t5498 + %t5512 = getelementptr inbounds ptr, ptr %t5511, i32 %t5499 + store ptr @.str7361, ptr %t5512 + %t5513 = add i32 %t5499, 1 + store i32 %t5513, ptr %t5496 + %t5514 = load ptr, ptr %t410 + %t5515 = getelementptr inbounds %LSlice, ptr %t5514, i32 0, i32 1 + %t5516 = getelementptr inbounds %LSlice, ptr %t5514, i32 0, i32 2 + %t5517 = getelementptr inbounds %LSlice, ptr %t5514, i32 0, i32 0 + %t5518 = load i32, ptr %t5515 + %t5519 = load i32, ptr %t5516 + %t5520 = icmp sge i32 %t5518, %t5519 + br i1 %t5520, label %grow1115, label %put1116 +grow1115: + %t5521 = mul i32 %t5519, 2 + %t5522 = icmp eq i32 %t5519, 0 + %t5523 = select i1 %t5522, i32 8, i32 %t5521 + %t5524 = getelementptr ptr, ptr null, i32 1 + %t5525 = ptrtoint ptr %t5524 to i64 + %t5526 = zext i32 %t5523 to i64 + %t5527 = mul i64 %t5526, %t5525 + %t5528 = load ptr, ptr %t5517 + %t5529 = call ptr @realloc(ptr %t5528, i64 %t5527) + store ptr %t5529, ptr %t5517 + store i32 %t5523, ptr %t5516 + br label %put1116 +put1116: + %t5530 = load ptr, ptr %t5517 + %t5531 = getelementptr inbounds ptr, ptr %t5530, i32 %t5518 + store ptr @.str7362, ptr %t5531 + %t5532 = add i32 %t5518, 1 + store i32 %t5532, ptr %t5515 + %t5533 = load ptr, ptr %t410 + %t5534 = getelementptr inbounds %LSlice, ptr %t5533, i32 0, i32 1 + %t5535 = getelementptr inbounds %LSlice, ptr %t5533, i32 0, i32 2 + %t5536 = getelementptr inbounds %LSlice, ptr %t5533, i32 0, i32 0 + %t5537 = load i32, ptr %t5534 + %t5538 = load i32, ptr %t5535 + %t5539 = icmp sge i32 %t5537, %t5538 + br i1 %t5539, label %grow1117, label %put1118 +grow1117: + %t5540 = mul i32 %t5538, 2 + %t5541 = icmp eq i32 %t5538, 0 + %t5542 = select i1 %t5541, i32 8, i32 %t5540 + %t5543 = getelementptr ptr, ptr null, i32 1 + %t5544 = ptrtoint ptr %t5543 to i64 + %t5545 = zext i32 %t5542 to i64 + %t5546 = mul i64 %t5545, %t5544 + %t5547 = load ptr, ptr %t5536 + %t5548 = call ptr @realloc(ptr %t5547, i64 %t5546) + store ptr %t5548, ptr %t5536 + store i32 %t5542, ptr %t5535 + br label %put1118 +put1118: + %t5549 = load ptr, ptr %t5536 + %t5550 = getelementptr inbounds ptr, ptr %t5549, i32 %t5537 + store ptr @.str7363, ptr %t5550 + %t5551 = add i32 %t5537, 1 + store i32 %t5551, ptr %t5534 + %t5552 = load ptr, ptr %t410 + %t5553 = getelementptr inbounds %LSlice, ptr %t5552, i32 0, i32 1 + %t5554 = getelementptr inbounds %LSlice, ptr %t5552, i32 0, i32 2 + %t5555 = getelementptr inbounds %LSlice, ptr %t5552, i32 0, i32 0 + %t5556 = load i32, ptr %t5553 + %t5557 = load i32, ptr %t5554 + %t5558 = icmp sge i32 %t5556, %t5557 + br i1 %t5558, label %grow1119, label %put1120 +grow1119: + %t5559 = mul i32 %t5557, 2 + %t5560 = icmp eq i32 %t5557, 0 + %t5561 = select i1 %t5560, i32 8, i32 %t5559 + %t5562 = getelementptr ptr, ptr null, i32 1 + %t5563 = ptrtoint ptr %t5562 to i64 + %t5564 = zext i32 %t5561 to i64 + %t5565 = mul i64 %t5564, %t5563 + %t5566 = load ptr, ptr %t5555 + %t5567 = call ptr @realloc(ptr %t5566, i64 %t5565) + store ptr %t5567, ptr %t5555 + store i32 %t5561, ptr %t5554 + br label %put1120 +put1120: + %t5568 = load ptr, ptr %t5555 + %t5569 = getelementptr inbounds ptr, ptr %t5568, i32 %t5556 + store ptr @.str7364, ptr %t5569 + %t5570 = add i32 %t5556, 1 + store i32 %t5570, ptr %t5553 + %t5571 = load ptr, ptr %t410 + %t5572 = getelementptr inbounds %LSlice, ptr %t5571, i32 0, i32 1 + %t5573 = getelementptr inbounds %LSlice, ptr %t5571, i32 0, i32 2 + %t5574 = getelementptr inbounds %LSlice, ptr %t5571, i32 0, i32 0 + %t5575 = load i32, ptr %t5572 + %t5576 = load i32, ptr %t5573 + %t5577 = icmp sge i32 %t5575, %t5576 + br i1 %t5577, label %grow1121, label %put1122 +grow1121: + %t5578 = mul i32 %t5576, 2 + %t5579 = icmp eq i32 %t5576, 0 + %t5580 = select i1 %t5579, i32 8, i32 %t5578 + %t5581 = getelementptr ptr, ptr null, i32 1 + %t5582 = ptrtoint ptr %t5581 to i64 + %t5583 = zext i32 %t5580 to i64 + %t5584 = mul i64 %t5583, %t5582 + %t5585 = load ptr, ptr %t5574 + %t5586 = call ptr @realloc(ptr %t5585, i64 %t5584) + store ptr %t5586, ptr %t5574 + store i32 %t5580, ptr %t5573 + br label %put1122 +put1122: + %t5587 = load ptr, ptr %t5574 + %t5588 = getelementptr inbounds ptr, ptr %t5587, i32 %t5575 + store ptr @.str7365, ptr %t5588 + %t5589 = add i32 %t5575, 1 + store i32 %t5589, ptr %t5572 + br label %ifend1108 +ifend1108: + %t5590 = load ptr, ptr %t1 + %t5591 = call i32 @lp_str_eq(ptr %t5590, ptr @.str7366) + %t5592 = icmp ne i32 %t5591, 0 + br i1 %t5592, label %then1123, label %ifend1125 +then1123: + store ptr @.str7367, ptr %t403 + br label %ifend1125 +ifend1125: + %t5593 = load ptr, ptr %t1 + %t5594 = call i32 @lp_str_eq(ptr %t5593, ptr @.str7368) + %t5595 = icmp ne i32 %t5594, 0 + br i1 %t5595, label %then1126, label %ifend1128 +then1126: + store ptr @.str7369, ptr %t403 + %t5596 = load ptr, ptr %t410 + %t5597 = getelementptr inbounds %LSlice, ptr %t5596, i32 0, i32 1 + %t5598 = getelementptr inbounds %LSlice, ptr %t5596, i32 0, i32 2 + %t5599 = getelementptr inbounds %LSlice, ptr %t5596, i32 0, i32 0 + %t5600 = load i32, ptr %t5597 + %t5601 = load i32, ptr %t5598 + %t5602 = icmp sge i32 %t5600, %t5601 + br i1 %t5602, label %grow1129, label %put1130 +grow1129: + %t5603 = mul i32 %t5601, 2 + %t5604 = icmp eq i32 %t5601, 0 + %t5605 = select i1 %t5604, i32 8, i32 %t5603 + %t5606 = getelementptr ptr, ptr null, i32 1 + %t5607 = ptrtoint ptr %t5606 to i64 + %t5608 = zext i32 %t5605 to i64 + %t5609 = mul i64 %t5608, %t5607 + %t5610 = load ptr, ptr %t5599 + %t5611 = call ptr @realloc(ptr %t5610, i64 %t5609) + store ptr %t5611, ptr %t5599 + store i32 %t5605, ptr %t5598 + br label %put1130 +put1130: + %t5612 = load ptr, ptr %t5599 + %t5613 = getelementptr inbounds ptr, ptr %t5612, i32 %t5600 + store ptr @.str7370, ptr %t5613 + %t5614 = add i32 %t5600, 1 + store i32 %t5614, ptr %t5597 + br label %ifend1128 +ifend1128: + %t5615 = load ptr, ptr %t1 + %t5616 = call i32 @lp_str_eq(ptr %t5615, ptr @.str7371) + %t5617 = icmp ne i32 %t5616, 0 + br i1 %t5617, label %then1131, label %ifend1133 +then1131: + store ptr @.str7372, ptr %t403 + %t5618 = load ptr, ptr %t410 + %t5619 = getelementptr inbounds %LSlice, ptr %t5618, i32 0, i32 1 + %t5620 = getelementptr inbounds %LSlice, ptr %t5618, i32 0, i32 2 + %t5621 = getelementptr inbounds %LSlice, ptr %t5618, i32 0, i32 0 + %t5622 = load i32, ptr %t5619 + %t5623 = load i32, ptr %t5620 + %t5624 = icmp sge i32 %t5622, %t5623 + br i1 %t5624, label %grow1134, label %put1135 +grow1134: + %t5625 = mul i32 %t5623, 2 + %t5626 = icmp eq i32 %t5623, 0 + %t5627 = select i1 %t5626, i32 8, i32 %t5625 + %t5628 = getelementptr ptr, ptr null, i32 1 + %t5629 = ptrtoint ptr %t5628 to i64 + %t5630 = zext i32 %t5627 to i64 + %t5631 = mul i64 %t5630, %t5629 + %t5632 = load ptr, ptr %t5621 + %t5633 = call ptr @realloc(ptr %t5632, i64 %t5631) + store ptr %t5633, ptr %t5621 + store i32 %t5627, ptr %t5620 + br label %put1135 +put1135: + %t5634 = load ptr, ptr %t5621 + %t5635 = getelementptr inbounds ptr, ptr %t5634, i32 %t5622 + store ptr @.str7373, ptr %t5635 + %t5636 = add i32 %t5622, 1 + store i32 %t5636, ptr %t5619 + br label %ifend1133 +ifend1133: + %t5637 = load ptr, ptr %t1 + %t5638 = call i32 @lp_str_eq(ptr %t5637, ptr @.str7374) + %t5639 = icmp ne i32 %t5638, 0 + br i1 %t5639, label %then1136, label %ifend1138 +then1136: + store ptr @.str7375, ptr %t403 + %t5640 = load ptr, ptr %t410 + %t5641 = getelementptr inbounds %LSlice, ptr %t5640, i32 0, i32 1 + %t5642 = getelementptr inbounds %LSlice, ptr %t5640, i32 0, i32 2 + %t5643 = getelementptr inbounds %LSlice, ptr %t5640, i32 0, i32 0 + %t5644 = load i32, ptr %t5641 + %t5645 = load i32, ptr %t5642 + %t5646 = icmp sge i32 %t5644, %t5645 + br i1 %t5646, label %grow1139, label %put1140 +grow1139: + %t5647 = mul i32 %t5645, 2 + %t5648 = icmp eq i32 %t5645, 0 + %t5649 = select i1 %t5648, i32 8, i32 %t5647 + %t5650 = getelementptr ptr, ptr null, i32 1 + %t5651 = ptrtoint ptr %t5650 to i64 + %t5652 = zext i32 %t5649 to i64 + %t5653 = mul i64 %t5652, %t5651 + %t5654 = load ptr, ptr %t5643 + %t5655 = call ptr @realloc(ptr %t5654, i64 %t5653) + store ptr %t5655, ptr %t5643 + store i32 %t5649, ptr %t5642 + br label %put1140 +put1140: + %t5656 = load ptr, ptr %t5643 + %t5657 = getelementptr inbounds ptr, ptr %t5656, i32 %t5644 + store ptr @.str7376, ptr %t5657 + %t5658 = add i32 %t5644, 1 + store i32 %t5658, ptr %t5641 + %t5659 = load ptr, ptr %t410 + %t5660 = getelementptr inbounds %LSlice, ptr %t5659, i32 0, i32 1 + %t5661 = getelementptr inbounds %LSlice, ptr %t5659, i32 0, i32 2 + %t5662 = getelementptr inbounds %LSlice, ptr %t5659, i32 0, i32 0 + %t5663 = load i32, ptr %t5660 + %t5664 = load i32, ptr %t5661 + %t5665 = icmp sge i32 %t5663, %t5664 + br i1 %t5665, label %grow1141, label %put1142 +grow1141: + %t5666 = mul i32 %t5664, 2 + %t5667 = icmp eq i32 %t5664, 0 + %t5668 = select i1 %t5667, i32 8, i32 %t5666 + %t5669 = getelementptr ptr, ptr null, i32 1 + %t5670 = ptrtoint ptr %t5669 to i64 + %t5671 = zext i32 %t5668 to i64 + %t5672 = mul i64 %t5671, %t5670 + %t5673 = load ptr, ptr %t5662 + %t5674 = call ptr @realloc(ptr %t5673, i64 %t5672) + store ptr %t5674, ptr %t5662 + store i32 %t5668, ptr %t5661 + br label %put1142 +put1142: + %t5675 = load ptr, ptr %t5662 + %t5676 = getelementptr inbounds ptr, ptr %t5675, i32 %t5663 + store ptr @.str7377, ptr %t5676 + %t5677 = add i32 %t5663, 1 + store i32 %t5677, ptr %t5660 + %t5678 = load ptr, ptr %t410 + %t5679 = getelementptr inbounds %LSlice, ptr %t5678, i32 0, i32 1 + %t5680 = getelementptr inbounds %LSlice, ptr %t5678, i32 0, i32 2 + %t5681 = getelementptr inbounds %LSlice, ptr %t5678, i32 0, i32 0 + %t5682 = load i32, ptr %t5679 + %t5683 = load i32, ptr %t5680 + %t5684 = icmp sge i32 %t5682, %t5683 + br i1 %t5684, label %grow1143, label %put1144 +grow1143: + %t5685 = mul i32 %t5683, 2 + %t5686 = icmp eq i32 %t5683, 0 + %t5687 = select i1 %t5686, i32 8, i32 %t5685 + %t5688 = getelementptr ptr, ptr null, i32 1 + %t5689 = ptrtoint ptr %t5688 to i64 + %t5690 = zext i32 %t5687 to i64 + %t5691 = mul i64 %t5690, %t5689 + %t5692 = load ptr, ptr %t5681 + %t5693 = call ptr @realloc(ptr %t5692, i64 %t5691) + store ptr %t5693, ptr %t5681 + store i32 %t5687, ptr %t5680 + br label %put1144 +put1144: + %t5694 = load ptr, ptr %t5681 + %t5695 = getelementptr inbounds ptr, ptr %t5694, i32 %t5682 + store ptr @.str7378, ptr %t5695 + %t5696 = add i32 %t5682, 1 + store i32 %t5696, ptr %t5679 + %t5697 = load ptr, ptr %t410 + %t5698 = getelementptr inbounds %LSlice, ptr %t5697, i32 0, i32 1 + %t5699 = getelementptr inbounds %LSlice, ptr %t5697, i32 0, i32 2 + %t5700 = getelementptr inbounds %LSlice, ptr %t5697, i32 0, i32 0 + %t5701 = load i32, ptr %t5698 + %t5702 = load i32, ptr %t5699 + %t5703 = icmp sge i32 %t5701, %t5702 + br i1 %t5703, label %grow1145, label %put1146 +grow1145: + %t5704 = mul i32 %t5702, 2 + %t5705 = icmp eq i32 %t5702, 0 + %t5706 = select i1 %t5705, i32 8, i32 %t5704 + %t5707 = getelementptr ptr, ptr null, i32 1 + %t5708 = ptrtoint ptr %t5707 to i64 + %t5709 = zext i32 %t5706 to i64 + %t5710 = mul i64 %t5709, %t5708 + %t5711 = load ptr, ptr %t5700 + %t5712 = call ptr @realloc(ptr %t5711, i64 %t5710) + store ptr %t5712, ptr %t5700 + store i32 %t5706, ptr %t5699 + br label %put1146 +put1146: + %t5713 = load ptr, ptr %t5700 + %t5714 = getelementptr inbounds ptr, ptr %t5713, i32 %t5701 + store ptr @.str7379, ptr %t5714 + %t5715 = add i32 %t5701, 1 + store i32 %t5715, ptr %t5698 + br label %ifend1138 +ifend1138: + %t5716 = load ptr, ptr %t1 + %t5717 = call i32 @lp_str_eq(ptr %t5716, ptr @.str7380) + %t5718 = icmp ne i32 %t5717, 0 + br i1 %t5718, label %then1147, label %ifend1149 +then1147: + store ptr @.str7381, ptr %t403 + %t5719 = load ptr, ptr %t410 + %t5720 = getelementptr inbounds %LSlice, ptr %t5719, i32 0, i32 1 + %t5721 = getelementptr inbounds %LSlice, ptr %t5719, i32 0, i32 2 + %t5722 = getelementptr inbounds %LSlice, ptr %t5719, i32 0, i32 0 + %t5723 = load i32, ptr %t5720 + %t5724 = load i32, ptr %t5721 + %t5725 = icmp sge i32 %t5723, %t5724 + br i1 %t5725, label %grow1150, label %put1151 +grow1150: + %t5726 = mul i32 %t5724, 2 + %t5727 = icmp eq i32 %t5724, 0 + %t5728 = select i1 %t5727, i32 8, i32 %t5726 + %t5729 = getelementptr ptr, ptr null, i32 1 + %t5730 = ptrtoint ptr %t5729 to i64 + %t5731 = zext i32 %t5728 to i64 + %t5732 = mul i64 %t5731, %t5730 + %t5733 = load ptr, ptr %t5722 + %t5734 = call ptr @realloc(ptr %t5733, i64 %t5732) + store ptr %t5734, ptr %t5722 + store i32 %t5728, ptr %t5721 + br label %put1151 +put1151: + %t5735 = load ptr, ptr %t5722 + %t5736 = getelementptr inbounds ptr, ptr %t5735, i32 %t5723 + store ptr @.str7382, ptr %t5736 + %t5737 = add i32 %t5723, 1 + store i32 %t5737, ptr %t5720 + br label %ifend1149 +ifend1149: + br label %ifend934 +ifend934: + %t5738 = load ptr, ptr %t0 + %t5739 = call i32 @lp_str_eq(ptr %t5738, ptr @.str7383) + %t5740 = icmp ne i32 %t5739, 0 + br i1 %t5740, label %then1152, label %ifend1154 +then1152: + %t5741 = load ptr, ptr %t1 + %t5742 = call i32 @lp_str_eq(ptr %t5741, ptr @.str7384) + %t5743 = icmp ne i32 %t5742, 0 + br i1 %t5743, label %then1155, label %ifend1157 +then1155: + store ptr @.str7385, ptr %t403 + %t5744 = load ptr, ptr %t410 + %t5745 = getelementptr inbounds %LSlice, ptr %t5744, i32 0, i32 1 + %t5746 = getelementptr inbounds %LSlice, ptr %t5744, i32 0, i32 2 + %t5747 = getelementptr inbounds %LSlice, ptr %t5744, i32 0, i32 0 + %t5748 = load i32, ptr %t5745 + %t5749 = load i32, ptr %t5746 + %t5750 = icmp sge i32 %t5748, %t5749 + br i1 %t5750, label %grow1158, label %put1159 +grow1158: + %t5751 = mul i32 %t5749, 2 + %t5752 = icmp eq i32 %t5749, 0 + %t5753 = select i1 %t5752, i32 8, i32 %t5751 + %t5754 = getelementptr ptr, ptr null, i32 1 + %t5755 = ptrtoint ptr %t5754 to i64 + %t5756 = zext i32 %t5753 to i64 + %t5757 = mul i64 %t5756, %t5755 + %t5758 = load ptr, ptr %t5747 + %t5759 = call ptr @realloc(ptr %t5758, i64 %t5757) + store ptr %t5759, ptr %t5747 + store i32 %t5753, ptr %t5746 + br label %put1159 +put1159: + %t5760 = load ptr, ptr %t5747 + %t5761 = getelementptr inbounds ptr, ptr %t5760, i32 %t5748 + store ptr @.str7386, ptr %t5761 + %t5762 = add i32 %t5748, 1 + store i32 %t5762, ptr %t5745 + br label %ifend1157 +ifend1157: + %t5763 = load ptr, ptr %t1 + %t5764 = call i32 @lp_str_eq(ptr %t5763, ptr @.str7387) + %t5765 = icmp ne i32 %t5764, 0 + br i1 %t5765, label %then1160, label %ifend1162 +then1160: + store ptr @.str7388, ptr %t403 + %t5766 = load ptr, ptr %t410 + %t5767 = getelementptr inbounds %LSlice, ptr %t5766, i32 0, i32 1 + %t5768 = getelementptr inbounds %LSlice, ptr %t5766, i32 0, i32 2 + %t5769 = getelementptr inbounds %LSlice, ptr %t5766, i32 0, i32 0 + %t5770 = load i32, ptr %t5767 + %t5771 = load i32, ptr %t5768 + %t5772 = icmp sge i32 %t5770, %t5771 + br i1 %t5772, label %grow1163, label %put1164 +grow1163: + %t5773 = mul i32 %t5771, 2 + %t5774 = icmp eq i32 %t5771, 0 + %t5775 = select i1 %t5774, i32 8, i32 %t5773 + %t5776 = getelementptr ptr, ptr null, i32 1 + %t5777 = ptrtoint ptr %t5776 to i64 + %t5778 = zext i32 %t5775 to i64 + %t5779 = mul i64 %t5778, %t5777 + %t5780 = load ptr, ptr %t5769 + %t5781 = call ptr @realloc(ptr %t5780, i64 %t5779) + store ptr %t5781, ptr %t5769 + store i32 %t5775, ptr %t5768 + br label %put1164 +put1164: + %t5782 = load ptr, ptr %t5769 + %t5783 = getelementptr inbounds ptr, ptr %t5782, i32 %t5770 + store ptr @.str7389, ptr %t5783 + %t5784 = add i32 %t5770, 1 + store i32 %t5784, ptr %t5767 + %t5785 = load ptr, ptr %t410 + %t5786 = getelementptr inbounds %LSlice, ptr %t5785, i32 0, i32 1 + %t5787 = getelementptr inbounds %LSlice, ptr %t5785, i32 0, i32 2 + %t5788 = getelementptr inbounds %LSlice, ptr %t5785, i32 0, i32 0 + %t5789 = load i32, ptr %t5786 + %t5790 = load i32, ptr %t5787 + %t5791 = icmp sge i32 %t5789, %t5790 + br i1 %t5791, label %grow1165, label %put1166 +grow1165: + %t5792 = mul i32 %t5790, 2 + %t5793 = icmp eq i32 %t5790, 0 + %t5794 = select i1 %t5793, i32 8, i32 %t5792 + %t5795 = getelementptr ptr, ptr null, i32 1 + %t5796 = ptrtoint ptr %t5795 to i64 + %t5797 = zext i32 %t5794 to i64 + %t5798 = mul i64 %t5797, %t5796 + %t5799 = load ptr, ptr %t5788 + %t5800 = call ptr @realloc(ptr %t5799, i64 %t5798) + store ptr %t5800, ptr %t5788 + store i32 %t5794, ptr %t5787 + br label %put1166 +put1166: + %t5801 = load ptr, ptr %t5788 + %t5802 = getelementptr inbounds ptr, ptr %t5801, i32 %t5789 + store ptr @.str7390, ptr %t5802 + %t5803 = add i32 %t5789, 1 + store i32 %t5803, ptr %t5786 + br label %ifend1162 +ifend1162: + %t5804 = load ptr, ptr %t1 + %t5805 = call i32 @lp_str_eq(ptr %t5804, ptr @.str7391) + %t5806 = icmp ne i32 %t5805, 0 + br i1 %t5806, label %then1167, label %ifend1169 +then1167: + store ptr @.str7392, ptr %t403 + %t5807 = load ptr, ptr %t410 + %t5808 = getelementptr inbounds %LSlice, ptr %t5807, i32 0, i32 1 + %t5809 = getelementptr inbounds %LSlice, ptr %t5807, i32 0, i32 2 + %t5810 = getelementptr inbounds %LSlice, ptr %t5807, i32 0, i32 0 + %t5811 = load i32, ptr %t5808 + %t5812 = load i32, ptr %t5809 + %t5813 = icmp sge i32 %t5811, %t5812 + br i1 %t5813, label %grow1170, label %put1171 +grow1170: + %t5814 = mul i32 %t5812, 2 + %t5815 = icmp eq i32 %t5812, 0 + %t5816 = select i1 %t5815, i32 8, i32 %t5814 + %t5817 = getelementptr ptr, ptr null, i32 1 + %t5818 = ptrtoint ptr %t5817 to i64 + %t5819 = zext i32 %t5816 to i64 + %t5820 = mul i64 %t5819, %t5818 + %t5821 = load ptr, ptr %t5810 + %t5822 = call ptr @realloc(ptr %t5821, i64 %t5820) + store ptr %t5822, ptr %t5810 + store i32 %t5816, ptr %t5809 + br label %put1171 +put1171: + %t5823 = load ptr, ptr %t5810 + %t5824 = getelementptr inbounds ptr, ptr %t5823, i32 %t5811 + store ptr @.str7393, ptr %t5824 + %t5825 = add i32 %t5811, 1 + store i32 %t5825, ptr %t5808 + br label %ifend1169 +ifend1169: + %t5826 = load ptr, ptr %t1 + %t5827 = call i32 @lp_str_eq(ptr %t5826, ptr @.str7394) + %t5828 = icmp ne i32 %t5827, 0 + br i1 %t5828, label %then1172, label %ifend1174 +then1172: + %t5829 = load ptr, ptr %t2 + %t5830 = call i32 @fn_first_arg_is_text(ptr %t5829) + %t5831 = icmp ne i32 %t5830, 0 + br i1 %t5831, label %then1175, label %else1176 +then1175: + store ptr @.str7395, ptr %t403 + %t5832 = load ptr, ptr %t410 + %t5833 = getelementptr inbounds %LSlice, ptr %t5832, i32 0, i32 1 + %t5834 = getelementptr inbounds %LSlice, ptr %t5832, i32 0, i32 2 + %t5835 = getelementptr inbounds %LSlice, ptr %t5832, i32 0, i32 0 + %t5836 = load i32, ptr %t5833 + %t5837 = load i32, ptr %t5834 + %t5838 = icmp sge i32 %t5836, %t5837 + br i1 %t5838, label %grow1178, label %put1179 +grow1178: + %t5839 = mul i32 %t5837, 2 + %t5840 = icmp eq i32 %t5837, 0 + %t5841 = select i1 %t5840, i32 8, i32 %t5839 + %t5842 = getelementptr ptr, ptr null, i32 1 + %t5843 = ptrtoint ptr %t5842 to i64 + %t5844 = zext i32 %t5841 to i64 + %t5845 = mul i64 %t5844, %t5843 + %t5846 = load ptr, ptr %t5835 + %t5847 = call ptr @realloc(ptr %t5846, i64 %t5845) + store ptr %t5847, ptr %t5835 + store i32 %t5841, ptr %t5834 + br label %put1179 +put1179: + %t5848 = load ptr, ptr %t5835 + %t5849 = getelementptr inbounds ptr, ptr %t5848, i32 %t5836 + store ptr @.str7396, ptr %t5849 + %t5850 = add i32 %t5836, 1 + store i32 %t5850, ptr %t5833 + br label %ifend1177 +else1176: + store ptr @.str7397, ptr %t403 + %t5851 = load ptr, ptr %t410 + %t5852 = getelementptr inbounds %LSlice, ptr %t5851, i32 0, i32 1 + %t5853 = getelementptr inbounds %LSlice, ptr %t5851, i32 0, i32 2 + %t5854 = getelementptr inbounds %LSlice, ptr %t5851, i32 0, i32 0 + %t5855 = load i32, ptr %t5852 + %t5856 = load i32, ptr %t5853 + %t5857 = icmp sge i32 %t5855, %t5856 + br i1 %t5857, label %grow1180, label %put1181 +grow1180: + %t5858 = mul i32 %t5856, 2 + %t5859 = icmp eq i32 %t5856, 0 + %t5860 = select i1 %t5859, i32 8, i32 %t5858 + %t5861 = getelementptr ptr, ptr null, i32 1 + %t5862 = ptrtoint ptr %t5861 to i64 + %t5863 = zext i32 %t5860 to i64 + %t5864 = mul i64 %t5863, %t5862 + %t5865 = load ptr, ptr %t5854 + %t5866 = call ptr @realloc(ptr %t5865, i64 %t5864) + store ptr %t5866, ptr %t5854 + store i32 %t5860, ptr %t5853 + br label %put1181 +put1181: + %t5867 = load ptr, ptr %t5854 + %t5868 = getelementptr inbounds ptr, ptr %t5867, i32 %t5855 + store ptr @.str7398, ptr %t5868 + %t5869 = add i32 %t5855, 1 + store i32 %t5869, ptr %t5852 + br label %ifend1177 +ifend1177: + br label %ifend1174 +ifend1174: + %t5870 = load ptr, ptr %t1 + %t5871 = call i32 @lp_str_eq(ptr %t5870, ptr @.str7399) + %t5872 = icmp ne i32 %t5871, 0 + br i1 %t5872, label %then1182, label %ifend1184 +then1182: + store ptr @.str7400, ptr %t403 + %t5873 = load ptr, ptr %t410 + %t5874 = getelementptr inbounds %LSlice, ptr %t5873, i32 0, i32 1 + %t5875 = getelementptr inbounds %LSlice, ptr %t5873, i32 0, i32 2 + %t5876 = getelementptr inbounds %LSlice, ptr %t5873, i32 0, i32 0 + %t5877 = load i32, ptr %t5874 + %t5878 = load i32, ptr %t5875 + %t5879 = icmp sge i32 %t5877, %t5878 + br i1 %t5879, label %grow1185, label %put1186 +grow1185: + %t5880 = mul i32 %t5878, 2 + %t5881 = icmp eq i32 %t5878, 0 + %t5882 = select i1 %t5881, i32 8, i32 %t5880 + %t5883 = getelementptr ptr, ptr null, i32 1 + %t5884 = ptrtoint ptr %t5883 to i64 + %t5885 = zext i32 %t5882 to i64 + %t5886 = mul i64 %t5885, %t5884 + %t5887 = load ptr, ptr %t5876 + %t5888 = call ptr @realloc(ptr %t5887, i64 %t5886) + store ptr %t5888, ptr %t5876 + store i32 %t5882, ptr %t5875 + br label %put1186 +put1186: + %t5889 = load ptr, ptr %t5876 + %t5890 = getelementptr inbounds ptr, ptr %t5889, i32 %t5877 + store ptr @.str7401, ptr %t5890 + %t5891 = add i32 %t5877, 1 + store i32 %t5891, ptr %t5874 + br label %ifend1184 +ifend1184: + %t5892 = load ptr, ptr %t1 + %t5893 = call i32 @lp_str_eq(ptr %t5892, ptr @.str7402) + %t5894 = icmp ne i32 %t5893, 0 + br i1 %t5894, label %then1187, label %ifend1189 +then1187: + store ptr @.str7403, ptr %t403 + %t5895 = load ptr, ptr %t410 + %t5896 = getelementptr inbounds %LSlice, ptr %t5895, i32 0, i32 1 + %t5897 = getelementptr inbounds %LSlice, ptr %t5895, i32 0, i32 2 + %t5898 = getelementptr inbounds %LSlice, ptr %t5895, i32 0, i32 0 + %t5899 = load i32, ptr %t5896 + %t5900 = load i32, ptr %t5897 + %t5901 = icmp sge i32 %t5899, %t5900 + br i1 %t5901, label %grow1190, label %put1191 +grow1190: + %t5902 = mul i32 %t5900, 2 + %t5903 = icmp eq i32 %t5900, 0 + %t5904 = select i1 %t5903, i32 8, i32 %t5902 + %t5905 = getelementptr ptr, ptr null, i32 1 + %t5906 = ptrtoint ptr %t5905 to i64 + %t5907 = zext i32 %t5904 to i64 + %t5908 = mul i64 %t5907, %t5906 + %t5909 = load ptr, ptr %t5898 + %t5910 = call ptr @realloc(ptr %t5909, i64 %t5908) + store ptr %t5910, ptr %t5898 + store i32 %t5904, ptr %t5897 + br label %put1191 +put1191: + %t5911 = load ptr, ptr %t5898 + %t5912 = getelementptr inbounds ptr, ptr %t5911, i32 %t5899 + store ptr @.str7404, ptr %t5912 + %t5913 = add i32 %t5899, 1 + store i32 %t5913, ptr %t5896 + %t5914 = load ptr, ptr %t410 + %t5915 = getelementptr inbounds %LSlice, ptr %t5914, i32 0, i32 1 + %t5916 = getelementptr inbounds %LSlice, ptr %t5914, i32 0, i32 2 + %t5917 = getelementptr inbounds %LSlice, ptr %t5914, i32 0, i32 0 + %t5918 = load i32, ptr %t5915 + %t5919 = load i32, ptr %t5916 + %t5920 = icmp sge i32 %t5918, %t5919 + br i1 %t5920, label %grow1192, label %put1193 +grow1192: + %t5921 = mul i32 %t5919, 2 + %t5922 = icmp eq i32 %t5919, 0 + %t5923 = select i1 %t5922, i32 8, i32 %t5921 + %t5924 = getelementptr ptr, ptr null, i32 1 + %t5925 = ptrtoint ptr %t5924 to i64 + %t5926 = zext i32 %t5923 to i64 + %t5927 = mul i64 %t5926, %t5925 + %t5928 = load ptr, ptr %t5917 + %t5929 = call ptr @realloc(ptr %t5928, i64 %t5927) + store ptr %t5929, ptr %t5917 + store i32 %t5923, ptr %t5916 + br label %put1193 +put1193: + %t5930 = load ptr, ptr %t5917 + %t5931 = getelementptr inbounds ptr, ptr %t5930, i32 %t5918 + store ptr @.str7405, ptr %t5931 + %t5932 = add i32 %t5918, 1 + store i32 %t5932, ptr %t5915 + %t5933 = load ptr, ptr %t410 + %t5934 = getelementptr inbounds %LSlice, ptr %t5933, i32 0, i32 1 + %t5935 = getelementptr inbounds %LSlice, ptr %t5933, i32 0, i32 2 + %t5936 = getelementptr inbounds %LSlice, ptr %t5933, i32 0, i32 0 + %t5937 = load i32, ptr %t5934 + %t5938 = load i32, ptr %t5935 + %t5939 = icmp sge i32 %t5937, %t5938 + br i1 %t5939, label %grow1194, label %put1195 +grow1194: + %t5940 = mul i32 %t5938, 2 + %t5941 = icmp eq i32 %t5938, 0 + %t5942 = select i1 %t5941, i32 8, i32 %t5940 + %t5943 = getelementptr ptr, ptr null, i32 1 + %t5944 = ptrtoint ptr %t5943 to i64 + %t5945 = zext i32 %t5942 to i64 + %t5946 = mul i64 %t5945, %t5944 + %t5947 = load ptr, ptr %t5936 + %t5948 = call ptr @realloc(ptr %t5947, i64 %t5946) + store ptr %t5948, ptr %t5936 + store i32 %t5942, ptr %t5935 + br label %put1195 +put1195: + %t5949 = load ptr, ptr %t5936 + %t5950 = getelementptr inbounds ptr, ptr %t5949, i32 %t5937 + store ptr @.str7406, ptr %t5950 + %t5951 = add i32 %t5937, 1 + store i32 %t5951, ptr %t5934 + %t5952 = load ptr, ptr %t410 + %t5953 = getelementptr inbounds %LSlice, ptr %t5952, i32 0, i32 1 + %t5954 = getelementptr inbounds %LSlice, ptr %t5952, i32 0, i32 2 + %t5955 = getelementptr inbounds %LSlice, ptr %t5952, i32 0, i32 0 + %t5956 = load i32, ptr %t5953 + %t5957 = load i32, ptr %t5954 + %t5958 = icmp sge i32 %t5956, %t5957 + br i1 %t5958, label %grow1196, label %put1197 +grow1196: + %t5959 = mul i32 %t5957, 2 + %t5960 = icmp eq i32 %t5957, 0 + %t5961 = select i1 %t5960, i32 8, i32 %t5959 + %t5962 = getelementptr ptr, ptr null, i32 1 + %t5963 = ptrtoint ptr %t5962 to i64 + %t5964 = zext i32 %t5961 to i64 + %t5965 = mul i64 %t5964, %t5963 + %t5966 = load ptr, ptr %t5955 + %t5967 = call ptr @realloc(ptr %t5966, i64 %t5965) + store ptr %t5967, ptr %t5955 + store i32 %t5961, ptr %t5954 + br label %put1197 +put1197: + %t5968 = load ptr, ptr %t5955 + %t5969 = getelementptr inbounds ptr, ptr %t5968, i32 %t5956 + store ptr @.str7407, ptr %t5969 + %t5970 = add i32 %t5956, 1 + store i32 %t5970, ptr %t5953 + br label %ifend1189 +ifend1189: + %t5971 = load ptr, ptr %t1 + %t5972 = call i32 @lp_str_eq(ptr %t5971, ptr @.str7408) + %t5973 = icmp ne i32 %t5972, 0 + br i1 %t5973, label %then1198, label %ifend1200 +then1198: + %t5974 = load ptr, ptr %t2 + %t5975 = call i32 @fn_first_arg_is_text(ptr %t5974) + %t5976 = icmp ne i32 %t5975, 0 + br i1 %t5976, label %then1201, label %else1202 +then1201: + store ptr @.str7409, ptr %t403 + %t5977 = load ptr, ptr %t410 + %t5978 = getelementptr inbounds %LSlice, ptr %t5977, i32 0, i32 1 + %t5979 = getelementptr inbounds %LSlice, ptr %t5977, i32 0, i32 2 + %t5980 = getelementptr inbounds %LSlice, ptr %t5977, i32 0, i32 0 + %t5981 = load i32, ptr %t5978 + %t5982 = load i32, ptr %t5979 + %t5983 = icmp sge i32 %t5981, %t5982 + br i1 %t5983, label %grow1204, label %put1205 +grow1204: + %t5984 = mul i32 %t5982, 2 + %t5985 = icmp eq i32 %t5982, 0 + %t5986 = select i1 %t5985, i32 8, i32 %t5984 + %t5987 = getelementptr ptr, ptr null, i32 1 + %t5988 = ptrtoint ptr %t5987 to i64 + %t5989 = zext i32 %t5986 to i64 + %t5990 = mul i64 %t5989, %t5988 + %t5991 = load ptr, ptr %t5980 + %t5992 = call ptr @realloc(ptr %t5991, i64 %t5990) + store ptr %t5992, ptr %t5980 + store i32 %t5986, ptr %t5979 + br label %put1205 +put1205: + %t5993 = load ptr, ptr %t5980 + %t5994 = getelementptr inbounds ptr, ptr %t5993, i32 %t5981 + store ptr @.str7410, ptr %t5994 + %t5995 = add i32 %t5981, 1 + store i32 %t5995, ptr %t5978 + br label %ifend1203 +else1202: + store ptr @.str7411, ptr %t403 + %t5996 = load ptr, ptr %t410 + %t5997 = getelementptr inbounds %LSlice, ptr %t5996, i32 0, i32 1 + %t5998 = getelementptr inbounds %LSlice, ptr %t5996, i32 0, i32 2 + %t5999 = getelementptr inbounds %LSlice, ptr %t5996, i32 0, i32 0 + %t6000 = load i32, ptr %t5997 + %t6001 = load i32, ptr %t5998 + %t6002 = icmp sge i32 %t6000, %t6001 + br i1 %t6002, label %grow1206, label %put1207 +grow1206: + %t6003 = mul i32 %t6001, 2 + %t6004 = icmp eq i32 %t6001, 0 + %t6005 = select i1 %t6004, i32 8, i32 %t6003 + %t6006 = getelementptr ptr, ptr null, i32 1 + %t6007 = ptrtoint ptr %t6006 to i64 + %t6008 = zext i32 %t6005 to i64 + %t6009 = mul i64 %t6008, %t6007 + %t6010 = load ptr, ptr %t5999 + %t6011 = call ptr @realloc(ptr %t6010, i64 %t6009) + store ptr %t6011, ptr %t5999 + store i32 %t6005, ptr %t5998 + br label %put1207 +put1207: + %t6012 = load ptr, ptr %t5999 + %t6013 = getelementptr inbounds ptr, ptr %t6012, i32 %t6000 + store ptr @.str7412, ptr %t6013 + %t6014 = add i32 %t6000, 1 + store i32 %t6014, ptr %t5997 + br label %ifend1203 +ifend1203: + br label %ifend1200 +ifend1200: + %t6015 = load ptr, ptr %t1 + %t6016 = call i32 @lp_str_eq(ptr %t6015, ptr @.str7413) + %t6017 = icmp ne i32 %t6016, 0 + br i1 %t6017, label %then1208, label %ifend1210 +then1208: + store ptr @.str7414, ptr %t403 + %t6018 = load ptr, ptr %t410 + %t6019 = getelementptr inbounds %LSlice, ptr %t6018, i32 0, i32 1 + %t6020 = getelementptr inbounds %LSlice, ptr %t6018, i32 0, i32 2 + %t6021 = getelementptr inbounds %LSlice, ptr %t6018, i32 0, i32 0 + %t6022 = load i32, ptr %t6019 + %t6023 = load i32, ptr %t6020 + %t6024 = icmp sge i32 %t6022, %t6023 + br i1 %t6024, label %grow1211, label %put1212 +grow1211: + %t6025 = mul i32 %t6023, 2 + %t6026 = icmp eq i32 %t6023, 0 + %t6027 = select i1 %t6026, i32 8, i32 %t6025 + %t6028 = getelementptr ptr, ptr null, i32 1 + %t6029 = ptrtoint ptr %t6028 to i64 + %t6030 = zext i32 %t6027 to i64 + %t6031 = mul i64 %t6030, %t6029 + %t6032 = load ptr, ptr %t6021 + %t6033 = call ptr @realloc(ptr %t6032, i64 %t6031) + store ptr %t6033, ptr %t6021 + store i32 %t6027, ptr %t6020 + br label %put1212 +put1212: + %t6034 = load ptr, ptr %t6021 + %t6035 = getelementptr inbounds ptr, ptr %t6034, i32 %t6022 + store ptr @.str7415, ptr %t6035 + %t6036 = add i32 %t6022, 1 + store i32 %t6036, ptr %t6019 + br label %ifend1210 +ifend1210: + %t6037 = load ptr, ptr %t1 + %t6038 = call i32 @lp_str_eq(ptr %t6037, ptr @.str7416) + %t6039 = icmp ne i32 %t6038, 0 + br i1 %t6039, label %then1213, label %ifend1215 +then1213: + store ptr @.str7417, ptr %t403 + br label %ifend1215 +ifend1215: + %t6040 = load ptr, ptr %t1 + %t6041 = call i32 @lp_str_eq(ptr %t6040, ptr @.str7418) + %t6042 = icmp ne i32 %t6041, 0 + br i1 %t6042, label %then1216, label %ifend1218 +then1216: + store ptr @.str7419, ptr %t403 + br label %ifend1218 +ifend1218: + %t6043 = load ptr, ptr %t1 + %t6044 = call i32 @lp_str_eq(ptr %t6043, ptr @.str7420) + %t6045 = icmp ne i32 %t6044, 0 + br i1 %t6045, label %then1219, label %ifend1221 +then1219: + store ptr @.str7421, ptr %t403 + %t6046 = load ptr, ptr %t410 + %t6047 = getelementptr inbounds %LSlice, ptr %t6046, i32 0, i32 1 + %t6048 = getelementptr inbounds %LSlice, ptr %t6046, i32 0, i32 2 + %t6049 = getelementptr inbounds %LSlice, ptr %t6046, i32 0, i32 0 + %t6050 = load i32, ptr %t6047 + %t6051 = load i32, ptr %t6048 + %t6052 = icmp sge i32 %t6050, %t6051 + br i1 %t6052, label %grow1222, label %put1223 +grow1222: + %t6053 = mul i32 %t6051, 2 + %t6054 = icmp eq i32 %t6051, 0 + %t6055 = select i1 %t6054, i32 8, i32 %t6053 + %t6056 = getelementptr ptr, ptr null, i32 1 + %t6057 = ptrtoint ptr %t6056 to i64 + %t6058 = zext i32 %t6055 to i64 + %t6059 = mul i64 %t6058, %t6057 + %t6060 = load ptr, ptr %t6049 + %t6061 = call ptr @realloc(ptr %t6060, i64 %t6059) + store ptr %t6061, ptr %t6049 + store i32 %t6055, ptr %t6048 + br label %put1223 +put1223: + %t6062 = load ptr, ptr %t6049 + %t6063 = getelementptr inbounds ptr, ptr %t6062, i32 %t6050 + store ptr @.str7422, ptr %t6063 + %t6064 = add i32 %t6050, 1 + store i32 %t6064, ptr %t6047 + br label %ifend1221 +ifend1221: + %t6065 = load ptr, ptr %t1 + %t6066 = call i32 @lp_str_eq(ptr %t6065, ptr @.str7423) + %t6067 = icmp ne i32 %t6066, 0 + br i1 %t6067, label %then1224, label %ifend1226 +then1224: + store ptr @.str7424, ptr %t403 + %t6068 = load ptr, ptr %t410 + %t6069 = getelementptr inbounds %LSlice, ptr %t6068, i32 0, i32 1 + %t6070 = getelementptr inbounds %LSlice, ptr %t6068, i32 0, i32 2 + %t6071 = getelementptr inbounds %LSlice, ptr %t6068, i32 0, i32 0 + %t6072 = load i32, ptr %t6069 + %t6073 = load i32, ptr %t6070 + %t6074 = icmp sge i32 %t6072, %t6073 + br i1 %t6074, label %grow1227, label %put1228 +grow1227: + %t6075 = mul i32 %t6073, 2 + %t6076 = icmp eq i32 %t6073, 0 + %t6077 = select i1 %t6076, i32 8, i32 %t6075 + %t6078 = getelementptr ptr, ptr null, i32 1 + %t6079 = ptrtoint ptr %t6078 to i64 + %t6080 = zext i32 %t6077 to i64 + %t6081 = mul i64 %t6080, %t6079 + %t6082 = load ptr, ptr %t6071 + %t6083 = call ptr @realloc(ptr %t6082, i64 %t6081) + store ptr %t6083, ptr %t6071 + store i32 %t6077, ptr %t6070 + br label %put1228 +put1228: + %t6084 = load ptr, ptr %t6071 + %t6085 = getelementptr inbounds ptr, ptr %t6084, i32 %t6072 + store ptr @.str7425, ptr %t6085 + %t6086 = add i32 %t6072, 1 + store i32 %t6086, ptr %t6069 + br label %ifend1226 +ifend1226: + %t6087 = load ptr, ptr %t1 + %t6088 = call i32 @lp_str_eq(ptr %t6087, ptr @.str7426) + %t6089 = icmp ne i32 %t6088, 0 + br i1 %t6089, label %then1229, label %ifend1231 +then1229: + store ptr @.str7427, ptr %t403 + %t6090 = load ptr, ptr %t410 + %t6091 = getelementptr inbounds %LSlice, ptr %t6090, i32 0, i32 1 + %t6092 = getelementptr inbounds %LSlice, ptr %t6090, i32 0, i32 2 + %t6093 = getelementptr inbounds %LSlice, ptr %t6090, i32 0, i32 0 + %t6094 = load i32, ptr %t6091 + %t6095 = load i32, ptr %t6092 + %t6096 = icmp sge i32 %t6094, %t6095 + br i1 %t6096, label %grow1232, label %put1233 +grow1232: + %t6097 = mul i32 %t6095, 2 + %t6098 = icmp eq i32 %t6095, 0 + %t6099 = select i1 %t6098, i32 8, i32 %t6097 + %t6100 = getelementptr ptr, ptr null, i32 1 + %t6101 = ptrtoint ptr %t6100 to i64 + %t6102 = zext i32 %t6099 to i64 + %t6103 = mul i64 %t6102, %t6101 + %t6104 = load ptr, ptr %t6093 + %t6105 = call ptr @realloc(ptr %t6104, i64 %t6103) + store ptr %t6105, ptr %t6093 + store i32 %t6099, ptr %t6092 + br label %put1233 +put1233: + %t6106 = load ptr, ptr %t6093 + %t6107 = getelementptr inbounds ptr, ptr %t6106, i32 %t6094 + store ptr @.str7428, ptr %t6107 + %t6108 = add i32 %t6094, 1 + store i32 %t6108, ptr %t6091 + br label %ifend1231 +ifend1231: + br label %ifend1154 +ifend1154: + %t6109 = load ptr, ptr %t0 + %t6110 = call i32 @lp_str_eq(ptr %t6109, ptr @.str7429) + %t6111 = icmp ne i32 %t6110, 0 + br i1 %t6111, label %then1234, label %ifend1236 +then1234: + %t6112 = load ptr, ptr %t1 + %t6113 = call i32 @lp_str_eq(ptr %t6112, ptr @.str7430) + %t6114 = icmp ne i32 %t6113, 0 + br i1 %t6114, label %then1237, label %ifend1239 +then1237: + store ptr @.str7431, ptr %t403 + %t6115 = load ptr, ptr %t410 + %t6116 = getelementptr inbounds %LSlice, ptr %t6115, i32 0, i32 1 + %t6117 = getelementptr inbounds %LSlice, ptr %t6115, i32 0, i32 2 + %t6118 = getelementptr inbounds %LSlice, ptr %t6115, i32 0, i32 0 + %t6119 = load i32, ptr %t6116 + %t6120 = load i32, ptr %t6117 + %t6121 = icmp sge i32 %t6119, %t6120 + br i1 %t6121, label %grow1240, label %put1241 +grow1240: + %t6122 = mul i32 %t6120, 2 + %t6123 = icmp eq i32 %t6120, 0 + %t6124 = select i1 %t6123, i32 8, i32 %t6122 + %t6125 = getelementptr ptr, ptr null, i32 1 + %t6126 = ptrtoint ptr %t6125 to i64 + %t6127 = zext i32 %t6124 to i64 + %t6128 = mul i64 %t6127, %t6126 + %t6129 = load ptr, ptr %t6118 + %t6130 = call ptr @realloc(ptr %t6129, i64 %t6128) + store ptr %t6130, ptr %t6118 + store i32 %t6124, ptr %t6117 + br label %put1241 +put1241: + %t6131 = load ptr, ptr %t6118 + %t6132 = getelementptr inbounds ptr, ptr %t6131, i32 %t6119 + store ptr @.str7432, ptr %t6132 + %t6133 = add i32 %t6119, 1 + store i32 %t6133, ptr %t6116 + br label %ifend1239 +ifend1239: + %t6134 = load ptr, ptr %t1 + %t6135 = call i32 @lp_str_eq(ptr %t6134, ptr @.str7433) + %t6136 = icmp ne i32 %t6135, 0 + br i1 %t6136, label %then1242, label %ifend1244 +then1242: + store ptr @.str7434, ptr %t403 + %t6137 = load ptr, ptr %t410 + %t6138 = getelementptr inbounds %LSlice, ptr %t6137, i32 0, i32 1 + %t6139 = getelementptr inbounds %LSlice, ptr %t6137, i32 0, i32 2 + %t6140 = getelementptr inbounds %LSlice, ptr %t6137, i32 0, i32 0 + %t6141 = load i32, ptr %t6138 + %t6142 = load i32, ptr %t6139 + %t6143 = icmp sge i32 %t6141, %t6142 + br i1 %t6143, label %grow1245, label %put1246 +grow1245: + %t6144 = mul i32 %t6142, 2 + %t6145 = icmp eq i32 %t6142, 0 + %t6146 = select i1 %t6145, i32 8, i32 %t6144 + %t6147 = getelementptr ptr, ptr null, i32 1 + %t6148 = ptrtoint ptr %t6147 to i64 + %t6149 = zext i32 %t6146 to i64 + %t6150 = mul i64 %t6149, %t6148 + %t6151 = load ptr, ptr %t6140 + %t6152 = call ptr @realloc(ptr %t6151, i64 %t6150) + store ptr %t6152, ptr %t6140 + store i32 %t6146, ptr %t6139 + br label %put1246 +put1246: + %t6153 = load ptr, ptr %t6140 + %t6154 = getelementptr inbounds ptr, ptr %t6153, i32 %t6141 + store ptr @.str7435, ptr %t6154 + %t6155 = add i32 %t6141, 1 + store i32 %t6155, ptr %t6138 + %t6156 = load ptr, ptr %t410 + %t6157 = getelementptr inbounds %LSlice, ptr %t6156, i32 0, i32 1 + %t6158 = getelementptr inbounds %LSlice, ptr %t6156, i32 0, i32 2 + %t6159 = getelementptr inbounds %LSlice, ptr %t6156, i32 0, i32 0 + %t6160 = load i32, ptr %t6157 + %t6161 = load i32, ptr %t6158 + %t6162 = icmp sge i32 %t6160, %t6161 + br i1 %t6162, label %grow1247, label %put1248 +grow1247: + %t6163 = mul i32 %t6161, 2 + %t6164 = icmp eq i32 %t6161, 0 + %t6165 = select i1 %t6164, i32 8, i32 %t6163 + %t6166 = getelementptr ptr, ptr null, i32 1 + %t6167 = ptrtoint ptr %t6166 to i64 + %t6168 = zext i32 %t6165 to i64 + %t6169 = mul i64 %t6168, %t6167 + %t6170 = load ptr, ptr %t6159 + %t6171 = call ptr @realloc(ptr %t6170, i64 %t6169) + store ptr %t6171, ptr %t6159 + store i32 %t6165, ptr %t6158 + br label %put1248 +put1248: + %t6172 = load ptr, ptr %t6159 + %t6173 = getelementptr inbounds ptr, ptr %t6172, i32 %t6160 + store ptr @.str7436, ptr %t6173 + %t6174 = add i32 %t6160, 1 + store i32 %t6174, ptr %t6157 + br label %ifend1244 +ifend1244: + %t6175 = load ptr, ptr %t1 + %t6176 = call i32 @lp_str_eq(ptr %t6175, ptr @.str7437) + %t6177 = icmp ne i32 %t6176, 0 + br i1 %t6177, label %then1249, label %ifend1251 +then1249: + store ptr @.str7438, ptr %t403 + %t6178 = load ptr, ptr %t410 + %t6179 = getelementptr inbounds %LSlice, ptr %t6178, i32 0, i32 1 + %t6180 = getelementptr inbounds %LSlice, ptr %t6178, i32 0, i32 2 + %t6181 = getelementptr inbounds %LSlice, ptr %t6178, i32 0, i32 0 + %t6182 = load i32, ptr %t6179 + %t6183 = load i32, ptr %t6180 + %t6184 = icmp sge i32 %t6182, %t6183 + br i1 %t6184, label %grow1252, label %put1253 +grow1252: + %t6185 = mul i32 %t6183, 2 + %t6186 = icmp eq i32 %t6183, 0 + %t6187 = select i1 %t6186, i32 8, i32 %t6185 + %t6188 = getelementptr ptr, ptr null, i32 1 + %t6189 = ptrtoint ptr %t6188 to i64 + %t6190 = zext i32 %t6187 to i64 + %t6191 = mul i64 %t6190, %t6189 + %t6192 = load ptr, ptr %t6181 + %t6193 = call ptr @realloc(ptr %t6192, i64 %t6191) + store ptr %t6193, ptr %t6181 + store i32 %t6187, ptr %t6180 + br label %put1253 +put1253: + %t6194 = load ptr, ptr %t6181 + %t6195 = getelementptr inbounds ptr, ptr %t6194, i32 %t6182 + store ptr @.str7439, ptr %t6195 + %t6196 = add i32 %t6182, 1 + store i32 %t6196, ptr %t6179 + %t6197 = load ptr, ptr %t410 + %t6198 = getelementptr inbounds %LSlice, ptr %t6197, i32 0, i32 1 + %t6199 = getelementptr inbounds %LSlice, ptr %t6197, i32 0, i32 2 + %t6200 = getelementptr inbounds %LSlice, ptr %t6197, i32 0, i32 0 + %t6201 = load i32, ptr %t6198 + %t6202 = load i32, ptr %t6199 + %t6203 = icmp sge i32 %t6201, %t6202 + br i1 %t6203, label %grow1254, label %put1255 +grow1254: + %t6204 = mul i32 %t6202, 2 + %t6205 = icmp eq i32 %t6202, 0 + %t6206 = select i1 %t6205, i32 8, i32 %t6204 + %t6207 = getelementptr ptr, ptr null, i32 1 + %t6208 = ptrtoint ptr %t6207 to i64 + %t6209 = zext i32 %t6206 to i64 + %t6210 = mul i64 %t6209, %t6208 + %t6211 = load ptr, ptr %t6200 + %t6212 = call ptr @realloc(ptr %t6211, i64 %t6210) + store ptr %t6212, ptr %t6200 + store i32 %t6206, ptr %t6199 + br label %put1255 +put1255: + %t6213 = load ptr, ptr %t6200 + %t6214 = getelementptr inbounds ptr, ptr %t6213, i32 %t6201 + store ptr @.str7440, ptr %t6214 + %t6215 = add i32 %t6201, 1 + store i32 %t6215, ptr %t6198 + %t6216 = load ptr, ptr %t410 + %t6217 = getelementptr inbounds %LSlice, ptr %t6216, i32 0, i32 1 + %t6218 = getelementptr inbounds %LSlice, ptr %t6216, i32 0, i32 2 + %t6219 = getelementptr inbounds %LSlice, ptr %t6216, i32 0, i32 0 + %t6220 = load i32, ptr %t6217 + %t6221 = load i32, ptr %t6218 + %t6222 = icmp sge i32 %t6220, %t6221 + br i1 %t6222, label %grow1256, label %put1257 +grow1256: + %t6223 = mul i32 %t6221, 2 + %t6224 = icmp eq i32 %t6221, 0 + %t6225 = select i1 %t6224, i32 8, i32 %t6223 + %t6226 = getelementptr ptr, ptr null, i32 1 + %t6227 = ptrtoint ptr %t6226 to i64 + %t6228 = zext i32 %t6225 to i64 + %t6229 = mul i64 %t6228, %t6227 + %t6230 = load ptr, ptr %t6219 + %t6231 = call ptr @realloc(ptr %t6230, i64 %t6229) + store ptr %t6231, ptr %t6219 + store i32 %t6225, ptr %t6218 + br label %put1257 +put1257: + %t6232 = load ptr, ptr %t6219 + %t6233 = getelementptr inbounds ptr, ptr %t6232, i32 %t6220 + store ptr @.str7441, ptr %t6233 + %t6234 = add i32 %t6220, 1 + store i32 %t6234, ptr %t6217 + br label %ifend1251 +ifend1251: + %t6235 = load ptr, ptr %t1 + %t6236 = call i32 @lp_str_eq(ptr %t6235, ptr @.str7442) + %t6237 = icmp ne i32 %t6236, 0 + br i1 %t6237, label %then1258, label %ifend1260 +then1258: + store ptr @.str7443, ptr %t403 + %t6238 = load ptr, ptr %t410 + %t6239 = getelementptr inbounds %LSlice, ptr %t6238, i32 0, i32 1 + %t6240 = getelementptr inbounds %LSlice, ptr %t6238, i32 0, i32 2 + %t6241 = getelementptr inbounds %LSlice, ptr %t6238, i32 0, i32 0 + %t6242 = load i32, ptr %t6239 + %t6243 = load i32, ptr %t6240 + %t6244 = icmp sge i32 %t6242, %t6243 + br i1 %t6244, label %grow1261, label %put1262 +grow1261: + %t6245 = mul i32 %t6243, 2 + %t6246 = icmp eq i32 %t6243, 0 + %t6247 = select i1 %t6246, i32 8, i32 %t6245 + %t6248 = getelementptr ptr, ptr null, i32 1 + %t6249 = ptrtoint ptr %t6248 to i64 + %t6250 = zext i32 %t6247 to i64 + %t6251 = mul i64 %t6250, %t6249 + %t6252 = load ptr, ptr %t6241 + %t6253 = call ptr @realloc(ptr %t6252, i64 %t6251) + store ptr %t6253, ptr %t6241 + store i32 %t6247, ptr %t6240 + br label %put1262 +put1262: + %t6254 = load ptr, ptr %t6241 + %t6255 = getelementptr inbounds ptr, ptr %t6254, i32 %t6242 + store ptr @.str7444, ptr %t6255 + %t6256 = add i32 %t6242, 1 + store i32 %t6256, ptr %t6239 + %t6257 = load ptr, ptr %t410 + %t6258 = getelementptr inbounds %LSlice, ptr %t6257, i32 0, i32 1 + %t6259 = getelementptr inbounds %LSlice, ptr %t6257, i32 0, i32 2 + %t6260 = getelementptr inbounds %LSlice, ptr %t6257, i32 0, i32 0 + %t6261 = load i32, ptr %t6258 + %t6262 = load i32, ptr %t6259 + %t6263 = icmp sge i32 %t6261, %t6262 + br i1 %t6263, label %grow1263, label %put1264 +grow1263: + %t6264 = mul i32 %t6262, 2 + %t6265 = icmp eq i32 %t6262, 0 + %t6266 = select i1 %t6265, i32 8, i32 %t6264 + %t6267 = getelementptr ptr, ptr null, i32 1 + %t6268 = ptrtoint ptr %t6267 to i64 + %t6269 = zext i32 %t6266 to i64 + %t6270 = mul i64 %t6269, %t6268 + %t6271 = load ptr, ptr %t6260 + %t6272 = call ptr @realloc(ptr %t6271, i64 %t6270) + store ptr %t6272, ptr %t6260 + store i32 %t6266, ptr %t6259 + br label %put1264 +put1264: + %t6273 = load ptr, ptr %t6260 + %t6274 = getelementptr inbounds ptr, ptr %t6273, i32 %t6261 + store ptr @.str7445, ptr %t6274 + %t6275 = add i32 %t6261, 1 + store i32 %t6275, ptr %t6258 + br label %ifend1260 +ifend1260: + %t6276 = load ptr, ptr %t1 + %t6277 = call i32 @lp_str_eq(ptr %t6276, ptr @.str7446) + %t6278 = icmp ne i32 %t6277, 0 + br i1 %t6278, label %then1265, label %ifend1267 +then1265: + store ptr @.str7447, ptr %t403 + %t6279 = load ptr, ptr %t410 + %t6280 = getelementptr inbounds %LSlice, ptr %t6279, i32 0, i32 1 + %t6281 = getelementptr inbounds %LSlice, ptr %t6279, i32 0, i32 2 + %t6282 = getelementptr inbounds %LSlice, ptr %t6279, i32 0, i32 0 + %t6283 = load i32, ptr %t6280 + %t6284 = load i32, ptr %t6281 + %t6285 = icmp sge i32 %t6283, %t6284 + br i1 %t6285, label %grow1268, label %put1269 +grow1268: + %t6286 = mul i32 %t6284, 2 + %t6287 = icmp eq i32 %t6284, 0 + %t6288 = select i1 %t6287, i32 8, i32 %t6286 + %t6289 = getelementptr ptr, ptr null, i32 1 + %t6290 = ptrtoint ptr %t6289 to i64 + %t6291 = zext i32 %t6288 to i64 + %t6292 = mul i64 %t6291, %t6290 + %t6293 = load ptr, ptr %t6282 + %t6294 = call ptr @realloc(ptr %t6293, i64 %t6292) + store ptr %t6294, ptr %t6282 + store i32 %t6288, ptr %t6281 + br label %put1269 +put1269: + %t6295 = load ptr, ptr %t6282 + %t6296 = getelementptr inbounds ptr, ptr %t6295, i32 %t6283 + store ptr @.str7448, ptr %t6296 + %t6297 = add i32 %t6283, 1 + store i32 %t6297, ptr %t6280 + %t6298 = load ptr, ptr %t410 + %t6299 = getelementptr inbounds %LSlice, ptr %t6298, i32 0, i32 1 + %t6300 = getelementptr inbounds %LSlice, ptr %t6298, i32 0, i32 2 + %t6301 = getelementptr inbounds %LSlice, ptr %t6298, i32 0, i32 0 + %t6302 = load i32, ptr %t6299 + %t6303 = load i32, ptr %t6300 + %t6304 = icmp sge i32 %t6302, %t6303 + br i1 %t6304, label %grow1270, label %put1271 +grow1270: + %t6305 = mul i32 %t6303, 2 + %t6306 = icmp eq i32 %t6303, 0 + %t6307 = select i1 %t6306, i32 8, i32 %t6305 + %t6308 = getelementptr ptr, ptr null, i32 1 + %t6309 = ptrtoint ptr %t6308 to i64 + %t6310 = zext i32 %t6307 to i64 + %t6311 = mul i64 %t6310, %t6309 + %t6312 = load ptr, ptr %t6301 + %t6313 = call ptr @realloc(ptr %t6312, i64 %t6311) + store ptr %t6313, ptr %t6301 + store i32 %t6307, ptr %t6300 + br label %put1271 +put1271: + %t6314 = load ptr, ptr %t6301 + %t6315 = getelementptr inbounds ptr, ptr %t6314, i32 %t6302 + store ptr @.str7449, ptr %t6315 + %t6316 = add i32 %t6302, 1 + store i32 %t6316, ptr %t6299 + %t6317 = load ptr, ptr %t410 + %t6318 = getelementptr inbounds %LSlice, ptr %t6317, i32 0, i32 1 + %t6319 = getelementptr inbounds %LSlice, ptr %t6317, i32 0, i32 2 + %t6320 = getelementptr inbounds %LSlice, ptr %t6317, i32 0, i32 0 + %t6321 = load i32, ptr %t6318 + %t6322 = load i32, ptr %t6319 + %t6323 = icmp sge i32 %t6321, %t6322 + br i1 %t6323, label %grow1272, label %put1273 +grow1272: + %t6324 = mul i32 %t6322, 2 + %t6325 = icmp eq i32 %t6322, 0 + %t6326 = select i1 %t6325, i32 8, i32 %t6324 + %t6327 = getelementptr ptr, ptr null, i32 1 + %t6328 = ptrtoint ptr %t6327 to i64 + %t6329 = zext i32 %t6326 to i64 + %t6330 = mul i64 %t6329, %t6328 + %t6331 = load ptr, ptr %t6320 + %t6332 = call ptr @realloc(ptr %t6331, i64 %t6330) + store ptr %t6332, ptr %t6320 + store i32 %t6326, ptr %t6319 + br label %put1273 +put1273: + %t6333 = load ptr, ptr %t6320 + %t6334 = getelementptr inbounds ptr, ptr %t6333, i32 %t6321 + store ptr @.str7450, ptr %t6334 + %t6335 = add i32 %t6321, 1 + store i32 %t6335, ptr %t6318 + br label %ifend1267 +ifend1267: + %t6336 = load ptr, ptr %t1 + %t6337 = call i32 @lp_str_eq(ptr %t6336, ptr @.str7451) + %t6338 = icmp ne i32 %t6337, 0 + br i1 %t6338, label %then1274, label %ifend1276 +then1274: + store ptr @.str7452, ptr %t403 + %t6339 = load ptr, ptr %t410 + %t6340 = getelementptr inbounds %LSlice, ptr %t6339, i32 0, i32 1 + %t6341 = getelementptr inbounds %LSlice, ptr %t6339, i32 0, i32 2 + %t6342 = getelementptr inbounds %LSlice, ptr %t6339, i32 0, i32 0 + %t6343 = load i32, ptr %t6340 + %t6344 = load i32, ptr %t6341 + %t6345 = icmp sge i32 %t6343, %t6344 + br i1 %t6345, label %grow1277, label %put1278 +grow1277: + %t6346 = mul i32 %t6344, 2 + %t6347 = icmp eq i32 %t6344, 0 + %t6348 = select i1 %t6347, i32 8, i32 %t6346 + %t6349 = getelementptr ptr, ptr null, i32 1 + %t6350 = ptrtoint ptr %t6349 to i64 + %t6351 = zext i32 %t6348 to i64 + %t6352 = mul i64 %t6351, %t6350 + %t6353 = load ptr, ptr %t6342 + %t6354 = call ptr @realloc(ptr %t6353, i64 %t6352) + store ptr %t6354, ptr %t6342 + store i32 %t6348, ptr %t6341 + br label %put1278 +put1278: + %t6355 = load ptr, ptr %t6342 + %t6356 = getelementptr inbounds ptr, ptr %t6355, i32 %t6343 + store ptr @.str7453, ptr %t6356 + %t6357 = add i32 %t6343, 1 + store i32 %t6357, ptr %t6340 + %t6358 = load ptr, ptr %t410 + %t6359 = getelementptr inbounds %LSlice, ptr %t6358, i32 0, i32 1 + %t6360 = getelementptr inbounds %LSlice, ptr %t6358, i32 0, i32 2 + %t6361 = getelementptr inbounds %LSlice, ptr %t6358, i32 0, i32 0 + %t6362 = load i32, ptr %t6359 + %t6363 = load i32, ptr %t6360 + %t6364 = icmp sge i32 %t6362, %t6363 + br i1 %t6364, label %grow1279, label %put1280 +grow1279: + %t6365 = mul i32 %t6363, 2 + %t6366 = icmp eq i32 %t6363, 0 + %t6367 = select i1 %t6366, i32 8, i32 %t6365 + %t6368 = getelementptr ptr, ptr null, i32 1 + %t6369 = ptrtoint ptr %t6368 to i64 + %t6370 = zext i32 %t6367 to i64 + %t6371 = mul i64 %t6370, %t6369 + %t6372 = load ptr, ptr %t6361 + %t6373 = call ptr @realloc(ptr %t6372, i64 %t6371) + store ptr %t6373, ptr %t6361 + store i32 %t6367, ptr %t6360 + br label %put1280 +put1280: + %t6374 = load ptr, ptr %t6361 + %t6375 = getelementptr inbounds ptr, ptr %t6374, i32 %t6362 + store ptr @.str7454, ptr %t6375 + %t6376 = add i32 %t6362, 1 + store i32 %t6376, ptr %t6359 + br label %ifend1276 +ifend1276: + %t6377 = load ptr, ptr %t1 + %t6378 = call i32 @lp_str_eq(ptr %t6377, ptr @.str7455) + %t6379 = icmp ne i32 %t6378, 0 + br i1 %t6379, label %then1281, label %ifend1283 +then1281: + store ptr @.str7456, ptr %t403 + %t6380 = load ptr, ptr %t410 + %t6381 = getelementptr inbounds %LSlice, ptr %t6380, i32 0, i32 1 + %t6382 = getelementptr inbounds %LSlice, ptr %t6380, i32 0, i32 2 + %t6383 = getelementptr inbounds %LSlice, ptr %t6380, i32 0, i32 0 + %t6384 = load i32, ptr %t6381 + %t6385 = load i32, ptr %t6382 + %t6386 = icmp sge i32 %t6384, %t6385 + br i1 %t6386, label %grow1284, label %put1285 +grow1284: + %t6387 = mul i32 %t6385, 2 + %t6388 = icmp eq i32 %t6385, 0 + %t6389 = select i1 %t6388, i32 8, i32 %t6387 + %t6390 = getelementptr ptr, ptr null, i32 1 + %t6391 = ptrtoint ptr %t6390 to i64 + %t6392 = zext i32 %t6389 to i64 + %t6393 = mul i64 %t6392, %t6391 + %t6394 = load ptr, ptr %t6383 + %t6395 = call ptr @realloc(ptr %t6394, i64 %t6393) + store ptr %t6395, ptr %t6383 + store i32 %t6389, ptr %t6382 + br label %put1285 +put1285: + %t6396 = load ptr, ptr %t6383 + %t6397 = getelementptr inbounds ptr, ptr %t6396, i32 %t6384 + store ptr @.str7457, ptr %t6397 + %t6398 = add i32 %t6384, 1 + store i32 %t6398, ptr %t6381 + %t6399 = load ptr, ptr %t410 + %t6400 = getelementptr inbounds %LSlice, ptr %t6399, i32 0, i32 1 + %t6401 = getelementptr inbounds %LSlice, ptr %t6399, i32 0, i32 2 + %t6402 = getelementptr inbounds %LSlice, ptr %t6399, i32 0, i32 0 + %t6403 = load i32, ptr %t6400 + %t6404 = load i32, ptr %t6401 + %t6405 = icmp sge i32 %t6403, %t6404 + br i1 %t6405, label %grow1286, label %put1287 +grow1286: + %t6406 = mul i32 %t6404, 2 + %t6407 = icmp eq i32 %t6404, 0 + %t6408 = select i1 %t6407, i32 8, i32 %t6406 + %t6409 = getelementptr ptr, ptr null, i32 1 + %t6410 = ptrtoint ptr %t6409 to i64 + %t6411 = zext i32 %t6408 to i64 + %t6412 = mul i64 %t6411, %t6410 + %t6413 = load ptr, ptr %t6402 + %t6414 = call ptr @realloc(ptr %t6413, i64 %t6412) + store ptr %t6414, ptr %t6402 + store i32 %t6408, ptr %t6401 + br label %put1287 +put1287: + %t6415 = load ptr, ptr %t6402 + %t6416 = getelementptr inbounds ptr, ptr %t6415, i32 %t6403 + store ptr @.str7458, ptr %t6416 + %t6417 = add i32 %t6403, 1 + store i32 %t6417, ptr %t6400 + %t6418 = load ptr, ptr %t410 + %t6419 = getelementptr inbounds %LSlice, ptr %t6418, i32 0, i32 1 + %t6420 = getelementptr inbounds %LSlice, ptr %t6418, i32 0, i32 2 + %t6421 = getelementptr inbounds %LSlice, ptr %t6418, i32 0, i32 0 + %t6422 = load i32, ptr %t6419 + %t6423 = load i32, ptr %t6420 + %t6424 = icmp sge i32 %t6422, %t6423 + br i1 %t6424, label %grow1288, label %put1289 +grow1288: + %t6425 = mul i32 %t6423, 2 + %t6426 = icmp eq i32 %t6423, 0 + %t6427 = select i1 %t6426, i32 8, i32 %t6425 + %t6428 = getelementptr ptr, ptr null, i32 1 + %t6429 = ptrtoint ptr %t6428 to i64 + %t6430 = zext i32 %t6427 to i64 + %t6431 = mul i64 %t6430, %t6429 + %t6432 = load ptr, ptr %t6421 + %t6433 = call ptr @realloc(ptr %t6432, i64 %t6431) + store ptr %t6433, ptr %t6421 + store i32 %t6427, ptr %t6420 + br label %put1289 +put1289: + %t6434 = load ptr, ptr %t6421 + %t6435 = getelementptr inbounds ptr, ptr %t6434, i32 %t6422 + store ptr @.str7459, ptr %t6435 + %t6436 = add i32 %t6422, 1 + store i32 %t6436, ptr %t6419 + br label %ifend1283 +ifend1283: + %t6437 = load ptr, ptr %t1 + %t6438 = call i32 @lp_str_eq(ptr %t6437, ptr @.str7460) + %t6439 = icmp ne i32 %t6438, 0 + br i1 %t6439, label %then1290, label %ifend1292 +then1290: + store ptr @.str7461, ptr %t403 + %t6440 = load ptr, ptr %t410 + %t6441 = getelementptr inbounds %LSlice, ptr %t6440, i32 0, i32 1 + %t6442 = getelementptr inbounds %LSlice, ptr %t6440, i32 0, i32 2 + %t6443 = getelementptr inbounds %LSlice, ptr %t6440, i32 0, i32 0 + %t6444 = load i32, ptr %t6441 + %t6445 = load i32, ptr %t6442 + %t6446 = icmp sge i32 %t6444, %t6445 + br i1 %t6446, label %grow1293, label %put1294 +grow1293: + %t6447 = mul i32 %t6445, 2 + %t6448 = icmp eq i32 %t6445, 0 + %t6449 = select i1 %t6448, i32 8, i32 %t6447 + %t6450 = getelementptr ptr, ptr null, i32 1 + %t6451 = ptrtoint ptr %t6450 to i64 + %t6452 = zext i32 %t6449 to i64 + %t6453 = mul i64 %t6452, %t6451 + %t6454 = load ptr, ptr %t6443 + %t6455 = call ptr @realloc(ptr %t6454, i64 %t6453) + store ptr %t6455, ptr %t6443 + store i32 %t6449, ptr %t6442 + br label %put1294 +put1294: + %t6456 = load ptr, ptr %t6443 + %t6457 = getelementptr inbounds ptr, ptr %t6456, i32 %t6444 + store ptr @.str7462, ptr %t6457 + %t6458 = add i32 %t6444, 1 + store i32 %t6458, ptr %t6441 + br label %ifend1292 +ifend1292: + %t6459 = load ptr, ptr %t1 + %t6460 = call i32 @lp_str_eq(ptr %t6459, ptr @.str7463) + %t6461 = icmp ne i32 %t6460, 0 + br i1 %t6461, label %then1295, label %ifend1297 +then1295: + store ptr @.str7464, ptr %t403 + %t6462 = load ptr, ptr %t410 + %t6463 = getelementptr inbounds %LSlice, ptr %t6462, i32 0, i32 1 + %t6464 = getelementptr inbounds %LSlice, ptr %t6462, i32 0, i32 2 + %t6465 = getelementptr inbounds %LSlice, ptr %t6462, i32 0, i32 0 + %t6466 = load i32, ptr %t6463 + %t6467 = load i32, ptr %t6464 + %t6468 = icmp sge i32 %t6466, %t6467 + br i1 %t6468, label %grow1298, label %put1299 +grow1298: + %t6469 = mul i32 %t6467, 2 + %t6470 = icmp eq i32 %t6467, 0 + %t6471 = select i1 %t6470, i32 8, i32 %t6469 + %t6472 = getelementptr ptr, ptr null, i32 1 + %t6473 = ptrtoint ptr %t6472 to i64 + %t6474 = zext i32 %t6471 to i64 + %t6475 = mul i64 %t6474, %t6473 + %t6476 = load ptr, ptr %t6465 + %t6477 = call ptr @realloc(ptr %t6476, i64 %t6475) + store ptr %t6477, ptr %t6465 + store i32 %t6471, ptr %t6464 + br label %put1299 +put1299: + %t6478 = load ptr, ptr %t6465 + %t6479 = getelementptr inbounds ptr, ptr %t6478, i32 %t6466 + store ptr @.str7465, ptr %t6479 + %t6480 = add i32 %t6466, 1 + store i32 %t6480, ptr %t6463 + br label %ifend1297 +ifend1297: + %t6481 = load ptr, ptr %t1 + %t6482 = call i32 @lp_str_eq(ptr %t6481, ptr @.str7466) + %t6483 = icmp ne i32 %t6482, 0 + br i1 %t6483, label %then1300, label %ifend1302 +then1300: + store ptr @.str7467, ptr %t403 + %t6484 = load ptr, ptr %t410 + %t6485 = getelementptr inbounds %LSlice, ptr %t6484, i32 0, i32 1 + %t6486 = getelementptr inbounds %LSlice, ptr %t6484, i32 0, i32 2 + %t6487 = getelementptr inbounds %LSlice, ptr %t6484, i32 0, i32 0 + %t6488 = load i32, ptr %t6485 + %t6489 = load i32, ptr %t6486 + %t6490 = icmp sge i32 %t6488, %t6489 + br i1 %t6490, label %grow1303, label %put1304 +grow1303: + %t6491 = mul i32 %t6489, 2 + %t6492 = icmp eq i32 %t6489, 0 + %t6493 = select i1 %t6492, i32 8, i32 %t6491 + %t6494 = getelementptr ptr, ptr null, i32 1 + %t6495 = ptrtoint ptr %t6494 to i64 + %t6496 = zext i32 %t6493 to i64 + %t6497 = mul i64 %t6496, %t6495 + %t6498 = load ptr, ptr %t6487 + %t6499 = call ptr @realloc(ptr %t6498, i64 %t6497) + store ptr %t6499, ptr %t6487 + store i32 %t6493, ptr %t6486 + br label %put1304 +put1304: + %t6500 = load ptr, ptr %t6487 + %t6501 = getelementptr inbounds ptr, ptr %t6500, i32 %t6488 + store ptr @.str7468, ptr %t6501 + %t6502 = add i32 %t6488, 1 + store i32 %t6502, ptr %t6485 + br label %ifend1302 +ifend1302: + %t6503 = load ptr, ptr %t1 + %t6504 = call i32 @lp_str_eq(ptr %t6503, ptr @.str7469) + %t6505 = icmp ne i32 %t6504, 0 + br i1 %t6505, label %then1305, label %ifend1307 +then1305: + store ptr @.str7470, ptr %t403 + %t6506 = load ptr, ptr %t410 + %t6507 = getelementptr inbounds %LSlice, ptr %t6506, i32 0, i32 1 + %t6508 = getelementptr inbounds %LSlice, ptr %t6506, i32 0, i32 2 + %t6509 = getelementptr inbounds %LSlice, ptr %t6506, i32 0, i32 0 + %t6510 = load i32, ptr %t6507 + %t6511 = load i32, ptr %t6508 + %t6512 = icmp sge i32 %t6510, %t6511 + br i1 %t6512, label %grow1308, label %put1309 +grow1308: + %t6513 = mul i32 %t6511, 2 + %t6514 = icmp eq i32 %t6511, 0 + %t6515 = select i1 %t6514, i32 8, i32 %t6513 + %t6516 = getelementptr ptr, ptr null, i32 1 + %t6517 = ptrtoint ptr %t6516 to i64 + %t6518 = zext i32 %t6515 to i64 + %t6519 = mul i64 %t6518, %t6517 + %t6520 = load ptr, ptr %t6509 + %t6521 = call ptr @realloc(ptr %t6520, i64 %t6519) + store ptr %t6521, ptr %t6509 + store i32 %t6515, ptr %t6508 + br label %put1309 +put1309: + %t6522 = load ptr, ptr %t6509 + %t6523 = getelementptr inbounds ptr, ptr %t6522, i32 %t6510 + store ptr @.str7471, ptr %t6523 + %t6524 = add i32 %t6510, 1 + store i32 %t6524, ptr %t6507 + br label %ifend1307 +ifend1307: + %t6525 = load ptr, ptr %t1 + %t6526 = call i32 @lp_str_eq(ptr %t6525, ptr @.str7472) + %t6527 = icmp ne i32 %t6526, 0 + br i1 %t6527, label %then1310, label %ifend1312 +then1310: + store ptr @.str7473, ptr %t403 + %t6528 = load ptr, ptr %t410 + %t6529 = getelementptr inbounds %LSlice, ptr %t6528, i32 0, i32 1 + %t6530 = getelementptr inbounds %LSlice, ptr %t6528, i32 0, i32 2 + %t6531 = getelementptr inbounds %LSlice, ptr %t6528, i32 0, i32 0 + %t6532 = load i32, ptr %t6529 + %t6533 = load i32, ptr %t6530 + %t6534 = icmp sge i32 %t6532, %t6533 + br i1 %t6534, label %grow1313, label %put1314 +grow1313: + %t6535 = mul i32 %t6533, 2 + %t6536 = icmp eq i32 %t6533, 0 + %t6537 = select i1 %t6536, i32 8, i32 %t6535 + %t6538 = getelementptr ptr, ptr null, i32 1 + %t6539 = ptrtoint ptr %t6538 to i64 + %t6540 = zext i32 %t6537 to i64 + %t6541 = mul i64 %t6540, %t6539 + %t6542 = load ptr, ptr %t6531 + %t6543 = call ptr @realloc(ptr %t6542, i64 %t6541) + store ptr %t6543, ptr %t6531 + store i32 %t6537, ptr %t6530 + br label %put1314 +put1314: + %t6544 = load ptr, ptr %t6531 + %t6545 = getelementptr inbounds ptr, ptr %t6544, i32 %t6532 + store ptr @.str7474, ptr %t6545 + %t6546 = add i32 %t6532, 1 + store i32 %t6546, ptr %t6529 + br label %ifend1312 +ifend1312: + %t6547 = load ptr, ptr %t1 + %t6548 = call i32 @lp_str_eq(ptr %t6547, ptr @.str7475) + %t6549 = icmp ne i32 %t6548, 0 + br i1 %t6549, label %then1315, label %ifend1317 +then1315: + store ptr @.str7476, ptr %t403 + %t6550 = load ptr, ptr %t410 + %t6551 = getelementptr inbounds %LSlice, ptr %t6550, i32 0, i32 1 + %t6552 = getelementptr inbounds %LSlice, ptr %t6550, i32 0, i32 2 + %t6553 = getelementptr inbounds %LSlice, ptr %t6550, i32 0, i32 0 + %t6554 = load i32, ptr %t6551 + %t6555 = load i32, ptr %t6552 + %t6556 = icmp sge i32 %t6554, %t6555 + br i1 %t6556, label %grow1318, label %put1319 +grow1318: + %t6557 = mul i32 %t6555, 2 + %t6558 = icmp eq i32 %t6555, 0 + %t6559 = select i1 %t6558, i32 8, i32 %t6557 + %t6560 = getelementptr ptr, ptr null, i32 1 + %t6561 = ptrtoint ptr %t6560 to i64 + %t6562 = zext i32 %t6559 to i64 + %t6563 = mul i64 %t6562, %t6561 + %t6564 = load ptr, ptr %t6553 + %t6565 = call ptr @realloc(ptr %t6564, i64 %t6563) + store ptr %t6565, ptr %t6553 + store i32 %t6559, ptr %t6552 + br label %put1319 +put1319: + %t6566 = load ptr, ptr %t6553 + %t6567 = getelementptr inbounds ptr, ptr %t6566, i32 %t6554 + store ptr @.str7477, ptr %t6567 + %t6568 = add i32 %t6554, 1 + store i32 %t6568, ptr %t6551 + br label %ifend1317 +ifend1317: + %t6569 = load ptr, ptr %t1 + %t6570 = call i32 @lp_str_eq(ptr %t6569, ptr @.str7478) + %t6571 = icmp ne i32 %t6570, 0 + br i1 %t6571, label %then1320, label %ifend1322 +then1320: + store ptr @.str7479, ptr %t403 + %t6572 = load ptr, ptr %t410 + %t6573 = getelementptr inbounds %LSlice, ptr %t6572, i32 0, i32 1 + %t6574 = getelementptr inbounds %LSlice, ptr %t6572, i32 0, i32 2 + %t6575 = getelementptr inbounds %LSlice, ptr %t6572, i32 0, i32 0 + %t6576 = load i32, ptr %t6573 + %t6577 = load i32, ptr %t6574 + %t6578 = icmp sge i32 %t6576, %t6577 + br i1 %t6578, label %grow1323, label %put1324 +grow1323: + %t6579 = mul i32 %t6577, 2 + %t6580 = icmp eq i32 %t6577, 0 + %t6581 = select i1 %t6580, i32 8, i32 %t6579 + %t6582 = getelementptr ptr, ptr null, i32 1 + %t6583 = ptrtoint ptr %t6582 to i64 + %t6584 = zext i32 %t6581 to i64 + %t6585 = mul i64 %t6584, %t6583 + %t6586 = load ptr, ptr %t6575 + %t6587 = call ptr @realloc(ptr %t6586, i64 %t6585) + store ptr %t6587, ptr %t6575 + store i32 %t6581, ptr %t6574 + br label %put1324 +put1324: + %t6588 = load ptr, ptr %t6575 + %t6589 = getelementptr inbounds ptr, ptr %t6588, i32 %t6576 + store ptr @.str7480, ptr %t6589 + %t6590 = add i32 %t6576, 1 + store i32 %t6590, ptr %t6573 + %t6591 = load ptr, ptr %t410 + %t6592 = getelementptr inbounds %LSlice, ptr %t6591, i32 0, i32 1 + %t6593 = getelementptr inbounds %LSlice, ptr %t6591, i32 0, i32 2 + %t6594 = getelementptr inbounds %LSlice, ptr %t6591, i32 0, i32 0 + %t6595 = load i32, ptr %t6592 + %t6596 = load i32, ptr %t6593 + %t6597 = icmp sge i32 %t6595, %t6596 + br i1 %t6597, label %grow1325, label %put1326 +grow1325: + %t6598 = mul i32 %t6596, 2 + %t6599 = icmp eq i32 %t6596, 0 + %t6600 = select i1 %t6599, i32 8, i32 %t6598 + %t6601 = getelementptr ptr, ptr null, i32 1 + %t6602 = ptrtoint ptr %t6601 to i64 + %t6603 = zext i32 %t6600 to i64 + %t6604 = mul i64 %t6603, %t6602 + %t6605 = load ptr, ptr %t6594 + %t6606 = call ptr @realloc(ptr %t6605, i64 %t6604) + store ptr %t6606, ptr %t6594 + store i32 %t6600, ptr %t6593 + br label %put1326 +put1326: + %t6607 = load ptr, ptr %t6594 + %t6608 = getelementptr inbounds ptr, ptr %t6607, i32 %t6595 + store ptr @.str7481, ptr %t6608 + %t6609 = add i32 %t6595, 1 + store i32 %t6609, ptr %t6592 + br label %ifend1322 +ifend1322: + %t6610 = load ptr, ptr %t1 + %t6611 = call i32 @lp_str_eq(ptr %t6610, ptr @.str7482) + %t6612 = icmp ne i32 %t6611, 0 + br i1 %t6612, label %then1327, label %ifend1329 +then1327: + store ptr @.str7483, ptr %t403 + %t6613 = load ptr, ptr %t410 + %t6614 = getelementptr inbounds %LSlice, ptr %t6613, i32 0, i32 1 + %t6615 = getelementptr inbounds %LSlice, ptr %t6613, i32 0, i32 2 + %t6616 = getelementptr inbounds %LSlice, ptr %t6613, i32 0, i32 0 + %t6617 = load i32, ptr %t6614 + %t6618 = load i32, ptr %t6615 + %t6619 = icmp sge i32 %t6617, %t6618 + br i1 %t6619, label %grow1330, label %put1331 +grow1330: + %t6620 = mul i32 %t6618, 2 + %t6621 = icmp eq i32 %t6618, 0 + %t6622 = select i1 %t6621, i32 8, i32 %t6620 + %t6623 = getelementptr ptr, ptr null, i32 1 + %t6624 = ptrtoint ptr %t6623 to i64 + %t6625 = zext i32 %t6622 to i64 + %t6626 = mul i64 %t6625, %t6624 + %t6627 = load ptr, ptr %t6616 + %t6628 = call ptr @realloc(ptr %t6627, i64 %t6626) + store ptr %t6628, ptr %t6616 + store i32 %t6622, ptr %t6615 + br label %put1331 +put1331: + %t6629 = load ptr, ptr %t6616 + %t6630 = getelementptr inbounds ptr, ptr %t6629, i32 %t6617 + store ptr @.str7484, ptr %t6630 + %t6631 = add i32 %t6617, 1 + store i32 %t6631, ptr %t6614 + br label %ifend1329 +ifend1329: + %t6632 = load ptr, ptr %t1 + %t6633 = call i32 @lp_str_eq(ptr %t6632, ptr @.str7485) + %t6634 = icmp ne i32 %t6633, 0 + br i1 %t6634, label %then1332, label %ifend1334 +then1332: + store ptr @.str7486, ptr %t403 + %t6635 = load ptr, ptr %t410 + %t6636 = getelementptr inbounds %LSlice, ptr %t6635, i32 0, i32 1 + %t6637 = getelementptr inbounds %LSlice, ptr %t6635, i32 0, i32 2 + %t6638 = getelementptr inbounds %LSlice, ptr %t6635, i32 0, i32 0 + %t6639 = load i32, ptr %t6636 + %t6640 = load i32, ptr %t6637 + %t6641 = icmp sge i32 %t6639, %t6640 + br i1 %t6641, label %grow1335, label %put1336 +grow1335: + %t6642 = mul i32 %t6640, 2 + %t6643 = icmp eq i32 %t6640, 0 + %t6644 = select i1 %t6643, i32 8, i32 %t6642 + %t6645 = getelementptr ptr, ptr null, i32 1 + %t6646 = ptrtoint ptr %t6645 to i64 + %t6647 = zext i32 %t6644 to i64 + %t6648 = mul i64 %t6647, %t6646 + %t6649 = load ptr, ptr %t6638 + %t6650 = call ptr @realloc(ptr %t6649, i64 %t6648) + store ptr %t6650, ptr %t6638 + store i32 %t6644, ptr %t6637 + br label %put1336 +put1336: + %t6651 = load ptr, ptr %t6638 + %t6652 = getelementptr inbounds ptr, ptr %t6651, i32 %t6639 + store ptr @.str7487, ptr %t6652 + %t6653 = add i32 %t6639, 1 + store i32 %t6653, ptr %t6636 + %t6654 = load ptr, ptr %t410 + %t6655 = getelementptr inbounds %LSlice, ptr %t6654, i32 0, i32 1 + %t6656 = getelementptr inbounds %LSlice, ptr %t6654, i32 0, i32 2 + %t6657 = getelementptr inbounds %LSlice, ptr %t6654, i32 0, i32 0 + %t6658 = load i32, ptr %t6655 + %t6659 = load i32, ptr %t6656 + %t6660 = icmp sge i32 %t6658, %t6659 + br i1 %t6660, label %grow1337, label %put1338 +grow1337: + %t6661 = mul i32 %t6659, 2 + %t6662 = icmp eq i32 %t6659, 0 + %t6663 = select i1 %t6662, i32 8, i32 %t6661 + %t6664 = getelementptr ptr, ptr null, i32 1 + %t6665 = ptrtoint ptr %t6664 to i64 + %t6666 = zext i32 %t6663 to i64 + %t6667 = mul i64 %t6666, %t6665 + %t6668 = load ptr, ptr %t6657 + %t6669 = call ptr @realloc(ptr %t6668, i64 %t6667) + store ptr %t6669, ptr %t6657 + store i32 %t6663, ptr %t6656 + br label %put1338 +put1338: + %t6670 = load ptr, ptr %t6657 + %t6671 = getelementptr inbounds ptr, ptr %t6670, i32 %t6658 + store ptr @.str7488, ptr %t6671 + %t6672 = add i32 %t6658, 1 + store i32 %t6672, ptr %t6655 + br label %ifend1334 +ifend1334: + br label %ifend1236 +ifend1236: + %t6673 = load ptr, ptr %t0 + %t6674 = call i32 @lp_str_eq(ptr %t6673, ptr @.str7489) + %t6675 = icmp ne i32 %t6674, 0 + br i1 %t6675, label %then1339, label %ifend1341 +then1339: + %t6676 = load ptr, ptr %t1 + %t6677 = call i32 @lp_str_eq(ptr %t6676, ptr @.str7490) + %t6678 = icmp ne i32 %t6677, 0 + br i1 %t6678, label %then1342, label %ifend1344 +then1342: + store ptr @.str7491, ptr %t403 + br label %ifend1344 +ifend1344: + %t6679 = load ptr, ptr %t1 + %t6680 = call i32 @lp_str_eq(ptr %t6679, ptr @.str7492) + %t6681 = icmp ne i32 %t6680, 0 + br i1 %t6681, label %then1345, label %ifend1347 +then1345: + store ptr @.str7493, ptr %t403 + br label %ifend1347 +ifend1347: + %t6682 = load ptr, ptr %t1 + %t6683 = call i32 @lp_str_eq(ptr %t6682, ptr @.str7494) + %t6684 = icmp ne i32 %t6683, 0 + br i1 %t6684, label %then1348, label %ifend1350 +then1348: + store ptr @.str7495, ptr %t403 + br label %ifend1350 +ifend1350: + %t6685 = load ptr, ptr %t1 + %t6686 = call i32 @lp_str_eq(ptr %t6685, ptr @.str7496) + %t6687 = icmp ne i32 %t6686, 0 + br i1 %t6687, label %then1351, label %ifend1353 +then1351: + store ptr @.str7497, ptr %t403 + br label %ifend1353 +ifend1353: + %t6688 = load ptr, ptr %t1 + %t6689 = call i32 @lp_str_eq(ptr %t6688, ptr @.str7498) + %t6690 = icmp ne i32 %t6689, 0 + br i1 %t6690, label %then1354, label %ifend1356 +then1354: + store ptr @.str7499, ptr %t403 + br label %ifend1356 +ifend1356: + %t6691 = load ptr, ptr %t1 + %t6692 = call i32 @lp_str_eq(ptr %t6691, ptr @.str7500) + %t6693 = icmp ne i32 %t6692, 0 + br i1 %t6693, label %then1357, label %ifend1359 +then1357: + store ptr @.str7501, ptr %t403 + br label %ifend1359 +ifend1359: + %t6694 = load ptr, ptr %t1 + %t6695 = call i32 @lp_str_eq(ptr %t6694, ptr @.str7502) + %t6696 = icmp ne i32 %t6695, 0 + br i1 %t6696, label %then1360, label %ifend1362 +then1360: + store ptr @.str7503, ptr %t403 + br label %ifend1362 +ifend1362: + %t6697 = load ptr, ptr %t1 + %t6698 = call i32 @lp_str_eq(ptr %t6697, ptr @.str7504) + %t6699 = icmp ne i32 %t6698, 0 + br i1 %t6699, label %then1363, label %ifend1365 +then1363: + store ptr @.str7505, ptr %t403 + br label %ifend1365 +ifend1365: + %t6700 = load ptr, ptr %t1 + %t6701 = call i32 @lp_str_eq(ptr %t6700, ptr @.str7506) + %t6702 = icmp ne i32 %t6701, 0 + br i1 %t6702, label %then1366, label %ifend1368 +then1366: + store ptr @.str7507, ptr %t403 + br label %ifend1368 +ifend1368: + %t6703 = load ptr, ptr %t1 + %t6704 = call i32 @lp_str_eq(ptr %t6703, ptr @.str7508) + %t6705 = icmp ne i32 %t6704, 0 + br i1 %t6705, label %then1369, label %ifend1371 +then1369: + store ptr @.str7509, ptr %t403 + br label %ifend1371 +ifend1371: + %t6706 = load ptr, ptr %t1 + %t6707 = call i32 @lp_str_eq(ptr %t6706, ptr @.str7510) + %t6708 = icmp ne i32 %t6707, 0 + br i1 %t6708, label %then1372, label %ifend1374 +then1372: + store ptr @.str7511, ptr %t403 + br label %ifend1374 +ifend1374: + %t6709 = load ptr, ptr %t1 + %t6710 = call i32 @lp_str_eq(ptr %t6709, ptr @.str7512) + %t6711 = icmp ne i32 %t6710, 0 + br i1 %t6711, label %then1375, label %ifend1377 +then1375: + store ptr @.str7513, ptr %t403 + br label %ifend1377 +ifend1377: + %t6712 = load ptr, ptr %t1 + %t6713 = call i32 @lp_str_eq(ptr %t6712, ptr @.str7514) + %t6714 = icmp ne i32 %t6713, 0 + br i1 %t6714, label %then1378, label %ifend1380 +then1378: + store ptr @.str7515, ptr %t403 + br label %ifend1380 +ifend1380: + %t6715 = load ptr, ptr %t1 + %t6716 = call i32 @lp_str_eq(ptr %t6715, ptr @.str7516) + %t6717 = icmp ne i32 %t6716, 0 + br i1 %t6717, label %then1381, label %ifend1383 +then1381: + store ptr @.str7517, ptr %t403 + br label %ifend1383 +ifend1383: + %t6718 = load ptr, ptr %t1 + %t6719 = call i32 @lp_str_eq(ptr %t6718, ptr @.str7518) + %t6720 = icmp ne i32 %t6719, 0 + br i1 %t6720, label %then1384, label %ifend1386 +then1384: + store ptr @.str7519, ptr %t403 + br label %ifend1386 +ifend1386: + %t6721 = load ptr, ptr %t1 + %t6722 = call i32 @lp_str_eq(ptr %t6721, ptr @.str7520) + %t6723 = icmp ne i32 %t6722, 0 + br i1 %t6723, label %then1387, label %ifend1389 +then1387: + store ptr @.str7521, ptr %t403 + br label %ifend1389 +ifend1389: + %t6724 = load ptr, ptr %t1 + %t6725 = call i32 @lp_str_eq(ptr %t6724, ptr @.str7522) + %t6726 = icmp ne i32 %t6725, 0 + br i1 %t6726, label %then1390, label %ifend1392 +then1390: + store ptr @.str7523, ptr %t403 + br label %ifend1392 +ifend1392: + br label %ifend1341 +ifend1341: + %t6727 = load ptr, ptr %t0 + %t6728 = call i32 @lp_str_eq(ptr %t6727, ptr @.str7524) + %t6729 = icmp ne i32 %t6728, 0 + br i1 %t6729, label %then1393, label %ifend1395 +then1393: + %t6730 = load ptr, ptr %t1 + %t6731 = call i32 @lp_str_eq(ptr %t6730, ptr @.str7525) + %t6732 = icmp ne i32 %t6731, 0 + br i1 %t6732, label %then1396, label %ifend1398 +then1396: + store ptr @.str7526, ptr %t403 + br label %ifend1398 +ifend1398: + %t6733 = load ptr, ptr %t1 + %t6734 = call i32 @lp_str_eq(ptr %t6733, ptr @.str7527) + %t6735 = icmp ne i32 %t6734, 0 + br i1 %t6735, label %then1399, label %ifend1401 +then1399: + store ptr @.str7528, ptr %t403 + br label %ifend1401 +ifend1401: + %t6736 = load ptr, ptr %t1 + %t6737 = call i32 @lp_str_eq(ptr %t6736, ptr @.str7529) + %t6738 = icmp ne i32 %t6737, 0 + br i1 %t6738, label %then1402, label %ifend1404 +then1402: + store ptr @.str7530, ptr %t403 + br label %ifend1404 +ifend1404: + %t6739 = load ptr, ptr %t1 + %t6740 = call i32 @lp_str_eq(ptr %t6739, ptr @.str7531) + %t6741 = icmp ne i32 %t6740, 0 + br i1 %t6741, label %then1405, label %ifend1407 +then1405: + store ptr @.str7532, ptr %t403 + br label %ifend1407 +ifend1407: + %t6742 = load ptr, ptr %t1 + %t6743 = call i32 @lp_str_eq(ptr %t6742, ptr @.str7533) + %t6744 = icmp ne i32 %t6743, 0 + br i1 %t6744, label %then1408, label %ifend1410 +then1408: + store ptr @.str7534, ptr %t403 + br label %ifend1410 +ifend1410: + %t6745 = load ptr, ptr %t1 + %t6746 = call i32 @lp_str_eq(ptr %t6745, ptr @.str7535) + %t6747 = icmp ne i32 %t6746, 0 + br i1 %t6747, label %then1411, label %ifend1413 +then1411: + store ptr @.str7536, ptr %t403 + br label %ifend1413 +ifend1413: + %t6748 = load ptr, ptr %t1 + %t6749 = call i32 @lp_str_eq(ptr %t6748, ptr @.str7537) + %t6750 = icmp ne i32 %t6749, 0 + br i1 %t6750, label %then1414, label %ifend1416 +then1414: + store ptr @.str7538, ptr %t403 + br label %ifend1416 +ifend1416: + %t6751 = load ptr, ptr %t1 + %t6752 = call i32 @lp_str_eq(ptr %t6751, ptr @.str7539) + %t6753 = icmp ne i32 %t6752, 0 + br i1 %t6753, label %then1417, label %ifend1419 +then1417: + store ptr @.str7540, ptr %t403 + br label %ifend1419 +ifend1419: + %t6754 = load ptr, ptr %t1 + %t6755 = call i32 @lp_str_eq(ptr %t6754, ptr @.str7541) + %t6756 = icmp ne i32 %t6755, 0 + br i1 %t6756, label %then1420, label %ifend1422 +then1420: + store ptr @.str7542, ptr %t403 + br label %ifend1422 +ifend1422: + br label %ifend1395 +ifend1395: + %t6757 = load ptr, ptr %t0 + %t6758 = call i32 @lp_str_eq(ptr %t6757, ptr @.str7543) + %t6759 = icmp ne i32 %t6758, 0 + br i1 %t6759, label %then1423, label %ifend1425 +then1423: + %t6760 = load ptr, ptr %t1 + %t6761 = call i32 @lp_str_eq(ptr %t6760, ptr @.str7544) + %t6762 = icmp ne i32 %t6761, 0 + br i1 %t6762, label %then1426, label %ifend1428 +then1426: + store ptr @.str7545, ptr %t403 + br label %ifend1428 +ifend1428: + %t6763 = load ptr, ptr %t1 + %t6764 = call i32 @lp_str_eq(ptr %t6763, ptr @.str7546) + %t6765 = icmp ne i32 %t6764, 0 + br i1 %t6765, label %then1429, label %ifend1431 +then1429: + store ptr @.str7547, ptr %t403 + br label %ifend1431 +ifend1431: + %t6766 = load ptr, ptr %t1 + %t6767 = call i32 @lp_str_eq(ptr %t6766, ptr @.str7548) + %t6768 = icmp ne i32 %t6767, 0 + br i1 %t6768, label %then1432, label %ifend1434 +then1432: + store ptr @.str7549, ptr %t403 + br label %ifend1434 +ifend1434: + %t6769 = load ptr, ptr %t1 + %t6770 = call i32 @lp_str_eq(ptr %t6769, ptr @.str7550) + %t6771 = icmp ne i32 %t6770, 0 + br i1 %t6771, label %then1435, label %ifend1437 +then1435: + store ptr @.str7551, ptr %t403 + br label %ifend1437 +ifend1437: + %t6772 = load ptr, ptr %t1 + %t6773 = call i32 @lp_str_eq(ptr %t6772, ptr @.str7552) + %t6774 = icmp ne i32 %t6773, 0 + br i1 %t6774, label %then1438, label %ifend1440 +then1438: + store ptr @.str7553, ptr %t403 + br label %ifend1440 +ifend1440: + %t6775 = load ptr, ptr %t1 + %t6776 = call i32 @lp_str_eq(ptr %t6775, ptr @.str7554) + %t6777 = icmp ne i32 %t6776, 0 + br i1 %t6777, label %then1441, label %ifend1443 +then1441: + store ptr @.str7555, ptr %t403 + br label %ifend1443 +ifend1443: + %t6778 = load ptr, ptr %t1 + %t6779 = call i32 @lp_str_eq(ptr %t6778, ptr @.str7556) + %t6780 = icmp ne i32 %t6779, 0 + br i1 %t6780, label %then1444, label %ifend1446 +then1444: + store ptr @.str7557, ptr %t403 + br label %ifend1446 +ifend1446: + %t6781 = load ptr, ptr %t1 + %t6782 = call i32 @lp_str_eq(ptr %t6781, ptr @.str7558) + %t6783 = icmp ne i32 %t6782, 0 + br i1 %t6783, label %then1447, label %ifend1449 +then1447: + store ptr @.str7559, ptr %t403 + br label %ifend1449 +ifend1449: + br label %ifend1425 +ifend1425: + %t6784 = load ptr, ptr %t0 + %t6785 = call i32 @lp_str_eq(ptr %t6784, ptr @.str7560) + %t6786 = icmp ne i32 %t6785, 0 + br i1 %t6786, label %then1450, label %ifend1452 +then1450: + %t6787 = load ptr, ptr %t1 + %t6788 = call i32 @lp_str_eq(ptr %t6787, ptr @.str7561) + %t6789 = icmp ne i32 %t6788, 0 + br i1 %t6789, label %then1453, label %ifend1455 +then1453: + store ptr @.str7562, ptr %t403 + br label %ifend1455 +ifend1455: + %t6790 = load ptr, ptr %t1 + %t6791 = call i32 @lp_str_eq(ptr %t6790, ptr @.str7563) + %t6792 = icmp ne i32 %t6791, 0 + br i1 %t6792, label %then1456, label %ifend1458 +then1456: + store ptr @.str7564, ptr %t403 + br label %ifend1458 +ifend1458: + br label %ifend1452 +ifend1452: + %t6793 = load ptr, ptr %t0 + %t6794 = call i32 @lp_str_eq(ptr %t6793, ptr @.str7565) + %t6795 = icmp ne i32 %t6794, 0 + br i1 %t6795, label %then1459, label %ifend1461 +then1459: + %t6796 = load ptr, ptr %t1 + %t6797 = call i32 @lp_str_eq(ptr %t6796, ptr @.str7566) + %t6798 = icmp ne i32 %t6797, 0 + br i1 %t6798, label %then1462, label %ifend1464 +then1462: + store ptr @.str7567, ptr %t403 + %t6799 = load ptr, ptr %t410 + %t6800 = getelementptr inbounds %LSlice, ptr %t6799, i32 0, i32 1 + %t6801 = getelementptr inbounds %LSlice, ptr %t6799, i32 0, i32 2 + %t6802 = getelementptr inbounds %LSlice, ptr %t6799, i32 0, i32 0 + %t6803 = load i32, ptr %t6800 + %t6804 = load i32, ptr %t6801 + %t6805 = icmp sge i32 %t6803, %t6804 + br i1 %t6805, label %grow1465, label %put1466 +grow1465: + %t6806 = mul i32 %t6804, 2 + %t6807 = icmp eq i32 %t6804, 0 + %t6808 = select i1 %t6807, i32 8, i32 %t6806 + %t6809 = getelementptr ptr, ptr null, i32 1 + %t6810 = ptrtoint ptr %t6809 to i64 + %t6811 = zext i32 %t6808 to i64 + %t6812 = mul i64 %t6811, %t6810 + %t6813 = load ptr, ptr %t6802 + %t6814 = call ptr @realloc(ptr %t6813, i64 %t6812) + store ptr %t6814, ptr %t6802 + store i32 %t6808, ptr %t6801 + br label %put1466 +put1466: + %t6815 = load ptr, ptr %t6802 + %t6816 = getelementptr inbounds ptr, ptr %t6815, i32 %t6803 + store ptr @.str7568, ptr %t6816 + %t6817 = add i32 %t6803, 1 + store i32 %t6817, ptr %t6800 + br label %ifend1464 +ifend1464: + %t6818 = load ptr, ptr %t1 + %t6819 = call i32 @lp_str_eq(ptr %t6818, ptr @.str7569) + %t6820 = icmp ne i32 %t6819, 0 + br i1 %t6820, label %then1467, label %ifend1469 +then1467: + store ptr @.str7570, ptr %t403 + %t6821 = load ptr, ptr %t410 + %t6822 = getelementptr inbounds %LSlice, ptr %t6821, i32 0, i32 1 + %t6823 = getelementptr inbounds %LSlice, ptr %t6821, i32 0, i32 2 + %t6824 = getelementptr inbounds %LSlice, ptr %t6821, i32 0, i32 0 + %t6825 = load i32, ptr %t6822 + %t6826 = load i32, ptr %t6823 + %t6827 = icmp sge i32 %t6825, %t6826 + br i1 %t6827, label %grow1470, label %put1471 +grow1470: + %t6828 = mul i32 %t6826, 2 + %t6829 = icmp eq i32 %t6826, 0 + %t6830 = select i1 %t6829, i32 8, i32 %t6828 + %t6831 = getelementptr ptr, ptr null, i32 1 + %t6832 = ptrtoint ptr %t6831 to i64 + %t6833 = zext i32 %t6830 to i64 + %t6834 = mul i64 %t6833, %t6832 + %t6835 = load ptr, ptr %t6824 + %t6836 = call ptr @realloc(ptr %t6835, i64 %t6834) + store ptr %t6836, ptr %t6824 + store i32 %t6830, ptr %t6823 + br label %put1471 +put1471: + %t6837 = load ptr, ptr %t6824 + %t6838 = getelementptr inbounds ptr, ptr %t6837, i32 %t6825 + store ptr @.str7571, ptr %t6838 + %t6839 = add i32 %t6825, 1 + store i32 %t6839, ptr %t6822 + br label %ifend1469 +ifend1469: + %t6840 = load ptr, ptr %t1 + %t6841 = call i32 @lp_str_eq(ptr %t6840, ptr @.str7572) + %t6842 = icmp ne i32 %t6841, 0 + br i1 %t6842, label %then1472, label %ifend1474 +then1472: + store ptr @.str7573, ptr %t403 + %t6843 = load ptr, ptr %t410 + %t6844 = getelementptr inbounds %LSlice, ptr %t6843, i32 0, i32 1 + %t6845 = getelementptr inbounds %LSlice, ptr %t6843, i32 0, i32 2 + %t6846 = getelementptr inbounds %LSlice, ptr %t6843, i32 0, i32 0 + %t6847 = load i32, ptr %t6844 + %t6848 = load i32, ptr %t6845 + %t6849 = icmp sge i32 %t6847, %t6848 + br i1 %t6849, label %grow1475, label %put1476 +grow1475: + %t6850 = mul i32 %t6848, 2 + %t6851 = icmp eq i32 %t6848, 0 + %t6852 = select i1 %t6851, i32 8, i32 %t6850 + %t6853 = getelementptr ptr, ptr null, i32 1 + %t6854 = ptrtoint ptr %t6853 to i64 + %t6855 = zext i32 %t6852 to i64 + %t6856 = mul i64 %t6855, %t6854 + %t6857 = load ptr, ptr %t6846 + %t6858 = call ptr @realloc(ptr %t6857, i64 %t6856) + store ptr %t6858, ptr %t6846 + store i32 %t6852, ptr %t6845 + br label %put1476 +put1476: + %t6859 = load ptr, ptr %t6846 + %t6860 = getelementptr inbounds ptr, ptr %t6859, i32 %t6847 + store ptr @.str7574, ptr %t6860 + %t6861 = add i32 %t6847, 1 + store i32 %t6861, ptr %t6844 + %t6862 = load ptr, ptr %t410 + %t6863 = getelementptr inbounds %LSlice, ptr %t6862, i32 0, i32 1 + %t6864 = getelementptr inbounds %LSlice, ptr %t6862, i32 0, i32 2 + %t6865 = getelementptr inbounds %LSlice, ptr %t6862, i32 0, i32 0 + %t6866 = load i32, ptr %t6863 + %t6867 = load i32, ptr %t6864 + %t6868 = icmp sge i32 %t6866, %t6867 + br i1 %t6868, label %grow1477, label %put1478 +grow1477: + %t6869 = mul i32 %t6867, 2 + %t6870 = icmp eq i32 %t6867, 0 + %t6871 = select i1 %t6870, i32 8, i32 %t6869 + %t6872 = getelementptr ptr, ptr null, i32 1 + %t6873 = ptrtoint ptr %t6872 to i64 + %t6874 = zext i32 %t6871 to i64 + %t6875 = mul i64 %t6874, %t6873 + %t6876 = load ptr, ptr %t6865 + %t6877 = call ptr @realloc(ptr %t6876, i64 %t6875) + store ptr %t6877, ptr %t6865 + store i32 %t6871, ptr %t6864 + br label %put1478 +put1478: + %t6878 = load ptr, ptr %t6865 + %t6879 = getelementptr inbounds ptr, ptr %t6878, i32 %t6866 + store ptr @.str7575, ptr %t6879 + %t6880 = add i32 %t6866, 1 + store i32 %t6880, ptr %t6863 + br label %ifend1474 +ifend1474: + %t6881 = load ptr, ptr %t1 + %t6882 = call i32 @lp_str_eq(ptr %t6881, ptr @.str7576) + %t6883 = icmp ne i32 %t6882, 0 + br i1 %t6883, label %then1479, label %ifend1481 +then1479: + store ptr @.str7577, ptr %t403 + %t6884 = load ptr, ptr %t410 + %t6885 = getelementptr inbounds %LSlice, ptr %t6884, i32 0, i32 1 + %t6886 = getelementptr inbounds %LSlice, ptr %t6884, i32 0, i32 2 + %t6887 = getelementptr inbounds %LSlice, ptr %t6884, i32 0, i32 0 + %t6888 = load i32, ptr %t6885 + %t6889 = load i32, ptr %t6886 + %t6890 = icmp sge i32 %t6888, %t6889 + br i1 %t6890, label %grow1482, label %put1483 +grow1482: + %t6891 = mul i32 %t6889, 2 + %t6892 = icmp eq i32 %t6889, 0 + %t6893 = select i1 %t6892, i32 8, i32 %t6891 + %t6894 = getelementptr ptr, ptr null, i32 1 + %t6895 = ptrtoint ptr %t6894 to i64 + %t6896 = zext i32 %t6893 to i64 + %t6897 = mul i64 %t6896, %t6895 + %t6898 = load ptr, ptr %t6887 + %t6899 = call ptr @realloc(ptr %t6898, i64 %t6897) + store ptr %t6899, ptr %t6887 + store i32 %t6893, ptr %t6886 + br label %put1483 +put1483: + %t6900 = load ptr, ptr %t6887 + %t6901 = getelementptr inbounds ptr, ptr %t6900, i32 %t6888 + store ptr @.str7578, ptr %t6901 + %t6902 = add i32 %t6888, 1 + store i32 %t6902, ptr %t6885 + %t6903 = load ptr, ptr %t410 + %t6904 = getelementptr inbounds %LSlice, ptr %t6903, i32 0, i32 1 + %t6905 = getelementptr inbounds %LSlice, ptr %t6903, i32 0, i32 2 + %t6906 = getelementptr inbounds %LSlice, ptr %t6903, i32 0, i32 0 + %t6907 = load i32, ptr %t6904 + %t6908 = load i32, ptr %t6905 + %t6909 = icmp sge i32 %t6907, %t6908 + br i1 %t6909, label %grow1484, label %put1485 +grow1484: + %t6910 = mul i32 %t6908, 2 + %t6911 = icmp eq i32 %t6908, 0 + %t6912 = select i1 %t6911, i32 8, i32 %t6910 + %t6913 = getelementptr ptr, ptr null, i32 1 + %t6914 = ptrtoint ptr %t6913 to i64 + %t6915 = zext i32 %t6912 to i64 + %t6916 = mul i64 %t6915, %t6914 + %t6917 = load ptr, ptr %t6906 + %t6918 = call ptr @realloc(ptr %t6917, i64 %t6916) + store ptr %t6918, ptr %t6906 + store i32 %t6912, ptr %t6905 + br label %put1485 +put1485: + %t6919 = load ptr, ptr %t6906 + %t6920 = getelementptr inbounds ptr, ptr %t6919, i32 %t6907 + store ptr @.str7579, ptr %t6920 + %t6921 = add i32 %t6907, 1 + store i32 %t6921, ptr %t6904 + br label %ifend1481 +ifend1481: + %t6922 = load ptr, ptr %t1 + %t6923 = call i32 @lp_str_eq(ptr %t6922, ptr @.str7580) + %t6924 = icmp ne i32 %t6923, 0 + br i1 %t6924, label %then1486, label %ifend1488 +then1486: + store ptr @.str7581, ptr %t403 + %t6925 = load ptr, ptr %t410 + %t6926 = getelementptr inbounds %LSlice, ptr %t6925, i32 0, i32 1 + %t6927 = getelementptr inbounds %LSlice, ptr %t6925, i32 0, i32 2 + %t6928 = getelementptr inbounds %LSlice, ptr %t6925, i32 0, i32 0 + %t6929 = load i32, ptr %t6926 + %t6930 = load i32, ptr %t6927 + %t6931 = icmp sge i32 %t6929, %t6930 + br i1 %t6931, label %grow1489, label %put1490 +grow1489: + %t6932 = mul i32 %t6930, 2 + %t6933 = icmp eq i32 %t6930, 0 + %t6934 = select i1 %t6933, i32 8, i32 %t6932 + %t6935 = getelementptr ptr, ptr null, i32 1 + %t6936 = ptrtoint ptr %t6935 to i64 + %t6937 = zext i32 %t6934 to i64 + %t6938 = mul i64 %t6937, %t6936 + %t6939 = load ptr, ptr %t6928 + %t6940 = call ptr @realloc(ptr %t6939, i64 %t6938) + store ptr %t6940, ptr %t6928 + store i32 %t6934, ptr %t6927 + br label %put1490 +put1490: + %t6941 = load ptr, ptr %t6928 + %t6942 = getelementptr inbounds ptr, ptr %t6941, i32 %t6929 + store ptr @.str7582, ptr %t6942 + %t6943 = add i32 %t6929, 1 + store i32 %t6943, ptr %t6926 + %t6944 = load ptr, ptr %t410 + %t6945 = getelementptr inbounds %LSlice, ptr %t6944, i32 0, i32 1 + %t6946 = getelementptr inbounds %LSlice, ptr %t6944, i32 0, i32 2 + %t6947 = getelementptr inbounds %LSlice, ptr %t6944, i32 0, i32 0 + %t6948 = load i32, ptr %t6945 + %t6949 = load i32, ptr %t6946 + %t6950 = icmp sge i32 %t6948, %t6949 + br i1 %t6950, label %grow1491, label %put1492 +grow1491: + %t6951 = mul i32 %t6949, 2 + %t6952 = icmp eq i32 %t6949, 0 + %t6953 = select i1 %t6952, i32 8, i32 %t6951 + %t6954 = getelementptr ptr, ptr null, i32 1 + %t6955 = ptrtoint ptr %t6954 to i64 + %t6956 = zext i32 %t6953 to i64 + %t6957 = mul i64 %t6956, %t6955 + %t6958 = load ptr, ptr %t6947 + %t6959 = call ptr @realloc(ptr %t6958, i64 %t6957) + store ptr %t6959, ptr %t6947 + store i32 %t6953, ptr %t6946 + br label %put1492 +put1492: + %t6960 = load ptr, ptr %t6947 + %t6961 = getelementptr inbounds ptr, ptr %t6960, i32 %t6948 + store ptr @.str7583, ptr %t6961 + %t6962 = add i32 %t6948, 1 + store i32 %t6962, ptr %t6945 + br label %ifend1488 +ifend1488: + %t6963 = load ptr, ptr %t1 + %t6964 = call i32 @lp_str_eq(ptr %t6963, ptr @.str7584) + %t6965 = icmp ne i32 %t6964, 0 + br i1 %t6965, label %then1493, label %ifend1495 +then1493: + store ptr @.str7585, ptr %t403 + %t6966 = load ptr, ptr %t410 + %t6967 = getelementptr inbounds %LSlice, ptr %t6966, i32 0, i32 1 + %t6968 = getelementptr inbounds %LSlice, ptr %t6966, i32 0, i32 2 + %t6969 = getelementptr inbounds %LSlice, ptr %t6966, i32 0, i32 0 + %t6970 = load i32, ptr %t6967 + %t6971 = load i32, ptr %t6968 + %t6972 = icmp sge i32 %t6970, %t6971 + br i1 %t6972, label %grow1496, label %put1497 +grow1496: + %t6973 = mul i32 %t6971, 2 + %t6974 = icmp eq i32 %t6971, 0 + %t6975 = select i1 %t6974, i32 8, i32 %t6973 + %t6976 = getelementptr ptr, ptr null, i32 1 + %t6977 = ptrtoint ptr %t6976 to i64 + %t6978 = zext i32 %t6975 to i64 + %t6979 = mul i64 %t6978, %t6977 + %t6980 = load ptr, ptr %t6969 + %t6981 = call ptr @realloc(ptr %t6980, i64 %t6979) + store ptr %t6981, ptr %t6969 + store i32 %t6975, ptr %t6968 + br label %put1497 +put1497: + %t6982 = load ptr, ptr %t6969 + %t6983 = getelementptr inbounds ptr, ptr %t6982, i32 %t6970 + store ptr @.str7586, ptr %t6983 + %t6984 = add i32 %t6970, 1 + store i32 %t6984, ptr %t6967 + %t6985 = load ptr, ptr %t410 + %t6986 = getelementptr inbounds %LSlice, ptr %t6985, i32 0, i32 1 + %t6987 = getelementptr inbounds %LSlice, ptr %t6985, i32 0, i32 2 + %t6988 = getelementptr inbounds %LSlice, ptr %t6985, i32 0, i32 0 + %t6989 = load i32, ptr %t6986 + %t6990 = load i32, ptr %t6987 + %t6991 = icmp sge i32 %t6989, %t6990 + br i1 %t6991, label %grow1498, label %put1499 +grow1498: + %t6992 = mul i32 %t6990, 2 + %t6993 = icmp eq i32 %t6990, 0 + %t6994 = select i1 %t6993, i32 8, i32 %t6992 + %t6995 = getelementptr ptr, ptr null, i32 1 + %t6996 = ptrtoint ptr %t6995 to i64 + %t6997 = zext i32 %t6994 to i64 + %t6998 = mul i64 %t6997, %t6996 + %t6999 = load ptr, ptr %t6988 + %t7000 = call ptr @realloc(ptr %t6999, i64 %t6998) + store ptr %t7000, ptr %t6988 + store i32 %t6994, ptr %t6987 + br label %put1499 +put1499: + %t7001 = load ptr, ptr %t6988 + %t7002 = getelementptr inbounds ptr, ptr %t7001, i32 %t6989 + store ptr @.str7587, ptr %t7002 + %t7003 = add i32 %t6989, 1 + store i32 %t7003, ptr %t6986 + br label %ifend1495 +ifend1495: + %t7004 = load ptr, ptr %t1 + %t7005 = call i32 @lp_str_eq(ptr %t7004, ptr @.str7588) + %t7006 = icmp ne i32 %t7005, 0 + br i1 %t7006, label %then1500, label %ifend1502 +then1500: + store ptr @.str7589, ptr %t403 + %t7007 = load ptr, ptr %t410 + %t7008 = getelementptr inbounds %LSlice, ptr %t7007, i32 0, i32 1 + %t7009 = getelementptr inbounds %LSlice, ptr %t7007, i32 0, i32 2 + %t7010 = getelementptr inbounds %LSlice, ptr %t7007, i32 0, i32 0 + %t7011 = load i32, ptr %t7008 + %t7012 = load i32, ptr %t7009 + %t7013 = icmp sge i32 %t7011, %t7012 + br i1 %t7013, label %grow1503, label %put1504 +grow1503: + %t7014 = mul i32 %t7012, 2 + %t7015 = icmp eq i32 %t7012, 0 + %t7016 = select i1 %t7015, i32 8, i32 %t7014 + %t7017 = getelementptr ptr, ptr null, i32 1 + %t7018 = ptrtoint ptr %t7017 to i64 + %t7019 = zext i32 %t7016 to i64 + %t7020 = mul i64 %t7019, %t7018 + %t7021 = load ptr, ptr %t7010 + %t7022 = call ptr @realloc(ptr %t7021, i64 %t7020) + store ptr %t7022, ptr %t7010 + store i32 %t7016, ptr %t7009 + br label %put1504 +put1504: + %t7023 = load ptr, ptr %t7010 + %t7024 = getelementptr inbounds ptr, ptr %t7023, i32 %t7011 + store ptr @.str7590, ptr %t7024 + %t7025 = add i32 %t7011, 1 + store i32 %t7025, ptr %t7008 + %t7026 = load ptr, ptr %t410 + %t7027 = getelementptr inbounds %LSlice, ptr %t7026, i32 0, i32 1 + %t7028 = getelementptr inbounds %LSlice, ptr %t7026, i32 0, i32 2 + %t7029 = getelementptr inbounds %LSlice, ptr %t7026, i32 0, i32 0 + %t7030 = load i32, ptr %t7027 + %t7031 = load i32, ptr %t7028 + %t7032 = icmp sge i32 %t7030, %t7031 + br i1 %t7032, label %grow1505, label %put1506 +grow1505: + %t7033 = mul i32 %t7031, 2 + %t7034 = icmp eq i32 %t7031, 0 + %t7035 = select i1 %t7034, i32 8, i32 %t7033 + %t7036 = getelementptr ptr, ptr null, i32 1 + %t7037 = ptrtoint ptr %t7036 to i64 + %t7038 = zext i32 %t7035 to i64 + %t7039 = mul i64 %t7038, %t7037 + %t7040 = load ptr, ptr %t7029 + %t7041 = call ptr @realloc(ptr %t7040, i64 %t7039) + store ptr %t7041, ptr %t7029 + store i32 %t7035, ptr %t7028 + br label %put1506 +put1506: + %t7042 = load ptr, ptr %t7029 + %t7043 = getelementptr inbounds ptr, ptr %t7042, i32 %t7030 + store ptr @.str7591, ptr %t7043 + %t7044 = add i32 %t7030, 1 + store i32 %t7044, ptr %t7027 + %t7045 = load ptr, ptr %t410 + %t7046 = getelementptr inbounds %LSlice, ptr %t7045, i32 0, i32 1 + %t7047 = getelementptr inbounds %LSlice, ptr %t7045, i32 0, i32 2 + %t7048 = getelementptr inbounds %LSlice, ptr %t7045, i32 0, i32 0 + %t7049 = load i32, ptr %t7046 + %t7050 = load i32, ptr %t7047 + %t7051 = icmp sge i32 %t7049, %t7050 + br i1 %t7051, label %grow1507, label %put1508 +grow1507: + %t7052 = mul i32 %t7050, 2 + %t7053 = icmp eq i32 %t7050, 0 + %t7054 = select i1 %t7053, i32 8, i32 %t7052 + %t7055 = getelementptr ptr, ptr null, i32 1 + %t7056 = ptrtoint ptr %t7055 to i64 + %t7057 = zext i32 %t7054 to i64 + %t7058 = mul i64 %t7057, %t7056 + %t7059 = load ptr, ptr %t7048 + %t7060 = call ptr @realloc(ptr %t7059, i64 %t7058) + store ptr %t7060, ptr %t7048 + store i32 %t7054, ptr %t7047 + br label %put1508 +put1508: + %t7061 = load ptr, ptr %t7048 + %t7062 = getelementptr inbounds ptr, ptr %t7061, i32 %t7049 + store ptr @.str7592, ptr %t7062 + %t7063 = add i32 %t7049, 1 + store i32 %t7063, ptr %t7046 + br label %ifend1502 +ifend1502: + %t7064 = load ptr, ptr %t1 + %t7065 = call i32 @lp_str_eq(ptr %t7064, ptr @.str7593) + %t7066 = icmp ne i32 %t7065, 0 + br i1 %t7066, label %then1509, label %ifend1511 +then1509: + store ptr @.str7594, ptr %t403 + %t7067 = load ptr, ptr %t410 + %t7068 = getelementptr inbounds %LSlice, ptr %t7067, i32 0, i32 1 + %t7069 = getelementptr inbounds %LSlice, ptr %t7067, i32 0, i32 2 + %t7070 = getelementptr inbounds %LSlice, ptr %t7067, i32 0, i32 0 + %t7071 = load i32, ptr %t7068 + %t7072 = load i32, ptr %t7069 + %t7073 = icmp sge i32 %t7071, %t7072 + br i1 %t7073, label %grow1512, label %put1513 +grow1512: + %t7074 = mul i32 %t7072, 2 + %t7075 = icmp eq i32 %t7072, 0 + %t7076 = select i1 %t7075, i32 8, i32 %t7074 + %t7077 = getelementptr ptr, ptr null, i32 1 + %t7078 = ptrtoint ptr %t7077 to i64 + %t7079 = zext i32 %t7076 to i64 + %t7080 = mul i64 %t7079, %t7078 + %t7081 = load ptr, ptr %t7070 + %t7082 = call ptr @realloc(ptr %t7081, i64 %t7080) + store ptr %t7082, ptr %t7070 + store i32 %t7076, ptr %t7069 + br label %put1513 +put1513: + %t7083 = load ptr, ptr %t7070 + %t7084 = getelementptr inbounds ptr, ptr %t7083, i32 %t7071 + store ptr @.str7595, ptr %t7084 + %t7085 = add i32 %t7071, 1 + store i32 %t7085, ptr %t7068 + %t7086 = load ptr, ptr %t410 + %t7087 = getelementptr inbounds %LSlice, ptr %t7086, i32 0, i32 1 + %t7088 = getelementptr inbounds %LSlice, ptr %t7086, i32 0, i32 2 + %t7089 = getelementptr inbounds %LSlice, ptr %t7086, i32 0, i32 0 + %t7090 = load i32, ptr %t7087 + %t7091 = load i32, ptr %t7088 + %t7092 = icmp sge i32 %t7090, %t7091 + br i1 %t7092, label %grow1514, label %put1515 +grow1514: + %t7093 = mul i32 %t7091, 2 + %t7094 = icmp eq i32 %t7091, 0 + %t7095 = select i1 %t7094, i32 8, i32 %t7093 + %t7096 = getelementptr ptr, ptr null, i32 1 + %t7097 = ptrtoint ptr %t7096 to i64 + %t7098 = zext i32 %t7095 to i64 + %t7099 = mul i64 %t7098, %t7097 + %t7100 = load ptr, ptr %t7089 + %t7101 = call ptr @realloc(ptr %t7100, i64 %t7099) + store ptr %t7101, ptr %t7089 + store i32 %t7095, ptr %t7088 + br label %put1515 +put1515: + %t7102 = load ptr, ptr %t7089 + %t7103 = getelementptr inbounds ptr, ptr %t7102, i32 %t7090 + store ptr @.str7596, ptr %t7103 + %t7104 = add i32 %t7090, 1 + store i32 %t7104, ptr %t7087 + %t7105 = load ptr, ptr %t410 + %t7106 = getelementptr inbounds %LSlice, ptr %t7105, i32 0, i32 1 + %t7107 = getelementptr inbounds %LSlice, ptr %t7105, i32 0, i32 2 + %t7108 = getelementptr inbounds %LSlice, ptr %t7105, i32 0, i32 0 + %t7109 = load i32, ptr %t7106 + %t7110 = load i32, ptr %t7107 + %t7111 = icmp sge i32 %t7109, %t7110 + br i1 %t7111, label %grow1516, label %put1517 +grow1516: + %t7112 = mul i32 %t7110, 2 + %t7113 = icmp eq i32 %t7110, 0 + %t7114 = select i1 %t7113, i32 8, i32 %t7112 + %t7115 = getelementptr ptr, ptr null, i32 1 + %t7116 = ptrtoint ptr %t7115 to i64 + %t7117 = zext i32 %t7114 to i64 + %t7118 = mul i64 %t7117, %t7116 + %t7119 = load ptr, ptr %t7108 + %t7120 = call ptr @realloc(ptr %t7119, i64 %t7118) + store ptr %t7120, ptr %t7108 + store i32 %t7114, ptr %t7107 + br label %put1517 +put1517: + %t7121 = load ptr, ptr %t7108 + %t7122 = getelementptr inbounds ptr, ptr %t7121, i32 %t7109 + store ptr @.str7597, ptr %t7122 + %t7123 = add i32 %t7109, 1 + store i32 %t7123, ptr %t7106 + br label %ifend1511 +ifend1511: + %t7124 = load ptr, ptr %t1 + %t7125 = call i32 @lp_str_eq(ptr %t7124, ptr @.str7598) + %t7126 = icmp ne i32 %t7125, 0 + br i1 %t7126, label %then1518, label %ifend1520 +then1518: + store ptr @.str7599, ptr %t403 + %t7127 = load ptr, ptr %t410 + %t7128 = getelementptr inbounds %LSlice, ptr %t7127, i32 0, i32 1 + %t7129 = getelementptr inbounds %LSlice, ptr %t7127, i32 0, i32 2 + %t7130 = getelementptr inbounds %LSlice, ptr %t7127, i32 0, i32 0 + %t7131 = load i32, ptr %t7128 + %t7132 = load i32, ptr %t7129 + %t7133 = icmp sge i32 %t7131, %t7132 + br i1 %t7133, label %grow1521, label %put1522 +grow1521: + %t7134 = mul i32 %t7132, 2 + %t7135 = icmp eq i32 %t7132, 0 + %t7136 = select i1 %t7135, i32 8, i32 %t7134 + %t7137 = getelementptr ptr, ptr null, i32 1 + %t7138 = ptrtoint ptr %t7137 to i64 + %t7139 = zext i32 %t7136 to i64 + %t7140 = mul i64 %t7139, %t7138 + %t7141 = load ptr, ptr %t7130 + %t7142 = call ptr @realloc(ptr %t7141, i64 %t7140) + store ptr %t7142, ptr %t7130 + store i32 %t7136, ptr %t7129 + br label %put1522 +put1522: + %t7143 = load ptr, ptr %t7130 + %t7144 = getelementptr inbounds ptr, ptr %t7143, i32 %t7131 + store ptr @.str7600, ptr %t7144 + %t7145 = add i32 %t7131, 1 + store i32 %t7145, ptr %t7128 + %t7146 = load ptr, ptr %t410 + %t7147 = getelementptr inbounds %LSlice, ptr %t7146, i32 0, i32 1 + %t7148 = getelementptr inbounds %LSlice, ptr %t7146, i32 0, i32 2 + %t7149 = getelementptr inbounds %LSlice, ptr %t7146, i32 0, i32 0 + %t7150 = load i32, ptr %t7147 + %t7151 = load i32, ptr %t7148 + %t7152 = icmp sge i32 %t7150, %t7151 + br i1 %t7152, label %grow1523, label %put1524 +grow1523: + %t7153 = mul i32 %t7151, 2 + %t7154 = icmp eq i32 %t7151, 0 + %t7155 = select i1 %t7154, i32 8, i32 %t7153 + %t7156 = getelementptr ptr, ptr null, i32 1 + %t7157 = ptrtoint ptr %t7156 to i64 + %t7158 = zext i32 %t7155 to i64 + %t7159 = mul i64 %t7158, %t7157 + %t7160 = load ptr, ptr %t7149 + %t7161 = call ptr @realloc(ptr %t7160, i64 %t7159) + store ptr %t7161, ptr %t7149 + store i32 %t7155, ptr %t7148 + br label %put1524 +put1524: + %t7162 = load ptr, ptr %t7149 + %t7163 = getelementptr inbounds ptr, ptr %t7162, i32 %t7150 + store ptr @.str7601, ptr %t7163 + %t7164 = add i32 %t7150, 1 + store i32 %t7164, ptr %t7147 + br label %ifend1520 +ifend1520: + %t7165 = load ptr, ptr %t1 + %t7166 = call i32 @lp_str_eq(ptr %t7165, ptr @.str7602) + %t7167 = icmp ne i32 %t7166, 0 + br i1 %t7167, label %then1525, label %ifend1527 +then1525: + store ptr @.str7603, ptr %t403 + %t7168 = load ptr, ptr %t410 + %t7169 = getelementptr inbounds %LSlice, ptr %t7168, i32 0, i32 1 + %t7170 = getelementptr inbounds %LSlice, ptr %t7168, i32 0, i32 2 + %t7171 = getelementptr inbounds %LSlice, ptr %t7168, i32 0, i32 0 + %t7172 = load i32, ptr %t7169 + %t7173 = load i32, ptr %t7170 + %t7174 = icmp sge i32 %t7172, %t7173 + br i1 %t7174, label %grow1528, label %put1529 +grow1528: + %t7175 = mul i32 %t7173, 2 + %t7176 = icmp eq i32 %t7173, 0 + %t7177 = select i1 %t7176, i32 8, i32 %t7175 + %t7178 = getelementptr ptr, ptr null, i32 1 + %t7179 = ptrtoint ptr %t7178 to i64 + %t7180 = zext i32 %t7177 to i64 + %t7181 = mul i64 %t7180, %t7179 + %t7182 = load ptr, ptr %t7171 + %t7183 = call ptr @realloc(ptr %t7182, i64 %t7181) + store ptr %t7183, ptr %t7171 + store i32 %t7177, ptr %t7170 + br label %put1529 +put1529: + %t7184 = load ptr, ptr %t7171 + %t7185 = getelementptr inbounds ptr, ptr %t7184, i32 %t7172 + store ptr @.str7604, ptr %t7185 + %t7186 = add i32 %t7172, 1 + store i32 %t7186, ptr %t7169 + br label %ifend1527 +ifend1527: + %t7187 = load ptr, ptr %t1 + %t7188 = call i32 @lp_str_eq(ptr %t7187, ptr @.str7605) + %t7189 = icmp ne i32 %t7188, 0 + br i1 %t7189, label %then1530, label %ifend1532 +then1530: + store ptr @.str7606, ptr %t403 + %t7190 = load ptr, ptr %t410 + %t7191 = getelementptr inbounds %LSlice, ptr %t7190, i32 0, i32 1 + %t7192 = getelementptr inbounds %LSlice, ptr %t7190, i32 0, i32 2 + %t7193 = getelementptr inbounds %LSlice, ptr %t7190, i32 0, i32 0 + %t7194 = load i32, ptr %t7191 + %t7195 = load i32, ptr %t7192 + %t7196 = icmp sge i32 %t7194, %t7195 + br i1 %t7196, label %grow1533, label %put1534 +grow1533: + %t7197 = mul i32 %t7195, 2 + %t7198 = icmp eq i32 %t7195, 0 + %t7199 = select i1 %t7198, i32 8, i32 %t7197 + %t7200 = getelementptr ptr, ptr null, i32 1 + %t7201 = ptrtoint ptr %t7200 to i64 + %t7202 = zext i32 %t7199 to i64 + %t7203 = mul i64 %t7202, %t7201 + %t7204 = load ptr, ptr %t7193 + %t7205 = call ptr @realloc(ptr %t7204, i64 %t7203) + store ptr %t7205, ptr %t7193 + store i32 %t7199, ptr %t7192 + br label %put1534 +put1534: + %t7206 = load ptr, ptr %t7193 + %t7207 = getelementptr inbounds ptr, ptr %t7206, i32 %t7194 + store ptr @.str7607, ptr %t7207 + %t7208 = add i32 %t7194, 1 + store i32 %t7208, ptr %t7191 + %t7209 = load ptr, ptr %t410 + %t7210 = getelementptr inbounds %LSlice, ptr %t7209, i32 0, i32 1 + %t7211 = getelementptr inbounds %LSlice, ptr %t7209, i32 0, i32 2 + %t7212 = getelementptr inbounds %LSlice, ptr %t7209, i32 0, i32 0 + %t7213 = load i32, ptr %t7210 + %t7214 = load i32, ptr %t7211 + %t7215 = icmp sge i32 %t7213, %t7214 + br i1 %t7215, label %grow1535, label %put1536 +grow1535: + %t7216 = mul i32 %t7214, 2 + %t7217 = icmp eq i32 %t7214, 0 + %t7218 = select i1 %t7217, i32 8, i32 %t7216 + %t7219 = getelementptr ptr, ptr null, i32 1 + %t7220 = ptrtoint ptr %t7219 to i64 + %t7221 = zext i32 %t7218 to i64 + %t7222 = mul i64 %t7221, %t7220 + %t7223 = load ptr, ptr %t7212 + %t7224 = call ptr @realloc(ptr %t7223, i64 %t7222) + store ptr %t7224, ptr %t7212 + store i32 %t7218, ptr %t7211 + br label %put1536 +put1536: + %t7225 = load ptr, ptr %t7212 + %t7226 = getelementptr inbounds ptr, ptr %t7225, i32 %t7213 + store ptr @.str7608, ptr %t7226 + %t7227 = add i32 %t7213, 1 + store i32 %t7227, ptr %t7210 + br label %ifend1532 +ifend1532: + %t7228 = load ptr, ptr %t1 + %t7229 = call i32 @lp_str_eq(ptr %t7228, ptr @.str7609) + %t7230 = icmp ne i32 %t7229, 0 + br i1 %t7230, label %then1537, label %ifend1539 +then1537: + store ptr @.str7610, ptr %t403 + %t7231 = load ptr, ptr %t410 + %t7232 = getelementptr inbounds %LSlice, ptr %t7231, i32 0, i32 1 + %t7233 = getelementptr inbounds %LSlice, ptr %t7231, i32 0, i32 2 + %t7234 = getelementptr inbounds %LSlice, ptr %t7231, i32 0, i32 0 + %t7235 = load i32, ptr %t7232 + %t7236 = load i32, ptr %t7233 + %t7237 = icmp sge i32 %t7235, %t7236 + br i1 %t7237, label %grow1540, label %put1541 +grow1540: + %t7238 = mul i32 %t7236, 2 + %t7239 = icmp eq i32 %t7236, 0 + %t7240 = select i1 %t7239, i32 8, i32 %t7238 + %t7241 = getelementptr ptr, ptr null, i32 1 + %t7242 = ptrtoint ptr %t7241 to i64 + %t7243 = zext i32 %t7240 to i64 + %t7244 = mul i64 %t7243, %t7242 + %t7245 = load ptr, ptr %t7234 + %t7246 = call ptr @realloc(ptr %t7245, i64 %t7244) + store ptr %t7246, ptr %t7234 + store i32 %t7240, ptr %t7233 + br label %put1541 +put1541: + %t7247 = load ptr, ptr %t7234 + %t7248 = getelementptr inbounds ptr, ptr %t7247, i32 %t7235 + store ptr @.str7611, ptr %t7248 + %t7249 = add i32 %t7235, 1 + store i32 %t7249, ptr %t7232 + %t7250 = load ptr, ptr %t410 + %t7251 = getelementptr inbounds %LSlice, ptr %t7250, i32 0, i32 1 + %t7252 = getelementptr inbounds %LSlice, ptr %t7250, i32 0, i32 2 + %t7253 = getelementptr inbounds %LSlice, ptr %t7250, i32 0, i32 0 + %t7254 = load i32, ptr %t7251 + %t7255 = load i32, ptr %t7252 + %t7256 = icmp sge i32 %t7254, %t7255 + br i1 %t7256, label %grow1542, label %put1543 +grow1542: + %t7257 = mul i32 %t7255, 2 + %t7258 = icmp eq i32 %t7255, 0 + %t7259 = select i1 %t7258, i32 8, i32 %t7257 + %t7260 = getelementptr ptr, ptr null, i32 1 + %t7261 = ptrtoint ptr %t7260 to i64 + %t7262 = zext i32 %t7259 to i64 + %t7263 = mul i64 %t7262, %t7261 + %t7264 = load ptr, ptr %t7253 + %t7265 = call ptr @realloc(ptr %t7264, i64 %t7263) + store ptr %t7265, ptr %t7253 + store i32 %t7259, ptr %t7252 + br label %put1543 +put1543: + %t7266 = load ptr, ptr %t7253 + %t7267 = getelementptr inbounds ptr, ptr %t7266, i32 %t7254 + store ptr @.str7612, ptr %t7267 + %t7268 = add i32 %t7254, 1 + store i32 %t7268, ptr %t7251 + br label %ifend1539 +ifend1539: + %t7269 = load ptr, ptr %t1 + %t7270 = call i32 @lp_str_eq(ptr %t7269, ptr @.str7613) + %t7271 = icmp ne i32 %t7270, 0 + br i1 %t7271, label %then1544, label %ifend1546 +then1544: + store ptr @.str7614, ptr %t403 + %t7272 = load ptr, ptr %t410 + %t7273 = getelementptr inbounds %LSlice, ptr %t7272, i32 0, i32 1 + %t7274 = getelementptr inbounds %LSlice, ptr %t7272, i32 0, i32 2 + %t7275 = getelementptr inbounds %LSlice, ptr %t7272, i32 0, i32 0 + %t7276 = load i32, ptr %t7273 + %t7277 = load i32, ptr %t7274 + %t7278 = icmp sge i32 %t7276, %t7277 + br i1 %t7278, label %grow1547, label %put1548 +grow1547: + %t7279 = mul i32 %t7277, 2 + %t7280 = icmp eq i32 %t7277, 0 + %t7281 = select i1 %t7280, i32 8, i32 %t7279 + %t7282 = getelementptr ptr, ptr null, i32 1 + %t7283 = ptrtoint ptr %t7282 to i64 + %t7284 = zext i32 %t7281 to i64 + %t7285 = mul i64 %t7284, %t7283 + %t7286 = load ptr, ptr %t7275 + %t7287 = call ptr @realloc(ptr %t7286, i64 %t7285) + store ptr %t7287, ptr %t7275 + store i32 %t7281, ptr %t7274 + br label %put1548 +put1548: + %t7288 = load ptr, ptr %t7275 + %t7289 = getelementptr inbounds ptr, ptr %t7288, i32 %t7276 + store ptr @.str7615, ptr %t7289 + %t7290 = add i32 %t7276, 1 + store i32 %t7290, ptr %t7273 + br label %ifend1546 +ifend1546: + br label %ifend1461 +ifend1461: + %t7291 = load ptr, ptr %t0 + %t7292 = call i32 @lp_str_eq(ptr %t7291, ptr @.str7616) + %t7293 = icmp ne i32 %t7292, 0 + br i1 %t7293, label %then1549, label %ifend1551 +then1549: + %t7294 = load ptr, ptr %t1 + %t7295 = call i32 @lp_str_eq(ptr %t7294, ptr @.str7617) + %t7296 = icmp ne i32 %t7295, 0 + br i1 %t7296, label %then1552, label %ifend1554 +then1552: + store ptr @.str7618, ptr %t403 + %t7297 = load ptr, ptr %t410 + %t7298 = getelementptr inbounds %LSlice, ptr %t7297, i32 0, i32 1 + %t7299 = getelementptr inbounds %LSlice, ptr %t7297, i32 0, i32 2 + %t7300 = getelementptr inbounds %LSlice, ptr %t7297, i32 0, i32 0 + %t7301 = load i32, ptr %t7298 + %t7302 = load i32, ptr %t7299 + %t7303 = icmp sge i32 %t7301, %t7302 + br i1 %t7303, label %grow1555, label %put1556 +grow1555: + %t7304 = mul i32 %t7302, 2 + %t7305 = icmp eq i32 %t7302, 0 + %t7306 = select i1 %t7305, i32 8, i32 %t7304 + %t7307 = getelementptr ptr, ptr null, i32 1 + %t7308 = ptrtoint ptr %t7307 to i64 + %t7309 = zext i32 %t7306 to i64 + %t7310 = mul i64 %t7309, %t7308 + %t7311 = load ptr, ptr %t7300 + %t7312 = call ptr @realloc(ptr %t7311, i64 %t7310) + store ptr %t7312, ptr %t7300 + store i32 %t7306, ptr %t7299 + br label %put1556 +put1556: + %t7313 = load ptr, ptr %t7300 + %t7314 = getelementptr inbounds ptr, ptr %t7313, i32 %t7301 + store ptr @.str7619, ptr %t7314 + %t7315 = add i32 %t7301, 1 + store i32 %t7315, ptr %t7298 + br label %ifend1554 +ifend1554: + %t7316 = load ptr, ptr %t1 + %t7317 = call i32 @lp_str_eq(ptr %t7316, ptr @.str7620) + %t7318 = icmp ne i32 %t7317, 0 + br i1 %t7318, label %then1557, label %ifend1559 +then1557: + store ptr @.str7621, ptr %t403 + %t7319 = load ptr, ptr %t410 + %t7320 = getelementptr inbounds %LSlice, ptr %t7319, i32 0, i32 1 + %t7321 = getelementptr inbounds %LSlice, ptr %t7319, i32 0, i32 2 + %t7322 = getelementptr inbounds %LSlice, ptr %t7319, i32 0, i32 0 + %t7323 = load i32, ptr %t7320 + %t7324 = load i32, ptr %t7321 + %t7325 = icmp sge i32 %t7323, %t7324 + br i1 %t7325, label %grow1560, label %put1561 +grow1560: + %t7326 = mul i32 %t7324, 2 + %t7327 = icmp eq i32 %t7324, 0 + %t7328 = select i1 %t7327, i32 8, i32 %t7326 + %t7329 = getelementptr ptr, ptr null, i32 1 + %t7330 = ptrtoint ptr %t7329 to i64 + %t7331 = zext i32 %t7328 to i64 + %t7332 = mul i64 %t7331, %t7330 + %t7333 = load ptr, ptr %t7322 + %t7334 = call ptr @realloc(ptr %t7333, i64 %t7332) + store ptr %t7334, ptr %t7322 + store i32 %t7328, ptr %t7321 + br label %put1561 +put1561: + %t7335 = load ptr, ptr %t7322 + %t7336 = getelementptr inbounds ptr, ptr %t7335, i32 %t7323 + store ptr @.str7622, ptr %t7336 + %t7337 = add i32 %t7323, 1 + store i32 %t7337, ptr %t7320 + br label %ifend1559 +ifend1559: + %t7338 = load ptr, ptr %t1 + %t7339 = call i32 @lp_str_eq(ptr %t7338, ptr @.str7623) + %t7340 = icmp ne i32 %t7339, 0 + br i1 %t7340, label %then1562, label %ifend1564 +then1562: + store ptr @.str7624, ptr %t403 + %t7341 = load ptr, ptr %t410 + %t7342 = getelementptr inbounds %LSlice, ptr %t7341, i32 0, i32 1 + %t7343 = getelementptr inbounds %LSlice, ptr %t7341, i32 0, i32 2 + %t7344 = getelementptr inbounds %LSlice, ptr %t7341, i32 0, i32 0 + %t7345 = load i32, ptr %t7342 + %t7346 = load i32, ptr %t7343 + %t7347 = icmp sge i32 %t7345, %t7346 + br i1 %t7347, label %grow1565, label %put1566 +grow1565: + %t7348 = mul i32 %t7346, 2 + %t7349 = icmp eq i32 %t7346, 0 + %t7350 = select i1 %t7349, i32 8, i32 %t7348 + %t7351 = getelementptr ptr, ptr null, i32 1 + %t7352 = ptrtoint ptr %t7351 to i64 + %t7353 = zext i32 %t7350 to i64 + %t7354 = mul i64 %t7353, %t7352 + %t7355 = load ptr, ptr %t7344 + %t7356 = call ptr @realloc(ptr %t7355, i64 %t7354) + store ptr %t7356, ptr %t7344 + store i32 %t7350, ptr %t7343 + br label %put1566 +put1566: + %t7357 = load ptr, ptr %t7344 + %t7358 = getelementptr inbounds ptr, ptr %t7357, i32 %t7345 + store ptr @.str7625, ptr %t7358 + %t7359 = add i32 %t7345, 1 + store i32 %t7359, ptr %t7342 + %t7360 = load ptr, ptr %t410 + %t7361 = getelementptr inbounds %LSlice, ptr %t7360, i32 0, i32 1 + %t7362 = getelementptr inbounds %LSlice, ptr %t7360, i32 0, i32 2 + %t7363 = getelementptr inbounds %LSlice, ptr %t7360, i32 0, i32 0 + %t7364 = load i32, ptr %t7361 + %t7365 = load i32, ptr %t7362 + %t7366 = icmp sge i32 %t7364, %t7365 + br i1 %t7366, label %grow1567, label %put1568 +grow1567: + %t7367 = mul i32 %t7365, 2 + %t7368 = icmp eq i32 %t7365, 0 + %t7369 = select i1 %t7368, i32 8, i32 %t7367 + %t7370 = getelementptr ptr, ptr null, i32 1 + %t7371 = ptrtoint ptr %t7370 to i64 + %t7372 = zext i32 %t7369 to i64 + %t7373 = mul i64 %t7372, %t7371 + %t7374 = load ptr, ptr %t7363 + %t7375 = call ptr @realloc(ptr %t7374, i64 %t7373) + store ptr %t7375, ptr %t7363 + store i32 %t7369, ptr %t7362 + br label %put1568 +put1568: + %t7376 = load ptr, ptr %t7363 + %t7377 = getelementptr inbounds ptr, ptr %t7376, i32 %t7364 + store ptr @.str7626, ptr %t7377 + %t7378 = add i32 %t7364, 1 + store i32 %t7378, ptr %t7361 + br label %ifend1564 +ifend1564: + %t7379 = load ptr, ptr %t1 + %t7380 = call i32 @lp_str_eq(ptr %t7379, ptr @.str7627) + %t7381 = icmp ne i32 %t7380, 0 + br i1 %t7381, label %then1569, label %ifend1571 +then1569: + store ptr @.str7628, ptr %t403 + %t7382 = load ptr, ptr %t410 + %t7383 = getelementptr inbounds %LSlice, ptr %t7382, i32 0, i32 1 + %t7384 = getelementptr inbounds %LSlice, ptr %t7382, i32 0, i32 2 + %t7385 = getelementptr inbounds %LSlice, ptr %t7382, i32 0, i32 0 + %t7386 = load i32, ptr %t7383 + %t7387 = load i32, ptr %t7384 + %t7388 = icmp sge i32 %t7386, %t7387 + br i1 %t7388, label %grow1572, label %put1573 +grow1572: + %t7389 = mul i32 %t7387, 2 + %t7390 = icmp eq i32 %t7387, 0 + %t7391 = select i1 %t7390, i32 8, i32 %t7389 + %t7392 = getelementptr ptr, ptr null, i32 1 + %t7393 = ptrtoint ptr %t7392 to i64 + %t7394 = zext i32 %t7391 to i64 + %t7395 = mul i64 %t7394, %t7393 + %t7396 = load ptr, ptr %t7385 + %t7397 = call ptr @realloc(ptr %t7396, i64 %t7395) + store ptr %t7397, ptr %t7385 + store i32 %t7391, ptr %t7384 + br label %put1573 +put1573: + %t7398 = load ptr, ptr %t7385 + %t7399 = getelementptr inbounds ptr, ptr %t7398, i32 %t7386 + store ptr @.str7629, ptr %t7399 + %t7400 = add i32 %t7386, 1 + store i32 %t7400, ptr %t7383 + %t7401 = load ptr, ptr %t410 + %t7402 = getelementptr inbounds %LSlice, ptr %t7401, i32 0, i32 1 + %t7403 = getelementptr inbounds %LSlice, ptr %t7401, i32 0, i32 2 + %t7404 = getelementptr inbounds %LSlice, ptr %t7401, i32 0, i32 0 + %t7405 = load i32, ptr %t7402 + %t7406 = load i32, ptr %t7403 + %t7407 = icmp sge i32 %t7405, %t7406 + br i1 %t7407, label %grow1574, label %put1575 +grow1574: + %t7408 = mul i32 %t7406, 2 + %t7409 = icmp eq i32 %t7406, 0 + %t7410 = select i1 %t7409, i32 8, i32 %t7408 + %t7411 = getelementptr ptr, ptr null, i32 1 + %t7412 = ptrtoint ptr %t7411 to i64 + %t7413 = zext i32 %t7410 to i64 + %t7414 = mul i64 %t7413, %t7412 + %t7415 = load ptr, ptr %t7404 + %t7416 = call ptr @realloc(ptr %t7415, i64 %t7414) + store ptr %t7416, ptr %t7404 + store i32 %t7410, ptr %t7403 + br label %put1575 +put1575: + %t7417 = load ptr, ptr %t7404 + %t7418 = getelementptr inbounds ptr, ptr %t7417, i32 %t7405 + store ptr @.str7630, ptr %t7418 + %t7419 = add i32 %t7405, 1 + store i32 %t7419, ptr %t7402 + br label %ifend1571 +ifend1571: + %t7420 = load ptr, ptr %t1 + %t7421 = call i32 @lp_str_eq(ptr %t7420, ptr @.str7631) + %t7422 = icmp ne i32 %t7421, 0 + br i1 %t7422, label %then1576, label %ifend1578 +then1576: + store ptr @.str7632, ptr %t403 + %t7423 = load ptr, ptr %t410 + %t7424 = getelementptr inbounds %LSlice, ptr %t7423, i32 0, i32 1 + %t7425 = getelementptr inbounds %LSlice, ptr %t7423, i32 0, i32 2 + %t7426 = getelementptr inbounds %LSlice, ptr %t7423, i32 0, i32 0 + %t7427 = load i32, ptr %t7424 + %t7428 = load i32, ptr %t7425 + %t7429 = icmp sge i32 %t7427, %t7428 + br i1 %t7429, label %grow1579, label %put1580 +grow1579: + %t7430 = mul i32 %t7428, 2 + %t7431 = icmp eq i32 %t7428, 0 + %t7432 = select i1 %t7431, i32 8, i32 %t7430 + %t7433 = getelementptr ptr, ptr null, i32 1 + %t7434 = ptrtoint ptr %t7433 to i64 + %t7435 = zext i32 %t7432 to i64 + %t7436 = mul i64 %t7435, %t7434 + %t7437 = load ptr, ptr %t7426 + %t7438 = call ptr @realloc(ptr %t7437, i64 %t7436) + store ptr %t7438, ptr %t7426 + store i32 %t7432, ptr %t7425 + br label %put1580 +put1580: + %t7439 = load ptr, ptr %t7426 + %t7440 = getelementptr inbounds ptr, ptr %t7439, i32 %t7427 + store ptr @.str7633, ptr %t7440 + %t7441 = add i32 %t7427, 1 + store i32 %t7441, ptr %t7424 + %t7442 = load ptr, ptr %t410 + %t7443 = getelementptr inbounds %LSlice, ptr %t7442, i32 0, i32 1 + %t7444 = getelementptr inbounds %LSlice, ptr %t7442, i32 0, i32 2 + %t7445 = getelementptr inbounds %LSlice, ptr %t7442, i32 0, i32 0 + %t7446 = load i32, ptr %t7443 + %t7447 = load i32, ptr %t7444 + %t7448 = icmp sge i32 %t7446, %t7447 + br i1 %t7448, label %grow1581, label %put1582 +grow1581: + %t7449 = mul i32 %t7447, 2 + %t7450 = icmp eq i32 %t7447, 0 + %t7451 = select i1 %t7450, i32 8, i32 %t7449 + %t7452 = getelementptr ptr, ptr null, i32 1 + %t7453 = ptrtoint ptr %t7452 to i64 + %t7454 = zext i32 %t7451 to i64 + %t7455 = mul i64 %t7454, %t7453 + %t7456 = load ptr, ptr %t7445 + %t7457 = call ptr @realloc(ptr %t7456, i64 %t7455) + store ptr %t7457, ptr %t7445 + store i32 %t7451, ptr %t7444 + br label %put1582 +put1582: + %t7458 = load ptr, ptr %t7445 + %t7459 = getelementptr inbounds ptr, ptr %t7458, i32 %t7446 + store ptr @.str7634, ptr %t7459 + %t7460 = add i32 %t7446, 1 + store i32 %t7460, ptr %t7443 + br label %ifend1578 +ifend1578: + %t7461 = load ptr, ptr %t1 + %t7462 = call i32 @lp_str_eq(ptr %t7461, ptr @.str7635) + %t7463 = icmp ne i32 %t7462, 0 + br i1 %t7463, label %then1583, label %ifend1585 +then1583: + store ptr @.str7636, ptr %t403 + %t7464 = load ptr, ptr %t410 + %t7465 = getelementptr inbounds %LSlice, ptr %t7464, i32 0, i32 1 + %t7466 = getelementptr inbounds %LSlice, ptr %t7464, i32 0, i32 2 + %t7467 = getelementptr inbounds %LSlice, ptr %t7464, i32 0, i32 0 + %t7468 = load i32, ptr %t7465 + %t7469 = load i32, ptr %t7466 + %t7470 = icmp sge i32 %t7468, %t7469 + br i1 %t7470, label %grow1586, label %put1587 +grow1586: + %t7471 = mul i32 %t7469, 2 + %t7472 = icmp eq i32 %t7469, 0 + %t7473 = select i1 %t7472, i32 8, i32 %t7471 + %t7474 = getelementptr ptr, ptr null, i32 1 + %t7475 = ptrtoint ptr %t7474 to i64 + %t7476 = zext i32 %t7473 to i64 + %t7477 = mul i64 %t7476, %t7475 + %t7478 = load ptr, ptr %t7467 + %t7479 = call ptr @realloc(ptr %t7478, i64 %t7477) + store ptr %t7479, ptr %t7467 + store i32 %t7473, ptr %t7466 + br label %put1587 +put1587: + %t7480 = load ptr, ptr %t7467 + %t7481 = getelementptr inbounds ptr, ptr %t7480, i32 %t7468 + store ptr @.str7637, ptr %t7481 + %t7482 = add i32 %t7468, 1 + store i32 %t7482, ptr %t7465 + br label %ifend1585 +ifend1585: + %t7483 = load ptr, ptr %t1 + %t7484 = call i32 @lp_str_eq(ptr %t7483, ptr @.str7638) + %t7485 = icmp ne i32 %t7484, 0 + br i1 %t7485, label %then1588, label %ifend1590 +then1588: + store ptr @.str7639, ptr %t403 + %t7486 = load ptr, ptr %t410 + %t7487 = getelementptr inbounds %LSlice, ptr %t7486, i32 0, i32 1 + %t7488 = getelementptr inbounds %LSlice, ptr %t7486, i32 0, i32 2 + %t7489 = getelementptr inbounds %LSlice, ptr %t7486, i32 0, i32 0 + %t7490 = load i32, ptr %t7487 + %t7491 = load i32, ptr %t7488 + %t7492 = icmp sge i32 %t7490, %t7491 + br i1 %t7492, label %grow1591, label %put1592 +grow1591: + %t7493 = mul i32 %t7491, 2 + %t7494 = icmp eq i32 %t7491, 0 + %t7495 = select i1 %t7494, i32 8, i32 %t7493 + %t7496 = getelementptr ptr, ptr null, i32 1 + %t7497 = ptrtoint ptr %t7496 to i64 + %t7498 = zext i32 %t7495 to i64 + %t7499 = mul i64 %t7498, %t7497 + %t7500 = load ptr, ptr %t7489 + %t7501 = call ptr @realloc(ptr %t7500, i64 %t7499) + store ptr %t7501, ptr %t7489 + store i32 %t7495, ptr %t7488 + br label %put1592 +put1592: + %t7502 = load ptr, ptr %t7489 + %t7503 = getelementptr inbounds ptr, ptr %t7502, i32 %t7490 + store ptr @.str7640, ptr %t7503 + %t7504 = add i32 %t7490, 1 + store i32 %t7504, ptr %t7487 + %t7505 = load ptr, ptr %t410 + %t7506 = getelementptr inbounds %LSlice, ptr %t7505, i32 0, i32 1 + %t7507 = getelementptr inbounds %LSlice, ptr %t7505, i32 0, i32 2 + %t7508 = getelementptr inbounds %LSlice, ptr %t7505, i32 0, i32 0 + %t7509 = load i32, ptr %t7506 + %t7510 = load i32, ptr %t7507 + %t7511 = icmp sge i32 %t7509, %t7510 + br i1 %t7511, label %grow1593, label %put1594 +grow1593: + %t7512 = mul i32 %t7510, 2 + %t7513 = icmp eq i32 %t7510, 0 + %t7514 = select i1 %t7513, i32 8, i32 %t7512 + %t7515 = getelementptr ptr, ptr null, i32 1 + %t7516 = ptrtoint ptr %t7515 to i64 + %t7517 = zext i32 %t7514 to i64 + %t7518 = mul i64 %t7517, %t7516 + %t7519 = load ptr, ptr %t7508 + %t7520 = call ptr @realloc(ptr %t7519, i64 %t7518) + store ptr %t7520, ptr %t7508 + store i32 %t7514, ptr %t7507 + br label %put1594 +put1594: + %t7521 = load ptr, ptr %t7508 + %t7522 = getelementptr inbounds ptr, ptr %t7521, i32 %t7509 + store ptr @.str7641, ptr %t7522 + %t7523 = add i32 %t7509, 1 + store i32 %t7523, ptr %t7506 + br label %ifend1590 +ifend1590: + %t7524 = load ptr, ptr %t1 + %t7525 = call i32 @lp_str_eq(ptr %t7524, ptr @.str7642) + %t7526 = icmp ne i32 %t7525, 0 + br i1 %t7526, label %then1595, label %ifend1597 +then1595: + store ptr @.str7643, ptr %t403 + %t7527 = load ptr, ptr %t410 + %t7528 = getelementptr inbounds %LSlice, ptr %t7527, i32 0, i32 1 + %t7529 = getelementptr inbounds %LSlice, ptr %t7527, i32 0, i32 2 + %t7530 = getelementptr inbounds %LSlice, ptr %t7527, i32 0, i32 0 + %t7531 = load i32, ptr %t7528 + %t7532 = load i32, ptr %t7529 + %t7533 = icmp sge i32 %t7531, %t7532 + br i1 %t7533, label %grow1598, label %put1599 +grow1598: + %t7534 = mul i32 %t7532, 2 + %t7535 = icmp eq i32 %t7532, 0 + %t7536 = select i1 %t7535, i32 8, i32 %t7534 + %t7537 = getelementptr ptr, ptr null, i32 1 + %t7538 = ptrtoint ptr %t7537 to i64 + %t7539 = zext i32 %t7536 to i64 + %t7540 = mul i64 %t7539, %t7538 + %t7541 = load ptr, ptr %t7530 + %t7542 = call ptr @realloc(ptr %t7541, i64 %t7540) + store ptr %t7542, ptr %t7530 + store i32 %t7536, ptr %t7529 + br label %put1599 +put1599: + %t7543 = load ptr, ptr %t7530 + %t7544 = getelementptr inbounds ptr, ptr %t7543, i32 %t7531 + store ptr @.str7644, ptr %t7544 + %t7545 = add i32 %t7531, 1 + store i32 %t7545, ptr %t7528 + %t7546 = load ptr, ptr %t410 + %t7547 = getelementptr inbounds %LSlice, ptr %t7546, i32 0, i32 1 + %t7548 = getelementptr inbounds %LSlice, ptr %t7546, i32 0, i32 2 + %t7549 = getelementptr inbounds %LSlice, ptr %t7546, i32 0, i32 0 + %t7550 = load i32, ptr %t7547 + %t7551 = load i32, ptr %t7548 + %t7552 = icmp sge i32 %t7550, %t7551 + br i1 %t7552, label %grow1600, label %put1601 +grow1600: + %t7553 = mul i32 %t7551, 2 + %t7554 = icmp eq i32 %t7551, 0 + %t7555 = select i1 %t7554, i32 8, i32 %t7553 + %t7556 = getelementptr ptr, ptr null, i32 1 + %t7557 = ptrtoint ptr %t7556 to i64 + %t7558 = zext i32 %t7555 to i64 + %t7559 = mul i64 %t7558, %t7557 + %t7560 = load ptr, ptr %t7549 + %t7561 = call ptr @realloc(ptr %t7560, i64 %t7559) + store ptr %t7561, ptr %t7549 + store i32 %t7555, ptr %t7548 + br label %put1601 +put1601: + %t7562 = load ptr, ptr %t7549 + %t7563 = getelementptr inbounds ptr, ptr %t7562, i32 %t7550 + store ptr @.str7645, ptr %t7563 + %t7564 = add i32 %t7550, 1 + store i32 %t7564, ptr %t7547 + br label %ifend1597 +ifend1597: + %t7565 = load ptr, ptr %t1 + %t7566 = call i32 @lp_str_eq(ptr %t7565, ptr @.str7646) + %t7567 = icmp ne i32 %t7566, 0 + br i1 %t7567, label %then1602, label %ifend1604 +then1602: + store ptr @.str7647, ptr %t403 + %t7568 = load ptr, ptr %t410 + %t7569 = getelementptr inbounds %LSlice, ptr %t7568, i32 0, i32 1 + %t7570 = getelementptr inbounds %LSlice, ptr %t7568, i32 0, i32 2 + %t7571 = getelementptr inbounds %LSlice, ptr %t7568, i32 0, i32 0 + %t7572 = load i32, ptr %t7569 + %t7573 = load i32, ptr %t7570 + %t7574 = icmp sge i32 %t7572, %t7573 + br i1 %t7574, label %grow1605, label %put1606 +grow1605: + %t7575 = mul i32 %t7573, 2 + %t7576 = icmp eq i32 %t7573, 0 + %t7577 = select i1 %t7576, i32 8, i32 %t7575 + %t7578 = getelementptr ptr, ptr null, i32 1 + %t7579 = ptrtoint ptr %t7578 to i64 + %t7580 = zext i32 %t7577 to i64 + %t7581 = mul i64 %t7580, %t7579 + %t7582 = load ptr, ptr %t7571 + %t7583 = call ptr @realloc(ptr %t7582, i64 %t7581) + store ptr %t7583, ptr %t7571 + store i32 %t7577, ptr %t7570 + br label %put1606 +put1606: + %t7584 = load ptr, ptr %t7571 + %t7585 = getelementptr inbounds ptr, ptr %t7584, i32 %t7572 + store ptr @.str7648, ptr %t7585 + %t7586 = add i32 %t7572, 1 + store i32 %t7586, ptr %t7569 + %t7587 = load ptr, ptr %t410 + %t7588 = getelementptr inbounds %LSlice, ptr %t7587, i32 0, i32 1 + %t7589 = getelementptr inbounds %LSlice, ptr %t7587, i32 0, i32 2 + %t7590 = getelementptr inbounds %LSlice, ptr %t7587, i32 0, i32 0 + %t7591 = load i32, ptr %t7588 + %t7592 = load i32, ptr %t7589 + %t7593 = icmp sge i32 %t7591, %t7592 + br i1 %t7593, label %grow1607, label %put1608 +grow1607: + %t7594 = mul i32 %t7592, 2 + %t7595 = icmp eq i32 %t7592, 0 + %t7596 = select i1 %t7595, i32 8, i32 %t7594 + %t7597 = getelementptr ptr, ptr null, i32 1 + %t7598 = ptrtoint ptr %t7597 to i64 + %t7599 = zext i32 %t7596 to i64 + %t7600 = mul i64 %t7599, %t7598 + %t7601 = load ptr, ptr %t7590 + %t7602 = call ptr @realloc(ptr %t7601, i64 %t7600) + store ptr %t7602, ptr %t7590 + store i32 %t7596, ptr %t7589 + br label %put1608 +put1608: + %t7603 = load ptr, ptr %t7590 + %t7604 = getelementptr inbounds ptr, ptr %t7603, i32 %t7591 + store ptr @.str7649, ptr %t7604 + %t7605 = add i32 %t7591, 1 + store i32 %t7605, ptr %t7588 + br label %ifend1604 +ifend1604: + %t7606 = load ptr, ptr %t1 + %t7607 = call i32 @lp_str_eq(ptr %t7606, ptr @.str7650) + %t7608 = icmp ne i32 %t7607, 0 + br i1 %t7608, label %then1609, label %ifend1611 +then1609: + store ptr @.str7651, ptr %t403 + %t7609 = load ptr, ptr %t410 + %t7610 = getelementptr inbounds %LSlice, ptr %t7609, i32 0, i32 1 + %t7611 = getelementptr inbounds %LSlice, ptr %t7609, i32 0, i32 2 + %t7612 = getelementptr inbounds %LSlice, ptr %t7609, i32 0, i32 0 + %t7613 = load i32, ptr %t7610 + %t7614 = load i32, ptr %t7611 + %t7615 = icmp sge i32 %t7613, %t7614 + br i1 %t7615, label %grow1612, label %put1613 +grow1612: + %t7616 = mul i32 %t7614, 2 + %t7617 = icmp eq i32 %t7614, 0 + %t7618 = select i1 %t7617, i32 8, i32 %t7616 + %t7619 = getelementptr ptr, ptr null, i32 1 + %t7620 = ptrtoint ptr %t7619 to i64 + %t7621 = zext i32 %t7618 to i64 + %t7622 = mul i64 %t7621, %t7620 + %t7623 = load ptr, ptr %t7612 + %t7624 = call ptr @realloc(ptr %t7623, i64 %t7622) + store ptr %t7624, ptr %t7612 + store i32 %t7618, ptr %t7611 + br label %put1613 +put1613: + %t7625 = load ptr, ptr %t7612 + %t7626 = getelementptr inbounds ptr, ptr %t7625, i32 %t7613 + store ptr @.str7652, ptr %t7626 + %t7627 = add i32 %t7613, 1 + store i32 %t7627, ptr %t7610 + %t7628 = load ptr, ptr %t410 + %t7629 = getelementptr inbounds %LSlice, ptr %t7628, i32 0, i32 1 + %t7630 = getelementptr inbounds %LSlice, ptr %t7628, i32 0, i32 2 + %t7631 = getelementptr inbounds %LSlice, ptr %t7628, i32 0, i32 0 + %t7632 = load i32, ptr %t7629 + %t7633 = load i32, ptr %t7630 + %t7634 = icmp sge i32 %t7632, %t7633 + br i1 %t7634, label %grow1614, label %put1615 +grow1614: + %t7635 = mul i32 %t7633, 2 + %t7636 = icmp eq i32 %t7633, 0 + %t7637 = select i1 %t7636, i32 8, i32 %t7635 + %t7638 = getelementptr ptr, ptr null, i32 1 + %t7639 = ptrtoint ptr %t7638 to i64 + %t7640 = zext i32 %t7637 to i64 + %t7641 = mul i64 %t7640, %t7639 + %t7642 = load ptr, ptr %t7631 + %t7643 = call ptr @realloc(ptr %t7642, i64 %t7641) + store ptr %t7643, ptr %t7631 + store i32 %t7637, ptr %t7630 + br label %put1615 +put1615: + %t7644 = load ptr, ptr %t7631 + %t7645 = getelementptr inbounds ptr, ptr %t7644, i32 %t7632 + store ptr @.str7653, ptr %t7645 + %t7646 = add i32 %t7632, 1 + store i32 %t7646, ptr %t7629 + br label %ifend1611 +ifend1611: + %t7647 = load ptr, ptr %t1 + %t7648 = call i32 @lp_str_eq(ptr %t7647, ptr @.str7654) + %t7649 = icmp ne i32 %t7648, 0 + br i1 %t7649, label %then1616, label %ifend1618 +then1616: + store ptr @.str7655, ptr %t403 + %t7650 = load ptr, ptr %t410 + %t7651 = getelementptr inbounds %LSlice, ptr %t7650, i32 0, i32 1 + %t7652 = getelementptr inbounds %LSlice, ptr %t7650, i32 0, i32 2 + %t7653 = getelementptr inbounds %LSlice, ptr %t7650, i32 0, i32 0 + %t7654 = load i32, ptr %t7651 + %t7655 = load i32, ptr %t7652 + %t7656 = icmp sge i32 %t7654, %t7655 + br i1 %t7656, label %grow1619, label %put1620 +grow1619: + %t7657 = mul i32 %t7655, 2 + %t7658 = icmp eq i32 %t7655, 0 + %t7659 = select i1 %t7658, i32 8, i32 %t7657 + %t7660 = getelementptr ptr, ptr null, i32 1 + %t7661 = ptrtoint ptr %t7660 to i64 + %t7662 = zext i32 %t7659 to i64 + %t7663 = mul i64 %t7662, %t7661 + %t7664 = load ptr, ptr %t7653 + %t7665 = call ptr @realloc(ptr %t7664, i64 %t7663) + store ptr %t7665, ptr %t7653 + store i32 %t7659, ptr %t7652 + br label %put1620 +put1620: + %t7666 = load ptr, ptr %t7653 + %t7667 = getelementptr inbounds ptr, ptr %t7666, i32 %t7654 + store ptr @.str7656, ptr %t7667 + %t7668 = add i32 %t7654, 1 + store i32 %t7668, ptr %t7651 + %t7669 = load ptr, ptr %t410 + %t7670 = getelementptr inbounds %LSlice, ptr %t7669, i32 0, i32 1 + %t7671 = getelementptr inbounds %LSlice, ptr %t7669, i32 0, i32 2 + %t7672 = getelementptr inbounds %LSlice, ptr %t7669, i32 0, i32 0 + %t7673 = load i32, ptr %t7670 + %t7674 = load i32, ptr %t7671 + %t7675 = icmp sge i32 %t7673, %t7674 + br i1 %t7675, label %grow1621, label %put1622 +grow1621: + %t7676 = mul i32 %t7674, 2 + %t7677 = icmp eq i32 %t7674, 0 + %t7678 = select i1 %t7677, i32 8, i32 %t7676 + %t7679 = getelementptr ptr, ptr null, i32 1 + %t7680 = ptrtoint ptr %t7679 to i64 + %t7681 = zext i32 %t7678 to i64 + %t7682 = mul i64 %t7681, %t7680 + %t7683 = load ptr, ptr %t7672 + %t7684 = call ptr @realloc(ptr %t7683, i64 %t7682) + store ptr %t7684, ptr %t7672 + store i32 %t7678, ptr %t7671 + br label %put1622 +put1622: + %t7685 = load ptr, ptr %t7672 + %t7686 = getelementptr inbounds ptr, ptr %t7685, i32 %t7673 + store ptr @.str7657, ptr %t7686 + %t7687 = add i32 %t7673, 1 + store i32 %t7687, ptr %t7670 + br label %ifend1618 +ifend1618: + %t7688 = load ptr, ptr %t1 + %t7689 = call i32 @lp_str_eq(ptr %t7688, ptr @.str7658) + %t7690 = icmp ne i32 %t7689, 0 + br i1 %t7690, label %then1623, label %ifend1625 +then1623: + store ptr @.str7659, ptr %t403 + %t7691 = load ptr, ptr %t410 + %t7692 = getelementptr inbounds %LSlice, ptr %t7691, i32 0, i32 1 + %t7693 = getelementptr inbounds %LSlice, ptr %t7691, i32 0, i32 2 + %t7694 = getelementptr inbounds %LSlice, ptr %t7691, i32 0, i32 0 + %t7695 = load i32, ptr %t7692 + %t7696 = load i32, ptr %t7693 + %t7697 = icmp sge i32 %t7695, %t7696 + br i1 %t7697, label %grow1626, label %put1627 +grow1626: + %t7698 = mul i32 %t7696, 2 + %t7699 = icmp eq i32 %t7696, 0 + %t7700 = select i1 %t7699, i32 8, i32 %t7698 + %t7701 = getelementptr ptr, ptr null, i32 1 + %t7702 = ptrtoint ptr %t7701 to i64 + %t7703 = zext i32 %t7700 to i64 + %t7704 = mul i64 %t7703, %t7702 + %t7705 = load ptr, ptr %t7694 + %t7706 = call ptr @realloc(ptr %t7705, i64 %t7704) + store ptr %t7706, ptr %t7694 + store i32 %t7700, ptr %t7693 + br label %put1627 +put1627: + %t7707 = load ptr, ptr %t7694 + %t7708 = getelementptr inbounds ptr, ptr %t7707, i32 %t7695 + store ptr @.str7660, ptr %t7708 + %t7709 = add i32 %t7695, 1 + store i32 %t7709, ptr %t7692 + br label %ifend1625 +ifend1625: + %t7710 = load ptr, ptr %t1 + %t7711 = call i32 @lp_str_eq(ptr %t7710, ptr @.str7661) + %t7712 = icmp ne i32 %t7711, 0 + br i1 %t7712, label %then1628, label %ifend1630 +then1628: + store ptr @.str7662, ptr %t403 + %t7713 = load ptr, ptr %t410 + %t7714 = getelementptr inbounds %LSlice, ptr %t7713, i32 0, i32 1 + %t7715 = getelementptr inbounds %LSlice, ptr %t7713, i32 0, i32 2 + %t7716 = getelementptr inbounds %LSlice, ptr %t7713, i32 0, i32 0 + %t7717 = load i32, ptr %t7714 + %t7718 = load i32, ptr %t7715 + %t7719 = icmp sge i32 %t7717, %t7718 + br i1 %t7719, label %grow1631, label %put1632 +grow1631: + %t7720 = mul i32 %t7718, 2 + %t7721 = icmp eq i32 %t7718, 0 + %t7722 = select i1 %t7721, i32 8, i32 %t7720 + %t7723 = getelementptr ptr, ptr null, i32 1 + %t7724 = ptrtoint ptr %t7723 to i64 + %t7725 = zext i32 %t7722 to i64 + %t7726 = mul i64 %t7725, %t7724 + %t7727 = load ptr, ptr %t7716 + %t7728 = call ptr @realloc(ptr %t7727, i64 %t7726) + store ptr %t7728, ptr %t7716 + store i32 %t7722, ptr %t7715 + br label %put1632 +put1632: + %t7729 = load ptr, ptr %t7716 + %t7730 = getelementptr inbounds ptr, ptr %t7729, i32 %t7717 + store ptr @.str7663, ptr %t7730 + %t7731 = add i32 %t7717, 1 + store i32 %t7731, ptr %t7714 + br label %ifend1630 +ifend1630: + %t7732 = load ptr, ptr %t1 + %t7733 = call i32 @lp_str_eq(ptr %t7732, ptr @.str7664) + %t7734 = icmp ne i32 %t7733, 0 + br i1 %t7734, label %then1633, label %ifend1635 +then1633: + store ptr @.str7665, ptr %t403 + %t7735 = load ptr, ptr %t410 + %t7736 = getelementptr inbounds %LSlice, ptr %t7735, i32 0, i32 1 + %t7737 = getelementptr inbounds %LSlice, ptr %t7735, i32 0, i32 2 + %t7738 = getelementptr inbounds %LSlice, ptr %t7735, i32 0, i32 0 + %t7739 = load i32, ptr %t7736 + %t7740 = load i32, ptr %t7737 + %t7741 = icmp sge i32 %t7739, %t7740 + br i1 %t7741, label %grow1636, label %put1637 +grow1636: + %t7742 = mul i32 %t7740, 2 + %t7743 = icmp eq i32 %t7740, 0 + %t7744 = select i1 %t7743, i32 8, i32 %t7742 + %t7745 = getelementptr ptr, ptr null, i32 1 + %t7746 = ptrtoint ptr %t7745 to i64 + %t7747 = zext i32 %t7744 to i64 + %t7748 = mul i64 %t7747, %t7746 + %t7749 = load ptr, ptr %t7738 + %t7750 = call ptr @realloc(ptr %t7749, i64 %t7748) + store ptr %t7750, ptr %t7738 + store i32 %t7744, ptr %t7737 + br label %put1637 +put1637: + %t7751 = load ptr, ptr %t7738 + %t7752 = getelementptr inbounds ptr, ptr %t7751, i32 %t7739 + store ptr @.str7666, ptr %t7752 + %t7753 = add i32 %t7739, 1 + store i32 %t7753, ptr %t7736 + br label %ifend1635 +ifend1635: + br label %ifend1551 +ifend1551: + %t7754 = load ptr, ptr %t0 + %t7755 = call i32 @lp_str_eq(ptr %t7754, ptr @.str7667) + %t7756 = icmp ne i32 %t7755, 0 + br i1 %t7756, label %then1638, label %ifend1640 +then1638: + %t7757 = load ptr, ptr %t1 + %t7758 = call i32 @lp_str_eq(ptr %t7757, ptr @.str7668) + %t7759 = icmp ne i32 %t7758, 0 + br i1 %t7759, label %then1641, label %ifend1643 +then1641: + store ptr @.str7669, ptr %t403 + %t7760 = load ptr, ptr %t410 + %t7761 = getelementptr inbounds %LSlice, ptr %t7760, i32 0, i32 1 + %t7762 = getelementptr inbounds %LSlice, ptr %t7760, i32 0, i32 2 + %t7763 = getelementptr inbounds %LSlice, ptr %t7760, i32 0, i32 0 + %t7764 = load i32, ptr %t7761 + %t7765 = load i32, ptr %t7762 + %t7766 = icmp sge i32 %t7764, %t7765 + br i1 %t7766, label %grow1644, label %put1645 +grow1644: + %t7767 = mul i32 %t7765, 2 + %t7768 = icmp eq i32 %t7765, 0 + %t7769 = select i1 %t7768, i32 8, i32 %t7767 + %t7770 = getelementptr ptr, ptr null, i32 1 + %t7771 = ptrtoint ptr %t7770 to i64 + %t7772 = zext i32 %t7769 to i64 + %t7773 = mul i64 %t7772, %t7771 + %t7774 = load ptr, ptr %t7763 + %t7775 = call ptr @realloc(ptr %t7774, i64 %t7773) + store ptr %t7775, ptr %t7763 + store i32 %t7769, ptr %t7762 + br label %put1645 +put1645: + %t7776 = load ptr, ptr %t7763 + %t7777 = getelementptr inbounds ptr, ptr %t7776, i32 %t7764 + store ptr @.str7670, ptr %t7777 + %t7778 = add i32 %t7764, 1 + store i32 %t7778, ptr %t7761 + br label %ifend1643 +ifend1643: + %t7779 = load ptr, ptr %t1 + %t7780 = call i32 @lp_str_eq(ptr %t7779, ptr @.str7671) + %t7781 = icmp ne i32 %t7780, 0 + br i1 %t7781, label %then1646, label %ifend1648 +then1646: + store ptr @.str7672, ptr %t403 + %t7782 = load ptr, ptr %t410 + %t7783 = getelementptr inbounds %LSlice, ptr %t7782, i32 0, i32 1 + %t7784 = getelementptr inbounds %LSlice, ptr %t7782, i32 0, i32 2 + %t7785 = getelementptr inbounds %LSlice, ptr %t7782, i32 0, i32 0 + %t7786 = load i32, ptr %t7783 + %t7787 = load i32, ptr %t7784 + %t7788 = icmp sge i32 %t7786, %t7787 + br i1 %t7788, label %grow1649, label %put1650 +grow1649: + %t7789 = mul i32 %t7787, 2 + %t7790 = icmp eq i32 %t7787, 0 + %t7791 = select i1 %t7790, i32 8, i32 %t7789 + %t7792 = getelementptr ptr, ptr null, i32 1 + %t7793 = ptrtoint ptr %t7792 to i64 + %t7794 = zext i32 %t7791 to i64 + %t7795 = mul i64 %t7794, %t7793 + %t7796 = load ptr, ptr %t7785 + %t7797 = call ptr @realloc(ptr %t7796, i64 %t7795) + store ptr %t7797, ptr %t7785 + store i32 %t7791, ptr %t7784 + br label %put1650 +put1650: + %t7798 = load ptr, ptr %t7785 + %t7799 = getelementptr inbounds ptr, ptr %t7798, i32 %t7786 + store ptr @.str7673, ptr %t7799 + %t7800 = add i32 %t7786, 1 + store i32 %t7800, ptr %t7783 + br label %ifend1648 +ifend1648: + %t7801 = load ptr, ptr %t1 + %t7802 = call i32 @lp_str_eq(ptr %t7801, ptr @.str7674) + %t7803 = icmp ne i32 %t7802, 0 + br i1 %t7803, label %then1651, label %ifend1653 +then1651: + store ptr @.str7675, ptr %t403 + %t7804 = load ptr, ptr %t410 + %t7805 = getelementptr inbounds %LSlice, ptr %t7804, i32 0, i32 1 + %t7806 = getelementptr inbounds %LSlice, ptr %t7804, i32 0, i32 2 + %t7807 = getelementptr inbounds %LSlice, ptr %t7804, i32 0, i32 0 + %t7808 = load i32, ptr %t7805 + %t7809 = load i32, ptr %t7806 + %t7810 = icmp sge i32 %t7808, %t7809 + br i1 %t7810, label %grow1654, label %put1655 +grow1654: + %t7811 = mul i32 %t7809, 2 + %t7812 = icmp eq i32 %t7809, 0 + %t7813 = select i1 %t7812, i32 8, i32 %t7811 + %t7814 = getelementptr ptr, ptr null, i32 1 + %t7815 = ptrtoint ptr %t7814 to i64 + %t7816 = zext i32 %t7813 to i64 + %t7817 = mul i64 %t7816, %t7815 + %t7818 = load ptr, ptr %t7807 + %t7819 = call ptr @realloc(ptr %t7818, i64 %t7817) + store ptr %t7819, ptr %t7807 + store i32 %t7813, ptr %t7806 + br label %put1655 +put1655: + %t7820 = load ptr, ptr %t7807 + %t7821 = getelementptr inbounds ptr, ptr %t7820, i32 %t7808 + store ptr @.str7676, ptr %t7821 + %t7822 = add i32 %t7808, 1 + store i32 %t7822, ptr %t7805 + %t7823 = load ptr, ptr %t410 + %t7824 = getelementptr inbounds %LSlice, ptr %t7823, i32 0, i32 1 + %t7825 = getelementptr inbounds %LSlice, ptr %t7823, i32 0, i32 2 + %t7826 = getelementptr inbounds %LSlice, ptr %t7823, i32 0, i32 0 + %t7827 = load i32, ptr %t7824 + %t7828 = load i32, ptr %t7825 + %t7829 = icmp sge i32 %t7827, %t7828 + br i1 %t7829, label %grow1656, label %put1657 +grow1656: + %t7830 = mul i32 %t7828, 2 + %t7831 = icmp eq i32 %t7828, 0 + %t7832 = select i1 %t7831, i32 8, i32 %t7830 + %t7833 = getelementptr ptr, ptr null, i32 1 + %t7834 = ptrtoint ptr %t7833 to i64 + %t7835 = zext i32 %t7832 to i64 + %t7836 = mul i64 %t7835, %t7834 + %t7837 = load ptr, ptr %t7826 + %t7838 = call ptr @realloc(ptr %t7837, i64 %t7836) + store ptr %t7838, ptr %t7826 + store i32 %t7832, ptr %t7825 + br label %put1657 +put1657: + %t7839 = load ptr, ptr %t7826 + %t7840 = getelementptr inbounds ptr, ptr %t7839, i32 %t7827 + store ptr @.str7677, ptr %t7840 + %t7841 = add i32 %t7827, 1 + store i32 %t7841, ptr %t7824 + br label %ifend1653 +ifend1653: + %t7842 = load ptr, ptr %t1 + %t7843 = call i32 @lp_str_eq(ptr %t7842, ptr @.str7678) + %t7844 = icmp ne i32 %t7843, 0 + br i1 %t7844, label %then1658, label %ifend1660 +then1658: + store ptr @.str7679, ptr %t403 + %t7845 = load ptr, ptr %t410 + %t7846 = getelementptr inbounds %LSlice, ptr %t7845, i32 0, i32 1 + %t7847 = getelementptr inbounds %LSlice, ptr %t7845, i32 0, i32 2 + %t7848 = getelementptr inbounds %LSlice, ptr %t7845, i32 0, i32 0 + %t7849 = load i32, ptr %t7846 + %t7850 = load i32, ptr %t7847 + %t7851 = icmp sge i32 %t7849, %t7850 + br i1 %t7851, label %grow1661, label %put1662 +grow1661: + %t7852 = mul i32 %t7850, 2 + %t7853 = icmp eq i32 %t7850, 0 + %t7854 = select i1 %t7853, i32 8, i32 %t7852 + %t7855 = getelementptr ptr, ptr null, i32 1 + %t7856 = ptrtoint ptr %t7855 to i64 + %t7857 = zext i32 %t7854 to i64 + %t7858 = mul i64 %t7857, %t7856 + %t7859 = load ptr, ptr %t7848 + %t7860 = call ptr @realloc(ptr %t7859, i64 %t7858) + store ptr %t7860, ptr %t7848 + store i32 %t7854, ptr %t7847 + br label %put1662 +put1662: + %t7861 = load ptr, ptr %t7848 + %t7862 = getelementptr inbounds ptr, ptr %t7861, i32 %t7849 + store ptr @.str7680, ptr %t7862 + %t7863 = add i32 %t7849, 1 + store i32 %t7863, ptr %t7846 + %t7864 = load ptr, ptr %t410 + %t7865 = getelementptr inbounds %LSlice, ptr %t7864, i32 0, i32 1 + %t7866 = getelementptr inbounds %LSlice, ptr %t7864, i32 0, i32 2 + %t7867 = getelementptr inbounds %LSlice, ptr %t7864, i32 0, i32 0 + %t7868 = load i32, ptr %t7865 + %t7869 = load i32, ptr %t7866 + %t7870 = icmp sge i32 %t7868, %t7869 + br i1 %t7870, label %grow1663, label %put1664 +grow1663: + %t7871 = mul i32 %t7869, 2 + %t7872 = icmp eq i32 %t7869, 0 + %t7873 = select i1 %t7872, i32 8, i32 %t7871 + %t7874 = getelementptr ptr, ptr null, i32 1 + %t7875 = ptrtoint ptr %t7874 to i64 + %t7876 = zext i32 %t7873 to i64 + %t7877 = mul i64 %t7876, %t7875 + %t7878 = load ptr, ptr %t7867 + %t7879 = call ptr @realloc(ptr %t7878, i64 %t7877) + store ptr %t7879, ptr %t7867 + store i32 %t7873, ptr %t7866 + br label %put1664 +put1664: + %t7880 = load ptr, ptr %t7867 + %t7881 = getelementptr inbounds ptr, ptr %t7880, i32 %t7868 + store ptr @.str7681, ptr %t7881 + %t7882 = add i32 %t7868, 1 + store i32 %t7882, ptr %t7865 + br label %ifend1660 +ifend1660: + %t7883 = load ptr, ptr %t1 + %t7884 = call i32 @lp_str_eq(ptr %t7883, ptr @.str7682) + %t7885 = icmp ne i32 %t7884, 0 + br i1 %t7885, label %then1665, label %ifend1667 +then1665: + store ptr @.str7683, ptr %t403 + %t7886 = load ptr, ptr %t410 + %t7887 = getelementptr inbounds %LSlice, ptr %t7886, i32 0, i32 1 + %t7888 = getelementptr inbounds %LSlice, ptr %t7886, i32 0, i32 2 + %t7889 = getelementptr inbounds %LSlice, ptr %t7886, i32 0, i32 0 + %t7890 = load i32, ptr %t7887 + %t7891 = load i32, ptr %t7888 + %t7892 = icmp sge i32 %t7890, %t7891 + br i1 %t7892, label %grow1668, label %put1669 +grow1668: + %t7893 = mul i32 %t7891, 2 + %t7894 = icmp eq i32 %t7891, 0 + %t7895 = select i1 %t7894, i32 8, i32 %t7893 + %t7896 = getelementptr ptr, ptr null, i32 1 + %t7897 = ptrtoint ptr %t7896 to i64 + %t7898 = zext i32 %t7895 to i64 + %t7899 = mul i64 %t7898, %t7897 + %t7900 = load ptr, ptr %t7889 + %t7901 = call ptr @realloc(ptr %t7900, i64 %t7899) + store ptr %t7901, ptr %t7889 + store i32 %t7895, ptr %t7888 + br label %put1669 +put1669: + %t7902 = load ptr, ptr %t7889 + %t7903 = getelementptr inbounds ptr, ptr %t7902, i32 %t7890 + store ptr @.str7684, ptr %t7903 + %t7904 = add i32 %t7890, 1 + store i32 %t7904, ptr %t7887 + %t7905 = load ptr, ptr %t410 + %t7906 = getelementptr inbounds %LSlice, ptr %t7905, i32 0, i32 1 + %t7907 = getelementptr inbounds %LSlice, ptr %t7905, i32 0, i32 2 + %t7908 = getelementptr inbounds %LSlice, ptr %t7905, i32 0, i32 0 + %t7909 = load i32, ptr %t7906 + %t7910 = load i32, ptr %t7907 + %t7911 = icmp sge i32 %t7909, %t7910 + br i1 %t7911, label %grow1670, label %put1671 +grow1670: + %t7912 = mul i32 %t7910, 2 + %t7913 = icmp eq i32 %t7910, 0 + %t7914 = select i1 %t7913, i32 8, i32 %t7912 + %t7915 = getelementptr ptr, ptr null, i32 1 + %t7916 = ptrtoint ptr %t7915 to i64 + %t7917 = zext i32 %t7914 to i64 + %t7918 = mul i64 %t7917, %t7916 + %t7919 = load ptr, ptr %t7908 + %t7920 = call ptr @realloc(ptr %t7919, i64 %t7918) + store ptr %t7920, ptr %t7908 + store i32 %t7914, ptr %t7907 + br label %put1671 +put1671: + %t7921 = load ptr, ptr %t7908 + %t7922 = getelementptr inbounds ptr, ptr %t7921, i32 %t7909 + store ptr @.str7685, ptr %t7922 + %t7923 = add i32 %t7909, 1 + store i32 %t7923, ptr %t7906 + br label %ifend1667 +ifend1667: + %t7924 = load ptr, ptr %t1 + %t7925 = call i32 @lp_str_eq(ptr %t7924, ptr @.str7686) + %t7926 = icmp ne i32 %t7925, 0 + br i1 %t7926, label %then1672, label %ifend1674 +then1672: + store ptr @.str7687, ptr %t403 + %t7927 = load ptr, ptr %t410 + %t7928 = getelementptr inbounds %LSlice, ptr %t7927, i32 0, i32 1 + %t7929 = getelementptr inbounds %LSlice, ptr %t7927, i32 0, i32 2 + %t7930 = getelementptr inbounds %LSlice, ptr %t7927, i32 0, i32 0 + %t7931 = load i32, ptr %t7928 + %t7932 = load i32, ptr %t7929 + %t7933 = icmp sge i32 %t7931, %t7932 + br i1 %t7933, label %grow1675, label %put1676 +grow1675: + %t7934 = mul i32 %t7932, 2 + %t7935 = icmp eq i32 %t7932, 0 + %t7936 = select i1 %t7935, i32 8, i32 %t7934 + %t7937 = getelementptr ptr, ptr null, i32 1 + %t7938 = ptrtoint ptr %t7937 to i64 + %t7939 = zext i32 %t7936 to i64 + %t7940 = mul i64 %t7939, %t7938 + %t7941 = load ptr, ptr %t7930 + %t7942 = call ptr @realloc(ptr %t7941, i64 %t7940) + store ptr %t7942, ptr %t7930 + store i32 %t7936, ptr %t7929 + br label %put1676 +put1676: + %t7943 = load ptr, ptr %t7930 + %t7944 = getelementptr inbounds ptr, ptr %t7943, i32 %t7931 + store ptr @.str7688, ptr %t7944 + %t7945 = add i32 %t7931, 1 + store i32 %t7945, ptr %t7928 + br label %ifend1674 +ifend1674: + %t7946 = load ptr, ptr %t1 + %t7947 = call i32 @lp_str_eq(ptr %t7946, ptr @.str7689) + %t7948 = icmp ne i32 %t7947, 0 + br i1 %t7948, label %then1677, label %ifend1679 +then1677: + store ptr @.str7690, ptr %t403 + %t7949 = load ptr, ptr %t410 + %t7950 = getelementptr inbounds %LSlice, ptr %t7949, i32 0, i32 1 + %t7951 = getelementptr inbounds %LSlice, ptr %t7949, i32 0, i32 2 + %t7952 = getelementptr inbounds %LSlice, ptr %t7949, i32 0, i32 0 + %t7953 = load i32, ptr %t7950 + %t7954 = load i32, ptr %t7951 + %t7955 = icmp sge i32 %t7953, %t7954 + br i1 %t7955, label %grow1680, label %put1681 +grow1680: + %t7956 = mul i32 %t7954, 2 + %t7957 = icmp eq i32 %t7954, 0 + %t7958 = select i1 %t7957, i32 8, i32 %t7956 + %t7959 = getelementptr ptr, ptr null, i32 1 + %t7960 = ptrtoint ptr %t7959 to i64 + %t7961 = zext i32 %t7958 to i64 + %t7962 = mul i64 %t7961, %t7960 + %t7963 = load ptr, ptr %t7952 + %t7964 = call ptr @realloc(ptr %t7963, i64 %t7962) + store ptr %t7964, ptr %t7952 + store i32 %t7958, ptr %t7951 + br label %put1681 +put1681: + %t7965 = load ptr, ptr %t7952 + %t7966 = getelementptr inbounds ptr, ptr %t7965, i32 %t7953 + store ptr @.str7691, ptr %t7966 + %t7967 = add i32 %t7953, 1 + store i32 %t7967, ptr %t7950 + %t7968 = load ptr, ptr %t410 + %t7969 = getelementptr inbounds %LSlice, ptr %t7968, i32 0, i32 1 + %t7970 = getelementptr inbounds %LSlice, ptr %t7968, i32 0, i32 2 + %t7971 = getelementptr inbounds %LSlice, ptr %t7968, i32 0, i32 0 + %t7972 = load i32, ptr %t7969 + %t7973 = load i32, ptr %t7970 + %t7974 = icmp sge i32 %t7972, %t7973 + br i1 %t7974, label %grow1682, label %put1683 +grow1682: + %t7975 = mul i32 %t7973, 2 + %t7976 = icmp eq i32 %t7973, 0 + %t7977 = select i1 %t7976, i32 8, i32 %t7975 + %t7978 = getelementptr ptr, ptr null, i32 1 + %t7979 = ptrtoint ptr %t7978 to i64 + %t7980 = zext i32 %t7977 to i64 + %t7981 = mul i64 %t7980, %t7979 + %t7982 = load ptr, ptr %t7971 + %t7983 = call ptr @realloc(ptr %t7982, i64 %t7981) + store ptr %t7983, ptr %t7971 + store i32 %t7977, ptr %t7970 + br label %put1683 +put1683: + %t7984 = load ptr, ptr %t7971 + %t7985 = getelementptr inbounds ptr, ptr %t7984, i32 %t7972 + store ptr @.str7692, ptr %t7985 + %t7986 = add i32 %t7972, 1 + store i32 %t7986, ptr %t7969 + br label %ifend1679 +ifend1679: + %t7987 = load ptr, ptr %t1 + %t7988 = call i32 @lp_str_eq(ptr %t7987, ptr @.str7693) + %t7989 = icmp ne i32 %t7988, 0 + br i1 %t7989, label %then1684, label %ifend1686 +then1684: + store ptr @.str7694, ptr %t403 + %t7990 = load ptr, ptr %t410 + %t7991 = getelementptr inbounds %LSlice, ptr %t7990, i32 0, i32 1 + %t7992 = getelementptr inbounds %LSlice, ptr %t7990, i32 0, i32 2 + %t7993 = getelementptr inbounds %LSlice, ptr %t7990, i32 0, i32 0 + %t7994 = load i32, ptr %t7991 + %t7995 = load i32, ptr %t7992 + %t7996 = icmp sge i32 %t7994, %t7995 + br i1 %t7996, label %grow1687, label %put1688 +grow1687: + %t7997 = mul i32 %t7995, 2 + %t7998 = icmp eq i32 %t7995, 0 + %t7999 = select i1 %t7998, i32 8, i32 %t7997 + %t8000 = getelementptr ptr, ptr null, i32 1 + %t8001 = ptrtoint ptr %t8000 to i64 + %t8002 = zext i32 %t7999 to i64 + %t8003 = mul i64 %t8002, %t8001 + %t8004 = load ptr, ptr %t7993 + %t8005 = call ptr @realloc(ptr %t8004, i64 %t8003) + store ptr %t8005, ptr %t7993 + store i32 %t7999, ptr %t7992 + br label %put1688 +put1688: + %t8006 = load ptr, ptr %t7993 + %t8007 = getelementptr inbounds ptr, ptr %t8006, i32 %t7994 + store ptr @.str7695, ptr %t8007 + %t8008 = add i32 %t7994, 1 + store i32 %t8008, ptr %t7991 + %t8009 = load ptr, ptr %t410 + %t8010 = getelementptr inbounds %LSlice, ptr %t8009, i32 0, i32 1 + %t8011 = getelementptr inbounds %LSlice, ptr %t8009, i32 0, i32 2 + %t8012 = getelementptr inbounds %LSlice, ptr %t8009, i32 0, i32 0 + %t8013 = load i32, ptr %t8010 + %t8014 = load i32, ptr %t8011 + %t8015 = icmp sge i32 %t8013, %t8014 + br i1 %t8015, label %grow1689, label %put1690 +grow1689: + %t8016 = mul i32 %t8014, 2 + %t8017 = icmp eq i32 %t8014, 0 + %t8018 = select i1 %t8017, i32 8, i32 %t8016 + %t8019 = getelementptr ptr, ptr null, i32 1 + %t8020 = ptrtoint ptr %t8019 to i64 + %t8021 = zext i32 %t8018 to i64 + %t8022 = mul i64 %t8021, %t8020 + %t8023 = load ptr, ptr %t8012 + %t8024 = call ptr @realloc(ptr %t8023, i64 %t8022) + store ptr %t8024, ptr %t8012 + store i32 %t8018, ptr %t8011 + br label %put1690 +put1690: + %t8025 = load ptr, ptr %t8012 + %t8026 = getelementptr inbounds ptr, ptr %t8025, i32 %t8013 + store ptr @.str7696, ptr %t8026 + %t8027 = add i32 %t8013, 1 + store i32 %t8027, ptr %t8010 + br label %ifend1686 +ifend1686: + %t8028 = load ptr, ptr %t1 + %t8029 = call i32 @lp_str_eq(ptr %t8028, ptr @.str7697) + %t8030 = icmp ne i32 %t8029, 0 + br i1 %t8030, label %then1691, label %ifend1693 +then1691: + store ptr @.str7698, ptr %t403 + %t8031 = load ptr, ptr %t410 + %t8032 = getelementptr inbounds %LSlice, ptr %t8031, i32 0, i32 1 + %t8033 = getelementptr inbounds %LSlice, ptr %t8031, i32 0, i32 2 + %t8034 = getelementptr inbounds %LSlice, ptr %t8031, i32 0, i32 0 + %t8035 = load i32, ptr %t8032 + %t8036 = load i32, ptr %t8033 + %t8037 = icmp sge i32 %t8035, %t8036 + br i1 %t8037, label %grow1694, label %put1695 +grow1694: + %t8038 = mul i32 %t8036, 2 + %t8039 = icmp eq i32 %t8036, 0 + %t8040 = select i1 %t8039, i32 8, i32 %t8038 + %t8041 = getelementptr ptr, ptr null, i32 1 + %t8042 = ptrtoint ptr %t8041 to i64 + %t8043 = zext i32 %t8040 to i64 + %t8044 = mul i64 %t8043, %t8042 + %t8045 = load ptr, ptr %t8034 + %t8046 = call ptr @realloc(ptr %t8045, i64 %t8044) + store ptr %t8046, ptr %t8034 + store i32 %t8040, ptr %t8033 + br label %put1695 +put1695: + %t8047 = load ptr, ptr %t8034 + %t8048 = getelementptr inbounds ptr, ptr %t8047, i32 %t8035 + store ptr @.str7699, ptr %t8048 + %t8049 = add i32 %t8035, 1 + store i32 %t8049, ptr %t8032 + br label %ifend1693 +ifend1693: + %t8050 = load ptr, ptr %t1 + %t8051 = call i32 @lp_str_eq(ptr %t8050, ptr @.str7700) + %t8052 = icmp ne i32 %t8051, 0 + br i1 %t8052, label %then1696, label %ifend1698 +then1696: + store ptr @.str7701, ptr %t403 + %t8053 = load ptr, ptr %t410 + %t8054 = getelementptr inbounds %LSlice, ptr %t8053, i32 0, i32 1 + %t8055 = getelementptr inbounds %LSlice, ptr %t8053, i32 0, i32 2 + %t8056 = getelementptr inbounds %LSlice, ptr %t8053, i32 0, i32 0 + %t8057 = load i32, ptr %t8054 + %t8058 = load i32, ptr %t8055 + %t8059 = icmp sge i32 %t8057, %t8058 + br i1 %t8059, label %grow1699, label %put1700 +grow1699: + %t8060 = mul i32 %t8058, 2 + %t8061 = icmp eq i32 %t8058, 0 + %t8062 = select i1 %t8061, i32 8, i32 %t8060 + %t8063 = getelementptr ptr, ptr null, i32 1 + %t8064 = ptrtoint ptr %t8063 to i64 + %t8065 = zext i32 %t8062 to i64 + %t8066 = mul i64 %t8065, %t8064 + %t8067 = load ptr, ptr %t8056 + %t8068 = call ptr @realloc(ptr %t8067, i64 %t8066) + store ptr %t8068, ptr %t8056 + store i32 %t8062, ptr %t8055 + br label %put1700 +put1700: + %t8069 = load ptr, ptr %t8056 + %t8070 = getelementptr inbounds ptr, ptr %t8069, i32 %t8057 + store ptr @.str7702, ptr %t8070 + %t8071 = add i32 %t8057, 1 + store i32 %t8071, ptr %t8054 + %t8072 = load ptr, ptr %t410 + %t8073 = getelementptr inbounds %LSlice, ptr %t8072, i32 0, i32 1 + %t8074 = getelementptr inbounds %LSlice, ptr %t8072, i32 0, i32 2 + %t8075 = getelementptr inbounds %LSlice, ptr %t8072, i32 0, i32 0 + %t8076 = load i32, ptr %t8073 + %t8077 = load i32, ptr %t8074 + %t8078 = icmp sge i32 %t8076, %t8077 + br i1 %t8078, label %grow1701, label %put1702 +grow1701: + %t8079 = mul i32 %t8077, 2 + %t8080 = icmp eq i32 %t8077, 0 + %t8081 = select i1 %t8080, i32 8, i32 %t8079 + %t8082 = getelementptr ptr, ptr null, i32 1 + %t8083 = ptrtoint ptr %t8082 to i64 + %t8084 = zext i32 %t8081 to i64 + %t8085 = mul i64 %t8084, %t8083 + %t8086 = load ptr, ptr %t8075 + %t8087 = call ptr @realloc(ptr %t8086, i64 %t8085) + store ptr %t8087, ptr %t8075 + store i32 %t8081, ptr %t8074 + br label %put1702 +put1702: + %t8088 = load ptr, ptr %t8075 + %t8089 = getelementptr inbounds ptr, ptr %t8088, i32 %t8076 + store ptr @.str7703, ptr %t8089 + %t8090 = add i32 %t8076, 1 + store i32 %t8090, ptr %t8073 + br label %ifend1698 +ifend1698: + %t8091 = load ptr, ptr %t1 + %t8092 = call i32 @lp_str_eq(ptr %t8091, ptr @.str7704) + %t8093 = icmp ne i32 %t8092, 0 + br i1 %t8093, label %then1703, label %ifend1705 +then1703: + store ptr @.str7705, ptr %t403 + %t8094 = load ptr, ptr %t410 + %t8095 = getelementptr inbounds %LSlice, ptr %t8094, i32 0, i32 1 + %t8096 = getelementptr inbounds %LSlice, ptr %t8094, i32 0, i32 2 + %t8097 = getelementptr inbounds %LSlice, ptr %t8094, i32 0, i32 0 + %t8098 = load i32, ptr %t8095 + %t8099 = load i32, ptr %t8096 + %t8100 = icmp sge i32 %t8098, %t8099 + br i1 %t8100, label %grow1706, label %put1707 +grow1706: + %t8101 = mul i32 %t8099, 2 + %t8102 = icmp eq i32 %t8099, 0 + %t8103 = select i1 %t8102, i32 8, i32 %t8101 + %t8104 = getelementptr ptr, ptr null, i32 1 + %t8105 = ptrtoint ptr %t8104 to i64 + %t8106 = zext i32 %t8103 to i64 + %t8107 = mul i64 %t8106, %t8105 + %t8108 = load ptr, ptr %t8097 + %t8109 = call ptr @realloc(ptr %t8108, i64 %t8107) + store ptr %t8109, ptr %t8097 + store i32 %t8103, ptr %t8096 + br label %put1707 +put1707: + %t8110 = load ptr, ptr %t8097 + %t8111 = getelementptr inbounds ptr, ptr %t8110, i32 %t8098 + store ptr @.str7706, ptr %t8111 + %t8112 = add i32 %t8098, 1 + store i32 %t8112, ptr %t8095 + br label %ifend1705 +ifend1705: + br label %ifend1640 +ifend1640: + %t8113 = load ptr, ptr %t0 + %t8114 = call i32 @lp_str_eq(ptr %t8113, ptr @.str7707) + %t8115 = icmp ne i32 %t8114, 0 + br i1 %t8115, label %then1708, label %ifend1710 +then1708: + %t8116 = load ptr, ptr %t1 + %t8117 = call i32 @lp_str_eq(ptr %t8116, ptr @.str7708) + %t8118 = icmp ne i32 %t8117, 0 + br i1 %t8118, label %then1711, label %ifend1713 +then1711: + store ptr @.str7709, ptr %t403 + br label %ifend1713 +ifend1713: + %t8119 = load ptr, ptr %t1 + %t8120 = call i32 @lp_str_eq(ptr %t8119, ptr @.str7710) + %t8121 = icmp ne i32 %t8120, 0 + br i1 %t8121, label %then1714, label %ifend1716 +then1714: + store ptr @.str7711, ptr %t403 + %t8122 = load ptr, ptr %t410 + %t8123 = getelementptr inbounds %LSlice, ptr %t8122, i32 0, i32 1 + %t8124 = getelementptr inbounds %LSlice, ptr %t8122, i32 0, i32 2 + %t8125 = getelementptr inbounds %LSlice, ptr %t8122, i32 0, i32 0 + %t8126 = load i32, ptr %t8123 + %t8127 = load i32, ptr %t8124 + %t8128 = icmp sge i32 %t8126, %t8127 + br i1 %t8128, label %grow1717, label %put1718 +grow1717: + %t8129 = mul i32 %t8127, 2 + %t8130 = icmp eq i32 %t8127, 0 + %t8131 = select i1 %t8130, i32 8, i32 %t8129 + %t8132 = getelementptr ptr, ptr null, i32 1 + %t8133 = ptrtoint ptr %t8132 to i64 + %t8134 = zext i32 %t8131 to i64 + %t8135 = mul i64 %t8134, %t8133 + %t8136 = load ptr, ptr %t8125 + %t8137 = call ptr @realloc(ptr %t8136, i64 %t8135) + store ptr %t8137, ptr %t8125 + store i32 %t8131, ptr %t8124 + br label %put1718 +put1718: + %t8138 = load ptr, ptr %t8125 + %t8139 = getelementptr inbounds ptr, ptr %t8138, i32 %t8126 + store ptr @.str7712, ptr %t8139 + %t8140 = add i32 %t8126, 1 + store i32 %t8140, ptr %t8123 + %t8141 = load ptr, ptr %t410 + %t8142 = getelementptr inbounds %LSlice, ptr %t8141, i32 0, i32 1 + %t8143 = getelementptr inbounds %LSlice, ptr %t8141, i32 0, i32 2 + %t8144 = getelementptr inbounds %LSlice, ptr %t8141, i32 0, i32 0 + %t8145 = load i32, ptr %t8142 + %t8146 = load i32, ptr %t8143 + %t8147 = icmp sge i32 %t8145, %t8146 + br i1 %t8147, label %grow1719, label %put1720 +grow1719: + %t8148 = mul i32 %t8146, 2 + %t8149 = icmp eq i32 %t8146, 0 + %t8150 = select i1 %t8149, i32 8, i32 %t8148 + %t8151 = getelementptr ptr, ptr null, i32 1 + %t8152 = ptrtoint ptr %t8151 to i64 + %t8153 = zext i32 %t8150 to i64 + %t8154 = mul i64 %t8153, %t8152 + %t8155 = load ptr, ptr %t8144 + %t8156 = call ptr @realloc(ptr %t8155, i64 %t8154) + store ptr %t8156, ptr %t8144 + store i32 %t8150, ptr %t8143 + br label %put1720 +put1720: + %t8157 = load ptr, ptr %t8144 + %t8158 = getelementptr inbounds ptr, ptr %t8157, i32 %t8145 + store ptr @.str7713, ptr %t8158 + %t8159 = add i32 %t8145, 1 + store i32 %t8159, ptr %t8142 + %t8160 = load ptr, ptr %t410 + %t8161 = getelementptr inbounds %LSlice, ptr %t8160, i32 0, i32 1 + %t8162 = getelementptr inbounds %LSlice, ptr %t8160, i32 0, i32 2 + %t8163 = getelementptr inbounds %LSlice, ptr %t8160, i32 0, i32 0 + %t8164 = load i32, ptr %t8161 + %t8165 = load i32, ptr %t8162 + %t8166 = icmp sge i32 %t8164, %t8165 + br i1 %t8166, label %grow1721, label %put1722 +grow1721: + %t8167 = mul i32 %t8165, 2 + %t8168 = icmp eq i32 %t8165, 0 + %t8169 = select i1 %t8168, i32 8, i32 %t8167 + %t8170 = getelementptr ptr, ptr null, i32 1 + %t8171 = ptrtoint ptr %t8170 to i64 + %t8172 = zext i32 %t8169 to i64 + %t8173 = mul i64 %t8172, %t8171 + %t8174 = load ptr, ptr %t8163 + %t8175 = call ptr @realloc(ptr %t8174, i64 %t8173) + store ptr %t8175, ptr %t8163 + store i32 %t8169, ptr %t8162 + br label %put1722 +put1722: + %t8176 = load ptr, ptr %t8163 + %t8177 = getelementptr inbounds ptr, ptr %t8176, i32 %t8164 + store ptr @.str7714, ptr %t8177 + %t8178 = add i32 %t8164, 1 + store i32 %t8178, ptr %t8161 + br label %ifend1716 +ifend1716: + %t8179 = load ptr, ptr %t1 + %t8180 = call i32 @lp_str_eq(ptr %t8179, ptr @.str7715) + %t8181 = icmp ne i32 %t8180, 0 + br i1 %t8181, label %then1723, label %ifend1725 +then1723: + store ptr @.str7716, ptr %t403 + %t8182 = load ptr, ptr %t410 + %t8183 = getelementptr inbounds %LSlice, ptr %t8182, i32 0, i32 1 + %t8184 = getelementptr inbounds %LSlice, ptr %t8182, i32 0, i32 2 + %t8185 = getelementptr inbounds %LSlice, ptr %t8182, i32 0, i32 0 + %t8186 = load i32, ptr %t8183 + %t8187 = load i32, ptr %t8184 + %t8188 = icmp sge i32 %t8186, %t8187 + br i1 %t8188, label %grow1726, label %put1727 +grow1726: + %t8189 = mul i32 %t8187, 2 + %t8190 = icmp eq i32 %t8187, 0 + %t8191 = select i1 %t8190, i32 8, i32 %t8189 + %t8192 = getelementptr ptr, ptr null, i32 1 + %t8193 = ptrtoint ptr %t8192 to i64 + %t8194 = zext i32 %t8191 to i64 + %t8195 = mul i64 %t8194, %t8193 + %t8196 = load ptr, ptr %t8185 + %t8197 = call ptr @realloc(ptr %t8196, i64 %t8195) + store ptr %t8197, ptr %t8185 + store i32 %t8191, ptr %t8184 + br label %put1727 +put1727: + %t8198 = load ptr, ptr %t8185 + %t8199 = getelementptr inbounds ptr, ptr %t8198, i32 %t8186 + store ptr @.str7717, ptr %t8199 + %t8200 = add i32 %t8186, 1 + store i32 %t8200, ptr %t8183 + %t8201 = load ptr, ptr %t410 + %t8202 = getelementptr inbounds %LSlice, ptr %t8201, i32 0, i32 1 + %t8203 = getelementptr inbounds %LSlice, ptr %t8201, i32 0, i32 2 + %t8204 = getelementptr inbounds %LSlice, ptr %t8201, i32 0, i32 0 + %t8205 = load i32, ptr %t8202 + %t8206 = load i32, ptr %t8203 + %t8207 = icmp sge i32 %t8205, %t8206 + br i1 %t8207, label %grow1728, label %put1729 +grow1728: + %t8208 = mul i32 %t8206, 2 + %t8209 = icmp eq i32 %t8206, 0 + %t8210 = select i1 %t8209, i32 8, i32 %t8208 + %t8211 = getelementptr ptr, ptr null, i32 1 + %t8212 = ptrtoint ptr %t8211 to i64 + %t8213 = zext i32 %t8210 to i64 + %t8214 = mul i64 %t8213, %t8212 + %t8215 = load ptr, ptr %t8204 + %t8216 = call ptr @realloc(ptr %t8215, i64 %t8214) + store ptr %t8216, ptr %t8204 + store i32 %t8210, ptr %t8203 + br label %put1729 +put1729: + %t8217 = load ptr, ptr %t8204 + %t8218 = getelementptr inbounds ptr, ptr %t8217, i32 %t8205 + store ptr @.str7718, ptr %t8218 + %t8219 = add i32 %t8205, 1 + store i32 %t8219, ptr %t8202 + br label %ifend1725 +ifend1725: + %t8220 = load ptr, ptr %t1 + %t8221 = call i32 @lp_str_eq(ptr %t8220, ptr @.str7719) + %t8222 = icmp ne i32 %t8221, 0 + br i1 %t8222, label %then1730, label %ifend1732 +then1730: + store ptr @.str7720, ptr %t403 + %t8223 = load ptr, ptr %t410 + %t8224 = getelementptr inbounds %LSlice, ptr %t8223, i32 0, i32 1 + %t8225 = getelementptr inbounds %LSlice, ptr %t8223, i32 0, i32 2 + %t8226 = getelementptr inbounds %LSlice, ptr %t8223, i32 0, i32 0 + %t8227 = load i32, ptr %t8224 + %t8228 = load i32, ptr %t8225 + %t8229 = icmp sge i32 %t8227, %t8228 + br i1 %t8229, label %grow1733, label %put1734 +grow1733: + %t8230 = mul i32 %t8228, 2 + %t8231 = icmp eq i32 %t8228, 0 + %t8232 = select i1 %t8231, i32 8, i32 %t8230 + %t8233 = getelementptr ptr, ptr null, i32 1 + %t8234 = ptrtoint ptr %t8233 to i64 + %t8235 = zext i32 %t8232 to i64 + %t8236 = mul i64 %t8235, %t8234 + %t8237 = load ptr, ptr %t8226 + %t8238 = call ptr @realloc(ptr %t8237, i64 %t8236) + store ptr %t8238, ptr %t8226 + store i32 %t8232, ptr %t8225 + br label %put1734 +put1734: + %t8239 = load ptr, ptr %t8226 + %t8240 = getelementptr inbounds ptr, ptr %t8239, i32 %t8227 + store ptr @.str7721, ptr %t8240 + %t8241 = add i32 %t8227, 1 + store i32 %t8241, ptr %t8224 + %t8242 = load ptr, ptr %t410 + %t8243 = getelementptr inbounds %LSlice, ptr %t8242, i32 0, i32 1 + %t8244 = getelementptr inbounds %LSlice, ptr %t8242, i32 0, i32 2 + %t8245 = getelementptr inbounds %LSlice, ptr %t8242, i32 0, i32 0 + %t8246 = load i32, ptr %t8243 + %t8247 = load i32, ptr %t8244 + %t8248 = icmp sge i32 %t8246, %t8247 + br i1 %t8248, label %grow1735, label %put1736 +grow1735: + %t8249 = mul i32 %t8247, 2 + %t8250 = icmp eq i32 %t8247, 0 + %t8251 = select i1 %t8250, i32 8, i32 %t8249 + %t8252 = getelementptr ptr, ptr null, i32 1 + %t8253 = ptrtoint ptr %t8252 to i64 + %t8254 = zext i32 %t8251 to i64 + %t8255 = mul i64 %t8254, %t8253 + %t8256 = load ptr, ptr %t8245 + %t8257 = call ptr @realloc(ptr %t8256, i64 %t8255) + store ptr %t8257, ptr %t8245 + store i32 %t8251, ptr %t8244 + br label %put1736 +put1736: + %t8258 = load ptr, ptr %t8245 + %t8259 = getelementptr inbounds ptr, ptr %t8258, i32 %t8246 + store ptr @.str7722, ptr %t8259 + %t8260 = add i32 %t8246, 1 + store i32 %t8260, ptr %t8243 + %t8261 = load ptr, ptr %t410 + %t8262 = getelementptr inbounds %LSlice, ptr %t8261, i32 0, i32 1 + %t8263 = getelementptr inbounds %LSlice, ptr %t8261, i32 0, i32 2 + %t8264 = getelementptr inbounds %LSlice, ptr %t8261, i32 0, i32 0 + %t8265 = load i32, ptr %t8262 + %t8266 = load i32, ptr %t8263 + %t8267 = icmp sge i32 %t8265, %t8266 + br i1 %t8267, label %grow1737, label %put1738 +grow1737: + %t8268 = mul i32 %t8266, 2 + %t8269 = icmp eq i32 %t8266, 0 + %t8270 = select i1 %t8269, i32 8, i32 %t8268 + %t8271 = getelementptr ptr, ptr null, i32 1 + %t8272 = ptrtoint ptr %t8271 to i64 + %t8273 = zext i32 %t8270 to i64 + %t8274 = mul i64 %t8273, %t8272 + %t8275 = load ptr, ptr %t8264 + %t8276 = call ptr @realloc(ptr %t8275, i64 %t8274) + store ptr %t8276, ptr %t8264 + store i32 %t8270, ptr %t8263 + br label %put1738 +put1738: + %t8277 = load ptr, ptr %t8264 + %t8278 = getelementptr inbounds ptr, ptr %t8277, i32 %t8265 + store ptr @.str7723, ptr %t8278 + %t8279 = add i32 %t8265, 1 + store i32 %t8279, ptr %t8262 + br label %ifend1732 +ifend1732: + %t8280 = load ptr, ptr %t1 + %t8281 = call i32 @lp_str_eq(ptr %t8280, ptr @.str7724) + %t8282 = icmp ne i32 %t8281, 0 + br i1 %t8282, label %then1739, label %ifend1741 +then1739: + store ptr @.str7725, ptr %t403 + %t8283 = load ptr, ptr %t410 + %t8284 = getelementptr inbounds %LSlice, ptr %t8283, i32 0, i32 1 + %t8285 = getelementptr inbounds %LSlice, ptr %t8283, i32 0, i32 2 + %t8286 = getelementptr inbounds %LSlice, ptr %t8283, i32 0, i32 0 + %t8287 = load i32, ptr %t8284 + %t8288 = load i32, ptr %t8285 + %t8289 = icmp sge i32 %t8287, %t8288 + br i1 %t8289, label %grow1742, label %put1743 +grow1742: + %t8290 = mul i32 %t8288, 2 + %t8291 = icmp eq i32 %t8288, 0 + %t8292 = select i1 %t8291, i32 8, i32 %t8290 + %t8293 = getelementptr ptr, ptr null, i32 1 + %t8294 = ptrtoint ptr %t8293 to i64 + %t8295 = zext i32 %t8292 to i64 + %t8296 = mul i64 %t8295, %t8294 + %t8297 = load ptr, ptr %t8286 + %t8298 = call ptr @realloc(ptr %t8297, i64 %t8296) + store ptr %t8298, ptr %t8286 + store i32 %t8292, ptr %t8285 + br label %put1743 +put1743: + %t8299 = load ptr, ptr %t8286 + %t8300 = getelementptr inbounds ptr, ptr %t8299, i32 %t8287 + store ptr @.str7726, ptr %t8300 + %t8301 = add i32 %t8287, 1 + store i32 %t8301, ptr %t8284 + %t8302 = load ptr, ptr %t410 + %t8303 = getelementptr inbounds %LSlice, ptr %t8302, i32 0, i32 1 + %t8304 = getelementptr inbounds %LSlice, ptr %t8302, i32 0, i32 2 + %t8305 = getelementptr inbounds %LSlice, ptr %t8302, i32 0, i32 0 + %t8306 = load i32, ptr %t8303 + %t8307 = load i32, ptr %t8304 + %t8308 = icmp sge i32 %t8306, %t8307 + br i1 %t8308, label %grow1744, label %put1745 +grow1744: + %t8309 = mul i32 %t8307, 2 + %t8310 = icmp eq i32 %t8307, 0 + %t8311 = select i1 %t8310, i32 8, i32 %t8309 + %t8312 = getelementptr ptr, ptr null, i32 1 + %t8313 = ptrtoint ptr %t8312 to i64 + %t8314 = zext i32 %t8311 to i64 + %t8315 = mul i64 %t8314, %t8313 + %t8316 = load ptr, ptr %t8305 + %t8317 = call ptr @realloc(ptr %t8316, i64 %t8315) + store ptr %t8317, ptr %t8305 + store i32 %t8311, ptr %t8304 + br label %put1745 +put1745: + %t8318 = load ptr, ptr %t8305 + %t8319 = getelementptr inbounds ptr, ptr %t8318, i32 %t8306 + store ptr @.str7727, ptr %t8319 + %t8320 = add i32 %t8306, 1 + store i32 %t8320, ptr %t8303 + br label %ifend1741 +ifend1741: + %t8321 = load ptr, ptr %t1 + %t8322 = call i32 @lp_str_eq(ptr %t8321, ptr @.str7728) + %t8323 = icmp ne i32 %t8322, 0 + br i1 %t8323, label %then1746, label %ifend1748 +then1746: + store ptr @.str7729, ptr %t403 + %t8324 = load ptr, ptr %t410 + %t8325 = getelementptr inbounds %LSlice, ptr %t8324, i32 0, i32 1 + %t8326 = getelementptr inbounds %LSlice, ptr %t8324, i32 0, i32 2 + %t8327 = getelementptr inbounds %LSlice, ptr %t8324, i32 0, i32 0 + %t8328 = load i32, ptr %t8325 + %t8329 = load i32, ptr %t8326 + %t8330 = icmp sge i32 %t8328, %t8329 + br i1 %t8330, label %grow1749, label %put1750 +grow1749: + %t8331 = mul i32 %t8329, 2 + %t8332 = icmp eq i32 %t8329, 0 + %t8333 = select i1 %t8332, i32 8, i32 %t8331 + %t8334 = getelementptr ptr, ptr null, i32 1 + %t8335 = ptrtoint ptr %t8334 to i64 + %t8336 = zext i32 %t8333 to i64 + %t8337 = mul i64 %t8336, %t8335 + %t8338 = load ptr, ptr %t8327 + %t8339 = call ptr @realloc(ptr %t8338, i64 %t8337) + store ptr %t8339, ptr %t8327 + store i32 %t8333, ptr %t8326 + br label %put1750 +put1750: + %t8340 = load ptr, ptr %t8327 + %t8341 = getelementptr inbounds ptr, ptr %t8340, i32 %t8328 + store ptr @.str7730, ptr %t8341 + %t8342 = add i32 %t8328, 1 + store i32 %t8342, ptr %t8325 + %t8343 = load ptr, ptr %t410 + %t8344 = getelementptr inbounds %LSlice, ptr %t8343, i32 0, i32 1 + %t8345 = getelementptr inbounds %LSlice, ptr %t8343, i32 0, i32 2 + %t8346 = getelementptr inbounds %LSlice, ptr %t8343, i32 0, i32 0 + %t8347 = load i32, ptr %t8344 + %t8348 = load i32, ptr %t8345 + %t8349 = icmp sge i32 %t8347, %t8348 + br i1 %t8349, label %grow1751, label %put1752 +grow1751: + %t8350 = mul i32 %t8348, 2 + %t8351 = icmp eq i32 %t8348, 0 + %t8352 = select i1 %t8351, i32 8, i32 %t8350 + %t8353 = getelementptr ptr, ptr null, i32 1 + %t8354 = ptrtoint ptr %t8353 to i64 + %t8355 = zext i32 %t8352 to i64 + %t8356 = mul i64 %t8355, %t8354 + %t8357 = load ptr, ptr %t8346 + %t8358 = call ptr @realloc(ptr %t8357, i64 %t8356) + store ptr %t8358, ptr %t8346 + store i32 %t8352, ptr %t8345 + br label %put1752 +put1752: + %t8359 = load ptr, ptr %t8346 + %t8360 = getelementptr inbounds ptr, ptr %t8359, i32 %t8347 + store ptr @.str7731, ptr %t8360 + %t8361 = add i32 %t8347, 1 + store i32 %t8361, ptr %t8344 + br label %ifend1748 +ifend1748: + %t8362 = load ptr, ptr %t1 + %t8363 = call i32 @lp_str_eq(ptr %t8362, ptr @.str7732) + %t8364 = icmp ne i32 %t8363, 0 + br i1 %t8364, label %then1753, label %ifend1755 +then1753: + store ptr @.str7733, ptr %t403 + %t8365 = load ptr, ptr %t410 + %t8366 = getelementptr inbounds %LSlice, ptr %t8365, i32 0, i32 1 + %t8367 = getelementptr inbounds %LSlice, ptr %t8365, i32 0, i32 2 + %t8368 = getelementptr inbounds %LSlice, ptr %t8365, i32 0, i32 0 + %t8369 = load i32, ptr %t8366 + %t8370 = load i32, ptr %t8367 + %t8371 = icmp sge i32 %t8369, %t8370 + br i1 %t8371, label %grow1756, label %put1757 +grow1756: + %t8372 = mul i32 %t8370, 2 + %t8373 = icmp eq i32 %t8370, 0 + %t8374 = select i1 %t8373, i32 8, i32 %t8372 + %t8375 = getelementptr ptr, ptr null, i32 1 + %t8376 = ptrtoint ptr %t8375 to i64 + %t8377 = zext i32 %t8374 to i64 + %t8378 = mul i64 %t8377, %t8376 + %t8379 = load ptr, ptr %t8368 + %t8380 = call ptr @realloc(ptr %t8379, i64 %t8378) + store ptr %t8380, ptr %t8368 + store i32 %t8374, ptr %t8367 + br label %put1757 +put1757: + %t8381 = load ptr, ptr %t8368 + %t8382 = getelementptr inbounds ptr, ptr %t8381, i32 %t8369 + store ptr @.str7734, ptr %t8382 + %t8383 = add i32 %t8369, 1 + store i32 %t8383, ptr %t8366 + br label %ifend1755 +ifend1755: + %t8384 = load ptr, ptr %t1 + %t8385 = call i32 @lp_str_eq(ptr %t8384, ptr @.str7735) + %t8386 = icmp ne i32 %t8385, 0 + br i1 %t8386, label %then1758, label %ifend1760 +then1758: + store ptr @.str7736, ptr %t403 + %t8387 = load ptr, ptr %t410 + %t8388 = getelementptr inbounds %LSlice, ptr %t8387, i32 0, i32 1 + %t8389 = getelementptr inbounds %LSlice, ptr %t8387, i32 0, i32 2 + %t8390 = getelementptr inbounds %LSlice, ptr %t8387, i32 0, i32 0 + %t8391 = load i32, ptr %t8388 + %t8392 = load i32, ptr %t8389 + %t8393 = icmp sge i32 %t8391, %t8392 + br i1 %t8393, label %grow1761, label %put1762 +grow1761: + %t8394 = mul i32 %t8392, 2 + %t8395 = icmp eq i32 %t8392, 0 + %t8396 = select i1 %t8395, i32 8, i32 %t8394 + %t8397 = getelementptr ptr, ptr null, i32 1 + %t8398 = ptrtoint ptr %t8397 to i64 + %t8399 = zext i32 %t8396 to i64 + %t8400 = mul i64 %t8399, %t8398 + %t8401 = load ptr, ptr %t8390 + %t8402 = call ptr @realloc(ptr %t8401, i64 %t8400) + store ptr %t8402, ptr %t8390 + store i32 %t8396, ptr %t8389 + br label %put1762 +put1762: + %t8403 = load ptr, ptr %t8390 + %t8404 = getelementptr inbounds ptr, ptr %t8403, i32 %t8391 + store ptr @.str7737, ptr %t8404 + %t8405 = add i32 %t8391, 1 + store i32 %t8405, ptr %t8388 + br label %ifend1760 +ifend1760: + %t8406 = load ptr, ptr %t1 + %t8407 = call i32 @lp_str_eq(ptr %t8406, ptr @.str7738) + %t8408 = icmp ne i32 %t8407, 0 + br i1 %t8408, label %then1763, label %ifend1765 +then1763: + store ptr @.str7739, ptr %t403 + %t8409 = load ptr, ptr %t410 + %t8410 = getelementptr inbounds %LSlice, ptr %t8409, i32 0, i32 1 + %t8411 = getelementptr inbounds %LSlice, ptr %t8409, i32 0, i32 2 + %t8412 = getelementptr inbounds %LSlice, ptr %t8409, i32 0, i32 0 + %t8413 = load i32, ptr %t8410 + %t8414 = load i32, ptr %t8411 + %t8415 = icmp sge i32 %t8413, %t8414 + br i1 %t8415, label %grow1766, label %put1767 +grow1766: + %t8416 = mul i32 %t8414, 2 + %t8417 = icmp eq i32 %t8414, 0 + %t8418 = select i1 %t8417, i32 8, i32 %t8416 + %t8419 = getelementptr ptr, ptr null, i32 1 + %t8420 = ptrtoint ptr %t8419 to i64 + %t8421 = zext i32 %t8418 to i64 + %t8422 = mul i64 %t8421, %t8420 + %t8423 = load ptr, ptr %t8412 + %t8424 = call ptr @realloc(ptr %t8423, i64 %t8422) + store ptr %t8424, ptr %t8412 + store i32 %t8418, ptr %t8411 + br label %put1767 +put1767: + %t8425 = load ptr, ptr %t8412 + %t8426 = getelementptr inbounds ptr, ptr %t8425, i32 %t8413 + store ptr @.str7740, ptr %t8426 + %t8427 = add i32 %t8413, 1 + store i32 %t8427, ptr %t8410 + br label %ifend1765 +ifend1765: + br label %ifend1710 +ifend1710: + %t8428 = load ptr, ptr %t0 + %t8429 = call i32 @lp_str_eq(ptr %t8428, ptr @.str7741) + %t8430 = icmp ne i32 %t8429, 0 + br i1 %t8430, label %then1768, label %ifend1770 +then1768: + %t8431 = load ptr, ptr %t1 + %t8432 = call i32 @lp_str_eq(ptr %t8431, ptr @.str7742) + %t8433 = icmp ne i32 %t8432, 0 + br i1 %t8433, label %then1771, label %ifend1773 +then1771: + store ptr @.str7743, ptr %t403 + br label %ifend1773 +ifend1773: + %t8434 = load ptr, ptr %t1 + %t8435 = call i32 @lp_str_eq(ptr %t8434, ptr @.str7744) + %t8436 = icmp ne i32 %t8435, 0 + br i1 %t8436, label %then1774, label %ifend1776 +then1774: + store ptr @.str7745, ptr %t403 + %t8437 = load ptr, ptr %t410 + %t8438 = getelementptr inbounds %LSlice, ptr %t8437, i32 0, i32 1 + %t8439 = getelementptr inbounds %LSlice, ptr %t8437, i32 0, i32 2 + %t8440 = getelementptr inbounds %LSlice, ptr %t8437, i32 0, i32 0 + %t8441 = load i32, ptr %t8438 + %t8442 = load i32, ptr %t8439 + %t8443 = icmp sge i32 %t8441, %t8442 + br i1 %t8443, label %grow1777, label %put1778 +grow1777: + %t8444 = mul i32 %t8442, 2 + %t8445 = icmp eq i32 %t8442, 0 + %t8446 = select i1 %t8445, i32 8, i32 %t8444 + %t8447 = getelementptr ptr, ptr null, i32 1 + %t8448 = ptrtoint ptr %t8447 to i64 + %t8449 = zext i32 %t8446 to i64 + %t8450 = mul i64 %t8449, %t8448 + %t8451 = load ptr, ptr %t8440 + %t8452 = call ptr @realloc(ptr %t8451, i64 %t8450) + store ptr %t8452, ptr %t8440 + store i32 %t8446, ptr %t8439 + br label %put1778 +put1778: + %t8453 = load ptr, ptr %t8440 + %t8454 = getelementptr inbounds ptr, ptr %t8453, i32 %t8441 + store ptr @.str7746, ptr %t8454 + %t8455 = add i32 %t8441, 1 + store i32 %t8455, ptr %t8438 + %t8456 = load ptr, ptr %t410 + %t8457 = getelementptr inbounds %LSlice, ptr %t8456, i32 0, i32 1 + %t8458 = getelementptr inbounds %LSlice, ptr %t8456, i32 0, i32 2 + %t8459 = getelementptr inbounds %LSlice, ptr %t8456, i32 0, i32 0 + %t8460 = load i32, ptr %t8457 + %t8461 = load i32, ptr %t8458 + %t8462 = icmp sge i32 %t8460, %t8461 + br i1 %t8462, label %grow1779, label %put1780 +grow1779: + %t8463 = mul i32 %t8461, 2 + %t8464 = icmp eq i32 %t8461, 0 + %t8465 = select i1 %t8464, i32 8, i32 %t8463 + %t8466 = getelementptr ptr, ptr null, i32 1 + %t8467 = ptrtoint ptr %t8466 to i64 + %t8468 = zext i32 %t8465 to i64 + %t8469 = mul i64 %t8468, %t8467 + %t8470 = load ptr, ptr %t8459 + %t8471 = call ptr @realloc(ptr %t8470, i64 %t8469) + store ptr %t8471, ptr %t8459 + store i32 %t8465, ptr %t8458 + br label %put1780 +put1780: + %t8472 = load ptr, ptr %t8459 + %t8473 = getelementptr inbounds ptr, ptr %t8472, i32 %t8460 + store ptr @.str7747, ptr %t8473 + %t8474 = add i32 %t8460, 1 + store i32 %t8474, ptr %t8457 + br label %ifend1776 +ifend1776: + %t8475 = load ptr, ptr %t1 + %t8476 = call i32 @lp_str_eq(ptr %t8475, ptr @.str7748) + %t8477 = icmp ne i32 %t8476, 0 + br i1 %t8477, label %then1781, label %ifend1783 +then1781: + store ptr @.str7749, ptr %t403 + %t8478 = load ptr, ptr %t410 + %t8479 = getelementptr inbounds %LSlice, ptr %t8478, i32 0, i32 1 + %t8480 = getelementptr inbounds %LSlice, ptr %t8478, i32 0, i32 2 + %t8481 = getelementptr inbounds %LSlice, ptr %t8478, i32 0, i32 0 + %t8482 = load i32, ptr %t8479 + %t8483 = load i32, ptr %t8480 + %t8484 = icmp sge i32 %t8482, %t8483 + br i1 %t8484, label %grow1784, label %put1785 +grow1784: + %t8485 = mul i32 %t8483, 2 + %t8486 = icmp eq i32 %t8483, 0 + %t8487 = select i1 %t8486, i32 8, i32 %t8485 + %t8488 = getelementptr ptr, ptr null, i32 1 + %t8489 = ptrtoint ptr %t8488 to i64 + %t8490 = zext i32 %t8487 to i64 + %t8491 = mul i64 %t8490, %t8489 + %t8492 = load ptr, ptr %t8481 + %t8493 = call ptr @realloc(ptr %t8492, i64 %t8491) + store ptr %t8493, ptr %t8481 + store i32 %t8487, ptr %t8480 + br label %put1785 +put1785: + %t8494 = load ptr, ptr %t8481 + %t8495 = getelementptr inbounds ptr, ptr %t8494, i32 %t8482 + store ptr @.str7750, ptr %t8495 + %t8496 = add i32 %t8482, 1 + store i32 %t8496, ptr %t8479 + %t8497 = load ptr, ptr %t410 + %t8498 = getelementptr inbounds %LSlice, ptr %t8497, i32 0, i32 1 + %t8499 = getelementptr inbounds %LSlice, ptr %t8497, i32 0, i32 2 + %t8500 = getelementptr inbounds %LSlice, ptr %t8497, i32 0, i32 0 + %t8501 = load i32, ptr %t8498 + %t8502 = load i32, ptr %t8499 + %t8503 = icmp sge i32 %t8501, %t8502 + br i1 %t8503, label %grow1786, label %put1787 +grow1786: + %t8504 = mul i32 %t8502, 2 + %t8505 = icmp eq i32 %t8502, 0 + %t8506 = select i1 %t8505, i32 8, i32 %t8504 + %t8507 = getelementptr ptr, ptr null, i32 1 + %t8508 = ptrtoint ptr %t8507 to i64 + %t8509 = zext i32 %t8506 to i64 + %t8510 = mul i64 %t8509, %t8508 + %t8511 = load ptr, ptr %t8500 + %t8512 = call ptr @realloc(ptr %t8511, i64 %t8510) + store ptr %t8512, ptr %t8500 + store i32 %t8506, ptr %t8499 + br label %put1787 +put1787: + %t8513 = load ptr, ptr %t8500 + %t8514 = getelementptr inbounds ptr, ptr %t8513, i32 %t8501 + store ptr @.str7751, ptr %t8514 + %t8515 = add i32 %t8501, 1 + store i32 %t8515, ptr %t8498 + br label %ifend1783 +ifend1783: + %t8516 = load ptr, ptr %t1 + %t8517 = call i32 @lp_str_eq(ptr %t8516, ptr @.str7752) + %t8518 = icmp ne i32 %t8517, 0 + br i1 %t8518, label %then1788, label %ifend1790 +then1788: + store ptr @.str7753, ptr %t403 + %t8519 = load ptr, ptr %t410 + %t8520 = getelementptr inbounds %LSlice, ptr %t8519, i32 0, i32 1 + %t8521 = getelementptr inbounds %LSlice, ptr %t8519, i32 0, i32 2 + %t8522 = getelementptr inbounds %LSlice, ptr %t8519, i32 0, i32 0 + %t8523 = load i32, ptr %t8520 + %t8524 = load i32, ptr %t8521 + %t8525 = icmp sge i32 %t8523, %t8524 + br i1 %t8525, label %grow1791, label %put1792 +grow1791: + %t8526 = mul i32 %t8524, 2 + %t8527 = icmp eq i32 %t8524, 0 + %t8528 = select i1 %t8527, i32 8, i32 %t8526 + %t8529 = getelementptr ptr, ptr null, i32 1 + %t8530 = ptrtoint ptr %t8529 to i64 + %t8531 = zext i32 %t8528 to i64 + %t8532 = mul i64 %t8531, %t8530 + %t8533 = load ptr, ptr %t8522 + %t8534 = call ptr @realloc(ptr %t8533, i64 %t8532) + store ptr %t8534, ptr %t8522 + store i32 %t8528, ptr %t8521 + br label %put1792 +put1792: + %t8535 = load ptr, ptr %t8522 + %t8536 = getelementptr inbounds ptr, ptr %t8535, i32 %t8523 + store ptr @.str7754, ptr %t8536 + %t8537 = add i32 %t8523, 1 + store i32 %t8537, ptr %t8520 + %t8538 = load ptr, ptr %t410 + %t8539 = getelementptr inbounds %LSlice, ptr %t8538, i32 0, i32 1 + %t8540 = getelementptr inbounds %LSlice, ptr %t8538, i32 0, i32 2 + %t8541 = getelementptr inbounds %LSlice, ptr %t8538, i32 0, i32 0 + %t8542 = load i32, ptr %t8539 + %t8543 = load i32, ptr %t8540 + %t8544 = icmp sge i32 %t8542, %t8543 + br i1 %t8544, label %grow1793, label %put1794 +grow1793: + %t8545 = mul i32 %t8543, 2 + %t8546 = icmp eq i32 %t8543, 0 + %t8547 = select i1 %t8546, i32 8, i32 %t8545 + %t8548 = getelementptr ptr, ptr null, i32 1 + %t8549 = ptrtoint ptr %t8548 to i64 + %t8550 = zext i32 %t8547 to i64 + %t8551 = mul i64 %t8550, %t8549 + %t8552 = load ptr, ptr %t8541 + %t8553 = call ptr @realloc(ptr %t8552, i64 %t8551) + store ptr %t8553, ptr %t8541 + store i32 %t8547, ptr %t8540 + br label %put1794 +put1794: + %t8554 = load ptr, ptr %t8541 + %t8555 = getelementptr inbounds ptr, ptr %t8554, i32 %t8542 + store ptr @.str7755, ptr %t8555 + %t8556 = add i32 %t8542, 1 + store i32 %t8556, ptr %t8539 + br label %ifend1790 +ifend1790: + %t8557 = load ptr, ptr %t1 + %t8558 = call i32 @lp_str_eq(ptr %t8557, ptr @.str7756) + %t8559 = icmp ne i32 %t8558, 0 + br i1 %t8559, label %then1795, label %ifend1797 +then1795: + store ptr @.str7757, ptr %t403 + %t8560 = load ptr, ptr %t410 + %t8561 = getelementptr inbounds %LSlice, ptr %t8560, i32 0, i32 1 + %t8562 = getelementptr inbounds %LSlice, ptr %t8560, i32 0, i32 2 + %t8563 = getelementptr inbounds %LSlice, ptr %t8560, i32 0, i32 0 + %t8564 = load i32, ptr %t8561 + %t8565 = load i32, ptr %t8562 + %t8566 = icmp sge i32 %t8564, %t8565 + br i1 %t8566, label %grow1798, label %put1799 +grow1798: + %t8567 = mul i32 %t8565, 2 + %t8568 = icmp eq i32 %t8565, 0 + %t8569 = select i1 %t8568, i32 8, i32 %t8567 + %t8570 = getelementptr ptr, ptr null, i32 1 + %t8571 = ptrtoint ptr %t8570 to i64 + %t8572 = zext i32 %t8569 to i64 + %t8573 = mul i64 %t8572, %t8571 + %t8574 = load ptr, ptr %t8563 + %t8575 = call ptr @realloc(ptr %t8574, i64 %t8573) + store ptr %t8575, ptr %t8563 + store i32 %t8569, ptr %t8562 + br label %put1799 +put1799: + %t8576 = load ptr, ptr %t8563 + %t8577 = getelementptr inbounds ptr, ptr %t8576, i32 %t8564 + store ptr @.str7758, ptr %t8577 + %t8578 = add i32 %t8564, 1 + store i32 %t8578, ptr %t8561 + br label %ifend1797 +ifend1797: + %t8579 = load ptr, ptr %t1 + %t8580 = call i32 @lp_str_eq(ptr %t8579, ptr @.str7759) + %t8581 = icmp ne i32 %t8580, 0 + br i1 %t8581, label %then1800, label %ifend1802 +then1800: + store ptr @.str7760, ptr %t403 + %t8582 = load ptr, ptr %t410 + %t8583 = getelementptr inbounds %LSlice, ptr %t8582, i32 0, i32 1 + %t8584 = getelementptr inbounds %LSlice, ptr %t8582, i32 0, i32 2 + %t8585 = getelementptr inbounds %LSlice, ptr %t8582, i32 0, i32 0 + %t8586 = load i32, ptr %t8583 + %t8587 = load i32, ptr %t8584 + %t8588 = icmp sge i32 %t8586, %t8587 + br i1 %t8588, label %grow1803, label %put1804 +grow1803: + %t8589 = mul i32 %t8587, 2 + %t8590 = icmp eq i32 %t8587, 0 + %t8591 = select i1 %t8590, i32 8, i32 %t8589 + %t8592 = getelementptr ptr, ptr null, i32 1 + %t8593 = ptrtoint ptr %t8592 to i64 + %t8594 = zext i32 %t8591 to i64 + %t8595 = mul i64 %t8594, %t8593 + %t8596 = load ptr, ptr %t8585 + %t8597 = call ptr @realloc(ptr %t8596, i64 %t8595) + store ptr %t8597, ptr %t8585 + store i32 %t8591, ptr %t8584 + br label %put1804 +put1804: + %t8598 = load ptr, ptr %t8585 + %t8599 = getelementptr inbounds ptr, ptr %t8598, i32 %t8586 + store ptr @.str7761, ptr %t8599 + %t8600 = add i32 %t8586, 1 + store i32 %t8600, ptr %t8583 + br label %ifend1802 +ifend1802: + %t8601 = load ptr, ptr %t1 + %t8602 = call i32 @lp_str_eq(ptr %t8601, ptr @.str7762) + %t8603 = icmp ne i32 %t8602, 0 + br i1 %t8603, label %then1805, label %ifend1807 +then1805: + store ptr @.str7763, ptr %t403 + %t8604 = load ptr, ptr %t410 + %t8605 = getelementptr inbounds %LSlice, ptr %t8604, i32 0, i32 1 + %t8606 = getelementptr inbounds %LSlice, ptr %t8604, i32 0, i32 2 + %t8607 = getelementptr inbounds %LSlice, ptr %t8604, i32 0, i32 0 + %t8608 = load i32, ptr %t8605 + %t8609 = load i32, ptr %t8606 + %t8610 = icmp sge i32 %t8608, %t8609 + br i1 %t8610, label %grow1808, label %put1809 +grow1808: + %t8611 = mul i32 %t8609, 2 + %t8612 = icmp eq i32 %t8609, 0 + %t8613 = select i1 %t8612, i32 8, i32 %t8611 + %t8614 = getelementptr ptr, ptr null, i32 1 + %t8615 = ptrtoint ptr %t8614 to i64 + %t8616 = zext i32 %t8613 to i64 + %t8617 = mul i64 %t8616, %t8615 + %t8618 = load ptr, ptr %t8607 + %t8619 = call ptr @realloc(ptr %t8618, i64 %t8617) + store ptr %t8619, ptr %t8607 + store i32 %t8613, ptr %t8606 + br label %put1809 +put1809: + %t8620 = load ptr, ptr %t8607 + %t8621 = getelementptr inbounds ptr, ptr %t8620, i32 %t8608 + store ptr @.str7764, ptr %t8621 + %t8622 = add i32 %t8608, 1 + store i32 %t8622, ptr %t8605 + br label %ifend1807 +ifend1807: + br label %ifend1770 +ifend1770: + %t8623 = load ptr, ptr %t0 + %t8624 = call i32 @lp_str_eq(ptr %t8623, ptr @.str7765) + %t8625 = icmp ne i32 %t8624, 0 + br i1 %t8625, label %then1810, label %ifend1812 +then1810: + %t8626 = load ptr, ptr %t1 + %t8627 = call i32 @lp_str_eq(ptr %t8626, ptr @.str7766) + %t8628 = icmp ne i32 %t8627, 0 + br i1 %t8628, label %then1813, label %ifend1815 +then1813: + store ptr @.str7767, ptr %t403 + br label %ifend1815 +ifend1815: + %t8629 = load ptr, ptr %t1 + %t8630 = call i32 @lp_str_eq(ptr %t8629, ptr @.str7768) + %t8631 = icmp ne i32 %t8630, 0 + br i1 %t8631, label %then1816, label %ifend1818 +then1816: + store ptr @.str7769, ptr %t403 + %t8632 = load ptr, ptr %t410 + %t8633 = getelementptr inbounds %LSlice, ptr %t8632, i32 0, i32 1 + %t8634 = getelementptr inbounds %LSlice, ptr %t8632, i32 0, i32 2 + %t8635 = getelementptr inbounds %LSlice, ptr %t8632, i32 0, i32 0 + %t8636 = load i32, ptr %t8633 + %t8637 = load i32, ptr %t8634 + %t8638 = icmp sge i32 %t8636, %t8637 + br i1 %t8638, label %grow1819, label %put1820 +grow1819: + %t8639 = mul i32 %t8637, 2 + %t8640 = icmp eq i32 %t8637, 0 + %t8641 = select i1 %t8640, i32 8, i32 %t8639 + %t8642 = getelementptr ptr, ptr null, i32 1 + %t8643 = ptrtoint ptr %t8642 to i64 + %t8644 = zext i32 %t8641 to i64 + %t8645 = mul i64 %t8644, %t8643 + %t8646 = load ptr, ptr %t8635 + %t8647 = call ptr @realloc(ptr %t8646, i64 %t8645) + store ptr %t8647, ptr %t8635 + store i32 %t8641, ptr %t8634 + br label %put1820 +put1820: + %t8648 = load ptr, ptr %t8635 + %t8649 = getelementptr inbounds ptr, ptr %t8648, i32 %t8636 + store ptr @.str7770, ptr %t8649 + %t8650 = add i32 %t8636, 1 + store i32 %t8650, ptr %t8633 + %t8651 = load ptr, ptr %t410 + %t8652 = getelementptr inbounds %LSlice, ptr %t8651, i32 0, i32 1 + %t8653 = getelementptr inbounds %LSlice, ptr %t8651, i32 0, i32 2 + %t8654 = getelementptr inbounds %LSlice, ptr %t8651, i32 0, i32 0 + %t8655 = load i32, ptr %t8652 + %t8656 = load i32, ptr %t8653 + %t8657 = icmp sge i32 %t8655, %t8656 + br i1 %t8657, label %grow1821, label %put1822 +grow1821: + %t8658 = mul i32 %t8656, 2 + %t8659 = icmp eq i32 %t8656, 0 + %t8660 = select i1 %t8659, i32 8, i32 %t8658 + %t8661 = getelementptr ptr, ptr null, i32 1 + %t8662 = ptrtoint ptr %t8661 to i64 + %t8663 = zext i32 %t8660 to i64 + %t8664 = mul i64 %t8663, %t8662 + %t8665 = load ptr, ptr %t8654 + %t8666 = call ptr @realloc(ptr %t8665, i64 %t8664) + store ptr %t8666, ptr %t8654 + store i32 %t8660, ptr %t8653 + br label %put1822 +put1822: + %t8667 = load ptr, ptr %t8654 + %t8668 = getelementptr inbounds ptr, ptr %t8667, i32 %t8655 + store ptr @.str7771, ptr %t8668 + %t8669 = add i32 %t8655, 1 + store i32 %t8669, ptr %t8652 + br label %ifend1818 +ifend1818: + %t8670 = load ptr, ptr %t1 + %t8671 = call i32 @lp_str_eq(ptr %t8670, ptr @.str7772) + %t8672 = icmp ne i32 %t8671, 0 + br i1 %t8672, label %then1823, label %ifend1825 +then1823: + store ptr @.str7773, ptr %t403 + %t8673 = load ptr, ptr %t410 + %t8674 = getelementptr inbounds %LSlice, ptr %t8673, i32 0, i32 1 + %t8675 = getelementptr inbounds %LSlice, ptr %t8673, i32 0, i32 2 + %t8676 = getelementptr inbounds %LSlice, ptr %t8673, i32 0, i32 0 + %t8677 = load i32, ptr %t8674 + %t8678 = load i32, ptr %t8675 + %t8679 = icmp sge i32 %t8677, %t8678 + br i1 %t8679, label %grow1826, label %put1827 +grow1826: + %t8680 = mul i32 %t8678, 2 + %t8681 = icmp eq i32 %t8678, 0 + %t8682 = select i1 %t8681, i32 8, i32 %t8680 + %t8683 = getelementptr ptr, ptr null, i32 1 + %t8684 = ptrtoint ptr %t8683 to i64 + %t8685 = zext i32 %t8682 to i64 + %t8686 = mul i64 %t8685, %t8684 + %t8687 = load ptr, ptr %t8676 + %t8688 = call ptr @realloc(ptr %t8687, i64 %t8686) + store ptr %t8688, ptr %t8676 + store i32 %t8682, ptr %t8675 + br label %put1827 +put1827: + %t8689 = load ptr, ptr %t8676 + %t8690 = getelementptr inbounds ptr, ptr %t8689, i32 %t8677 + store ptr @.str7774, ptr %t8690 + %t8691 = add i32 %t8677, 1 + store i32 %t8691, ptr %t8674 + %t8692 = load ptr, ptr %t410 + %t8693 = getelementptr inbounds %LSlice, ptr %t8692, i32 0, i32 1 + %t8694 = getelementptr inbounds %LSlice, ptr %t8692, i32 0, i32 2 + %t8695 = getelementptr inbounds %LSlice, ptr %t8692, i32 0, i32 0 + %t8696 = load i32, ptr %t8693 + %t8697 = load i32, ptr %t8694 + %t8698 = icmp sge i32 %t8696, %t8697 + br i1 %t8698, label %grow1828, label %put1829 +grow1828: + %t8699 = mul i32 %t8697, 2 + %t8700 = icmp eq i32 %t8697, 0 + %t8701 = select i1 %t8700, i32 8, i32 %t8699 + %t8702 = getelementptr ptr, ptr null, i32 1 + %t8703 = ptrtoint ptr %t8702 to i64 + %t8704 = zext i32 %t8701 to i64 + %t8705 = mul i64 %t8704, %t8703 + %t8706 = load ptr, ptr %t8695 + %t8707 = call ptr @realloc(ptr %t8706, i64 %t8705) + store ptr %t8707, ptr %t8695 + store i32 %t8701, ptr %t8694 + br label %put1829 +put1829: + %t8708 = load ptr, ptr %t8695 + %t8709 = getelementptr inbounds ptr, ptr %t8708, i32 %t8696 + store ptr @.str7775, ptr %t8709 + %t8710 = add i32 %t8696, 1 + store i32 %t8710, ptr %t8693 + br label %ifend1825 +ifend1825: + %t8711 = load ptr, ptr %t1 + %t8712 = call i32 @lp_str_eq(ptr %t8711, ptr @.str7776) + %t8713 = icmp ne i32 %t8712, 0 + br i1 %t8713, label %then1830, label %ifend1832 +then1830: + store ptr @.str7777, ptr %t403 + %t8714 = load ptr, ptr %t410 + %t8715 = getelementptr inbounds %LSlice, ptr %t8714, i32 0, i32 1 + %t8716 = getelementptr inbounds %LSlice, ptr %t8714, i32 0, i32 2 + %t8717 = getelementptr inbounds %LSlice, ptr %t8714, i32 0, i32 0 + %t8718 = load i32, ptr %t8715 + %t8719 = load i32, ptr %t8716 + %t8720 = icmp sge i32 %t8718, %t8719 + br i1 %t8720, label %grow1833, label %put1834 +grow1833: + %t8721 = mul i32 %t8719, 2 + %t8722 = icmp eq i32 %t8719, 0 + %t8723 = select i1 %t8722, i32 8, i32 %t8721 + %t8724 = getelementptr ptr, ptr null, i32 1 + %t8725 = ptrtoint ptr %t8724 to i64 + %t8726 = zext i32 %t8723 to i64 + %t8727 = mul i64 %t8726, %t8725 + %t8728 = load ptr, ptr %t8717 + %t8729 = call ptr @realloc(ptr %t8728, i64 %t8727) + store ptr %t8729, ptr %t8717 + store i32 %t8723, ptr %t8716 + br label %put1834 +put1834: + %t8730 = load ptr, ptr %t8717 + %t8731 = getelementptr inbounds ptr, ptr %t8730, i32 %t8718 + store ptr @.str7778, ptr %t8731 + %t8732 = add i32 %t8718, 1 + store i32 %t8732, ptr %t8715 + %t8733 = load ptr, ptr %t410 + %t8734 = getelementptr inbounds %LSlice, ptr %t8733, i32 0, i32 1 + %t8735 = getelementptr inbounds %LSlice, ptr %t8733, i32 0, i32 2 + %t8736 = getelementptr inbounds %LSlice, ptr %t8733, i32 0, i32 0 + %t8737 = load i32, ptr %t8734 + %t8738 = load i32, ptr %t8735 + %t8739 = icmp sge i32 %t8737, %t8738 + br i1 %t8739, label %grow1835, label %put1836 +grow1835: + %t8740 = mul i32 %t8738, 2 + %t8741 = icmp eq i32 %t8738, 0 + %t8742 = select i1 %t8741, i32 8, i32 %t8740 + %t8743 = getelementptr ptr, ptr null, i32 1 + %t8744 = ptrtoint ptr %t8743 to i64 + %t8745 = zext i32 %t8742 to i64 + %t8746 = mul i64 %t8745, %t8744 + %t8747 = load ptr, ptr %t8736 + %t8748 = call ptr @realloc(ptr %t8747, i64 %t8746) + store ptr %t8748, ptr %t8736 + store i32 %t8742, ptr %t8735 + br label %put1836 +put1836: + %t8749 = load ptr, ptr %t8736 + %t8750 = getelementptr inbounds ptr, ptr %t8749, i32 %t8737 + store ptr @.str7779, ptr %t8750 + %t8751 = add i32 %t8737, 1 + store i32 %t8751, ptr %t8734 + br label %ifend1832 +ifend1832: + %t8752 = load ptr, ptr %t1 + %t8753 = call i32 @lp_str_eq(ptr %t8752, ptr @.str7780) + %t8754 = icmp ne i32 %t8753, 0 + br i1 %t8754, label %then1837, label %ifend1839 +then1837: + store ptr @.str7781, ptr %t403 + %t8755 = load ptr, ptr %t410 + %t8756 = getelementptr inbounds %LSlice, ptr %t8755, i32 0, i32 1 + %t8757 = getelementptr inbounds %LSlice, ptr %t8755, i32 0, i32 2 + %t8758 = getelementptr inbounds %LSlice, ptr %t8755, i32 0, i32 0 + %t8759 = load i32, ptr %t8756 + %t8760 = load i32, ptr %t8757 + %t8761 = icmp sge i32 %t8759, %t8760 + br i1 %t8761, label %grow1840, label %put1841 +grow1840: + %t8762 = mul i32 %t8760, 2 + %t8763 = icmp eq i32 %t8760, 0 + %t8764 = select i1 %t8763, i32 8, i32 %t8762 + %t8765 = getelementptr ptr, ptr null, i32 1 + %t8766 = ptrtoint ptr %t8765 to i64 + %t8767 = zext i32 %t8764 to i64 + %t8768 = mul i64 %t8767, %t8766 + %t8769 = load ptr, ptr %t8758 + %t8770 = call ptr @realloc(ptr %t8769, i64 %t8768) + store ptr %t8770, ptr %t8758 + store i32 %t8764, ptr %t8757 + br label %put1841 +put1841: + %t8771 = load ptr, ptr %t8758 + %t8772 = getelementptr inbounds ptr, ptr %t8771, i32 %t8759 + store ptr @.str7782, ptr %t8772 + %t8773 = add i32 %t8759, 1 + store i32 %t8773, ptr %t8756 + br label %ifend1839 +ifend1839: + %t8774 = load ptr, ptr %t1 + %t8775 = call i32 @lp_str_eq(ptr %t8774, ptr @.str7783) + %t8776 = icmp ne i32 %t8775, 0 + br i1 %t8776, label %then1842, label %ifend1844 +then1842: + store ptr @.str7784, ptr %t403 + %t8777 = load ptr, ptr %t410 + %t8778 = getelementptr inbounds %LSlice, ptr %t8777, i32 0, i32 1 + %t8779 = getelementptr inbounds %LSlice, ptr %t8777, i32 0, i32 2 + %t8780 = getelementptr inbounds %LSlice, ptr %t8777, i32 0, i32 0 + %t8781 = load i32, ptr %t8778 + %t8782 = load i32, ptr %t8779 + %t8783 = icmp sge i32 %t8781, %t8782 + br i1 %t8783, label %grow1845, label %put1846 +grow1845: + %t8784 = mul i32 %t8782, 2 + %t8785 = icmp eq i32 %t8782, 0 + %t8786 = select i1 %t8785, i32 8, i32 %t8784 + %t8787 = getelementptr ptr, ptr null, i32 1 + %t8788 = ptrtoint ptr %t8787 to i64 + %t8789 = zext i32 %t8786 to i64 + %t8790 = mul i64 %t8789, %t8788 + %t8791 = load ptr, ptr %t8780 + %t8792 = call ptr @realloc(ptr %t8791, i64 %t8790) + store ptr %t8792, ptr %t8780 + store i32 %t8786, ptr %t8779 + br label %put1846 +put1846: + %t8793 = load ptr, ptr %t8780 + %t8794 = getelementptr inbounds ptr, ptr %t8793, i32 %t8781 + store ptr @.str7785, ptr %t8794 + %t8795 = add i32 %t8781, 1 + store i32 %t8795, ptr %t8778 + br label %ifend1844 +ifend1844: + %t8796 = load ptr, ptr %t1 + %t8797 = call i32 @lp_str_eq(ptr %t8796, ptr @.str7786) + %t8798 = icmp ne i32 %t8797, 0 + br i1 %t8798, label %then1847, label %ifend1849 +then1847: + store ptr @.str7787, ptr %t403 + %t8799 = load ptr, ptr %t410 + %t8800 = getelementptr inbounds %LSlice, ptr %t8799, i32 0, i32 1 + %t8801 = getelementptr inbounds %LSlice, ptr %t8799, i32 0, i32 2 + %t8802 = getelementptr inbounds %LSlice, ptr %t8799, i32 0, i32 0 + %t8803 = load i32, ptr %t8800 + %t8804 = load i32, ptr %t8801 + %t8805 = icmp sge i32 %t8803, %t8804 + br i1 %t8805, label %grow1850, label %put1851 +grow1850: + %t8806 = mul i32 %t8804, 2 + %t8807 = icmp eq i32 %t8804, 0 + %t8808 = select i1 %t8807, i32 8, i32 %t8806 + %t8809 = getelementptr ptr, ptr null, i32 1 + %t8810 = ptrtoint ptr %t8809 to i64 + %t8811 = zext i32 %t8808 to i64 + %t8812 = mul i64 %t8811, %t8810 + %t8813 = load ptr, ptr %t8802 + %t8814 = call ptr @realloc(ptr %t8813, i64 %t8812) + store ptr %t8814, ptr %t8802 + store i32 %t8808, ptr %t8801 + br label %put1851 +put1851: + %t8815 = load ptr, ptr %t8802 + %t8816 = getelementptr inbounds ptr, ptr %t8815, i32 %t8803 + store ptr @.str7788, ptr %t8816 + %t8817 = add i32 %t8803, 1 + store i32 %t8817, ptr %t8800 + br label %ifend1849 +ifend1849: + %t8818 = load ptr, ptr %t1 + %t8819 = call i32 @lp_str_eq(ptr %t8818, ptr @.str7789) + %t8820 = icmp ne i32 %t8819, 0 + br i1 %t8820, label %then1852, label %ifend1854 +then1852: + store ptr @.str7790, ptr %t403 + %t8821 = load ptr, ptr %t410 + %t8822 = getelementptr inbounds %LSlice, ptr %t8821, i32 0, i32 1 + %t8823 = getelementptr inbounds %LSlice, ptr %t8821, i32 0, i32 2 + %t8824 = getelementptr inbounds %LSlice, ptr %t8821, i32 0, i32 0 + %t8825 = load i32, ptr %t8822 + %t8826 = load i32, ptr %t8823 + %t8827 = icmp sge i32 %t8825, %t8826 + br i1 %t8827, label %grow1855, label %put1856 +grow1855: + %t8828 = mul i32 %t8826, 2 + %t8829 = icmp eq i32 %t8826, 0 + %t8830 = select i1 %t8829, i32 8, i32 %t8828 + %t8831 = getelementptr ptr, ptr null, i32 1 + %t8832 = ptrtoint ptr %t8831 to i64 + %t8833 = zext i32 %t8830 to i64 + %t8834 = mul i64 %t8833, %t8832 + %t8835 = load ptr, ptr %t8824 + %t8836 = call ptr @realloc(ptr %t8835, i64 %t8834) + store ptr %t8836, ptr %t8824 + store i32 %t8830, ptr %t8823 + br label %put1856 +put1856: + %t8837 = load ptr, ptr %t8824 + %t8838 = getelementptr inbounds ptr, ptr %t8837, i32 %t8825 + store ptr @.str7791, ptr %t8838 + %t8839 = add i32 %t8825, 1 + store i32 %t8839, ptr %t8822 + br label %ifend1854 +ifend1854: + %t8840 = load ptr, ptr %t1 + %t8841 = call i32 @lp_str_eq(ptr %t8840, ptr @.str7792) + %t8842 = icmp ne i32 %t8841, 0 + br i1 %t8842, label %then1857, label %ifend1859 +then1857: + store ptr @.str7793, ptr %t403 + %t8843 = load ptr, ptr %t410 + %t8844 = getelementptr inbounds %LSlice, ptr %t8843, i32 0, i32 1 + %t8845 = getelementptr inbounds %LSlice, ptr %t8843, i32 0, i32 2 + %t8846 = getelementptr inbounds %LSlice, ptr %t8843, i32 0, i32 0 + %t8847 = load i32, ptr %t8844 + %t8848 = load i32, ptr %t8845 + %t8849 = icmp sge i32 %t8847, %t8848 + br i1 %t8849, label %grow1860, label %put1861 +grow1860: + %t8850 = mul i32 %t8848, 2 + %t8851 = icmp eq i32 %t8848, 0 + %t8852 = select i1 %t8851, i32 8, i32 %t8850 + %t8853 = getelementptr ptr, ptr null, i32 1 + %t8854 = ptrtoint ptr %t8853 to i64 + %t8855 = zext i32 %t8852 to i64 + %t8856 = mul i64 %t8855, %t8854 + %t8857 = load ptr, ptr %t8846 + %t8858 = call ptr @realloc(ptr %t8857, i64 %t8856) + store ptr %t8858, ptr %t8846 + store i32 %t8852, ptr %t8845 + br label %put1861 +put1861: + %t8859 = load ptr, ptr %t8846 + %t8860 = getelementptr inbounds ptr, ptr %t8859, i32 %t8847 + store ptr @.str7794, ptr %t8860 + %t8861 = add i32 %t8847, 1 + store i32 %t8861, ptr %t8844 + br label %ifend1859 +ifend1859: + %t8862 = load ptr, ptr %t1 + %t8863 = call i32 @lp_str_eq(ptr %t8862, ptr @.str7795) + %t8864 = icmp ne i32 %t8863, 0 + br i1 %t8864, label %then1862, label %ifend1864 +then1862: + store ptr @.str7796, ptr %t403 + %t8865 = load ptr, ptr %t410 + %t8866 = getelementptr inbounds %LSlice, ptr %t8865, i32 0, i32 1 + %t8867 = getelementptr inbounds %LSlice, ptr %t8865, i32 0, i32 2 + %t8868 = getelementptr inbounds %LSlice, ptr %t8865, i32 0, i32 0 + %t8869 = load i32, ptr %t8866 + %t8870 = load i32, ptr %t8867 + %t8871 = icmp sge i32 %t8869, %t8870 + br i1 %t8871, label %grow1865, label %put1866 +grow1865: + %t8872 = mul i32 %t8870, 2 + %t8873 = icmp eq i32 %t8870, 0 + %t8874 = select i1 %t8873, i32 8, i32 %t8872 + %t8875 = getelementptr ptr, ptr null, i32 1 + %t8876 = ptrtoint ptr %t8875 to i64 + %t8877 = zext i32 %t8874 to i64 + %t8878 = mul i64 %t8877, %t8876 + %t8879 = load ptr, ptr %t8868 + %t8880 = call ptr @realloc(ptr %t8879, i64 %t8878) + store ptr %t8880, ptr %t8868 + store i32 %t8874, ptr %t8867 + br label %put1866 +put1866: + %t8881 = load ptr, ptr %t8868 + %t8882 = getelementptr inbounds ptr, ptr %t8881, i32 %t8869 + store ptr @.str7797, ptr %t8882 + %t8883 = add i32 %t8869, 1 + store i32 %t8883, ptr %t8866 + br label %ifend1864 +ifend1864: + %t8884 = load ptr, ptr %t1 + %t8885 = call i32 @lp_str_eq(ptr %t8884, ptr @.str7798) + %t8886 = icmp ne i32 %t8885, 0 + br i1 %t8886, label %then1867, label %ifend1869 +then1867: + store ptr @.str7799, ptr %t403 + %t8887 = load ptr, ptr %t410 + %t8888 = getelementptr inbounds %LSlice, ptr %t8887, i32 0, i32 1 + %t8889 = getelementptr inbounds %LSlice, ptr %t8887, i32 0, i32 2 + %t8890 = getelementptr inbounds %LSlice, ptr %t8887, i32 0, i32 0 + %t8891 = load i32, ptr %t8888 + %t8892 = load i32, ptr %t8889 + %t8893 = icmp sge i32 %t8891, %t8892 + br i1 %t8893, label %grow1870, label %put1871 +grow1870: + %t8894 = mul i32 %t8892, 2 + %t8895 = icmp eq i32 %t8892, 0 + %t8896 = select i1 %t8895, i32 8, i32 %t8894 + %t8897 = getelementptr ptr, ptr null, i32 1 + %t8898 = ptrtoint ptr %t8897 to i64 + %t8899 = zext i32 %t8896 to i64 + %t8900 = mul i64 %t8899, %t8898 + %t8901 = load ptr, ptr %t8890 + %t8902 = call ptr @realloc(ptr %t8901, i64 %t8900) + store ptr %t8902, ptr %t8890 + store i32 %t8896, ptr %t8889 + br label %put1871 +put1871: + %t8903 = load ptr, ptr %t8890 + %t8904 = getelementptr inbounds ptr, ptr %t8903, i32 %t8891 + store ptr @.str7800, ptr %t8904 + %t8905 = add i32 %t8891, 1 + store i32 %t8905, ptr %t8888 + br label %ifend1869 +ifend1869: + %t8906 = load ptr, ptr %t1 + %t8907 = call i32 @lp_str_eq(ptr %t8906, ptr @.str7801) + %t8908 = icmp ne i32 %t8907, 0 + br i1 %t8908, label %then1872, label %ifend1874 +then1872: + store ptr @.str7802, ptr %t403 + %t8909 = load ptr, ptr %t410 + %t8910 = getelementptr inbounds %LSlice, ptr %t8909, i32 0, i32 1 + %t8911 = getelementptr inbounds %LSlice, ptr %t8909, i32 0, i32 2 + %t8912 = getelementptr inbounds %LSlice, ptr %t8909, i32 0, i32 0 + %t8913 = load i32, ptr %t8910 + %t8914 = load i32, ptr %t8911 + %t8915 = icmp sge i32 %t8913, %t8914 + br i1 %t8915, label %grow1875, label %put1876 +grow1875: + %t8916 = mul i32 %t8914, 2 + %t8917 = icmp eq i32 %t8914, 0 + %t8918 = select i1 %t8917, i32 8, i32 %t8916 + %t8919 = getelementptr ptr, ptr null, i32 1 + %t8920 = ptrtoint ptr %t8919 to i64 + %t8921 = zext i32 %t8918 to i64 + %t8922 = mul i64 %t8921, %t8920 + %t8923 = load ptr, ptr %t8912 + %t8924 = call ptr @realloc(ptr %t8923, i64 %t8922) + store ptr %t8924, ptr %t8912 + store i32 %t8918, ptr %t8911 + br label %put1876 +put1876: + %t8925 = load ptr, ptr %t8912 + %t8926 = getelementptr inbounds ptr, ptr %t8925, i32 %t8913 + store ptr @.str7803, ptr %t8926 + %t8927 = add i32 %t8913, 1 + store i32 %t8927, ptr %t8910 + br label %ifend1874 +ifend1874: + %t8928 = load ptr, ptr %t1 + %t8929 = call i32 @lp_str_eq(ptr %t8928, ptr @.str7804) + %t8930 = icmp ne i32 %t8929, 0 + br i1 %t8930, label %then1877, label %ifend1879 +then1877: + store ptr @.str7805, ptr %t403 + br label %ifend1879 +ifend1879: + %t8931 = load ptr, ptr %t1 + %t8932 = call i32 @lp_str_eq(ptr %t8931, ptr @.str7806) + %t8933 = icmp ne i32 %t8932, 0 + br i1 %t8933, label %then1880, label %ifend1882 +then1880: + store ptr @.str7807, ptr %t403 + %t8934 = load ptr, ptr %t410 + %t8935 = getelementptr inbounds %LSlice, ptr %t8934, i32 0, i32 1 + %t8936 = getelementptr inbounds %LSlice, ptr %t8934, i32 0, i32 2 + %t8937 = getelementptr inbounds %LSlice, ptr %t8934, i32 0, i32 0 + %t8938 = load i32, ptr %t8935 + %t8939 = load i32, ptr %t8936 + %t8940 = icmp sge i32 %t8938, %t8939 + br i1 %t8940, label %grow1883, label %put1884 +grow1883: + %t8941 = mul i32 %t8939, 2 + %t8942 = icmp eq i32 %t8939, 0 + %t8943 = select i1 %t8942, i32 8, i32 %t8941 + %t8944 = getelementptr ptr, ptr null, i32 1 + %t8945 = ptrtoint ptr %t8944 to i64 + %t8946 = zext i32 %t8943 to i64 + %t8947 = mul i64 %t8946, %t8945 + %t8948 = load ptr, ptr %t8937 + %t8949 = call ptr @realloc(ptr %t8948, i64 %t8947) + store ptr %t8949, ptr %t8937 + store i32 %t8943, ptr %t8936 + br label %put1884 +put1884: + %t8950 = load ptr, ptr %t8937 + %t8951 = getelementptr inbounds ptr, ptr %t8950, i32 %t8938 + store ptr @.str7808, ptr %t8951 + %t8952 = add i32 %t8938, 1 + store i32 %t8952, ptr %t8935 + br label %ifend1882 +ifend1882: + br label %ifend1812 +ifend1812: + %t8953 = load ptr, ptr %t0 + %t8954 = call i32 @lp_str_eq(ptr %t8953, ptr @.str7809) + %t8955 = icmp ne i32 %t8954, 0 + br i1 %t8955, label %then1885, label %ifend1887 +then1885: + %t8956 = load ptr, ptr %t1 + %t8957 = call i32 @lp_str_eq(ptr %t8956, ptr @.str7810) + %t8958 = icmp ne i32 %t8957, 0 + br i1 %t8958, label %then1888, label %ifend1890 +then1888: + store ptr @.str7811, ptr %t403 + %t8959 = load ptr, ptr %t410 + %t8960 = getelementptr inbounds %LSlice, ptr %t8959, i32 0, i32 1 + %t8961 = getelementptr inbounds %LSlice, ptr %t8959, i32 0, i32 2 + %t8962 = getelementptr inbounds %LSlice, ptr %t8959, i32 0, i32 0 + %t8963 = load i32, ptr %t8960 + %t8964 = load i32, ptr %t8961 + %t8965 = icmp sge i32 %t8963, %t8964 + br i1 %t8965, label %grow1891, label %put1892 +grow1891: + %t8966 = mul i32 %t8964, 2 + %t8967 = icmp eq i32 %t8964, 0 + %t8968 = select i1 %t8967, i32 8, i32 %t8966 + %t8969 = getelementptr ptr, ptr null, i32 1 + %t8970 = ptrtoint ptr %t8969 to i64 + %t8971 = zext i32 %t8968 to i64 + %t8972 = mul i64 %t8971, %t8970 + %t8973 = load ptr, ptr %t8962 + %t8974 = call ptr @realloc(ptr %t8973, i64 %t8972) + store ptr %t8974, ptr %t8962 + store i32 %t8968, ptr %t8961 + br label %put1892 +put1892: + %t8975 = load ptr, ptr %t8962 + %t8976 = getelementptr inbounds ptr, ptr %t8975, i32 %t8963 + store ptr @.str7812, ptr %t8976 + %t8977 = add i32 %t8963, 1 + store i32 %t8977, ptr %t8960 + br label %ifend1890 +ifend1890: + %t8978 = load ptr, ptr %t1 + %t8979 = call i32 @lp_str_eq(ptr %t8978, ptr @.str7813) + %t8980 = icmp ne i32 %t8979, 0 + br i1 %t8980, label %then1893, label %ifend1895 +then1893: + store ptr @.str7814, ptr %t403 + %t8981 = load ptr, ptr %t410 + %t8982 = getelementptr inbounds %LSlice, ptr %t8981, i32 0, i32 1 + %t8983 = getelementptr inbounds %LSlice, ptr %t8981, i32 0, i32 2 + %t8984 = getelementptr inbounds %LSlice, ptr %t8981, i32 0, i32 0 + %t8985 = load i32, ptr %t8982 + %t8986 = load i32, ptr %t8983 + %t8987 = icmp sge i32 %t8985, %t8986 + br i1 %t8987, label %grow1896, label %put1897 +grow1896: + %t8988 = mul i32 %t8986, 2 + %t8989 = icmp eq i32 %t8986, 0 + %t8990 = select i1 %t8989, i32 8, i32 %t8988 + %t8991 = getelementptr ptr, ptr null, i32 1 + %t8992 = ptrtoint ptr %t8991 to i64 + %t8993 = zext i32 %t8990 to i64 + %t8994 = mul i64 %t8993, %t8992 + %t8995 = load ptr, ptr %t8984 + %t8996 = call ptr @realloc(ptr %t8995, i64 %t8994) + store ptr %t8996, ptr %t8984 + store i32 %t8990, ptr %t8983 + br label %put1897 +put1897: + %t8997 = load ptr, ptr %t8984 + %t8998 = getelementptr inbounds ptr, ptr %t8997, i32 %t8985 + store ptr @.str7815, ptr %t8998 + %t8999 = add i32 %t8985, 1 + store i32 %t8999, ptr %t8982 + br label %ifend1895 +ifend1895: + %t9000 = load ptr, ptr %t1 + %t9001 = call i32 @lp_str_eq(ptr %t9000, ptr @.str7816) + %t9002 = icmp ne i32 %t9001, 0 + br i1 %t9002, label %then1898, label %ifend1900 +then1898: + store ptr @.str7817, ptr %t403 + %t9003 = load ptr, ptr %t410 + %t9004 = getelementptr inbounds %LSlice, ptr %t9003, i32 0, i32 1 + %t9005 = getelementptr inbounds %LSlice, ptr %t9003, i32 0, i32 2 + %t9006 = getelementptr inbounds %LSlice, ptr %t9003, i32 0, i32 0 + %t9007 = load i32, ptr %t9004 + %t9008 = load i32, ptr %t9005 + %t9009 = icmp sge i32 %t9007, %t9008 + br i1 %t9009, label %grow1901, label %put1902 +grow1901: + %t9010 = mul i32 %t9008, 2 + %t9011 = icmp eq i32 %t9008, 0 + %t9012 = select i1 %t9011, i32 8, i32 %t9010 + %t9013 = getelementptr ptr, ptr null, i32 1 + %t9014 = ptrtoint ptr %t9013 to i64 + %t9015 = zext i32 %t9012 to i64 + %t9016 = mul i64 %t9015, %t9014 + %t9017 = load ptr, ptr %t9006 + %t9018 = call ptr @realloc(ptr %t9017, i64 %t9016) + store ptr %t9018, ptr %t9006 + store i32 %t9012, ptr %t9005 + br label %put1902 +put1902: + %t9019 = load ptr, ptr %t9006 + %t9020 = getelementptr inbounds ptr, ptr %t9019, i32 %t9007 + store ptr @.str7818, ptr %t9020 + %t9021 = add i32 %t9007, 1 + store i32 %t9021, ptr %t9004 + br label %ifend1900 +ifend1900: + %t9022 = load ptr, ptr %t1 + %t9023 = call i32 @lp_str_eq(ptr %t9022, ptr @.str7819) + %t9024 = icmp ne i32 %t9023, 0 + br i1 %t9024, label %then1903, label %ifend1905 +then1903: + store ptr @.str7820, ptr %t403 + %t9025 = load ptr, ptr %t410 + %t9026 = getelementptr inbounds %LSlice, ptr %t9025, i32 0, i32 1 + %t9027 = getelementptr inbounds %LSlice, ptr %t9025, i32 0, i32 2 + %t9028 = getelementptr inbounds %LSlice, ptr %t9025, i32 0, i32 0 + %t9029 = load i32, ptr %t9026 + %t9030 = load i32, ptr %t9027 + %t9031 = icmp sge i32 %t9029, %t9030 + br i1 %t9031, label %grow1906, label %put1907 +grow1906: + %t9032 = mul i32 %t9030, 2 + %t9033 = icmp eq i32 %t9030, 0 + %t9034 = select i1 %t9033, i32 8, i32 %t9032 + %t9035 = getelementptr ptr, ptr null, i32 1 + %t9036 = ptrtoint ptr %t9035 to i64 + %t9037 = zext i32 %t9034 to i64 + %t9038 = mul i64 %t9037, %t9036 + %t9039 = load ptr, ptr %t9028 + %t9040 = call ptr @realloc(ptr %t9039, i64 %t9038) + store ptr %t9040, ptr %t9028 + store i32 %t9034, ptr %t9027 + br label %put1907 +put1907: + %t9041 = load ptr, ptr %t9028 + %t9042 = getelementptr inbounds ptr, ptr %t9041, i32 %t9029 + store ptr @.str7821, ptr %t9042 + %t9043 = add i32 %t9029, 1 + store i32 %t9043, ptr %t9026 + br label %ifend1905 +ifend1905: + br label %ifend1887 +ifend1887: + %t9044 = load ptr, ptr %t0 + %t9045 = call i32 @lp_str_eq(ptr %t9044, ptr @.str7822) + %t9046 = icmp ne i32 %t9045, 0 + br i1 %t9046, label %then1908, label %ifend1910 +then1908: + %t9047 = load ptr, ptr %t1 + %t9048 = call i32 @lp_str_eq(ptr %t9047, ptr @.str7823) + %t9049 = icmp ne i32 %t9048, 0 + br i1 %t9049, label %then1911, label %ifend1913 +then1911: + store ptr @.str7824, ptr %t403 + br label %ifend1913 +ifend1913: + %t9050 = load ptr, ptr %t1 + %t9051 = call i32 @lp_str_eq(ptr %t9050, ptr @.str7825) + %t9052 = icmp ne i32 %t9051, 0 + br i1 %t9052, label %then1914, label %ifend1916 +then1914: + store ptr @.str7826, ptr %t403 + %t9053 = load ptr, ptr %t410 + %t9054 = getelementptr inbounds %LSlice, ptr %t9053, i32 0, i32 1 + %t9055 = getelementptr inbounds %LSlice, ptr %t9053, i32 0, i32 2 + %t9056 = getelementptr inbounds %LSlice, ptr %t9053, i32 0, i32 0 + %t9057 = load i32, ptr %t9054 + %t9058 = load i32, ptr %t9055 + %t9059 = icmp sge i32 %t9057, %t9058 + br i1 %t9059, label %grow1917, label %put1918 +grow1917: + %t9060 = mul i32 %t9058, 2 + %t9061 = icmp eq i32 %t9058, 0 + %t9062 = select i1 %t9061, i32 8, i32 %t9060 + %t9063 = getelementptr ptr, ptr null, i32 1 + %t9064 = ptrtoint ptr %t9063 to i64 + %t9065 = zext i32 %t9062 to i64 + %t9066 = mul i64 %t9065, %t9064 + %t9067 = load ptr, ptr %t9056 + %t9068 = call ptr @realloc(ptr %t9067, i64 %t9066) + store ptr %t9068, ptr %t9056 + store i32 %t9062, ptr %t9055 + br label %put1918 +put1918: + %t9069 = load ptr, ptr %t9056 + %t9070 = getelementptr inbounds ptr, ptr %t9069, i32 %t9057 + store ptr @.str7827, ptr %t9070 + %t9071 = add i32 %t9057, 1 + store i32 %t9071, ptr %t9054 + br label %ifend1916 +ifend1916: + %t9072 = load ptr, ptr %t1 + %t9073 = call i32 @lp_str_eq(ptr %t9072, ptr @.str7828) + %t9074 = icmp ne i32 %t9073, 0 + br i1 %t9074, label %then1919, label %ifend1921 +then1919: + store ptr @.str7829, ptr %t403 + %t9075 = load ptr, ptr %t410 + %t9076 = getelementptr inbounds %LSlice, ptr %t9075, i32 0, i32 1 + %t9077 = getelementptr inbounds %LSlice, ptr %t9075, i32 0, i32 2 + %t9078 = getelementptr inbounds %LSlice, ptr %t9075, i32 0, i32 0 + %t9079 = load i32, ptr %t9076 + %t9080 = load i32, ptr %t9077 + %t9081 = icmp sge i32 %t9079, %t9080 + br i1 %t9081, label %grow1922, label %put1923 +grow1922: + %t9082 = mul i32 %t9080, 2 + %t9083 = icmp eq i32 %t9080, 0 + %t9084 = select i1 %t9083, i32 8, i32 %t9082 + %t9085 = getelementptr ptr, ptr null, i32 1 + %t9086 = ptrtoint ptr %t9085 to i64 + %t9087 = zext i32 %t9084 to i64 + %t9088 = mul i64 %t9087, %t9086 + %t9089 = load ptr, ptr %t9078 + %t9090 = call ptr @realloc(ptr %t9089, i64 %t9088) + store ptr %t9090, ptr %t9078 + store i32 %t9084, ptr %t9077 + br label %put1923 +put1923: + %t9091 = load ptr, ptr %t9078 + %t9092 = getelementptr inbounds ptr, ptr %t9091, i32 %t9079 + store ptr @.str7830, ptr %t9092 + %t9093 = add i32 %t9079, 1 + store i32 %t9093, ptr %t9076 + br label %ifend1921 +ifend1921: + %t9094 = load ptr, ptr %t1 + %t9095 = call i32 @lp_str_eq(ptr %t9094, ptr @.str7831) + %t9096 = icmp ne i32 %t9095, 0 + br i1 %t9096, label %then1924, label %ifend1926 +then1924: + store ptr @.str7832, ptr %t403 + %t9097 = load ptr, ptr %t410 + %t9098 = getelementptr inbounds %LSlice, ptr %t9097, i32 0, i32 1 + %t9099 = getelementptr inbounds %LSlice, ptr %t9097, i32 0, i32 2 + %t9100 = getelementptr inbounds %LSlice, ptr %t9097, i32 0, i32 0 + %t9101 = load i32, ptr %t9098 + %t9102 = load i32, ptr %t9099 + %t9103 = icmp sge i32 %t9101, %t9102 + br i1 %t9103, label %grow1927, label %put1928 +grow1927: + %t9104 = mul i32 %t9102, 2 + %t9105 = icmp eq i32 %t9102, 0 + %t9106 = select i1 %t9105, i32 8, i32 %t9104 + %t9107 = getelementptr ptr, ptr null, i32 1 + %t9108 = ptrtoint ptr %t9107 to i64 + %t9109 = zext i32 %t9106 to i64 + %t9110 = mul i64 %t9109, %t9108 + %t9111 = load ptr, ptr %t9100 + %t9112 = call ptr @realloc(ptr %t9111, i64 %t9110) + store ptr %t9112, ptr %t9100 + store i32 %t9106, ptr %t9099 + br label %put1928 +put1928: + %t9113 = load ptr, ptr %t9100 + %t9114 = getelementptr inbounds ptr, ptr %t9113, i32 %t9101 + store ptr @.str7833, ptr %t9114 + %t9115 = add i32 %t9101, 1 + store i32 %t9115, ptr %t9098 + br label %ifend1926 +ifend1926: + %t9116 = load ptr, ptr %t1 + %t9117 = call i32 @lp_str_eq(ptr %t9116, ptr @.str7834) + %t9118 = icmp ne i32 %t9117, 0 + br i1 %t9118, label %then1929, label %ifend1931 +then1929: + store ptr @.str7835, ptr %t403 + br label %ifend1931 +ifend1931: + %t9119 = load ptr, ptr %t1 + %t9120 = call i32 @lp_str_eq(ptr %t9119, ptr @.str7836) + %t9121 = icmp ne i32 %t9120, 0 + br i1 %t9121, label %then1932, label %ifend1934 +then1932: + store ptr @.str7837, ptr %t403 + %t9122 = load ptr, ptr %t410 + %t9123 = getelementptr inbounds %LSlice, ptr %t9122, i32 0, i32 1 + %t9124 = getelementptr inbounds %LSlice, ptr %t9122, i32 0, i32 2 + %t9125 = getelementptr inbounds %LSlice, ptr %t9122, i32 0, i32 0 + %t9126 = load i32, ptr %t9123 + %t9127 = load i32, ptr %t9124 + %t9128 = icmp sge i32 %t9126, %t9127 + br i1 %t9128, label %grow1935, label %put1936 +grow1935: + %t9129 = mul i32 %t9127, 2 + %t9130 = icmp eq i32 %t9127, 0 + %t9131 = select i1 %t9130, i32 8, i32 %t9129 + %t9132 = getelementptr ptr, ptr null, i32 1 + %t9133 = ptrtoint ptr %t9132 to i64 + %t9134 = zext i32 %t9131 to i64 + %t9135 = mul i64 %t9134, %t9133 + %t9136 = load ptr, ptr %t9125 + %t9137 = call ptr @realloc(ptr %t9136, i64 %t9135) + store ptr %t9137, ptr %t9125 + store i32 %t9131, ptr %t9124 + br label %put1936 +put1936: + %t9138 = load ptr, ptr %t9125 + %t9139 = getelementptr inbounds ptr, ptr %t9138, i32 %t9126 + store ptr @.str7838, ptr %t9139 + %t9140 = add i32 %t9126, 1 + store i32 %t9140, ptr %t9123 + br label %ifend1934 +ifend1934: + %t9141 = load ptr, ptr %t1 + %t9142 = call i32 @lp_str_eq(ptr %t9141, ptr @.str7839) + %t9143 = icmp ne i32 %t9142, 0 + br i1 %t9143, label %then1937, label %ifend1939 +then1937: + store ptr @.str7840, ptr %t403 + %t9144 = load ptr, ptr %t410 + %t9145 = getelementptr inbounds %LSlice, ptr %t9144, i32 0, i32 1 + %t9146 = getelementptr inbounds %LSlice, ptr %t9144, i32 0, i32 2 + %t9147 = getelementptr inbounds %LSlice, ptr %t9144, i32 0, i32 0 + %t9148 = load i32, ptr %t9145 + %t9149 = load i32, ptr %t9146 + %t9150 = icmp sge i32 %t9148, %t9149 + br i1 %t9150, label %grow1940, label %put1941 +grow1940: + %t9151 = mul i32 %t9149, 2 + %t9152 = icmp eq i32 %t9149, 0 + %t9153 = select i1 %t9152, i32 8, i32 %t9151 + %t9154 = getelementptr ptr, ptr null, i32 1 + %t9155 = ptrtoint ptr %t9154 to i64 + %t9156 = zext i32 %t9153 to i64 + %t9157 = mul i64 %t9156, %t9155 + %t9158 = load ptr, ptr %t9147 + %t9159 = call ptr @realloc(ptr %t9158, i64 %t9157) + store ptr %t9159, ptr %t9147 + store i32 %t9153, ptr %t9146 + br label %put1941 +put1941: + %t9160 = load ptr, ptr %t9147 + %t9161 = getelementptr inbounds ptr, ptr %t9160, i32 %t9148 + store ptr @.str7841, ptr %t9161 + %t9162 = add i32 %t9148, 1 + store i32 %t9162, ptr %t9145 + %t9163 = load ptr, ptr %t410 + %t9164 = getelementptr inbounds %LSlice, ptr %t9163, i32 0, i32 1 + %t9165 = getelementptr inbounds %LSlice, ptr %t9163, i32 0, i32 2 + %t9166 = getelementptr inbounds %LSlice, ptr %t9163, i32 0, i32 0 + %t9167 = load i32, ptr %t9164 + %t9168 = load i32, ptr %t9165 + %t9169 = icmp sge i32 %t9167, %t9168 + br i1 %t9169, label %grow1942, label %put1943 +grow1942: + %t9170 = mul i32 %t9168, 2 + %t9171 = icmp eq i32 %t9168, 0 + %t9172 = select i1 %t9171, i32 8, i32 %t9170 + %t9173 = getelementptr ptr, ptr null, i32 1 + %t9174 = ptrtoint ptr %t9173 to i64 + %t9175 = zext i32 %t9172 to i64 + %t9176 = mul i64 %t9175, %t9174 + %t9177 = load ptr, ptr %t9166 + %t9178 = call ptr @realloc(ptr %t9177, i64 %t9176) + store ptr %t9178, ptr %t9166 + store i32 %t9172, ptr %t9165 + br label %put1943 +put1943: + %t9179 = load ptr, ptr %t9166 + %t9180 = getelementptr inbounds ptr, ptr %t9179, i32 %t9167 + store ptr @.str7842, ptr %t9180 + %t9181 = add i32 %t9167, 1 + store i32 %t9181, ptr %t9164 + br label %ifend1939 +ifend1939: + %t9182 = load ptr, ptr %t1 + %t9183 = call i32 @lp_str_eq(ptr %t9182, ptr @.str7843) + %t9184 = icmp ne i32 %t9183, 0 + br i1 %t9184, label %then1944, label %ifend1946 +then1944: + store ptr @.str7844, ptr %t403 + %t9185 = load ptr, ptr %t410 + %t9186 = getelementptr inbounds %LSlice, ptr %t9185, i32 0, i32 1 + %t9187 = getelementptr inbounds %LSlice, ptr %t9185, i32 0, i32 2 + %t9188 = getelementptr inbounds %LSlice, ptr %t9185, i32 0, i32 0 + %t9189 = load i32, ptr %t9186 + %t9190 = load i32, ptr %t9187 + %t9191 = icmp sge i32 %t9189, %t9190 + br i1 %t9191, label %grow1947, label %put1948 +grow1947: + %t9192 = mul i32 %t9190, 2 + %t9193 = icmp eq i32 %t9190, 0 + %t9194 = select i1 %t9193, i32 8, i32 %t9192 + %t9195 = getelementptr ptr, ptr null, i32 1 + %t9196 = ptrtoint ptr %t9195 to i64 + %t9197 = zext i32 %t9194 to i64 + %t9198 = mul i64 %t9197, %t9196 + %t9199 = load ptr, ptr %t9188 + %t9200 = call ptr @realloc(ptr %t9199, i64 %t9198) + store ptr %t9200, ptr %t9188 + store i32 %t9194, ptr %t9187 + br label %put1948 +put1948: + %t9201 = load ptr, ptr %t9188 + %t9202 = getelementptr inbounds ptr, ptr %t9201, i32 %t9189 + store ptr @.str7845, ptr %t9202 + %t9203 = add i32 %t9189, 1 + store i32 %t9203, ptr %t9186 + %t9204 = load ptr, ptr %t410 + %t9205 = getelementptr inbounds %LSlice, ptr %t9204, i32 0, i32 1 + %t9206 = getelementptr inbounds %LSlice, ptr %t9204, i32 0, i32 2 + %t9207 = getelementptr inbounds %LSlice, ptr %t9204, i32 0, i32 0 + %t9208 = load i32, ptr %t9205 + %t9209 = load i32, ptr %t9206 + %t9210 = icmp sge i32 %t9208, %t9209 + br i1 %t9210, label %grow1949, label %put1950 +grow1949: + %t9211 = mul i32 %t9209, 2 + %t9212 = icmp eq i32 %t9209, 0 + %t9213 = select i1 %t9212, i32 8, i32 %t9211 + %t9214 = getelementptr ptr, ptr null, i32 1 + %t9215 = ptrtoint ptr %t9214 to i64 + %t9216 = zext i32 %t9213 to i64 + %t9217 = mul i64 %t9216, %t9215 + %t9218 = load ptr, ptr %t9207 + %t9219 = call ptr @realloc(ptr %t9218, i64 %t9217) + store ptr %t9219, ptr %t9207 + store i32 %t9213, ptr %t9206 + br label %put1950 +put1950: + %t9220 = load ptr, ptr %t9207 + %t9221 = getelementptr inbounds ptr, ptr %t9220, i32 %t9208 + store ptr @.str7846, ptr %t9221 + %t9222 = add i32 %t9208, 1 + store i32 %t9222, ptr %t9205 + br label %ifend1946 +ifend1946: + %t9223 = load ptr, ptr %t1 + %t9224 = call i32 @lp_str_eq(ptr %t9223, ptr @.str7847) + %t9225 = icmp ne i32 %t9224, 0 + br i1 %t9225, label %then1951, label %ifend1953 +then1951: + store ptr @.str7848, ptr %t403 + %t9226 = load ptr, ptr %t410 + %t9227 = getelementptr inbounds %LSlice, ptr %t9226, i32 0, i32 1 + %t9228 = getelementptr inbounds %LSlice, ptr %t9226, i32 0, i32 2 + %t9229 = getelementptr inbounds %LSlice, ptr %t9226, i32 0, i32 0 + %t9230 = load i32, ptr %t9227 + %t9231 = load i32, ptr %t9228 + %t9232 = icmp sge i32 %t9230, %t9231 + br i1 %t9232, label %grow1954, label %put1955 +grow1954: + %t9233 = mul i32 %t9231, 2 + %t9234 = icmp eq i32 %t9231, 0 + %t9235 = select i1 %t9234, i32 8, i32 %t9233 + %t9236 = getelementptr ptr, ptr null, i32 1 + %t9237 = ptrtoint ptr %t9236 to i64 + %t9238 = zext i32 %t9235 to i64 + %t9239 = mul i64 %t9238, %t9237 + %t9240 = load ptr, ptr %t9229 + %t9241 = call ptr @realloc(ptr %t9240, i64 %t9239) + store ptr %t9241, ptr %t9229 + store i32 %t9235, ptr %t9228 + br label %put1955 +put1955: + %t9242 = load ptr, ptr %t9229 + %t9243 = getelementptr inbounds ptr, ptr %t9242, i32 %t9230 + store ptr @.str7849, ptr %t9243 + %t9244 = add i32 %t9230, 1 + store i32 %t9244, ptr %t9227 + %t9245 = load ptr, ptr %t410 + %t9246 = getelementptr inbounds %LSlice, ptr %t9245, i32 0, i32 1 + %t9247 = getelementptr inbounds %LSlice, ptr %t9245, i32 0, i32 2 + %t9248 = getelementptr inbounds %LSlice, ptr %t9245, i32 0, i32 0 + %t9249 = load i32, ptr %t9246 + %t9250 = load i32, ptr %t9247 + %t9251 = icmp sge i32 %t9249, %t9250 + br i1 %t9251, label %grow1956, label %put1957 +grow1956: + %t9252 = mul i32 %t9250, 2 + %t9253 = icmp eq i32 %t9250, 0 + %t9254 = select i1 %t9253, i32 8, i32 %t9252 + %t9255 = getelementptr ptr, ptr null, i32 1 + %t9256 = ptrtoint ptr %t9255 to i64 + %t9257 = zext i32 %t9254 to i64 + %t9258 = mul i64 %t9257, %t9256 + %t9259 = load ptr, ptr %t9248 + %t9260 = call ptr @realloc(ptr %t9259, i64 %t9258) + store ptr %t9260, ptr %t9248 + store i32 %t9254, ptr %t9247 + br label %put1957 +put1957: + %t9261 = load ptr, ptr %t9248 + %t9262 = getelementptr inbounds ptr, ptr %t9261, i32 %t9249 + store ptr @.str7850, ptr %t9262 + %t9263 = add i32 %t9249, 1 + store i32 %t9263, ptr %t9246 + %t9264 = load ptr, ptr %t410 + %t9265 = getelementptr inbounds %LSlice, ptr %t9264, i32 0, i32 1 + %t9266 = getelementptr inbounds %LSlice, ptr %t9264, i32 0, i32 2 + %t9267 = getelementptr inbounds %LSlice, ptr %t9264, i32 0, i32 0 + %t9268 = load i32, ptr %t9265 + %t9269 = load i32, ptr %t9266 + %t9270 = icmp sge i32 %t9268, %t9269 + br i1 %t9270, label %grow1958, label %put1959 +grow1958: + %t9271 = mul i32 %t9269, 2 + %t9272 = icmp eq i32 %t9269, 0 + %t9273 = select i1 %t9272, i32 8, i32 %t9271 + %t9274 = getelementptr ptr, ptr null, i32 1 + %t9275 = ptrtoint ptr %t9274 to i64 + %t9276 = zext i32 %t9273 to i64 + %t9277 = mul i64 %t9276, %t9275 + %t9278 = load ptr, ptr %t9267 + %t9279 = call ptr @realloc(ptr %t9278, i64 %t9277) + store ptr %t9279, ptr %t9267 + store i32 %t9273, ptr %t9266 + br label %put1959 +put1959: + %t9280 = load ptr, ptr %t9267 + %t9281 = getelementptr inbounds ptr, ptr %t9280, i32 %t9268 + store ptr @.str7851, ptr %t9281 + %t9282 = add i32 %t9268, 1 + store i32 %t9282, ptr %t9265 + br label %ifend1953 +ifend1953: + %t9283 = load ptr, ptr %t1 + %t9284 = call i32 @lp_str_eq(ptr %t9283, ptr @.str7852) + %t9285 = icmp ne i32 %t9284, 0 + br i1 %t9285, label %then1960, label %ifend1962 +then1960: + store ptr @.str7853, ptr %t403 + br label %ifend1962 +ifend1962: + %t9286 = load ptr, ptr %t1 + %t9287 = call i32 @lp_str_eq(ptr %t9286, ptr @.str7854) + %t9288 = icmp ne i32 %t9287, 0 + br i1 %t9288, label %then1963, label %ifend1965 +then1963: + store ptr @.str7855, ptr %t403 + %t9289 = load ptr, ptr %t410 + %t9290 = getelementptr inbounds %LSlice, ptr %t9289, i32 0, i32 1 + %t9291 = getelementptr inbounds %LSlice, ptr %t9289, i32 0, i32 2 + %t9292 = getelementptr inbounds %LSlice, ptr %t9289, i32 0, i32 0 + %t9293 = load i32, ptr %t9290 + %t9294 = load i32, ptr %t9291 + %t9295 = icmp sge i32 %t9293, %t9294 + br i1 %t9295, label %grow1966, label %put1967 +grow1966: + %t9296 = mul i32 %t9294, 2 + %t9297 = icmp eq i32 %t9294, 0 + %t9298 = select i1 %t9297, i32 8, i32 %t9296 + %t9299 = getelementptr ptr, ptr null, i32 1 + %t9300 = ptrtoint ptr %t9299 to i64 + %t9301 = zext i32 %t9298 to i64 + %t9302 = mul i64 %t9301, %t9300 + %t9303 = load ptr, ptr %t9292 + %t9304 = call ptr @realloc(ptr %t9303, i64 %t9302) + store ptr %t9304, ptr %t9292 + store i32 %t9298, ptr %t9291 + br label %put1967 +put1967: + %t9305 = load ptr, ptr %t9292 + %t9306 = getelementptr inbounds ptr, ptr %t9305, i32 %t9293 + store ptr @.str7856, ptr %t9306 + %t9307 = add i32 %t9293, 1 + store i32 %t9307, ptr %t9290 + %t9308 = load ptr, ptr %t410 + %t9309 = getelementptr inbounds %LSlice, ptr %t9308, i32 0, i32 1 + %t9310 = getelementptr inbounds %LSlice, ptr %t9308, i32 0, i32 2 + %t9311 = getelementptr inbounds %LSlice, ptr %t9308, i32 0, i32 0 + %t9312 = load i32, ptr %t9309 + %t9313 = load i32, ptr %t9310 + %t9314 = icmp sge i32 %t9312, %t9313 + br i1 %t9314, label %grow1968, label %put1969 +grow1968: + %t9315 = mul i32 %t9313, 2 + %t9316 = icmp eq i32 %t9313, 0 + %t9317 = select i1 %t9316, i32 8, i32 %t9315 + %t9318 = getelementptr ptr, ptr null, i32 1 + %t9319 = ptrtoint ptr %t9318 to i64 + %t9320 = zext i32 %t9317 to i64 + %t9321 = mul i64 %t9320, %t9319 + %t9322 = load ptr, ptr %t9311 + %t9323 = call ptr @realloc(ptr %t9322, i64 %t9321) + store ptr %t9323, ptr %t9311 + store i32 %t9317, ptr %t9310 + br label %put1969 +put1969: + %t9324 = load ptr, ptr %t9311 + %t9325 = getelementptr inbounds ptr, ptr %t9324, i32 %t9312 + store ptr @.str7857, ptr %t9325 + %t9326 = add i32 %t9312, 1 + store i32 %t9326, ptr %t9309 + br label %ifend1965 +ifend1965: + %t9327 = load ptr, ptr %t1 + %t9328 = call i32 @lp_str_eq(ptr %t9327, ptr @.str7858) + %t9329 = icmp ne i32 %t9328, 0 + br i1 %t9329, label %then1970, label %ifend1972 +then1970: + store ptr @.str7859, ptr %t403 + %t9330 = load ptr, ptr %t410 + %t9331 = getelementptr inbounds %LSlice, ptr %t9330, i32 0, i32 1 + %t9332 = getelementptr inbounds %LSlice, ptr %t9330, i32 0, i32 2 + %t9333 = getelementptr inbounds %LSlice, ptr %t9330, i32 0, i32 0 + %t9334 = load i32, ptr %t9331 + %t9335 = load i32, ptr %t9332 + %t9336 = icmp sge i32 %t9334, %t9335 + br i1 %t9336, label %grow1973, label %put1974 +grow1973: + %t9337 = mul i32 %t9335, 2 + %t9338 = icmp eq i32 %t9335, 0 + %t9339 = select i1 %t9338, i32 8, i32 %t9337 + %t9340 = getelementptr ptr, ptr null, i32 1 + %t9341 = ptrtoint ptr %t9340 to i64 + %t9342 = zext i32 %t9339 to i64 + %t9343 = mul i64 %t9342, %t9341 + %t9344 = load ptr, ptr %t9333 + %t9345 = call ptr @realloc(ptr %t9344, i64 %t9343) + store ptr %t9345, ptr %t9333 + store i32 %t9339, ptr %t9332 + br label %put1974 +put1974: + %t9346 = load ptr, ptr %t9333 + %t9347 = getelementptr inbounds ptr, ptr %t9346, i32 %t9334 + store ptr @.str7860, ptr %t9347 + %t9348 = add i32 %t9334, 1 + store i32 %t9348, ptr %t9331 + br label %ifend1972 +ifend1972: + %t9349 = load ptr, ptr %t1 + %t9350 = call i32 @lp_str_eq(ptr %t9349, ptr @.str7861) + %t9351 = icmp ne i32 %t9350, 0 + br i1 %t9351, label %then1975, label %ifend1977 +then1975: + store ptr @.str7862, ptr %t403 + %t9352 = load ptr, ptr %t410 + %t9353 = getelementptr inbounds %LSlice, ptr %t9352, i32 0, i32 1 + %t9354 = getelementptr inbounds %LSlice, ptr %t9352, i32 0, i32 2 + %t9355 = getelementptr inbounds %LSlice, ptr %t9352, i32 0, i32 0 + %t9356 = load i32, ptr %t9353 + %t9357 = load i32, ptr %t9354 + %t9358 = icmp sge i32 %t9356, %t9357 + br i1 %t9358, label %grow1978, label %put1979 +grow1978: + %t9359 = mul i32 %t9357, 2 + %t9360 = icmp eq i32 %t9357, 0 + %t9361 = select i1 %t9360, i32 8, i32 %t9359 + %t9362 = getelementptr ptr, ptr null, i32 1 + %t9363 = ptrtoint ptr %t9362 to i64 + %t9364 = zext i32 %t9361 to i64 + %t9365 = mul i64 %t9364, %t9363 + %t9366 = load ptr, ptr %t9355 + %t9367 = call ptr @realloc(ptr %t9366, i64 %t9365) + store ptr %t9367, ptr %t9355 + store i32 %t9361, ptr %t9354 + br label %put1979 +put1979: + %t9368 = load ptr, ptr %t9355 + %t9369 = getelementptr inbounds ptr, ptr %t9368, i32 %t9356 + store ptr @.str7863, ptr %t9369 + %t9370 = add i32 %t9356, 1 + store i32 %t9370, ptr %t9353 + br label %ifend1977 +ifend1977: + %t9371 = load ptr, ptr %t1 + %t9372 = call i32 @lp_str_eq(ptr %t9371, ptr @.str7864) + %t9373 = icmp ne i32 %t9372, 0 + br i1 %t9373, label %then1980, label %ifend1982 +then1980: + store ptr @.str7865, ptr %t403 + %t9374 = load ptr, ptr %t410 + %t9375 = getelementptr inbounds %LSlice, ptr %t9374, i32 0, i32 1 + %t9376 = getelementptr inbounds %LSlice, ptr %t9374, i32 0, i32 2 + %t9377 = getelementptr inbounds %LSlice, ptr %t9374, i32 0, i32 0 + %t9378 = load i32, ptr %t9375 + %t9379 = load i32, ptr %t9376 + %t9380 = icmp sge i32 %t9378, %t9379 + br i1 %t9380, label %grow1983, label %put1984 +grow1983: + %t9381 = mul i32 %t9379, 2 + %t9382 = icmp eq i32 %t9379, 0 + %t9383 = select i1 %t9382, i32 8, i32 %t9381 + %t9384 = getelementptr ptr, ptr null, i32 1 + %t9385 = ptrtoint ptr %t9384 to i64 + %t9386 = zext i32 %t9383 to i64 + %t9387 = mul i64 %t9386, %t9385 + %t9388 = load ptr, ptr %t9377 + %t9389 = call ptr @realloc(ptr %t9388, i64 %t9387) + store ptr %t9389, ptr %t9377 + store i32 %t9383, ptr %t9376 + br label %put1984 +put1984: + %t9390 = load ptr, ptr %t9377 + %t9391 = getelementptr inbounds ptr, ptr %t9390, i32 %t9378 + store ptr @.str7866, ptr %t9391 + %t9392 = add i32 %t9378, 1 + store i32 %t9392, ptr %t9375 + br label %ifend1982 +ifend1982: + %t9393 = load ptr, ptr %t1 + %t9394 = call i32 @lp_str_eq(ptr %t9393, ptr @.str7867) + %t9395 = icmp ne i32 %t9394, 0 + br i1 %t9395, label %then1985, label %ifend1987 +then1985: + store ptr @.str7868, ptr %t403 + br label %ifend1987 +ifend1987: + br label %ifend1910 +ifend1910: + %t9396 = load ptr, ptr %t0 + %t9397 = call i32 @lp_str_eq(ptr %t9396, ptr @.str7869) + %t9398 = icmp ne i32 %t9397, 0 + br i1 %t9398, label %then1988, label %ifend1990 +then1988: + %t9399 = load ptr, ptr %t1 + %t9400 = call i32 @lp_str_eq(ptr %t9399, ptr @.str7870) + %t9401 = icmp ne i32 %t9400, 0 + br i1 %t9401, label %then1991, label %ifend1993 +then1991: + store ptr @.str7871, ptr %t403 + %t9402 = load ptr, ptr %t410 + %t9403 = getelementptr inbounds %LSlice, ptr %t9402, i32 0, i32 1 + %t9404 = getelementptr inbounds %LSlice, ptr %t9402, i32 0, i32 2 + %t9405 = getelementptr inbounds %LSlice, ptr %t9402, i32 0, i32 0 + %t9406 = load i32, ptr %t9403 + %t9407 = load i32, ptr %t9404 + %t9408 = icmp sge i32 %t9406, %t9407 + br i1 %t9408, label %grow1994, label %put1995 +grow1994: + %t9409 = mul i32 %t9407, 2 + %t9410 = icmp eq i32 %t9407, 0 + %t9411 = select i1 %t9410, i32 8, i32 %t9409 + %t9412 = getelementptr ptr, ptr null, i32 1 + %t9413 = ptrtoint ptr %t9412 to i64 + %t9414 = zext i32 %t9411 to i64 + %t9415 = mul i64 %t9414, %t9413 + %t9416 = load ptr, ptr %t9405 + %t9417 = call ptr @realloc(ptr %t9416, i64 %t9415) + store ptr %t9417, ptr %t9405 + store i32 %t9411, ptr %t9404 + br label %put1995 +put1995: + %t9418 = load ptr, ptr %t9405 + %t9419 = getelementptr inbounds ptr, ptr %t9418, i32 %t9406 + store ptr @.str7872, ptr %t9419 + %t9420 = add i32 %t9406, 1 + store i32 %t9420, ptr %t9403 + br label %ifend1993 +ifend1993: + %t9421 = load ptr, ptr %t1 + %t9422 = call i32 @lp_str_eq(ptr %t9421, ptr @.str7873) + %t9423 = icmp ne i32 %t9422, 0 + br i1 %t9423, label %then1996, label %ifend1998 +then1996: + store ptr @.str7874, ptr %t403 + %t9424 = load ptr, ptr %t410 + %t9425 = getelementptr inbounds %LSlice, ptr %t9424, i32 0, i32 1 + %t9426 = getelementptr inbounds %LSlice, ptr %t9424, i32 0, i32 2 + %t9427 = getelementptr inbounds %LSlice, ptr %t9424, i32 0, i32 0 + %t9428 = load i32, ptr %t9425 + %t9429 = load i32, ptr %t9426 + %t9430 = icmp sge i32 %t9428, %t9429 + br i1 %t9430, label %grow1999, label %put2000 +grow1999: + %t9431 = mul i32 %t9429, 2 + %t9432 = icmp eq i32 %t9429, 0 + %t9433 = select i1 %t9432, i32 8, i32 %t9431 + %t9434 = getelementptr ptr, ptr null, i32 1 + %t9435 = ptrtoint ptr %t9434 to i64 + %t9436 = zext i32 %t9433 to i64 + %t9437 = mul i64 %t9436, %t9435 + %t9438 = load ptr, ptr %t9427 + %t9439 = call ptr @realloc(ptr %t9438, i64 %t9437) + store ptr %t9439, ptr %t9427 + store i32 %t9433, ptr %t9426 + br label %put2000 +put2000: + %t9440 = load ptr, ptr %t9427 + %t9441 = getelementptr inbounds ptr, ptr %t9440, i32 %t9428 + store ptr @.str7875, ptr %t9441 + %t9442 = add i32 %t9428, 1 + store i32 %t9442, ptr %t9425 + %t9443 = load ptr, ptr %t410 + %t9444 = getelementptr inbounds %LSlice, ptr %t9443, i32 0, i32 1 + %t9445 = getelementptr inbounds %LSlice, ptr %t9443, i32 0, i32 2 + %t9446 = getelementptr inbounds %LSlice, ptr %t9443, i32 0, i32 0 + %t9447 = load i32, ptr %t9444 + %t9448 = load i32, ptr %t9445 + %t9449 = icmp sge i32 %t9447, %t9448 + br i1 %t9449, label %grow2001, label %put2002 +grow2001: + %t9450 = mul i32 %t9448, 2 + %t9451 = icmp eq i32 %t9448, 0 + %t9452 = select i1 %t9451, i32 8, i32 %t9450 + %t9453 = getelementptr ptr, ptr null, i32 1 + %t9454 = ptrtoint ptr %t9453 to i64 + %t9455 = zext i32 %t9452 to i64 + %t9456 = mul i64 %t9455, %t9454 + %t9457 = load ptr, ptr %t9446 + %t9458 = call ptr @realloc(ptr %t9457, i64 %t9456) + store ptr %t9458, ptr %t9446 + store i32 %t9452, ptr %t9445 + br label %put2002 +put2002: + %t9459 = load ptr, ptr %t9446 + %t9460 = getelementptr inbounds ptr, ptr %t9459, i32 %t9447 + store ptr @.str7876, ptr %t9460 + %t9461 = add i32 %t9447, 1 + store i32 %t9461, ptr %t9444 + br label %ifend1998 +ifend1998: + %t9462 = load ptr, ptr %t1 + %t9463 = call i32 @lp_str_eq(ptr %t9462, ptr @.str7877) + %t9464 = icmp ne i32 %t9463, 0 + br i1 %t9464, label %then2003, label %ifend2005 +then2003: + store ptr @.str7878, ptr %t403 + %t9465 = load ptr, ptr %t410 + %t9466 = getelementptr inbounds %LSlice, ptr %t9465, i32 0, i32 1 + %t9467 = getelementptr inbounds %LSlice, ptr %t9465, i32 0, i32 2 + %t9468 = getelementptr inbounds %LSlice, ptr %t9465, i32 0, i32 0 + %t9469 = load i32, ptr %t9466 + %t9470 = load i32, ptr %t9467 + %t9471 = icmp sge i32 %t9469, %t9470 + br i1 %t9471, label %grow2006, label %put2007 +grow2006: + %t9472 = mul i32 %t9470, 2 + %t9473 = icmp eq i32 %t9470, 0 + %t9474 = select i1 %t9473, i32 8, i32 %t9472 + %t9475 = getelementptr ptr, ptr null, i32 1 + %t9476 = ptrtoint ptr %t9475 to i64 + %t9477 = zext i32 %t9474 to i64 + %t9478 = mul i64 %t9477, %t9476 + %t9479 = load ptr, ptr %t9468 + %t9480 = call ptr @realloc(ptr %t9479, i64 %t9478) + store ptr %t9480, ptr %t9468 + store i32 %t9474, ptr %t9467 + br label %put2007 +put2007: + %t9481 = load ptr, ptr %t9468 + %t9482 = getelementptr inbounds ptr, ptr %t9481, i32 %t9469 + store ptr @.str7879, ptr %t9482 + %t9483 = add i32 %t9469, 1 + store i32 %t9483, ptr %t9466 + %t9484 = load ptr, ptr %t410 + %t9485 = getelementptr inbounds %LSlice, ptr %t9484, i32 0, i32 1 + %t9486 = getelementptr inbounds %LSlice, ptr %t9484, i32 0, i32 2 + %t9487 = getelementptr inbounds %LSlice, ptr %t9484, i32 0, i32 0 + %t9488 = load i32, ptr %t9485 + %t9489 = load i32, ptr %t9486 + %t9490 = icmp sge i32 %t9488, %t9489 + br i1 %t9490, label %grow2008, label %put2009 +grow2008: + %t9491 = mul i32 %t9489, 2 + %t9492 = icmp eq i32 %t9489, 0 + %t9493 = select i1 %t9492, i32 8, i32 %t9491 + %t9494 = getelementptr ptr, ptr null, i32 1 + %t9495 = ptrtoint ptr %t9494 to i64 + %t9496 = zext i32 %t9493 to i64 + %t9497 = mul i64 %t9496, %t9495 + %t9498 = load ptr, ptr %t9487 + %t9499 = call ptr @realloc(ptr %t9498, i64 %t9497) + store ptr %t9499, ptr %t9487 + store i32 %t9493, ptr %t9486 + br label %put2009 +put2009: + %t9500 = load ptr, ptr %t9487 + %t9501 = getelementptr inbounds ptr, ptr %t9500, i32 %t9488 + store ptr @.str7880, ptr %t9501 + %t9502 = add i32 %t9488, 1 + store i32 %t9502, ptr %t9485 + br label %ifend2005 +ifend2005: + %t9503 = load ptr, ptr %t1 + %t9504 = call i32 @lp_str_eq(ptr %t9503, ptr @.str7881) + %t9505 = icmp ne i32 %t9504, 0 + br i1 %t9505, label %then2010, label %ifend2012 +then2010: + store ptr @.str7882, ptr %t403 + %t9506 = load ptr, ptr %t410 + %t9507 = getelementptr inbounds %LSlice, ptr %t9506, i32 0, i32 1 + %t9508 = getelementptr inbounds %LSlice, ptr %t9506, i32 0, i32 2 + %t9509 = getelementptr inbounds %LSlice, ptr %t9506, i32 0, i32 0 + %t9510 = load i32, ptr %t9507 + %t9511 = load i32, ptr %t9508 + %t9512 = icmp sge i32 %t9510, %t9511 + br i1 %t9512, label %grow2013, label %put2014 +grow2013: + %t9513 = mul i32 %t9511, 2 + %t9514 = icmp eq i32 %t9511, 0 + %t9515 = select i1 %t9514, i32 8, i32 %t9513 + %t9516 = getelementptr ptr, ptr null, i32 1 + %t9517 = ptrtoint ptr %t9516 to i64 + %t9518 = zext i32 %t9515 to i64 + %t9519 = mul i64 %t9518, %t9517 + %t9520 = load ptr, ptr %t9509 + %t9521 = call ptr @realloc(ptr %t9520, i64 %t9519) + store ptr %t9521, ptr %t9509 + store i32 %t9515, ptr %t9508 + br label %put2014 +put2014: + %t9522 = load ptr, ptr %t9509 + %t9523 = getelementptr inbounds ptr, ptr %t9522, i32 %t9510 + store ptr @.str7883, ptr %t9523 + %t9524 = add i32 %t9510, 1 + store i32 %t9524, ptr %t9507 + %t9525 = load ptr, ptr %t410 + %t9526 = getelementptr inbounds %LSlice, ptr %t9525, i32 0, i32 1 + %t9527 = getelementptr inbounds %LSlice, ptr %t9525, i32 0, i32 2 + %t9528 = getelementptr inbounds %LSlice, ptr %t9525, i32 0, i32 0 + %t9529 = load i32, ptr %t9526 + %t9530 = load i32, ptr %t9527 + %t9531 = icmp sge i32 %t9529, %t9530 + br i1 %t9531, label %grow2015, label %put2016 +grow2015: + %t9532 = mul i32 %t9530, 2 + %t9533 = icmp eq i32 %t9530, 0 + %t9534 = select i1 %t9533, i32 8, i32 %t9532 + %t9535 = getelementptr ptr, ptr null, i32 1 + %t9536 = ptrtoint ptr %t9535 to i64 + %t9537 = zext i32 %t9534 to i64 + %t9538 = mul i64 %t9537, %t9536 + %t9539 = load ptr, ptr %t9528 + %t9540 = call ptr @realloc(ptr %t9539, i64 %t9538) + store ptr %t9540, ptr %t9528 + store i32 %t9534, ptr %t9527 + br label %put2016 +put2016: + %t9541 = load ptr, ptr %t9528 + %t9542 = getelementptr inbounds ptr, ptr %t9541, i32 %t9529 + store ptr @.str7884, ptr %t9542 + %t9543 = add i32 %t9529, 1 + store i32 %t9543, ptr %t9526 + br label %ifend2012 +ifend2012: + %t9544 = load ptr, ptr %t1 + %t9545 = call i32 @lp_str_eq(ptr %t9544, ptr @.str7885) + %t9546 = icmp ne i32 %t9545, 0 + br i1 %t9546, label %then2017, label %ifend2019 +then2017: + store ptr @.str7886, ptr %t403 + %t9547 = load ptr, ptr %t410 + %t9548 = getelementptr inbounds %LSlice, ptr %t9547, i32 0, i32 1 + %t9549 = getelementptr inbounds %LSlice, ptr %t9547, i32 0, i32 2 + %t9550 = getelementptr inbounds %LSlice, ptr %t9547, i32 0, i32 0 + %t9551 = load i32, ptr %t9548 + %t9552 = load i32, ptr %t9549 + %t9553 = icmp sge i32 %t9551, %t9552 + br i1 %t9553, label %grow2020, label %put2021 +grow2020: + %t9554 = mul i32 %t9552, 2 + %t9555 = icmp eq i32 %t9552, 0 + %t9556 = select i1 %t9555, i32 8, i32 %t9554 + %t9557 = getelementptr ptr, ptr null, i32 1 + %t9558 = ptrtoint ptr %t9557 to i64 + %t9559 = zext i32 %t9556 to i64 + %t9560 = mul i64 %t9559, %t9558 + %t9561 = load ptr, ptr %t9550 + %t9562 = call ptr @realloc(ptr %t9561, i64 %t9560) + store ptr %t9562, ptr %t9550 + store i32 %t9556, ptr %t9549 + br label %put2021 +put2021: + %t9563 = load ptr, ptr %t9550 + %t9564 = getelementptr inbounds ptr, ptr %t9563, i32 %t9551 + store ptr @.str7887, ptr %t9564 + %t9565 = add i32 %t9551, 1 + store i32 %t9565, ptr %t9548 + br label %ifend2019 +ifend2019: + %t9566 = load ptr, ptr %t1 + %t9567 = call i32 @lp_str_eq(ptr %t9566, ptr @.str7888) + %t9568 = icmp ne i32 %t9567, 0 + br i1 %t9568, label %then2022, label %ifend2024 +then2022: + store ptr @.str7889, ptr %t403 + %t9569 = load ptr, ptr %t410 + %t9570 = getelementptr inbounds %LSlice, ptr %t9569, i32 0, i32 1 + %t9571 = getelementptr inbounds %LSlice, ptr %t9569, i32 0, i32 2 + %t9572 = getelementptr inbounds %LSlice, ptr %t9569, i32 0, i32 0 + %t9573 = load i32, ptr %t9570 + %t9574 = load i32, ptr %t9571 + %t9575 = icmp sge i32 %t9573, %t9574 + br i1 %t9575, label %grow2025, label %put2026 +grow2025: + %t9576 = mul i32 %t9574, 2 + %t9577 = icmp eq i32 %t9574, 0 + %t9578 = select i1 %t9577, i32 8, i32 %t9576 + %t9579 = getelementptr ptr, ptr null, i32 1 + %t9580 = ptrtoint ptr %t9579 to i64 + %t9581 = zext i32 %t9578 to i64 + %t9582 = mul i64 %t9581, %t9580 + %t9583 = load ptr, ptr %t9572 + %t9584 = call ptr @realloc(ptr %t9583, i64 %t9582) + store ptr %t9584, ptr %t9572 + store i32 %t9578, ptr %t9571 + br label %put2026 +put2026: + %t9585 = load ptr, ptr %t9572 + %t9586 = getelementptr inbounds ptr, ptr %t9585, i32 %t9573 + store ptr @.str7890, ptr %t9586 + %t9587 = add i32 %t9573, 1 + store i32 %t9587, ptr %t9570 + %t9588 = load ptr, ptr %t410 + %t9589 = getelementptr inbounds %LSlice, ptr %t9588, i32 0, i32 1 + %t9590 = getelementptr inbounds %LSlice, ptr %t9588, i32 0, i32 2 + %t9591 = getelementptr inbounds %LSlice, ptr %t9588, i32 0, i32 0 + %t9592 = load i32, ptr %t9589 + %t9593 = load i32, ptr %t9590 + %t9594 = icmp sge i32 %t9592, %t9593 + br i1 %t9594, label %grow2027, label %put2028 +grow2027: + %t9595 = mul i32 %t9593, 2 + %t9596 = icmp eq i32 %t9593, 0 + %t9597 = select i1 %t9596, i32 8, i32 %t9595 + %t9598 = getelementptr ptr, ptr null, i32 1 + %t9599 = ptrtoint ptr %t9598 to i64 + %t9600 = zext i32 %t9597 to i64 + %t9601 = mul i64 %t9600, %t9599 + %t9602 = load ptr, ptr %t9591 + %t9603 = call ptr @realloc(ptr %t9602, i64 %t9601) + store ptr %t9603, ptr %t9591 + store i32 %t9597, ptr %t9590 + br label %put2028 +put2028: + %t9604 = load ptr, ptr %t9591 + %t9605 = getelementptr inbounds ptr, ptr %t9604, i32 %t9592 + store ptr @.str7891, ptr %t9605 + %t9606 = add i32 %t9592, 1 + store i32 %t9606, ptr %t9589 + br label %ifend2024 +ifend2024: + %t9607 = load ptr, ptr %t1 + %t9608 = call i32 @lp_str_eq(ptr %t9607, ptr @.str7892) + %t9609 = icmp ne i32 %t9608, 0 + br i1 %t9609, label %then2029, label %ifend2031 +then2029: + store ptr @.str7893, ptr %t403 + %t9610 = load ptr, ptr %t410 + %t9611 = getelementptr inbounds %LSlice, ptr %t9610, i32 0, i32 1 + %t9612 = getelementptr inbounds %LSlice, ptr %t9610, i32 0, i32 2 + %t9613 = getelementptr inbounds %LSlice, ptr %t9610, i32 0, i32 0 + %t9614 = load i32, ptr %t9611 + %t9615 = load i32, ptr %t9612 + %t9616 = icmp sge i32 %t9614, %t9615 + br i1 %t9616, label %grow2032, label %put2033 +grow2032: + %t9617 = mul i32 %t9615, 2 + %t9618 = icmp eq i32 %t9615, 0 + %t9619 = select i1 %t9618, i32 8, i32 %t9617 + %t9620 = getelementptr ptr, ptr null, i32 1 + %t9621 = ptrtoint ptr %t9620 to i64 + %t9622 = zext i32 %t9619 to i64 + %t9623 = mul i64 %t9622, %t9621 + %t9624 = load ptr, ptr %t9613 + %t9625 = call ptr @realloc(ptr %t9624, i64 %t9623) + store ptr %t9625, ptr %t9613 + store i32 %t9619, ptr %t9612 + br label %put2033 +put2033: + %t9626 = load ptr, ptr %t9613 + %t9627 = getelementptr inbounds ptr, ptr %t9626, i32 %t9614 + store ptr @.str7894, ptr %t9627 + %t9628 = add i32 %t9614, 1 + store i32 %t9628, ptr %t9611 + br label %ifend2031 +ifend2031: + %t9629 = load ptr, ptr %t1 + %t9630 = call i32 @lp_str_eq(ptr %t9629, ptr @.str7895) + %t9631 = icmp ne i32 %t9630, 0 + br i1 %t9631, label %then2034, label %ifend2036 +then2034: + store ptr @.str7896, ptr %t403 + %t9632 = load ptr, ptr %t410 + %t9633 = getelementptr inbounds %LSlice, ptr %t9632, i32 0, i32 1 + %t9634 = getelementptr inbounds %LSlice, ptr %t9632, i32 0, i32 2 + %t9635 = getelementptr inbounds %LSlice, ptr %t9632, i32 0, i32 0 + %t9636 = load i32, ptr %t9633 + %t9637 = load i32, ptr %t9634 + %t9638 = icmp sge i32 %t9636, %t9637 + br i1 %t9638, label %grow2037, label %put2038 +grow2037: + %t9639 = mul i32 %t9637, 2 + %t9640 = icmp eq i32 %t9637, 0 + %t9641 = select i1 %t9640, i32 8, i32 %t9639 + %t9642 = getelementptr ptr, ptr null, i32 1 + %t9643 = ptrtoint ptr %t9642 to i64 + %t9644 = zext i32 %t9641 to i64 + %t9645 = mul i64 %t9644, %t9643 + %t9646 = load ptr, ptr %t9635 + %t9647 = call ptr @realloc(ptr %t9646, i64 %t9645) + store ptr %t9647, ptr %t9635 + store i32 %t9641, ptr %t9634 + br label %put2038 +put2038: + %t9648 = load ptr, ptr %t9635 + %t9649 = getelementptr inbounds ptr, ptr %t9648, i32 %t9636 + store ptr @.str7897, ptr %t9649 + %t9650 = add i32 %t9636, 1 + store i32 %t9650, ptr %t9633 + br label %ifend2036 +ifend2036: + %t9651 = load ptr, ptr %t1 + %t9652 = call i32 @lp_str_eq(ptr %t9651, ptr @.str7898) + %t9653 = icmp ne i32 %t9652, 0 + br i1 %t9653, label %then2039, label %ifend2041 +then2039: + store ptr @.str7899, ptr %t403 + %t9654 = load ptr, ptr %t410 + %t9655 = getelementptr inbounds %LSlice, ptr %t9654, i32 0, i32 1 + %t9656 = getelementptr inbounds %LSlice, ptr %t9654, i32 0, i32 2 + %t9657 = getelementptr inbounds %LSlice, ptr %t9654, i32 0, i32 0 + %t9658 = load i32, ptr %t9655 + %t9659 = load i32, ptr %t9656 + %t9660 = icmp sge i32 %t9658, %t9659 + br i1 %t9660, label %grow2042, label %put2043 +grow2042: + %t9661 = mul i32 %t9659, 2 + %t9662 = icmp eq i32 %t9659, 0 + %t9663 = select i1 %t9662, i32 8, i32 %t9661 + %t9664 = getelementptr ptr, ptr null, i32 1 + %t9665 = ptrtoint ptr %t9664 to i64 + %t9666 = zext i32 %t9663 to i64 + %t9667 = mul i64 %t9666, %t9665 + %t9668 = load ptr, ptr %t9657 + %t9669 = call ptr @realloc(ptr %t9668, i64 %t9667) + store ptr %t9669, ptr %t9657 + store i32 %t9663, ptr %t9656 + br label %put2043 +put2043: + %t9670 = load ptr, ptr %t9657 + %t9671 = getelementptr inbounds ptr, ptr %t9670, i32 %t9658 + store ptr @.str7900, ptr %t9671 + %t9672 = add i32 %t9658, 1 + store i32 %t9672, ptr %t9655 + br label %ifend2041 +ifend2041: + %t9673 = load ptr, ptr %t1 + %t9674 = call i32 @lp_str_eq(ptr %t9673, ptr @.str7901) + %t9675 = icmp ne i32 %t9674, 0 + br i1 %t9675, label %then2044, label %ifend2046 +then2044: + store ptr @.str7902, ptr %t403 + %t9676 = load ptr, ptr %t410 + %t9677 = getelementptr inbounds %LSlice, ptr %t9676, i32 0, i32 1 + %t9678 = getelementptr inbounds %LSlice, ptr %t9676, i32 0, i32 2 + %t9679 = getelementptr inbounds %LSlice, ptr %t9676, i32 0, i32 0 + %t9680 = load i32, ptr %t9677 + %t9681 = load i32, ptr %t9678 + %t9682 = icmp sge i32 %t9680, %t9681 + br i1 %t9682, label %grow2047, label %put2048 +grow2047: + %t9683 = mul i32 %t9681, 2 + %t9684 = icmp eq i32 %t9681, 0 + %t9685 = select i1 %t9684, i32 8, i32 %t9683 + %t9686 = getelementptr ptr, ptr null, i32 1 + %t9687 = ptrtoint ptr %t9686 to i64 + %t9688 = zext i32 %t9685 to i64 + %t9689 = mul i64 %t9688, %t9687 + %t9690 = load ptr, ptr %t9679 + %t9691 = call ptr @realloc(ptr %t9690, i64 %t9689) + store ptr %t9691, ptr %t9679 + store i32 %t9685, ptr %t9678 + br label %put2048 +put2048: + %t9692 = load ptr, ptr %t9679 + %t9693 = getelementptr inbounds ptr, ptr %t9692, i32 %t9680 + store ptr @.str7903, ptr %t9693 + %t9694 = add i32 %t9680, 1 + store i32 %t9694, ptr %t9677 + br label %ifend2046 +ifend2046: + br label %ifend1990 +ifend1990: + %t9695 = load ptr, ptr %t0 + %t9696 = call i32 @lp_str_eq(ptr %t9695, ptr @.str7904) + %t9697 = icmp ne i32 %t9696, 0 + br i1 %t9697, label %then2049, label %ifend2051 +then2049: + %t9698 = load ptr, ptr %t1 + %t9699 = call i32 @lp_str_eq(ptr %t9698, ptr @.str7905) + %t9700 = icmp ne i32 %t9699, 0 + br i1 %t9700, label %then2052, label %ifend2054 +then2052: + store ptr @.str7906, ptr %t403 + %t9701 = load ptr, ptr %t410 + %t9702 = getelementptr inbounds %LSlice, ptr %t9701, i32 0, i32 1 + %t9703 = getelementptr inbounds %LSlice, ptr %t9701, i32 0, i32 2 + %t9704 = getelementptr inbounds %LSlice, ptr %t9701, i32 0, i32 0 + %t9705 = load i32, ptr %t9702 + %t9706 = load i32, ptr %t9703 + %t9707 = icmp sge i32 %t9705, %t9706 + br i1 %t9707, label %grow2055, label %put2056 +grow2055: + %t9708 = mul i32 %t9706, 2 + %t9709 = icmp eq i32 %t9706, 0 + %t9710 = select i1 %t9709, i32 8, i32 %t9708 + %t9711 = getelementptr ptr, ptr null, i32 1 + %t9712 = ptrtoint ptr %t9711 to i64 + %t9713 = zext i32 %t9710 to i64 + %t9714 = mul i64 %t9713, %t9712 + %t9715 = load ptr, ptr %t9704 + %t9716 = call ptr @realloc(ptr %t9715, i64 %t9714) + store ptr %t9716, ptr %t9704 + store i32 %t9710, ptr %t9703 + br label %put2056 +put2056: + %t9717 = load ptr, ptr %t9704 + %t9718 = getelementptr inbounds ptr, ptr %t9717, i32 %t9705 + store ptr @.str7907, ptr %t9718 + %t9719 = add i32 %t9705, 1 + store i32 %t9719, ptr %t9702 + br label %ifend2054 +ifend2054: + %t9720 = load ptr, ptr %t1 + %t9721 = call i32 @lp_str_eq(ptr %t9720, ptr @.str7908) + %t9722 = icmp ne i32 %t9721, 0 + br i1 %t9722, label %then2057, label %ifend2059 +then2057: + store ptr @.str7909, ptr %t403 + %t9723 = load ptr, ptr %t410 + %t9724 = getelementptr inbounds %LSlice, ptr %t9723, i32 0, i32 1 + %t9725 = getelementptr inbounds %LSlice, ptr %t9723, i32 0, i32 2 + %t9726 = getelementptr inbounds %LSlice, ptr %t9723, i32 0, i32 0 + %t9727 = load i32, ptr %t9724 + %t9728 = load i32, ptr %t9725 + %t9729 = icmp sge i32 %t9727, %t9728 + br i1 %t9729, label %grow2060, label %put2061 +grow2060: + %t9730 = mul i32 %t9728, 2 + %t9731 = icmp eq i32 %t9728, 0 + %t9732 = select i1 %t9731, i32 8, i32 %t9730 + %t9733 = getelementptr ptr, ptr null, i32 1 + %t9734 = ptrtoint ptr %t9733 to i64 + %t9735 = zext i32 %t9732 to i64 + %t9736 = mul i64 %t9735, %t9734 + %t9737 = load ptr, ptr %t9726 + %t9738 = call ptr @realloc(ptr %t9737, i64 %t9736) + store ptr %t9738, ptr %t9726 + store i32 %t9732, ptr %t9725 + br label %put2061 +put2061: + %t9739 = load ptr, ptr %t9726 + %t9740 = getelementptr inbounds ptr, ptr %t9739, i32 %t9727 + store ptr @.str7910, ptr %t9740 + %t9741 = add i32 %t9727, 1 + store i32 %t9741, ptr %t9724 + br label %ifend2059 +ifend2059: + %t9742 = load ptr, ptr %t1 + %t9743 = call i32 @lp_str_eq(ptr %t9742, ptr @.str7911) + %t9744 = icmp ne i32 %t9743, 0 + br i1 %t9744, label %then2062, label %ifend2064 +then2062: + store ptr @.str7912, ptr %t403 + %t9745 = load ptr, ptr %t410 + %t9746 = getelementptr inbounds %LSlice, ptr %t9745, i32 0, i32 1 + %t9747 = getelementptr inbounds %LSlice, ptr %t9745, i32 0, i32 2 + %t9748 = getelementptr inbounds %LSlice, ptr %t9745, i32 0, i32 0 + %t9749 = load i32, ptr %t9746 + %t9750 = load i32, ptr %t9747 + %t9751 = icmp sge i32 %t9749, %t9750 + br i1 %t9751, label %grow2065, label %put2066 +grow2065: + %t9752 = mul i32 %t9750, 2 + %t9753 = icmp eq i32 %t9750, 0 + %t9754 = select i1 %t9753, i32 8, i32 %t9752 + %t9755 = getelementptr ptr, ptr null, i32 1 + %t9756 = ptrtoint ptr %t9755 to i64 + %t9757 = zext i32 %t9754 to i64 + %t9758 = mul i64 %t9757, %t9756 + %t9759 = load ptr, ptr %t9748 + %t9760 = call ptr @realloc(ptr %t9759, i64 %t9758) + store ptr %t9760, ptr %t9748 + store i32 %t9754, ptr %t9747 + br label %put2066 +put2066: + %t9761 = load ptr, ptr %t9748 + %t9762 = getelementptr inbounds ptr, ptr %t9761, i32 %t9749 + store ptr @.str7913, ptr %t9762 + %t9763 = add i32 %t9749, 1 + store i32 %t9763, ptr %t9746 + br label %ifend2064 +ifend2064: + %t9764 = load ptr, ptr %t1 + %t9765 = call i32 @lp_str_eq(ptr %t9764, ptr @.str7914) + %t9766 = icmp ne i32 %t9765, 0 + br i1 %t9766, label %then2067, label %ifend2069 +then2067: + store ptr @.str7915, ptr %t403 + %t9767 = load ptr, ptr %t410 + %t9768 = getelementptr inbounds %LSlice, ptr %t9767, i32 0, i32 1 + %t9769 = getelementptr inbounds %LSlice, ptr %t9767, i32 0, i32 2 + %t9770 = getelementptr inbounds %LSlice, ptr %t9767, i32 0, i32 0 + %t9771 = load i32, ptr %t9768 + %t9772 = load i32, ptr %t9769 + %t9773 = icmp sge i32 %t9771, %t9772 + br i1 %t9773, label %grow2070, label %put2071 +grow2070: + %t9774 = mul i32 %t9772, 2 + %t9775 = icmp eq i32 %t9772, 0 + %t9776 = select i1 %t9775, i32 8, i32 %t9774 + %t9777 = getelementptr ptr, ptr null, i32 1 + %t9778 = ptrtoint ptr %t9777 to i64 + %t9779 = zext i32 %t9776 to i64 + %t9780 = mul i64 %t9779, %t9778 + %t9781 = load ptr, ptr %t9770 + %t9782 = call ptr @realloc(ptr %t9781, i64 %t9780) + store ptr %t9782, ptr %t9770 + store i32 %t9776, ptr %t9769 + br label %put2071 +put2071: + %t9783 = load ptr, ptr %t9770 + %t9784 = getelementptr inbounds ptr, ptr %t9783, i32 %t9771 + store ptr @.str7916, ptr %t9784 + %t9785 = add i32 %t9771, 1 + store i32 %t9785, ptr %t9768 + br label %ifend2069 +ifend2069: + %t9786 = load ptr, ptr %t1 + %t9787 = call i32 @lp_str_eq(ptr %t9786, ptr @.str7917) + %t9788 = icmp ne i32 %t9787, 0 + br i1 %t9788, label %then2072, label %ifend2074 +then2072: + store ptr @.str7918, ptr %t403 + %t9789 = load ptr, ptr %t410 + %t9790 = getelementptr inbounds %LSlice, ptr %t9789, i32 0, i32 1 + %t9791 = getelementptr inbounds %LSlice, ptr %t9789, i32 0, i32 2 + %t9792 = getelementptr inbounds %LSlice, ptr %t9789, i32 0, i32 0 + %t9793 = load i32, ptr %t9790 + %t9794 = load i32, ptr %t9791 + %t9795 = icmp sge i32 %t9793, %t9794 + br i1 %t9795, label %grow2075, label %put2076 +grow2075: + %t9796 = mul i32 %t9794, 2 + %t9797 = icmp eq i32 %t9794, 0 + %t9798 = select i1 %t9797, i32 8, i32 %t9796 + %t9799 = getelementptr ptr, ptr null, i32 1 + %t9800 = ptrtoint ptr %t9799 to i64 + %t9801 = zext i32 %t9798 to i64 + %t9802 = mul i64 %t9801, %t9800 + %t9803 = load ptr, ptr %t9792 + %t9804 = call ptr @realloc(ptr %t9803, i64 %t9802) + store ptr %t9804, ptr %t9792 + store i32 %t9798, ptr %t9791 + br label %put2076 +put2076: + %t9805 = load ptr, ptr %t9792 + %t9806 = getelementptr inbounds ptr, ptr %t9805, i32 %t9793 + store ptr @.str7919, ptr %t9806 + %t9807 = add i32 %t9793, 1 + store i32 %t9807, ptr %t9790 + br label %ifend2074 +ifend2074: + %t9808 = load ptr, ptr %t1 + %t9809 = call i32 @lp_str_eq(ptr %t9808, ptr @.str7920) + %t9810 = icmp ne i32 %t9809, 0 + br i1 %t9810, label %then2077, label %ifend2079 +then2077: + store ptr @.str7921, ptr %t403 + %t9811 = load ptr, ptr %t410 + %t9812 = getelementptr inbounds %LSlice, ptr %t9811, i32 0, i32 1 + %t9813 = getelementptr inbounds %LSlice, ptr %t9811, i32 0, i32 2 + %t9814 = getelementptr inbounds %LSlice, ptr %t9811, i32 0, i32 0 + %t9815 = load i32, ptr %t9812 + %t9816 = load i32, ptr %t9813 + %t9817 = icmp sge i32 %t9815, %t9816 + br i1 %t9817, label %grow2080, label %put2081 +grow2080: + %t9818 = mul i32 %t9816, 2 + %t9819 = icmp eq i32 %t9816, 0 + %t9820 = select i1 %t9819, i32 8, i32 %t9818 + %t9821 = getelementptr ptr, ptr null, i32 1 + %t9822 = ptrtoint ptr %t9821 to i64 + %t9823 = zext i32 %t9820 to i64 + %t9824 = mul i64 %t9823, %t9822 + %t9825 = load ptr, ptr %t9814 + %t9826 = call ptr @realloc(ptr %t9825, i64 %t9824) + store ptr %t9826, ptr %t9814 + store i32 %t9820, ptr %t9813 + br label %put2081 +put2081: + %t9827 = load ptr, ptr %t9814 + %t9828 = getelementptr inbounds ptr, ptr %t9827, i32 %t9815 + store ptr @.str7922, ptr %t9828 + %t9829 = add i32 %t9815, 1 + store i32 %t9829, ptr %t9812 + %t9830 = load ptr, ptr %t410 + %t9831 = getelementptr inbounds %LSlice, ptr %t9830, i32 0, i32 1 + %t9832 = getelementptr inbounds %LSlice, ptr %t9830, i32 0, i32 2 + %t9833 = getelementptr inbounds %LSlice, ptr %t9830, i32 0, i32 0 + %t9834 = load i32, ptr %t9831 + %t9835 = load i32, ptr %t9832 + %t9836 = icmp sge i32 %t9834, %t9835 + br i1 %t9836, label %grow2082, label %put2083 +grow2082: + %t9837 = mul i32 %t9835, 2 + %t9838 = icmp eq i32 %t9835, 0 + %t9839 = select i1 %t9838, i32 8, i32 %t9837 + %t9840 = getelementptr ptr, ptr null, i32 1 + %t9841 = ptrtoint ptr %t9840 to i64 + %t9842 = zext i32 %t9839 to i64 + %t9843 = mul i64 %t9842, %t9841 + %t9844 = load ptr, ptr %t9833 + %t9845 = call ptr @realloc(ptr %t9844, i64 %t9843) + store ptr %t9845, ptr %t9833 + store i32 %t9839, ptr %t9832 + br label %put2083 +put2083: + %t9846 = load ptr, ptr %t9833 + %t9847 = getelementptr inbounds ptr, ptr %t9846, i32 %t9834 + store ptr @.str7923, ptr %t9847 + %t9848 = add i32 %t9834, 1 + store i32 %t9848, ptr %t9831 + br label %ifend2079 +ifend2079: + %t9849 = load ptr, ptr %t1 + %t9850 = call i32 @lp_str_eq(ptr %t9849, ptr @.str7924) + %t9851 = icmp ne i32 %t9850, 0 + br i1 %t9851, label %then2084, label %ifend2086 +then2084: + store ptr @.str7925, ptr %t403 + %t9852 = load ptr, ptr %t410 + %t9853 = getelementptr inbounds %LSlice, ptr %t9852, i32 0, i32 1 + %t9854 = getelementptr inbounds %LSlice, ptr %t9852, i32 0, i32 2 + %t9855 = getelementptr inbounds %LSlice, ptr %t9852, i32 0, i32 0 + %t9856 = load i32, ptr %t9853 + %t9857 = load i32, ptr %t9854 + %t9858 = icmp sge i32 %t9856, %t9857 + br i1 %t9858, label %grow2087, label %put2088 +grow2087: + %t9859 = mul i32 %t9857, 2 + %t9860 = icmp eq i32 %t9857, 0 + %t9861 = select i1 %t9860, i32 8, i32 %t9859 + %t9862 = getelementptr ptr, ptr null, i32 1 + %t9863 = ptrtoint ptr %t9862 to i64 + %t9864 = zext i32 %t9861 to i64 + %t9865 = mul i64 %t9864, %t9863 + %t9866 = load ptr, ptr %t9855 + %t9867 = call ptr @realloc(ptr %t9866, i64 %t9865) + store ptr %t9867, ptr %t9855 + store i32 %t9861, ptr %t9854 + br label %put2088 +put2088: + %t9868 = load ptr, ptr %t9855 + %t9869 = getelementptr inbounds ptr, ptr %t9868, i32 %t9856 + store ptr @.str7926, ptr %t9869 + %t9870 = add i32 %t9856, 1 + store i32 %t9870, ptr %t9853 + %t9871 = load ptr, ptr %t410 + %t9872 = getelementptr inbounds %LSlice, ptr %t9871, i32 0, i32 1 + %t9873 = getelementptr inbounds %LSlice, ptr %t9871, i32 0, i32 2 + %t9874 = getelementptr inbounds %LSlice, ptr %t9871, i32 0, i32 0 + %t9875 = load i32, ptr %t9872 + %t9876 = load i32, ptr %t9873 + %t9877 = icmp sge i32 %t9875, %t9876 + br i1 %t9877, label %grow2089, label %put2090 +grow2089: + %t9878 = mul i32 %t9876, 2 + %t9879 = icmp eq i32 %t9876, 0 + %t9880 = select i1 %t9879, i32 8, i32 %t9878 + %t9881 = getelementptr ptr, ptr null, i32 1 + %t9882 = ptrtoint ptr %t9881 to i64 + %t9883 = zext i32 %t9880 to i64 + %t9884 = mul i64 %t9883, %t9882 + %t9885 = load ptr, ptr %t9874 + %t9886 = call ptr @realloc(ptr %t9885, i64 %t9884) + store ptr %t9886, ptr %t9874 + store i32 %t9880, ptr %t9873 + br label %put2090 +put2090: + %t9887 = load ptr, ptr %t9874 + %t9888 = getelementptr inbounds ptr, ptr %t9887, i32 %t9875 + store ptr @.str7927, ptr %t9888 + %t9889 = add i32 %t9875, 1 + store i32 %t9889, ptr %t9872 + br label %ifend2086 +ifend2086: + %t9890 = load ptr, ptr %t1 + %t9891 = call i32 @lp_str_eq(ptr %t9890, ptr @.str7928) + %t9892 = icmp ne i32 %t9891, 0 + br i1 %t9892, label %then2091, label %ifend2093 +then2091: + store ptr @.str7929, ptr %t403 + %t9893 = load ptr, ptr %t410 + %t9894 = getelementptr inbounds %LSlice, ptr %t9893, i32 0, i32 1 + %t9895 = getelementptr inbounds %LSlice, ptr %t9893, i32 0, i32 2 + %t9896 = getelementptr inbounds %LSlice, ptr %t9893, i32 0, i32 0 + %t9897 = load i32, ptr %t9894 + %t9898 = load i32, ptr %t9895 + %t9899 = icmp sge i32 %t9897, %t9898 + br i1 %t9899, label %grow2094, label %put2095 +grow2094: + %t9900 = mul i32 %t9898, 2 + %t9901 = icmp eq i32 %t9898, 0 + %t9902 = select i1 %t9901, i32 8, i32 %t9900 + %t9903 = getelementptr ptr, ptr null, i32 1 + %t9904 = ptrtoint ptr %t9903 to i64 + %t9905 = zext i32 %t9902 to i64 + %t9906 = mul i64 %t9905, %t9904 + %t9907 = load ptr, ptr %t9896 + %t9908 = call ptr @realloc(ptr %t9907, i64 %t9906) + store ptr %t9908, ptr %t9896 + store i32 %t9902, ptr %t9895 + br label %put2095 +put2095: + %t9909 = load ptr, ptr %t9896 + %t9910 = getelementptr inbounds ptr, ptr %t9909, i32 %t9897 + store ptr @.str7930, ptr %t9910 + %t9911 = add i32 %t9897, 1 + store i32 %t9911, ptr %t9894 + %t9912 = load ptr, ptr %t410 + %t9913 = getelementptr inbounds %LSlice, ptr %t9912, i32 0, i32 1 + %t9914 = getelementptr inbounds %LSlice, ptr %t9912, i32 0, i32 2 + %t9915 = getelementptr inbounds %LSlice, ptr %t9912, i32 0, i32 0 + %t9916 = load i32, ptr %t9913 + %t9917 = load i32, ptr %t9914 + %t9918 = icmp sge i32 %t9916, %t9917 + br i1 %t9918, label %grow2096, label %put2097 +grow2096: + %t9919 = mul i32 %t9917, 2 + %t9920 = icmp eq i32 %t9917, 0 + %t9921 = select i1 %t9920, i32 8, i32 %t9919 + %t9922 = getelementptr ptr, ptr null, i32 1 + %t9923 = ptrtoint ptr %t9922 to i64 + %t9924 = zext i32 %t9921 to i64 + %t9925 = mul i64 %t9924, %t9923 + %t9926 = load ptr, ptr %t9915 + %t9927 = call ptr @realloc(ptr %t9926, i64 %t9925) + store ptr %t9927, ptr %t9915 + store i32 %t9921, ptr %t9914 + br label %put2097 +put2097: + %t9928 = load ptr, ptr %t9915 + %t9929 = getelementptr inbounds ptr, ptr %t9928, i32 %t9916 + store ptr @.str7931, ptr %t9929 + %t9930 = add i32 %t9916, 1 + store i32 %t9930, ptr %t9913 + br label %ifend2093 +ifend2093: + %t9931 = load ptr, ptr %t1 + %t9932 = call i32 @lp_str_eq(ptr %t9931, ptr @.str7932) + %t9933 = icmp ne i32 %t9932, 0 + br i1 %t9933, label %then2098, label %ifend2100 +then2098: + store ptr @.str7933, ptr %t403 + %t9934 = load ptr, ptr %t410 + %t9935 = getelementptr inbounds %LSlice, ptr %t9934, i32 0, i32 1 + %t9936 = getelementptr inbounds %LSlice, ptr %t9934, i32 0, i32 2 + %t9937 = getelementptr inbounds %LSlice, ptr %t9934, i32 0, i32 0 + %t9938 = load i32, ptr %t9935 + %t9939 = load i32, ptr %t9936 + %t9940 = icmp sge i32 %t9938, %t9939 + br i1 %t9940, label %grow2101, label %put2102 +grow2101: + %t9941 = mul i32 %t9939, 2 + %t9942 = icmp eq i32 %t9939, 0 + %t9943 = select i1 %t9942, i32 8, i32 %t9941 + %t9944 = getelementptr ptr, ptr null, i32 1 + %t9945 = ptrtoint ptr %t9944 to i64 + %t9946 = zext i32 %t9943 to i64 + %t9947 = mul i64 %t9946, %t9945 + %t9948 = load ptr, ptr %t9937 + %t9949 = call ptr @realloc(ptr %t9948, i64 %t9947) + store ptr %t9949, ptr %t9937 + store i32 %t9943, ptr %t9936 + br label %put2102 +put2102: + %t9950 = load ptr, ptr %t9937 + %t9951 = getelementptr inbounds ptr, ptr %t9950, i32 %t9938 + store ptr @.str7934, ptr %t9951 + %t9952 = add i32 %t9938, 1 + store i32 %t9952, ptr %t9935 + %t9953 = load ptr, ptr %t410 + %t9954 = getelementptr inbounds %LSlice, ptr %t9953, i32 0, i32 1 + %t9955 = getelementptr inbounds %LSlice, ptr %t9953, i32 0, i32 2 + %t9956 = getelementptr inbounds %LSlice, ptr %t9953, i32 0, i32 0 + %t9957 = load i32, ptr %t9954 + %t9958 = load i32, ptr %t9955 + %t9959 = icmp sge i32 %t9957, %t9958 + br i1 %t9959, label %grow2103, label %put2104 +grow2103: + %t9960 = mul i32 %t9958, 2 + %t9961 = icmp eq i32 %t9958, 0 + %t9962 = select i1 %t9961, i32 8, i32 %t9960 + %t9963 = getelementptr ptr, ptr null, i32 1 + %t9964 = ptrtoint ptr %t9963 to i64 + %t9965 = zext i32 %t9962 to i64 + %t9966 = mul i64 %t9965, %t9964 + %t9967 = load ptr, ptr %t9956 + %t9968 = call ptr @realloc(ptr %t9967, i64 %t9966) + store ptr %t9968, ptr %t9956 + store i32 %t9962, ptr %t9955 + br label %put2104 +put2104: + %t9969 = load ptr, ptr %t9956 + %t9970 = getelementptr inbounds ptr, ptr %t9969, i32 %t9957 + store ptr @.str7935, ptr %t9970 + %t9971 = add i32 %t9957, 1 + store i32 %t9971, ptr %t9954 + %t9972 = load ptr, ptr %t410 + %t9973 = getelementptr inbounds %LSlice, ptr %t9972, i32 0, i32 1 + %t9974 = getelementptr inbounds %LSlice, ptr %t9972, i32 0, i32 2 + %t9975 = getelementptr inbounds %LSlice, ptr %t9972, i32 0, i32 0 + %t9976 = load i32, ptr %t9973 + %t9977 = load i32, ptr %t9974 + %t9978 = icmp sge i32 %t9976, %t9977 + br i1 %t9978, label %grow2105, label %put2106 +grow2105: + %t9979 = mul i32 %t9977, 2 + %t9980 = icmp eq i32 %t9977, 0 + %t9981 = select i1 %t9980, i32 8, i32 %t9979 + %t9982 = getelementptr ptr, ptr null, i32 1 + %t9983 = ptrtoint ptr %t9982 to i64 + %t9984 = zext i32 %t9981 to i64 + %t9985 = mul i64 %t9984, %t9983 + %t9986 = load ptr, ptr %t9975 + %t9987 = call ptr @realloc(ptr %t9986, i64 %t9985) + store ptr %t9987, ptr %t9975 + store i32 %t9981, ptr %t9974 + br label %put2106 +put2106: + %t9988 = load ptr, ptr %t9975 + %t9989 = getelementptr inbounds ptr, ptr %t9988, i32 %t9976 + store ptr @.str7936, ptr %t9989 + %t9990 = add i32 %t9976, 1 + store i32 %t9990, ptr %t9973 + br label %ifend2100 +ifend2100: + br label %ifend2051 +ifend2051: + %t9991 = load ptr, ptr %t0 + %t9992 = call i32 @lp_str_eq(ptr %t9991, ptr @.str7937) + %t9993 = icmp ne i32 %t9992, 0 + br i1 %t9993, label %then2107, label %ifend2109 +then2107: + %t9994 = load ptr, ptr %t1 + %t9995 = call i32 @lp_str_eq(ptr %t9994, ptr @.str7938) + %t9996 = icmp ne i32 %t9995, 0 + br i1 %t9996, label %then2110, label %ifend2112 +then2110: + store ptr @.str7939, ptr %t403 + %t9997 = load ptr, ptr %t410 + %t9998 = getelementptr inbounds %LSlice, ptr %t9997, i32 0, i32 1 + %t9999 = getelementptr inbounds %LSlice, ptr %t9997, i32 0, i32 2 + %t10000 = getelementptr inbounds %LSlice, ptr %t9997, i32 0, i32 0 + %t10001 = load i32, ptr %t9998 + %t10002 = load i32, ptr %t9999 + %t10003 = icmp sge i32 %t10001, %t10002 + br i1 %t10003, label %grow2113, label %put2114 +grow2113: + %t10004 = mul i32 %t10002, 2 + %t10005 = icmp eq i32 %t10002, 0 + %t10006 = select i1 %t10005, i32 8, i32 %t10004 + %t10007 = getelementptr ptr, ptr null, i32 1 + %t10008 = ptrtoint ptr %t10007 to i64 + %t10009 = zext i32 %t10006 to i64 + %t10010 = mul i64 %t10009, %t10008 + %t10011 = load ptr, ptr %t10000 + %t10012 = call ptr @realloc(ptr %t10011, i64 %t10010) + store ptr %t10012, ptr %t10000 + store i32 %t10006, ptr %t9999 + br label %put2114 +put2114: + %t10013 = load ptr, ptr %t10000 + %t10014 = getelementptr inbounds ptr, ptr %t10013, i32 %t10001 + store ptr @.str7940, ptr %t10014 + %t10015 = add i32 %t10001, 1 + store i32 %t10015, ptr %t9998 + br label %ifend2112 +ifend2112: + %t10016 = load ptr, ptr %t1 + %t10017 = call i32 @lp_str_eq(ptr %t10016, ptr @.str7941) + %t10018 = icmp ne i32 %t10017, 0 + br i1 %t10018, label %then2115, label %ifend2117 +then2115: + store ptr @.str7942, ptr %t403 + %t10019 = load ptr, ptr %t410 + %t10020 = getelementptr inbounds %LSlice, ptr %t10019, i32 0, i32 1 + %t10021 = getelementptr inbounds %LSlice, ptr %t10019, i32 0, i32 2 + %t10022 = getelementptr inbounds %LSlice, ptr %t10019, i32 0, i32 0 + %t10023 = load i32, ptr %t10020 + %t10024 = load i32, ptr %t10021 + %t10025 = icmp sge i32 %t10023, %t10024 + br i1 %t10025, label %grow2118, label %put2119 +grow2118: + %t10026 = mul i32 %t10024, 2 + %t10027 = icmp eq i32 %t10024, 0 + %t10028 = select i1 %t10027, i32 8, i32 %t10026 + %t10029 = getelementptr ptr, ptr null, i32 1 + %t10030 = ptrtoint ptr %t10029 to i64 + %t10031 = zext i32 %t10028 to i64 + %t10032 = mul i64 %t10031, %t10030 + %t10033 = load ptr, ptr %t10022 + %t10034 = call ptr @realloc(ptr %t10033, i64 %t10032) + store ptr %t10034, ptr %t10022 + store i32 %t10028, ptr %t10021 + br label %put2119 +put2119: + %t10035 = load ptr, ptr %t10022 + %t10036 = getelementptr inbounds ptr, ptr %t10035, i32 %t10023 + store ptr @.str7943, ptr %t10036 + %t10037 = add i32 %t10023, 1 + store i32 %t10037, ptr %t10020 + %t10038 = load ptr, ptr %t410 + %t10039 = getelementptr inbounds %LSlice, ptr %t10038, i32 0, i32 1 + %t10040 = getelementptr inbounds %LSlice, ptr %t10038, i32 0, i32 2 + %t10041 = getelementptr inbounds %LSlice, ptr %t10038, i32 0, i32 0 + %t10042 = load i32, ptr %t10039 + %t10043 = load i32, ptr %t10040 + %t10044 = icmp sge i32 %t10042, %t10043 + br i1 %t10044, label %grow2120, label %put2121 +grow2120: + %t10045 = mul i32 %t10043, 2 + %t10046 = icmp eq i32 %t10043, 0 + %t10047 = select i1 %t10046, i32 8, i32 %t10045 + %t10048 = getelementptr ptr, ptr null, i32 1 + %t10049 = ptrtoint ptr %t10048 to i64 + %t10050 = zext i32 %t10047 to i64 + %t10051 = mul i64 %t10050, %t10049 + %t10052 = load ptr, ptr %t10041 + %t10053 = call ptr @realloc(ptr %t10052, i64 %t10051) + store ptr %t10053, ptr %t10041 + store i32 %t10047, ptr %t10040 + br label %put2121 +put2121: + %t10054 = load ptr, ptr %t10041 + %t10055 = getelementptr inbounds ptr, ptr %t10054, i32 %t10042 + store ptr @.str7944, ptr %t10055 + %t10056 = add i32 %t10042, 1 + store i32 %t10056, ptr %t10039 + br label %ifend2117 +ifend2117: + %t10057 = load ptr, ptr %t1 + %t10058 = call i32 @lp_str_eq(ptr %t10057, ptr @.str7945) + %t10059 = icmp ne i32 %t10058, 0 + br i1 %t10059, label %then2122, label %ifend2124 +then2122: + store ptr @.str7946, ptr %t403 + %t10060 = load ptr, ptr %t410 + %t10061 = getelementptr inbounds %LSlice, ptr %t10060, i32 0, i32 1 + %t10062 = getelementptr inbounds %LSlice, ptr %t10060, i32 0, i32 2 + %t10063 = getelementptr inbounds %LSlice, ptr %t10060, i32 0, i32 0 + %t10064 = load i32, ptr %t10061 + %t10065 = load i32, ptr %t10062 + %t10066 = icmp sge i32 %t10064, %t10065 + br i1 %t10066, label %grow2125, label %put2126 +grow2125: + %t10067 = mul i32 %t10065, 2 + %t10068 = icmp eq i32 %t10065, 0 + %t10069 = select i1 %t10068, i32 8, i32 %t10067 + %t10070 = getelementptr ptr, ptr null, i32 1 + %t10071 = ptrtoint ptr %t10070 to i64 + %t10072 = zext i32 %t10069 to i64 + %t10073 = mul i64 %t10072, %t10071 + %t10074 = load ptr, ptr %t10063 + %t10075 = call ptr @realloc(ptr %t10074, i64 %t10073) + store ptr %t10075, ptr %t10063 + store i32 %t10069, ptr %t10062 + br label %put2126 +put2126: + %t10076 = load ptr, ptr %t10063 + %t10077 = getelementptr inbounds ptr, ptr %t10076, i32 %t10064 + store ptr @.str7947, ptr %t10077 + %t10078 = add i32 %t10064, 1 + store i32 %t10078, ptr %t10061 + %t10079 = load ptr, ptr %t410 + %t10080 = getelementptr inbounds %LSlice, ptr %t10079, i32 0, i32 1 + %t10081 = getelementptr inbounds %LSlice, ptr %t10079, i32 0, i32 2 + %t10082 = getelementptr inbounds %LSlice, ptr %t10079, i32 0, i32 0 + %t10083 = load i32, ptr %t10080 + %t10084 = load i32, ptr %t10081 + %t10085 = icmp sge i32 %t10083, %t10084 + br i1 %t10085, label %grow2127, label %put2128 +grow2127: + %t10086 = mul i32 %t10084, 2 + %t10087 = icmp eq i32 %t10084, 0 + %t10088 = select i1 %t10087, i32 8, i32 %t10086 + %t10089 = getelementptr ptr, ptr null, i32 1 + %t10090 = ptrtoint ptr %t10089 to i64 + %t10091 = zext i32 %t10088 to i64 + %t10092 = mul i64 %t10091, %t10090 + %t10093 = load ptr, ptr %t10082 + %t10094 = call ptr @realloc(ptr %t10093, i64 %t10092) + store ptr %t10094, ptr %t10082 + store i32 %t10088, ptr %t10081 + br label %put2128 +put2128: + %t10095 = load ptr, ptr %t10082 + %t10096 = getelementptr inbounds ptr, ptr %t10095, i32 %t10083 + store ptr @.str7948, ptr %t10096 + %t10097 = add i32 %t10083, 1 + store i32 %t10097, ptr %t10080 + %t10098 = load ptr, ptr %t410 + %t10099 = getelementptr inbounds %LSlice, ptr %t10098, i32 0, i32 1 + %t10100 = getelementptr inbounds %LSlice, ptr %t10098, i32 0, i32 2 + %t10101 = getelementptr inbounds %LSlice, ptr %t10098, i32 0, i32 0 + %t10102 = load i32, ptr %t10099 + %t10103 = load i32, ptr %t10100 + %t10104 = icmp sge i32 %t10102, %t10103 + br i1 %t10104, label %grow2129, label %put2130 +grow2129: + %t10105 = mul i32 %t10103, 2 + %t10106 = icmp eq i32 %t10103, 0 + %t10107 = select i1 %t10106, i32 8, i32 %t10105 + %t10108 = getelementptr ptr, ptr null, i32 1 + %t10109 = ptrtoint ptr %t10108 to i64 + %t10110 = zext i32 %t10107 to i64 + %t10111 = mul i64 %t10110, %t10109 + %t10112 = load ptr, ptr %t10101 + %t10113 = call ptr @realloc(ptr %t10112, i64 %t10111) + store ptr %t10113, ptr %t10101 + store i32 %t10107, ptr %t10100 + br label %put2130 +put2130: + %t10114 = load ptr, ptr %t10101 + %t10115 = getelementptr inbounds ptr, ptr %t10114, i32 %t10102 + store ptr @.str7949, ptr %t10115 + %t10116 = add i32 %t10102, 1 + store i32 %t10116, ptr %t10099 + br label %ifend2124 +ifend2124: + %t10117 = load ptr, ptr %t1 + %t10118 = call i32 @lp_str_eq(ptr %t10117, ptr @.str7950) + %t10119 = icmp ne i32 %t10118, 0 + br i1 %t10119, label %then2131, label %ifend2133 +then2131: + store ptr @.str7951, ptr %t403 + %t10120 = load ptr, ptr %t410 + %t10121 = getelementptr inbounds %LSlice, ptr %t10120, i32 0, i32 1 + %t10122 = getelementptr inbounds %LSlice, ptr %t10120, i32 0, i32 2 + %t10123 = getelementptr inbounds %LSlice, ptr %t10120, i32 0, i32 0 + %t10124 = load i32, ptr %t10121 + %t10125 = load i32, ptr %t10122 + %t10126 = icmp sge i32 %t10124, %t10125 + br i1 %t10126, label %grow2134, label %put2135 +grow2134: + %t10127 = mul i32 %t10125, 2 + %t10128 = icmp eq i32 %t10125, 0 + %t10129 = select i1 %t10128, i32 8, i32 %t10127 + %t10130 = getelementptr ptr, ptr null, i32 1 + %t10131 = ptrtoint ptr %t10130 to i64 + %t10132 = zext i32 %t10129 to i64 + %t10133 = mul i64 %t10132, %t10131 + %t10134 = load ptr, ptr %t10123 + %t10135 = call ptr @realloc(ptr %t10134, i64 %t10133) + store ptr %t10135, ptr %t10123 + store i32 %t10129, ptr %t10122 + br label %put2135 +put2135: + %t10136 = load ptr, ptr %t10123 + %t10137 = getelementptr inbounds ptr, ptr %t10136, i32 %t10124 + store ptr @.str7952, ptr %t10137 + %t10138 = add i32 %t10124, 1 + store i32 %t10138, ptr %t10121 + %t10139 = load ptr, ptr %t410 + %t10140 = getelementptr inbounds %LSlice, ptr %t10139, i32 0, i32 1 + %t10141 = getelementptr inbounds %LSlice, ptr %t10139, i32 0, i32 2 + %t10142 = getelementptr inbounds %LSlice, ptr %t10139, i32 0, i32 0 + %t10143 = load i32, ptr %t10140 + %t10144 = load i32, ptr %t10141 + %t10145 = icmp sge i32 %t10143, %t10144 + br i1 %t10145, label %grow2136, label %put2137 +grow2136: + %t10146 = mul i32 %t10144, 2 + %t10147 = icmp eq i32 %t10144, 0 + %t10148 = select i1 %t10147, i32 8, i32 %t10146 + %t10149 = getelementptr ptr, ptr null, i32 1 + %t10150 = ptrtoint ptr %t10149 to i64 + %t10151 = zext i32 %t10148 to i64 + %t10152 = mul i64 %t10151, %t10150 + %t10153 = load ptr, ptr %t10142 + %t10154 = call ptr @realloc(ptr %t10153, i64 %t10152) + store ptr %t10154, ptr %t10142 + store i32 %t10148, ptr %t10141 + br label %put2137 +put2137: + %t10155 = load ptr, ptr %t10142 + %t10156 = getelementptr inbounds ptr, ptr %t10155, i32 %t10143 + store ptr @.str7953, ptr %t10156 + %t10157 = add i32 %t10143, 1 + store i32 %t10157, ptr %t10140 + br label %ifend2133 +ifend2133: + br label %ifend2109 +ifend2109: + %t10158 = load ptr, ptr %t0 + %t10159 = call i32 @lp_str_eq(ptr %t10158, ptr @.str7954) + %t10160 = icmp ne i32 %t10159, 0 + br i1 %t10160, label %then2138, label %ifend2140 +then2138: + %t10161 = load ptr, ptr %t1 + %t10162 = call i32 @lp_str_eq(ptr %t10161, ptr @.str7955) + %t10163 = icmp ne i32 %t10162, 0 + br i1 %t10163, label %then2141, label %ifend2143 +then2141: + store ptr @.str7956, ptr %t403 + %t10164 = load ptr, ptr %t410 + %t10165 = getelementptr inbounds %LSlice, ptr %t10164, i32 0, i32 1 + %t10166 = getelementptr inbounds %LSlice, ptr %t10164, i32 0, i32 2 + %t10167 = getelementptr inbounds %LSlice, ptr %t10164, i32 0, i32 0 + %t10168 = load i32, ptr %t10165 + %t10169 = load i32, ptr %t10166 + %t10170 = icmp sge i32 %t10168, %t10169 + br i1 %t10170, label %grow2144, label %put2145 +grow2144: + %t10171 = mul i32 %t10169, 2 + %t10172 = icmp eq i32 %t10169, 0 + %t10173 = select i1 %t10172, i32 8, i32 %t10171 + %t10174 = getelementptr ptr, ptr null, i32 1 + %t10175 = ptrtoint ptr %t10174 to i64 + %t10176 = zext i32 %t10173 to i64 + %t10177 = mul i64 %t10176, %t10175 + %t10178 = load ptr, ptr %t10167 + %t10179 = call ptr @realloc(ptr %t10178, i64 %t10177) + store ptr %t10179, ptr %t10167 + store i32 %t10173, ptr %t10166 + br label %put2145 +put2145: + %t10180 = load ptr, ptr %t10167 + %t10181 = getelementptr inbounds ptr, ptr %t10180, i32 %t10168 + store ptr @.str7957, ptr %t10181 + %t10182 = add i32 %t10168, 1 + store i32 %t10182, ptr %t10165 + %t10183 = load ptr, ptr %t410 + %t10184 = getelementptr inbounds %LSlice, ptr %t10183, i32 0, i32 1 + %t10185 = getelementptr inbounds %LSlice, ptr %t10183, i32 0, i32 2 + %t10186 = getelementptr inbounds %LSlice, ptr %t10183, i32 0, i32 0 + %t10187 = load i32, ptr %t10184 + %t10188 = load i32, ptr %t10185 + %t10189 = icmp sge i32 %t10187, %t10188 + br i1 %t10189, label %grow2146, label %put2147 +grow2146: + %t10190 = mul i32 %t10188, 2 + %t10191 = icmp eq i32 %t10188, 0 + %t10192 = select i1 %t10191, i32 8, i32 %t10190 + %t10193 = getelementptr ptr, ptr null, i32 1 + %t10194 = ptrtoint ptr %t10193 to i64 + %t10195 = zext i32 %t10192 to i64 + %t10196 = mul i64 %t10195, %t10194 + %t10197 = load ptr, ptr %t10186 + %t10198 = call ptr @realloc(ptr %t10197, i64 %t10196) + store ptr %t10198, ptr %t10186 + store i32 %t10192, ptr %t10185 + br label %put2147 +put2147: + %t10199 = load ptr, ptr %t10186 + %t10200 = getelementptr inbounds ptr, ptr %t10199, i32 %t10187 + store ptr @.str7958, ptr %t10200 + %t10201 = add i32 %t10187, 1 + store i32 %t10201, ptr %t10184 + %t10202 = load ptr, ptr %t410 + %t10203 = getelementptr inbounds %LSlice, ptr %t10202, i32 0, i32 1 + %t10204 = getelementptr inbounds %LSlice, ptr %t10202, i32 0, i32 2 + %t10205 = getelementptr inbounds %LSlice, ptr %t10202, i32 0, i32 0 + %t10206 = load i32, ptr %t10203 + %t10207 = load i32, ptr %t10204 + %t10208 = icmp sge i32 %t10206, %t10207 + br i1 %t10208, label %grow2148, label %put2149 +grow2148: + %t10209 = mul i32 %t10207, 2 + %t10210 = icmp eq i32 %t10207, 0 + %t10211 = select i1 %t10210, i32 8, i32 %t10209 + %t10212 = getelementptr ptr, ptr null, i32 1 + %t10213 = ptrtoint ptr %t10212 to i64 + %t10214 = zext i32 %t10211 to i64 + %t10215 = mul i64 %t10214, %t10213 + %t10216 = load ptr, ptr %t10205 + %t10217 = call ptr @realloc(ptr %t10216, i64 %t10215) + store ptr %t10217, ptr %t10205 + store i32 %t10211, ptr %t10204 + br label %put2149 +put2149: + %t10218 = load ptr, ptr %t10205 + %t10219 = getelementptr inbounds ptr, ptr %t10218, i32 %t10206 + store ptr @.str7959, ptr %t10219 + %t10220 = add i32 %t10206, 1 + store i32 %t10220, ptr %t10203 + %t10221 = load ptr, ptr %t410 + %t10222 = getelementptr inbounds %LSlice, ptr %t10221, i32 0, i32 1 + %t10223 = getelementptr inbounds %LSlice, ptr %t10221, i32 0, i32 2 + %t10224 = getelementptr inbounds %LSlice, ptr %t10221, i32 0, i32 0 + %t10225 = load i32, ptr %t10222 + %t10226 = load i32, ptr %t10223 + %t10227 = icmp sge i32 %t10225, %t10226 + br i1 %t10227, label %grow2150, label %put2151 +grow2150: + %t10228 = mul i32 %t10226, 2 + %t10229 = icmp eq i32 %t10226, 0 + %t10230 = select i1 %t10229, i32 8, i32 %t10228 + %t10231 = getelementptr ptr, ptr null, i32 1 + %t10232 = ptrtoint ptr %t10231 to i64 + %t10233 = zext i32 %t10230 to i64 + %t10234 = mul i64 %t10233, %t10232 + %t10235 = load ptr, ptr %t10224 + %t10236 = call ptr @realloc(ptr %t10235, i64 %t10234) + store ptr %t10236, ptr %t10224 + store i32 %t10230, ptr %t10223 + br label %put2151 +put2151: + %t10237 = load ptr, ptr %t10224 + %t10238 = getelementptr inbounds ptr, ptr %t10237, i32 %t10225 + store ptr @.str7960, ptr %t10238 + %t10239 = add i32 %t10225, 1 + store i32 %t10239, ptr %t10222 + br label %ifend2143 +ifend2143: + %t10240 = load ptr, ptr %t1 + %t10241 = call i32 @lp_str_eq(ptr %t10240, ptr @.str7961) + %t10242 = icmp ne i32 %t10241, 0 + br i1 %t10242, label %then2152, label %ifend2154 +then2152: + store ptr @.str7962, ptr %t403 + %t10243 = load ptr, ptr %t410 + %t10244 = getelementptr inbounds %LSlice, ptr %t10243, i32 0, i32 1 + %t10245 = getelementptr inbounds %LSlice, ptr %t10243, i32 0, i32 2 + %t10246 = getelementptr inbounds %LSlice, ptr %t10243, i32 0, i32 0 + %t10247 = load i32, ptr %t10244 + %t10248 = load i32, ptr %t10245 + %t10249 = icmp sge i32 %t10247, %t10248 + br i1 %t10249, label %grow2155, label %put2156 +grow2155: + %t10250 = mul i32 %t10248, 2 + %t10251 = icmp eq i32 %t10248, 0 + %t10252 = select i1 %t10251, i32 8, i32 %t10250 + %t10253 = getelementptr ptr, ptr null, i32 1 + %t10254 = ptrtoint ptr %t10253 to i64 + %t10255 = zext i32 %t10252 to i64 + %t10256 = mul i64 %t10255, %t10254 + %t10257 = load ptr, ptr %t10246 + %t10258 = call ptr @realloc(ptr %t10257, i64 %t10256) + store ptr %t10258, ptr %t10246 + store i32 %t10252, ptr %t10245 + br label %put2156 +put2156: + %t10259 = load ptr, ptr %t10246 + %t10260 = getelementptr inbounds ptr, ptr %t10259, i32 %t10247 + store ptr @.str7963, ptr %t10260 + %t10261 = add i32 %t10247, 1 + store i32 %t10261, ptr %t10244 + %t10262 = load ptr, ptr %t410 + %t10263 = getelementptr inbounds %LSlice, ptr %t10262, i32 0, i32 1 + %t10264 = getelementptr inbounds %LSlice, ptr %t10262, i32 0, i32 2 + %t10265 = getelementptr inbounds %LSlice, ptr %t10262, i32 0, i32 0 + %t10266 = load i32, ptr %t10263 + %t10267 = load i32, ptr %t10264 + %t10268 = icmp sge i32 %t10266, %t10267 + br i1 %t10268, label %grow2157, label %put2158 +grow2157: + %t10269 = mul i32 %t10267, 2 + %t10270 = icmp eq i32 %t10267, 0 + %t10271 = select i1 %t10270, i32 8, i32 %t10269 + %t10272 = getelementptr ptr, ptr null, i32 1 + %t10273 = ptrtoint ptr %t10272 to i64 + %t10274 = zext i32 %t10271 to i64 + %t10275 = mul i64 %t10274, %t10273 + %t10276 = load ptr, ptr %t10265 + %t10277 = call ptr @realloc(ptr %t10276, i64 %t10275) + store ptr %t10277, ptr %t10265 + store i32 %t10271, ptr %t10264 + br label %put2158 +put2158: + %t10278 = load ptr, ptr %t10265 + %t10279 = getelementptr inbounds ptr, ptr %t10278, i32 %t10266 + store ptr @.str7964, ptr %t10279 + %t10280 = add i32 %t10266, 1 + store i32 %t10280, ptr %t10263 + %t10281 = load ptr, ptr %t410 + %t10282 = getelementptr inbounds %LSlice, ptr %t10281, i32 0, i32 1 + %t10283 = getelementptr inbounds %LSlice, ptr %t10281, i32 0, i32 2 + %t10284 = getelementptr inbounds %LSlice, ptr %t10281, i32 0, i32 0 + %t10285 = load i32, ptr %t10282 + %t10286 = load i32, ptr %t10283 + %t10287 = icmp sge i32 %t10285, %t10286 + br i1 %t10287, label %grow2159, label %put2160 +grow2159: + %t10288 = mul i32 %t10286, 2 + %t10289 = icmp eq i32 %t10286, 0 + %t10290 = select i1 %t10289, i32 8, i32 %t10288 + %t10291 = getelementptr ptr, ptr null, i32 1 + %t10292 = ptrtoint ptr %t10291 to i64 + %t10293 = zext i32 %t10290 to i64 + %t10294 = mul i64 %t10293, %t10292 + %t10295 = load ptr, ptr %t10284 + %t10296 = call ptr @realloc(ptr %t10295, i64 %t10294) + store ptr %t10296, ptr %t10284 + store i32 %t10290, ptr %t10283 + br label %put2160 +put2160: + %t10297 = load ptr, ptr %t10284 + %t10298 = getelementptr inbounds ptr, ptr %t10297, i32 %t10285 + store ptr @.str7965, ptr %t10298 + %t10299 = add i32 %t10285, 1 + store i32 %t10299, ptr %t10282 + br label %ifend2154 +ifend2154: + %t10300 = load ptr, ptr %t1 + %t10301 = call i32 @lp_str_eq(ptr %t10300, ptr @.str7966) + %t10302 = icmp ne i32 %t10301, 0 + br i1 %t10302, label %then2161, label %ifend2163 +then2161: + store ptr @.str7967, ptr %t403 + %t10303 = load ptr, ptr %t410 + %t10304 = getelementptr inbounds %LSlice, ptr %t10303, i32 0, i32 1 + %t10305 = getelementptr inbounds %LSlice, ptr %t10303, i32 0, i32 2 + %t10306 = getelementptr inbounds %LSlice, ptr %t10303, i32 0, i32 0 + %t10307 = load i32, ptr %t10304 + %t10308 = load i32, ptr %t10305 + %t10309 = icmp sge i32 %t10307, %t10308 + br i1 %t10309, label %grow2164, label %put2165 +grow2164: + %t10310 = mul i32 %t10308, 2 + %t10311 = icmp eq i32 %t10308, 0 + %t10312 = select i1 %t10311, i32 8, i32 %t10310 + %t10313 = getelementptr ptr, ptr null, i32 1 + %t10314 = ptrtoint ptr %t10313 to i64 + %t10315 = zext i32 %t10312 to i64 + %t10316 = mul i64 %t10315, %t10314 + %t10317 = load ptr, ptr %t10306 + %t10318 = call ptr @realloc(ptr %t10317, i64 %t10316) + store ptr %t10318, ptr %t10306 + store i32 %t10312, ptr %t10305 + br label %put2165 +put2165: + %t10319 = load ptr, ptr %t10306 + %t10320 = getelementptr inbounds ptr, ptr %t10319, i32 %t10307 + store ptr @.str7968, ptr %t10320 + %t10321 = add i32 %t10307, 1 + store i32 %t10321, ptr %t10304 + %t10322 = load ptr, ptr %t410 + %t10323 = getelementptr inbounds %LSlice, ptr %t10322, i32 0, i32 1 + %t10324 = getelementptr inbounds %LSlice, ptr %t10322, i32 0, i32 2 + %t10325 = getelementptr inbounds %LSlice, ptr %t10322, i32 0, i32 0 + %t10326 = load i32, ptr %t10323 + %t10327 = load i32, ptr %t10324 + %t10328 = icmp sge i32 %t10326, %t10327 + br i1 %t10328, label %grow2166, label %put2167 +grow2166: + %t10329 = mul i32 %t10327, 2 + %t10330 = icmp eq i32 %t10327, 0 + %t10331 = select i1 %t10330, i32 8, i32 %t10329 + %t10332 = getelementptr ptr, ptr null, i32 1 + %t10333 = ptrtoint ptr %t10332 to i64 + %t10334 = zext i32 %t10331 to i64 + %t10335 = mul i64 %t10334, %t10333 + %t10336 = load ptr, ptr %t10325 + %t10337 = call ptr @realloc(ptr %t10336, i64 %t10335) + store ptr %t10337, ptr %t10325 + store i32 %t10331, ptr %t10324 + br label %put2167 +put2167: + %t10338 = load ptr, ptr %t10325 + %t10339 = getelementptr inbounds ptr, ptr %t10338, i32 %t10326 + store ptr @.str7969, ptr %t10339 + %t10340 = add i32 %t10326, 1 + store i32 %t10340, ptr %t10323 + %t10341 = load ptr, ptr %t410 + %t10342 = getelementptr inbounds %LSlice, ptr %t10341, i32 0, i32 1 + %t10343 = getelementptr inbounds %LSlice, ptr %t10341, i32 0, i32 2 + %t10344 = getelementptr inbounds %LSlice, ptr %t10341, i32 0, i32 0 + %t10345 = load i32, ptr %t10342 + %t10346 = load i32, ptr %t10343 + %t10347 = icmp sge i32 %t10345, %t10346 + br i1 %t10347, label %grow2168, label %put2169 +grow2168: + %t10348 = mul i32 %t10346, 2 + %t10349 = icmp eq i32 %t10346, 0 + %t10350 = select i1 %t10349, i32 8, i32 %t10348 + %t10351 = getelementptr ptr, ptr null, i32 1 + %t10352 = ptrtoint ptr %t10351 to i64 + %t10353 = zext i32 %t10350 to i64 + %t10354 = mul i64 %t10353, %t10352 + %t10355 = load ptr, ptr %t10344 + %t10356 = call ptr @realloc(ptr %t10355, i64 %t10354) + store ptr %t10356, ptr %t10344 + store i32 %t10350, ptr %t10343 + br label %put2169 +put2169: + %t10357 = load ptr, ptr %t10344 + %t10358 = getelementptr inbounds ptr, ptr %t10357, i32 %t10345 + store ptr @.str7970, ptr %t10358 + %t10359 = add i32 %t10345, 1 + store i32 %t10359, ptr %t10342 + %t10360 = load ptr, ptr %t410 + %t10361 = getelementptr inbounds %LSlice, ptr %t10360, i32 0, i32 1 + %t10362 = getelementptr inbounds %LSlice, ptr %t10360, i32 0, i32 2 + %t10363 = getelementptr inbounds %LSlice, ptr %t10360, i32 0, i32 0 + %t10364 = load i32, ptr %t10361 + %t10365 = load i32, ptr %t10362 + %t10366 = icmp sge i32 %t10364, %t10365 + br i1 %t10366, label %grow2170, label %put2171 +grow2170: + %t10367 = mul i32 %t10365, 2 + %t10368 = icmp eq i32 %t10365, 0 + %t10369 = select i1 %t10368, i32 8, i32 %t10367 + %t10370 = getelementptr ptr, ptr null, i32 1 + %t10371 = ptrtoint ptr %t10370 to i64 + %t10372 = zext i32 %t10369 to i64 + %t10373 = mul i64 %t10372, %t10371 + %t10374 = load ptr, ptr %t10363 + %t10375 = call ptr @realloc(ptr %t10374, i64 %t10373) + store ptr %t10375, ptr %t10363 + store i32 %t10369, ptr %t10362 + br label %put2171 +put2171: + %t10376 = load ptr, ptr %t10363 + %t10377 = getelementptr inbounds ptr, ptr %t10376, i32 %t10364 + store ptr @.str7971, ptr %t10377 + %t10378 = add i32 %t10364, 1 + store i32 %t10378, ptr %t10361 + %t10379 = load ptr, ptr %t410 + %t10380 = getelementptr inbounds %LSlice, ptr %t10379, i32 0, i32 1 + %t10381 = getelementptr inbounds %LSlice, ptr %t10379, i32 0, i32 2 + %t10382 = getelementptr inbounds %LSlice, ptr %t10379, i32 0, i32 0 + %t10383 = load i32, ptr %t10380 + %t10384 = load i32, ptr %t10381 + %t10385 = icmp sge i32 %t10383, %t10384 + br i1 %t10385, label %grow2172, label %put2173 +grow2172: + %t10386 = mul i32 %t10384, 2 + %t10387 = icmp eq i32 %t10384, 0 + %t10388 = select i1 %t10387, i32 8, i32 %t10386 + %t10389 = getelementptr ptr, ptr null, i32 1 + %t10390 = ptrtoint ptr %t10389 to i64 + %t10391 = zext i32 %t10388 to i64 + %t10392 = mul i64 %t10391, %t10390 + %t10393 = load ptr, ptr %t10382 + %t10394 = call ptr @realloc(ptr %t10393, i64 %t10392) + store ptr %t10394, ptr %t10382 + store i32 %t10388, ptr %t10381 + br label %put2173 +put2173: + %t10395 = load ptr, ptr %t10382 + %t10396 = getelementptr inbounds ptr, ptr %t10395, i32 %t10383 + store ptr @.str7972, ptr %t10396 + %t10397 = add i32 %t10383, 1 + store i32 %t10397, ptr %t10380 + br label %ifend2163 +ifend2163: + %t10398 = load ptr, ptr %t1 + %t10399 = call i32 @lp_str_eq(ptr %t10398, ptr @.str7973) + %t10400 = icmp ne i32 %t10399, 0 + br i1 %t10400, label %then2174, label %ifend2176 +then2174: + store ptr @.str7974, ptr %t403 + %t10401 = load ptr, ptr %t410 + %t10402 = getelementptr inbounds %LSlice, ptr %t10401, i32 0, i32 1 + %t10403 = getelementptr inbounds %LSlice, ptr %t10401, i32 0, i32 2 + %t10404 = getelementptr inbounds %LSlice, ptr %t10401, i32 0, i32 0 + %t10405 = load i32, ptr %t10402 + %t10406 = load i32, ptr %t10403 + %t10407 = icmp sge i32 %t10405, %t10406 + br i1 %t10407, label %grow2177, label %put2178 +grow2177: + %t10408 = mul i32 %t10406, 2 + %t10409 = icmp eq i32 %t10406, 0 + %t10410 = select i1 %t10409, i32 8, i32 %t10408 + %t10411 = getelementptr ptr, ptr null, i32 1 + %t10412 = ptrtoint ptr %t10411 to i64 + %t10413 = zext i32 %t10410 to i64 + %t10414 = mul i64 %t10413, %t10412 + %t10415 = load ptr, ptr %t10404 + %t10416 = call ptr @realloc(ptr %t10415, i64 %t10414) + store ptr %t10416, ptr %t10404 + store i32 %t10410, ptr %t10403 + br label %put2178 +put2178: + %t10417 = load ptr, ptr %t10404 + %t10418 = getelementptr inbounds ptr, ptr %t10417, i32 %t10405 + store ptr @.str7975, ptr %t10418 + %t10419 = add i32 %t10405, 1 + store i32 %t10419, ptr %t10402 + %t10420 = load ptr, ptr %t410 + %t10421 = getelementptr inbounds %LSlice, ptr %t10420, i32 0, i32 1 + %t10422 = getelementptr inbounds %LSlice, ptr %t10420, i32 0, i32 2 + %t10423 = getelementptr inbounds %LSlice, ptr %t10420, i32 0, i32 0 + %t10424 = load i32, ptr %t10421 + %t10425 = load i32, ptr %t10422 + %t10426 = icmp sge i32 %t10424, %t10425 + br i1 %t10426, label %grow2179, label %put2180 +grow2179: + %t10427 = mul i32 %t10425, 2 + %t10428 = icmp eq i32 %t10425, 0 + %t10429 = select i1 %t10428, i32 8, i32 %t10427 + %t10430 = getelementptr ptr, ptr null, i32 1 + %t10431 = ptrtoint ptr %t10430 to i64 + %t10432 = zext i32 %t10429 to i64 + %t10433 = mul i64 %t10432, %t10431 + %t10434 = load ptr, ptr %t10423 + %t10435 = call ptr @realloc(ptr %t10434, i64 %t10433) + store ptr %t10435, ptr %t10423 + store i32 %t10429, ptr %t10422 + br label %put2180 +put2180: + %t10436 = load ptr, ptr %t10423 + %t10437 = getelementptr inbounds ptr, ptr %t10436, i32 %t10424 + store ptr @.str7976, ptr %t10437 + %t10438 = add i32 %t10424, 1 + store i32 %t10438, ptr %t10421 + %t10439 = load ptr, ptr %t410 + %t10440 = getelementptr inbounds %LSlice, ptr %t10439, i32 0, i32 1 + %t10441 = getelementptr inbounds %LSlice, ptr %t10439, i32 0, i32 2 + %t10442 = getelementptr inbounds %LSlice, ptr %t10439, i32 0, i32 0 + %t10443 = load i32, ptr %t10440 + %t10444 = load i32, ptr %t10441 + %t10445 = icmp sge i32 %t10443, %t10444 + br i1 %t10445, label %grow2181, label %put2182 +grow2181: + %t10446 = mul i32 %t10444, 2 + %t10447 = icmp eq i32 %t10444, 0 + %t10448 = select i1 %t10447, i32 8, i32 %t10446 + %t10449 = getelementptr ptr, ptr null, i32 1 + %t10450 = ptrtoint ptr %t10449 to i64 + %t10451 = zext i32 %t10448 to i64 + %t10452 = mul i64 %t10451, %t10450 + %t10453 = load ptr, ptr %t10442 + %t10454 = call ptr @realloc(ptr %t10453, i64 %t10452) + store ptr %t10454, ptr %t10442 + store i32 %t10448, ptr %t10441 + br label %put2182 +put2182: + %t10455 = load ptr, ptr %t10442 + %t10456 = getelementptr inbounds ptr, ptr %t10455, i32 %t10443 + store ptr @.str7977, ptr %t10456 + %t10457 = add i32 %t10443, 1 + store i32 %t10457, ptr %t10440 + br label %ifend2176 +ifend2176: + %t10458 = load ptr, ptr %t1 + %t10459 = call i32 @lp_str_eq(ptr %t10458, ptr @.str7978) + %t10460 = icmp ne i32 %t10459, 0 + br i1 %t10460, label %then2183, label %ifend2185 +then2183: + store ptr @.str7979, ptr %t403 + %t10461 = load ptr, ptr %t410 + %t10462 = getelementptr inbounds %LSlice, ptr %t10461, i32 0, i32 1 + %t10463 = getelementptr inbounds %LSlice, ptr %t10461, i32 0, i32 2 + %t10464 = getelementptr inbounds %LSlice, ptr %t10461, i32 0, i32 0 + %t10465 = load i32, ptr %t10462 + %t10466 = load i32, ptr %t10463 + %t10467 = icmp sge i32 %t10465, %t10466 + br i1 %t10467, label %grow2186, label %put2187 +grow2186: + %t10468 = mul i32 %t10466, 2 + %t10469 = icmp eq i32 %t10466, 0 + %t10470 = select i1 %t10469, i32 8, i32 %t10468 + %t10471 = getelementptr ptr, ptr null, i32 1 + %t10472 = ptrtoint ptr %t10471 to i64 + %t10473 = zext i32 %t10470 to i64 + %t10474 = mul i64 %t10473, %t10472 + %t10475 = load ptr, ptr %t10464 + %t10476 = call ptr @realloc(ptr %t10475, i64 %t10474) + store ptr %t10476, ptr %t10464 + store i32 %t10470, ptr %t10463 + br label %put2187 +put2187: + %t10477 = load ptr, ptr %t10464 + %t10478 = getelementptr inbounds ptr, ptr %t10477, i32 %t10465 + store ptr @.str7980, ptr %t10478 + %t10479 = add i32 %t10465, 1 + store i32 %t10479, ptr %t10462 + %t10480 = load ptr, ptr %t410 + %t10481 = getelementptr inbounds %LSlice, ptr %t10480, i32 0, i32 1 + %t10482 = getelementptr inbounds %LSlice, ptr %t10480, i32 0, i32 2 + %t10483 = getelementptr inbounds %LSlice, ptr %t10480, i32 0, i32 0 + %t10484 = load i32, ptr %t10481 + %t10485 = load i32, ptr %t10482 + %t10486 = icmp sge i32 %t10484, %t10485 + br i1 %t10486, label %grow2188, label %put2189 +grow2188: + %t10487 = mul i32 %t10485, 2 + %t10488 = icmp eq i32 %t10485, 0 + %t10489 = select i1 %t10488, i32 8, i32 %t10487 + %t10490 = getelementptr ptr, ptr null, i32 1 + %t10491 = ptrtoint ptr %t10490 to i64 + %t10492 = zext i32 %t10489 to i64 + %t10493 = mul i64 %t10492, %t10491 + %t10494 = load ptr, ptr %t10483 + %t10495 = call ptr @realloc(ptr %t10494, i64 %t10493) + store ptr %t10495, ptr %t10483 + store i32 %t10489, ptr %t10482 + br label %put2189 +put2189: + %t10496 = load ptr, ptr %t10483 + %t10497 = getelementptr inbounds ptr, ptr %t10496, i32 %t10484 + store ptr @.str7981, ptr %t10497 + %t10498 = add i32 %t10484, 1 + store i32 %t10498, ptr %t10481 + %t10499 = load ptr, ptr %t410 + %t10500 = getelementptr inbounds %LSlice, ptr %t10499, i32 0, i32 1 + %t10501 = getelementptr inbounds %LSlice, ptr %t10499, i32 0, i32 2 + %t10502 = getelementptr inbounds %LSlice, ptr %t10499, i32 0, i32 0 + %t10503 = load i32, ptr %t10500 + %t10504 = load i32, ptr %t10501 + %t10505 = icmp sge i32 %t10503, %t10504 + br i1 %t10505, label %grow2190, label %put2191 +grow2190: + %t10506 = mul i32 %t10504, 2 + %t10507 = icmp eq i32 %t10504, 0 + %t10508 = select i1 %t10507, i32 8, i32 %t10506 + %t10509 = getelementptr ptr, ptr null, i32 1 + %t10510 = ptrtoint ptr %t10509 to i64 + %t10511 = zext i32 %t10508 to i64 + %t10512 = mul i64 %t10511, %t10510 + %t10513 = load ptr, ptr %t10502 + %t10514 = call ptr @realloc(ptr %t10513, i64 %t10512) + store ptr %t10514, ptr %t10502 + store i32 %t10508, ptr %t10501 + br label %put2191 +put2191: + %t10515 = load ptr, ptr %t10502 + %t10516 = getelementptr inbounds ptr, ptr %t10515, i32 %t10503 + store ptr @.str7982, ptr %t10516 + %t10517 = add i32 %t10503, 1 + store i32 %t10517, ptr %t10500 + %t10518 = load ptr, ptr %t410 + %t10519 = getelementptr inbounds %LSlice, ptr %t10518, i32 0, i32 1 + %t10520 = getelementptr inbounds %LSlice, ptr %t10518, i32 0, i32 2 + %t10521 = getelementptr inbounds %LSlice, ptr %t10518, i32 0, i32 0 + %t10522 = load i32, ptr %t10519 + %t10523 = load i32, ptr %t10520 + %t10524 = icmp sge i32 %t10522, %t10523 + br i1 %t10524, label %grow2192, label %put2193 +grow2192: + %t10525 = mul i32 %t10523, 2 + %t10526 = icmp eq i32 %t10523, 0 + %t10527 = select i1 %t10526, i32 8, i32 %t10525 + %t10528 = getelementptr ptr, ptr null, i32 1 + %t10529 = ptrtoint ptr %t10528 to i64 + %t10530 = zext i32 %t10527 to i64 + %t10531 = mul i64 %t10530, %t10529 + %t10532 = load ptr, ptr %t10521 + %t10533 = call ptr @realloc(ptr %t10532, i64 %t10531) + store ptr %t10533, ptr %t10521 + store i32 %t10527, ptr %t10520 + br label %put2193 +put2193: + %t10534 = load ptr, ptr %t10521 + %t10535 = getelementptr inbounds ptr, ptr %t10534, i32 %t10522 + store ptr @.str7983, ptr %t10535 + %t10536 = add i32 %t10522, 1 + store i32 %t10536, ptr %t10519 + %t10537 = load ptr, ptr %t410 + %t10538 = getelementptr inbounds %LSlice, ptr %t10537, i32 0, i32 1 + %t10539 = getelementptr inbounds %LSlice, ptr %t10537, i32 0, i32 2 + %t10540 = getelementptr inbounds %LSlice, ptr %t10537, i32 0, i32 0 + %t10541 = load i32, ptr %t10538 + %t10542 = load i32, ptr %t10539 + %t10543 = icmp sge i32 %t10541, %t10542 + br i1 %t10543, label %grow2194, label %put2195 +grow2194: + %t10544 = mul i32 %t10542, 2 + %t10545 = icmp eq i32 %t10542, 0 + %t10546 = select i1 %t10545, i32 8, i32 %t10544 + %t10547 = getelementptr ptr, ptr null, i32 1 + %t10548 = ptrtoint ptr %t10547 to i64 + %t10549 = zext i32 %t10546 to i64 + %t10550 = mul i64 %t10549, %t10548 + %t10551 = load ptr, ptr %t10540 + %t10552 = call ptr @realloc(ptr %t10551, i64 %t10550) + store ptr %t10552, ptr %t10540 + store i32 %t10546, ptr %t10539 + br label %put2195 +put2195: + %t10553 = load ptr, ptr %t10540 + %t10554 = getelementptr inbounds ptr, ptr %t10553, i32 %t10541 + store ptr @.str7984, ptr %t10554 + %t10555 = add i32 %t10541, 1 + store i32 %t10555, ptr %t10538 + br label %ifend2185 +ifend2185: + br label %ifend2140 +ifend2140: + %t10556 = load ptr, ptr %t0 + %t10557 = call i32 @lp_str_eq(ptr %t10556, ptr @.str7985) + %t10558 = icmp ne i32 %t10557, 0 + br i1 %t10558, label %then2196, label %ifend2198 +then2196: + %t10559 = load ptr, ptr %t1 + %t10560 = call i32 @lp_str_eq(ptr %t10559, ptr @.str7986) + %t10561 = icmp ne i32 %t10560, 0 + br i1 %t10561, label %then2199, label %ifend2201 +then2199: + store ptr @.str7987, ptr %t403 + %t10562 = load ptr, ptr %t410 + %t10563 = getelementptr inbounds %LSlice, ptr %t10562, i32 0, i32 1 + %t10564 = getelementptr inbounds %LSlice, ptr %t10562, i32 0, i32 2 + %t10565 = getelementptr inbounds %LSlice, ptr %t10562, i32 0, i32 0 + %t10566 = load i32, ptr %t10563 + %t10567 = load i32, ptr %t10564 + %t10568 = icmp sge i32 %t10566, %t10567 + br i1 %t10568, label %grow2202, label %put2203 +grow2202: + %t10569 = mul i32 %t10567, 2 + %t10570 = icmp eq i32 %t10567, 0 + %t10571 = select i1 %t10570, i32 8, i32 %t10569 + %t10572 = getelementptr ptr, ptr null, i32 1 + %t10573 = ptrtoint ptr %t10572 to i64 + %t10574 = zext i32 %t10571 to i64 + %t10575 = mul i64 %t10574, %t10573 + %t10576 = load ptr, ptr %t10565 + %t10577 = call ptr @realloc(ptr %t10576, i64 %t10575) + store ptr %t10577, ptr %t10565 + store i32 %t10571, ptr %t10564 + br label %put2203 +put2203: + %t10578 = load ptr, ptr %t10565 + %t10579 = getelementptr inbounds ptr, ptr %t10578, i32 %t10566 + store ptr @.str7988, ptr %t10579 + %t10580 = add i32 %t10566, 1 + store i32 %t10580, ptr %t10563 + br label %ifend2201 +ifend2201: + %t10581 = load ptr, ptr %t1 + %t10582 = call i32 @lp_str_eq(ptr %t10581, ptr @.str7989) + %t10583 = icmp ne i32 %t10582, 0 + br i1 %t10583, label %then2204, label %ifend2206 +then2204: + store ptr @.str7990, ptr %t403 + %t10584 = load ptr, ptr %t410 + %t10585 = getelementptr inbounds %LSlice, ptr %t10584, i32 0, i32 1 + %t10586 = getelementptr inbounds %LSlice, ptr %t10584, i32 0, i32 2 + %t10587 = getelementptr inbounds %LSlice, ptr %t10584, i32 0, i32 0 + %t10588 = load i32, ptr %t10585 + %t10589 = load i32, ptr %t10586 + %t10590 = icmp sge i32 %t10588, %t10589 + br i1 %t10590, label %grow2207, label %put2208 +grow2207: + %t10591 = mul i32 %t10589, 2 + %t10592 = icmp eq i32 %t10589, 0 + %t10593 = select i1 %t10592, i32 8, i32 %t10591 + %t10594 = getelementptr ptr, ptr null, i32 1 + %t10595 = ptrtoint ptr %t10594 to i64 + %t10596 = zext i32 %t10593 to i64 + %t10597 = mul i64 %t10596, %t10595 + %t10598 = load ptr, ptr %t10587 + %t10599 = call ptr @realloc(ptr %t10598, i64 %t10597) + store ptr %t10599, ptr %t10587 + store i32 %t10593, ptr %t10586 + br label %put2208 +put2208: + %t10600 = load ptr, ptr %t10587 + %t10601 = getelementptr inbounds ptr, ptr %t10600, i32 %t10588 + store ptr @.str7991, ptr %t10601 + %t10602 = add i32 %t10588, 1 + store i32 %t10602, ptr %t10585 + %t10603 = load ptr, ptr %t410 + %t10604 = getelementptr inbounds %LSlice, ptr %t10603, i32 0, i32 1 + %t10605 = getelementptr inbounds %LSlice, ptr %t10603, i32 0, i32 2 + %t10606 = getelementptr inbounds %LSlice, ptr %t10603, i32 0, i32 0 + %t10607 = load i32, ptr %t10604 + %t10608 = load i32, ptr %t10605 + %t10609 = icmp sge i32 %t10607, %t10608 + br i1 %t10609, label %grow2209, label %put2210 +grow2209: + %t10610 = mul i32 %t10608, 2 + %t10611 = icmp eq i32 %t10608, 0 + %t10612 = select i1 %t10611, i32 8, i32 %t10610 + %t10613 = getelementptr ptr, ptr null, i32 1 + %t10614 = ptrtoint ptr %t10613 to i64 + %t10615 = zext i32 %t10612 to i64 + %t10616 = mul i64 %t10615, %t10614 + %t10617 = load ptr, ptr %t10606 + %t10618 = call ptr @realloc(ptr %t10617, i64 %t10616) + store ptr %t10618, ptr %t10606 + store i32 %t10612, ptr %t10605 + br label %put2210 +put2210: + %t10619 = load ptr, ptr %t10606 + %t10620 = getelementptr inbounds ptr, ptr %t10619, i32 %t10607 + store ptr @.str7992, ptr %t10620 + %t10621 = add i32 %t10607, 1 + store i32 %t10621, ptr %t10604 + %t10622 = load ptr, ptr %t410 + %t10623 = getelementptr inbounds %LSlice, ptr %t10622, i32 0, i32 1 + %t10624 = getelementptr inbounds %LSlice, ptr %t10622, i32 0, i32 2 + %t10625 = getelementptr inbounds %LSlice, ptr %t10622, i32 0, i32 0 + %t10626 = load i32, ptr %t10623 + %t10627 = load i32, ptr %t10624 + %t10628 = icmp sge i32 %t10626, %t10627 + br i1 %t10628, label %grow2211, label %put2212 +grow2211: + %t10629 = mul i32 %t10627, 2 + %t10630 = icmp eq i32 %t10627, 0 + %t10631 = select i1 %t10630, i32 8, i32 %t10629 + %t10632 = getelementptr ptr, ptr null, i32 1 + %t10633 = ptrtoint ptr %t10632 to i64 + %t10634 = zext i32 %t10631 to i64 + %t10635 = mul i64 %t10634, %t10633 + %t10636 = load ptr, ptr %t10625 + %t10637 = call ptr @realloc(ptr %t10636, i64 %t10635) + store ptr %t10637, ptr %t10625 + store i32 %t10631, ptr %t10624 + br label %put2212 +put2212: + %t10638 = load ptr, ptr %t10625 + %t10639 = getelementptr inbounds ptr, ptr %t10638, i32 %t10626 + store ptr @.str7993, ptr %t10639 + %t10640 = add i32 %t10626, 1 + store i32 %t10640, ptr %t10623 + %t10641 = load ptr, ptr %t410 + %t10642 = getelementptr inbounds %LSlice, ptr %t10641, i32 0, i32 1 + %t10643 = getelementptr inbounds %LSlice, ptr %t10641, i32 0, i32 2 + %t10644 = getelementptr inbounds %LSlice, ptr %t10641, i32 0, i32 0 + %t10645 = load i32, ptr %t10642 + %t10646 = load i32, ptr %t10643 + %t10647 = icmp sge i32 %t10645, %t10646 + br i1 %t10647, label %grow2213, label %put2214 +grow2213: + %t10648 = mul i32 %t10646, 2 + %t10649 = icmp eq i32 %t10646, 0 + %t10650 = select i1 %t10649, i32 8, i32 %t10648 + %t10651 = getelementptr ptr, ptr null, i32 1 + %t10652 = ptrtoint ptr %t10651 to i64 + %t10653 = zext i32 %t10650 to i64 + %t10654 = mul i64 %t10653, %t10652 + %t10655 = load ptr, ptr %t10644 + %t10656 = call ptr @realloc(ptr %t10655, i64 %t10654) + store ptr %t10656, ptr %t10644 + store i32 %t10650, ptr %t10643 + br label %put2214 +put2214: + %t10657 = load ptr, ptr %t10644 + %t10658 = getelementptr inbounds ptr, ptr %t10657, i32 %t10645 + store ptr @.str7994, ptr %t10658 + %t10659 = add i32 %t10645, 1 + store i32 %t10659, ptr %t10642 + %t10660 = load ptr, ptr %t410 + %t10661 = getelementptr inbounds %LSlice, ptr %t10660, i32 0, i32 1 + %t10662 = getelementptr inbounds %LSlice, ptr %t10660, i32 0, i32 2 + %t10663 = getelementptr inbounds %LSlice, ptr %t10660, i32 0, i32 0 + %t10664 = load i32, ptr %t10661 + %t10665 = load i32, ptr %t10662 + %t10666 = icmp sge i32 %t10664, %t10665 + br i1 %t10666, label %grow2215, label %put2216 +grow2215: + %t10667 = mul i32 %t10665, 2 + %t10668 = icmp eq i32 %t10665, 0 + %t10669 = select i1 %t10668, i32 8, i32 %t10667 + %t10670 = getelementptr ptr, ptr null, i32 1 + %t10671 = ptrtoint ptr %t10670 to i64 + %t10672 = zext i32 %t10669 to i64 + %t10673 = mul i64 %t10672, %t10671 + %t10674 = load ptr, ptr %t10663 + %t10675 = call ptr @realloc(ptr %t10674, i64 %t10673) + store ptr %t10675, ptr %t10663 + store i32 %t10669, ptr %t10662 + br label %put2216 +put2216: + %t10676 = load ptr, ptr %t10663 + %t10677 = getelementptr inbounds ptr, ptr %t10676, i32 %t10664 + store ptr @.str7995, ptr %t10677 + %t10678 = add i32 %t10664, 1 + store i32 %t10678, ptr %t10661 + br label %ifend2206 +ifend2206: + %t10679 = load ptr, ptr %t1 + %t10680 = call i32 @lp_str_eq(ptr %t10679, ptr @.str7996) + %t10681 = icmp ne i32 %t10680, 0 + br i1 %t10681, label %then2217, label %ifend2219 +then2217: + store ptr @.str7997, ptr %t403 + %t10682 = load ptr, ptr %t410 + %t10683 = getelementptr inbounds %LSlice, ptr %t10682, i32 0, i32 1 + %t10684 = getelementptr inbounds %LSlice, ptr %t10682, i32 0, i32 2 + %t10685 = getelementptr inbounds %LSlice, ptr %t10682, i32 0, i32 0 + %t10686 = load i32, ptr %t10683 + %t10687 = load i32, ptr %t10684 + %t10688 = icmp sge i32 %t10686, %t10687 + br i1 %t10688, label %grow2220, label %put2221 +grow2220: + %t10689 = mul i32 %t10687, 2 + %t10690 = icmp eq i32 %t10687, 0 + %t10691 = select i1 %t10690, i32 8, i32 %t10689 + %t10692 = getelementptr ptr, ptr null, i32 1 + %t10693 = ptrtoint ptr %t10692 to i64 + %t10694 = zext i32 %t10691 to i64 + %t10695 = mul i64 %t10694, %t10693 + %t10696 = load ptr, ptr %t10685 + %t10697 = call ptr @realloc(ptr %t10696, i64 %t10695) + store ptr %t10697, ptr %t10685 + store i32 %t10691, ptr %t10684 + br label %put2221 +put2221: + %t10698 = load ptr, ptr %t10685 + %t10699 = getelementptr inbounds ptr, ptr %t10698, i32 %t10686 + store ptr @.str7998, ptr %t10699 + %t10700 = add i32 %t10686, 1 + store i32 %t10700, ptr %t10683 + %t10701 = load ptr, ptr %t410 + %t10702 = getelementptr inbounds %LSlice, ptr %t10701, i32 0, i32 1 + %t10703 = getelementptr inbounds %LSlice, ptr %t10701, i32 0, i32 2 + %t10704 = getelementptr inbounds %LSlice, ptr %t10701, i32 0, i32 0 + %t10705 = load i32, ptr %t10702 + %t10706 = load i32, ptr %t10703 + %t10707 = icmp sge i32 %t10705, %t10706 + br i1 %t10707, label %grow2222, label %put2223 +grow2222: + %t10708 = mul i32 %t10706, 2 + %t10709 = icmp eq i32 %t10706, 0 + %t10710 = select i1 %t10709, i32 8, i32 %t10708 + %t10711 = getelementptr ptr, ptr null, i32 1 + %t10712 = ptrtoint ptr %t10711 to i64 + %t10713 = zext i32 %t10710 to i64 + %t10714 = mul i64 %t10713, %t10712 + %t10715 = load ptr, ptr %t10704 + %t10716 = call ptr @realloc(ptr %t10715, i64 %t10714) + store ptr %t10716, ptr %t10704 + store i32 %t10710, ptr %t10703 + br label %put2223 +put2223: + %t10717 = load ptr, ptr %t10704 + %t10718 = getelementptr inbounds ptr, ptr %t10717, i32 %t10705 + store ptr @.str7999, ptr %t10718 + %t10719 = add i32 %t10705, 1 + store i32 %t10719, ptr %t10702 + %t10720 = load ptr, ptr %t410 + %t10721 = getelementptr inbounds %LSlice, ptr %t10720, i32 0, i32 1 + %t10722 = getelementptr inbounds %LSlice, ptr %t10720, i32 0, i32 2 + %t10723 = getelementptr inbounds %LSlice, ptr %t10720, i32 0, i32 0 + %t10724 = load i32, ptr %t10721 + %t10725 = load i32, ptr %t10722 + %t10726 = icmp sge i32 %t10724, %t10725 + br i1 %t10726, label %grow2224, label %put2225 +grow2224: + %t10727 = mul i32 %t10725, 2 + %t10728 = icmp eq i32 %t10725, 0 + %t10729 = select i1 %t10728, i32 8, i32 %t10727 + %t10730 = getelementptr ptr, ptr null, i32 1 + %t10731 = ptrtoint ptr %t10730 to i64 + %t10732 = zext i32 %t10729 to i64 + %t10733 = mul i64 %t10732, %t10731 + %t10734 = load ptr, ptr %t10723 + %t10735 = call ptr @realloc(ptr %t10734, i64 %t10733) + store ptr %t10735, ptr %t10723 + store i32 %t10729, ptr %t10722 + br label %put2225 +put2225: + %t10736 = load ptr, ptr %t10723 + %t10737 = getelementptr inbounds ptr, ptr %t10736, i32 %t10724 + store ptr @.str8000, ptr %t10737 + %t10738 = add i32 %t10724, 1 + store i32 %t10738, ptr %t10721 + %t10739 = load ptr, ptr %t410 + %t10740 = getelementptr inbounds %LSlice, ptr %t10739, i32 0, i32 1 + %t10741 = getelementptr inbounds %LSlice, ptr %t10739, i32 0, i32 2 + %t10742 = getelementptr inbounds %LSlice, ptr %t10739, i32 0, i32 0 + %t10743 = load i32, ptr %t10740 + %t10744 = load i32, ptr %t10741 + %t10745 = icmp sge i32 %t10743, %t10744 + br i1 %t10745, label %grow2226, label %put2227 +grow2226: + %t10746 = mul i32 %t10744, 2 + %t10747 = icmp eq i32 %t10744, 0 + %t10748 = select i1 %t10747, i32 8, i32 %t10746 + %t10749 = getelementptr ptr, ptr null, i32 1 + %t10750 = ptrtoint ptr %t10749 to i64 + %t10751 = zext i32 %t10748 to i64 + %t10752 = mul i64 %t10751, %t10750 + %t10753 = load ptr, ptr %t10742 + %t10754 = call ptr @realloc(ptr %t10753, i64 %t10752) + store ptr %t10754, ptr %t10742 + store i32 %t10748, ptr %t10741 + br label %put2227 +put2227: + %t10755 = load ptr, ptr %t10742 + %t10756 = getelementptr inbounds ptr, ptr %t10755, i32 %t10743 + store ptr @.str8001, ptr %t10756 + %t10757 = add i32 %t10743, 1 + store i32 %t10757, ptr %t10740 + %t10758 = load ptr, ptr %t410 + %t10759 = getelementptr inbounds %LSlice, ptr %t10758, i32 0, i32 1 + %t10760 = getelementptr inbounds %LSlice, ptr %t10758, i32 0, i32 2 + %t10761 = getelementptr inbounds %LSlice, ptr %t10758, i32 0, i32 0 + %t10762 = load i32, ptr %t10759 + %t10763 = load i32, ptr %t10760 + %t10764 = icmp sge i32 %t10762, %t10763 + br i1 %t10764, label %grow2228, label %put2229 +grow2228: + %t10765 = mul i32 %t10763, 2 + %t10766 = icmp eq i32 %t10763, 0 + %t10767 = select i1 %t10766, i32 8, i32 %t10765 + %t10768 = getelementptr ptr, ptr null, i32 1 + %t10769 = ptrtoint ptr %t10768 to i64 + %t10770 = zext i32 %t10767 to i64 + %t10771 = mul i64 %t10770, %t10769 + %t10772 = load ptr, ptr %t10761 + %t10773 = call ptr @realloc(ptr %t10772, i64 %t10771) + store ptr %t10773, ptr %t10761 + store i32 %t10767, ptr %t10760 + br label %put2229 +put2229: + %t10774 = load ptr, ptr %t10761 + %t10775 = getelementptr inbounds ptr, ptr %t10774, i32 %t10762 + store ptr @.str8002, ptr %t10775 + %t10776 = add i32 %t10762, 1 + store i32 %t10776, ptr %t10759 + %t10777 = load ptr, ptr %t410 + %t10778 = getelementptr inbounds %LSlice, ptr %t10777, i32 0, i32 1 + %t10779 = getelementptr inbounds %LSlice, ptr %t10777, i32 0, i32 2 + %t10780 = getelementptr inbounds %LSlice, ptr %t10777, i32 0, i32 0 + %t10781 = load i32, ptr %t10778 + %t10782 = load i32, ptr %t10779 + %t10783 = icmp sge i32 %t10781, %t10782 + br i1 %t10783, label %grow2230, label %put2231 +grow2230: + %t10784 = mul i32 %t10782, 2 + %t10785 = icmp eq i32 %t10782, 0 + %t10786 = select i1 %t10785, i32 8, i32 %t10784 + %t10787 = getelementptr ptr, ptr null, i32 1 + %t10788 = ptrtoint ptr %t10787 to i64 + %t10789 = zext i32 %t10786 to i64 + %t10790 = mul i64 %t10789, %t10788 + %t10791 = load ptr, ptr %t10780 + %t10792 = call ptr @realloc(ptr %t10791, i64 %t10790) + store ptr %t10792, ptr %t10780 + store i32 %t10786, ptr %t10779 + br label %put2231 +put2231: + %t10793 = load ptr, ptr %t10780 + %t10794 = getelementptr inbounds ptr, ptr %t10793, i32 %t10781 + store ptr @.str8003, ptr %t10794 + %t10795 = add i32 %t10781, 1 + store i32 %t10795, ptr %t10778 + %t10796 = load ptr, ptr %t410 + %t10797 = getelementptr inbounds %LSlice, ptr %t10796, i32 0, i32 1 + %t10798 = getelementptr inbounds %LSlice, ptr %t10796, i32 0, i32 2 + %t10799 = getelementptr inbounds %LSlice, ptr %t10796, i32 0, i32 0 + %t10800 = load i32, ptr %t10797 + %t10801 = load i32, ptr %t10798 + %t10802 = icmp sge i32 %t10800, %t10801 + br i1 %t10802, label %grow2232, label %put2233 +grow2232: + %t10803 = mul i32 %t10801, 2 + %t10804 = icmp eq i32 %t10801, 0 + %t10805 = select i1 %t10804, i32 8, i32 %t10803 + %t10806 = getelementptr ptr, ptr null, i32 1 + %t10807 = ptrtoint ptr %t10806 to i64 + %t10808 = zext i32 %t10805 to i64 + %t10809 = mul i64 %t10808, %t10807 + %t10810 = load ptr, ptr %t10799 + %t10811 = call ptr @realloc(ptr %t10810, i64 %t10809) + store ptr %t10811, ptr %t10799 + store i32 %t10805, ptr %t10798 + br label %put2233 +put2233: + %t10812 = load ptr, ptr %t10799 + %t10813 = getelementptr inbounds ptr, ptr %t10812, i32 %t10800 + store ptr @.str8004, ptr %t10813 + %t10814 = add i32 %t10800, 1 + store i32 %t10814, ptr %t10797 + br label %ifend2219 +ifend2219: + %t10815 = load ptr, ptr %t1 + %t10816 = call i32 @lp_str_eq(ptr %t10815, ptr @.str8005) + %t10817 = icmp ne i32 %t10816, 0 + br i1 %t10817, label %then2234, label %ifend2236 +then2234: + store ptr @.str8006, ptr %t403 + %t10818 = load ptr, ptr %t410 + %t10819 = getelementptr inbounds %LSlice, ptr %t10818, i32 0, i32 1 + %t10820 = getelementptr inbounds %LSlice, ptr %t10818, i32 0, i32 2 + %t10821 = getelementptr inbounds %LSlice, ptr %t10818, i32 0, i32 0 + %t10822 = load i32, ptr %t10819 + %t10823 = load i32, ptr %t10820 + %t10824 = icmp sge i32 %t10822, %t10823 + br i1 %t10824, label %grow2237, label %put2238 +grow2237: + %t10825 = mul i32 %t10823, 2 + %t10826 = icmp eq i32 %t10823, 0 + %t10827 = select i1 %t10826, i32 8, i32 %t10825 + %t10828 = getelementptr ptr, ptr null, i32 1 + %t10829 = ptrtoint ptr %t10828 to i64 + %t10830 = zext i32 %t10827 to i64 + %t10831 = mul i64 %t10830, %t10829 + %t10832 = load ptr, ptr %t10821 + %t10833 = call ptr @realloc(ptr %t10832, i64 %t10831) + store ptr %t10833, ptr %t10821 + store i32 %t10827, ptr %t10820 + br label %put2238 +put2238: + %t10834 = load ptr, ptr %t10821 + %t10835 = getelementptr inbounds ptr, ptr %t10834, i32 %t10822 + store ptr @.str8007, ptr %t10835 + %t10836 = add i32 %t10822, 1 + store i32 %t10836, ptr %t10819 + %t10837 = load ptr, ptr %t410 + %t10838 = getelementptr inbounds %LSlice, ptr %t10837, i32 0, i32 1 + %t10839 = getelementptr inbounds %LSlice, ptr %t10837, i32 0, i32 2 + %t10840 = getelementptr inbounds %LSlice, ptr %t10837, i32 0, i32 0 + %t10841 = load i32, ptr %t10838 + %t10842 = load i32, ptr %t10839 + %t10843 = icmp sge i32 %t10841, %t10842 + br i1 %t10843, label %grow2239, label %put2240 +grow2239: + %t10844 = mul i32 %t10842, 2 + %t10845 = icmp eq i32 %t10842, 0 + %t10846 = select i1 %t10845, i32 8, i32 %t10844 + %t10847 = getelementptr ptr, ptr null, i32 1 + %t10848 = ptrtoint ptr %t10847 to i64 + %t10849 = zext i32 %t10846 to i64 + %t10850 = mul i64 %t10849, %t10848 + %t10851 = load ptr, ptr %t10840 + %t10852 = call ptr @realloc(ptr %t10851, i64 %t10850) + store ptr %t10852, ptr %t10840 + store i32 %t10846, ptr %t10839 + br label %put2240 +put2240: + %t10853 = load ptr, ptr %t10840 + %t10854 = getelementptr inbounds ptr, ptr %t10853, i32 %t10841 + store ptr @.str8008, ptr %t10854 + %t10855 = add i32 %t10841, 1 + store i32 %t10855, ptr %t10838 + %t10856 = load ptr, ptr %t410 + %t10857 = getelementptr inbounds %LSlice, ptr %t10856, i32 0, i32 1 + %t10858 = getelementptr inbounds %LSlice, ptr %t10856, i32 0, i32 2 + %t10859 = getelementptr inbounds %LSlice, ptr %t10856, i32 0, i32 0 + %t10860 = load i32, ptr %t10857 + %t10861 = load i32, ptr %t10858 + %t10862 = icmp sge i32 %t10860, %t10861 + br i1 %t10862, label %grow2241, label %put2242 +grow2241: + %t10863 = mul i32 %t10861, 2 + %t10864 = icmp eq i32 %t10861, 0 + %t10865 = select i1 %t10864, i32 8, i32 %t10863 + %t10866 = getelementptr ptr, ptr null, i32 1 + %t10867 = ptrtoint ptr %t10866 to i64 + %t10868 = zext i32 %t10865 to i64 + %t10869 = mul i64 %t10868, %t10867 + %t10870 = load ptr, ptr %t10859 + %t10871 = call ptr @realloc(ptr %t10870, i64 %t10869) + store ptr %t10871, ptr %t10859 + store i32 %t10865, ptr %t10858 + br label %put2242 +put2242: + %t10872 = load ptr, ptr %t10859 + %t10873 = getelementptr inbounds ptr, ptr %t10872, i32 %t10860 + store ptr @.str8009, ptr %t10873 + %t10874 = add i32 %t10860, 1 + store i32 %t10874, ptr %t10857 + %t10875 = load ptr, ptr %t410 + %t10876 = getelementptr inbounds %LSlice, ptr %t10875, i32 0, i32 1 + %t10877 = getelementptr inbounds %LSlice, ptr %t10875, i32 0, i32 2 + %t10878 = getelementptr inbounds %LSlice, ptr %t10875, i32 0, i32 0 + %t10879 = load i32, ptr %t10876 + %t10880 = load i32, ptr %t10877 + %t10881 = icmp sge i32 %t10879, %t10880 + br i1 %t10881, label %grow2243, label %put2244 +grow2243: + %t10882 = mul i32 %t10880, 2 + %t10883 = icmp eq i32 %t10880, 0 + %t10884 = select i1 %t10883, i32 8, i32 %t10882 + %t10885 = getelementptr ptr, ptr null, i32 1 + %t10886 = ptrtoint ptr %t10885 to i64 + %t10887 = zext i32 %t10884 to i64 + %t10888 = mul i64 %t10887, %t10886 + %t10889 = load ptr, ptr %t10878 + %t10890 = call ptr @realloc(ptr %t10889, i64 %t10888) + store ptr %t10890, ptr %t10878 + store i32 %t10884, ptr %t10877 + br label %put2244 +put2244: + %t10891 = load ptr, ptr %t10878 + %t10892 = getelementptr inbounds ptr, ptr %t10891, i32 %t10879 + store ptr @.str8010, ptr %t10892 + %t10893 = add i32 %t10879, 1 + store i32 %t10893, ptr %t10876 + br label %ifend2236 +ifend2236: + %t10894 = load ptr, ptr %t1 + %t10895 = call i32 @lp_str_eq(ptr %t10894, ptr @.str8011) + %t10896 = icmp ne i32 %t10895, 0 + br i1 %t10896, label %then2245, label %ifend2247 +then2245: + store ptr @.str8012, ptr %t403 + br label %ifend2247 +ifend2247: + %t10897 = load ptr, ptr %t1 + %t10898 = call i32 @lp_str_eq(ptr %t10897, ptr @.str8013) + %t10899 = icmp ne i32 %t10898, 0 + br i1 %t10899, label %then2248, label %ifend2250 +then2248: + store ptr @.str8014, ptr %t403 + %t10900 = load ptr, ptr %t410 + %t10901 = getelementptr inbounds %LSlice, ptr %t10900, i32 0, i32 1 + %t10902 = getelementptr inbounds %LSlice, ptr %t10900, i32 0, i32 2 + %t10903 = getelementptr inbounds %LSlice, ptr %t10900, i32 0, i32 0 + %t10904 = load i32, ptr %t10901 + %t10905 = load i32, ptr %t10902 + %t10906 = icmp sge i32 %t10904, %t10905 + br i1 %t10906, label %grow2251, label %put2252 +grow2251: + %t10907 = mul i32 %t10905, 2 + %t10908 = icmp eq i32 %t10905, 0 + %t10909 = select i1 %t10908, i32 8, i32 %t10907 + %t10910 = getelementptr ptr, ptr null, i32 1 + %t10911 = ptrtoint ptr %t10910 to i64 + %t10912 = zext i32 %t10909 to i64 + %t10913 = mul i64 %t10912, %t10911 + %t10914 = load ptr, ptr %t10903 + %t10915 = call ptr @realloc(ptr %t10914, i64 %t10913) + store ptr %t10915, ptr %t10903 + store i32 %t10909, ptr %t10902 + br label %put2252 +put2252: + %t10916 = load ptr, ptr %t10903 + %t10917 = getelementptr inbounds ptr, ptr %t10916, i32 %t10904 + store ptr @.str8015, ptr %t10917 + %t10918 = add i32 %t10904, 1 + store i32 %t10918, ptr %t10901 + br label %ifend2250 +ifend2250: + %t10919 = load ptr, ptr %t1 + %t10920 = call i32 @lp_str_eq(ptr %t10919, ptr @.str8016) + %t10921 = icmp ne i32 %t10920, 0 + br i1 %t10921, label %then2253, label %ifend2255 +then2253: + store ptr @.str8017, ptr %t403 + %t10922 = load ptr, ptr %t410 + %t10923 = getelementptr inbounds %LSlice, ptr %t10922, i32 0, i32 1 + %t10924 = getelementptr inbounds %LSlice, ptr %t10922, i32 0, i32 2 + %t10925 = getelementptr inbounds %LSlice, ptr %t10922, i32 0, i32 0 + %t10926 = load i32, ptr %t10923 + %t10927 = load i32, ptr %t10924 + %t10928 = icmp sge i32 %t10926, %t10927 + br i1 %t10928, label %grow2256, label %put2257 +grow2256: + %t10929 = mul i32 %t10927, 2 + %t10930 = icmp eq i32 %t10927, 0 + %t10931 = select i1 %t10930, i32 8, i32 %t10929 + %t10932 = getelementptr ptr, ptr null, i32 1 + %t10933 = ptrtoint ptr %t10932 to i64 + %t10934 = zext i32 %t10931 to i64 + %t10935 = mul i64 %t10934, %t10933 + %t10936 = load ptr, ptr %t10925 + %t10937 = call ptr @realloc(ptr %t10936, i64 %t10935) + store ptr %t10937, ptr %t10925 + store i32 %t10931, ptr %t10924 + br label %put2257 +put2257: + %t10938 = load ptr, ptr %t10925 + %t10939 = getelementptr inbounds ptr, ptr %t10938, i32 %t10926 + store ptr @.str8018, ptr %t10939 + %t10940 = add i32 %t10926, 1 + store i32 %t10940, ptr %t10923 + br label %ifend2255 +ifend2255: + %t10941 = load ptr, ptr %t1 + %t10942 = call i32 @lp_str_eq(ptr %t10941, ptr @.str8019) + %t10943 = icmp ne i32 %t10942, 0 + br i1 %t10943, label %then2258, label %ifend2260 +then2258: + store ptr @.str8020, ptr %t403 + %t10944 = load ptr, ptr %t410 + %t10945 = getelementptr inbounds %LSlice, ptr %t10944, i32 0, i32 1 + %t10946 = getelementptr inbounds %LSlice, ptr %t10944, i32 0, i32 2 + %t10947 = getelementptr inbounds %LSlice, ptr %t10944, i32 0, i32 0 + %t10948 = load i32, ptr %t10945 + %t10949 = load i32, ptr %t10946 + %t10950 = icmp sge i32 %t10948, %t10949 + br i1 %t10950, label %grow2261, label %put2262 +grow2261: + %t10951 = mul i32 %t10949, 2 + %t10952 = icmp eq i32 %t10949, 0 + %t10953 = select i1 %t10952, i32 8, i32 %t10951 + %t10954 = getelementptr ptr, ptr null, i32 1 + %t10955 = ptrtoint ptr %t10954 to i64 + %t10956 = zext i32 %t10953 to i64 + %t10957 = mul i64 %t10956, %t10955 + %t10958 = load ptr, ptr %t10947 + %t10959 = call ptr @realloc(ptr %t10958, i64 %t10957) + store ptr %t10959, ptr %t10947 + store i32 %t10953, ptr %t10946 + br label %put2262 +put2262: + %t10960 = load ptr, ptr %t10947 + %t10961 = getelementptr inbounds ptr, ptr %t10960, i32 %t10948 + store ptr @.str8021, ptr %t10961 + %t10962 = add i32 %t10948, 1 + store i32 %t10962, ptr %t10945 + br label %ifend2260 +ifend2260: + %t10963 = load ptr, ptr %t1 + %t10964 = call i32 @lp_str_eq(ptr %t10963, ptr @.str8022) + %t10965 = icmp ne i32 %t10964, 0 + br i1 %t10965, label %then2263, label %ifend2265 +then2263: + store ptr @.str8023, ptr %t403 + br label %ifend2265 +ifend2265: + %t10966 = load ptr, ptr %t1 + %t10967 = call i32 @lp_str_eq(ptr %t10966, ptr @.str8024) + %t10968 = icmp ne i32 %t10967, 0 + br i1 %t10968, label %then2266, label %ifend2268 +then2266: + store ptr @.str8025, ptr %t403 + %t10969 = load ptr, ptr %t410 + %t10970 = getelementptr inbounds %LSlice, ptr %t10969, i32 0, i32 1 + %t10971 = getelementptr inbounds %LSlice, ptr %t10969, i32 0, i32 2 + %t10972 = getelementptr inbounds %LSlice, ptr %t10969, i32 0, i32 0 + %t10973 = load i32, ptr %t10970 + %t10974 = load i32, ptr %t10971 + %t10975 = icmp sge i32 %t10973, %t10974 + br i1 %t10975, label %grow2269, label %put2270 +grow2269: + %t10976 = mul i32 %t10974, 2 + %t10977 = icmp eq i32 %t10974, 0 + %t10978 = select i1 %t10977, i32 8, i32 %t10976 + %t10979 = getelementptr ptr, ptr null, i32 1 + %t10980 = ptrtoint ptr %t10979 to i64 + %t10981 = zext i32 %t10978 to i64 + %t10982 = mul i64 %t10981, %t10980 + %t10983 = load ptr, ptr %t10972 + %t10984 = call ptr @realloc(ptr %t10983, i64 %t10982) + store ptr %t10984, ptr %t10972 + store i32 %t10978, ptr %t10971 + br label %put2270 +put2270: + %t10985 = load ptr, ptr %t10972 + %t10986 = getelementptr inbounds ptr, ptr %t10985, i32 %t10973 + store ptr @.str8026, ptr %t10986 + %t10987 = add i32 %t10973, 1 + store i32 %t10987, ptr %t10970 + br label %ifend2268 +ifend2268: + %t10988 = load ptr, ptr %t1 + %t10989 = call i32 @lp_str_eq(ptr %t10988, ptr @.str8027) + %t10990 = icmp ne i32 %t10989, 0 + br i1 %t10990, label %then2271, label %ifend2273 +then2271: + store ptr @.str8028, ptr %t403 + %t10991 = load ptr, ptr %t410 + %t10992 = getelementptr inbounds %LSlice, ptr %t10991, i32 0, i32 1 + %t10993 = getelementptr inbounds %LSlice, ptr %t10991, i32 0, i32 2 + %t10994 = getelementptr inbounds %LSlice, ptr %t10991, i32 0, i32 0 + %t10995 = load i32, ptr %t10992 + %t10996 = load i32, ptr %t10993 + %t10997 = icmp sge i32 %t10995, %t10996 + br i1 %t10997, label %grow2274, label %put2275 +grow2274: + %t10998 = mul i32 %t10996, 2 + %t10999 = icmp eq i32 %t10996, 0 + %t11000 = select i1 %t10999, i32 8, i32 %t10998 + %t11001 = getelementptr ptr, ptr null, i32 1 + %t11002 = ptrtoint ptr %t11001 to i64 + %t11003 = zext i32 %t11000 to i64 + %t11004 = mul i64 %t11003, %t11002 + %t11005 = load ptr, ptr %t10994 + %t11006 = call ptr @realloc(ptr %t11005, i64 %t11004) + store ptr %t11006, ptr %t10994 + store i32 %t11000, ptr %t10993 + br label %put2275 +put2275: + %t11007 = load ptr, ptr %t10994 + %t11008 = getelementptr inbounds ptr, ptr %t11007, i32 %t10995 + store ptr @.str8029, ptr %t11008 + %t11009 = add i32 %t10995, 1 + store i32 %t11009, ptr %t10992 + %t11010 = load ptr, ptr %t410 + %t11011 = getelementptr inbounds %LSlice, ptr %t11010, i32 0, i32 1 + %t11012 = getelementptr inbounds %LSlice, ptr %t11010, i32 0, i32 2 + %t11013 = getelementptr inbounds %LSlice, ptr %t11010, i32 0, i32 0 + %t11014 = load i32, ptr %t11011 + %t11015 = load i32, ptr %t11012 + %t11016 = icmp sge i32 %t11014, %t11015 + br i1 %t11016, label %grow2276, label %put2277 +grow2276: + %t11017 = mul i32 %t11015, 2 + %t11018 = icmp eq i32 %t11015, 0 + %t11019 = select i1 %t11018, i32 8, i32 %t11017 + %t11020 = getelementptr ptr, ptr null, i32 1 + %t11021 = ptrtoint ptr %t11020 to i64 + %t11022 = zext i32 %t11019 to i64 + %t11023 = mul i64 %t11022, %t11021 + %t11024 = load ptr, ptr %t11013 + %t11025 = call ptr @realloc(ptr %t11024, i64 %t11023) + store ptr %t11025, ptr %t11013 + store i32 %t11019, ptr %t11012 + br label %put2277 +put2277: + %t11026 = load ptr, ptr %t11013 + %t11027 = getelementptr inbounds ptr, ptr %t11026, i32 %t11014 + store ptr @.str8030, ptr %t11027 + %t11028 = add i32 %t11014, 1 + store i32 %t11028, ptr %t11011 + %t11029 = load ptr, ptr %t410 + %t11030 = getelementptr inbounds %LSlice, ptr %t11029, i32 0, i32 1 + %t11031 = getelementptr inbounds %LSlice, ptr %t11029, i32 0, i32 2 + %t11032 = getelementptr inbounds %LSlice, ptr %t11029, i32 0, i32 0 + %t11033 = load i32, ptr %t11030 + %t11034 = load i32, ptr %t11031 + %t11035 = icmp sge i32 %t11033, %t11034 + br i1 %t11035, label %grow2278, label %put2279 +grow2278: + %t11036 = mul i32 %t11034, 2 + %t11037 = icmp eq i32 %t11034, 0 + %t11038 = select i1 %t11037, i32 8, i32 %t11036 + %t11039 = getelementptr ptr, ptr null, i32 1 + %t11040 = ptrtoint ptr %t11039 to i64 + %t11041 = zext i32 %t11038 to i64 + %t11042 = mul i64 %t11041, %t11040 + %t11043 = load ptr, ptr %t11032 + %t11044 = call ptr @realloc(ptr %t11043, i64 %t11042) + store ptr %t11044, ptr %t11032 + store i32 %t11038, ptr %t11031 + br label %put2279 +put2279: + %t11045 = load ptr, ptr %t11032 + %t11046 = getelementptr inbounds ptr, ptr %t11045, i32 %t11033 + store ptr @.str8031, ptr %t11046 + %t11047 = add i32 %t11033, 1 + store i32 %t11047, ptr %t11030 + %t11048 = load ptr, ptr %t410 + %t11049 = getelementptr inbounds %LSlice, ptr %t11048, i32 0, i32 1 + %t11050 = getelementptr inbounds %LSlice, ptr %t11048, i32 0, i32 2 + %t11051 = getelementptr inbounds %LSlice, ptr %t11048, i32 0, i32 0 + %t11052 = load i32, ptr %t11049 + %t11053 = load i32, ptr %t11050 + %t11054 = icmp sge i32 %t11052, %t11053 + br i1 %t11054, label %grow2280, label %put2281 +grow2280: + %t11055 = mul i32 %t11053, 2 + %t11056 = icmp eq i32 %t11053, 0 + %t11057 = select i1 %t11056, i32 8, i32 %t11055 + %t11058 = getelementptr ptr, ptr null, i32 1 + %t11059 = ptrtoint ptr %t11058 to i64 + %t11060 = zext i32 %t11057 to i64 + %t11061 = mul i64 %t11060, %t11059 + %t11062 = load ptr, ptr %t11051 + %t11063 = call ptr @realloc(ptr %t11062, i64 %t11061) + store ptr %t11063, ptr %t11051 + store i32 %t11057, ptr %t11050 + br label %put2281 +put2281: + %t11064 = load ptr, ptr %t11051 + %t11065 = getelementptr inbounds ptr, ptr %t11064, i32 %t11052 + store ptr @.str8032, ptr %t11065 + %t11066 = add i32 %t11052, 1 + store i32 %t11066, ptr %t11049 + %t11067 = load ptr, ptr %t410 + %t11068 = getelementptr inbounds %LSlice, ptr %t11067, i32 0, i32 1 + %t11069 = getelementptr inbounds %LSlice, ptr %t11067, i32 0, i32 2 + %t11070 = getelementptr inbounds %LSlice, ptr %t11067, i32 0, i32 0 + %t11071 = load i32, ptr %t11068 + %t11072 = load i32, ptr %t11069 + %t11073 = icmp sge i32 %t11071, %t11072 + br i1 %t11073, label %grow2282, label %put2283 +grow2282: + %t11074 = mul i32 %t11072, 2 + %t11075 = icmp eq i32 %t11072, 0 + %t11076 = select i1 %t11075, i32 8, i32 %t11074 + %t11077 = getelementptr ptr, ptr null, i32 1 + %t11078 = ptrtoint ptr %t11077 to i64 + %t11079 = zext i32 %t11076 to i64 + %t11080 = mul i64 %t11079, %t11078 + %t11081 = load ptr, ptr %t11070 + %t11082 = call ptr @realloc(ptr %t11081, i64 %t11080) + store ptr %t11082, ptr %t11070 + store i32 %t11076, ptr %t11069 + br label %put2283 +put2283: + %t11083 = load ptr, ptr %t11070 + %t11084 = getelementptr inbounds ptr, ptr %t11083, i32 %t11071 + store ptr @.str8033, ptr %t11084 + %t11085 = add i32 %t11071, 1 + store i32 %t11085, ptr %t11068 + %t11086 = load ptr, ptr %t410 + %t11087 = getelementptr inbounds %LSlice, ptr %t11086, i32 0, i32 1 + %t11088 = getelementptr inbounds %LSlice, ptr %t11086, i32 0, i32 2 + %t11089 = getelementptr inbounds %LSlice, ptr %t11086, i32 0, i32 0 + %t11090 = load i32, ptr %t11087 + %t11091 = load i32, ptr %t11088 + %t11092 = icmp sge i32 %t11090, %t11091 + br i1 %t11092, label %grow2284, label %put2285 +grow2284: + %t11093 = mul i32 %t11091, 2 + %t11094 = icmp eq i32 %t11091, 0 + %t11095 = select i1 %t11094, i32 8, i32 %t11093 + %t11096 = getelementptr ptr, ptr null, i32 1 + %t11097 = ptrtoint ptr %t11096 to i64 + %t11098 = zext i32 %t11095 to i64 + %t11099 = mul i64 %t11098, %t11097 + %t11100 = load ptr, ptr %t11089 + %t11101 = call ptr @realloc(ptr %t11100, i64 %t11099) + store ptr %t11101, ptr %t11089 + store i32 %t11095, ptr %t11088 + br label %put2285 +put2285: + %t11102 = load ptr, ptr %t11089 + %t11103 = getelementptr inbounds ptr, ptr %t11102, i32 %t11090 + store ptr @.str8034, ptr %t11103 + %t11104 = add i32 %t11090, 1 + store i32 %t11104, ptr %t11087 + br label %ifend2273 +ifend2273: + %t11105 = load ptr, ptr %t1 + %t11106 = call i32 @lp_str_eq(ptr %t11105, ptr @.str8035) + %t11107 = icmp ne i32 %t11106, 0 + br i1 %t11107, label %then2286, label %ifend2288 +then2286: + store ptr @.str8036, ptr %t403 + br label %ifend2288 +ifend2288: + %t11108 = load ptr, ptr %t1 + %t11109 = call i32 @lp_str_eq(ptr %t11108, ptr @.str8037) + %t11110 = icmp ne i32 %t11109, 0 + br i1 %t11110, label %then2289, label %ifend2291 +then2289: + store ptr @.str8038, ptr %t403 + %t11111 = load ptr, ptr %t410 + %t11112 = getelementptr inbounds %LSlice, ptr %t11111, i32 0, i32 1 + %t11113 = getelementptr inbounds %LSlice, ptr %t11111, i32 0, i32 2 + %t11114 = getelementptr inbounds %LSlice, ptr %t11111, i32 0, i32 0 + %t11115 = load i32, ptr %t11112 + %t11116 = load i32, ptr %t11113 + %t11117 = icmp sge i32 %t11115, %t11116 + br i1 %t11117, label %grow2292, label %put2293 +grow2292: + %t11118 = mul i32 %t11116, 2 + %t11119 = icmp eq i32 %t11116, 0 + %t11120 = select i1 %t11119, i32 8, i32 %t11118 + %t11121 = getelementptr ptr, ptr null, i32 1 + %t11122 = ptrtoint ptr %t11121 to i64 + %t11123 = zext i32 %t11120 to i64 + %t11124 = mul i64 %t11123, %t11122 + %t11125 = load ptr, ptr %t11114 + %t11126 = call ptr @realloc(ptr %t11125, i64 %t11124) + store ptr %t11126, ptr %t11114 + store i32 %t11120, ptr %t11113 + br label %put2293 +put2293: + %t11127 = load ptr, ptr %t11114 + %t11128 = getelementptr inbounds ptr, ptr %t11127, i32 %t11115 + store ptr @.str8039, ptr %t11128 + %t11129 = add i32 %t11115, 1 + store i32 %t11129, ptr %t11112 + br label %ifend2291 +ifend2291: + br label %ifend2198 +ifend2198: + %t11130 = load ptr, ptr %t0 + %t11131 = call i32 @lp_str_eq(ptr %t11130, ptr @.str8040) + %t11132 = icmp ne i32 %t11131, 0 + br i1 %t11132, label %then2294, label %ifend2296 +then2294: + %t11133 = load ptr, ptr %t1 + %t11134 = call i32 @lp_str_eq(ptr %t11133, ptr @.str8041) + %t11135 = icmp ne i32 %t11134, 0 + br i1 %t11135, label %then2297, label %ifend2299 +then2297: + store ptr @.str8042, ptr %t403 + %t11136 = load ptr, ptr %t410 + %t11137 = getelementptr inbounds %LSlice, ptr %t11136, i32 0, i32 1 + %t11138 = getelementptr inbounds %LSlice, ptr %t11136, i32 0, i32 2 + %t11139 = getelementptr inbounds %LSlice, ptr %t11136, i32 0, i32 0 + %t11140 = load i32, ptr %t11137 + %t11141 = load i32, ptr %t11138 + %t11142 = icmp sge i32 %t11140, %t11141 + br i1 %t11142, label %grow2300, label %put2301 +grow2300: + %t11143 = mul i32 %t11141, 2 + %t11144 = icmp eq i32 %t11141, 0 + %t11145 = select i1 %t11144, i32 8, i32 %t11143 + %t11146 = getelementptr ptr, ptr null, i32 1 + %t11147 = ptrtoint ptr %t11146 to i64 + %t11148 = zext i32 %t11145 to i64 + %t11149 = mul i64 %t11148, %t11147 + %t11150 = load ptr, ptr %t11139 + %t11151 = call ptr @realloc(ptr %t11150, i64 %t11149) + store ptr %t11151, ptr %t11139 + store i32 %t11145, ptr %t11138 + br label %put2301 +put2301: + %t11152 = load ptr, ptr %t11139 + %t11153 = getelementptr inbounds ptr, ptr %t11152, i32 %t11140 + store ptr @.str8043, ptr %t11153 + %t11154 = add i32 %t11140, 1 + store i32 %t11154, ptr %t11137 + %t11155 = load ptr, ptr %t410 + %t11156 = getelementptr inbounds %LSlice, ptr %t11155, i32 0, i32 1 + %t11157 = getelementptr inbounds %LSlice, ptr %t11155, i32 0, i32 2 + %t11158 = getelementptr inbounds %LSlice, ptr %t11155, i32 0, i32 0 + %t11159 = load i32, ptr %t11156 + %t11160 = load i32, ptr %t11157 + %t11161 = icmp sge i32 %t11159, %t11160 + br i1 %t11161, label %grow2302, label %put2303 +grow2302: + %t11162 = mul i32 %t11160, 2 + %t11163 = icmp eq i32 %t11160, 0 + %t11164 = select i1 %t11163, i32 8, i32 %t11162 + %t11165 = getelementptr ptr, ptr null, i32 1 + %t11166 = ptrtoint ptr %t11165 to i64 + %t11167 = zext i32 %t11164 to i64 + %t11168 = mul i64 %t11167, %t11166 + %t11169 = load ptr, ptr %t11158 + %t11170 = call ptr @realloc(ptr %t11169, i64 %t11168) + store ptr %t11170, ptr %t11158 + store i32 %t11164, ptr %t11157 + br label %put2303 +put2303: + %t11171 = load ptr, ptr %t11158 + %t11172 = getelementptr inbounds ptr, ptr %t11171, i32 %t11159 + store ptr @.str8044, ptr %t11172 + %t11173 = add i32 %t11159, 1 + store i32 %t11173, ptr %t11156 + %t11174 = load ptr, ptr %t410 + %t11175 = getelementptr inbounds %LSlice, ptr %t11174, i32 0, i32 1 + %t11176 = getelementptr inbounds %LSlice, ptr %t11174, i32 0, i32 2 + %t11177 = getelementptr inbounds %LSlice, ptr %t11174, i32 0, i32 0 + %t11178 = load i32, ptr %t11175 + %t11179 = load i32, ptr %t11176 + %t11180 = icmp sge i32 %t11178, %t11179 + br i1 %t11180, label %grow2304, label %put2305 +grow2304: + %t11181 = mul i32 %t11179, 2 + %t11182 = icmp eq i32 %t11179, 0 + %t11183 = select i1 %t11182, i32 8, i32 %t11181 + %t11184 = getelementptr ptr, ptr null, i32 1 + %t11185 = ptrtoint ptr %t11184 to i64 + %t11186 = zext i32 %t11183 to i64 + %t11187 = mul i64 %t11186, %t11185 + %t11188 = load ptr, ptr %t11177 + %t11189 = call ptr @realloc(ptr %t11188, i64 %t11187) + store ptr %t11189, ptr %t11177 + store i32 %t11183, ptr %t11176 + br label %put2305 +put2305: + %t11190 = load ptr, ptr %t11177 + %t11191 = getelementptr inbounds ptr, ptr %t11190, i32 %t11178 + store ptr @.str8045, ptr %t11191 + %t11192 = add i32 %t11178, 1 + store i32 %t11192, ptr %t11175 + %t11193 = load ptr, ptr %t410 + %t11194 = getelementptr inbounds %LSlice, ptr %t11193, i32 0, i32 1 + %t11195 = getelementptr inbounds %LSlice, ptr %t11193, i32 0, i32 2 + %t11196 = getelementptr inbounds %LSlice, ptr %t11193, i32 0, i32 0 + %t11197 = load i32, ptr %t11194 + %t11198 = load i32, ptr %t11195 + %t11199 = icmp sge i32 %t11197, %t11198 + br i1 %t11199, label %grow2306, label %put2307 +grow2306: + %t11200 = mul i32 %t11198, 2 + %t11201 = icmp eq i32 %t11198, 0 + %t11202 = select i1 %t11201, i32 8, i32 %t11200 + %t11203 = getelementptr ptr, ptr null, i32 1 + %t11204 = ptrtoint ptr %t11203 to i64 + %t11205 = zext i32 %t11202 to i64 + %t11206 = mul i64 %t11205, %t11204 + %t11207 = load ptr, ptr %t11196 + %t11208 = call ptr @realloc(ptr %t11207, i64 %t11206) + store ptr %t11208, ptr %t11196 + store i32 %t11202, ptr %t11195 + br label %put2307 +put2307: + %t11209 = load ptr, ptr %t11196 + %t11210 = getelementptr inbounds ptr, ptr %t11209, i32 %t11197 + store ptr @.str8046, ptr %t11210 + %t11211 = add i32 %t11197, 1 + store i32 %t11211, ptr %t11194 + br label %ifend2299 +ifend2299: + %t11212 = load ptr, ptr %t1 + %t11213 = call i32 @lp_str_eq(ptr %t11212, ptr @.str8047) + %t11214 = icmp ne i32 %t11213, 0 + br i1 %t11214, label %then2308, label %ifend2310 +then2308: + store ptr @.str8048, ptr %t403 + %t11215 = load ptr, ptr %t410 + %t11216 = getelementptr inbounds %LSlice, ptr %t11215, i32 0, i32 1 + %t11217 = getelementptr inbounds %LSlice, ptr %t11215, i32 0, i32 2 + %t11218 = getelementptr inbounds %LSlice, ptr %t11215, i32 0, i32 0 + %t11219 = load i32, ptr %t11216 + %t11220 = load i32, ptr %t11217 + %t11221 = icmp sge i32 %t11219, %t11220 + br i1 %t11221, label %grow2311, label %put2312 +grow2311: + %t11222 = mul i32 %t11220, 2 + %t11223 = icmp eq i32 %t11220, 0 + %t11224 = select i1 %t11223, i32 8, i32 %t11222 + %t11225 = getelementptr ptr, ptr null, i32 1 + %t11226 = ptrtoint ptr %t11225 to i64 + %t11227 = zext i32 %t11224 to i64 + %t11228 = mul i64 %t11227, %t11226 + %t11229 = load ptr, ptr %t11218 + %t11230 = call ptr @realloc(ptr %t11229, i64 %t11228) + store ptr %t11230, ptr %t11218 + store i32 %t11224, ptr %t11217 + br label %put2312 +put2312: + %t11231 = load ptr, ptr %t11218 + %t11232 = getelementptr inbounds ptr, ptr %t11231, i32 %t11219 + store ptr @.str8049, ptr %t11232 + %t11233 = add i32 %t11219, 1 + store i32 %t11233, ptr %t11216 + %t11234 = load ptr, ptr %t410 + %t11235 = getelementptr inbounds %LSlice, ptr %t11234, i32 0, i32 1 + %t11236 = getelementptr inbounds %LSlice, ptr %t11234, i32 0, i32 2 + %t11237 = getelementptr inbounds %LSlice, ptr %t11234, i32 0, i32 0 + %t11238 = load i32, ptr %t11235 + %t11239 = load i32, ptr %t11236 + %t11240 = icmp sge i32 %t11238, %t11239 + br i1 %t11240, label %grow2313, label %put2314 +grow2313: + %t11241 = mul i32 %t11239, 2 + %t11242 = icmp eq i32 %t11239, 0 + %t11243 = select i1 %t11242, i32 8, i32 %t11241 + %t11244 = getelementptr ptr, ptr null, i32 1 + %t11245 = ptrtoint ptr %t11244 to i64 + %t11246 = zext i32 %t11243 to i64 + %t11247 = mul i64 %t11246, %t11245 + %t11248 = load ptr, ptr %t11237 + %t11249 = call ptr @realloc(ptr %t11248, i64 %t11247) + store ptr %t11249, ptr %t11237 + store i32 %t11243, ptr %t11236 + br label %put2314 +put2314: + %t11250 = load ptr, ptr %t11237 + %t11251 = getelementptr inbounds ptr, ptr %t11250, i32 %t11238 + store ptr @.str8050, ptr %t11251 + %t11252 = add i32 %t11238, 1 + store i32 %t11252, ptr %t11235 + br label %ifend2310 +ifend2310: + %t11253 = load ptr, ptr %t1 + %t11254 = call i32 @lp_str_eq(ptr %t11253, ptr @.str8051) + %t11255 = icmp ne i32 %t11254, 0 + br i1 %t11255, label %then2315, label %ifend2317 +then2315: + store ptr @.str8052, ptr %t403 + %t11256 = load ptr, ptr %t410 + %t11257 = getelementptr inbounds %LSlice, ptr %t11256, i32 0, i32 1 + %t11258 = getelementptr inbounds %LSlice, ptr %t11256, i32 0, i32 2 + %t11259 = getelementptr inbounds %LSlice, ptr %t11256, i32 0, i32 0 + %t11260 = load i32, ptr %t11257 + %t11261 = load i32, ptr %t11258 + %t11262 = icmp sge i32 %t11260, %t11261 + br i1 %t11262, label %grow2318, label %put2319 +grow2318: + %t11263 = mul i32 %t11261, 2 + %t11264 = icmp eq i32 %t11261, 0 + %t11265 = select i1 %t11264, i32 8, i32 %t11263 + %t11266 = getelementptr ptr, ptr null, i32 1 + %t11267 = ptrtoint ptr %t11266 to i64 + %t11268 = zext i32 %t11265 to i64 + %t11269 = mul i64 %t11268, %t11267 + %t11270 = load ptr, ptr %t11259 + %t11271 = call ptr @realloc(ptr %t11270, i64 %t11269) + store ptr %t11271, ptr %t11259 + store i32 %t11265, ptr %t11258 + br label %put2319 +put2319: + %t11272 = load ptr, ptr %t11259 + %t11273 = getelementptr inbounds ptr, ptr %t11272, i32 %t11260 + store ptr @.str8053, ptr %t11273 + %t11274 = add i32 %t11260, 1 + store i32 %t11274, ptr %t11257 + br label %ifend2317 +ifend2317: + %t11275 = load ptr, ptr %t1 + %t11276 = call i32 @lp_str_eq(ptr %t11275, ptr @.str8054) + %t11277 = icmp ne i32 %t11276, 0 + br i1 %t11277, label %then2320, label %ifend2322 +then2320: + %t11278 = load ptr, ptr %t2 + %t11279 = getelementptr inbounds %Cmp_Node, ptr %t11278, i32 0, i32 7 + %t11280 = load ptr, ptr %t11279 + %t11281 = getelementptr inbounds %LSlice, ptr %t11280, i32 0, i32 1 + %t11282 = load i32, ptr %t11281 + %t11283 = icmp eq i32 %t11282, 2 + %t11284 = zext i1 %t11283 to i32 + %t11285 = icmp ne i32 %t11284, 0 + br i1 %t11285, label %then2323, label %else2324 +then2323: + store ptr @.str8055, ptr %t403 + %t11286 = load ptr, ptr %t410 + %t11287 = getelementptr inbounds %LSlice, ptr %t11286, i32 0, i32 1 + %t11288 = getelementptr inbounds %LSlice, ptr %t11286, i32 0, i32 2 + %t11289 = getelementptr inbounds %LSlice, ptr %t11286, i32 0, i32 0 + %t11290 = load i32, ptr %t11287 + %t11291 = load i32, ptr %t11288 + %t11292 = icmp sge i32 %t11290, %t11291 + br i1 %t11292, label %grow2326, label %put2327 +grow2326: + %t11293 = mul i32 %t11291, 2 + %t11294 = icmp eq i32 %t11291, 0 + %t11295 = select i1 %t11294, i32 8, i32 %t11293 + %t11296 = getelementptr ptr, ptr null, i32 1 + %t11297 = ptrtoint ptr %t11296 to i64 + %t11298 = zext i32 %t11295 to i64 + %t11299 = mul i64 %t11298, %t11297 + %t11300 = load ptr, ptr %t11289 + %t11301 = call ptr @realloc(ptr %t11300, i64 %t11299) + store ptr %t11301, ptr %t11289 + store i32 %t11295, ptr %t11288 + br label %put2327 +put2327: + %t11302 = load ptr, ptr %t11289 + %t11303 = getelementptr inbounds ptr, ptr %t11302, i32 %t11290 + store ptr @.str8056, ptr %t11303 + %t11304 = add i32 %t11290, 1 + store i32 %t11304, ptr %t11287 + %t11305 = load ptr, ptr %t410 + %t11306 = getelementptr inbounds %LSlice, ptr %t11305, i32 0, i32 1 + %t11307 = getelementptr inbounds %LSlice, ptr %t11305, i32 0, i32 2 + %t11308 = getelementptr inbounds %LSlice, ptr %t11305, i32 0, i32 0 + %t11309 = load i32, ptr %t11306 + %t11310 = load i32, ptr %t11307 + %t11311 = icmp sge i32 %t11309, %t11310 + br i1 %t11311, label %grow2328, label %put2329 +grow2328: + %t11312 = mul i32 %t11310, 2 + %t11313 = icmp eq i32 %t11310, 0 + %t11314 = select i1 %t11313, i32 8, i32 %t11312 + %t11315 = getelementptr ptr, ptr null, i32 1 + %t11316 = ptrtoint ptr %t11315 to i64 + %t11317 = zext i32 %t11314 to i64 + %t11318 = mul i64 %t11317, %t11316 + %t11319 = load ptr, ptr %t11308 + %t11320 = call ptr @realloc(ptr %t11319, i64 %t11318) + store ptr %t11320, ptr %t11308 + store i32 %t11314, ptr %t11307 + br label %put2329 +put2329: + %t11321 = load ptr, ptr %t11308 + %t11322 = getelementptr inbounds ptr, ptr %t11321, i32 %t11309 + store ptr @.str8057, ptr %t11322 + %t11323 = add i32 %t11309, 1 + store i32 %t11323, ptr %t11306 + br label %ifend2325 +else2324: + store ptr @.str8058, ptr %t403 + %t11324 = load ptr, ptr %t410 + %t11325 = getelementptr inbounds %LSlice, ptr %t11324, i32 0, i32 1 + %t11326 = getelementptr inbounds %LSlice, ptr %t11324, i32 0, i32 2 + %t11327 = getelementptr inbounds %LSlice, ptr %t11324, i32 0, i32 0 + %t11328 = load i32, ptr %t11325 + %t11329 = load i32, ptr %t11326 + %t11330 = icmp sge i32 %t11328, %t11329 + br i1 %t11330, label %grow2330, label %put2331 +grow2330: + %t11331 = mul i32 %t11329, 2 + %t11332 = icmp eq i32 %t11329, 0 + %t11333 = select i1 %t11332, i32 8, i32 %t11331 + %t11334 = getelementptr ptr, ptr null, i32 1 + %t11335 = ptrtoint ptr %t11334 to i64 + %t11336 = zext i32 %t11333 to i64 + %t11337 = mul i64 %t11336, %t11335 + %t11338 = load ptr, ptr %t11327 + %t11339 = call ptr @realloc(ptr %t11338, i64 %t11337) + store ptr %t11339, ptr %t11327 + store i32 %t11333, ptr %t11326 + br label %put2331 +put2331: + %t11340 = load ptr, ptr %t11327 + %t11341 = getelementptr inbounds ptr, ptr %t11340, i32 %t11328 + store ptr @.str8059, ptr %t11341 + %t11342 = add i32 %t11328, 1 + store i32 %t11342, ptr %t11325 + %t11343 = load ptr, ptr %t410 + %t11344 = getelementptr inbounds %LSlice, ptr %t11343, i32 0, i32 1 + %t11345 = getelementptr inbounds %LSlice, ptr %t11343, i32 0, i32 2 + %t11346 = getelementptr inbounds %LSlice, ptr %t11343, i32 0, i32 0 + %t11347 = load i32, ptr %t11344 + %t11348 = load i32, ptr %t11345 + %t11349 = icmp sge i32 %t11347, %t11348 + br i1 %t11349, label %grow2332, label %put2333 +grow2332: + %t11350 = mul i32 %t11348, 2 + %t11351 = icmp eq i32 %t11348, 0 + %t11352 = select i1 %t11351, i32 8, i32 %t11350 + %t11353 = getelementptr ptr, ptr null, i32 1 + %t11354 = ptrtoint ptr %t11353 to i64 + %t11355 = zext i32 %t11352 to i64 + %t11356 = mul i64 %t11355, %t11354 + %t11357 = load ptr, ptr %t11346 + %t11358 = call ptr @realloc(ptr %t11357, i64 %t11356) + store ptr %t11358, ptr %t11346 + store i32 %t11352, ptr %t11345 + br label %put2333 +put2333: + %t11359 = load ptr, ptr %t11346 + %t11360 = getelementptr inbounds ptr, ptr %t11359, i32 %t11347 + store ptr @.str8060, ptr %t11360 + %t11361 = add i32 %t11347, 1 + store i32 %t11361, ptr %t11344 + %t11362 = load ptr, ptr %t410 + %t11363 = getelementptr inbounds %LSlice, ptr %t11362, i32 0, i32 1 + %t11364 = getelementptr inbounds %LSlice, ptr %t11362, i32 0, i32 2 + %t11365 = getelementptr inbounds %LSlice, ptr %t11362, i32 0, i32 0 + %t11366 = load i32, ptr %t11363 + %t11367 = load i32, ptr %t11364 + %t11368 = icmp sge i32 %t11366, %t11367 + br i1 %t11368, label %grow2334, label %put2335 +grow2334: + %t11369 = mul i32 %t11367, 2 + %t11370 = icmp eq i32 %t11367, 0 + %t11371 = select i1 %t11370, i32 8, i32 %t11369 + %t11372 = getelementptr ptr, ptr null, i32 1 + %t11373 = ptrtoint ptr %t11372 to i64 + %t11374 = zext i32 %t11371 to i64 + %t11375 = mul i64 %t11374, %t11373 + %t11376 = load ptr, ptr %t11365 + %t11377 = call ptr @realloc(ptr %t11376, i64 %t11375) + store ptr %t11377, ptr %t11365 + store i32 %t11371, ptr %t11364 + br label %put2335 +put2335: + %t11378 = load ptr, ptr %t11365 + %t11379 = getelementptr inbounds ptr, ptr %t11378, i32 %t11366 + store ptr @.str8061, ptr %t11379 + %t11380 = add i32 %t11366, 1 + store i32 %t11380, ptr %t11363 + %t11381 = load ptr, ptr %t410 + %t11382 = getelementptr inbounds %LSlice, ptr %t11381, i32 0, i32 1 + %t11383 = getelementptr inbounds %LSlice, ptr %t11381, i32 0, i32 2 + %t11384 = getelementptr inbounds %LSlice, ptr %t11381, i32 0, i32 0 + %t11385 = load i32, ptr %t11382 + %t11386 = load i32, ptr %t11383 + %t11387 = icmp sge i32 %t11385, %t11386 + br i1 %t11387, label %grow2336, label %put2337 +grow2336: + %t11388 = mul i32 %t11386, 2 + %t11389 = icmp eq i32 %t11386, 0 + %t11390 = select i1 %t11389, i32 8, i32 %t11388 + %t11391 = getelementptr ptr, ptr null, i32 1 + %t11392 = ptrtoint ptr %t11391 to i64 + %t11393 = zext i32 %t11390 to i64 + %t11394 = mul i64 %t11393, %t11392 + %t11395 = load ptr, ptr %t11384 + %t11396 = call ptr @realloc(ptr %t11395, i64 %t11394) + store ptr %t11396, ptr %t11384 + store i32 %t11390, ptr %t11383 + br label %put2337 +put2337: + %t11397 = load ptr, ptr %t11384 + %t11398 = getelementptr inbounds ptr, ptr %t11397, i32 %t11385 + store ptr @.str8062, ptr %t11398 + %t11399 = add i32 %t11385, 1 + store i32 %t11399, ptr %t11382 + br label %ifend2325 +ifend2325: + br label %ifend2322 +ifend2322: + br label %ifend2296 +ifend2296: + %t11400 = load ptr, ptr %t0 + %t11401 = call i32 @lp_str_eq(ptr %t11400, ptr @.str8063) + %t11402 = icmp ne i32 %t11401, 0 + br i1 %t11402, label %then2338, label %ifend2340 +then2338: + %t11403 = load ptr, ptr %t1 + %t11404 = call i32 @lp_str_eq(ptr %t11403, ptr @.str8064) + %t11405 = icmp ne i32 %t11404, 0 + br i1 %t11405, label %then2341, label %ifend2343 +then2341: + store ptr @.str8065, ptr %t403 + %t11406 = load ptr, ptr %t410 + %t11407 = getelementptr inbounds %LSlice, ptr %t11406, i32 0, i32 1 + %t11408 = getelementptr inbounds %LSlice, ptr %t11406, i32 0, i32 2 + %t11409 = getelementptr inbounds %LSlice, ptr %t11406, i32 0, i32 0 + %t11410 = load i32, ptr %t11407 + %t11411 = load i32, ptr %t11408 + %t11412 = icmp sge i32 %t11410, %t11411 + br i1 %t11412, label %grow2344, label %put2345 +grow2344: + %t11413 = mul i32 %t11411, 2 + %t11414 = icmp eq i32 %t11411, 0 + %t11415 = select i1 %t11414, i32 8, i32 %t11413 + %t11416 = getelementptr ptr, ptr null, i32 1 + %t11417 = ptrtoint ptr %t11416 to i64 + %t11418 = zext i32 %t11415 to i64 + %t11419 = mul i64 %t11418, %t11417 + %t11420 = load ptr, ptr %t11409 + %t11421 = call ptr @realloc(ptr %t11420, i64 %t11419) + store ptr %t11421, ptr %t11409 + store i32 %t11415, ptr %t11408 + br label %put2345 +put2345: + %t11422 = load ptr, ptr %t11409 + %t11423 = getelementptr inbounds ptr, ptr %t11422, i32 %t11410 + store ptr @.str8066, ptr %t11423 + %t11424 = add i32 %t11410, 1 + store i32 %t11424, ptr %t11407 + %t11425 = load ptr, ptr %t410 + %t11426 = getelementptr inbounds %LSlice, ptr %t11425, i32 0, i32 1 + %t11427 = getelementptr inbounds %LSlice, ptr %t11425, i32 0, i32 2 + %t11428 = getelementptr inbounds %LSlice, ptr %t11425, i32 0, i32 0 + %t11429 = load i32, ptr %t11426 + %t11430 = load i32, ptr %t11427 + %t11431 = icmp sge i32 %t11429, %t11430 + br i1 %t11431, label %grow2346, label %put2347 +grow2346: + %t11432 = mul i32 %t11430, 2 + %t11433 = icmp eq i32 %t11430, 0 + %t11434 = select i1 %t11433, i32 8, i32 %t11432 + %t11435 = getelementptr ptr, ptr null, i32 1 + %t11436 = ptrtoint ptr %t11435 to i64 + %t11437 = zext i32 %t11434 to i64 + %t11438 = mul i64 %t11437, %t11436 + %t11439 = load ptr, ptr %t11428 + %t11440 = call ptr @realloc(ptr %t11439, i64 %t11438) + store ptr %t11440, ptr %t11428 + store i32 %t11434, ptr %t11427 + br label %put2347 +put2347: + %t11441 = load ptr, ptr %t11428 + %t11442 = getelementptr inbounds ptr, ptr %t11441, i32 %t11429 + store ptr @.str8067, ptr %t11442 + %t11443 = add i32 %t11429, 1 + store i32 %t11443, ptr %t11426 + %t11444 = load ptr, ptr %t410 + %t11445 = getelementptr inbounds %LSlice, ptr %t11444, i32 0, i32 1 + %t11446 = getelementptr inbounds %LSlice, ptr %t11444, i32 0, i32 2 + %t11447 = getelementptr inbounds %LSlice, ptr %t11444, i32 0, i32 0 + %t11448 = load i32, ptr %t11445 + %t11449 = load i32, ptr %t11446 + %t11450 = icmp sge i32 %t11448, %t11449 + br i1 %t11450, label %grow2348, label %put2349 +grow2348: + %t11451 = mul i32 %t11449, 2 + %t11452 = icmp eq i32 %t11449, 0 + %t11453 = select i1 %t11452, i32 8, i32 %t11451 + %t11454 = getelementptr ptr, ptr null, i32 1 + %t11455 = ptrtoint ptr %t11454 to i64 + %t11456 = zext i32 %t11453 to i64 + %t11457 = mul i64 %t11456, %t11455 + %t11458 = load ptr, ptr %t11447 + %t11459 = call ptr @realloc(ptr %t11458, i64 %t11457) + store ptr %t11459, ptr %t11447 + store i32 %t11453, ptr %t11446 + br label %put2349 +put2349: + %t11460 = load ptr, ptr %t11447 + %t11461 = getelementptr inbounds ptr, ptr %t11460, i32 %t11448 + store ptr @.str8068, ptr %t11461 + %t11462 = add i32 %t11448, 1 + store i32 %t11462, ptr %t11445 + %t11463 = load ptr, ptr %t410 + %t11464 = getelementptr inbounds %LSlice, ptr %t11463, i32 0, i32 1 + %t11465 = getelementptr inbounds %LSlice, ptr %t11463, i32 0, i32 2 + %t11466 = getelementptr inbounds %LSlice, ptr %t11463, i32 0, i32 0 + %t11467 = load i32, ptr %t11464 + %t11468 = load i32, ptr %t11465 + %t11469 = icmp sge i32 %t11467, %t11468 + br i1 %t11469, label %grow2350, label %put2351 +grow2350: + %t11470 = mul i32 %t11468, 2 + %t11471 = icmp eq i32 %t11468, 0 + %t11472 = select i1 %t11471, i32 8, i32 %t11470 + %t11473 = getelementptr ptr, ptr null, i32 1 + %t11474 = ptrtoint ptr %t11473 to i64 + %t11475 = zext i32 %t11472 to i64 + %t11476 = mul i64 %t11475, %t11474 + %t11477 = load ptr, ptr %t11466 + %t11478 = call ptr @realloc(ptr %t11477, i64 %t11476) + store ptr %t11478, ptr %t11466 + store i32 %t11472, ptr %t11465 + br label %put2351 +put2351: + %t11479 = load ptr, ptr %t11466 + %t11480 = getelementptr inbounds ptr, ptr %t11479, i32 %t11467 + store ptr @.str8069, ptr %t11480 + %t11481 = add i32 %t11467, 1 + store i32 %t11481, ptr %t11464 + %t11482 = load ptr, ptr %t410 + %t11483 = getelementptr inbounds %LSlice, ptr %t11482, i32 0, i32 1 + %t11484 = getelementptr inbounds %LSlice, ptr %t11482, i32 0, i32 2 + %t11485 = getelementptr inbounds %LSlice, ptr %t11482, i32 0, i32 0 + %t11486 = load i32, ptr %t11483 + %t11487 = load i32, ptr %t11484 + %t11488 = icmp sge i32 %t11486, %t11487 + br i1 %t11488, label %grow2352, label %put2353 +grow2352: + %t11489 = mul i32 %t11487, 2 + %t11490 = icmp eq i32 %t11487, 0 + %t11491 = select i1 %t11490, i32 8, i32 %t11489 + %t11492 = getelementptr ptr, ptr null, i32 1 + %t11493 = ptrtoint ptr %t11492 to i64 + %t11494 = zext i32 %t11491 to i64 + %t11495 = mul i64 %t11494, %t11493 + %t11496 = load ptr, ptr %t11485 + %t11497 = call ptr @realloc(ptr %t11496, i64 %t11495) + store ptr %t11497, ptr %t11485 + store i32 %t11491, ptr %t11484 + br label %put2353 +put2353: + %t11498 = load ptr, ptr %t11485 + %t11499 = getelementptr inbounds ptr, ptr %t11498, i32 %t11486 + store ptr @.str8070, ptr %t11499 + %t11500 = add i32 %t11486, 1 + store i32 %t11500, ptr %t11483 + br label %ifend2343 +ifend2343: + br label %ifend2340 +ifend2340: + %t11501 = load ptr, ptr %t0 + %t11502 = call i32 @lp_str_eq(ptr %t11501, ptr @.str8071) + %t11503 = icmp ne i32 %t11502, 0 + br i1 %t11503, label %then2354, label %ifend2356 +then2354: + %t11504 = load ptr, ptr %t1 + %t11505 = call i32 @lp_str_eq(ptr %t11504, ptr @.str8072) + %t11506 = icmp ne i32 %t11505, 0 + br i1 %t11506, label %then2357, label %ifend2359 +then2357: + store ptr @.str8073, ptr %t403 + %t11507 = load ptr, ptr %t410 + %t11508 = getelementptr inbounds %LSlice, ptr %t11507, i32 0, i32 1 + %t11509 = getelementptr inbounds %LSlice, ptr %t11507, i32 0, i32 2 + %t11510 = getelementptr inbounds %LSlice, ptr %t11507, i32 0, i32 0 + %t11511 = load i32, ptr %t11508 + %t11512 = load i32, ptr %t11509 + %t11513 = icmp sge i32 %t11511, %t11512 + br i1 %t11513, label %grow2360, label %put2361 +grow2360: + %t11514 = mul i32 %t11512, 2 + %t11515 = icmp eq i32 %t11512, 0 + %t11516 = select i1 %t11515, i32 8, i32 %t11514 + %t11517 = getelementptr ptr, ptr null, i32 1 + %t11518 = ptrtoint ptr %t11517 to i64 + %t11519 = zext i32 %t11516 to i64 + %t11520 = mul i64 %t11519, %t11518 + %t11521 = load ptr, ptr %t11510 + %t11522 = call ptr @realloc(ptr %t11521, i64 %t11520) + store ptr %t11522, ptr %t11510 + store i32 %t11516, ptr %t11509 + br label %put2361 +put2361: + %t11523 = load ptr, ptr %t11510 + %t11524 = getelementptr inbounds ptr, ptr %t11523, i32 %t11511 + store ptr @.str8074, ptr %t11524 + %t11525 = add i32 %t11511, 1 + store i32 %t11525, ptr %t11508 + %t11526 = load ptr, ptr %t410 + %t11527 = getelementptr inbounds %LSlice, ptr %t11526, i32 0, i32 1 + %t11528 = getelementptr inbounds %LSlice, ptr %t11526, i32 0, i32 2 + %t11529 = getelementptr inbounds %LSlice, ptr %t11526, i32 0, i32 0 + %t11530 = load i32, ptr %t11527 + %t11531 = load i32, ptr %t11528 + %t11532 = icmp sge i32 %t11530, %t11531 + br i1 %t11532, label %grow2362, label %put2363 +grow2362: + %t11533 = mul i32 %t11531, 2 + %t11534 = icmp eq i32 %t11531, 0 + %t11535 = select i1 %t11534, i32 8, i32 %t11533 + %t11536 = getelementptr ptr, ptr null, i32 1 + %t11537 = ptrtoint ptr %t11536 to i64 + %t11538 = zext i32 %t11535 to i64 + %t11539 = mul i64 %t11538, %t11537 + %t11540 = load ptr, ptr %t11529 + %t11541 = call ptr @realloc(ptr %t11540, i64 %t11539) + store ptr %t11541, ptr %t11529 + store i32 %t11535, ptr %t11528 + br label %put2363 +put2363: + %t11542 = load ptr, ptr %t11529 + %t11543 = getelementptr inbounds ptr, ptr %t11542, i32 %t11530 + store ptr @.str8075, ptr %t11543 + %t11544 = add i32 %t11530, 1 + store i32 %t11544, ptr %t11527 + %t11545 = load ptr, ptr %t410 + %t11546 = getelementptr inbounds %LSlice, ptr %t11545, i32 0, i32 1 + %t11547 = getelementptr inbounds %LSlice, ptr %t11545, i32 0, i32 2 + %t11548 = getelementptr inbounds %LSlice, ptr %t11545, i32 0, i32 0 + %t11549 = load i32, ptr %t11546 + %t11550 = load i32, ptr %t11547 + %t11551 = icmp sge i32 %t11549, %t11550 + br i1 %t11551, label %grow2364, label %put2365 +grow2364: + %t11552 = mul i32 %t11550, 2 + %t11553 = icmp eq i32 %t11550, 0 + %t11554 = select i1 %t11553, i32 8, i32 %t11552 + %t11555 = getelementptr ptr, ptr null, i32 1 + %t11556 = ptrtoint ptr %t11555 to i64 + %t11557 = zext i32 %t11554 to i64 + %t11558 = mul i64 %t11557, %t11556 + %t11559 = load ptr, ptr %t11548 + %t11560 = call ptr @realloc(ptr %t11559, i64 %t11558) + store ptr %t11560, ptr %t11548 + store i32 %t11554, ptr %t11547 + br label %put2365 +put2365: + %t11561 = load ptr, ptr %t11548 + %t11562 = getelementptr inbounds ptr, ptr %t11561, i32 %t11549 + store ptr @.str8076, ptr %t11562 + %t11563 = add i32 %t11549, 1 + store i32 %t11563, ptr %t11546 + %t11564 = load ptr, ptr %t410 + %t11565 = getelementptr inbounds %LSlice, ptr %t11564, i32 0, i32 1 + %t11566 = getelementptr inbounds %LSlice, ptr %t11564, i32 0, i32 2 + %t11567 = getelementptr inbounds %LSlice, ptr %t11564, i32 0, i32 0 + %t11568 = load i32, ptr %t11565 + %t11569 = load i32, ptr %t11566 + %t11570 = icmp sge i32 %t11568, %t11569 + br i1 %t11570, label %grow2366, label %put2367 +grow2366: + %t11571 = mul i32 %t11569, 2 + %t11572 = icmp eq i32 %t11569, 0 + %t11573 = select i1 %t11572, i32 8, i32 %t11571 + %t11574 = getelementptr ptr, ptr null, i32 1 + %t11575 = ptrtoint ptr %t11574 to i64 + %t11576 = zext i32 %t11573 to i64 + %t11577 = mul i64 %t11576, %t11575 + %t11578 = load ptr, ptr %t11567 + %t11579 = call ptr @realloc(ptr %t11578, i64 %t11577) + store ptr %t11579, ptr %t11567 + store i32 %t11573, ptr %t11566 + br label %put2367 +put2367: + %t11580 = load ptr, ptr %t11567 + %t11581 = getelementptr inbounds ptr, ptr %t11580, i32 %t11568 + store ptr @.str8077, ptr %t11581 + %t11582 = add i32 %t11568, 1 + store i32 %t11582, ptr %t11565 + br label %ifend2359 +ifend2359: + %t11583 = load ptr, ptr %t1 + %t11584 = call i32 @lp_str_eq(ptr %t11583, ptr @.str8078) + %t11585 = icmp ne i32 %t11584, 0 + br i1 %t11585, label %then2368, label %ifend2370 +then2368: + store ptr @.str8079, ptr %t403 + %t11586 = load ptr, ptr %t410 + %t11587 = getelementptr inbounds %LSlice, ptr %t11586, i32 0, i32 1 + %t11588 = getelementptr inbounds %LSlice, ptr %t11586, i32 0, i32 2 + %t11589 = getelementptr inbounds %LSlice, ptr %t11586, i32 0, i32 0 + %t11590 = load i32, ptr %t11587 + %t11591 = load i32, ptr %t11588 + %t11592 = icmp sge i32 %t11590, %t11591 + br i1 %t11592, label %grow2371, label %put2372 +grow2371: + %t11593 = mul i32 %t11591, 2 + %t11594 = icmp eq i32 %t11591, 0 + %t11595 = select i1 %t11594, i32 8, i32 %t11593 + %t11596 = getelementptr ptr, ptr null, i32 1 + %t11597 = ptrtoint ptr %t11596 to i64 + %t11598 = zext i32 %t11595 to i64 + %t11599 = mul i64 %t11598, %t11597 + %t11600 = load ptr, ptr %t11589 + %t11601 = call ptr @realloc(ptr %t11600, i64 %t11599) + store ptr %t11601, ptr %t11589 + store i32 %t11595, ptr %t11588 + br label %put2372 +put2372: + %t11602 = load ptr, ptr %t11589 + %t11603 = getelementptr inbounds ptr, ptr %t11602, i32 %t11590 + store ptr @.str8080, ptr %t11603 + %t11604 = add i32 %t11590, 1 + store i32 %t11604, ptr %t11587 + %t11605 = load ptr, ptr %t410 + %t11606 = getelementptr inbounds %LSlice, ptr %t11605, i32 0, i32 1 + %t11607 = getelementptr inbounds %LSlice, ptr %t11605, i32 0, i32 2 + %t11608 = getelementptr inbounds %LSlice, ptr %t11605, i32 0, i32 0 + %t11609 = load i32, ptr %t11606 + %t11610 = load i32, ptr %t11607 + %t11611 = icmp sge i32 %t11609, %t11610 + br i1 %t11611, label %grow2373, label %put2374 +grow2373: + %t11612 = mul i32 %t11610, 2 + %t11613 = icmp eq i32 %t11610, 0 + %t11614 = select i1 %t11613, i32 8, i32 %t11612 + %t11615 = getelementptr ptr, ptr null, i32 1 + %t11616 = ptrtoint ptr %t11615 to i64 + %t11617 = zext i32 %t11614 to i64 + %t11618 = mul i64 %t11617, %t11616 + %t11619 = load ptr, ptr %t11608 + %t11620 = call ptr @realloc(ptr %t11619, i64 %t11618) + store ptr %t11620, ptr %t11608 + store i32 %t11614, ptr %t11607 + br label %put2374 +put2374: + %t11621 = load ptr, ptr %t11608 + %t11622 = getelementptr inbounds ptr, ptr %t11621, i32 %t11609 + store ptr @.str8081, ptr %t11622 + %t11623 = add i32 %t11609, 1 + store i32 %t11623, ptr %t11606 + %t11624 = load ptr, ptr %t410 + %t11625 = getelementptr inbounds %LSlice, ptr %t11624, i32 0, i32 1 + %t11626 = getelementptr inbounds %LSlice, ptr %t11624, i32 0, i32 2 + %t11627 = getelementptr inbounds %LSlice, ptr %t11624, i32 0, i32 0 + %t11628 = load i32, ptr %t11625 + %t11629 = load i32, ptr %t11626 + %t11630 = icmp sge i32 %t11628, %t11629 + br i1 %t11630, label %grow2375, label %put2376 +grow2375: + %t11631 = mul i32 %t11629, 2 + %t11632 = icmp eq i32 %t11629, 0 + %t11633 = select i1 %t11632, i32 8, i32 %t11631 + %t11634 = getelementptr ptr, ptr null, i32 1 + %t11635 = ptrtoint ptr %t11634 to i64 + %t11636 = zext i32 %t11633 to i64 + %t11637 = mul i64 %t11636, %t11635 + %t11638 = load ptr, ptr %t11627 + %t11639 = call ptr @realloc(ptr %t11638, i64 %t11637) + store ptr %t11639, ptr %t11627 + store i32 %t11633, ptr %t11626 + br label %put2376 +put2376: + %t11640 = load ptr, ptr %t11627 + %t11641 = getelementptr inbounds ptr, ptr %t11640, i32 %t11628 + store ptr @.str8082, ptr %t11641 + %t11642 = add i32 %t11628, 1 + store i32 %t11642, ptr %t11625 + %t11643 = load ptr, ptr %t410 + %t11644 = getelementptr inbounds %LSlice, ptr %t11643, i32 0, i32 1 + %t11645 = getelementptr inbounds %LSlice, ptr %t11643, i32 0, i32 2 + %t11646 = getelementptr inbounds %LSlice, ptr %t11643, i32 0, i32 0 + %t11647 = load i32, ptr %t11644 + %t11648 = load i32, ptr %t11645 + %t11649 = icmp sge i32 %t11647, %t11648 + br i1 %t11649, label %grow2377, label %put2378 +grow2377: + %t11650 = mul i32 %t11648, 2 + %t11651 = icmp eq i32 %t11648, 0 + %t11652 = select i1 %t11651, i32 8, i32 %t11650 + %t11653 = getelementptr ptr, ptr null, i32 1 + %t11654 = ptrtoint ptr %t11653 to i64 + %t11655 = zext i32 %t11652 to i64 + %t11656 = mul i64 %t11655, %t11654 + %t11657 = load ptr, ptr %t11646 + %t11658 = call ptr @realloc(ptr %t11657, i64 %t11656) + store ptr %t11658, ptr %t11646 + store i32 %t11652, ptr %t11645 + br label %put2378 +put2378: + %t11659 = load ptr, ptr %t11646 + %t11660 = getelementptr inbounds ptr, ptr %t11659, i32 %t11647 + store ptr @.str8083, ptr %t11660 + %t11661 = add i32 %t11647, 1 + store i32 %t11661, ptr %t11644 + br label %ifend2370 +ifend2370: + %t11662 = load ptr, ptr %t1 + %t11663 = call i32 @lp_str_eq(ptr %t11662, ptr @.str8084) + %t11664 = icmp ne i32 %t11663, 0 + br i1 %t11664, label %then2379, label %ifend2381 +then2379: + store ptr @.str8085, ptr %t403 + %t11665 = load ptr, ptr %t410 + %t11666 = getelementptr inbounds %LSlice, ptr %t11665, i32 0, i32 1 + %t11667 = getelementptr inbounds %LSlice, ptr %t11665, i32 0, i32 2 + %t11668 = getelementptr inbounds %LSlice, ptr %t11665, i32 0, i32 0 + %t11669 = load i32, ptr %t11666 + %t11670 = load i32, ptr %t11667 + %t11671 = icmp sge i32 %t11669, %t11670 + br i1 %t11671, label %grow2382, label %put2383 +grow2382: + %t11672 = mul i32 %t11670, 2 + %t11673 = icmp eq i32 %t11670, 0 + %t11674 = select i1 %t11673, i32 8, i32 %t11672 + %t11675 = getelementptr ptr, ptr null, i32 1 + %t11676 = ptrtoint ptr %t11675 to i64 + %t11677 = zext i32 %t11674 to i64 + %t11678 = mul i64 %t11677, %t11676 + %t11679 = load ptr, ptr %t11668 + %t11680 = call ptr @realloc(ptr %t11679, i64 %t11678) + store ptr %t11680, ptr %t11668 + store i32 %t11674, ptr %t11667 + br label %put2383 +put2383: + %t11681 = load ptr, ptr %t11668 + %t11682 = getelementptr inbounds ptr, ptr %t11681, i32 %t11669 + store ptr @.str8086, ptr %t11682 + %t11683 = add i32 %t11669, 1 + store i32 %t11683, ptr %t11666 + %t11684 = load ptr, ptr %t410 + %t11685 = getelementptr inbounds %LSlice, ptr %t11684, i32 0, i32 1 + %t11686 = getelementptr inbounds %LSlice, ptr %t11684, i32 0, i32 2 + %t11687 = getelementptr inbounds %LSlice, ptr %t11684, i32 0, i32 0 + %t11688 = load i32, ptr %t11685 + %t11689 = load i32, ptr %t11686 + %t11690 = icmp sge i32 %t11688, %t11689 + br i1 %t11690, label %grow2384, label %put2385 +grow2384: + %t11691 = mul i32 %t11689, 2 + %t11692 = icmp eq i32 %t11689, 0 + %t11693 = select i1 %t11692, i32 8, i32 %t11691 + %t11694 = getelementptr ptr, ptr null, i32 1 + %t11695 = ptrtoint ptr %t11694 to i64 + %t11696 = zext i32 %t11693 to i64 + %t11697 = mul i64 %t11696, %t11695 + %t11698 = load ptr, ptr %t11687 + %t11699 = call ptr @realloc(ptr %t11698, i64 %t11697) + store ptr %t11699, ptr %t11687 + store i32 %t11693, ptr %t11686 + br label %put2385 +put2385: + %t11700 = load ptr, ptr %t11687 + %t11701 = getelementptr inbounds ptr, ptr %t11700, i32 %t11688 + store ptr @.str8087, ptr %t11701 + %t11702 = add i32 %t11688, 1 + store i32 %t11702, ptr %t11685 + br label %ifend2381 +ifend2381: + %t11703 = load ptr, ptr %t1 + %t11704 = call i32 @lp_str_eq(ptr %t11703, ptr @.str8088) + %t11705 = icmp ne i32 %t11704, 0 + br i1 %t11705, label %then2386, label %ifend2388 +then2386: + store ptr @.str8089, ptr %t403 + %t11706 = load ptr, ptr %t410 + %t11707 = getelementptr inbounds %LSlice, ptr %t11706, i32 0, i32 1 + %t11708 = getelementptr inbounds %LSlice, ptr %t11706, i32 0, i32 2 + %t11709 = getelementptr inbounds %LSlice, ptr %t11706, i32 0, i32 0 + %t11710 = load i32, ptr %t11707 + %t11711 = load i32, ptr %t11708 + %t11712 = icmp sge i32 %t11710, %t11711 + br i1 %t11712, label %grow2389, label %put2390 +grow2389: + %t11713 = mul i32 %t11711, 2 + %t11714 = icmp eq i32 %t11711, 0 + %t11715 = select i1 %t11714, i32 8, i32 %t11713 + %t11716 = getelementptr ptr, ptr null, i32 1 + %t11717 = ptrtoint ptr %t11716 to i64 + %t11718 = zext i32 %t11715 to i64 + %t11719 = mul i64 %t11718, %t11717 + %t11720 = load ptr, ptr %t11709 + %t11721 = call ptr @realloc(ptr %t11720, i64 %t11719) + store ptr %t11721, ptr %t11709 + store i32 %t11715, ptr %t11708 + br label %put2390 +put2390: + %t11722 = load ptr, ptr %t11709 + %t11723 = getelementptr inbounds ptr, ptr %t11722, i32 %t11710 + store ptr @.str8090, ptr %t11723 + %t11724 = add i32 %t11710, 1 + store i32 %t11724, ptr %t11707 + br label %ifend2388 +ifend2388: + %t11725 = load ptr, ptr %t1 + %t11726 = call i32 @lp_str_eq(ptr %t11725, ptr @.str8091) + %t11727 = icmp ne i32 %t11726, 0 + br i1 %t11727, label %then2391, label %ifend2393 +then2391: + store ptr @.str8092, ptr %t403 + %t11728 = load ptr, ptr %t410 + %t11729 = getelementptr inbounds %LSlice, ptr %t11728, i32 0, i32 1 + %t11730 = getelementptr inbounds %LSlice, ptr %t11728, i32 0, i32 2 + %t11731 = getelementptr inbounds %LSlice, ptr %t11728, i32 0, i32 0 + %t11732 = load i32, ptr %t11729 + %t11733 = load i32, ptr %t11730 + %t11734 = icmp sge i32 %t11732, %t11733 + br i1 %t11734, label %grow2394, label %put2395 +grow2394: + %t11735 = mul i32 %t11733, 2 + %t11736 = icmp eq i32 %t11733, 0 + %t11737 = select i1 %t11736, i32 8, i32 %t11735 + %t11738 = getelementptr ptr, ptr null, i32 1 + %t11739 = ptrtoint ptr %t11738 to i64 + %t11740 = zext i32 %t11737 to i64 + %t11741 = mul i64 %t11740, %t11739 + %t11742 = load ptr, ptr %t11731 + %t11743 = call ptr @realloc(ptr %t11742, i64 %t11741) + store ptr %t11743, ptr %t11731 + store i32 %t11737, ptr %t11730 + br label %put2395 +put2395: + %t11744 = load ptr, ptr %t11731 + %t11745 = getelementptr inbounds ptr, ptr %t11744, i32 %t11732 + store ptr @.str8093, ptr %t11745 + %t11746 = add i32 %t11732, 1 + store i32 %t11746, ptr %t11729 + br label %ifend2393 +ifend2393: + %t11747 = load ptr, ptr %t1 + %t11748 = call i32 @lp_str_eq(ptr %t11747, ptr @.str8094) + %t11749 = icmp ne i32 %t11748, 0 + br i1 %t11749, label %then2396, label %ifend2398 +then2396: + store ptr @.str8095, ptr %t403 + %t11750 = load ptr, ptr %t410 + %t11751 = getelementptr inbounds %LSlice, ptr %t11750, i32 0, i32 1 + %t11752 = getelementptr inbounds %LSlice, ptr %t11750, i32 0, i32 2 + %t11753 = getelementptr inbounds %LSlice, ptr %t11750, i32 0, i32 0 + %t11754 = load i32, ptr %t11751 + %t11755 = load i32, ptr %t11752 + %t11756 = icmp sge i32 %t11754, %t11755 + br i1 %t11756, label %grow2399, label %put2400 +grow2399: + %t11757 = mul i32 %t11755, 2 + %t11758 = icmp eq i32 %t11755, 0 + %t11759 = select i1 %t11758, i32 8, i32 %t11757 + %t11760 = getelementptr ptr, ptr null, i32 1 + %t11761 = ptrtoint ptr %t11760 to i64 + %t11762 = zext i32 %t11759 to i64 + %t11763 = mul i64 %t11762, %t11761 + %t11764 = load ptr, ptr %t11753 + %t11765 = call ptr @realloc(ptr %t11764, i64 %t11763) + store ptr %t11765, ptr %t11753 + store i32 %t11759, ptr %t11752 + br label %put2400 +put2400: + %t11766 = load ptr, ptr %t11753 + %t11767 = getelementptr inbounds ptr, ptr %t11766, i32 %t11754 + store ptr @.str8096, ptr %t11767 + %t11768 = add i32 %t11754, 1 + store i32 %t11768, ptr %t11751 + %t11769 = load ptr, ptr %t410 + %t11770 = getelementptr inbounds %LSlice, ptr %t11769, i32 0, i32 1 + %t11771 = getelementptr inbounds %LSlice, ptr %t11769, i32 0, i32 2 + %t11772 = getelementptr inbounds %LSlice, ptr %t11769, i32 0, i32 0 + %t11773 = load i32, ptr %t11770 + %t11774 = load i32, ptr %t11771 + %t11775 = icmp sge i32 %t11773, %t11774 + br i1 %t11775, label %grow2401, label %put2402 +grow2401: + %t11776 = mul i32 %t11774, 2 + %t11777 = icmp eq i32 %t11774, 0 + %t11778 = select i1 %t11777, i32 8, i32 %t11776 + %t11779 = getelementptr ptr, ptr null, i32 1 + %t11780 = ptrtoint ptr %t11779 to i64 + %t11781 = zext i32 %t11778 to i64 + %t11782 = mul i64 %t11781, %t11780 + %t11783 = load ptr, ptr %t11772 + %t11784 = call ptr @realloc(ptr %t11783, i64 %t11782) + store ptr %t11784, ptr %t11772 + store i32 %t11778, ptr %t11771 + br label %put2402 +put2402: + %t11785 = load ptr, ptr %t11772 + %t11786 = getelementptr inbounds ptr, ptr %t11785, i32 %t11773 + store ptr @.str8097, ptr %t11786 + %t11787 = add i32 %t11773, 1 + store i32 %t11787, ptr %t11770 + br label %ifend2398 +ifend2398: + br label %ifend2356 +ifend2356: + %t11788 = load ptr, ptr %t0 + %t11789 = call i32 @lp_str_eq(ptr %t11788, ptr @.str8098) + %t11790 = icmp ne i32 %t11789, 0 + br i1 %t11790, label %then2403, label %ifend2405 +then2403: + %t11791 = load ptr, ptr %t1 + %t11792 = call i32 @lp_str_eq(ptr %t11791, ptr @.str8099) + %t11793 = icmp ne i32 %t11792, 0 + br i1 %t11793, label %then2406, label %ifend2408 +then2406: + store ptr @.str8100, ptr %t403 + %t11794 = load ptr, ptr %t410 + %t11795 = getelementptr inbounds %LSlice, ptr %t11794, i32 0, i32 1 + %t11796 = getelementptr inbounds %LSlice, ptr %t11794, i32 0, i32 2 + %t11797 = getelementptr inbounds %LSlice, ptr %t11794, i32 0, i32 0 + %t11798 = load i32, ptr %t11795 + %t11799 = load i32, ptr %t11796 + %t11800 = icmp sge i32 %t11798, %t11799 + br i1 %t11800, label %grow2409, label %put2410 +grow2409: + %t11801 = mul i32 %t11799, 2 + %t11802 = icmp eq i32 %t11799, 0 + %t11803 = select i1 %t11802, i32 8, i32 %t11801 + %t11804 = getelementptr ptr, ptr null, i32 1 + %t11805 = ptrtoint ptr %t11804 to i64 + %t11806 = zext i32 %t11803 to i64 + %t11807 = mul i64 %t11806, %t11805 + %t11808 = load ptr, ptr %t11797 + %t11809 = call ptr @realloc(ptr %t11808, i64 %t11807) + store ptr %t11809, ptr %t11797 + store i32 %t11803, ptr %t11796 + br label %put2410 +put2410: + %t11810 = load ptr, ptr %t11797 + %t11811 = getelementptr inbounds ptr, ptr %t11810, i32 %t11798 + store ptr @.str8101, ptr %t11811 + %t11812 = add i32 %t11798, 1 + store i32 %t11812, ptr %t11795 + br label %ifend2408 +ifend2408: + %t11813 = load ptr, ptr %t1 + %t11814 = call i32 @lp_str_eq(ptr %t11813, ptr @.str8102) + %t11815 = icmp ne i32 %t11814, 0 + br i1 %t11815, label %then2411, label %ifend2413 +then2411: + store ptr @.str8103, ptr %t403 + %t11816 = load ptr, ptr %t410 + %t11817 = getelementptr inbounds %LSlice, ptr %t11816, i32 0, i32 1 + %t11818 = getelementptr inbounds %LSlice, ptr %t11816, i32 0, i32 2 + %t11819 = getelementptr inbounds %LSlice, ptr %t11816, i32 0, i32 0 + %t11820 = load i32, ptr %t11817 + %t11821 = load i32, ptr %t11818 + %t11822 = icmp sge i32 %t11820, %t11821 + br i1 %t11822, label %grow2414, label %put2415 +grow2414: + %t11823 = mul i32 %t11821, 2 + %t11824 = icmp eq i32 %t11821, 0 + %t11825 = select i1 %t11824, i32 8, i32 %t11823 + %t11826 = getelementptr ptr, ptr null, i32 1 + %t11827 = ptrtoint ptr %t11826 to i64 + %t11828 = zext i32 %t11825 to i64 + %t11829 = mul i64 %t11828, %t11827 + %t11830 = load ptr, ptr %t11819 + %t11831 = call ptr @realloc(ptr %t11830, i64 %t11829) + store ptr %t11831, ptr %t11819 + store i32 %t11825, ptr %t11818 + br label %put2415 +put2415: + %t11832 = load ptr, ptr %t11819 + %t11833 = getelementptr inbounds ptr, ptr %t11832, i32 %t11820 + store ptr @.str8104, ptr %t11833 + %t11834 = add i32 %t11820, 1 + store i32 %t11834, ptr %t11817 + br label %ifend2413 +ifend2413: + %t11835 = load ptr, ptr %t1 + %t11836 = call i32 @lp_str_eq(ptr %t11835, ptr @.str8105) + %t11837 = icmp ne i32 %t11836, 0 + br i1 %t11837, label %then2416, label %ifend2418 +then2416: + store ptr @.str8106, ptr %t403 + %t11838 = load ptr, ptr %t410 + %t11839 = getelementptr inbounds %LSlice, ptr %t11838, i32 0, i32 1 + %t11840 = getelementptr inbounds %LSlice, ptr %t11838, i32 0, i32 2 + %t11841 = getelementptr inbounds %LSlice, ptr %t11838, i32 0, i32 0 + %t11842 = load i32, ptr %t11839 + %t11843 = load i32, ptr %t11840 + %t11844 = icmp sge i32 %t11842, %t11843 + br i1 %t11844, label %grow2419, label %put2420 +grow2419: + %t11845 = mul i32 %t11843, 2 + %t11846 = icmp eq i32 %t11843, 0 + %t11847 = select i1 %t11846, i32 8, i32 %t11845 + %t11848 = getelementptr ptr, ptr null, i32 1 + %t11849 = ptrtoint ptr %t11848 to i64 + %t11850 = zext i32 %t11847 to i64 + %t11851 = mul i64 %t11850, %t11849 + %t11852 = load ptr, ptr %t11841 + %t11853 = call ptr @realloc(ptr %t11852, i64 %t11851) + store ptr %t11853, ptr %t11841 + store i32 %t11847, ptr %t11840 + br label %put2420 +put2420: + %t11854 = load ptr, ptr %t11841 + %t11855 = getelementptr inbounds ptr, ptr %t11854, i32 %t11842 + store ptr @.str8107, ptr %t11855 + %t11856 = add i32 %t11842, 1 + store i32 %t11856, ptr %t11839 + %t11857 = load ptr, ptr %t410 + %t11858 = getelementptr inbounds %LSlice, ptr %t11857, i32 0, i32 1 + %t11859 = getelementptr inbounds %LSlice, ptr %t11857, i32 0, i32 2 + %t11860 = getelementptr inbounds %LSlice, ptr %t11857, i32 0, i32 0 + %t11861 = load i32, ptr %t11858 + %t11862 = load i32, ptr %t11859 + %t11863 = icmp sge i32 %t11861, %t11862 + br i1 %t11863, label %grow2421, label %put2422 +grow2421: + %t11864 = mul i32 %t11862, 2 + %t11865 = icmp eq i32 %t11862, 0 + %t11866 = select i1 %t11865, i32 8, i32 %t11864 + %t11867 = getelementptr ptr, ptr null, i32 1 + %t11868 = ptrtoint ptr %t11867 to i64 + %t11869 = zext i32 %t11866 to i64 + %t11870 = mul i64 %t11869, %t11868 + %t11871 = load ptr, ptr %t11860 + %t11872 = call ptr @realloc(ptr %t11871, i64 %t11870) + store ptr %t11872, ptr %t11860 + store i32 %t11866, ptr %t11859 + br label %put2422 +put2422: + %t11873 = load ptr, ptr %t11860 + %t11874 = getelementptr inbounds ptr, ptr %t11873, i32 %t11861 + store ptr @.str8108, ptr %t11874 + %t11875 = add i32 %t11861, 1 + store i32 %t11875, ptr %t11858 + %t11876 = load ptr, ptr %t410 + %t11877 = getelementptr inbounds %LSlice, ptr %t11876, i32 0, i32 1 + %t11878 = getelementptr inbounds %LSlice, ptr %t11876, i32 0, i32 2 + %t11879 = getelementptr inbounds %LSlice, ptr %t11876, i32 0, i32 0 + %t11880 = load i32, ptr %t11877 + %t11881 = load i32, ptr %t11878 + %t11882 = icmp sge i32 %t11880, %t11881 + br i1 %t11882, label %grow2423, label %put2424 +grow2423: + %t11883 = mul i32 %t11881, 2 + %t11884 = icmp eq i32 %t11881, 0 + %t11885 = select i1 %t11884, i32 8, i32 %t11883 + %t11886 = getelementptr ptr, ptr null, i32 1 + %t11887 = ptrtoint ptr %t11886 to i64 + %t11888 = zext i32 %t11885 to i64 + %t11889 = mul i64 %t11888, %t11887 + %t11890 = load ptr, ptr %t11879 + %t11891 = call ptr @realloc(ptr %t11890, i64 %t11889) + store ptr %t11891, ptr %t11879 + store i32 %t11885, ptr %t11878 + br label %put2424 +put2424: + %t11892 = load ptr, ptr %t11879 + %t11893 = getelementptr inbounds ptr, ptr %t11892, i32 %t11880 + store ptr @.str8109, ptr %t11893 + %t11894 = add i32 %t11880, 1 + store i32 %t11894, ptr %t11877 + %t11895 = load ptr, ptr %t410 + %t11896 = getelementptr inbounds %LSlice, ptr %t11895, i32 0, i32 1 + %t11897 = getelementptr inbounds %LSlice, ptr %t11895, i32 0, i32 2 + %t11898 = getelementptr inbounds %LSlice, ptr %t11895, i32 0, i32 0 + %t11899 = load i32, ptr %t11896 + %t11900 = load i32, ptr %t11897 + %t11901 = icmp sge i32 %t11899, %t11900 + br i1 %t11901, label %grow2425, label %put2426 +grow2425: + %t11902 = mul i32 %t11900, 2 + %t11903 = icmp eq i32 %t11900, 0 + %t11904 = select i1 %t11903, i32 8, i32 %t11902 + %t11905 = getelementptr ptr, ptr null, i32 1 + %t11906 = ptrtoint ptr %t11905 to i64 + %t11907 = zext i32 %t11904 to i64 + %t11908 = mul i64 %t11907, %t11906 + %t11909 = load ptr, ptr %t11898 + %t11910 = call ptr @realloc(ptr %t11909, i64 %t11908) + store ptr %t11910, ptr %t11898 + store i32 %t11904, ptr %t11897 + br label %put2426 +put2426: + %t11911 = load ptr, ptr %t11898 + %t11912 = getelementptr inbounds ptr, ptr %t11911, i32 %t11899 + store ptr @.str8110, ptr %t11912 + %t11913 = add i32 %t11899, 1 + store i32 %t11913, ptr %t11896 + %t11914 = load ptr, ptr %t410 + %t11915 = getelementptr inbounds %LSlice, ptr %t11914, i32 0, i32 1 + %t11916 = getelementptr inbounds %LSlice, ptr %t11914, i32 0, i32 2 + %t11917 = getelementptr inbounds %LSlice, ptr %t11914, i32 0, i32 0 + %t11918 = load i32, ptr %t11915 + %t11919 = load i32, ptr %t11916 + %t11920 = icmp sge i32 %t11918, %t11919 + br i1 %t11920, label %grow2427, label %put2428 +grow2427: + %t11921 = mul i32 %t11919, 2 + %t11922 = icmp eq i32 %t11919, 0 + %t11923 = select i1 %t11922, i32 8, i32 %t11921 + %t11924 = getelementptr ptr, ptr null, i32 1 + %t11925 = ptrtoint ptr %t11924 to i64 + %t11926 = zext i32 %t11923 to i64 + %t11927 = mul i64 %t11926, %t11925 + %t11928 = load ptr, ptr %t11917 + %t11929 = call ptr @realloc(ptr %t11928, i64 %t11927) + store ptr %t11929, ptr %t11917 + store i32 %t11923, ptr %t11916 + br label %put2428 +put2428: + %t11930 = load ptr, ptr %t11917 + %t11931 = getelementptr inbounds ptr, ptr %t11930, i32 %t11918 + store ptr @.str8111, ptr %t11931 + %t11932 = add i32 %t11918, 1 + store i32 %t11932, ptr %t11915 + %t11933 = load ptr, ptr %t410 + %t11934 = getelementptr inbounds %LSlice, ptr %t11933, i32 0, i32 1 + %t11935 = getelementptr inbounds %LSlice, ptr %t11933, i32 0, i32 2 + %t11936 = getelementptr inbounds %LSlice, ptr %t11933, i32 0, i32 0 + %t11937 = load i32, ptr %t11934 + %t11938 = load i32, ptr %t11935 + %t11939 = icmp sge i32 %t11937, %t11938 + br i1 %t11939, label %grow2429, label %put2430 +grow2429: + %t11940 = mul i32 %t11938, 2 + %t11941 = icmp eq i32 %t11938, 0 + %t11942 = select i1 %t11941, i32 8, i32 %t11940 + %t11943 = getelementptr ptr, ptr null, i32 1 + %t11944 = ptrtoint ptr %t11943 to i64 + %t11945 = zext i32 %t11942 to i64 + %t11946 = mul i64 %t11945, %t11944 + %t11947 = load ptr, ptr %t11936 + %t11948 = call ptr @realloc(ptr %t11947, i64 %t11946) + store ptr %t11948, ptr %t11936 + store i32 %t11942, ptr %t11935 + br label %put2430 +put2430: + %t11949 = load ptr, ptr %t11936 + %t11950 = getelementptr inbounds ptr, ptr %t11949, i32 %t11937 + store ptr @.str8112, ptr %t11950 + %t11951 = add i32 %t11937, 1 + store i32 %t11951, ptr %t11934 + br label %ifend2418 +ifend2418: + %t11952 = load ptr, ptr %t1 + %t11953 = call i32 @lp_str_eq(ptr %t11952, ptr @.str8113) + %t11954 = icmp ne i32 %t11953, 0 + br i1 %t11954, label %then2431, label %ifend2433 +then2431: + store ptr @.str8114, ptr %t403 + %t11955 = load ptr, ptr %t410 + %t11956 = getelementptr inbounds %LSlice, ptr %t11955, i32 0, i32 1 + %t11957 = getelementptr inbounds %LSlice, ptr %t11955, i32 0, i32 2 + %t11958 = getelementptr inbounds %LSlice, ptr %t11955, i32 0, i32 0 + %t11959 = load i32, ptr %t11956 + %t11960 = load i32, ptr %t11957 + %t11961 = icmp sge i32 %t11959, %t11960 + br i1 %t11961, label %grow2434, label %put2435 +grow2434: + %t11962 = mul i32 %t11960, 2 + %t11963 = icmp eq i32 %t11960, 0 + %t11964 = select i1 %t11963, i32 8, i32 %t11962 + %t11965 = getelementptr ptr, ptr null, i32 1 + %t11966 = ptrtoint ptr %t11965 to i64 + %t11967 = zext i32 %t11964 to i64 + %t11968 = mul i64 %t11967, %t11966 + %t11969 = load ptr, ptr %t11958 + %t11970 = call ptr @realloc(ptr %t11969, i64 %t11968) + store ptr %t11970, ptr %t11958 + store i32 %t11964, ptr %t11957 + br label %put2435 +put2435: + %t11971 = load ptr, ptr %t11958 + %t11972 = getelementptr inbounds ptr, ptr %t11971, i32 %t11959 + store ptr @.str8115, ptr %t11972 + %t11973 = add i32 %t11959, 1 + store i32 %t11973, ptr %t11956 + %t11974 = load ptr, ptr %t410 + %t11975 = getelementptr inbounds %LSlice, ptr %t11974, i32 0, i32 1 + %t11976 = getelementptr inbounds %LSlice, ptr %t11974, i32 0, i32 2 + %t11977 = getelementptr inbounds %LSlice, ptr %t11974, i32 0, i32 0 + %t11978 = load i32, ptr %t11975 + %t11979 = load i32, ptr %t11976 + %t11980 = icmp sge i32 %t11978, %t11979 + br i1 %t11980, label %grow2436, label %put2437 +grow2436: + %t11981 = mul i32 %t11979, 2 + %t11982 = icmp eq i32 %t11979, 0 + %t11983 = select i1 %t11982, i32 8, i32 %t11981 + %t11984 = getelementptr ptr, ptr null, i32 1 + %t11985 = ptrtoint ptr %t11984 to i64 + %t11986 = zext i32 %t11983 to i64 + %t11987 = mul i64 %t11986, %t11985 + %t11988 = load ptr, ptr %t11977 + %t11989 = call ptr @realloc(ptr %t11988, i64 %t11987) + store ptr %t11989, ptr %t11977 + store i32 %t11983, ptr %t11976 + br label %put2437 +put2437: + %t11990 = load ptr, ptr %t11977 + %t11991 = getelementptr inbounds ptr, ptr %t11990, i32 %t11978 + store ptr @.str8116, ptr %t11991 + %t11992 = add i32 %t11978, 1 + store i32 %t11992, ptr %t11975 + %t11993 = load ptr, ptr %t410 + %t11994 = getelementptr inbounds %LSlice, ptr %t11993, i32 0, i32 1 + %t11995 = getelementptr inbounds %LSlice, ptr %t11993, i32 0, i32 2 + %t11996 = getelementptr inbounds %LSlice, ptr %t11993, i32 0, i32 0 + %t11997 = load i32, ptr %t11994 + %t11998 = load i32, ptr %t11995 + %t11999 = icmp sge i32 %t11997, %t11998 + br i1 %t11999, label %grow2438, label %put2439 +grow2438: + %t12000 = mul i32 %t11998, 2 + %t12001 = icmp eq i32 %t11998, 0 + %t12002 = select i1 %t12001, i32 8, i32 %t12000 + %t12003 = getelementptr ptr, ptr null, i32 1 + %t12004 = ptrtoint ptr %t12003 to i64 + %t12005 = zext i32 %t12002 to i64 + %t12006 = mul i64 %t12005, %t12004 + %t12007 = load ptr, ptr %t11996 + %t12008 = call ptr @realloc(ptr %t12007, i64 %t12006) + store ptr %t12008, ptr %t11996 + store i32 %t12002, ptr %t11995 + br label %put2439 +put2439: + %t12009 = load ptr, ptr %t11996 + %t12010 = getelementptr inbounds ptr, ptr %t12009, i32 %t11997 + store ptr @.str8117, ptr %t12010 + %t12011 = add i32 %t11997, 1 + store i32 %t12011, ptr %t11994 + %t12012 = load ptr, ptr %t410 + %t12013 = getelementptr inbounds %LSlice, ptr %t12012, i32 0, i32 1 + %t12014 = getelementptr inbounds %LSlice, ptr %t12012, i32 0, i32 2 + %t12015 = getelementptr inbounds %LSlice, ptr %t12012, i32 0, i32 0 + %t12016 = load i32, ptr %t12013 + %t12017 = load i32, ptr %t12014 + %t12018 = icmp sge i32 %t12016, %t12017 + br i1 %t12018, label %grow2440, label %put2441 +grow2440: + %t12019 = mul i32 %t12017, 2 + %t12020 = icmp eq i32 %t12017, 0 + %t12021 = select i1 %t12020, i32 8, i32 %t12019 + %t12022 = getelementptr ptr, ptr null, i32 1 + %t12023 = ptrtoint ptr %t12022 to i64 + %t12024 = zext i32 %t12021 to i64 + %t12025 = mul i64 %t12024, %t12023 + %t12026 = load ptr, ptr %t12015 + %t12027 = call ptr @realloc(ptr %t12026, i64 %t12025) + store ptr %t12027, ptr %t12015 + store i32 %t12021, ptr %t12014 + br label %put2441 +put2441: + %t12028 = load ptr, ptr %t12015 + %t12029 = getelementptr inbounds ptr, ptr %t12028, i32 %t12016 + store ptr @.str8118, ptr %t12029 + %t12030 = add i32 %t12016, 1 + store i32 %t12030, ptr %t12013 + %t12031 = load ptr, ptr %t410 + %t12032 = getelementptr inbounds %LSlice, ptr %t12031, i32 0, i32 1 + %t12033 = getelementptr inbounds %LSlice, ptr %t12031, i32 0, i32 2 + %t12034 = getelementptr inbounds %LSlice, ptr %t12031, i32 0, i32 0 + %t12035 = load i32, ptr %t12032 + %t12036 = load i32, ptr %t12033 + %t12037 = icmp sge i32 %t12035, %t12036 + br i1 %t12037, label %grow2442, label %put2443 +grow2442: + %t12038 = mul i32 %t12036, 2 + %t12039 = icmp eq i32 %t12036, 0 + %t12040 = select i1 %t12039, i32 8, i32 %t12038 + %t12041 = getelementptr ptr, ptr null, i32 1 + %t12042 = ptrtoint ptr %t12041 to i64 + %t12043 = zext i32 %t12040 to i64 + %t12044 = mul i64 %t12043, %t12042 + %t12045 = load ptr, ptr %t12034 + %t12046 = call ptr @realloc(ptr %t12045, i64 %t12044) + store ptr %t12046, ptr %t12034 + store i32 %t12040, ptr %t12033 + br label %put2443 +put2443: + %t12047 = load ptr, ptr %t12034 + %t12048 = getelementptr inbounds ptr, ptr %t12047, i32 %t12035 + store ptr @.str8119, ptr %t12048 + %t12049 = add i32 %t12035, 1 + store i32 %t12049, ptr %t12032 + %t12050 = load ptr, ptr %t410 + %t12051 = getelementptr inbounds %LSlice, ptr %t12050, i32 0, i32 1 + %t12052 = getelementptr inbounds %LSlice, ptr %t12050, i32 0, i32 2 + %t12053 = getelementptr inbounds %LSlice, ptr %t12050, i32 0, i32 0 + %t12054 = load i32, ptr %t12051 + %t12055 = load i32, ptr %t12052 + %t12056 = icmp sge i32 %t12054, %t12055 + br i1 %t12056, label %grow2444, label %put2445 +grow2444: + %t12057 = mul i32 %t12055, 2 + %t12058 = icmp eq i32 %t12055, 0 + %t12059 = select i1 %t12058, i32 8, i32 %t12057 + %t12060 = getelementptr ptr, ptr null, i32 1 + %t12061 = ptrtoint ptr %t12060 to i64 + %t12062 = zext i32 %t12059 to i64 + %t12063 = mul i64 %t12062, %t12061 + %t12064 = load ptr, ptr %t12053 + %t12065 = call ptr @realloc(ptr %t12064, i64 %t12063) + store ptr %t12065, ptr %t12053 + store i32 %t12059, ptr %t12052 + br label %put2445 +put2445: + %t12066 = load ptr, ptr %t12053 + %t12067 = getelementptr inbounds ptr, ptr %t12066, i32 %t12054 + store ptr @.str8120, ptr %t12067 + %t12068 = add i32 %t12054, 1 + store i32 %t12068, ptr %t12051 + %t12069 = load ptr, ptr %t410 + %t12070 = getelementptr inbounds %LSlice, ptr %t12069, i32 0, i32 1 + %t12071 = getelementptr inbounds %LSlice, ptr %t12069, i32 0, i32 2 + %t12072 = getelementptr inbounds %LSlice, ptr %t12069, i32 0, i32 0 + %t12073 = load i32, ptr %t12070 + %t12074 = load i32, ptr %t12071 + %t12075 = icmp sge i32 %t12073, %t12074 + br i1 %t12075, label %grow2446, label %put2447 +grow2446: + %t12076 = mul i32 %t12074, 2 + %t12077 = icmp eq i32 %t12074, 0 + %t12078 = select i1 %t12077, i32 8, i32 %t12076 + %t12079 = getelementptr ptr, ptr null, i32 1 + %t12080 = ptrtoint ptr %t12079 to i64 + %t12081 = zext i32 %t12078 to i64 + %t12082 = mul i64 %t12081, %t12080 + %t12083 = load ptr, ptr %t12072 + %t12084 = call ptr @realloc(ptr %t12083, i64 %t12082) + store ptr %t12084, ptr %t12072 + store i32 %t12078, ptr %t12071 + br label %put2447 +put2447: + %t12085 = load ptr, ptr %t12072 + %t12086 = getelementptr inbounds ptr, ptr %t12085, i32 %t12073 + store ptr @.str8121, ptr %t12086 + %t12087 = add i32 %t12073, 1 + store i32 %t12087, ptr %t12070 + br label %ifend2433 +ifend2433: + br label %ifend2405 +ifend2405: + %t12088 = load ptr, ptr %t0 + %t12089 = call i32 @lp_str_eq(ptr %t12088, ptr @.str8122) + %t12090 = icmp ne i32 %t12089, 0 + br i1 %t12090, label %then2448, label %ifend2450 +then2448: + %t12091 = load ptr, ptr %t1 + %t12092 = call i32 @lp_str_eq(ptr %t12091, ptr @.str8123) + %t12093 = icmp ne i32 %t12092, 0 + br i1 %t12093, label %then2451, label %ifend2453 +then2451: + store ptr @.str8124, ptr %t403 + %t12094 = load ptr, ptr %t410 + %t12095 = getelementptr inbounds %LSlice, ptr %t12094, i32 0, i32 1 + %t12096 = getelementptr inbounds %LSlice, ptr %t12094, i32 0, i32 2 + %t12097 = getelementptr inbounds %LSlice, ptr %t12094, i32 0, i32 0 + %t12098 = load i32, ptr %t12095 + %t12099 = load i32, ptr %t12096 + %t12100 = icmp sge i32 %t12098, %t12099 + br i1 %t12100, label %grow2454, label %put2455 +grow2454: + %t12101 = mul i32 %t12099, 2 + %t12102 = icmp eq i32 %t12099, 0 + %t12103 = select i1 %t12102, i32 8, i32 %t12101 + %t12104 = getelementptr ptr, ptr null, i32 1 + %t12105 = ptrtoint ptr %t12104 to i64 + %t12106 = zext i32 %t12103 to i64 + %t12107 = mul i64 %t12106, %t12105 + %t12108 = load ptr, ptr %t12097 + %t12109 = call ptr @realloc(ptr %t12108, i64 %t12107) + store ptr %t12109, ptr %t12097 + store i32 %t12103, ptr %t12096 + br label %put2455 +put2455: + %t12110 = load ptr, ptr %t12097 + %t12111 = getelementptr inbounds ptr, ptr %t12110, i32 %t12098 + store ptr @.str8125, ptr %t12111 + %t12112 = add i32 %t12098, 1 + store i32 %t12112, ptr %t12095 + br label %ifend2453 +ifend2453: + %t12113 = load ptr, ptr %t1 + %t12114 = call i32 @lp_str_eq(ptr %t12113, ptr @.str8126) + %t12115 = icmp ne i32 %t12114, 0 + br i1 %t12115, label %then2456, label %ifend2458 +then2456: + store ptr @.str8127, ptr %t403 + %t12116 = load ptr, ptr %t410 + %t12117 = getelementptr inbounds %LSlice, ptr %t12116, i32 0, i32 1 + %t12118 = getelementptr inbounds %LSlice, ptr %t12116, i32 0, i32 2 + %t12119 = getelementptr inbounds %LSlice, ptr %t12116, i32 0, i32 0 + %t12120 = load i32, ptr %t12117 + %t12121 = load i32, ptr %t12118 + %t12122 = icmp sge i32 %t12120, %t12121 + br i1 %t12122, label %grow2459, label %put2460 +grow2459: + %t12123 = mul i32 %t12121, 2 + %t12124 = icmp eq i32 %t12121, 0 + %t12125 = select i1 %t12124, i32 8, i32 %t12123 + %t12126 = getelementptr ptr, ptr null, i32 1 + %t12127 = ptrtoint ptr %t12126 to i64 + %t12128 = zext i32 %t12125 to i64 + %t12129 = mul i64 %t12128, %t12127 + %t12130 = load ptr, ptr %t12119 + %t12131 = call ptr @realloc(ptr %t12130, i64 %t12129) + store ptr %t12131, ptr %t12119 + store i32 %t12125, ptr %t12118 + br label %put2460 +put2460: + %t12132 = load ptr, ptr %t12119 + %t12133 = getelementptr inbounds ptr, ptr %t12132, i32 %t12120 + store ptr @.str8128, ptr %t12133 + %t12134 = add i32 %t12120, 1 + store i32 %t12134, ptr %t12117 + %t12135 = load ptr, ptr %t410 + %t12136 = getelementptr inbounds %LSlice, ptr %t12135, i32 0, i32 1 + %t12137 = getelementptr inbounds %LSlice, ptr %t12135, i32 0, i32 2 + %t12138 = getelementptr inbounds %LSlice, ptr %t12135, i32 0, i32 0 + %t12139 = load i32, ptr %t12136 + %t12140 = load i32, ptr %t12137 + %t12141 = icmp sge i32 %t12139, %t12140 + br i1 %t12141, label %grow2461, label %put2462 +grow2461: + %t12142 = mul i32 %t12140, 2 + %t12143 = icmp eq i32 %t12140, 0 + %t12144 = select i1 %t12143, i32 8, i32 %t12142 + %t12145 = getelementptr ptr, ptr null, i32 1 + %t12146 = ptrtoint ptr %t12145 to i64 + %t12147 = zext i32 %t12144 to i64 + %t12148 = mul i64 %t12147, %t12146 + %t12149 = load ptr, ptr %t12138 + %t12150 = call ptr @realloc(ptr %t12149, i64 %t12148) + store ptr %t12150, ptr %t12138 + store i32 %t12144, ptr %t12137 + br label %put2462 +put2462: + %t12151 = load ptr, ptr %t12138 + %t12152 = getelementptr inbounds ptr, ptr %t12151, i32 %t12139 + store ptr @.str8129, ptr %t12152 + %t12153 = add i32 %t12139, 1 + store i32 %t12153, ptr %t12136 + br label %ifend2458 +ifend2458: + %t12154 = load ptr, ptr %t1 + %t12155 = call i32 @lp_str_eq(ptr %t12154, ptr @.str8130) + %t12156 = icmp ne i32 %t12155, 0 + br i1 %t12156, label %then2463, label %ifend2465 +then2463: + store ptr @.str8131, ptr %t403 + br label %ifend2465 +ifend2465: + %t12157 = load ptr, ptr %t1 + %t12158 = call i32 @lp_str_eq(ptr %t12157, ptr @.str8132) + %t12159 = icmp ne i32 %t12158, 0 + br i1 %t12159, label %then2466, label %ifend2468 +then2466: + store ptr @.str8133, ptr %t403 + %t12160 = load ptr, ptr %t410 + %t12161 = getelementptr inbounds %LSlice, ptr %t12160, i32 0, i32 1 + %t12162 = getelementptr inbounds %LSlice, ptr %t12160, i32 0, i32 2 + %t12163 = getelementptr inbounds %LSlice, ptr %t12160, i32 0, i32 0 + %t12164 = load i32, ptr %t12161 + %t12165 = load i32, ptr %t12162 + %t12166 = icmp sge i32 %t12164, %t12165 + br i1 %t12166, label %grow2469, label %put2470 +grow2469: + %t12167 = mul i32 %t12165, 2 + %t12168 = icmp eq i32 %t12165, 0 + %t12169 = select i1 %t12168, i32 8, i32 %t12167 + %t12170 = getelementptr ptr, ptr null, i32 1 + %t12171 = ptrtoint ptr %t12170 to i64 + %t12172 = zext i32 %t12169 to i64 + %t12173 = mul i64 %t12172, %t12171 + %t12174 = load ptr, ptr %t12163 + %t12175 = call ptr @realloc(ptr %t12174, i64 %t12173) + store ptr %t12175, ptr %t12163 + store i32 %t12169, ptr %t12162 + br label %put2470 +put2470: + %t12176 = load ptr, ptr %t12163 + %t12177 = getelementptr inbounds ptr, ptr %t12176, i32 %t12164 + store ptr @.str8134, ptr %t12177 + %t12178 = add i32 %t12164, 1 + store i32 %t12178, ptr %t12161 + br label %ifend2468 +ifend2468: + %t12179 = load ptr, ptr %t1 + %t12180 = call i32 @lp_str_eq(ptr %t12179, ptr @.str8135) + %t12181 = icmp ne i32 %t12180, 0 + br i1 %t12181, label %then2471, label %ifend2473 +then2471: + store ptr @.str8136, ptr %t403 + %t12182 = load ptr, ptr %t410 + %t12183 = getelementptr inbounds %LSlice, ptr %t12182, i32 0, i32 1 + %t12184 = getelementptr inbounds %LSlice, ptr %t12182, i32 0, i32 2 + %t12185 = getelementptr inbounds %LSlice, ptr %t12182, i32 0, i32 0 + %t12186 = load i32, ptr %t12183 + %t12187 = load i32, ptr %t12184 + %t12188 = icmp sge i32 %t12186, %t12187 + br i1 %t12188, label %grow2474, label %put2475 +grow2474: + %t12189 = mul i32 %t12187, 2 + %t12190 = icmp eq i32 %t12187, 0 + %t12191 = select i1 %t12190, i32 8, i32 %t12189 + %t12192 = getelementptr ptr, ptr null, i32 1 + %t12193 = ptrtoint ptr %t12192 to i64 + %t12194 = zext i32 %t12191 to i64 + %t12195 = mul i64 %t12194, %t12193 + %t12196 = load ptr, ptr %t12185 + %t12197 = call ptr @realloc(ptr %t12196, i64 %t12195) + store ptr %t12197, ptr %t12185 + store i32 %t12191, ptr %t12184 + br label %put2475 +put2475: + %t12198 = load ptr, ptr %t12185 + %t12199 = getelementptr inbounds ptr, ptr %t12198, i32 %t12186 + store ptr @.str8137, ptr %t12199 + %t12200 = add i32 %t12186, 1 + store i32 %t12200, ptr %t12183 + br label %ifend2473 +ifend2473: + %t12201 = load ptr, ptr %t1 + %t12202 = call i32 @lp_str_eq(ptr %t12201, ptr @.str8138) + %t12203 = icmp ne i32 %t12202, 0 + br i1 %t12203, label %then2476, label %ifend2478 +then2476: + store ptr @.str8139, ptr %t403 + %t12204 = load ptr, ptr %t410 + %t12205 = getelementptr inbounds %LSlice, ptr %t12204, i32 0, i32 1 + %t12206 = getelementptr inbounds %LSlice, ptr %t12204, i32 0, i32 2 + %t12207 = getelementptr inbounds %LSlice, ptr %t12204, i32 0, i32 0 + %t12208 = load i32, ptr %t12205 + %t12209 = load i32, ptr %t12206 + %t12210 = icmp sge i32 %t12208, %t12209 + br i1 %t12210, label %grow2479, label %put2480 +grow2479: + %t12211 = mul i32 %t12209, 2 + %t12212 = icmp eq i32 %t12209, 0 + %t12213 = select i1 %t12212, i32 8, i32 %t12211 + %t12214 = getelementptr ptr, ptr null, i32 1 + %t12215 = ptrtoint ptr %t12214 to i64 + %t12216 = zext i32 %t12213 to i64 + %t12217 = mul i64 %t12216, %t12215 + %t12218 = load ptr, ptr %t12207 + %t12219 = call ptr @realloc(ptr %t12218, i64 %t12217) + store ptr %t12219, ptr %t12207 + store i32 %t12213, ptr %t12206 + br label %put2480 +put2480: + %t12220 = load ptr, ptr %t12207 + %t12221 = getelementptr inbounds ptr, ptr %t12220, i32 %t12208 + store ptr @.str8140, ptr %t12221 + %t12222 = add i32 %t12208, 1 + store i32 %t12222, ptr %t12205 + %t12223 = load ptr, ptr %t410 + %t12224 = getelementptr inbounds %LSlice, ptr %t12223, i32 0, i32 1 + %t12225 = getelementptr inbounds %LSlice, ptr %t12223, i32 0, i32 2 + %t12226 = getelementptr inbounds %LSlice, ptr %t12223, i32 0, i32 0 + %t12227 = load i32, ptr %t12224 + %t12228 = load i32, ptr %t12225 + %t12229 = icmp sge i32 %t12227, %t12228 + br i1 %t12229, label %grow2481, label %put2482 +grow2481: + %t12230 = mul i32 %t12228, 2 + %t12231 = icmp eq i32 %t12228, 0 + %t12232 = select i1 %t12231, i32 8, i32 %t12230 + %t12233 = getelementptr ptr, ptr null, i32 1 + %t12234 = ptrtoint ptr %t12233 to i64 + %t12235 = zext i32 %t12232 to i64 + %t12236 = mul i64 %t12235, %t12234 + %t12237 = load ptr, ptr %t12226 + %t12238 = call ptr @realloc(ptr %t12237, i64 %t12236) + store ptr %t12238, ptr %t12226 + store i32 %t12232, ptr %t12225 + br label %put2482 +put2482: + %t12239 = load ptr, ptr %t12226 + %t12240 = getelementptr inbounds ptr, ptr %t12239, i32 %t12227 + store ptr @.str8141, ptr %t12240 + %t12241 = add i32 %t12227, 1 + store i32 %t12241, ptr %t12224 + br label %ifend2478 +ifend2478: + %t12242 = load ptr, ptr %t1 + %t12243 = call i32 @lp_str_eq(ptr %t12242, ptr @.str8142) + %t12244 = icmp ne i32 %t12243, 0 + br i1 %t12244, label %then2483, label %ifend2485 +then2483: + store ptr @.str8143, ptr %t403 + %t12245 = load ptr, ptr %t410 + %t12246 = getelementptr inbounds %LSlice, ptr %t12245, i32 0, i32 1 + %t12247 = getelementptr inbounds %LSlice, ptr %t12245, i32 0, i32 2 + %t12248 = getelementptr inbounds %LSlice, ptr %t12245, i32 0, i32 0 + %t12249 = load i32, ptr %t12246 + %t12250 = load i32, ptr %t12247 + %t12251 = icmp sge i32 %t12249, %t12250 + br i1 %t12251, label %grow2486, label %put2487 +grow2486: + %t12252 = mul i32 %t12250, 2 + %t12253 = icmp eq i32 %t12250, 0 + %t12254 = select i1 %t12253, i32 8, i32 %t12252 + %t12255 = getelementptr ptr, ptr null, i32 1 + %t12256 = ptrtoint ptr %t12255 to i64 + %t12257 = zext i32 %t12254 to i64 + %t12258 = mul i64 %t12257, %t12256 + %t12259 = load ptr, ptr %t12248 + %t12260 = call ptr @realloc(ptr %t12259, i64 %t12258) + store ptr %t12260, ptr %t12248 + store i32 %t12254, ptr %t12247 + br label %put2487 +put2487: + %t12261 = load ptr, ptr %t12248 + %t12262 = getelementptr inbounds ptr, ptr %t12261, i32 %t12249 + store ptr @.str8144, ptr %t12262 + %t12263 = add i32 %t12249, 1 + store i32 %t12263, ptr %t12246 + %t12264 = load ptr, ptr %t410 + %t12265 = getelementptr inbounds %LSlice, ptr %t12264, i32 0, i32 1 + %t12266 = getelementptr inbounds %LSlice, ptr %t12264, i32 0, i32 2 + %t12267 = getelementptr inbounds %LSlice, ptr %t12264, i32 0, i32 0 + %t12268 = load i32, ptr %t12265 + %t12269 = load i32, ptr %t12266 + %t12270 = icmp sge i32 %t12268, %t12269 + br i1 %t12270, label %grow2488, label %put2489 +grow2488: + %t12271 = mul i32 %t12269, 2 + %t12272 = icmp eq i32 %t12269, 0 + %t12273 = select i1 %t12272, i32 8, i32 %t12271 + %t12274 = getelementptr ptr, ptr null, i32 1 + %t12275 = ptrtoint ptr %t12274 to i64 + %t12276 = zext i32 %t12273 to i64 + %t12277 = mul i64 %t12276, %t12275 + %t12278 = load ptr, ptr %t12267 + %t12279 = call ptr @realloc(ptr %t12278, i64 %t12277) + store ptr %t12279, ptr %t12267 + store i32 %t12273, ptr %t12266 + br label %put2489 +put2489: + %t12280 = load ptr, ptr %t12267 + %t12281 = getelementptr inbounds ptr, ptr %t12280, i32 %t12268 + store ptr @.str8145, ptr %t12281 + %t12282 = add i32 %t12268, 1 + store i32 %t12282, ptr %t12265 + br label %ifend2485 +ifend2485: + %t12283 = load ptr, ptr %t1 + %t12284 = call i32 @lp_str_eq(ptr %t12283, ptr @.str8146) + %t12285 = icmp ne i32 %t12284, 0 + br i1 %t12285, label %then2490, label %ifend2492 +then2490: + store ptr @.str8147, ptr %t403 + %t12286 = load ptr, ptr %t410 + %t12287 = getelementptr inbounds %LSlice, ptr %t12286, i32 0, i32 1 + %t12288 = getelementptr inbounds %LSlice, ptr %t12286, i32 0, i32 2 + %t12289 = getelementptr inbounds %LSlice, ptr %t12286, i32 0, i32 0 + %t12290 = load i32, ptr %t12287 + %t12291 = load i32, ptr %t12288 + %t12292 = icmp sge i32 %t12290, %t12291 + br i1 %t12292, label %grow2493, label %put2494 +grow2493: + %t12293 = mul i32 %t12291, 2 + %t12294 = icmp eq i32 %t12291, 0 + %t12295 = select i1 %t12294, i32 8, i32 %t12293 + %t12296 = getelementptr ptr, ptr null, i32 1 + %t12297 = ptrtoint ptr %t12296 to i64 + %t12298 = zext i32 %t12295 to i64 + %t12299 = mul i64 %t12298, %t12297 + %t12300 = load ptr, ptr %t12289 + %t12301 = call ptr @realloc(ptr %t12300, i64 %t12299) + store ptr %t12301, ptr %t12289 + store i32 %t12295, ptr %t12288 + br label %put2494 +put2494: + %t12302 = load ptr, ptr %t12289 + %t12303 = getelementptr inbounds ptr, ptr %t12302, i32 %t12290 + store ptr @.str8148, ptr %t12303 + %t12304 = add i32 %t12290, 1 + store i32 %t12304, ptr %t12287 + %t12305 = load ptr, ptr %t410 + %t12306 = getelementptr inbounds %LSlice, ptr %t12305, i32 0, i32 1 + %t12307 = getelementptr inbounds %LSlice, ptr %t12305, i32 0, i32 2 + %t12308 = getelementptr inbounds %LSlice, ptr %t12305, i32 0, i32 0 + %t12309 = load i32, ptr %t12306 + %t12310 = load i32, ptr %t12307 + %t12311 = icmp sge i32 %t12309, %t12310 + br i1 %t12311, label %grow2495, label %put2496 +grow2495: + %t12312 = mul i32 %t12310, 2 + %t12313 = icmp eq i32 %t12310, 0 + %t12314 = select i1 %t12313, i32 8, i32 %t12312 + %t12315 = getelementptr ptr, ptr null, i32 1 + %t12316 = ptrtoint ptr %t12315 to i64 + %t12317 = zext i32 %t12314 to i64 + %t12318 = mul i64 %t12317, %t12316 + %t12319 = load ptr, ptr %t12308 + %t12320 = call ptr @realloc(ptr %t12319, i64 %t12318) + store ptr %t12320, ptr %t12308 + store i32 %t12314, ptr %t12307 + br label %put2496 +put2496: + %t12321 = load ptr, ptr %t12308 + %t12322 = getelementptr inbounds ptr, ptr %t12321, i32 %t12309 + store ptr @.str8149, ptr %t12322 + %t12323 = add i32 %t12309, 1 + store i32 %t12323, ptr %t12306 + %t12324 = load ptr, ptr %t410 + %t12325 = getelementptr inbounds %LSlice, ptr %t12324, i32 0, i32 1 + %t12326 = getelementptr inbounds %LSlice, ptr %t12324, i32 0, i32 2 + %t12327 = getelementptr inbounds %LSlice, ptr %t12324, i32 0, i32 0 + %t12328 = load i32, ptr %t12325 + %t12329 = load i32, ptr %t12326 + %t12330 = icmp sge i32 %t12328, %t12329 + br i1 %t12330, label %grow2497, label %put2498 +grow2497: + %t12331 = mul i32 %t12329, 2 + %t12332 = icmp eq i32 %t12329, 0 + %t12333 = select i1 %t12332, i32 8, i32 %t12331 + %t12334 = getelementptr ptr, ptr null, i32 1 + %t12335 = ptrtoint ptr %t12334 to i64 + %t12336 = zext i32 %t12333 to i64 + %t12337 = mul i64 %t12336, %t12335 + %t12338 = load ptr, ptr %t12327 + %t12339 = call ptr @realloc(ptr %t12338, i64 %t12337) + store ptr %t12339, ptr %t12327 + store i32 %t12333, ptr %t12326 + br label %put2498 +put2498: + %t12340 = load ptr, ptr %t12327 + %t12341 = getelementptr inbounds ptr, ptr %t12340, i32 %t12328 + store ptr @.str8150, ptr %t12341 + %t12342 = add i32 %t12328, 1 + store i32 %t12342, ptr %t12325 + br label %ifend2492 +ifend2492: + %t12343 = load ptr, ptr %t1 + %t12344 = call i32 @lp_str_eq(ptr %t12343, ptr @.str8151) + %t12345 = icmp ne i32 %t12344, 0 + br i1 %t12345, label %then2499, label %ifend2501 +then2499: + store ptr @.str8152, ptr %t403 + %t12346 = load ptr, ptr %t410 + %t12347 = getelementptr inbounds %LSlice, ptr %t12346, i32 0, i32 1 + %t12348 = getelementptr inbounds %LSlice, ptr %t12346, i32 0, i32 2 + %t12349 = getelementptr inbounds %LSlice, ptr %t12346, i32 0, i32 0 + %t12350 = load i32, ptr %t12347 + %t12351 = load i32, ptr %t12348 + %t12352 = icmp sge i32 %t12350, %t12351 + br i1 %t12352, label %grow2502, label %put2503 +grow2502: + %t12353 = mul i32 %t12351, 2 + %t12354 = icmp eq i32 %t12351, 0 + %t12355 = select i1 %t12354, i32 8, i32 %t12353 + %t12356 = getelementptr ptr, ptr null, i32 1 + %t12357 = ptrtoint ptr %t12356 to i64 + %t12358 = zext i32 %t12355 to i64 + %t12359 = mul i64 %t12358, %t12357 + %t12360 = load ptr, ptr %t12349 + %t12361 = call ptr @realloc(ptr %t12360, i64 %t12359) + store ptr %t12361, ptr %t12349 + store i32 %t12355, ptr %t12348 + br label %put2503 +put2503: + %t12362 = load ptr, ptr %t12349 + %t12363 = getelementptr inbounds ptr, ptr %t12362, i32 %t12350 + store ptr @.str8153, ptr %t12363 + %t12364 = add i32 %t12350, 1 + store i32 %t12364, ptr %t12347 + %t12365 = load ptr, ptr %t410 + %t12366 = getelementptr inbounds %LSlice, ptr %t12365, i32 0, i32 1 + %t12367 = getelementptr inbounds %LSlice, ptr %t12365, i32 0, i32 2 + %t12368 = getelementptr inbounds %LSlice, ptr %t12365, i32 0, i32 0 + %t12369 = load i32, ptr %t12366 + %t12370 = load i32, ptr %t12367 + %t12371 = icmp sge i32 %t12369, %t12370 + br i1 %t12371, label %grow2504, label %put2505 +grow2504: + %t12372 = mul i32 %t12370, 2 + %t12373 = icmp eq i32 %t12370, 0 + %t12374 = select i1 %t12373, i32 8, i32 %t12372 + %t12375 = getelementptr ptr, ptr null, i32 1 + %t12376 = ptrtoint ptr %t12375 to i64 + %t12377 = zext i32 %t12374 to i64 + %t12378 = mul i64 %t12377, %t12376 + %t12379 = load ptr, ptr %t12368 + %t12380 = call ptr @realloc(ptr %t12379, i64 %t12378) + store ptr %t12380, ptr %t12368 + store i32 %t12374, ptr %t12367 + br label %put2505 +put2505: + %t12381 = load ptr, ptr %t12368 + %t12382 = getelementptr inbounds ptr, ptr %t12381, i32 %t12369 + store ptr @.str8154, ptr %t12382 + %t12383 = add i32 %t12369, 1 + store i32 %t12383, ptr %t12366 + %t12384 = load ptr, ptr %t410 + %t12385 = getelementptr inbounds %LSlice, ptr %t12384, i32 0, i32 1 + %t12386 = getelementptr inbounds %LSlice, ptr %t12384, i32 0, i32 2 + %t12387 = getelementptr inbounds %LSlice, ptr %t12384, i32 0, i32 0 + %t12388 = load i32, ptr %t12385 + %t12389 = load i32, ptr %t12386 + %t12390 = icmp sge i32 %t12388, %t12389 + br i1 %t12390, label %grow2506, label %put2507 +grow2506: + %t12391 = mul i32 %t12389, 2 + %t12392 = icmp eq i32 %t12389, 0 + %t12393 = select i1 %t12392, i32 8, i32 %t12391 + %t12394 = getelementptr ptr, ptr null, i32 1 + %t12395 = ptrtoint ptr %t12394 to i64 + %t12396 = zext i32 %t12393 to i64 + %t12397 = mul i64 %t12396, %t12395 + %t12398 = load ptr, ptr %t12387 + %t12399 = call ptr @realloc(ptr %t12398, i64 %t12397) + store ptr %t12399, ptr %t12387 + store i32 %t12393, ptr %t12386 + br label %put2507 +put2507: + %t12400 = load ptr, ptr %t12387 + %t12401 = getelementptr inbounds ptr, ptr %t12400, i32 %t12388 + store ptr @.str8155, ptr %t12401 + %t12402 = add i32 %t12388, 1 + store i32 %t12402, ptr %t12385 + %t12403 = load ptr, ptr %t410 + %t12404 = getelementptr inbounds %LSlice, ptr %t12403, i32 0, i32 1 + %t12405 = getelementptr inbounds %LSlice, ptr %t12403, i32 0, i32 2 + %t12406 = getelementptr inbounds %LSlice, ptr %t12403, i32 0, i32 0 + %t12407 = load i32, ptr %t12404 + %t12408 = load i32, ptr %t12405 + %t12409 = icmp sge i32 %t12407, %t12408 + br i1 %t12409, label %grow2508, label %put2509 +grow2508: + %t12410 = mul i32 %t12408, 2 + %t12411 = icmp eq i32 %t12408, 0 + %t12412 = select i1 %t12411, i32 8, i32 %t12410 + %t12413 = getelementptr ptr, ptr null, i32 1 + %t12414 = ptrtoint ptr %t12413 to i64 + %t12415 = zext i32 %t12412 to i64 + %t12416 = mul i64 %t12415, %t12414 + %t12417 = load ptr, ptr %t12406 + %t12418 = call ptr @realloc(ptr %t12417, i64 %t12416) + store ptr %t12418, ptr %t12406 + store i32 %t12412, ptr %t12405 + br label %put2509 +put2509: + %t12419 = load ptr, ptr %t12406 + %t12420 = getelementptr inbounds ptr, ptr %t12419, i32 %t12407 + store ptr @.str8156, ptr %t12420 + %t12421 = add i32 %t12407, 1 + store i32 %t12421, ptr %t12404 + br label %ifend2501 +ifend2501: + %t12422 = load ptr, ptr %t1 + %t12423 = call i32 @lp_str_eq(ptr %t12422, ptr @.str8157) + %t12424 = icmp ne i32 %t12423, 0 + br i1 %t12424, label %then2510, label %ifend2512 +then2510: + store ptr @.str8158, ptr %t403 + %t12425 = load ptr, ptr %t410 + %t12426 = getelementptr inbounds %LSlice, ptr %t12425, i32 0, i32 1 + %t12427 = getelementptr inbounds %LSlice, ptr %t12425, i32 0, i32 2 + %t12428 = getelementptr inbounds %LSlice, ptr %t12425, i32 0, i32 0 + %t12429 = load i32, ptr %t12426 + %t12430 = load i32, ptr %t12427 + %t12431 = icmp sge i32 %t12429, %t12430 + br i1 %t12431, label %grow2513, label %put2514 +grow2513: + %t12432 = mul i32 %t12430, 2 + %t12433 = icmp eq i32 %t12430, 0 + %t12434 = select i1 %t12433, i32 8, i32 %t12432 + %t12435 = getelementptr ptr, ptr null, i32 1 + %t12436 = ptrtoint ptr %t12435 to i64 + %t12437 = zext i32 %t12434 to i64 + %t12438 = mul i64 %t12437, %t12436 + %t12439 = load ptr, ptr %t12428 + %t12440 = call ptr @realloc(ptr %t12439, i64 %t12438) + store ptr %t12440, ptr %t12428 + store i32 %t12434, ptr %t12427 + br label %put2514 +put2514: + %t12441 = load ptr, ptr %t12428 + %t12442 = getelementptr inbounds ptr, ptr %t12441, i32 %t12429 + store ptr @.str8159, ptr %t12442 + %t12443 = add i32 %t12429, 1 + store i32 %t12443, ptr %t12426 + %t12444 = load ptr, ptr %t410 + %t12445 = getelementptr inbounds %LSlice, ptr %t12444, i32 0, i32 1 + %t12446 = getelementptr inbounds %LSlice, ptr %t12444, i32 0, i32 2 + %t12447 = getelementptr inbounds %LSlice, ptr %t12444, i32 0, i32 0 + %t12448 = load i32, ptr %t12445 + %t12449 = load i32, ptr %t12446 + %t12450 = icmp sge i32 %t12448, %t12449 + br i1 %t12450, label %grow2515, label %put2516 +grow2515: + %t12451 = mul i32 %t12449, 2 + %t12452 = icmp eq i32 %t12449, 0 + %t12453 = select i1 %t12452, i32 8, i32 %t12451 + %t12454 = getelementptr ptr, ptr null, i32 1 + %t12455 = ptrtoint ptr %t12454 to i64 + %t12456 = zext i32 %t12453 to i64 + %t12457 = mul i64 %t12456, %t12455 + %t12458 = load ptr, ptr %t12447 + %t12459 = call ptr @realloc(ptr %t12458, i64 %t12457) + store ptr %t12459, ptr %t12447 + store i32 %t12453, ptr %t12446 + br label %put2516 +put2516: + %t12460 = load ptr, ptr %t12447 + %t12461 = getelementptr inbounds ptr, ptr %t12460, i32 %t12448 + store ptr @.str8160, ptr %t12461 + %t12462 = add i32 %t12448, 1 + store i32 %t12462, ptr %t12445 + br label %ifend2512 +ifend2512: + %t12463 = load ptr, ptr %t1 + %t12464 = call i32 @lp_str_eq(ptr %t12463, ptr @.str8161) + %t12465 = icmp ne i32 %t12464, 0 + br i1 %t12465, label %then2517, label %ifend2519 +then2517: + store ptr @.str8162, ptr %t403 + %t12466 = load ptr, ptr %t410 + %t12467 = getelementptr inbounds %LSlice, ptr %t12466, i32 0, i32 1 + %t12468 = getelementptr inbounds %LSlice, ptr %t12466, i32 0, i32 2 + %t12469 = getelementptr inbounds %LSlice, ptr %t12466, i32 0, i32 0 + %t12470 = load i32, ptr %t12467 + %t12471 = load i32, ptr %t12468 + %t12472 = icmp sge i32 %t12470, %t12471 + br i1 %t12472, label %grow2520, label %put2521 +grow2520: + %t12473 = mul i32 %t12471, 2 + %t12474 = icmp eq i32 %t12471, 0 + %t12475 = select i1 %t12474, i32 8, i32 %t12473 + %t12476 = getelementptr ptr, ptr null, i32 1 + %t12477 = ptrtoint ptr %t12476 to i64 + %t12478 = zext i32 %t12475 to i64 + %t12479 = mul i64 %t12478, %t12477 + %t12480 = load ptr, ptr %t12469 + %t12481 = call ptr @realloc(ptr %t12480, i64 %t12479) + store ptr %t12481, ptr %t12469 + store i32 %t12475, ptr %t12468 + br label %put2521 +put2521: + %t12482 = load ptr, ptr %t12469 + %t12483 = getelementptr inbounds ptr, ptr %t12482, i32 %t12470 + store ptr @.str8163, ptr %t12483 + %t12484 = add i32 %t12470, 1 + store i32 %t12484, ptr %t12467 + br label %ifend2519 +ifend2519: + %t12485 = load ptr, ptr %t1 + %t12486 = call i32 @lp_str_eq(ptr %t12485, ptr @.str8164) + %t12487 = icmp ne i32 %t12486, 0 + br i1 %t12487, label %then2522, label %ifend2524 +then2522: + store ptr @.str8165, ptr %t403 + %t12488 = load ptr, ptr %t410 + %t12489 = getelementptr inbounds %LSlice, ptr %t12488, i32 0, i32 1 + %t12490 = getelementptr inbounds %LSlice, ptr %t12488, i32 0, i32 2 + %t12491 = getelementptr inbounds %LSlice, ptr %t12488, i32 0, i32 0 + %t12492 = load i32, ptr %t12489 + %t12493 = load i32, ptr %t12490 + %t12494 = icmp sge i32 %t12492, %t12493 + br i1 %t12494, label %grow2525, label %put2526 +grow2525: + %t12495 = mul i32 %t12493, 2 + %t12496 = icmp eq i32 %t12493, 0 + %t12497 = select i1 %t12496, i32 8, i32 %t12495 + %t12498 = getelementptr ptr, ptr null, i32 1 + %t12499 = ptrtoint ptr %t12498 to i64 + %t12500 = zext i32 %t12497 to i64 + %t12501 = mul i64 %t12500, %t12499 + %t12502 = load ptr, ptr %t12491 + %t12503 = call ptr @realloc(ptr %t12502, i64 %t12501) + store ptr %t12503, ptr %t12491 + store i32 %t12497, ptr %t12490 + br label %put2526 +put2526: + %t12504 = load ptr, ptr %t12491 + %t12505 = getelementptr inbounds ptr, ptr %t12504, i32 %t12492 + store ptr @.str8166, ptr %t12505 + %t12506 = add i32 %t12492, 1 + store i32 %t12506, ptr %t12489 + br label %ifend2524 +ifend2524: + %t12507 = load ptr, ptr %t1 + %t12508 = call i32 @lp_str_eq(ptr %t12507, ptr @.str8167) + %t12509 = icmp ne i32 %t12508, 0 + br i1 %t12509, label %then2527, label %ifend2529 +then2527: + store ptr @.str8168, ptr %t403 + %t12510 = load ptr, ptr %t410 + %t12511 = getelementptr inbounds %LSlice, ptr %t12510, i32 0, i32 1 + %t12512 = getelementptr inbounds %LSlice, ptr %t12510, i32 0, i32 2 + %t12513 = getelementptr inbounds %LSlice, ptr %t12510, i32 0, i32 0 + %t12514 = load i32, ptr %t12511 + %t12515 = load i32, ptr %t12512 + %t12516 = icmp sge i32 %t12514, %t12515 + br i1 %t12516, label %grow2530, label %put2531 +grow2530: + %t12517 = mul i32 %t12515, 2 + %t12518 = icmp eq i32 %t12515, 0 + %t12519 = select i1 %t12518, i32 8, i32 %t12517 + %t12520 = getelementptr ptr, ptr null, i32 1 + %t12521 = ptrtoint ptr %t12520 to i64 + %t12522 = zext i32 %t12519 to i64 + %t12523 = mul i64 %t12522, %t12521 + %t12524 = load ptr, ptr %t12513 + %t12525 = call ptr @realloc(ptr %t12524, i64 %t12523) + store ptr %t12525, ptr %t12513 + store i32 %t12519, ptr %t12512 + br label %put2531 +put2531: + %t12526 = load ptr, ptr %t12513 + %t12527 = getelementptr inbounds ptr, ptr %t12526, i32 %t12514 + store ptr @.str8169, ptr %t12527 + %t12528 = add i32 %t12514, 1 + store i32 %t12528, ptr %t12511 + br label %ifend2529 +ifend2529: + %t12529 = load ptr, ptr %t1 + %t12530 = call i32 @lp_str_eq(ptr %t12529, ptr @.str8170) + %t12531 = icmp ne i32 %t12530, 0 + br i1 %t12531, label %then2532, label %ifend2534 +then2532: + store ptr @.str8171, ptr %t403 + %t12532 = load ptr, ptr %t410 + %t12533 = getelementptr inbounds %LSlice, ptr %t12532, i32 0, i32 1 + %t12534 = getelementptr inbounds %LSlice, ptr %t12532, i32 0, i32 2 + %t12535 = getelementptr inbounds %LSlice, ptr %t12532, i32 0, i32 0 + %t12536 = load i32, ptr %t12533 + %t12537 = load i32, ptr %t12534 + %t12538 = icmp sge i32 %t12536, %t12537 + br i1 %t12538, label %grow2535, label %put2536 +grow2535: + %t12539 = mul i32 %t12537, 2 + %t12540 = icmp eq i32 %t12537, 0 + %t12541 = select i1 %t12540, i32 8, i32 %t12539 + %t12542 = getelementptr ptr, ptr null, i32 1 + %t12543 = ptrtoint ptr %t12542 to i64 + %t12544 = zext i32 %t12541 to i64 + %t12545 = mul i64 %t12544, %t12543 + %t12546 = load ptr, ptr %t12535 + %t12547 = call ptr @realloc(ptr %t12546, i64 %t12545) + store ptr %t12547, ptr %t12535 + store i32 %t12541, ptr %t12534 + br label %put2536 +put2536: + %t12548 = load ptr, ptr %t12535 + %t12549 = getelementptr inbounds ptr, ptr %t12548, i32 %t12536 + store ptr @.str8172, ptr %t12549 + %t12550 = add i32 %t12536, 1 + store i32 %t12550, ptr %t12533 + %t12551 = load ptr, ptr %t410 + %t12552 = getelementptr inbounds %LSlice, ptr %t12551, i32 0, i32 1 + %t12553 = getelementptr inbounds %LSlice, ptr %t12551, i32 0, i32 2 + %t12554 = getelementptr inbounds %LSlice, ptr %t12551, i32 0, i32 0 + %t12555 = load i32, ptr %t12552 + %t12556 = load i32, ptr %t12553 + %t12557 = icmp sge i32 %t12555, %t12556 + br i1 %t12557, label %grow2537, label %put2538 +grow2537: + %t12558 = mul i32 %t12556, 2 + %t12559 = icmp eq i32 %t12556, 0 + %t12560 = select i1 %t12559, i32 8, i32 %t12558 + %t12561 = getelementptr ptr, ptr null, i32 1 + %t12562 = ptrtoint ptr %t12561 to i64 + %t12563 = zext i32 %t12560 to i64 + %t12564 = mul i64 %t12563, %t12562 + %t12565 = load ptr, ptr %t12554 + %t12566 = call ptr @realloc(ptr %t12565, i64 %t12564) + store ptr %t12566, ptr %t12554 + store i32 %t12560, ptr %t12553 + br label %put2538 +put2538: + %t12567 = load ptr, ptr %t12554 + %t12568 = getelementptr inbounds ptr, ptr %t12567, i32 %t12555 + store ptr @.str8173, ptr %t12568 + %t12569 = add i32 %t12555, 1 + store i32 %t12569, ptr %t12552 + br label %ifend2534 +ifend2534: + br label %ifend2450 +ifend2450: + %t12570 = load ptr, ptr %t0 + %t12571 = call i32 @lp_str_eq(ptr %t12570, ptr @.str8174) + %t12572 = icmp ne i32 %t12571, 0 + br i1 %t12572, label %then2539, label %ifend2541 +then2539: + %t12573 = load ptr, ptr %t1 + %t12574 = call i32 @lp_str_eq(ptr %t12573, ptr @.str8175) + %t12575 = icmp ne i32 %t12574, 0 + br i1 %t12575, label %then2542, label %ifend2544 +then2542: + store ptr @.str8176, ptr %t403 + br label %ifend2544 +ifend2544: + %t12576 = load ptr, ptr %t1 + %t12577 = call i32 @lp_str_eq(ptr %t12576, ptr @.str8177) + %t12578 = icmp ne i32 %t12577, 0 + br i1 %t12578, label %then2545, label %ifend2547 +then2545: + store ptr @.str8178, ptr %t403 + %t12579 = load ptr, ptr %t410 + %t12580 = getelementptr inbounds %LSlice, ptr %t12579, i32 0, i32 1 + %t12581 = getelementptr inbounds %LSlice, ptr %t12579, i32 0, i32 2 + %t12582 = getelementptr inbounds %LSlice, ptr %t12579, i32 0, i32 0 + %t12583 = load i32, ptr %t12580 + %t12584 = load i32, ptr %t12581 + %t12585 = icmp sge i32 %t12583, %t12584 + br i1 %t12585, label %grow2548, label %put2549 +grow2548: + %t12586 = mul i32 %t12584, 2 + %t12587 = icmp eq i32 %t12584, 0 + %t12588 = select i1 %t12587, i32 8, i32 %t12586 + %t12589 = getelementptr ptr, ptr null, i32 1 + %t12590 = ptrtoint ptr %t12589 to i64 + %t12591 = zext i32 %t12588 to i64 + %t12592 = mul i64 %t12591, %t12590 + %t12593 = load ptr, ptr %t12582 + %t12594 = call ptr @realloc(ptr %t12593, i64 %t12592) + store ptr %t12594, ptr %t12582 + store i32 %t12588, ptr %t12581 + br label %put2549 +put2549: + %t12595 = load ptr, ptr %t12582 + %t12596 = getelementptr inbounds ptr, ptr %t12595, i32 %t12583 + store ptr @.str8179, ptr %t12596 + %t12597 = add i32 %t12583, 1 + store i32 %t12597, ptr %t12580 + br label %ifend2547 +ifend2547: + %t12598 = load ptr, ptr %t1 + %t12599 = call i32 @lp_str_eq(ptr %t12598, ptr @.str8180) + %t12600 = icmp ne i32 %t12599, 0 + br i1 %t12600, label %then2550, label %ifend2552 +then2550: + store ptr @.str8181, ptr %t403 + %t12601 = load ptr, ptr %t410 + %t12602 = getelementptr inbounds %LSlice, ptr %t12601, i32 0, i32 1 + %t12603 = getelementptr inbounds %LSlice, ptr %t12601, i32 0, i32 2 + %t12604 = getelementptr inbounds %LSlice, ptr %t12601, i32 0, i32 0 + %t12605 = load i32, ptr %t12602 + %t12606 = load i32, ptr %t12603 + %t12607 = icmp sge i32 %t12605, %t12606 + br i1 %t12607, label %grow2553, label %put2554 +grow2553: + %t12608 = mul i32 %t12606, 2 + %t12609 = icmp eq i32 %t12606, 0 + %t12610 = select i1 %t12609, i32 8, i32 %t12608 + %t12611 = getelementptr ptr, ptr null, i32 1 + %t12612 = ptrtoint ptr %t12611 to i64 + %t12613 = zext i32 %t12610 to i64 + %t12614 = mul i64 %t12613, %t12612 + %t12615 = load ptr, ptr %t12604 + %t12616 = call ptr @realloc(ptr %t12615, i64 %t12614) + store ptr %t12616, ptr %t12604 + store i32 %t12610, ptr %t12603 + br label %put2554 +put2554: + %t12617 = load ptr, ptr %t12604 + %t12618 = getelementptr inbounds ptr, ptr %t12617, i32 %t12605 + store ptr @.str8182, ptr %t12618 + %t12619 = add i32 %t12605, 1 + store i32 %t12619, ptr %t12602 + br label %ifend2552 +ifend2552: + %t12620 = load ptr, ptr %t1 + %t12621 = call i32 @lp_str_eq(ptr %t12620, ptr @.str8183) + %t12622 = icmp ne i32 %t12621, 0 + br i1 %t12622, label %then2555, label %ifend2557 +then2555: + store ptr @.str8184, ptr %t403 + %t12623 = load ptr, ptr %t410 + %t12624 = getelementptr inbounds %LSlice, ptr %t12623, i32 0, i32 1 + %t12625 = getelementptr inbounds %LSlice, ptr %t12623, i32 0, i32 2 + %t12626 = getelementptr inbounds %LSlice, ptr %t12623, i32 0, i32 0 + %t12627 = load i32, ptr %t12624 + %t12628 = load i32, ptr %t12625 + %t12629 = icmp sge i32 %t12627, %t12628 + br i1 %t12629, label %grow2558, label %put2559 +grow2558: + %t12630 = mul i32 %t12628, 2 + %t12631 = icmp eq i32 %t12628, 0 + %t12632 = select i1 %t12631, i32 8, i32 %t12630 + %t12633 = getelementptr ptr, ptr null, i32 1 + %t12634 = ptrtoint ptr %t12633 to i64 + %t12635 = zext i32 %t12632 to i64 + %t12636 = mul i64 %t12635, %t12634 + %t12637 = load ptr, ptr %t12626 + %t12638 = call ptr @realloc(ptr %t12637, i64 %t12636) + store ptr %t12638, ptr %t12626 + store i32 %t12632, ptr %t12625 + br label %put2559 +put2559: + %t12639 = load ptr, ptr %t12626 + %t12640 = getelementptr inbounds ptr, ptr %t12639, i32 %t12627 + store ptr @.str8185, ptr %t12640 + %t12641 = add i32 %t12627, 1 + store i32 %t12641, ptr %t12624 + br label %ifend2557 +ifend2557: + %t12642 = load ptr, ptr %t1 + %t12643 = call i32 @lp_str_eq(ptr %t12642, ptr @.str8186) + %t12644 = icmp ne i32 %t12643, 0 + br i1 %t12644, label %then2560, label %ifend2562 +then2560: + store ptr @.str8187, ptr %t403 + %t12645 = load ptr, ptr %t410 + %t12646 = getelementptr inbounds %LSlice, ptr %t12645, i32 0, i32 1 + %t12647 = getelementptr inbounds %LSlice, ptr %t12645, i32 0, i32 2 + %t12648 = getelementptr inbounds %LSlice, ptr %t12645, i32 0, i32 0 + %t12649 = load i32, ptr %t12646 + %t12650 = load i32, ptr %t12647 + %t12651 = icmp sge i32 %t12649, %t12650 + br i1 %t12651, label %grow2563, label %put2564 +grow2563: + %t12652 = mul i32 %t12650, 2 + %t12653 = icmp eq i32 %t12650, 0 + %t12654 = select i1 %t12653, i32 8, i32 %t12652 + %t12655 = getelementptr ptr, ptr null, i32 1 + %t12656 = ptrtoint ptr %t12655 to i64 + %t12657 = zext i32 %t12654 to i64 + %t12658 = mul i64 %t12657, %t12656 + %t12659 = load ptr, ptr %t12648 + %t12660 = call ptr @realloc(ptr %t12659, i64 %t12658) + store ptr %t12660, ptr %t12648 + store i32 %t12654, ptr %t12647 + br label %put2564 +put2564: + %t12661 = load ptr, ptr %t12648 + %t12662 = getelementptr inbounds ptr, ptr %t12661, i32 %t12649 + store ptr @.str8188, ptr %t12662 + %t12663 = add i32 %t12649, 1 + store i32 %t12663, ptr %t12646 + br label %ifend2562 +ifend2562: + %t12664 = load ptr, ptr %t1 + %t12665 = call i32 @lp_str_eq(ptr %t12664, ptr @.str8189) + %t12666 = icmp ne i32 %t12665, 0 + br i1 %t12666, label %then2565, label %ifend2567 +then2565: + store ptr @.str8190, ptr %t403 + br label %ifend2567 +ifend2567: + %t12667 = load ptr, ptr %t1 + %t12668 = call i32 @lp_str_eq(ptr %t12667, ptr @.str8191) + %t12669 = icmp ne i32 %t12668, 0 + br i1 %t12669, label %then2568, label %ifend2570 +then2568: + store ptr @.str8192, ptr %t403 + br label %ifend2570 +ifend2570: + %t12670 = load ptr, ptr %t1 + %t12671 = call i32 @lp_str_eq(ptr %t12670, ptr @.str8193) + %t12672 = icmp ne i32 %t12671, 0 + br i1 %t12672, label %then2571, label %ifend2573 +then2571: + store ptr @.str8194, ptr %t403 + %t12673 = load ptr, ptr %t410 + %t12674 = getelementptr inbounds %LSlice, ptr %t12673, i32 0, i32 1 + %t12675 = getelementptr inbounds %LSlice, ptr %t12673, i32 0, i32 2 + %t12676 = getelementptr inbounds %LSlice, ptr %t12673, i32 0, i32 0 + %t12677 = load i32, ptr %t12674 + %t12678 = load i32, ptr %t12675 + %t12679 = icmp sge i32 %t12677, %t12678 + br i1 %t12679, label %grow2574, label %put2575 +grow2574: + %t12680 = mul i32 %t12678, 2 + %t12681 = icmp eq i32 %t12678, 0 + %t12682 = select i1 %t12681, i32 8, i32 %t12680 + %t12683 = getelementptr ptr, ptr null, i32 1 + %t12684 = ptrtoint ptr %t12683 to i64 + %t12685 = zext i32 %t12682 to i64 + %t12686 = mul i64 %t12685, %t12684 + %t12687 = load ptr, ptr %t12676 + %t12688 = call ptr @realloc(ptr %t12687, i64 %t12686) + store ptr %t12688, ptr %t12676 + store i32 %t12682, ptr %t12675 + br label %put2575 +put2575: + %t12689 = load ptr, ptr %t12676 + %t12690 = getelementptr inbounds ptr, ptr %t12689, i32 %t12677 + store ptr @.str8195, ptr %t12690 + %t12691 = add i32 %t12677, 1 + store i32 %t12691, ptr %t12674 + %t12692 = load ptr, ptr %t410 + %t12693 = getelementptr inbounds %LSlice, ptr %t12692, i32 0, i32 1 + %t12694 = getelementptr inbounds %LSlice, ptr %t12692, i32 0, i32 2 + %t12695 = getelementptr inbounds %LSlice, ptr %t12692, i32 0, i32 0 + %t12696 = load i32, ptr %t12693 + %t12697 = load i32, ptr %t12694 + %t12698 = icmp sge i32 %t12696, %t12697 + br i1 %t12698, label %grow2576, label %put2577 +grow2576: + %t12699 = mul i32 %t12697, 2 + %t12700 = icmp eq i32 %t12697, 0 + %t12701 = select i1 %t12700, i32 8, i32 %t12699 + %t12702 = getelementptr ptr, ptr null, i32 1 + %t12703 = ptrtoint ptr %t12702 to i64 + %t12704 = zext i32 %t12701 to i64 + %t12705 = mul i64 %t12704, %t12703 + %t12706 = load ptr, ptr %t12695 + %t12707 = call ptr @realloc(ptr %t12706, i64 %t12705) + store ptr %t12707, ptr %t12695 + store i32 %t12701, ptr %t12694 + br label %put2577 +put2577: + %t12708 = load ptr, ptr %t12695 + %t12709 = getelementptr inbounds ptr, ptr %t12708, i32 %t12696 + store ptr @.str8196, ptr %t12709 + %t12710 = add i32 %t12696, 1 + store i32 %t12710, ptr %t12693 + br label %ifend2573 +ifend2573: + %t12711 = load ptr, ptr %t1 + %t12712 = call i32 @lp_str_eq(ptr %t12711, ptr @.str8197) + %t12713 = icmp ne i32 %t12712, 0 + br i1 %t12713, label %then2578, label %ifend2580 +then2578: + store ptr @.str8198, ptr %t403 + %t12714 = load ptr, ptr %t410 + %t12715 = getelementptr inbounds %LSlice, ptr %t12714, i32 0, i32 1 + %t12716 = getelementptr inbounds %LSlice, ptr %t12714, i32 0, i32 2 + %t12717 = getelementptr inbounds %LSlice, ptr %t12714, i32 0, i32 0 + %t12718 = load i32, ptr %t12715 + %t12719 = load i32, ptr %t12716 + %t12720 = icmp sge i32 %t12718, %t12719 + br i1 %t12720, label %grow2581, label %put2582 +grow2581: + %t12721 = mul i32 %t12719, 2 + %t12722 = icmp eq i32 %t12719, 0 + %t12723 = select i1 %t12722, i32 8, i32 %t12721 + %t12724 = getelementptr ptr, ptr null, i32 1 + %t12725 = ptrtoint ptr %t12724 to i64 + %t12726 = zext i32 %t12723 to i64 + %t12727 = mul i64 %t12726, %t12725 + %t12728 = load ptr, ptr %t12717 + %t12729 = call ptr @realloc(ptr %t12728, i64 %t12727) + store ptr %t12729, ptr %t12717 + store i32 %t12723, ptr %t12716 + br label %put2582 +put2582: + %t12730 = load ptr, ptr %t12717 + %t12731 = getelementptr inbounds ptr, ptr %t12730, i32 %t12718 + store ptr @.str8199, ptr %t12731 + %t12732 = add i32 %t12718, 1 + store i32 %t12732, ptr %t12715 + %t12733 = load ptr, ptr %t410 + %t12734 = getelementptr inbounds %LSlice, ptr %t12733, i32 0, i32 1 + %t12735 = getelementptr inbounds %LSlice, ptr %t12733, i32 0, i32 2 + %t12736 = getelementptr inbounds %LSlice, ptr %t12733, i32 0, i32 0 + %t12737 = load i32, ptr %t12734 + %t12738 = load i32, ptr %t12735 + %t12739 = icmp sge i32 %t12737, %t12738 + br i1 %t12739, label %grow2583, label %put2584 +grow2583: + %t12740 = mul i32 %t12738, 2 + %t12741 = icmp eq i32 %t12738, 0 + %t12742 = select i1 %t12741, i32 8, i32 %t12740 + %t12743 = getelementptr ptr, ptr null, i32 1 + %t12744 = ptrtoint ptr %t12743 to i64 + %t12745 = zext i32 %t12742 to i64 + %t12746 = mul i64 %t12745, %t12744 + %t12747 = load ptr, ptr %t12736 + %t12748 = call ptr @realloc(ptr %t12747, i64 %t12746) + store ptr %t12748, ptr %t12736 + store i32 %t12742, ptr %t12735 + br label %put2584 +put2584: + %t12749 = load ptr, ptr %t12736 + %t12750 = getelementptr inbounds ptr, ptr %t12749, i32 %t12737 + store ptr @.str8200, ptr %t12750 + %t12751 = add i32 %t12737, 1 + store i32 %t12751, ptr %t12734 + %t12752 = load ptr, ptr %t410 + %t12753 = getelementptr inbounds %LSlice, ptr %t12752, i32 0, i32 1 + %t12754 = getelementptr inbounds %LSlice, ptr %t12752, i32 0, i32 2 + %t12755 = getelementptr inbounds %LSlice, ptr %t12752, i32 0, i32 0 + %t12756 = load i32, ptr %t12753 + %t12757 = load i32, ptr %t12754 + %t12758 = icmp sge i32 %t12756, %t12757 + br i1 %t12758, label %grow2585, label %put2586 +grow2585: + %t12759 = mul i32 %t12757, 2 + %t12760 = icmp eq i32 %t12757, 0 + %t12761 = select i1 %t12760, i32 8, i32 %t12759 + %t12762 = getelementptr ptr, ptr null, i32 1 + %t12763 = ptrtoint ptr %t12762 to i64 + %t12764 = zext i32 %t12761 to i64 + %t12765 = mul i64 %t12764, %t12763 + %t12766 = load ptr, ptr %t12755 + %t12767 = call ptr @realloc(ptr %t12766, i64 %t12765) + store ptr %t12767, ptr %t12755 + store i32 %t12761, ptr %t12754 + br label %put2586 +put2586: + %t12768 = load ptr, ptr %t12755 + %t12769 = getelementptr inbounds ptr, ptr %t12768, i32 %t12756 + store ptr @.str8201, ptr %t12769 + %t12770 = add i32 %t12756, 1 + store i32 %t12770, ptr %t12753 + br label %ifend2580 +ifend2580: + %t12771 = load ptr, ptr %t1 + %t12772 = call i32 @lp_str_eq(ptr %t12771, ptr @.str8202) + %t12773 = icmp ne i32 %t12772, 0 + br i1 %t12773, label %then2587, label %ifend2589 +then2587: + store ptr @.str8203, ptr %t403 + %t12774 = load ptr, ptr %t410 + %t12775 = getelementptr inbounds %LSlice, ptr %t12774, i32 0, i32 1 + %t12776 = getelementptr inbounds %LSlice, ptr %t12774, i32 0, i32 2 + %t12777 = getelementptr inbounds %LSlice, ptr %t12774, i32 0, i32 0 + %t12778 = load i32, ptr %t12775 + %t12779 = load i32, ptr %t12776 + %t12780 = icmp sge i32 %t12778, %t12779 + br i1 %t12780, label %grow2590, label %put2591 +grow2590: + %t12781 = mul i32 %t12779, 2 + %t12782 = icmp eq i32 %t12779, 0 + %t12783 = select i1 %t12782, i32 8, i32 %t12781 + %t12784 = getelementptr ptr, ptr null, i32 1 + %t12785 = ptrtoint ptr %t12784 to i64 + %t12786 = zext i32 %t12783 to i64 + %t12787 = mul i64 %t12786, %t12785 + %t12788 = load ptr, ptr %t12777 + %t12789 = call ptr @realloc(ptr %t12788, i64 %t12787) + store ptr %t12789, ptr %t12777 + store i32 %t12783, ptr %t12776 + br label %put2591 +put2591: + %t12790 = load ptr, ptr %t12777 + %t12791 = getelementptr inbounds ptr, ptr %t12790, i32 %t12778 + store ptr @.str8204, ptr %t12791 + %t12792 = add i32 %t12778, 1 + store i32 %t12792, ptr %t12775 + %t12793 = load ptr, ptr %t410 + %t12794 = getelementptr inbounds %LSlice, ptr %t12793, i32 0, i32 1 + %t12795 = getelementptr inbounds %LSlice, ptr %t12793, i32 0, i32 2 + %t12796 = getelementptr inbounds %LSlice, ptr %t12793, i32 0, i32 0 + %t12797 = load i32, ptr %t12794 + %t12798 = load i32, ptr %t12795 + %t12799 = icmp sge i32 %t12797, %t12798 + br i1 %t12799, label %grow2592, label %put2593 +grow2592: + %t12800 = mul i32 %t12798, 2 + %t12801 = icmp eq i32 %t12798, 0 + %t12802 = select i1 %t12801, i32 8, i32 %t12800 + %t12803 = getelementptr ptr, ptr null, i32 1 + %t12804 = ptrtoint ptr %t12803 to i64 + %t12805 = zext i32 %t12802 to i64 + %t12806 = mul i64 %t12805, %t12804 + %t12807 = load ptr, ptr %t12796 + %t12808 = call ptr @realloc(ptr %t12807, i64 %t12806) + store ptr %t12808, ptr %t12796 + store i32 %t12802, ptr %t12795 + br label %put2593 +put2593: + %t12809 = load ptr, ptr %t12796 + %t12810 = getelementptr inbounds ptr, ptr %t12809, i32 %t12797 + store ptr @.str8205, ptr %t12810 + %t12811 = add i32 %t12797, 1 + store i32 %t12811, ptr %t12794 + br label %ifend2589 +ifend2589: + %t12812 = load ptr, ptr %t1 + %t12813 = call i32 @lp_str_eq(ptr %t12812, ptr @.str8206) + %t12814 = icmp ne i32 %t12813, 0 + br i1 %t12814, label %then2594, label %ifend2596 +then2594: + store ptr @.str8207, ptr %t403 + %t12815 = load ptr, ptr %t410 + %t12816 = getelementptr inbounds %LSlice, ptr %t12815, i32 0, i32 1 + %t12817 = getelementptr inbounds %LSlice, ptr %t12815, i32 0, i32 2 + %t12818 = getelementptr inbounds %LSlice, ptr %t12815, i32 0, i32 0 + %t12819 = load i32, ptr %t12816 + %t12820 = load i32, ptr %t12817 + %t12821 = icmp sge i32 %t12819, %t12820 + br i1 %t12821, label %grow2597, label %put2598 +grow2597: + %t12822 = mul i32 %t12820, 2 + %t12823 = icmp eq i32 %t12820, 0 + %t12824 = select i1 %t12823, i32 8, i32 %t12822 + %t12825 = getelementptr ptr, ptr null, i32 1 + %t12826 = ptrtoint ptr %t12825 to i64 + %t12827 = zext i32 %t12824 to i64 + %t12828 = mul i64 %t12827, %t12826 + %t12829 = load ptr, ptr %t12818 + %t12830 = call ptr @realloc(ptr %t12829, i64 %t12828) + store ptr %t12830, ptr %t12818 + store i32 %t12824, ptr %t12817 + br label %put2598 +put2598: + %t12831 = load ptr, ptr %t12818 + %t12832 = getelementptr inbounds ptr, ptr %t12831, i32 %t12819 + store ptr @.str8208, ptr %t12832 + %t12833 = add i32 %t12819, 1 + store i32 %t12833, ptr %t12816 + %t12834 = load ptr, ptr %t410 + %t12835 = getelementptr inbounds %LSlice, ptr %t12834, i32 0, i32 1 + %t12836 = getelementptr inbounds %LSlice, ptr %t12834, i32 0, i32 2 + %t12837 = getelementptr inbounds %LSlice, ptr %t12834, i32 0, i32 0 + %t12838 = load i32, ptr %t12835 + %t12839 = load i32, ptr %t12836 + %t12840 = icmp sge i32 %t12838, %t12839 + br i1 %t12840, label %grow2599, label %put2600 +grow2599: + %t12841 = mul i32 %t12839, 2 + %t12842 = icmp eq i32 %t12839, 0 + %t12843 = select i1 %t12842, i32 8, i32 %t12841 + %t12844 = getelementptr ptr, ptr null, i32 1 + %t12845 = ptrtoint ptr %t12844 to i64 + %t12846 = zext i32 %t12843 to i64 + %t12847 = mul i64 %t12846, %t12845 + %t12848 = load ptr, ptr %t12837 + %t12849 = call ptr @realloc(ptr %t12848, i64 %t12847) + store ptr %t12849, ptr %t12837 + store i32 %t12843, ptr %t12836 + br label %put2600 +put2600: + %t12850 = load ptr, ptr %t12837 + %t12851 = getelementptr inbounds ptr, ptr %t12850, i32 %t12838 + store ptr @.str8209, ptr %t12851 + %t12852 = add i32 %t12838, 1 + store i32 %t12852, ptr %t12835 + br label %ifend2596 +ifend2596: + %t12853 = load ptr, ptr %t1 + %t12854 = call i32 @lp_str_eq(ptr %t12853, ptr @.str8210) + %t12855 = icmp ne i32 %t12854, 0 + br i1 %t12855, label %then2601, label %ifend2603 +then2601: + store ptr @.str8211, ptr %t403 + %t12856 = load ptr, ptr %t410 + %t12857 = getelementptr inbounds %LSlice, ptr %t12856, i32 0, i32 1 + %t12858 = getelementptr inbounds %LSlice, ptr %t12856, i32 0, i32 2 + %t12859 = getelementptr inbounds %LSlice, ptr %t12856, i32 0, i32 0 + %t12860 = load i32, ptr %t12857 + %t12861 = load i32, ptr %t12858 + %t12862 = icmp sge i32 %t12860, %t12861 + br i1 %t12862, label %grow2604, label %put2605 +grow2604: + %t12863 = mul i32 %t12861, 2 + %t12864 = icmp eq i32 %t12861, 0 + %t12865 = select i1 %t12864, i32 8, i32 %t12863 + %t12866 = getelementptr ptr, ptr null, i32 1 + %t12867 = ptrtoint ptr %t12866 to i64 + %t12868 = zext i32 %t12865 to i64 + %t12869 = mul i64 %t12868, %t12867 + %t12870 = load ptr, ptr %t12859 + %t12871 = call ptr @realloc(ptr %t12870, i64 %t12869) + store ptr %t12871, ptr %t12859 + store i32 %t12865, ptr %t12858 + br label %put2605 +put2605: + %t12872 = load ptr, ptr %t12859 + %t12873 = getelementptr inbounds ptr, ptr %t12872, i32 %t12860 + store ptr @.str8212, ptr %t12873 + %t12874 = add i32 %t12860, 1 + store i32 %t12874, ptr %t12857 + %t12875 = load ptr, ptr %t410 + %t12876 = getelementptr inbounds %LSlice, ptr %t12875, i32 0, i32 1 + %t12877 = getelementptr inbounds %LSlice, ptr %t12875, i32 0, i32 2 + %t12878 = getelementptr inbounds %LSlice, ptr %t12875, i32 0, i32 0 + %t12879 = load i32, ptr %t12876 + %t12880 = load i32, ptr %t12877 + %t12881 = icmp sge i32 %t12879, %t12880 + br i1 %t12881, label %grow2606, label %put2607 +grow2606: + %t12882 = mul i32 %t12880, 2 + %t12883 = icmp eq i32 %t12880, 0 + %t12884 = select i1 %t12883, i32 8, i32 %t12882 + %t12885 = getelementptr ptr, ptr null, i32 1 + %t12886 = ptrtoint ptr %t12885 to i64 + %t12887 = zext i32 %t12884 to i64 + %t12888 = mul i64 %t12887, %t12886 + %t12889 = load ptr, ptr %t12878 + %t12890 = call ptr @realloc(ptr %t12889, i64 %t12888) + store ptr %t12890, ptr %t12878 + store i32 %t12884, ptr %t12877 + br label %put2607 +put2607: + %t12891 = load ptr, ptr %t12878 + %t12892 = getelementptr inbounds ptr, ptr %t12891, i32 %t12879 + store ptr @.str8213, ptr %t12892 + %t12893 = add i32 %t12879, 1 + store i32 %t12893, ptr %t12876 + br label %ifend2603 +ifend2603: + %t12894 = load ptr, ptr %t1 + %t12895 = call i32 @lp_str_eq(ptr %t12894, ptr @.str8214) + %t12896 = icmp ne i32 %t12895, 0 + br i1 %t12896, label %then2608, label %ifend2610 +then2608: + store ptr @.str8215, ptr %t403 + %t12897 = load ptr, ptr %t410 + %t12898 = getelementptr inbounds %LSlice, ptr %t12897, i32 0, i32 1 + %t12899 = getelementptr inbounds %LSlice, ptr %t12897, i32 0, i32 2 + %t12900 = getelementptr inbounds %LSlice, ptr %t12897, i32 0, i32 0 + %t12901 = load i32, ptr %t12898 + %t12902 = load i32, ptr %t12899 + %t12903 = icmp sge i32 %t12901, %t12902 + br i1 %t12903, label %grow2611, label %put2612 +grow2611: + %t12904 = mul i32 %t12902, 2 + %t12905 = icmp eq i32 %t12902, 0 + %t12906 = select i1 %t12905, i32 8, i32 %t12904 + %t12907 = getelementptr ptr, ptr null, i32 1 + %t12908 = ptrtoint ptr %t12907 to i64 + %t12909 = zext i32 %t12906 to i64 + %t12910 = mul i64 %t12909, %t12908 + %t12911 = load ptr, ptr %t12900 + %t12912 = call ptr @realloc(ptr %t12911, i64 %t12910) + store ptr %t12912, ptr %t12900 + store i32 %t12906, ptr %t12899 + br label %put2612 +put2612: + %t12913 = load ptr, ptr %t12900 + %t12914 = getelementptr inbounds ptr, ptr %t12913, i32 %t12901 + store ptr @.str8216, ptr %t12914 + %t12915 = add i32 %t12901, 1 + store i32 %t12915, ptr %t12898 + %t12916 = load ptr, ptr %t410 + %t12917 = getelementptr inbounds %LSlice, ptr %t12916, i32 0, i32 1 + %t12918 = getelementptr inbounds %LSlice, ptr %t12916, i32 0, i32 2 + %t12919 = getelementptr inbounds %LSlice, ptr %t12916, i32 0, i32 0 + %t12920 = load i32, ptr %t12917 + %t12921 = load i32, ptr %t12918 + %t12922 = icmp sge i32 %t12920, %t12921 + br i1 %t12922, label %grow2613, label %put2614 +grow2613: + %t12923 = mul i32 %t12921, 2 + %t12924 = icmp eq i32 %t12921, 0 + %t12925 = select i1 %t12924, i32 8, i32 %t12923 + %t12926 = getelementptr ptr, ptr null, i32 1 + %t12927 = ptrtoint ptr %t12926 to i64 + %t12928 = zext i32 %t12925 to i64 + %t12929 = mul i64 %t12928, %t12927 + %t12930 = load ptr, ptr %t12919 + %t12931 = call ptr @realloc(ptr %t12930, i64 %t12929) + store ptr %t12931, ptr %t12919 + store i32 %t12925, ptr %t12918 + br label %put2614 +put2614: + %t12932 = load ptr, ptr %t12919 + %t12933 = getelementptr inbounds ptr, ptr %t12932, i32 %t12920 + store ptr @.str8217, ptr %t12933 + %t12934 = add i32 %t12920, 1 + store i32 %t12934, ptr %t12917 + br label %ifend2610 +ifend2610: + %t12935 = load ptr, ptr %t1 + %t12936 = call i32 @lp_str_eq(ptr %t12935, ptr @.str8218) + %t12937 = icmp ne i32 %t12936, 0 + br i1 %t12937, label %then2615, label %ifend2617 +then2615: + store ptr @.str8219, ptr %t403 + %t12938 = load ptr, ptr %t410 + %t12939 = getelementptr inbounds %LSlice, ptr %t12938, i32 0, i32 1 + %t12940 = getelementptr inbounds %LSlice, ptr %t12938, i32 0, i32 2 + %t12941 = getelementptr inbounds %LSlice, ptr %t12938, i32 0, i32 0 + %t12942 = load i32, ptr %t12939 + %t12943 = load i32, ptr %t12940 + %t12944 = icmp sge i32 %t12942, %t12943 + br i1 %t12944, label %grow2618, label %put2619 +grow2618: + %t12945 = mul i32 %t12943, 2 + %t12946 = icmp eq i32 %t12943, 0 + %t12947 = select i1 %t12946, i32 8, i32 %t12945 + %t12948 = getelementptr ptr, ptr null, i32 1 + %t12949 = ptrtoint ptr %t12948 to i64 + %t12950 = zext i32 %t12947 to i64 + %t12951 = mul i64 %t12950, %t12949 + %t12952 = load ptr, ptr %t12941 + %t12953 = call ptr @realloc(ptr %t12952, i64 %t12951) + store ptr %t12953, ptr %t12941 + store i32 %t12947, ptr %t12940 + br label %put2619 +put2619: + %t12954 = load ptr, ptr %t12941 + %t12955 = getelementptr inbounds ptr, ptr %t12954, i32 %t12942 + store ptr @.str8220, ptr %t12955 + %t12956 = add i32 %t12942, 1 + store i32 %t12956, ptr %t12939 + br label %ifend2617 +ifend2617: + %t12957 = load ptr, ptr %t1 + %t12958 = call i32 @lp_str_eq(ptr %t12957, ptr @.str8221) + %t12959 = icmp ne i32 %t12958, 0 + br i1 %t12959, label %then2620, label %ifend2622 +then2620: + store ptr @.str8222, ptr %t403 + %t12960 = load ptr, ptr %t410 + %t12961 = getelementptr inbounds %LSlice, ptr %t12960, i32 0, i32 1 + %t12962 = getelementptr inbounds %LSlice, ptr %t12960, i32 0, i32 2 + %t12963 = getelementptr inbounds %LSlice, ptr %t12960, i32 0, i32 0 + %t12964 = load i32, ptr %t12961 + %t12965 = load i32, ptr %t12962 + %t12966 = icmp sge i32 %t12964, %t12965 + br i1 %t12966, label %grow2623, label %put2624 +grow2623: + %t12967 = mul i32 %t12965, 2 + %t12968 = icmp eq i32 %t12965, 0 + %t12969 = select i1 %t12968, i32 8, i32 %t12967 + %t12970 = getelementptr ptr, ptr null, i32 1 + %t12971 = ptrtoint ptr %t12970 to i64 + %t12972 = zext i32 %t12969 to i64 + %t12973 = mul i64 %t12972, %t12971 + %t12974 = load ptr, ptr %t12963 + %t12975 = call ptr @realloc(ptr %t12974, i64 %t12973) + store ptr %t12975, ptr %t12963 + store i32 %t12969, ptr %t12962 + br label %put2624 +put2624: + %t12976 = load ptr, ptr %t12963 + %t12977 = getelementptr inbounds ptr, ptr %t12976, i32 %t12964 + store ptr @.str8223, ptr %t12977 + %t12978 = add i32 %t12964, 1 + store i32 %t12978, ptr %t12961 + br label %ifend2622 +ifend2622: + %t12979 = load ptr, ptr %t1 + %t12980 = call i32 @lp_str_eq(ptr %t12979, ptr @.str8224) + %t12981 = icmp ne i32 %t12980, 0 + br i1 %t12981, label %then2625, label %ifend2627 +then2625: + store ptr @.str8225, ptr %t403 + %t12982 = load ptr, ptr %t410 + %t12983 = getelementptr inbounds %LSlice, ptr %t12982, i32 0, i32 1 + %t12984 = getelementptr inbounds %LSlice, ptr %t12982, i32 0, i32 2 + %t12985 = getelementptr inbounds %LSlice, ptr %t12982, i32 0, i32 0 + %t12986 = load i32, ptr %t12983 + %t12987 = load i32, ptr %t12984 + %t12988 = icmp sge i32 %t12986, %t12987 + br i1 %t12988, label %grow2628, label %put2629 +grow2628: + %t12989 = mul i32 %t12987, 2 + %t12990 = icmp eq i32 %t12987, 0 + %t12991 = select i1 %t12990, i32 8, i32 %t12989 + %t12992 = getelementptr ptr, ptr null, i32 1 + %t12993 = ptrtoint ptr %t12992 to i64 + %t12994 = zext i32 %t12991 to i64 + %t12995 = mul i64 %t12994, %t12993 + %t12996 = load ptr, ptr %t12985 + %t12997 = call ptr @realloc(ptr %t12996, i64 %t12995) + store ptr %t12997, ptr %t12985 + store i32 %t12991, ptr %t12984 + br label %put2629 +put2629: + %t12998 = load ptr, ptr %t12985 + %t12999 = getelementptr inbounds ptr, ptr %t12998, i32 %t12986 + store ptr @.str8226, ptr %t12999 + %t13000 = add i32 %t12986, 1 + store i32 %t13000, ptr %t12983 + br label %ifend2627 +ifend2627: + %t13001 = load ptr, ptr %t1 + %t13002 = call i32 @lp_str_eq(ptr %t13001, ptr @.str8227) + %t13003 = icmp ne i32 %t13002, 0 + br i1 %t13003, label %then2630, label %ifend2632 +then2630: + store ptr @.str8228, ptr %t403 + %t13004 = load ptr, ptr %t410 + %t13005 = getelementptr inbounds %LSlice, ptr %t13004, i32 0, i32 1 + %t13006 = getelementptr inbounds %LSlice, ptr %t13004, i32 0, i32 2 + %t13007 = getelementptr inbounds %LSlice, ptr %t13004, i32 0, i32 0 + %t13008 = load i32, ptr %t13005 + %t13009 = load i32, ptr %t13006 + %t13010 = icmp sge i32 %t13008, %t13009 + br i1 %t13010, label %grow2633, label %put2634 +grow2633: + %t13011 = mul i32 %t13009, 2 + %t13012 = icmp eq i32 %t13009, 0 + %t13013 = select i1 %t13012, i32 8, i32 %t13011 + %t13014 = getelementptr ptr, ptr null, i32 1 + %t13015 = ptrtoint ptr %t13014 to i64 + %t13016 = zext i32 %t13013 to i64 + %t13017 = mul i64 %t13016, %t13015 + %t13018 = load ptr, ptr %t13007 + %t13019 = call ptr @realloc(ptr %t13018, i64 %t13017) + store ptr %t13019, ptr %t13007 + store i32 %t13013, ptr %t13006 + br label %put2634 +put2634: + %t13020 = load ptr, ptr %t13007 + %t13021 = getelementptr inbounds ptr, ptr %t13020, i32 %t13008 + store ptr @.str8229, ptr %t13021 + %t13022 = add i32 %t13008, 1 + store i32 %t13022, ptr %t13005 + br label %ifend2632 +ifend2632: + br label %ifend2541 +ifend2541: + %t13023 = load ptr, ptr %t0 + %t13024 = call i32 @lp_str_eq(ptr %t13023, ptr @.str8230) + %t13025 = icmp ne i32 %t13024, 0 + br i1 %t13025, label %then2635, label %ifend2637 +then2635: + %t13026 = load ptr, ptr %t1 + %t13027 = call i32 @lp_str_eq(ptr %t13026, ptr @.str8231) + %t13028 = icmp ne i32 %t13027, 0 + br i1 %t13028, label %then2638, label %ifend2640 +then2638: + store ptr @.str8232, ptr %t403 + %t13029 = load ptr, ptr %t410 + %t13030 = getelementptr inbounds %LSlice, ptr %t13029, i32 0, i32 1 + %t13031 = getelementptr inbounds %LSlice, ptr %t13029, i32 0, i32 2 + %t13032 = getelementptr inbounds %LSlice, ptr %t13029, i32 0, i32 0 + %t13033 = load i32, ptr %t13030 + %t13034 = load i32, ptr %t13031 + %t13035 = icmp sge i32 %t13033, %t13034 + br i1 %t13035, label %grow2641, label %put2642 +grow2641: + %t13036 = mul i32 %t13034, 2 + %t13037 = icmp eq i32 %t13034, 0 + %t13038 = select i1 %t13037, i32 8, i32 %t13036 + %t13039 = getelementptr ptr, ptr null, i32 1 + %t13040 = ptrtoint ptr %t13039 to i64 + %t13041 = zext i32 %t13038 to i64 + %t13042 = mul i64 %t13041, %t13040 + %t13043 = load ptr, ptr %t13032 + %t13044 = call ptr @realloc(ptr %t13043, i64 %t13042) + store ptr %t13044, ptr %t13032 + store i32 %t13038, ptr %t13031 + br label %put2642 +put2642: + %t13045 = load ptr, ptr %t13032 + %t13046 = getelementptr inbounds ptr, ptr %t13045, i32 %t13033 + store ptr @.str8233, ptr %t13046 + %t13047 = add i32 %t13033, 1 + store i32 %t13047, ptr %t13030 + br label %ifend2640 +ifend2640: + %t13048 = load ptr, ptr %t1 + %t13049 = call i32 @lp_str_eq(ptr %t13048, ptr @.str8234) + %t13050 = icmp ne i32 %t13049, 0 + br i1 %t13050, label %then2643, label %ifend2645 +then2643: + store ptr @.str8235, ptr %t403 + %t13051 = load ptr, ptr %t410 + %t13052 = getelementptr inbounds %LSlice, ptr %t13051, i32 0, i32 1 + %t13053 = getelementptr inbounds %LSlice, ptr %t13051, i32 0, i32 2 + %t13054 = getelementptr inbounds %LSlice, ptr %t13051, i32 0, i32 0 + %t13055 = load i32, ptr %t13052 + %t13056 = load i32, ptr %t13053 + %t13057 = icmp sge i32 %t13055, %t13056 + br i1 %t13057, label %grow2646, label %put2647 +grow2646: + %t13058 = mul i32 %t13056, 2 + %t13059 = icmp eq i32 %t13056, 0 + %t13060 = select i1 %t13059, i32 8, i32 %t13058 + %t13061 = getelementptr ptr, ptr null, i32 1 + %t13062 = ptrtoint ptr %t13061 to i64 + %t13063 = zext i32 %t13060 to i64 + %t13064 = mul i64 %t13063, %t13062 + %t13065 = load ptr, ptr %t13054 + %t13066 = call ptr @realloc(ptr %t13065, i64 %t13064) + store ptr %t13066, ptr %t13054 + store i32 %t13060, ptr %t13053 + br label %put2647 +put2647: + %t13067 = load ptr, ptr %t13054 + %t13068 = getelementptr inbounds ptr, ptr %t13067, i32 %t13055 + store ptr @.str8236, ptr %t13068 + %t13069 = add i32 %t13055, 1 + store i32 %t13069, ptr %t13052 + br label %ifend2645 +ifend2645: + br label %ifend2637 +ifend2637: + %t13070 = load ptr, ptr %t0 + %t13071 = call i32 @lp_str_eq(ptr %t13070, ptr @.str8237) + %t13072 = icmp ne i32 %t13071, 0 + br i1 %t13072, label %then2648, label %ifend2650 +then2648: + %t13073 = load ptr, ptr %t1 + %t13074 = call i32 @lp_str_eq(ptr %t13073, ptr @.str8238) + %t13075 = icmp ne i32 %t13074, 0 + br i1 %t13075, label %then2651, label %ifend2653 +then2651: + store ptr @.str8239, ptr %t403 + %t13076 = load ptr, ptr %t410 + %t13077 = getelementptr inbounds %LSlice, ptr %t13076, i32 0, i32 1 + %t13078 = getelementptr inbounds %LSlice, ptr %t13076, i32 0, i32 2 + %t13079 = getelementptr inbounds %LSlice, ptr %t13076, i32 0, i32 0 + %t13080 = load i32, ptr %t13077 + %t13081 = load i32, ptr %t13078 + %t13082 = icmp sge i32 %t13080, %t13081 + br i1 %t13082, label %grow2654, label %put2655 +grow2654: + %t13083 = mul i32 %t13081, 2 + %t13084 = icmp eq i32 %t13081, 0 + %t13085 = select i1 %t13084, i32 8, i32 %t13083 + %t13086 = getelementptr ptr, ptr null, i32 1 + %t13087 = ptrtoint ptr %t13086 to i64 + %t13088 = zext i32 %t13085 to i64 + %t13089 = mul i64 %t13088, %t13087 + %t13090 = load ptr, ptr %t13079 + %t13091 = call ptr @realloc(ptr %t13090, i64 %t13089) + store ptr %t13091, ptr %t13079 + store i32 %t13085, ptr %t13078 + br label %put2655 +put2655: + %t13092 = load ptr, ptr %t13079 + %t13093 = getelementptr inbounds ptr, ptr %t13092, i32 %t13080 + store ptr @.str8240, ptr %t13093 + %t13094 = add i32 %t13080, 1 + store i32 %t13094, ptr %t13077 + br label %ifend2653 +ifend2653: + %t13095 = load ptr, ptr %t1 + %t13096 = call i32 @lp_str_eq(ptr %t13095, ptr @.str8241) + %t13097 = icmp ne i32 %t13096, 0 + br i1 %t13097, label %then2656, label %ifend2658 +then2656: + store ptr @.str8242, ptr %t403 + %t13098 = load ptr, ptr %t410 + %t13099 = getelementptr inbounds %LSlice, ptr %t13098, i32 0, i32 1 + %t13100 = getelementptr inbounds %LSlice, ptr %t13098, i32 0, i32 2 + %t13101 = getelementptr inbounds %LSlice, ptr %t13098, i32 0, i32 0 + %t13102 = load i32, ptr %t13099 + %t13103 = load i32, ptr %t13100 + %t13104 = icmp sge i32 %t13102, %t13103 + br i1 %t13104, label %grow2659, label %put2660 +grow2659: + %t13105 = mul i32 %t13103, 2 + %t13106 = icmp eq i32 %t13103, 0 + %t13107 = select i1 %t13106, i32 8, i32 %t13105 + %t13108 = getelementptr ptr, ptr null, i32 1 + %t13109 = ptrtoint ptr %t13108 to i64 + %t13110 = zext i32 %t13107 to i64 + %t13111 = mul i64 %t13110, %t13109 + %t13112 = load ptr, ptr %t13101 + %t13113 = call ptr @realloc(ptr %t13112, i64 %t13111) + store ptr %t13113, ptr %t13101 + store i32 %t13107, ptr %t13100 + br label %put2660 +put2660: + %t13114 = load ptr, ptr %t13101 + %t13115 = getelementptr inbounds ptr, ptr %t13114, i32 %t13102 + store ptr @.str8243, ptr %t13115 + %t13116 = add i32 %t13102, 1 + store i32 %t13116, ptr %t13099 + br label %ifend2658 +ifend2658: + %t13117 = load ptr, ptr %t1 + %t13118 = call i32 @lp_str_eq(ptr %t13117, ptr @.str8244) + %t13119 = icmp ne i32 %t13118, 0 + br i1 %t13119, label %then2661, label %ifend2663 +then2661: + store ptr @.str8245, ptr %t403 + %t13120 = load ptr, ptr %t410 + %t13121 = getelementptr inbounds %LSlice, ptr %t13120, i32 0, i32 1 + %t13122 = getelementptr inbounds %LSlice, ptr %t13120, i32 0, i32 2 + %t13123 = getelementptr inbounds %LSlice, ptr %t13120, i32 0, i32 0 + %t13124 = load i32, ptr %t13121 + %t13125 = load i32, ptr %t13122 + %t13126 = icmp sge i32 %t13124, %t13125 + br i1 %t13126, label %grow2664, label %put2665 +grow2664: + %t13127 = mul i32 %t13125, 2 + %t13128 = icmp eq i32 %t13125, 0 + %t13129 = select i1 %t13128, i32 8, i32 %t13127 + %t13130 = getelementptr ptr, ptr null, i32 1 + %t13131 = ptrtoint ptr %t13130 to i64 + %t13132 = zext i32 %t13129 to i64 + %t13133 = mul i64 %t13132, %t13131 + %t13134 = load ptr, ptr %t13123 + %t13135 = call ptr @realloc(ptr %t13134, i64 %t13133) + store ptr %t13135, ptr %t13123 + store i32 %t13129, ptr %t13122 + br label %put2665 +put2665: + %t13136 = load ptr, ptr %t13123 + %t13137 = getelementptr inbounds ptr, ptr %t13136, i32 %t13124 + store ptr @.str8246, ptr %t13137 + %t13138 = add i32 %t13124, 1 + store i32 %t13138, ptr %t13121 + br label %ifend2663 +ifend2663: + %t13139 = load ptr, ptr %t1 + %t13140 = call i32 @lp_str_eq(ptr %t13139, ptr @.str8247) + %t13141 = icmp ne i32 %t13140, 0 + br i1 %t13141, label %then2666, label %ifend2668 +then2666: + store ptr @.str8248, ptr %t403 + %t13142 = load ptr, ptr %t410 + %t13143 = getelementptr inbounds %LSlice, ptr %t13142, i32 0, i32 1 + %t13144 = getelementptr inbounds %LSlice, ptr %t13142, i32 0, i32 2 + %t13145 = getelementptr inbounds %LSlice, ptr %t13142, i32 0, i32 0 + %t13146 = load i32, ptr %t13143 + %t13147 = load i32, ptr %t13144 + %t13148 = icmp sge i32 %t13146, %t13147 + br i1 %t13148, label %grow2669, label %put2670 +grow2669: + %t13149 = mul i32 %t13147, 2 + %t13150 = icmp eq i32 %t13147, 0 + %t13151 = select i1 %t13150, i32 8, i32 %t13149 + %t13152 = getelementptr ptr, ptr null, i32 1 + %t13153 = ptrtoint ptr %t13152 to i64 + %t13154 = zext i32 %t13151 to i64 + %t13155 = mul i64 %t13154, %t13153 + %t13156 = load ptr, ptr %t13145 + %t13157 = call ptr @realloc(ptr %t13156, i64 %t13155) + store ptr %t13157, ptr %t13145 + store i32 %t13151, ptr %t13144 + br label %put2670 +put2670: + %t13158 = load ptr, ptr %t13145 + %t13159 = getelementptr inbounds ptr, ptr %t13158, i32 %t13146 + store ptr @.str8249, ptr %t13159 + %t13160 = add i32 %t13146, 1 + store i32 %t13160, ptr %t13143 + %t13161 = load ptr, ptr %t410 + %t13162 = getelementptr inbounds %LSlice, ptr %t13161, i32 0, i32 1 + %t13163 = getelementptr inbounds %LSlice, ptr %t13161, i32 0, i32 2 + %t13164 = getelementptr inbounds %LSlice, ptr %t13161, i32 0, i32 0 + %t13165 = load i32, ptr %t13162 + %t13166 = load i32, ptr %t13163 + %t13167 = icmp sge i32 %t13165, %t13166 + br i1 %t13167, label %grow2671, label %put2672 +grow2671: + %t13168 = mul i32 %t13166, 2 + %t13169 = icmp eq i32 %t13166, 0 + %t13170 = select i1 %t13169, i32 8, i32 %t13168 + %t13171 = getelementptr ptr, ptr null, i32 1 + %t13172 = ptrtoint ptr %t13171 to i64 + %t13173 = zext i32 %t13170 to i64 + %t13174 = mul i64 %t13173, %t13172 + %t13175 = load ptr, ptr %t13164 + %t13176 = call ptr @realloc(ptr %t13175, i64 %t13174) + store ptr %t13176, ptr %t13164 + store i32 %t13170, ptr %t13163 + br label %put2672 +put2672: + %t13177 = load ptr, ptr %t13164 + %t13178 = getelementptr inbounds ptr, ptr %t13177, i32 %t13165 + store ptr @.str8250, ptr %t13178 + %t13179 = add i32 %t13165, 1 + store i32 %t13179, ptr %t13162 + br label %ifend2668 +ifend2668: + %t13180 = load ptr, ptr %t1 + %t13181 = call i32 @lp_str_eq(ptr %t13180, ptr @.str8251) + %t13182 = icmp ne i32 %t13181, 0 + br i1 %t13182, label %then2673, label %ifend2675 +then2673: + store ptr @.str8252, ptr %t403 + %t13183 = load ptr, ptr %t410 + %t13184 = getelementptr inbounds %LSlice, ptr %t13183, i32 0, i32 1 + %t13185 = getelementptr inbounds %LSlice, ptr %t13183, i32 0, i32 2 + %t13186 = getelementptr inbounds %LSlice, ptr %t13183, i32 0, i32 0 + %t13187 = load i32, ptr %t13184 + %t13188 = load i32, ptr %t13185 + %t13189 = icmp sge i32 %t13187, %t13188 + br i1 %t13189, label %grow2676, label %put2677 +grow2676: + %t13190 = mul i32 %t13188, 2 + %t13191 = icmp eq i32 %t13188, 0 + %t13192 = select i1 %t13191, i32 8, i32 %t13190 + %t13193 = getelementptr ptr, ptr null, i32 1 + %t13194 = ptrtoint ptr %t13193 to i64 + %t13195 = zext i32 %t13192 to i64 + %t13196 = mul i64 %t13195, %t13194 + %t13197 = load ptr, ptr %t13186 + %t13198 = call ptr @realloc(ptr %t13197, i64 %t13196) + store ptr %t13198, ptr %t13186 + store i32 %t13192, ptr %t13185 + br label %put2677 +put2677: + %t13199 = load ptr, ptr %t13186 + %t13200 = getelementptr inbounds ptr, ptr %t13199, i32 %t13187 + store ptr @.str8253, ptr %t13200 + %t13201 = add i32 %t13187, 1 + store i32 %t13201, ptr %t13184 + %t13202 = load ptr, ptr %t410 + %t13203 = getelementptr inbounds %LSlice, ptr %t13202, i32 0, i32 1 + %t13204 = getelementptr inbounds %LSlice, ptr %t13202, i32 0, i32 2 + %t13205 = getelementptr inbounds %LSlice, ptr %t13202, i32 0, i32 0 + %t13206 = load i32, ptr %t13203 + %t13207 = load i32, ptr %t13204 + %t13208 = icmp sge i32 %t13206, %t13207 + br i1 %t13208, label %grow2678, label %put2679 +grow2678: + %t13209 = mul i32 %t13207, 2 + %t13210 = icmp eq i32 %t13207, 0 + %t13211 = select i1 %t13210, i32 8, i32 %t13209 + %t13212 = getelementptr ptr, ptr null, i32 1 + %t13213 = ptrtoint ptr %t13212 to i64 + %t13214 = zext i32 %t13211 to i64 + %t13215 = mul i64 %t13214, %t13213 + %t13216 = load ptr, ptr %t13205 + %t13217 = call ptr @realloc(ptr %t13216, i64 %t13215) + store ptr %t13217, ptr %t13205 + store i32 %t13211, ptr %t13204 + br label %put2679 +put2679: + %t13218 = load ptr, ptr %t13205 + %t13219 = getelementptr inbounds ptr, ptr %t13218, i32 %t13206 + store ptr @.str8254, ptr %t13219 + %t13220 = add i32 %t13206, 1 + store i32 %t13220, ptr %t13203 + %t13221 = load ptr, ptr %t410 + %t13222 = getelementptr inbounds %LSlice, ptr %t13221, i32 0, i32 1 + %t13223 = getelementptr inbounds %LSlice, ptr %t13221, i32 0, i32 2 + %t13224 = getelementptr inbounds %LSlice, ptr %t13221, i32 0, i32 0 + %t13225 = load i32, ptr %t13222 + %t13226 = load i32, ptr %t13223 + %t13227 = icmp sge i32 %t13225, %t13226 + br i1 %t13227, label %grow2680, label %put2681 +grow2680: + %t13228 = mul i32 %t13226, 2 + %t13229 = icmp eq i32 %t13226, 0 + %t13230 = select i1 %t13229, i32 8, i32 %t13228 + %t13231 = getelementptr ptr, ptr null, i32 1 + %t13232 = ptrtoint ptr %t13231 to i64 + %t13233 = zext i32 %t13230 to i64 + %t13234 = mul i64 %t13233, %t13232 + %t13235 = load ptr, ptr %t13224 + %t13236 = call ptr @realloc(ptr %t13235, i64 %t13234) + store ptr %t13236, ptr %t13224 + store i32 %t13230, ptr %t13223 + br label %put2681 +put2681: + %t13237 = load ptr, ptr %t13224 + %t13238 = getelementptr inbounds ptr, ptr %t13237, i32 %t13225 + store ptr @.str8255, ptr %t13238 + %t13239 = add i32 %t13225, 1 + store i32 %t13239, ptr %t13222 + br label %ifend2675 +ifend2675: + %t13240 = load ptr, ptr %t1 + %t13241 = call i32 @lp_str_eq(ptr %t13240, ptr @.str8256) + %t13242 = icmp ne i32 %t13241, 0 + br i1 %t13242, label %then2682, label %ifend2684 +then2682: + store ptr @.str8257, ptr %t403 + %t13243 = load ptr, ptr %t410 + %t13244 = getelementptr inbounds %LSlice, ptr %t13243, i32 0, i32 1 + %t13245 = getelementptr inbounds %LSlice, ptr %t13243, i32 0, i32 2 + %t13246 = getelementptr inbounds %LSlice, ptr %t13243, i32 0, i32 0 + %t13247 = load i32, ptr %t13244 + %t13248 = load i32, ptr %t13245 + %t13249 = icmp sge i32 %t13247, %t13248 + br i1 %t13249, label %grow2685, label %put2686 +grow2685: + %t13250 = mul i32 %t13248, 2 + %t13251 = icmp eq i32 %t13248, 0 + %t13252 = select i1 %t13251, i32 8, i32 %t13250 + %t13253 = getelementptr ptr, ptr null, i32 1 + %t13254 = ptrtoint ptr %t13253 to i64 + %t13255 = zext i32 %t13252 to i64 + %t13256 = mul i64 %t13255, %t13254 + %t13257 = load ptr, ptr %t13246 + %t13258 = call ptr @realloc(ptr %t13257, i64 %t13256) + store ptr %t13258, ptr %t13246 + store i32 %t13252, ptr %t13245 + br label %put2686 +put2686: + %t13259 = load ptr, ptr %t13246 + %t13260 = getelementptr inbounds ptr, ptr %t13259, i32 %t13247 + store ptr @.str8258, ptr %t13260 + %t13261 = add i32 %t13247, 1 + store i32 %t13261, ptr %t13244 + %t13262 = load ptr, ptr %t410 + %t13263 = getelementptr inbounds %LSlice, ptr %t13262, i32 0, i32 1 + %t13264 = getelementptr inbounds %LSlice, ptr %t13262, i32 0, i32 2 + %t13265 = getelementptr inbounds %LSlice, ptr %t13262, i32 0, i32 0 + %t13266 = load i32, ptr %t13263 + %t13267 = load i32, ptr %t13264 + %t13268 = icmp sge i32 %t13266, %t13267 + br i1 %t13268, label %grow2687, label %put2688 +grow2687: + %t13269 = mul i32 %t13267, 2 + %t13270 = icmp eq i32 %t13267, 0 + %t13271 = select i1 %t13270, i32 8, i32 %t13269 + %t13272 = getelementptr ptr, ptr null, i32 1 + %t13273 = ptrtoint ptr %t13272 to i64 + %t13274 = zext i32 %t13271 to i64 + %t13275 = mul i64 %t13274, %t13273 + %t13276 = load ptr, ptr %t13265 + %t13277 = call ptr @realloc(ptr %t13276, i64 %t13275) + store ptr %t13277, ptr %t13265 + store i32 %t13271, ptr %t13264 + br label %put2688 +put2688: + %t13278 = load ptr, ptr %t13265 + %t13279 = getelementptr inbounds ptr, ptr %t13278, i32 %t13266 + store ptr @.str8259, ptr %t13279 + %t13280 = add i32 %t13266, 1 + store i32 %t13280, ptr %t13263 + br label %ifend2684 +ifend2684: + %t13281 = load ptr, ptr %t1 + %t13282 = call i32 @lp_str_eq(ptr %t13281, ptr @.str8260) + %t13283 = icmp ne i32 %t13282, 0 + br i1 %t13283, label %then2689, label %ifend2691 +then2689: + store ptr @.str8261, ptr %t403 + %t13284 = load ptr, ptr %t410 + %t13285 = getelementptr inbounds %LSlice, ptr %t13284, i32 0, i32 1 + %t13286 = getelementptr inbounds %LSlice, ptr %t13284, i32 0, i32 2 + %t13287 = getelementptr inbounds %LSlice, ptr %t13284, i32 0, i32 0 + %t13288 = load i32, ptr %t13285 + %t13289 = load i32, ptr %t13286 + %t13290 = icmp sge i32 %t13288, %t13289 + br i1 %t13290, label %grow2692, label %put2693 +grow2692: + %t13291 = mul i32 %t13289, 2 + %t13292 = icmp eq i32 %t13289, 0 + %t13293 = select i1 %t13292, i32 8, i32 %t13291 + %t13294 = getelementptr ptr, ptr null, i32 1 + %t13295 = ptrtoint ptr %t13294 to i64 + %t13296 = zext i32 %t13293 to i64 + %t13297 = mul i64 %t13296, %t13295 + %t13298 = load ptr, ptr %t13287 + %t13299 = call ptr @realloc(ptr %t13298, i64 %t13297) + store ptr %t13299, ptr %t13287 + store i32 %t13293, ptr %t13286 + br label %put2693 +put2693: + %t13300 = load ptr, ptr %t13287 + %t13301 = getelementptr inbounds ptr, ptr %t13300, i32 %t13288 + store ptr @.str8262, ptr %t13301 + %t13302 = add i32 %t13288, 1 + store i32 %t13302, ptr %t13285 + br label %ifend2691 +ifend2691: + %t13303 = load ptr, ptr %t1 + %t13304 = call i32 @lp_str_eq(ptr %t13303, ptr @.str8263) + %t13305 = icmp ne i32 %t13304, 0 + br i1 %t13305, label %then2694, label %ifend2696 +then2694: + store ptr @.str8264, ptr %t403 + %t13306 = load ptr, ptr %t410 + %t13307 = getelementptr inbounds %LSlice, ptr %t13306, i32 0, i32 1 + %t13308 = getelementptr inbounds %LSlice, ptr %t13306, i32 0, i32 2 + %t13309 = getelementptr inbounds %LSlice, ptr %t13306, i32 0, i32 0 + %t13310 = load i32, ptr %t13307 + %t13311 = load i32, ptr %t13308 + %t13312 = icmp sge i32 %t13310, %t13311 + br i1 %t13312, label %grow2697, label %put2698 +grow2697: + %t13313 = mul i32 %t13311, 2 + %t13314 = icmp eq i32 %t13311, 0 + %t13315 = select i1 %t13314, i32 8, i32 %t13313 + %t13316 = getelementptr ptr, ptr null, i32 1 + %t13317 = ptrtoint ptr %t13316 to i64 + %t13318 = zext i32 %t13315 to i64 + %t13319 = mul i64 %t13318, %t13317 + %t13320 = load ptr, ptr %t13309 + %t13321 = call ptr @realloc(ptr %t13320, i64 %t13319) + store ptr %t13321, ptr %t13309 + store i32 %t13315, ptr %t13308 + br label %put2698 +put2698: + %t13322 = load ptr, ptr %t13309 + %t13323 = getelementptr inbounds ptr, ptr %t13322, i32 %t13310 + store ptr @.str8265, ptr %t13323 + %t13324 = add i32 %t13310, 1 + store i32 %t13324, ptr %t13307 + br label %ifend2696 +ifend2696: + %t13325 = load ptr, ptr %t1 + %t13326 = call i32 @lp_str_eq(ptr %t13325, ptr @.str8266) + %t13327 = icmp ne i32 %t13326, 0 + br i1 %t13327, label %then2699, label %ifend2701 +then2699: + store ptr @.str8267, ptr %t403 + %t13328 = load ptr, ptr %t410 + %t13329 = getelementptr inbounds %LSlice, ptr %t13328, i32 0, i32 1 + %t13330 = getelementptr inbounds %LSlice, ptr %t13328, i32 0, i32 2 + %t13331 = getelementptr inbounds %LSlice, ptr %t13328, i32 0, i32 0 + %t13332 = load i32, ptr %t13329 + %t13333 = load i32, ptr %t13330 + %t13334 = icmp sge i32 %t13332, %t13333 + br i1 %t13334, label %grow2702, label %put2703 +grow2702: + %t13335 = mul i32 %t13333, 2 + %t13336 = icmp eq i32 %t13333, 0 + %t13337 = select i1 %t13336, i32 8, i32 %t13335 + %t13338 = getelementptr ptr, ptr null, i32 1 + %t13339 = ptrtoint ptr %t13338 to i64 + %t13340 = zext i32 %t13337 to i64 + %t13341 = mul i64 %t13340, %t13339 + %t13342 = load ptr, ptr %t13331 + %t13343 = call ptr @realloc(ptr %t13342, i64 %t13341) + store ptr %t13343, ptr %t13331 + store i32 %t13337, ptr %t13330 + br label %put2703 +put2703: + %t13344 = load ptr, ptr %t13331 + %t13345 = getelementptr inbounds ptr, ptr %t13344, i32 %t13332 + store ptr @.str8268, ptr %t13345 + %t13346 = add i32 %t13332, 1 + store i32 %t13346, ptr %t13329 + %t13347 = load ptr, ptr %t410 + %t13348 = getelementptr inbounds %LSlice, ptr %t13347, i32 0, i32 1 + %t13349 = getelementptr inbounds %LSlice, ptr %t13347, i32 0, i32 2 + %t13350 = getelementptr inbounds %LSlice, ptr %t13347, i32 0, i32 0 + %t13351 = load i32, ptr %t13348 + %t13352 = load i32, ptr %t13349 + %t13353 = icmp sge i32 %t13351, %t13352 + br i1 %t13353, label %grow2704, label %put2705 +grow2704: + %t13354 = mul i32 %t13352, 2 + %t13355 = icmp eq i32 %t13352, 0 + %t13356 = select i1 %t13355, i32 8, i32 %t13354 + %t13357 = getelementptr ptr, ptr null, i32 1 + %t13358 = ptrtoint ptr %t13357 to i64 + %t13359 = zext i32 %t13356 to i64 + %t13360 = mul i64 %t13359, %t13358 + %t13361 = load ptr, ptr %t13350 + %t13362 = call ptr @realloc(ptr %t13361, i64 %t13360) + store ptr %t13362, ptr %t13350 + store i32 %t13356, ptr %t13349 + br label %put2705 +put2705: + %t13363 = load ptr, ptr %t13350 + %t13364 = getelementptr inbounds ptr, ptr %t13363, i32 %t13351 + store ptr @.str8269, ptr %t13364 + %t13365 = add i32 %t13351, 1 + store i32 %t13365, ptr %t13348 + br label %ifend2701 +ifend2701: + %t13366 = load ptr, ptr %t1 + %t13367 = call i32 @lp_str_eq(ptr %t13366, ptr @.str8270) + %t13368 = icmp ne i32 %t13367, 0 + br i1 %t13368, label %then2706, label %ifend2708 +then2706: + store ptr @.str8271, ptr %t403 + %t13369 = load ptr, ptr %t410 + %t13370 = getelementptr inbounds %LSlice, ptr %t13369, i32 0, i32 1 + %t13371 = getelementptr inbounds %LSlice, ptr %t13369, i32 0, i32 2 + %t13372 = getelementptr inbounds %LSlice, ptr %t13369, i32 0, i32 0 + %t13373 = load i32, ptr %t13370 + %t13374 = load i32, ptr %t13371 + %t13375 = icmp sge i32 %t13373, %t13374 + br i1 %t13375, label %grow2709, label %put2710 +grow2709: + %t13376 = mul i32 %t13374, 2 + %t13377 = icmp eq i32 %t13374, 0 + %t13378 = select i1 %t13377, i32 8, i32 %t13376 + %t13379 = getelementptr ptr, ptr null, i32 1 + %t13380 = ptrtoint ptr %t13379 to i64 + %t13381 = zext i32 %t13378 to i64 + %t13382 = mul i64 %t13381, %t13380 + %t13383 = load ptr, ptr %t13372 + %t13384 = call ptr @realloc(ptr %t13383, i64 %t13382) + store ptr %t13384, ptr %t13372 + store i32 %t13378, ptr %t13371 + br label %put2710 +put2710: + %t13385 = load ptr, ptr %t13372 + %t13386 = getelementptr inbounds ptr, ptr %t13385, i32 %t13373 + store ptr @.str8272, ptr %t13386 + %t13387 = add i32 %t13373, 1 + store i32 %t13387, ptr %t13370 + %t13388 = load ptr, ptr %t410 + %t13389 = getelementptr inbounds %LSlice, ptr %t13388, i32 0, i32 1 + %t13390 = getelementptr inbounds %LSlice, ptr %t13388, i32 0, i32 2 + %t13391 = getelementptr inbounds %LSlice, ptr %t13388, i32 0, i32 0 + %t13392 = load i32, ptr %t13389 + %t13393 = load i32, ptr %t13390 + %t13394 = icmp sge i32 %t13392, %t13393 + br i1 %t13394, label %grow2711, label %put2712 +grow2711: + %t13395 = mul i32 %t13393, 2 + %t13396 = icmp eq i32 %t13393, 0 + %t13397 = select i1 %t13396, i32 8, i32 %t13395 + %t13398 = getelementptr ptr, ptr null, i32 1 + %t13399 = ptrtoint ptr %t13398 to i64 + %t13400 = zext i32 %t13397 to i64 + %t13401 = mul i64 %t13400, %t13399 + %t13402 = load ptr, ptr %t13391 + %t13403 = call ptr @realloc(ptr %t13402, i64 %t13401) + store ptr %t13403, ptr %t13391 + store i32 %t13397, ptr %t13390 + br label %put2712 +put2712: + %t13404 = load ptr, ptr %t13391 + %t13405 = getelementptr inbounds ptr, ptr %t13404, i32 %t13392 + store ptr @.str8273, ptr %t13405 + %t13406 = add i32 %t13392, 1 + store i32 %t13406, ptr %t13389 + br label %ifend2708 +ifend2708: + %t13407 = load ptr, ptr %t1 + %t13408 = call i32 @lp_str_eq(ptr %t13407, ptr @.str8274) + %t13409 = icmp ne i32 %t13408, 0 + br i1 %t13409, label %then2713, label %ifend2715 +then2713: + store ptr @.str8275, ptr %t403 + %t13410 = load ptr, ptr %t410 + %t13411 = getelementptr inbounds %LSlice, ptr %t13410, i32 0, i32 1 + %t13412 = getelementptr inbounds %LSlice, ptr %t13410, i32 0, i32 2 + %t13413 = getelementptr inbounds %LSlice, ptr %t13410, i32 0, i32 0 + %t13414 = load i32, ptr %t13411 + %t13415 = load i32, ptr %t13412 + %t13416 = icmp sge i32 %t13414, %t13415 + br i1 %t13416, label %grow2716, label %put2717 +grow2716: + %t13417 = mul i32 %t13415, 2 + %t13418 = icmp eq i32 %t13415, 0 + %t13419 = select i1 %t13418, i32 8, i32 %t13417 + %t13420 = getelementptr ptr, ptr null, i32 1 + %t13421 = ptrtoint ptr %t13420 to i64 + %t13422 = zext i32 %t13419 to i64 + %t13423 = mul i64 %t13422, %t13421 + %t13424 = load ptr, ptr %t13413 + %t13425 = call ptr @realloc(ptr %t13424, i64 %t13423) + store ptr %t13425, ptr %t13413 + store i32 %t13419, ptr %t13412 + br label %put2717 +put2717: + %t13426 = load ptr, ptr %t13413 + %t13427 = getelementptr inbounds ptr, ptr %t13426, i32 %t13414 + store ptr @.str8276, ptr %t13427 + %t13428 = add i32 %t13414, 1 + store i32 %t13428, ptr %t13411 + %t13429 = load ptr, ptr %t410 + %t13430 = getelementptr inbounds %LSlice, ptr %t13429, i32 0, i32 1 + %t13431 = getelementptr inbounds %LSlice, ptr %t13429, i32 0, i32 2 + %t13432 = getelementptr inbounds %LSlice, ptr %t13429, i32 0, i32 0 + %t13433 = load i32, ptr %t13430 + %t13434 = load i32, ptr %t13431 + %t13435 = icmp sge i32 %t13433, %t13434 + br i1 %t13435, label %grow2718, label %put2719 +grow2718: + %t13436 = mul i32 %t13434, 2 + %t13437 = icmp eq i32 %t13434, 0 + %t13438 = select i1 %t13437, i32 8, i32 %t13436 + %t13439 = getelementptr ptr, ptr null, i32 1 + %t13440 = ptrtoint ptr %t13439 to i64 + %t13441 = zext i32 %t13438 to i64 + %t13442 = mul i64 %t13441, %t13440 + %t13443 = load ptr, ptr %t13432 + %t13444 = call ptr @realloc(ptr %t13443, i64 %t13442) + store ptr %t13444, ptr %t13432 + store i32 %t13438, ptr %t13431 + br label %put2719 +put2719: + %t13445 = load ptr, ptr %t13432 + %t13446 = getelementptr inbounds ptr, ptr %t13445, i32 %t13433 + store ptr @.str8277, ptr %t13446 + %t13447 = add i32 %t13433, 1 + store i32 %t13447, ptr %t13430 + br label %ifend2715 +ifend2715: + br label %ifend2650 +ifend2650: + %t13448 = load ptr, ptr %t0 + %t13449 = call i32 @lp_str_eq(ptr %t13448, ptr @.str8278) + %t13450 = icmp ne i32 %t13449, 0 + br i1 %t13450, label %then2720, label %ifend2722 +then2720: + %t13451 = load ptr, ptr %t1 + %t13452 = call i32 @lp_str_eq(ptr %t13451, ptr @.str8279) + %t13453 = icmp ne i32 %t13452, 0 + br i1 %t13453, label %then2723, label %ifend2725 +then2723: + store ptr @.str8280, ptr %t403 + %t13454 = load ptr, ptr %t410 + %t13455 = getelementptr inbounds %LSlice, ptr %t13454, i32 0, i32 1 + %t13456 = getelementptr inbounds %LSlice, ptr %t13454, i32 0, i32 2 + %t13457 = getelementptr inbounds %LSlice, ptr %t13454, i32 0, i32 0 + %t13458 = load i32, ptr %t13455 + %t13459 = load i32, ptr %t13456 + %t13460 = icmp sge i32 %t13458, %t13459 + br i1 %t13460, label %grow2726, label %put2727 +grow2726: + %t13461 = mul i32 %t13459, 2 + %t13462 = icmp eq i32 %t13459, 0 + %t13463 = select i1 %t13462, i32 8, i32 %t13461 + %t13464 = getelementptr ptr, ptr null, i32 1 + %t13465 = ptrtoint ptr %t13464 to i64 + %t13466 = zext i32 %t13463 to i64 + %t13467 = mul i64 %t13466, %t13465 + %t13468 = load ptr, ptr %t13457 + %t13469 = call ptr @realloc(ptr %t13468, i64 %t13467) + store ptr %t13469, ptr %t13457 + store i32 %t13463, ptr %t13456 + br label %put2727 +put2727: + %t13470 = load ptr, ptr %t13457 + %t13471 = getelementptr inbounds ptr, ptr %t13470, i32 %t13458 + store ptr @.str8281, ptr %t13471 + %t13472 = add i32 %t13458, 1 + store i32 %t13472, ptr %t13455 + br label %ifend2725 +ifend2725: + %t13473 = load ptr, ptr %t1 + %t13474 = call i32 @lp_str_eq(ptr %t13473, ptr @.str8282) + %t13475 = icmp ne i32 %t13474, 0 + br i1 %t13475, label %then2728, label %ifend2730 +then2728: + store ptr @.str8283, ptr %t403 + %t13476 = load ptr, ptr %t410 + %t13477 = getelementptr inbounds %LSlice, ptr %t13476, i32 0, i32 1 + %t13478 = getelementptr inbounds %LSlice, ptr %t13476, i32 0, i32 2 + %t13479 = getelementptr inbounds %LSlice, ptr %t13476, i32 0, i32 0 + %t13480 = load i32, ptr %t13477 + %t13481 = load i32, ptr %t13478 + %t13482 = icmp sge i32 %t13480, %t13481 + br i1 %t13482, label %grow2731, label %put2732 +grow2731: + %t13483 = mul i32 %t13481, 2 + %t13484 = icmp eq i32 %t13481, 0 + %t13485 = select i1 %t13484, i32 8, i32 %t13483 + %t13486 = getelementptr ptr, ptr null, i32 1 + %t13487 = ptrtoint ptr %t13486 to i64 + %t13488 = zext i32 %t13485 to i64 + %t13489 = mul i64 %t13488, %t13487 + %t13490 = load ptr, ptr %t13479 + %t13491 = call ptr @realloc(ptr %t13490, i64 %t13489) + store ptr %t13491, ptr %t13479 + store i32 %t13485, ptr %t13478 + br label %put2732 +put2732: + %t13492 = load ptr, ptr %t13479 + %t13493 = getelementptr inbounds ptr, ptr %t13492, i32 %t13480 + store ptr @.str8284, ptr %t13493 + %t13494 = add i32 %t13480, 1 + store i32 %t13494, ptr %t13477 + br label %ifend2730 +ifend2730: + br label %ifend2722 +ifend2722: + %t13495 = load ptr, ptr %t0 + %t13496 = call i32 @lp_str_eq(ptr %t13495, ptr @.str8285) + %t13497 = icmp ne i32 %t13496, 0 + br i1 %t13497, label %then2733, label %ifend2735 +then2733: + %t13498 = load ptr, ptr %t1 + %t13499 = call i32 @lp_str_eq(ptr %t13498, ptr @.str8286) + %t13500 = icmp ne i32 %t13499, 0 + br i1 %t13500, label %then2736, label %ifend2738 +then2736: + store ptr @.str8287, ptr %t403 + %t13501 = load ptr, ptr %t410 + %t13502 = getelementptr inbounds %LSlice, ptr %t13501, i32 0, i32 1 + %t13503 = getelementptr inbounds %LSlice, ptr %t13501, i32 0, i32 2 + %t13504 = getelementptr inbounds %LSlice, ptr %t13501, i32 0, i32 0 + %t13505 = load i32, ptr %t13502 + %t13506 = load i32, ptr %t13503 + %t13507 = icmp sge i32 %t13505, %t13506 + br i1 %t13507, label %grow2739, label %put2740 +grow2739: + %t13508 = mul i32 %t13506, 2 + %t13509 = icmp eq i32 %t13506, 0 + %t13510 = select i1 %t13509, i32 8, i32 %t13508 + %t13511 = getelementptr ptr, ptr null, i32 1 + %t13512 = ptrtoint ptr %t13511 to i64 + %t13513 = zext i32 %t13510 to i64 + %t13514 = mul i64 %t13513, %t13512 + %t13515 = load ptr, ptr %t13504 + %t13516 = call ptr @realloc(ptr %t13515, i64 %t13514) + store ptr %t13516, ptr %t13504 + store i32 %t13510, ptr %t13503 + br label %put2740 +put2740: + %t13517 = load ptr, ptr %t13504 + %t13518 = getelementptr inbounds ptr, ptr %t13517, i32 %t13505 + store ptr @.str8288, ptr %t13518 + %t13519 = add i32 %t13505, 1 + store i32 %t13519, ptr %t13502 + br label %ifend2738 +ifend2738: + %t13520 = load ptr, ptr %t1 + %t13521 = call i32 @lp_str_eq(ptr %t13520, ptr @.str8289) + %t13522 = icmp ne i32 %t13521, 0 + br i1 %t13522, label %then2741, label %ifend2743 +then2741: + store ptr @.str8290, ptr %t403 + %t13523 = load ptr, ptr %t410 + %t13524 = getelementptr inbounds %LSlice, ptr %t13523, i32 0, i32 1 + %t13525 = getelementptr inbounds %LSlice, ptr %t13523, i32 0, i32 2 + %t13526 = getelementptr inbounds %LSlice, ptr %t13523, i32 0, i32 0 + %t13527 = load i32, ptr %t13524 + %t13528 = load i32, ptr %t13525 + %t13529 = icmp sge i32 %t13527, %t13528 + br i1 %t13529, label %grow2744, label %put2745 +grow2744: + %t13530 = mul i32 %t13528, 2 + %t13531 = icmp eq i32 %t13528, 0 + %t13532 = select i1 %t13531, i32 8, i32 %t13530 + %t13533 = getelementptr ptr, ptr null, i32 1 + %t13534 = ptrtoint ptr %t13533 to i64 + %t13535 = zext i32 %t13532 to i64 + %t13536 = mul i64 %t13535, %t13534 + %t13537 = load ptr, ptr %t13526 + %t13538 = call ptr @realloc(ptr %t13537, i64 %t13536) + store ptr %t13538, ptr %t13526 + store i32 %t13532, ptr %t13525 + br label %put2745 +put2745: + %t13539 = load ptr, ptr %t13526 + %t13540 = getelementptr inbounds ptr, ptr %t13539, i32 %t13527 + store ptr @.str8291, ptr %t13540 + %t13541 = add i32 %t13527, 1 + store i32 %t13541, ptr %t13524 + br label %ifend2743 +ifend2743: + %t13542 = load ptr, ptr %t1 + %t13543 = call i32 @lp_str_eq(ptr %t13542, ptr @.str8292) + %t13544 = icmp ne i32 %t13543, 0 + br i1 %t13544, label %then2746, label %ifend2748 +then2746: + store ptr @.str8293, ptr %t403 + %t13545 = load ptr, ptr %t410 + %t13546 = getelementptr inbounds %LSlice, ptr %t13545, i32 0, i32 1 + %t13547 = getelementptr inbounds %LSlice, ptr %t13545, i32 0, i32 2 + %t13548 = getelementptr inbounds %LSlice, ptr %t13545, i32 0, i32 0 + %t13549 = load i32, ptr %t13546 + %t13550 = load i32, ptr %t13547 + %t13551 = icmp sge i32 %t13549, %t13550 + br i1 %t13551, label %grow2749, label %put2750 +grow2749: + %t13552 = mul i32 %t13550, 2 + %t13553 = icmp eq i32 %t13550, 0 + %t13554 = select i1 %t13553, i32 8, i32 %t13552 + %t13555 = getelementptr ptr, ptr null, i32 1 + %t13556 = ptrtoint ptr %t13555 to i64 + %t13557 = zext i32 %t13554 to i64 + %t13558 = mul i64 %t13557, %t13556 + %t13559 = load ptr, ptr %t13548 + %t13560 = call ptr @realloc(ptr %t13559, i64 %t13558) + store ptr %t13560, ptr %t13548 + store i32 %t13554, ptr %t13547 + br label %put2750 +put2750: + %t13561 = load ptr, ptr %t13548 + %t13562 = getelementptr inbounds ptr, ptr %t13561, i32 %t13549 + store ptr @.str8294, ptr %t13562 + %t13563 = add i32 %t13549, 1 + store i32 %t13563, ptr %t13546 + br label %ifend2748 +ifend2748: + %t13564 = load ptr, ptr %t1 + %t13565 = call i32 @lp_str_eq(ptr %t13564, ptr @.str8295) + %t13566 = icmp ne i32 %t13565, 0 + br i1 %t13566, label %then2751, label %ifend2753 +then2751: + store ptr @.str8296, ptr %t403 + %t13567 = load ptr, ptr %t410 + %t13568 = getelementptr inbounds %LSlice, ptr %t13567, i32 0, i32 1 + %t13569 = getelementptr inbounds %LSlice, ptr %t13567, i32 0, i32 2 + %t13570 = getelementptr inbounds %LSlice, ptr %t13567, i32 0, i32 0 + %t13571 = load i32, ptr %t13568 + %t13572 = load i32, ptr %t13569 + %t13573 = icmp sge i32 %t13571, %t13572 + br i1 %t13573, label %grow2754, label %put2755 +grow2754: + %t13574 = mul i32 %t13572, 2 + %t13575 = icmp eq i32 %t13572, 0 + %t13576 = select i1 %t13575, i32 8, i32 %t13574 + %t13577 = getelementptr ptr, ptr null, i32 1 + %t13578 = ptrtoint ptr %t13577 to i64 + %t13579 = zext i32 %t13576 to i64 + %t13580 = mul i64 %t13579, %t13578 + %t13581 = load ptr, ptr %t13570 + %t13582 = call ptr @realloc(ptr %t13581, i64 %t13580) + store ptr %t13582, ptr %t13570 + store i32 %t13576, ptr %t13569 + br label %put2755 +put2755: + %t13583 = load ptr, ptr %t13570 + %t13584 = getelementptr inbounds ptr, ptr %t13583, i32 %t13571 + store ptr @.str8297, ptr %t13584 + %t13585 = add i32 %t13571, 1 + store i32 %t13585, ptr %t13568 + %t13586 = load ptr, ptr %t410 + %t13587 = getelementptr inbounds %LSlice, ptr %t13586, i32 0, i32 1 + %t13588 = getelementptr inbounds %LSlice, ptr %t13586, i32 0, i32 2 + %t13589 = getelementptr inbounds %LSlice, ptr %t13586, i32 0, i32 0 + %t13590 = load i32, ptr %t13587 + %t13591 = load i32, ptr %t13588 + %t13592 = icmp sge i32 %t13590, %t13591 + br i1 %t13592, label %grow2756, label %put2757 +grow2756: + %t13593 = mul i32 %t13591, 2 + %t13594 = icmp eq i32 %t13591, 0 + %t13595 = select i1 %t13594, i32 8, i32 %t13593 + %t13596 = getelementptr ptr, ptr null, i32 1 + %t13597 = ptrtoint ptr %t13596 to i64 + %t13598 = zext i32 %t13595 to i64 + %t13599 = mul i64 %t13598, %t13597 + %t13600 = load ptr, ptr %t13589 + %t13601 = call ptr @realloc(ptr %t13600, i64 %t13599) + store ptr %t13601, ptr %t13589 + store i32 %t13595, ptr %t13588 + br label %put2757 +put2757: + %t13602 = load ptr, ptr %t13589 + %t13603 = getelementptr inbounds ptr, ptr %t13602, i32 %t13590 + store ptr @.str8298, ptr %t13603 + %t13604 = add i32 %t13590, 1 + store i32 %t13604, ptr %t13587 + %t13605 = load ptr, ptr %t410 + %t13606 = getelementptr inbounds %LSlice, ptr %t13605, i32 0, i32 1 + %t13607 = getelementptr inbounds %LSlice, ptr %t13605, i32 0, i32 2 + %t13608 = getelementptr inbounds %LSlice, ptr %t13605, i32 0, i32 0 + %t13609 = load i32, ptr %t13606 + %t13610 = load i32, ptr %t13607 + %t13611 = icmp sge i32 %t13609, %t13610 + br i1 %t13611, label %grow2758, label %put2759 +grow2758: + %t13612 = mul i32 %t13610, 2 + %t13613 = icmp eq i32 %t13610, 0 + %t13614 = select i1 %t13613, i32 8, i32 %t13612 + %t13615 = getelementptr ptr, ptr null, i32 1 + %t13616 = ptrtoint ptr %t13615 to i64 + %t13617 = zext i32 %t13614 to i64 + %t13618 = mul i64 %t13617, %t13616 + %t13619 = load ptr, ptr %t13608 + %t13620 = call ptr @realloc(ptr %t13619, i64 %t13618) + store ptr %t13620, ptr %t13608 + store i32 %t13614, ptr %t13607 + br label %put2759 +put2759: + %t13621 = load ptr, ptr %t13608 + %t13622 = getelementptr inbounds ptr, ptr %t13621, i32 %t13609 + store ptr @.str8299, ptr %t13622 + %t13623 = add i32 %t13609, 1 + store i32 %t13623, ptr %t13606 + %t13624 = load ptr, ptr %t410 + %t13625 = getelementptr inbounds %LSlice, ptr %t13624, i32 0, i32 1 + %t13626 = getelementptr inbounds %LSlice, ptr %t13624, i32 0, i32 2 + %t13627 = getelementptr inbounds %LSlice, ptr %t13624, i32 0, i32 0 + %t13628 = load i32, ptr %t13625 + %t13629 = load i32, ptr %t13626 + %t13630 = icmp sge i32 %t13628, %t13629 + br i1 %t13630, label %grow2760, label %put2761 +grow2760: + %t13631 = mul i32 %t13629, 2 + %t13632 = icmp eq i32 %t13629, 0 + %t13633 = select i1 %t13632, i32 8, i32 %t13631 + %t13634 = getelementptr ptr, ptr null, i32 1 + %t13635 = ptrtoint ptr %t13634 to i64 + %t13636 = zext i32 %t13633 to i64 + %t13637 = mul i64 %t13636, %t13635 + %t13638 = load ptr, ptr %t13627 + %t13639 = call ptr @realloc(ptr %t13638, i64 %t13637) + store ptr %t13639, ptr %t13627 + store i32 %t13633, ptr %t13626 + br label %put2761 +put2761: + %t13640 = load ptr, ptr %t13627 + %t13641 = getelementptr inbounds ptr, ptr %t13640, i32 %t13628 + store ptr @.str8300, ptr %t13641 + %t13642 = add i32 %t13628, 1 + store i32 %t13642, ptr %t13625 + br label %ifend2753 +ifend2753: + %t13643 = load ptr, ptr %t1 + %t13644 = call i32 @lp_str_eq(ptr %t13643, ptr @.str8301) + %t13645 = icmp ne i32 %t13644, 0 + br i1 %t13645, label %then2762, label %ifend2764 +then2762: + store ptr @.str8302, ptr %t403 + %t13646 = load ptr, ptr %t410 + %t13647 = getelementptr inbounds %LSlice, ptr %t13646, i32 0, i32 1 + %t13648 = getelementptr inbounds %LSlice, ptr %t13646, i32 0, i32 2 + %t13649 = getelementptr inbounds %LSlice, ptr %t13646, i32 0, i32 0 + %t13650 = load i32, ptr %t13647 + %t13651 = load i32, ptr %t13648 + %t13652 = icmp sge i32 %t13650, %t13651 + br i1 %t13652, label %grow2765, label %put2766 +grow2765: + %t13653 = mul i32 %t13651, 2 + %t13654 = icmp eq i32 %t13651, 0 + %t13655 = select i1 %t13654, i32 8, i32 %t13653 + %t13656 = getelementptr ptr, ptr null, i32 1 + %t13657 = ptrtoint ptr %t13656 to i64 + %t13658 = zext i32 %t13655 to i64 + %t13659 = mul i64 %t13658, %t13657 + %t13660 = load ptr, ptr %t13649 + %t13661 = call ptr @realloc(ptr %t13660, i64 %t13659) + store ptr %t13661, ptr %t13649 + store i32 %t13655, ptr %t13648 + br label %put2766 +put2766: + %t13662 = load ptr, ptr %t13649 + %t13663 = getelementptr inbounds ptr, ptr %t13662, i32 %t13650 + store ptr @.str8303, ptr %t13663 + %t13664 = add i32 %t13650, 1 + store i32 %t13664, ptr %t13647 + %t13665 = load ptr, ptr %t410 + %t13666 = getelementptr inbounds %LSlice, ptr %t13665, i32 0, i32 1 + %t13667 = getelementptr inbounds %LSlice, ptr %t13665, i32 0, i32 2 + %t13668 = getelementptr inbounds %LSlice, ptr %t13665, i32 0, i32 0 + %t13669 = load i32, ptr %t13666 + %t13670 = load i32, ptr %t13667 + %t13671 = icmp sge i32 %t13669, %t13670 + br i1 %t13671, label %grow2767, label %put2768 +grow2767: + %t13672 = mul i32 %t13670, 2 + %t13673 = icmp eq i32 %t13670, 0 + %t13674 = select i1 %t13673, i32 8, i32 %t13672 + %t13675 = getelementptr ptr, ptr null, i32 1 + %t13676 = ptrtoint ptr %t13675 to i64 + %t13677 = zext i32 %t13674 to i64 + %t13678 = mul i64 %t13677, %t13676 + %t13679 = load ptr, ptr %t13668 + %t13680 = call ptr @realloc(ptr %t13679, i64 %t13678) + store ptr %t13680, ptr %t13668 + store i32 %t13674, ptr %t13667 + br label %put2768 +put2768: + %t13681 = load ptr, ptr %t13668 + %t13682 = getelementptr inbounds ptr, ptr %t13681, i32 %t13669 + store ptr @.str8304, ptr %t13682 + %t13683 = add i32 %t13669, 1 + store i32 %t13683, ptr %t13666 + br label %ifend2764 +ifend2764: + %t13684 = load ptr, ptr %t1 + %t13685 = call i32 @lp_str_eq(ptr %t13684, ptr @.str8305) + %t13686 = icmp ne i32 %t13685, 0 + br i1 %t13686, label %then2769, label %ifend2771 +then2769: + store ptr @.str8306, ptr %t403 + %t13687 = load ptr, ptr %t410 + %t13688 = getelementptr inbounds %LSlice, ptr %t13687, i32 0, i32 1 + %t13689 = getelementptr inbounds %LSlice, ptr %t13687, i32 0, i32 2 + %t13690 = getelementptr inbounds %LSlice, ptr %t13687, i32 0, i32 0 + %t13691 = load i32, ptr %t13688 + %t13692 = load i32, ptr %t13689 + %t13693 = icmp sge i32 %t13691, %t13692 + br i1 %t13693, label %grow2772, label %put2773 +grow2772: + %t13694 = mul i32 %t13692, 2 + %t13695 = icmp eq i32 %t13692, 0 + %t13696 = select i1 %t13695, i32 8, i32 %t13694 + %t13697 = getelementptr ptr, ptr null, i32 1 + %t13698 = ptrtoint ptr %t13697 to i64 + %t13699 = zext i32 %t13696 to i64 + %t13700 = mul i64 %t13699, %t13698 + %t13701 = load ptr, ptr %t13690 + %t13702 = call ptr @realloc(ptr %t13701, i64 %t13700) + store ptr %t13702, ptr %t13690 + store i32 %t13696, ptr %t13689 + br label %put2773 +put2773: + %t13703 = load ptr, ptr %t13690 + %t13704 = getelementptr inbounds ptr, ptr %t13703, i32 %t13691 + store ptr @.str8307, ptr %t13704 + %t13705 = add i32 %t13691, 1 + store i32 %t13705, ptr %t13688 + br label %ifend2771 +ifend2771: + %t13706 = load ptr, ptr %t1 + %t13707 = call i32 @lp_str_eq(ptr %t13706, ptr @.str8308) + %t13708 = icmp ne i32 %t13707, 0 + br i1 %t13708, label %then2774, label %ifend2776 +then2774: + store ptr @.str8309, ptr %t403 + %t13709 = load ptr, ptr %t410 + %t13710 = getelementptr inbounds %LSlice, ptr %t13709, i32 0, i32 1 + %t13711 = getelementptr inbounds %LSlice, ptr %t13709, i32 0, i32 2 + %t13712 = getelementptr inbounds %LSlice, ptr %t13709, i32 0, i32 0 + %t13713 = load i32, ptr %t13710 + %t13714 = load i32, ptr %t13711 + %t13715 = icmp sge i32 %t13713, %t13714 + br i1 %t13715, label %grow2777, label %put2778 +grow2777: + %t13716 = mul i32 %t13714, 2 + %t13717 = icmp eq i32 %t13714, 0 + %t13718 = select i1 %t13717, i32 8, i32 %t13716 + %t13719 = getelementptr ptr, ptr null, i32 1 + %t13720 = ptrtoint ptr %t13719 to i64 + %t13721 = zext i32 %t13718 to i64 + %t13722 = mul i64 %t13721, %t13720 + %t13723 = load ptr, ptr %t13712 + %t13724 = call ptr @realloc(ptr %t13723, i64 %t13722) + store ptr %t13724, ptr %t13712 + store i32 %t13718, ptr %t13711 + br label %put2778 +put2778: + %t13725 = load ptr, ptr %t13712 + %t13726 = getelementptr inbounds ptr, ptr %t13725, i32 %t13713 + store ptr @.str8310, ptr %t13726 + %t13727 = add i32 %t13713, 1 + store i32 %t13727, ptr %t13710 + br label %ifend2776 +ifend2776: + %t13728 = load ptr, ptr %t1 + %t13729 = call i32 @lp_str_eq(ptr %t13728, ptr @.str8311) + %t13730 = icmp ne i32 %t13729, 0 + br i1 %t13730, label %then2779, label %ifend2781 +then2779: + store ptr @.str8312, ptr %t403 + %t13731 = load ptr, ptr %t410 + %t13732 = getelementptr inbounds %LSlice, ptr %t13731, i32 0, i32 1 + %t13733 = getelementptr inbounds %LSlice, ptr %t13731, i32 0, i32 2 + %t13734 = getelementptr inbounds %LSlice, ptr %t13731, i32 0, i32 0 + %t13735 = load i32, ptr %t13732 + %t13736 = load i32, ptr %t13733 + %t13737 = icmp sge i32 %t13735, %t13736 + br i1 %t13737, label %grow2782, label %put2783 +grow2782: + %t13738 = mul i32 %t13736, 2 + %t13739 = icmp eq i32 %t13736, 0 + %t13740 = select i1 %t13739, i32 8, i32 %t13738 + %t13741 = getelementptr ptr, ptr null, i32 1 + %t13742 = ptrtoint ptr %t13741 to i64 + %t13743 = zext i32 %t13740 to i64 + %t13744 = mul i64 %t13743, %t13742 + %t13745 = load ptr, ptr %t13734 + %t13746 = call ptr @realloc(ptr %t13745, i64 %t13744) + store ptr %t13746, ptr %t13734 + store i32 %t13740, ptr %t13733 + br label %put2783 +put2783: + %t13747 = load ptr, ptr %t13734 + %t13748 = getelementptr inbounds ptr, ptr %t13747, i32 %t13735 + store ptr @.str8313, ptr %t13748 + %t13749 = add i32 %t13735, 1 + store i32 %t13749, ptr %t13732 + br label %ifend2781 +ifend2781: + %t13750 = load ptr, ptr %t1 + %t13751 = call i32 @lp_str_eq(ptr %t13750, ptr @.str8314) + %t13752 = icmp ne i32 %t13751, 0 + br i1 %t13752, label %then2784, label %ifend2786 +then2784: + store ptr @.str8315, ptr %t403 + %t13753 = load ptr, ptr %t410 + %t13754 = getelementptr inbounds %LSlice, ptr %t13753, i32 0, i32 1 + %t13755 = getelementptr inbounds %LSlice, ptr %t13753, i32 0, i32 2 + %t13756 = getelementptr inbounds %LSlice, ptr %t13753, i32 0, i32 0 + %t13757 = load i32, ptr %t13754 + %t13758 = load i32, ptr %t13755 + %t13759 = icmp sge i32 %t13757, %t13758 + br i1 %t13759, label %grow2787, label %put2788 +grow2787: + %t13760 = mul i32 %t13758, 2 + %t13761 = icmp eq i32 %t13758, 0 + %t13762 = select i1 %t13761, i32 8, i32 %t13760 + %t13763 = getelementptr ptr, ptr null, i32 1 + %t13764 = ptrtoint ptr %t13763 to i64 + %t13765 = zext i32 %t13762 to i64 + %t13766 = mul i64 %t13765, %t13764 + %t13767 = load ptr, ptr %t13756 + %t13768 = call ptr @realloc(ptr %t13767, i64 %t13766) + store ptr %t13768, ptr %t13756 + store i32 %t13762, ptr %t13755 + br label %put2788 +put2788: + %t13769 = load ptr, ptr %t13756 + %t13770 = getelementptr inbounds ptr, ptr %t13769, i32 %t13757 + store ptr @.str8316, ptr %t13770 + %t13771 = add i32 %t13757, 1 + store i32 %t13771, ptr %t13754 + %t13772 = load ptr, ptr %t410 + %t13773 = getelementptr inbounds %LSlice, ptr %t13772, i32 0, i32 1 + %t13774 = getelementptr inbounds %LSlice, ptr %t13772, i32 0, i32 2 + %t13775 = getelementptr inbounds %LSlice, ptr %t13772, i32 0, i32 0 + %t13776 = load i32, ptr %t13773 + %t13777 = load i32, ptr %t13774 + %t13778 = icmp sge i32 %t13776, %t13777 + br i1 %t13778, label %grow2789, label %put2790 +grow2789: + %t13779 = mul i32 %t13777, 2 + %t13780 = icmp eq i32 %t13777, 0 + %t13781 = select i1 %t13780, i32 8, i32 %t13779 + %t13782 = getelementptr ptr, ptr null, i32 1 + %t13783 = ptrtoint ptr %t13782 to i64 + %t13784 = zext i32 %t13781 to i64 + %t13785 = mul i64 %t13784, %t13783 + %t13786 = load ptr, ptr %t13775 + %t13787 = call ptr @realloc(ptr %t13786, i64 %t13785) + store ptr %t13787, ptr %t13775 + store i32 %t13781, ptr %t13774 + br label %put2790 +put2790: + %t13788 = load ptr, ptr %t13775 + %t13789 = getelementptr inbounds ptr, ptr %t13788, i32 %t13776 + store ptr @.str8317, ptr %t13789 + %t13790 = add i32 %t13776, 1 + store i32 %t13790, ptr %t13773 + br label %ifend2786 +ifend2786: + %t13791 = load ptr, ptr %t1 + %t13792 = call i32 @lp_str_eq(ptr %t13791, ptr @.str8318) + %t13793 = icmp ne i32 %t13792, 0 + br i1 %t13793, label %then2791, label %ifend2793 +then2791: + store ptr @.str8319, ptr %t403 + %t13794 = load ptr, ptr %t410 + %t13795 = getelementptr inbounds %LSlice, ptr %t13794, i32 0, i32 1 + %t13796 = getelementptr inbounds %LSlice, ptr %t13794, i32 0, i32 2 + %t13797 = getelementptr inbounds %LSlice, ptr %t13794, i32 0, i32 0 + %t13798 = load i32, ptr %t13795 + %t13799 = load i32, ptr %t13796 + %t13800 = icmp sge i32 %t13798, %t13799 + br i1 %t13800, label %grow2794, label %put2795 +grow2794: + %t13801 = mul i32 %t13799, 2 + %t13802 = icmp eq i32 %t13799, 0 + %t13803 = select i1 %t13802, i32 8, i32 %t13801 + %t13804 = getelementptr ptr, ptr null, i32 1 + %t13805 = ptrtoint ptr %t13804 to i64 + %t13806 = zext i32 %t13803 to i64 + %t13807 = mul i64 %t13806, %t13805 + %t13808 = load ptr, ptr %t13797 + %t13809 = call ptr @realloc(ptr %t13808, i64 %t13807) + store ptr %t13809, ptr %t13797 + store i32 %t13803, ptr %t13796 + br label %put2795 +put2795: + %t13810 = load ptr, ptr %t13797 + %t13811 = getelementptr inbounds ptr, ptr %t13810, i32 %t13798 + store ptr @.str8320, ptr %t13811 + %t13812 = add i32 %t13798, 1 + store i32 %t13812, ptr %t13795 + %t13813 = load ptr, ptr %t410 + %t13814 = getelementptr inbounds %LSlice, ptr %t13813, i32 0, i32 1 + %t13815 = getelementptr inbounds %LSlice, ptr %t13813, i32 0, i32 2 + %t13816 = getelementptr inbounds %LSlice, ptr %t13813, i32 0, i32 0 + %t13817 = load i32, ptr %t13814 + %t13818 = load i32, ptr %t13815 + %t13819 = icmp sge i32 %t13817, %t13818 + br i1 %t13819, label %grow2796, label %put2797 +grow2796: + %t13820 = mul i32 %t13818, 2 + %t13821 = icmp eq i32 %t13818, 0 + %t13822 = select i1 %t13821, i32 8, i32 %t13820 + %t13823 = getelementptr ptr, ptr null, i32 1 + %t13824 = ptrtoint ptr %t13823 to i64 + %t13825 = zext i32 %t13822 to i64 + %t13826 = mul i64 %t13825, %t13824 + %t13827 = load ptr, ptr %t13816 + %t13828 = call ptr @realloc(ptr %t13827, i64 %t13826) + store ptr %t13828, ptr %t13816 + store i32 %t13822, ptr %t13815 + br label %put2797 +put2797: + %t13829 = load ptr, ptr %t13816 + %t13830 = getelementptr inbounds ptr, ptr %t13829, i32 %t13817 + store ptr @.str8321, ptr %t13830 + %t13831 = add i32 %t13817, 1 + store i32 %t13831, ptr %t13814 + %t13832 = load ptr, ptr %t410 + %t13833 = getelementptr inbounds %LSlice, ptr %t13832, i32 0, i32 1 + %t13834 = getelementptr inbounds %LSlice, ptr %t13832, i32 0, i32 2 + %t13835 = getelementptr inbounds %LSlice, ptr %t13832, i32 0, i32 0 + %t13836 = load i32, ptr %t13833 + %t13837 = load i32, ptr %t13834 + %t13838 = icmp sge i32 %t13836, %t13837 + br i1 %t13838, label %grow2798, label %put2799 +grow2798: + %t13839 = mul i32 %t13837, 2 + %t13840 = icmp eq i32 %t13837, 0 + %t13841 = select i1 %t13840, i32 8, i32 %t13839 + %t13842 = getelementptr ptr, ptr null, i32 1 + %t13843 = ptrtoint ptr %t13842 to i64 + %t13844 = zext i32 %t13841 to i64 + %t13845 = mul i64 %t13844, %t13843 + %t13846 = load ptr, ptr %t13835 + %t13847 = call ptr @realloc(ptr %t13846, i64 %t13845) + store ptr %t13847, ptr %t13835 + store i32 %t13841, ptr %t13834 + br label %put2799 +put2799: + %t13848 = load ptr, ptr %t13835 + %t13849 = getelementptr inbounds ptr, ptr %t13848, i32 %t13836 + store ptr @.str8322, ptr %t13849 + %t13850 = add i32 %t13836, 1 + store i32 %t13850, ptr %t13833 + br label %ifend2793 +ifend2793: + %t13851 = load ptr, ptr %t1 + %t13852 = call i32 @lp_str_eq(ptr %t13851, ptr @.str8323) + %t13853 = icmp ne i32 %t13852, 0 + br i1 %t13853, label %then2800, label %ifend2802 +then2800: + store ptr @.str8324, ptr %t403 + %t13854 = load ptr, ptr %t410 + %t13855 = getelementptr inbounds %LSlice, ptr %t13854, i32 0, i32 1 + %t13856 = getelementptr inbounds %LSlice, ptr %t13854, i32 0, i32 2 + %t13857 = getelementptr inbounds %LSlice, ptr %t13854, i32 0, i32 0 + %t13858 = load i32, ptr %t13855 + %t13859 = load i32, ptr %t13856 + %t13860 = icmp sge i32 %t13858, %t13859 + br i1 %t13860, label %grow2803, label %put2804 +grow2803: + %t13861 = mul i32 %t13859, 2 + %t13862 = icmp eq i32 %t13859, 0 + %t13863 = select i1 %t13862, i32 8, i32 %t13861 + %t13864 = getelementptr ptr, ptr null, i32 1 + %t13865 = ptrtoint ptr %t13864 to i64 + %t13866 = zext i32 %t13863 to i64 + %t13867 = mul i64 %t13866, %t13865 + %t13868 = load ptr, ptr %t13857 + %t13869 = call ptr @realloc(ptr %t13868, i64 %t13867) + store ptr %t13869, ptr %t13857 + store i32 %t13863, ptr %t13856 + br label %put2804 +put2804: + %t13870 = load ptr, ptr %t13857 + %t13871 = getelementptr inbounds ptr, ptr %t13870, i32 %t13858 + store ptr @.str8325, ptr %t13871 + %t13872 = add i32 %t13858, 1 + store i32 %t13872, ptr %t13855 + %t13873 = load ptr, ptr %t410 + %t13874 = getelementptr inbounds %LSlice, ptr %t13873, i32 0, i32 1 + %t13875 = getelementptr inbounds %LSlice, ptr %t13873, i32 0, i32 2 + %t13876 = getelementptr inbounds %LSlice, ptr %t13873, i32 0, i32 0 + %t13877 = load i32, ptr %t13874 + %t13878 = load i32, ptr %t13875 + %t13879 = icmp sge i32 %t13877, %t13878 + br i1 %t13879, label %grow2805, label %put2806 +grow2805: + %t13880 = mul i32 %t13878, 2 + %t13881 = icmp eq i32 %t13878, 0 + %t13882 = select i1 %t13881, i32 8, i32 %t13880 + %t13883 = getelementptr ptr, ptr null, i32 1 + %t13884 = ptrtoint ptr %t13883 to i64 + %t13885 = zext i32 %t13882 to i64 + %t13886 = mul i64 %t13885, %t13884 + %t13887 = load ptr, ptr %t13876 + %t13888 = call ptr @realloc(ptr %t13887, i64 %t13886) + store ptr %t13888, ptr %t13876 + store i32 %t13882, ptr %t13875 + br label %put2806 +put2806: + %t13889 = load ptr, ptr %t13876 + %t13890 = getelementptr inbounds ptr, ptr %t13889, i32 %t13877 + store ptr @.str8326, ptr %t13890 + %t13891 = add i32 %t13877, 1 + store i32 %t13891, ptr %t13874 + %t13892 = load ptr, ptr %t410 + %t13893 = getelementptr inbounds %LSlice, ptr %t13892, i32 0, i32 1 + %t13894 = getelementptr inbounds %LSlice, ptr %t13892, i32 0, i32 2 + %t13895 = getelementptr inbounds %LSlice, ptr %t13892, i32 0, i32 0 + %t13896 = load i32, ptr %t13893 + %t13897 = load i32, ptr %t13894 + %t13898 = icmp sge i32 %t13896, %t13897 + br i1 %t13898, label %grow2807, label %put2808 +grow2807: + %t13899 = mul i32 %t13897, 2 + %t13900 = icmp eq i32 %t13897, 0 + %t13901 = select i1 %t13900, i32 8, i32 %t13899 + %t13902 = getelementptr ptr, ptr null, i32 1 + %t13903 = ptrtoint ptr %t13902 to i64 + %t13904 = zext i32 %t13901 to i64 + %t13905 = mul i64 %t13904, %t13903 + %t13906 = load ptr, ptr %t13895 + %t13907 = call ptr @realloc(ptr %t13906, i64 %t13905) + store ptr %t13907, ptr %t13895 + store i32 %t13901, ptr %t13894 + br label %put2808 +put2808: + %t13908 = load ptr, ptr %t13895 + %t13909 = getelementptr inbounds ptr, ptr %t13908, i32 %t13896 + store ptr @.str8327, ptr %t13909 + %t13910 = add i32 %t13896, 1 + store i32 %t13910, ptr %t13893 + %t13911 = load ptr, ptr %t410 + %t13912 = getelementptr inbounds %LSlice, ptr %t13911, i32 0, i32 1 + %t13913 = getelementptr inbounds %LSlice, ptr %t13911, i32 0, i32 2 + %t13914 = getelementptr inbounds %LSlice, ptr %t13911, i32 0, i32 0 + %t13915 = load i32, ptr %t13912 + %t13916 = load i32, ptr %t13913 + %t13917 = icmp sge i32 %t13915, %t13916 + br i1 %t13917, label %grow2809, label %put2810 +grow2809: + %t13918 = mul i32 %t13916, 2 + %t13919 = icmp eq i32 %t13916, 0 + %t13920 = select i1 %t13919, i32 8, i32 %t13918 + %t13921 = getelementptr ptr, ptr null, i32 1 + %t13922 = ptrtoint ptr %t13921 to i64 + %t13923 = zext i32 %t13920 to i64 + %t13924 = mul i64 %t13923, %t13922 + %t13925 = load ptr, ptr %t13914 + %t13926 = call ptr @realloc(ptr %t13925, i64 %t13924) + store ptr %t13926, ptr %t13914 + store i32 %t13920, ptr %t13913 + br label %put2810 +put2810: + %t13927 = load ptr, ptr %t13914 + %t13928 = getelementptr inbounds ptr, ptr %t13927, i32 %t13915 + store ptr @.str8328, ptr %t13928 + %t13929 = add i32 %t13915, 1 + store i32 %t13929, ptr %t13912 + br label %ifend2802 +ifend2802: + %t13930 = load ptr, ptr %t1 + %t13931 = call i32 @lp_str_eq(ptr %t13930, ptr @.str8329) + %t13932 = icmp ne i32 %t13931, 0 + br i1 %t13932, label %then2811, label %ifend2813 +then2811: + store ptr @.str8330, ptr %t403 + %t13933 = load ptr, ptr %t410 + %t13934 = getelementptr inbounds %LSlice, ptr %t13933, i32 0, i32 1 + %t13935 = getelementptr inbounds %LSlice, ptr %t13933, i32 0, i32 2 + %t13936 = getelementptr inbounds %LSlice, ptr %t13933, i32 0, i32 0 + %t13937 = load i32, ptr %t13934 + %t13938 = load i32, ptr %t13935 + %t13939 = icmp sge i32 %t13937, %t13938 + br i1 %t13939, label %grow2814, label %put2815 +grow2814: + %t13940 = mul i32 %t13938, 2 + %t13941 = icmp eq i32 %t13938, 0 + %t13942 = select i1 %t13941, i32 8, i32 %t13940 + %t13943 = getelementptr ptr, ptr null, i32 1 + %t13944 = ptrtoint ptr %t13943 to i64 + %t13945 = zext i32 %t13942 to i64 + %t13946 = mul i64 %t13945, %t13944 + %t13947 = load ptr, ptr %t13936 + %t13948 = call ptr @realloc(ptr %t13947, i64 %t13946) + store ptr %t13948, ptr %t13936 + store i32 %t13942, ptr %t13935 + br label %put2815 +put2815: + %t13949 = load ptr, ptr %t13936 + %t13950 = getelementptr inbounds ptr, ptr %t13949, i32 %t13937 + store ptr @.str8331, ptr %t13950 + %t13951 = add i32 %t13937, 1 + store i32 %t13951, ptr %t13934 + %t13952 = load ptr, ptr %t410 + %t13953 = getelementptr inbounds %LSlice, ptr %t13952, i32 0, i32 1 + %t13954 = getelementptr inbounds %LSlice, ptr %t13952, i32 0, i32 2 + %t13955 = getelementptr inbounds %LSlice, ptr %t13952, i32 0, i32 0 + %t13956 = load i32, ptr %t13953 + %t13957 = load i32, ptr %t13954 + %t13958 = icmp sge i32 %t13956, %t13957 + br i1 %t13958, label %grow2816, label %put2817 +grow2816: + %t13959 = mul i32 %t13957, 2 + %t13960 = icmp eq i32 %t13957, 0 + %t13961 = select i1 %t13960, i32 8, i32 %t13959 + %t13962 = getelementptr ptr, ptr null, i32 1 + %t13963 = ptrtoint ptr %t13962 to i64 + %t13964 = zext i32 %t13961 to i64 + %t13965 = mul i64 %t13964, %t13963 + %t13966 = load ptr, ptr %t13955 + %t13967 = call ptr @realloc(ptr %t13966, i64 %t13965) + store ptr %t13967, ptr %t13955 + store i32 %t13961, ptr %t13954 + br label %put2817 +put2817: + %t13968 = load ptr, ptr %t13955 + %t13969 = getelementptr inbounds ptr, ptr %t13968, i32 %t13956 + store ptr @.str8332, ptr %t13969 + %t13970 = add i32 %t13956, 1 + store i32 %t13970, ptr %t13953 + %t13971 = load ptr, ptr %t410 + %t13972 = getelementptr inbounds %LSlice, ptr %t13971, i32 0, i32 1 + %t13973 = getelementptr inbounds %LSlice, ptr %t13971, i32 0, i32 2 + %t13974 = getelementptr inbounds %LSlice, ptr %t13971, i32 0, i32 0 + %t13975 = load i32, ptr %t13972 + %t13976 = load i32, ptr %t13973 + %t13977 = icmp sge i32 %t13975, %t13976 + br i1 %t13977, label %grow2818, label %put2819 +grow2818: + %t13978 = mul i32 %t13976, 2 + %t13979 = icmp eq i32 %t13976, 0 + %t13980 = select i1 %t13979, i32 8, i32 %t13978 + %t13981 = getelementptr ptr, ptr null, i32 1 + %t13982 = ptrtoint ptr %t13981 to i64 + %t13983 = zext i32 %t13980 to i64 + %t13984 = mul i64 %t13983, %t13982 + %t13985 = load ptr, ptr %t13974 + %t13986 = call ptr @realloc(ptr %t13985, i64 %t13984) + store ptr %t13986, ptr %t13974 + store i32 %t13980, ptr %t13973 + br label %put2819 +put2819: + %t13987 = load ptr, ptr %t13974 + %t13988 = getelementptr inbounds ptr, ptr %t13987, i32 %t13975 + store ptr @.str8333, ptr %t13988 + %t13989 = add i32 %t13975, 1 + store i32 %t13989, ptr %t13972 + br label %ifend2813 +ifend2813: + %t13990 = load ptr, ptr %t1 + %t13991 = call i32 @lp_str_eq(ptr %t13990, ptr @.str8334) + %t13992 = icmp ne i32 %t13991, 0 + br i1 %t13992, label %then2820, label %ifend2822 +then2820: + store ptr @.str8335, ptr %t403 + %t13993 = load ptr, ptr %t410 + %t13994 = getelementptr inbounds %LSlice, ptr %t13993, i32 0, i32 1 + %t13995 = getelementptr inbounds %LSlice, ptr %t13993, i32 0, i32 2 + %t13996 = getelementptr inbounds %LSlice, ptr %t13993, i32 0, i32 0 + %t13997 = load i32, ptr %t13994 + %t13998 = load i32, ptr %t13995 + %t13999 = icmp sge i32 %t13997, %t13998 + br i1 %t13999, label %grow2823, label %put2824 +grow2823: + %t14000 = mul i32 %t13998, 2 + %t14001 = icmp eq i32 %t13998, 0 + %t14002 = select i1 %t14001, i32 8, i32 %t14000 + %t14003 = getelementptr ptr, ptr null, i32 1 + %t14004 = ptrtoint ptr %t14003 to i64 + %t14005 = zext i32 %t14002 to i64 + %t14006 = mul i64 %t14005, %t14004 + %t14007 = load ptr, ptr %t13996 + %t14008 = call ptr @realloc(ptr %t14007, i64 %t14006) + store ptr %t14008, ptr %t13996 + store i32 %t14002, ptr %t13995 + br label %put2824 +put2824: + %t14009 = load ptr, ptr %t13996 + %t14010 = getelementptr inbounds ptr, ptr %t14009, i32 %t13997 + store ptr @.str8336, ptr %t14010 + %t14011 = add i32 %t13997, 1 + store i32 %t14011, ptr %t13994 + %t14012 = load ptr, ptr %t410 + %t14013 = getelementptr inbounds %LSlice, ptr %t14012, i32 0, i32 1 + %t14014 = getelementptr inbounds %LSlice, ptr %t14012, i32 0, i32 2 + %t14015 = getelementptr inbounds %LSlice, ptr %t14012, i32 0, i32 0 + %t14016 = load i32, ptr %t14013 + %t14017 = load i32, ptr %t14014 + %t14018 = icmp sge i32 %t14016, %t14017 + br i1 %t14018, label %grow2825, label %put2826 +grow2825: + %t14019 = mul i32 %t14017, 2 + %t14020 = icmp eq i32 %t14017, 0 + %t14021 = select i1 %t14020, i32 8, i32 %t14019 + %t14022 = getelementptr ptr, ptr null, i32 1 + %t14023 = ptrtoint ptr %t14022 to i64 + %t14024 = zext i32 %t14021 to i64 + %t14025 = mul i64 %t14024, %t14023 + %t14026 = load ptr, ptr %t14015 + %t14027 = call ptr @realloc(ptr %t14026, i64 %t14025) + store ptr %t14027, ptr %t14015 + store i32 %t14021, ptr %t14014 + br label %put2826 +put2826: + %t14028 = load ptr, ptr %t14015 + %t14029 = getelementptr inbounds ptr, ptr %t14028, i32 %t14016 + store ptr @.str8337, ptr %t14029 + %t14030 = add i32 %t14016, 1 + store i32 %t14030, ptr %t14013 + br label %ifend2822 +ifend2822: + %t14031 = load ptr, ptr %t1 + %t14032 = call i32 @lp_str_eq(ptr %t14031, ptr @.str8338) + %t14033 = icmp ne i32 %t14032, 0 + br i1 %t14033, label %then2827, label %ifend2829 +then2827: + store ptr @.str8339, ptr %t403 + %t14034 = load ptr, ptr %t410 + %t14035 = getelementptr inbounds %LSlice, ptr %t14034, i32 0, i32 1 + %t14036 = getelementptr inbounds %LSlice, ptr %t14034, i32 0, i32 2 + %t14037 = getelementptr inbounds %LSlice, ptr %t14034, i32 0, i32 0 + %t14038 = load i32, ptr %t14035 + %t14039 = load i32, ptr %t14036 + %t14040 = icmp sge i32 %t14038, %t14039 + br i1 %t14040, label %grow2830, label %put2831 +grow2830: + %t14041 = mul i32 %t14039, 2 + %t14042 = icmp eq i32 %t14039, 0 + %t14043 = select i1 %t14042, i32 8, i32 %t14041 + %t14044 = getelementptr ptr, ptr null, i32 1 + %t14045 = ptrtoint ptr %t14044 to i64 + %t14046 = zext i32 %t14043 to i64 + %t14047 = mul i64 %t14046, %t14045 + %t14048 = load ptr, ptr %t14037 + %t14049 = call ptr @realloc(ptr %t14048, i64 %t14047) + store ptr %t14049, ptr %t14037 + store i32 %t14043, ptr %t14036 + br label %put2831 +put2831: + %t14050 = load ptr, ptr %t14037 + %t14051 = getelementptr inbounds ptr, ptr %t14050, i32 %t14038 + store ptr @.str8340, ptr %t14051 + %t14052 = add i32 %t14038, 1 + store i32 %t14052, ptr %t14035 + %t14053 = load ptr, ptr %t410 + %t14054 = getelementptr inbounds %LSlice, ptr %t14053, i32 0, i32 1 + %t14055 = getelementptr inbounds %LSlice, ptr %t14053, i32 0, i32 2 + %t14056 = getelementptr inbounds %LSlice, ptr %t14053, i32 0, i32 0 + %t14057 = load i32, ptr %t14054 + %t14058 = load i32, ptr %t14055 + %t14059 = icmp sge i32 %t14057, %t14058 + br i1 %t14059, label %grow2832, label %put2833 +grow2832: + %t14060 = mul i32 %t14058, 2 + %t14061 = icmp eq i32 %t14058, 0 + %t14062 = select i1 %t14061, i32 8, i32 %t14060 + %t14063 = getelementptr ptr, ptr null, i32 1 + %t14064 = ptrtoint ptr %t14063 to i64 + %t14065 = zext i32 %t14062 to i64 + %t14066 = mul i64 %t14065, %t14064 + %t14067 = load ptr, ptr %t14056 + %t14068 = call ptr @realloc(ptr %t14067, i64 %t14066) + store ptr %t14068, ptr %t14056 + store i32 %t14062, ptr %t14055 + br label %put2833 +put2833: + %t14069 = load ptr, ptr %t14056 + %t14070 = getelementptr inbounds ptr, ptr %t14069, i32 %t14057 + store ptr @.str8341, ptr %t14070 + %t14071 = add i32 %t14057, 1 + store i32 %t14071, ptr %t14054 + br label %ifend2829 +ifend2829: + %t14072 = load ptr, ptr %t1 + %t14073 = call i32 @lp_str_eq(ptr %t14072, ptr @.str8342) + %t14074 = icmp ne i32 %t14073, 0 + br i1 %t14074, label %then2834, label %ifend2836 +then2834: + store ptr @.str8343, ptr %t403 + %t14075 = load ptr, ptr %t410 + %t14076 = getelementptr inbounds %LSlice, ptr %t14075, i32 0, i32 1 + %t14077 = getelementptr inbounds %LSlice, ptr %t14075, i32 0, i32 2 + %t14078 = getelementptr inbounds %LSlice, ptr %t14075, i32 0, i32 0 + %t14079 = load i32, ptr %t14076 + %t14080 = load i32, ptr %t14077 + %t14081 = icmp sge i32 %t14079, %t14080 + br i1 %t14081, label %grow2837, label %put2838 +grow2837: + %t14082 = mul i32 %t14080, 2 + %t14083 = icmp eq i32 %t14080, 0 + %t14084 = select i1 %t14083, i32 8, i32 %t14082 + %t14085 = getelementptr ptr, ptr null, i32 1 + %t14086 = ptrtoint ptr %t14085 to i64 + %t14087 = zext i32 %t14084 to i64 + %t14088 = mul i64 %t14087, %t14086 + %t14089 = load ptr, ptr %t14078 + %t14090 = call ptr @realloc(ptr %t14089, i64 %t14088) + store ptr %t14090, ptr %t14078 + store i32 %t14084, ptr %t14077 + br label %put2838 +put2838: + %t14091 = load ptr, ptr %t14078 + %t14092 = getelementptr inbounds ptr, ptr %t14091, i32 %t14079 + store ptr @.str8344, ptr %t14092 + %t14093 = add i32 %t14079, 1 + store i32 %t14093, ptr %t14076 + %t14094 = load ptr, ptr %t410 + %t14095 = getelementptr inbounds %LSlice, ptr %t14094, i32 0, i32 1 + %t14096 = getelementptr inbounds %LSlice, ptr %t14094, i32 0, i32 2 + %t14097 = getelementptr inbounds %LSlice, ptr %t14094, i32 0, i32 0 + %t14098 = load i32, ptr %t14095 + %t14099 = load i32, ptr %t14096 + %t14100 = icmp sge i32 %t14098, %t14099 + br i1 %t14100, label %grow2839, label %put2840 +grow2839: + %t14101 = mul i32 %t14099, 2 + %t14102 = icmp eq i32 %t14099, 0 + %t14103 = select i1 %t14102, i32 8, i32 %t14101 + %t14104 = getelementptr ptr, ptr null, i32 1 + %t14105 = ptrtoint ptr %t14104 to i64 + %t14106 = zext i32 %t14103 to i64 + %t14107 = mul i64 %t14106, %t14105 + %t14108 = load ptr, ptr %t14097 + %t14109 = call ptr @realloc(ptr %t14108, i64 %t14107) + store ptr %t14109, ptr %t14097 + store i32 %t14103, ptr %t14096 + br label %put2840 +put2840: + %t14110 = load ptr, ptr %t14097 + %t14111 = getelementptr inbounds ptr, ptr %t14110, i32 %t14098 + store ptr @.str8345, ptr %t14111 + %t14112 = add i32 %t14098, 1 + store i32 %t14112, ptr %t14095 + br label %ifend2836 +ifend2836: + %t14113 = load ptr, ptr %t1 + %t14114 = call i32 @lp_str_eq(ptr %t14113, ptr @.str8346) + %t14115 = icmp ne i32 %t14114, 0 + br i1 %t14115, label %then2841, label %ifend2843 +then2841: + store ptr @.str8347, ptr %t403 + %t14116 = load ptr, ptr %t410 + %t14117 = getelementptr inbounds %LSlice, ptr %t14116, i32 0, i32 1 + %t14118 = getelementptr inbounds %LSlice, ptr %t14116, i32 0, i32 2 + %t14119 = getelementptr inbounds %LSlice, ptr %t14116, i32 0, i32 0 + %t14120 = load i32, ptr %t14117 + %t14121 = load i32, ptr %t14118 + %t14122 = icmp sge i32 %t14120, %t14121 + br i1 %t14122, label %grow2844, label %put2845 +grow2844: + %t14123 = mul i32 %t14121, 2 + %t14124 = icmp eq i32 %t14121, 0 + %t14125 = select i1 %t14124, i32 8, i32 %t14123 + %t14126 = getelementptr ptr, ptr null, i32 1 + %t14127 = ptrtoint ptr %t14126 to i64 + %t14128 = zext i32 %t14125 to i64 + %t14129 = mul i64 %t14128, %t14127 + %t14130 = load ptr, ptr %t14119 + %t14131 = call ptr @realloc(ptr %t14130, i64 %t14129) + store ptr %t14131, ptr %t14119 + store i32 %t14125, ptr %t14118 + br label %put2845 +put2845: + %t14132 = load ptr, ptr %t14119 + %t14133 = getelementptr inbounds ptr, ptr %t14132, i32 %t14120 + store ptr @.str8348, ptr %t14133 + %t14134 = add i32 %t14120, 1 + store i32 %t14134, ptr %t14117 + %t14135 = load ptr, ptr %t410 + %t14136 = getelementptr inbounds %LSlice, ptr %t14135, i32 0, i32 1 + %t14137 = getelementptr inbounds %LSlice, ptr %t14135, i32 0, i32 2 + %t14138 = getelementptr inbounds %LSlice, ptr %t14135, i32 0, i32 0 + %t14139 = load i32, ptr %t14136 + %t14140 = load i32, ptr %t14137 + %t14141 = icmp sge i32 %t14139, %t14140 + br i1 %t14141, label %grow2846, label %put2847 +grow2846: + %t14142 = mul i32 %t14140, 2 + %t14143 = icmp eq i32 %t14140, 0 + %t14144 = select i1 %t14143, i32 8, i32 %t14142 + %t14145 = getelementptr ptr, ptr null, i32 1 + %t14146 = ptrtoint ptr %t14145 to i64 + %t14147 = zext i32 %t14144 to i64 + %t14148 = mul i64 %t14147, %t14146 + %t14149 = load ptr, ptr %t14138 + %t14150 = call ptr @realloc(ptr %t14149, i64 %t14148) + store ptr %t14150, ptr %t14138 + store i32 %t14144, ptr %t14137 + br label %put2847 +put2847: + %t14151 = load ptr, ptr %t14138 + %t14152 = getelementptr inbounds ptr, ptr %t14151, i32 %t14139 + store ptr @.str8349, ptr %t14152 + %t14153 = add i32 %t14139, 1 + store i32 %t14153, ptr %t14136 + br label %ifend2843 +ifend2843: + %t14154 = load ptr, ptr %t1 + %t14155 = call i32 @lp_str_eq(ptr %t14154, ptr @.str8350) + %t14156 = icmp ne i32 %t14155, 0 + br i1 %t14156, label %then2848, label %ifend2850 +then2848: + store ptr @.str8351, ptr %t403 + %t14157 = load ptr, ptr %t410 + %t14158 = getelementptr inbounds %LSlice, ptr %t14157, i32 0, i32 1 + %t14159 = getelementptr inbounds %LSlice, ptr %t14157, i32 0, i32 2 + %t14160 = getelementptr inbounds %LSlice, ptr %t14157, i32 0, i32 0 + %t14161 = load i32, ptr %t14158 + %t14162 = load i32, ptr %t14159 + %t14163 = icmp sge i32 %t14161, %t14162 + br i1 %t14163, label %grow2851, label %put2852 +grow2851: + %t14164 = mul i32 %t14162, 2 + %t14165 = icmp eq i32 %t14162, 0 + %t14166 = select i1 %t14165, i32 8, i32 %t14164 + %t14167 = getelementptr ptr, ptr null, i32 1 + %t14168 = ptrtoint ptr %t14167 to i64 + %t14169 = zext i32 %t14166 to i64 + %t14170 = mul i64 %t14169, %t14168 + %t14171 = load ptr, ptr %t14160 + %t14172 = call ptr @realloc(ptr %t14171, i64 %t14170) + store ptr %t14172, ptr %t14160 + store i32 %t14166, ptr %t14159 + br label %put2852 +put2852: + %t14173 = load ptr, ptr %t14160 + %t14174 = getelementptr inbounds ptr, ptr %t14173, i32 %t14161 + store ptr @.str8352, ptr %t14174 + %t14175 = add i32 %t14161, 1 + store i32 %t14175, ptr %t14158 + br label %ifend2850 +ifend2850: + %t14176 = load ptr, ptr %t1 + %t14177 = call i32 @lp_str_eq(ptr %t14176, ptr @.str8353) + %t14178 = icmp ne i32 %t14177, 0 + br i1 %t14178, label %then2853, label %ifend2855 +then2853: + store ptr @.str8354, ptr %t403 + %t14179 = load ptr, ptr %t410 + %t14180 = getelementptr inbounds %LSlice, ptr %t14179, i32 0, i32 1 + %t14181 = getelementptr inbounds %LSlice, ptr %t14179, i32 0, i32 2 + %t14182 = getelementptr inbounds %LSlice, ptr %t14179, i32 0, i32 0 + %t14183 = load i32, ptr %t14180 + %t14184 = load i32, ptr %t14181 + %t14185 = icmp sge i32 %t14183, %t14184 + br i1 %t14185, label %grow2856, label %put2857 +grow2856: + %t14186 = mul i32 %t14184, 2 + %t14187 = icmp eq i32 %t14184, 0 + %t14188 = select i1 %t14187, i32 8, i32 %t14186 + %t14189 = getelementptr ptr, ptr null, i32 1 + %t14190 = ptrtoint ptr %t14189 to i64 + %t14191 = zext i32 %t14188 to i64 + %t14192 = mul i64 %t14191, %t14190 + %t14193 = load ptr, ptr %t14182 + %t14194 = call ptr @realloc(ptr %t14193, i64 %t14192) + store ptr %t14194, ptr %t14182 + store i32 %t14188, ptr %t14181 + br label %put2857 +put2857: + %t14195 = load ptr, ptr %t14182 + %t14196 = getelementptr inbounds ptr, ptr %t14195, i32 %t14183 + store ptr @.str8355, ptr %t14196 + %t14197 = add i32 %t14183, 1 + store i32 %t14197, ptr %t14180 + %t14198 = load ptr, ptr %t410 + %t14199 = getelementptr inbounds %LSlice, ptr %t14198, i32 0, i32 1 + %t14200 = getelementptr inbounds %LSlice, ptr %t14198, i32 0, i32 2 + %t14201 = getelementptr inbounds %LSlice, ptr %t14198, i32 0, i32 0 + %t14202 = load i32, ptr %t14199 + %t14203 = load i32, ptr %t14200 + %t14204 = icmp sge i32 %t14202, %t14203 + br i1 %t14204, label %grow2858, label %put2859 +grow2858: + %t14205 = mul i32 %t14203, 2 + %t14206 = icmp eq i32 %t14203, 0 + %t14207 = select i1 %t14206, i32 8, i32 %t14205 + %t14208 = getelementptr ptr, ptr null, i32 1 + %t14209 = ptrtoint ptr %t14208 to i64 + %t14210 = zext i32 %t14207 to i64 + %t14211 = mul i64 %t14210, %t14209 + %t14212 = load ptr, ptr %t14201 + %t14213 = call ptr @realloc(ptr %t14212, i64 %t14211) + store ptr %t14213, ptr %t14201 + store i32 %t14207, ptr %t14200 + br label %put2859 +put2859: + %t14214 = load ptr, ptr %t14201 + %t14215 = getelementptr inbounds ptr, ptr %t14214, i32 %t14202 + store ptr @.str8356, ptr %t14215 + %t14216 = add i32 %t14202, 1 + store i32 %t14216, ptr %t14199 + %t14217 = load ptr, ptr %t410 + %t14218 = getelementptr inbounds %LSlice, ptr %t14217, i32 0, i32 1 + %t14219 = getelementptr inbounds %LSlice, ptr %t14217, i32 0, i32 2 + %t14220 = getelementptr inbounds %LSlice, ptr %t14217, i32 0, i32 0 + %t14221 = load i32, ptr %t14218 + %t14222 = load i32, ptr %t14219 + %t14223 = icmp sge i32 %t14221, %t14222 + br i1 %t14223, label %grow2860, label %put2861 +grow2860: + %t14224 = mul i32 %t14222, 2 + %t14225 = icmp eq i32 %t14222, 0 + %t14226 = select i1 %t14225, i32 8, i32 %t14224 + %t14227 = getelementptr ptr, ptr null, i32 1 + %t14228 = ptrtoint ptr %t14227 to i64 + %t14229 = zext i32 %t14226 to i64 + %t14230 = mul i64 %t14229, %t14228 + %t14231 = load ptr, ptr %t14220 + %t14232 = call ptr @realloc(ptr %t14231, i64 %t14230) + store ptr %t14232, ptr %t14220 + store i32 %t14226, ptr %t14219 + br label %put2861 +put2861: + %t14233 = load ptr, ptr %t14220 + %t14234 = getelementptr inbounds ptr, ptr %t14233, i32 %t14221 + store ptr @.str8357, ptr %t14234 + %t14235 = add i32 %t14221, 1 + store i32 %t14235, ptr %t14218 + br label %ifend2855 +ifend2855: + %t14236 = load ptr, ptr %t1 + %t14237 = call i32 @lp_str_eq(ptr %t14236, ptr @.str8358) + %t14238 = icmp ne i32 %t14237, 0 + br i1 %t14238, label %then2862, label %ifend2864 +then2862: + store ptr @.str8359, ptr %t403 + %t14239 = load ptr, ptr %t410 + %t14240 = getelementptr inbounds %LSlice, ptr %t14239, i32 0, i32 1 + %t14241 = getelementptr inbounds %LSlice, ptr %t14239, i32 0, i32 2 + %t14242 = getelementptr inbounds %LSlice, ptr %t14239, i32 0, i32 0 + %t14243 = load i32, ptr %t14240 + %t14244 = load i32, ptr %t14241 + %t14245 = icmp sge i32 %t14243, %t14244 + br i1 %t14245, label %grow2865, label %put2866 +grow2865: + %t14246 = mul i32 %t14244, 2 + %t14247 = icmp eq i32 %t14244, 0 + %t14248 = select i1 %t14247, i32 8, i32 %t14246 + %t14249 = getelementptr ptr, ptr null, i32 1 + %t14250 = ptrtoint ptr %t14249 to i64 + %t14251 = zext i32 %t14248 to i64 + %t14252 = mul i64 %t14251, %t14250 + %t14253 = load ptr, ptr %t14242 + %t14254 = call ptr @realloc(ptr %t14253, i64 %t14252) + store ptr %t14254, ptr %t14242 + store i32 %t14248, ptr %t14241 + br label %put2866 +put2866: + %t14255 = load ptr, ptr %t14242 + %t14256 = getelementptr inbounds ptr, ptr %t14255, i32 %t14243 + store ptr @.str8360, ptr %t14256 + %t14257 = add i32 %t14243, 1 + store i32 %t14257, ptr %t14240 + %t14258 = load ptr, ptr %t410 + %t14259 = getelementptr inbounds %LSlice, ptr %t14258, i32 0, i32 1 + %t14260 = getelementptr inbounds %LSlice, ptr %t14258, i32 0, i32 2 + %t14261 = getelementptr inbounds %LSlice, ptr %t14258, i32 0, i32 0 + %t14262 = load i32, ptr %t14259 + %t14263 = load i32, ptr %t14260 + %t14264 = icmp sge i32 %t14262, %t14263 + br i1 %t14264, label %grow2867, label %put2868 +grow2867: + %t14265 = mul i32 %t14263, 2 + %t14266 = icmp eq i32 %t14263, 0 + %t14267 = select i1 %t14266, i32 8, i32 %t14265 + %t14268 = getelementptr ptr, ptr null, i32 1 + %t14269 = ptrtoint ptr %t14268 to i64 + %t14270 = zext i32 %t14267 to i64 + %t14271 = mul i64 %t14270, %t14269 + %t14272 = load ptr, ptr %t14261 + %t14273 = call ptr @realloc(ptr %t14272, i64 %t14271) + store ptr %t14273, ptr %t14261 + store i32 %t14267, ptr %t14260 + br label %put2868 +put2868: + %t14274 = load ptr, ptr %t14261 + %t14275 = getelementptr inbounds ptr, ptr %t14274, i32 %t14262 + store ptr @.str8361, ptr %t14275 + %t14276 = add i32 %t14262, 1 + store i32 %t14276, ptr %t14259 + br label %ifend2864 +ifend2864: + %t14277 = load ptr, ptr %t1 + %t14278 = call i32 @lp_str_eq(ptr %t14277, ptr @.str8362) + %t14279 = icmp ne i32 %t14278, 0 + br i1 %t14279, label %then2869, label %ifend2871 +then2869: + store ptr @.str8363, ptr %t403 + %t14280 = load ptr, ptr %t410 + %t14281 = getelementptr inbounds %LSlice, ptr %t14280, i32 0, i32 1 + %t14282 = getelementptr inbounds %LSlice, ptr %t14280, i32 0, i32 2 + %t14283 = getelementptr inbounds %LSlice, ptr %t14280, i32 0, i32 0 + %t14284 = load i32, ptr %t14281 + %t14285 = load i32, ptr %t14282 + %t14286 = icmp sge i32 %t14284, %t14285 + br i1 %t14286, label %grow2872, label %put2873 +grow2872: + %t14287 = mul i32 %t14285, 2 + %t14288 = icmp eq i32 %t14285, 0 + %t14289 = select i1 %t14288, i32 8, i32 %t14287 + %t14290 = getelementptr ptr, ptr null, i32 1 + %t14291 = ptrtoint ptr %t14290 to i64 + %t14292 = zext i32 %t14289 to i64 + %t14293 = mul i64 %t14292, %t14291 + %t14294 = load ptr, ptr %t14283 + %t14295 = call ptr @realloc(ptr %t14294, i64 %t14293) + store ptr %t14295, ptr %t14283 + store i32 %t14289, ptr %t14282 + br label %put2873 +put2873: + %t14296 = load ptr, ptr %t14283 + %t14297 = getelementptr inbounds ptr, ptr %t14296, i32 %t14284 + store ptr @.str8364, ptr %t14297 + %t14298 = add i32 %t14284, 1 + store i32 %t14298, ptr %t14281 + %t14299 = load ptr, ptr %t410 + %t14300 = getelementptr inbounds %LSlice, ptr %t14299, i32 0, i32 1 + %t14301 = getelementptr inbounds %LSlice, ptr %t14299, i32 0, i32 2 + %t14302 = getelementptr inbounds %LSlice, ptr %t14299, i32 0, i32 0 + %t14303 = load i32, ptr %t14300 + %t14304 = load i32, ptr %t14301 + %t14305 = icmp sge i32 %t14303, %t14304 + br i1 %t14305, label %grow2874, label %put2875 +grow2874: + %t14306 = mul i32 %t14304, 2 + %t14307 = icmp eq i32 %t14304, 0 + %t14308 = select i1 %t14307, i32 8, i32 %t14306 + %t14309 = getelementptr ptr, ptr null, i32 1 + %t14310 = ptrtoint ptr %t14309 to i64 + %t14311 = zext i32 %t14308 to i64 + %t14312 = mul i64 %t14311, %t14310 + %t14313 = load ptr, ptr %t14302 + %t14314 = call ptr @realloc(ptr %t14313, i64 %t14312) + store ptr %t14314, ptr %t14302 + store i32 %t14308, ptr %t14301 + br label %put2875 +put2875: + %t14315 = load ptr, ptr %t14302 + %t14316 = getelementptr inbounds ptr, ptr %t14315, i32 %t14303 + store ptr @.str8365, ptr %t14316 + %t14317 = add i32 %t14303, 1 + store i32 %t14317, ptr %t14300 + br label %ifend2871 +ifend2871: + %t14318 = load ptr, ptr %t1 + %t14319 = call i32 @lp_str_eq(ptr %t14318, ptr @.str8366) + %t14320 = icmp ne i32 %t14319, 0 + br i1 %t14320, label %then2876, label %ifend2878 +then2876: + store ptr @.str8367, ptr %t403 + %t14321 = load ptr, ptr %t410 + %t14322 = getelementptr inbounds %LSlice, ptr %t14321, i32 0, i32 1 + %t14323 = getelementptr inbounds %LSlice, ptr %t14321, i32 0, i32 2 + %t14324 = getelementptr inbounds %LSlice, ptr %t14321, i32 0, i32 0 + %t14325 = load i32, ptr %t14322 + %t14326 = load i32, ptr %t14323 + %t14327 = icmp sge i32 %t14325, %t14326 + br i1 %t14327, label %grow2879, label %put2880 +grow2879: + %t14328 = mul i32 %t14326, 2 + %t14329 = icmp eq i32 %t14326, 0 + %t14330 = select i1 %t14329, i32 8, i32 %t14328 + %t14331 = getelementptr ptr, ptr null, i32 1 + %t14332 = ptrtoint ptr %t14331 to i64 + %t14333 = zext i32 %t14330 to i64 + %t14334 = mul i64 %t14333, %t14332 + %t14335 = load ptr, ptr %t14324 + %t14336 = call ptr @realloc(ptr %t14335, i64 %t14334) + store ptr %t14336, ptr %t14324 + store i32 %t14330, ptr %t14323 + br label %put2880 +put2880: + %t14337 = load ptr, ptr %t14324 + %t14338 = getelementptr inbounds ptr, ptr %t14337, i32 %t14325 + store ptr @.str8368, ptr %t14338 + %t14339 = add i32 %t14325, 1 + store i32 %t14339, ptr %t14322 + %t14340 = load ptr, ptr %t410 + %t14341 = getelementptr inbounds %LSlice, ptr %t14340, i32 0, i32 1 + %t14342 = getelementptr inbounds %LSlice, ptr %t14340, i32 0, i32 2 + %t14343 = getelementptr inbounds %LSlice, ptr %t14340, i32 0, i32 0 + %t14344 = load i32, ptr %t14341 + %t14345 = load i32, ptr %t14342 + %t14346 = icmp sge i32 %t14344, %t14345 + br i1 %t14346, label %grow2881, label %put2882 +grow2881: + %t14347 = mul i32 %t14345, 2 + %t14348 = icmp eq i32 %t14345, 0 + %t14349 = select i1 %t14348, i32 8, i32 %t14347 + %t14350 = getelementptr ptr, ptr null, i32 1 + %t14351 = ptrtoint ptr %t14350 to i64 + %t14352 = zext i32 %t14349 to i64 + %t14353 = mul i64 %t14352, %t14351 + %t14354 = load ptr, ptr %t14343 + %t14355 = call ptr @realloc(ptr %t14354, i64 %t14353) + store ptr %t14355, ptr %t14343 + store i32 %t14349, ptr %t14342 + br label %put2882 +put2882: + %t14356 = load ptr, ptr %t14343 + %t14357 = getelementptr inbounds ptr, ptr %t14356, i32 %t14344 + store ptr @.str8369, ptr %t14357 + %t14358 = add i32 %t14344, 1 + store i32 %t14358, ptr %t14341 + %t14359 = load ptr, ptr %t410 + %t14360 = getelementptr inbounds %LSlice, ptr %t14359, i32 0, i32 1 + %t14361 = getelementptr inbounds %LSlice, ptr %t14359, i32 0, i32 2 + %t14362 = getelementptr inbounds %LSlice, ptr %t14359, i32 0, i32 0 + %t14363 = load i32, ptr %t14360 + %t14364 = load i32, ptr %t14361 + %t14365 = icmp sge i32 %t14363, %t14364 + br i1 %t14365, label %grow2883, label %put2884 +grow2883: + %t14366 = mul i32 %t14364, 2 + %t14367 = icmp eq i32 %t14364, 0 + %t14368 = select i1 %t14367, i32 8, i32 %t14366 + %t14369 = getelementptr ptr, ptr null, i32 1 + %t14370 = ptrtoint ptr %t14369 to i64 + %t14371 = zext i32 %t14368 to i64 + %t14372 = mul i64 %t14371, %t14370 + %t14373 = load ptr, ptr %t14362 + %t14374 = call ptr @realloc(ptr %t14373, i64 %t14372) + store ptr %t14374, ptr %t14362 + store i32 %t14368, ptr %t14361 + br label %put2884 +put2884: + %t14375 = load ptr, ptr %t14362 + %t14376 = getelementptr inbounds ptr, ptr %t14375, i32 %t14363 + store ptr @.str8370, ptr %t14376 + %t14377 = add i32 %t14363, 1 + store i32 %t14377, ptr %t14360 + br label %ifend2878 +ifend2878: + %t14378 = load ptr, ptr %t1 + %t14379 = call i32 @lp_str_eq(ptr %t14378, ptr @.str8371) + %t14380 = icmp ne i32 %t14379, 0 + br i1 %t14380, label %then2885, label %ifend2887 +then2885: + store ptr @.str8372, ptr %t403 + %t14381 = load ptr, ptr %t410 + %t14382 = getelementptr inbounds %LSlice, ptr %t14381, i32 0, i32 1 + %t14383 = getelementptr inbounds %LSlice, ptr %t14381, i32 0, i32 2 + %t14384 = getelementptr inbounds %LSlice, ptr %t14381, i32 0, i32 0 + %t14385 = load i32, ptr %t14382 + %t14386 = load i32, ptr %t14383 + %t14387 = icmp sge i32 %t14385, %t14386 + br i1 %t14387, label %grow2888, label %put2889 +grow2888: + %t14388 = mul i32 %t14386, 2 + %t14389 = icmp eq i32 %t14386, 0 + %t14390 = select i1 %t14389, i32 8, i32 %t14388 + %t14391 = getelementptr ptr, ptr null, i32 1 + %t14392 = ptrtoint ptr %t14391 to i64 + %t14393 = zext i32 %t14390 to i64 + %t14394 = mul i64 %t14393, %t14392 + %t14395 = load ptr, ptr %t14384 + %t14396 = call ptr @realloc(ptr %t14395, i64 %t14394) + store ptr %t14396, ptr %t14384 + store i32 %t14390, ptr %t14383 + br label %put2889 +put2889: + %t14397 = load ptr, ptr %t14384 + %t14398 = getelementptr inbounds ptr, ptr %t14397, i32 %t14385 + store ptr @.str8373, ptr %t14398 + %t14399 = add i32 %t14385, 1 + store i32 %t14399, ptr %t14382 + br label %ifend2887 +ifend2887: + %t14400 = load ptr, ptr %t1 + %t14401 = call i32 @lp_str_eq(ptr %t14400, ptr @.str8374) + %t14402 = icmp ne i32 %t14401, 0 + br i1 %t14402, label %then2890, label %ifend2892 +then2890: + store ptr @.str8375, ptr %t403 + %t14403 = load ptr, ptr %t410 + %t14404 = getelementptr inbounds %LSlice, ptr %t14403, i32 0, i32 1 + %t14405 = getelementptr inbounds %LSlice, ptr %t14403, i32 0, i32 2 + %t14406 = getelementptr inbounds %LSlice, ptr %t14403, i32 0, i32 0 + %t14407 = load i32, ptr %t14404 + %t14408 = load i32, ptr %t14405 + %t14409 = icmp sge i32 %t14407, %t14408 + br i1 %t14409, label %grow2893, label %put2894 +grow2893: + %t14410 = mul i32 %t14408, 2 + %t14411 = icmp eq i32 %t14408, 0 + %t14412 = select i1 %t14411, i32 8, i32 %t14410 + %t14413 = getelementptr ptr, ptr null, i32 1 + %t14414 = ptrtoint ptr %t14413 to i64 + %t14415 = zext i32 %t14412 to i64 + %t14416 = mul i64 %t14415, %t14414 + %t14417 = load ptr, ptr %t14406 + %t14418 = call ptr @realloc(ptr %t14417, i64 %t14416) + store ptr %t14418, ptr %t14406 + store i32 %t14412, ptr %t14405 + br label %put2894 +put2894: + %t14419 = load ptr, ptr %t14406 + %t14420 = getelementptr inbounds ptr, ptr %t14419, i32 %t14407 + store ptr @.str8376, ptr %t14420 + %t14421 = add i32 %t14407, 1 + store i32 %t14421, ptr %t14404 + %t14422 = load ptr, ptr %t410 + %t14423 = getelementptr inbounds %LSlice, ptr %t14422, i32 0, i32 1 + %t14424 = getelementptr inbounds %LSlice, ptr %t14422, i32 0, i32 2 + %t14425 = getelementptr inbounds %LSlice, ptr %t14422, i32 0, i32 0 + %t14426 = load i32, ptr %t14423 + %t14427 = load i32, ptr %t14424 + %t14428 = icmp sge i32 %t14426, %t14427 + br i1 %t14428, label %grow2895, label %put2896 +grow2895: + %t14429 = mul i32 %t14427, 2 + %t14430 = icmp eq i32 %t14427, 0 + %t14431 = select i1 %t14430, i32 8, i32 %t14429 + %t14432 = getelementptr ptr, ptr null, i32 1 + %t14433 = ptrtoint ptr %t14432 to i64 + %t14434 = zext i32 %t14431 to i64 + %t14435 = mul i64 %t14434, %t14433 + %t14436 = load ptr, ptr %t14425 + %t14437 = call ptr @realloc(ptr %t14436, i64 %t14435) + store ptr %t14437, ptr %t14425 + store i32 %t14431, ptr %t14424 + br label %put2896 +put2896: + %t14438 = load ptr, ptr %t14425 + %t14439 = getelementptr inbounds ptr, ptr %t14438, i32 %t14426 + store ptr @.str8377, ptr %t14439 + %t14440 = add i32 %t14426, 1 + store i32 %t14440, ptr %t14423 + br label %ifend2892 +ifend2892: + %t14441 = load ptr, ptr %t1 + %t14442 = call i32 @lp_str_eq(ptr %t14441, ptr @.str8378) + %t14443 = icmp ne i32 %t14442, 0 + br i1 %t14443, label %then2897, label %ifend2899 +then2897: + store ptr @.str8379, ptr %t403 + %t14444 = load ptr, ptr %t410 + %t14445 = getelementptr inbounds %LSlice, ptr %t14444, i32 0, i32 1 + %t14446 = getelementptr inbounds %LSlice, ptr %t14444, i32 0, i32 2 + %t14447 = getelementptr inbounds %LSlice, ptr %t14444, i32 0, i32 0 + %t14448 = load i32, ptr %t14445 + %t14449 = load i32, ptr %t14446 + %t14450 = icmp sge i32 %t14448, %t14449 + br i1 %t14450, label %grow2900, label %put2901 +grow2900: + %t14451 = mul i32 %t14449, 2 + %t14452 = icmp eq i32 %t14449, 0 + %t14453 = select i1 %t14452, i32 8, i32 %t14451 + %t14454 = getelementptr ptr, ptr null, i32 1 + %t14455 = ptrtoint ptr %t14454 to i64 + %t14456 = zext i32 %t14453 to i64 + %t14457 = mul i64 %t14456, %t14455 + %t14458 = load ptr, ptr %t14447 + %t14459 = call ptr @realloc(ptr %t14458, i64 %t14457) + store ptr %t14459, ptr %t14447 + store i32 %t14453, ptr %t14446 + br label %put2901 +put2901: + %t14460 = load ptr, ptr %t14447 + %t14461 = getelementptr inbounds ptr, ptr %t14460, i32 %t14448 + store ptr @.str8380, ptr %t14461 + %t14462 = add i32 %t14448, 1 + store i32 %t14462, ptr %t14445 + %t14463 = load ptr, ptr %t410 + %t14464 = getelementptr inbounds %LSlice, ptr %t14463, i32 0, i32 1 + %t14465 = getelementptr inbounds %LSlice, ptr %t14463, i32 0, i32 2 + %t14466 = getelementptr inbounds %LSlice, ptr %t14463, i32 0, i32 0 + %t14467 = load i32, ptr %t14464 + %t14468 = load i32, ptr %t14465 + %t14469 = icmp sge i32 %t14467, %t14468 + br i1 %t14469, label %grow2902, label %put2903 +grow2902: + %t14470 = mul i32 %t14468, 2 + %t14471 = icmp eq i32 %t14468, 0 + %t14472 = select i1 %t14471, i32 8, i32 %t14470 + %t14473 = getelementptr ptr, ptr null, i32 1 + %t14474 = ptrtoint ptr %t14473 to i64 + %t14475 = zext i32 %t14472 to i64 + %t14476 = mul i64 %t14475, %t14474 + %t14477 = load ptr, ptr %t14466 + %t14478 = call ptr @realloc(ptr %t14477, i64 %t14476) + store ptr %t14478, ptr %t14466 + store i32 %t14472, ptr %t14465 + br label %put2903 +put2903: + %t14479 = load ptr, ptr %t14466 + %t14480 = getelementptr inbounds ptr, ptr %t14479, i32 %t14467 + store ptr @.str8381, ptr %t14480 + %t14481 = add i32 %t14467, 1 + store i32 %t14481, ptr %t14464 + br label %ifend2899 +ifend2899: + %t14482 = load ptr, ptr %t1 + %t14483 = call i32 @lp_str_eq(ptr %t14482, ptr @.str8382) + %t14484 = icmp ne i32 %t14483, 0 + br i1 %t14484, label %then2904, label %ifend2906 +then2904: + store ptr @.str8383, ptr %t403 + %t14485 = load ptr, ptr %t410 + %t14486 = getelementptr inbounds %LSlice, ptr %t14485, i32 0, i32 1 + %t14487 = getelementptr inbounds %LSlice, ptr %t14485, i32 0, i32 2 + %t14488 = getelementptr inbounds %LSlice, ptr %t14485, i32 0, i32 0 + %t14489 = load i32, ptr %t14486 + %t14490 = load i32, ptr %t14487 + %t14491 = icmp sge i32 %t14489, %t14490 + br i1 %t14491, label %grow2907, label %put2908 +grow2907: + %t14492 = mul i32 %t14490, 2 + %t14493 = icmp eq i32 %t14490, 0 + %t14494 = select i1 %t14493, i32 8, i32 %t14492 + %t14495 = getelementptr ptr, ptr null, i32 1 + %t14496 = ptrtoint ptr %t14495 to i64 + %t14497 = zext i32 %t14494 to i64 + %t14498 = mul i64 %t14497, %t14496 + %t14499 = load ptr, ptr %t14488 + %t14500 = call ptr @realloc(ptr %t14499, i64 %t14498) + store ptr %t14500, ptr %t14488 + store i32 %t14494, ptr %t14487 + br label %put2908 +put2908: + %t14501 = load ptr, ptr %t14488 + %t14502 = getelementptr inbounds ptr, ptr %t14501, i32 %t14489 + store ptr @.str8384, ptr %t14502 + %t14503 = add i32 %t14489, 1 + store i32 %t14503, ptr %t14486 + %t14504 = load ptr, ptr %t410 + %t14505 = getelementptr inbounds %LSlice, ptr %t14504, i32 0, i32 1 + %t14506 = getelementptr inbounds %LSlice, ptr %t14504, i32 0, i32 2 + %t14507 = getelementptr inbounds %LSlice, ptr %t14504, i32 0, i32 0 + %t14508 = load i32, ptr %t14505 + %t14509 = load i32, ptr %t14506 + %t14510 = icmp sge i32 %t14508, %t14509 + br i1 %t14510, label %grow2909, label %put2910 +grow2909: + %t14511 = mul i32 %t14509, 2 + %t14512 = icmp eq i32 %t14509, 0 + %t14513 = select i1 %t14512, i32 8, i32 %t14511 + %t14514 = getelementptr ptr, ptr null, i32 1 + %t14515 = ptrtoint ptr %t14514 to i64 + %t14516 = zext i32 %t14513 to i64 + %t14517 = mul i64 %t14516, %t14515 + %t14518 = load ptr, ptr %t14507 + %t14519 = call ptr @realloc(ptr %t14518, i64 %t14517) + store ptr %t14519, ptr %t14507 + store i32 %t14513, ptr %t14506 + br label %put2910 +put2910: + %t14520 = load ptr, ptr %t14507 + %t14521 = getelementptr inbounds ptr, ptr %t14520, i32 %t14508 + store ptr @.str8385, ptr %t14521 + %t14522 = add i32 %t14508, 1 + store i32 %t14522, ptr %t14505 + br label %ifend2906 +ifend2906: + %t14523 = load ptr, ptr %t1 + %t14524 = call i32 @lp_str_eq(ptr %t14523, ptr @.str8386) + %t14525 = icmp ne i32 %t14524, 0 + br i1 %t14525, label %then2911, label %ifend2913 +then2911: + store ptr @.str8387, ptr %t403 + %t14526 = load ptr, ptr %t410 + %t14527 = getelementptr inbounds %LSlice, ptr %t14526, i32 0, i32 1 + %t14528 = getelementptr inbounds %LSlice, ptr %t14526, i32 0, i32 2 + %t14529 = getelementptr inbounds %LSlice, ptr %t14526, i32 0, i32 0 + %t14530 = load i32, ptr %t14527 + %t14531 = load i32, ptr %t14528 + %t14532 = icmp sge i32 %t14530, %t14531 + br i1 %t14532, label %grow2914, label %put2915 +grow2914: + %t14533 = mul i32 %t14531, 2 + %t14534 = icmp eq i32 %t14531, 0 + %t14535 = select i1 %t14534, i32 8, i32 %t14533 + %t14536 = getelementptr ptr, ptr null, i32 1 + %t14537 = ptrtoint ptr %t14536 to i64 + %t14538 = zext i32 %t14535 to i64 + %t14539 = mul i64 %t14538, %t14537 + %t14540 = load ptr, ptr %t14529 + %t14541 = call ptr @realloc(ptr %t14540, i64 %t14539) + store ptr %t14541, ptr %t14529 + store i32 %t14535, ptr %t14528 + br label %put2915 +put2915: + %t14542 = load ptr, ptr %t14529 + %t14543 = getelementptr inbounds ptr, ptr %t14542, i32 %t14530 + store ptr @.str8388, ptr %t14543 + %t14544 = add i32 %t14530, 1 + store i32 %t14544, ptr %t14527 + br label %ifend2913 +ifend2913: + %t14545 = load ptr, ptr %t1 + %t14546 = call i32 @lp_str_eq(ptr %t14545, ptr @.str8389) + %t14547 = icmp ne i32 %t14546, 0 + br i1 %t14547, label %then2916, label %ifend2918 +then2916: + store ptr @.str8390, ptr %t403 + %t14548 = load ptr, ptr %t410 + %t14549 = getelementptr inbounds %LSlice, ptr %t14548, i32 0, i32 1 + %t14550 = getelementptr inbounds %LSlice, ptr %t14548, i32 0, i32 2 + %t14551 = getelementptr inbounds %LSlice, ptr %t14548, i32 0, i32 0 + %t14552 = load i32, ptr %t14549 + %t14553 = load i32, ptr %t14550 + %t14554 = icmp sge i32 %t14552, %t14553 + br i1 %t14554, label %grow2919, label %put2920 +grow2919: + %t14555 = mul i32 %t14553, 2 + %t14556 = icmp eq i32 %t14553, 0 + %t14557 = select i1 %t14556, i32 8, i32 %t14555 + %t14558 = getelementptr ptr, ptr null, i32 1 + %t14559 = ptrtoint ptr %t14558 to i64 + %t14560 = zext i32 %t14557 to i64 + %t14561 = mul i64 %t14560, %t14559 + %t14562 = load ptr, ptr %t14551 + %t14563 = call ptr @realloc(ptr %t14562, i64 %t14561) + store ptr %t14563, ptr %t14551 + store i32 %t14557, ptr %t14550 + br label %put2920 +put2920: + %t14564 = load ptr, ptr %t14551 + %t14565 = getelementptr inbounds ptr, ptr %t14564, i32 %t14552 + store ptr @.str8391, ptr %t14565 + %t14566 = add i32 %t14552, 1 + store i32 %t14566, ptr %t14549 + br label %ifend2918 +ifend2918: + %t14567 = load ptr, ptr %t1 + %t14568 = call i32 @lp_str_eq(ptr %t14567, ptr @.str8392) + %t14569 = icmp ne i32 %t14568, 0 + br i1 %t14569, label %then2921, label %ifend2923 +then2921: + store ptr @.str8393, ptr %t403 + %t14570 = load ptr, ptr %t410 + %t14571 = getelementptr inbounds %LSlice, ptr %t14570, i32 0, i32 1 + %t14572 = getelementptr inbounds %LSlice, ptr %t14570, i32 0, i32 2 + %t14573 = getelementptr inbounds %LSlice, ptr %t14570, i32 0, i32 0 + %t14574 = load i32, ptr %t14571 + %t14575 = load i32, ptr %t14572 + %t14576 = icmp sge i32 %t14574, %t14575 + br i1 %t14576, label %grow2924, label %put2925 +grow2924: + %t14577 = mul i32 %t14575, 2 + %t14578 = icmp eq i32 %t14575, 0 + %t14579 = select i1 %t14578, i32 8, i32 %t14577 + %t14580 = getelementptr ptr, ptr null, i32 1 + %t14581 = ptrtoint ptr %t14580 to i64 + %t14582 = zext i32 %t14579 to i64 + %t14583 = mul i64 %t14582, %t14581 + %t14584 = load ptr, ptr %t14573 + %t14585 = call ptr @realloc(ptr %t14584, i64 %t14583) + store ptr %t14585, ptr %t14573 + store i32 %t14579, ptr %t14572 + br label %put2925 +put2925: + %t14586 = load ptr, ptr %t14573 + %t14587 = getelementptr inbounds ptr, ptr %t14586, i32 %t14574 + store ptr @.str8394, ptr %t14587 + %t14588 = add i32 %t14574, 1 + store i32 %t14588, ptr %t14571 + %t14589 = load ptr, ptr %t410 + %t14590 = getelementptr inbounds %LSlice, ptr %t14589, i32 0, i32 1 + %t14591 = getelementptr inbounds %LSlice, ptr %t14589, i32 0, i32 2 + %t14592 = getelementptr inbounds %LSlice, ptr %t14589, i32 0, i32 0 + %t14593 = load i32, ptr %t14590 + %t14594 = load i32, ptr %t14591 + %t14595 = icmp sge i32 %t14593, %t14594 + br i1 %t14595, label %grow2926, label %put2927 +grow2926: + %t14596 = mul i32 %t14594, 2 + %t14597 = icmp eq i32 %t14594, 0 + %t14598 = select i1 %t14597, i32 8, i32 %t14596 + %t14599 = getelementptr ptr, ptr null, i32 1 + %t14600 = ptrtoint ptr %t14599 to i64 + %t14601 = zext i32 %t14598 to i64 + %t14602 = mul i64 %t14601, %t14600 + %t14603 = load ptr, ptr %t14592 + %t14604 = call ptr @realloc(ptr %t14603, i64 %t14602) + store ptr %t14604, ptr %t14592 + store i32 %t14598, ptr %t14591 + br label %put2927 +put2927: + %t14605 = load ptr, ptr %t14592 + %t14606 = getelementptr inbounds ptr, ptr %t14605, i32 %t14593 + store ptr @.str8395, ptr %t14606 + %t14607 = add i32 %t14593, 1 + store i32 %t14607, ptr %t14590 + %t14608 = load ptr, ptr %t410 + %t14609 = getelementptr inbounds %LSlice, ptr %t14608, i32 0, i32 1 + %t14610 = getelementptr inbounds %LSlice, ptr %t14608, i32 0, i32 2 + %t14611 = getelementptr inbounds %LSlice, ptr %t14608, i32 0, i32 0 + %t14612 = load i32, ptr %t14609 + %t14613 = load i32, ptr %t14610 + %t14614 = icmp sge i32 %t14612, %t14613 + br i1 %t14614, label %grow2928, label %put2929 +grow2928: + %t14615 = mul i32 %t14613, 2 + %t14616 = icmp eq i32 %t14613, 0 + %t14617 = select i1 %t14616, i32 8, i32 %t14615 + %t14618 = getelementptr ptr, ptr null, i32 1 + %t14619 = ptrtoint ptr %t14618 to i64 + %t14620 = zext i32 %t14617 to i64 + %t14621 = mul i64 %t14620, %t14619 + %t14622 = load ptr, ptr %t14611 + %t14623 = call ptr @realloc(ptr %t14622, i64 %t14621) + store ptr %t14623, ptr %t14611 + store i32 %t14617, ptr %t14610 + br label %put2929 +put2929: + %t14624 = load ptr, ptr %t14611 + %t14625 = getelementptr inbounds ptr, ptr %t14624, i32 %t14612 + store ptr @.str8396, ptr %t14625 + %t14626 = add i32 %t14612, 1 + store i32 %t14626, ptr %t14609 + br label %ifend2923 +ifend2923: + %t14627 = load ptr, ptr %t1 + %t14628 = call i32 @lp_str_eq(ptr %t14627, ptr @.str8397) + %t14629 = icmp ne i32 %t14628, 0 + br i1 %t14629, label %then2930, label %ifend2932 +then2930: + store ptr @.str8398, ptr %t403 + %t14630 = load ptr, ptr %t410 + %t14631 = getelementptr inbounds %LSlice, ptr %t14630, i32 0, i32 1 + %t14632 = getelementptr inbounds %LSlice, ptr %t14630, i32 0, i32 2 + %t14633 = getelementptr inbounds %LSlice, ptr %t14630, i32 0, i32 0 + %t14634 = load i32, ptr %t14631 + %t14635 = load i32, ptr %t14632 + %t14636 = icmp sge i32 %t14634, %t14635 + br i1 %t14636, label %grow2933, label %put2934 +grow2933: + %t14637 = mul i32 %t14635, 2 + %t14638 = icmp eq i32 %t14635, 0 + %t14639 = select i1 %t14638, i32 8, i32 %t14637 + %t14640 = getelementptr ptr, ptr null, i32 1 + %t14641 = ptrtoint ptr %t14640 to i64 + %t14642 = zext i32 %t14639 to i64 + %t14643 = mul i64 %t14642, %t14641 + %t14644 = load ptr, ptr %t14633 + %t14645 = call ptr @realloc(ptr %t14644, i64 %t14643) + store ptr %t14645, ptr %t14633 + store i32 %t14639, ptr %t14632 + br label %put2934 +put2934: + %t14646 = load ptr, ptr %t14633 + %t14647 = getelementptr inbounds ptr, ptr %t14646, i32 %t14634 + store ptr @.str8399, ptr %t14647 + %t14648 = add i32 %t14634, 1 + store i32 %t14648, ptr %t14631 + %t14649 = load ptr, ptr %t410 + %t14650 = getelementptr inbounds %LSlice, ptr %t14649, i32 0, i32 1 + %t14651 = getelementptr inbounds %LSlice, ptr %t14649, i32 0, i32 2 + %t14652 = getelementptr inbounds %LSlice, ptr %t14649, i32 0, i32 0 + %t14653 = load i32, ptr %t14650 + %t14654 = load i32, ptr %t14651 + %t14655 = icmp sge i32 %t14653, %t14654 + br i1 %t14655, label %grow2935, label %put2936 +grow2935: + %t14656 = mul i32 %t14654, 2 + %t14657 = icmp eq i32 %t14654, 0 + %t14658 = select i1 %t14657, i32 8, i32 %t14656 + %t14659 = getelementptr ptr, ptr null, i32 1 + %t14660 = ptrtoint ptr %t14659 to i64 + %t14661 = zext i32 %t14658 to i64 + %t14662 = mul i64 %t14661, %t14660 + %t14663 = load ptr, ptr %t14652 + %t14664 = call ptr @realloc(ptr %t14663, i64 %t14662) + store ptr %t14664, ptr %t14652 + store i32 %t14658, ptr %t14651 + br label %put2936 +put2936: + %t14665 = load ptr, ptr %t14652 + %t14666 = getelementptr inbounds ptr, ptr %t14665, i32 %t14653 + store ptr @.str8400, ptr %t14666 + %t14667 = add i32 %t14653, 1 + store i32 %t14667, ptr %t14650 + %t14668 = load ptr, ptr %t410 + %t14669 = getelementptr inbounds %LSlice, ptr %t14668, i32 0, i32 1 + %t14670 = getelementptr inbounds %LSlice, ptr %t14668, i32 0, i32 2 + %t14671 = getelementptr inbounds %LSlice, ptr %t14668, i32 0, i32 0 + %t14672 = load i32, ptr %t14669 + %t14673 = load i32, ptr %t14670 + %t14674 = icmp sge i32 %t14672, %t14673 + br i1 %t14674, label %grow2937, label %put2938 +grow2937: + %t14675 = mul i32 %t14673, 2 + %t14676 = icmp eq i32 %t14673, 0 + %t14677 = select i1 %t14676, i32 8, i32 %t14675 + %t14678 = getelementptr ptr, ptr null, i32 1 + %t14679 = ptrtoint ptr %t14678 to i64 + %t14680 = zext i32 %t14677 to i64 + %t14681 = mul i64 %t14680, %t14679 + %t14682 = load ptr, ptr %t14671 + %t14683 = call ptr @realloc(ptr %t14682, i64 %t14681) + store ptr %t14683, ptr %t14671 + store i32 %t14677, ptr %t14670 + br label %put2938 +put2938: + %t14684 = load ptr, ptr %t14671 + %t14685 = getelementptr inbounds ptr, ptr %t14684, i32 %t14672 + store ptr @.str8401, ptr %t14685 + %t14686 = add i32 %t14672, 1 + store i32 %t14686, ptr %t14669 + br label %ifend2932 +ifend2932: + %t14687 = load ptr, ptr %t1 + %t14688 = call i32 @lp_str_eq(ptr %t14687, ptr @.str8402) + %t14689 = icmp ne i32 %t14688, 0 + br i1 %t14689, label %then2939, label %ifend2941 +then2939: + store ptr @.str8403, ptr %t403 + %t14690 = load ptr, ptr %t410 + %t14691 = getelementptr inbounds %LSlice, ptr %t14690, i32 0, i32 1 + %t14692 = getelementptr inbounds %LSlice, ptr %t14690, i32 0, i32 2 + %t14693 = getelementptr inbounds %LSlice, ptr %t14690, i32 0, i32 0 + %t14694 = load i32, ptr %t14691 + %t14695 = load i32, ptr %t14692 + %t14696 = icmp sge i32 %t14694, %t14695 + br i1 %t14696, label %grow2942, label %put2943 +grow2942: + %t14697 = mul i32 %t14695, 2 + %t14698 = icmp eq i32 %t14695, 0 + %t14699 = select i1 %t14698, i32 8, i32 %t14697 + %t14700 = getelementptr ptr, ptr null, i32 1 + %t14701 = ptrtoint ptr %t14700 to i64 + %t14702 = zext i32 %t14699 to i64 + %t14703 = mul i64 %t14702, %t14701 + %t14704 = load ptr, ptr %t14693 + %t14705 = call ptr @realloc(ptr %t14704, i64 %t14703) + store ptr %t14705, ptr %t14693 + store i32 %t14699, ptr %t14692 + br label %put2943 +put2943: + %t14706 = load ptr, ptr %t14693 + %t14707 = getelementptr inbounds ptr, ptr %t14706, i32 %t14694 + store ptr @.str8404, ptr %t14707 + %t14708 = add i32 %t14694, 1 + store i32 %t14708, ptr %t14691 + %t14709 = load ptr, ptr %t410 + %t14710 = getelementptr inbounds %LSlice, ptr %t14709, i32 0, i32 1 + %t14711 = getelementptr inbounds %LSlice, ptr %t14709, i32 0, i32 2 + %t14712 = getelementptr inbounds %LSlice, ptr %t14709, i32 0, i32 0 + %t14713 = load i32, ptr %t14710 + %t14714 = load i32, ptr %t14711 + %t14715 = icmp sge i32 %t14713, %t14714 + br i1 %t14715, label %grow2944, label %put2945 +grow2944: + %t14716 = mul i32 %t14714, 2 + %t14717 = icmp eq i32 %t14714, 0 + %t14718 = select i1 %t14717, i32 8, i32 %t14716 + %t14719 = getelementptr ptr, ptr null, i32 1 + %t14720 = ptrtoint ptr %t14719 to i64 + %t14721 = zext i32 %t14718 to i64 + %t14722 = mul i64 %t14721, %t14720 + %t14723 = load ptr, ptr %t14712 + %t14724 = call ptr @realloc(ptr %t14723, i64 %t14722) + store ptr %t14724, ptr %t14712 + store i32 %t14718, ptr %t14711 + br label %put2945 +put2945: + %t14725 = load ptr, ptr %t14712 + %t14726 = getelementptr inbounds ptr, ptr %t14725, i32 %t14713 + store ptr @.str8405, ptr %t14726 + %t14727 = add i32 %t14713, 1 + store i32 %t14727, ptr %t14710 + %t14728 = load ptr, ptr %t410 + %t14729 = getelementptr inbounds %LSlice, ptr %t14728, i32 0, i32 1 + %t14730 = getelementptr inbounds %LSlice, ptr %t14728, i32 0, i32 2 + %t14731 = getelementptr inbounds %LSlice, ptr %t14728, i32 0, i32 0 + %t14732 = load i32, ptr %t14729 + %t14733 = load i32, ptr %t14730 + %t14734 = icmp sge i32 %t14732, %t14733 + br i1 %t14734, label %grow2946, label %put2947 +grow2946: + %t14735 = mul i32 %t14733, 2 + %t14736 = icmp eq i32 %t14733, 0 + %t14737 = select i1 %t14736, i32 8, i32 %t14735 + %t14738 = getelementptr ptr, ptr null, i32 1 + %t14739 = ptrtoint ptr %t14738 to i64 + %t14740 = zext i32 %t14737 to i64 + %t14741 = mul i64 %t14740, %t14739 + %t14742 = load ptr, ptr %t14731 + %t14743 = call ptr @realloc(ptr %t14742, i64 %t14741) + store ptr %t14743, ptr %t14731 + store i32 %t14737, ptr %t14730 + br label %put2947 +put2947: + %t14744 = load ptr, ptr %t14731 + %t14745 = getelementptr inbounds ptr, ptr %t14744, i32 %t14732 + store ptr @.str8406, ptr %t14745 + %t14746 = add i32 %t14732, 1 + store i32 %t14746, ptr %t14729 + br label %ifend2941 +ifend2941: + %t14747 = load ptr, ptr %t1 + %t14748 = call i32 @lp_str_eq(ptr %t14747, ptr @.str8407) + %t14749 = icmp ne i32 %t14748, 0 + br i1 %t14749, label %then2948, label %ifend2950 +then2948: + store ptr @.str8408, ptr %t403 + %t14750 = load ptr, ptr %t410 + %t14751 = getelementptr inbounds %LSlice, ptr %t14750, i32 0, i32 1 + %t14752 = getelementptr inbounds %LSlice, ptr %t14750, i32 0, i32 2 + %t14753 = getelementptr inbounds %LSlice, ptr %t14750, i32 0, i32 0 + %t14754 = load i32, ptr %t14751 + %t14755 = load i32, ptr %t14752 + %t14756 = icmp sge i32 %t14754, %t14755 + br i1 %t14756, label %grow2951, label %put2952 +grow2951: + %t14757 = mul i32 %t14755, 2 + %t14758 = icmp eq i32 %t14755, 0 + %t14759 = select i1 %t14758, i32 8, i32 %t14757 + %t14760 = getelementptr ptr, ptr null, i32 1 + %t14761 = ptrtoint ptr %t14760 to i64 + %t14762 = zext i32 %t14759 to i64 + %t14763 = mul i64 %t14762, %t14761 + %t14764 = load ptr, ptr %t14753 + %t14765 = call ptr @realloc(ptr %t14764, i64 %t14763) + store ptr %t14765, ptr %t14753 + store i32 %t14759, ptr %t14752 + br label %put2952 +put2952: + %t14766 = load ptr, ptr %t14753 + %t14767 = getelementptr inbounds ptr, ptr %t14766, i32 %t14754 + store ptr @.str8409, ptr %t14767 + %t14768 = add i32 %t14754, 1 + store i32 %t14768, ptr %t14751 + %t14769 = load ptr, ptr %t410 + %t14770 = getelementptr inbounds %LSlice, ptr %t14769, i32 0, i32 1 + %t14771 = getelementptr inbounds %LSlice, ptr %t14769, i32 0, i32 2 + %t14772 = getelementptr inbounds %LSlice, ptr %t14769, i32 0, i32 0 + %t14773 = load i32, ptr %t14770 + %t14774 = load i32, ptr %t14771 + %t14775 = icmp sge i32 %t14773, %t14774 + br i1 %t14775, label %grow2953, label %put2954 +grow2953: + %t14776 = mul i32 %t14774, 2 + %t14777 = icmp eq i32 %t14774, 0 + %t14778 = select i1 %t14777, i32 8, i32 %t14776 + %t14779 = getelementptr ptr, ptr null, i32 1 + %t14780 = ptrtoint ptr %t14779 to i64 + %t14781 = zext i32 %t14778 to i64 + %t14782 = mul i64 %t14781, %t14780 + %t14783 = load ptr, ptr %t14772 + %t14784 = call ptr @realloc(ptr %t14783, i64 %t14782) + store ptr %t14784, ptr %t14772 + store i32 %t14778, ptr %t14771 + br label %put2954 +put2954: + %t14785 = load ptr, ptr %t14772 + %t14786 = getelementptr inbounds ptr, ptr %t14785, i32 %t14773 + store ptr @.str8410, ptr %t14786 + %t14787 = add i32 %t14773, 1 + store i32 %t14787, ptr %t14770 + %t14788 = load ptr, ptr %t410 + %t14789 = getelementptr inbounds %LSlice, ptr %t14788, i32 0, i32 1 + %t14790 = getelementptr inbounds %LSlice, ptr %t14788, i32 0, i32 2 + %t14791 = getelementptr inbounds %LSlice, ptr %t14788, i32 0, i32 0 + %t14792 = load i32, ptr %t14789 + %t14793 = load i32, ptr %t14790 + %t14794 = icmp sge i32 %t14792, %t14793 + br i1 %t14794, label %grow2955, label %put2956 +grow2955: + %t14795 = mul i32 %t14793, 2 + %t14796 = icmp eq i32 %t14793, 0 + %t14797 = select i1 %t14796, i32 8, i32 %t14795 + %t14798 = getelementptr ptr, ptr null, i32 1 + %t14799 = ptrtoint ptr %t14798 to i64 + %t14800 = zext i32 %t14797 to i64 + %t14801 = mul i64 %t14800, %t14799 + %t14802 = load ptr, ptr %t14791 + %t14803 = call ptr @realloc(ptr %t14802, i64 %t14801) + store ptr %t14803, ptr %t14791 + store i32 %t14797, ptr %t14790 + br label %put2956 +put2956: + %t14804 = load ptr, ptr %t14791 + %t14805 = getelementptr inbounds ptr, ptr %t14804, i32 %t14792 + store ptr @.str8411, ptr %t14805 + %t14806 = add i32 %t14792, 1 + store i32 %t14806, ptr %t14789 + br label %ifend2950 +ifend2950: + %t14807 = load ptr, ptr %t1 + %t14808 = call i32 @lp_str_eq(ptr %t14807, ptr @.str8412) + %t14809 = icmp ne i32 %t14808, 0 + br i1 %t14809, label %then2957, label %ifend2959 +then2957: + store ptr @.str8413, ptr %t403 + %t14810 = load ptr, ptr %t410 + %t14811 = getelementptr inbounds %LSlice, ptr %t14810, i32 0, i32 1 + %t14812 = getelementptr inbounds %LSlice, ptr %t14810, i32 0, i32 2 + %t14813 = getelementptr inbounds %LSlice, ptr %t14810, i32 0, i32 0 + %t14814 = load i32, ptr %t14811 + %t14815 = load i32, ptr %t14812 + %t14816 = icmp sge i32 %t14814, %t14815 + br i1 %t14816, label %grow2960, label %put2961 +grow2960: + %t14817 = mul i32 %t14815, 2 + %t14818 = icmp eq i32 %t14815, 0 + %t14819 = select i1 %t14818, i32 8, i32 %t14817 + %t14820 = getelementptr ptr, ptr null, i32 1 + %t14821 = ptrtoint ptr %t14820 to i64 + %t14822 = zext i32 %t14819 to i64 + %t14823 = mul i64 %t14822, %t14821 + %t14824 = load ptr, ptr %t14813 + %t14825 = call ptr @realloc(ptr %t14824, i64 %t14823) + store ptr %t14825, ptr %t14813 + store i32 %t14819, ptr %t14812 + br label %put2961 +put2961: + %t14826 = load ptr, ptr %t14813 + %t14827 = getelementptr inbounds ptr, ptr %t14826, i32 %t14814 + store ptr @.str8414, ptr %t14827 + %t14828 = add i32 %t14814, 1 + store i32 %t14828, ptr %t14811 + %t14829 = load ptr, ptr %t410 + %t14830 = getelementptr inbounds %LSlice, ptr %t14829, i32 0, i32 1 + %t14831 = getelementptr inbounds %LSlice, ptr %t14829, i32 0, i32 2 + %t14832 = getelementptr inbounds %LSlice, ptr %t14829, i32 0, i32 0 + %t14833 = load i32, ptr %t14830 + %t14834 = load i32, ptr %t14831 + %t14835 = icmp sge i32 %t14833, %t14834 + br i1 %t14835, label %grow2962, label %put2963 +grow2962: + %t14836 = mul i32 %t14834, 2 + %t14837 = icmp eq i32 %t14834, 0 + %t14838 = select i1 %t14837, i32 8, i32 %t14836 + %t14839 = getelementptr ptr, ptr null, i32 1 + %t14840 = ptrtoint ptr %t14839 to i64 + %t14841 = zext i32 %t14838 to i64 + %t14842 = mul i64 %t14841, %t14840 + %t14843 = load ptr, ptr %t14832 + %t14844 = call ptr @realloc(ptr %t14843, i64 %t14842) + store ptr %t14844, ptr %t14832 + store i32 %t14838, ptr %t14831 + br label %put2963 +put2963: + %t14845 = load ptr, ptr %t14832 + %t14846 = getelementptr inbounds ptr, ptr %t14845, i32 %t14833 + store ptr @.str8415, ptr %t14846 + %t14847 = add i32 %t14833, 1 + store i32 %t14847, ptr %t14830 + br label %ifend2959 +ifend2959: + %t14848 = load ptr, ptr %t1 + %t14849 = call i32 @lp_str_eq(ptr %t14848, ptr @.str8416) + %t14850 = icmp ne i32 %t14849, 0 + br i1 %t14850, label %then2964, label %ifend2966 +then2964: + store ptr @.str8417, ptr %t403 + %t14851 = load ptr, ptr %t410 + %t14852 = getelementptr inbounds %LSlice, ptr %t14851, i32 0, i32 1 + %t14853 = getelementptr inbounds %LSlice, ptr %t14851, i32 0, i32 2 + %t14854 = getelementptr inbounds %LSlice, ptr %t14851, i32 0, i32 0 + %t14855 = load i32, ptr %t14852 + %t14856 = load i32, ptr %t14853 + %t14857 = icmp sge i32 %t14855, %t14856 + br i1 %t14857, label %grow2967, label %put2968 +grow2967: + %t14858 = mul i32 %t14856, 2 + %t14859 = icmp eq i32 %t14856, 0 + %t14860 = select i1 %t14859, i32 8, i32 %t14858 + %t14861 = getelementptr ptr, ptr null, i32 1 + %t14862 = ptrtoint ptr %t14861 to i64 + %t14863 = zext i32 %t14860 to i64 + %t14864 = mul i64 %t14863, %t14862 + %t14865 = load ptr, ptr %t14854 + %t14866 = call ptr @realloc(ptr %t14865, i64 %t14864) + store ptr %t14866, ptr %t14854 + store i32 %t14860, ptr %t14853 + br label %put2968 +put2968: + %t14867 = load ptr, ptr %t14854 + %t14868 = getelementptr inbounds ptr, ptr %t14867, i32 %t14855 + store ptr @.str8418, ptr %t14868 + %t14869 = add i32 %t14855, 1 + store i32 %t14869, ptr %t14852 + %t14870 = load ptr, ptr %t410 + %t14871 = getelementptr inbounds %LSlice, ptr %t14870, i32 0, i32 1 + %t14872 = getelementptr inbounds %LSlice, ptr %t14870, i32 0, i32 2 + %t14873 = getelementptr inbounds %LSlice, ptr %t14870, i32 0, i32 0 + %t14874 = load i32, ptr %t14871 + %t14875 = load i32, ptr %t14872 + %t14876 = icmp sge i32 %t14874, %t14875 + br i1 %t14876, label %grow2969, label %put2970 +grow2969: + %t14877 = mul i32 %t14875, 2 + %t14878 = icmp eq i32 %t14875, 0 + %t14879 = select i1 %t14878, i32 8, i32 %t14877 + %t14880 = getelementptr ptr, ptr null, i32 1 + %t14881 = ptrtoint ptr %t14880 to i64 + %t14882 = zext i32 %t14879 to i64 + %t14883 = mul i64 %t14882, %t14881 + %t14884 = load ptr, ptr %t14873 + %t14885 = call ptr @realloc(ptr %t14884, i64 %t14883) + store ptr %t14885, ptr %t14873 + store i32 %t14879, ptr %t14872 + br label %put2970 +put2970: + %t14886 = load ptr, ptr %t14873 + %t14887 = getelementptr inbounds ptr, ptr %t14886, i32 %t14874 + store ptr @.str8419, ptr %t14887 + %t14888 = add i32 %t14874, 1 + store i32 %t14888, ptr %t14871 + br label %ifend2966 +ifend2966: + %t14889 = load ptr, ptr %t1 + %t14890 = call i32 @lp_str_eq(ptr %t14889, ptr @.str8420) + %t14891 = icmp ne i32 %t14890, 0 + br i1 %t14891, label %then2971, label %ifend2973 +then2971: + store ptr @.str8421, ptr %t403 + %t14892 = load ptr, ptr %t410 + %t14893 = getelementptr inbounds %LSlice, ptr %t14892, i32 0, i32 1 + %t14894 = getelementptr inbounds %LSlice, ptr %t14892, i32 0, i32 2 + %t14895 = getelementptr inbounds %LSlice, ptr %t14892, i32 0, i32 0 + %t14896 = load i32, ptr %t14893 + %t14897 = load i32, ptr %t14894 + %t14898 = icmp sge i32 %t14896, %t14897 + br i1 %t14898, label %grow2974, label %put2975 +grow2974: + %t14899 = mul i32 %t14897, 2 + %t14900 = icmp eq i32 %t14897, 0 + %t14901 = select i1 %t14900, i32 8, i32 %t14899 + %t14902 = getelementptr ptr, ptr null, i32 1 + %t14903 = ptrtoint ptr %t14902 to i64 + %t14904 = zext i32 %t14901 to i64 + %t14905 = mul i64 %t14904, %t14903 + %t14906 = load ptr, ptr %t14895 + %t14907 = call ptr @realloc(ptr %t14906, i64 %t14905) + store ptr %t14907, ptr %t14895 + store i32 %t14901, ptr %t14894 + br label %put2975 +put2975: + %t14908 = load ptr, ptr %t14895 + %t14909 = getelementptr inbounds ptr, ptr %t14908, i32 %t14896 + store ptr @.str8422, ptr %t14909 + %t14910 = add i32 %t14896, 1 + store i32 %t14910, ptr %t14893 + %t14911 = load ptr, ptr %t410 + %t14912 = getelementptr inbounds %LSlice, ptr %t14911, i32 0, i32 1 + %t14913 = getelementptr inbounds %LSlice, ptr %t14911, i32 0, i32 2 + %t14914 = getelementptr inbounds %LSlice, ptr %t14911, i32 0, i32 0 + %t14915 = load i32, ptr %t14912 + %t14916 = load i32, ptr %t14913 + %t14917 = icmp sge i32 %t14915, %t14916 + br i1 %t14917, label %grow2976, label %put2977 +grow2976: + %t14918 = mul i32 %t14916, 2 + %t14919 = icmp eq i32 %t14916, 0 + %t14920 = select i1 %t14919, i32 8, i32 %t14918 + %t14921 = getelementptr ptr, ptr null, i32 1 + %t14922 = ptrtoint ptr %t14921 to i64 + %t14923 = zext i32 %t14920 to i64 + %t14924 = mul i64 %t14923, %t14922 + %t14925 = load ptr, ptr %t14914 + %t14926 = call ptr @realloc(ptr %t14925, i64 %t14924) + store ptr %t14926, ptr %t14914 + store i32 %t14920, ptr %t14913 + br label %put2977 +put2977: + %t14927 = load ptr, ptr %t14914 + %t14928 = getelementptr inbounds ptr, ptr %t14927, i32 %t14915 + store ptr @.str8423, ptr %t14928 + %t14929 = add i32 %t14915, 1 + store i32 %t14929, ptr %t14912 + br label %ifend2973 +ifend2973: + %t14930 = load ptr, ptr %t1 + %t14931 = call i32 @lp_str_eq(ptr %t14930, ptr @.str8424) + %t14932 = icmp ne i32 %t14931, 0 + br i1 %t14932, label %then2978, label %ifend2980 +then2978: + store ptr @.str8425, ptr %t403 + %t14933 = load ptr, ptr %t410 + %t14934 = getelementptr inbounds %LSlice, ptr %t14933, i32 0, i32 1 + %t14935 = getelementptr inbounds %LSlice, ptr %t14933, i32 0, i32 2 + %t14936 = getelementptr inbounds %LSlice, ptr %t14933, i32 0, i32 0 + %t14937 = load i32, ptr %t14934 + %t14938 = load i32, ptr %t14935 + %t14939 = icmp sge i32 %t14937, %t14938 + br i1 %t14939, label %grow2981, label %put2982 +grow2981: + %t14940 = mul i32 %t14938, 2 + %t14941 = icmp eq i32 %t14938, 0 + %t14942 = select i1 %t14941, i32 8, i32 %t14940 + %t14943 = getelementptr ptr, ptr null, i32 1 + %t14944 = ptrtoint ptr %t14943 to i64 + %t14945 = zext i32 %t14942 to i64 + %t14946 = mul i64 %t14945, %t14944 + %t14947 = load ptr, ptr %t14936 + %t14948 = call ptr @realloc(ptr %t14947, i64 %t14946) + store ptr %t14948, ptr %t14936 + store i32 %t14942, ptr %t14935 + br label %put2982 +put2982: + %t14949 = load ptr, ptr %t14936 + %t14950 = getelementptr inbounds ptr, ptr %t14949, i32 %t14937 + store ptr @.str8426, ptr %t14950 + %t14951 = add i32 %t14937, 1 + store i32 %t14951, ptr %t14934 + %t14952 = load ptr, ptr %t410 + %t14953 = getelementptr inbounds %LSlice, ptr %t14952, i32 0, i32 1 + %t14954 = getelementptr inbounds %LSlice, ptr %t14952, i32 0, i32 2 + %t14955 = getelementptr inbounds %LSlice, ptr %t14952, i32 0, i32 0 + %t14956 = load i32, ptr %t14953 + %t14957 = load i32, ptr %t14954 + %t14958 = icmp sge i32 %t14956, %t14957 + br i1 %t14958, label %grow2983, label %put2984 +grow2983: + %t14959 = mul i32 %t14957, 2 + %t14960 = icmp eq i32 %t14957, 0 + %t14961 = select i1 %t14960, i32 8, i32 %t14959 + %t14962 = getelementptr ptr, ptr null, i32 1 + %t14963 = ptrtoint ptr %t14962 to i64 + %t14964 = zext i32 %t14961 to i64 + %t14965 = mul i64 %t14964, %t14963 + %t14966 = load ptr, ptr %t14955 + %t14967 = call ptr @realloc(ptr %t14966, i64 %t14965) + store ptr %t14967, ptr %t14955 + store i32 %t14961, ptr %t14954 + br label %put2984 +put2984: + %t14968 = load ptr, ptr %t14955 + %t14969 = getelementptr inbounds ptr, ptr %t14968, i32 %t14956 + store ptr @.str8427, ptr %t14969 + %t14970 = add i32 %t14956, 1 + store i32 %t14970, ptr %t14953 + br label %ifend2980 +ifend2980: + %t14971 = load ptr, ptr %t1 + %t14972 = call i32 @lp_str_eq(ptr %t14971, ptr @.str8428) + %t14973 = icmp ne i32 %t14972, 0 + br i1 %t14973, label %then2985, label %ifend2987 +then2985: + store ptr @.str8429, ptr %t403 + %t14974 = load ptr, ptr %t410 + %t14975 = getelementptr inbounds %LSlice, ptr %t14974, i32 0, i32 1 + %t14976 = getelementptr inbounds %LSlice, ptr %t14974, i32 0, i32 2 + %t14977 = getelementptr inbounds %LSlice, ptr %t14974, i32 0, i32 0 + %t14978 = load i32, ptr %t14975 + %t14979 = load i32, ptr %t14976 + %t14980 = icmp sge i32 %t14978, %t14979 + br i1 %t14980, label %grow2988, label %put2989 +grow2988: + %t14981 = mul i32 %t14979, 2 + %t14982 = icmp eq i32 %t14979, 0 + %t14983 = select i1 %t14982, i32 8, i32 %t14981 + %t14984 = getelementptr ptr, ptr null, i32 1 + %t14985 = ptrtoint ptr %t14984 to i64 + %t14986 = zext i32 %t14983 to i64 + %t14987 = mul i64 %t14986, %t14985 + %t14988 = load ptr, ptr %t14977 + %t14989 = call ptr @realloc(ptr %t14988, i64 %t14987) + store ptr %t14989, ptr %t14977 + store i32 %t14983, ptr %t14976 + br label %put2989 +put2989: + %t14990 = load ptr, ptr %t14977 + %t14991 = getelementptr inbounds ptr, ptr %t14990, i32 %t14978 + store ptr @.str8430, ptr %t14991 + %t14992 = add i32 %t14978, 1 + store i32 %t14992, ptr %t14975 + %t14993 = load ptr, ptr %t410 + %t14994 = getelementptr inbounds %LSlice, ptr %t14993, i32 0, i32 1 + %t14995 = getelementptr inbounds %LSlice, ptr %t14993, i32 0, i32 2 + %t14996 = getelementptr inbounds %LSlice, ptr %t14993, i32 0, i32 0 + %t14997 = load i32, ptr %t14994 + %t14998 = load i32, ptr %t14995 + %t14999 = icmp sge i32 %t14997, %t14998 + br i1 %t14999, label %grow2990, label %put2991 +grow2990: + %t15000 = mul i32 %t14998, 2 + %t15001 = icmp eq i32 %t14998, 0 + %t15002 = select i1 %t15001, i32 8, i32 %t15000 + %t15003 = getelementptr ptr, ptr null, i32 1 + %t15004 = ptrtoint ptr %t15003 to i64 + %t15005 = zext i32 %t15002 to i64 + %t15006 = mul i64 %t15005, %t15004 + %t15007 = load ptr, ptr %t14996 + %t15008 = call ptr @realloc(ptr %t15007, i64 %t15006) + store ptr %t15008, ptr %t14996 + store i32 %t15002, ptr %t14995 + br label %put2991 +put2991: + %t15009 = load ptr, ptr %t14996 + %t15010 = getelementptr inbounds ptr, ptr %t15009, i32 %t14997 + store ptr @.str8431, ptr %t15010 + %t15011 = add i32 %t14997, 1 + store i32 %t15011, ptr %t14994 + br label %ifend2987 +ifend2987: + %t15012 = load ptr, ptr %t1 + %t15013 = call i32 @lp_str_eq(ptr %t15012, ptr @.str8432) + %t15014 = icmp ne i32 %t15013, 0 + br i1 %t15014, label %then2992, label %ifend2994 +then2992: + store ptr @.str8433, ptr %t403 + %t15015 = load ptr, ptr %t410 + %t15016 = getelementptr inbounds %LSlice, ptr %t15015, i32 0, i32 1 + %t15017 = getelementptr inbounds %LSlice, ptr %t15015, i32 0, i32 2 + %t15018 = getelementptr inbounds %LSlice, ptr %t15015, i32 0, i32 0 + %t15019 = load i32, ptr %t15016 + %t15020 = load i32, ptr %t15017 + %t15021 = icmp sge i32 %t15019, %t15020 + br i1 %t15021, label %grow2995, label %put2996 +grow2995: + %t15022 = mul i32 %t15020, 2 + %t15023 = icmp eq i32 %t15020, 0 + %t15024 = select i1 %t15023, i32 8, i32 %t15022 + %t15025 = getelementptr ptr, ptr null, i32 1 + %t15026 = ptrtoint ptr %t15025 to i64 + %t15027 = zext i32 %t15024 to i64 + %t15028 = mul i64 %t15027, %t15026 + %t15029 = load ptr, ptr %t15018 + %t15030 = call ptr @realloc(ptr %t15029, i64 %t15028) + store ptr %t15030, ptr %t15018 + store i32 %t15024, ptr %t15017 + br label %put2996 +put2996: + %t15031 = load ptr, ptr %t15018 + %t15032 = getelementptr inbounds ptr, ptr %t15031, i32 %t15019 + store ptr @.str8434, ptr %t15032 + %t15033 = add i32 %t15019, 1 + store i32 %t15033, ptr %t15016 + br label %ifend2994 +ifend2994: + %t15034 = load ptr, ptr %t1 + %t15035 = call i32 @lp_str_eq(ptr %t15034, ptr @.str8435) + %t15036 = icmp ne i32 %t15035, 0 + br i1 %t15036, label %then2997, label %ifend2999 +then2997: + store ptr @.str8436, ptr %t403 + %t15037 = load ptr, ptr %t410 + %t15038 = getelementptr inbounds %LSlice, ptr %t15037, i32 0, i32 1 + %t15039 = getelementptr inbounds %LSlice, ptr %t15037, i32 0, i32 2 + %t15040 = getelementptr inbounds %LSlice, ptr %t15037, i32 0, i32 0 + %t15041 = load i32, ptr %t15038 + %t15042 = load i32, ptr %t15039 + %t15043 = icmp sge i32 %t15041, %t15042 + br i1 %t15043, label %grow3000, label %put3001 +grow3000: + %t15044 = mul i32 %t15042, 2 + %t15045 = icmp eq i32 %t15042, 0 + %t15046 = select i1 %t15045, i32 8, i32 %t15044 + %t15047 = getelementptr ptr, ptr null, i32 1 + %t15048 = ptrtoint ptr %t15047 to i64 + %t15049 = zext i32 %t15046 to i64 + %t15050 = mul i64 %t15049, %t15048 + %t15051 = load ptr, ptr %t15040 + %t15052 = call ptr @realloc(ptr %t15051, i64 %t15050) + store ptr %t15052, ptr %t15040 + store i32 %t15046, ptr %t15039 + br label %put3001 +put3001: + %t15053 = load ptr, ptr %t15040 + %t15054 = getelementptr inbounds ptr, ptr %t15053, i32 %t15041 + store ptr @.str8437, ptr %t15054 + %t15055 = add i32 %t15041, 1 + store i32 %t15055, ptr %t15038 + br label %ifend2999 +ifend2999: + %t15056 = load ptr, ptr %t1 + %t15057 = call i32 @lp_str_eq(ptr %t15056, ptr @.str8438) + %t15058 = icmp ne i32 %t15057, 0 + br i1 %t15058, label %then3002, label %ifend3004 +then3002: + store ptr @.str8439, ptr %t403 + %t15059 = load ptr, ptr %t410 + %t15060 = getelementptr inbounds %LSlice, ptr %t15059, i32 0, i32 1 + %t15061 = getelementptr inbounds %LSlice, ptr %t15059, i32 0, i32 2 + %t15062 = getelementptr inbounds %LSlice, ptr %t15059, i32 0, i32 0 + %t15063 = load i32, ptr %t15060 + %t15064 = load i32, ptr %t15061 + %t15065 = icmp sge i32 %t15063, %t15064 + br i1 %t15065, label %grow3005, label %put3006 +grow3005: + %t15066 = mul i32 %t15064, 2 + %t15067 = icmp eq i32 %t15064, 0 + %t15068 = select i1 %t15067, i32 8, i32 %t15066 + %t15069 = getelementptr ptr, ptr null, i32 1 + %t15070 = ptrtoint ptr %t15069 to i64 + %t15071 = zext i32 %t15068 to i64 + %t15072 = mul i64 %t15071, %t15070 + %t15073 = load ptr, ptr %t15062 + %t15074 = call ptr @realloc(ptr %t15073, i64 %t15072) + store ptr %t15074, ptr %t15062 + store i32 %t15068, ptr %t15061 + br label %put3006 +put3006: + %t15075 = load ptr, ptr %t15062 + %t15076 = getelementptr inbounds ptr, ptr %t15075, i32 %t15063 + store ptr @.str8440, ptr %t15076 + %t15077 = add i32 %t15063, 1 + store i32 %t15077, ptr %t15060 + %t15078 = load ptr, ptr %t410 + %t15079 = getelementptr inbounds %LSlice, ptr %t15078, i32 0, i32 1 + %t15080 = getelementptr inbounds %LSlice, ptr %t15078, i32 0, i32 2 + %t15081 = getelementptr inbounds %LSlice, ptr %t15078, i32 0, i32 0 + %t15082 = load i32, ptr %t15079 + %t15083 = load i32, ptr %t15080 + %t15084 = icmp sge i32 %t15082, %t15083 + br i1 %t15084, label %grow3007, label %put3008 +grow3007: + %t15085 = mul i32 %t15083, 2 + %t15086 = icmp eq i32 %t15083, 0 + %t15087 = select i1 %t15086, i32 8, i32 %t15085 + %t15088 = getelementptr ptr, ptr null, i32 1 + %t15089 = ptrtoint ptr %t15088 to i64 + %t15090 = zext i32 %t15087 to i64 + %t15091 = mul i64 %t15090, %t15089 + %t15092 = load ptr, ptr %t15081 + %t15093 = call ptr @realloc(ptr %t15092, i64 %t15091) + store ptr %t15093, ptr %t15081 + store i32 %t15087, ptr %t15080 + br label %put3008 +put3008: + %t15094 = load ptr, ptr %t15081 + %t15095 = getelementptr inbounds ptr, ptr %t15094, i32 %t15082 + store ptr @.str8441, ptr %t15095 + %t15096 = add i32 %t15082, 1 + store i32 %t15096, ptr %t15079 + br label %ifend3004 +ifend3004: + br label %ifend2735 +ifend2735: + %t15098 = load ptr, ptr %t0 + %t15099 = call i32 @lp_str_eq(ptr %t15098, ptr @.str8442) + %t15100 = icmp ne i32 %t15099, 0 + %t15101 = zext i1 %t15100 to i32 + store i32 %t15101, ptr %t15097 + br i1 %t15100, label %sc3009, label %scend3010 +sc3009: + %t15102 = load ptr, ptr %t403 + %t15103 = icmp eq ptr %t15102, null + %t15104 = zext i1 %t15103 to i32 + %t15105 = icmp ne i32 %t15104, 0 + %t15106 = zext i1 %t15105 to i32 + store i32 %t15106, ptr %t15097 + br label %scend3010 +scend3010: + %t15107 = load i32, ptr %t15097 + %t15108 = icmp ne i32 %t15107, 0 + br i1 %t15108, label %then3011, label %ifend3013 +then3011: + %t15109 = load ptr, ptr %t1 + %t15110 = call ptr @lp_str_concat(ptr @.str8443, ptr %t15109) + store ptr %t15110, ptr %t403 + %t15111 = load ptr, ptr %t403 + %t15112 = call ptr @fn_find_fn(ptr %t15111) + store ptr %t15112, ptr %t15113 + %t15114 = load ptr, ptr %t15113 + %t15115 = icmp eq ptr %t15114, null + %t15116 = zext i1 %t15115 to i32 + %t15117 = icmp ne i32 %t15116, 0 + br i1 %t15117, label %then3014, label %ifend3016 +then3014: + %t15118 = load ptr, ptr %t403 + %t15119 = call ptr @fn_find_extern(ptr %t15118) + store ptr %t15119, ptr %t15113 + br label %ifend3016 +ifend3016: + %t15120 = load ptr, ptr %t15113 + %t15121 = icmp ne ptr %t15120, null + %t15122 = zext i1 %t15121 to i32 + %t15123 = icmp ne i32 %t15122, 0 + br i1 %t15123, label %then3017, label %ifend3019 +then3017: + %t15124 = load ptr, ptr %t15113 + %t15125 = call ptr @fn_param_labels(ptr %t15124) + store ptr %t15125, ptr %t15126 + store i32 0, ptr %t15127 + br label %wcond3020 +wcond3020: + %t15128 = load i32, ptr %t15127 + %t15129 = load ptr, ptr %t15126 + %t15130 = getelementptr inbounds %LSlice, ptr %t15129, i32 0, i32 1 + %t15131 = load i32, ptr %t15130 + %t15132 = icmp slt i32 %t15128, %t15131 + %t15133 = zext i1 %t15132 to i32 + %t15134 = icmp ne i32 %t15133, 0 + br i1 %t15134, label %wbody3021, label %wend3022 +wbody3021: + %t15135 = load ptr, ptr %t410 + %t15136 = load ptr, ptr %t15126 + %t15137 = getelementptr inbounds %LSlice, ptr %t15136, i32 0, i32 0 + %t15138 = load ptr, ptr %t15137 + %t15139 = load i32, ptr %t15127 + %t15140 = getelementptr inbounds ptr, ptr %t15138, i32 %t15139 + %t15141 = load ptr, ptr %t15140 + %t15142 = getelementptr inbounds %LSlice, ptr %t15135, i32 0, i32 1 + %t15143 = getelementptr inbounds %LSlice, ptr %t15135, i32 0, i32 2 + %t15144 = getelementptr inbounds %LSlice, ptr %t15135, i32 0, i32 0 + %t15145 = load i32, ptr %t15142 + %t15146 = load i32, ptr %t15143 + %t15147 = icmp sge i32 %t15145, %t15146 + br i1 %t15147, label %grow3023, label %put3024 +grow3023: + %t15148 = mul i32 %t15146, 2 + %t15149 = icmp eq i32 %t15146, 0 + %t15150 = select i1 %t15149, i32 8, i32 %t15148 + %t15151 = getelementptr ptr, ptr null, i32 1 + %t15152 = ptrtoint ptr %t15151 to i64 + %t15153 = zext i32 %t15150 to i64 + %t15154 = mul i64 %t15153, %t15152 + %t15155 = load ptr, ptr %t15144 + %t15156 = call ptr @realloc(ptr %t15155, i64 %t15154) + store ptr %t15156, ptr %t15144 + store i32 %t15150, ptr %t15143 + br label %put3024 +put3024: + %t15157 = load ptr, ptr %t15144 + %t15158 = getelementptr inbounds ptr, ptr %t15157, i32 %t15145 + store ptr %t15141, ptr %t15158 + %t15159 = add i32 %t15145, 1 + store i32 %t15159, ptr %t15142 + %t15160 = load i32, ptr %t15127 + %t15161 = add i32 %t15160, 1 + store i32 %t15161, ptr %t15127 + br label %wcond3020 +wend3022: + br label %ifend3019 +ifend3019: + br label %ifend3013 +ifend3013: + %t15163 = load ptr, ptr %t403 + %t15164 = icmp eq ptr %t15163, null + %t15165 = zext i1 %t15164 to i32 + %t15166 = icmp ne i32 %t15165, 0 + %t15167 = zext i1 %t15166 to i32 + store i32 %t15167, ptr %t15162 + br i1 %t15166, label %sc3025, label %scend3026 +sc3025: + %t15168 = load ptr, ptr %t0 + %t15169 = call i32 @fn_is_registered_namespace(ptr %t15168) + %t15170 = icmp ne i32 %t15169, 0 + %t15171 = zext i1 %t15170 to i32 + store i32 %t15171, ptr %t15162 + br label %scend3026 +scend3026: + %t15172 = load i32, ptr %t15162 + %t15173 = icmp ne i32 %t15172, 0 + br i1 %t15173, label %then3027, label %ifend3029 +then3027: + %t15174 = load ptr, ptr %t0 + %t15175 = call ptr @fn_ns_lower(ptr %t15174) + %t15176 = call ptr @lp_str_concat(ptr %t15175, ptr @.str8444) + %t15177 = load ptr, ptr %t1 + %t15178 = call ptr @lp_str_concat(ptr %t15176, ptr %t15177) + store ptr %t15178, ptr %t403 + %t15180 = load ptr, ptr %t0 + %t15181 = call i32 @fn_is_ns_block(ptr %t15180) + %t15182 = icmp ne i32 %t15181, 0 + %t15183 = zext i1 %t15182 to i32 + store i32 %t15183, ptr %t15179 + br i1 %t15182, label %sc3030, label %scend3031 +sc3030: + %t15184 = load ptr, ptr %t403 + %t15185 = call i32 @fn_ns_export_has(ptr %t15184) + %t15186 = icmp eq i32 %t15185, 0 + %t15187 = zext i1 %t15186 to i32 + %t15188 = icmp ne i32 %t15187, 0 + %t15189 = zext i1 %t15188 to i32 + store i32 %t15189, ptr %t15179 + br label %scend3031 +scend3031: + %t15190 = load i32, ptr %t15179 + %t15191 = icmp ne i32 %t15190, 0 + br i1 %t15191, label %then3032, label %ifend3034 +then3032: + %t15192 = load ptr, ptr %t0 + %t15193 = call ptr @lp_str_concat(ptr %t15192, ptr @.str8445) + %t15194 = load ptr, ptr %t1 + %t15195 = call ptr @lp_str_concat(ptr %t15193, ptr %t15194) + %t15196 = call ptr @lp_str_concat(ptr %t15195, ptr @.str8446) + %t15197 = load ptr, ptr %t0 + %t15198 = call ptr @lp_str_concat(ptr %t15196, ptr %t15197) + call void @fn_perr(ptr %t15198) + br label %ifend3034 +ifend3034: + %t15199 = load ptr, ptr %t403 + %t15200 = call ptr @fn_find_fn(ptr %t15199) + store ptr %t15200, ptr %t15201 + %t15202 = load ptr, ptr %t15201 + %t15203 = icmp ne ptr %t15202, null + %t15204 = zext i1 %t15203 to i32 + %t15205 = icmp ne i32 %t15204, 0 + br i1 %t15205, label %then3035, label %ifend3037 +then3035: + %t15206 = load ptr, ptr %t15201 + %t15207 = call ptr @fn_param_labels(ptr %t15206) + store ptr %t15207, ptr %t15208 + store i32 0, ptr %t15209 + br label %wcond3038 +wcond3038: + %t15210 = load i32, ptr %t15209 + %t15211 = load ptr, ptr %t15208 + %t15212 = getelementptr inbounds %LSlice, ptr %t15211, i32 0, i32 1 + %t15213 = load i32, ptr %t15212 + %t15214 = icmp slt i32 %t15210, %t15213 + %t15215 = zext i1 %t15214 to i32 + %t15216 = icmp ne i32 %t15215, 0 + br i1 %t15216, label %wbody3039, label %wend3040 +wbody3039: + %t15217 = load ptr, ptr %t410 + %t15218 = load ptr, ptr %t15208 + %t15219 = getelementptr inbounds %LSlice, ptr %t15218, i32 0, i32 0 + %t15220 = load ptr, ptr %t15219 + %t15221 = load i32, ptr %t15209 + %t15222 = getelementptr inbounds ptr, ptr %t15220, i32 %t15221 + %t15223 = load ptr, ptr %t15222 + %t15224 = getelementptr inbounds %LSlice, ptr %t15217, i32 0, i32 1 + %t15225 = getelementptr inbounds %LSlice, ptr %t15217, i32 0, i32 2 + %t15226 = getelementptr inbounds %LSlice, ptr %t15217, i32 0, i32 0 + %t15227 = load i32, ptr %t15224 + %t15228 = load i32, ptr %t15225 + %t15229 = icmp sge i32 %t15227, %t15228 + br i1 %t15229, label %grow3041, label %put3042 +grow3041: + %t15230 = mul i32 %t15228, 2 + %t15231 = icmp eq i32 %t15228, 0 + %t15232 = select i1 %t15231, i32 8, i32 %t15230 + %t15233 = getelementptr ptr, ptr null, i32 1 + %t15234 = ptrtoint ptr %t15233 to i64 + %t15235 = zext i32 %t15232 to i64 + %t15236 = mul i64 %t15235, %t15234 + %t15237 = load ptr, ptr %t15226 + %t15238 = call ptr @realloc(ptr %t15237, i64 %t15236) + store ptr %t15238, ptr %t15226 + store i32 %t15232, ptr %t15225 + br label %put3042 +put3042: + %t15239 = load ptr, ptr %t15226 + %t15240 = getelementptr inbounds ptr, ptr %t15239, i32 %t15227 + store ptr %t15223, ptr %t15240 + %t15241 = add i32 %t15227, 1 + store i32 %t15241, ptr %t15224 + %t15242 = load i32, ptr %t15209 + %t15243 = add i32 %t15242, 1 + store i32 %t15243, ptr %t15209 + br label %wcond3038 +wend3040: + br label %ifend3037 +ifend3037: + br label %ifend3029 +ifend3029: + %t15244 = load ptr, ptr %t403 + %t15245 = icmp eq ptr %t15244, null + %t15246 = zext i1 %t15245 to i32 + %t15247 = icmp ne i32 %t15246, 0 + br i1 %t15247, label %then3043, label %ifend3045 +then3043: + %t15248 = load ptr, ptr %t0 + %t15249 = call ptr @lp_str_concat(ptr @.str8447, ptr %t15248) + %t15250 = call ptr @lp_str_concat(ptr %t15249, ptr @.str8448) + %t15251 = load ptr, ptr %t1 + %t15252 = call ptr @lp_str_concat(ptr %t15250, ptr %t15251) + call void @fn_perr(ptr %t15252) + br label %ifend3045 +ifend3045: + %t15253 = load ptr, ptr %t2 + %t15254 = load ptr, ptr %t410 + call void @fn_reorder_named(ptr %t15253, ptr %t15254) + %t15255 = call ptr @fn_node(i32 33) + store ptr %t15255, ptr %t15256 + %t15257 = load ptr, ptr %t15256 + %t15258 = getelementptr inbounds %Cmp_Node, ptr %t15257, i32 0, i32 1 + %t15259 = load ptr, ptr %t403 + store ptr %t15259, ptr %t15258 + %t15260 = load ptr, ptr %t2 + %t15261 = getelementptr inbounds %Cmp_Node, ptr %t15260, i32 0, i32 4 + %t15262 = load ptr, ptr %t15256 + store ptr %t15262, ptr %t15261 + %t15263 = load ptr, ptr %t2 + %t15264 = call ptr @fn_emit_call(ptr %t15263) + store ptr %t15264, ptr %retval + br label %ret +ret: + %t15265 = load ptr, ptr %retval + ret ptr %t15265 +} + +define ptr @fn_emit_variant_new(ptr %arg_en, i32 %arg_ord, ptr %arg_args) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t1 = alloca i32 + %t2 = alloca ptr + %t11 = alloca ptr + %t17 = alloca i32 + %t45 = alloca ptr + %t49 = alloca i32 + %t65 = alloca ptr + %t73 = alloca ptr + %t77 = alloca ptr + %t79 = alloca ptr + store ptr %arg_en, ptr %t0 + store i32 %arg_ord, ptr %t1 + store ptr %arg_args, ptr %t2 + %t3 = load ptr, ptr %t0 + %t4 = getelementptr inbounds %Cmp_Node, ptr %t3, i32 0, i32 7 + %t5 = load ptr, ptr %t4 + %t6 = getelementptr inbounds %LSlice, ptr %t5, i32 0, i32 0 + %t7 = load ptr, ptr %t6 + %t8 = load i32, ptr %t1 + %t9 = getelementptr inbounds ptr, ptr %t7, i32 %t8 + %t10 = load ptr, ptr %t9 + store ptr %t10, ptr %t11 + %t12 = load ptr, ptr %t11 + %t13 = getelementptr inbounds %Cmp_Node, ptr %t12, i32 0, i32 7 + %t14 = load ptr, ptr %t13 + %t15 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 1 + %t16 = load i32, ptr %t15 + store i32 %t16, ptr %t17 + %t18 = load ptr, ptr %t2 + %t19 = getelementptr inbounds %LSlice, ptr %t18, i32 0, i32 1 + %t20 = load i32, ptr %t19 + %t21 = load i32, ptr %t17 + %t22 = icmp ne i32 %t20, %t21 + %t23 = zext i1 %t22 to i32 + %t24 = icmp ne i32 %t23, 0 + br i1 %t24, label %then0, label %ifend2 +then0: + %t25 = load ptr, ptr %t11 + %t26 = getelementptr inbounds %Cmp_Node, ptr %t25, i32 0, i32 1 + %t27 = load ptr, ptr %t26 + %t28 = call ptr @lp_str_concat(ptr @.str8449, ptr %t27) + %t29 = call ptr @lp_str_concat(ptr %t28, ptr @.str8450) + %t30 = load i32, ptr %t17 + %t31 = call ptr @fn_itoa(i32 %t30) + %t32 = call ptr @lp_str_concat(ptr %t29, ptr %t31) + %t33 = call ptr @lp_str_concat(ptr %t32, ptr @.str8451) + %t34 = load ptr, ptr %t2 + %t35 = getelementptr inbounds %LSlice, ptr %t34, i32 0, i32 1 + %t36 = load i32, ptr %t35 + %t37 = call ptr @fn_itoa(i32 %t36) + %t38 = call ptr @lp_str_concat(ptr %t33, ptr %t37) + call void @fn_perr(ptr %t38) + br label %ifend2 +ifend2: + %t39 = load ptr, ptr %t0 + %t40 = call i32 @fn_enum_box_size(ptr %t39) + %t41 = call ptr @fn_itoa(i32 %t40) + %t42 = call ptr @lp_str_concat(ptr @.str8452, ptr %t41) + %t43 = call ptr @lp_str_concat(ptr %t42, ptr @.str8453) + %t44 = call ptr @fn_emit_bind(ptr %t43) + store ptr %t44, ptr %t45 + call void @fn_emit(ptr @.str8454) + %t46 = load i32, ptr %t1 + %t47 = call ptr @fn_itoa(i32 %t46) + call void @fn_emit(ptr %t47) + call void @fn_emit(ptr @.str8455) + %t48 = load ptr, ptr %t45 + call void @fn_emit(ptr %t48) + call void @fn_emit(ptr @.str8456) + store i32 0, ptr %t49 + br label %wcond3 +wcond3: + %t50 = load i32, ptr %t49 + %t51 = load i32, ptr %t17 + %t52 = icmp slt i32 %t50, %t51 + %t53 = zext i1 %t52 to i32 + %t54 = icmp ne i32 %t53, 0 + br i1 %t54, label %wbody4, label %wend5 +wbody4: + %t55 = load ptr, ptr %t11 + %t56 = getelementptr inbounds %Cmp_Node, ptr %t55, i32 0, i32 7 + %t57 = load ptr, ptr %t56 + %t58 = getelementptr inbounds %LSlice, ptr %t57, i32 0, i32 0 + %t59 = load ptr, ptr %t58 + %t60 = load i32, ptr %t49 + %t61 = getelementptr inbounds ptr, ptr %t59, i32 %t60 + %t62 = load ptr, ptr %t61 + %t63 = getelementptr inbounds %Cmp_Node, ptr %t62, i32 0, i32 3 + %t64 = load ptr, ptr %t63 + store ptr %t64, ptr %t65 + %t66 = load ptr, ptr %t2 + %t67 = getelementptr inbounds %LSlice, ptr %t66, i32 0, i32 0 + %t68 = load ptr, ptr %t67 + %t69 = load i32, ptr %t49 + %t70 = getelementptr inbounds ptr, ptr %t68, i32 %t69 + %t71 = load ptr, ptr %t70 + %t72 = call ptr @fn_emit_expr(ptr %t71) + store ptr %t72, ptr %t73 + %t74 = load ptr, ptr %t73 + %t75 = load ptr, ptr %t65 + %t76 = call ptr @fn_coerce_code(ptr %t74, ptr %t75) + store ptr %t76, ptr %t77 + %t78 = call ptr @fn_nreg() + store ptr %t78, ptr %t79 + call void @fn_emit(ptr @.str8457) + %t80 = load ptr, ptr %t79 + call void @fn_emit(ptr %t80) + call void @fn_emit(ptr @.str8458) + %t81 = load ptr, ptr %t45 + call void @fn_emit(ptr %t81) + call void @fn_emit(ptr @.str8459) + %t82 = load i32, ptr %t49 + %t83 = add i32 %t82, 1 + %t84 = mul i32 8, %t83 + %t85 = call ptr @fn_itoa(i32 %t84) + call void @fn_emit(ptr %t85) + call void @fn_emit(ptr @.str8460) + call void @fn_emit(ptr @.str8461) + %t86 = load ptr, ptr %t65 + %t87 = call ptr @fn_llty(ptr %t86) + call void @fn_emit(ptr %t87) + call void @fn_emit(ptr @.str8462) + %t88 = load ptr, ptr %t77 + call void @fn_emit(ptr %t88) + call void @fn_emit(ptr @.str8463) + %t89 = load ptr, ptr %t79 + call void @fn_emit(ptr %t89) + call void @fn_emit(ptr @.str8464) + %t90 = load i32, ptr %t49 + %t91 = add i32 %t90, 1 + store i32 %t91, ptr %t49 + br label %wcond3 +wend5: + %t92 = load ptr, ptr %t45 + %t93 = load ptr, ptr %t0 + %t94 = getelementptr inbounds %Cmp_Node, ptr %t93, i32 0, i32 1 + %t95 = load ptr, ptr %t94 + %t96 = call ptr @fn_val(ptr %t92, ptr %t95) + store ptr %t96, ptr %retval + br label %ret +ret: + %t97 = load ptr, ptr %retval + ret ptr %t97 +} + +define ptr @fn_emit_call(ptr %arg_e) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t38 = alloca ptr + %t91 = alloca ptr + %t110 = alloca ptr + %t119 = alloca ptr + %t142 = alloca ptr + %t151 = alloca ptr + %t175 = alloca ptr + %t184 = alloca ptr + %t193 = alloca ptr + %t215 = alloca ptr + %t234 = alloca ptr + %t253 = alloca ptr + %t262 = alloca ptr + %t281 = alloca ptr + %t293 = alloca ptr + %t298 = alloca ptr + %t332 = alloca ptr + %t348 = alloca ptr + %t353 = alloca i32 + %t373 = alloca ptr + %t382 = alloca ptr + %t391 = alloca ptr + %t402 = alloca i32 + %t422 = alloca ptr + %t431 = alloca ptr + %t465 = alloca ptr + %t504 = alloca ptr + %t544 = alloca ptr + %t551 = alloca ptr + %t568 = alloca ptr + %t575 = alloca ptr + %t580 = alloca ptr + %t597 = alloca ptr + %t616 = alloca ptr + %t635 = alloca ptr + %t642 = alloca ptr + %t652 = alloca ptr + %t667 = alloca ptr + %t676 = alloca ptr + %t687 = alloca ptr + %t697 = alloca ptr + %t718 = alloca ptr + %t727 = alloca ptr + %t736 = alloca ptr + %t747 = alloca ptr + %t751 = alloca ptr + %t756 = alloca ptr + %t766 = alloca ptr + %t775 = alloca ptr + %t785 = alloca ptr + %t806 = alloca ptr + %t816 = alloca ptr + %t819 = alloca ptr + %t843 = alloca ptr + %t850 = alloca ptr + %t852 = alloca ptr + %t854 = alloca ptr + %t874 = alloca ptr + %t884 = alloca ptr + %t887 = alloca ptr + %t902 = alloca i32 + %t922 = alloca ptr + %t924 = alloca ptr + %t929 = alloca ptr + %t937 = alloca ptr + %t949 = alloca ptr + %t955 = alloca i32 + %t975 = alloca ptr + %t977 = alloca ptr + %t982 = alloca ptr + %t990 = alloca ptr + %t998 = alloca ptr + %t1009 = alloca i32 + %t1029 = alloca ptr + %t1036 = alloca ptr + %t1040 = alloca ptr + %t1045 = alloca ptr + %t1051 = alloca i32 + %t1071 = alloca ptr + %t1078 = alloca ptr + %t1082 = alloca ptr + %t1087 = alloca ptr + %t1093 = alloca i32 + %t1113 = alloca ptr + %t1115 = alloca ptr + %t1120 = alloca ptr + %t1128 = alloca ptr + %t1138 = alloca i32 + %t1151 = alloca ptr + %t1156 = alloca ptr + %t1164 = alloca ptr + %t1170 = alloca i32 + %t1190 = alloca ptr + %t1197 = alloca ptr + %t1201 = alloca ptr + %t1206 = alloca ptr + %t1212 = alloca i32 + %t1232 = alloca ptr + %t1239 = alloca ptr + %t1243 = alloca ptr + %t1248 = alloca ptr + %t1254 = alloca i32 + %t1274 = alloca ptr + %t1283 = alloca ptr + %t1290 = alloca ptr + %t1294 = alloca ptr + %t1301 = alloca ptr + %t1305 = alloca ptr + %t1310 = alloca ptr + %t1333 = alloca ptr + %t1352 = alloca ptr + %t1361 = alloca ptr + %t1385 = alloca ptr + %t1394 = alloca ptr + %t1403 = alloca ptr + %t1420 = alloca ptr + %t1437 = alloca ptr + %t1446 = alloca ptr + %t1455 = alloca ptr + %t1464 = alloca ptr + %t1471 = alloca ptr + %t1494 = alloca ptr + %t1503 = alloca ptr + %t1532 = alloca ptr + %t1551 = alloca ptr + %t1570 = alloca ptr + %t1579 = alloca ptr + %t1603 = alloca ptr + %t1612 = alloca ptr + %t1636 = alloca ptr + %t1645 = alloca ptr + %t1664 = alloca ptr + %t1673 = alloca ptr + %t1692 = alloca ptr + %t1716 = alloca ptr + %t1735 = alloca ptr + %t1754 = alloca ptr + %t1763 = alloca ptr + %t1787 = alloca ptr + %t1796 = alloca ptr + %t1829 = alloca ptr + %t1843 = alloca ptr + %t1850 = alloca ptr + %t1851 = alloca i32 + %t1870 = alloca ptr + %t1921 = alloca ptr + %t1922 = alloca ptr + %t1969 = alloca ptr + %t1982 = alloca ptr + %t1984 = alloca ptr + %t1991 = alloca ptr + %t2006 = alloca ptr + %t2013 = alloca ptr + %t2020 = alloca ptr + %t2021 = alloca i32 + %t2040 = alloca ptr + %t2044 = alloca ptr + %t2106 = alloca ptr + %t2107 = alloca ptr + store ptr %arg_e, ptr %t0 + %t1 = load ptr, ptr %t0 + %t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 4 + %t3 = load ptr, ptr %t2 + %t4 = getelementptr inbounds %Cmp_Node, ptr %t3, i32 0, i32 0 + %t5 = load i32, ptr %t4 + %t6 = icmp eq i32 %t5, 35 + %t7 = zext i1 %t6 to i32 + %t8 = icmp ne i32 %t7, 0 + br i1 %t8, label %then0, label %ifend2 +then0: + %t9 = load ptr, ptr %t0 + %t10 = getelementptr inbounds %Cmp_Node, ptr %t9, i32 0, i32 4 + %t11 = load ptr, ptr %t10 + %t12 = getelementptr inbounds %Cmp_Node, ptr %t11, i32 0, i32 4 + %t13 = load ptr, ptr %t12 + %t14 = getelementptr inbounds %Cmp_Node, ptr %t13, i32 0, i32 0 + %t15 = load i32, ptr %t14 + %t16 = icmp eq i32 %t15, 33 + %t17 = zext i1 %t16 to i32 + %t18 = icmp ne i32 %t17, 0 + br i1 %t18, label %then3, label %ifend5 +then3: + %t19 = load ptr, ptr %t0 + %t20 = getelementptr inbounds %Cmp_Node, ptr %t19, i32 0, i32 4 + %t21 = load ptr, ptr %t20 + %t22 = getelementptr inbounds %Cmp_Node, ptr %t21, i32 0, i32 4 + %t23 = load ptr, ptr %t22 + %t24 = getelementptr inbounds %Cmp_Node, ptr %t23, i32 0, i32 1 + %t25 = load ptr, ptr %t24 + %t26 = load ptr, ptr %t0 + %t27 = getelementptr inbounds %Cmp_Node, ptr %t26, i32 0, i32 4 + %t28 = load ptr, ptr %t27 + %t29 = getelementptr inbounds %Cmp_Node, ptr %t28, i32 0, i32 1 + %t30 = load ptr, ptr %t29 + %t31 = load ptr, ptr %t0 + %t32 = call ptr @fn_emit_ns_call(ptr %t25, ptr %t30, ptr %t31) + store ptr %t32, ptr %retval + br label %ret +ifend5: + call void @fn_perr(ptr @.str8465) + br label %ifend2 +ifend2: + %t33 = load ptr, ptr %t0 + %t34 = getelementptr inbounds %Cmp_Node, ptr %t33, i32 0, i32 4 + %t35 = load ptr, ptr %t34 + %t36 = getelementptr inbounds %Cmp_Node, ptr %t35, i32 0, i32 1 + %t37 = load ptr, ptr %t36 + store ptr %t37, ptr %t38 + %t39 = load ptr, ptr %t38 + %t40 = call i32 @lp_str_eq(ptr %t39, ptr @.str8466) + %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 @.str8467, ptr @.str8468) + store ptr %t46, ptr %retval + br label %ret +ifend11: + %t47 = load ptr, ptr @g_self_stk + %t48 = getelementptr inbounds %LSlice, ptr %t47, i32 0, i32 0 + %t49 = load ptr, ptr %t48 + %t50 = load i32, ptr @g_nself + %t51 = sub i32 %t50, 1 + %t52 = getelementptr inbounds ptr, ptr %t49, i32 %t51 + %t53 = load ptr, ptr %t52 + %t54 = call ptr @lp_str_concat(ptr @.str8469, ptr %t53) + %t55 = call ptr @fn_emit_bind(ptr %t54) + %t56 = call ptr @fn_val(ptr %t55, ptr @.str8470) + store ptr %t56, ptr %retval + br label %ret +ifend8: + %t57 = load ptr, ptr %t38 + %t58 = call i32 @lp_str_eq(ptr %t57, ptr @.str8471) + %t59 = icmp ne i32 %t58, 0 + br i1 %t59, label %then12, label %ifend14 +then12: + %t60 = call ptr @fn_emit_bind(ptr @.str8472) + %t61 = call ptr @fn_val(ptr %t60, ptr @.str8473) + store ptr %t61, ptr %retval + br label %ret +ifend14: + %t62 = load ptr, ptr %t38 + %t63 = call i32 @lp_str_eq(ptr %t62, ptr @.str8474) + %t64 = icmp ne i32 %t63, 0 + br i1 %t64, label %then15, label %ifend17 +then15: + call void @fn_emit(ptr @.str8475) + %t65 = call ptr @fn_val(ptr @.str8476, ptr @.str8477) + store ptr %t65, ptr %retval + br label %ret +ifend17: + %t66 = load ptr, ptr %t38 + %t67 = call i32 @lp_str_eq(ptr %t66, ptr @.str8478) + %t68 = icmp ne i32 %t67, 0 + br i1 %t68, label %then18, label %ifend20 +then18: + call void @fn_emit(ptr @.str8479) + %t69 = call ptr @fn_val(ptr @.str8480, ptr @.str8481) + store ptr %t69, ptr %retval + br label %ret +ifend20: + %t70 = load ptr, ptr %t38 + %t71 = call i32 @lp_str_eq(ptr %t70, ptr @.str8482) + %t72 = icmp ne i32 %t71, 0 + br i1 %t72, label %then21, label %ifend23 +then21: + %t73 = call ptr @fn_emit_bind(ptr @.str8483) + %t74 = call ptr @fn_val(ptr %t73, ptr @.str8484) + store ptr %t74, ptr %retval + br label %ret +ifend23: + %t75 = load ptr, ptr %t38 + %t76 = call i32 @lp_str_eq(ptr %t75, ptr @.str8485) + %t77 = icmp ne i32 %t76, 0 + br i1 %t77, label %then24, label %ifend26 +then24: + %t78 = call ptr @fn_emit_bind(ptr @.str8486) + %t79 = call ptr @fn_val(ptr %t78, ptr @.str8487) + store ptr %t79, ptr %retval + br label %ret +ifend26: + %t80 = load ptr, ptr %t38 + %t81 = call i32 @lp_str_eq(ptr %t80, ptr @.str8488) + %t82 = icmp ne i32 %t81, 0 + br i1 %t82, label %then27, label %ifend29 +then27: + %t83 = load ptr, ptr %t0 + %t84 = getelementptr inbounds %Cmp_Node, ptr %t83, i32 0, i32 7 + %t85 = load ptr, ptr %t84 + %t86 = getelementptr inbounds %LSlice, ptr %t85, i32 0, i32 0 + %t87 = load ptr, ptr %t86 + %t88 = getelementptr inbounds ptr, ptr %t87, i32 0 + %t89 = load ptr, ptr %t88 + %t90 = call ptr @fn_emit_expr(ptr %t89) + store ptr %t90, ptr %t91 + %t92 = load ptr, ptr %t91 + %t93 = getelementptr inbounds %Cmp_Val, ptr %t92, i32 0, i32 0 + %t94 = load ptr, ptr %t93 + %t95 = call ptr @lp_str_concat(ptr @.str8489, ptr %t94) + %t96 = call ptr @lp_str_concat(ptr %t95, ptr @.str8490) + %t97 = call ptr @fn_emit_bind(ptr %t96) + %t98 = call ptr @fn_val(ptr %t97, ptr @.str8491) + store ptr %t98, ptr %retval + br label %ret +ifend29: + %t99 = load ptr, ptr %t38 + %t100 = call i32 @lp_str_eq(ptr %t99, ptr @.str8492) + %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 @.str8493) + %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 @.str8494) + %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 @.str8495) + %t126 = call ptr @fn_val(ptr @.str8496, ptr @.str8497) + store ptr %t126, ptr %retval + br label %ret +ifend32: + %t127 = load ptr, ptr %t38 + %t128 = call i32 @lp_str_eq(ptr %t127, ptr @.str8498) + %t129 = icmp ne i32 %t128, 0 + br i1 %t129, label %then33, label %ifend35 +then33: + call void @fn_emit(ptr @.str8499) + %t130 = call ptr @fn_val(ptr @.str8500, ptr @.str8501) + store ptr %t130, ptr %retval + br label %ret +ifend35: + %t131 = load ptr, ptr %t38 + %t132 = call i32 @lp_str_eq(ptr %t131, ptr @.str8502) + %t133 = icmp ne i32 %t132, 0 + br i1 %t133, label %then36, label %ifend38 +then36: + %t134 = load ptr, ptr %t0 + %t135 = getelementptr inbounds %Cmp_Node, ptr %t134, i32 0, i32 7 + %t136 = load ptr, ptr %t135 + %t137 = getelementptr inbounds %LSlice, ptr %t136, i32 0, i32 0 + %t138 = load ptr, ptr %t137 + %t139 = getelementptr inbounds ptr, ptr %t138, i32 0 + %t140 = load ptr, ptr %t139 + %t141 = call ptr @fn_emit_expr(ptr %t140) + store ptr %t141, ptr %t142 + %t143 = load ptr, ptr %t0 + %t144 = getelementptr inbounds %Cmp_Node, ptr %t143, i32 0, i32 7 + %t145 = load ptr, ptr %t144 + %t146 = getelementptr inbounds %LSlice, ptr %t145, i32 0, i32 0 + %t147 = load ptr, ptr %t146 + %t148 = getelementptr inbounds ptr, ptr %t147, i32 1 + %t149 = load ptr, ptr %t148 + %t150 = call ptr @fn_emit_expr(ptr %t149) + store ptr %t150, ptr %t151 + %t152 = load ptr, ptr %t142 + %t153 = getelementptr inbounds %Cmp_Val, ptr %t152, i32 0, i32 0 + %t154 = load ptr, ptr %t153 + %t155 = call ptr @lp_str_concat(ptr @.str8503, ptr %t154) + %t156 = call ptr @lp_str_concat(ptr %t155, ptr @.str8504) + %t157 = load ptr, ptr %t151 + %t158 = getelementptr inbounds %Cmp_Val, ptr %t157, i32 0, i32 0 + %t159 = load ptr, ptr %t158 + %t160 = call ptr @lp_str_concat(ptr %t156, ptr %t159) + %t161 = call ptr @lp_str_concat(ptr %t160, ptr @.str8505) + %t162 = call ptr @fn_emit_bind(ptr %t161) + %t163 = call ptr @fn_val(ptr %t162, ptr @.str8506) + store ptr %t163, ptr %retval + br label %ret +ifend38: + %t164 = load ptr, ptr %t38 + %t165 = call i32 @lp_str_eq(ptr %t164, ptr @.str8507) + %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 @.str8508) + %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 @.str8509) + %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 @.str8510) + %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 @.str8511) + %t203 = call ptr @fn_val(ptr @.str8512, ptr @.str8513) + store ptr %t203, ptr %retval + br label %ret +ifend41: + %t204 = load ptr, ptr %t38 + %t205 = call i32 @lp_str_eq(ptr %t204, ptr @.str8514) + %t206 = icmp ne i32 %t205, 0 + br i1 %t206, label %then42, label %ifend44 +then42: + %t207 = load ptr, ptr %t0 + %t208 = getelementptr inbounds %Cmp_Node, ptr %t207, i32 0, i32 7 + %t209 = load ptr, ptr %t208 + %t210 = getelementptr inbounds %LSlice, ptr %t209, i32 0, i32 0 + %t211 = load ptr, ptr %t210 + %t212 = getelementptr inbounds ptr, ptr %t211, i32 0 + %t213 = load ptr, ptr %t212 + %t214 = call ptr @fn_emit_expr(ptr %t213) + store ptr %t214, ptr %t215 + %t216 = load ptr, ptr %t215 + %t217 = getelementptr inbounds %Cmp_Val, ptr %t216, i32 0, i32 0 + %t218 = load ptr, ptr %t217 + %t219 = call ptr @lp_str_concat(ptr @.str8515, ptr %t218) + %t220 = call ptr @lp_str_concat(ptr %t219, ptr @.str8516) + %t221 = call ptr @fn_emit_bind(ptr %t220) + %t222 = call ptr @fn_val(ptr %t221, ptr @.str8517) + store ptr %t222, ptr %retval + br label %ret +ifend44: + %t223 = load ptr, ptr %t38 + %t224 = call i32 @lp_str_eq(ptr %t223, ptr @.str8518) + %t225 = icmp ne i32 %t224, 0 + br i1 %t225, label %then45, label %ifend47 +then45: + %t226 = load ptr, ptr %t0 + %t227 = getelementptr inbounds %Cmp_Node, ptr %t226, i32 0, i32 7 + %t228 = load ptr, ptr %t227 + %t229 = getelementptr inbounds %LSlice, ptr %t228, i32 0, i32 0 + %t230 = load ptr, ptr %t229 + %t231 = getelementptr inbounds ptr, ptr %t230, i32 0 + %t232 = load ptr, ptr %t231 + %t233 = call ptr @fn_emit_expr(ptr %t232) + store ptr %t233, ptr %t234 + %t235 = load ptr, ptr %t234 + %t236 = getelementptr inbounds %Cmp_Val, ptr %t235, i32 0, i32 0 + %t237 = load ptr, ptr %t236 + %t238 = call ptr @lp_str_concat(ptr @.str8519, ptr %t237) + %t239 = call ptr @lp_str_concat(ptr %t238, ptr @.str8520) + %t240 = call ptr @fn_emit_bind(ptr %t239) + %t241 = call ptr @fn_val(ptr %t240, ptr @.str8521) + store ptr %t241, ptr %retval + br label %ret +ifend47: + %t242 = load ptr, ptr %t38 + %t243 = call i32 @lp_str_eq(ptr %t242, ptr @.str8522) + %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 @.str8523) + %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 @.str8524) + %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 @.str8525) + %t269 = call ptr @fn_val(ptr @.str8526, ptr @.str8527) + store ptr %t269, ptr %retval + br label %ret +ifend50: + %t270 = load ptr, ptr %t38 + %t271 = call i32 @lp_str_eq(ptr %t270, ptr @.str8528) + %t272 = icmp ne i32 %t271, 0 + br i1 %t272, label %then51, label %ifend53 +then51: + %t273 = load ptr, ptr %t0 + %t274 = getelementptr inbounds %Cmp_Node, ptr %t273, i32 0, i32 7 + %t275 = load ptr, ptr %t274 + %t276 = getelementptr inbounds %LSlice, ptr %t275, i32 0, i32 0 + %t277 = load ptr, ptr %t276 + %t278 = getelementptr inbounds ptr, ptr %t277, i32 0 + %t279 = load ptr, ptr %t278 + %t280 = call ptr @fn_emit_expr(ptr %t279) + store ptr %t280, ptr %t281 + %t282 = load ptr, ptr %t281 + %t283 = getelementptr inbounds %Cmp_Val, ptr %t282, i32 0, i32 0 + %t284 = load ptr, ptr %t283 + %t285 = call ptr @lp_str_concat(ptr @.str8529, ptr %t284) + %t286 = call ptr @lp_str_concat(ptr %t285, ptr @.str8530) + %t287 = call ptr @fn_emit_bind(ptr %t286) + %t288 = call ptr @fn_val(ptr %t287, ptr @.str8531) + store ptr %t288, ptr %retval + br label %ret +ifend53: + %t289 = load ptr, ptr %t38 + %t290 = call i32 @lp_str_eq(ptr %t289, ptr @.str8532) + %t291 = icmp ne i32 %t290, 0 + br i1 %t291, label %then54, label %ifend56 +then54: + %t292 = call ptr @fn_emit_bind(ptr @.str8533) + store ptr %t292, ptr %t293 + %t294 = load ptr, ptr %t293 + %t295 = call ptr @lp_str_concat(ptr @.str8534, ptr %t294) + %t296 = call ptr @lp_str_concat(ptr %t295, ptr @.str8535) + %t297 = call ptr @fn_emit_bind(ptr %t296) + store ptr %t297, ptr %t298 + %t299 = load ptr, ptr %t298 + %t300 = call ptr @lp_str_concat(ptr @.str8536, ptr %t299) + %t301 = call ptr @lp_str_concat(ptr %t300, ptr @.str8537) + %t302 = call ptr @fn_emit_bind(ptr %t301) + %t303 = call ptr @fn_val(ptr %t302, ptr @.str8538) + store ptr %t303, ptr %retval + br label %ret +ifend56: + %t304 = load ptr, ptr %t38 + %t305 = call i32 @lp_str_eq(ptr %t304, ptr @.str8539) + %t306 = icmp ne i32 %t305, 0 + br i1 %t306, label %then57, label %ifend59 +then57: + %t307 = call ptr @fn_emit_bind(ptr @.str8540) + %t308 = call ptr @fn_val(ptr %t307, ptr @.str8541) + store ptr %t308, ptr %retval + br label %ret +ifend59: + %t309 = load ptr, ptr %t38 + %t310 = call i32 @lp_str_eq(ptr %t309, ptr @.str8542) + %t311 = icmp ne i32 %t310, 0 + br i1 %t311, label %then60, label %ifend62 +then60: + call void @fn_emit(ptr @.str8543) + %t312 = call ptr @fn_val(ptr @.str8544, ptr @.str8545) + store ptr %t312, ptr %retval + br label %ret +ifend62: + %t313 = load ptr, ptr %t38 + %t314 = call i32 @lp_str_eq(ptr %t313, ptr @.str8546) + %t315 = icmp ne i32 %t314, 0 + br i1 %t315, label %then63, label %ifend65 +then63: + call void @fn_emit(ptr @.str8547) + %t316 = call ptr @fn_val(ptr @.str8548, ptr @.str8549) + store ptr %t316, ptr %retval + br label %ret +ifend65: + %t317 = load ptr, ptr %t38 + %t318 = call i32 @lp_str_eq(ptr %t317, ptr @.str8550) + %t319 = icmp ne i32 %t318, 0 + br i1 %t319, label %then66, label %ifend68 +then66: + call void @fn_emit(ptr @.str8551) + %t320 = call ptr @fn_val(ptr @.str8552, ptr @.str8553) + store ptr %t320, ptr %retval + br label %ret +ifend68: + %t321 = load ptr, ptr %t38 + %t322 = call i32 @lp_str_eq(ptr %t321, ptr @.str8554) + %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 @.str8555) + %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 @.str8556) + %t336 = call ptr @fn_val(ptr @.str8557, ptr @.str8558) + store ptr %t336, ptr %retval + br label %ret +ifend71: + %t337 = load ptr, ptr %t38 + %t338 = call i32 @lp_str_eq(ptr %t337, ptr @.str8559) + %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 @.str8560) + %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 @.str8561) + %t352 = call ptr @fn_val(ptr @.str8562, ptr @.str8563) + store ptr %t352, ptr %retval + br label %ret +ifend74: + %t354 = load ptr, ptr %t38 + %t355 = call i32 @lp_str_eq(ptr %t354, ptr @.str8564) + %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 @.str8565) + %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 @.str8566) + %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 @.str8567) + %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 @.str8568) + %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 @.str8569) + %t401 = call ptr @fn_val(ptr @.str8570, ptr @.str8571) + store ptr %t401, ptr %retval + br label %ret +ifend79: + %t403 = load ptr, ptr %t38 + %t404 = call i32 @lp_str_eq(ptr %t403, ptr @.str8572) + %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 @.str8573) + %t408 = icmp eq ptr %t407, null + %t409 = zext i1 %t408 to i32 + %t410 = icmp ne i32 %t409, 0 + %t411 = zext i1 %t410 to i32 + store i32 %t411, ptr %t402 + br label %scend81 +scend81: + %t412 = load i32, ptr %t402 + %t413 = icmp ne i32 %t412, 0 + br i1 %t413, label %then82, label %ifend84 +then82: + store i32 1, ptr @g_g_uses_loopback + %t414 = load ptr, ptr %t0 + %t415 = getelementptr inbounds %Cmp_Node, ptr %t414, i32 0, i32 7 + %t416 = load ptr, ptr %t415 + %t417 = getelementptr inbounds %LSlice, ptr %t416, i32 0, i32 0 + %t418 = load ptr, ptr %t417 + %t419 = getelementptr inbounds ptr, ptr %t418, i32 0 + %t420 = load ptr, ptr %t419 + %t421 = call ptr @fn_emit_expr(ptr %t420) + store ptr %t421, ptr %t422 + %t423 = load ptr, ptr %t0 + %t424 = getelementptr inbounds %Cmp_Node, ptr %t423, i32 0, i32 7 + %t425 = load ptr, ptr %t424 + %t426 = getelementptr inbounds %LSlice, ptr %t425, i32 0, i32 0 + %t427 = load ptr, ptr %t426 + %t428 = getelementptr inbounds ptr, ptr %t427, i32 1 + %t429 = load ptr, ptr %t428 + %t430 = call ptr @fn_emit_expr(ptr %t429) + store ptr %t430, ptr %t431 + %t432 = load ptr, ptr %t422 + %t433 = getelementptr inbounds %Cmp_Val, ptr %t432, i32 0, i32 0 + %t434 = load ptr, ptr %t433 + %t435 = call ptr @lp_str_concat(ptr @.str8574, ptr %t434) + %t436 = call ptr @lp_str_concat(ptr %t435, ptr @.str8575) + %t437 = load ptr, ptr %t431 + %t438 = getelementptr inbounds %Cmp_Val, ptr %t437, i32 0, i32 0 + %t439 = load ptr, ptr %t438 + %t440 = call ptr @lp_str_concat(ptr %t436, ptr %t439) + %t441 = call ptr @lp_str_concat(ptr %t440, ptr @.str8576) + %t442 = call ptr @fn_emit_bind(ptr %t441) + %t443 = call ptr @fn_val(ptr %t442, ptr @.str8577) + store ptr %t443, ptr %retval + br label %ret +ifend84: + %t444 = load ptr, ptr %t38 + %t445 = call i32 @lp_str_eq(ptr %t444, ptr @.str8578) + %t446 = icmp ne i32 %t445, 0 + br i1 %t446, label %then85, label %ifend87 +then85: + %t447 = load ptr, ptr %t0 + %t448 = call ptr @fn_emit_len(ptr %t447) + store ptr %t448, ptr %retval + br label %ret +ifend87: + %t449 = load ptr, ptr %t38 + %t450 = call i32 @lp_str_eq(ptr %t449, ptr @.str8579) + %t451 = icmp ne i32 %t450, 0 + br i1 %t451, label %then88, label %ifend90 +then88: + %t452 = load ptr, ptr %t0 + %t453 = call ptr @fn_emit_push(ptr %t452) + store ptr %t453, ptr %retval + br label %ret +ifend90: + %t454 = load ptr, ptr %t38 + %t455 = call i32 @lp_str_eq(ptr %t454, ptr @.str8580) + %t456 = icmp ne i32 %t455, 0 + br i1 %t456, label %then91, label %ifend93 +then91: + %t457 = load ptr, ptr %t0 + %t458 = getelementptr inbounds %Cmp_Node, ptr %t457, i32 0, i32 7 + %t459 = load ptr, ptr %t458 + %t460 = getelementptr inbounds %LSlice, ptr %t459, i32 0, i32 0 + %t461 = load ptr, ptr %t460 + %t462 = getelementptr inbounds ptr, ptr %t461, i32 0 + %t463 = load ptr, ptr %t462 + %t464 = call ptr @fn_emit_expr(ptr %t463) + store ptr %t464, ptr %t465 + %t466 = load ptr, ptr %t465 + %t467 = getelementptr inbounds %Cmp_Val, ptr %t466, i32 0, i32 1 + %t468 = load ptr, ptr %t467 + %t469 = call ptr @fn_llty(ptr %t468) + %t470 = call i32 @lp_str_eq(ptr %t469, ptr @.str8581) + %t471 = icmp ne i32 %t470, 0 + br i1 %t471, label %then94, label %ifend96 +then94: + %t472 = load ptr, ptr %t465 + store ptr %t472, ptr %retval + br label %ret +ifend96: + %t473 = load ptr, ptr %t465 + %t474 = getelementptr inbounds %Cmp_Val, ptr %t473, i32 0, i32 1 + %t475 = load ptr, ptr %t474 + %t476 = call ptr @fn_llty(ptr %t475) + %t477 = call i32 @lp_str_eq(ptr %t476, ptr @.str8582) + %t478 = icmp ne i32 %t477, 0 + br i1 %t478, label %then97, label %ifend99 +then97: + store i32 1, ptr @g_g_uses_longstr + %t479 = load ptr, ptr %t465 + %t480 = getelementptr inbounds %Cmp_Val, ptr %t479, i32 0, i32 0 + %t481 = load ptr, ptr %t480 + %t482 = call ptr @lp_str_concat(ptr @.str8583, ptr %t481) + %t483 = call ptr @lp_str_concat(ptr %t482, ptr @.str8584) + %t484 = call ptr @fn_emit_bind(ptr %t483) + %t485 = call ptr @fn_val(ptr %t484, ptr @.str8585) + store ptr %t485, ptr %retval + br label %ret +ifend99: + store i32 1, ptr @g_g_uses_intstr + %t486 = load ptr, ptr %t465 + %t487 = getelementptr inbounds %Cmp_Val, ptr %t486, i32 0, i32 0 + %t488 = load ptr, ptr %t487 + %t489 = call ptr @lp_str_concat(ptr @.str8586, ptr %t488) + %t490 = call ptr @lp_str_concat(ptr %t489, ptr @.str8587) + %t491 = call ptr @fn_emit_bind(ptr %t490) + %t492 = call ptr @fn_val(ptr %t491, ptr @.str8588) + store ptr %t492, ptr %retval + br label %ret +ifend93: + %t493 = load ptr, ptr %t38 + %t494 = call i32 @lp_str_eq(ptr %t493, ptr @.str8589) + %t495 = icmp ne i32 %t494, 0 + br i1 %t495, label %then100, label %ifend102 +then100: + %t496 = load ptr, ptr %t0 + %t497 = getelementptr inbounds %Cmp_Node, ptr %t496, i32 0, i32 7 + %t498 = load ptr, ptr %t497 + %t499 = getelementptr inbounds %LSlice, ptr %t498, i32 0, i32 0 + %t500 = load ptr, ptr %t499 + %t501 = getelementptr inbounds ptr, ptr %t500, i32 0 + %t502 = load ptr, ptr %t501 + %t503 = call ptr @fn_emit_expr(ptr %t502) + store ptr %t503, ptr %t504 + %t505 = load ptr, ptr %t504 + %t506 = getelementptr inbounds %Cmp_Val, ptr %t505, i32 0, i32 1 + %t507 = load ptr, ptr %t506 + %t508 = call ptr @fn_llty(ptr %t507) + %t509 = call i32 @lp_str_eq(ptr %t508, ptr @.str8590) + %t510 = icmp ne i32 %t509, 0 + br i1 %t510, label %then103, label %else104 +then103: + %t511 = load ptr, ptr %t504 + %t512 = getelementptr inbounds %Cmp_Val, ptr %t511, i32 0, i32 0 + %t513 = load ptr, ptr %t512 + %t514 = call ptr @lp_str_concat(ptr %t513, ptr @.str8592) + %t515 = call ptr @lp_str_concat(ptr @.str8591, ptr %t514) + call void @fn_emit(ptr %t515) + br label %ifend105 +else104: + %t516 = load ptr, ptr %t504 + %t517 = getelementptr inbounds %Cmp_Val, ptr %t516, i32 0, i32 1 + %t518 = load ptr, ptr %t517 + %t519 = call ptr @fn_llty(ptr %t518) + %t520 = call i32 @lp_str_eq(ptr %t519, ptr @.str8593) + %t521 = icmp ne i32 %t520, 0 + br i1 %t521, label %then106, label %else107 +then106: + %t522 = load ptr, ptr %t504 + %t523 = getelementptr inbounds %Cmp_Val, ptr %t522, i32 0, i32 0 + %t524 = load ptr, ptr %t523 + %t525 = call ptr @lp_str_concat(ptr %t524, ptr @.str8595) + %t526 = call ptr @lp_str_concat(ptr @.str8594, ptr %t525) + call void @fn_emit(ptr %t526) + br label %ifend108 +else107: + %t527 = load ptr, ptr %t504 + %t528 = getelementptr inbounds %Cmp_Val, ptr %t527, i32 0, i32 0 + %t529 = load ptr, ptr %t528 + %t530 = call ptr @lp_str_concat(ptr %t529, ptr @.str8597) + %t531 = call ptr @lp_str_concat(ptr @.str8596, ptr %t530) + call void @fn_emit(ptr %t531) + br label %ifend108 +ifend108: + br label %ifend105 +ifend105: + %t532 = call ptr @fn_val(ptr @.str8598, ptr @.str8599) + store ptr %t532, ptr %retval + br label %ret +ifend102: + %t533 = load ptr, ptr %t38 + %t534 = call i32 @lp_str_eq(ptr %t533, ptr @.str8600) + %t535 = icmp ne i32 %t534, 0 + br i1 %t535, label %then109, label %ifend111 +then109: + %t536 = load ptr, ptr %t0 + %t537 = getelementptr inbounds %Cmp_Node, ptr %t536, i32 0, i32 7 + %t538 = load ptr, ptr %t537 + %t539 = getelementptr inbounds %LSlice, ptr %t538, i32 0, i32 0 + %t540 = load ptr, ptr %t539 + %t541 = getelementptr inbounds ptr, ptr %t540, i32 0 + %t542 = load ptr, ptr %t541 + %t543 = call ptr @fn_emit_expr(ptr %t542) + store ptr %t543, ptr %t544 + %t545 = load ptr, ptr %t544 + %t546 = getelementptr inbounds %Cmp_Val, ptr %t545, i32 0, i32 0 + %t547 = load ptr, ptr %t546 + %t548 = call ptr @lp_str_concat(ptr @.str8601, ptr %t547) + %t549 = call ptr @lp_str_concat(ptr %t548, ptr @.str8602) + %t550 = call ptr @fn_emit_bind(ptr %t549) + store ptr %t550, ptr %t551 + %t552 = load ptr, ptr %t551 + %t553 = call ptr @lp_str_concat(ptr @.str8603, ptr %t552) + %t554 = call ptr @lp_str_concat(ptr %t553, ptr @.str8604) + %t555 = call ptr @fn_emit_bind(ptr %t554) + %t556 = call ptr @fn_val(ptr %t555, ptr @.str8605) + store ptr %t556, ptr %retval + br label %ret +ifend111: + %t557 = load ptr, ptr %t38 + %t558 = call i32 @lp_str_eq(ptr %t557, ptr @.str8606) + %t559 = icmp ne i32 %t558, 0 + br i1 %t559, label %then112, label %ifend114 +then112: + %t560 = load ptr, ptr %t0 + %t561 = getelementptr inbounds %Cmp_Node, ptr %t560, i32 0, i32 7 + %t562 = load ptr, ptr %t561 + %t563 = getelementptr inbounds %LSlice, ptr %t562, i32 0, i32 0 + %t564 = load ptr, ptr %t563 + %t565 = getelementptr inbounds ptr, ptr %t564, i32 0 + %t566 = load ptr, ptr %t565 + %t567 = call ptr @fn_emit_expr(ptr %t566) + store ptr %t567, ptr %t568 + %t569 = load ptr, ptr %t568 + %t570 = getelementptr inbounds %Cmp_Val, ptr %t569, i32 0, i32 0 + %t571 = load ptr, ptr %t570 + %t572 = call ptr @lp_str_concat(ptr @.str8607, ptr %t571) + %t573 = call ptr @lp_str_concat(ptr %t572, ptr @.str8608) + %t574 = call ptr @fn_emit_bind(ptr %t573) + store ptr %t574, ptr %t575 + %t576 = load ptr, ptr %t575 + %t577 = call ptr @lp_str_concat(ptr @.str8609, ptr %t576) + %t578 = call ptr @lp_str_concat(ptr %t577, ptr @.str8610) + %t579 = call ptr @fn_emit_bind(ptr %t578) + store ptr %t579, ptr %t580 + %t581 = load ptr, ptr %t580 + %t582 = call ptr @lp_str_concat(ptr @.str8611, ptr %t581) + %t583 = call ptr @lp_str_concat(ptr %t582, ptr @.str8612) + %t584 = call ptr @fn_emit_bind(ptr %t583) + %t585 = call ptr @fn_val(ptr %t584, ptr @.str8613) + store ptr %t585, ptr %retval + br label %ret +ifend114: + %t586 = load ptr, ptr %t38 + %t587 = call i32 @lp_str_eq(ptr %t586, ptr @.str8614) + %t588 = icmp ne i32 %t587, 0 + br i1 %t588, label %then115, label %ifend117 +then115: + %t589 = load ptr, ptr %t0 + %t590 = getelementptr inbounds %Cmp_Node, ptr %t589, i32 0, i32 7 + %t591 = load ptr, ptr %t590 + %t592 = getelementptr inbounds %LSlice, ptr %t591, i32 0, i32 0 + %t593 = load ptr, ptr %t592 + %t594 = getelementptr inbounds ptr, ptr %t593, i32 0 + %t595 = load ptr, ptr %t594 + %t596 = call ptr @fn_emit_expr(ptr %t595) + store ptr %t596, ptr %t597 + %t598 = load ptr, ptr %t597 + %t599 = getelementptr inbounds %Cmp_Val, ptr %t598, i32 0, i32 0 + %t600 = load ptr, ptr %t599 + %t601 = call ptr @lp_str_concat(ptr @.str8615, ptr %t600) + %t602 = call ptr @lp_str_concat(ptr %t601, ptr @.str8616) + %t603 = call ptr @fn_emit_bind(ptr %t602) + %t604 = call ptr @fn_val(ptr %t603, ptr @.str8617) + store ptr %t604, ptr %retval + br label %ret +ifend117: + %t605 = load ptr, ptr %t38 + %t606 = call i32 @lp_str_eq(ptr %t605, ptr @.str8618) + %t607 = icmp ne i32 %t606, 0 + br i1 %t607, label %then118, label %ifend120 +then118: + %t608 = load ptr, ptr %t0 + %t609 = getelementptr inbounds %Cmp_Node, ptr %t608, i32 0, i32 7 + %t610 = load ptr, ptr %t609 + %t611 = getelementptr inbounds %LSlice, ptr %t610, i32 0, i32 0 + %t612 = load ptr, ptr %t611 + %t613 = getelementptr inbounds ptr, ptr %t612, i32 0 + %t614 = load ptr, ptr %t613 + %t615 = call ptr @fn_emit_expr(ptr %t614) + store ptr %t615, ptr %t616 + %t617 = load ptr, ptr %t616 + %t618 = getelementptr inbounds %Cmp_Val, ptr %t617, i32 0, i32 0 + %t619 = load ptr, ptr %t618 + %t620 = call ptr @lp_str_concat(ptr @.str8619, ptr %t619) + %t621 = call ptr @lp_str_concat(ptr %t620, ptr @.str8620) + %t622 = call ptr @fn_emit_bind(ptr %t621) + %t623 = call ptr @fn_val(ptr %t622, ptr @.str8621) + store ptr %t623, ptr %retval + br label %ret +ifend120: + %t624 = load ptr, ptr %t38 + %t625 = call i32 @lp_str_eq(ptr %t624, ptr @.str8622) + %t626 = icmp ne i32 %t625, 0 + br i1 %t626, label %then121, label %ifend123 +then121: + store i32 1, ptr @g_g_uses_expect + %t627 = load ptr, ptr %t0 + %t628 = getelementptr inbounds %Cmp_Node, ptr %t627, i32 0, i32 7 + %t629 = load ptr, ptr %t628 + %t630 = getelementptr inbounds %LSlice, ptr %t629, i32 0, i32 0 + %t631 = load ptr, ptr %t630 + %t632 = getelementptr inbounds ptr, ptr %t631, i32 0 + %t633 = load ptr, ptr %t632 + %t634 = call ptr @fn_emit_expr(ptr %t633) + store ptr %t634, ptr %t635 + %t636 = load ptr, ptr %t635 + %t637 = getelementptr inbounds %Cmp_Val, ptr %t636, i32 0, i32 0 + %t638 = load ptr, ptr %t637 + %t639 = call ptr @lp_str_concat(ptr @.str8623, ptr %t638) + %t640 = call ptr @lp_str_concat(ptr %t639, ptr @.str8624) + %t641 = call ptr @fn_emit_bind(ptr %t640) + store ptr %t641, ptr %t642 + %t643 = load ptr, ptr @g_g_src_name + %t644 = call ptr @lp_str_concat(ptr %t643, ptr @.str8625) + %t645 = load ptr, ptr %t0 + %t646 = getelementptr inbounds %Cmp_Node, ptr %t645, i32 0, i32 8 + %t647 = load i32, ptr %t646 + %t648 = call ptr @fn_itoa(i32 %t647) + %t649 = call ptr @lp_str_concat(ptr %t644, ptr %t648) + %t650 = call ptr @lp_str_concat(ptr %t649, ptr @.str8626) + %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 @.str8627, ptr @.str8628) + %t655 = call ptr @fn_val(ptr @.str8629, ptr @.str8630) + store ptr %t655, ptr %retval + br label %ret +ifend123: + %t656 = load ptr, ptr %t38 + %t657 = call i32 @lp_str_eq(ptr %t656, ptr @.str8631) + %t658 = icmp ne i32 %t657, 0 + br i1 %t658, label %then124, label %ifend126 +then124: + store i32 1, ptr @g_g_uses_expect + %t659 = load ptr, ptr %t0 + %t660 = getelementptr inbounds %Cmp_Node, ptr %t659, i32 0, i32 7 + %t661 = load ptr, ptr %t660 + %t662 = getelementptr inbounds %LSlice, ptr %t661, i32 0, i32 0 + %t663 = load ptr, ptr %t662 + %t664 = getelementptr inbounds ptr, ptr %t663, i32 0 + %t665 = load ptr, ptr %t664 + %t666 = call ptr @fn_emit_expr(ptr %t665) + store ptr %t666, ptr %t667 + %t668 = load ptr, ptr %t0 + %t669 = getelementptr inbounds %Cmp_Node, ptr %t668, i32 0, i32 7 + %t670 = load ptr, ptr %t669 + %t671 = getelementptr inbounds %LSlice, ptr %t670, i32 0, i32 0 + %t672 = load ptr, ptr %t671 + %t673 = getelementptr inbounds ptr, ptr %t672, i32 1 + %t674 = load ptr, ptr %t673 + %t675 = call ptr @fn_emit_expr(ptr %t674) + store ptr %t675, ptr %t676 + %t677 = load ptr, ptr %t667 + %t678 = getelementptr inbounds %Cmp_Val, ptr %t677, i32 0, i32 0 + %t679 = load ptr, ptr %t678 + %t680 = call ptr @lp_str_concat(ptr @.str8632, ptr %t679) + %t681 = call ptr @lp_str_concat(ptr %t680, ptr @.str8633) + %t682 = load ptr, ptr %t676 + %t683 = getelementptr inbounds %Cmp_Val, ptr %t682, i32 0, i32 0 + %t684 = load ptr, ptr %t683 + %t685 = call ptr @lp_str_concat(ptr %t681, ptr %t684) + %t686 = call ptr @fn_emit_bind(ptr %t685) + store ptr %t686, ptr %t687 + %t688 = load ptr, ptr @g_g_src_name + %t689 = call ptr @lp_str_concat(ptr %t688, ptr @.str8634) + %t690 = load ptr, ptr %t0 + %t691 = getelementptr inbounds %Cmp_Node, ptr %t690, i32 0, i32 8 + %t692 = load i32, ptr %t691 + %t693 = call ptr @fn_itoa(i32 %t692) + %t694 = call ptr @lp_str_concat(ptr %t689, ptr %t693) + %t695 = call ptr @lp_str_concat(ptr %t694, ptr @.str8635) + %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 @.str8636, ptr @.str8637) + store ptr %t706, ptr %retval + br label %ret +ifend126: + %t707 = load ptr, ptr %t38 + %t708 = call i32 @lp_str_eq(ptr %t707, ptr @.str8638) + %t709 = icmp ne i32 %t708, 0 + br i1 %t709, label %then127, label %ifend129 +then127: + store i32 1, ptr @g_g_uses_expect + %t710 = load ptr, ptr %t0 + %t711 = getelementptr inbounds %Cmp_Node, ptr %t710, i32 0, i32 7 + %t712 = load ptr, ptr %t711 + %t713 = getelementptr inbounds %LSlice, ptr %t712, i32 0, i32 0 + %t714 = load ptr, ptr %t713 + %t715 = getelementptr inbounds ptr, ptr %t714, i32 0 + %t716 = load ptr, ptr %t715 + %t717 = call ptr @fn_emit_expr(ptr %t716) + store ptr %t717, ptr %t718 + %t719 = load ptr, ptr %t0 + %t720 = getelementptr inbounds %Cmp_Node, ptr %t719, i32 0, i32 7 + %t721 = load ptr, ptr %t720 + %t722 = getelementptr inbounds %LSlice, ptr %t721, i32 0, i32 0 + %t723 = load ptr, ptr %t722 + %t724 = getelementptr inbounds ptr, ptr %t723, i32 1 + %t725 = load ptr, ptr %t724 + %t726 = call ptr @fn_emit_expr(ptr %t725) + store ptr %t726, ptr %t727 + %t728 = load ptr, ptr %t0 + %t729 = getelementptr inbounds %Cmp_Node, ptr %t728, i32 0, i32 7 + %t730 = load ptr, ptr %t729 + %t731 = getelementptr inbounds %LSlice, ptr %t730, i32 0, i32 0 + %t732 = load ptr, ptr %t731 + %t733 = getelementptr inbounds ptr, ptr %t732, i32 2 + %t734 = load ptr, ptr %t733 + %t735 = call ptr @fn_emit_expr(ptr %t734) + store ptr %t735, ptr %t736 + %t737 = load ptr, ptr %t718 + %t738 = getelementptr inbounds %Cmp_Val, ptr %t737, i32 0, i32 0 + %t739 = load ptr, ptr %t738 + %t740 = call ptr @lp_str_concat(ptr @.str8639, ptr %t739) + %t741 = call ptr @lp_str_concat(ptr %t740, ptr @.str8640) + %t742 = load ptr, ptr %t727 + %t743 = getelementptr inbounds %Cmp_Val, ptr %t742, i32 0, i32 0 + %t744 = load ptr, ptr %t743 + %t745 = call ptr @lp_str_concat(ptr %t741, ptr %t744) + %t746 = call ptr @fn_emit_bind(ptr %t745) + store ptr %t746, ptr %t747 + %t748 = load ptr, ptr %t747 + %t749 = call ptr @lp_str_concat(ptr @.str8641, ptr %t748) + %t750 = call ptr @fn_emit_bind(ptr %t749) + store ptr %t750, ptr %t751 + %t752 = load ptr, ptr %t747 + %t753 = call ptr @lp_str_concat(ptr @.str8642, ptr %t752) + %t754 = call ptr @lp_str_concat(ptr %t753, ptr @.str8643) + %t755 = call ptr @fn_emit_bind(ptr %t754) + store ptr %t755, ptr %t756 + %t757 = load ptr, ptr %t756 + %t758 = call ptr @lp_str_concat(ptr @.str8644, ptr %t757) + %t759 = call ptr @lp_str_concat(ptr %t758, ptr @.str8645) + %t760 = load ptr, ptr %t751 + %t761 = call ptr @lp_str_concat(ptr %t759, ptr %t760) + %t762 = call ptr @lp_str_concat(ptr %t761, ptr @.str8646) + %t763 = load ptr, ptr %t747 + %t764 = call ptr @lp_str_concat(ptr %t762, ptr %t763) + %t765 = call ptr @fn_emit_bind(ptr %t764) + store ptr %t765, ptr %t766 + %t767 = load ptr, ptr %t766 + %t768 = call ptr @lp_str_concat(ptr @.str8647, ptr %t767) + %t769 = call ptr @lp_str_concat(ptr %t768, ptr @.str8648) + %t770 = load ptr, ptr %t736 + %t771 = getelementptr inbounds %Cmp_Val, ptr %t770, i32 0, i32 0 + %t772 = load ptr, ptr %t771 + %t773 = call ptr @lp_str_concat(ptr %t769, ptr %t772) + %t774 = call ptr @fn_emit_bind(ptr %t773) + store ptr %t774, ptr %t775 + %t776 = load ptr, ptr @g_g_src_name + %t777 = call ptr @lp_str_concat(ptr %t776, ptr @.str8649) + %t778 = load ptr, ptr %t0 + %t779 = getelementptr inbounds %Cmp_Node, ptr %t778, i32 0, i32 8 + %t780 = load i32, ptr %t779 + %t781 = call ptr @fn_itoa(i32 %t780) + %t782 = call ptr @lp_str_concat(ptr %t777, ptr %t781) + %t783 = call ptr @lp_str_concat(ptr %t782, ptr @.str8650) + %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 @.str8651, ptr @.str8652) + store ptr %t794, ptr %retval + br label %ret +ifend129: + %t795 = load ptr, ptr %t38 + %t796 = call i32 @lp_str_eq(ptr %t795, ptr @.str8653) + %t797 = icmp ne i32 %t796, 0 + br i1 %t797, label %then130, label %ifend132 +then130: + store i32 1, ptr @g_g_uses_panic + %t798 = load ptr, ptr %t0 + %t799 = getelementptr inbounds %Cmp_Node, ptr %t798, i32 0, i32 7 + %t800 = load ptr, ptr %t799 + %t801 = getelementptr inbounds %LSlice, ptr %t800, i32 0, i32 0 + %t802 = load ptr, ptr %t801 + %t803 = getelementptr inbounds ptr, ptr %t802, i32 0 + %t804 = load ptr, ptr %t803 + %t805 = call ptr @fn_emit_expr(ptr %t804) + store ptr %t805, ptr %t806 + %t807 = load ptr, ptr @g_g_src_name + %t808 = call ptr @lp_str_concat(ptr %t807, ptr @.str8654) + %t809 = load ptr, ptr %t0 + %t810 = getelementptr inbounds %Cmp_Node, ptr %t809, i32 0, i32 8 + %t811 = load i32, ptr %t810 + %t812 = call ptr @fn_itoa(i32 %t811) + %t813 = call ptr @lp_str_concat(ptr %t808, ptr %t812) + %t814 = call ptr @lp_str_concat(ptr %t813, ptr @.str8655) + %t815 = call ptr @fn_emit_str_const(ptr %t814) + store ptr %t815, ptr %t816 + %t817 = call ptr @fn_stdstream_rhs(i32 2) + %t818 = call ptr @fn_emit_bind(ptr %t817) + store ptr %t818, ptr %t819 + %t820 = load ptr, ptr %t819 + %t821 = call ptr @lp_str_concat(ptr @.str8656, ptr %t820) + %t822 = call ptr @lp_str_concat(ptr %t821, ptr @.str8657) + %t823 = load ptr, ptr %t816 + %t824 = call ptr @lp_str_concat(ptr %t822, ptr %t823) + %t825 = call ptr @lp_str_concat(ptr %t824, ptr @.str8658) + %t826 = load ptr, ptr %t806 + %t827 = getelementptr inbounds %Cmp_Val, ptr %t826, i32 0, i32 0 + %t828 = load ptr, ptr %t827 + %t829 = call ptr @lp_str_concat(ptr %t825, ptr %t828) + %t830 = call ptr @lp_str_concat(ptr %t829, ptr @.str8659) + call void @fn_emit(ptr %t830) + call void @fn_emit(ptr @.str8660) + store i32 1, ptr @g_g_term + %t831 = call ptr @fn_val(ptr @.str8661, ptr @.str8662) + store ptr %t831, ptr %retval + br label %ret +ifend132: + %t832 = load ptr, ptr %t38 + %t833 = call i32 @lp_str_eq(ptr %t832, ptr @.str8663) + %t834 = icmp ne i32 %t833, 0 + br i1 %t834, label %then133, label %ifend135 +then133: + store i32 1, ptr @g_g_uses_panic + %t835 = load ptr, ptr %t0 + %t836 = getelementptr inbounds %Cmp_Node, ptr %t835, i32 0, i32 7 + %t837 = load ptr, ptr %t836 + %t838 = getelementptr inbounds %LSlice, ptr %t837, i32 0, i32 0 + %t839 = load ptr, ptr %t838 + %t840 = getelementptr inbounds ptr, ptr %t839, i32 0 + %t841 = load ptr, ptr %t840 + %t842 = call ptr @fn_emit_expr(ptr %t841) + store ptr %t842, ptr %t843 + %t844 = load ptr, ptr %t843 + %t845 = getelementptr inbounds %Cmp_Val, ptr %t844, i32 0, i32 0 + %t846 = load ptr, ptr %t845 + %t847 = call ptr @lp_str_concat(ptr @.str8664, ptr %t846) + %t848 = call ptr @lp_str_concat(ptr %t847, ptr @.str8665) + %t849 = call ptr @fn_emit_bind(ptr %t848) + store ptr %t849, ptr %t850 + %t851 = call ptr @fn_lbl(ptr @.str8666) + store ptr %t851, ptr %t852 + %t853 = call ptr @fn_lbl(ptr @.str8667) + store ptr %t853, ptr %t854 + %t855 = load ptr, ptr %t850 + %t856 = call ptr @lp_str_concat(ptr @.str8668, ptr %t855) + %t857 = call ptr @lp_str_concat(ptr %t856, ptr @.str8669) + %t858 = load ptr, ptr %t852 + %t859 = call ptr @lp_str_concat(ptr %t857, ptr %t858) + %t860 = call ptr @lp_str_concat(ptr %t859, ptr @.str8670) + %t861 = load ptr, ptr %t854 + %t862 = call ptr @lp_str_concat(ptr %t860, ptr %t861) + %t863 = call ptr @lp_str_concat(ptr %t862, ptr @.str8671) + call void @fn_emit(ptr %t863) + %t864 = load ptr, ptr %t854 + %t865 = call ptr @lp_str_concat(ptr %t864, ptr @.str8672) + call void @fn_emit(ptr %t865) + %t866 = load ptr, ptr %t0 + %t867 = getelementptr inbounds %Cmp_Node, ptr %t866, i32 0, i32 7 + %t868 = load ptr, ptr %t867 + %t869 = getelementptr inbounds %LSlice, ptr %t868, i32 0, i32 0 + %t870 = load ptr, ptr %t869 + %t871 = getelementptr inbounds ptr, ptr %t870, i32 1 + %t872 = load ptr, ptr %t871 + %t873 = call ptr @fn_emit_expr(ptr %t872) + store ptr %t873, ptr %t874 + %t875 = load ptr, ptr @g_g_src_name + %t876 = call ptr @lp_str_concat(ptr %t875, ptr @.str8673) + %t877 = load ptr, ptr %t0 + %t878 = getelementptr inbounds %Cmp_Node, ptr %t877, i32 0, i32 8 + %t879 = load i32, ptr %t878 + %t880 = call ptr @fn_itoa(i32 %t879) + %t881 = call ptr @lp_str_concat(ptr %t876, ptr %t880) + %t882 = call ptr @lp_str_concat(ptr %t881, ptr @.str8674) + %t883 = call ptr @fn_emit_str_const(ptr %t882) + store ptr %t883, ptr %t884 + %t885 = call ptr @fn_stdstream_rhs(i32 2) + %t886 = call ptr @fn_emit_bind(ptr %t885) + store ptr %t886, ptr %t887 + %t888 = load ptr, ptr %t887 + %t889 = call ptr @lp_str_concat(ptr @.str8675, ptr %t888) + %t890 = call ptr @lp_str_concat(ptr %t889, ptr @.str8676) + %t891 = load ptr, ptr %t884 + %t892 = call ptr @lp_str_concat(ptr %t890, ptr %t891) + %t893 = call ptr @lp_str_concat(ptr %t892, ptr @.str8677) + %t894 = load ptr, ptr %t874 + %t895 = getelementptr inbounds %Cmp_Val, ptr %t894, i32 0, i32 0 + %t896 = load ptr, ptr %t895 + %t897 = call ptr @lp_str_concat(ptr %t893, ptr %t896) + %t898 = call ptr @lp_str_concat(ptr %t897, ptr @.str8678) + call void @fn_emit(ptr %t898) + call void @fn_emit(ptr @.str8679) + %t899 = load ptr, ptr %t852 + %t900 = call ptr @lp_str_concat(ptr %t899, ptr @.str8680) + call void @fn_emit(ptr %t900) + %t901 = call ptr @fn_val(ptr @.str8681, ptr @.str8682) + store ptr %t901, ptr %retval + br label %ret +ifend135: + %t903 = load ptr, ptr %t38 + %t904 = call i32 @lp_str_eq(ptr %t903, ptr @.str8683) + %t905 = icmp ne i32 %t904, 0 + %t906 = zext i1 %t905 to i32 + store i32 %t906, ptr %t902 + br i1 %t905, label %sc136, label %scend137 +sc136: + %t907 = call ptr @fn_find_fn(ptr @.str8684) + %t908 = icmp eq ptr %t907, null + %t909 = zext i1 %t908 to i32 + %t910 = icmp ne i32 %t909, 0 + %t911 = zext i1 %t910 to i32 + store i32 %t911, ptr %t902 + br label %scend137 +scend137: + %t912 = load i32, ptr %t902 + %t913 = icmp ne i32 %t912, 0 + br i1 %t913, label %then138, label %ifend140 +then138: + store i32 1, ptr @g_g_uses_result + %t914 = load ptr, ptr %t0 + %t915 = getelementptr inbounds %Cmp_Node, ptr %t914, i32 0, i32 7 + %t916 = load ptr, ptr %t915 + %t917 = getelementptr inbounds %LSlice, ptr %t916, i32 0, i32 0 + %t918 = load ptr, ptr %t917 + %t919 = getelementptr inbounds ptr, ptr %t918, i32 0 + %t920 = load ptr, ptr %t919 + %t921 = call ptr @fn_emit_expr(ptr %t920) + store ptr %t921, ptr %t922 + %t923 = call ptr @fn_emit_bind(ptr @.str8685) + store ptr %t923, ptr %t924 + %t925 = load ptr, ptr %t924 + %t926 = call ptr @lp_str_concat(ptr @.str8686, ptr %t925) + %t927 = call ptr @lp_str_concat(ptr %t926, ptr @.str8687) + %t928 = call ptr @fn_emit_bind(ptr %t927) + store ptr %t928, ptr %t929 + %t930 = load ptr, ptr %t929 + %t931 = call ptr @lp_str_concat(ptr @.str8688, ptr %t930) + %t932 = call ptr @lp_str_concat(ptr %t931, ptr @.str8689) + call void @fn_emit(ptr %t932) + %t933 = load ptr, ptr %t924 + %t934 = call ptr @lp_str_concat(ptr @.str8690, ptr %t933) + %t935 = call ptr @lp_str_concat(ptr %t934, ptr @.str8691) + %t936 = call ptr @fn_emit_bind(ptr %t935) + store ptr %t936, ptr %t937 + %t938 = load ptr, ptr %t922 + %t939 = call ptr @fn_coerce_code(ptr %t938, ptr @.str8693) + %t940 = call ptr @lp_str_concat(ptr @.str8692, ptr %t939) + %t941 = call ptr @lp_str_concat(ptr %t940, ptr @.str8694) + %t942 = load ptr, ptr %t937 + %t943 = call ptr @lp_str_concat(ptr %t941, ptr %t942) + %t944 = call ptr @lp_str_concat(ptr %t943, ptr @.str8695) + call void @fn_emit(ptr %t944) + %t945 = load ptr, ptr %t924 + %t946 = call ptr @lp_str_concat(ptr @.str8696, ptr %t945) + %t947 = call ptr @lp_str_concat(ptr %t946, ptr @.str8697) + %t948 = call ptr @fn_emit_bind(ptr %t947) + store ptr %t948, ptr %t949 + %t950 = load ptr, ptr %t949 + %t951 = call ptr @lp_str_concat(ptr @.str8698, ptr %t950) + %t952 = call ptr @lp_str_concat(ptr %t951, ptr @.str8699) + call void @fn_emit(ptr %t952) + %t953 = load ptr, ptr %t924 + %t954 = call ptr @fn_val(ptr %t953, ptr @.str8700) + store ptr %t954, ptr %retval + br label %ret +ifend140: + %t956 = load ptr, ptr %t38 + %t957 = call i32 @lp_str_eq(ptr %t956, ptr @.str8701) + %t958 = icmp ne i32 %t957, 0 + %t959 = zext i1 %t958 to i32 + store i32 %t959, ptr %t955 + br i1 %t958, label %sc141, label %scend142 +sc141: + %t960 = call ptr @fn_find_fn(ptr @.str8702) + %t961 = icmp eq ptr %t960, null + %t962 = zext i1 %t961 to i32 + %t963 = icmp ne i32 %t962, 0 + %t964 = zext i1 %t963 to i32 + store i32 %t964, ptr %t955 + br label %scend142 +scend142: + %t965 = load i32, ptr %t955 + %t966 = icmp ne i32 %t965, 0 + br i1 %t966, label %then143, label %ifend145 +then143: + store i32 1, ptr @g_g_uses_result + %t967 = load ptr, ptr %t0 + %t968 = getelementptr inbounds %Cmp_Node, ptr %t967, i32 0, i32 7 + %t969 = load ptr, ptr %t968 + %t970 = getelementptr inbounds %LSlice, ptr %t969, i32 0, i32 0 + %t971 = load ptr, ptr %t970 + %t972 = getelementptr inbounds ptr, ptr %t971, i32 0 + %t973 = load ptr, ptr %t972 + %t974 = call ptr @fn_emit_expr(ptr %t973) + store ptr %t974, ptr %t975 + %t976 = call ptr @fn_emit_bind(ptr @.str8703) + store ptr %t976, ptr %t977 + %t978 = load ptr, ptr %t977 + %t979 = call ptr @lp_str_concat(ptr @.str8704, ptr %t978) + %t980 = call ptr @lp_str_concat(ptr %t979, ptr @.str8705) + %t981 = call ptr @fn_emit_bind(ptr %t980) + store ptr %t981, ptr %t982 + %t983 = load ptr, ptr %t982 + %t984 = call ptr @lp_str_concat(ptr @.str8706, ptr %t983) + %t985 = call ptr @lp_str_concat(ptr %t984, ptr @.str8707) + call void @fn_emit(ptr %t985) + %t986 = load ptr, ptr %t977 + %t987 = call ptr @lp_str_concat(ptr @.str8708, ptr %t986) + %t988 = call ptr @lp_str_concat(ptr %t987, ptr @.str8709) + %t989 = call ptr @fn_emit_bind(ptr %t988) + store ptr %t989, ptr %t990 + %t991 = load ptr, ptr %t990 + %t992 = call ptr @lp_str_concat(ptr @.str8710, ptr %t991) + %t993 = call ptr @lp_str_concat(ptr %t992, ptr @.str8711) + call void @fn_emit(ptr %t993) + %t994 = load ptr, ptr %t977 + %t995 = call ptr @lp_str_concat(ptr @.str8712, ptr %t994) + %t996 = call ptr @lp_str_concat(ptr %t995, ptr @.str8713) + %t997 = call ptr @fn_emit_bind(ptr %t996) + store ptr %t997, ptr %t998 + %t999 = load ptr, ptr %t975 + %t1000 = getelementptr inbounds %Cmp_Val, ptr %t999, i32 0, i32 0 + %t1001 = load ptr, ptr %t1000 + %t1002 = call ptr @lp_str_concat(ptr @.str8714, ptr %t1001) + %t1003 = call ptr @lp_str_concat(ptr %t1002, ptr @.str8715) + %t1004 = load ptr, ptr %t998 + %t1005 = call ptr @lp_str_concat(ptr %t1003, ptr %t1004) + %t1006 = call ptr @lp_str_concat(ptr %t1005, ptr @.str8716) + call void @fn_emit(ptr %t1006) + %t1007 = load ptr, ptr %t977 + %t1008 = call ptr @fn_val(ptr %t1007, ptr @.str8717) + store ptr %t1008, ptr %retval + br label %ret +ifend145: + %t1010 = load ptr, ptr %t38 + %t1011 = call i32 @lp_str_eq(ptr %t1010, ptr @.str8718) + %t1012 = icmp ne i32 %t1011, 0 + %t1013 = zext i1 %t1012 to i32 + store i32 %t1013, ptr %t1009 + br i1 %t1012, label %sc146, label %scend147 +sc146: + %t1014 = call ptr @fn_find_fn(ptr @.str8719) + %t1015 = icmp eq ptr %t1014, null + %t1016 = zext i1 %t1015 to i32 + %t1017 = icmp ne i32 %t1016, 0 + %t1018 = zext i1 %t1017 to i32 + store i32 %t1018, ptr %t1009 + br label %scend147 +scend147: + %t1019 = load i32, ptr %t1009 + %t1020 = icmp ne i32 %t1019, 0 + br i1 %t1020, label %then148, label %ifend150 +then148: + %t1021 = load ptr, ptr %t0 + %t1022 = getelementptr inbounds %Cmp_Node, ptr %t1021, i32 0, i32 7 + %t1023 = load ptr, ptr %t1022 + %t1024 = getelementptr inbounds %LSlice, ptr %t1023, i32 0, i32 0 + %t1025 = load ptr, ptr %t1024 + %t1026 = getelementptr inbounds ptr, ptr %t1025, i32 0 + %t1027 = load ptr, ptr %t1026 + %t1028 = call ptr @fn_emit_expr(ptr %t1027) + store ptr %t1028, ptr %t1029 + %t1030 = load ptr, ptr %t1029 + %t1031 = getelementptr inbounds %Cmp_Val, ptr %t1030, i32 0, i32 0 + %t1032 = load ptr, ptr %t1031 + %t1033 = call ptr @lp_str_concat(ptr @.str8720, ptr %t1032) + %t1034 = call ptr @lp_str_concat(ptr %t1033, ptr @.str8721) + %t1035 = call ptr @fn_emit_bind(ptr %t1034) + store ptr %t1035, ptr %t1036 + %t1037 = load ptr, ptr %t1036 + %t1038 = call ptr @lp_str_concat(ptr @.str8722, ptr %t1037) + %t1039 = call ptr @fn_emit_bind(ptr %t1038) + store ptr %t1039, ptr %t1040 + %t1041 = load ptr, ptr %t1040 + %t1042 = call ptr @lp_str_concat(ptr @.str8723, ptr %t1041) + %t1043 = call ptr @lp_str_concat(ptr %t1042, ptr @.str8724) + %t1044 = call ptr @fn_emit_bind(ptr %t1043) + store ptr %t1044, ptr %t1045 + %t1046 = load ptr, ptr %t1045 + %t1047 = call ptr @lp_str_concat(ptr @.str8725, ptr %t1046) + %t1048 = call ptr @lp_str_concat(ptr %t1047, ptr @.str8726) + %t1049 = call ptr @fn_emit_bind(ptr %t1048) + %t1050 = call ptr @fn_val(ptr %t1049, ptr @.str8727) + store ptr %t1050, ptr %retval + br label %ret +ifend150: + %t1052 = load ptr, ptr %t38 + %t1053 = call i32 @lp_str_eq(ptr %t1052, ptr @.str8728) + %t1054 = icmp ne i32 %t1053, 0 + %t1055 = zext i1 %t1054 to i32 + store i32 %t1055, ptr %t1051 + br i1 %t1054, label %sc151, label %scend152 +sc151: + %t1056 = call ptr @fn_find_fn(ptr @.str8729) + %t1057 = icmp eq ptr %t1056, null + %t1058 = zext i1 %t1057 to i32 + %t1059 = icmp ne i32 %t1058, 0 + %t1060 = zext i1 %t1059 to i32 + store i32 %t1060, ptr %t1051 + br label %scend152 +scend152: + %t1061 = load i32, ptr %t1051 + %t1062 = icmp ne i32 %t1061, 0 + br i1 %t1062, label %then153, label %ifend155 +then153: + %t1063 = load ptr, ptr %t0 + %t1064 = getelementptr inbounds %Cmp_Node, ptr %t1063, i32 0, i32 7 + %t1065 = load ptr, ptr %t1064 + %t1066 = getelementptr inbounds %LSlice, ptr %t1065, i32 0, i32 0 + %t1067 = load ptr, ptr %t1066 + %t1068 = getelementptr inbounds ptr, ptr %t1067, i32 0 + %t1069 = load ptr, ptr %t1068 + %t1070 = call ptr @fn_emit_expr(ptr %t1069) + store ptr %t1070, ptr %t1071 + %t1072 = load ptr, ptr %t1071 + %t1073 = getelementptr inbounds %Cmp_Val, ptr %t1072, i32 0, i32 0 + %t1074 = load ptr, ptr %t1073 + %t1075 = call ptr @lp_str_concat(ptr @.str8730, ptr %t1074) + %t1076 = call ptr @lp_str_concat(ptr %t1075, ptr @.str8731) + %t1077 = call ptr @fn_emit_bind(ptr %t1076) + store ptr %t1077, ptr %t1078 + %t1079 = load ptr, ptr %t1078 + %t1080 = call ptr @lp_str_concat(ptr @.str8732, ptr %t1079) + %t1081 = call ptr @fn_emit_bind(ptr %t1080) + store ptr %t1081, ptr %t1082 + %t1083 = load ptr, ptr %t1082 + %t1084 = call ptr @lp_str_concat(ptr @.str8733, ptr %t1083) + %t1085 = call ptr @lp_str_concat(ptr %t1084, ptr @.str8734) + %t1086 = call ptr @fn_emit_bind(ptr %t1085) + store ptr %t1086, ptr %t1087 + %t1088 = load ptr, ptr %t1087 + %t1089 = call ptr @lp_str_concat(ptr @.str8735, ptr %t1088) + %t1090 = call ptr @lp_str_concat(ptr %t1089, ptr @.str8736) + %t1091 = call ptr @fn_emit_bind(ptr %t1090) + %t1092 = call ptr @fn_val(ptr %t1091, ptr @.str8737) + store ptr %t1092, ptr %retval + br label %ret +ifend155: + %t1094 = load ptr, ptr %t38 + %t1095 = call i32 @lp_str_eq(ptr %t1094, ptr @.str8738) + %t1096 = icmp ne i32 %t1095, 0 + %t1097 = zext i1 %t1096 to i32 + store i32 %t1097, ptr %t1093 + br i1 %t1096, label %sc156, label %scend157 +sc156: + %t1098 = call ptr @fn_find_fn(ptr @.str8739) + %t1099 = icmp eq ptr %t1098, null + %t1100 = zext i1 %t1099 to i32 + %t1101 = icmp ne i32 %t1100, 0 + %t1102 = zext i1 %t1101 to i32 + store i32 %t1102, ptr %t1093 + br label %scend157 +scend157: + %t1103 = load i32, ptr %t1093 + %t1104 = icmp ne i32 %t1103, 0 + br i1 %t1104, label %then158, label %ifend160 +then158: + store i32 1, ptr @g_g_uses_option + %t1105 = load ptr, ptr %t0 + %t1106 = getelementptr inbounds %Cmp_Node, ptr %t1105, i32 0, i32 7 + %t1107 = load ptr, ptr %t1106 + %t1108 = getelementptr inbounds %LSlice, ptr %t1107, i32 0, i32 0 + %t1109 = load ptr, ptr %t1108 + %t1110 = getelementptr inbounds ptr, ptr %t1109, i32 0 + %t1111 = load ptr, ptr %t1110 + %t1112 = call ptr @fn_emit_expr(ptr %t1111) + store ptr %t1112, ptr %t1113 + %t1114 = call ptr @fn_emit_bind(ptr @.str8740) + store ptr %t1114, ptr %t1115 + %t1116 = load ptr, ptr %t1115 + %t1117 = call ptr @lp_str_concat(ptr @.str8741, ptr %t1116) + %t1118 = call ptr @lp_str_concat(ptr %t1117, ptr @.str8742) + %t1119 = call ptr @fn_emit_bind(ptr %t1118) + store ptr %t1119, ptr %t1120 + %t1121 = load ptr, ptr %t1120 + %t1122 = call ptr @lp_str_concat(ptr @.str8743, ptr %t1121) + %t1123 = call ptr @lp_str_concat(ptr %t1122, ptr @.str8744) + call void @fn_emit(ptr %t1123) + %t1124 = load ptr, ptr %t1115 + %t1125 = call ptr @lp_str_concat(ptr @.str8745, ptr %t1124) + %t1126 = call ptr @lp_str_concat(ptr %t1125, ptr @.str8746) + %t1127 = call ptr @fn_emit_bind(ptr %t1126) + store ptr %t1127, ptr %t1128 + %t1129 = load ptr, ptr %t1113 + %t1130 = call ptr @fn_coerce_code(ptr %t1129, ptr @.str8748) + %t1131 = call ptr @lp_str_concat(ptr @.str8747, ptr %t1130) + %t1132 = call ptr @lp_str_concat(ptr %t1131, ptr @.str8749) + %t1133 = load ptr, ptr %t1128 + %t1134 = call ptr @lp_str_concat(ptr %t1132, ptr %t1133) + %t1135 = call ptr @lp_str_concat(ptr %t1134, ptr @.str8750) + call void @fn_emit(ptr %t1135) + %t1136 = load ptr, ptr %t1115 + %t1137 = call ptr @fn_val(ptr %t1136, ptr @.str8751) + store ptr %t1137, ptr %retval + br label %ret +ifend160: + %t1139 = load ptr, ptr %t38 + %t1140 = call i32 @lp_str_eq(ptr %t1139, ptr @.str8752) + %t1141 = icmp ne i32 %t1140, 0 + %t1142 = zext i1 %t1141 to i32 + store i32 %t1142, ptr %t1138 + br i1 %t1141, label %sc161, label %scend162 +sc161: + %t1143 = call ptr @fn_find_fn(ptr @.str8753) + %t1144 = icmp eq ptr %t1143, null + %t1145 = zext i1 %t1144 to i32 + %t1146 = icmp ne i32 %t1145, 0 + %t1147 = zext i1 %t1146 to i32 + store i32 %t1147, ptr %t1138 + br label %scend162 +scend162: + %t1148 = load i32, ptr %t1138 + %t1149 = icmp ne i32 %t1148, 0 + br i1 %t1149, label %then163, label %ifend165 +then163: + store i32 1, ptr @g_g_uses_option + %t1150 = call ptr @fn_emit_bind(ptr @.str8754) + store ptr %t1150, ptr %t1151 + %t1152 = load ptr, ptr %t1151 + %t1153 = call ptr @lp_str_concat(ptr @.str8755, ptr %t1152) + %t1154 = call ptr @lp_str_concat(ptr %t1153, ptr @.str8756) + %t1155 = call ptr @fn_emit_bind(ptr %t1154) + store ptr %t1155, ptr %t1156 + %t1157 = load ptr, ptr %t1156 + %t1158 = call ptr @lp_str_concat(ptr @.str8757, ptr %t1157) + %t1159 = call ptr @lp_str_concat(ptr %t1158, ptr @.str8758) + call void @fn_emit(ptr %t1159) + %t1160 = load ptr, ptr %t1151 + %t1161 = call ptr @lp_str_concat(ptr @.str8759, ptr %t1160) + %t1162 = call ptr @lp_str_concat(ptr %t1161, ptr @.str8760) + %t1163 = call ptr @fn_emit_bind(ptr %t1162) + store ptr %t1163, ptr %t1164 + %t1165 = load ptr, ptr %t1164 + %t1166 = call ptr @lp_str_concat(ptr @.str8761, ptr %t1165) + %t1167 = call ptr @lp_str_concat(ptr %t1166, ptr @.str8762) + call void @fn_emit(ptr %t1167) + %t1168 = load ptr, ptr %t1151 + %t1169 = call ptr @fn_val(ptr %t1168, ptr @.str8763) + store ptr %t1169, ptr %retval + br label %ret +ifend165: + %t1171 = load ptr, ptr %t38 + %t1172 = call i32 @lp_str_eq(ptr %t1171, ptr @.str8764) + %t1173 = icmp ne i32 %t1172, 0 + %t1174 = zext i1 %t1173 to i32 + store i32 %t1174, ptr %t1170 + br i1 %t1173, label %sc166, label %scend167 +sc166: + %t1175 = call ptr @fn_find_fn(ptr @.str8765) + %t1176 = icmp eq ptr %t1175, null + %t1177 = zext i1 %t1176 to i32 + %t1178 = icmp ne i32 %t1177, 0 + %t1179 = zext i1 %t1178 to i32 + store i32 %t1179, ptr %t1170 + br label %scend167 +scend167: + %t1180 = load i32, ptr %t1170 + %t1181 = icmp ne i32 %t1180, 0 + br i1 %t1181, label %then168, label %ifend170 +then168: + %t1182 = load ptr, ptr %t0 + %t1183 = getelementptr inbounds %Cmp_Node, ptr %t1182, i32 0, i32 7 + %t1184 = load ptr, ptr %t1183 + %t1185 = getelementptr inbounds %LSlice, ptr %t1184, i32 0, i32 0 + %t1186 = load ptr, ptr %t1185 + %t1187 = getelementptr inbounds ptr, ptr %t1186, i32 0 + %t1188 = load ptr, ptr %t1187 + %t1189 = call ptr @fn_emit_expr(ptr %t1188) + store ptr %t1189, ptr %t1190 + %t1191 = load ptr, ptr %t1190 + %t1192 = getelementptr inbounds %Cmp_Val, ptr %t1191, i32 0, i32 0 + %t1193 = load ptr, ptr %t1192 + %t1194 = call ptr @lp_str_concat(ptr @.str8766, ptr %t1193) + %t1195 = call ptr @lp_str_concat(ptr %t1194, ptr @.str8767) + %t1196 = call ptr @fn_emit_bind(ptr %t1195) + store ptr %t1196, ptr %t1197 + %t1198 = load ptr, ptr %t1197 + %t1199 = call ptr @lp_str_concat(ptr @.str8768, ptr %t1198) + %t1200 = call ptr @fn_emit_bind(ptr %t1199) + store ptr %t1200, ptr %t1201 + %t1202 = load ptr, ptr %t1201 + %t1203 = call ptr @lp_str_concat(ptr @.str8769, ptr %t1202) + %t1204 = call ptr @lp_str_concat(ptr %t1203, ptr @.str8770) + %t1205 = call ptr @fn_emit_bind(ptr %t1204) + store ptr %t1205, ptr %t1206 + %t1207 = load ptr, ptr %t1206 + %t1208 = call ptr @lp_str_concat(ptr @.str8771, ptr %t1207) + %t1209 = call ptr @lp_str_concat(ptr %t1208, ptr @.str8772) + %t1210 = call ptr @fn_emit_bind(ptr %t1209) + %t1211 = call ptr @fn_val(ptr %t1210, ptr @.str8773) + store ptr %t1211, ptr %retval + br label %ret +ifend170: + %t1213 = load ptr, ptr %t38 + %t1214 = call i32 @lp_str_eq(ptr %t1213, ptr @.str8774) + %t1215 = icmp ne i32 %t1214, 0 + %t1216 = zext i1 %t1215 to i32 + store i32 %t1216, ptr %t1212 + br i1 %t1215, label %sc171, label %scend172 +sc171: + %t1217 = call ptr @fn_find_fn(ptr @.str8775) + %t1218 = icmp eq ptr %t1217, null + %t1219 = zext i1 %t1218 to i32 + %t1220 = icmp ne i32 %t1219, 0 + %t1221 = zext i1 %t1220 to i32 + store i32 %t1221, ptr %t1212 + br label %scend172 +scend172: + %t1222 = load i32, ptr %t1212 + %t1223 = icmp ne i32 %t1222, 0 + br i1 %t1223, label %then173, label %ifend175 +then173: + %t1224 = load ptr, ptr %t0 + %t1225 = getelementptr inbounds %Cmp_Node, ptr %t1224, i32 0, i32 7 + %t1226 = load ptr, ptr %t1225 + %t1227 = getelementptr inbounds %LSlice, ptr %t1226, i32 0, i32 0 + %t1228 = load ptr, ptr %t1227 + %t1229 = getelementptr inbounds ptr, ptr %t1228, i32 0 + %t1230 = load ptr, ptr %t1229 + %t1231 = call ptr @fn_emit_expr(ptr %t1230) + store ptr %t1231, ptr %t1232 + %t1233 = load ptr, ptr %t1232 + %t1234 = getelementptr inbounds %Cmp_Val, ptr %t1233, i32 0, i32 0 + %t1235 = load ptr, ptr %t1234 + %t1236 = call ptr @lp_str_concat(ptr @.str8776, ptr %t1235) + %t1237 = call ptr @lp_str_concat(ptr %t1236, ptr @.str8777) + %t1238 = call ptr @fn_emit_bind(ptr %t1237) + store ptr %t1238, ptr %t1239 + %t1240 = load ptr, ptr %t1239 + %t1241 = call ptr @lp_str_concat(ptr @.str8778, ptr %t1240) + %t1242 = call ptr @fn_emit_bind(ptr %t1241) + store ptr %t1242, ptr %t1243 + %t1244 = load ptr, ptr %t1243 + %t1245 = call ptr @lp_str_concat(ptr @.str8779, ptr %t1244) + %t1246 = call ptr @lp_str_concat(ptr %t1245, ptr @.str8780) + %t1247 = call ptr @fn_emit_bind(ptr %t1246) + store ptr %t1247, ptr %t1248 + %t1249 = load ptr, ptr %t1248 + %t1250 = call ptr @lp_str_concat(ptr @.str8781, ptr %t1249) + %t1251 = call ptr @lp_str_concat(ptr %t1250, ptr @.str8782) + %t1252 = call ptr @fn_emit_bind(ptr %t1251) + %t1253 = call ptr @fn_val(ptr %t1252, ptr @.str8783) + store ptr %t1253, ptr %retval + br label %ret +ifend175: + %t1255 = load ptr, ptr %t38 + %t1256 = call i32 @lp_str_eq(ptr %t1255, ptr @.str8784) + %t1257 = icmp ne i32 %t1256, 0 + %t1258 = zext i1 %t1257 to i32 + store i32 %t1258, ptr %t1254 + br i1 %t1257, label %sc176, label %scend177 +sc176: + %t1259 = call ptr @fn_find_fn(ptr @.str8785) + %t1260 = icmp eq ptr %t1259, null + %t1261 = zext i1 %t1260 to i32 + %t1262 = icmp ne i32 %t1261, 0 + %t1263 = zext i1 %t1262 to i32 + store i32 %t1263, ptr %t1254 + br label %scend177 +scend177: + %t1264 = load i32, ptr %t1254 + %t1265 = icmp ne i32 %t1264, 0 + br i1 %t1265, label %then178, label %ifend180 +then178: + %t1266 = load ptr, ptr %t0 + %t1267 = getelementptr inbounds %Cmp_Node, ptr %t1266, i32 0, i32 7 + %t1268 = load ptr, ptr %t1267 + %t1269 = getelementptr inbounds %LSlice, ptr %t1268, i32 0, i32 0 + %t1270 = load ptr, ptr %t1269 + %t1271 = getelementptr inbounds ptr, ptr %t1270, i32 0 + %t1272 = load ptr, ptr %t1271 + %t1273 = call ptr @fn_emit_expr(ptr %t1272) + store ptr %t1273, ptr %t1274 + %t1275 = load ptr, ptr %t0 + %t1276 = getelementptr inbounds %Cmp_Node, ptr %t1275, i32 0, i32 7 + %t1277 = load ptr, ptr %t1276 + %t1278 = getelementptr inbounds %LSlice, ptr %t1277, i32 0, i32 0 + %t1279 = load ptr, ptr %t1278 + %t1280 = getelementptr inbounds ptr, ptr %t1279, i32 1 + %t1281 = load ptr, ptr %t1280 + %t1282 = call ptr @fn_emit_expr(ptr %t1281) + store ptr %t1282, ptr %t1283 + %t1284 = load ptr, ptr %t1274 + %t1285 = getelementptr inbounds %Cmp_Val, ptr %t1284, i32 0, i32 0 + %t1286 = load ptr, ptr %t1285 + %t1287 = call ptr @lp_str_concat(ptr @.str8786, ptr %t1286) + %t1288 = call ptr @lp_str_concat(ptr %t1287, ptr @.str8787) + %t1289 = call ptr @fn_emit_bind(ptr %t1288) + store ptr %t1289, ptr %t1290 + %t1291 = load ptr, ptr %t1290 + %t1292 = call ptr @lp_str_concat(ptr @.str8788, ptr %t1291) + %t1293 = call ptr @fn_emit_bind(ptr %t1292) + store ptr %t1293, ptr %t1294 + %t1295 = load ptr, ptr %t1274 + %t1296 = getelementptr inbounds %Cmp_Val, ptr %t1295, i32 0, i32 0 + %t1297 = load ptr, ptr %t1296 + %t1298 = call ptr @lp_str_concat(ptr @.str8789, ptr %t1297) + %t1299 = call ptr @lp_str_concat(ptr %t1298, ptr @.str8790) + %t1300 = call ptr @fn_emit_bind(ptr %t1299) + store ptr %t1300, ptr %t1301 + %t1302 = load ptr, ptr %t1301 + %t1303 = call ptr @lp_str_concat(ptr @.str8791, ptr %t1302) + %t1304 = call ptr @fn_emit_bind(ptr %t1303) + store ptr %t1304, ptr %t1305 + %t1306 = load ptr, ptr %t1294 + %t1307 = call ptr @lp_str_concat(ptr @.str8792, ptr %t1306) + %t1308 = call ptr @lp_str_concat(ptr %t1307, ptr @.str8793) + %t1309 = call ptr @fn_emit_bind(ptr %t1308) + store ptr %t1309, ptr %t1310 + %t1311 = load ptr, ptr %t1310 + %t1312 = call ptr @lp_str_concat(ptr @.str8794, ptr %t1311) + %t1313 = call ptr @lp_str_concat(ptr %t1312, ptr @.str8795) + %t1314 = load ptr, ptr %t1305 + %t1315 = call ptr @lp_str_concat(ptr %t1313, ptr %t1314) + %t1316 = call ptr @lp_str_concat(ptr %t1315, ptr @.str8796) + %t1317 = load ptr, ptr %t1283 + %t1318 = call ptr @fn_coerce_code(ptr %t1317, ptr @.str8797) + %t1319 = call ptr @lp_str_concat(ptr %t1316, ptr %t1318) + %t1320 = call ptr @fn_emit_bind(ptr %t1319) + %t1321 = call ptr @fn_val(ptr %t1320, ptr @.str8798) + store ptr %t1321, ptr %retval + br label %ret +ifend180: + %t1322 = load ptr, ptr %t38 + %t1323 = call i32 @lp_str_eq(ptr %t1322, ptr @.str8799) + %t1324 = icmp ne i32 %t1323, 0 + br i1 %t1324, label %then181, label %ifend183 +then181: + %t1325 = load ptr, ptr %t0 + %t1326 = getelementptr inbounds %Cmp_Node, ptr %t1325, i32 0, i32 7 + %t1327 = load ptr, ptr %t1326 + %t1328 = getelementptr inbounds %LSlice, ptr %t1327, i32 0, i32 0 + %t1329 = load ptr, ptr %t1328 + %t1330 = getelementptr inbounds ptr, ptr %t1329, i32 0 + %t1331 = load ptr, ptr %t1330 + %t1332 = call ptr @fn_emit_expr(ptr %t1331) + store ptr %t1332, ptr %t1333 + %t1334 = load ptr, ptr %t1333 + %t1335 = getelementptr inbounds %Cmp_Val, ptr %t1334, i32 0, i32 0 + %t1336 = load ptr, ptr %t1335 + %t1337 = call ptr @lp_str_concat(ptr @.str8800, ptr %t1336) + %t1338 = call ptr @lp_str_concat(ptr %t1337, ptr @.str8801) + %t1339 = call ptr @fn_emit_bind(ptr %t1338) + %t1340 = call ptr @fn_val(ptr %t1339, ptr @.str8802) + store ptr %t1340, ptr %retval + br label %ret +ifend183: + %t1341 = load ptr, ptr %t38 + %t1342 = call i32 @lp_str_eq(ptr %t1341, ptr @.str8803) + %t1343 = icmp ne i32 %t1342, 0 + br i1 %t1343, label %then184, label %ifend186 +then184: + %t1344 = load ptr, ptr %t0 + %t1345 = getelementptr inbounds %Cmp_Node, ptr %t1344, i32 0, i32 7 + %t1346 = load ptr, ptr %t1345 + %t1347 = getelementptr inbounds %LSlice, ptr %t1346, i32 0, i32 0 + %t1348 = load ptr, ptr %t1347 + %t1349 = getelementptr inbounds ptr, ptr %t1348, i32 0 + %t1350 = load ptr, ptr %t1349 + %t1351 = call ptr @fn_emit_expr(ptr %t1350) + store ptr %t1351, ptr %t1352 + %t1353 = load ptr, ptr %t0 + %t1354 = getelementptr inbounds %Cmp_Node, ptr %t1353, i32 0, i32 7 + %t1355 = load ptr, ptr %t1354 + %t1356 = getelementptr inbounds %LSlice, ptr %t1355, i32 0, i32 0 + %t1357 = load ptr, ptr %t1356 + %t1358 = getelementptr inbounds ptr, ptr %t1357, i32 1 + %t1359 = load ptr, ptr %t1358 + %t1360 = call ptr @fn_emit_expr(ptr %t1359) + store ptr %t1360, ptr %t1361 + %t1362 = load ptr, ptr %t1352 + %t1363 = getelementptr inbounds %Cmp_Val, ptr %t1362, i32 0, i32 0 + %t1364 = load ptr, ptr %t1363 + %t1365 = call ptr @lp_str_concat(ptr @.str8804, ptr %t1364) + %t1366 = call ptr @lp_str_concat(ptr %t1365, ptr @.str8805) + %t1367 = load ptr, ptr %t1361 + %t1368 = getelementptr inbounds %Cmp_Val, ptr %t1367, i32 0, i32 0 + %t1369 = load ptr, ptr %t1368 + %t1370 = call ptr @lp_str_concat(ptr %t1366, ptr %t1369) + %t1371 = call ptr @lp_str_concat(ptr %t1370, ptr @.str8806) + %t1372 = call ptr @fn_emit_bind(ptr %t1371) + %t1373 = call ptr @fn_val(ptr %t1372, ptr @.str8807) + store ptr %t1373, ptr %retval + br label %ret +ifend186: + %t1374 = load ptr, ptr %t38 + %t1375 = call i32 @lp_str_eq(ptr %t1374, ptr @.str8808) + %t1376 = icmp ne i32 %t1375, 0 + br i1 %t1376, label %then187, label %ifend189 +then187: + %t1377 = load ptr, ptr %t0 + %t1378 = getelementptr inbounds %Cmp_Node, ptr %t1377, i32 0, i32 7 + %t1379 = load ptr, ptr %t1378 + %t1380 = getelementptr inbounds %LSlice, ptr %t1379, i32 0, i32 0 + %t1381 = load ptr, ptr %t1380 + %t1382 = getelementptr inbounds ptr, ptr %t1381, i32 0 + %t1383 = load ptr, ptr %t1382 + %t1384 = call ptr @fn_emit_expr(ptr %t1383) + store ptr %t1384, ptr %t1385 + %t1386 = load ptr, ptr %t0 + %t1387 = getelementptr inbounds %Cmp_Node, ptr %t1386, i32 0, i32 7 + %t1388 = load ptr, ptr %t1387 + %t1389 = getelementptr inbounds %LSlice, ptr %t1388, i32 0, i32 0 + %t1390 = load ptr, ptr %t1389 + %t1391 = getelementptr inbounds ptr, ptr %t1390, i32 1 + %t1392 = load ptr, ptr %t1391 + %t1393 = call ptr @fn_emit_expr(ptr %t1392) + store ptr %t1393, ptr %t1394 + %t1395 = load ptr, ptr %t0 + %t1396 = getelementptr inbounds %Cmp_Node, ptr %t1395, i32 0, i32 7 + %t1397 = load ptr, ptr %t1396 + %t1398 = getelementptr inbounds %LSlice, ptr %t1397, i32 0, i32 0 + %t1399 = load ptr, ptr %t1398 + %t1400 = getelementptr inbounds ptr, ptr %t1399, i32 2 + %t1401 = load ptr, ptr %t1400 + %t1402 = call ptr @fn_emit_expr(ptr %t1401) + store ptr %t1402, ptr %t1403 + %t1404 = load ptr, ptr %t1385 + %t1405 = getelementptr inbounds %Cmp_Val, ptr %t1404, i32 0, i32 0 + %t1406 = load ptr, ptr %t1405 + %t1407 = call ptr @lp_str_concat(ptr @.str8809, ptr %t1406) + %t1408 = call ptr @lp_str_concat(ptr %t1407, ptr @.str8810) + %t1409 = load ptr, ptr %t1394 + %t1410 = getelementptr inbounds %Cmp_Val, ptr %t1409, i32 0, i32 0 + %t1411 = load ptr, ptr %t1410 + %t1412 = call ptr @lp_str_concat(ptr %t1408, ptr %t1411) + %t1413 = call ptr @lp_str_concat(ptr %t1412, ptr @.str8811) + %t1414 = load ptr, ptr %t1403 + %t1415 = getelementptr inbounds %Cmp_Val, ptr %t1414, i32 0, i32 0 + %t1416 = load ptr, ptr %t1415 + %t1417 = call ptr @lp_str_concat(ptr %t1413, ptr %t1416) + %t1418 = call ptr @lp_str_concat(ptr %t1417, ptr @.str8812) + %t1419 = call ptr @fn_emit_bind(ptr %t1418) + store ptr %t1419, ptr %t1420 + %t1421 = load ptr, ptr %t1420 + %t1422 = call ptr @lp_str_concat(ptr @.str8813, ptr %t1421) + %t1423 = call ptr @lp_str_concat(ptr %t1422, ptr @.str8814) + %t1424 = call ptr @fn_emit_bind(ptr %t1423) + %t1425 = call ptr @fn_val(ptr %t1424, ptr @.str8815) + store ptr %t1425, ptr %retval + br label %ret +ifend189: + %t1426 = load ptr, ptr %t38 + %t1427 = call i32 @lp_str_eq(ptr %t1426, ptr @.str8816) + %t1428 = icmp ne i32 %t1427, 0 + br i1 %t1428, label %then190, label %ifend192 +then190: + %t1429 = load ptr, ptr %t0 + %t1430 = getelementptr inbounds %Cmp_Node, ptr %t1429, i32 0, i32 7 + %t1431 = load ptr, ptr %t1430 + %t1432 = getelementptr inbounds %LSlice, ptr %t1431, i32 0, i32 0 + %t1433 = load ptr, ptr %t1432 + %t1434 = getelementptr inbounds ptr, ptr %t1433, i32 0 + %t1435 = load ptr, ptr %t1434 + %t1436 = call ptr @fn_emit_expr(ptr %t1435) + store ptr %t1436, ptr %t1437 + %t1438 = load ptr, ptr %t0 + %t1439 = getelementptr inbounds %Cmp_Node, ptr %t1438, i32 0, i32 7 + %t1440 = load ptr, ptr %t1439 + %t1441 = getelementptr inbounds %LSlice, ptr %t1440, i32 0, i32 0 + %t1442 = load ptr, ptr %t1441 + %t1443 = getelementptr inbounds ptr, ptr %t1442, i32 1 + %t1444 = load ptr, ptr %t1443 + %t1445 = call ptr @fn_emit_expr(ptr %t1444) + store ptr %t1445, ptr %t1446 + %t1447 = load ptr, ptr %t0 + %t1448 = getelementptr inbounds %Cmp_Node, ptr %t1447, i32 0, i32 7 + %t1449 = load ptr, ptr %t1448 + %t1450 = getelementptr inbounds %LSlice, ptr %t1449, i32 0, i32 0 + %t1451 = load ptr, ptr %t1450 + %t1452 = getelementptr inbounds ptr, ptr %t1451, i32 2 + %t1453 = load ptr, ptr %t1452 + %t1454 = call ptr @fn_emit_expr(ptr %t1453) + store ptr %t1454, ptr %t1455 + %t1456 = load ptr, ptr %t0 + %t1457 = getelementptr inbounds %Cmp_Node, ptr %t1456, i32 0, i32 7 + %t1458 = load ptr, ptr %t1457 + %t1459 = getelementptr inbounds %LSlice, ptr %t1458, i32 0, i32 0 + %t1460 = load ptr, ptr %t1459 + %t1461 = getelementptr inbounds ptr, ptr %t1460, i32 3 + %t1462 = load ptr, ptr %t1461 + %t1463 = call ptr @fn_emit_expr(ptr %t1462) + store ptr %t1463, ptr %t1464 + %t1465 = load ptr, ptr %t1464 + %t1466 = getelementptr inbounds %Cmp_Val, ptr %t1465, i32 0, i32 0 + %t1467 = load ptr, ptr %t1466 + %t1468 = call ptr @lp_str_concat(ptr @.str8817, ptr %t1467) + %t1469 = call ptr @lp_str_concat(ptr %t1468, ptr @.str8818) + %t1470 = call ptr @fn_emit_bind(ptr %t1469) + store ptr %t1470, ptr %t1471 + call void @fn_emit(ptr @.str8819) + %t1472 = load ptr, ptr %t1437 + %t1473 = getelementptr inbounds %Cmp_Val, ptr %t1472, i32 0, i32 0 + %t1474 = load ptr, ptr %t1473 + call void @fn_emit(ptr %t1474) + call void @fn_emit(ptr @.str8820) + %t1475 = load ptr, ptr %t1446 + %t1476 = getelementptr inbounds %Cmp_Val, ptr %t1475, i32 0, i32 0 + %t1477 = load ptr, ptr %t1476 + call void @fn_emit(ptr %t1477) + call void @fn_emit(ptr @.str8821) + %t1478 = load ptr, ptr %t1455 + %t1479 = getelementptr inbounds %Cmp_Val, ptr %t1478, i32 0, i32 0 + %t1480 = load ptr, ptr %t1479 + call void @fn_emit(ptr %t1480) + call void @fn_emit(ptr @.str8822) + %t1481 = load ptr, ptr %t1471 + call void @fn_emit(ptr %t1481) + call void @fn_emit(ptr @.str8823) + %t1482 = call ptr @fn_val(ptr @.str8824, ptr @.str8825) + store ptr %t1482, ptr %retval + br label %ret +ifend192: + %t1483 = load ptr, ptr %t38 + %t1484 = call i32 @lp_str_eq(ptr %t1483, ptr @.str8826) + %t1485 = icmp ne i32 %t1484, 0 + br i1 %t1485, label %then193, label %ifend195 +then193: + %t1486 = load ptr, ptr %t0 + %t1487 = getelementptr inbounds %Cmp_Node, ptr %t1486, i32 0, i32 7 + %t1488 = load ptr, ptr %t1487 + %t1489 = getelementptr inbounds %LSlice, ptr %t1488, i32 0, i32 0 + %t1490 = load ptr, ptr %t1489 + %t1491 = getelementptr inbounds ptr, ptr %t1490, i32 0 + %t1492 = load ptr, ptr %t1491 + %t1493 = call ptr @fn_emit_expr(ptr %t1492) + store ptr %t1493, ptr %t1494 + %t1495 = load ptr, ptr %t0 + %t1496 = getelementptr inbounds %Cmp_Node, ptr %t1495, i32 0, i32 7 + %t1497 = load ptr, ptr %t1496 + %t1498 = getelementptr inbounds %LSlice, ptr %t1497, i32 0, i32 0 + %t1499 = load ptr, ptr %t1498 + %t1500 = getelementptr inbounds ptr, ptr %t1499, i32 1 + %t1501 = load ptr, ptr %t1500 + %t1502 = call ptr @fn_emit_expr(ptr %t1501) + store ptr %t1502, ptr %t1503 + %t1504 = load ptr, ptr %t1494 + %t1505 = getelementptr inbounds %Cmp_Val, ptr %t1504, i32 0, i32 0 + %t1506 = load ptr, ptr %t1505 + %t1507 = call ptr @lp_str_concat(ptr @.str8827, ptr %t1506) + %t1508 = call ptr @lp_str_concat(ptr %t1507, ptr @.str8828) + %t1509 = load ptr, ptr %t1503 + %t1510 = getelementptr inbounds %Cmp_Val, ptr %t1509, i32 0, i32 0 + %t1511 = load ptr, ptr %t1510 + %t1512 = call ptr @lp_str_concat(ptr %t1508, ptr %t1511) + %t1513 = call ptr @lp_str_concat(ptr %t1512, ptr @.str8829) + %t1514 = call ptr @fn_emit_bind(ptr %t1513) + %t1515 = call ptr @fn_val(ptr %t1514, ptr @.str8830) + store ptr %t1515, ptr %retval + br label %ret +ifend195: + %t1516 = load ptr, ptr %t38 + %t1517 = call i32 @lp_str_eq(ptr %t1516, ptr @.str8831) + %t1518 = icmp ne i32 %t1517, 0 + br i1 %t1518, label %then196, label %ifend198 +then196: + %t1519 = call ptr @fn_emit_bind(ptr @.str8832) + %t1520 = call ptr @fn_val(ptr %t1519, ptr @.str8833) + store ptr %t1520, ptr %retval + br label %ret +ifend198: + %t1521 = load ptr, ptr %t38 + %t1522 = call i32 @lp_str_eq(ptr %t1521, ptr @.str8834) + %t1523 = icmp ne i32 %t1522, 0 + br i1 %t1523, label %then199, label %ifend201 +then199: + %t1524 = load ptr, ptr %t0 + %t1525 = getelementptr inbounds %Cmp_Node, ptr %t1524, i32 0, i32 7 + %t1526 = load ptr, ptr %t1525 + %t1527 = getelementptr inbounds %LSlice, ptr %t1526, i32 0, i32 0 + %t1528 = load ptr, ptr %t1527 + %t1529 = getelementptr inbounds ptr, ptr %t1528, i32 0 + %t1530 = load ptr, ptr %t1529 + %t1531 = call ptr @fn_emit_expr(ptr %t1530) + store ptr %t1531, ptr %t1532 + %t1533 = load ptr, ptr %t1532 + %t1534 = getelementptr inbounds %Cmp_Val, ptr %t1533, i32 0, i32 0 + %t1535 = load ptr, ptr %t1534 + %t1536 = call ptr @lp_str_concat(ptr @.str8835, ptr %t1535) + %t1537 = call ptr @lp_str_concat(ptr %t1536, ptr @.str8836) + %t1538 = call ptr @fn_emit_bind(ptr %t1537) + %t1539 = call ptr @fn_val(ptr %t1538, ptr @.str8837) + store ptr %t1539, ptr %retval + br label %ret +ifend201: + %t1540 = load ptr, ptr %t38 + %t1541 = call i32 @lp_str_eq(ptr %t1540, ptr @.str8838) + %t1542 = icmp ne i32 %t1541, 0 + br i1 %t1542, label %then202, label %ifend204 +then202: + %t1543 = load ptr, ptr %t0 + %t1544 = getelementptr inbounds %Cmp_Node, ptr %t1543, i32 0, i32 7 + %t1545 = load ptr, ptr %t1544 + %t1546 = getelementptr inbounds %LSlice, ptr %t1545, i32 0, i32 0 + %t1547 = load ptr, ptr %t1546 + %t1548 = getelementptr inbounds ptr, ptr %t1547, i32 0 + %t1549 = load ptr, ptr %t1548 + %t1550 = call ptr @fn_emit_expr(ptr %t1549) + store ptr %t1550, ptr %t1551 + %t1552 = load ptr, ptr %t1551 + %t1553 = getelementptr inbounds %Cmp_Val, ptr %t1552, i32 0, i32 0 + %t1554 = load ptr, ptr %t1553 + %t1555 = call ptr @lp_str_concat(ptr @.str8839, ptr %t1554) + %t1556 = call ptr @lp_str_concat(ptr %t1555, ptr @.str8840) + %t1557 = call ptr @fn_emit_bind(ptr %t1556) + %t1558 = call ptr @fn_val(ptr %t1557, ptr @.str8841) + store ptr %t1558, ptr %retval + br label %ret +ifend204: + %t1559 = load ptr, ptr %t38 + %t1560 = call i32 @lp_str_eq(ptr %t1559, ptr @.str8842) + %t1561 = icmp ne i32 %t1560, 0 + br i1 %t1561, label %then205, label %ifend207 +then205: + %t1562 = load ptr, ptr %t0 + %t1563 = getelementptr inbounds %Cmp_Node, ptr %t1562, i32 0, i32 7 + %t1564 = load ptr, ptr %t1563 + %t1565 = getelementptr inbounds %LSlice, ptr %t1564, i32 0, i32 0 + %t1566 = load ptr, ptr %t1565 + %t1567 = getelementptr inbounds ptr, ptr %t1566, i32 0 + %t1568 = load ptr, ptr %t1567 + %t1569 = call ptr @fn_emit_expr(ptr %t1568) + store ptr %t1569, ptr %t1570 + %t1571 = load ptr, ptr %t0 + %t1572 = getelementptr inbounds %Cmp_Node, ptr %t1571, i32 0, i32 7 + %t1573 = load ptr, ptr %t1572 + %t1574 = getelementptr inbounds %LSlice, ptr %t1573, i32 0, i32 0 + %t1575 = load ptr, ptr %t1574 + %t1576 = getelementptr inbounds ptr, ptr %t1575, i32 1 + %t1577 = load ptr, ptr %t1576 + %t1578 = call ptr @fn_emit_expr(ptr %t1577) + store ptr %t1578, ptr %t1579 + %t1580 = load ptr, ptr %t1570 + %t1581 = getelementptr inbounds %Cmp_Val, ptr %t1580, i32 0, i32 0 + %t1582 = load ptr, ptr %t1581 + %t1583 = call ptr @lp_str_concat(ptr @.str8843, ptr %t1582) + %t1584 = call ptr @lp_str_concat(ptr %t1583, ptr @.str8844) + %t1585 = load ptr, ptr %t1579 + %t1586 = getelementptr inbounds %Cmp_Val, ptr %t1585, i32 0, i32 0 + %t1587 = load ptr, ptr %t1586 + %t1588 = call ptr @lp_str_concat(ptr %t1584, ptr %t1587) + %t1589 = call ptr @lp_str_concat(ptr %t1588, ptr @.str8845) + %t1590 = call ptr @fn_emit_bind(ptr %t1589) + %t1591 = call ptr @fn_val(ptr %t1590, ptr @.str8846) + store ptr %t1591, ptr %retval + br label %ret +ifend207: + %t1592 = load ptr, ptr %t38 + %t1593 = call i32 @lp_str_eq(ptr %t1592, ptr @.str8847) + %t1594 = icmp ne i32 %t1593, 0 + br i1 %t1594, label %then208, label %ifend210 +then208: + %t1595 = load ptr, ptr %t0 + %t1596 = getelementptr inbounds %Cmp_Node, ptr %t1595, i32 0, i32 7 + %t1597 = load ptr, ptr %t1596 + %t1598 = getelementptr inbounds %LSlice, ptr %t1597, i32 0, i32 0 + %t1599 = load ptr, ptr %t1598 + %t1600 = getelementptr inbounds ptr, ptr %t1599, i32 0 + %t1601 = load ptr, ptr %t1600 + %t1602 = call ptr @fn_emit_expr(ptr %t1601) + store ptr %t1602, ptr %t1603 + %t1604 = load ptr, ptr %t0 + %t1605 = getelementptr inbounds %Cmp_Node, ptr %t1604, i32 0, i32 7 + %t1606 = load ptr, ptr %t1605 + %t1607 = getelementptr inbounds %LSlice, ptr %t1606, i32 0, i32 0 + %t1608 = load ptr, ptr %t1607 + %t1609 = getelementptr inbounds ptr, ptr %t1608, i32 1 + %t1610 = load ptr, ptr %t1609 + %t1611 = call ptr @fn_emit_expr(ptr %t1610) + store ptr %t1611, ptr %t1612 + %t1613 = load ptr, ptr %t1603 + %t1614 = getelementptr inbounds %Cmp_Val, ptr %t1613, i32 0, i32 0 + %t1615 = load ptr, ptr %t1614 + %t1616 = call ptr @lp_str_concat(ptr @.str8848, ptr %t1615) + %t1617 = call ptr @lp_str_concat(ptr %t1616, ptr @.str8849) + %t1618 = load ptr, ptr %t1612 + %t1619 = getelementptr inbounds %Cmp_Val, ptr %t1618, i32 0, i32 0 + %t1620 = load ptr, ptr %t1619 + %t1621 = call ptr @lp_str_concat(ptr %t1617, ptr %t1620) + %t1622 = call ptr @lp_str_concat(ptr %t1621, ptr @.str8850) + %t1623 = call ptr @fn_emit_bind(ptr %t1622) + %t1624 = call ptr @fn_val(ptr %t1623, ptr @.str8851) + store ptr %t1624, ptr %retval + br label %ret +ifend210: + %t1625 = load ptr, ptr %t38 + %t1626 = call i32 @lp_str_eq(ptr %t1625, ptr @.str8852) + %t1627 = icmp ne i32 %t1626, 0 + br i1 %t1627, label %then211, label %ifend213 +then211: + %t1628 = load ptr, ptr %t0 + %t1629 = getelementptr inbounds %Cmp_Node, ptr %t1628, i32 0, i32 7 + %t1630 = load ptr, ptr %t1629 + %t1631 = getelementptr inbounds %LSlice, ptr %t1630, i32 0, i32 0 + %t1632 = load ptr, ptr %t1631 + %t1633 = getelementptr inbounds ptr, ptr %t1632, i32 0 + %t1634 = load ptr, ptr %t1633 + %t1635 = call ptr @fn_emit_expr(ptr %t1634) + store ptr %t1635, ptr %t1636 + %t1637 = load ptr, ptr %t0 + %t1638 = getelementptr inbounds %Cmp_Node, ptr %t1637, i32 0, i32 7 + %t1639 = load ptr, ptr %t1638 + %t1640 = getelementptr inbounds %LSlice, ptr %t1639, i32 0, i32 0 + %t1641 = load ptr, ptr %t1640 + %t1642 = getelementptr inbounds ptr, ptr %t1641, i32 1 + %t1643 = load ptr, ptr %t1642 + %t1644 = call ptr @fn_emit_expr(ptr %t1643) + store ptr %t1644, ptr %t1645 + call void @fn_emit(ptr @.str8853) + %t1646 = load ptr, ptr %t1636 + %t1647 = getelementptr inbounds %Cmp_Val, ptr %t1646, i32 0, i32 0 + %t1648 = load ptr, ptr %t1647 + call void @fn_emit(ptr %t1648) + call void @fn_emit(ptr @.str8854) + %t1649 = load ptr, ptr %t1645 + %t1650 = getelementptr inbounds %Cmp_Val, ptr %t1649, i32 0, i32 0 + %t1651 = load ptr, ptr %t1650 + call void @fn_emit(ptr %t1651) + call void @fn_emit(ptr @.str8855) + %t1652 = call ptr @fn_val(ptr @.str8856, ptr @.str8857) + store ptr %t1652, ptr %retval + br label %ret +ifend213: + %t1653 = load ptr, ptr %t38 + %t1654 = call i32 @lp_str_eq(ptr %t1653, ptr @.str8858) + %t1655 = icmp ne i32 %t1654, 0 + br i1 %t1655, label %then214, label %ifend216 +then214: + %t1656 = load ptr, ptr %t0 + %t1657 = getelementptr inbounds %Cmp_Node, ptr %t1656, i32 0, i32 7 + %t1658 = load ptr, ptr %t1657 + %t1659 = getelementptr inbounds %LSlice, ptr %t1658, i32 0, i32 0 + %t1660 = load ptr, ptr %t1659 + %t1661 = getelementptr inbounds ptr, ptr %t1660, i32 0 + %t1662 = load ptr, ptr %t1661 + %t1663 = call ptr @fn_emit_expr(ptr %t1662) + store ptr %t1663, ptr %t1664 + %t1665 = load ptr, ptr %t0 + %t1666 = getelementptr inbounds %Cmp_Node, ptr %t1665, i32 0, i32 7 + %t1667 = load ptr, ptr %t1666 + %t1668 = getelementptr inbounds %LSlice, ptr %t1667, i32 0, i32 0 + %t1669 = load ptr, ptr %t1668 + %t1670 = getelementptr inbounds ptr, ptr %t1669, i32 1 + %t1671 = load ptr, ptr %t1670 + %t1672 = call ptr @fn_emit_expr(ptr %t1671) + store ptr %t1672, ptr %t1673 + call void @fn_emit(ptr @.str8859) + %t1674 = load ptr, ptr %t1664 + %t1675 = getelementptr inbounds %Cmp_Val, ptr %t1674, i32 0, i32 0 + %t1676 = load ptr, ptr %t1675 + call void @fn_emit(ptr %t1676) + call void @fn_emit(ptr @.str8860) + %t1677 = load ptr, ptr %t1673 + %t1678 = getelementptr inbounds %Cmp_Val, ptr %t1677, i32 0, i32 0 + %t1679 = load ptr, ptr %t1678 + call void @fn_emit(ptr %t1679) + call void @fn_emit(ptr @.str8861) + %t1680 = call ptr @fn_val(ptr @.str8862, ptr @.str8863) + store ptr %t1680, ptr %retval + br label %ret +ifend216: + %t1681 = load ptr, ptr %t38 + %t1682 = call i32 @lp_str_eq(ptr %t1681, ptr @.str8864) + %t1683 = icmp ne i32 %t1682, 0 + br i1 %t1683, label %then217, label %ifend219 +then217: + %t1684 = load ptr, ptr %t0 + %t1685 = getelementptr inbounds %Cmp_Node, ptr %t1684, i32 0, i32 7 + %t1686 = load ptr, ptr %t1685 + %t1687 = getelementptr inbounds %LSlice, ptr %t1686, i32 0, i32 0 + %t1688 = load ptr, ptr %t1687 + %t1689 = getelementptr inbounds ptr, ptr %t1688, i32 0 + %t1690 = load ptr, ptr %t1689 + %t1691 = call ptr @fn_emit_expr(ptr %t1690) + store ptr %t1691, ptr %t1692 + %t1693 = load ptr, ptr %t1692 + %t1694 = getelementptr inbounds %Cmp_Val, ptr %t1693, i32 0, i32 0 + %t1695 = load ptr, ptr %t1694 + %t1696 = call ptr @lp_str_concat(ptr @.str8865, ptr %t1695) + %t1697 = call ptr @lp_str_concat(ptr %t1696, ptr @.str8866) + %t1698 = call ptr @fn_emit_bind(ptr %t1697) + %t1699 = call ptr @fn_val(ptr %t1698, ptr @.str8867) + store ptr %t1699, ptr %retval + br label %ret +ifend219: + %t1700 = load ptr, ptr %t38 + %t1701 = call i32 @lp_str_eq(ptr %t1700, ptr @.str8868) + %t1702 = icmp ne i32 %t1701, 0 + br i1 %t1702, label %then220, label %ifend222 +then220: + %t1703 = call ptr @fn_emit_bind(ptr @.str8869) + %t1704 = call ptr @fn_val(ptr %t1703, ptr @.str8870) + store ptr %t1704, ptr %retval + br label %ret +ifend222: + %t1705 = load ptr, ptr %t38 + %t1706 = call i32 @lp_str_eq(ptr %t1705, ptr @.str8871) + %t1707 = icmp ne i32 %t1706, 0 + br i1 %t1707, label %then223, label %ifend225 +then223: + %t1708 = load ptr, ptr %t0 + %t1709 = getelementptr inbounds %Cmp_Node, ptr %t1708, i32 0, i32 7 + %t1710 = load ptr, ptr %t1709 + %t1711 = getelementptr inbounds %LSlice, ptr %t1710, i32 0, i32 0 + %t1712 = load ptr, ptr %t1711 + %t1713 = getelementptr inbounds ptr, ptr %t1712, i32 0 + %t1714 = load ptr, ptr %t1713 + %t1715 = call ptr @fn_emit_expr(ptr %t1714) + store ptr %t1715, ptr %t1716 + %t1717 = load ptr, ptr %t1716 + %t1718 = getelementptr inbounds %Cmp_Val, ptr %t1717, i32 0, i32 0 + %t1719 = load ptr, ptr %t1718 + %t1720 = call ptr @lp_str_concat(ptr @.str8872, ptr %t1719) + %t1721 = call ptr @lp_str_concat(ptr %t1720, ptr @.str8873) + %t1722 = call ptr @fn_emit_bind(ptr %t1721) + %t1723 = call ptr @fn_val(ptr %t1722, ptr @.str8874) + store ptr %t1723, ptr %retval + br label %ret +ifend225: + %t1724 = load ptr, ptr %t38 + %t1725 = call i32 @lp_str_eq(ptr %t1724, ptr @.str8875) + %t1726 = icmp ne i32 %t1725, 0 + br i1 %t1726, label %then226, label %ifend228 +then226: + %t1727 = load ptr, ptr %t0 + %t1728 = getelementptr inbounds %Cmp_Node, ptr %t1727, i32 0, i32 7 + %t1729 = load ptr, ptr %t1728 + %t1730 = getelementptr inbounds %LSlice, ptr %t1729, i32 0, i32 0 + %t1731 = load ptr, ptr %t1730 + %t1732 = getelementptr inbounds ptr, ptr %t1731, i32 0 + %t1733 = load ptr, ptr %t1732 + %t1734 = call ptr @fn_emit_expr(ptr %t1733) + store ptr %t1734, ptr %t1735 + %t1736 = load ptr, ptr %t1735 + %t1737 = getelementptr inbounds %Cmp_Val, ptr %t1736, i32 0, i32 0 + %t1738 = load ptr, ptr %t1737 + %t1739 = call ptr @lp_str_concat(ptr @.str8876, ptr %t1738) + %t1740 = call ptr @lp_str_concat(ptr %t1739, ptr @.str8877) + %t1741 = call ptr @fn_emit_bind(ptr %t1740) + %t1742 = call ptr @fn_val(ptr %t1741, ptr @.str8878) + store ptr %t1742, ptr %retval + br label %ret +ifend228: + %t1743 = load ptr, ptr %t38 + %t1744 = call i32 @lp_str_eq(ptr %t1743, ptr @.str8879) + %t1745 = icmp ne i32 %t1744, 0 + br i1 %t1745, label %then229, label %ifend231 +then229: + %t1746 = load ptr, ptr %t0 + %t1747 = getelementptr inbounds %Cmp_Node, ptr %t1746, i32 0, i32 7 + %t1748 = load ptr, ptr %t1747 + %t1749 = getelementptr inbounds %LSlice, ptr %t1748, i32 0, i32 0 + %t1750 = load ptr, ptr %t1749 + %t1751 = getelementptr inbounds ptr, ptr %t1750, i32 0 + %t1752 = load ptr, ptr %t1751 + %t1753 = call ptr @fn_emit_expr(ptr %t1752) + store ptr %t1753, ptr %t1754 + %t1755 = load ptr, ptr %t0 + %t1756 = getelementptr inbounds %Cmp_Node, ptr %t1755, i32 0, i32 7 + %t1757 = load ptr, ptr %t1756 + %t1758 = getelementptr inbounds %LSlice, ptr %t1757, i32 0, i32 0 + %t1759 = load ptr, ptr %t1758 + %t1760 = getelementptr inbounds ptr, ptr %t1759, i32 1 + %t1761 = load ptr, ptr %t1760 + %t1762 = call ptr @fn_emit_expr(ptr %t1761) + store ptr %t1762, ptr %t1763 + %t1764 = load ptr, ptr %t1754 + %t1765 = getelementptr inbounds %Cmp_Val, ptr %t1764, i32 0, i32 0 + %t1766 = load ptr, ptr %t1765 + %t1767 = call ptr @lp_str_concat(ptr @.str8880, ptr %t1766) + %t1768 = call ptr @lp_str_concat(ptr %t1767, ptr @.str8881) + %t1769 = load ptr, ptr %t1763 + %t1770 = getelementptr inbounds %Cmp_Val, ptr %t1769, i32 0, i32 0 + %t1771 = load ptr, ptr %t1770 + %t1772 = call ptr @lp_str_concat(ptr %t1768, ptr %t1771) + %t1773 = call ptr @lp_str_concat(ptr %t1772, ptr @.str8882) + %t1774 = call ptr @fn_emit_bind(ptr %t1773) + %t1775 = call ptr @fn_val(ptr %t1774, ptr @.str8883) + store ptr %t1775, ptr %retval + br label %ret +ifend231: + %t1776 = load ptr, ptr %t38 + %t1777 = call i32 @lp_str_eq(ptr %t1776, ptr @.str8884) + %t1778 = icmp ne i32 %t1777, 0 + br i1 %t1778, label %then232, label %ifend234 +then232: + %t1779 = load ptr, ptr %t0 + %t1780 = getelementptr inbounds %Cmp_Node, ptr %t1779, i32 0, i32 7 + %t1781 = load ptr, ptr %t1780 + %t1782 = getelementptr inbounds %LSlice, ptr %t1781, i32 0, i32 0 + %t1783 = load ptr, ptr %t1782 + %t1784 = getelementptr inbounds ptr, ptr %t1783, i32 0 + %t1785 = load ptr, ptr %t1784 + %t1786 = call ptr @fn_emit_expr(ptr %t1785) + store ptr %t1786, ptr %t1787 + %t1788 = load ptr, ptr %t0 + %t1789 = getelementptr inbounds %Cmp_Node, ptr %t1788, i32 0, i32 7 + %t1790 = load ptr, ptr %t1789 + %t1791 = getelementptr inbounds %LSlice, ptr %t1790, i32 0, i32 0 + %t1792 = load ptr, ptr %t1791 + %t1793 = getelementptr inbounds ptr, ptr %t1792, i32 1 + %t1794 = load ptr, ptr %t1793 + %t1795 = call ptr @fn_emit_expr(ptr %t1794) + store ptr %t1795, ptr %t1796 + %t1797 = load ptr, ptr %t1787 + %t1798 = getelementptr inbounds %Cmp_Val, ptr %t1797, i32 0, i32 0 + %t1799 = load ptr, ptr %t1798 + %t1800 = call ptr @lp_str_concat(ptr @.str8885, ptr %t1799) + %t1801 = call ptr @lp_str_concat(ptr %t1800, ptr @.str8886) + %t1802 = load ptr, ptr %t1796 + %t1803 = getelementptr inbounds %Cmp_Val, ptr %t1802, i32 0, i32 0 + %t1804 = load ptr, ptr %t1803 + %t1805 = call ptr @lp_str_concat(ptr %t1801, ptr %t1804) + %t1806 = call ptr @lp_str_concat(ptr %t1805, ptr @.str8887) + %t1807 = call ptr @fn_emit_bind(ptr %t1806) + %t1808 = call ptr @fn_val(ptr %t1807, ptr @.str8888) + store ptr %t1808, ptr %retval + br label %ret +ifend234: + %t1809 = load ptr, ptr %t38 + %t1810 = call i32 @fn_is_intrinsic(ptr %t1809) + %t1811 = icmp ne i32 %t1810, 0 + br i1 %t1811, label %then235, label %ifend237 +then235: + %t1812 = load ptr, ptr %t38 + %t1813 = load ptr, ptr %t0 + %t1814 = call ptr @fn_emit_intrinsic(ptr %t1812, ptr %t1813) + store ptr %t1814, ptr %retval + br label %ret +ifend237: + %t1815 = load ptr, ptr %t38 + %t1816 = call i32 @fn_is_intrinsic2(ptr %t1815) + %t1817 = icmp ne i32 %t1816, 0 + br i1 %t1817, label %then238, label %ifend240 +then238: + %t1818 = load ptr, ptr %t38 + %t1819 = load ptr, ptr %t0 + %t1820 = call ptr @fn_emit_intrinsic2(ptr %t1818, ptr %t1819) + store ptr %t1820, ptr %retval + br label %ret +ifend240: + %t1821 = load ptr, ptr %t38 + %t1822 = call i32 @fn_is_math_builtin(ptr %t1821) + %t1823 = icmp ne i32 %t1822, 0 + br i1 %t1823, label %then241, label %ifend243 +then241: + %t1824 = load ptr, ptr %t38 + %t1825 = load ptr, ptr %t0 + %t1826 = call ptr @fn_emit_math_builtin(ptr %t1824, ptr %t1825) + store ptr %t1826, ptr %retval + br label %ret +ifend243: + %t1827 = load ptr, ptr %t38 + %t1828 = call ptr @fn_find_extern(ptr %t1827) + store ptr %t1828, ptr %t1829 + %t1830 = load ptr, ptr %t1829 + %t1831 = icmp ne ptr %t1830, null + %t1832 = zext i1 %t1831 to i32 + %t1833 = icmp ne i32 %t1832, 0 + br i1 %t1833, label %then244, label %ifend246 +then244: + %t1834 = load ptr, ptr %t0 + %t1835 = load ptr, ptr %t1829 + %t1836 = call ptr @fn_param_labels(ptr %t1835) + call void @fn_reorder_named(ptr %t1834, ptr %t1836) + %t1837 = getelementptr %LSlice, ptr null, i32 1 + %t1838 = ptrtoint ptr %t1837 to i64 + %t1839 = call ptr @malloc(i64 %t1838) + %t1840 = getelementptr inbounds %LSlice, ptr %t1839, i32 0, i32 0 + store ptr null, ptr %t1840 + %t1841 = getelementptr inbounds %LSlice, ptr %t1839, i32 0, i32 1 + store i32 0, ptr %t1841 + %t1842 = getelementptr inbounds %LSlice, ptr %t1839, i32 0, i32 2 + store i32 0, ptr %t1842 + store ptr %t1839, ptr %t1843 + %t1844 = getelementptr %LSlice, ptr null, i32 1 + %t1845 = ptrtoint ptr %t1844 to i64 + %t1846 = call ptr @malloc(i64 %t1845) + %t1847 = getelementptr inbounds %LSlice, ptr %t1846, i32 0, i32 0 + store ptr null, ptr %t1847 + %t1848 = getelementptr inbounds %LSlice, ptr %t1846, i32 0, i32 1 + store i32 0, ptr %t1848 + %t1849 = getelementptr inbounds %LSlice, ptr %t1846, i32 0, i32 2 + store i32 0, ptr %t1849 + store ptr %t1846, ptr %t1850 + store i32 0, ptr %t1851 + br label %wcond247 +wcond247: + %t1852 = load i32, ptr %t1851 + %t1853 = load ptr, ptr %t0 + %t1854 = getelementptr inbounds %Cmp_Node, ptr %t1853, i32 0, i32 7 + %t1855 = load ptr, ptr %t1854 + %t1856 = getelementptr inbounds %LSlice, ptr %t1855, i32 0, i32 1 + %t1857 = load i32, ptr %t1856 + %t1858 = icmp slt i32 %t1852, %t1857 + %t1859 = zext i1 %t1858 to i32 + %t1860 = icmp ne i32 %t1859, 0 + br i1 %t1860, label %wbody248, label %wend249 +wbody248: + %t1861 = load ptr, ptr %t0 + %t1862 = getelementptr inbounds %Cmp_Node, ptr %t1861, i32 0, i32 7 + %t1863 = load ptr, ptr %t1862 + %t1864 = getelementptr inbounds %LSlice, ptr %t1863, i32 0, i32 0 + %t1865 = load ptr, ptr %t1864 + %t1866 = load i32, ptr %t1851 + %t1867 = getelementptr inbounds ptr, ptr %t1865, i32 %t1866 + %t1868 = load ptr, ptr %t1867 + %t1869 = call ptr @fn_emit_expr(ptr %t1868) + store ptr %t1869, ptr %t1870 + %t1871 = load ptr, ptr %t1843 + %t1872 = load ptr, ptr %t1870 + %t1873 = getelementptr inbounds %Cmp_Val, ptr %t1872, i32 0, i32 0 + %t1874 = load ptr, ptr %t1873 + %t1875 = getelementptr inbounds %LSlice, ptr %t1871, i32 0, i32 1 + %t1876 = getelementptr inbounds %LSlice, ptr %t1871, i32 0, i32 2 + %t1877 = getelementptr inbounds %LSlice, ptr %t1871, i32 0, i32 0 + %t1878 = load i32, ptr %t1875 + %t1879 = load i32, ptr %t1876 + %t1880 = icmp sge i32 %t1878, %t1879 + br i1 %t1880, label %grow250, label %put251 +grow250: + %t1881 = mul i32 %t1879, 2 + %t1882 = icmp eq i32 %t1879, 0 + %t1883 = select i1 %t1882, i32 8, i32 %t1881 + %t1884 = getelementptr ptr, ptr null, i32 1 + %t1885 = ptrtoint ptr %t1884 to i64 + %t1886 = zext i32 %t1883 to i64 + %t1887 = mul i64 %t1886, %t1885 + %t1888 = load ptr, ptr %t1877 + %t1889 = call ptr @realloc(ptr %t1888, i64 %t1887) + store ptr %t1889, ptr %t1877 + store i32 %t1883, ptr %t1876 + br label %put251 +put251: + %t1890 = load ptr, ptr %t1877 + %t1891 = getelementptr inbounds ptr, ptr %t1890, i32 %t1878 + store ptr %t1874, ptr %t1891 + %t1892 = add i32 %t1878, 1 + store i32 %t1892, ptr %t1875 + %t1893 = load ptr, ptr %t1850 + %t1894 = load ptr, ptr %t1870 + %t1895 = getelementptr inbounds %Cmp_Val, ptr %t1894, i32 0, i32 1 + %t1896 = load ptr, ptr %t1895 + %t1897 = getelementptr inbounds %LSlice, ptr %t1893, i32 0, i32 1 + %t1898 = getelementptr inbounds %LSlice, ptr %t1893, i32 0, i32 2 + %t1899 = getelementptr inbounds %LSlice, ptr %t1893, i32 0, i32 0 + %t1900 = load i32, ptr %t1897 + %t1901 = load i32, ptr %t1898 + %t1902 = icmp sge i32 %t1900, %t1901 + br i1 %t1902, label %grow252, label %put253 +grow252: + %t1903 = mul i32 %t1901, 2 + %t1904 = icmp eq i32 %t1901, 0 + %t1905 = select i1 %t1904, i32 8, i32 %t1903 + %t1906 = getelementptr ptr, ptr null, i32 1 + %t1907 = ptrtoint ptr %t1906 to i64 + %t1908 = zext i32 %t1905 to i64 + %t1909 = mul i64 %t1908, %t1907 + %t1910 = load ptr, ptr %t1899 + %t1911 = call ptr @realloc(ptr %t1910, i64 %t1909) + store ptr %t1911, ptr %t1899 + store i32 %t1905, ptr %t1898 + br label %put253 +put253: + %t1912 = load ptr, ptr %t1899 + %t1913 = getelementptr inbounds ptr, ptr %t1912, i32 %t1900 + store ptr %t1896, ptr %t1913 + %t1914 = add i32 %t1900, 1 + store i32 %t1914, ptr %t1897 + %t1915 = load i32, ptr %t1851 + %t1916 = add i32 %t1915, 1 + store i32 %t1916, ptr %t1851 + br label %wcond247 +wend249: + %t1917 = load ptr, ptr %t1829 + %t1918 = getelementptr inbounds %Cmp_Node, ptr %t1917, i32 0, i32 3 + %t1919 = load ptr, ptr %t1918 + %t1920 = call ptr @fn_llty(ptr %t1919) + store ptr %t1920, ptr %t1921 + call void @fn_emit(ptr @.str8889) + store ptr @.str8890, ptr %t1922 + %t1923 = load ptr, ptr %t1921 + %t1924 = call i32 @lp_str_eq(ptr %t1923, ptr @.str8891) + %t1925 = icmp eq i32 %t1924, 0 + %t1926 = zext i1 %t1925 to i32 + %t1927 = icmp ne i32 %t1926, 0 + br i1 %t1927, label %then254, label %ifend256 +then254: + %t1928 = call ptr @fn_nreg() + store ptr %t1928, ptr %t1922 + %t1929 = load ptr, ptr %t1922 + call void @fn_emit(ptr %t1929) + call void @fn_emit(ptr @.str8892) + br label %ifend256 +ifend256: + call void @fn_emit(ptr @.str8893) + %t1930 = load ptr, ptr %t1921 + call void @fn_emit(ptr %t1930) + call void @fn_emit(ptr @.str8894) + %t1931 = load ptr, ptr %t1829 + %t1932 = getelementptr inbounds %Cmp_Node, ptr %t1931, i32 0, i32 4 + %t1933 = load ptr, ptr %t1932 + %t1934 = getelementptr inbounds %Cmp_Node, ptr %t1933, i32 0, i32 1 + %t1935 = load ptr, ptr %t1934 + call void @fn_emit(ptr %t1935) + call void @fn_emit(ptr @.str8895) + store i32 0, ptr %t1851 + br label %wcond257 +wcond257: + %t1936 = load i32, ptr %t1851 + %t1937 = load ptr, ptr %t1843 + %t1938 = getelementptr inbounds %LSlice, ptr %t1937, i32 0, i32 1 + %t1939 = load i32, ptr %t1938 + %t1940 = icmp slt i32 %t1936, %t1939 + %t1941 = zext i1 %t1940 to i32 + %t1942 = icmp ne i32 %t1941, 0 + br i1 %t1942, label %wbody258, label %wend259 +wbody258: + %t1943 = load i32, ptr %t1851 + %t1944 = icmp sgt i32 %t1943, 0 + %t1945 = zext i1 %t1944 to i32 + %t1946 = icmp ne i32 %t1945, 0 + br i1 %t1946, label %then260, label %ifend262 +then260: + call void @fn_emit(ptr @.str8896) + br label %ifend262 +ifend262: + %t1947 = load ptr, ptr %t1850 + %t1948 = getelementptr inbounds %LSlice, ptr %t1947, i32 0, i32 0 + %t1949 = load ptr, ptr %t1948 + %t1950 = load i32, ptr %t1851 + %t1951 = getelementptr inbounds ptr, ptr %t1949, i32 %t1950 + %t1952 = load ptr, ptr %t1951 + %t1953 = call ptr @fn_llty(ptr %t1952) + call void @fn_emit(ptr %t1953) + call void @fn_emit(ptr @.str8897) + %t1954 = load ptr, ptr %t1843 + %t1955 = getelementptr inbounds %LSlice, ptr %t1954, i32 0, i32 0 + %t1956 = load ptr, ptr %t1955 + %t1957 = load i32, ptr %t1851 + %t1958 = getelementptr inbounds ptr, ptr %t1956, i32 %t1957 + %t1959 = load ptr, ptr %t1958 + call void @fn_emit(ptr %t1959) + %t1960 = load i32, ptr %t1851 + %t1961 = add i32 %t1960, 1 + store i32 %t1961, ptr %t1851 + br label %wcond257 +wend259: + call void @fn_emit(ptr @.str8898) + %t1962 = load ptr, ptr %t1922 + %t1963 = load ptr, ptr %t1829 + %t1964 = getelementptr inbounds %Cmp_Node, ptr %t1963, i32 0, i32 3 + %t1965 = load ptr, ptr %t1964 + %t1966 = call ptr @fn_val(ptr %t1962, ptr %t1965) + store ptr %t1966, ptr %retval + br label %ret +ifend246: + %t1967 = load ptr, ptr %t38 + %t1968 = call ptr @fn_variant_enum(ptr %t1967) + store ptr %t1968, ptr %t1969 + %t1970 = load ptr, ptr %t1969 + %t1971 = icmp ne ptr %t1970, null + %t1972 = zext i1 %t1971 to i32 + %t1973 = icmp ne i32 %t1972, 0 + br i1 %t1973, label %then263, label %ifend265 +then263: + %t1974 = load ptr, ptr %t1969 + %t1975 = load i32, ptr @g_g_var_ord + %t1976 = load ptr, ptr %t0 + %t1977 = getelementptr inbounds %Cmp_Node, ptr %t1976, i32 0, i32 7 + %t1978 = load ptr, ptr %t1977 + %t1979 = call ptr @fn_emit_variant_new(ptr %t1974, i32 %t1975, ptr %t1978) + store ptr %t1979, ptr %retval + br label %ret +ifend265: + %t1980 = load ptr, ptr %t38 + %t1981 = call ptr @fn_find_fn(ptr %t1980) + store ptr %t1981, ptr %t1982 + %t1983 = load ptr, ptr %t38 + store ptr %t1983, ptr %t1984 + %t1985 = load ptr, ptr %t1982 + %t1986 = icmp eq ptr %t1985, null + %t1987 = zext i1 %t1986 to i32 + %t1988 = icmp ne i32 %t1987, 0 + br i1 %t1988, label %then266, label %ifend268 +then266: + %t1989 = load ptr, ptr %t38 + %t1990 = call ptr @lp_str_concat(ptr @.str8899, ptr %t1989) + store ptr %t1990, ptr %t1991 + %t1992 = load ptr, ptr %t1991 + %t1993 = call ptr @fn_find_fn(ptr %t1992) + store ptr %t1993, ptr %t1982 + %t1994 = load ptr, ptr %t1982 + %t1995 = icmp eq ptr %t1994, null + %t1996 = zext i1 %t1995 to i32 + %t1997 = icmp ne i32 %t1996, 0 + br i1 %t1997, label %then269, label %ifend271 +then269: + %t1998 = load ptr, ptr %t38 + %t1999 = call ptr @lp_str_concat(ptr @.str8900, ptr %t1998) + call void @fn_perr(ptr %t1999) + br label %ifend271 +ifend271: + %t2000 = load ptr, ptr %t1991 + store ptr %t2000, ptr %t1984 + br label %ifend268 +ifend268: + %t2001 = load ptr, ptr %t0 + %t2002 = load ptr, ptr %t1982 + %t2003 = call ptr @fn_param_labels(ptr %t2002) + call void @fn_reorder_named(ptr %t2001, ptr %t2003) + %t2004 = load ptr, ptr %t1982 + %t2005 = call ptr @fn_param_types(ptr %t2004) + store ptr %t2005, ptr %t2006 + %t2007 = getelementptr %LSlice, ptr null, i32 1 + %t2008 = ptrtoint ptr %t2007 to i64 + %t2009 = call ptr @malloc(i64 %t2008) + %t2010 = getelementptr inbounds %LSlice, ptr %t2009, i32 0, i32 0 + store ptr null, ptr %t2010 + %t2011 = getelementptr inbounds %LSlice, ptr %t2009, i32 0, i32 1 + store i32 0, ptr %t2011 + %t2012 = getelementptr inbounds %LSlice, ptr %t2009, i32 0, i32 2 + store i32 0, ptr %t2012 + store ptr %t2009, ptr %t2013 + %t2014 = getelementptr %LSlice, ptr null, i32 1 + %t2015 = ptrtoint ptr %t2014 to i64 + %t2016 = call ptr @malloc(i64 %t2015) + %t2017 = getelementptr inbounds %LSlice, ptr %t2016, i32 0, i32 0 + store ptr null, ptr %t2017 + %t2018 = getelementptr inbounds %LSlice, ptr %t2016, i32 0, i32 1 + store i32 0, ptr %t2018 + %t2019 = getelementptr inbounds %LSlice, ptr %t2016, i32 0, i32 2 + store i32 0, ptr %t2019 + store ptr %t2016, ptr %t2020 + store i32 0, ptr %t2021 + br label %wcond272 +wcond272: + %t2022 = load i32, ptr %t2021 + %t2023 = load ptr, ptr %t0 + %t2024 = getelementptr inbounds %Cmp_Node, ptr %t2023, i32 0, i32 7 + %t2025 = load ptr, ptr %t2024 + %t2026 = getelementptr inbounds %LSlice, ptr %t2025, i32 0, i32 1 + %t2027 = load i32, ptr %t2026 + %t2028 = icmp slt i32 %t2022, %t2027 + %t2029 = zext i1 %t2028 to i32 + %t2030 = icmp ne i32 %t2029, 0 + br i1 %t2030, label %wbody273, label %wend274 +wbody273: + %t2031 = load ptr, ptr %t0 + %t2032 = getelementptr inbounds %Cmp_Node, ptr %t2031, i32 0, i32 7 + %t2033 = load ptr, ptr %t2032 + %t2034 = getelementptr inbounds %LSlice, ptr %t2033, i32 0, i32 0 + %t2035 = load ptr, ptr %t2034 + %t2036 = load i32, ptr %t2021 + %t2037 = getelementptr inbounds ptr, ptr %t2035, i32 %t2036 + %t2038 = load ptr, ptr %t2037 + %t2039 = call ptr @fn_emit_expr(ptr %t2038) + store ptr %t2039, ptr %t2040 + %t2041 = load ptr, ptr %t2040 + %t2042 = getelementptr inbounds %Cmp_Val, ptr %t2041, i32 0, i32 1 + %t2043 = load ptr, ptr %t2042 + store ptr %t2043, ptr %t2044 + %t2045 = load i32, ptr %t2021 + %t2046 = load ptr, ptr %t2006 + %t2047 = getelementptr inbounds %LSlice, ptr %t2046, i32 0, i32 1 + %t2048 = load i32, ptr %t2047 + %t2049 = icmp slt i32 %t2045, %t2048 + %t2050 = zext i1 %t2049 to i32 + %t2051 = icmp ne i32 %t2050, 0 + br i1 %t2051, label %then275, label %ifend277 +then275: + %t2052 = load ptr, ptr %t2006 + %t2053 = getelementptr inbounds %LSlice, ptr %t2052, i32 0, i32 0 + %t2054 = load ptr, ptr %t2053 + %t2055 = load i32, ptr %t2021 + %t2056 = getelementptr inbounds ptr, ptr %t2054, i32 %t2055 + %t2057 = load ptr, ptr %t2056 + store ptr %t2057, ptr %t2044 + br label %ifend277 +ifend277: + %t2058 = load ptr, ptr %t2013 + %t2059 = load ptr, ptr %t2040 + %t2060 = load ptr, ptr %t2044 + %t2061 = call ptr @fn_coerce_code(ptr %t2059, ptr %t2060) + %t2062 = getelementptr inbounds %LSlice, ptr %t2058, i32 0, i32 1 + %t2063 = getelementptr inbounds %LSlice, ptr %t2058, i32 0, i32 2 + %t2064 = getelementptr inbounds %LSlice, ptr %t2058, i32 0, i32 0 + %t2065 = load i32, ptr %t2062 + %t2066 = load i32, ptr %t2063 + %t2067 = icmp sge i32 %t2065, %t2066 + br i1 %t2067, label %grow278, label %put279 +grow278: + %t2068 = mul i32 %t2066, 2 + %t2069 = icmp eq i32 %t2066, 0 + %t2070 = select i1 %t2069, i32 8, i32 %t2068 + %t2071 = getelementptr ptr, ptr null, i32 1 + %t2072 = ptrtoint ptr %t2071 to i64 + %t2073 = zext i32 %t2070 to i64 + %t2074 = mul i64 %t2073, %t2072 + %t2075 = load ptr, ptr %t2064 + %t2076 = call ptr @realloc(ptr %t2075, i64 %t2074) + store ptr %t2076, ptr %t2064 + store i32 %t2070, ptr %t2063 + br label %put279 +put279: + %t2077 = load ptr, ptr %t2064 + %t2078 = getelementptr inbounds ptr, ptr %t2077, i32 %t2065 + store ptr %t2061, ptr %t2078 + %t2079 = add i32 %t2065, 1 + store i32 %t2079, ptr %t2062 + %t2080 = load ptr, ptr %t2020 + %t2081 = load ptr, ptr %t2044 + %t2082 = getelementptr inbounds %LSlice, ptr %t2080, i32 0, i32 1 + %t2083 = getelementptr inbounds %LSlice, ptr %t2080, i32 0, i32 2 + %t2084 = getelementptr inbounds %LSlice, ptr %t2080, i32 0, i32 0 + %t2085 = load i32, ptr %t2082 + %t2086 = load i32, ptr %t2083 + %t2087 = icmp sge i32 %t2085, %t2086 + br i1 %t2087, label %grow280, label %put281 +grow280: + %t2088 = mul i32 %t2086, 2 + %t2089 = icmp eq i32 %t2086, 0 + %t2090 = select i1 %t2089, i32 8, i32 %t2088 + %t2091 = getelementptr ptr, ptr null, i32 1 + %t2092 = ptrtoint ptr %t2091 to i64 + %t2093 = zext i32 %t2090 to i64 + %t2094 = mul i64 %t2093, %t2092 + %t2095 = load ptr, ptr %t2084 + %t2096 = call ptr @realloc(ptr %t2095, i64 %t2094) + store ptr %t2096, ptr %t2084 + store i32 %t2090, ptr %t2083 + br label %put281 +put281: + %t2097 = load ptr, ptr %t2084 + %t2098 = getelementptr inbounds ptr, ptr %t2097, i32 %t2085 + store ptr %t2081, ptr %t2098 + %t2099 = add i32 %t2085, 1 + store i32 %t2099, ptr %t2082 + %t2100 = load i32, ptr %t2021 + %t2101 = add i32 %t2100, 1 + store i32 %t2101, ptr %t2021 + br label %wcond272 +wend274: + %t2102 = load ptr, ptr %t1982 + %t2103 = getelementptr inbounds %Cmp_Node, ptr %t2102, i32 0, i32 3 + %t2104 = load ptr, ptr %t2103 + %t2105 = call ptr @fn_llty(ptr %t2104) + store ptr %t2105, ptr %t2106 + call void @fn_emit(ptr @.str8901) + store ptr @.str8902, ptr %t2107 + %t2108 = load ptr, ptr %t2106 + %t2109 = call i32 @lp_str_eq(ptr %t2108, ptr @.str8903) + %t2110 = icmp eq i32 %t2109, 0 + %t2111 = zext i1 %t2110 to i32 + %t2112 = icmp ne i32 %t2111, 0 + br i1 %t2112, label %then282, label %ifend284 +then282: + %t2113 = call ptr @fn_nreg() + store ptr %t2113, ptr %t2107 + %t2114 = load ptr, ptr %t2107 + call void @fn_emit(ptr %t2114) + call void @fn_emit(ptr @.str8904) + br label %ifend284 +ifend284: + call void @fn_emit(ptr @.str8905) + %t2115 = load ptr, ptr %t2106 + call void @fn_emit(ptr %t2115) + call void @fn_emit(ptr @.str8906) + %t2116 = load ptr, ptr %t1984 + call void @fn_emit(ptr %t2116) + call void @fn_emit(ptr @.str8907) + store i32 0, ptr %t2021 + br label %wcond285 +wcond285: + %t2117 = load i32, ptr %t2021 + %t2118 = load ptr, ptr %t2013 + %t2119 = getelementptr inbounds %LSlice, ptr %t2118, i32 0, i32 1 + %t2120 = load i32, ptr %t2119 + %t2121 = icmp slt i32 %t2117, %t2120 + %t2122 = zext i1 %t2121 to i32 + %t2123 = icmp ne i32 %t2122, 0 + br i1 %t2123, label %wbody286, label %wend287 +wbody286: + %t2124 = load i32, ptr %t2021 + %t2125 = icmp sgt i32 %t2124, 0 + %t2126 = zext i1 %t2125 to i32 + %t2127 = icmp ne i32 %t2126, 0 + br i1 %t2127, label %then288, label %ifend290 +then288: + call void @fn_emit(ptr @.str8908) + br label %ifend290 +ifend290: + %t2128 = load ptr, ptr %t2020 + %t2129 = getelementptr inbounds %LSlice, ptr %t2128, i32 0, i32 0 + %t2130 = load ptr, ptr %t2129 + %t2131 = load i32, ptr %t2021 + %t2132 = getelementptr inbounds ptr, ptr %t2130, i32 %t2131 + %t2133 = load ptr, ptr %t2132 + %t2134 = call ptr @fn_llty(ptr %t2133) + call void @fn_emit(ptr %t2134) + call void @fn_emit(ptr @.str8909) + %t2135 = load ptr, ptr %t2013 + %t2136 = getelementptr inbounds %LSlice, ptr %t2135, i32 0, i32 0 + %t2137 = load ptr, ptr %t2136 + %t2138 = load i32, ptr %t2021 + %t2139 = getelementptr inbounds ptr, ptr %t2137, i32 %t2138 + %t2140 = load ptr, ptr %t2139 + call void @fn_emit(ptr %t2140) + %t2141 = load i32, ptr %t2021 + %t2142 = add i32 %t2141, 1 + store i32 %t2142, ptr %t2021 + br label %wcond285 +wend287: + call void @fn_emit(ptr @.str8910) + %t2143 = load ptr, ptr %t2107 + %t2144 = load ptr, ptr %t1982 + %t2145 = getelementptr inbounds %Cmp_Node, ptr %t2144, i32 0, i32 3 + %t2146 = load ptr, ptr %t2145 + %t2147 = call ptr @fn_val(ptr %t2143, ptr %t2146) + store ptr %t2147, ptr %retval + br label %ret +ret: + %t2148 = load ptr, ptr %retval + ret ptr %t2148 +} + +define ptr @fn_emit_expr(ptr %arg_e) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t65 = alloca ptr + %t70 = alloca ptr + %t75 = alloca ptr + %t144 = alloca i32 + %t166 = alloca ptr + %t192 = alloca ptr + %t213 = alloca ptr + %t256 = alloca i32 + %t279 = alloca i32 + %t300 = alloca i32 + %t312 = alloca ptr + %t317 = alloca i32 + %t322 = alloca i32 + %t344 = alloca ptr + %t365 = alloca ptr + %t378 = alloca ptr + %t390 = alloca ptr + %t397 = alloca ptr + %t448 = alloca ptr + %t515 = alloca ptr + store ptr %arg_e, ptr %t0 + %t1 = load ptr, ptr %t0 + %t2 = icmp eq ptr %t1, null + %t3 = zext i1 %t2 to i32 + %t4 = icmp ne i32 %t3, 0 + br i1 %t4, label %then0, label %ifend2 +then0: + %t5 = call ptr @fn_val(ptr @.str8911, ptr @.str8912) + 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 @.str8913) + 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 @.str8914) + 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 @.str8915) + 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 @.str8916, ptr @.str8917) + store ptr %t45, ptr %retval + br label %ret +ifend14: + %t46 = load ptr, ptr %t0 + %t47 = getelementptr inbounds %Cmp_Node, ptr %t46, i32 0, i32 0 + %t48 = load i32, ptr %t47 + %t49 = icmp eq i32 %t48, 22 + %t50 = zext i1 %t49 to i32 + %t51 = icmp ne i32 %t50, 0 + br i1 %t51, label %then15, label %ifend17 +then15: + %t52 = load ptr, ptr %t0 + %t53 = call ptr @fn_emit_spawn(ptr %t52) + %t54 = call ptr @fn_val(ptr %t53, ptr @.str8918) + store ptr %t54, ptr %retval + br label %ret +ifend17: + %t55 = load ptr, ptr %t0 + %t56 = getelementptr inbounds %Cmp_Node, ptr %t55, i32 0, i32 0 + %t57 = load i32, ptr %t56 + %t58 = icmp eq i32 %t57, 44 + %t59 = zext i1 %t58 to i32 + %t60 = icmp ne i32 %t59, 0 + br i1 %t60, label %then18, label %ifend20 +then18: + %t61 = load ptr, ptr %t0 + %t62 = getelementptr inbounds %Cmp_Node, ptr %t61, i32 0, i32 4 + %t63 = load ptr, ptr %t62 + %t64 = call ptr @fn_emit_expr(ptr %t63) + store ptr %t64, ptr %t65 + %t66 = load ptr, ptr %t0 + %t67 = getelementptr inbounds %Cmp_Node, ptr %t66, i32 0, i32 5 + %t68 = load ptr, ptr %t67 + %t69 = call ptr @fn_emit_expr(ptr %t68) + store ptr %t69, ptr %t70 + %t71 = load ptr, ptr %t0 + %t72 = getelementptr inbounds %Cmp_Node, ptr %t71, i32 0, i32 6 + %t73 = load ptr, ptr %t72 + %t74 = call ptr @fn_emit_expr(ptr %t73) + store ptr %t74, ptr %t75 + store i32 1, ptr @g_g_uses_strslice + %t76 = load ptr, ptr %t65 + %t77 = getelementptr inbounds %Cmp_Val, ptr %t76, i32 0, i32 0 + %t78 = load ptr, ptr %t77 + %t79 = call ptr @lp_str_concat(ptr @.str8919, ptr %t78) + %t80 = call ptr @lp_str_concat(ptr %t79, ptr @.str8920) + %t81 = load ptr, ptr %t70 + %t82 = getelementptr inbounds %Cmp_Val, ptr %t81, i32 0, i32 0 + %t83 = load ptr, ptr %t82 + %t84 = call ptr @lp_str_concat(ptr %t80, ptr %t83) + %t85 = call ptr @lp_str_concat(ptr %t84, ptr @.str8921) + %t86 = load ptr, ptr %t75 + %t87 = getelementptr inbounds %Cmp_Val, ptr %t86, i32 0, i32 0 + %t88 = load ptr, ptr %t87 + %t89 = call ptr @lp_str_concat(ptr %t85, ptr %t88) + %t90 = call ptr @lp_str_concat(ptr %t89, ptr @.str8922) + %t91 = call ptr @fn_emit_bind(ptr %t90) + %t92 = call ptr @fn_val(ptr %t91, ptr @.str8923) + store ptr %t92, ptr %retval + br label %ret +ifend20: + %t93 = load ptr, ptr %t0 + %t94 = getelementptr inbounds %Cmp_Node, ptr %t93, i32 0, i32 0 + %t95 = load i32, ptr %t94 + %t96 = icmp eq i32 %t95, 31 + %t97 = zext i1 %t96 to i32 + %t98 = icmp ne i32 %t97, 0 + br i1 %t98, label %then21, label %ifend23 +then21: + %t99 = load ptr, ptr %t0 + %t100 = getelementptr inbounds %Cmp_Node, ptr %t99, i32 0, i32 1 + %t101 = load ptr, ptr %t100 + %t102 = call ptr @fn_emit_str_const(ptr %t101) + %t103 = call ptr @fn_val(ptr %t102, ptr @.str8924) + store ptr %t103, ptr %retval + br label %ret +ifend23: + %t104 = load ptr, ptr %t0 + %t105 = getelementptr inbounds %Cmp_Node, ptr %t104, i32 0, i32 0 + %t106 = load i32, ptr %t105 + %t107 = icmp eq i32 %t106, 39 + %t108 = zext i1 %t107 to i32 + %t109 = icmp ne i32 %t108, 0 + br i1 %t109, label %then24, label %ifend26 +then24: + %t110 = load ptr, ptr %t0 + %t111 = getelementptr inbounds %Cmp_Node, ptr %t110, i32 0, i32 1 + %t112 = load ptr, ptr %t111 + %t113 = call i32 @fn_is_slice_ty(ptr %t112) + %t114 = icmp ne i32 %t113, 0 + br i1 %t114, label %then27, label %ifend29 +then27: + %t115 = load ptr, ptr %t0 + %t116 = getelementptr inbounds %Cmp_Node, ptr %t115, i32 0, i32 1 + %t117 = load ptr, ptr %t116 + %t118 = call ptr @fn_emit_new_slice(ptr %t117) + store ptr %t118, ptr %retval + br label %ret +ifend29: + %t119 = load ptr, ptr %t0 + %t120 = getelementptr inbounds %Cmp_Node, ptr %t119, i32 0, i32 1 + %t121 = load ptr, ptr %t120 + %t122 = load ptr, ptr %t0 + %t123 = getelementptr inbounds %Cmp_Node, ptr %t122, i32 0, i32 4 + %t124 = load ptr, ptr %t123 + %t125 = call ptr @fn_emit_new_struct(ptr %t121, ptr %t124) + store ptr %t125, ptr %retval + br label %ret +ifend26: + %t126 = load ptr, ptr %t0 + %t127 = getelementptr inbounds %Cmp_Node, ptr %t126, i32 0, i32 0 + %t128 = load i32, ptr %t127 + %t129 = icmp eq i32 %t128, 54 + %t130 = zext i1 %t129 to i32 + %t131 = icmp ne i32 %t130, 0 + br i1 %t131, label %then30, label %ifend32 +then30: + %t132 = load ptr, ptr %t0 + %t133 = call ptr @fn_emit_list(ptr %t132) + store ptr %t133, ptr %retval + br label %ret +ifend32: + %t134 = load ptr, ptr %t0 + %t135 = getelementptr inbounds %Cmp_Node, ptr %t134, i32 0, i32 0 + %t136 = load i32, ptr %t135 + %t137 = icmp eq i32 %t136, 33 + %t138 = zext i1 %t137 to i32 + %t139 = icmp ne i32 %t138, 0 + br i1 %t139, label %then33, label %ifend35 +then33: + %t140 = load ptr, ptr %t0 + %t141 = getelementptr inbounds %Cmp_Node, ptr %t140, i32 0, i32 1 + %t142 = load ptr, ptr %t141 + %t143 = call i32 @fn_loc_find(ptr %t142) + store i32 %t143, ptr %t144 + %t145 = load i32, ptr %t144 + %t146 = icmp sge i32 %t145, 0 + %t147 = zext i1 %t146 to i32 + %t148 = icmp ne i32 %t147, 0 + br i1 %t148, label %then36, label %ifend38 +then36: + %t149 = load ptr, ptr @g_loc_reg + %t150 = getelementptr inbounds %LSlice, ptr %t149, i32 0, i32 0 + %t151 = load ptr, ptr %t150 + %t152 = load i32, ptr %t144 + %t153 = getelementptr inbounds ptr, ptr %t151, i32 %t152 + %t154 = load ptr, ptr %t153 + %t155 = load ptr, ptr @g_loc_ty + %t156 = getelementptr inbounds %LSlice, ptr %t155, i32 0, i32 0 + %t157 = load ptr, ptr %t156 + %t158 = load i32, ptr %t144 + %t159 = getelementptr inbounds ptr, ptr %t157, i32 %t158 + %t160 = load ptr, ptr %t159 + %t161 = call ptr @fn_emit_load_at(ptr %t154, ptr %t160) + store ptr %t161, ptr %retval + br label %ret +ifend38: + %t162 = load ptr, ptr %t0 + %t163 = getelementptr inbounds %Cmp_Node, ptr %t162, i32 0, i32 1 + %t164 = load ptr, ptr %t163 + %t165 = call ptr @fn_find_global(ptr %t164) + store ptr %t165, ptr %t166 + %t167 = load ptr, ptr %t166 + %t168 = icmp ne ptr %t167, null + %t169 = zext i1 %t168 to i32 + %t170 = icmp ne i32 %t169, 0 + br i1 %t170, label %then39, label %ifend41 +then39: + %t171 = load ptr, ptr %t166 + %t172 = getelementptr inbounds %Cmp_Node, ptr %t171, i32 0, i32 0 + %t173 = load i32, ptr %t172 + %t174 = icmp eq i32 %t173, 3 + %t175 = zext i1 %t174 to i32 + %t176 = icmp ne i32 %t175, 0 + br i1 %t176, label %then42, label %ifend44 +then42: + %t177 = load ptr, ptr %t166 + %t178 = getelementptr inbounds %Cmp_Node, ptr %t177, i32 0, i32 4 + %t179 = load ptr, ptr %t178 + %t180 = call ptr @fn_emit_expr(ptr %t179) + store ptr %t180, ptr %retval + br label %ret +ifend44: + %t181 = load ptr, ptr %t166 + %t182 = getelementptr inbounds %Cmp_Node, ptr %t181, i32 0, i32 3 + %t183 = load ptr, ptr %t182 + %t184 = call ptr @fn_llty(ptr %t183) + %t185 = call ptr @lp_str_concat(ptr @.str8925, ptr %t184) + %t186 = call ptr @lp_str_concat(ptr %t185, ptr @.str8926) + %t187 = load ptr, ptr %t0 + %t188 = getelementptr inbounds %Cmp_Node, ptr %t187, i32 0, i32 1 + %t189 = load ptr, ptr %t188 + %t190 = call ptr @lp_str_concat(ptr %t186, ptr %t189) + %t191 = call ptr @fn_emit_bind(ptr %t190) + store ptr %t191, ptr %t192 + %t193 = load ptr, ptr %t192 + %t194 = load ptr, ptr %t166 + %t195 = getelementptr inbounds %Cmp_Node, ptr %t194, i32 0, i32 3 + %t196 = load ptr, ptr %t195 + %t197 = call ptr @fn_val(ptr %t193, ptr %t196) + store ptr %t197, ptr %retval + br label %ret +ifend41: + %t198 = load ptr, ptr %t0 + %t199 = getelementptr inbounds %Cmp_Node, ptr %t198, i32 0, i32 1 + %t200 = load ptr, ptr %t199 + %t201 = call i32 @fn_is_ui_ident(ptr %t200) + %t202 = icmp ne i32 %t201, 0 + br i1 %t202, label %then45, label %ifend47 +then45: + %t203 = load ptr, ptr %t0 + %t204 = getelementptr inbounds %Cmp_Node, ptr %t203, i32 0, i32 1 + %t205 = load ptr, ptr %t204 + %t206 = call i32 @fn_ui_index_of(ptr %t205) + %t207 = call ptr @fn_itoa(i32 %t206) + %t208 = call ptr @fn_val(ptr %t207, ptr @.str8927) + store ptr %t208, ptr %retval + br label %ret +ifend47: + %t209 = load ptr, ptr %t0 + %t210 = getelementptr inbounds %Cmp_Node, ptr %t209, i32 0, i32 1 + %t211 = load ptr, ptr %t210 + %t212 = call ptr @fn_variant_enum(ptr %t211) + store ptr %t212, ptr %t213 + %t214 = load ptr, ptr %t213 + %t215 = icmp ne ptr %t214, null + %t216 = zext i1 %t215 to i32 + %t217 = icmp ne i32 %t216, 0 + br i1 %t217, label %then48, label %ifend50 +then48: + %t218 = load ptr, ptr %t213 + %t219 = load i32, ptr @g_g_var_ord + %t220 = getelementptr %LSlice, ptr null, i32 1 + %t221 = ptrtoint ptr %t220 to i64 + %t222 = call ptr @malloc(i64 %t221) + %t223 = getelementptr inbounds %LSlice, ptr %t222, i32 0, i32 0 + store ptr null, ptr %t223 + %t224 = getelementptr inbounds %LSlice, ptr %t222, i32 0, i32 1 + store i32 0, ptr %t224 + %t225 = getelementptr inbounds %LSlice, ptr %t222, i32 0, i32 2 + store i32 0, ptr %t225 + %t226 = call ptr @fn_emit_variant_new(ptr %t218, i32 %t219, ptr %t222) + store ptr %t226, ptr %retval + br label %ret +ifend50: + %t227 = load ptr, ptr %t0 + %t228 = getelementptr inbounds %Cmp_Node, ptr %t227, i32 0, i32 1 + %t229 = load ptr, ptr %t228 + %t230 = call ptr @lp_str_concat(ptr @.str8928, ptr %t229) + call void @fn_perr(ptr %t230) + br label %ifend35 +ifend35: + %t231 = load ptr, ptr %t0 + %t232 = getelementptr inbounds %Cmp_Node, ptr %t231, i32 0, i32 0 + %t233 = load i32, ptr %t232 + %t234 = icmp eq i32 %t233, 35 + %t235 = zext i1 %t234 to i32 + %t236 = icmp ne i32 %t235, 0 + br i1 %t236, label %then51, label %ifend53 +then51: + %t237 = load ptr, ptr %t0 + %t238 = getelementptr inbounds %Cmp_Node, ptr %t237, i32 0, i32 4 + %t239 = load ptr, ptr %t238 + %t240 = getelementptr inbounds %Cmp_Node, ptr %t239, i32 0, i32 0 + %t241 = load i32, ptr %t240 + %t242 = icmp eq i32 %t241, 33 + %t243 = zext i1 %t242 to i32 + %t244 = icmp ne i32 %t243, 0 + br i1 %t244, label %then54, label %ifend56 +then54: + %t245 = load ptr, ptr %t0 + %t246 = getelementptr inbounds %Cmp_Node, ptr %t245, i32 0, i32 4 + %t247 = load ptr, ptr %t246 + %t248 = getelementptr inbounds %Cmp_Node, ptr %t247, i32 0, i32 1 + %t249 = load ptr, ptr %t248 + %t250 = call i32 @lp_str_eq(ptr %t249, ptr @.str8929) + %t251 = icmp ne i32 %t250, 0 + br i1 %t251, label %then57, label %ifend59 +then57: + %t252 = load ptr, ptr %t0 + %t253 = getelementptr inbounds %Cmp_Node, ptr %t252, i32 0, i32 1 + %t254 = load ptr, ptr %t253 + %t255 = call i32 @fn_color_lookup(ptr %t254) + store i32 %t255, ptr %t256 + %t257 = load i32, ptr %t256 + %t258 = icmp slt i32 %t257, 0 + %t259 = zext i1 %t258 to i32 + %t260 = icmp ne i32 %t259, 0 + br i1 %t260, label %then60, label %ifend62 +then60: + %t261 = load ptr, ptr %t0 + %t262 = getelementptr inbounds %Cmp_Node, ptr %t261, i32 0, i32 1 + %t263 = load ptr, ptr %t262 + %t264 = call ptr @lp_str_concat(ptr @.str8930, ptr %t263) + call void @fn_perr(ptr %t264) + br label %ifend62 +ifend62: + %t265 = load i32, ptr %t256 + %t266 = call ptr @fn_itoa(i32 %t265) + %t267 = call ptr @fn_val(ptr %t266, ptr @.str8931) + store ptr %t267, ptr %retval + br label %ret +ifend59: + %t268 = load ptr, ptr %t0 + %t269 = getelementptr inbounds %Cmp_Node, ptr %t268, i32 0, i32 4 + %t270 = load ptr, ptr %t269 + %t271 = getelementptr inbounds %Cmp_Node, ptr %t270, i32 0, i32 1 + %t272 = load ptr, ptr %t271 + %t273 = call i32 @lp_str_eq(ptr %t272, ptr @.str8932) + %t274 = icmp ne i32 %t273, 0 + br i1 %t274, label %then63, label %ifend65 +then63: + %t275 = load ptr, ptr %t0 + %t276 = getelementptr inbounds %Cmp_Node, ptr %t275, i32 0, i32 1 + %t277 = load ptr, ptr %t276 + %t278 = call i32 @fn_key_lookup(ptr %t277) + store i32 %t278, ptr %t279 + %t280 = load i32, ptr %t279 + %t281 = icmp slt i32 %t280, 0 + %t282 = zext i1 %t281 to i32 + %t283 = icmp ne i32 %t282, 0 + br i1 %t283, label %then66, label %ifend68 +then66: + %t284 = load ptr, ptr %t0 + %t285 = getelementptr inbounds %Cmp_Node, ptr %t284, i32 0, i32 1 + %t286 = load ptr, ptr %t285 + %t287 = call ptr @lp_str_concat(ptr @.str8933, ptr %t286) + call void @fn_perr(ptr %t287) + br label %ifend68 +ifend68: + %t288 = load i32, ptr %t279 + %t289 = call ptr @fn_itoa(i32 %t288) + %t290 = call ptr @fn_val(ptr %t289, ptr @.str8934) + store ptr %t290, ptr %retval + br label %ret +ifend65: + %t291 = load ptr, ptr %t0 + %t292 = getelementptr inbounds %Cmp_Node, ptr %t291, i32 0, i32 4 + %t293 = load ptr, ptr %t292 + %t294 = getelementptr inbounds %Cmp_Node, ptr %t293, i32 0, i32 1 + %t295 = load ptr, ptr %t294 + %t296 = load ptr, ptr %t0 + %t297 = getelementptr inbounds %Cmp_Node, ptr %t296, i32 0, i32 1 + %t298 = load ptr, ptr %t297 + %t299 = call i32 @fn_enum_ordinal(ptr %t295, ptr %t298) + store i32 %t299, ptr %t300 + %t301 = load i32, ptr %t300 + %t302 = icmp sge i32 %t301, 0 + %t303 = zext i1 %t302 to i32 + %t304 = icmp ne i32 %t303, 0 + br i1 %t304, label %then69, label %ifend71 +then69: + %t305 = load i32, ptr %t300 + %t306 = call ptr @fn_itoa(i32 %t305) + %t307 = call ptr @fn_val(ptr %t306, ptr @.str8935) + store ptr %t307, ptr %retval + br label %ret +ifend71: + br label %ifend56 +ifend56: + %t308 = load ptr, ptr %t0 + %t309 = getelementptr inbounds %Cmp_Node, ptr %t308, i32 0, i32 4 + %t310 = load ptr, ptr %t309 + %t311 = call ptr @fn_static_type(ptr %t310) + store ptr %t311, ptr %t312 + %t313 = load ptr, ptr %t312 + %t314 = icmp ne ptr %t313, null + %t315 = zext i1 %t314 to i32 + %t316 = icmp ne i32 %t315, 0 + br i1 %t316, label %then72, label %ifend74 +then72: + %t318 = load ptr, ptr %t312 + %t319 = call i32 @lp_str_eq(ptr %t318, ptr @.str8936) + %t320 = icmp ne i32 %t319, 0 + %t321 = zext i1 %t320 to i32 + store i32 %t321, ptr %t317 + br i1 %t320, label %sc75, label %scend76 +sc75: + %t323 = load ptr, ptr %t0 + %t324 = getelementptr inbounds %Cmp_Node, ptr %t323, i32 0, i32 1 + %t325 = load ptr, ptr %t324 + %t326 = call i32 @lp_str_eq(ptr %t325, ptr @.str8937) + %t327 = icmp ne i32 %t326, 0 + %t328 = zext i1 %t327 to i32 + store i32 %t328, ptr %t322 + br i1 %t327, label %scend78, label %sc77 +sc77: + %t329 = load ptr, ptr %t0 + %t330 = getelementptr inbounds %Cmp_Node, ptr %t329, i32 0, i32 1 + %t331 = load ptr, ptr %t330 + %t332 = call i32 @lp_str_eq(ptr %t331, ptr @.str8938) + %t333 = icmp ne i32 %t332, 0 + %t334 = zext i1 %t333 to i32 + store i32 %t334, ptr %t322 + br label %scend78 +scend78: + %t335 = load i32, ptr %t322 + %t336 = icmp ne i32 %t335, 0 + %t337 = zext i1 %t336 to i32 + store i32 %t337, ptr %t317 + br label %scend76 +scend76: + %t338 = load i32, ptr %t317 + %t339 = icmp ne i32 %t338, 0 + br i1 %t339, label %then79, label %ifend81 +then79: + %t340 = load ptr, ptr %t0 + %t341 = getelementptr inbounds %Cmp_Node, ptr %t340, i32 0, i32 4 + %t342 = load ptr, ptr %t341 + %t343 = call ptr @fn_emit_expr(ptr %t342) + store ptr %t343, ptr %t344 + %t345 = load ptr, ptr %t0 + %t346 = getelementptr inbounds %Cmp_Node, ptr %t345, i32 0, i32 1 + %t347 = load ptr, ptr %t346 + %t348 = call i32 @lp_str_eq(ptr %t347, ptr @.str8939) + %t349 = icmp ne i32 %t348, 0 + br i1 %t349, label %then82, label %ifend84 +then82: + %t350 = load ptr, ptr %t344 + %t351 = getelementptr inbounds %Cmp_Val, ptr %t350, i32 0, i32 0 + %t352 = load ptr, ptr %t351 + %t353 = call ptr @fn_vec_x(ptr %t352) + %t354 = call ptr @fn_val(ptr %t353, ptr @.str8940) + store ptr %t354, ptr %retval + br label %ret +ifend84: + %t355 = load ptr, ptr %t344 + %t356 = getelementptr inbounds %Cmp_Val, ptr %t355, i32 0, i32 0 + %t357 = load ptr, ptr %t356 + %t358 = call ptr @fn_vec_y(ptr %t357) + %t359 = call ptr @fn_val(ptr %t358, ptr @.str8941) + store ptr %t359, ptr %retval + br label %ret +ifend81: + %t360 = load ptr, ptr %t312 + %t361 = load ptr, ptr %t0 + %t362 = getelementptr inbounds %Cmp_Node, ptr %t361, i32 0, i32 1 + %t363 = load ptr, ptr %t362 + %t364 = call ptr @fn_computed_expr(ptr %t360, ptr %t363) + store ptr %t364, ptr %t365 + %t366 = load ptr, ptr %t365 + %t367 = icmp ne ptr %t366, null + %t368 = zext i1 %t367 to i32 + %t369 = icmp ne i32 %t368, 0 + br i1 %t369, label %then85, label %ifend87 +then85: + %t370 = load ptr, ptr %t365 + %t371 = load ptr, ptr %t0 + %t372 = getelementptr inbounds %Cmp_Node, ptr %t371, i32 0, i32 4 + %t373 = load ptr, ptr %t372 + %t374 = call ptr @fn_qualify_fields(ptr %t370, ptr %t373) + %t375 = call ptr @fn_emit_expr(ptr %t374) + store ptr %t375, ptr %retval + br label %ret +ifend87: + br label %ifend74 +ifend74: + %t376 = load ptr, ptr %t0 + %t377 = call ptr @fn_emit_member_addr(ptr %t376) + store ptr %t377, ptr %t378 + %t379 = load ptr, ptr %t378 + %t380 = load ptr, ptr @g_g_addr_ty + %t381 = call ptr @fn_emit_load_at(ptr %t379, ptr %t380) + store ptr %t381, ptr %retval + br label %ret +ifend53: + %t382 = load ptr, ptr %t0 + %t383 = getelementptr inbounds %Cmp_Node, ptr %t382, i32 0, i32 0 + %t384 = load i32, ptr %t383 + %t385 = icmp eq i32 %t384, 36 + %t386 = zext i1 %t385 to i32 + %t387 = icmp ne i32 %t386, 0 + br i1 %t387, label %then88, label %ifend90 +then88: + %t388 = load ptr, ptr %t0 + %t389 = call ptr @fn_emit_index_addr(ptr %t388) + store ptr %t389, ptr %t390 + %t391 = load ptr, ptr @g_g_addr_ty + %t392 = call i32 @lp_str_eq(ptr %t391, ptr @.str8942) + %t393 = icmp ne i32 %t392, 0 + br i1 %t393, label %then91, label %ifend93 +then91: + %t394 = load ptr, ptr %t390 + %t395 = call ptr @lp_str_concat(ptr @.str8943, ptr %t394) + %t396 = call ptr @fn_emit_bind(ptr %t395) + store ptr %t396, ptr %t397 + %t398 = load ptr, ptr %t397 + %t399 = call ptr @lp_str_concat(ptr @.str8944, ptr %t398) + %t400 = call ptr @lp_str_concat(ptr %t399, ptr @.str8945) + %t401 = call ptr @fn_emit_bind(ptr %t400) + %t402 = call ptr @fn_val(ptr %t401, ptr @.str8946) + store ptr %t402, ptr %retval + br label %ret +ifend93: + %t403 = load ptr, ptr %t390 + %t404 = load ptr, ptr @g_g_addr_ty + %t405 = call ptr @fn_emit_load_at(ptr %t403, ptr %t404) + store ptr %t405, ptr %retval + br label %ret +ifend90: + %t406 = load ptr, ptr %t0 + %t407 = getelementptr inbounds %Cmp_Node, ptr %t406, i32 0, i32 0 + %t408 = load i32, ptr %t407 + %t409 = icmp eq i32 %t408, 49 + %t410 = zext i1 %t409 to i32 + %t411 = icmp ne i32 %t410, 0 + br i1 %t411, label %then94, label %ifend96 +then94: + %t412 = load ptr, ptr %t0 + %t413 = call ptr @fn_emit_emit(ptr %t412) + store ptr %t413, ptr %retval + br label %ret +ifend96: + %t414 = load ptr, ptr %t0 + %t415 = getelementptr inbounds %Cmp_Node, ptr %t414, i32 0, i32 0 + %t416 = load i32, ptr %t415 + %t417 = icmp eq i32 %t416, 52 + %t418 = zext i1 %t417 to i32 + %t419 = icmp ne i32 %t418, 0 + br i1 %t419, label %then97, label %ifend99 +then97: + %t420 = load ptr, ptr %t0 + %t421 = call ptr @fn_emit_try(ptr %t420) + store ptr %t421, ptr %retval + br label %ret +ifend99: + %t422 = load ptr, ptr %t0 + %t423 = getelementptr inbounds %Cmp_Node, ptr %t422, i32 0, i32 0 + %t424 = load i32, ptr %t423 + %t425 = icmp eq i32 %t424, 34 + %t426 = zext i1 %t425 to i32 + %t427 = icmp ne i32 %t426, 0 + br i1 %t427, label %then100, label %ifend102 +then100: + %t428 = load ptr, ptr %t0 + %t429 = call ptr @fn_emit_call(ptr %t428) + store ptr %t429, ptr %retval + br label %ret +ifend102: + %t430 = load ptr, ptr %t0 + %t431 = getelementptr inbounds %Cmp_Node, ptr %t430, i32 0, i32 0 + %t432 = load i32, ptr %t431 + %t433 = icmp eq i32 %t432, 37 + %t434 = zext i1 %t433 to i32 + %t435 = icmp ne i32 %t434, 0 + br i1 %t435, label %then103, label %ifend105 +then103: + %t436 = load ptr, ptr %t0 + %t437 = call ptr @fn_emit_bin(ptr %t436) + store ptr %t437, ptr %retval + br label %ret +ifend105: + %t438 = load ptr, ptr %t0 + %t439 = getelementptr inbounds %Cmp_Node, ptr %t438, i32 0, i32 0 + %t440 = load i32, ptr %t439 + %t441 = icmp eq i32 %t440, 38 + %t442 = zext i1 %t441 to i32 + %t443 = icmp ne i32 %t442, 0 + br i1 %t443, label %then106, label %ifend108 +then106: + %t444 = load ptr, ptr %t0 + %t445 = getelementptr inbounds %Cmp_Node, ptr %t444, i32 0, i32 4 + %t446 = load ptr, ptr %t445 + %t447 = call ptr @fn_emit_expr(ptr %t446) + store ptr %t447, ptr %t448 + %t449 = load ptr, ptr %t448 + %t450 = getelementptr inbounds %Cmp_Val, ptr %t449, i32 0, i32 1 + %t451 = load ptr, ptr %t450 + %t452 = call ptr @fn_llty(ptr %t451) + %t453 = call i32 @lp_str_eq(ptr %t452, ptr @.str8947) + %t454 = icmp ne i32 %t453, 0 + br i1 %t454, label %then109, label %ifend111 +then109: + %t455 = load ptr, ptr %t0 + %t456 = getelementptr inbounds %Cmp_Node, ptr %t455, i32 0, i32 1 + %t457 = load ptr, ptr %t456 + %t458 = call i32 @lp_str_eq(ptr %t457, ptr @.str8948) + %t459 = icmp ne i32 %t458, 0 + br i1 %t459, label %then112, label %ifend114 +then112: + %t460 = load ptr, ptr %t448 + %t461 = getelementptr inbounds %Cmp_Val, ptr %t460, i32 0, i32 0 + %t462 = load ptr, ptr %t461 + %t463 = call ptr @lp_str_concat(ptr @.str8949, ptr %t462) + %t464 = call ptr @fn_emit_bind(ptr %t463) + %t465 = call ptr @fn_val(ptr %t464, ptr @.str8950) + store ptr %t465, ptr %retval + br label %ret +ifend114: + %t466 = load ptr, ptr %t0 + %t467 = getelementptr inbounds %Cmp_Node, ptr %t466, i32 0, i32 1 + %t468 = load ptr, ptr %t467 + %t469 = call i32 @lp_str_eq(ptr %t468, ptr @.str8951) + %t470 = icmp ne i32 %t469, 0 + br i1 %t470, label %then115, label %ifend117 +then115: + %t471 = load ptr, ptr %t448 + %t472 = getelementptr inbounds %Cmp_Val, ptr %t471, i32 0, i32 0 + %t473 = load ptr, ptr %t472 + %t474 = call ptr @lp_str_concat(ptr @.str8952, ptr %t473) + %t475 = call ptr @lp_str_concat(ptr %t474, ptr @.str8953) + %t476 = call ptr @fn_emit_bind(ptr %t475) + %t477 = call ptr @fn_val(ptr %t476, ptr @.str8954) + store ptr %t477, ptr %retval + br label %ret +ifend117: + br label %ifend111 +ifend111: + %t478 = load ptr, ptr %t0 + %t479 = getelementptr inbounds %Cmp_Node, ptr %t478, i32 0, i32 1 + %t480 = load ptr, ptr %t479 + %t481 = call i32 @lp_str_eq(ptr %t480, ptr @.str8955) + %t482 = icmp ne i32 %t481, 0 + br i1 %t482, label %then118, label %ifend120 +then118: + %t483 = load ptr, ptr %t448 + %t484 = getelementptr inbounds %Cmp_Val, ptr %t483, i32 0, i32 0 + %t485 = load ptr, ptr %t484 + %t486 = call ptr @lp_str_concat(ptr @.str8956, ptr %t485) + %t487 = call ptr @fn_emit_bind(ptr %t486) + %t488 = load ptr, ptr %t448 + %t489 = getelementptr inbounds %Cmp_Val, ptr %t488, i32 0, i32 1 + %t490 = load ptr, ptr %t489 + %t491 = call ptr @fn_arith_ty(ptr %t490) + %t492 = call ptr @fn_val(ptr %t487, ptr %t491) + store ptr %t492, ptr %retval + br label %ret +ifend120: + %t493 = load ptr, ptr %t0 + %t494 = getelementptr inbounds %Cmp_Node, ptr %t493, i32 0, i32 1 + %t495 = load ptr, ptr %t494 + %t496 = call i32 @lp_str_eq(ptr %t495, ptr @.str8957) + %t497 = icmp ne i32 %t496, 0 + br i1 %t497, label %then121, label %ifend123 +then121: + %t498 = load ptr, ptr %t448 + %t499 = getelementptr inbounds %Cmp_Val, ptr %t498, i32 0, i32 0 + %t500 = load ptr, ptr %t499 + %t501 = call ptr @lp_str_concat(ptr @.str8958, ptr %t500) + %t502 = call ptr @lp_str_concat(ptr %t501, ptr @.str8959) + %t503 = call ptr @fn_emit_bind(ptr %t502) + %t504 = load ptr, ptr %t448 + %t505 = getelementptr inbounds %Cmp_Val, ptr %t504, i32 0, i32 1 + %t506 = load ptr, ptr %t505 + %t507 = call ptr @fn_arith_ty(ptr %t506) + %t508 = call ptr @fn_val(ptr %t503, ptr %t507) + store ptr %t508, ptr %retval + br label %ret +ifend123: + %t509 = load ptr, ptr %t448 + %t510 = getelementptr inbounds %Cmp_Val, ptr %t509, i32 0, i32 0 + %t511 = load ptr, ptr %t510 + %t512 = call ptr @lp_str_concat(ptr @.str8960, ptr %t511) + %t513 = call ptr @lp_str_concat(ptr %t512, ptr @.str8961) + %t514 = call ptr @fn_emit_bind(ptr %t513) + store ptr %t514, ptr %t515 + %t516 = load ptr, ptr %t515 + %t517 = call ptr @lp_str_concat(ptr @.str8962, ptr %t516) + %t518 = call ptr @lp_str_concat(ptr %t517, ptr @.str8963) + %t519 = call ptr @fn_emit_bind(ptr %t518) + %t520 = call ptr @fn_val(ptr %t519, ptr @.str8964) + store ptr %t520, ptr %retval + br label %ret +ifend108: + call void @fn_perr(ptr @.str8965) + %t521 = call ptr @fn_val(ptr @.str8966, ptr @.str8967) + store ptr %t521, ptr %retval + br label %ret +ret: + %t522 = load ptr, ptr %retval + ret ptr %t522 +} + +define void @fn_emit_block(ptr %arg_b) { +entry: + %t0 = alloca ptr + %t1 = alloca i32 + store ptr %arg_b, ptr %t0 + store i32 0, ptr %t1 + br label %wcond0 +wcond0: + %t2 = load i32, ptr %t1 + %t3 = load ptr, ptr %t0 + %t4 = getelementptr inbounds %Cmp_Node, ptr %t3, i32 0, i32 7 + %t5 = load ptr, ptr %t4 + %t6 = getelementptr inbounds %LSlice, ptr %t5, i32 0, i32 1 + %t7 = load i32, ptr %t6 + %t8 = icmp slt i32 %t2, %t7 + %t9 = zext i1 %t8 to i32 + %t10 = icmp ne i32 %t9, 0 + br i1 %t10, label %wbody1, label %wend2 +wbody1: + %t11 = load i32, ptr @g_g_term + %t12 = icmp ne i32 %t11, 0 + br i1 %t12, label %then3, label %ifend5 +then3: + br label %ret +ifend5: + %t13 = load ptr, ptr %t0 + %t14 = getelementptr inbounds %Cmp_Node, ptr %t13, i32 0, i32 7 + %t15 = load ptr, ptr %t14 + %t16 = getelementptr inbounds %LSlice, ptr %t15, i32 0, i32 0 + %t17 = load ptr, ptr %t16 + %t18 = load i32, ptr %t1 + %t19 = getelementptr inbounds ptr, ptr %t17, i32 %t18 + %t20 = load ptr, ptr %t19 + call void @fn_emit_stmt(ptr %t20) + %t21 = load i32, ptr %t1 + %t22 = add i32 %t21, 1 + store i32 %t22, ptr %t1 + br label %wcond0 +wend2: + br label %ret +ret: + ret void +} + +define void @fn_store_at(ptr %arg_lt, ptr %arg_v, ptr %arg_addr) { +entry: + %t0 = alloca ptr + %t1 = alloca ptr + %t2 = alloca ptr + store ptr %arg_lt, ptr %t0 + store ptr %arg_v, ptr %t1 + store ptr %arg_addr, ptr %t2 + call void @fn_emit(ptr @.str8968) + %t3 = load ptr, ptr %t0 + call void @fn_emit(ptr %t3) + call void @fn_emit(ptr @.str8969) + %t4 = load ptr, ptr %t1 + call void @fn_emit(ptr %t4) + call void @fn_emit(ptr @.str8970) + %t5 = load ptr, ptr %t2 + call void @fn_emit(ptr %t5) + call void @fn_emit(ptr @.str8971) + br label %ret +ret: + ret void +} + +define ptr @fn_compound_op(ptr %arg_tok) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + store ptr %arg_tok, ptr %t0 + %t1 = load ptr, ptr %t0 + %t2 = call ptr @lp_str_slice(ptr %t1, i32 0, i32 1) + store ptr %t2, ptr %retval + br label %ret +ret: + %t3 = load ptr, ptr %retval + ret ptr %t3 +} + +define void @fn_emit_assign(ptr %arg_st) { +entry: + %t0 = alloca ptr + %t4 = alloca ptr + %t5 = alloca ptr + %t6 = alloca ptr + %t17 = alloca i32 + %t57 = alloca ptr + %t93 = alloca ptr + %t98 = alloca ptr + %t114 = alloca ptr + %t125 = alloca ptr + store ptr %arg_st, ptr %t0 + %t1 = load ptr, ptr %t0 + %t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 4 + %t3 = load ptr, ptr %t2 + store ptr %t3, ptr %t4 + store ptr @.str8972, ptr %t5 + store ptr @.str8973, ptr %t6 + %t7 = load ptr, ptr %t4 + %t8 = getelementptr inbounds %Cmp_Node, ptr %t7, i32 0, i32 0 + %t9 = load i32, ptr %t8 + %t10 = icmp eq i32 %t9, 33 + %t11 = zext i1 %t10 to i32 + %t12 = icmp ne i32 %t11, 0 + br i1 %t12, label %then0, label %else1 +then0: + %t13 = load ptr, ptr %t4 + %t14 = getelementptr inbounds %Cmp_Node, ptr %t13, i32 0, i32 1 + %t15 = load ptr, ptr %t14 + %t16 = call i32 @fn_loc_find(ptr %t15) + store i32 %t16, ptr %t17 + %t18 = load i32, ptr %t17 + %t19 = icmp sge i32 %t18, 0 + %t20 = zext i1 %t19 to i32 + %t21 = icmp ne i32 %t20, 0 + br i1 %t21, label %then3, label %else4 +then3: + %t22 = load ptr, ptr @g_loc_mut + %t23 = getelementptr inbounds %LSlice, ptr %t22, i32 0, i32 0 + %t24 = load ptr, ptr %t23 + %t25 = load i32, ptr %t17 + %t26 = getelementptr inbounds i32, ptr %t24, i32 %t25 + %t27 = load i32, ptr %t26 + %t28 = icmp eq i32 %t27, 0 + %t29 = zext i1 %t28 to i32 + %t30 = icmp ne i32 %t29, 0 + br i1 %t30, label %then6, label %ifend8 +then6: + %t31 = load ptr, ptr %t4 + %t32 = getelementptr inbounds %Cmp_Node, ptr %t31, i32 0, i32 1 + %t33 = load ptr, ptr %t32 + %t34 = call ptr @lp_str_concat(ptr @.str8974, ptr %t33) + %t35 = call ptr @lp_str_concat(ptr %t34, ptr @.str8975) + %t36 = load ptr, ptr %t0 + %t37 = getelementptr inbounds %Cmp_Node, ptr %t36, i32 0, i32 8 + %t38 = load i32, ptr %t37 + %t39 = call ptr @fn_itoa(i32 %t38) + %t40 = call ptr @lp_str_concat(ptr %t35, ptr %t39) + call void @fn_perr(ptr %t40) + br label %ifend8 +ifend8: + %t41 = load ptr, ptr @g_loc_reg + %t42 = getelementptr inbounds %LSlice, ptr %t41, i32 0, i32 0 + %t43 = load ptr, ptr %t42 + %t44 = load i32, ptr %t17 + %t45 = getelementptr inbounds ptr, ptr %t43, i32 %t44 + %t46 = load ptr, ptr %t45 + store ptr %t46, ptr %t5 + %t47 = load ptr, ptr @g_loc_ty + %t48 = getelementptr inbounds %LSlice, ptr %t47, i32 0, i32 0 + %t49 = load ptr, ptr %t48 + %t50 = load i32, ptr %t17 + %t51 = getelementptr inbounds ptr, ptr %t49, i32 %t50 + %t52 = load ptr, ptr %t51 + store ptr %t52, ptr %t6 + br label %ifend5 +else4: + %t53 = load ptr, ptr %t4 + %t54 = getelementptr inbounds %Cmp_Node, ptr %t53, i32 0, i32 1 + %t55 = load ptr, ptr %t54 + %t56 = call ptr @fn_find_global(ptr %t55) + store ptr %t56, ptr %t57 + %t58 = load ptr, ptr %t57 + %t59 = icmp eq ptr %t58, null + %t60 = zext i1 %t59 to i32 + %t61 = icmp ne i32 %t60, 0 + br i1 %t61, label %then9, label %ifend11 +then9: + %t62 = load ptr, ptr %t4 + %t63 = getelementptr inbounds %Cmp_Node, ptr %t62, i32 0, i32 1 + %t64 = load ptr, ptr %t63 + %t65 = call ptr @lp_str_concat(ptr @.str8976, ptr %t64) + call void @fn_perr(ptr %t65) + br label %ifend11 +ifend11: + %t66 = load ptr, ptr %t4 + %t67 = getelementptr inbounds %Cmp_Node, ptr %t66, i32 0, i32 1 + %t68 = load ptr, ptr %t67 + %t69 = call ptr @lp_str_concat(ptr @.str8977, 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 @.str8978) + br label %ifend17 +ifend17: + br label %ifend14 +ifend14: + br label %ifend2 +ifend2: + %t91 = load ptr, ptr %t6 + %t92 = call ptr @fn_llty(ptr %t91) + store ptr %t92, ptr %t93 + %t94 = load ptr, ptr %t0 + %t95 = getelementptr inbounds %Cmp_Node, ptr %t94, i32 0, i32 5 + %t96 = load ptr, ptr %t95 + %t97 = call ptr @fn_emit_expr(ptr %t96) + store ptr %t97, ptr %t98 + %t99 = load ptr, ptr %t0 + %t100 = getelementptr inbounds %Cmp_Node, ptr %t99, i32 0, i32 1 + %t101 = load ptr, ptr %t100 + %t102 = call i32 @lp_str_eq(ptr %t101, ptr @.str8979) + %t103 = icmp eq i32 %t102, 0 + %t104 = zext i1 %t103 to i32 + %t105 = icmp ne i32 %t104, 0 + br i1 %t105, label %then18, label %ifend20 +then18: + %t106 = load ptr, ptr %t93 + %t107 = call ptr @lp_str_concat(ptr @.str8980, ptr %t106) + %t108 = call ptr @lp_str_concat(ptr %t107, ptr @.str8981) + %t109 = load ptr, ptr %t5 + %t110 = call ptr @lp_str_concat(ptr %t108, ptr %t109) + %t111 = call ptr @fn_emit_bind(ptr %t110) + %t112 = load ptr, ptr %t6 + %t113 = call ptr @fn_val(ptr %t111, ptr %t112) + store ptr %t113, ptr %t114 + %t115 = load ptr, ptr %t0 + %t116 = getelementptr inbounds %Cmp_Node, ptr %t115, i32 0, i32 1 + %t117 = load ptr, ptr %t116 + %t118 = call ptr @fn_compound_op(ptr %t117) + %t119 = load ptr, ptr %t114 + %t120 = load ptr, ptr %t98 + %t121 = call ptr @fn_emit_bin_vals(ptr %t118, ptr %t119, ptr %t120, i32 0) + store ptr %t121, ptr %t98 + br label %ifend20 +ifend20: + %t122 = load ptr, ptr %t98 + %t123 = load ptr, ptr %t6 + %t124 = call ptr @fn_coerce_code(ptr %t122, ptr %t123) + store ptr %t124, ptr %t125 + %t126 = load ptr, ptr %t93 + %t127 = call i32 @lp_str_eq(ptr %t126, ptr @.str8982) + %t128 = icmp ne i32 %t127, 0 + br i1 %t128, label %then21, label %ifend23 +then21: + %t129 = load ptr, ptr %t125 + %t130 = call ptr @lp_str_concat(ptr @.str8983, ptr %t129) + %t131 = call ptr @lp_str_concat(ptr %t130, ptr @.str8984) + %t132 = call ptr @fn_emit_bind(ptr %t131) + store ptr %t132, ptr %t125 + br label %ifend23 +ifend23: + %t133 = load ptr, ptr %t93 + %t134 = load ptr, ptr %t125 + %t135 = load ptr, ptr %t5 + call void @fn_store_at(ptr %t133, ptr %t134, ptr %t135) + br label %ret +ret: + ret void +} + +define void @fn_emit_if(ptr %arg_st) { +entry: + %t0 = alloca ptr + %t5 = alloca ptr + %t12 = alloca ptr + %t18 = alloca i32 + %t20 = alloca ptr + %t22 = alloca ptr + %t24 = alloca ptr + store ptr %arg_st, ptr %t0 + %t1 = load ptr, ptr %t0 + %t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 4 + %t3 = load ptr, ptr %t2 + %t4 = call ptr @fn_emit_expr(ptr %t3) + store ptr %t4, ptr %t5 + %t6 = load ptr, ptr %t5 + %t7 = getelementptr inbounds %Cmp_Val, ptr %t6, i32 0, i32 0 + %t8 = load ptr, ptr %t7 + %t9 = call ptr @lp_str_concat(ptr @.str8985, ptr %t8) + %t10 = call ptr @lp_str_concat(ptr %t9, ptr @.str8986) + %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 @.str8987) + store ptr %t19, ptr %t20 + %t21 = call ptr @fn_lbl(ptr @.str8988) + store ptr %t21, ptr %t22 + %t23 = call ptr @fn_lbl(ptr @.str8989) + 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 @.str8990) + %t27 = load ptr, ptr %t12 + call void @fn_emit(ptr %t27) + call void @fn_emit(ptr @.str8991) + %t28 = load ptr, ptr %t20 + call void @fn_emit(ptr %t28) + call void @fn_emit(ptr @.str8992) + %t29 = load ptr, ptr %t22 + call void @fn_emit(ptr %t29) + call void @fn_emit(ptr @.str8993) + br label %ifend2 +else1: + call void @fn_emit(ptr @.str8994) + %t30 = load ptr, ptr %t12 + call void @fn_emit(ptr %t30) + call void @fn_emit(ptr @.str8995) + %t31 = load ptr, ptr %t20 + call void @fn_emit(ptr %t31) + call void @fn_emit(ptr @.str8996) + %t32 = load ptr, ptr %t24 + call void @fn_emit(ptr %t32) + call void @fn_emit(ptr @.str8997) + br label %ifend2 +ifend2: + %t33 = load ptr, ptr %t20 + call void @fn_emit(ptr %t33) + call void @fn_emit(ptr @.str8998) + 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 @.str8999) + %t41 = load ptr, ptr %t24 + call void @fn_emit(ptr %t41) + call void @fn_emit(ptr @.str9000) + 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 @.str9001) + 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 @.str9002) + %t63 = load ptr, ptr %t24 + call void @fn_emit(ptr %t63) + call void @fn_emit(ptr @.str9003) + br label %ifend14 +ifend14: + br label %ifend8 +ifend8: + %t64 = load ptr, ptr %t24 + call void @fn_emit(ptr %t64) + call void @fn_emit(ptr @.str9004) + 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 @.str9005) + store ptr %t1, ptr %t2 + %t3 = call ptr @fn_lbl(ptr @.str9006) + store ptr %t3, ptr %t4 + %t5 = call ptr @fn_lbl(ptr @.str9007) + store ptr %t5, ptr %t6 + call void @fn_emit(ptr @.str9008) + %t7 = load ptr, ptr %t2 + call void @fn_emit(ptr %t7) + call void @fn_emit(ptr @.str9009) + %t8 = load ptr, ptr %t2 + call void @fn_emit(ptr %t8) + call void @fn_emit(ptr @.str9010) + %t9 = load ptr, ptr %t0 + %t10 = getelementptr inbounds %Cmp_Node, ptr %t9, i32 0, i32 4 + %t11 = load ptr, ptr %t10 + %t12 = call ptr @fn_emit_expr(ptr %t11) + store ptr %t12, ptr %t13 + %t14 = load ptr, ptr %t13 + %t15 = getelementptr inbounds %Cmp_Val, ptr %t14, i32 0, i32 0 + %t16 = load ptr, ptr %t15 + %t17 = call ptr @lp_str_concat(ptr @.str9011, ptr %t16) + %t18 = call ptr @lp_str_concat(ptr %t17, ptr @.str9012) + %t19 = call ptr @fn_emit_bind(ptr %t18) + store ptr %t19, ptr %t20 + call void @fn_emit(ptr @.str9013) + %t21 = load ptr, ptr %t20 + call void @fn_emit(ptr %t21) + call void @fn_emit(ptr @.str9014) + %t22 = load ptr, ptr %t4 + call void @fn_emit(ptr %t22) + call void @fn_emit(ptr @.str9015) + %t23 = load ptr, ptr %t6 + call void @fn_emit(ptr %t23) + call void @fn_emit(ptr @.str9016) + %t24 = load ptr, ptr %t4 + call void @fn_emit(ptr %t24) + call void @fn_emit(ptr @.str9017) + 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 @.str9018) + %t34 = load ptr, ptr %t2 + call void @fn_emit(ptr %t34) + call void @fn_emit(ptr @.str9019) + br label %ifend2 +ifend2: + %t35 = load ptr, ptr %t6 + call void @fn_emit(ptr %t35) + call void @fn_emit(ptr @.str9020) + 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 @.str9021) + 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 @.str9022, 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 @.str9023) + %t16 = call ptr @fn_lbl(ptr @.str9024) + store ptr %t16, ptr %t17 + %t18 = call ptr @fn_lbl(ptr @.str9025) + store ptr %t18, ptr %t19 + %t20 = call ptr @fn_lbl(ptr @.str9026) + store ptr %t20, ptr %t21 + %t22 = call ptr @fn_lbl(ptr @.str9027) + store ptr %t22, ptr %t23 + call void @fn_emit(ptr @.str9028) + %t24 = load ptr, ptr %t17 + call void @fn_emit(ptr %t24) + call void @fn_emit(ptr @.str9029) + %t25 = load ptr, ptr %t17 + call void @fn_emit(ptr %t25) + call void @fn_emit(ptr @.str9030) + %t26 = load ptr, ptr %t2 + %t27 = call ptr @lp_str_concat(ptr @.str9031, ptr %t26) + %t28 = call ptr @fn_emit_bind(ptr %t27) + store ptr %t28, ptr %t29 + %t30 = load ptr, ptr %t0 + %t31 = getelementptr inbounds %Cmp_Node, ptr %t30, i32 0, i32 5 + %t32 = load ptr, ptr %t31 + %t33 = call ptr @fn_emit_expr(ptr %t32) + store ptr %t33, ptr %t34 + %t35 = load ptr, ptr %t29 + %t36 = call ptr @lp_str_concat(ptr @.str9032, ptr %t35) + %t37 = call ptr @lp_str_concat(ptr %t36, ptr @.str9033) + %t38 = load ptr, ptr %t34 + %t39 = getelementptr inbounds %Cmp_Val, ptr %t38, i32 0, i32 0 + %t40 = load ptr, ptr %t39 + %t41 = call ptr @lp_str_concat(ptr %t37, ptr %t40) + %t42 = call ptr @fn_emit_bind(ptr %t41) + store ptr %t42, ptr %t43 + call void @fn_emit(ptr @.str9034) + %t44 = load ptr, ptr %t43 + call void @fn_emit(ptr %t44) + call void @fn_emit(ptr @.str9035) + %t45 = load ptr, ptr %t19 + call void @fn_emit(ptr %t45) + call void @fn_emit(ptr @.str9036) + %t46 = load ptr, ptr %t23 + call void @fn_emit(ptr %t46) + call void @fn_emit(ptr @.str9037) + %t47 = load ptr, ptr %t19 + call void @fn_emit(ptr %t47) + call void @fn_emit(ptr @.str9038) + 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 @.str9039) + %t57 = load ptr, ptr %t21 + call void @fn_emit(ptr %t57) + call void @fn_emit(ptr @.str9040) + br label %ifend2 +ifend2: + %t58 = load ptr, ptr %t21 + call void @fn_emit(ptr %t58) + call void @fn_emit(ptr @.str9041) + %t59 = load ptr, ptr %t2 + %t60 = call ptr @lp_str_concat(ptr @.str9042, ptr %t59) + %t61 = call ptr @fn_emit_bind(ptr %t60) + store ptr %t61, ptr %t62 + %t63 = load ptr, ptr %t62 + %t64 = call ptr @lp_str_concat(ptr @.str9043, ptr %t63) + %t65 = call ptr @lp_str_concat(ptr %t64, ptr @.str9044) + %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 @.str9045, ptr %t68, ptr %t69) + call void @fn_emit(ptr @.str9046) + %t70 = load ptr, ptr %t17 + call void @fn_emit(ptr %t70) + call void @fn_emit(ptr @.str9047) + %t71 = load ptr, ptr %t23 + call void @fn_emit(ptr %t71) + call void @fn_emit(ptr @.str9048) + 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 @.str9049) + br label %ifend2 +ifend2: + call void @fn_emit(ptr @.str9050) + store i32 1, ptr @g_g_term + br label %ret +ret: + ret void +} + +define i32 @fn_arm_is_default(ptr %arg_arm) { +entry: + %retval = alloca i32 + %t0 = alloca ptr + %t1 = alloca i32 + %t11 = alloca i32 + store ptr %arg_arm, ptr %t0 + store i32 0, ptr %t1 + br label %wcond0 +wcond0: + %t2 = load i32, ptr %t1 + %t3 = load ptr, ptr %t0 + %t4 = getelementptr inbounds %Cmp_Node, ptr %t3, i32 0, i32 7 + %t5 = load ptr, ptr %t4 + %t6 = getelementptr inbounds %LSlice, ptr %t5, i32 0, i32 1 + %t7 = load i32, ptr %t6 + %t8 = icmp slt i32 %t2, %t7 + %t9 = zext i1 %t8 to i32 + %t10 = icmp ne i32 %t9, 0 + br i1 %t10, label %wbody1, label %wend2 +wbody1: + %t12 = load ptr, ptr %t0 + %t13 = getelementptr inbounds %Cmp_Node, ptr %t12, i32 0, i32 7 + %t14 = load ptr, ptr %t13 + %t15 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 0 + %t16 = load ptr, ptr %t15 + %t17 = load i32, ptr %t1 + %t18 = getelementptr inbounds ptr, ptr %t16, i32 %t17 + %t19 = load ptr, ptr %t18 + %t20 = getelementptr inbounds %Cmp_Node, ptr %t19, i32 0, i32 0 + %t21 = load i32, ptr %t20 + %t22 = icmp eq i32 %t21, 33 + %t23 = zext i1 %t22 to i32 + %t24 = icmp ne i32 %t23, 0 + %t25 = zext i1 %t24 to i32 + store i32 %t25, ptr %t11 + br i1 %t24, label %sc3, label %scend4 +sc3: + %t26 = load ptr, ptr %t0 + %t27 = getelementptr inbounds %Cmp_Node, ptr %t26, i32 0, i32 7 + %t28 = load ptr, ptr %t27 + %t29 = getelementptr inbounds %LSlice, ptr %t28, i32 0, i32 0 + %t30 = load ptr, ptr %t29 + %t31 = load i32, ptr %t1 + %t32 = getelementptr inbounds ptr, ptr %t30, i32 %t31 + %t33 = load ptr, ptr %t32 + %t34 = getelementptr inbounds %Cmp_Node, ptr %t33, i32 0, i32 1 + %t35 = load ptr, ptr %t34 + %t36 = call i32 @lp_str_eq(ptr %t35, ptr @.str9051) + %t37 = icmp ne i32 %t36, 0 + %t38 = zext i1 %t37 to i32 + store i32 %t38, ptr %t11 + br label %scend4 +scend4: + %t39 = load i32, ptr %t11 + %t40 = icmp ne i32 %t39, 0 + br i1 %t40, label %then5, label %ifend7 +then5: + store i32 1, ptr %retval + br label %ret +ifend7: + %t41 = load i32, ptr %t1 + %t42 = add i32 %t41, 1 + store i32 %t42, ptr %t1 + br label %wcond0 +wend2: + store i32 0, ptr %retval + br label %ret +ret: + %t43 = load i32, ptr %retval + ret i32 %t43 +} + +define void @fn_emit_bind_payload(ptr %arg_en, ptr %arg_pat, ptr %arg_sv) { +entry: + %t0 = alloca ptr + %t1 = alloca ptr + %t2 = alloca ptr + %t10 = alloca i32 + %t19 = alloca ptr + %t55 = alloca i32 + %t101 = alloca ptr + %t104 = alloca ptr + %t106 = alloca ptr + %t121 = alloca ptr + %t124 = alloca ptr + store ptr %arg_en, ptr %t0 + store ptr %arg_pat, ptr %t1 + store ptr %arg_sv, ptr %t2 + %t3 = load ptr, ptr %t0 + %t4 = load ptr, ptr %t1 + %t5 = getelementptr inbounds %Cmp_Node, ptr %t4, i32 0, i32 4 + %t6 = load ptr, ptr %t5 + %t7 = getelementptr inbounds %Cmp_Node, ptr %t6, i32 0, i32 1 + %t8 = load ptr, ptr %t7 + %t9 = call i32 @fn_variant_ordinal(ptr %t3, ptr %t8) + store i32 %t9, ptr %t10 + %t11 = load ptr, ptr %t0 + %t12 = getelementptr inbounds %Cmp_Node, ptr %t11, i32 0, i32 7 + %t13 = load ptr, ptr %t12 + %t14 = getelementptr inbounds %LSlice, ptr %t13, i32 0, i32 0 + %t15 = load ptr, ptr %t14 + %t16 = load i32, ptr %t10 + %t17 = getelementptr inbounds ptr, ptr %t15, i32 %t16 + %t18 = load ptr, ptr %t17 + store ptr %t18, ptr %t19 + %t20 = load ptr, ptr %t1 + %t21 = getelementptr inbounds %Cmp_Node, ptr %t20, i32 0, i32 7 + %t22 = load ptr, ptr %t21 + %t23 = getelementptr inbounds %LSlice, ptr %t22, i32 0, i32 1 + %t24 = load i32, ptr %t23 + %t25 = load ptr, ptr %t19 + %t26 = getelementptr inbounds %Cmp_Node, ptr %t25, i32 0, i32 7 + %t27 = load ptr, ptr %t26 + %t28 = getelementptr inbounds %LSlice, ptr %t27, i32 0, i32 1 + %t29 = load i32, ptr %t28 + %t30 = icmp ne i32 %t24, %t29 + %t31 = zext i1 %t30 to i32 + %t32 = icmp ne i32 %t31, 0 + br i1 %t32, label %then0, label %ifend2 +then0: + %t33 = load ptr, ptr %t1 + %t34 = getelementptr inbounds %Cmp_Node, ptr %t33, i32 0, i32 4 + %t35 = load ptr, ptr %t34 + %t36 = getelementptr inbounds %Cmp_Node, ptr %t35, i32 0, i32 1 + %t37 = load ptr, ptr %t36 + %t38 = call ptr @lp_str_concat(ptr @.str9052, ptr %t37) + %t39 = call ptr @lp_str_concat(ptr %t38, ptr @.str9053) + %t40 = load ptr, ptr %t1 + %t41 = getelementptr inbounds %Cmp_Node, ptr %t40, i32 0, i32 7 + %t42 = load ptr, ptr %t41 + %t43 = getelementptr inbounds %LSlice, ptr %t42, i32 0, i32 1 + %t44 = load i32, ptr %t43 + %t45 = call ptr @fn_itoa(i32 %t44) + %t46 = call ptr @lp_str_concat(ptr %t39, ptr %t45) + %t47 = call ptr @lp_str_concat(ptr %t46, ptr @.str9054) + %t48 = load ptr, ptr %t19 + %t49 = getelementptr inbounds %Cmp_Node, ptr %t48, i32 0, i32 7 + %t50 = load ptr, ptr %t49 + %t51 = getelementptr inbounds %LSlice, ptr %t50, i32 0, i32 1 + %t52 = load i32, ptr %t51 + %t53 = call ptr @fn_itoa(i32 %t52) + %t54 = call ptr @lp_str_concat(ptr %t47, ptr %t53) + call void @fn_perr(ptr %t54) + br label %ifend2 +ifend2: + store i32 0, ptr %t55 + br label %wcond3 +wcond3: + %t56 = load i32, ptr %t55 + %t57 = load ptr, ptr %t1 + %t58 = getelementptr inbounds %Cmp_Node, ptr %t57, i32 0, i32 7 + %t59 = load ptr, ptr %t58 + %t60 = getelementptr inbounds %LSlice, ptr %t59, i32 0, i32 1 + %t61 = load i32, ptr %t60 + %t62 = icmp slt i32 %t56, %t61 + %t63 = zext i1 %t62 to i32 + %t64 = icmp ne i32 %t63, 0 + br i1 %t64, label %wbody4, label %wend5 +wbody4: + %t65 = load ptr, ptr %t1 + %t66 = getelementptr inbounds %Cmp_Node, ptr %t65, i32 0, i32 7 + %t67 = load ptr, ptr %t66 + %t68 = getelementptr inbounds %LSlice, ptr %t67, i32 0, i32 0 + %t69 = load ptr, ptr %t68 + %t70 = load i32, ptr %t55 + %t71 = getelementptr inbounds ptr, ptr %t69, i32 %t70 + %t72 = load ptr, ptr %t71 + %t73 = getelementptr inbounds %Cmp_Node, ptr %t72, i32 0, i32 0 + %t74 = load i32, ptr %t73 + %t75 = icmp eq i32 %t74, 33 + %t76 = zext i1 %t75 to i32 + %t77 = icmp eq i32 %t76, 0 + %t78 = zext i1 %t77 to i32 + %t79 = icmp ne i32 %t78, 0 + br i1 %t79, label %then6, label %ifend8 +then6: + %t80 = load ptr, ptr %t1 + %t81 = getelementptr inbounds %Cmp_Node, ptr %t80, i32 0, i32 4 + %t82 = load ptr, ptr %t81 + %t83 = getelementptr inbounds %Cmp_Node, ptr %t82, i32 0, i32 1 + %t84 = load ptr, ptr %t83 + %t85 = call ptr @lp_str_concat(ptr @.str9055, ptr %t84) + %t86 = call ptr @lp_str_concat(ptr %t85, ptr @.str9056) + %t87 = load i32, ptr %t55 + %t88 = call ptr @fn_itoa(i32 %t87) + %t89 = call ptr @lp_str_concat(ptr %t86, ptr %t88) + %t90 = call ptr @lp_str_concat(ptr %t89, ptr @.str9057) + call void @fn_perr(ptr %t90) + br label %ifend8 +ifend8: + %t91 = load ptr, ptr %t19 + %t92 = getelementptr inbounds %Cmp_Node, ptr %t91, i32 0, i32 7 + %t93 = load ptr, ptr %t92 + %t94 = getelementptr inbounds %LSlice, ptr %t93, i32 0, i32 0 + %t95 = load ptr, ptr %t94 + %t96 = load i32, ptr %t55 + %t97 = getelementptr inbounds ptr, ptr %t95, i32 %t96 + %t98 = load ptr, ptr %t97 + %t99 = getelementptr inbounds %Cmp_Node, ptr %t98, i32 0, i32 3 + %t100 = load ptr, ptr %t99 + store ptr %t100, ptr %t101 + %t102 = load ptr, ptr %t101 + %t103 = call ptr @fn_llty(ptr %t102) + store ptr %t103, ptr %t104 + %t105 = call ptr @fn_nreg() + store ptr %t105, ptr %t106 + call void @fn_emit(ptr @.str9058) + %t107 = load ptr, ptr %t106 + call void @fn_emit(ptr %t107) + call void @fn_emit(ptr @.str9059) + %t108 = load ptr, ptr %t2 + %t109 = getelementptr inbounds %Cmp_Val, ptr %t108, i32 0, i32 0 + %t110 = load ptr, ptr %t109 + call void @fn_emit(ptr %t110) + call void @fn_emit(ptr @.str9060) + %t111 = load i32, ptr %t55 + %t112 = add i32 %t111, 1 + %t113 = mul i32 8, %t112 + %t114 = call ptr @fn_itoa(i32 %t113) + call void @fn_emit(ptr %t114) + call void @fn_emit(ptr @.str9061) + %t115 = load ptr, ptr %t104 + %t116 = call ptr @lp_str_concat(ptr @.str9062, ptr %t115) + %t117 = call ptr @lp_str_concat(ptr %t116, ptr @.str9063) + %t118 = load ptr, ptr %t106 + %t119 = call ptr @lp_str_concat(ptr %t117, ptr %t118) + %t120 = call ptr @fn_emit_bind(ptr %t119) + store ptr %t120, ptr %t121 + %t122 = load ptr, ptr %t104 + %t123 = call ptr @fn_emit_alloca(ptr %t122) + store ptr %t123, ptr %t124 + %t125 = load ptr, ptr %t104 + %t126 = load ptr, ptr %t121 + %t127 = load ptr, ptr %t124 + call void @fn_store_at(ptr %t125, ptr %t126, ptr %t127) + %t128 = load ptr, ptr %t1 + %t129 = getelementptr inbounds %Cmp_Node, ptr %t128, i32 0, i32 7 + %t130 = load ptr, ptr %t129 + %t131 = getelementptr inbounds %LSlice, ptr %t130, i32 0, i32 0 + %t132 = load ptr, ptr %t131 + %t133 = load i32, ptr %t55 + %t134 = getelementptr inbounds ptr, ptr %t132, i32 %t133 + %t135 = load ptr, ptr %t134 + %t136 = getelementptr inbounds %Cmp_Node, ptr %t135, i32 0, i32 1 + %t137 = load ptr, ptr %t136 + %t138 = load ptr, ptr %t124 + %t139 = load ptr, ptr %t101 + call void @fn_loc_push(ptr %t137, ptr %t138, ptr %t139) + %t140 = load i32, ptr %t55 + %t141 = add i32 %t140, 1 + store i32 %t141, ptr %t55 + br label %wcond3 +wend5: + br label %ret +ret: + ret void +} + +define void @fn_emit_match_tagged(ptr %arg_st, ptr %arg_sv, ptr %arg_en) { +entry: + %t0 = alloca ptr + %t1 = alloca ptr + %t2 = alloca ptr + %t8 = alloca ptr + %t10 = alloca ptr + %t11 = alloca ptr + %t12 = alloca i32 + %t13 = alloca i32 + %t31 = alloca ptr + %t36 = alloca ptr + %t37 = alloca i32 + %t38 = alloca ptr + %t39 = alloca i32 + %t57 = alloca ptr + %t61 = alloca ptr + %t77 = alloca i32 + %t100 = alloca ptr + %t113 = alloca ptr + %t115 = alloca ptr + %t121 = alloca i32 + %t155 = alloca i32 + %t163 = alloca i32 + store ptr %arg_st, ptr %t0 + store ptr %arg_sv, ptr %t1 + store ptr %arg_en, ptr %t2 + %t3 = load ptr, ptr %t1 + %t4 = getelementptr inbounds %Cmp_Val, ptr %t3, i32 0, i32 0 + %t5 = load ptr, ptr %t4 + %t6 = call ptr @lp_str_concat(ptr @.str9064, ptr %t5) + %t7 = call ptr @fn_emit_bind(ptr %t6) + store ptr %t7, ptr %t8 + %t9 = call ptr @fn_lbl(ptr @.str9065) + store ptr %t9, ptr %t10 + store ptr null, ptr %t11 + store i32 0, ptr %t12 + store i32 0, ptr %t13 + br label %wcond0 +wcond0: + %t14 = load i32, ptr %t13 + %t15 = load ptr, ptr %t0 + %t16 = getelementptr inbounds %Cmp_Node, ptr %t15, i32 0, i32 7 + %t17 = load ptr, ptr %t16 + %t18 = getelementptr inbounds %LSlice, ptr %t17, i32 0, i32 1 + %t19 = load i32, ptr %t18 + %t20 = icmp slt i32 %t14, %t19 + %t21 = zext i1 %t20 to i32 + %t22 = icmp ne i32 %t21, 0 + br i1 %t22, label %wbody1, label %wend2 +wbody1: + %t23 = load ptr, ptr %t0 + %t24 = getelementptr inbounds %Cmp_Node, ptr %t23, i32 0, i32 7 + %t25 = load ptr, ptr %t24 + %t26 = getelementptr inbounds %LSlice, ptr %t25, i32 0, i32 0 + %t27 = load ptr, ptr %t26 + %t28 = load i32, ptr %t13 + %t29 = getelementptr inbounds ptr, ptr %t27, i32 %t28 + %t30 = load ptr, ptr %t29 + store ptr %t30, ptr %t31 + %t32 = load ptr, ptr %t31 + %t33 = call i32 @fn_arm_is_default(ptr %t32) + %t34 = icmp ne i32 %t33, 0 + br i1 %t34, label %then3, label %else4 +then3: + %t35 = load ptr, ptr %t31 + store ptr %t35, ptr %t11 + br label %ifend5 +else4: + store ptr @.str9066, ptr %t36 + store i32 1, ptr %t37 + store ptr null, ptr %t38 + store i32 0, ptr %t39 + br label %wcond6 +wcond6: + %t40 = load i32, ptr %t39 + %t41 = load ptr, ptr %t31 + %t42 = getelementptr inbounds %Cmp_Node, ptr %t41, i32 0, i32 7 + %t43 = load ptr, ptr %t42 + %t44 = getelementptr inbounds %LSlice, ptr %t43, i32 0, i32 1 + %t45 = load i32, ptr %t44 + %t46 = icmp slt i32 %t40, %t45 + %t47 = zext i1 %t46 to i32 + %t48 = icmp ne i32 %t47, 0 + br i1 %t48, label %wbody7, label %wend8 +wbody7: + %t49 = load ptr, ptr %t31 + %t50 = getelementptr inbounds %Cmp_Node, ptr %t49, i32 0, i32 7 + %t51 = load ptr, ptr %t50 + %t52 = getelementptr inbounds %LSlice, ptr %t51, i32 0, i32 0 + %t53 = load ptr, ptr %t52 + %t54 = load i32, ptr %t39 + %t55 = getelementptr inbounds ptr, ptr %t53, i32 %t54 + %t56 = load ptr, ptr %t55 + store ptr %t56, ptr %t57 + %t58 = load ptr, ptr %t57 + %t59 = getelementptr inbounds %Cmp_Node, ptr %t58, i32 0, i32 1 + %t60 = load ptr, ptr %t59 + store ptr %t60, ptr %t61 + %t62 = load ptr, ptr %t57 + %t63 = getelementptr inbounds %Cmp_Node, ptr %t62, i32 0, i32 0 + %t64 = load i32, ptr %t63 + %t65 = icmp eq i32 %t64, 34 + %t66 = zext i1 %t65 to i32 + %t67 = icmp ne i32 %t66, 0 + br i1 %t67, label %then9, label %ifend11 +then9: + %t68 = load ptr, ptr %t57 + %t69 = getelementptr inbounds %Cmp_Node, ptr %t68, i32 0, i32 4 + %t70 = load ptr, ptr %t69 + %t71 = getelementptr inbounds %Cmp_Node, ptr %t70, i32 0, i32 1 + %t72 = load ptr, ptr %t71 + store ptr %t72, ptr %t61 + %t73 = load ptr, ptr %t57 + store ptr %t73, ptr %t38 + br label %ifend11 +ifend11: + %t74 = load ptr, ptr %t2 + %t75 = load ptr, ptr %t61 + %t76 = call i32 @fn_variant_ordinal(ptr %t74, ptr %t75) + store i32 %t76, ptr %t77 + %t78 = load i32, ptr %t77 + %t79 = icmp slt i32 %t78, 0 + %t80 = zext i1 %t79 to i32 + %t81 = icmp ne i32 %t80, 0 + br i1 %t81, label %then12, label %ifend14 +then12: + %t82 = load ptr, ptr %t61 + %t83 = call ptr @lp_str_concat(ptr @.str9067, ptr %t82) + %t84 = call ptr @lp_str_concat(ptr %t83, ptr @.str9068) + %t85 = load ptr, ptr %t2 + %t86 = getelementptr inbounds %Cmp_Node, ptr %t85, i32 0, i32 1 + %t87 = load ptr, ptr %t86 + %t88 = call ptr @lp_str_concat(ptr %t84, ptr %t87) + call void @fn_perr(ptr %t88) + br label %ifend14 +ifend14: + %t89 = load i32, ptr %t12 + %t90 = load i32, ptr %t77 + %t91 = shl i32 1, %t90 + %t92 = or i32 %t89, %t91 + store i32 %t92, ptr %t12 + %t93 = load ptr, ptr %t8 + %t94 = call ptr @lp_str_concat(ptr @.str9069, ptr %t93) + %t95 = call ptr @lp_str_concat(ptr %t94, ptr @.str9070) + %t96 = load i32, ptr %t77 + %t97 = call ptr @fn_itoa(i32 %t96) + %t98 = call ptr @lp_str_concat(ptr %t95, ptr %t97) + %t99 = call ptr @fn_emit_bind(ptr %t98) + store ptr %t99, ptr %t100 + %t101 = load i32, ptr %t37 + %t102 = icmp ne i32 %t101, 0 + br i1 %t102, label %then15, label %else16 +then15: + %t103 = load ptr, ptr %t100 + store ptr %t103, ptr %t36 + store i32 0, ptr %t37 + br label %ifend17 +else16: + %t104 = load ptr, ptr %t36 + %t105 = call ptr @lp_str_concat(ptr @.str9071, ptr %t104) + %t106 = call ptr @lp_str_concat(ptr %t105, ptr @.str9072) + %t107 = load ptr, ptr %t100 + %t108 = call ptr @lp_str_concat(ptr %t106, ptr %t107) + %t109 = call ptr @fn_emit_bind(ptr %t108) + store ptr %t109, ptr %t36 + br label %ifend17 +ifend17: + %t110 = load i32, ptr %t39 + %t111 = add i32 %t110, 1 + store i32 %t111, ptr %t39 + br label %wcond6 +wend8: + %t112 = call ptr @fn_lbl(ptr @.str9073) + store ptr %t112, ptr %t113 + %t114 = call ptr @fn_lbl(ptr @.str9074) + store ptr %t114, ptr %t115 + call void @fn_emit(ptr @.str9075) + %t116 = load ptr, ptr %t36 + call void @fn_emit(ptr %t116) + call void @fn_emit(ptr @.str9076) + %t117 = load ptr, ptr %t113 + call void @fn_emit(ptr %t117) + call void @fn_emit(ptr @.str9077) + %t118 = load ptr, ptr %t115 + call void @fn_emit(ptr %t118) + call void @fn_emit(ptr @.str9078) + %t119 = load ptr, ptr %t113 + call void @fn_emit(ptr %t119) + call void @fn_emit(ptr @.str9079) + store i32 0, ptr @g_g_term + %t120 = load i32, ptr @g_nloc + store i32 %t120, ptr %t121 + %t122 = load ptr, ptr %t38 + %t123 = icmp ne ptr %t122, null + %t124 = zext i1 %t123 to i32 + %t125 = icmp ne i32 %t124, 0 + br i1 %t125, label %then18, label %ifend20 +then18: + %t126 = load ptr, ptr %t2 + %t127 = load ptr, ptr %t38 + %t128 = load ptr, ptr %t1 + call void @fn_emit_bind_payload(ptr %t126, ptr %t127, ptr %t128) + br label %ifend20 +ifend20: + %t129 = load ptr, ptr %t31 + %t130 = getelementptr inbounds %Cmp_Node, ptr %t129, i32 0, i32 4 + %t131 = load ptr, ptr %t130 + call void @fn_emit_block(ptr %t131) + %t132 = load i32, ptr %t121 + store i32 %t132, ptr @g_nloc + %t133 = load i32, ptr @g_g_term + %t134 = icmp eq i32 %t133, 0 + %t135 = zext i1 %t134 to i32 + %t136 = icmp ne i32 %t135, 0 + br i1 %t136, label %then21, label %ifend23 +then21: + call void @fn_emit(ptr @.str9080) + %t137 = load ptr, ptr %t10 + call void @fn_emit(ptr %t137) + call void @fn_emit(ptr @.str9081) + br label %ifend23 +ifend23: + %t138 = load ptr, ptr %t115 + call void @fn_emit(ptr %t138) + call void @fn_emit(ptr @.str9082) + store i32 0, ptr @g_g_term + br label %ifend5 +ifend5: + %t139 = load i32, ptr %t13 + %t140 = add i32 %t139, 1 + store i32 %t140, ptr %t13 + br label %wcond0 +wend2: + %t141 = load ptr, ptr %t11 + %t142 = icmp ne ptr %t141, null + %t143 = zext i1 %t142 to i32 + %t144 = icmp ne i32 %t143, 0 + br i1 %t144, label %then24, label %else25 +then24: + %t145 = load ptr, ptr %t11 + %t146 = getelementptr inbounds %Cmp_Node, ptr %t145, i32 0, i32 4 + %t147 = load ptr, ptr %t146 + call void @fn_emit_block(ptr %t147) + br label %ifend26 +else25: + %t148 = load ptr, ptr %t2 + %t149 = getelementptr inbounds %Cmp_Node, ptr %t148, i32 0, i32 7 + %t150 = load ptr, ptr %t149 + %t151 = getelementptr inbounds %LSlice, ptr %t150, i32 0, i32 1 + %t152 = load i32, ptr %t151 + %t153 = shl i32 1, %t152 + %t154 = sub i32 %t153, 1 + store i32 %t154, ptr %t155 + %t156 = load i32, ptr %t12 + %t157 = load i32, ptr %t155 + %t158 = icmp eq i32 %t156, %t157 + %t159 = zext i1 %t158 to i32 + %t160 = icmp eq i32 %t159, 0 + %t161 = zext i1 %t160 to i32 + %t162 = icmp ne i32 %t161, 0 + br i1 %t162, label %then27, label %ifend29 +then27: + store i32 0, ptr %t163 + br label %wcond30 +wcond30: + %t164 = load i32, ptr %t163 + %t165 = load ptr, ptr %t2 + %t166 = getelementptr inbounds %Cmp_Node, ptr %t165, i32 0, i32 7 + %t167 = load ptr, ptr %t166 + %t168 = getelementptr inbounds %LSlice, ptr %t167, i32 0, i32 1 + %t169 = load i32, ptr %t168 + %t170 = icmp slt i32 %t164, %t169 + %t171 = zext i1 %t170 to i32 + %t172 = icmp ne i32 %t171, 0 + br i1 %t172, label %wbody31, label %wend32 +wbody31: + %t173 = load i32, ptr %t12 + %t174 = load i32, ptr %t163 + %t175 = shl i32 1, %t174 + %t176 = and i32 %t173, %t175 + %t177 = icmp eq i32 %t176, 0 + %t178 = zext i1 %t177 to i32 + %t179 = icmp ne i32 %t178, 0 + br i1 %t179, label %then33, label %ifend35 +then33: + %t180 = load ptr, ptr %t2 + %t181 = getelementptr inbounds %Cmp_Node, ptr %t180, i32 0, i32 1 + %t182 = load ptr, ptr %t181 + %t183 = call ptr @lp_str_concat(ptr @.str9083, ptr %t182) + %t184 = call ptr @lp_str_concat(ptr %t183, ptr @.str9084) + %t185 = load ptr, ptr %t2 + %t186 = getelementptr inbounds %Cmp_Node, ptr %t185, i32 0, i32 7 + %t187 = load ptr, ptr %t186 + %t188 = getelementptr inbounds %LSlice, ptr %t187, i32 0, i32 0 + %t189 = load ptr, ptr %t188 + %t190 = load i32, ptr %t163 + %t191 = getelementptr inbounds ptr, ptr %t189, i32 %t190 + %t192 = load ptr, ptr %t191 + %t193 = getelementptr inbounds %Cmp_Node, ptr %t192, i32 0, i32 1 + %t194 = load ptr, ptr %t193 + %t195 = call ptr @lp_str_concat(ptr %t184, ptr %t194) + %t196 = call ptr @lp_str_concat(ptr %t195, ptr @.str9085) + call void @fn_perr(ptr %t196) + br label %ifend35 +ifend35: + %t197 = load i32, ptr %t163 + %t198 = add i32 %t197, 1 + store i32 %t198, ptr %t163 + br label %wcond30 +wend32: + br label %ifend29 +ifend29: + br label %ifend26 +ifend26: + %t199 = load i32, ptr @g_g_term + %t200 = icmp eq i32 %t199, 0 + %t201 = zext i1 %t200 to i32 + %t202 = icmp ne i32 %t201, 0 + br i1 %t202, label %then36, label %ifend38 +then36: + call void @fn_emit(ptr @.str9086) + %t203 = load ptr, ptr %t10 + call void @fn_emit(ptr %t203) + call void @fn_emit(ptr @.str9087) + br label %ifend38 +ifend38: + %t204 = load ptr, ptr %t10 + call void @fn_emit(ptr %t204) + call void @fn_emit(ptr @.str9088) + store i32 0, ptr @g_g_term + br label %ret +ret: + ret void +} + +define void @fn_emit_match(ptr %arg_st) { +entry: + %t0 = alloca ptr + %t5 = alloca ptr + %t10 = alloca ptr + %t19 = alloca ptr + %t20 = alloca ptr + %t21 = alloca i32 + %t39 = alloca ptr + %t44 = alloca ptr + %t45 = alloca i32 + %t46 = alloca i32 + %t65 = alloca ptr + %t76 = alloca ptr + %t89 = alloca ptr + %t91 = alloca ptr + store ptr %arg_st, ptr %t0 + %t1 = load ptr, ptr %t0 + %t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 4 + %t3 = load ptr, ptr %t2 + %t4 = call ptr @fn_emit_expr(ptr %t3) + store ptr %t4, ptr %t5 + %t6 = load ptr, ptr %t5 + %t7 = getelementptr inbounds %Cmp_Val, ptr %t6, i32 0, i32 1 + %t8 = load ptr, ptr %t7 + %t9 = call ptr @fn_tagged_enum_of(ptr %t8) + store ptr %t9, ptr %t10 + %t11 = load ptr, ptr %t10 + %t12 = icmp ne ptr %t11, null + %t13 = zext i1 %t12 to i32 + %t14 = icmp ne i32 %t13, 0 + br i1 %t14, label %then0, label %ifend2 +then0: + %t15 = load ptr, ptr %t0 + %t16 = load ptr, ptr %t5 + %t17 = load ptr, ptr %t10 + call void @fn_emit_match_tagged(ptr %t15, ptr %t16, ptr %t17) + br label %ret +ifend2: + %t18 = call ptr @fn_lbl(ptr @.str9089) + store ptr %t18, ptr %t19 + store ptr null, ptr %t20 + store i32 0, ptr %t21 + br label %wcond3 +wcond3: + %t22 = load i32, ptr %t21 + %t23 = load ptr, ptr %t0 + %t24 = getelementptr inbounds %Cmp_Node, ptr %t23, i32 0, i32 7 + %t25 = load ptr, ptr %t24 + %t26 = getelementptr inbounds %LSlice, ptr %t25, i32 0, i32 1 + %t27 = load i32, ptr %t26 + %t28 = icmp slt i32 %t22, %t27 + %t29 = zext i1 %t28 to i32 + %t30 = icmp ne i32 %t29, 0 + br i1 %t30, label %wbody4, label %wend5 +wbody4: + %t31 = load ptr, ptr %t0 + %t32 = getelementptr inbounds %Cmp_Node, ptr %t31, i32 0, i32 7 + %t33 = load ptr, ptr %t32 + %t34 = getelementptr inbounds %LSlice, ptr %t33, i32 0, i32 0 + %t35 = load ptr, ptr %t34 + %t36 = load i32, ptr %t21 + %t37 = getelementptr inbounds ptr, ptr %t35, i32 %t36 + %t38 = load ptr, ptr %t37 + store ptr %t38, ptr %t39 + %t40 = load ptr, ptr %t39 + %t41 = call i32 @fn_arm_is_default(ptr %t40) + %t42 = icmp ne i32 %t41, 0 + br i1 %t42, label %then6, label %else7 +then6: + %t43 = load ptr, ptr %t39 + store ptr %t43, ptr %t20 + br label %ifend8 +else7: + store ptr @.str9090, ptr %t44 + store i32 1, ptr %t45 + store i32 0, ptr %t46 + br label %wcond9 +wcond9: + %t47 = load i32, ptr %t46 + %t48 = load ptr, ptr %t39 + %t49 = getelementptr inbounds %Cmp_Node, ptr %t48, i32 0, i32 7 + %t50 = load ptr, ptr %t49 + %t51 = getelementptr inbounds %LSlice, ptr %t50, i32 0, i32 1 + %t52 = load i32, ptr %t51 + %t53 = icmp slt i32 %t47, %t52 + %t54 = zext i1 %t53 to i32 + %t55 = icmp ne i32 %t54, 0 + br i1 %t55, label %wbody10, label %wend11 +wbody10: + %t56 = load ptr, ptr %t39 + %t57 = getelementptr inbounds %Cmp_Node, ptr %t56, i32 0, i32 7 + %t58 = load ptr, ptr %t57 + %t59 = getelementptr inbounds %LSlice, ptr %t58, i32 0, i32 0 + %t60 = load ptr, ptr %t59 + %t61 = load i32, ptr %t46 + %t62 = getelementptr inbounds ptr, ptr %t60, i32 %t61 + %t63 = load ptr, ptr %t62 + %t64 = call ptr @fn_emit_expr(ptr %t63) + store ptr %t64, ptr %t65 + %t66 = load ptr, ptr %t5 + %t67 = getelementptr inbounds %Cmp_Val, ptr %t66, i32 0, i32 0 + %t68 = load ptr, ptr %t67 + %t69 = call ptr @lp_str_concat(ptr @.str9091, ptr %t68) + %t70 = call ptr @lp_str_concat(ptr %t69, ptr @.str9092) + %t71 = load ptr, ptr %t65 + %t72 = getelementptr inbounds %Cmp_Val, ptr %t71, i32 0, i32 0 + %t73 = load ptr, ptr %t72 + %t74 = call ptr @lp_str_concat(ptr %t70, ptr %t73) + %t75 = call ptr @fn_emit_bind(ptr %t74) + store ptr %t75, ptr %t76 + %t77 = load i32, ptr %t45 + %t78 = icmp ne i32 %t77, 0 + br i1 %t78, label %then12, label %else13 +then12: + %t79 = load ptr, ptr %t76 + store ptr %t79, ptr %t44 + store i32 0, ptr %t45 + br label %ifend14 +else13: + %t80 = load ptr, ptr %t44 + %t81 = call ptr @lp_str_concat(ptr @.str9093, ptr %t80) + %t82 = call ptr @lp_str_concat(ptr %t81, ptr @.str9094) + %t83 = load ptr, ptr %t76 + %t84 = call ptr @lp_str_concat(ptr %t82, ptr %t83) + %t85 = call ptr @fn_emit_bind(ptr %t84) + store ptr %t85, ptr %t44 + br label %ifend14 +ifend14: + %t86 = load i32, ptr %t46 + %t87 = add i32 %t86, 1 + store i32 %t87, ptr %t46 + br label %wcond9 +wend11: + %t88 = call ptr @fn_lbl(ptr @.str9095) + store ptr %t88, ptr %t89 + %t90 = call ptr @fn_lbl(ptr @.str9096) + store ptr %t90, ptr %t91 + call void @fn_emit(ptr @.str9097) + %t92 = load ptr, ptr %t44 + call void @fn_emit(ptr %t92) + call void @fn_emit(ptr @.str9098) + %t93 = load ptr, ptr %t89 + call void @fn_emit(ptr %t93) + call void @fn_emit(ptr @.str9099) + %t94 = load ptr, ptr %t91 + call void @fn_emit(ptr %t94) + call void @fn_emit(ptr @.str9100) + %t95 = load ptr, ptr %t89 + call void @fn_emit(ptr %t95) + call void @fn_emit(ptr @.str9101) + store i32 0, ptr @g_g_term + %t96 = load ptr, ptr %t39 + %t97 = getelementptr inbounds %Cmp_Node, ptr %t96, i32 0, i32 4 + %t98 = load ptr, ptr %t97 + call void @fn_emit_block(ptr %t98) + %t99 = load i32, ptr @g_g_term + %t100 = icmp eq i32 %t99, 0 + %t101 = zext i1 %t100 to i32 + %t102 = icmp ne i32 %t101, 0 + br i1 %t102, label %then15, label %ifend17 +then15: + call void @fn_emit(ptr @.str9102) + %t103 = load ptr, ptr %t19 + call void @fn_emit(ptr %t103) + call void @fn_emit(ptr @.str9103) + br label %ifend17 +ifend17: + %t104 = load ptr, ptr %t91 + call void @fn_emit(ptr %t104) + call void @fn_emit(ptr @.str9104) + store i32 0, ptr @g_g_term + br label %ifend8 +ifend8: + %t105 = load i32, ptr %t21 + %t106 = add i32 %t105, 1 + store i32 %t106, ptr %t21 + br label %wcond3 +wend5: + %t107 = load ptr, ptr %t20 + %t108 = icmp ne ptr %t107, null + %t109 = zext i1 %t108 to i32 + %t110 = icmp ne i32 %t109, 0 + br i1 %t110, label %then18, label %ifend20 +then18: + %t111 = load ptr, ptr %t20 + %t112 = getelementptr inbounds %Cmp_Node, ptr %t111, i32 0, i32 4 + %t113 = load ptr, ptr %t112 + call void @fn_emit_block(ptr %t113) + br label %ifend20 +ifend20: + %t114 = load i32, ptr @g_g_term + %t115 = icmp eq i32 %t114, 0 + %t116 = zext i1 %t115 to i32 + %t117 = icmp ne i32 %t116, 0 + br i1 %t117, label %then21, label %ifend23 +then21: + call void @fn_emit(ptr @.str9105) + %t118 = load ptr, ptr %t19 + call void @fn_emit(ptr %t118) + call void @fn_emit(ptr @.str9106) + br label %ifend23 +ifend23: + %t119 = load ptr, ptr %t19 + call void @fn_emit(ptr %t119) + call void @fn_emit(ptr @.str9107) + store i32 0, ptr @g_g_term + br label %ret +ret: + ret void +} + +define ptr @fn_emit_emit(ptr %arg_st) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t5 = alloca ptr + %t20 = alloca ptr + %t27 = alloca ptr + %t28 = alloca i32 + %t46 = alloca ptr + %t47 = alloca ptr + %t48 = alloca i32 + %t95 = alloca ptr + %t96 = alloca ptr + %t106 = alloca ptr + %t120 = alloca ptr + %t173 = alloca ptr + %t181 = alloca i32 + %t182 = alloca i32 + %t193 = alloca ptr + %t225 = alloca ptr + %t241 = alloca ptr + %t242 = alloca i32 + %t279 = alloca ptr + store ptr %arg_st, ptr %t0 + %t1 = load ptr, ptr %t0 + %t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 1 + %t3 = load ptr, ptr %t2 + %t4 = call ptr @fn_find_event(ptr %t3) + store ptr %t4, ptr %t5 + %t6 = load ptr, ptr %t5 + %t7 = icmp eq ptr %t6, null + %t8 = zext i1 %t7 to i32 + %t9 = icmp ne i32 %t8, 0 + br i1 %t9, label %then0, label %ifend2 +then0: + %t10 = load ptr, ptr %t0 + %t11 = getelementptr inbounds %Cmp_Node, ptr %t10, i32 0, i32 1 + %t12 = load ptr, ptr %t11 + %t13 = call ptr @lp_str_concat(ptr @.str9108, ptr %t12) + call void @fn_perr(ptr %t13) + br label %ifend2 +ifend2: + %t14 = getelementptr %LSlice, ptr null, i32 1 + %t15 = ptrtoint ptr %t14 to i64 + %t16 = call ptr @malloc(i64 %t15) + %t17 = getelementptr inbounds %LSlice, ptr %t16, i32 0, i32 0 + store ptr null, ptr %t17 + %t18 = getelementptr inbounds %LSlice, ptr %t16, i32 0, i32 1 + store i32 0, ptr %t18 + %t19 = getelementptr inbounds %LSlice, ptr %t16, i32 0, i32 2 + store i32 0, ptr %t19 + store ptr %t16, ptr %t20 + %t21 = getelementptr %LSlice, ptr null, i32 1 + %t22 = ptrtoint ptr %t21 to i64 + %t23 = call ptr @malloc(i64 %t22) + %t24 = getelementptr inbounds %LSlice, ptr %t23, i32 0, i32 0 + store ptr null, ptr %t24 + %t25 = getelementptr inbounds %LSlice, ptr %t23, i32 0, i32 1 + store i32 0, ptr %t25 + %t26 = getelementptr inbounds %LSlice, ptr %t23, i32 0, i32 2 + store i32 0, ptr %t26 + store ptr %t23, ptr %t27 + store i32 0, ptr %t28 + br label %wcond3 +wcond3: + %t29 = load i32, ptr %t28 + %t30 = load ptr, ptr %t5 + %t31 = getelementptr inbounds %Cmp_Node, ptr %t30, i32 0, i32 7 + %t32 = load ptr, ptr %t31 + %t33 = getelementptr inbounds %LSlice, ptr %t32, i32 0, i32 1 + %t34 = load i32, ptr %t33 + %t35 = icmp slt i32 %t29, %t34 + %t36 = zext i1 %t35 to i32 + %t37 = icmp ne i32 %t36, 0 + br i1 %t37, label %wbody4, label %wend5 +wbody4: + %t38 = load ptr, ptr %t5 + %t39 = getelementptr inbounds %Cmp_Node, ptr %t38, i32 0, i32 7 + %t40 = load ptr, ptr %t39 + %t41 = getelementptr inbounds %LSlice, ptr %t40, i32 0, i32 0 + %t42 = load ptr, ptr %t41 + %t43 = load i32, ptr %t28 + %t44 = getelementptr inbounds ptr, ptr %t42, i32 %t43 + %t45 = load ptr, ptr %t44 + store ptr %t45, ptr %t46 + store ptr null, ptr %t47 + store i32 0, ptr %t48 + br label %wcond6 +wcond6: + %t49 = load i32, ptr %t48 + %t50 = load ptr, ptr %t0 + %t51 = getelementptr inbounds %Cmp_Node, ptr %t50, i32 0, i32 4 + %t52 = load ptr, ptr %t51 + %t53 = getelementptr inbounds %Cmp_Node, ptr %t52, i32 0, i32 7 + %t54 = load ptr, ptr %t53 + %t55 = getelementptr inbounds %LSlice, ptr %t54, i32 0, i32 1 + %t56 = load i32, ptr %t55 + %t57 = icmp slt i32 %t49, %t56 + %t58 = zext i1 %t57 to i32 + %t59 = icmp ne i32 %t58, 0 + br i1 %t59, label %wbody7, label %wend8 +wbody7: + %t60 = load ptr, ptr %t0 + %t61 = getelementptr inbounds %Cmp_Node, ptr %t60, i32 0, i32 4 + %t62 = load ptr, ptr %t61 + %t63 = getelementptr inbounds %Cmp_Node, ptr %t62, i32 0, i32 7 + %t64 = load ptr, ptr %t63 + %t65 = getelementptr inbounds %LSlice, ptr %t64, i32 0, i32 0 + %t66 = load ptr, ptr %t65 + %t67 = load i32, ptr %t48 + %t68 = getelementptr inbounds ptr, ptr %t66, i32 %t67 + %t69 = load ptr, ptr %t68 + %t70 = getelementptr inbounds %Cmp_Node, ptr %t69, i32 0, i32 1 + %t71 = load ptr, ptr %t70 + %t72 = load ptr, ptr %t46 + %t73 = getelementptr inbounds %Cmp_Node, ptr %t72, i32 0, i32 1 + %t74 = load ptr, ptr %t73 + %t75 = call i32 @lp_str_eq(ptr %t71, ptr %t74) + %t76 = icmp ne i32 %t75, 0 + br i1 %t76, label %then9, label %ifend11 +then9: + %t77 = load ptr, ptr %t0 + %t78 = getelementptr inbounds %Cmp_Node, ptr %t77, i32 0, i32 4 + %t79 = load ptr, ptr %t78 + %t80 = getelementptr inbounds %Cmp_Node, ptr %t79, i32 0, i32 7 + %t81 = load ptr, ptr %t80 + %t82 = getelementptr inbounds %LSlice, ptr %t81, i32 0, i32 0 + %t83 = load ptr, ptr %t82 + %t84 = load i32, ptr %t48 + %t85 = getelementptr inbounds ptr, ptr %t83, i32 %t84 + %t86 = load ptr, ptr %t85 + %t87 = getelementptr inbounds %Cmp_Node, ptr %t86, i32 0, i32 4 + %t88 = load ptr, ptr %t87 + store ptr %t88, ptr %t47 + br label %ifend11 +ifend11: + %t89 = load i32, ptr %t48 + %t90 = add i32 %t89, 1 + store i32 %t90, ptr %t48 + br label %wcond6 +wend8: + %t91 = load ptr, ptr %t46 + %t92 = getelementptr inbounds %Cmp_Node, ptr %t91, i32 0, i32 3 + %t93 = load ptr, ptr %t92 + %t94 = call ptr @fn_llty(ptr %t93) + store ptr %t94, ptr %t95 + store ptr @.str9109, ptr %t96 + %t97 = load ptr, ptr %t95 + %t98 = call i32 @lp_str_eq(ptr %t97, ptr @.str9110) + %t99 = icmp ne i32 %t98, 0 + br i1 %t99, label %then12, label %ifend14 +then12: + store ptr @.str9111, ptr %t96 + br label %ifend14 +ifend14: + %t100 = load ptr, ptr %t47 + %t101 = icmp ne ptr %t100, null + %t102 = zext i1 %t101 to i32 + %t103 = icmp ne i32 %t102, 0 + br i1 %t103, label %then15, label %else16 +then15: + %t104 = load ptr, ptr %t47 + %t105 = call ptr @fn_emit_expr(ptr %t104) + store ptr %t105, ptr %t106 + %t107 = load ptr, ptr %t106 + %t108 = getelementptr inbounds %Cmp_Val, ptr %t107, i32 0, i32 0 + %t109 = load ptr, ptr %t108 + store ptr %t109, ptr %t96 + br label %ifend17 +else16: + %t110 = load ptr, ptr %t46 + %t111 = getelementptr inbounds %Cmp_Node, ptr %t110, i32 0, i32 4 + %t112 = load ptr, ptr %t111 + %t113 = icmp ne ptr %t112, null + %t114 = zext i1 %t113 to i32 + %t115 = icmp ne i32 %t114, 0 + br i1 %t115, label %then18, label %ifend20 +then18: + %t116 = load ptr, ptr %t46 + %t117 = getelementptr inbounds %Cmp_Node, ptr %t116, i32 0, i32 4 + %t118 = load ptr, ptr %t117 + %t119 = call ptr @fn_emit_expr(ptr %t118) + store ptr %t119, ptr %t120 + %t121 = load ptr, ptr %t120 + %t122 = getelementptr inbounds %Cmp_Val, ptr %t121, i32 0, i32 0 + %t123 = load ptr, ptr %t122 + store ptr %t123, ptr %t96 + br label %ifend20 +ifend20: + br label %ifend17 +ifend17: + %t124 = load ptr, ptr %t20 + %t125 = load ptr, ptr %t96 + %t126 = getelementptr inbounds %LSlice, ptr %t124, i32 0, i32 1 + %t127 = getelementptr inbounds %LSlice, ptr %t124, i32 0, i32 2 + %t128 = getelementptr inbounds %LSlice, ptr %t124, i32 0, i32 0 + %t129 = load i32, ptr %t126 + %t130 = load i32, ptr %t127 + %t131 = icmp sge i32 %t129, %t130 + br i1 %t131, label %grow21, label %put22 +grow21: + %t132 = mul i32 %t130, 2 + %t133 = icmp eq i32 %t130, 0 + %t134 = select i1 %t133, i32 8, i32 %t132 + %t135 = getelementptr ptr, ptr null, i32 1 + %t136 = ptrtoint ptr %t135 to i64 + %t137 = zext i32 %t134 to i64 + %t138 = mul i64 %t137, %t136 + %t139 = load ptr, ptr %t128 + %t140 = call ptr @realloc(ptr %t139, i64 %t138) + store ptr %t140, ptr %t128 + store i32 %t134, ptr %t127 + br label %put22 +put22: + %t141 = load ptr, ptr %t128 + %t142 = getelementptr inbounds ptr, ptr %t141, i32 %t129 + store ptr %t125, ptr %t142 + %t143 = add i32 %t129, 1 + store i32 %t143, ptr %t126 + %t144 = load ptr, ptr %t27 + %t145 = load ptr, ptr %t95 + %t146 = getelementptr inbounds %LSlice, ptr %t144, i32 0, i32 1 + %t147 = getelementptr inbounds %LSlice, ptr %t144, i32 0, i32 2 + %t148 = getelementptr inbounds %LSlice, ptr %t144, i32 0, i32 0 + %t149 = load i32, ptr %t146 + %t150 = load i32, ptr %t147 + %t151 = icmp sge i32 %t149, %t150 + br i1 %t151, label %grow23, label %put24 +grow23: + %t152 = mul i32 %t150, 2 + %t153 = icmp eq i32 %t150, 0 + %t154 = select i1 %t153, i32 8, i32 %t152 + %t155 = getelementptr ptr, ptr null, i32 1 + %t156 = ptrtoint ptr %t155 to i64 + %t157 = zext i32 %t154 to i64 + %t158 = mul i64 %t157, %t156 + %t159 = load ptr, ptr %t148 + %t160 = call ptr @realloc(ptr %t159, i64 %t158) + store ptr %t160, ptr %t148 + store i32 %t154, ptr %t147 + br label %put24 +put24: + %t161 = load ptr, ptr %t148 + %t162 = getelementptr inbounds ptr, ptr %t161, i32 %t149 + store ptr %t145, ptr %t162 + %t163 = add i32 %t149, 1 + store i32 %t163, ptr %t146 + %t164 = load i32, ptr %t28 + %t165 = add i32 %t164, 1 + store i32 %t165, ptr %t28 + br label %wcond3 +wend5: + %t166 = load ptr, ptr %t5 + %t167 = getelementptr inbounds %Cmp_Node, ptr %t166, i32 0, i32 3 + %t168 = load ptr, ptr %t167 + %t169 = icmp ne ptr %t168, null + %t170 = zext i1 %t169 to i32 + %t171 = icmp ne i32 %t170, 0 + br i1 %t171, label %then25, label %ifend27 +then25: + %t172 = call ptr @fn_nreg() + store ptr %t172, ptr %t173 + call void @fn_emit(ptr @.str9112) + %t174 = load ptr, ptr %t173 + call void @fn_emit(ptr %t174) + call void @fn_emit(ptr @.str9113) + call void @fn_emit(ptr @.str9114) + %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 @.str9115) + %t180 = load ptr, ptr %t173 + call void @fn_emit(ptr %t180) + call void @fn_emit(ptr @.str9116) + 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 @.str9117) + %t194 = load ptr, ptr %t193 + call void @fn_emit(ptr %t194) + call void @fn_emit(ptr @.str9118) + %t195 = load i32, ptr %t181 + %t196 = call ptr @fn_itoa(i32 %t195) + call void @fn_emit(ptr %t196) + call void @fn_emit(ptr @.str9119) + call void @fn_emit(ptr @.str9120) + %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 @.str9121) + %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 @.str9122) + %t209 = load ptr, ptr %t193 + call void @fn_emit(ptr %t209) + call void @fn_emit(ptr @.str9123) + %t210 = load ptr, ptr %t5 + %t211 = getelementptr inbounds %Cmp_Node, ptr %t210, i32 0, i32 7 + %t212 = load ptr, ptr %t211 + %t213 = getelementptr inbounds %LSlice, ptr %t212, i32 0, i32 0 + %t214 = load ptr, ptr %t213 + %t215 = load i32, ptr %t182 + %t216 = getelementptr inbounds ptr, ptr %t214, i32 %t215 + %t217 = load ptr, ptr %t216 + %t218 = getelementptr inbounds %Cmp_Node, ptr %t217, i32 0, i32 3 + %t219 = load ptr, ptr %t218 + %t220 = call i32 @fn_net_field_ibytes(ptr %t219) + %t221 = load i32, ptr %t181 + %t222 = add i32 %t221, %t220 + store i32 %t222, ptr %t181 + %t223 = load i32, ptr %t182 + %t224 = add i32 %t223, 1 + store i32 %t224, ptr %t182 + br label %wcond28 +wend30: + store ptr @.str9124, ptr %t225 + %t226 = load ptr, ptr %t5 + %t227 = getelementptr inbounds %Cmp_Node, ptr %t226, i32 0, i32 3 + %t228 = load ptr, ptr %t227 + %t229 = call i32 @lp_str_eq(ptr %t228, ptr @.str9125) + %t230 = icmp ne i32 %t229, 0 + br i1 %t230, label %then31, label %ifend33 +then31: + store ptr @.str9126, ptr %t225 + br label %ifend33 +ifend33: + %t231 = call ptr @fn_find_extern(ptr @.str9127) + %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 @.str9128) + %t235 = call ptr @fn_net_send_sym() + call void @fn_emit(ptr %t235) + call void @fn_emit(ptr @.str9129) + %t236 = load ptr, ptr %t225 + call void @fn_emit(ptr %t236) + call void @fn_emit(ptr @.str9130) + %t237 = load i32, ptr %t181 + %t238 = call ptr @fn_itoa(i32 %t237) + call void @fn_emit(ptr %t238) + call void @fn_emit(ptr @.str9131) + %t239 = call ptr @fn_val(ptr @.str9132, ptr @.str9133) + 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 @.str9134) + 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 @.str9135) + %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 @.str9136) + %t280 = load ptr, ptr %t279 + call void @fn_emit(ptr %t280) + call void @fn_emit(ptr @.str9137) + %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 @.str9138) + %t284 = load ptr, ptr %t241 + %t285 = call ptr @fn_buf_str(ptr %t284) + call void @fn_emit(ptr %t285) + call void @fn_emit(ptr @.str9139) + %t286 = load ptr, ptr %t279 + %t287 = call ptr @fn_val(ptr %t286, ptr @.str9140) + store ptr %t287, ptr %retval + br label %ret +ifend45: + call void @fn_emit(ptr @.str9141) + %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 @.str9142) + %t291 = load ptr, ptr %t241 + %t292 = call ptr @fn_buf_str(ptr %t291) + call void @fn_emit(ptr %t292) + call void @fn_emit(ptr @.str9143) + %t293 = call ptr @fn_val(ptr @.str9144, ptr @.str9145) + store ptr %t293, ptr %retval + br label %ret +ret: + %t294 = load ptr, ptr %retval + ret ptr %t294 +} + +define void @fn_emit_stmt(ptr %arg_st) { +entry: + %t0 = alloca ptr + %t19 = alloca ptr + %t28 = alloca ptr + %t35 = alloca ptr + %t53 = alloca ptr + %t60 = alloca ptr + %t73 = alloca ptr + %t171 = alloca ptr + %t208 = alloca ptr + %t244 = alloca ptr + store ptr %arg_st, ptr %t0 + %t1 = load ptr, ptr %t0 + %t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 9 + %t3 = load ptr, ptr %t2 + store ptr %t3, ptr @g_g_err_file + %t4 = load ptr, ptr %t0 + %t5 = getelementptr inbounds %Cmp_Node, ptr %t4, i32 0, i32 8 + %t6 = load i32, ptr %t5 + store i32 %t6, ptr @g_g_err_line + %t7 = load ptr, ptr %t0 + %t8 = getelementptr inbounds %Cmp_Node, ptr %t7, i32 0, i32 8 + %t9 = load i32, ptr %t8 + call void @fn_emit_cov_hit(i32 %t9) + %t10 = load ptr, ptr %t0 + %t11 = getelementptr inbounds %Cmp_Node, ptr %t10, i32 0, i32 0 + %t12 = load i32, ptr %t11 + %t13 = icmp eq i32 %t12, 10 + %t14 = zext i1 %t13 to i32 + %t15 = icmp ne i32 %t14, 0 + br i1 %t15, label %then0, label %ifend2 +then0: + %t16 = load ptr, ptr %t0 + %t17 = getelementptr inbounds %Cmp_Node, ptr %t16, i32 0, i32 3 + %t18 = load ptr, ptr %t17 + store ptr %t18, ptr %t19 + %t20 = load ptr, ptr %t19 + %t21 = icmp eq ptr %t20, null + %t22 = zext i1 %t21 to i32 + %t23 = icmp ne i32 %t22, 0 + br i1 %t23, label %then3, label %ifend5 +then3: + %t24 = load ptr, ptr %t0 + %t25 = getelementptr inbounds %Cmp_Node, ptr %t24, i32 0, i32 4 + %t26 = load ptr, ptr %t25 + %t27 = call ptr @fn_emit_expr(ptr %t26) + store ptr %t27, ptr %t28 + %t29 = load ptr, ptr %t28 + %t30 = getelementptr inbounds %Cmp_Val, ptr %t29, i32 0, i32 1 + %t31 = load ptr, ptr %t30 + store ptr %t31, ptr %t19 + %t32 = load ptr, ptr %t19 + %t33 = call ptr @fn_llty(ptr %t32) + %t34 = call ptr @fn_emit_alloca(ptr %t33) + store ptr %t34, ptr %t35 + %t36 = load ptr, ptr %t19 + %t37 = call ptr @fn_llty(ptr %t36) + %t38 = load ptr, ptr %t28 + %t39 = getelementptr inbounds %Cmp_Val, ptr %t38, i32 0, i32 0 + %t40 = load ptr, ptr %t39 + %t41 = load ptr, ptr %t35 + call void @fn_store_at(ptr %t37, ptr %t40, ptr %t41) + %t42 = load ptr, ptr %t0 + %t43 = getelementptr inbounds %Cmp_Node, ptr %t42, i32 0, i32 1 + %t44 = load ptr, ptr %t43 + %t45 = load ptr, ptr %t35 + %t46 = load ptr, ptr %t19 + call void @fn_loc_push(ptr %t44, ptr %t45, ptr %t46) + %t47 = load ptr, ptr %t0 + %t48 = getelementptr inbounds %Cmp_Node, ptr %t47, i32 0, i32 2 + %t49 = load i32, ptr %t48 + call void @fn_loc_set_mut(i32 %t49) + br label %ret +ifend5: + %t50 = load ptr, ptr %t19 + %t51 = call ptr @fn_llty(ptr %t50) + %t52 = call ptr @fn_emit_alloca(ptr %t51) + store ptr %t52, ptr %t53 + %t54 = load ptr, ptr %t0 + %t55 = getelementptr inbounds %Cmp_Node, ptr %t54, i32 0, i32 4 + %t56 = load ptr, ptr %t55 + %t57 = icmp eq ptr %t56, null + %t58 = zext i1 %t57 to i32 + %t59 = icmp ne i32 %t58, 0 + br i1 %t59, label %then6, label %else7 +then6: + store ptr @.str9146, ptr %t60 + %t61 = load ptr, ptr %t19 + %t62 = call ptr @fn_llty(ptr %t61) + %t63 = call i32 @lp_str_eq(ptr %t62, ptr @.str9147) + %t64 = icmp ne i32 %t63, 0 + br i1 %t64, label %then9, label %ifend11 +then9: + store ptr @.str9148, ptr %t60 + br label %ifend11 +ifend11: + %t65 = load ptr, ptr %t19 + %t66 = call ptr @fn_llty(ptr %t65) + %t67 = load ptr, ptr %t60 + %t68 = load ptr, ptr %t53 + call void @fn_store_at(ptr %t66, ptr %t67, ptr %t68) + br label %ifend8 +else7: + %t69 = load ptr, ptr %t0 + %t70 = getelementptr inbounds %Cmp_Node, ptr %t69, i32 0, i32 4 + %t71 = load ptr, ptr %t70 + %t72 = call ptr @fn_emit_expr(ptr %t71) + store ptr %t72, ptr %t73 + %t74 = load ptr, ptr %t19 + %t75 = call ptr @fn_llty(ptr %t74) + %t76 = load ptr, ptr %t73 + %t77 = load ptr, ptr %t19 + %t78 = call ptr @fn_coerce_code(ptr %t76, ptr %t77) + %t79 = load ptr, ptr %t53 + call void @fn_store_at(ptr %t75, ptr %t78, ptr %t79) + br label %ifend8 +ifend8: + %t80 = load ptr, ptr %t0 + %t81 = getelementptr inbounds %Cmp_Node, ptr %t80, i32 0, i32 1 + %t82 = load ptr, ptr %t81 + %t83 = load ptr, ptr %t53 + %t84 = load ptr, ptr %t19 + call void @fn_loc_push(ptr %t82, ptr %t83, ptr %t84) + %t85 = load ptr, ptr %t0 + %t86 = getelementptr inbounds %Cmp_Node, ptr %t85, i32 0, i32 2 + %t87 = load i32, ptr %t86 + call void @fn_loc_set_mut(i32 %t87) + br label %ret +ifend2: + %t88 = load ptr, ptr %t0 + %t89 = getelementptr inbounds %Cmp_Node, ptr %t88, i32 0, i32 0 + %t90 = load i32, ptr %t89 + %t91 = icmp eq i32 %t90, 11 + %t92 = zext i1 %t91 to i32 + %t93 = icmp ne i32 %t92, 0 + br i1 %t93, label %then12, label %ifend14 +then12: + %t94 = load ptr, ptr %t0 + call void @fn_emit_assign(ptr %t94) + br label %ret +ifend14: + %t95 = load ptr, ptr %t0 + %t96 = getelementptr inbounds %Cmp_Node, ptr %t95, i32 0, i32 0 + %t97 = load i32, ptr %t96 + %t98 = icmp eq i32 %t97, 12 + %t99 = zext i1 %t98 to i32 + %t100 = icmp ne i32 %t99, 0 + br i1 %t100, label %then15, label %ifend17 +then15: + %t101 = load ptr, ptr %t0 + call void @fn_emit_if(ptr %t101) + br label %ret +ifend17: + %t102 = load ptr, ptr %t0 + %t103 = getelementptr inbounds %Cmp_Node, ptr %t102, i32 0, i32 0 + %t104 = load i32, ptr %t103 + %t105 = icmp eq i32 %t104, 13 + %t106 = zext i1 %t105 to i32 + %t107 = icmp ne i32 %t106, 0 + br i1 %t107, label %then18, label %ifend20 +then18: + %t108 = load ptr, ptr %t0 + call void @fn_emit_while(ptr %t108) + br label %ret +ifend20: + %t109 = load ptr, ptr %t0 + %t110 = getelementptr inbounds %Cmp_Node, ptr %t109, i32 0, i32 0 + %t111 = load i32, ptr %t110 + %t112 = icmp eq i32 %t111, 14 + %t113 = zext i1 %t112 to i32 + %t114 = icmp ne i32 %t113, 0 + br i1 %t114, label %then21, label %ifend23 +then21: + %t115 = load ptr, ptr %t0 + call void @fn_emit_for(ptr %t115) + br label %ret +ifend23: + %t116 = load ptr, ptr %t0 + %t117 = getelementptr inbounds %Cmp_Node, ptr %t116, i32 0, i32 0 + %t118 = load i32, ptr %t117 + %t119 = icmp eq i32 %t118, 15 + %t120 = zext i1 %t119 to i32 + %t121 = icmp ne i32 %t120, 0 + br i1 %t121, label %then24, label %ifend26 +then24: + %t122 = load ptr, ptr %t0 + call void @fn_emit_return(ptr %t122) + br label %ret +ifend26: + %t123 = load ptr, ptr %t0 + %t124 = getelementptr inbounds %Cmp_Node, ptr %t123, i32 0, i32 0 + %t125 = load i32, ptr %t124 + %t126 = icmp eq i32 %t125, 17 + %t127 = zext i1 %t126 to i32 + %t128 = icmp ne i32 %t127, 0 + br i1 %t128, label %then27, label %ifend29 +then27: + call void @fn_emit(ptr @.str9149) + %t129 = load ptr, ptr @g_brk_lbl + %t130 = getelementptr inbounds %LSlice, ptr %t129, i32 0, i32 0 + %t131 = load ptr, ptr %t130 + %t132 = load i32, ptr @g_nloop + %t133 = sub i32 %t132, 1 + %t134 = getelementptr inbounds ptr, ptr %t131, i32 %t133 + %t135 = load ptr, ptr %t134 + call void @fn_emit(ptr %t135) + call void @fn_emit(ptr @.str9150) + store i32 1, ptr @g_g_term + br label %ret +ifend29: + %t136 = load ptr, ptr %t0 + %t137 = getelementptr inbounds %Cmp_Node, ptr %t136, i32 0, i32 0 + %t138 = load i32, ptr %t137 + %t139 = icmp eq i32 %t138, 18 + %t140 = zext i1 %t139 to i32 + %t141 = icmp ne i32 %t140, 0 + br i1 %t141, label %then30, label %ifend32 +then30: + call void @fn_emit(ptr @.str9151) + %t142 = load ptr, ptr @g_cnt_lbl + %t143 = getelementptr inbounds %LSlice, ptr %t142, i32 0, i32 0 + %t144 = load ptr, ptr %t143 + %t145 = load i32, ptr @g_nloop + %t146 = sub i32 %t145, 1 + %t147 = getelementptr inbounds ptr, ptr %t144, i32 %t146 + %t148 = load ptr, ptr %t147 + call void @fn_emit(ptr %t148) + call void @fn_emit(ptr @.str9152) + store i32 1, ptr @g_g_term + br label %ret +ifend32: + %t149 = load ptr, ptr %t0 + %t150 = getelementptr inbounds %Cmp_Node, ptr %t149, i32 0, i32 0 + %t151 = load i32, ptr %t150 + %t152 = icmp eq i32 %t151, 19 + %t153 = zext i1 %t152 to i32 + %t154 = icmp ne i32 %t153, 0 + br i1 %t154, label %then33, label %ifend35 +then33: + %t155 = load ptr, ptr %t0 + call void @fn_emit_match(ptr %t155) + br label %ret +ifend35: + %t156 = load ptr, ptr %t0 + %t157 = getelementptr inbounds %Cmp_Node, ptr %t156, i32 0, i32 0 + %t158 = load i32, ptr %t157 + %t159 = icmp eq i32 %t158, 21 + %t160 = zext i1 %t159 to i32 + %t161 = icmp ne i32 %t160, 0 + br i1 %t161, label %then36, label %ifend38 +then36: + %t162 = load ptr, ptr %t0 + call void @fn_emit_query(ptr %t162) + br label %ret +ifend38: + %t163 = load ptr, ptr %t0 + %t164 = getelementptr inbounds %Cmp_Node, ptr %t163, i32 0, i32 0 + %t165 = load i32, ptr %t164 + %t166 = icmp eq i32 %t165, 22 + %t167 = zext i1 %t166 to i32 + %t168 = icmp ne i32 %t167, 0 + br i1 %t168, label %then39, label %ifend41 +then39: + %t169 = load ptr, ptr %t0 + %t170 = call ptr @fn_emit_spawn(ptr %t169) + store ptr %t170, ptr %t171 + br label %ret +ifend41: + %t172 = load ptr, ptr %t0 + %t173 = getelementptr inbounds %Cmp_Node, ptr %t172, i32 0, i32 0 + %t174 = load i32, ptr %t173 + %t175 = icmp eq i32 %t174, 23 + %t176 = zext i1 %t175 to i32 + %t177 = icmp ne i32 %t176, 0 + br i1 %t177, label %then42, label %ifend44 +then42: + %t178 = load ptr, ptr %t0 + call void @fn_emit_despawn(ptr %t178) + br label %ret +ifend44: + %t179 = load ptr, ptr %t0 + %t180 = getelementptr inbounds %Cmp_Node, ptr %t179, i32 0, i32 0 + %t181 = load i32, ptr %t180 + %t182 = icmp eq i32 %t181, 28 + %t183 = zext i1 %t182 to i32 + %t184 = icmp ne i32 %t183, 0 + br i1 %t184, label %then45, label %ifend47 +then45: + %t185 = load ptr, ptr %t0 + call void @fn_emit_toggle(ptr %t185) + br label %ret +ifend47: + %t186 = load ptr, ptr %t0 + %t187 = getelementptr inbounds %Cmp_Node, ptr %t186, i32 0, i32 0 + %t188 = load i32, ptr %t187 + %t189 = icmp eq i32 %t188, 46 + %t190 = zext i1 %t189 to i32 + %t191 = icmp ne i32 %t190, 0 + br i1 %t191, label %then48, label %ifend50 +then48: + %t192 = load ptr, ptr %t0 + call void @fn_emit_attach(ptr %t192) + br label %ret +ifend50: + %t193 = load ptr, ptr %t0 + %t194 = getelementptr inbounds %Cmp_Node, ptr %t193, i32 0, i32 0 + %t195 = load i32, ptr %t194 + %t196 = icmp eq i32 %t195, 47 + %t197 = zext i1 %t196 to i32 + %t198 = icmp ne i32 %t197, 0 + br i1 %t198, label %then51, label %ifend53 +then51: + %t199 = load ptr, ptr %t0 + call void @fn_emit_detach(ptr %t199) + br label %ret +ifend53: + %t200 = load ptr, ptr %t0 + %t201 = getelementptr inbounds %Cmp_Node, ptr %t200, i32 0, i32 0 + %t202 = load i32, ptr %t201 + %t203 = icmp eq i32 %t202, 49 + %t204 = zext i1 %t203 to i32 + %t205 = icmp ne i32 %t204, 0 + br i1 %t205, label %then54, label %ifend56 +then54: + %t206 = load ptr, ptr %t0 + %t207 = call ptr @fn_emit_emit(ptr %t206) + store ptr %t207, ptr %t208 + br label %ret +ifend56: + %t209 = load ptr, ptr %t0 + %t210 = getelementptr inbounds %Cmp_Node, ptr %t209, i32 0, i32 0 + %t211 = load i32, ptr %t210 + %t212 = icmp eq i32 %t211, 50 + %t213 = zext i1 %t212 to i32 + %t214 = icmp ne i32 %t213, 0 + br i1 %t214, label %then57, label %ifend59 +then57: + %t215 = load ptr, ptr @g_g_cancel_addr + %t216 = icmp eq ptr %t215, null + %t217 = zext i1 %t216 to i32 + %t218 = icmp ne i32 %t217, 0 + br i1 %t218, label %then60, label %ifend62 +then60: + call void @fn_perr(ptr @.str9153) + br label %ifend62 +ifend62: + call void @fn_emit(ptr @.str9154) + %t219 = load ptr, ptr @g_g_cancel_addr + call void @fn_emit(ptr %t219) + call void @fn_emit(ptr @.str9155) + br label %ret +ifend59: + %t220 = load ptr, ptr %t0 + %t221 = getelementptr inbounds %Cmp_Node, ptr %t220, i32 0, i32 0 + %t222 = load i32, ptr %t221 + %t223 = icmp eq i32 %t222, 24 + %t224 = zext i1 %t223 to i32 + %t225 = icmp ne i32 %t224, 0 + br i1 %t225, label %then63, label %ifend65 +then63: + %t226 = load ptr, ptr %t0 + call void @fn_emit_machine(ptr %t226) + br label %ret +ifend65: + %t227 = load ptr, ptr %t0 + %t228 = getelementptr inbounds %Cmp_Node, ptr %t227, i32 0, i32 0 + %t229 = load i32, ptr %t228 + %t230 = icmp eq i32 %t229, 26 + %t231 = zext i1 %t230 to i32 + %t232 = icmp ne i32 %t231, 0 + br i1 %t232, label %then66, label %ifend68 +then66: + %t233 = load ptr, ptr %t0 + call void @fn_emit_become(ptr %t233) + br label %ret +ifend68: + %t234 = load ptr, ptr %t0 + %t235 = getelementptr inbounds %Cmp_Node, ptr %t234, i32 0, i32 0 + %t236 = load i32, ptr %t235 + %t237 = icmp eq i32 %t236, 16 + %t238 = zext i1 %t237 to i32 + %t239 = icmp ne i32 %t238, 0 + br i1 %t239, label %then69, label %ifend71 +then69: + %t240 = load ptr, ptr %t0 + %t241 = getelementptr inbounds %Cmp_Node, ptr %t240, i32 0, i32 4 + %t242 = load ptr, ptr %t241 + %t243 = call ptr @fn_emit_expr(ptr %t242) + store ptr %t243, ptr %t244 + br label %ret +ifend71: + call void @fn_perr(ptr @.str9156) + br label %ret +ret: + ret void +} + +define void @fn_loop_push(ptr %arg_cont, ptr %arg_brk) { +entry: + %t0 = alloca ptr + %t1 = alloca ptr + store ptr %arg_cont, ptr %t0 + store ptr %arg_brk, ptr %t1 + %t2 = load i32, ptr @g_nloop + %t3 = load ptr, ptr @g_cnt_lbl + %t4 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 1 + %t5 = load i32, ptr %t4 + %t6 = icmp slt i32 %t2, %t5 + %t7 = zext i1 %t6 to i32 + %t8 = icmp ne i32 %t7, 0 + br i1 %t8, label %then0, label %else1 +then0: + %t9 = load ptr, ptr @g_cnt_lbl + %t10 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0 + %t11 = load ptr, ptr %t10 + %t12 = load i32, ptr @g_nloop + %t13 = getelementptr inbounds ptr, ptr %t11, i32 %t12 + %t14 = load ptr, ptr %t0 + store ptr %t14, ptr %t13 + %t15 = load ptr, ptr @g_brk_lbl + %t16 = getelementptr inbounds %LSlice, ptr %t15, i32 0, i32 0 + %t17 = load ptr, ptr %t16 + %t18 = load i32, ptr @g_nloop + %t19 = getelementptr inbounds ptr, ptr %t17, i32 %t18 + %t20 = load ptr, ptr %t1 + store ptr %t20, ptr %t19 + br label %ifend2 +else1: + %t21 = load ptr, ptr @g_cnt_lbl + %t22 = load ptr, ptr %t0 + %t23 = getelementptr inbounds %LSlice, ptr %t21, i32 0, i32 1 + %t24 = getelementptr inbounds %LSlice, ptr %t21, i32 0, i32 2 + %t25 = getelementptr inbounds %LSlice, ptr %t21, i32 0, i32 0 + %t26 = load i32, ptr %t23 + %t27 = load i32, ptr %t24 + %t28 = icmp sge i32 %t26, %t27 + br i1 %t28, label %grow3, label %put4 +grow3: + %t29 = mul i32 %t27, 2 + %t30 = icmp eq i32 %t27, 0 + %t31 = select i1 %t30, i32 8, i32 %t29 + %t32 = getelementptr ptr, ptr null, i32 1 + %t33 = ptrtoint ptr %t32 to i64 + %t34 = zext i32 %t31 to i64 + %t35 = mul i64 %t34, %t33 + %t36 = load ptr, ptr %t25 + %t37 = call ptr @realloc(ptr %t36, i64 %t35) + store ptr %t37, ptr %t25 + store i32 %t31, ptr %t24 + br label %put4 +put4: + %t38 = load ptr, ptr %t25 + %t39 = getelementptr inbounds ptr, ptr %t38, i32 %t26 + store ptr %t22, ptr %t39 + %t40 = add i32 %t26, 1 + store i32 %t40, ptr %t23 + %t41 = load ptr, ptr @g_brk_lbl + %t42 = load ptr, ptr %t1 + %t43 = getelementptr inbounds %LSlice, ptr %t41, i32 0, i32 1 + %t44 = getelementptr inbounds %LSlice, ptr %t41, i32 0, i32 2 + %t45 = getelementptr inbounds %LSlice, ptr %t41, i32 0, i32 0 + %t46 = load i32, ptr %t43 + %t47 = load i32, ptr %t44 + %t48 = icmp sge i32 %t46, %t47 + br i1 %t48, label %grow5, label %put6 +grow5: + %t49 = mul i32 %t47, 2 + %t50 = icmp eq i32 %t47, 0 + %t51 = select i1 %t50, i32 8, i32 %t49 + %t52 = getelementptr ptr, ptr null, i32 1 + %t53 = ptrtoint ptr %t52 to i64 + %t54 = zext i32 %t51 to i64 + %t55 = mul i64 %t54, %t53 + %t56 = load ptr, ptr %t45 + %t57 = call ptr @realloc(ptr %t56, i64 %t55) + store ptr %t57, ptr %t45 + store i32 %t51, ptr %t44 + br label %put6 +put6: + %t58 = load ptr, ptr %t45 + %t59 = getelementptr inbounds ptr, ptr %t58, i32 %t46 + store ptr %t42, ptr %t59 + %t60 = add i32 %t46, 1 + store i32 %t60, ptr %t43 + br label %ifend2 +ifend2: + %t61 = load i32, ptr @g_nloop + %t62 = add i32 %t61, 1 + store i32 %t62, ptr @g_nloop + br label %ret +ret: + ret void +} + +define void @fn_loop_pop() { +entry: + %t0 = load i32, ptr @g_nloop + %t1 = sub i32 %t0, 1 + store i32 %t1, ptr @g_nloop + br label %ret +ret: + ret void +} + +define i32 @fn_has_systems() { +entry: + %retval = alloca i32 + %t0 = alloca i32 + store i32 0, ptr %t0 + br label %wcond0 +wcond0: + %t1 = load i32, ptr %t0 + %t2 = load ptr, ptr @g_prog + %t3 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 1 + %t4 = load i32, ptr %t3 + %t5 = icmp slt i32 %t1, %t4 + %t6 = zext i1 %t5 to i32 + %t7 = icmp ne i32 %t6, 0 + br i1 %t7, label %wbody1, label %wend2 +wbody1: + %t8 = load ptr, ptr @g_prog + %t9 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 0 + %t10 = load ptr, ptr %t9 + %t11 = load i32, ptr %t0 + %t12 = getelementptr inbounds ptr, ptr %t10, i32 %t11 + %t13 = load ptr, ptr %t12 + %t14 = getelementptr inbounds %Cmp_Node, ptr %t13, i32 0, i32 0 + %t15 = load i32, ptr %t14 + %t16 = icmp eq i32 %t15, 9 + %t17 = zext i1 %t16 to i32 + %t18 = icmp ne i32 %t17, 0 + br i1 %t18, label %then3, label %ifend5 +then3: + store i32 1, ptr %retval + br label %ret +ifend5: + %t19 = load i32, ptr %t0 + %t20 = add i32 %t19, 1 + store i32 %t20, ptr %t0 + br label %wcond0 +wend2: + %t21 = call i32 @fn_uses_engine_systems() + %t22 = icmp ne i32 %t21, 0 + br i1 %t22, label %then6, label %ifend8 +then6: + store i32 1, ptr %retval + br label %ret +ifend8: + store i32 0, ptr %retval + br label %ret +ret: + %t23 = load i32, ptr %retval + ret i32 %t23 +} + +define i32 @fn_has_models() { +entry: + %retval = alloca i32 + %t0 = alloca i32 + store i32 0, ptr %t0 + br label %wcond0 +wcond0: + %t1 = load i32, ptr %t0 + %t2 = load ptr, ptr @g_prog + %t3 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 1 + %t4 = load i32, ptr %t3 + %t5 = icmp slt i32 %t1, %t4 + %t6 = zext i1 %t5 to i32 + %t7 = icmp ne i32 %t6, 0 + br i1 %t7, label %wbody1, label %wend2 +wbody1: + %t8 = load ptr, ptr @g_prog + %t9 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 0 + %t10 = load ptr, ptr %t9 + %t11 = load i32, ptr %t0 + %t12 = getelementptr inbounds ptr, ptr %t10, i32 %t11 + %t13 = load ptr, ptr %t12 + %t14 = getelementptr inbounds %Cmp_Node, ptr %t13, i32 0, i32 0 + %t15 = load i32, ptr %t14 + %t16 = icmp eq i32 %t15, 10 + %t17 = zext i1 %t16 to i32 + %t18 = icmp ne i32 %t17, 0 + br i1 %t18, label %then3, label %ifend5 +then3: + store i32 1, ptr %retval + br label %ret +ifend5: + %t19 = load i32, ptr %t0 + %t20 = add i32 %t19, 1 + store i32 %t20, ptr %t0 + br label %wcond0 +wend2: + store i32 0, ptr %retval + br label %ret +ret: + %t21 = load i32, ptr %retval + ret i32 %t21 +} + +define i32 @fn_uses_engine_systems() { +entry: + %retval = alloca i32 + %t0 = alloca i32 + store i32 0, ptr %t0 + br label %wcond0 +wcond0: + %t1 = load i32, ptr %t0 + %t2 = load ptr, ptr @g_g_esys_comp + %t3 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 1 + %t4 = load i32, ptr %t3 + %t5 = icmp slt i32 %t1, %t4 + %t6 = zext i1 %t5 to i32 + %t7 = icmp ne i32 %t6, 0 + br i1 %t7, label %wbody1, label %wend2 +wbody1: + %t8 = load ptr, ptr @g_g_esys_comp + %t9 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 0 + %t10 = load ptr, ptr %t9 + %t11 = load i32, ptr %t0 + %t12 = getelementptr inbounds ptr, ptr %t10, i32 %t11 + %t13 = load ptr, ptr %t12 + %t14 = call ptr @fn_find_comp(ptr %t13) + %t15 = icmp ne ptr %t14, null + %t16 = zext i1 %t15 to i32 + %t17 = icmp ne i32 %t16, 0 + br i1 %t17, label %then3, label %ifend5 +then3: + store i32 1, ptr %retval + br label %ret +ifend5: + %t18 = load i32, ptr %t0 + %t19 = add i32 %t18, 1 + store i32 %t19, ptr %t0 + br label %wcond0 +wend2: + %t20 = call ptr @fn_find_comp(ptr @.str9157) + %t21 = icmp ne ptr %t20, null + %t22 = zext i1 %t21 to i32 + %t23 = icmp ne i32 %t22, 0 + br i1 %t23, label %then6, label %ifend8 +then6: + store i32 1, ptr %retval + br label %ret +ifend8: + store i32 0, ptr %retval + br label %ret +ret: + %t24 = load i32, ptr %retval + ret i32 %t24 +} + +define i32 @fn_has_entry() { +entry: + %retval = alloca i32 + %t0 = alloca i32 + store i32 0, ptr %t0 + br label %wcond0 +wcond0: + %t1 = load i32, ptr %t0 + %t2 = load ptr, ptr @g_prog + %t3 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 1 + %t4 = load i32, ptr %t3 + %t5 = icmp slt i32 %t1, %t4 + %t6 = zext i1 %t5 to i32 + %t7 = icmp ne i32 %t6, 0 + br i1 %t7, label %wbody1, label %wend2 +wbody1: + %t8 = load ptr, ptr @g_prog + %t9 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 0 + %t10 = load ptr, ptr %t9 + %t11 = load i32, ptr %t0 + %t12 = getelementptr inbounds ptr, ptr %t10, i32 %t11 + %t13 = load ptr, ptr %t12 + %t14 = getelementptr inbounds %Cmp_Node, ptr %t13, i32 0, i32 0 + %t15 = load i32, ptr %t14 + %t16 = icmp eq i32 %t15, 6 + %t17 = zext i1 %t16 to i32 + %t18 = icmp ne i32 %t17, 0 + br i1 %t18, label %then3, label %ifend5 +then3: + store i32 1, ptr %retval + br label %ret +ifend5: + %t19 = load i32, ptr %t0 + %t20 = add i32 %t19, 1 + store i32 %t20, ptr %t0 + br label %wcond0 +wend2: + store i32 0, ptr %retval + br label %ret +ret: + %t21 = load i32, ptr %retval + ret i32 %t21 +} + +define i32 @fn_has_ecs() { +entry: + %retval = alloca i32 + %t0 = alloca i32 + %t1 = call i32 @fn_has_systems() + %t2 = icmp ne i32 %t1, 0 + %t3 = zext i1 %t2 to i32 + store i32 %t3, ptr %t0 + br i1 %t2, label %scend1, label %sc0 +sc0: + %t4 = call i32 @fn_has_models() + %t5 = icmp ne i32 %t4, 0 + %t6 = zext i1 %t5 to i32 + store i32 %t6, ptr %t0 + br label %scend1 +scend1: + %t7 = load i32, ptr %t0 + store i32 %t7, ptr %retval + br label %ret +ret: + %t8 = load i32, ptr %retval + ret i32 %t8 +} + +define void @fn_emit_ecs_storage() { +entry: + %t7 = alloca ptr + %t24 = alloca i32 + %t38 = alloca ptr + %t90 = alloca i32 + call void @fn_emith(ptr @.str9158) + call void @fn_emith(ptr @.str9159) + call void @fn_emith(ptr @.str9160) + %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 @.str9161) + br label %ifend2 +ifend2: + call void @fn_emith(ptr @.str9162) + %t6 = call ptr @fn_itoa(i32 1024) + store ptr %t6, ptr %t7 + %t8 = load ptr, ptr %t7 + %t9 = call ptr @lp_str_concat(ptr @.str9163, ptr %t8) + %t10 = call ptr @lp_str_concat(ptr %t9, ptr @.str9164) + call void @fn_emith(ptr %t10) + %t11 = load ptr, ptr %t7 + %t12 = call ptr @lp_str_concat(ptr @.str9165, ptr %t11) + %t13 = call ptr @lp_str_concat(ptr %t12, ptr @.str9166) + call void @fn_emith(ptr %t13) + %t14 = load ptr, ptr %t7 + %t15 = call ptr @lp_str_concat(ptr @.str9167, ptr %t14) + %t16 = call ptr @lp_str_concat(ptr %t15, ptr @.str9168) + call void @fn_emith(ptr %t16) + call void @fn_emith(ptr @.str9169) + %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 @.str9170) + call void @fn_emith(ptr @.str9171) + br label %ifend5 +ifend5: + %t19 = call i32 @fn_net_has_owned() + %t20 = icmp ne i32 %t19, 0 + br i1 %t20, label %then6, label %ifend8 +then6: + %t21 = load ptr, ptr %t7 + %t22 = call ptr @lp_str_concat(ptr @.str9172, ptr %t21) + %t23 = call ptr @lp_str_concat(ptr %t22, ptr @.str9173) + call void @fn_emith(ptr %t23) + br label %ifend8 +ifend8: + store i32 0, ptr %t24 + br label %wcond9 +wcond9: + %t25 = load i32, ptr %t24 + %t26 = load ptr, ptr @g_prog + %t27 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 1 + %t28 = load i32, ptr %t27 + %t29 = icmp slt i32 %t25, %t28 + %t30 = zext i1 %t29 to i32 + %t31 = icmp ne i32 %t30, 0 + br i1 %t31, label %wbody10, label %wend11 +wbody10: + %t32 = load ptr, ptr @g_prog + %t33 = getelementptr inbounds %LSlice, ptr %t32, i32 0, i32 0 + %t34 = load ptr, ptr %t33 + %t35 = load i32, ptr %t24 + %t36 = getelementptr inbounds ptr, ptr %t34, i32 %t35 + %t37 = load ptr, ptr %t36 + store ptr %t37, ptr %t38 + %t39 = load ptr, ptr %t38 + %t40 = getelementptr inbounds %Cmp_Node, ptr %t39, i32 0, i32 0 + %t41 = load i32, ptr %t40 + %t42 = icmp eq i32 %t41, 8 + %t43 = zext i1 %t42 to i32 + %t44 = icmp ne i32 %t43, 0 + br i1 %t44, label %then12, label %ifend14 +then12: + %t45 = load ptr, ptr %t38 + %t46 = getelementptr inbounds %Cmp_Node, ptr %t45, i32 0, i32 1 + %t47 = load ptr, ptr %t46 + %t48 = call ptr @lp_str_concat(ptr @.str9174, ptr %t47) + %t49 = call ptr @lp_str_concat(ptr %t48, ptr @.str9175) + %t50 = load ptr, ptr %t7 + %t51 = call ptr @lp_str_concat(ptr %t49, ptr %t50) + %t52 = call ptr @lp_str_concat(ptr %t51, ptr @.str9176) + %t53 = load ptr, ptr %t38 + %t54 = getelementptr inbounds %Cmp_Node, ptr %t53, i32 0, i32 1 + %t55 = load ptr, ptr %t54 + %t56 = call ptr @lp_str_concat(ptr %t52, ptr %t55) + %t57 = call ptr @lp_str_concat(ptr %t56, ptr @.str9177) + call void @fn_emith(ptr %t57) + %t58 = load ptr, ptr %t38 + %t59 = getelementptr inbounds %Cmp_Node, ptr %t58, i32 0, i32 1 + %t60 = load ptr, ptr %t59 + %t61 = call ptr @lp_str_concat(ptr @.str9178, ptr %t60) + %t62 = call ptr @lp_str_concat(ptr %t61, ptr @.str9179) + %t63 = load ptr, ptr %t7 + %t64 = call ptr @lp_str_concat(ptr %t62, ptr %t63) + %t65 = call ptr @lp_str_concat(ptr %t64, ptr @.str9180) + call void @fn_emith(ptr %t65) + br label %ifend14 +ifend14: + %t66 = load ptr, ptr %t38 + %t67 = getelementptr inbounds %Cmp_Node, ptr %t66, i32 0, i32 0 + %t68 = load i32, ptr %t67 + %t69 = icmp eq i32 %t68, 10 + %t70 = zext i1 %t69 to i32 + %t71 = icmp ne i32 %t70, 0 + br i1 %t71, label %then15, label %ifend17 +then15: + %t72 = load ptr, ptr %t38 + %t73 = getelementptr inbounds %Cmp_Node, ptr %t72, i32 0, i32 1 + %t74 = load ptr, ptr %t73 + %t75 = call ptr @lp_str_concat(ptr @.str9181, ptr %t74) + %t76 = call ptr @lp_str_concat(ptr %t75, ptr @.str9182) + call void @fn_emith(ptr %t76) + br label %ifend17 +ifend17: + %t77 = load ptr, ptr %t38 + %t78 = getelementptr inbounds %Cmp_Node, ptr %t77, i32 0, i32 0 + %t79 = load i32, ptr %t78 + %t80 = icmp eq i32 %t79, 9 + %t81 = zext i1 %t80 to i32 + %t82 = icmp ne i32 %t81, 0 + br i1 %t82, label %then18, label %ifend20 +then18: + %t83 = load ptr, ptr %t38 + %t84 = getelementptr inbounds %Cmp_Node, ptr %t83, i32 0, i32 1 + %t85 = load ptr, ptr %t84 + %t86 = call ptr @lp_str_concat(ptr @.str9183, ptr %t85) + %t87 = call ptr @lp_str_concat(ptr %t86, ptr @.str9184) + call void @fn_emith(ptr %t87) + br label %ifend20 +ifend20: + %t88 = load i32, ptr %t24 + %t89 = add i32 %t88, 1 + store i32 %t89, ptr %t24 + br label %wcond9 +wend11: + store i32 0, ptr %t90 + br label %wcond21 +wcond21: + %t91 = load i32, ptr %t90 + %t92 = load ptr, ptr @g_g_toggled_layers + %t93 = getelementptr inbounds %LSlice, ptr %t92, i32 0, i32 1 + %t94 = load i32, ptr %t93 + %t95 = icmp slt i32 %t91, %t94 + %t96 = zext i1 %t95 to i32 + %t97 = icmp ne i32 %t96, 0 + br i1 %t97, label %wbody22, label %wend23 +wbody22: + %t98 = load ptr, ptr @g_g_toggled_layers + %t99 = getelementptr inbounds %LSlice, ptr %t98, i32 0, i32 0 + %t100 = load ptr, ptr %t99 + %t101 = load i32, ptr %t90 + %t102 = getelementptr inbounds ptr, ptr %t100, i32 %t101 + %t103 = load ptr, ptr %t102 + %t104 = call ptr @lp_str_concat(ptr @.str9185, ptr %t103) + %t105 = call ptr @lp_str_concat(ptr %t104, ptr @.str9186) + 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 @.str9187) + store i32 0, ptr %t2 + br label %wcond0 +wcond0: + %t3 = load i32, ptr %t2 + %t4 = load ptr, ptr @g_prog + %t5 = getelementptr inbounds %LSlice, ptr %t4, i32 0, i32 1 + %t6 = load i32, ptr %t5 + %t7 = icmp slt i32 %t3, %t6 + %t8 = zext i1 %t7 to i32 + %t9 = icmp ne i32 %t8, 0 + br i1 %t9, label %wbody1, label %wend2 +wbody1: + %t10 = load ptr, ptr @g_prog + %t11 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 0 + %t12 = load ptr, ptr %t11 + %t13 = load i32, ptr %t2 + %t14 = getelementptr inbounds ptr, ptr %t12, i32 %t13 + %t15 = load ptr, ptr %t14 + %t16 = getelementptr inbounds %Cmp_Node, ptr %t15, i32 0, i32 0 + %t17 = load i32, ptr %t16 + %t18 = icmp eq i32 %t17, 8 + %t19 = zext i1 %t18 to i32 + %t20 = icmp ne i32 %t19, 0 + br i1 %t20, label %then3, label %ifend5 +then3: + %t21 = load i32, ptr %t2 + %t22 = call ptr @fn_itoa(i32 %t21) + %t23 = call ptr @lp_str_concat(ptr @.str9188, ptr %t22) + store ptr %t23, ptr %t24 + call void @fn_emit(ptr @.str9189) + %t25 = load ptr, ptr %t24 + call void @fn_emit(ptr %t25) + call void @fn_emit(ptr @.str9190) + %t26 = load ptr, ptr %t1 + call void @fn_emit(ptr %t26) + call void @fn_emit(ptr @.str9191) + %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 @.str9192) + call void @fn_emit(ptr @.str9193) + %t35 = load ptr, ptr %t24 + call void @fn_emit(ptr %t35) + call void @fn_emit(ptr @.str9194) + 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 @.str9195) + %t38 = load ptr, ptr %t1 + call void @fn_emit(ptr %t38) + call void @fn_emit(ptr @.str9196) + call void @fn_emit(ptr @.str9197) + %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 @.str9198) + %t41 = load ptr, ptr %t1 + call void @fn_emit(ptr %t41) + call void @fn_emit(ptr @.str9199) + call void @fn_emit(ptr @.str9200) + br label %ifend8 +ifend8: + call void @fn_emit(ptr @.str9201) + call void @fn_emit(ptr @.str9202) + call void @fn_emit(ptr @.str9203) + call void @fn_emit(ptr @.str9204) + call void @fn_emit(ptr @.str9205) + call void @fn_emit(ptr @.str9206) + call void @fn_emit(ptr @.str9207) + call void @fn_emit(ptr @.str9208) + call void @fn_emit(ptr @.str9209) + %t42 = load ptr, ptr %t1 + call void @fn_emit(ptr %t42) + call void @fn_emit(ptr @.str9210) + call void @fn_emit(ptr @.str9211) + call void @fn_emit(ptr @.str9212) + call void @fn_emit(ptr @.str9213) + call void @fn_emit(ptr @.str9214) + call void @fn_emit(ptr @.str9215) + call void @fn_emit(ptr @.str9216) + call void @fn_emit(ptr @.str9217) + call void @fn_emit(ptr @.str9218) + call void @fn_emit(ptr @.str9219) + call void @fn_emit(ptr @.str9220) + call void @fn_emit(ptr @.str9221) + %t43 = load ptr, ptr %t1 + call void @fn_emit(ptr %t43) + call void @fn_emit(ptr @.str9222) + call void @fn_emit(ptr @.str9223) + call void @fn_emit(ptr @.str9224) + call void @fn_emit(ptr @.str9225) + call void @fn_emit(ptr @.str9226) + %t44 = load ptr, ptr %t1 + call void @fn_emit(ptr %t44) + call void @fn_emit(ptr @.str9227) + call void @fn_emit(ptr @.str9228) + call void @fn_emit(ptr @.str9229) + call void @fn_emit(ptr @.str9230) + call void @fn_emit(ptr @.str9231) + %t45 = load ptr, ptr %t1 + call void @fn_emit(ptr %t45) + call void @fn_emit(ptr @.str9232) + call void @fn_emit(ptr @.str9233) + call void @fn_emit(ptr @.str9234) + call void @fn_emit(ptr @.str9235) + call void @fn_emit(ptr @.str9236) + br label %ret +ret: + ret void +} + +define i32 @fn_find_arch_id(ptr %arg_name) { +entry: + %retval = alloca i32 + %t0 = alloca ptr + %t1 = alloca i32 + %t2 = alloca i32 + store ptr %arg_name, ptr %t0 + store i32 0, ptr %t1 + store i32 1, ptr %t2 + br label %wcond0 +wcond0: + %t3 = load i32, ptr %t1 + %t4 = load ptr, ptr @g_prog + %t5 = getelementptr inbounds %LSlice, ptr %t4, i32 0, i32 1 + %t6 = load i32, ptr %t5 + %t7 = icmp slt i32 %t3, %t6 + %t8 = zext i1 %t7 to i32 + %t9 = icmp ne i32 %t8, 0 + br i1 %t9, label %wbody1, label %wend2 +wbody1: + %t10 = load ptr, ptr @g_prog + %t11 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 0 + %t12 = load ptr, ptr %t11 + %t13 = load i32, ptr %t1 + %t14 = getelementptr inbounds ptr, ptr %t12, i32 %t13 + %t15 = load ptr, ptr %t14 + %t16 = getelementptr inbounds %Cmp_Node, ptr %t15, i32 0, i32 0 + %t17 = load i32, ptr %t16 + %t18 = icmp eq i32 %t17, 10 + %t19 = zext i1 %t18 to i32 + %t20 = icmp ne i32 %t19, 0 + br i1 %t20, label %then3, label %ifend5 +then3: + %t21 = load ptr, ptr @g_prog + %t22 = getelementptr inbounds %LSlice, ptr %t21, i32 0, i32 0 + %t23 = load ptr, ptr %t22 + %t24 = load i32, ptr %t1 + %t25 = getelementptr inbounds ptr, ptr %t23, i32 %t24 + %t26 = load ptr, ptr %t25 + %t27 = getelementptr inbounds %Cmp_Node, ptr %t26, i32 0, i32 1 + %t28 = load ptr, ptr %t27 + %t29 = load ptr, ptr %t0 + %t30 = call i32 @lp_str_eq(ptr %t28, ptr %t29) + %t31 = icmp ne i32 %t30, 0 + br i1 %t31, label %then6, label %ifend8 +then6: + %t32 = load i32, ptr %t2 + store i32 %t32, ptr %retval + br label %ret +ifend8: + %t33 = load i32, ptr %t2 + %t34 = add i32 %t33, 1 + store i32 %t34, ptr %t2 + br label %ifend5 +ifend5: + %t35 = load i32, ptr %t1 + %t36 = add i32 %t35, 1 + store i32 %t36, ptr %t1 + br label %wcond0 +wend2: + store i32 0, ptr %retval + br label %ret +ret: + %t37 = load i32, ptr %retval + ret i32 %t37 +} + +define void @fn_emit_query(ptr %arg_st) { +entry: + %t0 = alloca ptr + %t2 = alloca ptr + %t4 = alloca ptr + %t42 = alloca ptr + %t44 = alloca ptr + %t46 = alloca ptr + %t48 = alloca ptr + %t54 = alloca ptr + %t56 = alloca ptr + %t63 = alloca ptr + %t71 = alloca ptr + %t73 = alloca ptr + %t80 = alloca ptr + %t85 = alloca ptr + %t87 = alloca ptr + %t95 = alloca ptr + %t96 = alloca i32 + %t114 = alloca ptr + %t119 = alloca i32 + %t120 = alloca ptr + %t126 = alloca ptr + %t133 = alloca ptr + %t141 = alloca ptr + %t147 = alloca ptr + %t152 = alloca ptr + %t160 = alloca ptr + %t170 = alloca ptr + %t176 = alloca ptr + %t184 = alloca i32 + %t185 = alloca i32 + %t203 = alloca ptr + %t204 = alloca i32 + %t232 = alloca ptr + %t243 = alloca ptr + %t274 = alloca ptr + %t281 = alloca ptr + %t283 = alloca ptr + %t303 = alloca ptr + %t308 = alloca ptr + store ptr %arg_st, ptr %t0 + %t1 = call ptr @fn_itoa(i32 1024) + store ptr %t1, ptr %t2 + %t3 = call ptr @fn_emit_alloca(ptr @.str9237) + store ptr %t3, ptr %t4 + %t5 = load ptr, ptr %t4 + call void @fn_store_at(ptr @.str9238, ptr @.str9239, ptr %t5) + %t6 = load i32, ptr @g_nself + %t7 = load ptr, ptr @g_self_stk + %t8 = getelementptr inbounds %LSlice, ptr %t7, i32 0, i32 1 + %t9 = load i32, ptr %t8 + %t10 = icmp slt i32 %t6, %t9 + %t11 = zext i1 %t10 to i32 + %t12 = icmp ne i32 %t11, 0 + br i1 %t12, label %then0, label %else1 +then0: + %t13 = load ptr, ptr @g_self_stk + %t14 = getelementptr inbounds %LSlice, ptr %t13, i32 0, i32 0 + %t15 = load ptr, ptr %t14 + %t16 = load i32, ptr @g_nself + %t17 = getelementptr inbounds ptr, ptr %t15, i32 %t16 + %t18 = load ptr, ptr %t4 + store ptr %t18, ptr %t17 + br label %ifend2 +else1: + %t19 = load ptr, ptr @g_self_stk + %t20 = load ptr, ptr %t4 + %t21 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 1 + %t22 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 2 + %t23 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 0 + %t24 = load i32, ptr %t21 + %t25 = load i32, ptr %t22 + %t26 = icmp sge i32 %t24, %t25 + br i1 %t26, label %grow3, label %put4 +grow3: + %t27 = mul i32 %t25, 2 + %t28 = icmp eq i32 %t25, 0 + %t29 = select i1 %t28, i32 8, i32 %t27 + %t30 = getelementptr ptr, ptr null, i32 1 + %t31 = ptrtoint ptr %t30 to i64 + %t32 = zext i32 %t29 to i64 + %t33 = mul i64 %t32, %t31 + %t34 = load ptr, ptr %t23 + %t35 = call ptr @realloc(ptr %t34, i64 %t33) + store ptr %t35, ptr %t23 + store i32 %t29, ptr %t22 + br label %put4 +put4: + %t36 = load ptr, ptr %t23 + %t37 = getelementptr inbounds ptr, ptr %t36, i32 %t24 + store ptr %t20, ptr %t37 + %t38 = add i32 %t24, 1 + store i32 %t38, ptr %t21 + br label %ifend2 +ifend2: + %t39 = load i32, ptr @g_nself + %t40 = add i32 %t39, 1 + store i32 %t40, ptr @g_nself + %t41 = call ptr @fn_lbl(ptr @.str9240) + store ptr %t41, ptr %t42 + %t43 = call ptr @fn_lbl(ptr @.str9241) + store ptr %t43, ptr %t44 + %t45 = call ptr @fn_lbl(ptr @.str9242) + store ptr %t45, ptr %t46 + %t47 = call ptr @fn_lbl(ptr @.str9243) + store ptr %t47, ptr %t48 + call void @fn_emit(ptr @.str9244) + %t49 = load ptr, ptr %t42 + call void @fn_emit(ptr %t49) + call void @fn_emit(ptr @.str9245) + %t50 = load ptr, ptr %t42 + call void @fn_emit(ptr %t50) + call void @fn_emit(ptr @.str9246) + %t51 = load ptr, ptr %t4 + %t52 = call ptr @lp_str_concat(ptr @.str9247, ptr %t51) + %t53 = call ptr @fn_emit_bind(ptr %t52) + store ptr %t53, ptr %t54 + %t55 = call ptr @fn_emit_bind(ptr @.str9248) + store ptr %t55, ptr %t56 + %t57 = load ptr, ptr %t54 + %t58 = call ptr @lp_str_concat(ptr @.str9249, ptr %t57) + %t59 = call ptr @lp_str_concat(ptr %t58, ptr @.str9250) + %t60 = load ptr, ptr %t56 + %t61 = call ptr @lp_str_concat(ptr %t59, ptr %t60) + %t62 = call ptr @fn_emit_bind(ptr %t61) + store ptr %t62, ptr %t63 + call void @fn_emit(ptr @.str9251) + %t64 = load ptr, ptr %t63 + call void @fn_emit(ptr %t64) + call void @fn_emit(ptr @.str9252) + %t65 = load ptr, ptr %t44 + call void @fn_emit(ptr %t65) + call void @fn_emit(ptr @.str9253) + %t66 = load ptr, ptr %t48 + call void @fn_emit(ptr %t66) + call void @fn_emit(ptr @.str9254) + %t67 = load ptr, ptr %t44 + call void @fn_emit(ptr %t67) + call void @fn_emit(ptr @.str9255) + store i32 0, ptr @g_g_term + %t68 = load ptr, ptr %t4 + %t69 = call ptr @lp_str_concat(ptr @.str9256, 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 @.str9257) + %t74 = load ptr, ptr %t73 + call void @fn_emit(ptr %t74) + call void @fn_emit(ptr @.str9258) + %t75 = load ptr, ptr %t2 + call void @fn_emit(ptr %t75) + call void @fn_emit(ptr @.str9259) + %t76 = load ptr, ptr %t71 + call void @fn_emit(ptr %t76) + call void @fn_emit(ptr @.str9260) + %t77 = load ptr, ptr %t73 + %t78 = call ptr @lp_str_concat(ptr @.str9261, ptr %t77) + %t79 = call ptr @fn_emit_bind(ptr %t78) + store ptr %t79, ptr %t80 + %t81 = load ptr, ptr %t80 + %t82 = call ptr @lp_str_concat(ptr @.str9262, ptr %t81) + %t83 = call ptr @lp_str_concat(ptr %t82, ptr @.str9263) + %t84 = call ptr @fn_emit_bind(ptr %t83) + store ptr %t84, ptr %t85 + %t86 = call ptr @fn_lbl(ptr @.str9264) + store ptr %t86, ptr %t87 + call void @fn_emit(ptr @.str9265) + %t88 = load ptr, ptr %t85 + call void @fn_emit(ptr %t88) + call void @fn_emit(ptr @.str9266) + %t89 = load ptr, ptr %t87 + call void @fn_emit(ptr %t89) + call void @fn_emit(ptr @.str9267) + %t90 = load ptr, ptr %t46 + call void @fn_emit(ptr %t90) + call void @fn_emit(ptr @.str9268) + %t91 = load ptr, ptr %t87 + call void @fn_emit(ptr %t91) + call void @fn_emit(ptr @.str9269) + %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 @.str9270, 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 @.str9271) + %t127 = load ptr, ptr %t126 + call void @fn_emit(ptr %t127) + call void @fn_emit(ptr @.str9272) + %t128 = load ptr, ptr %t2 + call void @fn_emit(ptr %t128) + call void @fn_emit(ptr @.str9273) + %t129 = load ptr, ptr %t71 + call void @fn_emit(ptr %t129) + call void @fn_emit(ptr @.str9274) + %t130 = load ptr, ptr %t126 + %t131 = call ptr @lp_str_concat(ptr @.str9275, ptr %t130) + %t132 = call ptr @fn_emit_bind(ptr %t131) + store ptr %t132, ptr %t133 + %t134 = load ptr, ptr %t133 + %t135 = call ptr @lp_str_concat(ptr @.str9276, ptr %t134) + %t136 = call ptr @lp_str_concat(ptr %t135, ptr @.str9277) + %t137 = load i32, ptr %t119 + %t138 = call ptr @fn_itoa(i32 %t137) + %t139 = call ptr @lp_str_concat(ptr %t136, ptr %t138) + %t140 = call ptr @fn_emit_bind(ptr %t139) + store ptr %t140, ptr %t141 + %t142 = load ptr, ptr %t114 + %t143 = getelementptr inbounds %Cmp_Node, ptr %t142, i32 0, i32 1 + %t144 = load ptr, ptr %t143 + %t145 = call ptr @lp_str_concat(ptr @.str9278, ptr %t144) + %t146 = call ptr @fn_emit_bind(ptr %t145) + store ptr %t146, ptr %t147 + %t148 = load ptr, ptr %t147 + %t149 = call ptr @lp_str_concat(ptr @.str9279, ptr %t148) + %t150 = call ptr @lp_str_concat(ptr %t149, ptr @.str9280) + %t151 = call ptr @fn_emit_bind(ptr %t150) + store ptr %t151, ptr %t152 + %t153 = load ptr, ptr %t141 + %t154 = call ptr @lp_str_concat(ptr @.str9281, ptr %t153) + %t155 = call ptr @lp_str_concat(ptr %t154, ptr @.str9282) + %t156 = load ptr, ptr %t152 + %t157 = call ptr @lp_str_concat(ptr %t155, ptr %t156) + %t158 = call ptr @fn_emit_bind(ptr %t157) + store ptr %t158, ptr %t120 + br label %ifend10 +else9: + %t159 = call ptr @fn_nreg() + store ptr %t159, ptr %t160 + call void @fn_emit(ptr @.str9283) + %t161 = load ptr, ptr %t160 + call void @fn_emit(ptr %t161) + call void @fn_emit(ptr @.str9284) + %t162 = load ptr, ptr %t2 + call void @fn_emit(ptr %t162) + call void @fn_emit(ptr @.str9285) + %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 @.str9286) + %t166 = load ptr, ptr %t71 + call void @fn_emit(ptr %t166) + call void @fn_emit(ptr @.str9287) + %t167 = load ptr, ptr %t160 + %t168 = call ptr @lp_str_concat(ptr @.str9288, ptr %t167) + %t169 = call ptr @fn_emit_bind(ptr %t168) + store ptr %t169, ptr %t170 + %t171 = load ptr, ptr %t170 + %t172 = call ptr @lp_str_concat(ptr @.str9289, ptr %t171) + %t173 = call ptr @lp_str_concat(ptr %t172, ptr @.str9290) + %t174 = call ptr @fn_emit_bind(ptr %t173) + store ptr %t174, ptr %t120 + br label %ifend10 +ifend10: + %t175 = call ptr @fn_lbl(ptr @.str9291) + store ptr %t175, ptr %t176 + call void @fn_emit(ptr @.str9292) + %t177 = load ptr, ptr %t120 + call void @fn_emit(ptr %t177) + call void @fn_emit(ptr @.str9293) + %t178 = load ptr, ptr %t176 + call void @fn_emit(ptr %t178) + call void @fn_emit(ptr @.str9294) + %t179 = load ptr, ptr %t46 + call void @fn_emit(ptr %t179) + call void @fn_emit(ptr @.str9295) + %t180 = load ptr, ptr %t176 + call void @fn_emit(ptr %t180) + call void @fn_emit(ptr @.str9296) + %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 @.str9297) + %t233 = load ptr, ptr %t232 + call void @fn_emit(ptr %t233) + call void @fn_emit(ptr @.str9298) + %t234 = load ptr, ptr %t2 + call void @fn_emit(ptr %t234) + call void @fn_emit(ptr @.str9299) + %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 @.str9300) + %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 @.str9301) + %t241 = load ptr, ptr %t71 + call void @fn_emit(ptr %t241) + call void @fn_emit(ptr @.str9302) + %t242 = call ptr @fn_emit_alloca(ptr @.str9303) + store ptr %t242, ptr %t243 + call void @fn_emit(ptr @.str9304) + %t244 = load ptr, ptr %t232 + call void @fn_emit(ptr %t244) + call void @fn_emit(ptr @.str9305) + %t245 = load ptr, ptr %t243 + call void @fn_emit(ptr %t245) + call void @fn_emit(ptr @.str9306) + %t246 = load ptr, ptr %t0 + %t247 = getelementptr inbounds %Cmp_Node, ptr %t246, i32 0, i32 7 + %t248 = load ptr, ptr %t247 + %t249 = getelementptr inbounds %LSlice, ptr %t248, i32 0, i32 0 + %t250 = load ptr, ptr %t249 + %t251 = load i32, ptr %t185 + %t252 = getelementptr inbounds ptr, ptr %t250, i32 %t251 + %t253 = load ptr, ptr %t252 + %t254 = getelementptr inbounds %Cmp_Node, ptr %t253, i32 0, i32 1 + %t255 = load ptr, ptr %t254 + %t256 = load ptr, ptr %t243 + %t257 = load ptr, ptr %t203 + %t258 = getelementptr inbounds %Cmp_Node, ptr %t257, i32 0, i32 1 + %t259 = load ptr, ptr %t258 + call void @fn_loc_push(ptr %t255, ptr %t256, ptr %t259) + %t260 = load i32, ptr %t185 + %t261 = add i32 %t260, 1 + store i32 %t261, ptr %t185 + br label %ifend21 +ifend21: + br label %ifend18 +ifend18: + %t262 = load i32, ptr %t96 + %t263 = add i32 %t262, 1 + store i32 %t263, ptr %t96 + br label %wcond11 +wend13: + %t264 = load ptr, ptr %t0 + %t265 = getelementptr inbounds %Cmp_Node, ptr %t264, i32 0, i32 5 + %t266 = load ptr, ptr %t265 + %t267 = icmp ne ptr %t266, null + %t268 = zext i1 %t267 to i32 + %t269 = icmp ne i32 %t268, 0 + br i1 %t269, label %then22, label %ifend24 +then22: + %t270 = load ptr, ptr %t0 + %t271 = getelementptr inbounds %Cmp_Node, ptr %t270, i32 0, i32 5 + %t272 = load ptr, ptr %t271 + %t273 = call ptr @fn_emit_expr(ptr %t272) + store ptr %t273, ptr %t274 + %t275 = load ptr, ptr %t274 + %t276 = getelementptr inbounds %Cmp_Val, ptr %t275, i32 0, i32 0 + %t277 = load ptr, ptr %t276 + %t278 = call ptr @lp_str_concat(ptr @.str9307, ptr %t277) + %t279 = call ptr @lp_str_concat(ptr %t278, ptr @.str9308) + %t280 = call ptr @fn_emit_bind(ptr %t279) + store ptr %t280, ptr %t281 + %t282 = call ptr @fn_lbl(ptr @.str9309) + store ptr %t282, ptr %t283 + call void @fn_emit(ptr @.str9310) + %t284 = load ptr, ptr %t281 + call void @fn_emit(ptr %t284) + call void @fn_emit(ptr @.str9311) + %t285 = load ptr, ptr %t283 + call void @fn_emit(ptr %t285) + call void @fn_emit(ptr @.str9312) + %t286 = load ptr, ptr %t46 + call void @fn_emit(ptr %t286) + call void @fn_emit(ptr @.str9313) + %t287 = load ptr, ptr %t283 + call void @fn_emit(ptr %t287) + call void @fn_emit(ptr @.str9314) + 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 @.str9315) + %t298 = load ptr, ptr %t46 + call void @fn_emit(ptr %t298) + call void @fn_emit(ptr @.str9316) + br label %ifend27 +ifend27: + %t299 = load ptr, ptr %t46 + call void @fn_emit(ptr %t299) + call void @fn_emit(ptr @.str9317) + %t300 = load ptr, ptr %t4 + %t301 = call ptr @lp_str_concat(ptr @.str9318, ptr %t300) + %t302 = call ptr @fn_emit_bind(ptr %t301) + store ptr %t302, ptr %t303 + %t304 = load ptr, ptr %t303 + %t305 = call ptr @lp_str_concat(ptr @.str9319, ptr %t304) + %t306 = call ptr @lp_str_concat(ptr %t305, ptr @.str9320) + %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 @.str9321, ptr %t309, ptr %t310) + call void @fn_emit(ptr @.str9322) + %t311 = load ptr, ptr %t42 + call void @fn_emit(ptr %t311) + call void @fn_emit(ptr @.str9323) + %t312 = load ptr, ptr %t48 + call void @fn_emit(ptr %t312) + call void @fn_emit(ptr @.str9324) + store i32 0, ptr @g_g_term + %t313 = load i32, ptr @g_nself + %t314 = sub i32 %t313, 1 + store i32 %t314, ptr @g_nself + br label %ret +ret: + ret void +} + +define void @fn_emit_hook_with_self(ptr %arg_e, ptr %arg_body) { +entry: + %t0 = alloca ptr + %t1 = alloca ptr + %t3 = alloca ptr + store ptr %arg_e, ptr %t0 + store ptr %arg_body, ptr %t1 + %t2 = call ptr @fn_emit_alloca(ptr @.str9325) + store ptr %t2, ptr %t3 + call void @fn_emit(ptr @.str9326) + %t4 = load ptr, ptr %t0 + call void @fn_emit(ptr %t4) + call void @fn_emit(ptr @.str9327) + %t5 = load ptr, ptr %t3 + call void @fn_emit(ptr %t5) + call void @fn_emit(ptr @.str9328) + %t6 = load i32, ptr @g_nself + %t7 = load ptr, ptr @g_self_stk + %t8 = getelementptr inbounds %LSlice, ptr %t7, i32 0, i32 1 + %t9 = load i32, ptr %t8 + %t10 = icmp slt i32 %t6, %t9 + %t11 = zext i1 %t10 to i32 + %t12 = icmp ne i32 %t11, 0 + br i1 %t12, label %then0, label %else1 +then0: + %t13 = load ptr, ptr @g_self_stk + %t14 = getelementptr inbounds %LSlice, ptr %t13, i32 0, i32 0 + %t15 = load ptr, ptr %t14 + %t16 = load i32, ptr @g_nself + %t17 = getelementptr inbounds ptr, ptr %t15, i32 %t16 + %t18 = load ptr, ptr %t3 + store ptr %t18, ptr %t17 + br label %ifend2 +else1: + %t19 = load ptr, ptr @g_self_stk + %t20 = load ptr, ptr %t3 + %t21 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 1 + %t22 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 2 + %t23 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 0 + %t24 = load i32, ptr %t21 + %t25 = load i32, ptr %t22 + %t26 = icmp sge i32 %t24, %t25 + br i1 %t26, label %grow3, label %put4 +grow3: + %t27 = mul i32 %t25, 2 + %t28 = icmp eq i32 %t25, 0 + %t29 = select i1 %t28, i32 8, i32 %t27 + %t30 = getelementptr ptr, ptr null, i32 1 + %t31 = ptrtoint ptr %t30 to i64 + %t32 = zext i32 %t29 to i64 + %t33 = mul i64 %t32, %t31 + %t34 = load ptr, ptr %t23 + %t35 = call ptr @realloc(ptr %t34, i64 %t33) + store ptr %t35, ptr %t23 + store i32 %t29, ptr %t22 + br label %put4 +put4: + %t36 = load ptr, ptr %t23 + %t37 = getelementptr inbounds ptr, ptr %t36, i32 %t24 + store ptr %t20, ptr %t37 + %t38 = add i32 %t24, 1 + store i32 %t38, ptr %t21 + br label %ifend2 +ifend2: + %t39 = load i32, ptr @g_nself + %t40 = add i32 %t39, 1 + store i32 %t40, ptr @g_nself + %t41 = load ptr, ptr %t1 + call void @fn_emit_block(ptr %t41) + %t42 = load i32, ptr @g_nself + %t43 = sub i32 %t42, 1 + store i32 %t43, ptr @g_nself + br label %ret +ret: + ret void +} + +define void @fn_emit_init_component(ptr %arg_e, ptr %arg_comp, ptr %arg_rec) { +entry: + %t0 = alloca ptr + %t1 = alloca ptr + %t2 = alloca ptr + %t4 = alloca ptr + %t7 = alloca ptr + %t15 = alloca ptr + %t22 = alloca ptr + %t28 = alloca i32 + %t46 = alloca ptr + %t48 = alloca ptr + %t58 = alloca ptr + %t59 = alloca ptr + %t73 = alloca ptr + %t86 = alloca i32 + %t104 = alloca ptr + %t110 = alloca i32 + %t116 = alloca ptr + %t126 = alloca ptr + %t141 = alloca ptr + %t147 = alloca i32 + %t149 = alloca ptr + %t161 = alloca ptr + store ptr %arg_e, ptr %t0 + store ptr %arg_comp, ptr %t1 + store ptr %arg_rec, ptr %t2 + %t3 = call ptr @fn_itoa(i32 1024) + store ptr %t3, ptr %t4 + %t5 = load ptr, ptr %t1 + %t6 = call ptr @fn_find_comp(ptr %t5) + store ptr %t6, ptr %t7 + %t8 = load ptr, ptr %t7 + %t9 = icmp eq ptr %t8, null + %t10 = zext i1 %t9 to i32 + %t11 = icmp ne i32 %t10, 0 + br i1 %t11, label %then0, label %ifend2 +then0: + %t12 = load ptr, ptr %t1 + %t13 = call ptr @lp_str_concat(ptr @.str9329, 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 @.str9330) + %t16 = load ptr, ptr %t15 + call void @fn_emit(ptr %t16) + call void @fn_emit(ptr @.str9331) + %t17 = load ptr, ptr %t4 + call void @fn_emit(ptr %t17) + call void @fn_emit(ptr @.str9332) + %t18 = load ptr, ptr %t1 + call void @fn_emit(ptr %t18) + call void @fn_emit(ptr @.str9333) + %t19 = load ptr, ptr %t0 + call void @fn_emit(ptr %t19) + call void @fn_emit(ptr @.str9334) + call void @fn_emit(ptr @.str9335) + %t20 = load ptr, ptr %t15 + call void @fn_emit(ptr %t20) + call void @fn_emit(ptr @.str9336) + %t21 = call ptr @fn_nreg() + store ptr %t21, ptr %t22 + call void @fn_emit(ptr @.str9337) + %t23 = load ptr, ptr %t22 + call void @fn_emit(ptr %t23) + call void @fn_emit(ptr @.str9338) + %t24 = load ptr, ptr %t4 + call void @fn_emit(ptr %t24) + call void @fn_emit(ptr @.str9339) + %t25 = load ptr, ptr %t1 + call void @fn_emit(ptr %t25) + call void @fn_emit(ptr @.str9340) + %t26 = load ptr, ptr %t1 + call void @fn_emit(ptr %t26) + call void @fn_emit(ptr @.str9341) + %t27 = load ptr, ptr %t0 + call void @fn_emit(ptr %t27) + call void @fn_emit(ptr @.str9342) + 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 @.str9343) + %t49 = load ptr, ptr %t48 + call void @fn_emit(ptr %t49) + call void @fn_emit(ptr @.str9344) + %t50 = load ptr, ptr %t1 + call void @fn_emit(ptr %t50) + call void @fn_emit(ptr @.str9345) + %t51 = load ptr, ptr %t22 + call void @fn_emit(ptr %t51) + call void @fn_emit(ptr @.str9346) + %t52 = load i32, ptr %t28 + %t53 = call ptr @fn_itoa(i32 %t52) + call void @fn_emit(ptr %t53) + call void @fn_emit(ptr @.str9347) + %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 @.str9348, ptr %t59 + %t60 = load ptr, ptr %t58 + %t61 = call i32 @lp_str_eq(ptr %t60, ptr @.str9349) + %t62 = icmp ne i32 %t61, 0 + br i1 %t62, label %then6, label %ifend8 +then6: + store ptr @.str9350, 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 @.str9351) + %t77 = load ptr, ptr %t58 + call void @fn_emit(ptr %t77) + call void @fn_emit(ptr @.str9352) + %t78 = load ptr, ptr %t59 + call void @fn_emit(ptr %t78) + call void @fn_emit(ptr @.str9353) + %t79 = load ptr, ptr %t48 + call void @fn_emit(ptr %t79) + call void @fn_emit(ptr @.str9354) + %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 @.str9355) + %t117 = load ptr, ptr %t116 + call void @fn_emit(ptr %t117) + call void @fn_emit(ptr @.str9356) + %t118 = load ptr, ptr %t1 + call void @fn_emit(ptr %t118) + call void @fn_emit(ptr @.str9357) + %t119 = load ptr, ptr %t22 + call void @fn_emit(ptr %t119) + call void @fn_emit(ptr @.str9358) + %t120 = load i32, ptr %t110 + %t121 = call ptr @fn_itoa(i32 %t120) + call void @fn_emit(ptr %t121) + call void @fn_emit(ptr @.str9359) + %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 @.str9360) + %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 @.str9361) + %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 @.str9362) + %t136 = load ptr, ptr %t116 + call void @fn_emit(ptr %t136) + call void @fn_emit(ptr @.str9363) + 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 @.str9364) + store ptr %t148, ptr %t149 + call void @fn_emit(ptr @.str9365) + %t150 = load ptr, ptr %t22 + call void @fn_emit(ptr %t150) + call void @fn_emit(ptr @.str9366) + %t151 = load ptr, ptr %t149 + call void @fn_emit(ptr %t151) + call void @fn_emit(ptr @.str9367) + %t152 = load ptr, ptr %t1 + %t153 = load ptr, ptr %t149 + %t154 = load ptr, ptr %t1 + call void @fn_loc_push(ptr %t152, ptr %t153, ptr %t154) + %t155 = load ptr, ptr %t0 + %t156 = load ptr, ptr %t141 + call void @fn_emit_hook_with_self(ptr %t155, ptr %t156) + %t157 = load i32, ptr %t147 + store i32 %t157, ptr @g_nloc + br label %ifend23 +ifend23: + %t158 = load ptr, ptr %t1 + %t159 = call ptr @lp_str_concat(ptr @.str9368, ptr %t158) + %t160 = call ptr @lp_str_concat(ptr %t159, ptr @.str9369) + store ptr %t160, ptr %t161 + %t162 = load ptr, ptr %t161 + %t163 = call ptr @fn_find_event(ptr %t162) + %t164 = icmp ne ptr %t163, null + %t165 = zext i1 %t164 to i32 + %t166 = icmp ne i32 %t165, 0 + br i1 %t166, label %then24, label %ifend26 +then24: + call void @fn_emit(ptr @.str9370) + %t167 = load ptr, ptr %t161 + call void @fn_emit(ptr %t167) + call void @fn_emit(ptr @.str9371) + %t168 = load ptr, ptr %t0 + call void @fn_emit(ptr %t168) + call void @fn_emit(ptr @.str9372) + 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 @.str9373) + %t27 = load ptr, ptr %t26 + call void @fn_emit(ptr %t27) + call void @fn_emit(ptr @.str9374) + %t28 = load ptr, ptr %t3 + call void @fn_emit(ptr %t28) + call void @fn_emit(ptr @.str9375) + %t29 = load ptr, ptr %t24 + call void @fn_emit(ptr %t29) + call void @fn_emit(ptr @.str9376) + %t30 = load ptr, ptr %t24 + call void @fn_emit(ptr %t30) + call void @fn_emit(ptr @.str9377) + %t31 = load ptr, ptr %t1 + call void @fn_emit(ptr %t31) + call void @fn_emit(ptr @.str9378) + %t32 = call ptr @fn_emit_alloca(ptr @.str9379) + store ptr %t32, ptr %t33 + call void @fn_emit(ptr @.str9380) + %t34 = load ptr, ptr %t26 + call void @fn_emit(ptr %t34) + call void @fn_emit(ptr @.str9381) + %t35 = load ptr, ptr %t33 + call void @fn_emit(ptr %t35) + call void @fn_emit(ptr @.str9382) + %t36 = load ptr, ptr %t24 + %t37 = load ptr, ptr %t33 + %t38 = load ptr, ptr %t24 + call void @fn_loc_push(ptr %t36, ptr %t37, ptr %t38) + %t39 = load i32, ptr %t4 + %t40 = add i32 %t39, 1 + store i32 %t40, ptr %t4 + br label %wcond0 +wend2: + br label %ret +ret: + ret void +} + +define ptr @fn_spawn_record(ptr %arg_n, ptr %arg_cn) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t1 = alloca ptr + %t6 = alloca i32 + store ptr %arg_n, ptr %t0 + store ptr %arg_cn, ptr %t1 + %t2 = load ptr, ptr %t0 + %t3 = icmp eq ptr %t2, null + %t4 = zext i1 %t3 to i32 + %t5 = icmp ne i32 %t4, 0 + br i1 %t5, label %then0, label %ifend2 +then0: + store ptr null, ptr %retval + br label %ret +ifend2: + store i32 0, ptr %t6 + br label %wcond3 +wcond3: + %t7 = load i32, ptr %t6 + %t8 = load ptr, ptr %t0 + %t9 = getelementptr inbounds %Cmp_Node, ptr %t8, i32 0, i32 7 + %t10 = load ptr, ptr %t9 + %t11 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 1 + %t12 = load i32, ptr %t11 + %t13 = icmp slt i32 %t7, %t12 + %t14 = zext i1 %t13 to i32 + %t15 = icmp ne i32 %t14, 0 + br i1 %t15, label %wbody4, label %wend5 +wbody4: + %t16 = load ptr, ptr %t0 + %t17 = getelementptr inbounds %Cmp_Node, ptr %t16, i32 0, i32 7 + %t18 = load ptr, ptr %t17 + %t19 = getelementptr inbounds %LSlice, ptr %t18, i32 0, i32 0 + %t20 = load ptr, ptr %t19 + %t21 = load i32, ptr %t6 + %t22 = getelementptr inbounds ptr, ptr %t20, i32 %t21 + %t23 = load ptr, ptr %t22 + %t24 = getelementptr inbounds %Cmp_Node, ptr %t23, i32 0, i32 1 + %t25 = load ptr, ptr %t24 + %t26 = load ptr, ptr %t1 + %t27 = call i32 @lp_str_eq(ptr %t25, ptr %t26) + %t28 = icmp ne i32 %t27, 0 + br i1 %t28, label %then6, label %ifend8 +then6: + %t29 = load ptr, ptr %t0 + %t30 = getelementptr inbounds %Cmp_Node, ptr %t29, i32 0, i32 7 + %t31 = load ptr, ptr %t30 + %t32 = getelementptr inbounds %LSlice, ptr %t31, i32 0, i32 0 + %t33 = load ptr, ptr %t32 + %t34 = load i32, ptr %t6 + %t35 = getelementptr inbounds ptr, ptr %t33, i32 %t34 + %t36 = load ptr, ptr %t35 + %t37 = getelementptr inbounds %Cmp_Node, ptr %t36, i32 0, i32 4 + %t38 = load ptr, ptr %t37 + store ptr %t38, ptr %retval + br label %ret +ifend8: + %t39 = load i32, ptr %t6 + %t40 = add i32 %t39, 1 + store i32 %t40, ptr %t6 + br label %wcond3 +wend5: + store ptr null, ptr %retval + br label %ret +ret: + %t41 = load ptr, ptr %retval + ret ptr %t41 +} + +define ptr @fn_merge_records(ptr %arg_base, ptr %arg_over) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t1 = alloca ptr + %t13 = alloca ptr + %t14 = alloca i32 + store ptr %arg_base, ptr %t0 + store ptr %arg_over, ptr %t1 + %t2 = load ptr, ptr %t0 + %t3 = icmp eq ptr %t2, null + %t4 = zext i1 %t3 to i32 + %t5 = icmp ne i32 %t4, 0 + br i1 %t5, label %then0, label %ifend2 +then0: + %t6 = load ptr, ptr %t1 + store ptr %t6, ptr %retval + br label %ret +ifend2: + %t7 = load ptr, ptr %t1 + %t8 = icmp eq ptr %t7, null + %t9 = zext i1 %t8 to i32 + %t10 = icmp ne i32 %t9, 0 + br i1 %t10, label %then3, label %ifend5 +then3: + %t11 = load ptr, ptr %t0 + store ptr %t11, ptr %retval + br label %ret +ifend5: + %t12 = call ptr @fn_node(i32 41) + store ptr %t12, ptr %t13 + store i32 0, ptr %t14 + br label %wcond6 +wcond6: + %t15 = load i32, ptr %t14 + %t16 = load ptr, ptr %t0 + %t17 = getelementptr inbounds %Cmp_Node, ptr %t16, i32 0, i32 7 + %t18 = load ptr, ptr %t17 + %t19 = getelementptr inbounds %LSlice, ptr %t18, i32 0, i32 1 + %t20 = load i32, ptr %t19 + %t21 = icmp slt i32 %t15, %t20 + %t22 = zext i1 %t21 to i32 + %t23 = icmp ne i32 %t22, 0 + br i1 %t23, label %wbody7, label %wend8 +wbody7: + %t24 = load ptr, ptr %t13 + %t25 = getelementptr inbounds %Cmp_Node, ptr %t24, i32 0, i32 7 + %t26 = load ptr, ptr %t25 + %t27 = load ptr, ptr %t0 + %t28 = getelementptr inbounds %Cmp_Node, ptr %t27, i32 0, i32 7 + %t29 = load ptr, ptr %t28 + %t30 = getelementptr inbounds %LSlice, ptr %t29, i32 0, i32 0 + %t31 = load ptr, ptr %t30 + %t32 = load i32, ptr %t14 + %t33 = getelementptr inbounds ptr, ptr %t31, i32 %t32 + %t34 = load ptr, ptr %t33 + %t35 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 1 + %t36 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 2 + %t37 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 0 + %t38 = load i32, ptr %t35 + %t39 = load i32, ptr %t36 + %t40 = icmp sge i32 %t38, %t39 + br i1 %t40, label %grow9, label %put10 +grow9: + %t41 = mul i32 %t39, 2 + %t42 = icmp eq i32 %t39, 0 + %t43 = select i1 %t42, i32 8, i32 %t41 + %t44 = getelementptr ptr, ptr null, i32 1 + %t45 = ptrtoint ptr %t44 to i64 + %t46 = zext i32 %t43 to i64 + %t47 = mul i64 %t46, %t45 + %t48 = load ptr, ptr %t37 + %t49 = call ptr @realloc(ptr %t48, i64 %t47) + store ptr %t49, ptr %t37 + store i32 %t43, ptr %t36 + br label %put10 +put10: + %t50 = load ptr, ptr %t37 + %t51 = getelementptr inbounds ptr, ptr %t50, i32 %t38 + store ptr %t34, ptr %t51 + %t52 = add i32 %t38, 1 + store i32 %t52, ptr %t35 + %t53 = load i32, ptr %t14 + %t54 = add i32 %t53, 1 + store i32 %t54, ptr %t14 + br label %wcond6 +wend8: + store i32 0, ptr %t14 + br label %wcond11 +wcond11: + %t55 = load i32, ptr %t14 + %t56 = load ptr, ptr %t1 + %t57 = getelementptr inbounds %Cmp_Node, ptr %t56, i32 0, i32 7 + %t58 = load ptr, ptr %t57 + %t59 = getelementptr inbounds %LSlice, ptr %t58, i32 0, i32 1 + %t60 = load i32, ptr %t59 + %t61 = icmp slt i32 %t55, %t60 + %t62 = zext i1 %t61 to i32 + %t63 = icmp ne i32 %t62, 0 + br i1 %t63, label %wbody12, label %wend13 +wbody12: + %t64 = load ptr, ptr %t13 + %t65 = getelementptr inbounds %Cmp_Node, ptr %t64, i32 0, i32 7 + %t66 = load ptr, ptr %t65 + %t67 = load ptr, ptr %t1 + %t68 = getelementptr inbounds %Cmp_Node, ptr %t67, i32 0, i32 7 + %t69 = load ptr, ptr %t68 + %t70 = getelementptr inbounds %LSlice, ptr %t69, i32 0, i32 0 + %t71 = load ptr, ptr %t70 + %t72 = load i32, ptr %t14 + %t73 = getelementptr inbounds ptr, ptr %t71, i32 %t72 + %t74 = load ptr, ptr %t73 + %t75 = getelementptr inbounds %LSlice, ptr %t66, i32 0, i32 1 + %t76 = getelementptr inbounds %LSlice, ptr %t66, i32 0, i32 2 + %t77 = getelementptr inbounds %LSlice, ptr %t66, i32 0, i32 0 + %t78 = load i32, ptr %t75 + %t79 = load i32, ptr %t76 + %t80 = icmp sge i32 %t78, %t79 + br i1 %t80, label %grow14, label %put15 +grow14: + %t81 = mul i32 %t79, 2 + %t82 = icmp eq i32 %t79, 0 + %t83 = select i1 %t82, i32 8, i32 %t81 + %t84 = getelementptr ptr, ptr null, i32 1 + %t85 = ptrtoint ptr %t84 to i64 + %t86 = zext i32 %t83 to i64 + %t87 = mul i64 %t86, %t85 + %t88 = load ptr, ptr %t77 + %t89 = call ptr @realloc(ptr %t88, i64 %t87) + store ptr %t89, ptr %t77 + store i32 %t83, ptr %t76 + br label %put15 +put15: + %t90 = load ptr, ptr %t77 + %t91 = getelementptr inbounds ptr, ptr %t90, i32 %t78 + store ptr %t74, ptr %t91 + %t92 = add i32 %t78, 1 + store i32 %t92, ptr %t75 + %t93 = load i32, ptr %t14 + %t94 = add i32 %t93, 1 + store i32 %t94, ptr %t14 + br label %wcond11 +wend13: + %t95 = load ptr, ptr %t13 + store ptr %t95, ptr %retval + br label %ret +ret: + %t96 = load ptr, ptr %retval + ret ptr %t96 +} + +define ptr @fn_spawn_model(ptr %arg_name) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t2 = alloca ptr + %t3 = alloca i32 + %t7 = alloca ptr + store ptr %arg_name, ptr %t0 + %t1 = load ptr, ptr %t0 + store ptr %t1, ptr %t2 + store i32 0, ptr %t3 + br label %wcond0 +wcond0: + %t4 = icmp ne i32 1, 0 + br i1 %t4, label %wbody1, label %wend2 +wbody1: + %t5 = load ptr, ptr %t2 + %t6 = call ptr @fn_find_prefab(ptr %t5) + store ptr %t6, ptr %t7 + %t8 = load ptr, ptr %t7 + %t9 = icmp eq ptr %t8, null + %t10 = zext i1 %t9 to i32 + %t11 = icmp ne i32 %t10, 0 + br i1 %t11, label %then3, label %ifend5 +then3: + %t12 = load ptr, ptr %t2 + store ptr %t12, ptr %retval + br label %ret +ifend5: + %t13 = load ptr, ptr %t7 + %t14 = getelementptr inbounds %Cmp_Node, ptr %t13, i32 0, i32 3 + %t15 = load ptr, ptr %t14 + store ptr %t15, ptr %t2 + %t16 = load i32, ptr %t3 + %t17 = add i32 %t16, 1 + store i32 %t17, ptr %t3 + %t18 = load i32, ptr %t3 + %t19 = icmp sgt i32 %t18, 16 + %t20 = zext i1 %t19 to i32 + %t21 = icmp ne i32 %t20, 0 + br i1 %t21, label %then6, label %ifend8 +then6: + %t22 = load ptr, ptr %t0 + %t23 = call ptr @lp_str_concat(ptr @.str9383, ptr %t22) + %t24 = call ptr @lp_str_concat(ptr %t23, ptr @.str9384) + call void @fn_perr(ptr %t24) + br label %ifend8 +ifend8: + br label %wcond0 +wend2: + %t25 = load ptr, ptr %t2 + store ptr %t25, ptr %retval + br label %ret +ret: + %t26 = load ptr, ptr %retval + ret ptr %t26 +} + +define ptr @fn_prefab_record(ptr %arg_name, ptr %arg_cn) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t1 = alloca ptr + %t4 = alloca ptr + store ptr %arg_name, ptr %t0 + store ptr %arg_cn, ptr %t1 + %t2 = load ptr, ptr %t0 + %t3 = call ptr @fn_find_prefab(ptr %t2) + store ptr %t3, ptr %t4 + %t5 = load ptr, ptr %t4 + %t6 = icmp eq ptr %t5, null + %t7 = zext i1 %t6 to i32 + %t8 = icmp ne i32 %t7, 0 + br i1 %t8, label %then0, label %ifend2 +then0: + store ptr null, ptr %retval + br label %ret +ifend2: + %t9 = load ptr, ptr %t4 + %t10 = getelementptr inbounds %Cmp_Node, ptr %t9, i32 0, i32 3 + %t11 = load ptr, ptr %t10 + %t12 = load ptr, ptr %t1 + %t13 = call ptr @fn_prefab_record(ptr %t11, ptr %t12) + %t14 = load ptr, ptr %t4 + %t15 = load ptr, ptr %t1 + %t16 = call ptr @fn_spawn_record(ptr %t14, ptr %t15) + %t17 = call ptr @fn_merge_records(ptr %t13, ptr %t16) + store ptr %t17, ptr %retval + br label %ret +ret: + %t18 = load ptr, ptr %retval + ret ptr %t18 +} + +define ptr @fn_emit_spawn(ptr %arg_st) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t2 = alloca ptr + %t7 = alloca ptr + %t10 = alloca i32 + %t11 = alloca i32 + %t39 = alloca ptr + %t41 = alloca ptr + %t50 = alloca ptr + %t51 = alloca i32 + %t71 = alloca ptr + %t87 = alloca ptr + %t93 = alloca i32 + %t102 = alloca ptr + %t110 = alloca i32 + store ptr %arg_st, ptr %t0 + %t1 = call ptr @fn_emit_bind(ptr @.str9385) + store ptr %t1, ptr %t2 + %t3 = load ptr, ptr %t0 + %t4 = getelementptr inbounds %Cmp_Node, ptr %t3, i32 0, i32 1 + %t5 = load ptr, ptr %t4 + %t6 = call ptr @fn_spawn_model(ptr %t5) + store ptr %t6, ptr %t7 + %t8 = load ptr, ptr %t7 + %t9 = call i32 @fn_find_arch_id(ptr %t8) + store i32 %t9, ptr %t10 + %t12 = load ptr, ptr %t0 + %t13 = getelementptr inbounds %Cmp_Node, ptr %t12, i32 0, i32 1 + %t14 = load ptr, ptr %t13 + %t15 = call ptr @fn_find_prefab(ptr %t14) + %t16 = icmp ne ptr %t15, null + %t17 = zext i1 %t16 to i32 + %t18 = icmp ne i32 %t17, 0 + %t19 = zext i1 %t18 to i32 + store i32 %t19, ptr %t11 + br i1 %t18, label %sc0, label %scend1 +sc0: + %t20 = load i32, ptr %t10 + %t21 = icmp eq i32 %t20, 0 + %t22 = zext i1 %t21 to i32 + %t23 = icmp ne i32 %t22, 0 + %t24 = zext i1 %t23 to i32 + store i32 %t24, ptr %t11 + br label %scend1 +scend1: + %t25 = load i32, ptr %t11 + %t26 = icmp ne i32 %t25, 0 + br i1 %t26, label %then2, label %ifend4 +then2: + %t27 = load ptr, ptr %t0 + %t28 = getelementptr inbounds %Cmp_Node, ptr %t27, i32 0, i32 1 + %t29 = load ptr, ptr %t28 + %t30 = call ptr @lp_str_concat(ptr @.str9386, ptr %t29) + %t31 = call ptr @lp_str_concat(ptr %t30, ptr @.str9387) + %t32 = load ptr, ptr %t7 + %t33 = call ptr @lp_str_concat(ptr %t31, ptr %t32) + call void @fn_perr(ptr %t33) + br label %ifend4 +ifend4: + %t34 = load i32, ptr %t10 + %t35 = icmp sgt i32 %t34, 0 + %t36 = zext i1 %t35 to i32 + %t37 = icmp ne i32 %t36, 0 + br i1 %t37, label %then5, label %else6 +then5: + %t38 = call ptr @fn_itoa(i32 1024) + store ptr %t38, ptr %t39 + %t40 = call ptr @fn_nreg() + store ptr %t40, ptr %t41 + call void @fn_emit(ptr @.str9388) + %t42 = load ptr, ptr %t41 + call void @fn_emit(ptr %t42) + call void @fn_emit(ptr @.str9389) + %t43 = load ptr, ptr %t39 + call void @fn_emit(ptr %t43) + call void @fn_emit(ptr @.str9390) + %t44 = load ptr, ptr %t2 + call void @fn_emit(ptr %t44) + call void @fn_emit(ptr @.str9391) + call void @fn_emit(ptr @.str9392) + %t45 = load i32, ptr %t10 + %t46 = call ptr @fn_itoa(i32 %t45) + call void @fn_emit(ptr %t46) + call void @fn_emit(ptr @.str9393) + %t47 = load ptr, ptr %t41 + call void @fn_emit(ptr %t47) + call void @fn_emit(ptr @.str9394) + %t48 = load ptr, ptr %t7 + %t49 = call ptr @fn_find_arch(ptr %t48) + store ptr %t49, ptr %t50 + store i32 0, ptr %t51 + br label %wcond8 +wcond8: + %t52 = load i32, ptr %t51 + %t53 = load ptr, ptr %t50 + %t54 = getelementptr inbounds %Cmp_Node, ptr %t53, i32 0, i32 7 + %t55 = load ptr, ptr %t54 + %t56 = getelementptr inbounds %LSlice, ptr %t55, i32 0, i32 1 + %t57 = load i32, ptr %t56 + %t58 = icmp slt i32 %t52, %t57 + %t59 = zext i1 %t58 to i32 + %t60 = icmp ne i32 %t59, 0 + br i1 %t60, label %wbody9, label %wend10 +wbody9: + %t61 = load ptr, ptr %t50 + %t62 = getelementptr inbounds %Cmp_Node, ptr %t61, i32 0, i32 7 + %t63 = load ptr, ptr %t62 + %t64 = getelementptr inbounds %LSlice, ptr %t63, i32 0, i32 0 + %t65 = load ptr, ptr %t64 + %t66 = load i32, ptr %t51 + %t67 = getelementptr inbounds ptr, ptr %t65, i32 %t66 + %t68 = load ptr, ptr %t67 + %t69 = getelementptr inbounds %Cmp_Node, ptr %t68, i32 0, i32 1 + %t70 = load ptr, ptr %t69 + store ptr %t70, ptr %t71 + %t72 = load ptr, ptr %t2 + %t73 = load ptr, ptr %t71 + %t74 = load ptr, ptr %t0 + %t75 = getelementptr inbounds %Cmp_Node, ptr %t74, i32 0, i32 1 + %t76 = load ptr, ptr %t75 + %t77 = load ptr, ptr %t71 + %t78 = call ptr @fn_prefab_record(ptr %t76, ptr %t77) + %t79 = load ptr, ptr %t0 + %t80 = load ptr, ptr %t71 + %t81 = call ptr @fn_spawn_record(ptr %t79, ptr %t80) + %t82 = call ptr @fn_merge_records(ptr %t78, ptr %t81) + call void @fn_emit_init_component(ptr %t72, ptr %t73, ptr %t82) + %t83 = load i32, ptr %t51 + %t84 = add i32 %t83, 1 + store i32 %t84, ptr %t51 + br label %wcond8 +wend10: + %t85 = load ptr, ptr %t7 + %t86 = call ptr @fn_onspawn_body(ptr %t85) + store ptr %t86, ptr %t87 + %t88 = load ptr, ptr %t87 + %t89 = icmp ne ptr %t88, null + %t90 = zext i1 %t89 to i32 + %t91 = icmp ne i32 %t90, 0 + br i1 %t91, label %then11, label %ifend13 +then11: + %t92 = load i32, ptr @g_nloc + store i32 %t92, ptr %t93 + %t94 = load ptr, ptr %t50 + %t95 = load ptr, ptr %t2 + call void @fn_emit_bind_props(ptr %t94, ptr %t95) + %t96 = load ptr, ptr %t2 + %t97 = load ptr, ptr %t87 + call void @fn_emit_hook_with_self(ptr %t96, ptr %t97) + %t98 = load i32, ptr %t93 + store i32 %t98, ptr @g_nloc + br label %ifend13 +ifend13: + %t99 = load ptr, ptr %t7 + %t100 = call ptr @lp_str_concat(ptr @.str9395, ptr %t99) + %t101 = call ptr @lp_str_concat(ptr %t100, ptr @.str9396) + store ptr %t101, ptr %t102 + %t103 = load ptr, ptr %t102 + %t104 = call ptr @fn_find_event(ptr %t103) + %t105 = icmp ne ptr %t104, null + %t106 = zext i1 %t105 to i32 + %t107 = icmp ne i32 %t106, 0 + br i1 %t107, label %then14, label %ifend16 +then14: + call void @fn_emit(ptr @.str9397) + %t108 = load ptr, ptr %t102 + call void @fn_emit(ptr %t108) + call void @fn_emit(ptr @.str9398) + %t109 = load ptr, ptr %t2 + call void @fn_emit(ptr %t109) + call void @fn_emit(ptr @.str9399) + br label %ifend16 +ifend16: + br label %ifend7 +else6: + store i32 0, ptr %t110 + br label %wcond17 +wcond17: + %t111 = load i32, ptr %t110 + %t112 = load ptr, ptr %t0 + %t113 = getelementptr inbounds %Cmp_Node, ptr %t112, i32 0, i32 7 + %t114 = load ptr, ptr %t113 + %t115 = getelementptr inbounds %LSlice, ptr %t114, i32 0, i32 1 + %t116 = load i32, ptr %t115 + %t117 = icmp slt i32 %t111, %t116 + %t118 = zext i1 %t117 to i32 + %t119 = icmp ne i32 %t118, 0 + br i1 %t119, label %wbody18, label %wend19 +wbody18: + %t120 = load ptr, ptr %t2 + %t121 = load ptr, ptr %t0 + %t122 = getelementptr inbounds %Cmp_Node, ptr %t121, i32 0, i32 7 + %t123 = load ptr, ptr %t122 + %t124 = getelementptr inbounds %LSlice, ptr %t123, i32 0, i32 0 + %t125 = load ptr, ptr %t124 + %t126 = load i32, ptr %t110 + %t127 = getelementptr inbounds ptr, ptr %t125, i32 %t126 + %t128 = load ptr, ptr %t127 + %t129 = getelementptr inbounds %Cmp_Node, ptr %t128, i32 0, i32 1 + %t130 = load ptr, ptr %t129 + %t131 = load ptr, ptr %t0 + %t132 = getelementptr inbounds %Cmp_Node, ptr %t131, i32 0, i32 7 + %t133 = load ptr, ptr %t132 + %t134 = getelementptr inbounds %LSlice, ptr %t133, i32 0, i32 0 + %t135 = load ptr, ptr %t134 + %t136 = load i32, ptr %t110 + %t137 = getelementptr inbounds ptr, ptr %t135, i32 %t136 + %t138 = load ptr, ptr %t137 + %t139 = getelementptr inbounds %Cmp_Node, ptr %t138, i32 0, i32 4 + %t140 = load ptr, ptr %t139 + call void @fn_emit_init_component(ptr %t120, ptr %t130, ptr %t140) + %t141 = load i32, ptr %t110 + %t142 = add i32 %t141, 1 + store i32 %t142, ptr %t110 + br label %wcond17 +wend19: + br label %ifend7 +ifend7: + %t143 = load ptr, ptr %t2 + store ptr %t143, ptr %retval + br label %ret +ret: + %t144 = load ptr, ptr %retval + ret ptr %t144 +} + +define void @fn_emit_despawn(ptr %arg_st) { +entry: + %t0 = alloca ptr + %t5 = alloca ptr + %t13 = alloca ptr + %t15 = alloca ptr + %t24 = alloca ptr + %t25 = alloca i32 + %t41 = alloca ptr + %t50 = alloca ptr + %t52 = alloca ptr + %t54 = alloca ptr + %t66 = alloca ptr + store ptr %arg_st, ptr %t0 + %t1 = load ptr, ptr %t0 + %t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 4 + %t3 = load ptr, ptr %t2 + %t4 = call ptr @fn_emit_expr(ptr %t3) + store ptr %t4, ptr %t5 + %t6 = load ptr, ptr @g_g_ondespawn + %t7 = getelementptr inbounds %LSlice, ptr %t6, i32 0, i32 1 + %t8 = load i32, ptr %t7 + %t9 = icmp sgt i32 %t8, 0 + %t10 = zext i1 %t9 to i32 + %t11 = icmp ne i32 %t10, 0 + br i1 %t11, label %then0, label %ifend2 +then0: + %t12 = call ptr @fn_itoa(i32 1024) + store ptr %t12, ptr %t13 + %t14 = call ptr @fn_nreg() + store ptr %t14, ptr %t15 + call void @fn_emit(ptr @.str9400) + %t16 = load ptr, ptr %t15 + call void @fn_emit(ptr %t16) + call void @fn_emit(ptr @.str9401) + %t17 = load ptr, ptr %t13 + call void @fn_emit(ptr %t17) + call void @fn_emit(ptr @.str9402) + %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 @.str9403) + %t21 = load ptr, ptr %t15 + %t22 = call ptr @lp_str_concat(ptr @.str9404, ptr %t21) + %t23 = call ptr @fn_emit_bind(ptr %t22) + store ptr %t23, ptr %t24 + store i32 0, ptr %t25 + br label %wcond3 +wcond3: + %t26 = load i32, ptr %t25 + %t27 = load ptr, ptr @g_g_ondespawn + %t28 = getelementptr inbounds %LSlice, ptr %t27, i32 0, i32 1 + %t29 = load i32, ptr %t28 + %t30 = icmp slt i32 %t26, %t29 + %t31 = zext i1 %t30 to i32 + %t32 = icmp ne i32 %t31, 0 + br i1 %t32, label %wbody4, label %wend5 +wbody4: + %t33 = load ptr, ptr @g_g_ondespawn + %t34 = getelementptr inbounds %LSlice, ptr %t33, i32 0, i32 0 + %t35 = load ptr, ptr %t34 + %t36 = load i32, ptr %t25 + %t37 = getelementptr inbounds ptr, ptr %t35, i32 %t36 + %t38 = load ptr, ptr %t37 + %t39 = getelementptr inbounds %Cmp_Node, ptr %t38, i32 0, i32 1 + %t40 = load ptr, ptr %t39 + store ptr %t40, ptr %t41 + %t42 = load ptr, ptr %t24 + %t43 = call ptr @lp_str_concat(ptr @.str9405, ptr %t42) + %t44 = call ptr @lp_str_concat(ptr %t43, ptr @.str9406) + %t45 = load ptr, ptr %t41 + %t46 = call i32 @fn_find_arch_id(ptr %t45) + %t47 = call ptr @fn_itoa(i32 %t46) + %t48 = call ptr @lp_str_concat(ptr %t44, ptr %t47) + %t49 = call ptr @fn_emit_bind(ptr %t48) + store ptr %t49, ptr %t50 + %t51 = call ptr @fn_lbl(ptr @.str9407) + store ptr %t51, ptr %t52 + %t53 = call ptr @fn_lbl(ptr @.str9408) + store ptr %t53, ptr %t54 + call void @fn_emit(ptr @.str9409) + %t55 = load ptr, ptr %t50 + call void @fn_emit(ptr %t55) + call void @fn_emit(ptr @.str9410) + %t56 = load ptr, ptr %t52 + call void @fn_emit(ptr %t56) + call void @fn_emit(ptr @.str9411) + %t57 = load ptr, ptr %t54 + call void @fn_emit(ptr %t57) + call void @fn_emit(ptr @.str9412) + %t58 = load ptr, ptr %t52 + call void @fn_emit(ptr %t58) + call void @fn_emit(ptr @.str9413) + %t59 = load ptr, ptr %t41 + call void @fn_emit(ptr %t59) + call void @fn_emit(ptr @.str9414) + %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 @.str9415) + %t63 = load ptr, ptr %t41 + %t64 = call ptr @lp_str_concat(ptr @.str9416, ptr %t63) + %t65 = call ptr @lp_str_concat(ptr %t64, ptr @.str9417) + 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 @.str9418) + %t72 = load ptr, ptr %t66 + call void @fn_emit(ptr %t72) + call void @fn_emit(ptr @.str9419) + %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 @.str9420) + br label %ifend8 +ifend8: + call void @fn_emit(ptr @.str9421) + %t76 = load ptr, ptr %t54 + call void @fn_emit(ptr %t76) + call void @fn_emit(ptr @.str9422) + %t77 = load ptr, ptr %t54 + call void @fn_emit(ptr %t77) + call void @fn_emit(ptr @.str9423) + %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 @.str9424) + %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 @.str9425) + br label %ifend11 +ifend11: + call void @fn_emit(ptr @.str9426) + %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 @.str9427) + 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 @.str9428) + %t10 = load ptr, ptr %t9 + call void @fn_emit(ptr %t10) + call void @fn_emit(ptr @.str9429) + %t11 = load ptr, ptr %t7 + call void @fn_emit(ptr %t11) + call void @fn_emit(ptr @.str9430) + %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 @.str9431) + %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 @.str9432) + %t18 = load ptr, ptr %t9 + %t19 = call ptr @lp_str_concat(ptr @.str9433, ptr %t18) + %t20 = call ptr @fn_emit_bind(ptr %t19) + store ptr %t20, ptr %t21 + %t22 = load ptr, ptr %t21 + %t23 = call ptr @lp_str_concat(ptr @.str9434, ptr %t22) + %t24 = call ptr @lp_str_concat(ptr %t23, ptr @.str9435) + %t25 = call ptr @fn_emit_bind(ptr %t24) + store ptr %t25, ptr %t26 + %t27 = call ptr @fn_lbl(ptr @.str9436) + store ptr %t27, ptr %t28 + %t29 = call ptr @fn_lbl(ptr @.str9437) + store ptr %t29, ptr %t30 + call void @fn_emit(ptr @.str9438) + %t31 = load ptr, ptr %t26 + call void @fn_emit(ptr %t31) + call void @fn_emit(ptr @.str9439) + %t32 = load ptr, ptr %t28 + call void @fn_emit(ptr %t32) + call void @fn_emit(ptr @.str9440) + %t33 = load ptr, ptr %t30 + call void @fn_emit(ptr %t33) + call void @fn_emit(ptr @.str9441) + %t34 = load ptr, ptr %t28 + call void @fn_emit(ptr %t34) + call void @fn_emit(ptr @.str9442) + 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 @.str9443) + %t48 = load ptr, ptr %t30 + call void @fn_emit(ptr %t48) + call void @fn_emit(ptr @.str9444) + br label %ifend2 +ifend2: + %t49 = load ptr, ptr %t30 + call void @fn_emit(ptr %t49) + call void @fn_emit(ptr @.str9445) + 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 @.str9446) + %t10 = load ptr, ptr %t9 + call void @fn_emit(ptr %t10) + call void @fn_emit(ptr @.str9447) + %t11 = load ptr, ptr %t7 + call void @fn_emit(ptr %t11) + call void @fn_emit(ptr @.str9448) + %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 @.str9449) + %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 @.str9450) + %t18 = load ptr, ptr %t9 + %t19 = call ptr @lp_str_concat(ptr @.str9451, ptr %t18) + %t20 = call ptr @fn_emit_bind(ptr %t19) + store ptr %t20, ptr %t21 + %t22 = load ptr, ptr %t21 + %t23 = call ptr @lp_str_concat(ptr @.str9452, ptr %t22) + %t24 = call ptr @lp_str_concat(ptr %t23, ptr @.str9453) + %t25 = call ptr @fn_emit_bind(ptr %t24) + store ptr %t25, ptr %t26 + %t27 = call ptr @fn_lbl(ptr @.str9454) + store ptr %t27, ptr %t28 + %t29 = call ptr @fn_lbl(ptr @.str9455) + store ptr %t29, ptr %t30 + call void @fn_emit(ptr @.str9456) + %t31 = load ptr, ptr %t26 + call void @fn_emit(ptr %t31) + call void @fn_emit(ptr @.str9457) + %t32 = load ptr, ptr %t28 + call void @fn_emit(ptr %t32) + call void @fn_emit(ptr @.str9458) + %t33 = load ptr, ptr %t30 + call void @fn_emit(ptr %t33) + call void @fn_emit(ptr @.str9459) + %t34 = load ptr, ptr %t28 + call void @fn_emit(ptr %t34) + call void @fn_emit(ptr @.str9460) + store i32 0, ptr @g_g_term + call void @fn_emit(ptr @.str9461) + %t35 = load ptr, ptr %t9 + call void @fn_emit(ptr %t35) + call void @fn_emit(ptr @.str9462) + %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 @.str9463) + %t49 = load ptr, ptr %t48 + call void @fn_emit(ptr %t49) + call void @fn_emit(ptr @.str9464) + %t50 = load ptr, ptr %t7 + call void @fn_emit(ptr %t50) + call void @fn_emit(ptr @.str9465) + %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 @.str9466) + %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 @.str9467) + %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 @.str9468) + %t60 = call ptr @fn_emit_alloca(ptr @.str9469) + store ptr %t60, ptr %t61 + call void @fn_emit(ptr @.str9470) + %t62 = load ptr, ptr %t48 + call void @fn_emit(ptr %t62) + call void @fn_emit(ptr @.str9471) + %t63 = load ptr, ptr %t61 + call void @fn_emit(ptr %t63) + call void @fn_emit(ptr @.str9472) + %t64 = load ptr, ptr %t0 + %t65 = getelementptr inbounds %Cmp_Node, ptr %t64, i32 0, i32 1 + %t66 = load ptr, ptr %t65 + %t67 = load ptr, ptr %t61 + %t68 = load ptr, ptr %t0 + %t69 = getelementptr inbounds %Cmp_Node, ptr %t68, i32 0, i32 1 + %t70 = load ptr, ptr %t69 + call void @fn_loc_push(ptr %t66, ptr %t67, ptr %t70) + %t71 = load ptr, ptr %t40 + call void @fn_emit_block(ptr %t71) + %t72 = load i32, ptr %t46 + store i32 %t72, ptr @g_nloc + br label %ifend2 +ifend2: + %t73 = load ptr, ptr %t0 + %t74 = getelementptr inbounds %Cmp_Node, ptr %t73, i32 0, i32 1 + %t75 = load ptr, ptr %t74 + %t76 = call ptr @lp_str_concat(ptr @.str9473, ptr %t75) + %t77 = call ptr @lp_str_concat(ptr %t76, ptr @.str9474) + 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 @.str9475) + %t84 = load ptr, ptr %t78 + call void @fn_emit(ptr %t84) + call void @fn_emit(ptr @.str9476) + %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 @.str9477) + 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 @.str9478) + %t92 = load ptr, ptr %t30 + call void @fn_emit(ptr %t92) + call void @fn_emit(ptr @.str9479) + br label %ifend8 +ifend8: + %t93 = load ptr, ptr %t30 + call void @fn_emit(ptr %t93) + call void @fn_emit(ptr @.str9480) + store i32 0, ptr @g_g_term + br label %ret +ret: + ret void +} + +define ptr @fn_find_sys(ptr %arg_name) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t1 = alloca i32 + %t15 = alloca ptr + %t16 = alloca i32 + store ptr %arg_name, ptr %t0 + store i32 0, ptr %t1 + br label %wcond0 +wcond0: + %t2 = load i32, ptr %t1 + %t3 = load ptr, ptr @g_prog + %t4 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 1 + %t5 = load i32, ptr %t4 + %t6 = icmp slt i32 %t2, %t5 + %t7 = zext i1 %t6 to i32 + %t8 = icmp ne i32 %t7, 0 + br i1 %t8, label %wbody1, label %wend2 +wbody1: + %t9 = load ptr, ptr @g_prog + %t10 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0 + %t11 = load ptr, ptr %t10 + %t12 = load i32, ptr %t1 + %t13 = getelementptr inbounds ptr, ptr %t11, i32 %t12 + %t14 = load ptr, ptr %t13 + store ptr %t14, ptr %t15 + %t17 = load ptr, ptr %t15 + %t18 = getelementptr inbounds %Cmp_Node, ptr %t17, i32 0, i32 0 + %t19 = load i32, ptr %t18 + %t20 = icmp eq i32 %t19, 9 + %t21 = zext i1 %t20 to i32 + %t22 = icmp ne i32 %t21, 0 + %t23 = zext i1 %t22 to i32 + store i32 %t23, ptr %t16 + br i1 %t22, label %sc3, label %scend4 +sc3: + %t24 = load ptr, ptr %t15 + %t25 = getelementptr inbounds %Cmp_Node, ptr %t24, i32 0, i32 1 + %t26 = load ptr, ptr %t25 + %t27 = load ptr, ptr %t0 + %t28 = call i32 @lp_str_eq(ptr %t26, ptr %t27) + %t29 = icmp ne i32 %t28, 0 + %t30 = zext i1 %t29 to i32 + store i32 %t30, ptr %t16 + br label %scend4 +scend4: + %t31 = load i32, ptr %t16 + %t32 = icmp ne i32 %t31, 0 + br i1 %t32, label %then5, label %ifend7 +then5: + %t33 = load ptr, ptr %t15 + store ptr %t33, ptr %retval + br label %ret +ifend7: + %t34 = load i32, ptr %t1 + %t35 = add i32 %t34, 1 + store i32 %t35, ptr %t1 + br label %wcond0 +wend2: + store ptr null, ptr %retval + br label %ret +ret: + %t36 = load ptr, ptr %retval + ret ptr %t36 +} + +define void @fn_emit_toggle(ptr %arg_st) { +entry: + %t0 = alloca ptr + %t1 = alloca ptr + %t8 = alloca i32 + %t24 = alloca i32 + %t49 = alloca ptr + %t77 = alloca ptr + %t79 = alloca ptr + %t81 = alloca ptr + %t92 = alloca ptr + %t112 = alloca i32 + %t114 = alloca ptr + %t127 = alloca ptr + %t144 = alloca ptr + %t165 = alloca ptr + %t174 = alloca ptr + %t175 = alloca i32 + %t176 = alloca i32 + %t203 = alloca ptr + store ptr %arg_st, ptr %t0 + store ptr @.str9481, 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 @.str9482, ptr %t1 + br label %ifend2 +ifend2: + %t9 = load ptr, ptr %t0 + %t10 = getelementptr inbounds %Cmp_Node, ptr %t9, i32 0, i32 3 + %t11 = load ptr, ptr %t10 + %t12 = icmp ne ptr %t11, null + %t13 = zext i1 %t12 to i32 + %t14 = icmp ne i32 %t13, 0 + %t15 = zext i1 %t14 to i32 + store i32 %t15, ptr %t8 + br i1 %t14, label %sc3, label %scend4 +sc3: + %t16 = load ptr, ptr %t0 + %t17 = getelementptr inbounds %Cmp_Node, ptr %t16, i32 0, i32 3 + %t18 = load ptr, ptr %t17 + %t19 = call i32 @lp_str_eq(ptr %t18, ptr @.str9483) + %t20 = icmp ne i32 %t19, 0 + %t21 = zext i1 %t20 to i32 + store i32 %t21, ptr %t8 + br label %scend4 +scend4: + %t22 = load i32, ptr %t8 + %t23 = icmp ne i32 %t22, 0 + br i1 %t23, label %then5, label %ifend7 +then5: + br label %ret +ifend7: + %t25 = load ptr, ptr %t0 + %t26 = getelementptr inbounds %Cmp_Node, ptr %t25, i32 0, i32 3 + %t27 = load ptr, ptr %t26 + %t28 = icmp ne ptr %t27, null + %t29 = zext i1 %t28 to i32 + %t30 = icmp ne i32 %t29, 0 + %t31 = zext i1 %t30 to i32 + store i32 %t31, ptr %t24 + br i1 %t30, label %sc8, label %scend9 +sc8: + %t32 = load ptr, ptr %t0 + %t33 = getelementptr inbounds %Cmp_Node, ptr %t32, i32 0, i32 3 + %t34 = load ptr, ptr %t33 + %t35 = call i32 @lp_str_eq(ptr %t34, ptr @.str9484) + %t36 = icmp ne i32 %t35, 0 + %t37 = zext i1 %t36 to i32 + store i32 %t37, ptr %t24 + br label %scend9 +scend9: + %t38 = load i32, ptr %t24 + %t39 = icmp ne i32 %t38, 0 + br i1 %t39, label %then10, label %ifend12 +then10: + call void @fn_emit(ptr @.str9485) + %t40 = load ptr, ptr %t1 + call void @fn_emit(ptr %t40) + call void @fn_emit(ptr @.str9486) + %t41 = load ptr, ptr %t0 + %t42 = getelementptr inbounds %Cmp_Node, ptr %t41, i32 0, i32 1 + %t43 = load ptr, ptr %t42 + call void @fn_emit(ptr %t43) + call void @fn_emit(ptr @.str9487) + %t44 = load ptr, ptr %t0 + %t45 = getelementptr inbounds %Cmp_Node, ptr %t44, i32 0, i32 1 + %t46 = load ptr, ptr %t45 + %t47 = call ptr @lp_str_concat(ptr @.str9488, ptr %t46) + %t48 = call ptr @lp_str_concat(ptr %t47, ptr @.str9489) + store ptr %t48, ptr %t49 + %t50 = load ptr, ptr %t0 + %t51 = getelementptr inbounds %Cmp_Node, ptr %t50, i32 0, i32 2 + %t52 = load i32, ptr %t51 + %t53 = icmp eq i32 %t52, 1 + %t54 = zext i1 %t53 to i32 + %t55 = icmp ne i32 %t54, 0 + br i1 %t55, label %then13, label %ifend15 +then13: + %t56 = load ptr, ptr %t0 + %t57 = getelementptr inbounds %Cmp_Node, ptr %t56, i32 0, i32 1 + %t58 = load ptr, ptr %t57 + %t59 = call ptr @lp_str_concat(ptr @.str9490, ptr %t58) + %t60 = call ptr @lp_str_concat(ptr %t59, ptr @.str9491) + store ptr %t60, ptr %t49 + br label %ifend15 +ifend15: + %t61 = load ptr, ptr %t49 + %t62 = call ptr @fn_find_event(ptr %t61) + %t63 = icmp ne ptr %t62, null + %t64 = zext i1 %t63 to i32 + %t65 = icmp ne i32 %t64, 0 + br i1 %t65, label %then16, label %ifend18 +then16: + call void @fn_emit(ptr @.str9492) + %t66 = load ptr, ptr %t49 + call void @fn_emit(ptr %t66) + call void @fn_emit(ptr @.str9493) + br label %ifend18 +ifend18: + br label %ret +ifend12: + %t67 = load ptr, ptr %t0 + %t68 = getelementptr inbounds %Cmp_Node, ptr %t67, i32 0, i32 4 + %t69 = load ptr, ptr %t68 + %t70 = icmp ne ptr %t69, null + %t71 = zext i1 %t70 to i32 + %t72 = icmp ne i32 %t71, 0 + br i1 %t72, label %then19, label %else20 +then19: + %t73 = load ptr, ptr %t0 + %t74 = getelementptr inbounds %Cmp_Node, ptr %t73, i32 0, i32 4 + %t75 = load ptr, ptr %t74 + %t76 = call ptr @fn_emit_expr(ptr %t75) + store ptr %t76, ptr %t77 + %t78 = call ptr @fn_itoa(i32 1024) + store ptr %t78, ptr %t79 + %t80 = call ptr @fn_nreg() + store ptr %t80, ptr %t81 + call void @fn_emit(ptr @.str9494) + %t82 = load ptr, ptr %t81 + call void @fn_emit(ptr %t82) + call void @fn_emit(ptr @.str9495) + %t83 = load ptr, ptr %t79 + call void @fn_emit(ptr %t83) + call void @fn_emit(ptr @.str9496) + %t84 = load ptr, ptr %t0 + %t85 = getelementptr inbounds %Cmp_Node, ptr %t84, i32 0, i32 1 + %t86 = load ptr, ptr %t85 + call void @fn_emit(ptr %t86) + call void @fn_emit(ptr @.str9497) + %t87 = load ptr, ptr %t77 + %t88 = getelementptr inbounds %Cmp_Val, ptr %t87, i32 0, i32 0 + %t89 = load ptr, ptr %t88 + call void @fn_emit(ptr %t89) + call void @fn_emit(ptr @.str9498) + call void @fn_emit(ptr @.str9499) + %t90 = load ptr, ptr %t1 + call void @fn_emit(ptr %t90) + call void @fn_emit(ptr @.str9500) + %t91 = load ptr, ptr %t81 + call void @fn_emit(ptr %t91) + call void @fn_emit(ptr @.str9501) + store ptr null, ptr %t92 + %t93 = load ptr, ptr %t0 + %t94 = getelementptr inbounds %Cmp_Node, ptr %t93, i32 0, i32 2 + %t95 = load i32, ptr %t94 + %t96 = icmp eq i32 %t95, 1 + %t97 = zext i1 %t96 to i32 + %t98 = icmp ne i32 %t97, 0 + br i1 %t98, label %then22, label %else23 +then22: + %t99 = load ptr, ptr %t0 + %t100 = getelementptr inbounds %Cmp_Node, ptr %t99, i32 0, i32 1 + %t101 = load ptr, ptr %t100 + %t102 = call ptr @fn_onenable_body(ptr %t101) + store ptr %t102, ptr %t92 + br label %ifend24 +else23: + %t103 = load ptr, ptr %t0 + %t104 = getelementptr inbounds %Cmp_Node, ptr %t103, i32 0, i32 1 + %t105 = load ptr, ptr %t104 + %t106 = call ptr @fn_ondisable_body(ptr %t105) + store ptr %t106, ptr %t92 + br label %ifend24 +ifend24: + %t107 = load ptr, ptr %t92 + %t108 = icmp ne ptr %t107, null + %t109 = zext i1 %t108 to i32 + %t110 = icmp ne i32 %t109, 0 + br i1 %t110, label %then25, label %ifend27 +then25: + %t111 = load i32, ptr @g_nloc + store i32 %t111, ptr %t112 + %t113 = call ptr @fn_nreg() + store ptr %t113, ptr %t114 + call void @fn_emit(ptr @.str9502) + %t115 = load ptr, ptr %t114 + call void @fn_emit(ptr %t115) + call void @fn_emit(ptr @.str9503) + %t116 = load ptr, ptr %t79 + call void @fn_emit(ptr %t116) + call void @fn_emit(ptr @.str9504) + %t117 = load ptr, ptr %t0 + %t118 = getelementptr inbounds %Cmp_Node, ptr %t117, i32 0, i32 1 + %t119 = load ptr, ptr %t118 + call void @fn_emit(ptr %t119) + call void @fn_emit(ptr @.str9505) + %t120 = load ptr, ptr %t0 + %t121 = getelementptr inbounds %Cmp_Node, ptr %t120, i32 0, i32 1 + %t122 = load ptr, ptr %t121 + call void @fn_emit(ptr %t122) + call void @fn_emit(ptr @.str9506) + %t123 = load ptr, ptr %t77 + %t124 = getelementptr inbounds %Cmp_Val, ptr %t123, i32 0, i32 0 + %t125 = load ptr, ptr %t124 + call void @fn_emit(ptr %t125) + call void @fn_emit(ptr @.str9507) + %t126 = call ptr @fn_emit_alloca(ptr @.str9508) + store ptr %t126, ptr %t127 + call void @fn_emit(ptr @.str9509) + %t128 = load ptr, ptr %t114 + call void @fn_emit(ptr %t128) + call void @fn_emit(ptr @.str9510) + %t129 = load ptr, ptr %t127 + call void @fn_emit(ptr %t129) + call void @fn_emit(ptr @.str9511) + %t130 = load ptr, ptr %t0 + %t131 = getelementptr inbounds %Cmp_Node, ptr %t130, i32 0, i32 1 + %t132 = load ptr, ptr %t131 + %t133 = load ptr, ptr %t127 + %t134 = load ptr, ptr %t0 + %t135 = getelementptr inbounds %Cmp_Node, ptr %t134, i32 0, i32 1 + %t136 = load ptr, ptr %t135 + call void @fn_loc_push(ptr %t132, ptr %t133, ptr %t136) + %t137 = load ptr, ptr %t92 + call void @fn_emit_block(ptr %t137) + %t138 = load i32, ptr %t112 + store i32 %t138, ptr @g_nloc + br label %ifend27 +ifend27: + %t139 = load ptr, ptr %t0 + %t140 = getelementptr inbounds %Cmp_Node, ptr %t139, i32 0, i32 1 + %t141 = load ptr, ptr %t140 + %t142 = call ptr @lp_str_concat(ptr @.str9512, ptr %t141) + %t143 = call ptr @lp_str_concat(ptr %t142, ptr @.str9513) + store ptr %t143, ptr %t144 + %t145 = load ptr, ptr %t0 + %t146 = getelementptr inbounds %Cmp_Node, ptr %t145, i32 0, i32 2 + %t147 = load i32, ptr %t146 + %t148 = icmp eq i32 %t147, 1 + %t149 = zext i1 %t148 to i32 + %t150 = icmp ne i32 %t149, 0 + br i1 %t150, label %then28, label %ifend30 +then28: + %t151 = load ptr, ptr %t0 + %t152 = getelementptr inbounds %Cmp_Node, ptr %t151, i32 0, i32 1 + %t153 = load ptr, ptr %t152 + %t154 = call ptr @lp_str_concat(ptr @.str9514, ptr %t153) + %t155 = call ptr @lp_str_concat(ptr %t154, ptr @.str9515) + store ptr %t155, ptr %t144 + br label %ifend30 +ifend30: + %t156 = load ptr, ptr %t144 + %t157 = call ptr @fn_find_event(ptr %t156) + %t158 = icmp ne ptr %t157, null + %t159 = zext i1 %t158 to i32 + %t160 = icmp ne i32 %t159, 0 + br i1 %t160, label %then31, label %ifend33 +then31: + call void @fn_emit(ptr @.str9516) + %t161 = load ptr, ptr %t144 + call void @fn_emit(ptr %t161) + call void @fn_emit(ptr @.str9517) + %t162 = load ptr, ptr %t77 + %t163 = getelementptr inbounds %Cmp_Val, ptr %t162, i32 0, i32 0 + %t164 = load ptr, ptr %t163 + call void @fn_emit(ptr %t164) + call void @fn_emit(ptr @.str9518) + br label %ifend33 +ifend33: + br label %ifend21 +else20: + store ptr @.str9519, ptr %t165 + %t166 = load ptr, ptr %t0 + %t167 = getelementptr inbounds %Cmp_Node, ptr %t166, i32 0, i32 1 + %t168 = load ptr, ptr %t167 + %t169 = call i32 @fn_is_model(ptr %t168) + %t170 = icmp ne i32 %t169, 0 + br i1 %t170, label %then34, label %ifend36 +then34: + store ptr @.str9520, ptr %t165 + br label %ifend36 +ifend36: + %t171 = load ptr, ptr %t0 + %t172 = getelementptr inbounds %Cmp_Node, ptr %t171, i32 0, i32 1 + %t173 = load ptr, ptr %t172 + store ptr %t173, ptr %t174 + %t177 = load ptr, ptr %t165 + %t178 = call i32 @lp_str_eq(ptr %t177, ptr @.str9521) + %t179 = icmp ne i32 %t178, 0 + %t180 = zext i1 %t179 to i32 + store i32 %t180, ptr %t176 + br i1 %t179, label %sc37, label %scend38 +sc37: + %t181 = load ptr, ptr %t174 + %t182 = call ptr @fn_find_sys(ptr %t181) + %t183 = icmp eq ptr %t182, null + %t184 = zext i1 %t183 to i32 + %t185 = icmp ne i32 %t184, 0 + %t186 = zext i1 %t185 to i32 + store i32 %t186, ptr %t176 + br label %scend38 +scend38: + %t187 = load i32, ptr %t176 + %t188 = icmp ne i32 %t187, 0 + %t189 = zext i1 %t188 to i32 + store i32 %t189, ptr %t175 + br i1 %t188, label %sc39, label %scend40 +sc39: + %t190 = load ptr, ptr @g_g_cur_scene + %t191 = icmp ne ptr %t190, null + %t192 = zext i1 %t191 to i32 + %t193 = icmp ne i32 %t192, 0 + %t194 = zext i1 %t193 to i32 + store i32 %t194, ptr %t175 + br label %scend40 +scend40: + %t195 = load i32, ptr %t175 + %t196 = icmp ne i32 %t195, 0 + br i1 %t196, label %then41, label %ifend43 +then41: + %t197 = load ptr, ptr @g_g_cur_scene + %t198 = getelementptr inbounds %Cmp_Node, ptr %t197, i32 0, i32 1 + %t199 = load ptr, ptr %t198 + %t200 = call ptr @lp_str_concat(ptr %t199, ptr @.str9522) + %t201 = load ptr, ptr %t174 + %t202 = call ptr @lp_str_concat(ptr %t200, ptr %t201) + store ptr %t202, ptr %t203 + %t204 = load ptr, ptr %t203 + %t205 = call ptr @fn_find_sys(ptr %t204) + %t206 = icmp ne ptr %t205, null + %t207 = zext i1 %t206 to i32 + %t208 = icmp ne i32 %t207, 0 + br i1 %t208, label %then44, label %ifend46 +then44: + %t209 = load ptr, ptr %t203 + store ptr %t209, ptr %t174 + br label %ifend46 +ifend46: + br label %ifend43 +ifend43: + call void @fn_emit(ptr @.str9523) + %t210 = load ptr, ptr %t1 + call void @fn_emit(ptr %t210) + call void @fn_emit(ptr @.str9524) + %t211 = load ptr, ptr %t165 + call void @fn_emit(ptr %t211) + %t212 = load ptr, ptr %t174 + call void @fn_emit(ptr %t212) + call void @fn_emit(ptr @.str9525) + br label %ifend21 +ifend21: + br label %ret +ret: + ret void +} + +define void @fn_emit_system_fn(ptr %arg_sys) { +entry: + %t0 = alloca ptr + %t5 = alloca ptr + %t8 = alloca ptr + store ptr %arg_sys, ptr %t0 + %t1 = load ptr, ptr %t0 + %t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 6 + %t3 = load ptr, ptr %t2 + store ptr %t3, ptr @g_g_cur_scene + store i32 0, ptr @g_ll_t + store i32 0, ptr @g_ll_lbl + store i32 0, ptr @g_g_term + call void @fn_loc_reset() + store i32 0, ptr @g_nloop + store i32 0, ptr @g_nself + store ptr @.str9526, 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 @.str9527) + br label %ifend2 +ifend2: + call void @fn_emit(ptr @.str9528) + %t17 = load ptr, ptr %t8 + store ptr %t17, ptr @g_code + call void @fn_emit(ptr @.str9529) + %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 @.str9530) + %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 @.str9531) + br label %ret +ret: + ret void +} + +define void @fn_emit_call_one(ptr %arg_d) { +entry: + %t0 = alloca ptr + %t6 = alloca ptr + %t11 = alloca ptr + %t12 = alloca i32 + %t37 = alloca ptr + %t42 = alloca ptr + %t56 = alloca ptr + %t61 = alloca ptr + %t69 = alloca ptr + %t71 = alloca ptr + store ptr %arg_d, ptr %t0 + %t1 = load ptr, ptr %t0 + %t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 1 + %t3 = load ptr, ptr %t2 + %t4 = call ptr @lp_str_concat(ptr @.str9532, ptr %t3) + %t5 = call ptr @fn_emit_bind(ptr %t4) + store ptr %t5, ptr %t6 + %t7 = load ptr, ptr %t6 + %t8 = call ptr @lp_str_concat(ptr @.str9533, ptr %t7) + %t9 = call ptr @lp_str_concat(ptr %t8, ptr @.str9534) + %t10 = call ptr @fn_emit_bind(ptr %t9) + store ptr %t10, ptr %t11 + %t13 = load ptr, ptr %t0 + %t14 = getelementptr inbounds %Cmp_Node, ptr %t13, i32 0, i32 5 + %t15 = load ptr, ptr %t14 + %t16 = icmp ne ptr %t15, null + %t17 = zext i1 %t16 to i32 + %t18 = icmp ne i32 %t17, 0 + %t19 = zext i1 %t18 to i32 + store i32 %t19, ptr %t12 + br i1 %t18, label %sc0, label %scend1 +sc0: + %t20 = load ptr, ptr %t0 + %t21 = getelementptr inbounds %Cmp_Node, ptr %t20, i32 0, i32 5 + %t22 = load ptr, ptr %t21 + %t23 = getelementptr inbounds %Cmp_Node, ptr %t22, i32 0, i32 1 + %t24 = load ptr, ptr %t23 + %t25 = call i32 @fn_is_toggled_layer(ptr %t24) + %t26 = icmp ne i32 %t25, 0 + %t27 = zext i1 %t26 to i32 + store i32 %t27, ptr %t12 + br label %scend1 +scend1: + %t28 = load i32, ptr %t12 + %t29 = icmp ne i32 %t28, 0 + br i1 %t29, label %then2, label %ifend4 +then2: + %t30 = load ptr, ptr %t0 + %t31 = getelementptr inbounds %Cmp_Node, ptr %t30, i32 0, i32 5 + %t32 = load ptr, ptr %t31 + %t33 = getelementptr inbounds %Cmp_Node, ptr %t32, i32 0, i32 1 + %t34 = load ptr, ptr %t33 + %t35 = call ptr @lp_str_concat(ptr @.str9535, ptr %t34) + %t36 = call ptr @fn_emit_bind(ptr %t35) + store ptr %t36, ptr %t37 + %t38 = load ptr, ptr %t37 + %t39 = call ptr @lp_str_concat(ptr @.str9536, ptr %t38) + %t40 = call ptr @lp_str_concat(ptr %t39, ptr @.str9537) + %t41 = call ptr @fn_emit_bind(ptr %t40) + store ptr %t41, ptr %t42 + %t43 = load ptr, ptr %t11 + %t44 = call ptr @lp_str_concat(ptr @.str9538, ptr %t43) + %t45 = call ptr @lp_str_concat(ptr %t44, ptr @.str9539) + %t46 = load ptr, ptr %t42 + %t47 = call ptr @lp_str_concat(ptr %t45, ptr %t46) + %t48 = call ptr @fn_emit_bind(ptr %t47) + store ptr %t48, ptr %t11 + br label %ifend4 +ifend4: + %t49 = load ptr, ptr %t0 + %t50 = getelementptr inbounds %Cmp_Node, ptr %t49, i32 0, i32 2 + %t51 = load i32, ptr %t50 + %t52 = icmp eq i32 %t51, 1 + %t53 = zext i1 %t52 to i32 + %t54 = icmp ne i32 %t53, 0 + br i1 %t54, label %then5, label %ifend7 +then5: + %t55 = call ptr @fn_emit_bind(ptr @.str9540) + store ptr %t55, ptr %t56 + %t57 = load ptr, ptr %t56 + %t58 = call ptr @lp_str_concat(ptr @.str9541, ptr %t57) + %t59 = call ptr @lp_str_concat(ptr %t58, ptr @.str9542) + %t60 = call ptr @fn_emit_bind(ptr %t59) + store ptr %t60, ptr %t61 + %t62 = load ptr, ptr %t11 + %t63 = call ptr @lp_str_concat(ptr @.str9543, ptr %t62) + %t64 = call ptr @lp_str_concat(ptr %t63, ptr @.str9544) + %t65 = load ptr, ptr %t61 + %t66 = call ptr @lp_str_concat(ptr %t64, ptr %t65) + %t67 = call ptr @fn_emit_bind(ptr %t66) + store ptr %t67, ptr %t11 + br label %ifend7 +ifend7: + %t68 = call ptr @fn_lbl(ptr @.str9545) + store ptr %t68, ptr %t69 + %t70 = call ptr @fn_lbl(ptr @.str9546) + store ptr %t70, ptr %t71 + call void @fn_emit(ptr @.str9547) + %t72 = load ptr, ptr %t11 + call void @fn_emit(ptr %t72) + call void @fn_emit(ptr @.str9548) + %t73 = load ptr, ptr %t69 + call void @fn_emit(ptr %t73) + call void @fn_emit(ptr @.str9549) + %t74 = load ptr, ptr %t71 + call void @fn_emit(ptr %t74) + call void @fn_emit(ptr @.str9550) + %t75 = load ptr, ptr %t69 + call void @fn_emit(ptr %t75) + call void @fn_emit(ptr @.str9551) + %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 @.str9552) + call void @fn_emit(ptr @.str9553) + %t79 = load ptr, ptr %t71 + call void @fn_emit(ptr %t79) + call void @fn_emit(ptr @.str9554) + %t80 = load ptr, ptr %t71 + call void @fn_emit(ptr %t80) + call void @fn_emit(ptr @.str9555) + br label %ret +ret: + ret void +} + +define void @fn_emit_one_engine_system(ptr %arg_comp, ptr %arg_fn) { +entry: + %t0 = alloca ptr + %t1 = alloca ptr + %t5 = alloca i32 + store ptr %arg_comp, ptr %t0 + store ptr %arg_fn, ptr %t1 + %t2 = load ptr, ptr %t1 + %t3 = call i32 @fn_is_system_disabled(ptr %t2) + %t4 = icmp ne i32 %t3, 0 + br i1 %t4, label %then0, label %ifend2 +then0: + br label %ret +ifend2: + %t6 = load ptr, ptr %t0 + %t7 = call ptr @fn_find_comp(ptr %t6) + %t8 = icmp ne ptr %t7, null + %t9 = zext i1 %t8 to i32 + %t10 = icmp ne i32 %t9, 0 + %t11 = zext i1 %t10 to i32 + store i32 %t11, ptr %t5 + br i1 %t10, label %sc3, label %scend4 +sc3: + %t12 = load ptr, ptr %t1 + %t13 = call ptr @fn_find_fn(ptr %t12) + %t14 = icmp ne ptr %t13, null + %t15 = zext i1 %t14 to i32 + %t16 = icmp ne i32 %t15, 0 + %t17 = zext i1 %t16 to i32 + store i32 %t17, ptr %t5 + br label %scend4 +scend4: + %t18 = load i32, ptr %t5 + %t19 = icmp ne i32 %t18, 0 + br i1 %t19, label %then5, label %ifend7 +then5: + call void @fn_emit(ptr @.str9556) + %t20 = load ptr, ptr %t1 + call void @fn_emit(ptr %t20) + call void @fn_emit(ptr @.str9557) + br label %ifend7 +ifend7: + br label %ret +ret: + ret void +} + +define void @fn_emit_engine_systems_for_phase(ptr %arg_phase) { +entry: + %t0 = alloca ptr + %t1 = alloca i32 + %t35 = alloca i32 + %t48 = alloca i32 + %t62 = alloca i32 + store ptr %arg_phase, ptr %t0 + store i32 0, ptr %t1 + br label %wcond0 +wcond0: + %t2 = load i32, ptr %t1 + %t3 = load ptr, ptr @g_g_esys_comp + %t4 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 1 + %t5 = load i32, ptr %t4 + %t6 = icmp slt i32 %t2, %t5 + %t7 = zext i1 %t6 to i32 + %t8 = icmp ne i32 %t7, 0 + br i1 %t8, label %wbody1, label %wend2 +wbody1: + %t9 = load ptr, ptr @g_g_esys_phase + %t10 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0 + %t11 = load ptr, ptr %t10 + %t12 = load i32, ptr %t1 + %t13 = getelementptr inbounds ptr, ptr %t11, i32 %t12 + %t14 = load ptr, ptr %t13 + %t15 = load ptr, ptr %t0 + %t16 = call i32 @lp_str_eq(ptr %t14, ptr %t15) + %t17 = icmp ne i32 %t16, 0 + br i1 %t17, label %then3, label %ifend5 +then3: + %t18 = load ptr, ptr @g_g_esys_comp + %t19 = getelementptr inbounds %LSlice, ptr %t18, i32 0, i32 0 + %t20 = load ptr, ptr %t19 + %t21 = load i32, ptr %t1 + %t22 = getelementptr inbounds ptr, ptr %t20, i32 %t21 + %t23 = load ptr, ptr %t22 + %t24 = load ptr, ptr @g_g_esys_fn + %t25 = getelementptr inbounds %LSlice, ptr %t24, i32 0, i32 0 + %t26 = load ptr, ptr %t25 + %t27 = load i32, ptr %t1 + %t28 = getelementptr inbounds ptr, ptr %t26, i32 %t27 + %t29 = load ptr, ptr %t28 + call void @fn_emit_one_engine_system(ptr %t23, ptr %t29) + br label %ifend5 +ifend5: + %t30 = load i32, ptr %t1 + %t31 = add i32 %t30, 1 + store i32 %t31, ptr %t1 + br label %wcond0 +wend2: + %t32 = load ptr, ptr %t0 + %t33 = call i32 @lp_str_eq(ptr %t32, ptr @.str9558) + %t34 = icmp ne i32 %t33, 0 + br i1 %t34, label %then6, label %ifend8 +then6: + %t36 = load i32, ptr @g_g_uses_tween_rt + %t37 = icmp ne i32 %t36, 0 + %t38 = zext i1 %t37 to i32 + store i32 %t38, ptr %t35 + br i1 %t37, label %sc9, label %scend10 +sc9: + %t39 = call ptr @fn_find_fn(ptr @.str9559) + %t40 = icmp ne ptr %t39, null + %t41 = zext i1 %t40 to i32 + %t42 = icmp ne i32 %t41, 0 + %t43 = zext i1 %t42 to i32 + store i32 %t43, ptr %t35 + br label %scend10 +scend10: + %t44 = load i32, ptr %t35 + %t45 = icmp ne i32 %t44, 0 + br i1 %t45, label %then11, label %ifend13 +then11: + call void @fn_emit(ptr @.str9560) + br label %ifend13 +ifend13: + %t46 = call i32 @fn_has_countdowns() + %t47 = icmp ne i32 %t46, 0 + br i1 %t47, label %then14, label %ifend16 +then14: + call void @fn_emit(ptr @.str9561) + br label %ifend16 +ifend16: + %t49 = load i32, ptr @g_g_uses_fx + %t50 = icmp ne i32 %t49, 0 + %t51 = zext i1 %t50 to i32 + store i32 %t51, ptr %t48 + br i1 %t50, label %sc17, label %scend18 +sc17: + %t52 = call ptr @fn_find_fn(ptr @.str9562) + %t53 = icmp ne ptr %t52, null + %t54 = zext i1 %t53 to i32 + %t55 = icmp ne i32 %t54, 0 + %t56 = zext i1 %t55 to i32 + store i32 %t56, ptr %t48 + br label %scend18 +scend18: + %t57 = load i32, ptr %t48 + %t58 = icmp ne i32 %t57, 0 + br i1 %t58, label %then19, label %ifend21 +then19: + call void @fn_emit(ptr @.str9563) + br label %ifend21 +ifend21: + br label %ifend8 +ifend8: + %t59 = load ptr, ptr %t0 + %t60 = call i32 @lp_str_eq(ptr %t59, ptr @.str9564) + %t61 = icmp ne i32 %t60, 0 + br i1 %t61, label %then22, label %ifend24 +then22: + %t63 = load i32, ptr @g_g_uses_fx + %t64 = icmp ne i32 %t63, 0 + %t65 = zext i1 %t64 to i32 + store i32 %t65, ptr %t62 + br i1 %t64, label %sc25, label %scend26 +sc25: + %t66 = call ptr @fn_find_fn(ptr @.str9565) + %t67 = icmp ne ptr %t66, null + %t68 = zext i1 %t67 to i32 + %t69 = icmp ne i32 %t68, 0 + %t70 = zext i1 %t69 to i32 + store i32 %t70, ptr %t62 + br label %scend26 +scend26: + %t71 = load i32, ptr %t62 + %t72 = icmp ne i32 %t71, 0 + br i1 %t72, label %then27, label %ifend29 +then27: + call void @fn_emit(ptr @.str9566) + br label %ifend29 +ifend29: + br label %ifend24 +ifend24: + br label %ret +ret: + ret void +} + +define void @fn_emit_countdown_system() { +entry: + %t1 = alloca ptr + %t3 = alloca i32 + %t4 = alloca i32 + %t18 = alloca ptr + %t25 = alloca i32 + %t26 = alloca i32 + %t54 = alloca ptr + %t58 = alloca ptr + %t107 = alloca ptr + %t0 = call ptr @fn_itoa(i32 1024) + store ptr %t0, ptr %t1 + call void @fn_emit(ptr @.str9567) + call void @fn_emit(ptr @.str9568) + call void @fn_emit(ptr @.str9569) + call void @fn_emit(ptr @.str9570) + call void @fn_emit(ptr @.str9571) + %t2 = load ptr, ptr %t1 + call void @fn_emit(ptr %t2) + call void @fn_emit(ptr @.str9572) + call void @fn_emit(ptr @.str9573) + store i32 0, ptr %t3 + store i32 0, ptr %t4 + br label %wcond0 +wcond0: + %t5 = load i32, ptr %t4 + %t6 = load ptr, ptr @g_prog + %t7 = getelementptr inbounds %LSlice, ptr %t6, i32 0, i32 1 + %t8 = load i32, ptr %t7 + %t9 = icmp slt i32 %t5, %t8 + %t10 = zext i1 %t9 to i32 + %t11 = icmp ne i32 %t10, 0 + br i1 %t11, label %wbody1, label %wend2 +wbody1: + %t12 = load ptr, ptr @g_prog + %t13 = getelementptr inbounds %LSlice, ptr %t12, i32 0, i32 0 + %t14 = load ptr, ptr %t13 + %t15 = load i32, ptr %t4 + %t16 = getelementptr inbounds ptr, ptr %t14, i32 %t15 + %t17 = load ptr, ptr %t16 + store ptr %t17, ptr %t18 + %t19 = load ptr, ptr %t18 + %t20 = getelementptr inbounds %Cmp_Node, ptr %t19, i32 0, i32 0 + %t21 = load i32, ptr %t20 + %t22 = icmp eq i32 %t21, 8 + %t23 = zext i1 %t22 to i32 + %t24 = icmp ne i32 %t23, 0 + br i1 %t24, label %then3, label %ifend5 +then3: + store i32 0, ptr %t25 + store i32 0, ptr %t26 + br label %wcond6 +wcond6: + %t27 = load i32, ptr %t26 + %t28 = load ptr, ptr %t18 + %t29 = getelementptr inbounds %Cmp_Node, ptr %t28, i32 0, i32 7 + %t30 = load ptr, ptr %t29 + %t31 = getelementptr inbounds %LSlice, ptr %t30, i32 0, i32 1 + %t32 = load i32, ptr %t31 + %t33 = icmp slt i32 %t27, %t32 + %t34 = zext i1 %t33 to i32 + %t35 = icmp ne i32 %t34, 0 + br i1 %t35, label %wbody7, label %wend8 +wbody7: + %t36 = load ptr, ptr %t18 + %t37 = getelementptr inbounds %Cmp_Node, ptr %t36, i32 0, i32 7 + %t38 = load ptr, ptr %t37 + %t39 = getelementptr inbounds %LSlice, ptr %t38, i32 0, i32 0 + %t40 = load ptr, ptr %t39 + %t41 = load i32, ptr %t26 + %t42 = getelementptr inbounds ptr, ptr %t40, i32 %t41 + %t43 = load ptr, ptr %t42 + %t44 = getelementptr inbounds %Cmp_Node, ptr %t43, i32 0, i32 3 + %t45 = load ptr, ptr %t44 + %t46 = call i32 @lp_str_eq(ptr %t45, ptr @.str9574) + %t47 = icmp ne i32 %t46, 0 + br i1 %t47, label %then9, label %ifend11 +then9: + store i32 1, ptr %t25 + br label %ifend11 +ifend11: + %t48 = load i32, ptr %t26 + %t49 = add i32 %t48, 1 + store i32 %t49, ptr %t26 + br label %wcond6 +wend8: + %t50 = load i32, ptr %t25 + %t51 = icmp ne i32 %t50, 0 + br i1 %t51, label %then12, label %ifend14 +then12: + %t52 = load i32, ptr %t3 + %t53 = call ptr @fn_itoa(i32 %t52) + store ptr %t53, ptr %t54 + %t55 = load i32, ptr %t3 + %t56 = add i32 %t55, 1 + %t57 = call ptr @fn_itoa(i32 %t56) + store ptr %t57, ptr %t58 + call void @fn_emit(ptr @.str9575) + %t59 = load ptr, ptr %t54 + call void @fn_emit(ptr %t59) + call void @fn_emit(ptr @.str9576) + call void @fn_emit(ptr @.str9577) + %t60 = load ptr, ptr %t54 + call void @fn_emit(ptr %t60) + call void @fn_emit(ptr @.str9578) + %t61 = load ptr, ptr %t1 + call void @fn_emit(ptr %t61) + call void @fn_emit(ptr @.str9579) + %t62 = load ptr, ptr %t18 + %t63 = getelementptr inbounds %Cmp_Node, ptr %t62, i32 0, i32 1 + %t64 = load ptr, ptr %t63 + call void @fn_emit(ptr %t64) + call void @fn_emit(ptr @.str9580) + call void @fn_emit(ptr @.str9581) + %t65 = load ptr, ptr %t54 + call void @fn_emit(ptr %t65) + call void @fn_emit(ptr @.str9582) + %t66 = load ptr, ptr %t54 + call void @fn_emit(ptr %t66) + call void @fn_emit(ptr @.str9583) + call void @fn_emit(ptr @.str9584) + %t67 = load ptr, ptr %t54 + call void @fn_emit(ptr %t67) + call void @fn_emit(ptr @.str9585) + %t68 = load ptr, ptr %t54 + call void @fn_emit(ptr %t68) + call void @fn_emit(ptr @.str9586) + call void @fn_emit(ptr @.str9587) + %t69 = load ptr, ptr %t54 + call void @fn_emit(ptr %t69) + call void @fn_emit(ptr @.str9588) + %t70 = load ptr, ptr %t54 + call void @fn_emit(ptr %t70) + call void @fn_emit(ptr @.str9589) + %t71 = load ptr, ptr %t58 + call void @fn_emit(ptr %t71) + call void @fn_emit(ptr @.str9590) + call void @fn_emit(ptr @.str9591) + %t72 = load ptr, ptr %t54 + call void @fn_emit(ptr %t72) + call void @fn_emit(ptr @.str9592) + call void @fn_emit(ptr @.str9593) + %t73 = load ptr, ptr %t54 + call void @fn_emit(ptr %t73) + call void @fn_emit(ptr @.str9594) + %t74 = load ptr, ptr %t1 + call void @fn_emit(ptr %t74) + call void @fn_emit(ptr @.str9595) + %t75 = load ptr, ptr %t18 + %t76 = getelementptr inbounds %Cmp_Node, ptr %t75, i32 0, i32 1 + %t77 = load ptr, ptr %t76 + call void @fn_emit(ptr %t77) + call void @fn_emit(ptr @.str9596) + %t78 = load ptr, ptr %t18 + %t79 = getelementptr inbounds %Cmp_Node, ptr %t78, i32 0, i32 1 + %t80 = load ptr, ptr %t79 + call void @fn_emit(ptr %t80) + call void @fn_emit(ptr @.str9597) + store i32 0, ptr %t26 + br label %wcond15 +wcond15: + %t81 = load i32, ptr %t26 + %t82 = load ptr, ptr %t18 + %t83 = getelementptr inbounds %Cmp_Node, ptr %t82, i32 0, i32 7 + %t84 = load ptr, ptr %t83 + %t85 = getelementptr inbounds %LSlice, ptr %t84, i32 0, i32 1 + %t86 = load i32, ptr %t85 + %t87 = icmp slt i32 %t81, %t86 + %t88 = zext i1 %t87 to i32 + %t89 = icmp ne i32 %t88, 0 + br i1 %t89, label %wbody16, label %wend17 +wbody16: + %t90 = load ptr, ptr %t18 + %t91 = getelementptr inbounds %Cmp_Node, ptr %t90, i32 0, i32 7 + %t92 = load ptr, ptr %t91 + %t93 = getelementptr inbounds %LSlice, ptr %t92, i32 0, i32 0 + %t94 = load ptr, ptr %t93 + %t95 = load i32, ptr %t26 + %t96 = getelementptr inbounds ptr, ptr %t94, i32 %t95 + %t97 = load ptr, ptr %t96 + %t98 = getelementptr inbounds %Cmp_Node, ptr %t97, i32 0, i32 3 + %t99 = load ptr, ptr %t98 + %t100 = call i32 @lp_str_eq(ptr %t99, ptr @.str9598) + %t101 = icmp ne i32 %t100, 0 + br i1 %t101, label %then18, label %ifend20 +then18: + %t102 = load ptr, ptr %t54 + %t103 = call ptr @lp_str_concat(ptr %t102, ptr @.str9599) + %t104 = load i32, ptr %t26 + %t105 = call ptr @fn_itoa(i32 %t104) + %t106 = call ptr @lp_str_concat(ptr %t103, ptr %t105) + store ptr %t106, ptr %t107 + call void @fn_emit(ptr @.str9600) + %t108 = load ptr, ptr %t107 + call void @fn_emit(ptr %t108) + call void @fn_emit(ptr @.str9601) + %t109 = load ptr, ptr %t18 + %t110 = getelementptr inbounds %Cmp_Node, ptr %t109, i32 0, i32 1 + %t111 = load ptr, ptr %t110 + call void @fn_emit(ptr %t111) + call void @fn_emit(ptr @.str9602) + %t112 = load ptr, ptr %t54 + call void @fn_emit(ptr %t112) + call void @fn_emit(ptr @.str9603) + %t113 = load i32, ptr %t26 + %t114 = call ptr @fn_itoa(i32 %t113) + call void @fn_emit(ptr %t114) + call void @fn_emit(ptr @.str9604) + call void @fn_emit(ptr @.str9605) + %t115 = load ptr, ptr %t107 + call void @fn_emit(ptr %t115) + call void @fn_emit(ptr @.str9606) + %t116 = load ptr, ptr %t107 + call void @fn_emit(ptr %t116) + call void @fn_emit(ptr @.str9607) + call void @fn_emit(ptr @.str9608) + %t117 = load ptr, ptr %t107 + call void @fn_emit(ptr %t117) + call void @fn_emit(ptr @.str9609) + %t118 = load ptr, ptr %t107 + call void @fn_emit(ptr %t118) + call void @fn_emit(ptr @.str9610) + call void @fn_emit(ptr @.str9611) + %t119 = load ptr, ptr %t107 + call void @fn_emit(ptr %t119) + call void @fn_emit(ptr @.str9612) + %t120 = load ptr, ptr %t107 + call void @fn_emit(ptr %t120) + call void @fn_emit(ptr @.str9613) + call void @fn_emit(ptr @.str9614) + %t121 = load ptr, ptr %t107 + call void @fn_emit(ptr %t121) + call void @fn_emit(ptr @.str9615) + %t122 = load ptr, ptr %t107 + call void @fn_emit(ptr %t122) + call void @fn_emit(ptr @.str9616) + %t123 = load ptr, ptr %t107 + call void @fn_emit(ptr %t123) + call void @fn_emit(ptr @.str9617) + %t124 = load ptr, ptr %t107 + call void @fn_emit(ptr %t124) + call void @fn_emit(ptr @.str9618) + call void @fn_emit(ptr @.str9619) + %t125 = load ptr, ptr %t107 + call void @fn_emit(ptr %t125) + call void @fn_emit(ptr @.str9620) + %t126 = load ptr, ptr %t107 + call void @fn_emit(ptr %t126) + call void @fn_emit(ptr @.str9621) + br label %ifend20 +ifend20: + %t127 = load i32, ptr %t26 + %t128 = add i32 %t127, 1 + store i32 %t128, ptr %t26 + br label %wcond15 +wend17: + call void @fn_emit(ptr @.str9622) + %t129 = load ptr, ptr %t58 + call void @fn_emit(ptr %t129) + call void @fn_emit(ptr @.str9623) + %t130 = load i32, ptr %t3 + %t131 = add i32 %t130, 1 + store i32 %t131, ptr %t3 + br label %ifend14 +ifend14: + br label %ifend5 +ifend5: + %t132 = load i32, ptr %t4 + %t133 = add i32 %t132, 1 + store i32 %t133, ptr %t4 + br label %wcond0 +wend2: + call void @fn_emit(ptr @.str9624) + %t134 = load i32, ptr %t3 + %t135 = call ptr @fn_itoa(i32 %t134) + call void @fn_emit(ptr %t135) + call void @fn_emit(ptr @.str9625) + call void @fn_emit(ptr @.str9626) + br label %ret +ret: + ret void +} + +define void @fn_emit_prefab_fn(ptr %arg_pre) { +entry: + %t0 = alloca ptr + %t2 = alloca ptr + %t5 = alloca ptr + %t8 = alloca ptr + %t16 = alloca ptr + store ptr %arg_pre, ptr %t0 + store i32 0, ptr @g_ll_t + store i32 0, ptr @g_ll_lbl + store i32 0, ptr @g_g_term + call void @fn_loc_reset() + store i32 0, ptr @g_nloop + store i32 0, ptr @g_nself + store ptr null, ptr @g_g_cur_scene + store ptr @.str9627, ptr @g_ret_ty + %t1 = call ptr @fn_buf_new() + store ptr %t1, ptr %t2 + %t3 = call ptr @fn_buf_new() + store ptr %t3, ptr @g_falloc + %t4 = load ptr, ptr @g_code + store ptr %t4, ptr %t5 + %t6 = load ptr, ptr %t2 + store ptr %t6, ptr @g_code + %t7 = call ptr @fn_node(i32 22) + store ptr %t7, ptr %t8 + %t9 = load ptr, ptr %t8 + %t10 = getelementptr inbounds %Cmp_Node, ptr %t9, i32 0, i32 1 + %t11 = load ptr, ptr %t0 + %t12 = getelementptr inbounds %Cmp_Node, ptr %t11, i32 0, i32 1 + %t13 = load ptr, ptr %t12 + store ptr %t13, ptr %t10 + %t14 = load ptr, ptr %t8 + %t15 = call ptr @fn_emit_spawn(ptr %t14) + store ptr %t15, ptr %t16 + call void @fn_emit(ptr @.str9628) + %t17 = load ptr, ptr %t16 + call void @fn_emit(ptr %t17) + call void @fn_emit(ptr @.str9629) + %t18 = load ptr, ptr %t5 + store ptr %t18, ptr @g_code + call void @fn_emit(ptr @.str9630) + %t19 = load ptr, ptr %t0 + %t20 = getelementptr inbounds %Cmp_Node, ptr %t19, i32 0, i32 1 + %t21 = load ptr, ptr %t20 + call void @fn_emit(ptr %t21) + call void @fn_emit(ptr @.str9631) + %t22 = load ptr, ptr @g_falloc + %t23 = call ptr @fn_buf_str(ptr %t22) + call void @fn_emit(ptr %t23) + %t24 = load ptr, ptr %t2 + %t25 = call ptr @fn_buf_str(ptr %t24) + call void @fn_emit(ptr %t25) + call void @fn_emit(ptr @.str9632) + br label %ret +ret: + ret void +} + +define void @fn_emit_prefab_fns() { +entry: + %t0 = alloca i32 + %t28 = alloca ptr + %t31 = alloca ptr + %t46 = alloca ptr + %t54 = alloca ptr + %t62 = alloca ptr + %t69 = alloca ptr + %t74 = alloca ptr + %t76 = alloca ptr + %t78 = alloca ptr + %t89 = alloca ptr + store i32 0, ptr %t0 + br label %wcond0 +wcond0: + %t1 = load i32, ptr %t0 + %t2 = load ptr, ptr @g_prog + %t3 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 1 + %t4 = load i32, ptr %t3 + %t5 = icmp slt i32 %t1, %t4 + %t6 = zext i1 %t5 to i32 + %t7 = icmp ne i32 %t6, 0 + br i1 %t7, label %wbody1, label %wend2 +wbody1: + %t8 = load ptr, ptr @g_prog + %t9 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 0 + %t10 = load ptr, ptr %t9 + %t11 = load i32, ptr %t0 + %t12 = getelementptr inbounds ptr, ptr %t10, i32 %t11 + %t13 = load ptr, ptr %t12 + %t14 = getelementptr inbounds %Cmp_Node, ptr %t13, i32 0, i32 0 + %t15 = load i32, ptr %t14 + %t16 = icmp eq i32 %t15, 53 + %t17 = zext i1 %t16 to i32 + %t18 = icmp ne i32 %t17, 0 + br i1 %t18, label %then3, label %ifend5 +then3: + %t19 = load ptr, ptr @g_prog + %t20 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 0 + %t21 = load ptr, ptr %t20 + %t22 = load i32, ptr %t0 + %t23 = getelementptr inbounds ptr, ptr %t21, i32 %t22 + %t24 = load ptr, ptr %t23 + call void @fn_emit_prefab_fn(ptr %t24) + br label %ifend5 +ifend5: + %t25 = load i32, ptr %t0 + %t26 = add i32 %t25, 1 + store i32 %t26, ptr %t0 + br label %wcond0 +wend2: + store i32 1, ptr @g_g_uses_str + store i32 0, ptr @g_ll_t + store i32 0, ptr @g_ll_lbl + store i32 0, ptr @g_g_term + call void @fn_loc_reset() + store i32 0, ptr @g_nloop + store i32 0, ptr @g_nself + %t27 = call ptr @fn_buf_new() + store ptr %t27, ptr %t28 + %t29 = call ptr @fn_buf_new() + store ptr %t29, ptr @g_falloc + %t30 = load ptr, ptr @g_code + store ptr %t30, ptr %t31 + %t32 = load ptr, ptr %t28 + store ptr %t32, ptr @g_code + store i32 0, ptr %t0 + br label %wcond6 +wcond6: + %t33 = load i32, ptr %t0 + %t34 = load ptr, ptr @g_prog + %t35 = getelementptr inbounds %LSlice, ptr %t34, i32 0, i32 1 + %t36 = load i32, ptr %t35 + %t37 = icmp slt i32 %t33, %t36 + %t38 = zext i1 %t37 to i32 + %t39 = icmp ne i32 %t38, 0 + br i1 %t39, label %wbody7, label %wend8 +wbody7: + %t40 = load ptr, ptr @g_prog + %t41 = getelementptr inbounds %LSlice, ptr %t40, i32 0, i32 0 + %t42 = load ptr, ptr %t41 + %t43 = load i32, ptr %t0 + %t44 = getelementptr inbounds ptr, ptr %t42, i32 %t43 + %t45 = load ptr, ptr %t44 + store ptr %t45, ptr %t46 + %t47 = load ptr, ptr %t46 + %t48 = getelementptr inbounds %Cmp_Node, ptr %t47, i32 0, i32 0 + %t49 = load i32, ptr %t48 + %t50 = icmp eq i32 %t49, 53 + %t51 = zext i1 %t50 to i32 + %t52 = icmp ne i32 %t51, 0 + br i1 %t52, label %then9, label %ifend11 +then9: + %t53 = call ptr @fn_node(i32 31) + store ptr %t53, ptr %t54 + %t55 = load ptr, ptr %t54 + %t56 = getelementptr inbounds %Cmp_Node, ptr %t55, i32 0, i32 1 + %t57 = load ptr, ptr %t46 + %t58 = getelementptr inbounds %Cmp_Node, ptr %t57, i32 0, i32 1 + %t59 = load ptr, ptr %t58 + store ptr %t59, ptr %t56 + %t60 = load ptr, ptr %t54 + %t61 = call ptr @fn_emit_expr(ptr %t60) + store ptr %t61, ptr %t62 + %t63 = load ptr, ptr %t62 + %t64 = getelementptr inbounds %Cmp_Val, ptr %t63, i32 0, i32 0 + %t65 = load ptr, ptr %t64 + %t66 = call ptr @lp_str_concat(ptr @.str9633, ptr %t65) + %t67 = call ptr @lp_str_concat(ptr %t66, ptr @.str9634) + %t68 = call ptr @fn_emit_bind(ptr %t67) + store ptr %t68, ptr %t69 + %t70 = load ptr, ptr %t69 + %t71 = call ptr @lp_str_concat(ptr @.str9635, ptr %t70) + %t72 = call ptr @lp_str_concat(ptr %t71, ptr @.str9636) + %t73 = call ptr @fn_emit_bind(ptr %t72) + store ptr %t73, ptr %t74 + %t75 = call ptr @fn_lbl(ptr @.str9637) + store ptr %t75, ptr %t76 + %t77 = call ptr @fn_lbl(ptr @.str9638) + store ptr %t77, ptr %t78 + call void @fn_emit(ptr @.str9639) + %t79 = load ptr, ptr %t74 + call void @fn_emit(ptr %t79) + call void @fn_emit(ptr @.str9640) + %t80 = load ptr, ptr %t76 + call void @fn_emit(ptr %t80) + call void @fn_emit(ptr @.str9641) + %t81 = load ptr, ptr %t78 + call void @fn_emit(ptr %t81) + call void @fn_emit(ptr @.str9642) + %t82 = load ptr, ptr %t76 + call void @fn_emit(ptr %t82) + call void @fn_emit(ptr @.str9643) + %t83 = load ptr, ptr %t46 + %t84 = getelementptr inbounds %Cmp_Node, ptr %t83, i32 0, i32 1 + %t85 = load ptr, ptr %t84 + %t86 = call ptr @lp_str_concat(ptr @.str9644, ptr %t85) + %t87 = call ptr @lp_str_concat(ptr %t86, ptr @.str9645) + %t88 = call ptr @fn_emit_bind(ptr %t87) + store ptr %t88, ptr %t89 + call void @fn_emit(ptr @.str9646) + %t90 = load ptr, ptr %t89 + call void @fn_emit(ptr %t90) + call void @fn_emit(ptr @.str9647) + %t91 = load ptr, ptr %t78 + call void @fn_emit(ptr %t91) + call void @fn_emit(ptr @.str9648) + br label %ifend11 +ifend11: + %t92 = load i32, ptr %t0 + %t93 = add i32 %t92, 1 + store i32 %t93, ptr %t0 + br label %wcond6 +wend8: + call void @fn_emit(ptr @.str9649) + %t94 = load ptr, ptr %t31 + store ptr %t94, ptr @g_code + call void @fn_emit(ptr @.str9650) + %t95 = load ptr, ptr @g_falloc + %t96 = call ptr @fn_buf_str(ptr %t95) + call void @fn_emit(ptr %t96) + %t97 = load ptr, ptr %t28 + %t98 = call ptr @fn_buf_str(ptr %t97) + call void @fn_emit(ptr %t98) + call void @fn_emit(ptr @.str9651) + br label %ret +ret: + ret void +} + +define i32 @fn_phase_id(ptr %arg_phase) { +entry: + %retval = alloca i32 + %t0 = alloca ptr + store ptr %arg_phase, ptr %t0 + %t1 = load ptr, ptr %t0 + %t2 = call i32 @lp_str_eq(ptr %t1, ptr @.str9652) + %t3 = icmp ne i32 %t2, 0 + br i1 %t3, label %then0, label %ifend2 +then0: + store i32 0, ptr %retval + br label %ret +ifend2: + %t4 = load ptr, ptr %t0 + %t5 = call i32 @lp_str_eq(ptr %t4, ptr @.str9653) + %t6 = icmp ne i32 %t5, 0 + br i1 %t6, label %then3, label %ifend5 +then3: + store i32 1, ptr %retval + br label %ret +ifend5: + %t7 = load ptr, ptr %t0 + %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str9654) + %t9 = icmp ne i32 %t8, 0 + br i1 %t9, label %then6, label %ifend8 +then6: + store i32 2, ptr %retval + br label %ret +ifend8: + %t10 = load ptr, ptr %t0 + %t11 = call i32 @lp_str_eq(ptr %t10, ptr @.str9655) + %t12 = icmp ne i32 %t11, 0 + br i1 %t12, label %then9, label %ifend11 +then9: + store i32 3, ptr %retval + br label %ret +ifend11: + %t13 = load ptr, ptr %t0 + %t14 = call i32 @lp_str_eq(ptr %t13, ptr @.str9656) + %t15 = icmp ne i32 %t14, 0 + br i1 %t15, label %then12, label %ifend14 +then12: + store i32 4, ptr %retval + br label %ret +ifend14: + %t16 = load ptr, ptr %t0 + %t17 = call i32 @lp_str_eq(ptr %t16, ptr @.str9657) + %t18 = icmp ne i32 %t17, 0 + br i1 %t18, label %then15, label %ifend17 +then15: + store i32 5, ptr %retval + br label %ret +ifend17: + %t19 = load ptr, ptr %t0 + %t20 = call i32 @lp_str_eq(ptr %t19, ptr @.str9658) + %t21 = icmp ne i32 %t20, 0 + br i1 %t21, label %then18, label %ifend20 +then18: + store i32 6, ptr %retval + br label %ret +ifend20: + %t22 = load ptr, ptr %t0 + %t23 = call i32 @lp_str_eq(ptr %t22, ptr @.str9659) + %t24 = icmp ne i32 %t23, 0 + br i1 %t24, label %then21, label %ifend23 +then21: + store i32 7, ptr %retval + br label %ret +ifend23: + %t25 = load ptr, ptr %t0 + %t26 = call ptr @lp_str_concat(ptr @.str9660, ptr %t25) + %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str9661) + call void @fn_perr(ptr %t27) + store i32 7, ptr %retval + br label %ret +ret: + %t28 = load i32, ptr %retval + ret i32 %t28 +} + +define i32 @fn_is_phase_name(ptr %arg_name) { +entry: + %retval = alloca i32 + %t0 = alloca ptr + %t1 = alloca i32 + %t2 = alloca i32 + %t3 = alloca i32 + %t28 = alloca i32 + %t29 = alloca i32 + store ptr %arg_name, ptr %t0 + %t4 = load ptr, ptr %t0 + %t5 = call i32 @lp_str_eq(ptr %t4, ptr @.str9662) + %t6 = icmp ne i32 %t5, 0 + %t7 = zext i1 %t6 to i32 + store i32 %t7, ptr %t3 + br i1 %t6, label %scend1, label %sc0 +sc0: + %t8 = load ptr, ptr %t0 + %t9 = call i32 @lp_str_eq(ptr %t8, ptr @.str9663) + %t10 = icmp ne i32 %t9, 0 + %t11 = zext i1 %t10 to i32 + store i32 %t11, ptr %t3 + br label %scend1 +scend1: + %t12 = load i32, ptr %t3 + %t13 = icmp ne i32 %t12, 0 + %t14 = zext i1 %t13 to i32 + store i32 %t14, ptr %t2 + br i1 %t13, label %scend3, label %sc2 +sc2: + %t15 = load ptr, ptr %t0 + %t16 = call i32 @lp_str_eq(ptr %t15, ptr @.str9664) + %t17 = icmp ne i32 %t16, 0 + %t18 = zext i1 %t17 to i32 + store i32 %t18, ptr %t2 + br label %scend3 +scend3: + %t19 = load i32, ptr %t2 + %t20 = icmp ne i32 %t19, 0 + %t21 = zext i1 %t20 to i32 + store i32 %t21, ptr %t1 + br i1 %t20, label %scend5, label %sc4 +sc4: + %t22 = load ptr, ptr %t0 + %t23 = call i32 @lp_str_eq(ptr %t22, ptr @.str9665) + %t24 = icmp ne i32 %t23, 0 + %t25 = zext i1 %t24 to i32 + store i32 %t25, ptr %t1 + br label %scend5 +scend5: + %t26 = load i32, ptr %t1 + %t27 = icmp ne i32 %t26, 0 + br i1 %t27, label %then6, label %ifend8 +then6: + store i32 1, ptr %retval + br label %ret +ifend8: + %t30 = load ptr, ptr %t0 + %t31 = call i32 @lp_str_eq(ptr %t30, ptr @.str9666) + %t32 = icmp ne i32 %t31, 0 + %t33 = zext i1 %t32 to i32 + store i32 %t33, ptr %t29 + br i1 %t32, label %scend10, label %sc9 +sc9: + %t34 = load ptr, ptr %t0 + %t35 = call i32 @lp_str_eq(ptr %t34, ptr @.str9667) + %t36 = icmp ne i32 %t35, 0 + %t37 = zext i1 %t36 to i32 + store i32 %t37, ptr %t29 + br label %scend10 +scend10: + %t38 = load i32, ptr %t29 + %t39 = icmp ne i32 %t38, 0 + %t40 = zext i1 %t39 to i32 + store i32 %t40, ptr %t28 + br i1 %t39, label %scend12, label %sc11 +sc11: + %t41 = load ptr, ptr %t0 + %t42 = call i32 @lp_str_eq(ptr %t41, ptr @.str9668) + %t43 = icmp ne i32 %t42, 0 + %t44 = zext i1 %t43 to i32 + store i32 %t44, ptr %t28 + br label %scend12 +scend12: + %t45 = load i32, ptr %t28 + %t46 = icmp ne i32 %t45, 0 + br i1 %t46, label %then13, label %ifend15 +then13: + store i32 1, ptr %retval + br label %ret +ifend15: + store i32 0, ptr %retval + br label %ret +ret: + %t47 = load i32, ptr %retval + ret i32 %t47 +} + +define void @fn_emit_module_glue() { +entry: + %t4 = alloca i32 + call void @fn_emith(ptr @.str9669) + call void @fn_emith(ptr @.str9670) + call void @fn_emith(ptr @.str9671) + call void @fn_emith(ptr @.str9672) + call void @fn_emith(ptr @.str9673) + call void @fn_emith(ptr @.str9674) + call void @fn_emith(ptr @.str9675) + call void @fn_emith(ptr @.str9676) + call void @fn_emith(ptr @.str9677) + call void @fn_emith(ptr @.str9678) + call void @fn_emith(ptr @.str9679) + call void @fn_emith(ptr @.str9680) + call void @fn_emith(ptr @.str9681) + call void @fn_emith(ptr @.str9682) + call void @fn_emith(ptr @.str9683) + call void @fn_emith(ptr @.str9684) + call void @fn_emith(ptr @.str9685) + call void @fn_emith(ptr @.str9686) + call void @fn_emith(ptr @.str9687) + call void @fn_emit(ptr @.str9688) + %t0 = call ptr @fn_find_fn(ptr @.str9689) + %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 @.str9690) + br label %ifend2 +ifend2: + store i32 0, ptr %t4 + br label %wcond3 +wcond3: + %t5 = load i32, ptr %t4 + %t6 = load ptr, ptr @g_g_mod_sys_fn + %t7 = getelementptr inbounds %LSlice, ptr %t6, i32 0, i32 1 + %t8 = load i32, ptr %t7 + %t9 = icmp slt i32 %t5, %t8 + %t10 = zext i1 %t9 to i32 + %t11 = icmp ne i32 %t10, 0 + br i1 %t11, label %wbody4, label %wend5 +wbody4: + call void @fn_emit(ptr @.str9691) + %t12 = load ptr, ptr @g_g_mod_sys_fn + %t13 = getelementptr inbounds %LSlice, ptr %t12, i32 0, i32 0 + %t14 = load ptr, ptr %t13 + %t15 = load i32, ptr %t4 + %t16 = getelementptr inbounds ptr, ptr %t14, i32 %t15 + %t17 = load ptr, ptr %t16 + call void @fn_emit(ptr %t17) + call void @fn_emit(ptr @.str9692) + %t18 = load ptr, ptr @g_g_mod_sys_phase + %t19 = getelementptr inbounds %LSlice, ptr %t18, i32 0, i32 0 + %t20 = load ptr, ptr %t19 + %t21 = load i32, ptr %t4 + %t22 = getelementptr inbounds ptr, ptr %t20, i32 %t21 + %t23 = load ptr, ptr %t22 + %t24 = call i32 @fn_phase_id(ptr %t23) + %t25 = call ptr @fn_itoa(i32 %t24) + call void @fn_emit(ptr %t25) + call void @fn_emit(ptr @.str9693) + %t26 = load i32, ptr %t4 + %t27 = add i32 %t26, 1 + store i32 %t27, ptr %t4 + br label %wcond3 +wend5: + call void @fn_emit(ptr @.str9694) + call void @fn_emith(ptr @.str9695) + br label %ret +ret: + ret void +} + +define void @fn_emit_system_registry() { +entry: + %t1 = alloca ptr + %t0 = call ptr @fn_itoa(i32 64) + store ptr %t0, ptr %t1 + call void @fn_emith(ptr @.str9696) + %t2 = load ptr, ptr %t1 + call void @fn_emith(ptr %t2) + call void @fn_emith(ptr @.str9697) + call void @fn_emith(ptr @.str9698) + %t3 = load ptr, ptr %t1 + call void @fn_emith(ptr %t3) + call void @fn_emith(ptr @.str9699) + call void @fn_emith(ptr @.str9700) + call void @fn_emit(ptr @.str9701) + call void @fn_emit(ptr @.str9702) + call void @fn_emit(ptr @.str9703) + %t4 = load ptr, ptr %t1 + call void @fn_emit(ptr %t4) + call void @fn_emit(ptr @.str9704) + call void @fn_emit(ptr @.str9705) + call void @fn_emit(ptr @.str9706) + call void @fn_emit(ptr @.str9707) + %t5 = load ptr, ptr %t1 + call void @fn_emit(ptr %t5) + call void @fn_emit(ptr @.str9708) + call void @fn_emit(ptr @.str9709) + call void @fn_emit(ptr @.str9710) + %t6 = load ptr, ptr %t1 + call void @fn_emit(ptr %t6) + call void @fn_emit(ptr @.str9711) + call void @fn_emit(ptr @.str9712) + call void @fn_emit(ptr @.str9713) + call void @fn_emit(ptr @.str9714) + br label %ret +ret: + ret void +} + +define void @fn_emit_dyn_systems_for_phase(ptr %arg_phase) { +entry: + %t0 = alloca ptr + %t2 = alloca ptr + %t6 = alloca ptr + %t8 = alloca ptr + %t10 = alloca ptr + %t12 = alloca ptr + %t14 = alloca ptr + %t16 = alloca ptr + %t18 = alloca ptr + %t20 = alloca ptr + %t22 = alloca ptr + %t32 = alloca ptr + %t39 = alloca ptr + %t45 = alloca ptr + %t52 = alloca ptr + %t59 = alloca ptr + %t65 = alloca ptr + %t72 = alloca ptr + store ptr %arg_phase, ptr %t0 + %t1 = call ptr @fn_itoa(i32 64) + store ptr %t1, ptr %t2 + %t3 = load ptr, ptr %t0 + %t4 = call i32 @fn_phase_id(ptr %t3) + %t5 = call ptr @fn_itoa(i32 %t4) + store ptr %t5, ptr %t6 + %t7 = call ptr @fn_nreg() + store ptr %t7, ptr %t8 + %t9 = call ptr @fn_nreg() + store ptr %t9, ptr %t10 + %t11 = call ptr @fn_lbl(ptr @.str9715) + store ptr %t11, ptr %t12 + %t13 = call ptr @fn_lbl(ptr @.str9716) + store ptr %t13, ptr %t14 + %t15 = call ptr @fn_lbl(ptr @.str9717) + store ptr %t15, ptr %t16 + %t17 = call ptr @fn_lbl(ptr @.str9718) + store ptr %t17, ptr %t18 + %t19 = call ptr @fn_lbl(ptr @.str9719) + store ptr %t19, ptr %t20 + %t21 = call ptr @fn_lbl(ptr @.str9720) + store ptr %t21, ptr %t22 + call void @fn_emit(ptr @.str9721) + %t23 = load ptr, ptr %t12 + call void @fn_emit(ptr %t23) + call void @fn_emit(ptr @.str9722) + %t24 = load ptr, ptr %t12 + call void @fn_emit(ptr %t24) + call void @fn_emit(ptr @.str9723) + %t25 = load ptr, ptr %t14 + call void @fn_emit(ptr %t25) + call void @fn_emit(ptr @.str9724) + %t26 = load ptr, ptr %t14 + call void @fn_emit(ptr %t26) + call void @fn_emit(ptr @.str9725) + call void @fn_emit(ptr @.str9726) + %t27 = load ptr, ptr %t8 + call void @fn_emit(ptr %t27) + call void @fn_emit(ptr @.str9727) + %t28 = load ptr, ptr %t12 + call void @fn_emit(ptr %t28) + call void @fn_emit(ptr @.str9728) + %t29 = load ptr, ptr %t10 + call void @fn_emit(ptr %t29) + call void @fn_emit(ptr @.str9729) + %t30 = load ptr, ptr %t20 + call void @fn_emit(ptr %t30) + call void @fn_emit(ptr @.str9730) + %t31 = call ptr @fn_emit_bind(ptr @.str9731) + store ptr %t31, ptr %t32 + %t33 = load ptr, ptr %t8 + %t34 = call ptr @lp_str_concat(ptr @.str9732, ptr %t33) + %t35 = call ptr @lp_str_concat(ptr %t34, ptr @.str9733) + %t36 = load ptr, ptr %t32 + %t37 = call ptr @lp_str_concat(ptr %t35, ptr %t36) + %t38 = call ptr @fn_emit_bind(ptr %t37) + store ptr %t38, ptr %t39 + call void @fn_emit(ptr @.str9734) + %t40 = load ptr, ptr %t39 + call void @fn_emit(ptr %t40) + call void @fn_emit(ptr @.str9735) + %t41 = load ptr, ptr %t16 + call void @fn_emit(ptr %t41) + call void @fn_emit(ptr @.str9736) + %t42 = load ptr, ptr %t22 + call void @fn_emit(ptr %t42) + call void @fn_emit(ptr @.str9737) + %t43 = load ptr, ptr %t16 + call void @fn_emit(ptr %t43) + call void @fn_emit(ptr @.str9738) + %t44 = call ptr @fn_nreg() + store ptr %t44, ptr %t45 + call void @fn_emit(ptr @.str9739) + %t46 = load ptr, ptr %t45 + call void @fn_emit(ptr %t46) + call void @fn_emit(ptr @.str9740) + %t47 = load ptr, ptr %t2 + call void @fn_emit(ptr %t47) + call void @fn_emit(ptr @.str9741) + %t48 = load ptr, ptr %t8 + call void @fn_emit(ptr %t48) + call void @fn_emit(ptr @.str9742) + %t49 = load ptr, ptr %t45 + %t50 = call ptr @lp_str_concat(ptr @.str9743, ptr %t49) + %t51 = call ptr @fn_emit_bind(ptr %t50) + store ptr %t51, ptr %t52 + %t53 = load ptr, ptr %t52 + %t54 = call ptr @lp_str_concat(ptr @.str9744, ptr %t53) + %t55 = call ptr @lp_str_concat(ptr %t54, ptr @.str9745) + %t56 = load ptr, ptr %t6 + %t57 = call ptr @lp_str_concat(ptr %t55, ptr %t56) + %t58 = call ptr @fn_emit_bind(ptr %t57) + store ptr %t58, ptr %t59 + call void @fn_emit(ptr @.str9746) + %t60 = load ptr, ptr %t59 + call void @fn_emit(ptr %t60) + call void @fn_emit(ptr @.str9747) + %t61 = load ptr, ptr %t18 + call void @fn_emit(ptr %t61) + call void @fn_emit(ptr @.str9748) + %t62 = load ptr, ptr %t20 + call void @fn_emit(ptr %t62) + call void @fn_emit(ptr @.str9749) + %t63 = load ptr, ptr %t18 + call void @fn_emit(ptr %t63) + call void @fn_emit(ptr @.str9750) + %t64 = call ptr @fn_nreg() + store ptr %t64, ptr %t65 + call void @fn_emit(ptr @.str9751) + %t66 = load ptr, ptr %t65 + call void @fn_emit(ptr %t66) + call void @fn_emit(ptr @.str9752) + %t67 = load ptr, ptr %t2 + call void @fn_emit(ptr %t67) + call void @fn_emit(ptr @.str9753) + %t68 = load ptr, ptr %t8 + call void @fn_emit(ptr %t68) + call void @fn_emit(ptr @.str9754) + %t69 = load ptr, ptr %t65 + %t70 = call ptr @lp_str_concat(ptr @.str9755, ptr %t69) + %t71 = call ptr @fn_emit_bind(ptr %t70) + store ptr %t71, ptr %t72 + call void @fn_emit(ptr @.str9756) + %t73 = load ptr, ptr %t72 + call void @fn_emit(ptr %t73) + call void @fn_emit(ptr @.str9757) + call void @fn_emit(ptr @.str9758) + %t74 = load ptr, ptr %t20 + call void @fn_emit(ptr %t74) + call void @fn_emit(ptr @.str9759) + %t75 = load ptr, ptr %t20 + call void @fn_emit(ptr %t75) + call void @fn_emit(ptr @.str9760) + %t76 = load ptr, ptr %t10 + call void @fn_emit(ptr %t76) + call void @fn_emit(ptr @.str9761) + %t77 = load ptr, ptr %t8 + call void @fn_emit(ptr %t77) + call void @fn_emit(ptr @.str9762) + %t78 = load ptr, ptr %t14 + call void @fn_emit(ptr %t78) + call void @fn_emit(ptr @.str9763) + %t79 = load ptr, ptr %t22 + call void @fn_emit(ptr %t79) + call void @fn_emit(ptr @.str9764) + br label %ret +ret: + ret void +} + +define void @fn_emit_calls_for_phase(ptr %arg_phase) { +entry: + %t0 = alloca ptr + %t1 = alloca i32 + %t15 = alloca ptr + %t16 = alloca i32 + %t17 = alloca i32 + %t47 = alloca i32 + %t61 = alloca ptr + %t62 = alloca i32 + %t63 = alloca i32 + %t95 = alloca ptr + %t109 = alloca ptr + %t110 = alloca i32 + %t111 = alloca i32 + %t149 = alloca ptr + %t151 = alloca ptr + %t153 = alloca ptr + store ptr %arg_phase, ptr %t0 + store i32 0, ptr %t1 + br label %wcond0 +wcond0: + %t2 = load i32, ptr %t1 + %t3 = load ptr, ptr @g_prog + %t4 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 1 + %t5 = load i32, ptr %t4 + %t6 = icmp slt i32 %t2, %t5 + %t7 = zext i1 %t6 to i32 + %t8 = icmp ne i32 %t7, 0 + br i1 %t8, label %wbody1, label %wend2 +wbody1: + %t9 = load ptr, ptr @g_prog + %t10 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0 + %t11 = load ptr, ptr %t10 + %t12 = load i32, ptr %t1 + %t13 = getelementptr inbounds ptr, ptr %t11, i32 %t12 + %t14 = load ptr, ptr %t13 + store ptr %t14, ptr %t15 + %t18 = load ptr, ptr %t15 + %t19 = getelementptr inbounds %Cmp_Node, ptr %t18, i32 0, i32 0 + %t20 = load i32, ptr %t19 + %t21 = icmp eq i32 %t20, 9 + %t22 = zext i1 %t21 to i32 + %t23 = icmp ne i32 %t22, 0 + %t24 = zext i1 %t23 to i32 + store i32 %t24, ptr %t17 + br i1 %t23, label %sc3, label %scend4 +sc3: + %t25 = load ptr, ptr %t15 + %t26 = getelementptr inbounds %Cmp_Node, ptr %t25, i32 0, i32 3 + %t27 = load ptr, ptr %t26 + %t28 = load ptr, ptr %t0 + %t29 = call i32 @lp_str_eq(ptr %t27, ptr %t28) + %t30 = icmp ne i32 %t29, 0 + %t31 = zext i1 %t30 to i32 + store i32 %t31, ptr %t17 + br label %scend4 +scend4: + %t32 = load i32, ptr %t17 + %t33 = icmp ne i32 %t32, 0 + %t34 = zext i1 %t33 to i32 + store i32 %t34, ptr %t16 + br i1 %t33, label %sc5, label %scend6 +sc5: + %t35 = load ptr, ptr %t15 + %t36 = getelementptr inbounds %Cmp_Node, ptr %t35, i32 0, i32 6 + %t37 = load ptr, ptr %t36 + %t38 = icmp eq ptr %t37, null + %t39 = zext i1 %t38 to i32 + %t40 = icmp ne i32 %t39, 0 + %t41 = zext i1 %t40 to i32 + store i32 %t41, ptr %t16 + br label %scend6 +scend6: + %t42 = load i32, ptr %t16 + %t43 = icmp ne i32 %t42, 0 + br i1 %t43, label %then7, label %ifend9 +then7: + %t44 = load ptr, ptr %t15 + call void @fn_emit_call_one(ptr %t44) + br label %ifend9 +ifend9: + %t45 = load i32, ptr %t1 + %t46 = add i32 %t45, 1 + store i32 %t46, ptr %t1 + br label %wcond0 +wend2: + store i32 0, ptr %t47 + store i32 0, ptr %t1 + br label %wcond10 +wcond10: + %t48 = load i32, ptr %t1 + %t49 = load ptr, ptr @g_prog + %t50 = getelementptr inbounds %LSlice, ptr %t49, i32 0, i32 1 + %t51 = load i32, ptr %t50 + %t52 = icmp slt i32 %t48, %t51 + %t53 = zext i1 %t52 to i32 + %t54 = icmp ne i32 %t53, 0 + br i1 %t54, label %wbody11, label %wend12 +wbody11: + %t55 = load ptr, ptr @g_prog + %t56 = getelementptr inbounds %LSlice, ptr %t55, i32 0, i32 0 + %t57 = load ptr, ptr %t56 + %t58 = load i32, ptr %t1 + %t59 = getelementptr inbounds ptr, ptr %t57, i32 %t58 + %t60 = load ptr, ptr %t59 + store ptr %t60, ptr %t61 + %t64 = load ptr, ptr %t61 + %t65 = getelementptr inbounds %Cmp_Node, ptr %t64, i32 0, i32 0 + %t66 = load i32, ptr %t65 + %t67 = icmp eq i32 %t66, 9 + %t68 = zext i1 %t67 to i32 + %t69 = icmp ne i32 %t68, 0 + %t70 = zext i1 %t69 to i32 + store i32 %t70, ptr %t63 + br i1 %t69, label %sc13, label %scend14 +sc13: + %t71 = load ptr, ptr %t61 + %t72 = getelementptr inbounds %Cmp_Node, ptr %t71, i32 0, i32 3 + %t73 = load ptr, ptr %t72 + %t74 = load ptr, ptr %t0 + %t75 = call i32 @lp_str_eq(ptr %t73, ptr %t74) + %t76 = icmp ne i32 %t75, 0 + %t77 = zext i1 %t76 to i32 + store i32 %t77, ptr %t63 + br label %scend14 +scend14: + %t78 = load i32, ptr %t63 + %t79 = icmp ne i32 %t78, 0 + %t80 = zext i1 %t79 to i32 + store i32 %t80, ptr %t62 + br i1 %t79, label %sc15, label %scend16 +sc15: + %t81 = load ptr, ptr %t61 + %t82 = getelementptr inbounds %Cmp_Node, ptr %t81, i32 0, i32 6 + %t83 = load ptr, ptr %t82 + %t84 = icmp ne ptr %t83, null + %t85 = zext i1 %t84 to i32 + %t86 = icmp ne i32 %t85, 0 + %t87 = zext i1 %t86 to i32 + store i32 %t87, ptr %t62 + br label %scend16 +scend16: + %t88 = load i32, ptr %t62 + %t89 = icmp ne i32 %t88, 0 + br i1 %t89, label %then17, label %ifend19 +then17: + store i32 1, ptr %t47 + br label %ifend19 +ifend19: + %t90 = load i32, ptr %t1 + %t91 = add i32 %t90, 1 + store i32 %t91, ptr %t1 + br label %wcond10 +wend12: + %t92 = load i32, ptr %t47 + %t93 = icmp ne i32 %t92, 0 + br i1 %t93, label %then20, label %ifend22 +then20: + %t94 = call ptr @fn_emit_bind(ptr @.str9765) + store ptr %t94, ptr %t95 + store i32 0, ptr %t1 + br label %wcond23 +wcond23: + %t96 = load i32, ptr %t1 + %t97 = load ptr, ptr @g_prog + %t98 = getelementptr inbounds %LSlice, ptr %t97, i32 0, i32 1 + %t99 = load i32, ptr %t98 + %t100 = icmp slt i32 %t96, %t99 + %t101 = zext i1 %t100 to i32 + %t102 = icmp ne i32 %t101, 0 + br i1 %t102, label %wbody24, label %wend25 +wbody24: + %t103 = load ptr, ptr @g_prog + %t104 = getelementptr inbounds %LSlice, ptr %t103, i32 0, i32 0 + %t105 = load ptr, ptr %t104 + %t106 = load i32, ptr %t1 + %t107 = getelementptr inbounds ptr, ptr %t105, i32 %t106 + %t108 = load ptr, ptr %t107 + store ptr %t108, ptr %t109 + %t112 = load ptr, ptr %t109 + %t113 = getelementptr inbounds %Cmp_Node, ptr %t112, i32 0, i32 0 + %t114 = load i32, ptr %t113 + %t115 = icmp eq i32 %t114, 9 + %t116 = zext i1 %t115 to i32 + %t117 = icmp ne i32 %t116, 0 + %t118 = zext i1 %t117 to i32 + store i32 %t118, ptr %t111 + br i1 %t117, label %sc26, label %scend27 +sc26: + %t119 = load ptr, ptr %t109 + %t120 = getelementptr inbounds %Cmp_Node, ptr %t119, i32 0, i32 3 + %t121 = load ptr, ptr %t120 + %t122 = load ptr, ptr %t0 + %t123 = call i32 @lp_str_eq(ptr %t121, ptr %t122) + %t124 = icmp ne i32 %t123, 0 + %t125 = zext i1 %t124 to i32 + store i32 %t125, ptr %t111 + br label %scend27 +scend27: + %t126 = load i32, ptr %t111 + %t127 = icmp ne i32 %t126, 0 + %t128 = zext i1 %t127 to i32 + store i32 %t128, ptr %t110 + br i1 %t127, label %sc28, label %scend29 +sc28: + %t129 = load ptr, ptr %t109 + %t130 = getelementptr inbounds %Cmp_Node, ptr %t129, i32 0, i32 6 + %t131 = load ptr, ptr %t130 + %t132 = icmp ne ptr %t131, null + %t133 = zext i1 %t132 to i32 + %t134 = icmp ne i32 %t133, 0 + %t135 = zext i1 %t134 to i32 + store i32 %t135, ptr %t110 + br label %scend29 +scend29: + %t136 = load i32, ptr %t110 + %t137 = icmp ne i32 %t136, 0 + br i1 %t137, label %then30, label %ifend32 +then30: + %t138 = load ptr, ptr %t95 + %t139 = call ptr @lp_str_concat(ptr @.str9766, ptr %t138) + %t140 = call ptr @lp_str_concat(ptr %t139, ptr @.str9767) + %t141 = load ptr, ptr %t109 + %t142 = getelementptr inbounds %Cmp_Node, ptr %t141, i32 0, i32 6 + %t143 = load ptr, ptr %t142 + %t144 = getelementptr inbounds %Cmp_Node, ptr %t143, i32 0, i32 2 + %t145 = load i32, ptr %t144 + %t146 = call ptr @fn_itoa(i32 %t145) + %t147 = call ptr @lp_str_concat(ptr %t140, ptr %t146) + %t148 = call ptr @fn_emit_bind(ptr %t147) + store ptr %t148, ptr %t149 + %t150 = call ptr @fn_lbl(ptr @.str9768) + store ptr %t150, ptr %t151 + %t152 = call ptr @fn_lbl(ptr @.str9769) + store ptr %t152, ptr %t153 + call void @fn_emit(ptr @.str9770) + %t154 = load ptr, ptr %t149 + call void @fn_emit(ptr %t154) + call void @fn_emit(ptr @.str9771) + %t155 = load ptr, ptr %t151 + call void @fn_emit(ptr %t155) + call void @fn_emit(ptr @.str9772) + %t156 = load ptr, ptr %t153 + call void @fn_emit(ptr %t156) + call void @fn_emit(ptr @.str9773) + %t157 = load ptr, ptr %t151 + call void @fn_emit(ptr %t157) + call void @fn_emit(ptr @.str9774) + %t158 = load ptr, ptr %t109 + call void @fn_emit_call_one(ptr %t158) + call void @fn_emit(ptr @.str9775) + %t159 = load ptr, ptr %t153 + call void @fn_emit(ptr %t159) + call void @fn_emit(ptr @.str9776) + %t160 = load ptr, ptr %t153 + call void @fn_emit(ptr %t160) + call void @fn_emit(ptr @.str9777) + br label %ifend32 +ifend32: + %t161 = load i32, ptr %t1 + %t162 = add i32 %t161, 1 + store i32 %t162, ptr %t1 + br label %wcond23 +wend25: + br label %ifend22 +ifend22: + %t163 = load ptr, ptr %t0 + call void @fn_emit_engine_systems_for_phase(ptr %t163) + %t164 = load ptr, ptr %t0 + call void @fn_emit_dyn_systems_for_phase(ptr %t164) + %t165 = load ptr, ptr %t0 + %t166 = call i32 @lp_str_eq(ptr %t165, ptr @.str9778) + %t167 = icmp ne i32 %t166, 0 + br i1 %t167, label %then33, label %ifend35 +then33: + call void @fn_emit_scene_menu_render() + br label %ifend35 +ifend35: + br label %ret +ret: + ret void +} + +define void @fn_emit_scene_menu_render() { +entry: + %t0 = alloca i32 + %t1 = alloca i32 + %t27 = alloca ptr + %t41 = alloca ptr + %t57 = alloca ptr + %t59 = alloca ptr + %t61 = alloca ptr + store i32 0, ptr %t0 + store i32 0, ptr %t1 + br label %wcond0 +wcond0: + %t2 = load i32, ptr %t1 + %t3 = load ptr, ptr @g_g_scenes + %t4 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 1 + %t5 = load i32, ptr %t4 + %t6 = icmp slt i32 %t2, %t5 + %t7 = zext i1 %t6 to i32 + %t8 = icmp ne i32 %t7, 0 + br i1 %t8, label %wbody1, label %wend2 +wbody1: + %t9 = load ptr, ptr @g_g_scenes + %t10 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0 + %t11 = load ptr, ptr %t10 + %t12 = load i32, ptr %t1 + %t13 = getelementptr inbounds ptr, ptr %t11, i32 %t12 + %t14 = load ptr, ptr %t13 + %t15 = getelementptr inbounds %Cmp_Node, ptr %t14, i32 0, i32 3 + %t16 = load ptr, ptr %t15 + %t17 = icmp ne ptr %t16, null + %t18 = zext i1 %t17 to i32 + %t19 = icmp ne i32 %t18, 0 + br i1 %t19, label %then3, label %ifend5 +then3: + store i32 1, ptr %t0 + br label %ifend5 +ifend5: + %t20 = load i32, ptr %t1 + %t21 = add i32 %t20, 1 + store i32 %t21, ptr %t1 + br label %wcond0 +wend2: + %t22 = load i32, ptr %t0 + %t23 = icmp eq i32 %t22, 0 + %t24 = zext i1 %t23 to i32 + %t25 = icmp ne i32 %t24, 0 + br i1 %t25, label %then6, label %ifend8 +then6: + br label %ret +ifend8: + %t26 = call ptr @fn_emit_bind(ptr @.str9779) + store ptr %t26, ptr %t27 + store i32 0, ptr %t1 + br label %wcond9 +wcond9: + %t28 = load i32, ptr %t1 + %t29 = load ptr, ptr @g_g_scenes + %t30 = getelementptr inbounds %LSlice, ptr %t29, i32 0, i32 1 + %t31 = load i32, ptr %t30 + %t32 = icmp slt i32 %t28, %t31 + %t33 = zext i1 %t32 to i32 + %t34 = icmp ne i32 %t33, 0 + br i1 %t34, label %wbody10, label %wend11 +wbody10: + %t35 = load ptr, ptr @g_g_scenes + %t36 = getelementptr inbounds %LSlice, ptr %t35, i32 0, i32 0 + %t37 = load ptr, ptr %t36 + %t38 = load i32, ptr %t1 + %t39 = getelementptr inbounds ptr, ptr %t37, i32 %t38 + %t40 = load ptr, ptr %t39 + store ptr %t40, ptr %t41 + %t42 = load ptr, ptr %t41 + %t43 = getelementptr inbounds %Cmp_Node, ptr %t42, i32 0, i32 3 + %t44 = load ptr, ptr %t43 + %t45 = icmp ne ptr %t44, null + %t46 = zext i1 %t45 to i32 + %t47 = icmp ne i32 %t46, 0 + br i1 %t47, label %then12, label %ifend14 +then12: + %t48 = load ptr, ptr %t27 + %t49 = call ptr @lp_str_concat(ptr @.str9780, ptr %t48) + %t50 = call ptr @lp_str_concat(ptr %t49, ptr @.str9781) + %t51 = load ptr, ptr %t41 + %t52 = getelementptr inbounds %Cmp_Node, ptr %t51, i32 0, i32 2 + %t53 = load i32, ptr %t52 + %t54 = call ptr @fn_itoa(i32 %t53) + %t55 = call ptr @lp_str_concat(ptr %t50, ptr %t54) + %t56 = call ptr @fn_emit_bind(ptr %t55) + store ptr %t56, ptr %t57 + %t58 = call ptr @fn_lbl(ptr @.str9782) + store ptr %t58, ptr %t59 + %t60 = call ptr @fn_lbl(ptr @.str9783) + store ptr %t60, ptr %t61 + call void @fn_emit(ptr @.str9784) + %t62 = load ptr, ptr %t57 + call void @fn_emit(ptr %t62) + call void @fn_emit(ptr @.str9785) + %t63 = load ptr, ptr %t59 + call void @fn_emit(ptr %t63) + call void @fn_emit(ptr @.str9786) + %t64 = load ptr, ptr %t61 + call void @fn_emit(ptr %t64) + call void @fn_emit(ptr @.str9787) + %t65 = load ptr, ptr %t59 + call void @fn_emit(ptr %t65) + call void @fn_emit(ptr @.str9788) + call void @fn_emit(ptr @.str9789) + %t66 = load ptr, ptr %t61 + call void @fn_emit(ptr %t66) + call void @fn_emit(ptr @.str9790) + %t67 = load ptr, ptr %t61 + call void @fn_emit(ptr %t67) + call void @fn_emit(ptr @.str9791) + br label %ifend14 +ifend14: + %t68 = load i32, ptr %t1 + %t69 = add i32 %t68, 1 + store i32 %t69, ptr %t1 + br label %wcond9 +wend11: + br label %ret +ret: + ret void +} + +define void @fn_emit_scene_fn(ptr %arg_name, ptr %arg_kind, ptr %arg_body, ptr %arg_menu) { +entry: + %t0 = alloca ptr + %t1 = alloca ptr + %t2 = alloca ptr + %t3 = alloca ptr + %t5 = alloca ptr + %t8 = alloca ptr + %t10 = alloca i32 + %t30 = alloca i32 + %t52 = alloca ptr + %t53 = alloca i32 + store ptr %arg_name, ptr %t0 + store ptr %arg_kind, ptr %t1 + store ptr %arg_body, ptr %t2 + store ptr %arg_menu, ptr %t3 + store i32 0, ptr @g_ll_t + store i32 0, ptr @g_ll_lbl + store i32 0, ptr @g_g_term + call void @fn_loc_reset() + store i32 0, ptr @g_nloop + store i32 0, ptr @g_nself + store ptr @.str9792, ptr @g_ret_ty + %t4 = call ptr @fn_buf_new() + store ptr %t4, ptr %t5 + %t6 = call ptr @fn_buf_new() + store ptr %t6, ptr @g_falloc + %t7 = load ptr, ptr @g_code + store ptr %t7, ptr %t8 + %t9 = load ptr, ptr %t5 + store ptr %t9, ptr @g_code + %t11 = load ptr, ptr %t3 + %t12 = icmp ne ptr %t11, null + %t13 = zext i1 %t12 to i32 + %t14 = icmp ne i32 %t13, 0 + %t15 = zext i1 %t14 to i32 + store i32 %t15, ptr %t10 + br i1 %t14, label %sc0, label %scend1 +sc0: + %t16 = load ptr, ptr %t1 + %t17 = call i32 @lp_str_eq(ptr %t16, ptr @.str9793) + %t18 = icmp ne i32 %t17, 0 + %t19 = zext i1 %t18 to i32 + store i32 %t19, ptr %t10 + br label %scend1 +scend1: + %t20 = load i32, ptr %t10 + %t21 = icmp ne i32 %t20, 0 + br i1 %t21, label %then2, label %ifend4 +then2: + %t22 = call ptr @fn_find_fn(ptr @.str9794) + %t23 = icmp ne ptr %t22, null + %t24 = zext i1 %t23 to i32 + %t25 = icmp ne i32 %t24, 0 + br i1 %t25, label %then5, label %ifend7 +then5: + call void @fn_emit(ptr @.str9795) + br label %ifend7 +ifend7: + call void @fn_emit(ptr @.str9796) + %t26 = load ptr, ptr %t3 + %t27 = call ptr @lp_str_concat(ptr @.str9797, ptr %t26) + %t28 = call i32 @fn_ui_index_of(ptr %t27) + %t29 = call ptr @fn_itoa(i32 %t28) + call void @fn_emit(ptr %t29) + call void @fn_emit(ptr @.str9798) + br label %ifend4 +ifend4: + %t31 = load ptr, ptr %t3 + %t32 = icmp ne ptr %t31, null + %t33 = zext i1 %t32 to i32 + %t34 = icmp ne i32 %t33, 0 + %t35 = zext i1 %t34 to i32 + store i32 %t35, ptr %t30 + br i1 %t34, label %sc8, label %scend9 +sc8: + %t36 = load ptr, ptr %t1 + %t37 = call i32 @lp_str_eq(ptr %t36, ptr @.str9799) + %t38 = icmp ne i32 %t37, 0 + %t39 = zext i1 %t38 to i32 + store i32 %t39, ptr %t30 + br label %scend9 +scend9: + %t40 = load i32, ptr %t30 + %t41 = icmp ne i32 %t40, 0 + br i1 %t41, label %then10, label %ifend12 +then10: + call void @fn_emit(ptr @.str9800) + br label %ifend12 +ifend12: + %t42 = load ptr, ptr %t2 + %t43 = icmp ne ptr %t42, null + %t44 = zext i1 %t43 to i32 + %t45 = icmp ne i32 %t44, 0 + br i1 %t45, label %then13, label %ifend15 +then13: + %t46 = load ptr, ptr %t2 + call void @fn_emit_block(ptr %t46) + br label %ifend15 +ifend15: + %t47 = load ptr, ptr %t0 + %t48 = call ptr @lp_str_concat(ptr @.str9801, ptr %t47) + %t49 = call ptr @lp_str_concat(ptr %t48, ptr @.str9802) + %t50 = load ptr, ptr %t1 + %t51 = call ptr @lp_str_concat(ptr %t49, ptr %t50) + store ptr %t51, ptr %t52 + %t54 = load i32, ptr @g_g_term + %t55 = icmp eq i32 %t54, 0 + %t56 = zext i1 %t55 to i32 + %t57 = icmp ne i32 %t56, 0 + %t58 = zext i1 %t57 to i32 + store i32 %t58, ptr %t53 + br i1 %t57, label %sc16, label %scend17 +sc16: + %t59 = load ptr, ptr %t52 + %t60 = call ptr @fn_find_event(ptr %t59) + %t61 = icmp ne ptr %t60, null + %t62 = zext i1 %t61 to i32 + %t63 = icmp ne i32 %t62, 0 + %t64 = zext i1 %t63 to i32 + store i32 %t64, ptr %t53 + br label %scend17 +scend17: + %t65 = load i32, ptr %t53 + %t66 = icmp ne i32 %t65, 0 + br i1 %t66, label %then18, label %ifend20 +then18: + call void @fn_emit(ptr @.str9803) + %t67 = load ptr, ptr %t52 + call void @fn_emit(ptr %t67) + call void @fn_emit(ptr @.str9804) + br label %ifend20 +ifend20: + %t68 = load i32, ptr @g_g_term + %t69 = icmp eq i32 %t68, 0 + %t70 = zext i1 %t69 to i32 + %t71 = icmp ne i32 %t70, 0 + br i1 %t71, label %then21, label %ifend23 +then21: + call void @fn_emit(ptr @.str9805) + br label %ifend23 +ifend23: + call void @fn_emit(ptr @.str9806) + %t72 = load ptr, ptr %t8 + store ptr %t72, ptr @g_code + call void @fn_emit(ptr @.str9807) + %t73 = load ptr, ptr %t1 + call void @fn_emit(ptr %t73) + call void @fn_emit(ptr @.str9808) + %t74 = load ptr, ptr %t0 + call void @fn_emit(ptr %t74) + call void @fn_emit(ptr @.str9809) + %t75 = load ptr, ptr @g_falloc + %t76 = call ptr @fn_buf_str(ptr %t75) + call void @fn_emit(ptr %t76) + %t77 = load ptr, ptr %t5 + %t78 = call ptr @fn_buf_str(ptr %t77) + call void @fn_emit(ptr %t78) + call void @fn_emit(ptr @.str9810) + br label %ret +ret: + ret void +} + +define void @fn_emit_scene_hooks() { +entry: + %t0 = alloca i32 + %t14 = alloca ptr + store i32 0, ptr %t0 + br label %wcond0 +wcond0: + %t1 = load i32, ptr %t0 + %t2 = load ptr, ptr @g_g_scenes + %t3 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 1 + %t4 = load i32, ptr %t3 + %t5 = icmp slt i32 %t1, %t4 + %t6 = zext i1 %t5 to i32 + %t7 = icmp ne i32 %t6, 0 + br i1 %t7, label %wbody1, label %wend2 +wbody1: + %t8 = load ptr, ptr @g_g_scenes + %t9 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 0 + %t10 = load ptr, ptr %t9 + %t11 = load i32, ptr %t0 + %t12 = getelementptr inbounds ptr, ptr %t10, i32 %t11 + %t13 = load ptr, ptr %t12 + store ptr %t13, ptr %t14 + %t15 = load ptr, ptr %t14 + store ptr %t15, ptr @g_g_cur_scene + %t16 = load ptr, ptr %t14 + %t17 = getelementptr inbounds %Cmp_Node, ptr %t16, i32 0, i32 1 + %t18 = load ptr, ptr %t17 + %t19 = load ptr, ptr %t14 + %t20 = getelementptr inbounds %Cmp_Node, ptr %t19, i32 0, i32 4 + %t21 = load ptr, ptr %t20 + %t22 = load ptr, ptr %t14 + %t23 = getelementptr inbounds %Cmp_Node, ptr %t22, i32 0, i32 3 + %t24 = load ptr, ptr %t23 + call void @fn_emit_scene_fn(ptr %t18, ptr @.str9811, ptr %t21, ptr %t24) + %t25 = load ptr, ptr %t14 + %t26 = getelementptr inbounds %Cmp_Node, ptr %t25, i32 0, i32 1 + %t27 = load ptr, ptr %t26 + %t28 = load ptr, ptr %t14 + %t29 = getelementptr inbounds %Cmp_Node, ptr %t28, i32 0, i32 5 + %t30 = load ptr, ptr %t29 + %t31 = load ptr, ptr %t14 + %t32 = getelementptr inbounds %Cmp_Node, ptr %t31, i32 0, i32 3 + %t33 = load ptr, ptr %t32 + call void @fn_emit_scene_fn(ptr %t27, ptr @.str9812, ptr %t30, ptr %t33) + %t34 = load i32, ptr %t0 + %t35 = add i32 %t34, 1 + store i32 %t35, ptr %t0 + br label %wcond0 +wend2: + store ptr null, ptr @g_g_cur_scene + %t36 = load ptr, ptr @g_g_scenes + %t37 = getelementptr inbounds %LSlice, ptr %t36, i32 0, i32 1 + %t38 = load i32, ptr %t37 + %t39 = icmp sgt i32 %t38, 0 + %t40 = zext i1 %t39 to i32 + %t41 = icmp ne i32 %t40, 0 + br i1 %t41, label %then3, label %ifend5 +then3: + call void @fn_emit_scene_leave_fn() + br label %ifend5 +ifend5: + br label %ret +ret: + ret void +} + +define void @fn_emit_scene_leave_fn() { +entry: + %t0 = alloca i32 + %t14 = alloca ptr + %t17 = alloca ptr + call void @fn_emit(ptr @.str9813) + call void @fn_emit(ptr @.str9814) + store i32 0, ptr %t0 + br label %wcond0 +wcond0: + %t1 = load i32, ptr %t0 + %t2 = load ptr, ptr @g_g_scenes + %t3 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 1 + %t4 = load i32, ptr %t3 + %t5 = icmp slt i32 %t1, %t4 + %t6 = zext i1 %t5 to i32 + %t7 = icmp ne i32 %t6, 0 + br i1 %t7, label %wbody1, label %wend2 +wbody1: + %t8 = load ptr, ptr @g_g_scenes + %t9 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 0 + %t10 = load ptr, ptr %t9 + %t11 = load i32, ptr %t0 + %t12 = getelementptr inbounds ptr, ptr %t10, i32 %t11 + %t13 = load ptr, ptr %t12 + store ptr %t13, ptr %t14 + %t15 = load i32, ptr %t0 + %t16 = call ptr @fn_itoa(i32 %t15) + store ptr %t16, ptr %t17 + call void @fn_emit(ptr @.str9815) + %t18 = load ptr, ptr %t17 + call void @fn_emit(ptr %t18) + call void @fn_emit(ptr @.str9816) + %t19 = load ptr, ptr %t14 + %t20 = getelementptr inbounds %Cmp_Node, ptr %t19, i32 0, i32 2 + %t21 = load i32, ptr %t20 + %t22 = call ptr @fn_itoa(i32 %t21) + call void @fn_emit(ptr %t22) + call void @fn_emit(ptr @.str9817) + call void @fn_emit(ptr @.str9818) + %t23 = load ptr, ptr %t17 + call void @fn_emit(ptr %t23) + call void @fn_emit(ptr @.str9819) + %t24 = load ptr, ptr %t17 + call void @fn_emit(ptr %t24) + call void @fn_emit(ptr @.str9820) + %t25 = load ptr, ptr %t17 + call void @fn_emit(ptr %t25) + call void @fn_emit(ptr @.str9821) + call void @fn_emit(ptr @.str9822) + %t26 = load ptr, ptr %t17 + call void @fn_emit(ptr %t26) + call void @fn_emit(ptr @.str9823) + %t27 = load ptr, ptr %t14 + %t28 = getelementptr inbounds %Cmp_Node, ptr %t27, i32 0, i32 1 + %t29 = load ptr, ptr %t28 + call void @fn_emit(ptr %t29) + call void @fn_emit(ptr @.str9824) + call void @fn_emit(ptr @.str9825) + %t30 = load ptr, ptr %t17 + call void @fn_emit(ptr %t30) + call void @fn_emit(ptr @.str9826) + %t31 = load i32, ptr %t0 + %t32 = add i32 %t31, 1 + store i32 %t32, ptr %t0 + br label %wcond0 +wend2: + call void @fn_emit(ptr @.str9827) + 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 @.str9828, 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 @.str9829) + store ptr %t32, ptr %t33 + call void @fn_emit(ptr @.str9830) + %t34 = load ptr, ptr %t33 + call void @fn_emit(ptr %t34) + call void @fn_emit(ptr @.str9831) + %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 @.str9832) + br label %ifend5 +ifend5: + %t39 = load ptr, ptr %t19 + call void @fn_emit_bind_props(ptr %t39, ptr @.str9833) + %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 @.str9834) + br label %ifend8 +ifend8: + call void @fn_emit(ptr @.str9835) + %t47 = load ptr, ptr %t24 + store ptr %t47, ptr @g_code + call void @fn_emit(ptr @.str9836) + %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 @.str9837) + %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 @.str9838) + %t55 = load i32, ptr %t0 + %t56 = add i32 %t55, 1 + store i32 %t56, ptr %t0 + br label %wcond0 +wend2: + call void @fn_emit_despawn_all_fn() + br label %ret +ret: + ret void +} + +define void @fn_emit_world_despawn_fn() { +entry: + %t7 = alloca ptr + %t9 = alloca i32 + %t25 = alloca ptr + %t28 = alloca ptr + %t41 = alloca ptr + call void @fn_emit(ptr @.str9839) + %t0 = load ptr, ptr @g_g_ondespawn + %t1 = getelementptr inbounds %LSlice, ptr %t0, i32 0, i32 1 + %t2 = load i32, ptr %t1 + %t3 = icmp sgt i32 %t2, 0 + %t4 = zext i1 %t3 to i32 + %t5 = icmp ne i32 %t4, 0 + br i1 %t5, label %then0, label %ifend2 +then0: + %t6 = call ptr @fn_itoa(i32 1024) + store ptr %t6, ptr %t7 + call void @fn_emit(ptr @.str9840) + %t8 = load ptr, ptr %t7 + call void @fn_emit(ptr %t8) + call void @fn_emit(ptr @.str9841) + call void @fn_emit(ptr @.str9842) + store i32 0, ptr %t9 + br label %wcond3 +wcond3: + %t10 = load i32, ptr %t9 + %t11 = load ptr, ptr @g_g_ondespawn + %t12 = getelementptr inbounds %LSlice, ptr %t11, i32 0, i32 1 + %t13 = load i32, ptr %t12 + %t14 = icmp slt i32 %t10, %t13 + %t15 = zext i1 %t14 to i32 + %t16 = icmp ne i32 %t15, 0 + br i1 %t16, label %wbody4, label %wend5 +wbody4: + %t17 = load ptr, ptr @g_g_ondespawn + %t18 = getelementptr inbounds %LSlice, ptr %t17, i32 0, i32 0 + %t19 = load ptr, ptr %t18 + %t20 = load i32, ptr %t9 + %t21 = getelementptr inbounds ptr, ptr %t19, i32 %t20 + %t22 = load ptr, ptr %t21 + %t23 = getelementptr inbounds %Cmp_Node, ptr %t22, i32 0, i32 1 + %t24 = load ptr, ptr %t23 + store ptr %t24, ptr %t25 + %t26 = load i32, ptr %t9 + %t27 = call ptr @fn_itoa(i32 %t26) + store ptr %t27, ptr %t28 + call void @fn_emit(ptr @.str9843) + %t29 = load ptr, ptr %t28 + call void @fn_emit(ptr %t29) + call void @fn_emit(ptr @.str9844) + %t30 = load ptr, ptr %t25 + %t31 = call i32 @fn_find_arch_id(ptr %t30) + %t32 = call ptr @fn_itoa(i32 %t31) + call void @fn_emit(ptr %t32) + call void @fn_emit(ptr @.str9845) + call void @fn_emit(ptr @.str9846) + %t33 = load ptr, ptr %t28 + call void @fn_emit(ptr %t33) + call void @fn_emit(ptr @.str9847) + %t34 = load ptr, ptr %t28 + call void @fn_emit(ptr %t34) + call void @fn_emit(ptr @.str9848) + %t35 = load ptr, ptr %t28 + call void @fn_emit(ptr %t35) + call void @fn_emit(ptr @.str9849) + call void @fn_emit(ptr @.str9850) + %t36 = load ptr, ptr %t28 + call void @fn_emit(ptr %t36) + call void @fn_emit(ptr @.str9851) + %t37 = load ptr, ptr %t25 + call void @fn_emit(ptr %t37) + call void @fn_emit(ptr @.str9852) + %t38 = load ptr, ptr %t25 + %t39 = call ptr @lp_str_concat(ptr @.str9853, ptr %t38) + %t40 = call ptr @lp_str_concat(ptr %t39, ptr @.str9854) + store ptr %t40, ptr %t41 + %t42 = load ptr, ptr %t41 + %t43 = call ptr @fn_find_event(ptr %t42) + %t44 = icmp ne ptr %t43, null + %t45 = zext i1 %t44 to i32 + %t46 = icmp ne i32 %t45, 0 + br i1 %t46, label %then6, label %ifend8 +then6: + call void @fn_emit(ptr @.str9855) + %t47 = load ptr, ptr %t41 + call void @fn_emit(ptr %t47) + call void @fn_emit(ptr @.str9856) + br label %ifend8 +ifend8: + call void @fn_emit(ptr @.str9857) + %t48 = load ptr, ptr %t28 + call void @fn_emit(ptr %t48) + call void @fn_emit(ptr @.str9858) + call void @fn_emit(ptr @.str9859) + %t49 = load ptr, ptr %t28 + call void @fn_emit(ptr %t49) + call void @fn_emit(ptr @.str9860) + %t50 = load i32, ptr %t9 + %t51 = add i32 %t50, 1 + store i32 %t51, ptr %t9 + br label %wcond3 +wend5: + br label %ifend2 +ifend2: + %t52 = load ptr, ptr @g_g_events + %t53 = getelementptr inbounds %LSlice, ptr %t52, i32 0, i32 1 + %t54 = load i32, ptr %t53 + %t55 = icmp sgt i32 %t54, 0 + %t56 = zext i1 %t55 to i32 + %t57 = icmp ne i32 %t56, 0 + br i1 %t57, label %then9, label %ifend11 +then9: + call void @fn_emit(ptr @.str9861) + br label %ifend11 +ifend11: + call void @fn_emit(ptr @.str9862) + call void @fn_emit(ptr @.str9863) + 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 @.str9864) + call void @fn_emit(ptr @.str9865) + call void @fn_emit(ptr @.str9866) + call void @fn_emit(ptr @.str9867) + call void @fn_emit(ptr @.str9868) + %t8 = load ptr, ptr %t7 + call void @fn_emit(ptr %t8) + call void @fn_emit(ptr @.str9869) + call void @fn_emit(ptr @.str9870) + call void @fn_emit(ptr @.str9871) + call void @fn_emit(ptr @.str9872) + %t9 = load ptr, ptr %t7 + call void @fn_emit(ptr %t9) + call void @fn_emit(ptr @.str9873) + call void @fn_emit(ptr @.str9874) + 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 @.str9875) + %t30 = load ptr, ptr %t29 + call void @fn_emit(ptr %t30) + call void @fn_emit(ptr @.str9876) + %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 @.str9877) + call void @fn_emit(ptr @.str9878) + %t34 = load ptr, ptr %t29 + call void @fn_emit(ptr %t34) + call void @fn_emit(ptr @.str9879) + %t35 = load ptr, ptr %t29 + call void @fn_emit(ptr %t35) + call void @fn_emit(ptr @.str9880) + %t36 = load ptr, ptr %t29 + call void @fn_emit(ptr %t36) + call void @fn_emit(ptr @.str9881) + call void @fn_emit(ptr @.str9882) + %t37 = load ptr, ptr %t29 + call void @fn_emit(ptr %t37) + call void @fn_emit(ptr @.str9883) + %t38 = load ptr, ptr %t26 + call void @fn_emit(ptr %t38) + call void @fn_emit(ptr @.str9884) + %t39 = load ptr, ptr %t26 + %t40 = call ptr @lp_str_concat(ptr @.str9885, ptr %t39) + %t41 = call ptr @lp_str_concat(ptr %t40, ptr @.str9886) + 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 @.str9887) + %t48 = load ptr, ptr %t42 + call void @fn_emit(ptr %t48) + call void @fn_emit(ptr @.str9888) + br label %ifend8 +ifend8: + call void @fn_emit(ptr @.str9889) + %t49 = load ptr, ptr %t29 + call void @fn_emit(ptr %t49) + call void @fn_emit(ptr @.str9890) + call void @fn_emit(ptr @.str9891) + %t50 = load ptr, ptr %t29 + call void @fn_emit(ptr %t50) + call void @fn_emit(ptr @.str9892) + %t51 = load i32, ptr %t10 + %t52 = add i32 %t51, 1 + store i32 %t52, ptr %t10 + br label %wcond3 +wend5: + call void @fn_emit(ptr @.str9893) + call void @fn_emit(ptr @.str9894) + call void @fn_emit(ptr @.str9895) + 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 @.str9896) + 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 @.str9897) + %t21 = load ptr, ptr %t18 + call void @fn_emith(ptr %t21) + call void @fn_emith(ptr @.str9898) + 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 @.str9899) + 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 @.str9900) + br label %ifend14 +ifend14: + call void @fn_emith(ptr @.str9901) + br label %ifend11 +ifend11: + call void @fn_emith(ptr @.str9902) + call void @fn_emith(ptr @.str9903) + %t63 = load ptr, ptr %t18 + call void @fn_emith(ptr %t63) + call void @fn_emith(ptr @.str9904) + %t64 = load ptr, ptr %t20 + call void @fn_emith(ptr %t64) + call void @fn_emith(ptr @.str9905) + call void @fn_emith(ptr @.str9906) + %t65 = load ptr, ptr %t18 + call void @fn_emith(ptr %t65) + call void @fn_emith(ptr @.str9907) + call void @fn_emith(ptr @.str9908) + %t66 = load ptr, ptr %t18 + call void @fn_emith(ptr %t66) + call void @fn_emith(ptr @.str9909) + %t67 = load ptr, ptr %t20 + call void @fn_emith(ptr %t67) + call void @fn_emith(ptr @.str9910) + call void @fn_emit(ptr @.str9911) + %t68 = load ptr, ptr %t18 + call void @fn_emit(ptr %t68) + call void @fn_emit(ptr @.str9912) + call void @fn_emit(ptr @.str9913) + %t69 = load ptr, ptr %t18 + call void @fn_emit(ptr %t69) + call void @fn_emit(ptr @.str9914) + call void @fn_emit(ptr @.str9915) + %t70 = load ptr, ptr %t20 + call void @fn_emit(ptr %t70) + call void @fn_emit(ptr @.str9916) + call void @fn_emit(ptr @.str9917) + call void @fn_emit(ptr @.str9918) + %t71 = load ptr, ptr %t20 + call void @fn_emit(ptr %t71) + call void @fn_emit(ptr @.str9919) + %t72 = load ptr, ptr %t18 + call void @fn_emit(ptr %t72) + call void @fn_emit(ptr @.str9920) + call void @fn_emit(ptr @.str9921) + call void @fn_emit(ptr @.str9922) + %t73 = load ptr, ptr %t20 + call void @fn_emit(ptr %t73) + call void @fn_emit(ptr @.str9923) + %t74 = load ptr, ptr %t18 + call void @fn_emit(ptr %t74) + call void @fn_emit(ptr @.str9924) + call void @fn_emit(ptr @.str9925) + call void @fn_emit(ptr @.str9926) + %t75 = load ptr, ptr %t18 + call void @fn_emit(ptr %t75) + call void @fn_emit(ptr @.str9927) + call void @fn_emit(ptr @.str9928) + call void @fn_emit(ptr @.str9929) + %t76 = load ptr, ptr %t18 + call void @fn_emit(ptr %t76) + call void @fn_emit(ptr @.str9930) + call void @fn_emit(ptr @.str9931) + %t77 = load ptr, ptr %t18 + call void @fn_emit(ptr %t77) + call void @fn_emit(ptr @.str9932) + call void @fn_emit(ptr @.str9933) + %t78 = load ptr, ptr %t20 + call void @fn_emit(ptr %t78) + call void @fn_emit(ptr @.str9934) + call void @fn_emit(ptr @.str9935) + call void @fn_emit(ptr @.str9936) + %t79 = load ptr, ptr %t20 + call void @fn_emit(ptr %t79) + call void @fn_emit(ptr @.str9937) + %t80 = load ptr, ptr %t18 + call void @fn_emit(ptr %t80) + call void @fn_emit(ptr @.str9938) + call void @fn_emit(ptr @.str9939) + call void @fn_emit(ptr @.str9940) + %t81 = load ptr, ptr %t20 + call void @fn_emit(ptr %t81) + call void @fn_emit(ptr @.str9941) + %t82 = load ptr, ptr %t18 + call void @fn_emit(ptr %t82) + call void @fn_emit(ptr @.str9942) + call void @fn_emit(ptr @.str9943) + call void @fn_emit(ptr @.str9944) + %t83 = load ptr, ptr %t18 + call void @fn_emit(ptr %t83) + call void @fn_emit(ptr @.str9945) + call void @fn_emit(ptr @.str9946) + call void @fn_emit(ptr @.str9947) + %t84 = load ptr, ptr %t18 + call void @fn_emit(ptr %t84) + call void @fn_emit(ptr @.str9948) + call void @fn_emit(ptr @.str9949) + %t85 = load ptr, ptr %t18 + call void @fn_emit(ptr %t85) + call void @fn_emit(ptr @.str9950) + call void @fn_emit(ptr @.str9951) + call void @fn_emit(ptr @.str9952) + call void @fn_emit(ptr @.str9953) + %t86 = load ptr, ptr %t20 + call void @fn_emit(ptr %t86) + call void @fn_emit(ptr @.str9954) + %t87 = load ptr, ptr %t18 + call void @fn_emit(ptr %t87) + call void @fn_emit(ptr @.str9955) + call void @fn_emit(ptr @.str9956) + call void @fn_emit(ptr @.str9957) + store i32 0, ptr @g_ll_t + store i32 0, ptr @g_ll_lbl + store i32 0, ptr @g_g_term + call void @fn_loc_reset() + store i32 0, ptr @g_nloop + store i32 0, ptr @g_nself + store ptr null, ptr @g_g_cur_scene + store ptr @.str9958, 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 @.str9959) + call void @fn_emit(ptr @.str9960) + %t94 = call ptr @fn_itoa(i32 32) + call void @fn_emit(ptr %t94) + call void @fn_emit(ptr @.str9961) + call void @fn_emit(ptr @.str9962) + call void @fn_emit(ptr @.str9963) + %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 @.str9964) + br label %ifend17 +else16: + call void @fn_emit(ptr @.str9965) + br label %ifend17 +ifend17: + call void @fn_emit(ptr @.str9966) + call void @fn_emit(ptr @.str9967) + %t101 = load ptr, ptr %t18 + %t102 = call ptr @lp_str_concat(ptr @.str9968, 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 @.str9969) + %t131 = load ptr, ptr %t130 + call void @fn_emit(ptr %t131) + call void @fn_emit(ptr @.str9970) + %t132 = load ptr, ptr %t18 + call void @fn_emit(ptr %t132) + call void @fn_emit(ptr @.str9971) + %t133 = load ptr, ptr %t104 + call void @fn_emit(ptr %t133) + call void @fn_emit(ptr @.str9972) + %t134 = load i32, ptr %t105 + %t135 = call ptr @fn_itoa(i32 %t134) + call void @fn_emit(ptr %t135) + call void @fn_emit(ptr @.str9973) + call void @fn_emit(ptr @.str9974) + %t136 = load ptr, ptr %t128 + call void @fn_emit(ptr %t136) + call void @fn_emit(ptr @.str9975) + %t137 = load i32, ptr %t105 + %t138 = call ptr @fn_itoa(i32 %t137) + call void @fn_emit(ptr %t138) + call void @fn_emit(ptr @.str9976) + %t139 = load ptr, ptr %t130 + call void @fn_emit(ptr %t139) + call void @fn_emit(ptr @.str9977) + %t140 = load ptr, ptr %t128 + %t141 = call ptr @fn_emit_alloca(ptr %t140) + store ptr %t141, ptr %t142 + call void @fn_emit(ptr @.str9978) + %t143 = load ptr, ptr %t128 + call void @fn_emit(ptr %t143) + call void @fn_emit(ptr @.str9979) + %t144 = load i32, ptr %t105 + %t145 = call ptr @fn_itoa(i32 %t144) + call void @fn_emit(ptr %t145) + call void @fn_emit(ptr @.str9980) + %t146 = load ptr, ptr %t142 + call void @fn_emit(ptr %t146) + call void @fn_emit(ptr @.str9981) + %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 @.str9982) + %t164 = load ptr, ptr %t156 + call void @fn_emit(ptr %t164) + call void @fn_emit(ptr @.str9983) + %t165 = load ptr, ptr %t18 + call void @fn_emit(ptr %t165) + call void @fn_emit(ptr @.str9984) + %t166 = load ptr, ptr %t104 + call void @fn_emit(ptr %t166) + call void @fn_emit(ptr @.str9985) + %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 @.str9986) + call void @fn_emit(ptr @.str9987) + %t173 = load ptr, ptr %t156 + call void @fn_emit(ptr %t173) + call void @fn_emit(ptr @.str9988) + %t174 = load ptr, ptr %t156 + store ptr %t174, ptr @g_g_cancel_addr + br label %ifend23 +ifend23: + %t175 = load i32, ptr @g_nloc + store i32 %t175, ptr %t176 + store i32 0, ptr %t177 + br label %wcond24 +wcond24: + %t178 = load i32, ptr %t177 + %t179 = load ptr, ptr @g_g_onlisten + %t180 = getelementptr inbounds %LSlice, ptr %t179, i32 0, i32 1 + %t181 = load i32, ptr %t180 + %t182 = icmp slt i32 %t178, %t181 + %t183 = zext i1 %t182 to i32 + %t184 = icmp ne i32 %t183, 0 + br i1 %t184, label %wbody25, label %wend26 +wbody25: + %t185 = load ptr, ptr @g_g_onlisten + %t186 = getelementptr inbounds %LSlice, ptr %t185, i32 0, i32 0 + %t187 = load ptr, ptr %t186 + %t188 = load i32, ptr %t177 + %t189 = getelementptr inbounds ptr, ptr %t187, i32 %t188 + %t190 = load ptr, ptr %t189 + %t191 = getelementptr inbounds %Cmp_Node, ptr %t190, i32 0, i32 1 + %t192 = load ptr, ptr %t191 + %t193 = load ptr, ptr %t18 + %t194 = call i32 @lp_str_eq(ptr %t192, ptr %t193) + %t195 = icmp ne i32 %t194, 0 + br i1 %t195, label %then27, label %ifend29 +then27: + %t196 = load i32, ptr %t176 + store i32 %t196, ptr @g_nloc + store i32 0, ptr @g_g_term + %t197 = load ptr, ptr @g_g_onlisten + %t198 = getelementptr inbounds %LSlice, ptr %t197, i32 0, i32 0 + %t199 = load ptr, ptr %t198 + %t200 = load i32, ptr %t177 + %t201 = getelementptr inbounds ptr, ptr %t199, i32 %t200 + %t202 = load ptr, ptr %t201 + %t203 = getelementptr inbounds %Cmp_Node, ptr %t202, i32 0, i32 4 + %t204 = load ptr, ptr %t203 + call void @fn_emit_block(ptr %t204) + br label %ifend29 +ifend29: + %t205 = load i32, ptr %t177 + %t206 = add i32 %t205, 1 + store i32 %t206, ptr %t177 + br label %wcond24 +wend26: + %t207 = load i32, ptr @g_g_term + %t208 = icmp eq i32 %t207, 0 + %t209 = zext i1 %t208 to i32 + %t210 = icmp ne i32 %t209, 0 + br i1 %t210, label %then30, label %ifend32 +then30: + %t211 = call ptr @fn_emit_alloca(ptr @.str9989) + store ptr %t211, ptr %t212 + call void @fn_emit(ptr @.str9990) + %t213 = load ptr, ptr %t212 + call void @fn_emit(ptr %t213) + call void @fn_emit(ptr @.str9991) + %t214 = call ptr @fn_lbl(ptr @.str9992) + store ptr %t214, ptr %t215 + %t216 = call ptr @fn_lbl(ptr @.str9993) + store ptr %t216, ptr %t217 + %t218 = call ptr @fn_lbl(ptr @.str9994) + store ptr %t218, ptr %t219 + call void @fn_emit(ptr @.str9995) + %t220 = load ptr, ptr %t215 + call void @fn_emit(ptr %t220) + call void @fn_emit(ptr @.str9996) + %t221 = load ptr, ptr %t215 + call void @fn_emit(ptr %t221) + call void @fn_emit(ptr @.str9997) + %t222 = load ptr, ptr %t212 + %t223 = call ptr @lp_str_concat(ptr @.str9998, ptr %t222) + %t224 = call ptr @fn_emit_bind(ptr %t223) + store ptr %t224, ptr %t225 + %t226 = load ptr, ptr %t18 + %t227 = call ptr @lp_str_concat(ptr @.str9999, ptr %t226) + %t228 = call ptr @fn_emit_bind(ptr %t227) + store ptr %t228, ptr %t229 + %t230 = load ptr, ptr %t225 + %t231 = call ptr @lp_str_concat(ptr @.str10000, ptr %t230) + %t232 = call ptr @lp_str_concat(ptr %t231, ptr @.str10001) + %t233 = load ptr, ptr %t229 + %t234 = call ptr @lp_str_concat(ptr %t232, ptr %t233) + %t235 = call ptr @fn_emit_bind(ptr %t234) + store ptr %t235, ptr %t236 + call void @fn_emit(ptr @.str10002) + %t237 = load ptr, ptr %t236 + call void @fn_emit(ptr %t237) + call void @fn_emit(ptr @.str10003) + %t238 = load ptr, ptr %t217 + call void @fn_emit(ptr %t238) + call void @fn_emit(ptr @.str10004) + %t239 = load ptr, ptr %t219 + call void @fn_emit(ptr %t239) + call void @fn_emit(ptr @.str10005) + %t240 = load ptr, ptr %t217 + call void @fn_emit(ptr %t240) + call void @fn_emit(ptr @.str10006) + %t241 = call ptr @fn_nreg() + store ptr %t241, ptr %t242 + call void @fn_emit(ptr @.str10007) + %t243 = load ptr, ptr %t242 + call void @fn_emit(ptr %t243) + call void @fn_emit(ptr @.str10008) + %t244 = load ptr, ptr %t20 + call void @fn_emit(ptr %t244) + call void @fn_emit(ptr @.str10009) + %t245 = load ptr, ptr %t18 + call void @fn_emit(ptr %t245) + call void @fn_emit(ptr @.str10010) + %t246 = load ptr, ptr %t225 + call void @fn_emit(ptr %t246) + call void @fn_emit(ptr @.str10011) + %t247 = load ptr, ptr %t242 + %t248 = call ptr @lp_str_concat(ptr @.str10012, ptr %t247) + %t249 = call ptr @fn_emit_bind(ptr %t248) + store ptr %t249, ptr %t250 + %t251 = load ptr, ptr %t250 + %t252 = call ptr @lp_str_concat(ptr @.str10013, ptr %t251) + %t253 = call ptr @lp_str_concat(ptr %t252, ptr @.str10014) + %t254 = call ptr @fn_emit_bind(ptr %t253) + store ptr %t254, ptr %t255 + %t256 = call ptr @fn_lbl(ptr @.str10015) + store ptr %t256, ptr %t257 + %t258 = call ptr @fn_lbl(ptr @.str10016) + store ptr %t258, ptr %t259 + call void @fn_emit(ptr @.str10017) + %t260 = load ptr, ptr %t255 + call void @fn_emit(ptr %t260) + call void @fn_emit(ptr @.str10018) + %t261 = load ptr, ptr %t259 + call void @fn_emit(ptr %t261) + call void @fn_emit(ptr @.str10019) + %t262 = load ptr, ptr %t257 + call void @fn_emit(ptr %t262) + call void @fn_emit(ptr @.str10020) + %t263 = load ptr, ptr %t257 + call void @fn_emit(ptr %t263) + call void @fn_emit(ptr @.str10021) + call void @fn_emit(ptr @.str10022) + %t264 = load ptr, ptr %t250 + call void @fn_emit(ptr %t264) + call void @fn_emit(ptr @.str10023) + %t265 = load ptr, ptr %t104 + call void @fn_emit(ptr %t265) + call void @fn_emit(ptr @.str10024) + call void @fn_emit(ptr @.str10025) + %t266 = load ptr, ptr %t259 + call void @fn_emit(ptr %t266) + call void @fn_emit(ptr @.str10026) + %t267 = load ptr, ptr %t259 + call void @fn_emit(ptr %t267) + call void @fn_emit(ptr @.str10027) + %t268 = load ptr, ptr %t225 + %t269 = call ptr @lp_str_concat(ptr @.str10028, ptr %t268) + %t270 = call ptr @lp_str_concat(ptr %t269, ptr @.str10029) + %t271 = call ptr @fn_emit_bind(ptr %t270) + store ptr %t271, ptr %t272 + call void @fn_emit(ptr @.str10030) + %t273 = load ptr, ptr %t272 + call void @fn_emit(ptr %t273) + call void @fn_emit(ptr @.str10031) + %t274 = load ptr, ptr %t212 + call void @fn_emit(ptr %t274) + call void @fn_emit(ptr @.str10032) + call void @fn_emit(ptr @.str10033) + %t275 = load ptr, ptr %t215 + call void @fn_emit(ptr %t275) + call void @fn_emit(ptr @.str10034) + %t276 = load ptr, ptr %t219 + call void @fn_emit(ptr %t276) + call void @fn_emit(ptr @.str10035) + call void @fn_emit(ptr @.str10036) + br label %ifend32 +ifend32: + call void @fn_emit(ptr @.str10037) + call void @fn_emit(ptr @.str10038) + %t277 = load ptr, ptr %t14 + %t278 = getelementptr inbounds %Cmp_Node, ptr %t277, i32 0, i32 2 + %t279 = load i32, ptr %t278 + %t280 = icmp eq i32 %t279, 1 + %t281 = zext i1 %t280 to i32 + %t282 = icmp ne i32 %t281, 0 + br i1 %t282, label %then33, label %else34 +then33: + %t283 = load ptr, ptr %t156 + %t284 = call ptr @lp_str_concat(ptr @.str10039, ptr %t283) + %t285 = call ptr @fn_emit_bind(ptr %t284) + store ptr %t285, ptr %t286 + call void @fn_emit(ptr @.str10040) + %t287 = load ptr, ptr %t286 + call void @fn_emit(ptr %t287) + call void @fn_emit(ptr @.str10041) + br label %ifend35 +else34: + call void @fn_emit(ptr @.str10042) + 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 @.str10043, 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 @.str10044, ptr %t289 + br label %ifend38 +ifend38: + call void @fn_emit(ptr @.str10045) + %t296 = load ptr, ptr %t289 + call void @fn_emit(ptr %t296) + call void @fn_emit(ptr @.str10046) + %t297 = load ptr, ptr %t18 + call void @fn_emit(ptr %t297) + call void @fn_emit(ptr @.str10047) + 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 @.str10048) + 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 @.str10049) + %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 @.str10050) + %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 @.str10051) + %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 @.str10052) + 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 @.str10053) + %t355 = load ptr, ptr %t354 + call void @fn_emit(ptr %t355) + call void @fn_emit(ptr @.str10054) + call void @fn_emit(ptr @.str10055) + %t356 = load ptr, ptr %t354 + call void @fn_emit(ptr %t356) + call void @fn_emit(ptr @.str10056) + call void @fn_emit(ptr @.str10057) + %t357 = load ptr, ptr %t354 + call void @fn_emit(ptr %t357) + call void @fn_emit(ptr @.str10058) + %t358 = load ptr, ptr %t351 + call void @fn_emit(ptr %t358) + call void @fn_emit(ptr @.str10059) + call void @fn_emit(ptr @.str10060) + %t359 = load ptr, ptr %t354 + call void @fn_emit(ptr %t359) + call void @fn_emit(ptr @.str10061) + %t360 = load ptr, ptr %t354 + call void @fn_emit(ptr %t360) + call void @fn_emit(ptr @.str10062) + %t361 = load ptr, ptr %t354 + call void @fn_emit(ptr %t361) + call void @fn_emit(ptr @.str10063) + call void @fn_emit(ptr @.str10064) + %t362 = load ptr, ptr %t354 + call void @fn_emit(ptr %t362) + call void @fn_emit(ptr @.str10065) + %t363 = load ptr, ptr %t354 + call void @fn_emit(ptr %t363) + call void @fn_emit(ptr @.str10066) + %t364 = load ptr, ptr %t354 + call void @fn_emit(ptr %t364) + call void @fn_emit(ptr @.str10067) + call void @fn_emit(ptr @.str10068) + %t365 = load ptr, ptr %t354 + call void @fn_emit(ptr %t365) + call void @fn_emit(ptr @.str10069) + call void @fn_emit(ptr @.str10070) + %t366 = load ptr, ptr %t354 + call void @fn_emit(ptr %t366) + call void @fn_emit(ptr @.str10071) + %t367 = load ptr, ptr %t334 + call void @fn_emit(ptr %t367) + call void @fn_emit(ptr @.str10072) + %t368 = load ptr, ptr %t351 + call void @fn_emit(ptr %t368) + call void @fn_emit(ptr @.str10073) + %t369 = load ptr, ptr %t354 + call void @fn_emit(ptr %t369) + call void @fn_emit(ptr @.str10074) + call void @fn_emit(ptr @.str10075) + %t370 = load ptr, ptr %t354 + call void @fn_emit(ptr %t370) + call void @fn_emit(ptr @.str10076) + %t371 = load ptr, ptr %t354 + call void @fn_emit(ptr %t371) + call void @fn_emit(ptr @.str10077) + call void @fn_emit(ptr @.str10078) + %t372 = load ptr, ptr %t354 + call void @fn_emit(ptr %t372) + call void @fn_emit(ptr @.str10079) + %t373 = load ptr, ptr %t354 + call void @fn_emit(ptr %t373) + call void @fn_emit(ptr @.str10080) + call void @fn_emit(ptr @.str10081) + %t374 = load ptr, ptr %t354 + call void @fn_emit(ptr %t374) + call void @fn_emit(ptr @.str10082) + %t375 = load ptr, ptr %t354 + call void @fn_emit(ptr %t375) + call void @fn_emit(ptr @.str10083) + %t376 = load ptr, ptr %t354 + call void @fn_emit(ptr %t376) + call void @fn_emit(ptr @.str10084) + call void @fn_emit(ptr @.str10085) + %t377 = load ptr, ptr %t354 + call void @fn_emit(ptr %t377) + call void @fn_emit(ptr @.str10086) + call void @fn_emit(ptr @.str10087) + %t378 = load ptr, ptr %t354 + call void @fn_emit(ptr %t378) + call void @fn_emit(ptr @.str10088) + %t379 = load ptr, ptr %t334 + call void @fn_emit(ptr %t379) + call void @fn_emit(ptr @.str10089) + %t380 = load ptr, ptr %t351 + call void @fn_emit(ptr %t380) + call void @fn_emit(ptr @.str10090) + %t381 = load ptr, ptr %t354 + call void @fn_emit(ptr %t381) + call void @fn_emit(ptr @.str10091) + call void @fn_emit(ptr @.str10092) + %t382 = load ptr, ptr %t354 + call void @fn_emit(ptr %t382) + call void @fn_emit(ptr @.str10093) + %t383 = load ptr, ptr %t354 + call void @fn_emit(ptr %t383) + call void @fn_emit(ptr @.str10094) + call void @fn_emit(ptr @.str10095) + %t384 = load ptr, ptr %t354 + call void @fn_emit(ptr %t384) + call void @fn_emit(ptr @.str10096) + call void @fn_emit(ptr @.str10097) + %t385 = load ptr, ptr %t354 + call void @fn_emit(ptr %t385) + call void @fn_emit(ptr @.str10098) + %t386 = load ptr, ptr %t354 + call void @fn_emit(ptr %t386) + call void @fn_emit(ptr @.str10099) + %t387 = load ptr, ptr %t354 + call void @fn_emit(ptr %t387) + call void @fn_emit(ptr @.str10100) + %t388 = load ptr, ptr %t354 + call void @fn_emit(ptr %t388) + call void @fn_emit(ptr @.str10101) + call void @fn_emit(ptr @.str10102) + %t389 = load ptr, ptr %t354 + call void @fn_emit(ptr %t389) + call void @fn_emit(ptr @.str10103) + %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 @.str10104) + %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 @.str10105) + br label %ifend50 +else49: + call void @fn_emit(ptr @.str10106) + 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 @.str10107) + br label %ret +ret: + ret void +} + +define void @fn_emit_world_table() { +entry: + %t1 = alloca ptr + %t2 = alloca i32 + %t3 = alloca i32 + %t28 = alloca ptr + %t29 = alloca i32 + %t30 = alloca i32 + %t58 = alloca ptr + %t61 = alloca ptr + %t101 = alloca ptr + %t104 = alloca ptr + %t111 = alloca i32 + %t132 = alloca ptr + %t138 = alloca ptr + %t181 = alloca ptr + %t185 = alloca ptr + %t188 = alloca ptr + %t199 = alloca i32 + %t220 = alloca ptr + %t226 = alloca ptr + %t293 = alloca ptr + %t297 = alloca ptr + %t300 = alloca ptr + %t311 = alloca i32 + %t332 = alloca ptr + %t338 = alloca ptr + %t401 = alloca ptr + %t404 = alloca ptr + %t459 = alloca ptr + %t462 = alloca ptr + %t512 = alloca ptr + %t514 = alloca ptr + %t517 = alloca ptr + %t520 = alloca ptr + %t526 = alloca ptr + %t562 = alloca ptr + %t565 = alloca ptr + %t0 = call ptr @fn_itoa(i32 1024) + store ptr %t0, ptr %t1 + store i32 0, ptr %t2 + store i32 0, ptr %t3 + br label %wcond0 +wcond0: + %t4 = load i32, ptr %t3 + %t5 = load ptr, ptr @g_prog + %t6 = getelementptr inbounds %LSlice, ptr %t5, i32 0, i32 1 + %t7 = load i32, ptr %t6 + %t8 = icmp slt i32 %t4, %t7 + %t9 = zext i1 %t8 to i32 + %t10 = icmp ne i32 %t9, 0 + br i1 %t10, label %wbody1, label %wend2 +wbody1: + %t11 = load ptr, ptr @g_prog + %t12 = getelementptr inbounds %LSlice, ptr %t11, i32 0, i32 0 + %t13 = load ptr, ptr %t12 + %t14 = load i32, ptr %t3 + %t15 = getelementptr inbounds ptr, ptr %t13, i32 %t14 + %t16 = load ptr, ptr %t15 + %t17 = getelementptr inbounds %Cmp_Node, ptr %t16, i32 0, i32 0 + %t18 = load i32, ptr %t17 + %t19 = icmp eq i32 %t18, 8 + %t20 = zext i1 %t19 to i32 + %t21 = icmp ne i32 %t20, 0 + br i1 %t21, label %then3, label %ifend5 +then3: + %t22 = load i32, ptr %t2 + %t23 = add i32 %t22, 1 + store i32 %t23, ptr %t2 + br label %ifend5 +ifend5: + %t24 = load i32, ptr %t3 + %t25 = add i32 %t24, 1 + store i32 %t25, ptr %t3 + br label %wcond0 +wend2: + %t26 = load i32, ptr %t2 + %t27 = call ptr @fn_itoa(i32 %t26) + store ptr %t27, ptr %t28 + call void @fn_emith(ptr @.str10108) + call void @fn_emith(ptr @.str10109) + call void @fn_emith(ptr @.str10110) + call void @fn_emith(ptr @.str10111) + call void @fn_emith(ptr @.str10112) + call void @fn_emit(ptr @.str10113) + 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 @.str10114) + %t62 = load ptr, ptr %t61 + call void @fn_emit(ptr %t62) + call void @fn_emit(ptr @.str10115) + %t63 = load ptr, ptr %t58 + call void @fn_emit(ptr %t63) + call void @fn_emit(ptr @.str10116) + call void @fn_emit(ptr @.str10117) + %t64 = load ptr, ptr %t61 + call void @fn_emit(ptr %t64) + call void @fn_emit(ptr @.str10118) + %t65 = load ptr, ptr %t61 + call void @fn_emit(ptr %t65) + call void @fn_emit(ptr @.str10119) + call void @fn_emit(ptr @.str10120) + %t66 = load ptr, ptr %t61 + call void @fn_emit(ptr %t66) + call void @fn_emit(ptr @.str10121) + %t67 = load ptr, ptr %t61 + call void @fn_emit(ptr %t67) + call void @fn_emit(ptr @.str10122) + %t68 = load ptr, ptr %t61 + call void @fn_emit(ptr %t68) + call void @fn_emit(ptr @.str10123) + call void @fn_emit(ptr @.str10124) + %t69 = load ptr, ptr %t61 + call void @fn_emit(ptr %t69) + call void @fn_emit(ptr @.str10125) + %t70 = load ptr, ptr %t61 + call void @fn_emit(ptr %t70) + call void @fn_emit(ptr @.str10126) + call void @fn_emit(ptr @.str10127) + %t71 = load ptr, ptr %t61 + call void @fn_emit(ptr %t71) + call void @fn_emit(ptr @.str10128) + %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 @.str10129) + call void @fn_emit(ptr @.str10130) + call void @fn_emit(ptr @.str10131) + call void @fn_emit(ptr @.str10132) + %t76 = load ptr, ptr %t28 + call void @fn_emit(ptr %t76) + call void @fn_emit(ptr @.str10133) + call void @fn_emit(ptr @.str10134) + call void @fn_emit(ptr @.str10135) + call void @fn_emit(ptr @.str10136) + 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 @.str10137) + %t105 = load ptr, ptr %t104 + call void @fn_emit(ptr %t105) + call void @fn_emit(ptr @.str10138) + %t106 = load ptr, ptr %t104 + call void @fn_emit(ptr %t106) + call void @fn_emit(ptr @.str10139) + call void @fn_emit(ptr @.str10140) + %t107 = load ptr, ptr %t104 + call void @fn_emit(ptr %t107) + call void @fn_emit(ptr @.str10141) + %t108 = load ptr, ptr %t104 + call void @fn_emit(ptr %t108) + call void @fn_emit(ptr @.str10142) + %t109 = load ptr, ptr %t104 + call void @fn_emit(ptr %t109) + call void @fn_emit(ptr @.str10143) + call void @fn_emit(ptr @.str10144) + %t110 = load ptr, ptr %t104 + call void @fn_emit(ptr %t110) + call void @fn_emit(ptr @.str10145) + store i32 0, ptr %t111 + br label %wcond18 +wcond18: + %t112 = load i32, ptr %t111 + %t113 = load ptr, ptr %t101 + %t114 = getelementptr inbounds %Cmp_Node, ptr %t113, i32 0, i32 7 + %t115 = load ptr, ptr %t114 + %t116 = getelementptr inbounds %LSlice, ptr %t115, i32 0, i32 1 + %t117 = load i32, ptr %t116 + %t118 = icmp slt i32 %t112, %t117 + %t119 = zext i1 %t118 to i32 + %t120 = icmp ne i32 %t119, 0 + br i1 %t120, label %wbody19, label %wend20 +wbody19: + %t121 = load ptr, ptr %t101 + %t122 = getelementptr inbounds %Cmp_Node, ptr %t121, i32 0, i32 7 + %t123 = load ptr, ptr %t122 + %t124 = getelementptr inbounds %LSlice, ptr %t123, i32 0, i32 0 + %t125 = load ptr, ptr %t124 + %t126 = load i32, ptr %t111 + %t127 = getelementptr inbounds ptr, ptr %t125, i32 %t126 + %t128 = load ptr, ptr %t127 + %t129 = getelementptr inbounds %Cmp_Node, ptr %t128, i32 0, i32 1 + %t130 = load ptr, ptr %t129 + %t131 = call ptr @fn_emit_str_const(ptr %t130) + store ptr %t131, ptr %t132 + %t133 = load ptr, ptr %t104 + %t134 = call ptr @lp_str_concat(ptr %t133, ptr @.str10146) + %t135 = load i32, ptr %t111 + %t136 = call ptr @fn_itoa(i32 %t135) + %t137 = call ptr @lp_str_concat(ptr %t134, ptr %t136) + store ptr %t137, ptr %t138 + call void @fn_emit(ptr @.str10147) + %t139 = load ptr, ptr %t138 + call void @fn_emit(ptr %t139) + call void @fn_emit(ptr @.str10148) + %t140 = load ptr, ptr %t132 + call void @fn_emit(ptr %t140) + call void @fn_emit(ptr @.str10149) + call void @fn_emit(ptr @.str10150) + %t141 = load ptr, ptr %t138 + call void @fn_emit(ptr %t141) + call void @fn_emit(ptr @.str10151) + %t142 = load ptr, ptr %t138 + call void @fn_emit(ptr %t142) + call void @fn_emit(ptr @.str10152) + call void @fn_emit(ptr @.str10153) + %t143 = load ptr, ptr %t138 + call void @fn_emit(ptr %t143) + call void @fn_emit(ptr @.str10154) + %t144 = load ptr, ptr %t138 + call void @fn_emit(ptr %t144) + call void @fn_emit(ptr @.str10155) + %t145 = load ptr, ptr %t138 + call void @fn_emit(ptr %t145) + call void @fn_emit(ptr @.str10156) + call void @fn_emit(ptr @.str10157) + %t146 = load ptr, ptr %t138 + call void @fn_emit(ptr %t146) + call void @fn_emit(ptr @.str10158) + %t147 = load i32, ptr %t111 + %t148 = call ptr @fn_itoa(i32 %t147) + call void @fn_emit(ptr %t148) + call void @fn_emit(ptr @.str10159) + call void @fn_emit(ptr @.str10160) + %t149 = load ptr, ptr %t138 + call void @fn_emit(ptr %t149) + call void @fn_emit(ptr @.str10161) + %t150 = load i32, ptr %t111 + %t151 = add i32 %t150, 1 + store i32 %t151, ptr %t111 + br label %wcond18 +wend20: + call void @fn_emit(ptr @.str10162) + call void @fn_emit(ptr @.str10163) + %t152 = load ptr, ptr %t104 + call void @fn_emit(ptr %t152) + call void @fn_emit(ptr @.str10164) + %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 @.str10165) + call void @fn_emit(ptr @.str10166) + 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 @.str10167) + %t189 = load ptr, ptr %t188 + call void @fn_emit(ptr %t189) + call void @fn_emit(ptr @.str10168) + %t190 = load ptr, ptr %t188 + call void @fn_emit(ptr %t190) + call void @fn_emit(ptr @.str10169) + call void @fn_emit(ptr @.str10170) + %t191 = load ptr, ptr %t188 + call void @fn_emit(ptr %t191) + call void @fn_emit(ptr @.str10171) + %t192 = load ptr, ptr %t188 + call void @fn_emit(ptr %t192) + call void @fn_emit(ptr @.str10172) + %t193 = load ptr, ptr %t188 + call void @fn_emit(ptr %t193) + call void @fn_emit(ptr @.str10173) + call void @fn_emit(ptr @.str10174) + %t194 = load ptr, ptr %t188 + call void @fn_emit(ptr %t194) + call void @fn_emit(ptr @.str10175) + call void @fn_emit(ptr @.str10176) + %t195 = load ptr, ptr %t188 + call void @fn_emit(ptr %t195) + call void @fn_emit(ptr @.str10177) + %t196 = load ptr, ptr %t1 + call void @fn_emit(ptr %t196) + call void @fn_emit(ptr @.str10178) + %t197 = load ptr, ptr %t185 + call void @fn_emit(ptr %t197) + call void @fn_emit(ptr @.str10179) + %t198 = load ptr, ptr %t185 + call void @fn_emit(ptr %t198) + call void @fn_emit(ptr @.str10180) + store i32 0, ptr %t199 + br label %wcond27 +wcond27: + %t200 = load i32, ptr %t199 + %t201 = load ptr, ptr %t181 + %t202 = getelementptr inbounds %Cmp_Node, ptr %t201, i32 0, i32 7 + %t203 = load ptr, ptr %t202 + %t204 = getelementptr inbounds %LSlice, ptr %t203, i32 0, i32 1 + %t205 = load i32, ptr %t204 + %t206 = icmp slt i32 %t200, %t205 + %t207 = zext i1 %t206 to i32 + %t208 = icmp ne i32 %t207, 0 + br i1 %t208, label %wbody28, label %wend29 +wbody28: + %t209 = load ptr, ptr %t181 + %t210 = getelementptr inbounds %Cmp_Node, ptr %t209, i32 0, i32 7 + %t211 = load ptr, ptr %t210 + %t212 = getelementptr inbounds %LSlice, ptr %t211, i32 0, i32 0 + %t213 = load ptr, ptr %t212 + %t214 = load i32, ptr %t199 + %t215 = getelementptr inbounds ptr, ptr %t213, i32 %t214 + %t216 = load ptr, ptr %t215 + %t217 = getelementptr inbounds %Cmp_Node, ptr %t216, i32 0, i32 3 + %t218 = load ptr, ptr %t217 + %t219 = call ptr @fn_llty(ptr %t218) + store ptr %t219, ptr %t220 + %t221 = load ptr, ptr %t188 + %t222 = call ptr @lp_str_concat(ptr %t221, ptr @.str10181) + %t223 = load i32, ptr %t199 + %t224 = call ptr @fn_itoa(i32 %t223) + %t225 = call ptr @lp_str_concat(ptr %t222, ptr %t224) + store ptr %t225, ptr %t226 + call void @fn_emit(ptr @.str10182) + %t227 = load ptr, ptr %t226 + call void @fn_emit(ptr %t227) + call void @fn_emit(ptr @.str10183) + %t228 = load i32, ptr %t199 + %t229 = call ptr @fn_itoa(i32 %t228) + call void @fn_emit(ptr %t229) + call void @fn_emit(ptr @.str10184) + call void @fn_emit(ptr @.str10185) + %t230 = load ptr, ptr %t226 + call void @fn_emit(ptr %t230) + call void @fn_emit(ptr @.str10186) + %t231 = load ptr, ptr %t226 + call void @fn_emit(ptr %t231) + call void @fn_emit(ptr @.str10187) + %t232 = load ptr, ptr %t226 + call void @fn_emit(ptr %t232) + call void @fn_emit(ptr @.str10188) + call void @fn_emit(ptr @.str10189) + %t233 = load ptr, ptr %t226 + call void @fn_emit(ptr %t233) + call void @fn_emit(ptr @.str10190) + call void @fn_emit(ptr @.str10191) + %t234 = load ptr, ptr %t226 + call void @fn_emit(ptr %t234) + call void @fn_emit(ptr @.str10192) + %t235 = load ptr, ptr %t185 + call void @fn_emit(ptr %t235) + call void @fn_emit(ptr @.str10193) + %t236 = load ptr, ptr %t188 + call void @fn_emit(ptr %t236) + call void @fn_emit(ptr @.str10194) + %t237 = load i32, ptr %t199 + %t238 = call ptr @fn_itoa(i32 %t237) + call void @fn_emit(ptr %t238) + call void @fn_emit(ptr @.str10195) + %t239 = load ptr, ptr %t220 + %t240 = call i32 @lp_str_eq(ptr %t239, ptr @.str10196) + %t241 = icmp ne i32 %t240, 0 + br i1 %t241, label %then30, label %else31 +then30: + call void @fn_emit(ptr @.str10197) + %t242 = load ptr, ptr %t226 + call void @fn_emit(ptr %t242) + call void @fn_emit(ptr @.str10198) + %t243 = load ptr, ptr %t226 + call void @fn_emit(ptr %t243) + call void @fn_emit(ptr @.str10199) + call void @fn_emit(ptr @.str10200) + %t244 = load ptr, ptr %t226 + call void @fn_emit(ptr %t244) + call void @fn_emit(ptr @.str10201) + %t245 = load ptr, ptr %t226 + call void @fn_emit(ptr %t245) + call void @fn_emit(ptr @.str10202) + %t246 = load ptr, ptr %t226 + call void @fn_emit(ptr %t246) + call void @fn_emit(ptr @.str10203) + br label %ifend32 +else31: + %t247 = load ptr, ptr %t220 + %t248 = call i32 @lp_str_eq(ptr %t247, ptr @.str10204) + %t249 = icmp ne i32 %t248, 0 + br i1 %t249, label %then33, label %else34 +then33: + call void @fn_emit(ptr @.str10205) + %t250 = load ptr, ptr %t226 + call void @fn_emit(ptr %t250) + call void @fn_emit(ptr @.str10206) + %t251 = load ptr, ptr %t226 + call void @fn_emit(ptr %t251) + call void @fn_emit(ptr @.str10207) + call void @fn_emit(ptr @.str10208) + %t252 = load ptr, ptr %t226 + call void @fn_emit(ptr %t252) + call void @fn_emit(ptr @.str10209) + %t253 = load ptr, ptr %t226 + call void @fn_emit(ptr %t253) + call void @fn_emit(ptr @.str10210) + %t254 = load ptr, ptr %t226 + call void @fn_emit(ptr %t254) + call void @fn_emit(ptr @.str10211) + br label %ifend35 +else34: + call void @fn_emit(ptr @.str10212) + %t255 = load ptr, ptr %t226 + call void @fn_emit(ptr %t255) + call void @fn_emit(ptr @.str10213) + %t256 = load ptr, ptr %t226 + call void @fn_emit(ptr %t256) + call void @fn_emit(ptr @.str10214) + call void @fn_emit(ptr @.str10215) + %t257 = load ptr, ptr %t226 + call void @fn_emit(ptr %t257) + call void @fn_emit(ptr @.str10216) + %t258 = load ptr, ptr %t226 + call void @fn_emit(ptr %t258) + call void @fn_emit(ptr @.str10217) + %t259 = load ptr, ptr %t226 + call void @fn_emit(ptr %t259) + call void @fn_emit(ptr @.str10218) + br label %ifend35 +ifend35: + br label %ifend32 +ifend32: + call void @fn_emit(ptr @.str10219) + %t260 = load ptr, ptr %t226 + call void @fn_emit(ptr %t260) + call void @fn_emit(ptr @.str10220) + %t261 = load i32, ptr %t199 + %t262 = add i32 %t261, 1 + store i32 %t262, ptr %t199 + br label %wcond27 +wend29: + call void @fn_emit(ptr @.str10221) + call void @fn_emit(ptr @.str10222) + %t263 = load ptr, ptr %t188 + call void @fn_emit(ptr %t263) + call void @fn_emit(ptr @.str10223) + %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 @.str10224) + %t268 = load ptr, ptr %t28 + call void @fn_emit(ptr %t268) + call void @fn_emit(ptr @.str10225) + call void @fn_emit(ptr @.str10226) + call void @fn_emit(ptr @.str10227) + call void @fn_emit(ptr @.str10228) + call void @fn_emit(ptr @.str10229) + call void @fn_emit(ptr @.str10230) + call void @fn_emit(ptr @.str10231) + 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 @.str10232) + %t301 = load ptr, ptr %t300 + call void @fn_emit(ptr %t301) + call void @fn_emit(ptr @.str10233) + %t302 = load ptr, ptr %t300 + call void @fn_emit(ptr %t302) + call void @fn_emit(ptr @.str10234) + call void @fn_emit(ptr @.str10235) + %t303 = load ptr, ptr %t300 + call void @fn_emit(ptr %t303) + call void @fn_emit(ptr @.str10236) + %t304 = load ptr, ptr %t300 + call void @fn_emit(ptr %t304) + call void @fn_emit(ptr @.str10237) + %t305 = load ptr, ptr %t300 + call void @fn_emit(ptr %t305) + call void @fn_emit(ptr @.str10238) + call void @fn_emit(ptr @.str10239) + %t306 = load ptr, ptr %t300 + call void @fn_emit(ptr %t306) + call void @fn_emit(ptr @.str10240) + call void @fn_emit(ptr @.str10241) + %t307 = load ptr, ptr %t300 + call void @fn_emit(ptr %t307) + call void @fn_emit(ptr @.str10242) + %t308 = load ptr, ptr %t1 + call void @fn_emit(ptr %t308) + call void @fn_emit(ptr @.str10243) + %t309 = load ptr, ptr %t297 + call void @fn_emit(ptr %t309) + call void @fn_emit(ptr @.str10244) + %t310 = load ptr, ptr %t297 + call void @fn_emit(ptr %t310) + call void @fn_emit(ptr @.str10245) + store i32 0, ptr %t311 + br label %wcond42 +wcond42: + %t312 = load i32, ptr %t311 + %t313 = load ptr, ptr %t293 + %t314 = getelementptr inbounds %Cmp_Node, ptr %t313, i32 0, i32 7 + %t315 = load ptr, ptr %t314 + %t316 = getelementptr inbounds %LSlice, ptr %t315, i32 0, i32 1 + %t317 = load i32, ptr %t316 + %t318 = icmp slt i32 %t312, %t317 + %t319 = zext i1 %t318 to i32 + %t320 = icmp ne i32 %t319, 0 + br i1 %t320, label %wbody43, label %wend44 +wbody43: + %t321 = load ptr, ptr %t293 + %t322 = getelementptr inbounds %Cmp_Node, ptr %t321, i32 0, i32 7 + %t323 = load ptr, ptr %t322 + %t324 = getelementptr inbounds %LSlice, ptr %t323, i32 0, i32 0 + %t325 = load ptr, ptr %t324 + %t326 = load i32, ptr %t311 + %t327 = getelementptr inbounds ptr, ptr %t325, i32 %t326 + %t328 = load ptr, ptr %t327 + %t329 = getelementptr inbounds %Cmp_Node, ptr %t328, i32 0, i32 3 + %t330 = load ptr, ptr %t329 + %t331 = call ptr @fn_llty(ptr %t330) + store ptr %t331, ptr %t332 + %t333 = load ptr, ptr %t300 + %t334 = call ptr @lp_str_concat(ptr %t333, ptr @.str10246) + %t335 = load i32, ptr %t311 + %t336 = call ptr @fn_itoa(i32 %t335) + %t337 = call ptr @lp_str_concat(ptr %t334, ptr %t336) + store ptr %t337, ptr %t338 + call void @fn_emit(ptr @.str10247) + %t339 = load ptr, ptr %t338 + call void @fn_emit(ptr %t339) + call void @fn_emit(ptr @.str10248) + %t340 = load i32, ptr %t311 + %t341 = call ptr @fn_itoa(i32 %t340) + call void @fn_emit(ptr %t341) + call void @fn_emit(ptr @.str10249) + call void @fn_emit(ptr @.str10250) + %t342 = load ptr, ptr %t338 + call void @fn_emit(ptr %t342) + call void @fn_emit(ptr @.str10251) + %t343 = load ptr, ptr %t338 + call void @fn_emit(ptr %t343) + call void @fn_emit(ptr @.str10252) + %t344 = load ptr, ptr %t338 + call void @fn_emit(ptr %t344) + call void @fn_emit(ptr @.str10253) + call void @fn_emit(ptr @.str10254) + %t345 = load ptr, ptr %t338 + call void @fn_emit(ptr %t345) + call void @fn_emit(ptr @.str10255) + call void @fn_emit(ptr @.str10256) + %t346 = load ptr, ptr %t338 + call void @fn_emit(ptr %t346) + call void @fn_emit(ptr @.str10257) + %t347 = load ptr, ptr %t297 + call void @fn_emit(ptr %t347) + call void @fn_emit(ptr @.str10258) + %t348 = load ptr, ptr %t300 + call void @fn_emit(ptr %t348) + call void @fn_emit(ptr @.str10259) + %t349 = load i32, ptr %t311 + %t350 = call ptr @fn_itoa(i32 %t349) + call void @fn_emit(ptr %t350) + call void @fn_emit(ptr @.str10260) + %t351 = load ptr, ptr %t332 + %t352 = call i32 @lp_str_eq(ptr %t351, ptr @.str10261) + %t353 = icmp ne i32 %t352, 0 + br i1 %t353, label %then45, label %else46 +then45: + call void @fn_emit(ptr @.str10262) + %t354 = load ptr, ptr %t338 + call void @fn_emit(ptr %t354) + call void @fn_emit(ptr @.str10263) + call void @fn_emit(ptr @.str10264) + %t355 = load ptr, ptr %t338 + call void @fn_emit(ptr %t355) + call void @fn_emit(ptr @.str10265) + %t356 = load ptr, ptr %t338 + call void @fn_emit(ptr %t356) + call void @fn_emit(ptr @.str10266) + br label %ifend47 +else46: + %t357 = load ptr, ptr %t332 + %t358 = call i32 @lp_str_eq(ptr %t357, ptr @.str10267) + %t359 = icmp ne i32 %t358, 0 + br i1 %t359, label %then48, label %else49 +then48: + call void @fn_emit(ptr @.str10268) + %t360 = load ptr, ptr %t338 + call void @fn_emit(ptr %t360) + call void @fn_emit(ptr @.str10269) + call void @fn_emit(ptr @.str10270) + %t361 = load ptr, ptr %t338 + call void @fn_emit(ptr %t361) + call void @fn_emit(ptr @.str10271) + %t362 = load ptr, ptr %t338 + call void @fn_emit(ptr %t362) + call void @fn_emit(ptr @.str10272) + br label %ifend50 +else49: + call void @fn_emit(ptr @.str10273) + %t363 = load ptr, ptr %t338 + call void @fn_emit(ptr %t363) + call void @fn_emit(ptr @.str10274) + call void @fn_emit(ptr @.str10275) + %t364 = load ptr, ptr %t338 + call void @fn_emit(ptr %t364) + call void @fn_emit(ptr @.str10276) + %t365 = load ptr, ptr %t338 + call void @fn_emit(ptr %t365) + call void @fn_emit(ptr @.str10277) + br label %ifend50 +ifend50: + br label %ifend47 +ifend47: + call void @fn_emit(ptr @.str10278) + %t366 = load ptr, ptr %t338 + call void @fn_emit(ptr %t366) + call void @fn_emit(ptr @.str10279) + %t367 = load i32, ptr %t311 + %t368 = add i32 %t367, 1 + store i32 %t368, ptr %t311 + br label %wcond42 +wend44: + call void @fn_emit(ptr @.str10280) + call void @fn_emit(ptr @.str10281) + %t369 = load ptr, ptr %t300 + call void @fn_emit(ptr %t369) + call void @fn_emit(ptr @.str10282) + %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 @.str10283) + %t374 = load ptr, ptr %t28 + call void @fn_emit(ptr %t374) + call void @fn_emit(ptr @.str10284) + call void @fn_emit(ptr @.str10285) + call void @fn_emit(ptr @.str10286) + call void @fn_emit(ptr @.str10287) + call void @fn_emit(ptr @.str10288) + call void @fn_emit(ptr @.str10289) + call void @fn_emit(ptr @.str10290) + 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 @.str10291) + %t405 = load ptr, ptr %t404 + call void @fn_emit(ptr %t405) + call void @fn_emit(ptr @.str10292) + %t406 = load ptr, ptr %t404 + call void @fn_emit(ptr %t406) + call void @fn_emit(ptr @.str10293) + call void @fn_emit(ptr @.str10294) + %t407 = load ptr, ptr %t404 + call void @fn_emit(ptr %t407) + call void @fn_emit(ptr @.str10295) + %t408 = load ptr, ptr %t404 + call void @fn_emit(ptr %t408) + call void @fn_emit(ptr @.str10296) + %t409 = load ptr, ptr %t404 + call void @fn_emit(ptr %t409) + call void @fn_emit(ptr @.str10297) + call void @fn_emit(ptr @.str10298) + %t410 = load ptr, ptr %t404 + call void @fn_emit(ptr %t410) + call void @fn_emit(ptr @.str10299) + call void @fn_emit(ptr @.str10300) + %t411 = load ptr, ptr %t404 + call void @fn_emit(ptr %t411) + call void @fn_emit(ptr @.str10301) + %t412 = load ptr, ptr %t1 + call void @fn_emit(ptr %t412) + call void @fn_emit(ptr @.str10302) + %t413 = load ptr, ptr %t401 + call void @fn_emit(ptr %t413) + call void @fn_emit(ptr @.str10303) + call void @fn_emit(ptr @.str10304) + %t414 = load ptr, ptr %t404 + call void @fn_emit(ptr %t414) + call void @fn_emit(ptr @.str10305) + %t415 = load ptr, ptr %t404 + call void @fn_emit(ptr %t415) + call void @fn_emit(ptr @.str10306) + call void @fn_emit(ptr @.str10307) + %t416 = load ptr, ptr %t404 + call void @fn_emit(ptr %t416) + call void @fn_emit(ptr @.str10308) + %t417 = load ptr, ptr %t404 + call void @fn_emit(ptr %t417) + call void @fn_emit(ptr @.str10309) + %t418 = load ptr, ptr %t404 + call void @fn_emit(ptr %t418) + call void @fn_emit(ptr @.str10310) + call void @fn_emit(ptr @.str10311) + %t419 = load ptr, ptr %t404 + call void @fn_emit(ptr %t419) + call void @fn_emit(ptr @.str10312) + %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 @.str10313) + %t424 = load ptr, ptr %t28 + call void @fn_emit(ptr %t424) + call void @fn_emit(ptr @.str10314) + call void @fn_emit(ptr @.str10315) + call void @fn_emit(ptr @.str10316) + call void @fn_emit(ptr @.str10317) + call void @fn_emit(ptr @.str10318) + call void @fn_emit(ptr @.str10319) + call void @fn_emit(ptr @.str10320) + %t425 = load ptr, ptr %t1 + call void @fn_emit(ptr %t425) + call void @fn_emit(ptr @.str10321) + call void @fn_emit(ptr @.str10322) + call void @fn_emit(ptr @.str10323) + call void @fn_emit(ptr @.str10324) + %t426 = load ptr, ptr %t1 + call void @fn_emit(ptr %t426) + call void @fn_emit(ptr @.str10325) + %t427 = load ptr, ptr %t1 + call void @fn_emit(ptr %t427) + call void @fn_emit(ptr @.str10326) + call void @fn_emit(ptr @.str10327) + call void @fn_emit(ptr @.str10328) + call void @fn_emit(ptr @.str10329) + call void @fn_emit(ptr @.str10330) + %t428 = load ptr, ptr %t28 + call void @fn_emit(ptr %t428) + call void @fn_emit(ptr @.str10331) + call void @fn_emit(ptr @.str10332) + call void @fn_emit(ptr @.str10333) + call void @fn_emit(ptr @.str10334) + %t429 = load ptr, ptr %t28 + call void @fn_emit(ptr %t429) + call void @fn_emit(ptr @.str10335) + call void @fn_emit(ptr @.str10336) + call void @fn_emit(ptr @.str10337) + %t430 = load ptr, ptr %t28 + call void @fn_emit(ptr %t430) + call void @fn_emit(ptr @.str10338) + call void @fn_emit(ptr @.str10339) + call void @fn_emit(ptr @.str10340) + call void @fn_emit(ptr @.str10341) + %t431 = load ptr, ptr %t1 + call void @fn_emit(ptr %t431) + call void @fn_emit(ptr @.str10342) + call void @fn_emit(ptr @.str10343) + call void @fn_emit(ptr @.str10344) + 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 @.str10345) + %t463 = load ptr, ptr %t462 + call void @fn_emit(ptr %t463) + call void @fn_emit(ptr @.str10346) + %t464 = load ptr, ptr %t459 + call void @fn_emit(ptr %t464) + call void @fn_emit(ptr @.str10347) + call void @fn_emit(ptr @.str10348) + %t465 = load ptr, ptr %t462 + call void @fn_emit(ptr %t465) + call void @fn_emit(ptr @.str10349) + %t466 = load ptr, ptr %t462 + call void @fn_emit(ptr %t466) + call void @fn_emit(ptr @.str10350) + call void @fn_emit(ptr @.str10351) + %t467 = load ptr, ptr %t462 + call void @fn_emit(ptr %t467) + call void @fn_emit(ptr @.str10352) + %t468 = load ptr, ptr %t462 + call void @fn_emit(ptr %t468) + call void @fn_emit(ptr @.str10353) + %t469 = load ptr, ptr %t462 + call void @fn_emit(ptr %t469) + call void @fn_emit(ptr @.str10354) + call void @fn_emit(ptr @.str10355) + %t470 = load ptr, ptr %t462 + call void @fn_emit(ptr %t470) + call void @fn_emit(ptr @.str10356) + %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 @.str10357) + call void @fn_emit(ptr @.str10358) + %t481 = load ptr, ptr %t462 + call void @fn_emit(ptr %t481) + call void @fn_emit(ptr @.str10359) + %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 @.str10360) + 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 @.str10361, 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 @.str10362) + %t527 = load ptr, ptr %t526 + call void @fn_emit(ptr %t527) + call void @fn_emit(ptr @.str10363) + %t528 = load ptr, ptr %t517 + store ptr %t528, ptr @g_code + call void @fn_emit(ptr @.str10364) + %t529 = load ptr, ptr %t512 + call void @fn_emit(ptr %t529) + call void @fn_emit(ptr @.str10365) + %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 @.str10366) + 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 @.str10367) + 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 @.str10368) + %t566 = load ptr, ptr %t565 + call void @fn_emit(ptr %t566) + call void @fn_emit(ptr @.str10369) + %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 @.str10370) + call void @fn_emit(ptr @.str10371) + %t570 = load ptr, ptr %t565 + call void @fn_emit(ptr %t570) + call void @fn_emit(ptr @.str10372) + %t571 = load ptr, ptr %t565 + call void @fn_emit(ptr %t571) + call void @fn_emit(ptr @.str10373) + %t572 = load ptr, ptr %t565 + call void @fn_emit(ptr %t572) + call void @fn_emit(ptr @.str10374) + call void @fn_emit(ptr @.str10375) + %t573 = load ptr, ptr %t565 + call void @fn_emit(ptr %t573) + call void @fn_emit(ptr @.str10376) + %t574 = load ptr, ptr %t565 + call void @fn_emit(ptr %t574) + call void @fn_emit(ptr @.str10377) + %t575 = load ptr, ptr %t562 + call void @fn_emit(ptr %t575) + call void @fn_emit(ptr @.str10378) + %t576 = load ptr, ptr %t565 + call void @fn_emit(ptr %t576) + call void @fn_emit(ptr @.str10379) + call void @fn_emit(ptr @.str10380) + %t577 = load ptr, ptr %t565 + call void @fn_emit(ptr %t577) + call void @fn_emit(ptr @.str10381) + %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 @.str10382) + call void @fn_emit(ptr @.str10383) + call void @fn_emit(ptr @.str10384) + call void @fn_emit(ptr @.str10385) + call void @fn_emit(ptr @.str10386) + call void @fn_emit(ptr @.str10387) + %t582 = load ptr, ptr %t1 + call void @fn_emit(ptr %t582) + call void @fn_emit(ptr @.str10388) + call void @fn_emit(ptr @.str10389) + call void @fn_emit(ptr @.str10390) + call void @fn_emit(ptr @.str10391) + call void @fn_emit(ptr @.str10392) + call void @fn_emit(ptr @.str10393) + 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 @.str10394) + store ptr %t0, ptr %t1 + %t2 = call ptr @fn_emit_str_const(ptr @.str10395) + 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 @.str10396) + call void @fn_emit(ptr @.str10397) + %t31 = load ptr, ptr %t30 + call void @fn_emit(ptr %t31) + call void @fn_emit(ptr @.str10398) + call void @fn_emit(ptr @.str10399) + 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 @.str10400) + %t64 = load ptr, ptr %t63 + call void @fn_emit(ptr %t64) + call void @fn_emit(ptr @.str10401) + %t65 = load ptr, ptr %t63 + call void @fn_emit(ptr %t65) + call void @fn_emit(ptr @.str10402) + call void @fn_emit(ptr @.str10403) + %t66 = load ptr, ptr %t63 + call void @fn_emit(ptr %t66) + call void @fn_emit(ptr @.str10404) + %t67 = load ptr, ptr %t63 + call void @fn_emit(ptr %t67) + call void @fn_emit(ptr @.str10405) + %t68 = load ptr, ptr %t63 + call void @fn_emit(ptr %t68) + call void @fn_emit(ptr @.str10406) + call void @fn_emit(ptr @.str10407) + %t69 = load ptr, ptr %t63 + call void @fn_emit(ptr %t69) + call void @fn_emit(ptr @.str10408) + %t70 = load ptr, ptr %t60 + call void @fn_emit(ptr %t70) + call void @fn_emit(ptr @.str10409) + call void @fn_emit(ptr @.str10410) + %t71 = load ptr, ptr %t63 + call void @fn_emit(ptr %t71) + call void @fn_emit(ptr @.str10411) + %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 @.str10412) + %t76 = load ptr, ptr %t30 + call void @fn_emit(ptr %t76) + call void @fn_emit(ptr @.str10413) + call void @fn_emit(ptr @.str10414) + call void @fn_emit(ptr @.str10415) + call void @fn_emit(ptr @.str10416) + %t77 = load ptr, ptr %t1 + call void @fn_emit(ptr %t77) + call void @fn_emit(ptr @.str10417) + call void @fn_emit(ptr @.str10418) + 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 @.str10419) + %t106 = load ptr, ptr %t105 + call void @fn_emit(ptr %t106) + call void @fn_emit(ptr @.str10420) + %t107 = load ptr, ptr %t105 + call void @fn_emit(ptr %t107) + call void @fn_emit(ptr @.str10421) + call void @fn_emit(ptr @.str10422) + %t108 = load ptr, ptr %t105 + call void @fn_emit(ptr %t108) + call void @fn_emit(ptr @.str10423) + %t109 = load ptr, ptr %t105 + call void @fn_emit(ptr %t109) + call void @fn_emit(ptr @.str10424) + %t110 = load ptr, ptr %t105 + call void @fn_emit(ptr %t110) + call void @fn_emit(ptr @.str10425) + call void @fn_emit(ptr @.str10426) + %t111 = load ptr, ptr %t105 + call void @fn_emit(ptr %t111) + call void @fn_emit(ptr @.str10427) + %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 @.str10428) + call void @fn_emit(ptr @.str10429) + %t118 = load ptr, ptr %t105 + call void @fn_emit(ptr %t118) + call void @fn_emit(ptr @.str10430) + %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 @.str10431) + %t123 = load ptr, ptr %t30 + call void @fn_emit(ptr %t123) + call void @fn_emit(ptr @.str10432) + call void @fn_emit(ptr @.str10433) + call void @fn_emit(ptr @.str10434) + call void @fn_emit(ptr @.str10435) + call void @fn_emit(ptr @.str10436) + 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 @.str10437) + %t152 = load ptr, ptr %t151 + call void @fn_emit(ptr %t152) + call void @fn_emit(ptr @.str10438) + %t153 = load ptr, ptr %t151 + call void @fn_emit(ptr %t153) + call void @fn_emit(ptr @.str10439) + call void @fn_emit(ptr @.str10440) + %t154 = load ptr, ptr %t151 + call void @fn_emit(ptr %t154) + call void @fn_emit(ptr @.str10441) + %t155 = load ptr, ptr %t151 + call void @fn_emit(ptr %t155) + call void @fn_emit(ptr @.str10442) + %t156 = load ptr, ptr %t151 + call void @fn_emit(ptr %t156) + call void @fn_emit(ptr @.str10443) + call void @fn_emit(ptr @.str10444) + %t157 = load ptr, ptr %t151 + call void @fn_emit(ptr %t157) + call void @fn_emit(ptr @.str10445) + store i32 0, ptr %t158 + br label %wcond24 +wcond24: + %t159 = load i32, ptr %t158 + %t160 = load ptr, ptr %t148 + %t161 = getelementptr inbounds %Cmp_Node, ptr %t160, i32 0, i32 7 + %t162 = load ptr, ptr %t161 + %t163 = getelementptr inbounds %LSlice, ptr %t162, i32 0, i32 1 + %t164 = load i32, ptr %t163 + %t165 = icmp slt i32 %t159, %t164 + %t166 = zext i1 %t165 to i32 + %t167 = icmp ne i32 %t166, 0 + br i1 %t167, label %wbody25, label %wend26 +wbody25: + %t168 = load ptr, ptr %t148 + %t169 = getelementptr inbounds %Cmp_Node, ptr %t168, i32 0, i32 7 + %t170 = load ptr, ptr %t169 + %t171 = getelementptr inbounds %LSlice, ptr %t170, i32 0, i32 0 + %t172 = load ptr, ptr %t171 + %t173 = load i32, ptr %t158 + %t174 = getelementptr inbounds ptr, ptr %t172, i32 %t173 + %t175 = load ptr, ptr %t174 + %t176 = getelementptr inbounds %Cmp_Node, ptr %t175, i32 0, i32 1 + %t177 = load ptr, ptr %t176 + %t178 = call ptr @fn_emit_str_const(ptr %t177) + store ptr %t178, ptr %t179 + %t180 = load ptr, ptr %t151 + %t181 = call ptr @lp_str_concat(ptr %t180, ptr @.str10446) + %t182 = load i32, ptr %t158 + %t183 = call ptr @fn_itoa(i32 %t182) + %t184 = call ptr @lp_str_concat(ptr %t181, ptr %t183) + store ptr %t184, ptr %t185 + call void @fn_emit(ptr @.str10447) + %t186 = load ptr, ptr %t185 + call void @fn_emit(ptr %t186) + call void @fn_emit(ptr @.str10448) + %t187 = load i32, ptr %t158 + %t188 = call ptr @fn_itoa(i32 %t187) + call void @fn_emit(ptr %t188) + call void @fn_emit(ptr @.str10449) + call void @fn_emit(ptr @.str10450) + %t189 = load ptr, ptr %t185 + call void @fn_emit(ptr %t189) + call void @fn_emit(ptr @.str10451) + %t190 = load ptr, ptr %t185 + call void @fn_emit(ptr %t190) + call void @fn_emit(ptr @.str10452) + %t191 = load ptr, ptr %t185 + call void @fn_emit(ptr %t191) + call void @fn_emit(ptr @.str10453) + call void @fn_emit(ptr @.str10454) + %t192 = load ptr, ptr %t185 + call void @fn_emit(ptr %t192) + call void @fn_emit(ptr @.str10455) + %t193 = load ptr, ptr %t179 + call void @fn_emit(ptr %t193) + call void @fn_emit(ptr @.str10456) + call void @fn_emit(ptr @.str10457) + %t194 = load ptr, ptr %t185 + call void @fn_emit(ptr %t194) + call void @fn_emit(ptr @.str10458) + %t195 = load i32, ptr %t158 + %t196 = add i32 %t195, 1 + store i32 %t196, ptr %t158 + br label %wcond24 +wend26: + call void @fn_emit(ptr @.str10459) + %t197 = load ptr, ptr %t1 + call void @fn_emit(ptr %t197) + call void @fn_emit(ptr @.str10460) + call void @fn_emit(ptr @.str10461) + %t198 = load ptr, ptr %t151 + call void @fn_emit(ptr %t198) + call void @fn_emit(ptr @.str10462) + %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 @.str10463) + %t203 = load ptr, ptr %t1 + call void @fn_emit(ptr %t203) + call void @fn_emit(ptr @.str10464) + call void @fn_emit(ptr @.str10465) + 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 @.str10466) + %t232 = load ptr, ptr %t231 + call void @fn_emit(ptr %t232) + call void @fn_emit(ptr @.str10467) + %t233 = load ptr, ptr %t231 + call void @fn_emit(ptr %t233) + call void @fn_emit(ptr @.str10468) + call void @fn_emit(ptr @.str10469) + %t234 = load ptr, ptr %t231 + call void @fn_emit(ptr %t234) + call void @fn_emit(ptr @.str10470) + %t235 = load ptr, ptr %t231 + call void @fn_emit(ptr %t235) + call void @fn_emit(ptr @.str10471) + %t236 = load ptr, ptr %t231 + call void @fn_emit(ptr %t236) + call void @fn_emit(ptr @.str10472) + call void @fn_emit(ptr @.str10473) + %t237 = load ptr, ptr %t231 + call void @fn_emit(ptr %t237) + call void @fn_emit(ptr @.str10474) + store i32 0, ptr %t238 + br label %wcond33 +wcond33: + %t239 = load i32, ptr %t238 + %t240 = load ptr, ptr %t228 + %t241 = getelementptr inbounds %Cmp_Node, ptr %t240, i32 0, i32 7 + %t242 = load ptr, ptr %t241 + %t243 = getelementptr inbounds %LSlice, ptr %t242, i32 0, i32 1 + %t244 = load i32, ptr %t243 + %t245 = icmp slt i32 %t239, %t244 + %t246 = zext i1 %t245 to i32 + %t247 = icmp ne i32 %t246, 0 + br i1 %t247, label %wbody34, label %wend35 +wbody34: + %t248 = load ptr, ptr %t228 + %t249 = getelementptr inbounds %Cmp_Node, ptr %t248, i32 0, i32 7 + %t250 = load ptr, ptr %t249 + %t251 = getelementptr inbounds %LSlice, ptr %t250, i32 0, i32 0 + %t252 = load ptr, ptr %t251 + %t253 = load i32, ptr %t238 + %t254 = getelementptr inbounds ptr, ptr %t252, i32 %t253 + %t255 = load ptr, ptr %t254 + %t256 = getelementptr inbounds %Cmp_Node, ptr %t255, i32 0, i32 3 + %t257 = load ptr, ptr %t256 + %t258 = call ptr @fn_emit_str_const(ptr %t257) + store ptr %t258, ptr %t259 + %t260 = load ptr, ptr %t231 + %t261 = call ptr @lp_str_concat(ptr %t260, ptr @.str10475) + %t262 = load i32, ptr %t238 + %t263 = call ptr @fn_itoa(i32 %t262) + %t264 = call ptr @lp_str_concat(ptr %t261, ptr %t263) + store ptr %t264, ptr %t265 + call void @fn_emit(ptr @.str10476) + %t266 = load ptr, ptr %t265 + call void @fn_emit(ptr %t266) + call void @fn_emit(ptr @.str10477) + %t267 = load i32, ptr %t238 + %t268 = call ptr @fn_itoa(i32 %t267) + call void @fn_emit(ptr %t268) + call void @fn_emit(ptr @.str10478) + call void @fn_emit(ptr @.str10479) + %t269 = load ptr, ptr %t265 + call void @fn_emit(ptr %t269) + call void @fn_emit(ptr @.str10480) + %t270 = load ptr, ptr %t265 + call void @fn_emit(ptr %t270) + call void @fn_emit(ptr @.str10481) + %t271 = load ptr, ptr %t265 + call void @fn_emit(ptr %t271) + call void @fn_emit(ptr @.str10482) + call void @fn_emit(ptr @.str10483) + %t272 = load ptr, ptr %t265 + call void @fn_emit(ptr %t272) + call void @fn_emit(ptr @.str10484) + %t273 = load ptr, ptr %t259 + call void @fn_emit(ptr %t273) + call void @fn_emit(ptr @.str10485) + call void @fn_emit(ptr @.str10486) + %t274 = load ptr, ptr %t265 + call void @fn_emit(ptr %t274) + call void @fn_emit(ptr @.str10487) + %t275 = load i32, ptr %t238 + %t276 = add i32 %t275, 1 + store i32 %t276, ptr %t238 + br label %wcond33 +wend35: + call void @fn_emit(ptr @.str10488) + %t277 = load ptr, ptr %t3 + call void @fn_emit(ptr %t277) + call void @fn_emit(ptr @.str10489) + call void @fn_emit(ptr @.str10490) + %t278 = load ptr, ptr %t231 + call void @fn_emit(ptr %t278) + call void @fn_emit(ptr @.str10491) + %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 @.str10492) + %t283 = load ptr, ptr %t3 + call void @fn_emit(ptr %t283) + call void @fn_emit(ptr @.str10493) + br label %ret +ret: + ret void +} + +define void @fn_emit_tick_helpers() { +entry: + call void @fn_emit(ptr @.str10494) + store i32 0, ptr @g_ll_t + store i32 0, ptr @g_ll_lbl + call void @fn_emit_calls_for_phase(ptr @.str10495) + call void @fn_emit_calls_for_phase(ptr @.str10496) + call void @fn_emit_calls_for_phase(ptr @.str10497) + call void @fn_emit_calls_for_phase(ptr @.str10498) + call void @fn_emit(ptr @.str10499) + call void @fn_emit(ptr @.str10500) + store i32 0, ptr @g_ll_t + store i32 0, ptr @g_ll_lbl + call void @fn_emit_calls_for_phase(ptr @.str10501) + call void @fn_emit_calls_for_phase(ptr @.str10502) + call void @fn_emit(ptr @.str10503) + br label %ret +ret: + ret void +} + +define void @fn_emit_game_defs() { +entry: + %t0 = alloca i32 + call void @fn_emit_system_registry() + store i32 0, ptr %t0 + br label %wcond0 +wcond0: + %t1 = load i32, ptr %t0 + %t2 = load ptr, ptr @g_prog + %t3 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 1 + %t4 = load i32, ptr %t3 + %t5 = icmp slt i32 %t1, %t4 + %t6 = zext i1 %t5 to i32 + %t7 = icmp ne i32 %t6, 0 + br i1 %t7, label %wbody1, label %wend2 +wbody1: + %t8 = load ptr, ptr @g_prog + %t9 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 0 + %t10 = load ptr, ptr %t9 + %t11 = load i32, ptr %t0 + %t12 = getelementptr inbounds ptr, ptr %t10, i32 %t11 + %t13 = load ptr, ptr %t12 + %t14 = getelementptr inbounds %Cmp_Node, ptr %t13, i32 0, i32 0 + %t15 = load i32, ptr %t14 + %t16 = icmp eq i32 %t15, 9 + %t17 = zext i1 %t16 to i32 + %t18 = icmp ne i32 %t17, 0 + br i1 %t18, label %then3, label %ifend5 +then3: + %t19 = load ptr, ptr @g_prog + %t20 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 0 + %t21 = load ptr, ptr %t20 + %t22 = load i32, ptr %t0 + %t23 = getelementptr inbounds ptr, ptr %t21, i32 %t22 + %t24 = load ptr, ptr %t23 + call void @fn_emit_system_fn(ptr %t24) + br label %ifend5 +ifend5: + %t25 = load i32, ptr %t0 + %t26 = add i32 %t25, 1 + store i32 %t26, ptr %t0 + br label %wcond0 +wend2: + call void @fn_emit_despawn_hooks() + call void @fn_emit_scene_hooks() + %t27 = call i32 @fn_has_countdowns() + %t28 = icmp ne i32 %t27, 0 + br i1 %t28, label %then6, label %ifend8 +then6: + call void @fn_emit_countdown_system() + br label %ifend8 +ifend8: + %t29 = call i32 @fn_has_prefabs() + %t30 = icmp ne i32 %t29, 0 + br i1 %t30, label %then9, label %ifend11 +then9: + call void @fn_emit_prefab_fns() + br label %ifend11 +ifend11: + call void @fn_emit_tick_helpers() + br label %ret +ret: + ret void +} + +define void @fn_emit_game_main() { +entry: + %t12 = alloca i32 + %t47 = alloca ptr + %t52 = alloca ptr + %t58 = alloca ptr + %t63 = alloca ptr + %t70 = alloca ptr + %t73 = alloca i32 + %t85 = alloca ptr + %t92 = alloca ptr + %t94 = alloca i32 + %t106 = alloca ptr + %t108 = alloca i32 + %t121 = alloca ptr + %t125 = alloca i32 + %t137 = alloca ptr + %t142 = alloca ptr + call void @fn_emit_game_defs() + call void @fn_emit(ptr @.str10504) + call void @fn_emit(ptr @.str10505) + call void @fn_emit(ptr @.str10506) + %t0 = call ptr @fn_find_fn(ptr @.str10507) + %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 @.str10508) + br label %ifend2 +ifend2: + call void @fn_emit(ptr @.str10509) + call void @fn_emit_calls_for_phase(ptr @.str10510) + %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 @.str10511) + %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 @.str10512) + 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 @.str10513) + %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 @.str10514) + 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 @.str10515) + %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 @.str10516) + br label %ifend14 +ifend14: + call void @fn_emit(ptr @.str10517) + call void @fn_emit(ptr @.str10518) + %t46 = call ptr @fn_emit_bind(ptr @.str10519) + store ptr %t46, ptr %t47 + %t48 = load ptr, ptr %t47 + %t49 = call ptr @lp_str_concat(ptr @.str10520, ptr %t48) + %t50 = call ptr @lp_str_concat(ptr %t49, ptr @.str10521) + %t51 = call ptr @fn_emit_bind(ptr %t50) + store ptr %t51, ptr %t52 + %t53 = call ptr @fn_find_fn(ptr @.str10522) + %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 @.str10523) + store ptr %t57, ptr %t58 + %t59 = load ptr, ptr %t58 + %t60 = call ptr @lp_str_concat(ptr @.str10524, ptr %t59) + %t61 = call ptr @lp_str_concat(ptr %t60, ptr @.str10525) + %t62 = call ptr @fn_emit_bind(ptr %t61) + store ptr %t62, ptr %t63 + %t64 = load ptr, ptr %t52 + %t65 = call ptr @lp_str_concat(ptr @.str10526, ptr %t64) + %t66 = call ptr @lp_str_concat(ptr %t65, ptr @.str10527) + %t67 = load ptr, ptr %t63 + %t68 = call ptr @lp_str_concat(ptr %t66, ptr %t67) + %t69 = call ptr @fn_emit_bind(ptr %t68) + store ptr %t69, ptr %t70 + call void @fn_emit(ptr @.str10528) + %t71 = load ptr, ptr %t70 + call void @fn_emit(ptr %t71) + call void @fn_emit(ptr @.str10529) + br label %ifend17 +else16: + call void @fn_emit(ptr @.str10530) + %t72 = load ptr, ptr %t52 + call void @fn_emit(ptr %t72) + call void @fn_emit(ptr @.str10531) + br label %ifend17 +ifend17: + call void @fn_emit(ptr @.str10532) + %t74 = load i32, ptr @g_g_uses_input + %t75 = icmp ne i32 %t74, 0 + %t76 = zext i1 %t75 to i32 + store i32 %t76, ptr %t73 + br i1 %t75, label %sc18, label %scend19 +sc18: + %t77 = call ptr @fn_find_fn(ptr @.str10533) + %t78 = icmp ne ptr %t77, null + %t79 = zext i1 %t78 to i32 + %t80 = icmp ne i32 %t79, 0 + %t81 = zext i1 %t80 to i32 + store i32 %t81, ptr %t73 + br label %scend19 +scend19: + %t82 = load i32, ptr %t73 + %t83 = icmp ne i32 %t82, 0 + br i1 %t83, label %then20, label %else21 +then20: + %t84 = call ptr @fn_emit_bind(ptr @.str10534) + store ptr %t84, ptr %t85 + call void @fn_emit(ptr @.str10535) + %t86 = load ptr, ptr %t85 + call void @fn_emit(ptr %t86) + call void @fn_emit(ptr @.str10536) + br label %ifend22 +else21: + %t87 = call ptr @fn_find_fn(ptr @.str10537) + %t88 = icmp ne ptr %t87, null + %t89 = zext i1 %t88 to i32 + %t90 = icmp ne i32 %t89, 0 + br i1 %t90, label %then23, label %ifend25 +then23: + %t91 = call ptr @fn_emit_bind(ptr @.str10538) + store ptr %t91, ptr %t92 + call void @fn_emit(ptr @.str10539) + %t93 = load ptr, ptr %t92 + call void @fn_emit(ptr %t93) + call void @fn_emit(ptr @.str10540) + br label %ifend25 +ifend25: + br label %ifend22 +ifend22: + %t95 = call i32 @fn_has_ui() + %t96 = icmp ne i32 %t95, 0 + %t97 = zext i1 %t96 to i32 + store i32 %t97, ptr %t94 + br i1 %t96, label %sc26, label %scend27 +sc26: + %t98 = call ptr @fn_find_fn(ptr @.str10541) + %t99 = icmp ne ptr %t98, null + %t100 = zext i1 %t99 to i32 + %t101 = icmp ne i32 %t100, 0 + %t102 = zext i1 %t101 to i32 + store i32 %t102, ptr %t94 + br label %scend27 +scend27: + %t103 = load i32, ptr %t94 + %t104 = icmp ne i32 %t103, 0 + br i1 %t104, label %then28, label %ifend30 +then28: + %t105 = call ptr @fn_emit_bind(ptr @.str10542) + store ptr %t105, ptr %t106 + call void @fn_emit(ptr @.str10543) + %t107 = load ptr, ptr %t106 + call void @fn_emit(ptr %t107) + call void @fn_emit(ptr @.str10544) + br label %ifend30 +ifend30: + call void @fn_emit_calls_for_phase(ptr @.str10545) + call void @fn_emit_calls_for_phase(ptr @.str10546) + call void @fn_emit_calls_for_phase(ptr @.str10547) + call void @fn_emit_calls_for_phase(ptr @.str10548) + %t109 = load i32, ptr @g_g_has_clear_color + %t110 = icmp ne i32 %t109, 0 + %t111 = zext i1 %t110 to i32 + store i32 %t111, ptr %t108 + br i1 %t110, label %sc31, label %scend32 +sc31: + %t112 = call ptr @fn_find_fn(ptr @.str10549) + %t113 = icmp ne ptr %t112, null + %t114 = zext i1 %t113 to i32 + %t115 = icmp ne i32 %t114, 0 + %t116 = zext i1 %t115 to i32 + store i32 %t116, ptr %t108 + br label %scend32 +scend32: + %t117 = load i32, ptr %t108 + %t118 = icmp ne i32 %t117, 0 + br i1 %t118, label %then33, label %ifend35 +then33: + %t119 = load ptr, ptr @g_g_clear_color + %t120 = call ptr @fn_emit_expr(ptr %t119) + store ptr %t120, ptr %t121 + call void @fn_emit(ptr @.str10550) + %t122 = load ptr, ptr %t121 + %t123 = getelementptr inbounds %Cmp_Val, ptr %t122, i32 0, i32 0 + %t124 = load ptr, ptr %t123 + call void @fn_emit(ptr %t124) + call void @fn_emit(ptr @.str10551) + br label %ifend35 +ifend35: + call void @fn_emit_calls_for_phase(ptr @.str10552) + call void @fn_emit_calls_for_phase(ptr @.str10553) + %t126 = load i32, ptr @g_g_has_clear_color + %t127 = icmp ne i32 %t126, 0 + %t128 = zext i1 %t127 to i32 + store i32 %t128, ptr %t125 + br i1 %t127, label %sc36, label %scend37 +sc36: + %t129 = call ptr @fn_find_fn(ptr @.str10554) + %t130 = icmp ne ptr %t129, null + %t131 = zext i1 %t130 to i32 + %t132 = icmp ne i32 %t131, 0 + %t133 = zext i1 %t132 to i32 + store i32 %t133, ptr %t125 + br label %scend37 +scend37: + %t134 = load i32, ptr %t125 + %t135 = icmp ne i32 %t134, 0 + br i1 %t135, label %then38, label %ifend40 +then38: + call void @fn_emit(ptr @.str10555) + br label %ifend40 +ifend40: + %t136 = call ptr @fn_emit_bind(ptr @.str10556) + store ptr %t136, ptr %t137 + %t138 = load ptr, ptr %t137 + %t139 = call ptr @lp_str_concat(ptr @.str10557, ptr %t138) + %t140 = call ptr @lp_str_concat(ptr %t139, ptr @.str10558) + %t141 = call ptr @fn_emit_bind(ptr %t140) + store ptr %t141, ptr %t142 + call void @fn_emit(ptr @.str10559) + %t143 = load ptr, ptr %t142 + call void @fn_emit(ptr %t143) + call void @fn_emit(ptr @.str10560) + call void @fn_emit(ptr @.str10561) + call void @fn_emit(ptr @.str10562) + %t144 = load ptr, ptr @g_g_ondespawn + %t145 = getelementptr inbounds %LSlice, ptr %t144, i32 0, i32 1 + %t146 = load i32, ptr %t145 + %t147 = icmp sgt i32 %t146, 0 + %t148 = zext i1 %t147 to i32 + %t149 = icmp ne i32 %t148, 0 + br i1 %t149, label %then41, label %ifend43 +then41: + call void @fn_emit(ptr @.str10563) + br label %ifend43 +ifend43: + call void @fn_emit_calls_for_phase(ptr @.str10564) + %t150 = call ptr @fn_find_event(ptr @.str10565) + %t151 = icmp ne ptr %t150, null + %t152 = zext i1 %t151 to i32 + %t153 = icmp ne i32 %t152, 0 + br i1 %t153, label %then44, label %ifend46 +then44: + call void @fn_emit(ptr @.str10566) + br label %ifend46 +ifend46: + %t154 = call ptr @fn_find_fn(ptr @.str10567) + %t155 = icmp ne ptr %t154, null + %t156 = zext i1 %t155 to i32 + %t157 = icmp ne i32 %t156, 0 + br i1 %t157, label %then47, label %ifend49 +then47: + call void @fn_emit(ptr @.str10568) + br label %ifend49 +ifend49: + call void @fn_emit(ptr @.str10569) + br label %ret +ret: + ret void +} + +define ptr @fn_machine_var(ptr %arg_a) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t11 = alloca ptr + store ptr %arg_a, ptr %t0 + %t1 = load ptr, ptr %t0 + %t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 0 + %t3 = load i32, ptr %t2 + %t4 = icmp eq i32 %t3, 33 + %t5 = zext i1 %t4 to i32 + %t6 = icmp ne i32 %t5, 0 + br i1 %t6, label %then0, label %ifend2 +then0: + %t7 = load ptr, ptr %t0 + %t8 = getelementptr inbounds %Cmp_Node, ptr %t7, i32 0, i32 1 + %t9 = load ptr, ptr %t8 + %t10 = call ptr @fn_find_global(ptr %t9) + store ptr %t10, ptr %t11 + %t12 = load ptr, ptr %t11 + %t13 = icmp ne ptr %t12, null + %t14 = zext i1 %t13 to i32 + %t15 = icmp ne i32 %t14, 0 + br i1 %t15, label %then3, label %ifend5 +then3: + %t16 = load ptr, ptr %t11 + %t17 = getelementptr inbounds %Cmp_Node, ptr %t16, i32 0, i32 0 + %t18 = load i32, ptr %t17 + %t19 = icmp eq i32 %t18, 2 + %t20 = zext i1 %t19 to i32 + %t21 = icmp ne i32 %t20, 0 + br i1 %t21, label %then6, label %ifend8 +then6: + %t22 = load ptr, ptr %t11 + store ptr %t22, ptr %retval + br label %ret +ifend8: + br label %ifend5 +ifend5: + br label %ifend2 +ifend2: + store ptr null, ptr %retval + br label %ret +ret: + %t23 = load ptr, ptr %retval + ret ptr %t23 +} + +define ptr @fn_machine_state_value(ptr %arg_m, ptr %arg_state) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t1 = alloca ptr + %t18 = alloca ptr + %t36 = alloca i32 + store ptr %arg_m, ptr %t0 + store ptr %arg_state, ptr %t1 + %t2 = load ptr, ptr %t1 + %t3 = getelementptr inbounds %Cmp_Node, ptr %t2, i32 0, i32 5 + %t4 = load ptr, ptr %t3 + %t5 = icmp ne ptr %t4, null + %t6 = zext i1 %t5 to i32 + %t7 = icmp ne i32 %t6, 0 + br i1 %t7, label %then0, label %ifend2 +then0: + %t8 = load ptr, ptr %t1 + %t9 = getelementptr inbounds %Cmp_Node, ptr %t8, i32 0, i32 5 + %t10 = load ptr, ptr %t9 + %t11 = call ptr @fn_emit_expr(ptr %t10) + %t12 = getelementptr inbounds %Cmp_Val, ptr %t11, i32 0, i32 0 + %t13 = load ptr, ptr %t12 + store ptr %t13, ptr %retval + br label %ret +ifend2: + %t14 = load ptr, ptr %t0 + %t15 = getelementptr inbounds %Cmp_Node, ptr %t14, i32 0, i32 4 + %t16 = load ptr, ptr %t15 + %t17 = call ptr @fn_machine_var(ptr %t16) + store ptr %t17, ptr %t18 + %t19 = load ptr, ptr %t18 + %t20 = icmp ne ptr %t19, null + %t21 = zext i1 %t20 to i32 + %t22 = icmp ne i32 %t21, 0 + br i1 %t22, label %then3, label %ifend5 +then3: + %t23 = load ptr, ptr %t18 + %t24 = getelementptr inbounds %Cmp_Node, ptr %t23, i32 0, i32 3 + %t25 = load ptr, ptr %t24 + %t26 = icmp ne ptr %t25, null + %t27 = zext i1 %t26 to i32 + %t28 = icmp ne i32 %t27, 0 + br i1 %t28, label %then6, label %ifend8 +then6: + %t29 = load ptr, ptr %t18 + %t30 = getelementptr inbounds %Cmp_Node, ptr %t29, i32 0, i32 3 + %t31 = load ptr, ptr %t30 + %t32 = load ptr, ptr %t1 + %t33 = getelementptr inbounds %Cmp_Node, ptr %t32, i32 0, i32 1 + %t34 = load ptr, ptr %t33 + %t35 = call i32 @fn_enum_ordinal(ptr %t31, ptr %t34) + store i32 %t35, ptr %t36 + %t37 = load i32, ptr %t36 + %t38 = icmp sge i32 %t37, 0 + %t39 = zext i1 %t38 to i32 + %t40 = icmp ne i32 %t39, 0 + br i1 %t40, label %then9, label %ifend11 +then9: + %t41 = load i32, ptr %t36 + %t42 = call ptr @fn_itoa(i32 %t41) + store ptr %t42, ptr %retval + br label %ret +ifend11: + %t43 = load ptr, ptr %t18 + %t44 = getelementptr inbounds %Cmp_Node, ptr %t43, i32 0, i32 3 + %t45 = load ptr, ptr %t44 + %t46 = call ptr @fn_find_enum(ptr %t45) + %t47 = icmp ne ptr %t46, null + %t48 = zext i1 %t47 to i32 + %t49 = icmp ne i32 %t48, 0 + br i1 %t49, label %then12, label %ifend14 +then12: + %t50 = load ptr, ptr %t1 + %t51 = getelementptr inbounds %Cmp_Node, ptr %t50, i32 0, i32 1 + %t52 = load ptr, ptr %t51 + %t53 = call ptr @lp_str_concat(ptr @.str10570, ptr %t52) + %t54 = call ptr @lp_str_concat(ptr %t53, ptr @.str10571) + %t55 = load ptr, ptr %t18 + %t56 = getelementptr inbounds %Cmp_Node, ptr %t55, i32 0, i32 3 + %t57 = load ptr, ptr %t56 + %t58 = call ptr @lp_str_concat(ptr %t54, ptr %t57) + call void @fn_perr(ptr %t58) + br label %ifend14 +ifend14: + br label %ifend8 +ifend8: + br label %ifend5 +ifend5: + %t59 = load ptr, ptr %t1 + %t60 = getelementptr inbounds %Cmp_Node, ptr %t59, i32 0, i32 2 + %t61 = load i32, ptr %t60 + %t62 = call ptr @fn_itoa(i32 %t61) + store ptr %t62, ptr %retval + br label %ret +ret: + %t63 = load ptr, ptr %retval + ret ptr %t63 +} + +define void @fn_emit_machine(ptr %arg_st) { +entry: + %t0 = alloca ptr + %t5 = alloca ptr + %t6 = alloca ptr + %t22 = alloca ptr + %t65 = alloca ptr + %t66 = alloca i32 + %t84 = alloca ptr + %t88 = alloca ptr + %t95 = alloca ptr + %t97 = alloca ptr + %t99 = alloca ptr + store ptr %arg_st, ptr %t0 + %t1 = load ptr, ptr %t0 + %t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 4 + %t3 = load ptr, ptr %t2 + %t4 = call ptr @fn_machine_var(ptr %t3) + store ptr %t4, ptr %t5 + store ptr @.str10572, ptr %t6 + %t7 = load ptr, ptr %t5 + %t8 = icmp ne ptr %t7, null + %t9 = zext i1 %t8 to i32 + %t10 = icmp ne i32 %t9, 0 + br i1 %t10, label %then0, label %else1 +then0: + %t11 = load ptr, ptr %t0 + %t12 = getelementptr inbounds %Cmp_Node, ptr %t11, i32 0, i32 4 + %t13 = load ptr, ptr %t12 + %t14 = getelementptr inbounds %Cmp_Node, ptr %t13, i32 0, i32 1 + %t15 = load ptr, ptr %t14 + %t16 = call ptr @lp_str_concat(ptr @.str10573, ptr %t15) + %t17 = call ptr @fn_emit_bind(ptr %t16) + store ptr %t17, ptr %t6 + br label %ifend2 +else1: + %t18 = load ptr, ptr %t0 + %t19 = getelementptr inbounds %Cmp_Node, ptr %t18, i32 0, i32 4 + %t20 = load ptr, ptr %t19 + %t21 = call ptr @fn_emit_expr(ptr %t20) + store ptr %t21, ptr %t22 + %t23 = load ptr, ptr %t22 + %t24 = getelementptr inbounds %Cmp_Val, ptr %t23, i32 0, i32 0 + %t25 = load ptr, ptr %t24 + %t26 = call ptr @lp_str_concat(ptr @.str10574, ptr %t25) + %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str10575) + %t28 = call ptr @fn_emit_bind(ptr %t27) + store ptr %t28, ptr %t6 + br label %ifend2 +ifend2: + %t29 = load i32, ptr @g_nmach + %t30 = load ptr, ptr @g_mach_stk + %t31 = getelementptr inbounds %LSlice, ptr %t30, i32 0, i32 1 + %t32 = load i32, ptr %t31 + %t33 = icmp slt i32 %t29, %t32 + %t34 = zext i1 %t33 to i32 + %t35 = icmp ne i32 %t34, 0 + br i1 %t35, label %then3, label %else4 +then3: + %t36 = load ptr, ptr @g_mach_stk + %t37 = getelementptr inbounds %LSlice, ptr %t36, i32 0, i32 0 + %t38 = load ptr, ptr %t37 + %t39 = load i32, ptr @g_nmach + %t40 = getelementptr inbounds ptr, ptr %t38, i32 %t39 + %t41 = load ptr, ptr %t0 + store ptr %t41, ptr %t40 + br label %ifend5 +else4: + %t42 = load ptr, ptr @g_mach_stk + %t43 = load ptr, ptr %t0 + %t44 = getelementptr inbounds %LSlice, ptr %t42, i32 0, i32 1 + %t45 = getelementptr inbounds %LSlice, ptr %t42, i32 0, i32 2 + %t46 = getelementptr inbounds %LSlice, ptr %t42, i32 0, i32 0 + %t47 = load i32, ptr %t44 + %t48 = load i32, ptr %t45 + %t49 = icmp sge i32 %t47, %t48 + br i1 %t49, label %grow6, label %put7 +grow6: + %t50 = mul i32 %t48, 2 + %t51 = icmp eq i32 %t48, 0 + %t52 = select i1 %t51, i32 8, i32 %t50 + %t53 = getelementptr ptr, ptr null, i32 1 + %t54 = ptrtoint ptr %t53 to i64 + %t55 = zext i32 %t52 to i64 + %t56 = mul i64 %t55, %t54 + %t57 = load ptr, ptr %t46 + %t58 = call ptr @realloc(ptr %t57, i64 %t56) + store ptr %t58, ptr %t46 + store i32 %t52, ptr %t45 + br label %put7 +put7: + %t59 = load ptr, ptr %t46 + %t60 = getelementptr inbounds ptr, ptr %t59, i32 %t47 + store ptr %t43, ptr %t60 + %t61 = add i32 %t47, 1 + store i32 %t61, ptr %t44 + br label %ifend5 +ifend5: + %t62 = load i32, ptr @g_nmach + %t63 = add i32 %t62, 1 + store i32 %t63, ptr @g_nmach + %t64 = call ptr @fn_lbl(ptr @.str10576) + store ptr %t64, ptr %t65 + store i32 0, ptr %t66 + br label %wcond8 +wcond8: + %t67 = load i32, ptr %t66 + %t68 = load ptr, ptr %t0 + %t69 = getelementptr inbounds %Cmp_Node, ptr %t68, i32 0, i32 7 + %t70 = load ptr, ptr %t69 + %t71 = getelementptr inbounds %LSlice, ptr %t70, i32 0, i32 1 + %t72 = load i32, ptr %t71 + %t73 = icmp slt i32 %t67, %t72 + %t74 = zext i1 %t73 to i32 + %t75 = icmp ne i32 %t74, 0 + br i1 %t75, label %wbody9, label %wend10 +wbody9: + %t76 = load ptr, ptr %t0 + %t77 = getelementptr inbounds %Cmp_Node, ptr %t76, i32 0, i32 7 + %t78 = load ptr, ptr %t77 + %t79 = getelementptr inbounds %LSlice, ptr %t78, i32 0, i32 0 + %t80 = load ptr, ptr %t79 + %t81 = load i32, ptr %t66 + %t82 = getelementptr inbounds ptr, ptr %t80, i32 %t81 + %t83 = load ptr, ptr %t82 + store ptr %t83, ptr %t84 + %t85 = load ptr, ptr %t0 + %t86 = load ptr, ptr %t84 + %t87 = call ptr @fn_machine_state_value(ptr %t85, ptr %t86) + store ptr %t87, ptr %t88 + %t89 = load ptr, ptr %t6 + %t90 = call ptr @lp_str_concat(ptr @.str10577, ptr %t89) + %t91 = call ptr @lp_str_concat(ptr %t90, ptr @.str10578) + %t92 = load ptr, ptr %t88 + %t93 = call ptr @lp_str_concat(ptr %t91, ptr %t92) + %t94 = call ptr @fn_emit_bind(ptr %t93) + store ptr %t94, ptr %t95 + %t96 = call ptr @fn_lbl(ptr @.str10579) + store ptr %t96, ptr %t97 + %t98 = call ptr @fn_lbl(ptr @.str10580) + store ptr %t98, ptr %t99 + call void @fn_emit(ptr @.str10581) + %t100 = load ptr, ptr %t95 + call void @fn_emit(ptr %t100) + call void @fn_emit(ptr @.str10582) + %t101 = load ptr, ptr %t97 + call void @fn_emit(ptr %t101) + call void @fn_emit(ptr @.str10583) + %t102 = load ptr, ptr %t99 + call void @fn_emit(ptr %t102) + call void @fn_emit(ptr @.str10584) + %t103 = load ptr, ptr %t97 + call void @fn_emit(ptr %t103) + call void @fn_emit(ptr @.str10585) + store i32 0, ptr @g_g_term + %t104 = load ptr, ptr %t84 + %t105 = getelementptr inbounds %Cmp_Node, ptr %t104, i32 0, i32 4 + %t106 = load ptr, ptr %t105 + call void @fn_emit_block(ptr %t106) + %t107 = load i32, ptr @g_g_term + %t108 = icmp eq i32 %t107, 0 + %t109 = zext i1 %t108 to i32 + %t110 = icmp ne i32 %t109, 0 + br i1 %t110, label %then11, label %ifend13 +then11: + call void @fn_emit(ptr @.str10586) + %t111 = load ptr, ptr %t65 + call void @fn_emit(ptr %t111) + call void @fn_emit(ptr @.str10587) + br label %ifend13 +ifend13: + %t112 = load ptr, ptr %t99 + call void @fn_emit(ptr %t112) + call void @fn_emit(ptr @.str10588) + store i32 0, ptr @g_g_term + %t113 = load i32, ptr %t66 + %t114 = add i32 %t113, 1 + store i32 %t114, ptr %t66 + br label %wcond8 +wend10: + %t115 = load i32, ptr @g_g_term + %t116 = icmp eq i32 %t115, 0 + %t117 = zext i1 %t116 to i32 + %t118 = icmp ne i32 %t117, 0 + br i1 %t118, label %then14, label %ifend16 +then14: + call void @fn_emit(ptr @.str10589) + %t119 = load ptr, ptr %t65 + call void @fn_emit(ptr %t119) + call void @fn_emit(ptr @.str10590) + br label %ifend16 +ifend16: + %t120 = load ptr, ptr %t65 + call void @fn_emit(ptr %t120) + call void @fn_emit(ptr @.str10591) + store i32 0, ptr @g_g_term + %t121 = load i32, ptr @g_nmach + %t122 = sub i32 %t121, 1 + store i32 %t122, ptr @g_nmach + br label %ret +ret: + ret void +} + +define void @fn_emit_become(ptr %arg_st) { +entry: + %t0 = alloca ptr + %t12 = alloca ptr + %t13 = alloca ptr + %t14 = alloca i32 + %t57 = alloca ptr + %t61 = alloca ptr + %t76 = alloca ptr + %t85 = alloca ptr + store ptr %arg_st, ptr %t0 + %t1 = load i32, ptr @g_nmach + %t2 = icmp sgt i32 %t1, 0 + %t3 = zext i1 %t2 to i32 + %t4 = icmp ne i32 %t3, 0 + br i1 %t4, label %then0, label %ifend2 +then0: + %t5 = load ptr, ptr @g_mach_stk + %t6 = getelementptr inbounds %LSlice, ptr %t5, i32 0, i32 0 + %t7 = load ptr, ptr %t6 + %t8 = load i32, ptr @g_nmach + %t9 = sub i32 %t8, 1 + %t10 = getelementptr inbounds ptr, ptr %t7, i32 %t9 + %t11 = load ptr, ptr %t10 + store ptr %t11, ptr %t12 + store ptr null, ptr %t13 + store i32 0, ptr %t14 + br label %wcond3 +wcond3: + %t15 = load i32, ptr %t14 + %t16 = load ptr, ptr %t12 + %t17 = getelementptr inbounds %Cmp_Node, ptr %t16, i32 0, i32 7 + %t18 = load ptr, ptr %t17 + %t19 = getelementptr inbounds %LSlice, ptr %t18, i32 0, i32 1 + %t20 = load i32, ptr %t19 + %t21 = icmp slt i32 %t15, %t20 + %t22 = zext i1 %t21 to i32 + %t23 = icmp ne i32 %t22, 0 + br i1 %t23, label %wbody4, label %wend5 +wbody4: + %t24 = load ptr, ptr %t12 + %t25 = getelementptr inbounds %Cmp_Node, ptr %t24, i32 0, i32 7 + %t26 = load ptr, ptr %t25 + %t27 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 0 + %t28 = load ptr, ptr %t27 + %t29 = load i32, ptr %t14 + %t30 = getelementptr inbounds ptr, ptr %t28, i32 %t29 + %t31 = load ptr, ptr %t30 + %t32 = getelementptr inbounds %Cmp_Node, ptr %t31, i32 0, i32 1 + %t33 = load ptr, ptr %t32 + %t34 = load ptr, ptr %t0 + %t35 = getelementptr inbounds %Cmp_Node, ptr %t34, i32 0, i32 1 + %t36 = load ptr, ptr %t35 + %t37 = call i32 @lp_str_eq(ptr %t33, ptr %t36) + %t38 = icmp ne i32 %t37, 0 + br i1 %t38, label %then6, label %ifend8 +then6: + %t39 = load ptr, ptr %t12 + %t40 = getelementptr inbounds %Cmp_Node, ptr %t39, i32 0, i32 7 + %t41 = load ptr, ptr %t40 + %t42 = getelementptr inbounds %LSlice, ptr %t41, i32 0, i32 0 + %t43 = load ptr, ptr %t42 + %t44 = load i32, ptr %t14 + %t45 = getelementptr inbounds ptr, ptr %t43, i32 %t44 + %t46 = load ptr, ptr %t45 + store ptr %t46, ptr %t13 + br label %ifend8 +ifend8: + %t47 = load i32, ptr %t14 + %t48 = add i32 %t47, 1 + store i32 %t48, ptr %t14 + br label %wcond3 +wend5: + %t49 = load ptr, ptr %t13 + %t50 = icmp ne ptr %t49, null + %t51 = zext i1 %t50 to i32 + %t52 = icmp ne i32 %t51, 0 + br i1 %t52, label %then9, label %ifend11 +then9: + %t53 = load ptr, ptr %t12 + %t54 = getelementptr inbounds %Cmp_Node, ptr %t53, i32 0, i32 4 + %t55 = load ptr, ptr %t54 + %t56 = call ptr @fn_machine_var(ptr %t55) + store ptr %t56, ptr %t57 + %t58 = load ptr, ptr %t12 + %t59 = load ptr, ptr %t13 + %t60 = call ptr @fn_machine_state_value(ptr %t58, ptr %t59) + store ptr %t60, ptr %t61 + %t62 = load ptr, ptr %t57 + %t63 = icmp ne ptr %t62, null + %t64 = zext i1 %t63 to i32 + %t65 = icmp ne i32 %t64, 0 + br i1 %t65, label %then12, label %else13 +then12: + call void @fn_emit(ptr @.str10592) + %t66 = load ptr, ptr %t61 + call void @fn_emit(ptr %t66) + call void @fn_emit(ptr @.str10593) + %t67 = load ptr, ptr %t12 + %t68 = getelementptr inbounds %Cmp_Node, ptr %t67, i32 0, i32 4 + %t69 = load ptr, ptr %t68 + %t70 = getelementptr inbounds %Cmp_Node, ptr %t69, i32 0, i32 1 + %t71 = load ptr, ptr %t70 + call void @fn_emit(ptr %t71) + call void @fn_emit(ptr @.str10594) + br label %ifend14 +else13: + %t72 = load ptr, ptr %t12 + %t73 = getelementptr inbounds %Cmp_Node, ptr %t72, i32 0, i32 4 + %t74 = load ptr, ptr %t73 + %t75 = call ptr @fn_emit_expr(ptr %t74) + store ptr %t75, ptr %t76 + call void @fn_emit(ptr @.str10595) + %t77 = load ptr, ptr %t76 + %t78 = getelementptr inbounds %Cmp_Val, ptr %t77, i32 0, i32 0 + %t79 = load ptr, ptr %t78 + call void @fn_emit(ptr %t79) + call void @fn_emit(ptr @.str10596) + %t80 = load ptr, ptr %t61 + call void @fn_emit(ptr %t80) + call void @fn_emit(ptr @.str10597) + br label %ifend14 +ifend14: + br label %ret +ifend11: + br label %ifend2 +ifend2: + %t81 = load ptr, ptr %t0 + %t82 = getelementptr inbounds %Cmp_Node, ptr %t81, i32 0, i32 1 + %t83 = load ptr, ptr %t82 + %t84 = call ptr @fn_find_scene(ptr %t83) + store ptr %t84, ptr %t85 + %t86 = load ptr, ptr %t85 + %t87 = icmp eq ptr %t86, null + %t88 = zext i1 %t87 to i32 + %t89 = icmp ne i32 %t88, 0 + br i1 %t89, label %then15, label %ifend17 +then15: + %t90 = load ptr, ptr %t0 + %t91 = getelementptr inbounds %Cmp_Node, ptr %t90, i32 0, i32 1 + %t92 = load ptr, ptr %t91 + %t93 = call ptr @lp_str_concat(ptr @.str10598, ptr %t92) + call void @fn_perr(ptr %t93) + br label %ifend17 +ifend17: + %t94 = load ptr, ptr @g_g_cur_scene + %t95 = icmp ne ptr %t94, null + %t96 = zext i1 %t95 to i32 + %t97 = icmp ne i32 %t96, 0 + br i1 %t97, label %then18, label %else19 +then18: + call void @fn_emit(ptr @.str10599) + %t98 = load ptr, ptr @g_g_cur_scene + %t99 = getelementptr inbounds %Cmp_Node, ptr %t98, i32 0, i32 1 + %t100 = load ptr, ptr %t99 + call void @fn_emit(ptr %t100) + call void @fn_emit(ptr @.str10600) + br label %ifend20 +else19: + call void @fn_emit(ptr @.str10601) + br label %ifend20 +ifend20: + call void @fn_emit(ptr @.str10602) + %t101 = load ptr, ptr %t85 + %t102 = getelementptr inbounds %Cmp_Node, ptr %t101, i32 0, i32 2 + %t103 = load i32, ptr %t102 + %t104 = call ptr @fn_itoa(i32 %t103) + call void @fn_emit(ptr %t104) + call void @fn_emit(ptr @.str10603) + call void @fn_emit(ptr @.str10604) + %t105 = load ptr, ptr %t85 + %t106 = getelementptr inbounds %Cmp_Node, ptr %t105, i32 0, i32 1 + %t107 = load ptr, ptr %t106 + call void @fn_emit(ptr %t107) + call void @fn_emit(ptr @.str10605) + br label %ret +ret: + ret void +} + +define void @fn_emit_io(ptr %arg_fn2, ptr %arg_p, ptr %arg_bytes) { +entry: + %t0 = alloca ptr + %t1 = alloca ptr + %t2 = alloca ptr + %t9 = alloca ptr + %t22 = alloca ptr + %t32 = alloca ptr + %t47 = alloca ptr + store ptr %arg_fn2, ptr %t0 + store ptr %arg_p, ptr %t1 + store ptr %arg_bytes, ptr %t2 + %t3 = load ptr, ptr @g_g_snap_mode + %t4 = call i32 @lp_str_eq(ptr %t3, ptr @.str10606) + %t5 = icmp ne i32 %t4, 0 + br i1 %t5, label %then0, label %ifend2 +then0: + %t6 = load i32, ptr @g_g_iok + %t7 = call ptr @fn_itoa(i32 %t6) + %t8 = call ptr @lp_str_concat(ptr @.str10607, 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 @.str10608) + %t12 = load ptr, ptr %t9 + call void @fn_emit(ptr %t12) + call void @fn_emit(ptr @.str10609) + %t13 = load ptr, ptr %t0 + call void @fn_emit(ptr %t13) + call void @fn_emit(ptr @.str10610) + %t14 = load ptr, ptr %t1 + call void @fn_emit(ptr %t14) + call void @fn_emit(ptr @.str10611) + %t15 = load ptr, ptr %t2 + call void @fn_emit(ptr %t15) + call void @fn_emit(ptr @.str10612) + br label %ret +ifend2: + %t16 = load ptr, ptr @g_g_snap_mode + %t17 = call i32 @lp_str_eq(ptr %t16, ptr @.str10613) + %t18 = icmp ne i32 %t17, 0 + br i1 %t18, label %then3, label %ifend5 +then3: + %t19 = load i32, ptr @g_g_iok + %t20 = call ptr @fn_itoa(i32 %t19) + %t21 = call ptr @lp_str_concat(ptr @.str10614, ptr %t20) + store ptr %t21, ptr %t22 + call void @fn_emit(ptr @.str10615) + %t23 = load ptr, ptr %t22 + call void @fn_emit(ptr %t23) + call void @fn_emit(ptr @.str10616) + %t24 = load ptr, ptr @g_g_off + call void @fn_emit(ptr %t24) + call void @fn_emit(ptr @.str10617) + %t25 = load ptr, ptr %t2 + call void @fn_emit(ptr %t25) + call void @fn_emit(ptr @.str10618) + %t26 = load ptr, ptr %t22 + store ptr %t26, ptr @g_g_off + %t27 = load i32, ptr @g_g_iok + %t28 = add i32 %t27, 1 + store i32 %t28, ptr @g_g_iok + br label %ret +ifend5: + %t29 = load i32, ptr @g_g_iok + %t30 = call ptr @fn_itoa(i32 %t29) + %t31 = call ptr @lp_str_concat(ptr @.str10619, ptr %t30) + store ptr %t31, ptr %t32 + call void @fn_emit(ptr @.str10620) + %t33 = load ptr, ptr %t32 + call void @fn_emit(ptr %t33) + call void @fn_emit(ptr @.str10621) + %t34 = load ptr, ptr @g_g_off + call void @fn_emit(ptr %t34) + call void @fn_emit(ptr @.str10622) + %t35 = load ptr, ptr @g_g_snap_mode + %t36 = call i32 @lp_str_eq(ptr %t35, ptr @.str10623) + %t37 = icmp ne i32 %t36, 0 + br i1 %t37, label %then6, label %else7 +then6: + call void @fn_emit(ptr @.str10624) + %t38 = load ptr, ptr %t32 + call void @fn_emit(ptr %t38) + call void @fn_emit(ptr @.str10625) + %t39 = load ptr, ptr %t1 + call void @fn_emit(ptr %t39) + call void @fn_emit(ptr @.str10626) + %t40 = load ptr, ptr %t2 + call void @fn_emit(ptr %t40) + call void @fn_emit(ptr @.str10627) + br label %ifend8 +else7: + call void @fn_emit(ptr @.str10628) + %t41 = load ptr, ptr %t1 + call void @fn_emit(ptr %t41) + call void @fn_emit(ptr @.str10629) + %t42 = load ptr, ptr %t32 + call void @fn_emit(ptr %t42) + call void @fn_emit(ptr @.str10630) + %t43 = load ptr, ptr %t2 + call void @fn_emit(ptr %t43) + call void @fn_emit(ptr @.str10631) + br label %ifend8 +ifend8: + %t44 = load i32, ptr @g_g_iok + %t45 = call ptr @fn_itoa(i32 %t44) + %t46 = call ptr @lp_str_concat(ptr @.str10632, ptr %t45) + store ptr %t46, ptr %t47 + call void @fn_emit(ptr @.str10633) + %t48 = load ptr, ptr %t47 + call void @fn_emit(ptr %t48) + call void @fn_emit(ptr @.str10634) + %t49 = load ptr, ptr @g_g_off + call void @fn_emit(ptr %t49) + call void @fn_emit(ptr @.str10635) + %t50 = load ptr, ptr %t2 + call void @fn_emit(ptr %t50) + call void @fn_emit(ptr @.str10636) + %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 @.str10637, 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 @.str10638, ptr @.str10639) + %t4 = load ptr, ptr %t0 + call void @fn_emit_io(ptr %t4, ptr @.str10640, ptr @.str10641) + call void @fn_emit(ptr @.str10642) + %t5 = load ptr, ptr %t2 + call void @fn_emit(ptr %t5) + call void @fn_emit(ptr @.str10643) + %t6 = load ptr, ptr %t0 + call void @fn_emit_io(ptr %t6, ptr @.str10644, ptr @.str10645) + %t7 = load ptr, ptr %t0 + call void @fn_emit_io(ptr %t7, ptr @.str10646, ptr @.str10647) + %t8 = load ptr, ptr %t0 + call void @fn_emit_io(ptr %t8, ptr @.str10648, ptr @.str10649) + %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 @.str10650, ptr @.str10651) + br label %ifend2 +ifend2: + store i32 0, ptr %t12 + br label %wcond3 +wcond3: + %t13 = load i32, ptr %t12 + %t14 = load ptr, ptr @g_prog + %t15 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 1 + %t16 = load i32, ptr %t15 + %t17 = icmp slt i32 %t13, %t16 + %t18 = zext i1 %t17 to i32 + %t19 = icmp ne i32 %t18, 0 + br i1 %t19, label %wbody4, label %wend5 +wbody4: + %t20 = load ptr, ptr @g_prog + %t21 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 0 + %t22 = load ptr, ptr %t21 + %t23 = load i32, ptr %t12 + %t24 = getelementptr inbounds ptr, ptr %t22, i32 %t23 + %t25 = load ptr, ptr %t24 + %t26 = getelementptr inbounds %Cmp_Node, ptr %t25, i32 0, i32 0 + %t27 = load i32, ptr %t26 + %t28 = icmp eq i32 %t27, 2 + %t29 = zext i1 %t28 to i32 + %t30 = icmp ne i32 %t29, 0 + br i1 %t30, label %then6, label %ifend8 +then6: + %t31 = load ptr, ptr %t0 + %t32 = load ptr, ptr @g_prog + %t33 = getelementptr inbounds %LSlice, ptr %t32, i32 0, i32 0 + %t34 = load ptr, ptr %t33 + %t35 = load i32, ptr %t12 + %t36 = getelementptr inbounds ptr, ptr %t34, i32 %t35 + %t37 = load ptr, ptr %t36 + %t38 = getelementptr inbounds %Cmp_Node, ptr %t37, i32 0, i32 1 + %t39 = load ptr, ptr %t38 + %t40 = call ptr @lp_str_concat(ptr @.str10652, ptr %t39) + call void @fn_emit_io(ptr %t31, ptr %t40, ptr @.str10653) + br label %ifend8 +ifend8: + %t41 = load i32, ptr %t12 + %t42 = add i32 %t41, 1 + store i32 %t42, ptr %t12 + br label %wcond3 +wend5: + store i32 0, ptr %t43 + store i32 0, ptr %t12 + br label %wcond9 +wcond9: + %t44 = load i32, ptr %t12 + %t45 = load ptr, ptr @g_prog + %t46 = getelementptr inbounds %LSlice, ptr %t45, i32 0, i32 1 + %t47 = load i32, ptr %t46 + %t48 = icmp slt i32 %t44, %t47 + %t49 = zext i1 %t48 to i32 + %t50 = icmp ne i32 %t49, 0 + br i1 %t50, label %wbody10, label %wend11 +wbody10: + %t51 = load ptr, ptr @g_prog + %t52 = getelementptr inbounds %LSlice, ptr %t51, i32 0, i32 0 + %t53 = load ptr, ptr %t52 + %t54 = load i32, ptr %t12 + %t55 = getelementptr inbounds ptr, ptr %t53, i32 %t54 + %t56 = load ptr, ptr %t55 + %t57 = getelementptr inbounds %Cmp_Node, ptr %t56, i32 0, i32 0 + %t58 = load i32, ptr %t57 + %t59 = icmp eq i32 %t58, 8 + %t60 = zext i1 %t59 to i32 + %t61 = icmp ne i32 %t60, 0 + br i1 %t61, label %then12, label %ifend14 +then12: + %t62 = load ptr, ptr @g_prog + %t63 = getelementptr inbounds %LSlice, ptr %t62, i32 0, i32 0 + %t64 = load ptr, ptr %t63 + %t65 = load i32, ptr %t12 + %t66 = getelementptr inbounds ptr, ptr %t64, i32 %t65 + %t67 = load ptr, ptr %t66 + %t68 = getelementptr inbounds %Cmp_Node, ptr %t67, i32 0, i32 1 + %t69 = load ptr, ptr %t68 + store ptr %t69, ptr %t70 + %t71 = load i32, ptr %t43 + %t72 = call ptr @fn_itoa(i32 %t71) + %t73 = call ptr @lp_str_concat(ptr @.str10654, ptr %t72) + store ptr %t73, ptr %t74 + call void @fn_emit(ptr @.str10655) + %t75 = load ptr, ptr %t74 + call void @fn_emit(ptr %t75) + call void @fn_emit(ptr @.str10656) + %t76 = load ptr, ptr %t70 + call void @fn_emit(ptr %t76) + call void @fn_emit(ptr @.str10657) + %t77 = load ptr, ptr %t2 + call void @fn_emit(ptr %t77) + call void @fn_emit(ptr @.str10658) + %t78 = load ptr, ptr %t0 + %t79 = load ptr, ptr %t70 + %t80 = call ptr @lp_str_concat(ptr @.str10659, ptr %t79) + %t81 = load ptr, ptr %t74 + call void @fn_emit_io(ptr %t78, ptr %t80, ptr %t81) + %t82 = load ptr, ptr %t0 + %t83 = load ptr, ptr %t70 + %t84 = call ptr @lp_str_concat(ptr @.str10660, 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 @.str10661, ptr @g_g_snap_mode + call void @fn_emith(ptr @.str10662) + call void @fn_emith(ptr @.str10663) + call void @fn_emith(ptr @.str10664) + %t0 = call ptr @fn_find_fn(ptr @.str10665) + %t1 = icmp ne ptr %t0, null + %t2 = zext i1 %t1 to i32 + store i32 %t2, ptr %t3 + %t4 = call ptr @fn_find_fn(ptr @.str10666) + %t5 = icmp ne ptr %t4, null + %t6 = zext i1 %t5 to i32 + store i32 %t6, ptr %t7 + call void @fn_emit(ptr @.str10667) + call void @fn_emit(ptr @.str10668) + call void @fn_emit(ptr @.str10669) + call void @fn_emit(ptr @.str10670) + call void @fn_emit_snapshot_blocks(ptr @.str10671) + %t8 = load i32, ptr %t3 + %t9 = icmp ne i32 %t8, 0 + br i1 %t9, label %then0, label %ifend2 +then0: + call void @fn_emit(ptr @.str10672) + br label %ifend2 +ifend2: + call void @fn_emit(ptr @.str10673) + call void @fn_emit(ptr @.str10674) + call void @fn_emit(ptr @.str10675) + call void @fn_emit(ptr @.str10676) + call void @fn_emit(ptr @.str10677) + call void @fn_emit_snapshot_blocks(ptr @.str10678) + %t10 = load i32, ptr %t7 + %t11 = icmp ne i32 %t10, 0 + br i1 %t11, label %then3, label %ifend5 +then3: + call void @fn_emit(ptr @.str10679) + br label %ifend5 +ifend5: + call void @fn_emit(ptr @.str10680) + call void @fn_emit(ptr @.str10681) + store ptr @.str10682, ptr @g_g_snap_mode + call void @fn_emit_snapshot_blocks(ptr @.str10683) + %t12 = load i32, ptr @g_g_iok + %t13 = call ptr @fn_itoa(i32 %t12) + %t14 = call ptr @lp_str_concat(ptr @.str10684, ptr %t13) + store ptr %t14, ptr %t15 + call void @fn_emit(ptr @.str10685) + %t16 = load ptr, ptr %t15 + call void @fn_emit(ptr %t16) + call void @fn_emit(ptr @.str10686) + %t17 = load ptr, ptr @g_g_off + call void @fn_emit(ptr %t17) + call void @fn_emit(ptr @.str10687) + call void @fn_emit(ptr @.str10688) + %t18 = load ptr, ptr %t15 + call void @fn_emit(ptr %t18) + call void @fn_emit(ptr @.str10689) + call void @fn_emit(ptr @.str10690) + store ptr @.str10691, ptr @g_g_snap_mode + call void @fn_emit_snapshot_blocks(ptr @.str10692) + call void @fn_emit(ptr @.str10693) + call void @fn_emit(ptr @.str10694) + store ptr @.str10695, ptr @g_g_snap_mode + call void @fn_emit_snapshot_blocks(ptr @.str10696) + %t19 = load i32, ptr @g_g_iok + %t20 = call ptr @fn_itoa(i32 %t19) + %t21 = call ptr @lp_str_concat(ptr @.str10697, ptr %t20) + store ptr %t21, ptr %t22 + call void @fn_emit(ptr @.str10698) + %t23 = load ptr, ptr %t22 + call void @fn_emit(ptr %t23) + call void @fn_emit(ptr @.str10699) + %t24 = load ptr, ptr @g_g_off + call void @fn_emit(ptr %t24) + call void @fn_emit(ptr @.str10700) + call void @fn_emit(ptr @.str10701) + %t25 = load ptr, ptr %t22 + call void @fn_emit(ptr %t25) + call void @fn_emit(ptr @.str10702) + store ptr @.str10703, ptr @g_g_snap_mode + br label %ret +ret: + ret void +} + +define i32 @fn_net_field_ibytes(ptr %arg_ty) { +entry: + %retval = alloca i32 + %t0 = alloca ptr + store ptr %arg_ty, ptr %t0 + %t1 = load ptr, ptr %t0 + %t2 = call ptr @fn_llty(ptr %t1) + %t3 = call i32 @lp_str_eq(ptr %t2, ptr @.str10704) + %t4 = icmp ne i32 %t3, 0 + br i1 %t4, label %then0, label %ifend2 +then0: + store i32 1, ptr %retval + br label %ret +ifend2: + store i32 4, ptr %retval + br label %ret +ret: + %t5 = load i32, ptr %retval + ret i32 %t5 +} + +define ptr @fn_net_field_bytes(ptr %arg_ty) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + store ptr %arg_ty, ptr %t0 + %t1 = load ptr, ptr %t0 + %t2 = call ptr @fn_llty(ptr %t1) + %t3 = call i32 @lp_str_eq(ptr %t2, ptr @.str10705) + %t4 = icmp ne i32 %t3, 0 + br i1 %t4, label %then0, label %ifend2 +then0: + store ptr @.str10706, ptr %retval + br label %ret +ifend2: + store ptr @.str10707, ptr %retval + br label %ret +ret: + %t5 = load ptr, ptr %retval + ret ptr %t5 +} + +define i32 @fn_net_model_bytes(ptr %arg_m) { +entry: + %retval = alloca i32 + %t0 = alloca ptr + %t1 = alloca i32 + %t2 = alloca i32 + %t36 = alloca ptr + %t41 = alloca i32 + store ptr %arg_m, ptr %t0 + store i32 0, ptr %t1 + store i32 0, ptr %t2 + br label %wcond0 +wcond0: + %t3 = load i32, ptr %t2 + %t4 = load ptr, ptr %t0 + %t5 = getelementptr inbounds %Cmp_Node, ptr %t4, i32 0, i32 7 + %t6 = load ptr, ptr %t5 + %t7 = getelementptr inbounds %LSlice, ptr %t6, i32 0, i32 1 + %t8 = load i32, ptr %t7 + %t9 = icmp slt i32 %t3, %t8 + %t10 = zext i1 %t9 to i32 + %t11 = icmp ne i32 %t10, 0 + br i1 %t11, label %wbody1, label %wend2 +wbody1: + %t12 = load ptr, ptr %t0 + %t13 = getelementptr inbounds %Cmp_Node, ptr %t12, i32 0, i32 7 + %t14 = load ptr, ptr %t13 + %t15 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 0 + %t16 = load ptr, ptr %t15 + %t17 = load i32, ptr %t2 + %t18 = getelementptr inbounds ptr, ptr %t16, i32 %t17 + %t19 = load ptr, ptr %t18 + %t20 = getelementptr inbounds %Cmp_Node, ptr %t19, i32 0, i32 2 + %t21 = load i32, ptr %t20 + %t22 = icmp eq i32 %t21, 1 + %t23 = zext i1 %t22 to i32 + %t24 = icmp ne i32 %t23, 0 + br i1 %t24, label %then3, label %ifend5 +then3: + %t25 = load ptr, ptr %t0 + %t26 = getelementptr inbounds %Cmp_Node, ptr %t25, i32 0, i32 7 + %t27 = load ptr, ptr %t26 + %t28 = getelementptr inbounds %LSlice, ptr %t27, i32 0, i32 0 + %t29 = load ptr, ptr %t28 + %t30 = load i32, ptr %t2 + %t31 = getelementptr inbounds ptr, ptr %t29, i32 %t30 + %t32 = load ptr, ptr %t31 + %t33 = getelementptr inbounds %Cmp_Node, ptr %t32, i32 0, i32 1 + %t34 = load ptr, ptr %t33 + %t35 = call ptr @fn_find_comp(ptr %t34) + store ptr %t35, ptr %t36 + %t37 = load ptr, ptr %t36 + %t38 = icmp ne ptr %t37, null + %t39 = zext i1 %t38 to i32 + %t40 = icmp ne i32 %t39, 0 + br i1 %t40, label %then6, label %ifend8 +then6: + store i32 0, ptr %t41 + br label %wcond9 +wcond9: + %t42 = load i32, ptr %t41 + %t43 = load ptr, ptr %t36 + %t44 = getelementptr inbounds %Cmp_Node, ptr %t43, i32 0, i32 7 + %t45 = load ptr, ptr %t44 + %t46 = getelementptr inbounds %LSlice, ptr %t45, i32 0, i32 1 + %t47 = load i32, ptr %t46 + %t48 = icmp slt i32 %t42, %t47 + %t49 = zext i1 %t48 to i32 + %t50 = icmp ne i32 %t49, 0 + br i1 %t50, label %wbody10, label %wend11 +wbody10: + %t51 = load ptr, ptr %t36 + %t52 = getelementptr inbounds %Cmp_Node, ptr %t51, i32 0, i32 7 + %t53 = load ptr, ptr %t52 + %t54 = getelementptr inbounds %LSlice, ptr %t53, i32 0, i32 0 + %t55 = load ptr, ptr %t54 + %t56 = load i32, ptr %t41 + %t57 = getelementptr inbounds ptr, ptr %t55, i32 %t56 + %t58 = load ptr, ptr %t57 + %t59 = getelementptr inbounds %Cmp_Node, ptr %t58, i32 0, i32 2 + %t60 = load i32, ptr %t59 + %t61 = icmp eq i32 %t60, 1 + %t62 = zext i1 %t61 to i32 + %t63 = icmp ne i32 %t62, 0 + br i1 %t63, label %then12, label %ifend14 +then12: + %t64 = load ptr, ptr %t36 + %t65 = getelementptr inbounds %Cmp_Node, ptr %t64, i32 0, i32 7 + %t66 = load ptr, ptr %t65 + %t67 = getelementptr inbounds %LSlice, ptr %t66, i32 0, i32 0 + %t68 = load ptr, ptr %t67 + %t69 = load i32, ptr %t41 + %t70 = getelementptr inbounds ptr, ptr %t68, i32 %t69 + %t71 = load ptr, ptr %t70 + %t72 = getelementptr inbounds %Cmp_Node, ptr %t71, i32 0, i32 3 + %t73 = load ptr, ptr %t72 + %t74 = call i32 @fn_net_field_ibytes(ptr %t73) + %t75 = load i32, ptr %t1 + %t76 = add i32 %t75, %t74 + store i32 %t76, ptr %t1 + br label %ifend14 +ifend14: + %t77 = load i32, ptr %t41 + %t78 = add i32 %t77, 1 + store i32 %t78, ptr %t41 + br label %wcond9 +wend11: + br label %ifend8 +ifend8: + br label %ifend5 +ifend5: + %t79 = load i32, ptr %t2 + %t80 = add i32 %t79, 1 + store i32 %t80, ptr %t2 + br label %wcond0 +wend2: + %t81 = load i32, ptr %t1 + store i32 %t81, ptr %retval + br label %ret +ret: + %t82 = load i32, ptr %retval + ret i32 %t82 +} + +define i32 @fn_net_model_syncs(ptr %arg_m) { +entry: + %retval = alloca i32 + %t0 = alloca ptr + store ptr %arg_m, ptr %t0 + %t1 = load ptr, ptr %t0 + %t2 = call i32 @fn_net_model_bytes(ptr %t1) + %t3 = icmp sgt i32 %t2, 0 + %t4 = zext i1 %t3 to i32 + store i32 %t4, ptr %retval + br label %ret +ret: + %t5 = load i32, ptr %retval + ret i32 %t5 +} + +define i32 @fn_net_has_sync() { +entry: + %retval = alloca i32 + %t0 = alloca i32 + store i32 0, ptr %t0 + br label %wcond0 +wcond0: + %t1 = load i32, ptr %t0 + %t2 = load ptr, ptr @g_prog + %t3 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 1 + %t4 = load i32, ptr %t3 + %t5 = icmp slt i32 %t1, %t4 + %t6 = zext i1 %t5 to i32 + %t7 = icmp ne i32 %t6, 0 + br i1 %t7, label %wbody1, label %wend2 +wbody1: + %t8 = load ptr, ptr @g_prog + %t9 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 0 + %t10 = load ptr, ptr %t9 + %t11 = load i32, ptr %t0 + %t12 = getelementptr inbounds ptr, ptr %t10, i32 %t11 + %t13 = load ptr, ptr %t12 + %t14 = getelementptr inbounds %Cmp_Node, ptr %t13, i32 0, i32 0 + %t15 = load i32, ptr %t14 + %t16 = icmp eq i32 %t15, 10 + %t17 = zext i1 %t16 to i32 + %t18 = icmp ne i32 %t17, 0 + br i1 %t18, label %then3, label %ifend5 +then3: + %t19 = load ptr, ptr @g_prog + %t20 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 0 + %t21 = load ptr, ptr %t20 + %t22 = load i32, ptr %t0 + %t23 = getelementptr inbounds ptr, ptr %t21, i32 %t22 + %t24 = load ptr, ptr %t23 + %t25 = call i32 @fn_net_model_syncs(ptr %t24) + %t26 = icmp ne i32 %t25, 0 + br i1 %t26, label %then6, label %ifend8 +then6: + store i32 1, ptr %retval + br label %ret +ifend8: + br label %ifend5 +ifend5: + %t27 = load i32, ptr %t0 + %t28 = add i32 %t27, 1 + store i32 %t28, ptr %t0 + br label %wcond0 +wend2: + store i32 0, ptr %retval + br label %ret +ret: + %t29 = load i32, ptr %retval + ret i32 %t29 +} + +define i32 @fn_net_has_owned() { +entry: + %retval = alloca i32 + %t0 = alloca i32 + %t8 = alloca i32 + store i32 0, ptr %t0 + br label %wcond0 +wcond0: + %t1 = load i32, ptr %t0 + %t2 = load ptr, ptr @g_prog + %t3 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 1 + %t4 = load i32, ptr %t3 + %t5 = icmp slt i32 %t1, %t4 + %t6 = zext i1 %t5 to i32 + %t7 = icmp ne i32 %t6, 0 + br i1 %t7, label %wbody1, label %wend2 +wbody1: + %t9 = load ptr, ptr @g_prog + %t10 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0 + %t11 = load ptr, ptr %t10 + %t12 = load i32, ptr %t0 + %t13 = getelementptr inbounds ptr, ptr %t11, i32 %t12 + %t14 = load ptr, ptr %t13 + %t15 = getelementptr inbounds %Cmp_Node, ptr %t14, i32 0, i32 0 + %t16 = load i32, ptr %t15 + %t17 = icmp eq i32 %t16, 10 + %t18 = zext i1 %t17 to i32 + %t19 = icmp ne i32 %t18, 0 + %t20 = zext i1 %t19 to i32 + store i32 %t20, ptr %t8 + br i1 %t19, label %sc3, label %scend4 +sc3: + %t21 = load ptr, ptr @g_prog + %t22 = getelementptr inbounds %LSlice, ptr %t21, i32 0, i32 0 + %t23 = load ptr, ptr %t22 + %t24 = load i32, ptr %t0 + %t25 = getelementptr inbounds ptr, ptr %t23, i32 %t24 + %t26 = load ptr, ptr %t25 + %t27 = getelementptr inbounds %Cmp_Node, ptr %t26, i32 0, i32 2 + %t28 = load i32, ptr %t27 + %t29 = icmp eq i32 %t28, 1 + %t30 = zext i1 %t29 to i32 + %t31 = icmp ne i32 %t30, 0 + %t32 = zext i1 %t31 to i32 + store i32 %t32, ptr %t8 + br label %scend4 +scend4: + %t33 = load i32, ptr %t8 + %t34 = icmp ne i32 %t33, 0 + br i1 %t34, label %then5, label %ifend7 +then5: + store i32 1, ptr %retval + br label %ret +ifend7: + %t35 = load i32, ptr %t0 + %t36 = add i32 %t35, 1 + store i32 %t36, ptr %t0 + br label %wcond0 +wend2: + store i32 0, ptr %retval + br label %ret +ret: + %t37 = load i32, ptr %retval + ret i32 %t37 +} + +define i32 @fn_net_has_role() { +entry: + %retval = alloca i32 + %t0 = alloca i32 + %t8 = alloca i32 + store i32 0, ptr %t0 + br label %wcond0 +wcond0: + %t1 = load i32, ptr %t0 + %t2 = load ptr, ptr @g_prog + %t3 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 1 + %t4 = load i32, ptr %t3 + %t5 = icmp slt i32 %t1, %t4 + %t6 = zext i1 %t5 to i32 + %t7 = icmp ne i32 %t6, 0 + br i1 %t7, label %wbody1, label %wend2 +wbody1: + %t9 = load ptr, ptr @g_prog + %t10 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0 + %t11 = load ptr, ptr %t10 + %t12 = load i32, ptr %t0 + %t13 = getelementptr inbounds ptr, ptr %t11, i32 %t12 + %t14 = load ptr, ptr %t13 + %t15 = getelementptr inbounds %Cmp_Node, ptr %t14, i32 0, i32 0 + %t16 = load i32, ptr %t15 + %t17 = icmp eq i32 %t16, 9 + %t18 = zext i1 %t17 to i32 + %t19 = icmp ne i32 %t18, 0 + %t20 = zext i1 %t19 to i32 + store i32 %t20, ptr %t8 + br i1 %t19, label %sc3, label %scend4 +sc3: + %t21 = load ptr, ptr @g_prog + %t22 = getelementptr inbounds %LSlice, ptr %t21, i32 0, i32 0 + %t23 = load ptr, ptr %t22 + %t24 = load i32, ptr %t0 + %t25 = getelementptr inbounds ptr, ptr %t23, i32 %t24 + %t26 = load ptr, ptr %t25 + %t27 = getelementptr inbounds %Cmp_Node, ptr %t26, i32 0, i32 2 + %t28 = load i32, ptr %t27 + %t29 = icmp ne i32 %t28, 0 + %t30 = zext i1 %t29 to i32 + %t31 = icmp ne i32 %t30, 0 + %t32 = zext i1 %t31 to i32 + store i32 %t32, ptr %t8 + br label %scend4 +scend4: + %t33 = load i32, ptr %t8 + %t34 = icmp ne i32 %t33, 0 + br i1 %t34, label %then5, label %ifend7 +then5: + store i32 1, ptr %retval + br label %ret +ifend7: + %t35 = load i32, ptr %t0 + %t36 = add i32 %t35, 1 + store i32 %t36, ptr %t0 + br label %wcond0 +wend2: + store i32 0, ptr %retval + br label %ret +ret: + %t37 = load i32, ptr %retval + ret i32 %t37 +} + +define i32 @fn_net_any() { +entry: + %retval = alloca i32 + %t0 = alloca i32 + %t1 = alloca i32 + %t2 = call i32 @fn_net_has_sync() + %t3 = icmp ne i32 %t2, 0 + %t4 = zext i1 %t3 to i32 + store i32 %t4, ptr %t1 + br i1 %t3, label %scend1, label %sc0 +sc0: + %t5 = call i32 @fn_net_has_owned() + %t6 = icmp ne i32 %t5, 0 + %t7 = zext i1 %t6 to i32 + store i32 %t7, ptr %t1 + br label %scend1 +scend1: + %t8 = load i32, ptr %t1 + %t9 = icmp ne i32 %t8, 0 + %t10 = zext i1 %t9 to i32 + store i32 %t10, ptr %t0 + br i1 %t9, label %scend3, label %sc2 +sc2: + %t11 = call i32 @fn_net_has_role() + %t12 = icmp ne i32 %t11, 0 + %t13 = zext i1 %t12 to i32 + store i32 %t13, ptr %t0 + br label %scend3 +scend3: + %t14 = load i32, ptr %t0 + store i32 %t14, ptr %retval + br label %ret +ret: + %t15 = load i32, ptr %retval + ret i32 %t15 +} + +define void @fn_net_warn(ptr %arg_msg) { +entry: + %t0 = alloca ptr + %t2 = alloca ptr + store ptr %arg_msg, ptr %t0 + %t1 = call ptr @lp_win_stdio(i32 2) + store ptr %t1, ptr %t2 + %t3 = load ptr, ptr %t2 + %t4 = zext i32 23 to i64 + %t5 = call i64 @fwrite(ptr @.str10708, 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 @.str10709, i64 1, i64 %t16, ptr %t15) + %t18 = trunc i64 %t17 to i32 + br label %ret +ret: + ret void +} + +define void @fn_net_check() { +entry: + %t0 = alloca i32 + %t25 = alloca ptr + %t26 = alloca i32 + %t59 = alloca ptr + %t62 = alloca ptr + %t67 = alloca i32 + %t68 = alloca i32 + store i32 0, ptr %t0 + br label %wcond0 +wcond0: + %t1 = load i32, ptr %t0 + %t2 = load ptr, ptr @g_prog + %t3 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 1 + %t4 = load i32, ptr %t3 + %t5 = icmp slt i32 %t1, %t4 + %t6 = zext i1 %t5 to i32 + %t7 = icmp ne i32 %t6, 0 + br i1 %t7, label %wbody1, label %wend2 +wbody1: + %t8 = load ptr, ptr @g_prog + %t9 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 0 + %t10 = load ptr, ptr %t9 + %t11 = load i32, ptr %t0 + %t12 = getelementptr inbounds ptr, ptr %t10, i32 %t11 + %t13 = load ptr, ptr %t12 + %t14 = getelementptr inbounds %Cmp_Node, ptr %t13, i32 0, i32 0 + %t15 = load i32, ptr %t14 + %t16 = icmp eq i32 %t15, 10 + %t17 = zext i1 %t16 to i32 + %t18 = icmp ne i32 %t17, 0 + br i1 %t18, label %then3, label %ifend5 +then3: + %t19 = load ptr, ptr @g_prog + %t20 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 0 + %t21 = load ptr, ptr %t20 + %t22 = load i32, ptr %t0 + %t23 = getelementptr inbounds ptr, ptr %t21, i32 %t22 + %t24 = load ptr, ptr %t23 + store ptr %t24, ptr %t25 + store i32 0, ptr %t26 + br label %wcond6 +wcond6: + %t27 = load i32, ptr %t26 + %t28 = load ptr, ptr %t25 + %t29 = getelementptr inbounds %Cmp_Node, ptr %t28, i32 0, i32 7 + %t30 = load ptr, ptr %t29 + %t31 = getelementptr inbounds %LSlice, ptr %t30, i32 0, i32 1 + %t32 = load i32, ptr %t31 + %t33 = icmp slt i32 %t27, %t32 + %t34 = zext i1 %t33 to i32 + %t35 = icmp ne i32 %t34, 0 + br i1 %t35, label %wbody7, label %wend8 +wbody7: + %t36 = load ptr, ptr %t25 + %t37 = getelementptr inbounds %Cmp_Node, ptr %t36, i32 0, i32 7 + %t38 = load ptr, ptr %t37 + %t39 = getelementptr inbounds %LSlice, ptr %t38, i32 0, i32 0 + %t40 = load ptr, ptr %t39 + %t41 = load i32, ptr %t26 + %t42 = getelementptr inbounds ptr, ptr %t40, i32 %t41 + %t43 = load ptr, ptr %t42 + %t44 = getelementptr inbounds %Cmp_Node, ptr %t43, i32 0, i32 2 + %t45 = load i32, ptr %t44 + %t46 = icmp eq i32 %t45, 1 + %t47 = zext i1 %t46 to i32 + %t48 = icmp ne i32 %t47, 0 + br i1 %t48, label %then9, label %ifend11 +then9: + %t49 = load ptr, ptr %t25 + %t50 = getelementptr inbounds %Cmp_Node, ptr %t49, i32 0, i32 7 + %t51 = load ptr, ptr %t50 + %t52 = getelementptr inbounds %LSlice, ptr %t51, i32 0, i32 0 + %t53 = load ptr, ptr %t52 + %t54 = load i32, ptr %t26 + %t55 = getelementptr inbounds ptr, ptr %t53, i32 %t54 + %t56 = load ptr, ptr %t55 + %t57 = getelementptr inbounds %Cmp_Node, ptr %t56, i32 0, i32 1 + %t58 = load ptr, ptr %t57 + store ptr %t58, ptr %t59 + %t60 = load ptr, ptr %t59 + %t61 = call ptr @fn_find_comp(ptr %t60) + store ptr %t61, ptr %t62 + %t63 = load ptr, ptr %t62 + %t64 = icmp ne ptr %t63, null + %t65 = zext i1 %t64 to i32 + %t66 = icmp ne i32 %t65, 0 + br i1 %t66, label %then12, label %ifend14 +then12: + store i32 0, ptr %t67 + store i32 0, ptr %t68 + br label %wcond15 +wcond15: + %t69 = load i32, ptr %t68 + %t70 = load ptr, ptr %t62 + %t71 = getelementptr inbounds %Cmp_Node, ptr %t70, i32 0, i32 7 + %t72 = load ptr, ptr %t71 + %t73 = getelementptr inbounds %LSlice, ptr %t72, i32 0, i32 1 + %t74 = load i32, ptr %t73 + %t75 = icmp slt i32 %t69, %t74 + %t76 = zext i1 %t75 to i32 + %t77 = icmp ne i32 %t76, 0 + br i1 %t77, label %wbody16, label %wend17 +wbody16: + %t78 = load ptr, ptr %t62 + %t79 = getelementptr inbounds %Cmp_Node, ptr %t78, i32 0, i32 7 + %t80 = load ptr, ptr %t79 + %t81 = getelementptr inbounds %LSlice, ptr %t80, i32 0, i32 0 + %t82 = load ptr, ptr %t81 + %t83 = load i32, ptr %t68 + %t84 = getelementptr inbounds ptr, ptr %t82, i32 %t83 + %t85 = load ptr, ptr %t84 + %t86 = getelementptr inbounds %Cmp_Node, ptr %t85, i32 0, i32 2 + %t87 = load i32, ptr %t86 + %t88 = icmp eq i32 %t87, 1 + %t89 = zext i1 %t88 to i32 + %t90 = icmp ne i32 %t89, 0 + br i1 %t90, label %then18, label %ifend20 +then18: + store i32 1, ptr %t67 + %t91 = load ptr, ptr %t62 + %t92 = getelementptr inbounds %Cmp_Node, ptr %t91, i32 0, i32 7 + %t93 = load ptr, ptr %t92 + %t94 = getelementptr inbounds %LSlice, ptr %t93, i32 0, i32 0 + %t95 = load ptr, ptr %t94 + %t96 = load i32, ptr %t68 + %t97 = getelementptr inbounds ptr, ptr %t95, i32 %t96 + %t98 = load ptr, ptr %t97 + %t99 = getelementptr inbounds %Cmp_Node, ptr %t98, i32 0, i32 3 + %t100 = load ptr, ptr %t99 + %t101 = call ptr @fn_llty(ptr %t100) + %t102 = call i32 @lp_str_eq(ptr %t101, ptr @.str10710) + %t103 = icmp ne i32 %t102, 0 + br i1 %t103, label %then21, label %ifend23 +then21: + %t104 = load ptr, ptr %t59 + %t105 = call ptr @lp_str_concat(ptr @.str10711, ptr %t104) + %t106 = call ptr @lp_str_concat(ptr %t105, ptr @.str10712) + %t107 = load ptr, ptr %t62 + %t108 = getelementptr inbounds %Cmp_Node, ptr %t107, i32 0, i32 7 + %t109 = load ptr, ptr %t108 + %t110 = getelementptr inbounds %LSlice, ptr %t109, i32 0, i32 0 + %t111 = load ptr, ptr %t110 + %t112 = load i32, ptr %t68 + %t113 = getelementptr inbounds ptr, ptr %t111, i32 %t112 + %t114 = load ptr, ptr %t113 + %t115 = getelementptr inbounds %Cmp_Node, ptr %t114, i32 0, i32 1 + %t116 = load ptr, ptr %t115 + %t117 = call ptr @lp_str_concat(ptr %t106, ptr %t116) + %t118 = call ptr @lp_str_concat(ptr %t117, ptr @.str10713) + call void @fn_perr(ptr %t118) + br label %ifend23 +ifend23: + br label %ifend20 +ifend20: + %t119 = load i32, ptr %t68 + %t120 = add i32 %t119, 1 + store i32 %t120, ptr %t68 + br label %wcond15 +wend17: + %t121 = load i32, ptr %t67 + %t122 = icmp eq i32 %t121, 0 + %t123 = zext i1 %t122 to i32 + %t124 = icmp ne i32 %t123, 0 + br i1 %t124, label %then24, label %ifend26 +then24: + %t125 = load ptr, ptr %t25 + %t126 = getelementptr inbounds %Cmp_Node, ptr %t125, i32 0, i32 1 + %t127 = load ptr, ptr %t126 + %t128 = call ptr @lp_str_concat(ptr @.str10714, ptr %t127) + %t129 = call ptr @lp_str_concat(ptr %t128, ptr @.str10715) + %t130 = load ptr, ptr %t59 + %t131 = call ptr @lp_str_concat(ptr %t129, ptr %t130) + %t132 = call ptr @lp_str_concat(ptr %t131, ptr @.str10716) + 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 @.str10717) + %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 @.str10718) + 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 @.str10719) + %t50 = load ptr, ptr %t49 + call void @fn_emit(ptr %t50) + call void @fn_emit(ptr @.str10720) + %t51 = load ptr, ptr %t2 + call void @fn_emit(ptr %t51) + call void @fn_emit(ptr @.str10721) + %t52 = load ptr, ptr %t40 + call void @fn_emit(ptr %t52) + call void @fn_emit(ptr @.str10722) + %t53 = load ptr, ptr %t40 + call void @fn_emit(ptr %t53) + call void @fn_emit(ptr @.str10723) + 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 @.str10724) + %t91 = load ptr, ptr %t90 + call void @fn_emit(ptr %t91) + call void @fn_emit(ptr @.str10725) + %t92 = load ptr, ptr %t40 + call void @fn_emit(ptr %t92) + call void @fn_emit(ptr @.str10726) + %t93 = load ptr, ptr %t49 + call void @fn_emit(ptr %t93) + call void @fn_emit(ptr @.str10727) + %t94 = load i32, ptr %t54 + %t95 = call ptr @fn_itoa(i32 %t94) + call void @fn_emit(ptr %t95) + call void @fn_emit(ptr @.str10728) + %t96 = call ptr @fn_nreg() + store ptr %t96, ptr %t97 + call void @fn_emit(ptr @.str10729) + %t98 = load ptr, ptr %t97 + call void @fn_emit(ptr %t98) + call void @fn_emit(ptr @.str10730) + %t99 = load i32, ptr %t6 + %t100 = call ptr @fn_itoa(i32 %t99) + call void @fn_emit(ptr %t100) + call void @fn_emit(ptr @.str10731) + call void @fn_emit(ptr @.str10732) + %t101 = load ptr, ptr %t97 + call void @fn_emit(ptr %t101) + call void @fn_emit(ptr @.str10733) + %t102 = load ptr, ptr %t90 + call void @fn_emit(ptr %t102) + call void @fn_emit(ptr @.str10734) + %t103 = load ptr, ptr %t88 + call void @fn_emit(ptr %t103) + call void @fn_emit(ptr @.str10735) + %t104 = load ptr, ptr %t43 + %t105 = getelementptr inbounds %Cmp_Node, ptr %t104, i32 0, i32 7 + %t106 = load ptr, ptr %t105 + %t107 = getelementptr inbounds %LSlice, ptr %t106, i32 0, i32 0 + %t108 = load ptr, ptr %t107 + %t109 = load i32, ptr %t54 + %t110 = getelementptr inbounds ptr, ptr %t108, i32 %t109 + %t111 = load ptr, ptr %t110 + %t112 = getelementptr inbounds %Cmp_Node, ptr %t111, i32 0, i32 3 + %t113 = load ptr, ptr %t112 + %t114 = call i32 @fn_net_field_ibytes(ptr %t113) + %t115 = load i32, ptr %t6 + %t116 = add i32 %t115, %t114 + store i32 %t116, ptr %t6 + br label %ifend14 +ifend14: + %t117 = load i32, ptr %t54 + %t118 = add i32 %t117, 1 + store i32 %t118, ptr %t54 + br label %wcond9 +wend11: + br label %ifend8 +ifend8: + br label %ifend5 +ifend5: + %t119 = load i32, ptr %t7 + %t120 = add i32 %t119, 1 + store i32 %t120, ptr %t7 + br label %wcond0 +wend2: + call void @fn_emit(ptr @.str10736) + %t121 = load i32, ptr %t6 + %t122 = call ptr @fn_itoa(i32 %t121) + call void @fn_emit(ptr %t122) + call void @fn_emit(ptr @.str10737) + 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 @.str10738) + %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 @.str10739) + 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 @.str10740) + %t50 = load ptr, ptr %t49 + call void @fn_emit(ptr %t50) + call void @fn_emit(ptr @.str10741) + %t51 = load ptr, ptr %t2 + call void @fn_emit(ptr %t51) + call void @fn_emit(ptr @.str10742) + %t52 = load ptr, ptr %t40 + call void @fn_emit(ptr %t52) + call void @fn_emit(ptr @.str10743) + %t53 = load ptr, ptr %t40 + call void @fn_emit(ptr %t53) + call void @fn_emit(ptr @.str10744) + 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 @.str10745) + %t91 = load ptr, ptr %t90 + call void @fn_emit(ptr %t91) + call void @fn_emit(ptr @.str10746) + %t92 = load ptr, ptr %t40 + call void @fn_emit(ptr %t92) + call void @fn_emit(ptr @.str10747) + %t93 = load ptr, ptr %t49 + call void @fn_emit(ptr %t93) + call void @fn_emit(ptr @.str10748) + %t94 = load i32, ptr %t54 + %t95 = call ptr @fn_itoa(i32 %t94) + call void @fn_emit(ptr %t95) + call void @fn_emit(ptr @.str10749) + %t96 = call ptr @fn_nreg() + store ptr %t96, ptr %t97 + call void @fn_emit(ptr @.str10750) + %t98 = load ptr, ptr %t97 + call void @fn_emit(ptr %t98) + call void @fn_emit(ptr @.str10751) + %t99 = load i32, ptr %t6 + %t100 = call ptr @fn_itoa(i32 %t99) + call void @fn_emit(ptr %t100) + call void @fn_emit(ptr @.str10752) + call void @fn_emit(ptr @.str10753) + %t101 = load ptr, ptr %t90 + call void @fn_emit(ptr %t101) + call void @fn_emit(ptr @.str10754) + %t102 = load ptr, ptr %t97 + call void @fn_emit(ptr %t102) + call void @fn_emit(ptr @.str10755) + %t103 = load ptr, ptr %t88 + call void @fn_emit(ptr %t103) + call void @fn_emit(ptr @.str10756) + %t104 = load ptr, ptr %t43 + %t105 = getelementptr inbounds %Cmp_Node, ptr %t104, i32 0, i32 7 + %t106 = load ptr, ptr %t105 + %t107 = getelementptr inbounds %LSlice, ptr %t106, i32 0, i32 0 + %t108 = load ptr, ptr %t107 + %t109 = load i32, ptr %t54 + %t110 = getelementptr inbounds ptr, ptr %t108, i32 %t109 + %t111 = load ptr, ptr %t110 + %t112 = getelementptr inbounds %Cmp_Node, ptr %t111, i32 0, i32 3 + %t113 = load ptr, ptr %t112 + %t114 = call i32 @fn_net_field_ibytes(ptr %t113) + %t115 = load i32, ptr %t6 + %t116 = add i32 %t115, %t114 + store i32 %t116, ptr %t6 + br label %ifend14 +ifend14: + %t117 = load i32, ptr %t54 + %t118 = add i32 %t117, 1 + store i32 %t118, ptr %t54 + br label %wcond9 +wend11: + br label %ifend8 +ifend8: + br label %ifend5 +ifend5: + %t119 = load i32, ptr %t7 + %t120 = add i32 %t119, 1 + store i32 %t120, ptr %t7 + br label %wcond0 +wend2: + call void @fn_emit(ptr @.str10757) + 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 @.str10758) + call void @fn_emit(ptr @.str10759) + %t2 = load ptr, ptr %t1 + call void @fn_emit(ptr %t2) + call void @fn_emit(ptr @.str10760) + 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 @.str10761) + %t48 = load ptr, ptr %t47 + call void @fn_emit(ptr %t48) + call void @fn_emit(ptr @.str10762) + %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 @.str10763) + call void @fn_emit(ptr @.str10764) + %t52 = load ptr, ptr %t47 + call void @fn_emit(ptr %t52) + call void @fn_emit(ptr @.str10765) + %t53 = load ptr, ptr %t47 + call void @fn_emit(ptr %t53) + call void @fn_emit(ptr @.str10766) + %t54 = load ptr, ptr %t47 + call void @fn_emit(ptr %t54) + call void @fn_emit(ptr @.str10767) + call void @fn_emit(ptr @.str10768) + %t55 = load ptr, ptr %t47 + call void @fn_emit(ptr %t55) + call void @fn_emit(ptr @.str10769) + %t56 = load ptr, ptr %t47 + call void @fn_emit(ptr %t56) + call void @fn_emit(ptr @.str10770) + %t57 = load ptr, ptr %t44 + call void @fn_emit(ptr %t57) + call void @fn_emit(ptr @.str10771) + %t58 = load ptr, ptr %t47 + call void @fn_emit(ptr %t58) + call void @fn_emit(ptr @.str10772) + call void @fn_emit(ptr @.str10773) + %t59 = load ptr, ptr %t47 + call void @fn_emit(ptr %t59) + call void @fn_emit(ptr @.str10774) + %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 @.str10775) + call void @fn_emit(ptr @.str10776) + call void @fn_emit(ptr @.str10777) + %t64 = load ptr, ptr %t1 + call void @fn_emit(ptr %t64) + call void @fn_emit(ptr @.str10778) + 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 @.str10779) + %t108 = load ptr, ptr %t107 + call void @fn_emit(ptr %t108) + call void @fn_emit(ptr @.str10780) + %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 @.str10781) + call void @fn_emit(ptr @.str10782) + %t112 = load ptr, ptr %t107 + call void @fn_emit(ptr %t112) + call void @fn_emit(ptr @.str10783) + %t113 = load ptr, ptr %t107 + call void @fn_emit(ptr %t113) + call void @fn_emit(ptr @.str10784) + %t114 = load ptr, ptr %t107 + call void @fn_emit(ptr %t114) + call void @fn_emit(ptr @.str10785) + call void @fn_emit(ptr @.str10786) + %t115 = load ptr, ptr %t107 + call void @fn_emit(ptr %t115) + call void @fn_emit(ptr @.str10787) + %t116 = load ptr, ptr %t104 + call void @fn_emit(ptr %t116) + call void @fn_emit(ptr @.str10788) + call void @fn_emit(ptr @.str10789) + %t117 = load ptr, ptr %t107 + call void @fn_emit(ptr %t117) + call void @fn_emit(ptr @.str10790) + %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 @.str10791) + call void @fn_emit(ptr @.str10792) + call void @fn_emit(ptr @.str10793) + %t122 = load ptr, ptr %t1 + call void @fn_emit(ptr %t122) + call void @fn_emit(ptr @.str10794) + 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 @.str10795) + %t166 = load ptr, ptr %t165 + call void @fn_emit(ptr %t166) + call void @fn_emit(ptr @.str10796) + %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 @.str10797) + call void @fn_emit(ptr @.str10798) + %t170 = load ptr, ptr %t165 + call void @fn_emit(ptr %t170) + call void @fn_emit(ptr @.str10799) + %t171 = load ptr, ptr %t165 + call void @fn_emit(ptr %t171) + call void @fn_emit(ptr @.str10800) + %t172 = load ptr, ptr %t165 + call void @fn_emit(ptr %t172) + call void @fn_emit(ptr @.str10801) + call void @fn_emit(ptr @.str10802) + %t173 = load ptr, ptr %t165 + call void @fn_emit(ptr %t173) + call void @fn_emit(ptr @.str10803) + %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 @.str10804) + call void @fn_emit(ptr @.str10805) + %t182 = load ptr, ptr %t165 + call void @fn_emit(ptr %t182) + call void @fn_emit(ptr @.str10806) + %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 @.str10807) + 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 @.str10808) + call void @fn_emit(ptr @.str10809) + %t2 = load ptr, ptr %t1 + call void @fn_emit(ptr %t2) + call void @fn_emit(ptr @.str10810) + call void @fn_emit(ptr @.str10811) + call void @fn_emit(ptr @.str10812) + %t3 = load ptr, ptr %t1 + call void @fn_emit(ptr %t3) + call void @fn_emit(ptr @.str10813) + call void @fn_emit(ptr @.str10814) + call void @fn_emit(ptr @.str10815) + %t4 = load ptr, ptr %t1 + call void @fn_emit(ptr %t4) + call void @fn_emit(ptr @.str10816) + call void @fn_emit(ptr @.str10817) + br label %ret +ret: + ret void +} + +define void @fn_emit_loopback() { +entry: + call void @fn_emith(ptr @.str10818) + call void @fn_emith(ptr @.str10819) + call void @fn_emith(ptr @.str10820) + call void @fn_emith(ptr @.str10821) + call void @fn_emit(ptr @.str10822) + call void @fn_emit(ptr @.str10823) + call void @fn_emit(ptr @.str10824) + call void @fn_emit(ptr @.str10825) + call void @fn_emit(ptr @.str10826) + call void @fn_emit(ptr @.str10827) + call void @fn_emit(ptr @.str10828) + call void @fn_emit(ptr @.str10829) + call void @fn_emit(ptr @.str10830) + call void @fn_emit(ptr @.str10831) + call void @fn_emit(ptr @.str10832) + call void @fn_emit(ptr @.str10833) + call void @fn_emit(ptr @.str10834) + call void @fn_emit(ptr @.str10835) + call void @fn_emit(ptr @.str10836) + call void @fn_emit(ptr @.str10837) + call void @fn_emit(ptr @.str10838) + call void @fn_emit(ptr @.str10839) + call void @fn_emit(ptr @.str10840) + call void @fn_emit(ptr @.str10841) + call void @fn_emit(ptr @.str10842) + call void @fn_emit(ptr @.str10843) + br label %ret +ret: + ret void +} + +define i32 @fn_net_has_remote() { +entry: + %retval = alloca i32 + %t0 = alloca i32 + store i32 0, ptr %t0 + br label %wcond0 +wcond0: + %t1 = load i32, ptr %t0 + %t2 = load ptr, ptr @g_g_events + %t3 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 1 + %t4 = load i32, ptr %t3 + %t5 = icmp slt i32 %t1, %t4 + %t6 = zext i1 %t5 to i32 + %t7 = icmp ne i32 %t6, 0 + br i1 %t7, label %wbody1, label %wend2 +wbody1: + %t8 = load ptr, ptr @g_g_events + %t9 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 0 + %t10 = load ptr, ptr %t9 + %t11 = load i32, ptr %t0 + %t12 = getelementptr inbounds ptr, ptr %t10, i32 %t11 + %t13 = load ptr, ptr %t12 + %t14 = getelementptr inbounds %Cmp_Node, ptr %t13, i32 0, i32 3 + %t15 = load ptr, ptr %t14 + %t16 = icmp ne ptr %t15, null + %t17 = zext i1 %t16 to i32 + %t18 = icmp ne i32 %t17, 0 + br i1 %t18, label %then3, label %ifend5 +then3: + store i32 1, ptr %retval + br label %ret +ifend5: + %t19 = load i32, ptr %t0 + %t20 = add i32 %t19, 1 + store i32 %t20, ptr %t0 + br label %wcond0 +wend2: + store i32 0, ptr %retval + br label %ret +ret: + %t21 = load i32, ptr %retval + ret i32 %t21 +} + +define i32 @fn_net_event_id(ptr %arg_name) { +entry: + %retval = alloca i32 + %t0 = alloca ptr + %t1 = alloca i32 + store ptr %arg_name, ptr %t0 + store i32 0, ptr %t1 + br label %wcond0 +wcond0: + %t2 = load i32, ptr %t1 + %t3 = load ptr, ptr @g_g_events + %t4 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 1 + %t5 = load i32, ptr %t4 + %t6 = icmp slt i32 %t2, %t5 + %t7 = zext i1 %t6 to i32 + %t8 = icmp ne i32 %t7, 0 + br i1 %t8, label %wbody1, label %wend2 +wbody1: + %t9 = load ptr, ptr @g_g_events + %t10 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0 + %t11 = load ptr, ptr %t10 + %t12 = load i32, ptr %t1 + %t13 = getelementptr inbounds ptr, ptr %t11, i32 %t12 + %t14 = load ptr, ptr %t13 + %t15 = getelementptr inbounds %Cmp_Node, ptr %t14, i32 0, i32 1 + %t16 = load ptr, ptr %t15 + %t17 = load ptr, ptr %t0 + %t18 = call i32 @lp_str_eq(ptr %t16, ptr %t17) + %t19 = icmp ne i32 %t18, 0 + br i1 %t19, label %then3, label %ifend5 +then3: + %t20 = load i32, ptr %t1 + store i32 %t20, ptr %retval + br label %ret +ifend5: + %t21 = load i32, ptr %t1 + %t22 = add i32 %t21, 1 + store i32 %t22, ptr %t1 + br label %wcond0 +wend2: + %t23 = sub i32 0, 1 + store i32 %t23, ptr %retval + br label %ret +ret: + %t24 = load i32, ptr %retval + ret i32 %t24 +} + +define ptr @fn_net_send_sym() { +entry: + %retval = alloca ptr + %t1 = alloca ptr + %t0 = call ptr @fn_find_extern(ptr @.str10844) + 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 @.str10845, 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 @.str10846) + 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 @.str10847, 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 @.str10848) + %t0 = call ptr @fn_find_extern(ptr @.str10849) + %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 @.str10850) + call void @fn_emit(ptr @.str10851) + %t6 = load ptr, ptr %t5 + call void @fn_emit(ptr %t6) + call void @fn_emit(ptr @.str10852) + call void @fn_emit(ptr @.str10853) + call void @fn_emit(ptr @.str10854) + 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 @.str10855) + %t31 = load ptr, ptr %t30 + call void @fn_emit(ptr %t31) + call void @fn_emit(ptr @.str10856) + %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 @.str10857) + call void @fn_emit(ptr @.str10858) + %t37 = load ptr, ptr %t30 + call void @fn_emit(ptr %t37) + call void @fn_emit(ptr @.str10859) + %t38 = load ptr, ptr %t30 + call void @fn_emit(ptr %t38) + call void @fn_emit(ptr @.str10860) + %t39 = load ptr, ptr %t30 + call void @fn_emit(ptr %t39) + call void @fn_emit(ptr @.str10861) + call void @fn_emit(ptr @.str10862) + %t40 = load ptr, ptr %t30 + call void @fn_emit(ptr %t40) + call void @fn_emit(ptr @.str10863) + store i32 4, ptr %t41 + store i32 0, ptr %t42 + %t43 = call ptr @fn_buf_new() + store ptr %t43, ptr %t44 + br label %wcond9 +wcond9: + %t45 = load i32, ptr %t42 + %t46 = load ptr, ptr %t21 + %t47 = getelementptr inbounds %Cmp_Node, ptr %t46, i32 0, i32 7 + %t48 = load ptr, ptr %t47 + %t49 = getelementptr inbounds %LSlice, ptr %t48, i32 0, i32 1 + %t50 = load i32, ptr %t49 + %t51 = icmp slt i32 %t45, %t50 + %t52 = zext i1 %t51 to i32 + %t53 = icmp ne i32 %t52, 0 + br i1 %t53, label %wbody10, label %wend11 +wbody10: + %t54 = load ptr, ptr %t21 + %t55 = getelementptr inbounds %Cmp_Node, ptr %t54, i32 0, i32 7 + %t56 = load ptr, ptr %t55 + %t57 = getelementptr inbounds %LSlice, ptr %t56, i32 0, i32 0 + %t58 = load ptr, ptr %t57 + %t59 = load i32, ptr %t42 + %t60 = getelementptr inbounds ptr, ptr %t58, i32 %t59 + %t61 = load ptr, ptr %t60 + %t62 = getelementptr inbounds %Cmp_Node, ptr %t61, i32 0, i32 3 + %t63 = load ptr, ptr %t62 + %t64 = call ptr @fn_llty(ptr %t63) + store ptr %t64, ptr %t65 + %t66 = load ptr, ptr %t30 + %t67 = call ptr @lp_str_concat(ptr %t66, ptr @.str10864) + %t68 = load i32, ptr %t42 + %t69 = call ptr @fn_itoa(i32 %t68) + %t70 = call ptr @lp_str_concat(ptr %t67, ptr %t69) + store ptr %t70, ptr %t71 + call void @fn_emit(ptr @.str10865) + %t72 = load ptr, ptr %t71 + call void @fn_emit(ptr %t72) + call void @fn_emit(ptr @.str10866) + %t73 = load i32, ptr %t41 + %t74 = call ptr @fn_itoa(i32 %t73) + call void @fn_emit(ptr %t74) + call void @fn_emit(ptr @.str10867) + call void @fn_emit(ptr @.str10868) + %t75 = load ptr, ptr %t71 + call void @fn_emit(ptr %t75) + call void @fn_emit(ptr @.str10869) + %t76 = load ptr, ptr %t65 + call void @fn_emit(ptr %t76) + call void @fn_emit(ptr @.str10870) + %t77 = load ptr, ptr %t71 + call void @fn_emit(ptr %t77) + call void @fn_emit(ptr @.str10871) + %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 @.str10872) + 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 @.str10873) + %t86 = load ptr, ptr %t44 + %t87 = load ptr, ptr %t71 + call void @fn_buf_puts(ptr %t86, ptr %t87) + %t88 = load ptr, ptr %t21 + %t89 = getelementptr inbounds %Cmp_Node, ptr %t88, i32 0, i32 7 + %t90 = load ptr, ptr %t89 + %t91 = getelementptr inbounds %LSlice, ptr %t90, i32 0, i32 0 + %t92 = load ptr, ptr %t91 + %t93 = load i32, ptr %t42 + %t94 = getelementptr inbounds ptr, ptr %t92, i32 %t93 + %t95 = load ptr, ptr %t94 + %t96 = getelementptr inbounds %Cmp_Node, ptr %t95, i32 0, i32 3 + %t97 = load ptr, ptr %t96 + %t98 = call i32 @fn_net_field_ibytes(ptr %t97) + %t99 = load i32, ptr %t41 + %t100 = add i32 %t99, %t98 + store i32 %t100, ptr %t41 + %t101 = load i32, ptr %t42 + %t102 = add i32 %t101, 1 + store i32 %t102, ptr %t42 + br label %wcond9 +wend11: + call void @fn_emit(ptr @.str10874) + %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 @.str10875) + %t106 = load ptr, ptr %t44 + %t107 = call ptr @fn_buf_str(ptr %t106) + call void @fn_emit(ptr %t107) + call void @fn_emit(ptr @.str10876) + call void @fn_emit(ptr @.str10877) + call void @fn_emit(ptr @.str10878) + %t108 = load ptr, ptr %t30 + call void @fn_emit(ptr %t108) + call void @fn_emit(ptr @.str10879) + 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 @.str10880) + call void @fn_emit(ptr @.str10881) + 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 @.str10882) + call void @fn_emit_net_pump() + br label %ifend16 +ifend16: + br label %ret +ret: + ret void +} + +define i32 @fn_ui_wtype(ptr %arg_w) { +entry: + %retval = alloca i32 + %t0 = alloca ptr + %t4 = alloca ptr + store ptr %arg_w, ptr %t0 + %t1 = load ptr, ptr %t0 + %t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 1 + %t3 = load ptr, ptr %t2 + store ptr %t3, ptr %t4 + %t5 = load ptr, ptr %t4 + %t6 = call i32 @lp_str_eq(ptr %t5, ptr @.str10883) + %t7 = icmp ne i32 %t6, 0 + br i1 %t7, label %then0, label %ifend2 +then0: + store i32 0, ptr %retval + br label %ret +ifend2: + %t8 = load ptr, ptr %t4 + %t9 = call i32 @lp_str_eq(ptr %t8, ptr @.str10884) + %t10 = icmp ne i32 %t9, 0 + br i1 %t10, label %then3, label %ifend5 +then3: + store i32 1, ptr %retval + br label %ret +ifend5: + %t11 = load ptr, ptr %t4 + %t12 = call i32 @lp_str_eq(ptr %t11, ptr @.str10885) + %t13 = icmp ne i32 %t12, 0 + br i1 %t13, label %then6, label %ifend8 +then6: + store i32 2, ptr %retval + br label %ret +ifend8: + %t14 = load ptr, ptr %t4 + %t15 = call i32 @lp_str_eq(ptr %t14, ptr @.str10886) + %t16 = icmp ne i32 %t15, 0 + br i1 %t16, label %then9, label %ifend11 +then9: + store i32 3, ptr %retval + br label %ret +ifend11: + %t17 = load ptr, ptr %t4 + %t18 = call i32 @lp_str_eq(ptr %t17, ptr @.str10887) + %t19 = icmp ne i32 %t18, 0 + br i1 %t19, label %then12, label %ifend14 +then12: + store i32 4, ptr %retval + br label %ret +ifend14: + %t20 = load ptr, ptr %t4 + %t21 = call i32 @lp_str_eq(ptr %t20, ptr @.str10888) + %t22 = icmp ne i32 %t21, 0 + br i1 %t22, label %then15, label %ifend17 +then15: + store i32 5, ptr %retval + br label %ret +ifend17: + %t23 = load ptr, ptr %t4 + %t24 = call i32 @lp_str_eq(ptr %t23, ptr @.str10889) + %t25 = icmp ne i32 %t24, 0 + br i1 %t25, label %then18, label %ifend20 +then18: + store i32 6, ptr %retval + br label %ret +ifend20: + store i32 0, ptr %retval + br label %ret +ret: + %t26 = load i32, ptr %retval + ret i32 %t26 +} + +define ptr @fn_ui_prop(ptr %arg_w, ptr %arg_key) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t1 = alloca ptr + %t2 = alloca i32 + store ptr %arg_w, ptr %t0 + store ptr %arg_key, ptr %t1 + store i32 0, ptr %t2 + br label %wcond0 +wcond0: + %t3 = load i32, ptr %t2 + %t4 = load ptr, ptr %t0 + %t5 = getelementptr inbounds %Cmp_Node, ptr %t4, i32 0, i32 5 + %t6 = load ptr, ptr %t5 + %t7 = getelementptr inbounds %Cmp_Node, ptr %t6, i32 0, i32 7 + %t8 = load ptr, ptr %t7 + %t9 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 1 + %t10 = load i32, ptr %t9 + %t11 = icmp slt i32 %t3, %t10 + %t12 = zext i1 %t11 to i32 + %t13 = icmp ne i32 %t12, 0 + br i1 %t13, label %wbody1, label %wend2 +wbody1: + %t14 = load ptr, ptr %t0 + %t15 = getelementptr inbounds %Cmp_Node, ptr %t14, i32 0, i32 5 + %t16 = load ptr, ptr %t15 + %t17 = getelementptr inbounds %Cmp_Node, ptr %t16, i32 0, i32 7 + %t18 = load ptr, ptr %t17 + %t19 = getelementptr inbounds %LSlice, ptr %t18, i32 0, i32 0 + %t20 = load ptr, ptr %t19 + %t21 = load i32, ptr %t2 + %t22 = getelementptr inbounds ptr, ptr %t20, i32 %t21 + %t23 = load ptr, ptr %t22 + %t24 = getelementptr inbounds %Cmp_Node, ptr %t23, i32 0, i32 1 + %t25 = load ptr, ptr %t24 + %t26 = load ptr, ptr %t1 + %t27 = call i32 @lp_str_eq(ptr %t25, ptr %t26) + %t28 = icmp ne i32 %t27, 0 + br i1 %t28, label %then3, label %ifend5 +then3: + %t29 = load ptr, ptr %t0 + %t30 = getelementptr inbounds %Cmp_Node, ptr %t29, i32 0, i32 5 + %t31 = load ptr, ptr %t30 + %t32 = getelementptr inbounds %Cmp_Node, ptr %t31, i32 0, i32 7 + %t33 = load ptr, ptr %t32 + %t34 = getelementptr inbounds %LSlice, ptr %t33, i32 0, i32 0 + %t35 = load ptr, ptr %t34 + %t36 = load i32, ptr %t2 + %t37 = getelementptr inbounds ptr, ptr %t35, i32 %t36 + %t38 = load ptr, ptr %t37 + %t39 = getelementptr inbounds %Cmp_Node, ptr %t38, i32 0, i32 4 + %t40 = load ptr, ptr %t39 + store ptr %t40, ptr %retval + br label %ret +ifend5: + %t41 = load i32, ptr %t2 + %t42 = add i32 %t41, 1 + store i32 %t42, ptr %t2 + br label %wcond0 +wend2: + store ptr null, ptr %retval + br label %ret +ret: + %t43 = load ptr, ptr %retval + ret ptr %t43 +} + +define ptr @fn_ui_props_with_inherited(i32 %arg_i) { +entry: + %retval = alloca ptr + %t0 = alloca i32 + %t7 = alloca ptr + %t14 = alloca ptr + %t15 = alloca i32 + %t64 = alloca ptr + %t141 = alloca i32 + %t166 = alloca i32 + %t184 = alloca ptr + %t190 = alloca ptr + store i32 %arg_i, ptr %t0 + %t1 = load ptr, ptr @g_uiw + %t2 = getelementptr inbounds %LSlice, ptr %t1, i32 0, i32 0 + %t3 = load ptr, ptr %t2 + %t4 = load i32, ptr %t0 + %t5 = getelementptr inbounds ptr, ptr %t3, i32 %t4 + %t6 = load ptr, ptr %t5 + store ptr %t6, ptr %t7 + %t8 = getelementptr %LSlice, ptr null, i32 1 + %t9 = ptrtoint ptr %t8 to i64 + %t10 = call ptr @malloc(i64 %t9) + %t11 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 0 + store ptr null, ptr %t11 + %t12 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 1 + store i32 0, ptr %t12 + %t13 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 2 + store i32 0, ptr %t13 + store ptr %t10, ptr %t14 + store i32 0, ptr %t15 + br label %wcond0 +wcond0: + %t16 = load i32, ptr %t15 + %t17 = load ptr, ptr %t7 + %t18 = getelementptr inbounds %Cmp_Node, ptr %t17, i32 0, i32 5 + %t19 = load ptr, ptr %t18 + %t20 = getelementptr inbounds %Cmp_Node, ptr %t19, i32 0, i32 7 + %t21 = load ptr, ptr %t20 + %t22 = getelementptr inbounds %LSlice, ptr %t21, i32 0, i32 1 + %t23 = load i32, ptr %t22 + %t24 = icmp slt i32 %t16, %t23 + %t25 = zext i1 %t24 to i32 + %t26 = icmp ne i32 %t25, 0 + br i1 %t26, label %wbody1, label %wend2 +wbody1: + %t27 = load ptr, ptr %t14 + %t28 = load ptr, ptr %t7 + %t29 = getelementptr inbounds %Cmp_Node, ptr %t28, i32 0, i32 5 + %t30 = load ptr, ptr %t29 + %t31 = getelementptr inbounds %Cmp_Node, ptr %t30, i32 0, i32 7 + %t32 = load ptr, ptr %t31 + %t33 = getelementptr inbounds %LSlice, ptr %t32, i32 0, i32 0 + %t34 = load ptr, ptr %t33 + %t35 = load i32, ptr %t15 + %t36 = getelementptr inbounds ptr, ptr %t34, i32 %t35 + %t37 = load ptr, ptr %t36 + %t38 = getelementptr inbounds %LSlice, ptr %t27, i32 0, i32 1 + %t39 = getelementptr inbounds %LSlice, ptr %t27, i32 0, i32 2 + %t40 = getelementptr inbounds %LSlice, ptr %t27, i32 0, i32 0 + %t41 = load i32, ptr %t38 + %t42 = load i32, ptr %t39 + %t43 = icmp sge i32 %t41, %t42 + br i1 %t43, label %grow3, label %put4 +grow3: + %t44 = mul i32 %t42, 2 + %t45 = icmp eq i32 %t42, 0 + %t46 = select i1 %t45, i32 8, i32 %t44 + %t47 = getelementptr ptr, ptr null, i32 1 + %t48 = ptrtoint ptr %t47 to i64 + %t49 = zext i32 %t46 to i64 + %t50 = mul i64 %t49, %t48 + %t51 = load ptr, ptr %t40 + %t52 = call ptr @realloc(ptr %t51, i64 %t50) + store ptr %t52, ptr %t40 + store i32 %t46, ptr %t39 + br label %put4 +put4: + %t53 = load ptr, ptr %t40 + %t54 = getelementptr inbounds ptr, ptr %t53, i32 %t41 + store ptr %t37, ptr %t54 + %t55 = add i32 %t41, 1 + store i32 %t55, ptr %t38 + %t56 = load i32, ptr %t15 + %t57 = add i32 %t56, 1 + store i32 %t57, ptr %t15 + br label %wcond0 +wend2: + %t58 = getelementptr %LSlice, ptr null, i32 1 + %t59 = ptrtoint ptr %t58 to i64 + %t60 = call ptr @malloc(i64 %t59) + %t61 = getelementptr inbounds %LSlice, ptr %t60, i32 0, i32 0 + store ptr null, ptr %t61 + %t62 = getelementptr inbounds %LSlice, ptr %t60, i32 0, i32 1 + store i32 0, ptr %t62 + %t63 = getelementptr inbounds %LSlice, ptr %t60, i32 0, i32 2 + store i32 0, ptr %t63 + store ptr %t60, ptr %t64 + %t65 = load ptr, ptr %t64 + %t66 = getelementptr inbounds %LSlice, ptr %t65, i32 0, i32 1 + %t67 = getelementptr inbounds %LSlice, ptr %t65, i32 0, i32 2 + %t68 = getelementptr inbounds %LSlice, ptr %t65, i32 0, i32 0 + %t69 = load i32, ptr %t66 + %t70 = load i32, ptr %t67 + %t71 = icmp sge i32 %t69, %t70 + br i1 %t71, label %grow5, label %put6 +grow5: + %t72 = mul i32 %t70, 2 + %t73 = icmp eq i32 %t70, 0 + %t74 = select i1 %t73, i32 8, i32 %t72 + %t75 = getelementptr ptr, ptr null, i32 1 + %t76 = ptrtoint ptr %t75 to i64 + %t77 = zext i32 %t74 to i64 + %t78 = mul i64 %t77, %t76 + %t79 = load ptr, ptr %t68 + %t80 = call ptr @realloc(ptr %t79, i64 %t78) + store ptr %t80, ptr %t68 + store i32 %t74, ptr %t67 + br label %put6 +put6: + %t81 = load ptr, ptr %t68 + %t82 = getelementptr inbounds ptr, ptr %t81, i32 %t69 + store ptr @.str10890, ptr %t82 + %t83 = add i32 %t69, 1 + store i32 %t83, ptr %t66 + %t84 = load ptr, ptr %t64 + %t85 = getelementptr inbounds %LSlice, ptr %t84, i32 0, i32 1 + %t86 = getelementptr inbounds %LSlice, ptr %t84, i32 0, i32 2 + %t87 = getelementptr inbounds %LSlice, ptr %t84, i32 0, i32 0 + %t88 = load i32, ptr %t85 + %t89 = load i32, ptr %t86 + %t90 = icmp sge i32 %t88, %t89 + br i1 %t90, label %grow7, label %put8 +grow7: + %t91 = mul i32 %t89, 2 + %t92 = icmp eq i32 %t89, 0 + %t93 = select i1 %t92, i32 8, i32 %t91 + %t94 = getelementptr ptr, ptr null, i32 1 + %t95 = ptrtoint ptr %t94 to i64 + %t96 = zext i32 %t93 to i64 + %t97 = mul i64 %t96, %t95 + %t98 = load ptr, ptr %t87 + %t99 = call ptr @realloc(ptr %t98, i64 %t97) + store ptr %t99, ptr %t87 + store i32 %t93, ptr %t86 + br label %put8 +put8: + %t100 = load ptr, ptr %t87 + %t101 = getelementptr inbounds ptr, ptr %t100, i32 %t88 + store ptr @.str10891, ptr %t101 + %t102 = add i32 %t88, 1 + store i32 %t102, ptr %t85 + %t103 = load ptr, ptr %t64 + %t104 = getelementptr inbounds %LSlice, ptr %t103, i32 0, i32 1 + %t105 = getelementptr inbounds %LSlice, ptr %t103, i32 0, i32 2 + %t106 = getelementptr inbounds %LSlice, ptr %t103, i32 0, i32 0 + %t107 = load i32, ptr %t104 + %t108 = load i32, ptr %t105 + %t109 = icmp sge i32 %t107, %t108 + br i1 %t109, label %grow9, label %put10 +grow9: + %t110 = mul i32 %t108, 2 + %t111 = icmp eq i32 %t108, 0 + %t112 = select i1 %t111, i32 8, i32 %t110 + %t113 = getelementptr ptr, ptr null, i32 1 + %t114 = ptrtoint ptr %t113 to i64 + %t115 = zext i32 %t112 to i64 + %t116 = mul i64 %t115, %t114 + %t117 = load ptr, ptr %t106 + %t118 = call ptr @realloc(ptr %t117, i64 %t116) + store ptr %t118, ptr %t106 + store i32 %t112, ptr %t105 + br label %put10 +put10: + %t119 = load ptr, ptr %t106 + %t120 = getelementptr inbounds ptr, ptr %t119, i32 %t107 + store ptr @.str10892, ptr %t120 + %t121 = add i32 %t107, 1 + store i32 %t121, ptr %t104 + %t122 = load ptr, ptr %t64 + %t123 = getelementptr inbounds %LSlice, ptr %t122, i32 0, i32 1 + %t124 = getelementptr inbounds %LSlice, ptr %t122, i32 0, i32 2 + %t125 = getelementptr inbounds %LSlice, ptr %t122, i32 0, i32 0 + %t126 = load i32, ptr %t123 + %t127 = load i32, ptr %t124 + %t128 = icmp sge i32 %t126, %t127 + br i1 %t128, label %grow11, label %put12 +grow11: + %t129 = mul i32 %t127, 2 + %t130 = icmp eq i32 %t127, 0 + %t131 = select i1 %t130, i32 8, i32 %t129 + %t132 = getelementptr ptr, ptr null, i32 1 + %t133 = ptrtoint ptr %t132 to i64 + %t134 = zext i32 %t131 to i64 + %t135 = mul i64 %t134, %t133 + %t136 = load ptr, ptr %t125 + %t137 = call ptr @realloc(ptr %t136, i64 %t135) + store ptr %t137, ptr %t125 + store i32 %t131, ptr %t124 + br label %put12 +put12: + %t138 = load ptr, ptr %t125 + %t139 = getelementptr inbounds ptr, ptr %t138, i32 %t126 + store ptr @.str10893, ptr %t139 + %t140 = add i32 %t126, 1 + store i32 %t140, ptr %t123 + store i32 0, ptr %t141 + br label %wcond13 +wcond13: + %t142 = load i32, ptr %t141 + %t143 = load ptr, ptr %t64 + %t144 = getelementptr inbounds %LSlice, ptr %t143, i32 0, i32 1 + %t145 = load i32, ptr %t144 + %t146 = icmp slt i32 %t142, %t145 + %t147 = zext i1 %t146 to i32 + %t148 = icmp ne i32 %t147, 0 + br i1 %t148, label %wbody14, label %wend15 +wbody14: + %t149 = load ptr, ptr %t7 + %t150 = load ptr, ptr %t64 + %t151 = getelementptr inbounds %LSlice, ptr %t150, i32 0, i32 0 + %t152 = load ptr, ptr %t151 + %t153 = load i32, ptr %t141 + %t154 = getelementptr inbounds ptr, ptr %t152, i32 %t153 + %t155 = load ptr, ptr %t154 + %t156 = call ptr @fn_ui_prop(ptr %t149, ptr %t155) + %t157 = icmp eq ptr %t156, null + %t158 = zext i1 %t157 to i32 + %t159 = icmp ne i32 %t158, 0 + br i1 %t159, label %then16, label %ifend18 +then16: + %t160 = load ptr, ptr @g_uiw_parent + %t161 = getelementptr inbounds %LSlice, ptr %t160, i32 0, i32 0 + %t162 = load ptr, ptr %t161 + %t163 = load i32, ptr %t0 + %t164 = getelementptr inbounds i32, ptr %t162, i32 %t163 + %t165 = load i32, ptr %t164 + store i32 %t165, ptr %t166 + br label %wcond19 +wcond19: + %t167 = load i32, ptr %t166 + %t168 = icmp sge i32 %t167, 0 + %t169 = zext i1 %t168 to i32 + %t170 = icmp ne i32 %t169, 0 + br i1 %t170, label %wbody20, label %wend21 +wbody20: + %t171 = load ptr, ptr @g_uiw + %t172 = getelementptr inbounds %LSlice, ptr %t171, i32 0, i32 0 + %t173 = load ptr, ptr %t172 + %t174 = load i32, ptr %t166 + %t175 = getelementptr inbounds ptr, ptr %t173, i32 %t174 + %t176 = load ptr, ptr %t175 + %t177 = load ptr, ptr %t64 + %t178 = getelementptr inbounds %LSlice, ptr %t177, i32 0, i32 0 + %t179 = load ptr, ptr %t178 + %t180 = load i32, ptr %t141 + %t181 = getelementptr inbounds ptr, ptr %t179, i32 %t180 + %t182 = load ptr, ptr %t181 + %t183 = call ptr @fn_ui_prop(ptr %t176, ptr %t182) + store ptr %t183, ptr %t184 + %t185 = load ptr, ptr %t184 + %t186 = icmp ne ptr %t185, null + %t187 = zext i1 %t186 to i32 + %t188 = icmp ne i32 %t187, 0 + br i1 %t188, label %then22, label %else23 +then22: + %t189 = call ptr @fn_node(i32 42) + store ptr %t189, ptr %t190 + %t191 = load ptr, ptr %t190 + %t192 = getelementptr inbounds %Cmp_Node, ptr %t191, i32 0, i32 1 + %t193 = load ptr, ptr %t64 + %t194 = getelementptr inbounds %LSlice, ptr %t193, i32 0, i32 0 + %t195 = load ptr, ptr %t194 + %t196 = load i32, ptr %t141 + %t197 = getelementptr inbounds ptr, ptr %t195, i32 %t196 + %t198 = load ptr, ptr %t197 + store ptr %t198, ptr %t192 + %t199 = load ptr, ptr %t190 + %t200 = getelementptr inbounds %Cmp_Node, ptr %t199, i32 0, i32 4 + %t201 = load ptr, ptr %t184 + store ptr %t201, ptr %t200 + %t202 = load ptr, ptr %t14 + %t203 = load ptr, ptr %t190 + %t204 = getelementptr inbounds %LSlice, ptr %t202, i32 0, i32 1 + %t205 = getelementptr inbounds %LSlice, ptr %t202, i32 0, i32 2 + %t206 = getelementptr inbounds %LSlice, ptr %t202, i32 0, i32 0 + %t207 = load i32, ptr %t204 + %t208 = load i32, ptr %t205 + %t209 = icmp sge i32 %t207, %t208 + br i1 %t209, label %grow25, label %put26 +grow25: + %t210 = mul i32 %t208, 2 + %t211 = icmp eq i32 %t208, 0 + %t212 = select i1 %t211, i32 8, i32 %t210 + %t213 = getelementptr ptr, ptr null, i32 1 + %t214 = ptrtoint ptr %t213 to i64 + %t215 = zext i32 %t212 to i64 + %t216 = mul i64 %t215, %t214 + %t217 = load ptr, ptr %t206 + %t218 = call ptr @realloc(ptr %t217, i64 %t216) + store ptr %t218, ptr %t206 + store i32 %t212, ptr %t205 + br label %put26 +put26: + %t219 = load ptr, ptr %t206 + %t220 = getelementptr inbounds ptr, ptr %t219, i32 %t207 + store ptr %t203, ptr %t220 + %t221 = add i32 %t207, 1 + store i32 %t221, ptr %t204 + %t222 = sub i32 0, 1 + store i32 %t222, ptr %t166 + br label %ifend24 +else23: + %t223 = load ptr, ptr @g_uiw_parent + %t224 = getelementptr inbounds %LSlice, ptr %t223, i32 0, i32 0 + %t225 = load ptr, ptr %t224 + %t226 = load i32, ptr %t166 + %t227 = getelementptr inbounds i32, ptr %t225, i32 %t226 + %t228 = load i32, ptr %t227 + store i32 %t228, ptr %t166 + br label %ifend24 +ifend24: + br label %wcond19 +wend21: + br label %ifend18 +ifend18: + %t229 = load i32, ptr %t141 + %t230 = add i32 %t229, 1 + store i32 %t230, ptr %t141 + br label %wcond13 +wend15: + %t231 = load ptr, ptr %t14 + store ptr %t231, ptr %retval + br label %ret +ret: + %t232 = load ptr, ptr %retval + ret ptr %t232 +} + +define void @fn_ui_flatten(ptr %arg_w, i32 %arg_parent) { +entry: + %t0 = alloca ptr + %t1 = alloca i32 + %t5 = alloca i32 + %t46 = alloca i32 + store ptr %arg_w, ptr %t0 + store i32 %arg_parent, ptr %t1 + %t2 = load ptr, ptr @g_uiw + %t3 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 1 + %t4 = load i32, ptr %t3 + store i32 %t4, ptr %t5 + %t6 = load ptr, ptr @g_uiw + %t7 = load ptr, ptr %t0 + %t8 = getelementptr inbounds %LSlice, ptr %t6, i32 0, i32 1 + %t9 = getelementptr inbounds %LSlice, ptr %t6, i32 0, i32 2 + %t10 = getelementptr inbounds %LSlice, ptr %t6, i32 0, i32 0 + %t11 = load i32, ptr %t8 + %t12 = load i32, ptr %t9 + %t13 = icmp sge i32 %t11, %t12 + br i1 %t13, label %grow0, label %put1 +grow0: + %t14 = mul i32 %t12, 2 + %t15 = icmp eq i32 %t12, 0 + %t16 = select i1 %t15, i32 8, i32 %t14 + %t17 = getelementptr ptr, ptr null, i32 1 + %t18 = ptrtoint ptr %t17 to i64 + %t19 = zext i32 %t16 to i64 + %t20 = mul i64 %t19, %t18 + %t21 = load ptr, ptr %t10 + %t22 = call ptr @realloc(ptr %t21, i64 %t20) + store ptr %t22, ptr %t10 + store i32 %t16, ptr %t9 + br label %put1 +put1: + %t23 = load ptr, ptr %t10 + %t24 = getelementptr inbounds ptr, ptr %t23, i32 %t11 + store ptr %t7, ptr %t24 + %t25 = add i32 %t11, 1 + store i32 %t25, ptr %t8 + %t26 = load ptr, ptr @g_uiw_parent + %t27 = load i32, ptr %t1 + %t28 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 1 + %t29 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 2 + %t30 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 0 + %t31 = load i32, ptr %t28 + %t32 = load i32, ptr %t29 + %t33 = icmp sge i32 %t31, %t32 + br i1 %t33, label %grow2, label %put3 +grow2: + %t34 = mul i32 %t32, 2 + %t35 = icmp eq i32 %t32, 0 + %t36 = select i1 %t35, i32 8, i32 %t34 + %t37 = getelementptr i32, ptr null, i32 1 + %t38 = ptrtoint ptr %t37 to i64 + %t39 = zext i32 %t36 to i64 + %t40 = mul i64 %t39, %t38 + %t41 = load ptr, ptr %t30 + %t42 = call ptr @realloc(ptr %t41, i64 %t40) + store ptr %t42, ptr %t30 + store i32 %t36, ptr %t29 + br label %put3 +put3: + %t43 = load ptr, ptr %t30 + %t44 = getelementptr inbounds i32, ptr %t43, i32 %t31 + store i32 %t27, ptr %t44 + %t45 = add i32 %t31, 1 + store i32 %t45, ptr %t28 + store i32 0, ptr %t46 + br label %wcond4 +wcond4: + %t47 = load i32, ptr %t46 + %t48 = load ptr, ptr %t0 + %t49 = getelementptr inbounds %Cmp_Node, ptr %t48, i32 0, i32 7 + %t50 = load ptr, ptr %t49 + %t51 = getelementptr inbounds %LSlice, ptr %t50, i32 0, i32 1 + %t52 = load i32, ptr %t51 + %t53 = icmp slt i32 %t47, %t52 + %t54 = zext i1 %t53 to i32 + %t55 = icmp ne i32 %t54, 0 + br i1 %t55, label %wbody5, label %wend6 +wbody5: + %t56 = load ptr, ptr %t0 + %t57 = getelementptr inbounds %Cmp_Node, ptr %t56, i32 0, i32 7 + %t58 = load ptr, ptr %t57 + %t59 = getelementptr inbounds %LSlice, ptr %t58, i32 0, i32 0 + %t60 = load ptr, ptr %t59 + %t61 = load i32, ptr %t46 + %t62 = getelementptr inbounds ptr, ptr %t60, i32 %t61 + %t63 = load ptr, ptr %t62 + %t64 = load i32, ptr %t5 + call void @fn_ui_flatten(ptr %t63, i32 %t64) + %t65 = load i32, ptr %t46 + %t66 = add i32 %t65, 1 + store i32 %t66, ptr %t46 + br label %wcond4 +wend6: + br label %ret +ret: + ret void +} + +define void @fn_ui_flatten_all() { +entry: + %t18 = alloca i32 + %t26 = alloca i32 + %t0 = getelementptr %LSlice, ptr null, i32 1 + %t1 = ptrtoint ptr %t0 to i64 + %t2 = call ptr @malloc(i64 %t1) + %t3 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 0 + store ptr null, ptr %t3 + %t4 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 1 + store i32 0, ptr %t4 + %t5 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 2 + store i32 0, ptr %t5 + store ptr %t2, ptr @g_uiw + %t6 = getelementptr %LSlice, ptr null, i32 1 + %t7 = ptrtoint ptr %t6 to i64 + %t8 = call ptr @malloc(i64 %t7) + %t9 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 0 + store ptr null, ptr %t9 + %t10 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 1 + store i32 0, ptr %t10 + %t11 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 2 + store i32 0, ptr %t11 + store ptr %t8, ptr @g_uiw_parent + %t12 = getelementptr %LSlice, ptr null, i32 1 + %t13 = ptrtoint ptr %t12 to i64 + %t14 = call ptr @malloc(i64 %t13) + %t15 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 0 + store ptr null, ptr %t15 + %t16 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 1 + store i32 0, ptr %t16 + %t17 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 2 + store i32 0, ptr %t17 + store ptr %t14, ptr @g_ui_roots + store i32 0, ptr %t18 + br label %wcond0 +wcond0: + %t19 = load i32, ptr %t18 + %t20 = load ptr, ptr @g_prog + %t21 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 1 + %t22 = load i32, ptr %t21 + %t23 = icmp slt i32 %t19, %t22 + %t24 = zext i1 %t23 to i32 + %t25 = icmp ne i32 %t24, 0 + br i1 %t25, label %wbody1, label %wend2 +wbody1: + %t27 = load ptr, ptr @g_prog + %t28 = getelementptr inbounds %LSlice, ptr %t27, i32 0, i32 0 + %t29 = load ptr, ptr %t28 + %t30 = load i32, ptr %t18 + %t31 = getelementptr inbounds ptr, ptr %t29, i32 %t30 + %t32 = load ptr, ptr %t31 + %t33 = getelementptr inbounds %Cmp_Node, ptr %t32, i32 0, i32 0 + %t34 = load i32, ptr %t33 + %t35 = icmp eq i32 %t34, 12 + %t36 = zext i1 %t35 to i32 + %t37 = icmp ne i32 %t36, 0 + %t38 = zext i1 %t37 to i32 + store i32 %t38, ptr %t26 + br i1 %t37, label %sc3, label %scend4 +sc3: + %t39 = load ptr, ptr @g_prog + %t40 = getelementptr inbounds %LSlice, ptr %t39, i32 0, i32 0 + %t41 = load ptr, ptr %t40 + %t42 = load i32, ptr %t18 + %t43 = getelementptr inbounds ptr, ptr %t41, i32 %t42 + %t44 = load ptr, ptr %t43 + %t45 = getelementptr inbounds %Cmp_Node, ptr %t44, i32 0, i32 2 + %t46 = load i32, ptr %t45 + %t47 = icmp eq i32 %t46, 1 + %t48 = zext i1 %t47 to i32 + %t49 = icmp ne i32 %t48, 0 + %t50 = zext i1 %t49 to i32 + store i32 %t50, ptr %t26 + br label %scend4 +scend4: + %t51 = load i32, ptr %t26 + %t52 = icmp ne i32 %t51, 0 + br i1 %t52, label %then5, label %ifend7 +then5: + %t53 = load ptr, ptr @g_ui_roots + %t54 = load ptr, ptr @g_uiw + %t55 = getelementptr inbounds %LSlice, ptr %t54, i32 0, i32 1 + %t56 = load i32, ptr %t55 + %t57 = getelementptr inbounds %LSlice, ptr %t53, i32 0, i32 1 + %t58 = getelementptr inbounds %LSlice, ptr %t53, i32 0, i32 2 + %t59 = getelementptr inbounds %LSlice, ptr %t53, i32 0, i32 0 + %t60 = load i32, ptr %t57 + %t61 = load i32, ptr %t58 + %t62 = icmp sge i32 %t60, %t61 + br i1 %t62, label %grow8, label %put9 +grow8: + %t63 = mul i32 %t61, 2 + %t64 = icmp eq i32 %t61, 0 + %t65 = select i1 %t64, i32 8, i32 %t63 + %t66 = getelementptr i32, ptr null, i32 1 + %t67 = ptrtoint ptr %t66 to i64 + %t68 = zext i32 %t65 to i64 + %t69 = mul i64 %t68, %t67 + %t70 = load ptr, ptr %t59 + %t71 = call ptr @realloc(ptr %t70, i64 %t69) + store ptr %t71, ptr %t59 + store i32 %t65, ptr %t58 + br label %put9 +put9: + %t72 = load ptr, ptr %t59 + %t73 = getelementptr inbounds i32, ptr %t72, i32 %t60 + store i32 %t56, ptr %t73 + %t74 = add i32 %t60, 1 + store i32 %t74, ptr %t57 + %t75 = load ptr, ptr @g_prog + %t76 = getelementptr inbounds %LSlice, ptr %t75, i32 0, i32 0 + %t77 = load ptr, ptr %t76 + %t78 = load i32, ptr %t18 + %t79 = getelementptr inbounds ptr, ptr %t77, i32 %t78 + %t80 = load ptr, ptr %t79 + %t81 = getelementptr inbounds %Cmp_Node, ptr %t80, i32 0, i32 4 + %t82 = load ptr, ptr %t81 + %t83 = sub i32 0, 1 + call void @fn_ui_flatten(ptr %t82, i32 %t83) + br label %ifend7 +ifend7: + %t84 = load i32, ptr %t18 + %t85 = add i32 %t84, 1 + store i32 %t85, ptr %t18 + br label %wcond0 +wend2: + br label %ret +ret: + ret void +} + +define i32 @fn_has_ui() { +entry: + %retval = alloca i32 + %t0 = alloca i32 + %t8 = alloca i32 + store i32 0, ptr %t0 + br label %wcond0 +wcond0: + %t1 = load i32, ptr %t0 + %t2 = load ptr, ptr @g_prog + %t3 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 1 + %t4 = load i32, ptr %t3 + %t5 = icmp slt i32 %t1, %t4 + %t6 = zext i1 %t5 to i32 + %t7 = icmp ne i32 %t6, 0 + br i1 %t7, label %wbody1, label %wend2 +wbody1: + %t9 = load ptr, ptr @g_prog + %t10 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0 + %t11 = load ptr, ptr %t10 + %t12 = load i32, ptr %t0 + %t13 = getelementptr inbounds ptr, ptr %t11, i32 %t12 + %t14 = load ptr, ptr %t13 + %t15 = getelementptr inbounds %Cmp_Node, ptr %t14, i32 0, i32 0 + %t16 = load i32, ptr %t15 + %t17 = icmp eq i32 %t16, 12 + %t18 = zext i1 %t17 to i32 + %t19 = icmp ne i32 %t18, 0 + %t20 = zext i1 %t19 to i32 + store i32 %t20, ptr %t8 + br i1 %t19, label %sc3, label %scend4 +sc3: + %t21 = load ptr, ptr @g_prog + %t22 = getelementptr inbounds %LSlice, ptr %t21, i32 0, i32 0 + %t23 = load ptr, ptr %t22 + %t24 = load i32, ptr %t0 + %t25 = getelementptr inbounds ptr, ptr %t23, i32 %t24 + %t26 = load ptr, ptr %t25 + %t27 = getelementptr inbounds %Cmp_Node, ptr %t26, i32 0, i32 2 + %t28 = load i32, ptr %t27 + %t29 = icmp eq i32 %t28, 1 + %t30 = zext i1 %t29 to i32 + %t31 = icmp ne i32 %t30, 0 + %t32 = zext i1 %t31 to i32 + store i32 %t32, ptr %t8 + br label %scend4 +scend4: + %t33 = load i32, ptr %t8 + %t34 = icmp ne i32 %t33, 0 + br i1 %t34, label %then5, label %ifend7 +then5: + store i32 1, ptr %retval + br label %ret +ifend7: + %t35 = load i32, ptr %t0 + %t36 = add i32 %t35, 1 + store i32 %t36, ptr %t0 + br label %wcond0 +wend2: + store i32 0, ptr %retval + br label %ret +ret: + %t37 = load i32, ptr %retval + ret i32 %t37 +} + +define i32 @fn_ui_index_of(ptr %arg_nm) { +entry: + %retval = alloca i32 + %t0 = alloca ptr + %t10 = alloca ptr + %t11 = alloca i32 + %t12 = alloca i32 + %t13 = alloca i32 + %t21 = alloca i32 + %t83 = alloca ptr + %t88 = alloca i32 + store ptr %arg_nm, ptr %t0 + %t1 = load ptr, ptr @g_uiw + %t2 = icmp eq ptr %t1, null + %t3 = zext i1 %t2 to i32 + %t4 = icmp ne i32 %t3, 0 + br i1 %t4, label %then0, label %ifend2 +then0: + call void @fn_ui_flatten_all() + br label %ifend2 +ifend2: + %t5 = load ptr, ptr %t0 + %t6 = load ptr, ptr %t0 + %t7 = call i64 @strlen(ptr %t6) + %t8 = trunc i64 %t7 to i32 + %t9 = call ptr @lp_str_slice(ptr %t5, i32 3, i32 %t8) + store ptr %t9, ptr %t10 + store i32 0, ptr %t11 + store i32 0, ptr %t12 + store i32 0, ptr %t13 + br label %wcond3 +wcond3: + %t14 = load i32, ptr %t13 + %t15 = load ptr, ptr @g_prog + %t16 = getelementptr inbounds %LSlice, ptr %t15, i32 0, i32 1 + %t17 = load i32, ptr %t16 + %t18 = icmp slt i32 %t14, %t17 + %t19 = zext i1 %t18 to i32 + %t20 = icmp ne i32 %t19, 0 + br i1 %t20, label %wbody4, label %wend5 +wbody4: + %t22 = load ptr, ptr @g_prog + %t23 = getelementptr inbounds %LSlice, ptr %t22, i32 0, i32 0 + %t24 = load ptr, ptr %t23 + %t25 = load i32, ptr %t13 + %t26 = getelementptr inbounds ptr, ptr %t24, i32 %t25 + %t27 = load ptr, ptr %t26 + %t28 = getelementptr inbounds %Cmp_Node, ptr %t27, i32 0, i32 0 + %t29 = load i32, ptr %t28 + %t30 = icmp eq i32 %t29, 12 + %t31 = zext i1 %t30 to i32 + %t32 = icmp ne i32 %t31, 0 + %t33 = zext i1 %t32 to i32 + store i32 %t33, ptr %t21 + br i1 %t32, label %sc6, label %scend7 +sc6: + %t34 = load ptr, ptr @g_prog + %t35 = getelementptr inbounds %LSlice, ptr %t34, i32 0, i32 0 + %t36 = load ptr, ptr %t35 + %t37 = load i32, ptr %t13 + %t38 = getelementptr inbounds ptr, ptr %t36, i32 %t37 + %t39 = load ptr, ptr %t38 + %t40 = getelementptr inbounds %Cmp_Node, ptr %t39, i32 0, i32 2 + %t41 = load i32, ptr %t40 + %t42 = icmp eq i32 %t41, 1 + %t43 = zext i1 %t42 to i32 + %t44 = icmp ne i32 %t43, 0 + %t45 = zext i1 %t44 to i32 + store i32 %t45, ptr %t21 + br label %scend7 +scend7: + %t46 = load i32, ptr %t21 + %t47 = icmp ne i32 %t46, 0 + br i1 %t47, label %then8, label %ifend10 +then8: + %t48 = load ptr, ptr @g_prog + %t49 = getelementptr inbounds %LSlice, ptr %t48, i32 0, i32 0 + %t50 = load ptr, ptr %t49 + %t51 = load i32, ptr %t13 + %t52 = getelementptr inbounds ptr, ptr %t50, i32 %t51 + %t53 = load ptr, ptr %t52 + %t54 = getelementptr inbounds %Cmp_Node, ptr %t53, i32 0, i32 1 + %t55 = load ptr, ptr %t54 + %t56 = load ptr, ptr %t10 + %t57 = call i32 @lp_str_eq(ptr %t55, ptr %t56) + %t58 = icmp ne i32 %t57, 0 + br i1 %t58, label %then11, label %ifend13 +then11: + %t59 = load ptr, ptr @g_ui_roots + %t60 = getelementptr inbounds %LSlice, ptr %t59, i32 0, i32 0 + %t61 = load ptr, ptr %t60 + %t62 = load i32, ptr %t12 + %t63 = getelementptr inbounds i32, ptr %t61, i32 %t62 + %t64 = load i32, ptr %t63 + store i32 %t64, ptr %retval + br label %ret +ifend13: + %t65 = load i32, ptr %t12 + %t66 = add i32 %t65, 1 + store i32 %t66, ptr %t12 + br label %ifend10 +ifend10: + %t67 = load i32, ptr %t13 + %t68 = add i32 %t67, 1 + store i32 %t68, ptr %t13 + br label %wcond3 +wend5: + store i32 0, ptr %t13 + br label %wcond14 +wcond14: + %t69 = load i32, ptr %t13 + %t70 = load ptr, ptr @g_uiw + %t71 = getelementptr inbounds %LSlice, ptr %t70, i32 0, i32 1 + %t72 = load i32, ptr %t71 + %t73 = icmp slt i32 %t69, %t72 + %t74 = zext i1 %t73 to i32 + %t75 = icmp ne i32 %t74, 0 + br i1 %t75, label %wbody15, label %wend16 +wbody15: + %t76 = load ptr, ptr @g_uiw + %t77 = getelementptr inbounds %LSlice, ptr %t76, i32 0, i32 0 + %t78 = load ptr, ptr %t77 + %t79 = load i32, ptr %t13 + %t80 = getelementptr inbounds ptr, ptr %t78, i32 %t79 + %t81 = load ptr, ptr %t80 + %t82 = call ptr @fn_ui_prop(ptr %t81, ptr @.str10894) + store ptr %t82, ptr %t83 + %t84 = load ptr, ptr %t83 + %t85 = icmp ne ptr %t84, null + %t86 = zext i1 %t85 to i32 + %t87 = icmp ne i32 %t86, 0 + br i1 %t87, label %then17, label %ifend19 +then17: + %t89 = load ptr, ptr %t83 + %t90 = getelementptr inbounds %Cmp_Node, ptr %t89, i32 0, i32 0 + %t91 = load i32, ptr %t90 + %t92 = icmp eq i32 %t91, 33 + %t93 = zext i1 %t92 to i32 + %t94 = icmp ne i32 %t93, 0 + %t95 = zext i1 %t94 to i32 + store i32 %t95, ptr %t88 + br i1 %t94, label %sc20, label %scend21 +sc20: + %t96 = load ptr, ptr %t83 + %t97 = getelementptr inbounds %Cmp_Node, ptr %t96, i32 0, i32 1 + %t98 = load ptr, ptr %t97 + %t99 = load ptr, ptr %t10 + %t100 = call i32 @lp_str_eq(ptr %t98, ptr %t99) + %t101 = icmp ne i32 %t100, 0 + %t102 = zext i1 %t101 to i32 + store i32 %t102, ptr %t88 + br label %scend21 +scend21: + %t103 = load i32, ptr %t88 + %t104 = icmp ne i32 %t103, 0 + br i1 %t104, label %then22, label %ifend24 +then22: + %t105 = load i32, ptr %t13 + store i32 %t105, ptr %retval + br label %ret +ifend24: + br label %ifend19 +ifend19: + %t106 = load i32, ptr %t13 + %t107 = add i32 %t106, 1 + store i32 %t107, ptr %t13 + br label %wcond14 +wend16: + store i32 0, ptr %retval + br label %ret +ret: + %t108 = load i32, ptr %retval + ret i32 %t108 +} + +define i32 @fn_is_ui_ident(ptr %arg_nm) { +entry: + %retval = alloca i32 + %t0 = alloca ptr + %t1 = alloca i32 + %t2 = alloca i32 + %t3 = alloca i32 + store ptr %arg_nm, ptr %t0 + %t4 = load ptr, ptr %t0 + %t5 = call i64 @strlen(ptr %t4) + %t6 = trunc i64 %t5 to i32 + %t7 = icmp sgt i32 %t6, 3 + %t8 = zext i1 %t7 to i32 + %t9 = icmp ne i32 %t8, 0 + %t10 = zext i1 %t9 to i32 + store i32 %t10, ptr %t3 + br i1 %t9, label %sc0, label %scend1 +sc0: + %t11 = load ptr, ptr %t0 + %t12 = getelementptr inbounds i8, ptr %t11, i32 0 + %t13 = load i8, ptr %t12 + %t14 = zext i8 %t13 to i32 + %t15 = icmp eq i32 %t14, 85 + %t16 = zext i1 %t15 to i32 + %t17 = icmp ne i32 %t16, 0 + %t18 = zext i1 %t17 to i32 + store i32 %t18, ptr %t3 + br label %scend1 +scend1: + %t19 = load i32, ptr %t3 + %t20 = icmp ne i32 %t19, 0 + %t21 = zext i1 %t20 to i32 + store i32 %t21, ptr %t2 + br i1 %t20, label %sc2, label %scend3 +sc2: + %t22 = load ptr, ptr %t0 + %t23 = getelementptr inbounds i8, ptr %t22, i32 1 + %t24 = load i8, ptr %t23 + %t25 = zext i8 %t24 to i32 + %t26 = icmp eq i32 %t25, 73 + %t27 = zext i1 %t26 to i32 + %t28 = icmp ne i32 %t27, 0 + %t29 = zext i1 %t28 to i32 + store i32 %t29, ptr %t2 + br label %scend3 +scend3: + %t30 = load i32, ptr %t2 + %t31 = icmp ne i32 %t30, 0 + %t32 = zext i1 %t31 to i32 + store i32 %t32, ptr %t1 + br i1 %t31, label %sc4, label %scend5 +sc4: + %t33 = load ptr, ptr %t0 + %t34 = getelementptr inbounds i8, ptr %t33, i32 2 + %t35 = load i8, ptr %t34 + %t36 = zext i8 %t35 to i32 + %t37 = icmp eq i32 %t36, 95 + %t38 = zext i1 %t37 to i32 + %t39 = icmp ne i32 %t38, 0 + %t40 = zext i1 %t39 to i32 + store i32 %t40, ptr %t1 + br label %scend5 +scend5: + %t41 = load i32, ptr %t1 + store i32 %t41, ptr %retval + br label %ret +ret: + %t42 = load i32, ptr %retval + ret i32 %t42 +} + +define void @fn_ll_ui_set(i32 %arg_idx, i32 %arg_key, ptr %arg_val) { +entry: + %t0 = alloca i32 + %t1 = alloca i32 + %t2 = alloca ptr + store i32 %arg_idx, ptr %t0 + store i32 %arg_key, ptr %t1 + store ptr %arg_val, ptr %t2 + call void @fn_emit(ptr @.str10895) + %t3 = load i32, ptr %t0 + %t4 = call ptr @fn_itoa(i32 %t3) + call void @fn_emit(ptr %t4) + call void @fn_emit(ptr @.str10896) + %t5 = load i32, ptr %t1 + %t6 = call ptr @fn_itoa(i32 %t5) + call void @fn_emit(ptr %t6) + call void @fn_emit(ptr @.str10897) + %t7 = load ptr, ptr %t2 + call void @fn_emit(ptr %t7) + call void @fn_emit(ptr @.str10898) + br label %ret +ret: + ret void +} + +define i32 @fn_ui_prop_key(ptr %arg_k) { +entry: + %retval = alloca i32 + %t0 = alloca ptr + store ptr %arg_k, ptr %t0 + %t1 = load ptr, ptr %t0 + %t2 = call i32 @lp_str_eq(ptr %t1, ptr @.str10899) + %t3 = icmp ne i32 %t2, 0 + br i1 %t3, label %then0, label %ifend2 +then0: + store i32 2, ptr %retval + br label %ret +ifend2: + %t4 = load ptr, ptr %t0 + %t5 = call i32 @lp_str_eq(ptr %t4, ptr @.str10900) + %t6 = icmp ne i32 %t5, 0 + br i1 %t6, label %then3, label %ifend5 +then3: + store i32 3, ptr %retval + br label %ret +ifend5: + %t7 = load ptr, ptr %t0 + %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str10901) + %t9 = icmp ne i32 %t8, 0 + br i1 %t9, label %then6, label %ifend8 +then6: + store i32 4, ptr %retval + br label %ret +ifend8: + %t10 = load ptr, ptr %t0 + %t11 = call i32 @lp_str_eq(ptr %t10, ptr @.str10902) + %t12 = icmp ne i32 %t11, 0 + br i1 %t12, label %then9, label %ifend11 +then9: + store i32 5, ptr %retval + br label %ret +ifend11: + %t13 = load ptr, ptr %t0 + %t14 = call i32 @lp_str_eq(ptr %t13, ptr @.str10903) + %t15 = icmp ne i32 %t14, 0 + br i1 %t15, label %then12, label %ifend14 +then12: + store i32 7, ptr %retval + br label %ret +ifend14: + %t16 = load ptr, ptr %t0 + %t17 = call i32 @lp_str_eq(ptr %t16, ptr @.str10904) + %t18 = icmp ne i32 %t17, 0 + br i1 %t18, label %then15, label %ifend17 +then15: + store i32 8, ptr %retval + br label %ret +ifend17: + %t19 = load ptr, ptr %t0 + %t20 = call i32 @lp_str_eq(ptr %t19, ptr @.str10905) + %t21 = icmp ne i32 %t20, 0 + br i1 %t21, label %then18, label %ifend20 +then18: + store i32 9, ptr %retval + br label %ret +ifend20: + %t22 = load ptr, ptr %t0 + %t23 = call i32 @lp_str_eq(ptr %t22, ptr @.str10906) + %t24 = icmp ne i32 %t23, 0 + br i1 %t24, label %then21, label %ifend23 +then21: + store i32 10, ptr %retval + br label %ret +ifend23: + %t25 = load ptr, ptr %t0 + %t26 = call i32 @lp_str_eq(ptr %t25, ptr @.str10907) + %t27 = icmp ne i32 %t26, 0 + br i1 %t27, label %then24, label %ifend26 +then24: + store i32 11, ptr %retval + br label %ret +ifend26: + %t28 = load ptr, ptr %t0 + %t29 = call i32 @lp_str_eq(ptr %t28, ptr @.str10908) + %t30 = icmp ne i32 %t29, 0 + br i1 %t30, label %then27, label %ifend29 +then27: + store i32 13, ptr %retval + br label %ret +ifend29: + %t31 = load ptr, ptr %t0 + %t32 = call i32 @lp_str_eq(ptr %t31, ptr @.str10909) + %t33 = icmp ne i32 %t32, 0 + br i1 %t33, label %then30, label %ifend32 +then30: + store i32 14, ptr %retval + br label %ret +ifend32: + %t34 = load ptr, ptr %t0 + %t35 = call i32 @lp_str_eq(ptr %t34, ptr @.str10910) + %t36 = icmp ne i32 %t35, 0 + br i1 %t36, label %then33, label %ifend35 +then33: + store i32 15, ptr %retval + br label %ret +ifend35: + %t37 = load ptr, ptr %t0 + %t38 = call i32 @lp_str_eq(ptr %t37, ptr @.str10911) + %t39 = icmp ne i32 %t38, 0 + br i1 %t39, label %then36, label %ifend38 +then36: + store i32 16, ptr %retval + br label %ret +ifend38: + %t40 = load ptr, ptr %t0 + %t41 = call i32 @lp_str_eq(ptr %t40, ptr @.str10912) + %t42 = icmp ne i32 %t41, 0 + br i1 %t42, label %then39, label %ifend41 +then39: + store i32 17, ptr %retval + br label %ret +ifend41: + %t43 = sub i32 0, 1 + store i32 %t43, ptr %retval + br label %ret +ret: + %t44 = load i32, ptr %retval + ret i32 %t44 +} + +define void @fn_emit_ui_build() { +entry: + %t1 = alloca ptr + %t4 = alloca ptr + %t10 = alloca i32 + %t24 = alloca ptr + %t27 = alloca i32 + %t46 = alloca ptr + %t47 = alloca i32 + %t61 = alloca ptr + %t65 = alloca ptr + %t69 = alloca ptr + %t70 = alloca i32 + %t88 = alloca ptr + %t94 = alloca i32 + %t107 = alloca ptr + %t114 = alloca ptr + %t131 = alloca i32 + %t147 = alloca ptr + %t154 = alloca i32 + %t161 = alloca ptr + %t167 = alloca i32 + call void @fn_ui_flatten_all() + store i32 0, ptr @g_ll_t + store i32 0, ptr @g_ll_lbl + store i32 0, ptr @g_g_term + call void @fn_loc_reset() + store i32 0, ptr @g_nloop + %t0 = call ptr @fn_buf_new() + store ptr %t0, ptr %t1 + %t2 = call ptr @fn_buf_new() + store ptr %t2, ptr @g_falloc + %t3 = load ptr, ptr @g_code + store ptr %t3, ptr %t4 + %t5 = load ptr, ptr %t1 + store ptr %t5, ptr @g_code + call void @fn_emit(ptr @.str10913) + %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 @.str10914) + 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 @.str10915) + br label %ifend5 +ifend5: + %t44 = load i32, ptr %t10 + %t45 = call ptr @fn_ui_props_with_inherited(i32 %t44) + store ptr %t45, ptr %t46 + store i32 0, ptr %t47 + br label %wcond6 +wcond6: + %t48 = load i32, ptr %t47 + %t49 = load ptr, ptr %t46 + %t50 = getelementptr inbounds %LSlice, ptr %t49, i32 0, i32 1 + %t51 = load i32, ptr %t50 + %t52 = icmp slt i32 %t48, %t51 + %t53 = zext i1 %t52 to i32 + %t54 = icmp ne i32 %t53, 0 + br i1 %t54, label %wbody7, label %wend8 +wbody7: + %t55 = load ptr, ptr %t46 + %t56 = getelementptr inbounds %LSlice, ptr %t55, i32 0, i32 0 + %t57 = load ptr, ptr %t56 + %t58 = load i32, ptr %t47 + %t59 = getelementptr inbounds ptr, ptr %t57, i32 %t58 + %t60 = load ptr, ptr %t59 + store ptr %t60, ptr %t61 + %t62 = load ptr, ptr %t61 + %t63 = getelementptr inbounds %Cmp_Node, ptr %t62, i32 0, i32 1 + %t64 = load ptr, ptr %t63 + store ptr %t64, ptr %t65 + %t66 = load ptr, ptr %t61 + %t67 = getelementptr inbounds %Cmp_Node, ptr %t66, i32 0, i32 4 + %t68 = load ptr, ptr %t67 + store ptr %t68, ptr %t69 + %t71 = load ptr, ptr %t65 + %t72 = call i32 @lp_str_eq(ptr %t71, ptr @.str10916) + %t73 = icmp ne i32 %t72, 0 + %t74 = zext i1 %t73 to i32 + store i32 %t74, ptr %t70 + br i1 %t73, label %scend10, label %sc9 +sc9: + %t75 = load ptr, ptr %t65 + %t76 = call i32 @lp_str_eq(ptr %t75, ptr @.str10917) + %t77 = icmp ne i32 %t76, 0 + %t78 = zext i1 %t77 to i32 + store i32 %t78, ptr %t70 + br label %scend10 +scend10: + %t79 = load i32, ptr %t70 + %t80 = icmp ne i32 %t79, 0 + br i1 %t80, label %then11, label %ifend13 +then11: + %t81 = load i32, ptr %t47 + %t82 = add i32 %t81, 1 + store i32 %t82, ptr %t47 + br label %wcond6 +ifend13: + %t83 = load ptr, ptr %t65 + %t84 = call i32 @lp_str_eq(ptr %t83, ptr @.str10918) + %t85 = icmp ne i32 %t84, 0 + br i1 %t85, label %then14, label %else15 +then14: + %t86 = load ptr, ptr %t69 + %t87 = call ptr @fn_emit_expr(ptr %t86) + store ptr %t87, ptr %t88 + call void @fn_emit(ptr @.str10919) + %t89 = load i32, ptr %t10 + %t90 = call ptr @fn_itoa(i32 %t89) + call void @fn_emit(ptr %t90) + call void @fn_emit(ptr @.str10920) + %t91 = load ptr, ptr %t88 + %t92 = getelementptr inbounds %Cmp_Val, ptr %t91, i32 0, i32 0 + %t93 = load ptr, ptr %t92 + call void @fn_emit(ptr %t93) + call void @fn_emit(ptr @.str10921) + br label %ifend16 +else15: + %t95 = load ptr, ptr %t65 + %t96 = call i32 @lp_str_eq(ptr %t95, ptr @.str10922) + %t97 = icmp ne i32 %t96, 0 + %t98 = zext i1 %t97 to i32 + store i32 %t98, ptr %t94 + br i1 %t97, label %scend18, label %sc17 +sc17: + %t99 = load ptr, ptr %t65 + %t100 = call i32 @lp_str_eq(ptr %t99, ptr @.str10923) + %t101 = icmp ne i32 %t100, 0 + %t102 = zext i1 %t101 to i32 + store i32 %t102, ptr %t94 + br label %scend18 +scend18: + %t103 = load i32, ptr %t94 + %t104 = icmp ne i32 %t103, 0 + br i1 %t104, label %then19, label %else20 +then19: + %t105 = load ptr, ptr %t69 + %t106 = call ptr @fn_emit_expr(ptr %t105) + store ptr %t106, ptr %t107 + %t108 = load ptr, ptr %t107 + %t109 = getelementptr inbounds %Cmp_Val, ptr %t108, i32 0, i32 0 + %t110 = load ptr, ptr %t109 + %t111 = call ptr @lp_str_concat(ptr @.str10924, ptr %t110) + %t112 = call ptr @lp_str_concat(ptr %t111, ptr @.str10925) + %t113 = call ptr @fn_emit_bind(ptr %t112) + store ptr %t113, ptr %t114 + %t115 = load ptr, ptr %t65 + %t116 = call i32 @lp_str_eq(ptr %t115, ptr @.str10926) + %t117 = icmp ne i32 %t116, 0 + br i1 %t117, label %then22, label %else23 +then22: + %t118 = load i32, ptr %t10 + %t119 = load ptr, ptr %t114 + call void @fn_ll_ui_set(i32 %t118, i32 20, ptr %t119) + br label %ifend24 +else23: + %t120 = load i32, ptr %t10 + %t121 = load ptr, ptr %t114 + call void @fn_ll_ui_set(i32 %t120, i32 19, ptr %t121) + br label %ifend24 +ifend24: + br label %ifend21 +else20: + %t122 = load ptr, ptr %t65 + %t123 = call i32 @lp_str_eq(ptr %t122, ptr @.str10927) + %t124 = icmp ne i32 %t123, 0 + br i1 %t124, label %then25, label %else26 +then25: + %t125 = load ptr, ptr %t69 + %t126 = getelementptr inbounds %Cmp_Node, ptr %t125, i32 0, i32 0 + %t127 = load i32, ptr %t126 + %t128 = icmp eq i32 %t127, 33 + %t129 = zext i1 %t128 to i32 + %t130 = icmp ne i32 %t129, 0 + br i1 %t130, label %then28, label %else29 +then28: + store i32 0, ptr %t131 + %t132 = load ptr, ptr %t69 + %t133 = getelementptr inbounds %Cmp_Node, ptr %t132, i32 0, i32 1 + %t134 = load ptr, ptr %t133 + %t135 = call i32 @lp_str_eq(ptr %t134, ptr @.str10928) + %t136 = icmp ne i32 %t135, 0 + br i1 %t136, label %then31, label %ifend33 +then31: + store i32 1, ptr %t131 + br label %ifend33 +ifend33: + %t137 = load ptr, ptr %t69 + %t138 = getelementptr inbounds %Cmp_Node, ptr %t137, i32 0, i32 1 + %t139 = load ptr, ptr %t138 + %t140 = call i32 @lp_str_eq(ptr %t139, ptr @.str10929) + %t141 = icmp ne i32 %t140, 0 + br i1 %t141, label %then34, label %ifend36 +then34: + store i32 2, ptr %t131 + br label %ifend36 +ifend36: + %t142 = load i32, ptr %t10 + %t143 = load i32, ptr %t131 + %t144 = call ptr @fn_itoa(i32 %t143) + call void @fn_ll_ui_set(i32 %t142, i32 12, ptr %t144) + br label %ifend30 +else29: + %t145 = load ptr, ptr %t69 + %t146 = call ptr @fn_emit_expr(ptr %t145) + store ptr %t146, ptr %t147 + %t148 = load i32, ptr %t10 + %t149 = load ptr, ptr %t147 + %t150 = getelementptr inbounds %Cmp_Val, ptr %t149, i32 0, i32 0 + %t151 = load ptr, ptr %t150 + call void @fn_ll_ui_set(i32 %t148, i32 12, ptr %t151) + br label %ifend30 +ifend30: + br label %ifend27 +else26: + %t152 = load ptr, ptr %t65 + %t153 = call i32 @fn_ui_prop_key(ptr %t152) + store i32 %t153, ptr %t154 + %t155 = load i32, ptr %t154 + %t156 = icmp sge i32 %t155, 0 + %t157 = zext i1 %t156 to i32 + %t158 = icmp ne i32 %t157, 0 + br i1 %t158, label %then37, label %ifend39 +then37: + %t159 = load ptr, ptr %t69 + %t160 = call ptr @fn_emit_expr(ptr %t159) + store ptr %t160, ptr %t161 + %t162 = load i32, ptr %t10 + %t163 = load i32, ptr %t154 + %t164 = load ptr, ptr %t161 + %t165 = getelementptr inbounds %Cmp_Val, ptr %t164, i32 0, i32 0 + %t166 = load ptr, ptr %t165 + call void @fn_ll_ui_set(i32 %t162, i32 %t163, ptr %t166) + %t168 = load i32, ptr %t154 + %t169 = icmp eq i32 %t168, 4 + %t170 = zext i1 %t169 to i32 + %t171 = icmp ne i32 %t170, 0 + %t172 = zext i1 %t171 to i32 + store i32 %t172, ptr %t167 + br i1 %t171, label %scend41, label %sc40 +sc40: + %t173 = load i32, ptr %t154 + %t174 = icmp eq i32 %t173, 5 + %t175 = zext i1 %t174 to i32 + %t176 = icmp ne i32 %t175, 0 + %t177 = zext i1 %t176 to i32 + store i32 %t177, ptr %t167 + br label %scend41 +scend41: + %t178 = load i32, ptr %t167 + %t179 = icmp ne i32 %t178, 0 + br i1 %t179, label %then42, label %ifend44 +then42: + %t180 = load i32, ptr %t10 + call void @fn_ll_ui_set(i32 %t180, i32 6, ptr @.str10930) + br label %ifend44 +ifend44: + br label %ifend39 +ifend39: + br label %ifend27 +ifend27: + br label %ifend21 +ifend21: + br label %ifend16 +ifend16: + %t181 = load i32, ptr %t47 + %t182 = add i32 %t181, 1 + store i32 %t182, ptr %t47 + br label %wcond6 +wend8: + %t183 = load i32, ptr %t10 + %t184 = add i32 %t183, 1 + store i32 %t184, ptr %t10 + br label %wcond0 +wend2: + %t185 = load ptr, ptr %t4 + store ptr %t185, ptr @g_code + call void @fn_emit(ptr @.str10931) + %t186 = load ptr, ptr @g_falloc + %t187 = call ptr @fn_buf_str(ptr %t186) + call void @fn_emit(ptr %t187) + %t188 = load ptr, ptr %t1 + %t189 = call ptr @fn_buf_str(ptr %t188) + call void @fn_emit(ptr %t189) + call void @fn_emit(ptr @.str10932) + 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 @.str10933) + 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 @.str10934) + %t26 = load ptr, ptr %t0 + %t27 = getelementptr inbounds %Cmp_Node, ptr %t26, i32 0, i32 7 + %t28 = load ptr, ptr %t27 + %t29 = getelementptr inbounds %LSlice, ptr %t28, i32 0, i32 0 + %t30 = load ptr, ptr %t29 + %t31 = load i32, ptr %t1 + %t32 = getelementptr inbounds ptr, ptr %t30, i32 %t31 + %t33 = load ptr, ptr %t32 + %t34 = getelementptr inbounds %Cmp_Node, ptr %t33, i32 0, i32 1 + %t35 = load ptr, ptr %t34 + call void @fn_emit(ptr %t35) + %t36 = load i32, ptr %t1 + %t37 = add i32 %t36, 1 + store i32 %t37, ptr %t1 + br label %wcond0 +wend2: + br label %ret +ret: + ret void +} + +define void @fn_emit_fn(ptr %arg_d) { +entry: + %t0 = alloca ptr + %t5 = alloca ptr + %t8 = alloca ptr + %t12 = alloca ptr + %t22 = alloca i32 + %t40 = alloca ptr + %t46 = alloca ptr + %t78 = alloca ptr + store ptr %arg_d, ptr %t0 + store i32 0, ptr @g_ll_t + store i32 0, ptr @g_ll_lbl + store i32 0, ptr @g_g_term + call void @fn_loc_reset() + store i32 0, ptr @g_nloop + store ptr null, ptr @g_g_cur_scene + %t1 = load ptr, ptr %t0 + %t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 3 + %t3 = load ptr, ptr %t2 + store ptr %t3, ptr @g_ret_ty + %t4 = call ptr @fn_buf_new() + store ptr %t4, ptr %t5 + %t6 = call ptr @fn_buf_new() + store ptr %t6, ptr @g_falloc + %t7 = load ptr, ptr @g_code + store ptr %t7, ptr %t8 + %t9 = load ptr, ptr %t5 + store ptr %t9, ptr @g_code + %t10 = load ptr, ptr @g_ret_ty + %t11 = call ptr @fn_llty(ptr %t10) + store ptr %t11, ptr %t12 + %t13 = load ptr, ptr %t12 + %t14 = call i32 @lp_str_eq(ptr %t13, ptr @.str10935) + %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 @.str10936) + %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 @.str10937) + 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 @.str10938) + %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 @.str10939) + %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 @.str10940) + %t54 = load ptr, ptr %t46 + call void @fn_emit(ptr %t54) + call void @fn_emit(ptr @.str10941) + %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 @.str10942) + br label %ifend8 +ifend8: + call void @fn_emit(ptr @.str10943) + %t71 = load ptr, ptr %t12 + %t72 = call i32 @lp_str_eq(ptr %t71, ptr @.str10944) + %t73 = icmp ne i32 %t72, 0 + br i1 %t73, label %then9, label %else10 +then9: + call void @fn_emit(ptr @.str10945) + br label %ifend11 +else10: + %t74 = load ptr, ptr %t12 + %t75 = call ptr @lp_str_concat(ptr @.str10946, ptr %t74) + %t76 = call ptr @lp_str_concat(ptr %t75, ptr @.str10947) + %t77 = call ptr @fn_emit_bind(ptr %t76) + store ptr %t77, ptr %t78 + call void @fn_emit(ptr @.str10948) + %t79 = load ptr, ptr %t12 + call void @fn_emit(ptr %t79) + call void @fn_emit(ptr @.str10949) + %t80 = load ptr, ptr %t78 + call void @fn_emit(ptr %t80) + call void @fn_emit(ptr @.str10950) + br label %ifend11 +ifend11: + %t81 = load ptr, ptr %t8 + store ptr %t81, ptr @g_code + call void @fn_emit(ptr @.str10951) + %t82 = load ptr, ptr %t12 + call void @fn_emit(ptr %t82) + call void @fn_emit(ptr @.str10952) + %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 @.str10953) + %t86 = load ptr, ptr %t0 + call void @fn_emit_params_sig(ptr %t86) + call void @fn_emit(ptr @.str10954) + %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 @.str10955) + 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 @.str10956, 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 @.str10957) + call void @fn_emit(ptr @.str10958) + call void @fn_emit(ptr @.str10959) + call void @fn_emit(ptr @.str10960) + %t8 = call ptr @fn_find_fn(ptr @.str10961) + %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 @.str10962) + br label %ifend2 +ifend2: + call void @fn_emit(ptr @.str10963) + %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 @.str10964) + br label %ifend5 +ifend5: + call void @fn_emit(ptr @.str10965) + %t19 = call ptr @fn_emit_bind(ptr @.str10966) + store ptr %t19, ptr %t20 + call void @fn_emit(ptr @.str10967) + %t21 = load ptr, ptr %t20 + call void @fn_emit(ptr %t21) + call void @fn_emit(ptr @.str10968) + %t22 = load ptr, ptr %t5 + store ptr %t22, ptr @g_code + call void @fn_emit(ptr @.str10969) + %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 @.str10970) + 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 @.str10971, 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 @.str10972) + br label %ifend2 +ifend2: + call void @fn_emit(ptr @.str10973) + %t15 = load ptr, ptr %t6 + store ptr %t15, ptr @g_code + call void @fn_emit(ptr @.str10974) + %t16 = load i32, ptr %t1 + %t17 = call ptr @fn_itoa(i32 %t16) + call void @fn_emit(ptr %t17) + call void @fn_emit(ptr @.str10975) + %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 @.str10976) + 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 @.str10977) + call void @fn_emith(ptr @.str10978) + 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 @.str10979) + br label %ifend5 +ifend5: + store i32 0, ptr @g_ll_t + store i32 0, ptr @g_ll_lbl + call void @fn_emit(ptr @.str10980) + call void @fn_emit(ptr @.str10981) + call void @fn_emit(ptr @.str10982) + call void @fn_emit(ptr @.str10983) + %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 @.str10984) + br label %ifend8 +ifend8: + call void @fn_emit(ptr @.str10985) + store i32 0, ptr %t0 + br label %wcond9 +wcond9: + %t21 = load i32, ptr %t0 + %t22 = load ptr, ptr @g_g_tests + %t23 = getelementptr inbounds %LSlice, ptr %t22, i32 0, i32 1 + %t24 = load i32, ptr %t23 + %t25 = icmp slt i32 %t21, %t24 + %t26 = zext i1 %t25 to i32 + %t27 = icmp ne i32 %t26, 0 + br i1 %t27, label %wbody10, label %wend11 +wbody10: + %t28 = load ptr, ptr @g_g_tests + %t29 = getelementptr inbounds %LSlice, ptr %t28, i32 0, i32 0 + %t30 = load ptr, ptr %t29 + %t31 = load i32, ptr %t0 + %t32 = getelementptr inbounds ptr, ptr %t30, i32 %t31 + %t33 = load ptr, ptr %t32 + %t34 = getelementptr inbounds %Cmp_Node, ptr %t33, i32 0, i32 1 + %t35 = load ptr, ptr %t34 + %t36 = call ptr @lp_str_concat(ptr @.str10986, ptr %t35) + %t37 = call ptr @fn_emit_str_const(ptr %t36) + store ptr %t37, ptr %t38 + %t39 = load ptr, ptr @g_g_tests + %t40 = getelementptr inbounds %LSlice, ptr %t39, i32 0, i32 0 + %t41 = load ptr, ptr %t40 + %t42 = load i32, ptr %t0 + %t43 = getelementptr inbounds ptr, ptr %t41, i32 %t42 + %t44 = load ptr, ptr %t43 + %t45 = getelementptr inbounds %Cmp_Node, ptr %t44, i32 0, i32 1 + %t46 = load ptr, ptr %t45 + %t47 = call ptr @lp_str_concat(ptr @.str10987, ptr %t46) + %t48 = call ptr @fn_emit_str_const(ptr %t47) + store ptr %t48, ptr %t49 + call void @fn_emit(ptr @.str10988) + %t50 = load i32, ptr %t0 + %t51 = call ptr @fn_itoa(i32 %t50) + %t52 = call ptr @lp_str_concat(ptr @.str10989, ptr %t51) + %t53 = call ptr @lp_str_concat(ptr %t52, ptr @.str10990) + call void @fn_emit(ptr %t53) + %t54 = call ptr @fn_emit_bind(ptr @.str10991) + store ptr %t54, ptr %t55 + %t56 = load ptr, ptr %t55 + %t57 = call ptr @lp_str_concat(ptr @.str10992, ptr %t56) + %t58 = call ptr @lp_str_concat(ptr %t57, ptr @.str10993) + %t59 = call ptr @fn_emit_bind(ptr %t58) + store ptr %t59, ptr %t60 + %t61 = call ptr @fn_lbl(ptr @.str10994) + store ptr %t61, ptr %t62 + %t63 = call ptr @fn_lbl(ptr @.str10995) + store ptr %t63, ptr %t64 + %t65 = call ptr @fn_lbl(ptr @.str10996) + store ptr %t65, ptr %t66 + %t67 = load ptr, ptr %t60 + %t68 = call ptr @lp_str_concat(ptr @.str10997, ptr %t67) + %t69 = call ptr @lp_str_concat(ptr %t68, ptr @.str10998) + %t70 = load ptr, ptr %t64 + %t71 = call ptr @lp_str_concat(ptr %t69, ptr %t70) + %t72 = call ptr @lp_str_concat(ptr %t71, ptr @.str10999) + %t73 = load ptr, ptr %t62 + %t74 = call ptr @lp_str_concat(ptr %t72, ptr %t73) + %t75 = call ptr @lp_str_concat(ptr %t74, ptr @.str11000) + call void @fn_emit(ptr %t75) + %t76 = load ptr, ptr %t62 + %t77 = call ptr @lp_str_concat(ptr %t76, ptr @.str11001) + call void @fn_emit(ptr %t77) + %t78 = load ptr, ptr %t38 + %t79 = call ptr @lp_str_concat(ptr @.str11002, ptr %t78) + %t80 = call ptr @lp_str_concat(ptr %t79, ptr @.str11003) + call void @fn_emit(ptr %t80) + %t81 = load ptr, ptr %t66 + %t82 = call ptr @lp_str_concat(ptr @.str11004, ptr %t81) + %t83 = call ptr @lp_str_concat(ptr %t82, ptr @.str11005) + call void @fn_emit(ptr %t83) + %t84 = load ptr, ptr %t64 + %t85 = call ptr @lp_str_concat(ptr %t84, ptr @.str11006) + call void @fn_emit(ptr %t85) + %t86 = call ptr @fn_emit_bind(ptr @.str11007) + store ptr %t86, ptr %t87 + %t88 = load ptr, ptr %t87 + %t89 = call ptr @lp_str_concat(ptr @.str11008, ptr %t88) + %t90 = call ptr @lp_str_concat(ptr %t89, ptr @.str11009) + %t91 = call ptr @fn_emit_bind(ptr %t90) + store ptr %t91, ptr %t92 + %t93 = load ptr, ptr %t92 + %t94 = call ptr @lp_str_concat(ptr @.str11010, ptr %t93) + %t95 = call ptr @lp_str_concat(ptr %t94, ptr @.str11011) + call void @fn_emit(ptr %t95) + %t96 = load ptr, ptr %t49 + %t97 = call ptr @lp_str_concat(ptr @.str11012, ptr %t96) + %t98 = call ptr @lp_str_concat(ptr %t97, ptr @.str11013) + call void @fn_emit(ptr %t98) + %t99 = load ptr, ptr %t66 + %t100 = call ptr @lp_str_concat(ptr @.str11014, ptr %t99) + %t101 = call ptr @lp_str_concat(ptr %t100, ptr @.str11015) + call void @fn_emit(ptr %t101) + %t102 = load ptr, ptr %t66 + %t103 = call ptr @lp_str_concat(ptr %t102, ptr @.str11016) + 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 @.str11017) + store ptr %t106, ptr %t107 + %t108 = load ptr, ptr @g_g_tests + %t109 = getelementptr inbounds %LSlice, ptr %t108, i32 0, i32 1 + %t110 = load i32, ptr %t109 + %t111 = call ptr @fn_itoa(i32 %t110) + %t112 = call ptr @lp_str_concat(ptr @.str11018, ptr %t111) + %t113 = call ptr @lp_str_concat(ptr %t112, ptr @.str11019) + %t114 = load ptr, ptr %t107 + %t115 = call ptr @lp_str_concat(ptr %t113, ptr %t114) + %t116 = call ptr @fn_emit_bind(ptr %t115) + store ptr %t116, ptr %t117 + %t118 = load ptr, ptr %t117 + %t119 = call ptr @lp_str_concat(ptr @.str11020, ptr %t118) + %t120 = call ptr @lp_str_concat(ptr %t119, ptr @.str11021) + %t121 = load ptr, ptr %t107 + %t122 = call ptr @lp_str_concat(ptr %t120, ptr %t121) + %t123 = call ptr @lp_str_concat(ptr %t122, ptr @.str11022) + call void @fn_emit(ptr %t123) + %t124 = load ptr, ptr %t107 + %t125 = call ptr @lp_str_concat(ptr @.str11023, ptr %t124) + %t126 = call ptr @lp_str_concat(ptr %t125, ptr @.str11024) + %t127 = call ptr @fn_emit_bind(ptr %t126) + store ptr %t127, ptr %t128 + %t129 = load ptr, ptr %t128 + %t130 = call ptr @lp_str_concat(ptr @.str11025, ptr %t129) + %t131 = call ptr @lp_str_concat(ptr %t130, ptr @.str11026) + %t132 = call ptr @fn_emit_bind(ptr %t131) + store ptr %t132, ptr %t133 + %t134 = load ptr, ptr %t133 + %t135 = call ptr @lp_str_concat(ptr @.str11027, ptr %t134) + %t136 = call ptr @lp_str_concat(ptr %t135, ptr @.str11028) + call void @fn_emit(ptr %t136) + br label %ret +ret: + ret void +} + +define void @fn_check_duplicate_fns() { +entry: + %t0 = alloca i32 + %t14 = alloca ptr + %t23 = alloca i32 + %t37 = alloca ptr + %t38 = alloca i32 + store i32 0, ptr %t0 + br label %wcond0 +wcond0: + %t1 = load i32, ptr %t0 + %t2 = load ptr, ptr @g_prog + %t3 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 1 + %t4 = load i32, ptr %t3 + %t5 = icmp slt i32 %t1, %t4 + %t6 = zext i1 %t5 to i32 + %t7 = icmp ne i32 %t6, 0 + br i1 %t7, label %wbody1, label %wend2 +wbody1: + %t8 = load ptr, ptr @g_prog + %t9 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 0 + %t10 = load ptr, ptr %t9 + %t11 = load i32, ptr %t0 + %t12 = getelementptr inbounds ptr, ptr %t10, i32 %t11 + %t13 = load ptr, ptr %t12 + store ptr %t13, ptr %t14 + %t15 = load ptr, ptr %t14 + %t16 = getelementptr inbounds %Cmp_Node, ptr %t15, i32 0, i32 0 + %t17 = load i32, ptr %t16 + %t18 = icmp eq i32 %t17, 4 + %t19 = zext i1 %t18 to i32 + %t20 = icmp ne i32 %t19, 0 + br i1 %t20, label %then3, label %ifend5 +then3: + %t21 = load i32, ptr %t0 + %t22 = add i32 %t21, 1 + store i32 %t22, ptr %t23 + br label %wcond6 +wcond6: + %t24 = load i32, ptr %t23 + %t25 = load ptr, ptr @g_prog + %t26 = getelementptr inbounds %LSlice, ptr %t25, i32 0, i32 1 + %t27 = load i32, ptr %t26 + %t28 = icmp slt i32 %t24, %t27 + %t29 = zext i1 %t28 to i32 + %t30 = icmp ne i32 %t29, 0 + br i1 %t30, label %wbody7, label %wend8 +wbody7: + %t31 = load ptr, ptr @g_prog + %t32 = getelementptr inbounds %LSlice, ptr %t31, i32 0, i32 0 + %t33 = load ptr, ptr %t32 + %t34 = load i32, ptr %t23 + %t35 = getelementptr inbounds ptr, ptr %t33, i32 %t34 + %t36 = load ptr, ptr %t35 + store ptr %t36, ptr %t37 + %t39 = load ptr, ptr %t37 + %t40 = getelementptr inbounds %Cmp_Node, ptr %t39, i32 0, i32 0 + %t41 = load i32, ptr %t40 + %t42 = icmp eq i32 %t41, 4 + %t43 = zext i1 %t42 to i32 + %t44 = icmp ne i32 %t43, 0 + %t45 = zext i1 %t44 to i32 + store i32 %t45, ptr %t38 + br i1 %t44, label %sc9, label %scend10 +sc9: + %t46 = load ptr, ptr %t37 + %t47 = getelementptr inbounds %Cmp_Node, ptr %t46, i32 0, i32 1 + %t48 = load ptr, ptr %t47 + %t49 = load ptr, ptr %t14 + %t50 = getelementptr inbounds %Cmp_Node, ptr %t49, i32 0, i32 1 + %t51 = load ptr, ptr %t50 + %t52 = call i32 @lp_str_eq(ptr %t48, ptr %t51) + %t53 = icmp ne i32 %t52, 0 + %t54 = zext i1 %t53 to i32 + store i32 %t54, ptr %t38 + br label %scend10 +scend10: + %t55 = load i32, ptr %t38 + %t56 = icmp ne i32 %t55, 0 + br i1 %t56, label %then11, label %ifend13 +then11: + %t57 = load ptr, ptr %t37 + %t58 = getelementptr inbounds %Cmp_Node, ptr %t57, i32 0, i32 9 + %t59 = load ptr, ptr %t58 + store ptr %t59, ptr @g_g_err_file + %t60 = load ptr, ptr %t37 + %t61 = getelementptr inbounds %Cmp_Node, ptr %t60, i32 0, i32 8 + %t62 = load i32, ptr %t61 + store i32 %t62, ptr @g_g_err_line + %t63 = load ptr, ptr %t14 + %t64 = getelementptr inbounds %Cmp_Node, ptr %t63, i32 0, i32 1 + %t65 = load ptr, ptr %t64 + %t66 = call ptr @lp_str_concat(ptr @.str11029, ptr %t65) + %t67 = call ptr @lp_str_concat(ptr %t66, ptr @.str11030) + %t68 = load ptr, ptr %t14 + %t69 = getelementptr inbounds %Cmp_Node, ptr %t68, i32 0, i32 9 + %t70 = load ptr, ptr %t69 + %t71 = call ptr @lp_str_concat(ptr %t67, ptr %t70) + %t72 = call ptr @lp_str_concat(ptr %t71, ptr @.str11031) + %t73 = load ptr, ptr %t14 + %t74 = getelementptr inbounds %Cmp_Node, ptr %t73, i32 0, i32 8 + %t75 = load i32, ptr %t74 + %t76 = call ptr @fn_itoa(i32 %t75) + %t77 = call ptr @lp_str_concat(ptr %t72, ptr %t76) + %t78 = call ptr @lp_str_concat(ptr %t77, ptr @.str11032) + call void @fn_perr(ptr %t78) + br label %ifend13 +ifend13: + %t79 = load i32, ptr %t23 + %t80 = add i32 %t79, 1 + store i32 %t80, ptr %t23 + br label %wcond6 +wend8: + br label %ifend5 +ifend5: + %t81 = load i32, ptr %t0 + %t82 = add i32 %t81, 1 + store i32 %t82, ptr %t0 + br label %wcond0 +wend2: + br label %ret +ret: + ret void +} + +define void @fn_emit_program() { +entry: + %t58 = alloca i32 + %t111 = alloca i32 + %t204 = alloca i32 + call void @fn_check_duplicate_fns() + %t0 = call ptr @fn_buf_new() + store ptr %t0, ptr @g_head + %t1 = call ptr @fn_buf_new() + store ptr %t1, ptr @g_code + store i32 0, ptr @g_g_uses_str + store i32 0, ptr @g_g_uses_intstr + store i32 0, ptr @g_g_uses_strslice + store i32 0, ptr @g_g_uses_loopback + store i32 0, ptr @g_g_uses_expect + store i32 0, ptr @g_g_uses_panic + store i32 0, ptr @g_g_uses_result + store i32 0, ptr @g_g_uses_option + store i32 0, ptr @g_g_uses_world_despawn + %t2 = getelementptr %LSlice, ptr null, i32 1 + %t3 = ptrtoint ptr %t2 to i64 + %t4 = call ptr @malloc(i64 %t3) + %t5 = getelementptr inbounds %LSlice, ptr %t4, i32 0, i32 0 + store ptr null, ptr %t5 + %t6 = getelementptr inbounds %LSlice, ptr %t4, i32 0, i32 1 + store i32 0, ptr %t6 + %t7 = getelementptr inbounds %LSlice, ptr %t4, i32 0, i32 2 + store i32 0, ptr %t7 + store ptr %t4, ptr @g_g_cov_lines + store i32 1, ptr @g_g_cov_active + %t8 = getelementptr %LSlice, ptr null, i32 1 + %t9 = ptrtoint ptr %t8 to i64 + %t10 = call ptr @malloc(i64 %t9) + %t11 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 0 + store ptr null, ptr %t11 + %t12 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 1 + store i32 0, ptr %t12 + %t13 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 2 + store i32 0, ptr %t13 + store ptr %t10, ptr @g_loc_name + %t14 = getelementptr %LSlice, ptr null, i32 1 + %t15 = ptrtoint ptr %t14 to i64 + %t16 = call ptr @malloc(i64 %t15) + %t17 = getelementptr inbounds %LSlice, ptr %t16, i32 0, i32 0 + store ptr null, ptr %t17 + %t18 = getelementptr inbounds %LSlice, ptr %t16, i32 0, i32 1 + store i32 0, ptr %t18 + %t19 = getelementptr inbounds %LSlice, ptr %t16, i32 0, i32 2 + store i32 0, ptr %t19 + store ptr %t16, ptr @g_loc_reg + %t20 = getelementptr %LSlice, ptr null, i32 1 + %t21 = ptrtoint ptr %t20 to i64 + %t22 = call ptr @malloc(i64 %t21) + %t23 = getelementptr inbounds %LSlice, ptr %t22, i32 0, i32 0 + store ptr null, ptr %t23 + %t24 = getelementptr inbounds %LSlice, ptr %t22, i32 0, i32 1 + store i32 0, ptr %t24 + %t25 = getelementptr inbounds %LSlice, ptr %t22, i32 0, i32 2 + store i32 0, ptr %t25 + store ptr %t22, ptr @g_loc_ty + %t26 = getelementptr %LSlice, ptr null, i32 1 + %t27 = ptrtoint ptr %t26 to i64 + %t28 = call ptr @malloc(i64 %t27) + %t29 = getelementptr inbounds %LSlice, ptr %t28, i32 0, i32 0 + store ptr null, ptr %t29 + %t30 = getelementptr inbounds %LSlice, ptr %t28, i32 0, i32 1 + store i32 0, ptr %t30 + %t31 = getelementptr inbounds %LSlice, ptr %t28, i32 0, i32 2 + store i32 0, ptr %t31 + store ptr %t28, ptr @g_loc_mut + %t32 = getelementptr %LSlice, ptr null, i32 1 + %t33 = ptrtoint ptr %t32 to i64 + %t34 = call ptr @malloc(i64 %t33) + %t35 = getelementptr inbounds %LSlice, ptr %t34, i32 0, i32 0 + store ptr null, ptr %t35 + %t36 = getelementptr inbounds %LSlice, ptr %t34, i32 0, i32 1 + store i32 0, ptr %t36 + %t37 = getelementptr inbounds %LSlice, ptr %t34, i32 0, i32 2 + store i32 0, ptr %t37 + store ptr %t34, ptr @g_brk_lbl + %t38 = getelementptr %LSlice, ptr null, i32 1 + %t39 = ptrtoint ptr %t38 to i64 + %t40 = call ptr @malloc(i64 %t39) + %t41 = getelementptr inbounds %LSlice, ptr %t40, i32 0, i32 0 + store ptr null, ptr %t41 + %t42 = getelementptr inbounds %LSlice, ptr %t40, i32 0, i32 1 + store i32 0, ptr %t42 + %t43 = getelementptr inbounds %LSlice, ptr %t40, i32 0, i32 2 + store i32 0, ptr %t43 + store ptr %t40, ptr @g_cnt_lbl + %t44 = getelementptr %LSlice, ptr null, i32 1 + %t45 = ptrtoint ptr %t44 to i64 + %t46 = call ptr @malloc(i64 %t45) + %t47 = getelementptr inbounds %LSlice, ptr %t46, i32 0, i32 0 + store ptr null, ptr %t47 + %t48 = getelementptr inbounds %LSlice, ptr %t46, i32 0, i32 1 + store i32 0, ptr %t48 + %t49 = getelementptr inbounds %LSlice, ptr %t46, i32 0, i32 2 + store i32 0, ptr %t49 + store ptr %t46, ptr @g_self_stk + %t50 = getelementptr %LSlice, ptr null, i32 1 + %t51 = ptrtoint ptr %t50 to i64 + %t52 = call ptr @malloc(i64 %t51) + %t53 = getelementptr inbounds %LSlice, ptr %t52, i32 0, i32 0 + store ptr null, ptr %t53 + %t54 = getelementptr inbounds %LSlice, ptr %t52, i32 0, i32 1 + store i32 0, ptr %t54 + %t55 = getelementptr inbounds %LSlice, ptr %t52, i32 0, i32 2 + store i32 0, ptr %t55 + store ptr %t52, ptr @g_mach_stk + call void @fn_emit_header() + call void @fn_emit_extern_decls() + %t56 = call i32 @fn_has_ecs() + %t57 = icmp ne i32 %t56, 0 + br i1 %t57, label %then0, label %ifend2 +then0: + call void @fn_emit_ecs_storage() + br label %ifend2 +ifend2: + store i32 0, ptr %t58 + br label %wcond3 +wcond3: + %t59 = load i32, ptr %t58 + %t60 = load ptr, ptr @g_prog + %t61 = getelementptr inbounds %LSlice, ptr %t60, i32 0, i32 1 + %t62 = load i32, ptr %t61 + %t63 = icmp slt i32 %t59, %t62 + %t64 = zext i1 %t63 to i32 + %t65 = icmp ne i32 %t64, 0 + br i1 %t65, label %wbody4, label %wend5 +wbody4: + %t66 = load ptr, ptr @g_prog + %t67 = getelementptr inbounds %LSlice, ptr %t66, i32 0, i32 0 + %t68 = load ptr, ptr %t67 + %t69 = load i32, ptr %t58 + %t70 = getelementptr inbounds ptr, ptr %t68, i32 %t69 + %t71 = load ptr, ptr %t70 + %t72 = getelementptr inbounds %Cmp_Node, ptr %t71, i32 0, i32 0 + %t73 = load i32, ptr %t72 + %t74 = icmp eq i32 %t73, 4 + %t75 = zext i1 %t74 to i32 + %t76 = icmp ne i32 %t75, 0 + br i1 %t76, label %then6, label %ifend8 +then6: + %t77 = load i32, ptr %t58 + %t78 = load i32, ptr @g_g_prog_user_end + %t79 = icmp slt i32 %t77, %t78 + %t80 = zext i1 %t79 to i32 + store i32 %t80, ptr @g_g_cov_active + %t81 = load ptr, ptr @g_prog + %t82 = getelementptr inbounds %LSlice, ptr %t81, i32 0, i32 0 + %t83 = load ptr, ptr %t82 + %t84 = load i32, ptr %t58 + %t85 = getelementptr inbounds ptr, ptr %t83, i32 %t84 + %t86 = load ptr, ptr %t85 + call void @fn_emit_fn(ptr %t86) + store i32 1, ptr @g_g_cov_active + br label %ifend8 +ifend8: + %t87 = load i32, ptr %t58 + %t88 = add i32 %t87, 1 + store i32 %t88, ptr %t58 + br label %wcond3 +wend5: + call void @fn_emit_global_init_fn() + %t89 = load ptr, ptr @g_g_events + %t90 = getelementptr inbounds %LSlice, ptr %t89, i32 0, i32 1 + %t91 = load i32, ptr %t90 + %t92 = icmp sgt i32 %t91, 0 + %t93 = zext i1 %t92 to i32 + %t94 = icmp ne i32 %t93, 0 + br i1 %t94, label %then9, label %ifend11 +then9: + call void @fn_emit_event_fns() + br label %ifend11 +ifend11: + %t95 = call i32 @fn_has_ecs() + %t96 = icmp ne i32 %t95, 0 + br i1 %t96, label %then12, label %ifend14 +then12: + call void @fn_emit_world_table() + br label %ifend14 +ifend14: + %t97 = call i32 @fn_has_ecs() + %t98 = icmp ne i32 %t97, 0 + br i1 %t98, label %then15, label %ifend17 +then15: + call void @fn_emit_ecs_allocator() + call void @fn_emit_snapshot() + br label %ifend17 +ifend17: + %t99 = call i32 @fn_has_ecs() + %t100 = icmp ne i32 %t99, 0 + br i1 %t100, label %then18, label %ifend20 +then18: + call void @fn_emit_net() + br label %ifend20 +ifend20: + %t101 = call i32 @fn_has_ui() + %t102 = icmp ne i32 %t101, 0 + br i1 %t102, label %then21, label %ifend23 +then21: + call void @fn_emit_ui_build() + br label %ifend23 +ifend23: + %t103 = load ptr, ptr @g_g_tests + %t104 = getelementptr inbounds %LSlice, ptr %t103, i32 0, i32 1 + %t105 = load i32, ptr %t104 + %t106 = icmp sgt i32 %t105, 0 + %t107 = zext i1 %t106 to i32 + %t108 = icmp ne i32 %t107, 0 + br i1 %t108, label %then24, label %else25 +then24: + %t109 = call i32 @fn_has_systems() + %t110 = icmp ne i32 %t109, 0 + br i1 %t110, label %then27, label %ifend29 +then27: + call void @fn_emit_game_defs() + br label %ifend29 +ifend29: + call void @fn_emit_test_runner() + br label %ifend26 +else25: + %t112 = call i32 @fn_has_systems() + %t113 = icmp ne i32 %t112, 0 + %t114 = zext i1 %t113 to i32 + store i32 %t114, ptr %t111 + br i1 %t113, label %sc30, label %scend31 +sc30: + %t115 = call i32 @fn_has_entry() + %t116 = icmp ne i32 %t115, 0 + %t117 = zext i1 %t116 to i32 + store i32 %t117, ptr %t111 + br label %scend31 +scend31: + %t118 = load i32, ptr %t111 + %t119 = icmp ne i32 %t118, 0 + br i1 %t119, label %then32, label %else33 +then32: + call void @fn_emit_game_defs() + store i32 0, ptr %t58 + br label %wcond35 +wcond35: + %t120 = load i32, ptr %t58 + %t121 = load ptr, ptr @g_prog + %t122 = getelementptr inbounds %LSlice, ptr %t121, i32 0, i32 1 + %t123 = load i32, ptr %t122 + %t124 = icmp slt i32 %t120, %t123 + %t125 = zext i1 %t124 to i32 + %t126 = icmp ne i32 %t125, 0 + br i1 %t126, label %wbody36, label %wend37 +wbody36: + %t127 = load ptr, ptr @g_prog + %t128 = getelementptr inbounds %LSlice, ptr %t127, i32 0, i32 0 + %t129 = load ptr, ptr %t128 + %t130 = load i32, ptr %t58 + %t131 = getelementptr inbounds ptr, ptr %t129, i32 %t130 + %t132 = load ptr, ptr %t131 + %t133 = getelementptr inbounds %Cmp_Node, ptr %t132, i32 0, i32 0 + %t134 = load i32, ptr %t133 + %t135 = icmp eq i32 %t134, 6 + %t136 = zext i1 %t135 to i32 + %t137 = icmp ne i32 %t136, 0 + br i1 %t137, label %then38, label %ifend40 +then38: + %t138 = load ptr, ptr @g_prog + %t139 = getelementptr inbounds %LSlice, ptr %t138, i32 0, i32 0 + %t140 = load ptr, ptr %t139 + %t141 = load i32, ptr %t58 + %t142 = getelementptr inbounds ptr, ptr %t140, i32 %t141 + %t143 = load ptr, ptr %t142 + call void @fn_emit_main(ptr %t143) + br label %ifend40 +ifend40: + %t144 = load i32, ptr %t58 + %t145 = add i32 %t144, 1 + store i32 %t145, ptr %t58 + br label %wcond35 +wend37: + br label %ifend34 +else33: + %t146 = call i32 @fn_has_systems() + %t147 = icmp ne i32 %t146, 0 + br i1 %t147, label %then41, label %else42 +then41: + call void @fn_emit_game_main() + br label %ifend43 +else42: + store i32 0, ptr %t58 + br label %wcond44 +wcond44: + %t148 = load i32, ptr %t58 + %t149 = load ptr, ptr @g_prog + %t150 = getelementptr inbounds %LSlice, ptr %t149, i32 0, i32 1 + %t151 = load i32, ptr %t150 + %t152 = icmp slt i32 %t148, %t151 + %t153 = zext i1 %t152 to i32 + %t154 = icmp ne i32 %t153, 0 + br i1 %t154, label %wbody45, label %wend46 +wbody45: + %t155 = load ptr, ptr @g_prog + %t156 = getelementptr inbounds %LSlice, ptr %t155, i32 0, i32 0 + %t157 = load ptr, ptr %t156 + %t158 = load i32, ptr %t58 + %t159 = getelementptr inbounds ptr, ptr %t157, i32 %t158 + %t160 = load ptr, ptr %t159 + %t161 = getelementptr inbounds %Cmp_Node, ptr %t160, i32 0, i32 0 + %t162 = load i32, ptr %t161 + %t163 = icmp eq i32 %t162, 6 + %t164 = zext i1 %t163 to i32 + %t165 = icmp ne i32 %t164, 0 + br i1 %t165, label %then47, label %ifend49 +then47: + %t166 = load ptr, ptr @g_prog + %t167 = getelementptr inbounds %LSlice, ptr %t166, i32 0, i32 0 + %t168 = load ptr, ptr %t167 + %t169 = load i32, ptr %t58 + %t170 = getelementptr inbounds ptr, ptr %t168, i32 %t169 + %t171 = load ptr, ptr %t170 + call void @fn_emit_main(ptr %t171) + br label %ifend49 +ifend49: + %t172 = load i32, ptr %t58 + %t173 = add i32 %t172, 1 + store i32 %t173, ptr %t58 + br label %wcond44 +wend46: + br label %ifend43 +ifend43: + br label %ifend34 +ifend34: + br label %ifend26 +ifend26: + %t174 = load i32, ptr @g_g_uses_world_despawn + %t175 = icmp ne i32 %t174, 0 + br i1 %t175, label %then50, label %ifend52 +then50: + call void @fn_emit_world_despawn_fn() + br label %ifend52 +ifend52: + %t176 = load i32, ptr @g_g_uses_loopback + %t177 = icmp ne i32 %t176, 0 + br i1 %t177, label %then53, label %ifend55 +then53: + call void @fn_emit_loopback() + br label %ifend55 +ifend55: + %t178 = load i32, ptr @g_g_uses_str + %t179 = icmp ne i32 %t178, 0 + br i1 %t179, label %then56, label %ifend58 +then56: + call void @fn_emit_str_prelude() + br label %ifend58 +ifend58: + %t180 = load i32, ptr @g_g_uses_intstr + %t181 = icmp ne i32 %t180, 0 + br i1 %t181, label %then59, label %ifend61 +then59: + call void @fn_emit_int_str() + br label %ifend61 +ifend61: + %t182 = load i32, ptr @g_g_uses_longstr + %t183 = icmp ne i32 %t182, 0 + br i1 %t183, label %then62, label %ifend64 +then62: + call void @fn_emit_long_str() + br label %ifend64 +ifend64: + %t184 = load i32, ptr @g_g_uses_strslice + %t185 = icmp ne i32 %t184, 0 + br i1 %t185, label %then65, label %ifend67 +then65: + call void @fn_emit_str_slice() + br label %ifend67 +ifend67: + %t186 = load i32, ptr @g_g_uses_mathrt + %t187 = icmp ne i32 %t186, 0 + br i1 %t187, label %then68, label %ifend70 +then68: + call void @fn_emit_math_prelude() + br label %ifend70 +ifend70: + %t188 = load i32, ptr @g_g_uses_textrt + %t189 = icmp ne i32 %t188, 0 + br i1 %t189, label %then71, label %ifend73 +then71: + call void @fn_emit_text_prelude() + br label %ifend73 +ifend73: + %t190 = load i32, ptr @g_g_uses_textrt2 + %t191 = icmp ne i32 %t190, 0 + br i1 %t191, label %then74, label %ifend76 +then74: + call void @fn_emit_text2_prelude() + br label %ifend76 +ifend76: + %t192 = load i32, ptr @g_g_uses_hashrt + %t193 = icmp ne i32 %t192, 0 + br i1 %t193, label %then77, label %ifend79 +then77: + call void @fn_emit_hash_prelude() + br label %ifend79 +ifend79: + %t194 = load i32, ptr @g_g_uses_cryptort + %t195 = icmp ne i32 %t194, 0 + br i1 %t195, label %then80, label %ifend82 +then80: + call void @fn_emit_crypto_prelude() + br label %ifend82 +ifend82: + %t196 = load i32, ptr @g_g_uses_uuidrt + %t197 = icmp ne i32 %t196, 0 + br i1 %t197, label %then83, label %ifend85 +then83: + call void @fn_emit_uuid_prelude() + br label %ifend85 +ifend85: + %t198 = load i32, ptr @g_g_uses_noisert + %t199 = icmp ne i32 %t198, 0 + br i1 %t199, label %then86, label %ifend88 +then86: + call void @fn_emit_noise_prelude() + br label %ifend88 +ifend88: + %t200 = load i32, ptr @g_g_uses_logrt + %t201 = icmp ne i32 %t200, 0 + br i1 %t201, label %then89, label %ifend91 +then89: + call void @fn_emit_log_prelude() + br label %ifend91 +ifend91: + %t202 = load i32, ptr @g_g_uses_osrt + %t203 = icmp ne i32 %t202, 0 + br i1 %t203, label %then92, label %ifend94 +then92: + call void @fn_emit_os_prelude() + br label %ifend94 +ifend94: + %t205 = load i32, ptr @g_g_uses_pid + %t206 = icmp ne i32 %t205, 0 + %t207 = zext i1 %t206 to i32 + store i32 %t207, ptr %t204 + br i1 %t206, label %sc95, label %scend96 +sc95: + %t208 = load i32, ptr @g_g_target_win + %t209 = icmp eq i32 %t208, 0 + %t210 = zext i1 %t209 to i32 + %t211 = icmp ne i32 %t210, 0 + %t212 = zext i1 %t211 to i32 + store i32 %t212, ptr %t204 + br label %scend96 +scend96: + %t213 = load i32, ptr %t204 + %t214 = icmp ne i32 %t213, 0 + br i1 %t214, label %then97, label %ifend99 +then97: + call void @fn_emith(ptr @.str11033) + br label %ifend99 +ifend99: + %t215 = load i32, ptr @g_g_uses_unicodert + %t216 = icmp ne i32 %t215, 0 + br i1 %t216, label %then100, label %ifend102 +then100: + call void @fn_emit_unicode_prelude() + br label %ifend102 +ifend102: + %t217 = load i32, ptr @g_g_uses_fsrt + %t218 = icmp ne i32 %t217, 0 + br i1 %t218, label %then103, label %ifend105 +then103: + call void @fn_emit_fs_prelude() + br label %ifend105 +ifend105: + %t219 = load i32, ptr @g_g_uses_pak + %t220 = icmp ne i32 %t219, 0 + br i1 %t220, label %then106, label %ifend108 +then106: + call void @fn_emit_pak_prelude() + br label %ifend108 +ifend108: + %t221 = load i32, ptr @g_g_uses_datert + %t222 = icmp ne i32 %t221, 0 + br i1 %t222, label %then109, label %ifend111 +then109: + call void @fn_emit_datetime_prelude() + br label %ifend111 +ifend111: + %t223 = load i32, ptr @g_g_uses_panic + %t224 = icmp ne i32 %t223, 0 + br i1 %t224, label %then112, label %ifend114 +then112: + call void @fn_emith(ptr @.str11034) + call void @fn_emith(ptr @.str11035) + br label %ifend114 +ifend114: + %t225 = load i32, ptr @g_g_uses_result + %t226 = icmp ne i32 %t225, 0 + br i1 %t226, label %then115, label %ifend117 +then115: + call void @fn_emith(ptr @.str11036) + br label %ifend117 +ifend117: + %t227 = load i32, ptr @g_g_uses_option + %t228 = icmp ne i32 %t227, 0 + br i1 %t228, label %then118, label %ifend120 +then118: + call void @fn_emith(ptr @.str11037) + br label %ifend120 +ifend120: + call void @fn_emit_cov_runtime() + %t229 = load i32, ptr @g_g_emit_module + %t230 = icmp ne i32 %t229, 0 + br i1 %t230, label %then121, label %ifend123 +then121: + call void @fn_emit_module_glue() + br label %ifend123 +ifend123: + br label %ret +ret: + ret void +} + +define void @fn_emit_cov_runtime() { +entry: + %t7 = alloca i32 + %t14 = alloca ptr + %t16 = alloca i32 + %t41 = alloca ptr + %t43 = alloca ptr + %t45 = alloca ptr + %t47 = alloca ptr + %t0 = load i32, ptr @g_g_coverage + %t1 = icmp eq i32 %t0, 0 + %t2 = zext i1 %t1 to i32 + %t3 = icmp ne i32 %t2, 0 + br i1 %t3, label %then0, label %ifend2 +then0: + br label %ret +ifend2: + %t4 = load ptr, ptr @g_g_cov_lines + %t5 = getelementptr inbounds %LSlice, ptr %t4, i32 0, i32 1 + %t6 = load i32, ptr %t5 + store i32 %t6, ptr %t7 + %t8 = load i32, ptr %t7 + %t9 = icmp eq i32 %t8, 0 + %t10 = zext i1 %t9 to i32 + %t11 = icmp ne i32 %t10, 0 + br i1 %t11, label %then3, label %ifend5 +then3: + br label %ret +ifend5: + %t12 = load i32, ptr %t7 + %t13 = call ptr @fn_itoa(i32 %t12) + store ptr %t13, ptr %t14 + call void @fn_emith(ptr @.str11038) + %t15 = load ptr, ptr %t14 + call void @fn_emith(ptr %t15) + call void @fn_emith(ptr @.str11039) + 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 @.str11040) + br label %ifend11 +ifend11: + call void @fn_emith(ptr @.str11041) + %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 @.str11042) + call void @fn_emith(ptr @.str11043) + %t35 = load ptr, ptr %t14 + call void @fn_emith(ptr %t35) + call void @fn_emith(ptr @.str11044) + %t36 = load ptr, ptr %t14 + %t37 = call ptr @lp_str_concat(ptr @.str11045, ptr %t36) + %t38 = call ptr @lp_str_concat(ptr %t37, ptr @.str11046) + 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 @.str11047) + store ptr %t42, ptr %t43 + %t44 = call ptr @fn_emit_str_const(ptr @.str11048) + store ptr %t44, ptr %t45 + %t46 = call ptr @fn_emit_str_const(ptr @.str11049) + store ptr %t46, ptr %t47 + call void @fn_emith(ptr @.str11050) + call void @fn_emith(ptr @.str11051) + %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 @.str11052) + br label %ifend14 +ifend14: + call void @fn_emith(ptr @.str11053) + call void @fn_emit(ptr @.str11054) + %t52 = load ptr, ptr %t43 + %t53 = call ptr @lp_str_concat(ptr @.str11055, ptr %t52) + %t54 = call ptr @lp_str_concat(ptr %t53, ptr @.str11056) + call void @fn_emit(ptr %t54) + call void @fn_emit(ptr @.str11057) + %t55 = load ptr, ptr %t45 + %t56 = call ptr @lp_str_concat(ptr @.str11058, ptr %t55) + %t57 = call ptr @lp_str_concat(ptr %t56, ptr @.str11059) + call void @fn_emit(ptr %t57) + %t58 = load ptr, ptr %t47 + %t59 = call ptr @lp_str_concat(ptr @.str11060, ptr %t58) + %t60 = call ptr @lp_str_concat(ptr %t59, ptr @.str11061) + call void @fn_emit(ptr %t60) + call void @fn_emit(ptr @.str11062) + call void @fn_emit(ptr @.str11063) + call void @fn_emit(ptr @.str11064) + %t61 = load ptr, ptr %t41 + %t62 = call ptr @lp_str_concat(ptr @.str11065, ptr %t61) + %t63 = call ptr @lp_str_concat(ptr %t62, ptr @.str11066) + call void @fn_emit(ptr %t63) + call void @fn_emit(ptr @.str11067) + call void @fn_emit(ptr @.str11068) + call void @fn_emit(ptr @.str11069) + %t64 = load ptr, ptr %t14 + %t65 = call ptr @lp_str_concat(ptr @.str11070, ptr %t64) + %t66 = call ptr @lp_str_concat(ptr %t65, ptr @.str11071) + call void @fn_emit(ptr %t66) + call void @fn_emit(ptr @.str11072) + call void @fn_emit(ptr @.str11073) + call void @fn_emit(ptr @.str11074) + %t67 = load ptr, ptr %t14 + call void @fn_emit(ptr %t67) + call void @fn_emit(ptr @.str11075) + call void @fn_emit(ptr @.str11076) + call void @fn_emit(ptr @.str11077) + %t68 = load ptr, ptr %t14 + call void @fn_emit(ptr %t68) + call void @fn_emit(ptr @.str11078) + call void @fn_emit(ptr @.str11079) + call void @fn_emit(ptr @.str11080) + call void @fn_emit(ptr @.str11081) + call void @fn_emit(ptr @.str11082) + call void @fn_emit(ptr @.str11083) + call void @fn_emit(ptr @.str11084) + call void @fn_emit(ptr @.str11085) + call void @fn_emit(ptr @.str11086) + call void @fn_emit(ptr @.str11087) + call void @fn_emit(ptr @.str11088) + call void @fn_emit(ptr @.str11089) + call void @fn_emith(ptr @.str11090) + br label %ret +ret: + ret void +} + +define i32 @fn_ir_flush(ptr %arg_path) { +entry: + %retval = alloca i32 + %t0 = alloca ptr + %t3 = alloca ptr + %t6 = alloca ptr + %t12 = alloca ptr + %t31 = alloca ptr + store ptr %arg_path, ptr %t0 + %t1 = load ptr, ptr @g_head + %t2 = call ptr @fn_buf_str(ptr %t1) + store ptr %t2, ptr %t3 + %t4 = load ptr, ptr @g_code + %t5 = call ptr @fn_buf_str(ptr %t4) + store ptr %t5, ptr %t6 + %t7 = load ptr, ptr %t0 + %t8 = icmp eq ptr %t7, null + %t9 = zext i1 %t8 to i32 + %t10 = icmp ne i32 %t9, 0 + br i1 %t10, label %then0, label %ifend2 +then0: + %t11 = call ptr @lp_win_stdio(i32 1) + store ptr %t11, ptr %t12 + %t13 = load ptr, ptr %t12 + %t14 = load ptr, ptr %t3 + %t15 = load ptr, ptr %t3 + %t16 = call i64 @strlen(ptr %t15) + %t17 = trunc i64 %t16 to i32 + %t18 = zext i32 %t17 to i64 + %t19 = call i64 @fwrite(ptr %t14, i64 1, i64 %t18, ptr %t13) + %t20 = trunc i64 %t19 to i32 + %t21 = load ptr, ptr %t12 + %t22 = load ptr, ptr %t6 + %t23 = load ptr, ptr %t6 + %t24 = call i64 @strlen(ptr %t23) + %t25 = trunc i64 %t24 to i32 + %t26 = zext i32 %t25 to i64 + %t27 = call i64 @fwrite(ptr %t22, i64 1, i64 %t26, ptr %t21) + %t28 = trunc i64 %t27 to i32 + store i32 1, ptr %retval + br label %ret +ifend2: + %t29 = load ptr, ptr %t0 + %t30 = call ptr @lp_pak_open(ptr %t29, ptr @.str11091) + store ptr %t30, ptr %t31 + %t32 = load ptr, ptr %t31 + %t33 = icmp eq ptr %t32, null + %t34 = zext i1 %t33 to i32 + %t35 = icmp ne i32 %t34, 0 + br i1 %t35, label %then3, label %ifend5 +then3: + store i32 0, ptr %retval + br label %ret +ifend5: + %t36 = load ptr, ptr %t31 + %t37 = load ptr, ptr %t3 + %t38 = load ptr, ptr %t3 + %t39 = call i64 @strlen(ptr %t38) + %t40 = trunc i64 %t39 to i32 + %t41 = zext i32 %t40 to i64 + %t42 = call i64 @fwrite(ptr %t37, i64 1, i64 %t41, ptr %t36) + %t43 = trunc i64 %t42 to i32 + %t44 = load ptr, ptr %t31 + %t45 = load ptr, ptr %t6 + %t46 = load ptr, ptr %t6 + %t47 = call i64 @strlen(ptr %t46) + %t48 = trunc i64 %t47 to i32 + %t49 = zext i32 %t48 to i64 + %t50 = call i64 @fwrite(ptr %t45, i64 1, i64 %t49, ptr %t44) + %t51 = trunc i64 %t50 to i32 + %t52 = load ptr, ptr %t31 + call i32 @fclose(ptr %t52) + store i32 1, ptr %retval + br label %ret +ret: + %t53 = load i32, ptr %retval + ret i32 %t53 +} + +define ptr @fn_base_name(ptr %arg_path) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t2 = alloca i32 + %t3 = alloca i32 + store ptr %arg_path, ptr %t0 + %t1 = sub i32 0, 1 + store i32 %t1, ptr %t2 + store i32 0, ptr %t3 + br label %wcond0 +wcond0: + %t4 = load ptr, ptr %t0 + %t5 = load i32, ptr %t3 + %t6 = getelementptr inbounds i8, ptr %t4, i32 %t5 + %t7 = load i8, ptr %t6 + %t8 = zext i8 %t7 to i32 + %t9 = icmp ne i32 %t8, 0 + %t10 = zext i1 %t9 to i32 + %t11 = icmp ne i32 %t10, 0 + br i1 %t11, label %wbody1, label %wend2 +wbody1: + %t12 = load ptr, ptr %t0 + %t13 = load i32, ptr %t3 + %t14 = getelementptr inbounds i8, ptr %t12, i32 %t13 + %t15 = load i8, ptr %t14 + %t16 = zext i8 %t15 to i32 + %t17 = call i32 @fn_is_sep(i32 %t16) + %t18 = icmp ne i32 %t17, 0 + br i1 %t18, label %then3, label %ifend5 +then3: + %t19 = load i32, ptr %t3 + store i32 %t19, ptr %t2 + br label %ifend5 +ifend5: + %t20 = load i32, ptr %t3 + %t21 = add i32 %t20, 1 + store i32 %t21, ptr %t3 + br label %wcond0 +wend2: + %t22 = load ptr, ptr %t0 + %t23 = load i32, ptr %t2 + %t24 = add i32 %t23, 1 + %t25 = load i32, ptr %t3 + %t26 = call ptr @lp_str_slice(ptr %t22, i32 %t24, i32 %t25) + store ptr %t26, ptr %retval + br label %ret +ret: + %t27 = load ptr, ptr %retval + ret ptr %t27 +} + +define ptr @fn_strip_ludic(ptr %arg_name) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t4 = alloca i32 + store ptr %arg_name, ptr %t0 + %t1 = load ptr, ptr %t0 + %t2 = call i64 @strlen(ptr %t1) + %t3 = trunc i64 %t2 to i32 + store i32 %t3, ptr %t4 + %t5 = load i32, ptr %t4 + %t6 = icmp sgt i32 %t5, 6 + %t7 = zext i1 %t6 to i32 + %t8 = icmp ne i32 %t7, 0 + br i1 %t8, label %then0, label %ifend2 +then0: + %t9 = load ptr, ptr %t0 + %t10 = load i32, ptr %t4 + %t11 = sub i32 %t10, 6 + %t12 = load i32, ptr %t4 + %t13 = call ptr @lp_str_slice(ptr %t9, i32 %t11, i32 %t12) + %t14 = call i32 @lp_str_eq(ptr %t13, ptr @.str11092) + %t15 = icmp ne i32 %t14, 0 + br i1 %t15, label %then3, label %ifend5 +then3: + %t16 = load ptr, ptr %t0 + %t17 = load i32, ptr %t4 + %t18 = sub i32 %t17, 6 + %t19 = call ptr @lp_str_slice(ptr %t16, i32 0, i32 %t18) + store ptr %t19, ptr %retval + br label %ret +ifend5: + br label %ifend2 +ifend2: + %t20 = load ptr, ptr %t0 + store ptr %t20, ptr %retval + br label %ret +ret: + %t21 = load ptr, ptr %retval + ret ptr %t21 +} + +define ptr @fn_getenv_or(ptr %arg_name, ptr %arg_dflt) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t1 = alloca ptr + %t4 = alloca ptr + store ptr %arg_name, ptr %t0 + store ptr %arg_dflt, ptr %t1 + %t2 = load ptr, ptr %t0 + %t3 = call ptr @getenv(ptr %t2) + store ptr %t3, ptr %t4 + %t5 = load ptr, ptr %t4 + %t6 = icmp eq ptr %t5, null + %t7 = zext i1 %t6 to i32 + %t8 = icmp ne i32 %t7, 0 + br i1 %t8, label %then0, label %ifend2 +then0: + %t9 = load ptr, ptr %t1 + store ptr %t9, ptr %retval + br label %ret +ifend2: + %t10 = load ptr, ptr %t4 + store ptr %t10, ptr %retval + br label %ret +ret: + %t11 = load ptr, ptr %retval + ret ptr %t11 +} + +define ptr @fn_ensure_slash(ptr %arg_d) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t4 = alloca i32 + store ptr %arg_d, ptr %t0 + %t1 = load ptr, ptr %t0 + %t2 = call i64 @strlen(ptr %t1) + %t3 = trunc i64 %t2 to i32 + store i32 %t3, ptr %t4 + %t5 = load i32, ptr %t4 + %t6 = icmp eq i32 %t5, 0 + %t7 = zext i1 %t6 to i32 + %t8 = icmp ne i32 %t7, 0 + br i1 %t8, label %then0, label %ifend2 +then0: + %t9 = load ptr, ptr %t0 + store ptr %t9, ptr %retval + br label %ret +ifend2: + %t10 = load ptr, ptr %t0 + %t11 = load i32, ptr %t4 + %t12 = sub i32 %t11, 1 + %t13 = getelementptr inbounds i8, ptr %t10, i32 %t12 + %t14 = load i8, ptr %t13 + %t15 = zext i8 %t14 to i32 + %t16 = icmp eq i32 %t15, 47 + %t17 = zext i1 %t16 to i32 + %t18 = icmp ne i32 %t17, 0 + br i1 %t18, label %then3, label %ifend5 +then3: + %t19 = load ptr, ptr %t0 + store ptr %t19, ptr %retval + br label %ret +ifend5: + %t20 = load ptr, ptr %t0 + %t21 = call ptr @lp_str_concat(ptr %t20, ptr @.str11093) + store ptr %t21, ptr %retval + br label %ret +ret: + %t22 = load ptr, ptr %retval + ret ptr %t22 +} + +define void @fn_die(ptr %arg_msg) { +entry: + %t0 = alloca ptr + store ptr %arg_msg, ptr %t0 + %t1 = call ptr @lp_win_stdio(i32 2) + %t2 = load ptr, ptr %t0 + %t3 = load ptr, ptr %t0 + %t4 = call i64 @strlen(ptr %t3) + %t5 = trunc i64 %t4 to i32 + %t6 = zext i32 %t5 to i64 + %t7 = call i64 @fwrite(ptr %t2, i64 1, i64 %t6, ptr %t1) + %t8 = trunc i64 %t7 to i32 + call void @exit(i32 1) + unreachable +ret: + ret void +} + +define ptr @fn_chomp(ptr %arg_s) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t4 = alloca i32 + %t5 = alloca i32 + %t11 = alloca i32 + %t12 = alloca i32 + store ptr %arg_s, ptr %t0 + %t1 = load ptr, ptr %t0 + %t2 = call i64 @strlen(ptr %t1) + %t3 = trunc i64 %t2 to i32 + store i32 %t3, ptr %t4 + br label %wcond0 +wcond0: + %t6 = load i32, ptr %t4 + %t7 = icmp sgt i32 %t6, 0 + %t8 = zext i1 %t7 to i32 + %t9 = icmp ne i32 %t8, 0 + %t10 = zext i1 %t9 to i32 + store i32 %t10, ptr %t5 + br i1 %t9, label %sc3, label %scend4 +sc3: + %t13 = load ptr, ptr %t0 + %t14 = load i32, ptr %t4 + %t15 = sub i32 %t14, 1 + %t16 = getelementptr inbounds i8, ptr %t13, i32 %t15 + %t17 = load i8, ptr %t16 + %t18 = zext i8 %t17 to i32 + %t19 = icmp eq i32 %t18, 10 + %t20 = zext i1 %t19 to i32 + %t21 = icmp ne i32 %t20, 0 + %t22 = zext i1 %t21 to i32 + store i32 %t22, ptr %t12 + br i1 %t21, label %scend6, label %sc5 +sc5: + %t23 = load ptr, ptr %t0 + %t24 = load i32, ptr %t4 + %t25 = sub i32 %t24, 1 + %t26 = getelementptr inbounds i8, ptr %t23, i32 %t25 + %t27 = load i8, ptr %t26 + %t28 = zext i8 %t27 to i32 + %t29 = icmp eq i32 %t28, 13 + %t30 = zext i1 %t29 to i32 + %t31 = icmp ne i32 %t30, 0 + %t32 = zext i1 %t31 to i32 + store i32 %t32, ptr %t12 + br label %scend6 +scend6: + %t33 = load i32, ptr %t12 + %t34 = icmp ne i32 %t33, 0 + %t35 = zext i1 %t34 to i32 + store i32 %t35, ptr %t11 + br i1 %t34, label %scend8, label %sc7 +sc7: + %t36 = load ptr, ptr %t0 + %t37 = load i32, ptr %t4 + %t38 = sub i32 %t37, 1 + %t39 = getelementptr inbounds i8, ptr %t36, i32 %t38 + %t40 = load i8, ptr %t39 + %t41 = zext i8 %t40 to i32 + %t42 = icmp eq i32 %t41, 32 + %t43 = zext i1 %t42 to i32 + %t44 = icmp ne i32 %t43, 0 + %t45 = zext i1 %t44 to i32 + store i32 %t45, ptr %t11 + br label %scend8 +scend8: + %t46 = load i32, ptr %t11 + %t47 = icmp ne i32 %t46, 0 + %t48 = zext i1 %t47 to i32 + store i32 %t48, ptr %t5 + br label %scend4 +scend4: + %t49 = load i32, ptr %t5 + %t50 = icmp ne i32 %t49, 0 + br i1 %t50, label %wbody1, label %wend2 +wbody1: + %t51 = load i32, ptr %t4 + %t52 = sub i32 %t51, 1 + store i32 %t52, ptr %t4 + br label %wcond0 +wend2: + %t53 = load ptr, ptr %t0 + %t54 = load i32, ptr %t4 + %t55 = call ptr @lp_str_slice(ptr %t53, i32 0, i32 %t54) + store ptr %t55, ptr %retval + br label %ret +ret: + %t56 = load ptr, ptr %retval + ret ptr %t56 +} + +define i32 @fn_has_sub(ptr %arg_s, ptr %arg_sub) { +entry: + %retval = alloca i32 + %t0 = alloca ptr + %t1 = alloca ptr + %t5 = alloca i32 + %t9 = alloca i32 + %t10 = alloca i32 + store ptr %arg_s, ptr %t0 + store ptr %arg_sub, ptr %t1 + %t2 = load ptr, ptr %t0 + %t3 = call i64 @strlen(ptr %t2) + %t4 = trunc i64 %t3 to i32 + store i32 %t4, ptr %t5 + %t6 = load ptr, ptr %t1 + %t7 = call i64 @strlen(ptr %t6) + %t8 = trunc i64 %t7 to i32 + store i32 %t8, ptr %t9 + store i32 0, ptr %t10 + br label %wcond0 +wcond0: + %t11 = load i32, ptr %t10 + %t12 = load i32, ptr %t9 + %t13 = add i32 %t11, %t12 + %t14 = load i32, ptr %t5 + %t15 = icmp sle i32 %t13, %t14 + %t16 = zext i1 %t15 to i32 + %t17 = icmp ne i32 %t16, 0 + br i1 %t17, label %wbody1, label %wend2 +wbody1: + %t18 = load ptr, ptr %t0 + %t19 = load i32, ptr %t10 + %t20 = load i32, ptr %t10 + %t21 = load i32, ptr %t9 + %t22 = add i32 %t20, %t21 + %t23 = call ptr @lp_str_slice(ptr %t18, i32 %t19, i32 %t22) + %t24 = load ptr, ptr %t1 + %t25 = call i32 @lp_str_eq(ptr %t23, ptr %t24) + %t26 = icmp ne i32 %t25, 0 + br i1 %t26, label %then3, label %ifend5 +then3: + store i32 1, ptr %retval + br label %ret +ifend5: + %t27 = load i32, ptr %t10 + %t28 = add i32 %t27, 1 + store i32 %t28, ptr %t10 + br label %wcond0 +wend2: + store i32 0, ptr %retval + br label %ret +ret: + %t29 = load i32, ptr %retval + ret i32 %t29 +} + +define ptr @fn_win_path(ptr %arg_p) { +entry: + %retval = alloca ptr + %t0 = alloca ptr + %t4 = alloca i32 + %t9 = alloca ptr + %t10 = alloca i32 + store ptr %arg_p, ptr %t0 + %t1 = load ptr, ptr %t0 + %t2 = call i64 @strlen(ptr %t1) + %t3 = trunc i64 %t2 to i32 + store i32 %t3, ptr %t4 + %t5 = load i32, ptr %t4 + %t6 = add i32 %t5, 1 + %t7 = zext i32 %t6 to i64 + %t8 = call ptr @malloc(i64 %t7) + store ptr %t8, ptr %t9 + store i32 0, ptr %t10 + br label %wcond0 +wcond0: + %t11 = load i32, ptr %t10 + %t12 = load i32, ptr %t4 + %t13 = icmp slt i32 %t11, %t12 + %t14 = zext i1 %t13 to i32 + %t15 = icmp ne i32 %t14, 0 + br i1 %t15, label %wbody1, label %wend2 +wbody1: + %t16 = load ptr, ptr %t0 + %t17 = load i32, ptr %t10 + %t18 = getelementptr inbounds i8, ptr %t16, i32 %t17 + %t19 = load i8, ptr %t18 + %t20 = zext i8 %t19 to i32 + %t21 = icmp eq i32 %t20, 47 + %t22 = zext i1 %t21 to i32 + %t23 = icmp ne i32 %t22, 0 + br i1 %t23, label %then3, label %else4 +then3: + %t24 = load ptr, ptr %t9 + %t25 = load i32, ptr %t10 + %t26 = getelementptr inbounds i8, ptr %t24, i32 %t25 + %t27 = trunc i32 92 to i8 + store i8 %t27, ptr %t26 + br label %ifend5 +else4: + %t28 = load ptr, ptr %t9 + %t29 = load i32, ptr %t10 + %t30 = getelementptr inbounds i8, ptr %t28, i32 %t29 + %t31 = load ptr, ptr %t0 + %t32 = load i32, ptr %t10 + %t33 = getelementptr inbounds i8, ptr %t31, i32 %t32 + %t34 = load i8, ptr %t33 + %t35 = zext i8 %t34 to i32 + %t36 = trunc i32 %t35 to i8 + store i8 %t36, ptr %t30 + br label %ifend5 +ifend5: + %t37 = load i32, ptr %t10 + %t38 = add i32 %t37, 1 + store i32 %t38, ptr %t10 + br label %wcond0 +wend2: + %t39 = load ptr, ptr %t9 + %t40 = load i32, ptr %t4 + %t41 = getelementptr inbounds i8, ptr %t39, i32 %t40 + %t42 = trunc i32 0 to i8 + store i8 %t42, ptr %t41 + %t43 = load ptr, ptr %t9 + store ptr %t43, ptr %retval + br label %ret +ret: + %t44 = load ptr, ptr %retval + ret ptr %t44 +} + +define void @fn_make_dir(ptr %arg_d) { +entry: + %t0 = alloca ptr + %t5 = alloca ptr + store ptr %arg_d, ptr %t0 + %t1 = call i32 @fn_host_is_windows() + %t2 = icmp ne i32 %t1, 0 + br i1 %t2, label %then0, label %else1 +then0: + %t3 = load ptr, ptr %t0 + %t4 = call ptr @fn_win_path(ptr %t3) + store ptr %t4, ptr %t5 + %t6 = load ptr, ptr %t5 + %t7 = call ptr @lp_str_concat(ptr @.str11094, ptr %t6) + %t8 = call ptr @lp_str_concat(ptr %t7, ptr @.str11095) + %t9 = load ptr, ptr %t5 + %t10 = call ptr @lp_str_concat(ptr %t8, ptr %t9) + %t11 = call ptr @lp_str_concat(ptr %t10, ptr @.str11096) + %t12 = call i32 @system(ptr %t11) + br label %ifend2 +else1: + %t13 = load ptr, ptr %t0 + %t14 = call ptr @lp_str_concat(ptr @.str11097, ptr %t13) + %t15 = call i32 @system(ptr %t14) + br label %ifend2 +ifend2: + br label %ret +ret: + ret void +} + +define void @fn_remove_file(ptr %arg_p) { +entry: + %t0 = alloca ptr + store ptr %arg_p, ptr %t0 + %t1 = call i32 @fn_host_is_windows() + %t2 = icmp ne i32 %t1, 0 + br i1 %t2, label %then0, label %else1 +then0: + %t3 = load ptr, ptr %t0 + %t4 = call ptr @fn_win_path(ptr %t3) + %t5 = call ptr @lp_str_concat(ptr @.str11098, ptr %t4) + %t6 = call ptr @lp_str_concat(ptr %t5, ptr @.str11099) + %t7 = call i32 @system(ptr %t6) + br label %ifend2 +else1: + %t8 = load ptr, ptr %t0 + %t9 = call ptr @lp_str_concat(ptr @.str11100, ptr %t8) + %t10 = call i32 @system(ptr %t9) + br label %ifend2 +ifend2: + br label %ret +ret: + ret void +} + +define ptr @fn_find_cc() { +entry: + %retval = alloca ptr + %t1 = alloca ptr + %t9 = alloca ptr + %t12 = alloca ptr + %t0 = call ptr @getenv(ptr @.str11101) + store ptr %t0, ptr %t1 + %t2 = load ptr, ptr %t1 + %t3 = icmp ne ptr %t2, null + %t4 = zext i1 %t3 to i32 + %t5 = icmp ne i32 %t4, 0 + br i1 %t5, label %then0, label %ifend2 +then0: + %t6 = load ptr, ptr %t1 + store ptr %t6, ptr %retval + br label %ret +ifend2: + %t7 = call i32 @fn_host_is_windows() + %t8 = icmp ne i32 %t7, 0 + br i1 %t8, label %then3, label %ifend5 +then3: + store ptr @.str11102, ptr %t9 + %t10 = load ptr, ptr %t9 + %t11 = call ptr @lp_pak_open(ptr %t10, ptr @.str11103) + store ptr %t11, ptr %t12 + %t13 = load ptr, ptr %t12 + %t14 = icmp ne ptr %t13, null + %t15 = zext i1 %t14 to i32 + %t16 = icmp ne i32 %t15, 0 + br i1 %t16, label %then6, label %ifend8 +then6: + %t17 = load ptr, ptr %t12 + call i32 @fclose(ptr %t17) + %t18 = load ptr, ptr %t9 + %t19 = call ptr @lp_str_concat(ptr @.str11104, ptr %t18) + %t20 = call ptr @lp_str_concat(ptr %t19, ptr @.str11105) + store ptr %t20, ptr %retval + br label %ret +ifend8: + br label %ifend5 +ifend5: + store ptr @.str11106, ptr %retval + br label %ret +ret: + %t21 = load ptr, ptr %retval + ret ptr %t21 +} + +define void @fn_show_version() { +entry: + %t3 = alloca ptr + %t0 = call ptr @fn_ludic_home() + %t1 = call ptr @fn_join_path(ptr %t0, ptr @.str11107) + %t2 = call ptr @fn_read_file(ptr %t1) + store ptr %t2, ptr %t3 + %t4 = load ptr, ptr %t3 + %t5 = icmp eq ptr %t4, null + %t6 = zext i1 %t5 to i32 + %t7 = icmp ne i32 %t6, 0 + br i1 %t7, label %then0, label %else1 +then0: + call i32 (ptr, ...) @printf(ptr @.fmt_line, ptr @.str11108) + br label %ifend2 +else1: + %t8 = load ptr, ptr %t3 + %t9 = call ptr @fn_chomp(ptr %t8) + %t10 = call ptr @lp_str_concat(ptr @.str11109, ptr %t9) + call i32 (ptr, ...) @printf(ptr @.fmt_line, ptr %t10) + br label %ifend2 +ifend2: + call void @exit(i32 0) + unreachable +ret: + ret void +} + +define void @L_init_globals() { +entry: + store ptr @.str11110, ptr @g_g_parse_file + store ptr @.str11111, ptr @g_g_err_file + store ptr @.str11112, ptr @g_g_src_name + ret void +} + +define i32 @main(i32 %argc, ptr %argv) { +entry: + %retval = alloca i32 + %t0 = alloca ptr + %t1 = alloca ptr + %t2 = alloca i32 + %t3 = alloca i32 + %t4 = alloca i32 + %t5 = alloca i32 + %t6 = alloca i32 + %t7 = alloca ptr + %t8 = alloca i32 + %t15 = alloca ptr + %t16 = alloca i32 + %t26 = alloca ptr + %t128 = alloca ptr + %t153 = alloca ptr + %t169 = alloca i32 + %t179 = alloca i32 + %t188 = alloca i32 + %t205 = alloca i32 + %t214 = alloca i32 + %t243 = alloca i32 + %t244 = alloca i32 + %t263 = alloca ptr + %t273 = alloca ptr + %t280 = alloca ptr + %t282 = alloca ptr + %t287 = alloca ptr + %t294 = alloca ptr + %t304 = alloca ptr + %t314 = alloca ptr + %t324 = alloca ptr + %t334 = alloca ptr + %t346 = alloca ptr + %t349 = alloca ptr + %t352 = alloca ptr + %t370 = alloca ptr + %t373 = alloca ptr + %t382 = alloca i32 + %t393 = alloca i32 + %t418 = alloca ptr + %t426 = alloca i32 + %t447 = alloca i32 + store i32 %argc, ptr @L_argc + store ptr %argv, ptr @L_argv + store i32 0, ptr %retval + call void @L_init_globals() + store ptr null, ptr %t0 + store ptr null, ptr %t1 + store i32 0, ptr %t2 + store i32 0, ptr %t3 + store i32 0, ptr %t4 + store i32 0, ptr %t5 + store i32 0, ptr %t6 + store ptr null, ptr %t7 + store i32 0, ptr %t8 + %t9 = getelementptr %LSlice, ptr null, i32 1 + %t10 = ptrtoint ptr %t9 to i64 + %t11 = call ptr @malloc(i64 %t10) + %t12 = getelementptr inbounds %LSlice, ptr %t11, i32 0, i32 0 + store ptr null, ptr %t12 + %t13 = getelementptr inbounds %LSlice, ptr %t11, i32 0, i32 1 + store i32 0, ptr %t13 + %t14 = getelementptr inbounds %LSlice, ptr %t11, i32 0, i32 2 + store i32 0, ptr %t14 + store ptr %t11, ptr %t15 + store i32 0, ptr @g_g_coverage + store i32 1, ptr %t16 + br label %wcond0 +wcond0: + %t17 = load i32, ptr %t16 + %t18 = load i32, ptr @L_argc + %t19 = icmp slt i32 %t17, %t18 + %t20 = zext i1 %t19 to i32 + %t21 = icmp ne i32 %t20, 0 + br i1 %t21, label %wbody1, label %wend2 +wbody1: + %t22 = load i32, ptr %t16 + %t23 = load ptr, ptr @L_argv + %t24 = getelementptr ptr, ptr %t23, i32 %t22 + %t25 = load ptr, ptr %t24 + store ptr %t25, ptr %t26 + %t27 = load ptr, ptr %t26 + %t28 = call i32 @lp_str_eq(ptr %t27, ptr @.str11113) + %t29 = icmp ne i32 %t28, 0 + br i1 %t29, label %then3, label %else4 +then3: + call void @fn_show_version() + br label %ifend5 +else4: + %t30 = load ptr, ptr %t26 + %t31 = call i32 @lp_str_eq(ptr %t30, ptr @.str11114) + %t32 = icmp ne i32 %t31, 0 + br i1 %t32, label %then6, label %else7 +then6: + store i32 1, ptr %t2 + br label %ifend8 +else7: + %t33 = load ptr, ptr %t26 + %t34 = call i32 @lp_str_eq(ptr %t33, ptr @.str11115) + %t35 = icmp ne i32 %t34, 0 + br i1 %t35, label %then9, label %else10 +then9: + store i32 2, ptr %t2 + br label %ifend11 +else10: + %t36 = load ptr, ptr %t26 + %t37 = call i32 @lp_str_eq(ptr %t36, ptr @.str11116) + %t38 = icmp ne i32 %t37, 0 + br i1 %t38, label %then12, label %else13 +then12: + store i32 1, ptr %t3 + br label %ifend14 +else13: + %t39 = load ptr, ptr %t26 + %t40 = call i32 @lp_str_eq(ptr %t39, ptr @.str11117) + %t41 = icmp ne i32 %t40, 0 + br i1 %t41, label %then15, label %else16 +then15: + store i32 1, ptr @g_g_emit_module + store i32 1, ptr %t3 + br label %ifend17 +else16: + %t42 = load ptr, ptr %t26 + %t43 = call i32 @lp_str_eq(ptr %t42, ptr @.str11118) + %t44 = icmp ne i32 %t43, 0 + br i1 %t44, label %then18, label %else19 +then18: + store i32 1, ptr %t4 + br label %ifend20 +else19: + %t45 = load ptr, ptr %t26 + %t46 = call i32 @lp_str_eq(ptr %t45, ptr @.str11119) + %t47 = icmp ne i32 %t46, 0 + br i1 %t47, label %then21, label %else22 +then21: + store i32 1, ptr %t5 + br label %ifend23 +else22: + %t48 = load ptr, ptr %t26 + %t49 = call i32 @lp_str_eq(ptr %t48, ptr @.str11120) + %t50 = icmp ne i32 %t49, 0 + br i1 %t50, label %then24, label %else25 +then24: + store i32 1, ptr %t6 + br label %ifend26 +else25: + %t51 = load ptr, ptr %t26 + %t52 = call i32 @lp_str_eq(ptr %t51, ptr @.str11121) + %t53 = icmp ne i32 %t52, 0 + br i1 %t53, label %then27, label %else28 +then27: + store i32 1, ptr @g_g_coverage + br label %ifend29 +else28: + %t54 = load ptr, ptr %t26 + %t55 = call i32 @lp_str_eq(ptr %t54, ptr @.str11122) + %t56 = icmp ne i32 %t55, 0 + br i1 %t56, label %then30, label %else31 +then30: + %t57 = load i32, ptr %t16 + %t58 = add i32 %t57, 1 + store i32 %t58, ptr %t16 + %t59 = load i32, ptr %t16 + %t60 = load i32, ptr @L_argc + %t61 = icmp slt i32 %t59, %t60 + %t62 = zext i1 %t61 to i32 + %t63 = icmp ne i32 %t62, 0 + br i1 %t63, label %then33, label %ifend35 +then33: + %t64 = load i32, ptr %t16 + %t65 = load ptr, ptr @L_argv + %t66 = getelementptr ptr, ptr %t65, i32 %t64 + %t67 = load ptr, ptr %t66 + store ptr %t67, ptr %t7 + br label %ifend35 +ifend35: + br label %ifend32 +else31: + %t68 = load ptr, ptr %t26 + %t69 = call i32 @lp_str_eq(ptr %t68, ptr @.str11123) + %t70 = icmp ne i32 %t69, 0 + br i1 %t70, label %then36, label %else37 +then36: + store i32 1, ptr %t8 + br label %ifend38 +else37: + %t71 = load ptr, ptr %t26 + %t72 = call i32 @lp_str_eq(ptr %t71, ptr @.str11124) + %t73 = icmp ne i32 %t72, 0 + br i1 %t73, label %then39, label %else40 +then39: + %t74 = load i32, ptr %t16 + %t75 = add i32 %t74, 1 + store i32 %t75, ptr %t16 + %t76 = load i32, ptr %t16 + %t77 = load i32, ptr @L_argc + %t78 = icmp slt i32 %t76, %t77 + %t79 = zext i1 %t78 to i32 + %t80 = icmp ne i32 %t79, 0 + br i1 %t80, label %then42, label %ifend44 +then42: + %t81 = load ptr, ptr %t15 + %t82 = load i32, ptr %t16 + %t83 = load ptr, ptr @L_argv + %t84 = getelementptr ptr, ptr %t83, i32 %t82 + %t85 = load ptr, ptr %t84 + %t86 = getelementptr inbounds %LSlice, ptr %t81, i32 0, i32 1 + %t87 = getelementptr inbounds %LSlice, ptr %t81, i32 0, i32 2 + %t88 = getelementptr inbounds %LSlice, ptr %t81, i32 0, i32 0 + %t89 = load i32, ptr %t86 + %t90 = load i32, ptr %t87 + %t91 = icmp sge i32 %t89, %t90 + br i1 %t91, label %grow45, label %put46 +grow45: + %t92 = mul i32 %t90, 2 + %t93 = icmp eq i32 %t90, 0 + %t94 = select i1 %t93, i32 8, i32 %t92 + %t95 = getelementptr ptr, ptr null, i32 1 + %t96 = ptrtoint ptr %t95 to i64 + %t97 = zext i32 %t94 to i64 + %t98 = mul i64 %t97, %t96 + %t99 = load ptr, ptr %t88 + %t100 = call ptr @realloc(ptr %t99, i64 %t98) + store ptr %t100, ptr %t88 + store i32 %t94, ptr %t87 + br label %put46 +put46: + %t101 = load ptr, ptr %t88 + %t102 = getelementptr inbounds ptr, ptr %t101, i32 %t89 + store ptr %t85, ptr %t102 + %t103 = add i32 %t89, 1 + store i32 %t103, ptr %t86 + br label %ifend44 +ifend44: + br label %ifend41 +else40: + %t104 = load ptr, ptr %t26 + %t105 = call i32 @lp_str_eq(ptr %t104, ptr @.str11125) + %t106 = icmp ne i32 %t105, 0 + br i1 %t106, label %then47, label %else48 +then47: + %t107 = load i32, ptr %t16 + %t108 = add i32 %t107, 1 + store i32 %t108, ptr %t16 + %t109 = load i32, ptr %t16 + %t110 = load i32, ptr @L_argc + %t111 = icmp slt i32 %t109, %t110 + %t112 = zext i1 %t111 to i32 + %t113 = icmp ne i32 %t112, 0 + br i1 %t113, label %then50, label %ifend52 +then50: + %t114 = load i32, ptr %t16 + %t115 = load ptr, ptr @L_argv + %t116 = getelementptr ptr, ptr %t115, i32 %t114 + %t117 = load ptr, ptr %t116 + store ptr %t117, ptr %t1 + br label %ifend52 +ifend52: + br label %ifend49 +else48: + %t118 = load ptr, ptr %t26 + %t119 = getelementptr inbounds i8, ptr %t118, i32 0 + %t120 = load i8, ptr %t119 + %t121 = zext i8 %t120 to i32 + %t122 = icmp eq i32 %t121, 45 + %t123 = zext i1 %t122 to i32 + %t124 = icmp ne i32 %t123, 0 + br i1 %t124, label %then53, label %else54 +then53: + %t125 = load ptr, ptr %t26 + %t126 = call ptr @lp_str_concat(ptr @.str11126, ptr %t125) + %t127 = call ptr @lp_str_concat(ptr %t126, ptr @.str11127) + store ptr %t127, ptr %t128 + %t129 = call ptr @lp_win_stdio(i32 2) + %t130 = load ptr, ptr %t128 + %t131 = load ptr, ptr %t128 + %t132 = call i64 @strlen(ptr %t131) + %t133 = trunc i64 %t132 to i32 + %t134 = zext i32 %t133 to i64 + %t135 = call i64 @fwrite(ptr %t130, i64 1, i64 %t134, ptr %t129) + %t136 = trunc i64 %t135 to i32 + br label %ifend55 +else54: + %t137 = load ptr, ptr %t26 + store ptr %t137, ptr %t0 + br label %ifend55 +ifend55: + br label %ifend49 +ifend49: + br label %ifend41 +ifend41: + br label %ifend38 +ifend38: + br label %ifend32 +ifend32: + br label %ifend29 +ifend29: + br label %ifend26 +ifend26: + br label %ifend23 +ifend23: + br label %ifend20 +ifend20: + br label %ifend17 +ifend17: + br label %ifend14 +ifend14: + br label %ifend11 +ifend11: + br label %ifend8 +ifend8: + br label %ifend5 +ifend5: + %t138 = load i32, ptr %t16 + %t139 = add i32 %t138, 1 + store i32 %t139, ptr %t16 + br label %wcond0 +wend2: + %t140 = load ptr, ptr %t0 + %t141 = icmp eq ptr %t140, null + %t142 = zext i1 %t141 to i32 + %t143 = icmp ne i32 %t142, 0 + br i1 %t143, label %then56, label %ifend58 +then56: + call void @fn_die(ptr @.str11128) + br label %ifend58 +ifend58: + %t144 = load ptr, ptr %t7 + %t145 = icmp ne ptr %t144, null + %t146 = zext i1 %t145 to i32 + %t147 = icmp ne i32 %t146, 0 + br i1 %t147, label %then59, label %else60 +then59: + %t148 = load ptr, ptr %t7 + %t149 = call i32 @fn_has_sub(ptr %t148, ptr @.str11129) + store i32 %t149, ptr @g_g_target_win + br label %ifend61 +else60: + %t150 = call i32 @fn_host_is_windows() + store i32 %t150, ptr @g_g_target_win + br label %ifend61 +ifend61: + %t151 = load ptr, ptr %t0 + %t152 = call ptr @fn_read_file(ptr %t151) + store ptr %t152, ptr %t153 + %t154 = load ptr, ptr %t153 + %t155 = icmp eq ptr %t154, null + %t156 = zext i1 %t155 to i32 + %t157 = icmp ne i32 %t156, 0 + br i1 %t157, label %then62, label %ifend64 +then62: + call void @fn_die(ptr @.str11130) + br label %ifend64 +ifend64: + %t158 = load ptr, ptr %t0 + %t159 = call ptr @fn_dir_of(ptr %t158) + store ptr %t159, ptr @g_cur_dir + %t160 = load ptr, ptr %t0 + %t161 = call ptr @fn_base_name(ptr %t160) + store ptr %t161, ptr @g_g_src_name + %t162 = load ptr, ptr %t0 + store ptr %t162, ptr @g_g_parse_file + %t163 = load ptr, ptr %t153 + call void @fn_lex(ptr %t163) + call void @fn_parse_program() + %t164 = load ptr, ptr @g_prog + %t165 = getelementptr inbounds %LSlice, ptr %t164, i32 0, i32 1 + %t166 = load i32, ptr %t165 + store i32 %t166, ptr @g_g_prog_user_end + %t167 = load i32, ptr %t4 + %t168 = icmp ne i32 %t167, 0 + br i1 %t168, label %then65, label %ifend67 +then65: + call void @exit(i32 0) + unreachable +ifend67: + call void @fn_maybe_splice_runtime() + call void @fn_ui_register_gotos() + %t170 = load i32, ptr %t6 + %t171 = icmp ne i32 %t170, 0 + %t172 = zext i1 %t171 to i32 + store i32 %t172, ptr %t169 + br i1 %t171, label %scend69, label %sc68 +sc68: + %t173 = load ptr, ptr %t1 + %t174 = icmp ne ptr %t173, null + %t175 = zext i1 %t174 to i32 + %t176 = icmp ne i32 %t175, 0 + %t177 = zext i1 %t176 to i32 + store i32 %t177, ptr %t169 + br label %scend69 +scend69: + %t178 = load i32, ptr %t169 + store i32 %t178, ptr %t179 + %t180 = load i32, ptr %t2 + %t181 = icmp eq i32 %t180, 1 + %t182 = zext i1 %t181 to i32 + %t183 = icmp ne i32 %t182, 0 + br i1 %t183, label %then70, label %else71 +then70: + store i32 1, ptr @g_g_windowed + br label %ifend72 +else71: + %t184 = load i32, ptr %t2 + %t185 = icmp eq i32 %t184, 2 + %t186 = zext i1 %t185 to i32 + %t187 = icmp ne i32 %t186, 0 + br i1 %t187, label %then73, label %else74 +then73: + store i32 0, ptr @g_g_windowed + br label %ifend75 +else74: + %t189 = load i32, ptr %t179 + %t190 = icmp ne i32 %t189, 0 + %t191 = zext i1 %t190 to i32 + store i32 %t191, ptr %t188 + br i1 %t190, label %sc76, label %scend77 +sc76: + %t192 = call i32 @fn_has_systems() + %t193 = icmp ne i32 %t192, 0 + %t194 = zext i1 %t193 to i32 + store i32 %t194, ptr %t188 + br label %scend77 +scend77: + %t195 = load i32, ptr %t188 + store i32 %t195, ptr @g_g_windowed + br label %ifend75 +ifend75: + br label %ifend72 +ifend72: + store i32 0, ptr @g_g_parsing + call void @fn_emit_program() + %t196 = load i32, ptr %t3 + %t197 = icmp ne i32 %t196, 0 + br i1 %t197, label %then78, label %ifend80 +then78: + %t198 = load ptr, ptr %t1 + %t199 = call i32 @fn_ir_flush(ptr %t198) + br label %ret +ifend80: + %t200 = load i32, ptr %t179 + %t201 = icmp eq i32 %t200, 0 + %t202 = zext i1 %t201 to i32 + %t203 = icmp ne i32 %t202, 0 + br i1 %t203, label %then81, label %ifend83 +then81: + %t204 = call i32 @fn_ir_flush(ptr null) + br label %ret +ifend83: + %t206 = load i32, ptr @g_g_target_win + %t207 = icmp ne i32 %t206, 0 + %t208 = zext i1 %t207 to i32 + store i32 %t208, ptr %t205 + br i1 %t207, label %sc84, label %scend85 +sc84: + %t209 = load i32, ptr @g_g_uses_http + %t210 = icmp ne i32 %t209, 0 + %t211 = zext i1 %t210 to i32 + store i32 %t211, ptr %t205 + br label %scend85 +scend85: + %t212 = load i32, ptr %t205 + %t213 = icmp ne i32 %t212, 0 + br i1 %t213, label %then86, label %ifend88 +then86: + call void @fn_die(ptr @.str11131) + br label %ifend88 +ifend88: + %t215 = load i32, ptr %t6 + %t216 = icmp ne i32 %t215, 0 + %t217 = zext i1 %t216 to i32 + store i32 %t217, ptr %t214 + br i1 %t216, label %sc89, label %scend90 +sc89: + %t218 = load ptr, ptr %t1 + %t219 = icmp eq ptr %t218, null + %t220 = zext i1 %t219 to i32 + %t221 = icmp ne i32 %t220, 0 + %t222 = zext i1 %t221 to i32 + store i32 %t222, ptr %t214 + br label %scend90 +scend90: + %t223 = load i32, ptr %t214 + %t224 = icmp ne i32 %t223, 0 + br i1 %t224, label %then91, label %ifend93 +then91: + %t225 = call i32 @fn_host_is_windows() + %t226 = icmp ne i32 %t225, 0 + br i1 %t226, label %then94, label %else95 +then94: + %t227 = call ptr @fn_getenv_or(ptr @.str11132, ptr @.str11133) + %t228 = call ptr @fn_fwd_slashes(ptr %t227) + %t229 = call ptr @lp_str_concat(ptr %t228, ptr @.str11134) + %t230 = load ptr, ptr %t0 + %t231 = call ptr @fn_base_name(ptr %t230) + %t232 = call ptr @fn_strip_ludic(ptr %t231) + %t233 = call ptr @lp_str_concat(ptr %t229, ptr %t232) + store ptr %t233, ptr %t1 + br label %ifend96 +else95: + %t234 = load ptr, ptr %t0 + %t235 = call ptr @fn_base_name(ptr %t234) + %t236 = call ptr @fn_strip_ludic(ptr %t235) + %t237 = call ptr @lp_str_concat(ptr @.str11135, ptr %t236) + store ptr %t237, ptr %t1 + br label %ifend96 +ifend96: + br label %ifend93 +ifend93: + %t238 = load i32, ptr @g_g_target_win + %t239 = icmp ne i32 %t238, 0 + br i1 %t239, label %then97, label %ifend99 +then97: + %t240 = load ptr, ptr %t1 + %t241 = call i64 @strlen(ptr %t240) + %t242 = trunc i64 %t241 to i32 + store i32 %t242, ptr %t243 + store i32 0, ptr %t244 + %t245 = load i32, ptr %t243 + %t246 = icmp sge i32 %t245, 4 + %t247 = zext i1 %t246 to i32 + %t248 = icmp ne i32 %t247, 0 + br i1 %t248, label %then100, label %ifend102 +then100: + %t249 = load ptr, ptr %t1 + %t250 = load i32, ptr %t243 + %t251 = sub i32 %t250, 4 + %t252 = load i32, ptr %t243 + %t253 = call ptr @lp_str_slice(ptr %t249, i32 %t251, i32 %t252) + %t254 = call i32 @lp_str_eq(ptr %t253, ptr @.str11136) + store i32 %t254, ptr %t244 + br label %ifend102 +ifend102: + %t255 = load i32, ptr %t244 + %t256 = icmp eq i32 %t255, 0 + %t257 = zext i1 %t256 to i32 + %t258 = icmp ne i32 %t257, 0 + br i1 %t258, label %then103, label %ifend105 +then103: + %t259 = load ptr, ptr %t1 + %t260 = call ptr @lp_str_concat(ptr %t259, ptr @.str11137) + store ptr %t260, ptr %t1 + br label %ifend105 +ifend105: + br label %ifend99 +ifend99: + %t261 = load ptr, ptr %t1 + %t262 = call ptr @fn_dir_of(ptr %t261) + store ptr %t262, ptr %t263 + %t264 = load ptr, ptr %t263 + %t265 = call i64 @strlen(ptr %t264) + %t266 = trunc i64 %t265 to i32 + %t267 = icmp sgt i32 %t266, 0 + %t268 = zext i1 %t267 to i32 + %t269 = icmp ne i32 %t268, 0 + br i1 %t269, label %then106, label %ifend108 +then106: + %t270 = load ptr, ptr %t263 + call void @fn_make_dir(ptr %t270) + br label %ifend108 +ifend108: + %t271 = load ptr, ptr %t1 + %t272 = call ptr @lp_str_concat(ptr %t271, ptr @.str11138) + store ptr %t272, ptr %t273 + %t274 = load ptr, ptr %t273 + %t275 = call i32 @fn_ir_flush(ptr %t274) + %t276 = icmp eq i32 %t275, 0 + %t277 = zext i1 %t276 to i32 + %t278 = icmp ne i32 %t277, 0 + br i1 %t278, label %then109, label %ifend111 +then109: + call void @fn_die(ptr @.str11139) + br label %ifend111 +ifend111: + %t279 = call ptr @fn_find_cc() + store ptr %t279, ptr %t280 + %t281 = call ptr @fn_ludic_home() + store ptr %t281, ptr %t282 + %t283 = load ptr, ptr %t280 + %t284 = call ptr @lp_str_concat(ptr %t283, ptr @.str11140) + %t285 = load ptr, ptr %t273 + %t286 = call ptr @lp_str_concat(ptr %t284, ptr %t285) + store ptr %t286, ptr %t287 + %t288 = load i32, ptr @g_g_target_win + %t289 = icmp ne i32 %t288, 0 + br i1 %t289, label %then112, label %else113 +then112: + %t290 = load i32, ptr @g_g_windowed + %t291 = icmp ne i32 %t290, 0 + br i1 %t291, label %then115, label %ifend117 +then115: + %t292 = load ptr, ptr %t282 + %t293 = call ptr @fn_join_path(ptr %t292, ptr @.str11141) + store ptr %t293, ptr %t294 + %t295 = load ptr, ptr %t287 + %t296 = call ptr @lp_str_concat(ptr %t295, ptr @.str11142) + %t297 = load ptr, ptr %t294 + %t298 = call ptr @lp_str_concat(ptr %t296, ptr %t297) + %t299 = call ptr @lp_str_concat(ptr %t298, ptr @.str11143) + store ptr %t299, ptr %t287 + %t300 = load i32, ptr @g_g_uses_audio + %t301 = icmp ne i32 %t300, 0 + br i1 %t301, label %then118, label %ifend120 +then118: + %t302 = load ptr, ptr %t282 + %t303 = call ptr @fn_join_path(ptr %t302, ptr @.str11144) + store ptr %t303, ptr %t304 + %t305 = load ptr, ptr %t287 + %t306 = call ptr @lp_str_concat(ptr %t305, ptr @.str11145) + %t307 = load ptr, ptr %t304 + %t308 = call ptr @lp_str_concat(ptr %t306, ptr %t307) + %t309 = call ptr @lp_str_concat(ptr %t308, ptr @.str11146) + store ptr %t309, ptr %t287 + br label %ifend120 +ifend120: + br label %ifend117 +ifend117: + br label %ifend114 +else113: + %t310 = load i32, ptr @g_g_windowed + %t311 = icmp ne i32 %t310, 0 + br i1 %t311, label %then121, label %ifend123 +then121: + %t312 = load ptr, ptr %t282 + %t313 = call ptr @fn_join_path(ptr %t312, ptr @.str11147) + store ptr %t313, ptr %t314 + %t315 = load ptr, ptr %t287 + %t316 = call ptr @lp_str_concat(ptr %t315, ptr @.str11148) + %t317 = load ptr, ptr %t314 + %t318 = call ptr @lp_str_concat(ptr %t316, ptr %t317) + %t319 = call ptr @lp_str_concat(ptr %t318, ptr @.str11149) + store ptr %t319, ptr %t287 + %t320 = load i32, ptr @g_g_uses_audio + %t321 = icmp ne i32 %t320, 0 + br i1 %t321, label %then124, label %ifend126 +then124: + %t322 = load ptr, ptr %t282 + %t323 = call ptr @fn_join_path(ptr %t322, ptr @.str11150) + store ptr %t323, ptr %t324 + %t325 = load ptr, ptr %t287 + %t326 = call ptr @lp_str_concat(ptr %t325, ptr @.str11151) + %t327 = load ptr, ptr %t324 + %t328 = call ptr @lp_str_concat(ptr %t326, ptr %t327) + %t329 = call ptr @lp_str_concat(ptr %t328, ptr @.str11152) + store ptr %t329, ptr %t287 + br label %ifend126 +ifend126: + br label %ifend123 +ifend123: + br label %ifend114 +ifend114: + %t330 = load i32, ptr @g_g_uses_http + %t331 = icmp ne i32 %t330, 0 + br i1 %t331, label %then127, label %ifend129 +then127: + %t332 = load ptr, ptr %t282 + %t333 = call ptr @fn_join_path(ptr %t332, ptr @.str11153) + store ptr %t333, ptr %t334 + %t335 = load ptr, ptr %t287 + %t336 = call ptr @lp_str_concat(ptr %t335, ptr @.str11154) + %t337 = load ptr, ptr %t334 + %t338 = call ptr @lp_str_concat(ptr %t336, ptr %t337) + %t339 = call ptr @lp_str_concat(ptr %t338, ptr @.str11155) + store ptr %t339, ptr %t287 + br label %ifend129 +ifend129: + %t340 = load i32, ptr @g_g_uses_gl + %t341 = icmp ne i32 %t340, 0 + br i1 %t341, label %then130, label %ifend132 +then130: + %t342 = load i32, ptr @g_g_target_win + %t343 = icmp ne i32 %t342, 0 + br i1 %t343, label %then133, label %else134 +then133: + %t344 = load ptr, ptr %t282 + %t345 = call ptr @fn_join_path(ptr %t344, ptr @.str11156) + store ptr %t345, ptr %t346 + %t347 = load ptr, ptr %t282 + %t348 = call ptr @fn_join_path(ptr %t347, ptr @.str11157) + store ptr %t348, ptr %t349 + %t350 = load ptr, ptr %t282 + %t351 = call ptr @fn_join_path(ptr %t350, ptr @.str11158) + store ptr %t351, ptr %t352 + %t353 = load i32, ptr @g_g_windowed + %t354 = icmp ne i32 %t353, 0 + br i1 %t354, label %then136, label %ifend138 +then136: + %t355 = load ptr, ptr %t282 + %t356 = call ptr @fn_join_path(ptr %t355, ptr @.str11159) + store ptr %t356, ptr %t352 + br label %ifend138 +ifend138: + %t357 = load ptr, ptr %t287 + %t358 = call ptr @lp_str_concat(ptr %t357, ptr @.str11160) + %t359 = load ptr, ptr %t346 + %t360 = call ptr @lp_str_concat(ptr %t358, ptr %t359) + %t361 = call ptr @lp_str_concat(ptr %t360, ptr @.str11161) + %t362 = load ptr, ptr %t349 + %t363 = call ptr @lp_str_concat(ptr %t361, ptr %t362) + %t364 = call ptr @lp_str_concat(ptr %t363, ptr @.str11162) + %t365 = load ptr, ptr %t352 + %t366 = call ptr @lp_str_concat(ptr %t364, ptr %t365) + %t367 = call ptr @lp_str_concat(ptr %t366, ptr @.str11163) + store ptr %t367, ptr %t287 + br label %ifend135 +else134: + %t368 = load ptr, ptr %t282 + %t369 = call ptr @fn_join_path(ptr %t368, ptr @.str11164) + store ptr %t369, ptr %t370 + %t371 = load ptr, ptr %t282 + %t372 = call ptr @fn_join_path(ptr %t371, ptr @.str11165) + store ptr %t372, ptr %t373 + %t374 = load ptr, ptr %t287 + %t375 = call ptr @lp_str_concat(ptr %t374, ptr @.str11166) + %t376 = load ptr, ptr %t370 + %t377 = call ptr @lp_str_concat(ptr %t375, ptr %t376) + %t378 = call ptr @lp_str_concat(ptr %t377, ptr @.str11167) + %t379 = load ptr, ptr %t373 + %t380 = call ptr @lp_str_concat(ptr %t378, ptr %t379) + %t381 = call ptr @lp_str_concat(ptr %t380, ptr @.str11168) + store ptr %t381, ptr %t287 + br label %ifend135 +ifend135: + br label %ifend132 +ifend132: + %t383 = load i32, ptr @g_g_target_win + %t384 = icmp ne i32 %t383, 0 + %t385 = zext i1 %t384 to i32 + store i32 %t385, ptr %t382 + br i1 %t384, label %sc139, label %scend140 +sc139: + %t386 = load i32, ptr %t8 + %t387 = icmp ne i32 %t386, 0 + %t388 = zext i1 %t387 to i32 + store i32 %t388, ptr %t382 + br label %scend140 +scend140: + %t389 = load i32, ptr %t382 + %t390 = icmp ne i32 %t389, 0 + br i1 %t390, label %then141, label %ifend143 +then141: + %t391 = load ptr, ptr %t287 + %t392 = call ptr @lp_str_concat(ptr %t391, ptr @.str11169) + store ptr %t392, ptr %t287 + br label %ifend143 +ifend143: + store i32 0, ptr %t393 + br label %wcond144 +wcond144: + %t394 = load i32, ptr %t393 + %t395 = load ptr, ptr %t15 + %t396 = getelementptr inbounds %LSlice, ptr %t395, i32 0, i32 1 + %t397 = load i32, ptr %t396 + %t398 = icmp slt i32 %t394, %t397 + %t399 = zext i1 %t398 to i32 + %t400 = icmp ne i32 %t399, 0 + br i1 %t400, label %wbody145, label %wend146 +wbody145: + %t401 = load ptr, ptr %t287 + %t402 = call ptr @lp_str_concat(ptr %t401, ptr @.str11170) + %t403 = load ptr, ptr %t15 + %t404 = getelementptr inbounds %LSlice, ptr %t403, i32 0, i32 0 + %t405 = load ptr, ptr %t404 + %t406 = load i32, ptr %t393 + %t407 = getelementptr inbounds ptr, ptr %t405, i32 %t406 + %t408 = load ptr, ptr %t407 + %t409 = call ptr @lp_str_concat(ptr %t402, ptr %t408) + %t410 = call ptr @lp_str_concat(ptr %t409, ptr @.str11171) + store ptr %t410, ptr %t287 + %t411 = load i32, ptr %t393 + %t412 = add i32 %t411, 1 + store i32 %t412, ptr %t393 + br label %wcond144 +wend146: + %t413 = load ptr, ptr %t287 + %t414 = call ptr @lp_str_concat(ptr %t413, ptr @.str11172) + %t415 = load ptr, ptr %t1 + %t416 = call ptr @lp_str_concat(ptr %t414, ptr %t415) + store ptr %t416, ptr %t287 + %t417 = load ptr, ptr %t287 + store ptr %t417, ptr %t418 + %t419 = call i32 @fn_host_is_windows() + %t420 = icmp ne i32 %t419, 0 + br i1 %t420, label %then147, label %ifend149 +then147: + %t421 = load ptr, ptr %t287 + %t422 = call ptr @lp_str_concat(ptr @.str11173, ptr %t421) + %t423 = call ptr @lp_str_concat(ptr %t422, ptr @.str11174) + store ptr %t423, ptr %t418 + br label %ifend149 +ifend149: + %t424 = load ptr, ptr %t418 + %t425 = call i32 @system(ptr %t424) + store i32 %t425, ptr %t426 + %t427 = load i32, ptr %t5 + %t428 = icmp eq i32 %t427, 0 + %t429 = zext i1 %t428 to i32 + %t430 = icmp ne i32 %t429, 0 + br i1 %t430, label %then150, label %ifend152 +then150: + %t431 = load ptr, ptr %t273 + call void @fn_remove_file(ptr %t431) + br label %ifend152 +ifend152: + %t432 = load i32, ptr %t426 + %t433 = icmp ne i32 %t432, 0 + %t434 = zext i1 %t433 to i32 + %t435 = icmp ne i32 %t434, 0 + br i1 %t435, label %then153, label %ifend155 +then153: + call void @fn_die(ptr @.str11175) + br label %ifend155 +ifend155: + %t436 = load i32, ptr %t6 + %t437 = icmp ne i32 %t436, 0 + br i1 %t437, label %then156, label %ifend158 +then156: + %t438 = call i32 @fn_host_is_windows() + %t439 = icmp ne i32 %t438, 0 + br i1 %t439, label %then159, label %ifend161 +then159: + %t440 = load ptr, ptr %t1 + %t441 = call ptr @fn_win_path(ptr %t440) + %t442 = call ptr @lp_str_concat(ptr @.str11176, ptr %t441) + %t443 = call ptr @lp_str_concat(ptr %t442, ptr @.str11177) + %t444 = call i32 @system(ptr %t443) + call void @exit(i32 %t444) + unreachable +ifend161: + %t445 = load ptr, ptr %t1 + %t446 = call i32 @system(ptr %t445) + store i32 %t446, ptr %t447 + %t448 = load i32, ptr %t447 + %t449 = lshr i32 %t448, 8 + %t450 = and i32 %t449, 255 + call void @exit(i32 %t450) + unreachable +ifend158: + br label %ret +ret: + %t451 = load i32, ptr %retval + ret i32 %t451 +} diff --git a/selfhost/main.ludic b/selfhost/main.ludic index a19166f1..66091c9d 100644 --- a/selfhost/main.ludic +++ b/selfhost/main.ludic @@ -135,6 +135,8 @@ entry { var save = false # --save-temps: keep the intermediate .ll var run = false # compile then execute the result var target = null # --target : null means the host + var gui = false # --gui: a Windows GUI-subsystem program (no console behind the window) + var links = new []pointer # --link : an extra input to the link (a compiled resource) g_coverage = false # --coverage: instrument each statement with a per-line hit counter var ai = 1 @@ -150,6 +152,8 @@ entry { else if a == "--run" { run = true } else if a == "--coverage" { g_coverage = true } else if a == "--target" { ai += 1; if ai < arg_count() { target = arg(ai) } } + else if a == "--gui" { gui = true } + else if a == "--link" { ai += 1; if ai < arg_count() { push(links, arg(ai)) } } else if a == "-o" { ai += 1; if ai < arg_count() { out = arg(ai) } } else if a[0] == '-' { # an unknown flag is ignored (with a note) rather than mistaken for the input file @@ -286,9 +290,20 @@ entry { cmd = `{cmd} {gl} {glt} -framework OpenGL` } } + # A shipped Windows game is a GUI-subsystem program: started from Explorer, a + # console-subsystem one opens a console window behind the game. mainCRTStartup keeps + # the C runtime's ordinary main() entry rather than WinMain. + if g_target_win and gui { cmd = `{cmd} -Wl,/subsystem:windows -Wl,/entry:mainCRTStartup` } + var li = 0 + while li < len(links) { cmd = `{cmd} "{links[li]}"`; li += 1 } cmd = `{cmd} -o {out}` - let rc = run(cmd) + # cmd.exe takes the first and last quote off a line that starts with one and holds more + # than two - which a quoted clang path plus a quoted --link file is - so on Windows the + # whole line wears one more pair for it to remove + var line = cmd + if host_is_windows() { line = `"{cmd}"` } + let rc = run(line) if not save { remove_file(ll) } if rc != 0 { die("ludicc: link failed\n") } diff --git a/tools/ludic-cli/assets.ludic b/tools/ludic-cli/assets.ludic index 22570e0a..4507820e 100644 --- a/tools/ludic-cli/assets.ludic +++ b/tools/ludic-cli/assets.ludic @@ -58,10 +58,10 @@ function cmd_fetch_assets() -> int { continue } print(`fetch {rel}`) - run(`mkdir -p "$(dirname {dest})"`) + shell(`mkdir -p "$(dirname {dest})"`) if not shq(`curl -sSL --retry 3 -o {dest} {url}`) { err(`fetch-assets: cannot fetch {rel}\n`) - run(`rm -f {dest}`) + shell(`rm -f {dest}`) failed += 1 } else { got += 1 diff --git a/tools/ludic-cli/build.ludic b/tools/ludic-cli/build.ludic index 3ecedcb9..ce1ec775 100644 --- a/tools/ludic-cli/build.ludic +++ b/tools/ludic-cli/build.ludic @@ -10,10 +10,12 @@ # IR seed with clang alone — no C compiler is ever involved. function ensure_ludicc() -> void { if not in_toolchain_repo() { return } - run("mkdir -p bin build") - if (not is_exec("bin/ludicc")) or newer("selfhost/ludicc.seed.ll", "bin/ludicc") { - print("cc: selfhost/ludicc.seed.ll -> bin/ludicc (from the IR seed, no C compiler)") - if not shq(`{cc()} selfhost/ludicc.seed.ll -o bin/ludicc`) { + shell("mkdir -p bin build") + let seed = seed_file() + let bin = `bin/{exe_name("ludicc")}` + if (not is_exec(bin)) or newer(seed, bin) { + print(`cc: {seed} -> {bin} (from the IR seed, no C compiler)`) + if not shq(`{cc()} {seed} -o {bin}`) { err("ludic: could not assemble the seed\n"); exit(1) } } @@ -30,14 +32,24 @@ function compile_app(src: pointer, out: pointer, mode: int, save: bool) -> bool let home = ludic_home() let pbf = prebuilt_link_flags() # #64: link resolved prebuilt module dylibs, if any let odir = dir_of_path(out) - if len(odir) > 0 { run(`mkdir -p {odir}`) } - run("mkdir -p build") + if len(odir) > 0 { shell(`mkdir -p {odir}`) } + shell("mkdir -p build") let ll = `{out}.ll` + # On Windows the compiler links too: ludicc knows the Windows runtime's files and + # libraries (win32.ll, xaudio2, opengl32 ...), so saying them again here would be a + # second copy to keep in step. It writes {out}.exe. + if host_windows() { + var flags = "--windowed" + if mode == 2 { flags = "--headless" } + if save { flags = flags + " --save-temps" } + return shq(`{ludicc()} {flags} {src} -o {out}`) + } + if mode == 2 { if not shq(`{ludicc()} --headless {src} --emit-llvm -o {ll}`) { return false } if not shq(`{cc()} -O2 {ll}{gl_link_flags(ll)}{pbf} -o {out}`) { return false } - if not save { run(`rm -f {ll}`) } + if not save { shell(`rm -f {ll}`) } return true } @@ -47,7 +59,7 @@ function compile_app(src: pointer, out: pointer, mode: int, save: bool) -> bool let cocoa = `{home}runtime/native/cocoa.ll` let audio = `{home}runtime/native/audio.ll` if not shq(`{cc()} -O2 {ll} {cocoa} {audio} -framework Cocoa -Wl,-needed_framework,GameController -Wl,-needed_framework,AVFoundation -Wl,-rpath,@loader_path{gl_link_flags(ll)}{pbf} -o {out}`) { return false } - if not save { run(`rm -f {ll}`) } + if not save { shell(`rm -f {ll}`) } return true } @@ -75,8 +87,8 @@ function dir_of_path(p: pointer) -> pointer { # bin/ are kept so the running CLI survives; in the toolchain repo, rebuild them # any time with `ludic-dev build`. function cmd_clean() -> int { - run("rm -rf build") - run("rm -f out.ppm bin/*.tmp") + shell("rm -rf build") + shell("rm -f out.ppm bin/*.tmp") print("cleaned: build/ (incl. build/out.ppm) and stray artifacts (bin/ is left alone)") return 0 } diff --git a/tools/ludic-cli/bundle.ludic b/tools/ludic-cli/bundle.ludic index 7c0def47..4746d4db 100644 --- a/tools/ludic-cli/bundle.ludic +++ b/tools/ludic-cli/bundle.ludic @@ -132,7 +132,7 @@ function build_icon(src: pointer, out_icns: pointer) -> bool { return false } let set = `{tmp_dir()}/AppIcon.iconset` - run(`rm -rf {set} && mkdir -p {set}`) + shell(`rm -rf {set} && mkdir -p {set}`) if not icon_size(src, set, 16, "16x16") { return false } if not icon_size(src, set, 32, "16x16@2x") { return false } if not icon_size(src, set, 32, "32x32") { return false } @@ -229,9 +229,108 @@ function xml_escape(s: pointer) -> pointer { # ---- the command ------------------------------------------------------------ +# ---- Windows: a folder -------------------------------------------------------- +# +# A Windows game ships as a directory a player unzips anywhere and double-clicks +# inside: +# +# build//.exe windowed, GUI subsystem, the icon linked in as a resource +# build//game.lpak the same pack a .app carries +# build//packs.index pack / home / splash, read beside the executable +# +# `home ` points the game at %APPDATA%\, so saves live where a Windows +# game's saves live and the folder itself stays read-only, as a .app does. +# +# The icon is `app icon` with its extension changed to .ico, when that file exists: +# Windows reads icons from a resource inside the executable, and the resource +# compiler takes .ico only. A project makes one from the same artwork as its .icns. + +# an LLVM tool beside the clang this toolchain uses (llvm-rc, ...) +function llvm_tool(name: pointer) -> pointer { + let env = getenv("LUDIC_CC") + if env == null and Fs.exists(`C:/Program Files/LLVM/bin/{name}.exe`) { return `"C:/Program Files/LLVM/bin/{name}.exe"` } + return name +} + +# the icon resource for the executable, or "" when there is no .ico to make it from +function windows_icon_res(icon: pointer) -> pointer { + if icon == "" { return "" } + var ico = icon + let n = len(icon) + if n > 4 and icon[n - 4..n] == ".png" { ico = icon[0..n - 4] + ".ico" } + if not Fs.exists(ico) { return "" } + let rc = tmp_path("app.rc") + let res = tmp_path("app.res") + # the resource compiler resolves a relative name against its own directory, not ours + let abs = win_slashes(capture_line(`cygpath -m "$(pwd)/{ico}"`)) + if not write_file(rc, `1 ICON "{abs}"` + nl()) { return "" } + # -fo rather than /FO: Git Bash rewrites an argument that starts with "/" into a path + if not shq(`{llvm_tool("llvm-rc")} -fo "{res}" "{rc}"`) { + err("ludic bundle: warning: the icon resource did not compile; the game has no icon\n") + return "" + } + return res +} + +function cmd_bundle_windows() -> int { + let entry = parse_build_args(2) + if g_argerr { return 1 } + if entry == "" { return no_entry() } + + let m = read_root_manifest() + let name = app_name(m) + let root = `build/{name}` + shell(`rm -rf "{root}"`) + shell(`mkdir -p "{root}"`) + + # 1. the executable - staged under a name with no spaces, as on macOS + let res = windows_icon_res(manifest_app(m, "icon")) + let staged = tmp_path("bundle_exe") + var flags = "--windowed --gui" + if res != "" { flags = flags + ` --link "{res}"` } + if not shq(`{ludicc()} {flags} {entry} -o {staged}`) { return 1 } + if not shq(`cp "{staged}.exe" "{root}/{name}.exe"`) { + err("ludic bundle: could not place the executable\n") + return 1 + } + + # 2. the assets, exactly as the .app packs them + let roots = pack_roots(m, 999) + var packed = false + let files = pack_gather_all(roots) + pack_add_packages(files) + pack_sort(files) + if len(files.names) > 0 { + let staged_pak = tmp_path("game.lpak") + if not pack_write(staged_pak, files) { return 1 } + if not shq(`cp "{staged_pak}" "{root}/game.lpak"`) { + err("ludic bundle: could not place the asset pack\n") + return 1 + } + packed = true + } + + # 3. what to mount and where the game writes + var idx = "" + if packed { idx = idx + "pack game.lpak" + nl() } + idx = idx + `home {name}` + nl() + let splash = manifest_app(m, "splash") + if splash != "" and packed { + idx = idx + `splash {splash}` + nl() + idx = idx + `splashbg {string(hex_color(manifest_app(m, "splash_bg")))}` + nl() + } + write_file(`{root}/packs.index`, idx) + + print(`bundled {root}`) + if res == "" { print(" no icon: put an .ico beside `app icon` in package.ludic (assets/app/icon.ico)") } + if not packed { print(" no assets packed: nothing under assets/ and no `pack` line in package.ludic") } + return 0 +} + function cmd_bundle() -> int { + if host_windows() { return cmd_bundle_windows() } if not is_darwin() { - err("ludic bundle: a .app is a macOS bundle; this host is not macOS\n") + err("ludic bundle: this host is neither macOS (a .app) nor Windows (a folder)\n") return 1 } let entry = parse_build_args(2) @@ -247,8 +346,8 @@ function cmd_bundle() -> int { # and in `ps`, so it takes the display name rather than the file name - spaces # and all, which is what every shipped Mac application does. let contents = `{root}/Contents` - run(`rm -rf "{root}"`) - run(`mkdir -p "{contents}/MacOS" "{contents}/Resources"`) + shell(`rm -rf "{root}"`) + shell(`mkdir -p "{contents}/MacOS" "{contents}/Resources"`) # 1. the binary, built windowed - a bundled game never wants the headless path. # It is compiled to a scratch path and copied in, because a display name is diff --git a/tools/ludic-cli/checks.ludic b/tools/ludic-cli/checks.ludic index 6d692fb3..5aeb8499 100644 --- a/tools/ludic-cli/checks.ludic +++ b/tools/ludic-cli/checks.ludic @@ -199,7 +199,7 @@ function table_set(h: pointer, name: pointer) -> []pointer { # concatenate every selfhost/*.ludic into one buffer (via cat, then read) function read_all_selfhost() -> pointer { - run(`find selfhost -name '*.ludic' | sort | xargs cat > {tmp_dir()}/allsh.txt 2>/dev/null`) + shell(`find selfhost -name '*.ludic' | sort | xargs cat > {tmp_dir()}/allsh.txt 2>/dev/null`) let s = read_file(`{tmp_dir()}/allsh.txt`) if s == null { return "" } return s diff --git a/tools/ludic-cli/docgen_gen.ludic b/tools/ludic-cli/docgen_gen.ludic index bad731a0..a7a322c3 100644 --- a/tools/ludic-cli/docgen_gen.ludic +++ b/tools/ludic-cli/docgen_gen.ludic @@ -959,7 +959,7 @@ function cmd_docs_gen() -> int { } i += 1 } - run(`mkdir -p {out}`) + shell(`mkdir -p {out}`) palette_init() let sections = load_sections() let syms = build_symbols(sections) diff --git a/tools/ludic-cli/forgejo.ludic b/tools/ludic-cli/forgejo.ludic index ec3ee5da..6216399f 100644 --- a/tools/ludic-cli/forgejo.ludic +++ b/tools/ludic-cli/forgejo.ludic @@ -20,7 +20,7 @@ var forgejo_hdr: pointer = null function forgejo_headers() -> pointer { if forgejo_hdr == null { forgejo_hdr = tmp_path("forgejo_headers.txt") - run(`umask 077 && printf 'Authorization: token %s\n' "$FORGEJO_TOKEN" > {forgejo_hdr}`) + shell(`umask 077 && printf 'Authorization: token %s\n' "$FORGEJO_TOKEN" > {forgejo_hdr}`) } return forgejo_hdr } diff --git a/tools/ludic-cli/lsp_test.ludic b/tools/ludic-cli/lsp_test.ludic index f625ca87..9258b9eb 100644 --- a/tools/ludic-cli/lsp_test.ludic +++ b/tools/ludic-cli/lsp_test.ludic @@ -296,7 +296,7 @@ function cmd_test_lsp() -> int { let req_path = tmp_path("lsp_req.bin") let res_path = tmp_path("lsp_res.bin") write_file(req_path, sb_str(lsp_req)) - run(`{server} --stdio < {req_path} > {res_path} 2>{tmp_path("lsp_err.txt")}`) + shell(`{server} --stdio < {req_path} > {res_path} 2>{tmp_path("lsp_err.txt")}`) let stream = read_file(res_path) if stream == null { bad("ludic-lsp produced no output"); return report() } lsp_parse_stream(stream) diff --git a/tools/ludic-cli/pack.ludic b/tools/ludic-cli/pack.ludic index 3a8df001..cd3d2b83 100644 --- a/tools/ludic-cli/pack.ludic +++ b/tools/ludic-cli/pack.ludic @@ -247,7 +247,7 @@ function pack_write(out_path: pointer, l: PackList) -> bool { i += 1 } - run(`mkdir -p "$(dirname {out_path})"`) + shell(`mkdir -p "$(dirname {out_path})"`) let f = file_open(out_path, "wb") if f == null { err(`ludic pack: cannot write {out_path}\n`); return false } diff --git a/tools/ludic-cli/pkg.ludic b/tools/ludic-cli/pkg.ludic index 4dbf40a7..3e4b0414 100644 --- a/tools/ludic-cli/pkg.ludic +++ b/tools/ludic-cli/pkg.ludic @@ -242,10 +242,10 @@ function repo_url(module: pointer) -> pointer { function ensure_clone(module: pointer) -> pointer { let cache = `{store_root()}cache/{flat(module)}` if file_exists(cache) { - run(`git -C {cache} fetch -q --tags 2>/dev/null`) + shell(`git -C {cache} fetch -q --tags 2>/dev/null`) return cache } - run(`mkdir -p {store_root()}cache`) + shell(`mkdir -p {store_root()}cache`) if not shq(`git clone -q {repo_url(module)} {cache} 2>/dev/null`) { err(`ludic: cannot fetch {module} (git clone {repo_url(module)} failed)\n`) return "" @@ -320,10 +320,10 @@ function snapshot(module: pointer, ver: pointer) -> pointer { if slen(h) == 0 { return "" } let dest = `{store_root()}{h}` if not file_exists(dest) { - run(`rm -rf {dest}.tmp`) - run(`cp -R {cache} {dest}.tmp`) - run(`rm -rf {dest}.tmp/.git`) - run(`mv {dest}.tmp {dest}`) + shell(`rm -rf {dest}.tmp`) + shell(`cp -R {cache} {dest}.tmp`) + shell(`rm -rf {dest}.tmp/.git`) + shell(`mv {dest}.tmp {dest}`) } return h } @@ -332,9 +332,9 @@ function snapshot(module: pointer, ver: pointer) -> pointer { function link_module(module: pointer, hash: pointer) -> void { let dest = `{store_root()}{hash}` let link = `ludic_modules/{module}` - run(`mkdir -p "$(dirname {link})"`) - run(`rm -rf {link}`) - run(`ln -s {dest} {link}`) + shell(`mkdir -p "$(dirname {link})"`) + shell(`rm -rf {link}`) + shell(`ln -s {dest} {link}`) } # ---- MVS resolution ---------------------------------------------------------- @@ -645,7 +645,7 @@ function cmd_pkg_vendor() -> int { let txt = read_file("package.lock.ludic") if txt == null { err("ludic: no package.lock.ludic (run ludic get first)\n"); return 1 } let locked = parse_lock(txt) - run("rm -rf vendor") + shell("rm -rf vendor") var i = 0 while i < len(locked) { let m = locked[i] @@ -653,8 +653,8 @@ function cmd_pkg_vendor() -> int { let dest = `{store_root()}{raw}` if not file_exists(dest) { err(`ludic: {m.module}@{m.ver} not in the store — run ludic get\n`); return 1 } let vdir = `vendor/{m.module}` - run(`mkdir -p "$(dirname {vdir})"`) - run(`cp -R {dest} {vdir}`) + shell(`mkdir -p "$(dirname {vdir})"`) + shell(`cp -R {dest} {vdir}`) print(` vendored {m.module}@{m.ver}`) i += 1 } @@ -680,7 +680,7 @@ function cmd_pkg_build_lib() -> int { if man.module != "" { name = capture_line(`basename {man.module}`) } if name == "" { name = capture_line(`basename {src} .ludic`) } let t = target_id() - run(`mkdir -p lib/{t}`) + shell(`mkdir -p lib/{t}`) let ludicc = getenv_or("LUDICC", "bin/ludicc") let ll = `{tmp_dir()}/buildlib.ll` let blerr = tmp_path("bl.err") @@ -694,7 +694,7 @@ function cmd_pkg_build_lib() -> int { let why2 = capture_line(`tail -1 {blerr}`) err(`ludic build-lib: link failed — {why2}\n`); return 1 } - run(`rm -f {ll}`) + shell(`rm -f {ll}`) print(`built {out} (target {t})`) print(`add to package.ludic: kind prebuilt / targets "{t}" — then commit lib/ and git tag`) return 0 diff --git a/tools/ludic-cli/pkg_test.ludic b/tools/ludic-cli/pkg_test.ludic index 42fa5749..0ac146f9 100644 --- a/tools/ludic-cli/pkg_test.ludic +++ b/tools/ludic-cli/pkg_test.ludic @@ -8,15 +8,15 @@ # write `body` to `path`, creating parent directories function pt_write(path: pointer, body: pointer) -> void { - run(`mkdir -p "$(dirname {path})"`) + shell(`mkdir -p "$(dirname {path})"`) write_file(path, body) } # commit the current tree of `dir` and tag it `tag` function pt_commit_tag(dir: pointer, tag: pointer) -> void { - run(`git -C {dir} add -A`) - run(`git -C {dir} -c user.email=t@t.test -c user.name=tester commit -q -m {tag}`) - run(`git -C {dir} tag {tag}`) + shell(`git -C {dir} add -A`) + shell(`git -C {dir} -c user.email=t@t.test -c user.name=tester commit -q -m {tag}`) + shell(`git -C {dir} tag {tag}`) } function cmd_test_pkg() -> int { @@ -34,13 +34,13 @@ function cmd_test_pkg() -> int { let proxy = `{work}/proxy` let store = `{work}/store` let proj = `{work}/proj` - run(`rm -rf {work}`) - run(`mkdir -p {proxy} {store} {proj}`) + shell(`rm -rf {work}`) + shell(`mkdir -p {proxy} {store} {proj}`) # ---- fixture packages ----------------------------------------------------- # example.test/util: a leaf source package, two published versions. let util = `{proxy}/example.test/util` - run(`git -C {util} init -q 2>/dev/null || ( mkdir -p {util} && git -C {util} init -q )`) + shell(`git -C {util} init -q 2>/dev/null || ( mkdir -p {util} && git -C {util} init -q )`) pt_write(`{util}/package.ludic`, `package "example.test/util"` + nl() + `version "1.0.0"` + nl() + "kind source" + nl() + `provides "Util"` + nl()) pt_write(`{util}/util.ludic`, "function util_tag() -> pointer { return \"u1\" }\n") pt_commit_tag(util, "v1.0.0") @@ -50,7 +50,7 @@ function cmd_test_pkg() -> int { # example.test/greeter: requires util >=1.0.0, provides Greet. let greeter = `{proxy}/example.test/greeter` - run(`mkdir -p {greeter} && git -C {greeter} init -q`) + shell(`mkdir -p {greeter} && git -C {greeter} init -q`) pt_write(`{greeter}/package.ludic`, `package "example.test/greeter"` + nl() + `version "1.0.0"` + nl() + "kind source" + nl() + `provides "Greet"` + nl() + `require "example.test/util" "1.0.0"` + nl()) pt_write(`{greeter}/greet.ludic`, "function greet_hello() -> pointer { return \"hi\" }\n") pt_commit_tag(greeter, "v1.0.0") @@ -105,14 +105,14 @@ function cmd_test_pkg() -> int { # tamper with a stored file — verify must now flag it let uhash = capture_line(`grep 'example.test/util' {proj}/package.lock.ludic | sed 's/.*sha256://; s/\".*//'`) - run(`echo tampered >> {store}/{uhash}/util.ludic`) + shell(`echo tampered >> {store}/{uhash}/util.ludic`) if not shq(`( cd {proj} && {envp} {root}/bin/ludic verify > {work}/verify2.out 2>&1 )`) { ok("ludic verify detects a tampered store entry") } else { bad("ludic verify missed a tampered store entry") } # heal the store: a content-addressed entry is keyed by its hash-named dir, so # `ludic get` trusts an existing one — drop it first, then re-fetch a clean copy. - run(`rm -rf {store}/{uhash}`) - run(`( cd {proj} && {envp} {root}/bin/ludic get > /dev/null 2>&1 )`) + shell(`rm -rf {store}/{uhash}`) + shell(`( cd {proj} && {envp} {root}/bin/ludic get > /dev/null 2>&1 )`) if shq(`( cd {proj} && {envp} {root}/bin/ludic verify > {work}/verify3.out 2>&1 )`) { ok("re-fetching heals a tampered store entry (ludic verify green again)") } else { bad2("store did not heal after re-fetch", capture_line(`tail -1 {work}/verify3.out`)) } @@ -125,7 +125,7 @@ function cmd_test_pkg() -> int { # relative to the compile CWD, so — exactly like `ludic build` — the game is compiled # from the repo root with the package linked in via an absolute LUDIC_MODULES. let epkg = `{proxy}/example.test/enginepkg` - run(`mkdir -p {epkg} && git -C {epkg} init -q`) + shell(`mkdir -p {epkg} && git -C {epkg} init -q`) pt_write(`{epkg}/package.ludic`, `package "example.test/enginepkg"` + nl() + `version "1.0.0"` + nl() + "kind source" + nl() + `provides "EnginePkg"` + nl()) pt_write(`{epkg}/lib.ludic`, "property Health { hp: int = 0, max: int = 0 }\nmodel Unit { Health }\n@Public @OnSpawn(Unit) handler Init { Health.hp = Health.max }\nfunction bonus() -> int { return 7 }\n") pt_commit_tag(epkg, "v1.0.0") @@ -143,7 +143,7 @@ function cmd_test_pkg() -> int { # ---- namespace collision policy (v1: hard error) -------------------------- let dupe = `{proxy}/example.test/dupe` - run(`mkdir -p {dupe} && git -C {dupe} init -q`) + shell(`mkdir -p {dupe} && git -C {dupe} init -q`) pt_write(`{dupe}/package.ludic`, `package "example.test/dupe"` + nl() + `version "1.0.0"` + nl() + "kind source" + nl() + `provides "Util"` + nl()) pt_write(`{dupe}/dupe.ludic`, "function dupe_tag() -> pointer { return \"d\" }\n") pt_commit_tag(dupe, "v1.0.0") @@ -155,7 +155,7 @@ function cmd_test_pkg() -> int { # ---- prebuilt target matrix ---------------------------------------------- let pb = `{proxy}/example.test/prebuilt` - run(`mkdir -p {pb} && git -C {pb} init -q`) + shell(`mkdir -p {pb} && git -C {pb} init -q`) pt_write(`{pb}/package.ludic`, `package "example.test/prebuilt"` + nl() + `version "1.0.0"` + nl() + "kind prebuilt" + nl() + `provides "Blob"` + nl() + `targets "made-up-target"` + nl()) pt_write(`{pb}/README`, "a prebuilt lib shipping no artifact for this host\n") pt_commit_tag(pb, "v1.0.0") @@ -165,7 +165,7 @@ function cmd_test_pkg() -> int { pt_write(`{proj}/package.ludic`, `package "app"` + nl() + `version "0.0.0"` + nl() + `require "example.test/greeter" "1.0.0"` + nl() + `require "example.test/util" "1.2.0"` + nl()) # ---- ludic vendor: hermetic copy --------------------------------------------- - run(`( cd {proj} && {envp} {root}/bin/ludic get > /dev/null 2>&1 )`) + shell(`( cd {proj} && {envp} {root}/bin/ludic get > /dev/null 2>&1 )`) if shq(`( cd {proj} && {envp} {root}/bin/ludic vendor > {work}/vendor.out 2>&1 )`) and file_exists(`{proj}/vendor/example.test/util/util.ludic`) { ok("ludic vendor copies the resolved packages into ./vendor") } else { bad2("ludic vendor failed", capture_line(`tail -1 {work}/vendor.out`)) } @@ -175,7 +175,7 @@ function cmd_test_pkg() -> int { # Foo.* namespace (@Namespace) with no compiler edit; a consumer game imports it # and both take effect. Source path → runs everywhere (not dylib/macOS-gated). let cp = `{proxy}/example.test/coachpack` - run(`mkdir -p {cp} && git -C {cp} init -q`) + shell(`mkdir -p {cp} && git -C {cp} init -q`) pt_write(`{cp}/package.ludic`, `package "example.test/coachpack"` + nl() + `version "1.0.0"` + nl() + "kind source" + nl() + `provides "Coach"` + nl()) pt_write(`{cp}/coach.ludic`, "property Score { value: int = 0 }\n@EngineSystem(Score, Update) function esys_score() -> void {\n let P = world_prop_id(\"Score\")\n let e = world_query_next(P, 0)\n if e >= 0 { world_set(e, P, 0, world_get(e, P, 0) + 1) }\n}\n@Namespace(Coach) function coach_bonus() -> int { return 99 }\n") pt_commit_tag(cp, "v1.0.0") @@ -183,7 +183,7 @@ function cmd_test_pkg() -> int { pt_write(`{proj4}/package.ludic`, `package "game"` + nl() + `version "0.0.0"` + nl() + `require "example.test/coachpack" "1.0.0"` + nl()) pt_write(`{proj4}/game.ludic`, "program Game {\n import \"example.test/coachpack/coach.ludic\"\n model Player { Score }\n @OnSpawn(Player) handler Init { }\n var frames: int = 0\n handler Boot phase Start { let e = world_spawn(world_model_id(\"Player\")) }\n handler Run phase Update {\n frames = frames + 1\n if frames >= 5 {\n let P = world_prop_id(\"Score\")\n let e = world_query_next(P, 0)\n print(world_get(e, P, 0))\n print(Coach.bonus())\n quit()\n }\n }\n}\n") if shq(`( cd {proj4} && {envp} {root}/bin/ludic get > {work}/get4.out 2>&1 )`) { - run(`LUDIC_HOME={root} LUDIC_MODULES={proj4}/ludic_modules {root}/bin/ludicc --headless {proj4}/game.ludic -o {proj4}/game 2>{work}/gc4.err`) + shell(`LUDIC_HOME={root} LUDIC_MODULES={proj4}/ludic_modules {root}/bin/ludicc --headless {proj4}/game.ludic -o {proj4}/game 2>{work}/gc4.err`) if file_exists(`{proj4}/game`) { let got = capture_line(`printf 'aaaaa' | {proj4}/game`) if got == "4 99" { @@ -203,7 +203,7 @@ function cmd_test_pkg() -> int { } let tgt = `native-{capture_line("uname -m")}` let mp = `{proxy}/example.test/manapack` - run(`mkdir -p {mp} && git -C {mp} init -q`) + shell(`mkdir -p {mp} && git -C {mp} init -q`) pt_write(`{mp}/package.ludic`, `package "example.test/manapack"` + nl() + `version "1.0.0"` + nl() + "kind prebuilt" + nl() + `provides "Mana"` + nl() + `targets "{tgt}"` + nl()) pt_write(`{mp}/manapack.ludic`, "program ManaPack {\n function module_init() -> void { world_register_prop(\"Mana\", 2) }\n @System(Update) function mana_regen() -> void {\n let M = world_prop_id(\"Mana\")\n let e = world_query_next(M, 0)\n if e >= 0 { let v = world_get(e, M, 0); world_set(e, M, 0, v + 1) }\n }\n function mana_bonus() -> int { return 42 }\n}\n") if shq(`( cd {mp} && LUDICC={root}/bin/ludicc {root}/bin/ludic build-lib manapack.ludic > {work}/bl.out 2>&1 )`) and file_exists(`{mp}/lib/{tgt}/libmanapack.dylib`) { @@ -219,7 +219,7 @@ function cmd_test_pkg() -> int { } else { bad2("prebuilt ludic get failed", capture_line(`tail -1 {work}/get3.out`)) } # compile the ECS consumer from the repo root (so runtime/native resolves), then # link the module dylib via `ludic link-flags` (a real external build's link step). - run(`LUDIC_HOME={root} {root}/bin/ludicc --headless {proj3}/game.ludic --emit-llvm -o {proj3}/game.ll 2>{work}/gc.err`) + shell(`LUDIC_HOME={root} {root}/bin/ludicc --headless {proj3}/game.ludic --emit-llvm -o {proj3}/game.ll 2>{work}/gc.err`) let flags = capture_line(`( cd {proj3} && LUDIC_STORE={store} {root}/bin/ludic link-flags )`) if shq(`{cc()} -O2 -Wno-override-module {proj3}/game.ll {flags} -o {proj3}/game 2>{work}/gl.err`) { let got = capture_line(`printf 'aaaaaa' | {proj3}/game`) diff --git a/tools/ludic-cli/prelude.ludic b/tools/ludic-cli/prelude.ludic index f8e15539..a5dafb43 100644 --- a/tools/ludic-cli/prelude.ludic +++ b/tools/ludic-cli/prelude.ludic @@ -57,13 +57,53 @@ function is_exec(path: pointer) -> bool { return shq(`test -x {path}`) } function newer(a: pointer, b: pointer) -> bool { return shq(`test {a} -nt {b}`) } # ---- process control -------------------------------------------------------- +# +# Every command this tool issues is POSIX shell: mkdir -p, rm -rf, test -x, pipes +# through tr and sed. On macOS and Linux the C library's system() is /bin/sh, so +# `shell` is `run`. On Windows system() is cmd.exe, which speaks none of it, so each +# command is written to a scratch script and handed to Git for Windows' bash - the +# Windows toolchain's one requirement beyond LLVM; $LUDIC_BASH names another bash. +# A script rather than `bash -c "..."`: a command line goes through cmd.exe's quoting +# and then bash's startup parser, and a command with quotes of its own does not +# survive both. -# `run` returns the raw wait status; the program's exit code is the high byte. -function exit_code(st: int) -> int { return (st >> 8) & 255 } +function host_windows() -> bool { + let os = getenv("OS") + if os == null { return false } + return os == "Windows_NT" +} + +var g_bash: pointer = null +function win_bash() -> pointer { + if g_bash == null { g_bash = getenv_or("LUDIC_BASH", "C:/Program Files/Git/bin/bash.exe") } + return g_bash +} + +var g_shell_n: int = 0 +function shell(cmd: pointer) -> int { + if not host_windows() { return run(cmd) } + # numbered, so a command that is itself running this tool's script cannot have it + # rewritten underneath it + g_shell_n += 1 + let script = tmp_path(`sh_{string(g_shell_n)}.sh`) + if not write_file(script, cmd + "\n") { return 1 } + # cmd.exe takes the first and last quote off a line that starts with one, so the + # whole line wears one more pair for it to remove + let st = run(`""{win_bash()}" "{script}""`) + Fs.remove(script) + return st +} + +# `run` returns the raw wait status on POSIX, where the exit code is the high byte; +# Windows' system() returns the exit code itself. +function exit_code(st: int) -> int { + if host_windows() { return st } + return (st >> 8) & 255 +} # run a command, returning its exit code (0 = success) -function sh(cmd: pointer) -> int { return exit_code(run(cmd)) } +function sh(cmd: pointer) -> int { return exit_code(shell(cmd)) } # run a command, true when it succeeded -function shq(cmd: pointer) -> bool { return exit_code(run(cmd)) == 0 } +function shq(cmd: pointer) -> bool { return exit_code(shell(cmd)) == 0 } # ---- scratch files ------------------------------------------------------------ # Every scratch file the runner writes lives under one per-process directory @@ -76,7 +116,7 @@ function tmp_dir() -> pointer { var base = Os.temp_dir() if len(base) > 1 and base[len(base) - 1] == '/' { base = base[0..len(base) - 1] } # macOS: TMPDIR ends in '/' x_tmp = `{base}/ludic_{Os.pid()}` - run(`mkdir -p {x_tmp}`) + Fs.mkdir(x_tmp) # not the shell: on Windows it keeps its scripts here } return x_tmp } @@ -89,6 +129,9 @@ function tmp_path(name: pointer) -> pointer { return `{tmp_dir()}/{name}` } function tmp_cleanup() -> void { if x_tmp == null { return } if getenv_or("LUDIC_KEEP_TMP", "0") == "1" { print(`scratch kept: {x_tmp}`) } + # on Windows the shell's own script is open in this directory while it runs, so it is + # removed by cmd.exe instead + else if host_windows() { run(`rmdir /s /q "{win_backslashes(x_tmp)}" 2>nul`) } else { run(`rm -rf {x_tmp}`) } x_tmp = null } @@ -96,7 +139,7 @@ function tmp_cleanup() -> void { # run `cmd` and return its stdout (stderr discarded). Never null. function capture(cmd: pointer) -> pointer { let tmp = tmp_path("capture.out") - run(`{cmd} > {tmp} 2>/dev/null`) + shell(`{cmd} > {tmp} 2>/dev/null`) let s = read_file(tmp) if (s == null) { return "" } return s @@ -214,17 +257,19 @@ function self_dir() -> pointer { var a0 = arg(0) var slash = -1 var i = 0 - while a0[i] != 0 { if a0[i] == '/' { slash = i }; i += 1 } + while a0[i] != 0 { if a0[i] == '/' or a0[i] == 92 { slash = i }; i += 1 } if slash < 0 { - let found = capture_line(`command -v {a0}`) + var lookup = `command -v {a0}` + if host_windows() { lookup = `cygpath -m "$(command -v {a0})"` } + let found = capture_line(lookup) if found == "" { return "" } a0 = found slash = -1 i = 0 - while a0[i] != 0 { if a0[i] == '/' { slash = i }; i += 1 } + while a0[i] != 0 { if a0[i] == '/' or a0[i] == 92 { slash = i }; i += 1 } if slash < 0 { return "" } } - return a0[0..slash + 1] + return win_slashes(a0[0..slash + 1]) } # The toolchain install root, with a trailing '/', or "" for the current @@ -242,7 +287,7 @@ function ludic_home() -> pointer { var d = self_dir() if len(d) >= 4 and d[len(d) - 4..len(d)] == "bin/" { d = d[0..len(d) - 4] } # a source checkout the CLI was run from elsewhere in: prefer a ./bin here - if not is_exec(`{d}bin/ludicc`) and is_exec("bin/ludicc") { d = "" } + if not is_exec(`{d}bin/{exe_name("ludicc")}`) and is_exec(`bin/{exe_name("ludicc")}`) { d = "" } g_home = d return g_home } @@ -250,7 +295,7 @@ function ludic_home() -> pointer { # the path to a toolchain binary (ludicc, ludic-fmt, ludic-lsp). Falls back to # the bare name — on $PATH — when the install root has no bin/ of its own. function tool(name: pointer) -> pointer { - let p = `{ludic_home()}bin/{name}` + let p = `{ludic_home()}bin/{exe_name(name)}` if is_exec(p) { return p } return name } @@ -259,8 +304,37 @@ function ludicc() -> pointer { return tool("ludicc") } # true in a checkout of the toolchain repo itself, where a seed is present to # assemble the compiler from. +# a program's file name on this host: `name` everywhere but Windows, `name.exe` there +function exe_name(name: pointer) -> pointer { + if host_windows() { return name + ".exe" } + return name +} + +# the compiler's IR seed for this host. The IR is not portable between the two: each +# names its own C library (see selfhost/backend/stdlib/emit_win.ludic). +function seed_file() -> pointer { + if host_windows() { return "selfhost/ludicc.win.seed.ll" } + return "selfhost/ludicc.seed.ll" +} + +# a copy of a path with every '\' as '/', and one with every '/' as '\' (for cmd.exe) +function win_slashes(p: pointer) -> pointer { + let n = len(p) + let b = bytes(n + 1) + for i in 0 .. n { if p[i] == 92 { b[i] = '/' } else { b[i] = p[i] } } + b[n] = 0 + return b +} +function win_backslashes(p: pointer) -> pointer { + let n = len(p) + let b = bytes(n + 1) + for i in 0 .. n { if p[i] == '/' { b[i] = 92 } else { b[i] = p[i] } } + b[n] = 0 + return b +} + function in_toolchain_repo() -> bool { - return file_exists("selfhost/ludicc.seed.ll") and file_exists("tools/ludic-cli/main.ludic") + return file_exists(seed_file()) and file_exists("tools/ludic-cli/main.ludic") } # ---- strings ---------------------------------------------------------------- @@ -374,4 +448,13 @@ function title_case(s: pointer) -> pointer { # clang assembles the emitted IR and drives the linker. -Wno-override-module for # the same reason the compiler itself passes it (see selfhost/main.ludic): the IR # names no target triple, so clang substitutes the host's and warns every time. -function cc() -> pointer { return getenv_or("LUDIC_CC", "clang") + " -Wno-override-module" } +# On Windows the LLVM installer leaves clang off %PATH% unless asked, so its own +# location is the default there. +function cc() -> pointer { + let env = getenv("LUDIC_CC") + if env != null { return env + " -Wno-override-module" } + if host_windows() and Fs.exists("C:/Program Files/LLVM/bin/clang.exe") { + return "\"C:/Program Files/LLVM/bin/clang.exe\" -Wno-override-module" + } + return "clang -Wno-override-module" +} diff --git a/tools/ludic-cli/project.ludic b/tools/ludic-cli/project.ludic index 7baeb35c..c4599914 100644 --- a/tools/ludic-cli/project.ludic +++ b/tools/ludic-cli/project.ludic @@ -218,7 +218,7 @@ function cmd_new() -> int { err(`ludic new: {name} already exists\n`) return 1 } - run(`mkdir -p {name}/src {name}/tests {name}/assets`) + shell(`mkdir -p {name}/src {name}/tests {name}/assets`) if not write_file(`{name}/package.ludic`, template_manifest(name)) { err(`ludic new: cannot write {name}/package.ludic\n`) return 1 @@ -312,7 +312,7 @@ function cmd_run() -> int { if entry == "" { return no_entry() } let out = output_path(entry) if not compile_app(entry, out, g_mode, g_save) { return 1 } - return sh(`./{out}`) + return sh(`./{exe_name(out)}`) } # `ludic mygame.ludic` — the file is argv[1], so the scan starts there. @@ -322,7 +322,7 @@ function cmd_run_file() -> int { if entry == "" { return no_entry() } let out = output_path(entry) if not compile_app(entry, out, g_mode, g_save) { return 1 } - return sh(`./{out}`) + return sh(`./{exe_name(out)}`) } # ---- ludic test ------------------------------------------------------------- @@ -354,7 +354,7 @@ function cmd_test() -> int { if not file_exists(files[mi]) { err(`ludic test: no such file: {files[mi]}\n`); return 1 } mi += 1 } - run("mkdir -p build") + shell("mkdir -p build") var failed = 0 var i = 0 while i < len(files) { @@ -508,7 +508,7 @@ function cmd_doctor() -> int { function cmd_version() -> int { let cc = ludicc() if is_exec(cc) { - run(`{cc} --version`) + shell(`{cc} --version`) return 0 } let v = read_file(`{ludic_home()}VERSION`) diff --git a/tools/ludic-cli/release.ludic b/tools/ludic-cli/release.ludic index bfbcc028..3031f30f 100644 --- a/tools/ludic-cli/release.ludic +++ b/tools/ludic-cli/release.ludic @@ -240,17 +240,17 @@ function cmd_changelog_render() -> int { # release section (or at the end of the header if this is the first release). function prepend_changelog() -> void { if not file_exists("CHANGELOG.md") { - run("printf '# Changelog\n\nAll notable changes to the Ludic toolchain, newest first. Generated from the\nchangesets under changes/ by ludic-dev release; do not edit released sections by hand.\n\n' > CHANGELOG.md") + shell("printf '# Changelog\n\nAll notable changes to the Ludic toolchain, newest first. Generated from the\nchangesets under changes/ by ludic-dev release; do not edit released sections by hand.\n\n' > CHANGELOG.md") } let ln = capture_line("grep -n '^## ' CHANGELOG.md | head -1 | cut -d: -f1") if (ln == "") { - run(`cat CHANGELOG.md {tmp_dir()}/rel_section.md > {tmp_dir()}/rel_new.md`) + shell(`cat CHANGELOG.md {tmp_dir()}/rel_section.md > {tmp_dir()}/rel_new.md`) } else { - run(`head -n $(expr {ln} - 1) CHANGELOG.md > {tmp_dir()}/rel_new.md`) - run(`cat {tmp_dir()}/rel_section.md >> {tmp_dir()}/rel_new.md`) - run(`tail -n +{ln} CHANGELOG.md >> {tmp_dir()}/rel_new.md`) + shell(`head -n $(expr {ln} - 1) CHANGELOG.md > {tmp_dir()}/rel_new.md`) + shell(`cat {tmp_dir()}/rel_section.md >> {tmp_dir()}/rel_new.md`) + shell(`tail -n +{ln} CHANGELOG.md >> {tmp_dir()}/rel_new.md`) } - run(`cp {tmp_dir()}/rel_new.md CHANGELOG.md`) + shell(`cp {tmp_dir()}/rel_new.md CHANGELOG.md`) } # ---- release artifacts + publishing ----------------------------------------- @@ -313,7 +313,7 @@ function sha256_cmd() -> pointer { # # shasum -a 256 -c ludic-X.Y.Z-src.tar.gz.sha256 function build_artifacts(ver: pointer) -> bool { - run("rm -rf dist && mkdir -p dist") + shell("rm -rf dist && mkdir -p dist") if not shq(`git archive --format=tar.gz --prefix=ludic-{ver}/ -o dist/ludic-{ver}-src.tar.gz v{ver}`) { err(`release: git archive of v{ver} failed (is the tag present?)\n`) return false @@ -323,28 +323,28 @@ function build_artifacts(ver: pointer) -> bool { let arch = capture_line("uname -m") let name = `ludic-{ver}-{plat}-{arch}` let stage = `{tmp_dir()}/{name}` - run(`rm -rf {stage} && mkdir -p {stage}/bin`) + shell(`rm -rf {stage} && mkdir -p {stage}/bin`) if not shq(`cp bin/ludic bin/ludicc bin/ludic-fmt bin/ludic-lsp {stage}/bin/`) { err("release: the toolchain is not built (run: ludic-dev build)\n") return false } - run(`cp -R runtime {stage}/runtime`) - run(`cp -R packages {stage}/packages`) - run(`cp VERSION LICENSE README.md {stage}/`) + shell(`cp -R runtime {stage}/runtime`) + shell(`cp -R packages {stage}/packages`) + shell(`cp VERSION LICENSE README.md {stage}/`) # the Linux link needs the Darwin-stdio shim injected through $LUDIC_CC; it # travels with the toolchain that needs it (see tools/ci/linux_stdio_shim.ll). - if plat == "linux" { run(`mkdir -p {stage}/lib && cp tools/ci/linux_stdio_shim.ll {stage}/lib/`) } + if plat == "linux" { shell(`mkdir -p {stage}/lib && cp tools/ci/linux_stdio_shim.ll {stage}/lib/`) } if not shq(`tar -czf dist/{name}.tar.gz -C {tmp_dir()} {name}`) { err("release: building the toolchain tarball failed\n") return false } - run(`rm -rf {stage}`) + shell(`rm -rf {stage}`) } if not shq(`cd dist && for f in *.tar.gz; do {sha256_cmd()} "$f" > "$f.sha256" || exit 1; done`) { err("release: writing the per-artifact .sha256 files failed\n") return false } - run("ls -l dist") + shell("ls -l dist") return true } @@ -424,7 +424,7 @@ function cmd_release() -> int { } prepend_changelog() if not write_file("VERSION", `{ver}\n`) { err("release: cannot write VERSION\n"); return 1 } - run("rm -f $(ls changes/*.md | grep -v '/README.md')") + shell("rm -f $(ls changes/*.md | grep -v '/README.md')") # stage only the release artifacts — never a blanket `git add -A`, which would # sweep unrelated in-flight edits (this tree is worked on concurrently). diff --git a/tools/ludic-cli/selfhost.ludic b/tools/ludic-cli/selfhost.ludic index 3754f88f..b0acb602 100644 --- a/tools/ludic-cli/selfhost.ludic +++ b/tools/ludic-cli/selfhost.ludic @@ -97,13 +97,13 @@ function line_count(path: pointer) -> pointer { # ---- selfhost-build: assemble + compile the self-host compiler --------------- # usage: ludic-dev selfhost-build [ludicc] [outbin] (defaults: bin/ludicc, build/selfhost) function cmd_selfhost_build(lc: pointer, outbin: pointer) -> int { - run("mkdir -p build") + shell("mkdir -p build") let src = "build/selfhost.ludic" if not write_selfhost_src(src) { err("ludic-dev: cannot write build/selfhost.ludic\n"); return 1 } let ll = `{outbin}.ll` - if not shq(`{lc} {src} > {ll} 2>/dev/null`) { run(`rm -f {ll}`); return 1 } + if not shq(`{lc} {src} > {ll} 2>/dev/null`) { shell(`rm -f {ll}`); return 1 } let rc = shq(`{cc()} {ll} -o {outbin} 2>/dev/null`) - run(`rm -f {ll}`) + shell(`rm -f {ll}`) if rc { return 0 } return 1 } @@ -126,7 +126,7 @@ function game_build_ok(shbin: pointer, game: pointer, outbin: pointer) -> bool { let ll = `{outbin}.ll` if not shq(`{shbin} {game} > {ll} 2>{tmp_dir()}/gb.err`) { return false } if not shq(`{cc()} -O2 {ll} -o {outbin} 2>{tmp_dir()}/gb.err`) { return false } - run(`rm -f {ll}`) + shell(`rm -f {ll}`) return true } @@ -144,7 +144,7 @@ function cmd_game_build(shbin: pointer, game: pointer, outbin: pointer) -> int { # gen2.ll == gen3.ll is the fixpoint that proves the compiler reproduces itself. function cmd_bootstrap() -> int { ensure_ludicc() - run("mkdir -p build/boot") + shell("mkdir -p build/boot") if cmd_selfhost_build("bin/ludicc", "build/boot/gen1") != 0 { print("FAIL: stage0 build"); return 1 } print(" stage0: bin/ludicc -> gen1 (self-host compiler)") @@ -156,7 +156,7 @@ function cmd_bootstrap() -> int { print(` stage2: gen2 -> gen3.ll ({line_count("build/boot/gen3.ll")} lines)`) if shq("cmp -s build/boot/gen2.ll build/boot/gen3.ll") { - run("rm -f build/selfhost.ludic") + shell("rm -f build/selfhost.ludic") print(" FIXPOINT: gen2.ll == gen3.ll — the self-hosted compiler reproduces itself") return 0 } @@ -170,7 +170,7 @@ function cmd_bootstrap() -> int { # the seed-built compiler compiles its own source, and the result must equal the # seed byte for byte. function cmd_bootstrap_cfree() -> int { - run("mkdir -p build/cfree") + shell("mkdir -p build/cfree") if not shq(`{cc()} selfhost/ludicc.seed.ll -o build/cfree/sh_seed 2>/dev/null`) { print("FAIL: assemble seed"); return 1 } print(" seed.ll --clang--> sh_seed (no C compiler used)") if not write_selfhost_src("build/cfree/selfhost.ludic") { print("FAIL: write source"); return 1 } @@ -191,17 +191,20 @@ function cmd_bootstrap_cfree() -> int { # bin/ludicc only if the seed itself no longer assembles. Verify with # `ludic-dev bootstrap-cfree` afterwards. function cmd_reseed() -> int { - run("mkdir -p build/cfree") + shell("mkdir -p build/cfree") if not write_selfhost_src("build/cfree/selfhost.ludic") { print("FAIL: write source"); return 1 } if shq(`{cc()} selfhost/ludicc.seed.ll -o build/cfree/sh_old 2>/dev/null`) { if not shq("build/cfree/sh_old build/cfree/selfhost.ludic > build/cfree/step1.ll") { print("FAIL: step1"); return 1 } if not shq(`{cc()} build/cfree/step1.ll -o build/cfree/sh_new`) { print("FAIL: assemble sh_new"); return 1 } if not shq("build/cfree/sh_new build/cfree/selfhost.ludic > selfhost/ludicc.seed.ll") { print("FAIL: reseed"); return 1 } + # and the Windows seed, from the same compiler: a Windows checkout bootstraps from it + if not shq("build/cfree/sh_new --target x86_64-pc-windows-msvc build/cfree/selfhost.ludic > selfhost/ludicc.win.seed.ll") { print("FAIL: reseed (windows)"); return 1 } } else { print("seed does not build; reseeding from bin/ludicc") ensure_ludicc() if cmd_selfhost_build("bin/ludicc", "build/cfree/sh_c") != 0 { print("FAIL: build from bin/ludicc"); return 1 } if not shq("build/cfree/sh_c build/cfree/selfhost.ludic > selfhost/ludicc.seed.ll") { print("FAIL: reseed"); return 1 } + if not shq("build/cfree/sh_c --target x86_64-pc-windows-msvc build/cfree/selfhost.ludic > selfhost/ludicc.win.seed.ll") { print("FAIL: reseed (windows)"); return 1 } } print(`reseeded: {line_count("selfhost/ludicc.seed.ll")} lines`) return 0 diff --git a/tools/ludic-cli/selfhost_test.ludic b/tools/ludic-cli/selfhost_test.ludic index adac72d6..d891d54f 100644 --- a/tools/ludic-cli/selfhost_test.ludic +++ b/tools/ludic-cli/selfhost_test.ludic @@ -23,8 +23,8 @@ function sh_case(name: pointer, exp: pointer) -> void { function game_case(path: pointer, keys: pointer) -> void { let nm = flat(path) if not game_build_ok("bin/ludicc", `examples/{path}.ludic`, `{tmp_dir()}/g_{nm}`) { bad(`{path}: build`); return } - run("mkdir -p build") - run(`printf '%s' '{keys}' | {tmp_dir()}/g_{nm} >/dev/null 2>&1`) + shell("mkdir -p build") + shell(`printf '%s' '{keys}' | {tmp_dir()}/g_{nm} >/dev/null 2>&1`) # The build + headless run above guard against a compile or runtime break on # every host. The pixel-exact golden comparison, though, is against a render # blessed on macOS; text rasterization differs by a hair on other hosts, so @@ -44,8 +44,8 @@ function bless_render(path: pointer, keys: pointer) -> pointer { if not game_build_ok("bin/ludicc", `examples/{path}.ludic`, `{tmp_dir()}/bg_{nm}`) { err(`golden: {path} failed to build\n`); return "" } - run("mkdir -p build") - run(`printf '%s' '{keys}' | {tmp_dir()}/bg_{nm} >/dev/null 2>&1`) + shell("mkdir -p build") + shell(`printf '%s' '{keys}' | {tmp_dir()}/bg_{nm} >/dev/null 2>&1`) let h = capture_line("shasum -a 256 build/out.ppm | cut -d' ' -f1") return `{path} {h}\n` } diff --git a/tools/ludic-cli/test.ludic b/tools/ludic-cli/test.ludic index 62713b86..926a3a19 100644 --- a/tools/ludic-cli/test.ludic +++ b/tools/ludic-cli/test.ludic @@ -68,11 +68,11 @@ function install_layout_case() -> void { let root = capture_line("pwd") let home = `{tmp_dir()}/install` let lbl = "an installed layout (bin/ + runtime/ + packages/, found on PATH) builds a new project" - run(`rm -rf {home} && mkdir -p {home}/bin`) - run(`cp bin/ludic bin/ludicc bin/ludic-fmt {home}/bin/`) - run(`cp -R runtime {home}/runtime && cp -R packages {home}/packages && cp VERSION {home}/VERSION`) + shell(`rm -rf {home} && mkdir -p {home}/bin`) + shell(`cp bin/ludic bin/ludicc bin/ludic-fmt {home}/bin/`) + shell(`cp -R runtime {home}/runtime && cp -R packages {home}/packages && cp VERSION {home}/VERSION`) let work = `{tmp_dir()}/installwork` - run(`rm -rf {work} && mkdir -p {work}`) + shell(`rm -rf {work} && mkdir -p {work}`) # PATH only — no LUDIC_HOME, and the current directory has no bin/ of its own. let envp = `env -u LUDIC_HOME PATH={home}/bin:/usr/bin:/bin:/usr/sbin:/sbin` if not shq(`cd {work} && {envp} ludic new demo > {work}/new.out 2>&1`) { @@ -116,7 +116,7 @@ function pack_roundtrip_case() -> void { let lbl = "ludic pack -> a game reads its assets with none of them on disk" let work = `{tmp_dir()}/packrt` let root = capture_line("pwd") - run(`rm -rf {work} && mkdir -p {work}/assets/sub {work}/ship`) + shell(`rm -rf {work} && mkdir -p {work}/assets/sub {work}/ship`) write_file(`{work}/assets/a.txt`, "alpha") write_file(`{work}/assets/sub/b.txt`, "beta") write_file(`{work}/game.ludic`, pack_probe_src()) @@ -133,7 +133,7 @@ function pack_roundtrip_case() -> void { write_file(`{work}/ship/packs.index`, "pack game.lpak" + nl()) # the assets exist only inside the pack from here on - run(`rm -rf {work}/assets`) + shell(`rm -rf {work}/assets`) # run from somewhere with no relation to the project at all let got = s_trim(capture(`cd / && {work}/ship/probe 2>&1`)) if got != "alpha|beta|1|5|0" { @@ -167,9 +167,9 @@ function app_icon_case() -> void { if not is_darwin() { skip(lbl); return } let work = `{tmp_dir()}/appicon` let root = capture_line("pwd") - run(`rm -rf {work} && mkdir -p {work}`) + shell(`rm -rf {work} && mkdir -p {work}`) # a real PNG to set, made the same way the bundle test makes its icon - run(`sips -s format png --resampleHeightWidth 64 64 /System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/GenericApplicationIcon.icns --out {work}/icon.png > /dev/null 2>&1`) + shell(`sips -s format png --resampleHeightWidth 64 64 /System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/GenericApplicationIcon.icns --out {work}/icon.png > /dev/null 2>&1`) var src = "program IconSet {" + nl() src = src + " entry {" + nl() src = src + " App.set_icon(\"icon.png\")" + nl() @@ -206,7 +206,7 @@ function os_dirs_case() -> void { let lbl = "Os.save_dir / config_dir / cache_dir follow the platform's own convention" let work = `{tmp_dir()}/osdirs` let root = capture_line("pwd") - run(`rm -rf {work} && mkdir -p {work}`) + shell(`rm -rf {work} && mkdir -p {work}`) var src = "program OsDirs {" + nl() src = src + " entry {" + nl() src = src + " print(`{Os.save_dir(\"App X\")}|{Os.config_dir(\"App X\")}|{Os.cache_dir(\"App X\")}`)" + nl() @@ -249,8 +249,8 @@ function packignore_case() -> void { let lbl = "ludic pack -> .packignore excludes, with gitignore's rules" let work = `{tmp_dir()}/packign` let root = capture_line("pwd") - run(`rm -rf {work}`) - run(`mkdir -p {work}/assets/kit/preview {work}/assets/deep/a/tmp {work}/assets/scratch {work}/assets/sub/scratch {work}/assets/keep`) + shell(`rm -rf {work}`) + shell(`mkdir -p {work}/assets/kit/preview {work}/assets/deep/a/tmp {work}/assets/scratch {work}/assets/sub/scratch {work}/assets/keep`) write_file(`{work}/assets/kit/preview/x.png`, "x") # preview/ - a directory, any depth write_file(`{work}/assets/kit/model.blend`, "x") # *.blend - a name, any depth write_file(`{work}/assets/kit/hiker.png`, "x") # kept @@ -311,10 +311,10 @@ function bundle_case() -> void { if not is_darwin() { skip(lbl); return } let work = `{tmp_dir()}/bundle` let root = capture_line("pwd") - run(`rm -rf {work} && mkdir -p {work}/src {work}/assets`) + shell(`rm -rf {work} && mkdir -p {work}/src {work}/assets`) write_file(`{work}/assets/hello.txt`, "packed") # a 64x64 source icon: small, but sips will scale it and iconutil accept it - run(`sips -s format png --resampleHeightWidth 64 64 /System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/GenericApplicationIcon.icns --out {work}/assets/icon.png > /dev/null 2>&1`) + shell(`sips -s format png --resampleHeightWidth 64 64 /System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/GenericApplicationIcon.icns --out {work}/assets/icon.png > /dev/null 2>&1`) write_file(`{work}/package.ludic`, bundle_manifest_src()) write_file(`{work}/src/main.ludic`, bundle_probe_src()) @@ -371,7 +371,7 @@ function bundle_probe_src() -> pointer { function scaffold_names_case() -> void { let lbl = "ludic new scaffolds a project that compiles (hyphens, digits, dots)" let work = `{tmp_dir()}/scaffold` - run(`rm -rf {work} && mkdir -p {work}`) + shell(`rm -rf {work} && mkdir -p {work}`) let root = capture_line("pwd") let names = new []pointer push(names, "my-game") @@ -482,7 +482,7 @@ function cov_one(path: pointer, dir: pointer) -> int { if not shq(`{cc()} -O2 {ll} -o {bin} 2>{tmp_dir()}/cov.err`) { bad2(path, capture_line(`tail -1 {tmp_dir()}/cov.err`)); return 1 } - run(`rm -f {ll}`) + shell(`rm -f {ll}`) # run the spec; its atexit hook writes the dump to $LUDIC_COVERAGE if not shq(`LUDIC_COVERAGE={cov} {bin} > /dev/null 2>&1`) { bad2(path, "spec exited non-zero"); return 1 @@ -511,7 +511,7 @@ var COV_TOTAL: int = 0 function cmd_test_coverage() -> int { # the suite normally rebuilds bin/ludicc from the seed; do the same here so the # instrumentation path is exactly what a clean checkout ships. - run(`mkdir -p bin build {tmp_dir()}/cov_out`) + shell(`mkdir -p bin build {tmp_dir()}/cov_out`) if (not is_exec("bin/ludicc")) or newer("selfhost/ludicc.seed.ll", "bin/ludicc") { if not shq(`{cc()} selfhost/ludicc.seed.ll -o bin/ludicc`) { err("ludic-dev: cannot build bin/ludicc from the seed\n"); return 1 } } @@ -539,7 +539,7 @@ function cmd_dev_test() -> int { ok(`the only C in the tree is any editor tooling ({cleft} .c files)`) print("== the compiler builds from the IR seed (no C compiler) ==") - run("rm -f bin/ludicc") + shell("rm -f bin/ludicc") if shq("bin/ludic build examples/games/snake.ludic --headless >/dev/null 2>&1") and is_exec("bin/ludicc") { ok("clang selfhost/ludicc.seed.ll -> bin/ludicc") } else { bad("compiler did not build from the seed") } @@ -550,7 +550,7 @@ function cmd_dev_test() -> int { game_case("games/chronorift", "ddddwwwwaassK") print("== self-hosting and the bootstrap fixpoints ==") - run(`bin/ludic-dev selfhost-test > {tmp_dir()}/sh.out 2>&1`) + shell(`bin/ludic-dev selfhost-test > {tmp_dir()}/sh.out 2>&1`) if shq(`grep -q 'gen2.ll == gen3.ll' {tmp_dir()}/sh.out`) { ok("the compiler reproduces itself (fixpoint)") } else { bad("fixpoint") } if shq(`grep -q 'no C compiler' {tmp_dir()}/sh.out`) { ok("the compiler rebuilds itself from the seed, C-free") } else { bad("C-free bootstrap") } let corr = capture_line(`grep -c PASS {tmp_dir()}/sh.out`) @@ -770,7 +770,7 @@ function cmd_dev_test() -> int { # stands up throwaway git repos, so like selfhost-test it runs as a sub-process # and this stage checks its footer). print("== package manager (ludic-dev test-pkg) ==") - run(`bin/ludic-dev test-pkg > {tmp_dir()}/pkg.out 2>&1`) + shell(`bin/ludic-dev test-pkg > {tmp_dir()}/pkg.out 2>&1`) if shq(`grep -q '0 failed' {tmp_dir()}/pkg.out`) { let pc = capture_line(`grep -c PASS {tmp_dir()}/pkg.out`) ok(`package-manager suite: {pc} checks passed (see: ludic-dev test-pkg)`) diff --git a/tools/ludic-cli/toolchain.ludic b/tools/ludic-cli/toolchain.ludic index 61c1a3dd..ecbd670e 100644 --- a/tools/ludic-cli/toolchain.ludic +++ b/tools/ludic-cli/toolchain.ludic @@ -5,10 +5,14 @@ # tools — every binary the toolchain builds of itself. function build_tool(name: pointer, src: pointer) -> bool { let ll = `build/{name}.ll` - if not shq(`bin/ludicc {src} --emit-llvm -o {ll} 2>/dev/null`) { print(`build failed: {name} (compile)`); return false } + let out = `bin/{exe_name(name)}` + if not shq(`bin/{exe_name("ludicc")} {src} --emit-llvm -o {ll} 2>/dev/null`) { print(`build failed: {name} (compile)`); return false } # write to a temp then move, so a running bin/ludic can rebuild itself in place - if not shq(`{cc()} -O2 {ll} -o bin/{name}.tmp`) { print(`build failed: {name} (link)`); return false } - run(`mv -f bin/{name}.tmp bin/{name} && rm -f {ll}`) + # (Windows lets a running executable be renamed, never replaced, so the old one + # steps aside first) + if not shq(`{cc()} -O2 {ll} -o {out}.tmp`) { print(`build failed: {name} (link)`); return false } + if host_windows() { shell(`rm -f {out}.old; mv -f {out} {out}.old 2>/dev/null; mv -f {out}.tmp {out} && rm -f {ll} {out}.old 2>/dev/null`) } + else { shell(`mv -f {out}.tmp {out} && rm -f {ll}`) } return true } @@ -17,11 +21,13 @@ function build_tool(name: pointer, src: pointer) -> bool { # with clang alone; invoked as `ludic` it compiles-and-runs, as `ludicc` it just # compiles. function cmd_dev_build_cli() -> int { - run("mkdir -p bin build") - print("cc: selfhost/ludicc.seed.ll -> bin/ludicc (from the IR seed, no C compiler)") - if not shq(`{cc()} selfhost/ludicc.seed.ll -o bin/ludicc`) { err("ludic: the seed did not assemble\n"); return 1 } - run("chmod +x bin/ludicc") - print("done. built bin/ludicc") + shell("mkdir -p bin build") + let seed = seed_file() + let bin = `bin/{exe_name("ludicc")}` + print(`cc: {seed} -> {bin} (from the IR seed, no C compiler)`) + if not shq(`{cc()} {seed} -o {bin}`) { err("ludic: the seed did not assemble\n"); return 1 } + shell(`chmod +x {bin}`) + print(`done. built {bin}`) return 0 } diff --git a/tools/ludic-cli/tools.ludic b/tools/ludic-cli/tools.ludic index 695dadab..d367e368 100644 --- a/tools/ludic-cli/tools.ludic +++ b/tools/ludic-cli/tools.ludic @@ -9,7 +9,7 @@ # refresh one editor-copy of a shared grammar file if it has drifted function sync_one(shared: pointer, dst: pointer) -> void { if not shq(`cmp -s {shared} {dst}`) { - run(`cp {shared} {dst}`) + shell(`cp {shared} {dst}`) print(`sync: {shared} -> {dst}`) } } @@ -18,7 +18,7 @@ function sync_one(shared: pointer, dst: pointer) -> void { # copy that build refreshes rather than trusts (test-tools asserts they match). function sync_vscode_grammar() -> void { if not shq("test -d tools/editors/vscode") { return } - run("mkdir -p tools/editors/vscode/syntaxes") + shell("mkdir -p tools/editors/vscode/syntaxes") sync_one("tools/editors/shared/ludic.tmLanguage.json", "tools/editors/vscode/syntaxes/ludic.tmLanguage.json") sync_one("tools/editors/shared/ludic.markdown-injection.json", "tools/editors/vscode/syntaxes/ludic.markdown-injection.json") sync_one("tools/editors/shared/language-configuration.json", "tools/editors/vscode/language-configuration.json") @@ -42,9 +42,9 @@ function cmd_tools() -> int { sync_vscode_grammar() if has_flag("--install") { - run("mkdir -p \"$HOME/.local/bin\"") - run("ln -sf \"$PWD/bin/ludic-fmt\" \"$HOME/.local/bin/ludic-fmt\"") - run("ln -sf \"$PWD/bin/ludic-lsp\" \"$HOME/.local/bin/ludic-lsp\"") + shell("mkdir -p \"$HOME/.local/bin\"") + shell("ln -sf \"$PWD/bin/ludic-fmt\" \"$HOME/.local/bin/ludic-fmt\"") + shell("ln -sf \"$PWD/bin/ludic-lsp\" \"$HOME/.local/bin/ludic-lsp\"") print("linked into ~/.local/bin (make sure it is on your PATH)") } if has_flag("--test") { return cmd_test_tools() } @@ -97,7 +97,7 @@ function cmd_test_tools() -> int { # --- messy input is normalised --------------------------------------------- write_file(`{tmp_dir()}/m.ludic`, "program M{\nproperty P{x:int=0}\nhandler S phase Update{let a=1+2\nif a== -1 {a=-a}}\n}\n") - run(`{fmt} {tmp_dir()}/m.ludic > {tmp_dir()}/m.out 2>/dev/null`) + shell(`{fmt} {tmp_dir()}/m.ludic > {tmp_dir()}/m.out 2>/dev/null`) if shq(`grep -q '^ property P {{ x: int = 0 }}$' {tmp_dir()}/m.out`) { ok("reindents and respaces") } else { bad("reindents and respaces") } if shq(`grep -q 'a = -a' {tmp_dir()}/m.out`) { ok("unary minus not spaced") } else { bad("unary minus not spaced") } @@ -112,13 +112,13 @@ function cmd_test_tools() -> int { # --- --check exit status, for CI and pre-commit hooks ---------------------- let chk1 = sh(`{fmt} --check -q {tmp_dir()}/m.ludic`) check("--check exits 1 on unformatted input", string(chk1), "1") - run(`{fmt} -w {tmp_dir()}/m.ludic`) + shell(`{fmt} -w {tmp_dir()}/m.ludic`) let chk2 = sh(`{fmt} --check -q {tmp_dir()}/m.ludic`) check("--check exits 0 after -w", string(chk2), "0") # --- markdown: fences formatted, prose untouched --------------------------- write_file(`{tmp_dir()}/d.md`, "# T\n\nprose with spaces\n\n```ludic\nprogram D{property P{x:int=0}}\n```\n\n```python\nz = 1\n```\n") - run(`{fmt} {tmp_dir()}/d.md > {tmp_dir()}/d.out 2>/dev/null`) + shell(`{fmt} {tmp_dir()}/d.md > {tmp_dir()}/d.out 2>/dev/null`) if shq(`grep -q 'prose with spaces' {tmp_dir()}/d.out`) { ok("markdown prose untouched") } else { bad("markdown prose untouched") } if shq(`grep -q 'z = 1' {tmp_dir()}/d.out`) { ok("non-ludic fences untouched") } else { bad("non-ludic fences untouched") } if shq(`grep -q 'program D {{ property P {{ x: int = 0 }} }}' {tmp_dir()}/d.out`) { ok("ludic fences formatted") } else { bad("ludic fences formatted") }